trying to work this merge fail out
This commit is contained in:
commit
b445992f11
2 changed files with 82 additions and 31 deletions
|
@ -270,3 +270,32 @@
|
|||
YEAR = {2011},
|
||||
URL = "http://dev.w3.org/html5/webstorage/"
|
||||
}
|
||||
|
||||
|
||||
@MISC{bson:website,
|
||||
AUTHOR = "BSON",
|
||||
TITLE = "BSON - Binary JSON",
|
||||
MONTH = "May",
|
||||
YEAR = {2011},
|
||||
URL = "http://bsonspec.org"
|
||||
}
|
||||
|
||||
|
||||
@techreport{Slee2007,
|
||||
author = {Aditya Agarwal and Mark Slee and Marc Kwiatkowski},
|
||||
institution = {Facebook},
|
||||
interhash = {105e59dd8576a9d92bb7db1ecc7e4980},
|
||||
intrahash = {2593c1a9666cfc633d674051d887c8e3},
|
||||
title = {Thrift: Scalable Cross-Language Services Implementation},
|
||||
url = {http://incubator.apache.org/thrift/static/thrift-20070401.pdf},
|
||||
year = 2007,
|
||||
timestamp = {2009-11-02T17:24:36.000+0100},
|
||||
keywords = {Thrift datamodeling language specification},
|
||||
added-at = {2009-11-02T17:24:36.000+0100},
|
||||
biburl = {http://www.bibsonomy.org/bibtex/22593c1a9666cfc633d674051d887c8e3/voj},
|
||||
month = {April},
|
||||
abstract = {Thrift is a software library and set of code-generation tools developed at Facebook to expedite development and implementation of efficient and scalable backend services. Its primary goal is to enable efficient and reliable communication across programming languages by abstracting the portions of each language that tend to require the most customization into a common library that is implemented in each language. Specifically, Thrift allows developers to define datatypes and service interfaces in a single language-neutral file and generate all the necessary code to build RPC clients and servers.
|
||||
|
||||
This paper details the motivations and design choices we made in Thrift, as well as some of the more interesting implementation details. It is not intended to be taken as research, but rather it is an exposition on what we did and why.
|
||||
}
|
||||
}
|
||||
|
|
84
report.lyx
84
report.lyx
|
@ -1407,7 +1407,10 @@ The first prototype of the GGS consisted of simple modules, however, due
|
|||
Once the basic structure of the GGS had been established, the first prototype
|
||||
was removed, remaining was the structure of the modules and the internal
|
||||
flow of the application.
|
||||
This could be seen as an interative workflow, with the first prototype
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Design This could be seen as an interative workflow, with the first prototype
|
||||
being the first iteration.
|
||||
The second iteration later became the final result of the GGS.
|
||||
\end_layout
|
||||
|
@ -6680,7 +6683,7 @@ name "fig:redundancy"
|
|||
\end_inset
|
||||
|
||||
To the left normal execution is pictured; the server state is backed up.
|
||||
To the left; the exceptional excution, where the state is retrieved from
|
||||
To the right; the exceptional excution, where the state is retrieved from
|
||||
the backup to repopulate the server.
|
||||
\end_layout
|
||||
|
||||
|
@ -7233,7 +7236,7 @@ textbf{SpiderMonkey}}{JavaScript engine developed by Mozilla}
|
|||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
\begin_layout Section
|
||||
UUID
|
||||
\end_layout
|
||||
|
||||
|
@ -7257,26 +7260,62 @@ This problem is not new, and a common solution is to use a Universally Unique
|
|||
e generator.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
\begin_layout Section
|
||||
Protocol design
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset Note Note
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
Discuss how the early GGS protocol were going to use both UDP and binary
|
||||
plists to be as fast as possible.
|
||||
Then discuss how complex these solutions were going to be to implement
|
||||
in the prototype.
|
||||
Mention that the modular structure of the GGS allows these features to
|
||||
be implemented later on, but are not currently implemented.
|
||||
Initially the GGS protocol was designed to use the UDP protocol for transport.
|
||||
Due to the lack of error checking in the UDP protocol, the UDP protocol
|
||||
is faster than the TCP protocol, this was a main reason to use UDP.
|
||||
The GGS does however need error checking to be as reliable as possible,
|
||||
therefore an error checking layer would have to be placed on top of UDP.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
The development of an error checking layer was weighed against the implementatio
|
||||
n of TCP instead of UDP, thus losing some speed.
|
||||
Even though speed was lost, TCP was chosen due to the relative ease of
|
||||
implementation compared to UDP.
|
||||
Due to the modularity of the GGS, a UDP extension is possible by replacing
|
||||
the network parts of the GGS.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Furthermore, in a move to increase the speed of the GGS prototcol the binary
|
||||
BSON protocol
|
||||
\begin_inset CommandInset citation
|
||||
LatexCommand citet
|
||||
key "bson:website"
|
||||
|
||||
\end_inset
|
||||
|
||||
was initially considered.
|
||||
BSON is a protocol which can be used for vert fast traversal of data.
|
||||
The BSON protocol is however rather difficult to read in its plain format,
|
||||
and no implementation has been bade for the GGS.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
The Apache Thrift
|
||||
\begin_inset CommandInset citation
|
||||
LatexCommand citep
|
||||
key "Slee2007"
|
||||
|
||||
\end_inset
|
||||
|
||||
was also an alternative.
|
||||
Using Thrift would mean the GGS would feature a standard protocol for network
|
||||
communication.
|
||||
Before finding out about Thrift, an implementation of the GGS protocol
|
||||
had already been made, moving to Thrift would mean too much work.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
The use of Thrift, BSON, or other protocols can be supported quite easily
|
||||
by develpping protocol modules for each protocol.
|
||||
No protocol modules for these protocols have however been developed during
|
||||
the writing of this thesis
|
||||
\end_layout
|
||||
|
||||
\begin_layout Section
|
||||
|
@ -7383,23 +7422,6 @@ Coordinator
|
|||
club up in the exact state it was prior to the fire.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Section
|
||||
Usability
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset Note Note
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
Discuss how the GGS can be difficult to use for people not versed with Erlang
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Chapter
|
||||
Results and discussion
|
||||
\begin_inset CommandInset label
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue