removed untrue statements and made some small language changes

This commit is contained in:
Jeena Paradies 2011-05-11 20:25:48 +02:00
parent fd2e80ac9d
commit 400aa7608e

View file

@ -2173,7 +2173,7 @@ Find reference on how to benchmark distributed, multiprocess systems
\end_layout \end_layout
\begin_layout Section \begin_layout Section
Choice of network protocol Choosing a network protocol
\begin_inset CommandInset label \begin_inset CommandInset label
LatexCommand label LatexCommand label
name "sec:Choice-of-network" name "sec:Choice-of-network"
@ -2184,14 +2184,15 @@ name "sec:Choice-of-network"
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
There are two main ways in which computer communication over the Internet There are two main types of protocols with help of which computer communication
usually takes place; TCP, UDP are known network layer protocols and HTTP over the Internet usually takes place; TCP and UDP which are known as the
is the most prominent application layer protocol. network layer protocols and HTTP which is the most prominent application
layer protocol.
The transport layer protocols are commonly used to transport application The transport layer protocols are commonly used to transport application
layer protocols, such as HTTP. layer protocols such as HTTP.
TCP and UDP cannot be used on their own, without an application layer protocol TCP and UDP cannot be used on their own without an application layer protocol
on top. on top of them.
Application layer protocols such as HTTP on the other hand needs a transport Application layer protocols such as HTTP on the other hand need a transport
layer protocol in order to work. layer protocol in order to work.
\begin_inset ERT \begin_inset ERT
@ -2221,26 +2222,11 @@ Many online games use UDP as the carrier for their application layer protocol.
UDP moves data across a network very quickly, however it does not ensure UDP moves data across a network very quickly, however it does not ensure
that the data transferred arrives in consistent manner. that the data transferred arrives in consistent manner.
Data sent via UDP may be repeated, lost or out of order. Data sent via UDP may be repeated, lost or out of order.
To ensure the data transferred is in good shape, some sort of error checking To ensure that the data is transferred is in good shape, some sort of error
mechanisms must be implemented. checking mechanisms must be implemented.
UDP is a good choice for applications where it is more important that data UDP is a good choice for applications where it is more important that data
arrives in a timely manner than that all data arrives undamaged, it is arrives in a timely manner than that all data arrives undamaged, it is
thus very suitable for media streaming, for example. thus very suitable for media streaming for example.
In the GGS reliability of transfer was chosen before the speed of the transfer,
ruling out UDP as the transport later protocol.
\begin_inset Note Note
status collapsed
\begin_layout Plain Layout
Perhaps we should only say that we chose TCP just for our GGS prototype
and why.
If we leave it like that it seems that we think it is not suitable.
\end_layout
\end_inset
\end_layout \end_layout
\begin_layout Subsection \begin_layout Subsection
@ -2248,26 +2234,11 @@ TCP
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
For reliable transfers, TCP is often used on the Internet. For reliable transfers TCP is often used on the Internet.
Built in to the protocol are the error checking and correction mechanisms Built in to the protocol are the error checking and correction mechanisms
missing in UDP. missing in UDP.
This ensures the consistency of data, but also makes the transfer slower This ensures the consistency of data, but also makes the transfer slower
than if UDP had been used. than if UDP had been used.
In the GGS, data consistency is more important than transfer speeds, and
thus TCP is a better alternative than UDP.
\begin_inset Note Note
status collapsed
\begin_layout Plain Layout
Same here it is simply not true for a generic server to chose one or the
other.
We should rephrase it so it is clear that we only state it about the GGS
prototype.
\end_layout
\end_inset
\end_layout \end_layout
@ -2276,7 +2247,7 @@ HTTP
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
Since HTTP is so widely used on the Internet today in web servers, it is Since HTTP is so widely used in web servers on the Internet today, it is
available on most Internet connected devices. available on most Internet connected devices.
This means that if HTTP is used in the GGS, firewalls will not be a problem, This means that if HTTP is used in the GGS, firewalls will not be a problem,
which is a great benefit. which is a great benefit.
@ -2289,8 +2260,7 @@ Since HTTP is so widely used on the Internet today in web servers, it is
the GGS requires a state to be maintained throughout a session and also the GGS requires a state to be maintained throughout a session and also
needs to push data from the server to clients without the clients requesting needs to push data from the server to clients without the clients requesting
data. data.
It should also be mentioned that HTTP uses the TCP protocol for transport, It should also be mentioned that HTTP uses the TCP protocol for transport.
and what is said about TCP applies to HTTP.
\end_layout \end_layout
\begin_layout Subsection \begin_layout Subsection
@ -2318,7 +2288,7 @@ reference "sub:The-protocol-parser"
\end_layout \end_layout
\begin_layout Section \begin_layout Section
Generic Structure of the GGS Generic structure of the GGS
\begin_inset CommandInset label \begin_inset CommandInset label
LatexCommand label LatexCommand label
name "sec:Generic" name "sec:Generic"
@ -2331,14 +2301,15 @@ name "sec:Generic"
\begin_layout Standard \begin_layout Standard
The GGS is a game server. The GGS is a game server.
It was made with a desire to be suitable for any kind of game. It was made with a desire to be suitable for any kind of game.
Any game with a client-server behavior should be perfectly suited for GGS. Any game with a client-server behavior should be perfectly suited for the
GGS.
A game should not only be able to vary in terms of genre, graphics, gameplay A game should not only be able to vary in terms of genre, graphics, gameplay
etc, but also in the way the game is implemented such as different programming etc, but also in the way the game is implemented for example in different
languages. programming languages.
The GGS should be OS independent and run on Windows, OSX and Linux. The GGS should be OS independent and run on Windows, OSX and Linux.
The GGS can be run as a listen server on the players computer and host The GGS can be run as a listen server on the players computer and host
games locally. games locally.
It could also be a dedicated server running on independent hardware. It could also be a dedicated server running on dedicated independent hardware.
It is meant to run any game in any environment in any way desired, therefore It is meant to run any game in any environment in any way desired, therefore
being as generic as possible. being as generic as possible.
\end_layout \end_layout
@ -2347,12 +2318,19 @@ The GGS is a game server.
Another aspect was the desire to let a client upload the source code of Another aspect was the desire to let a client upload the source code of
the game it would like to play on the GGS. the game it would like to play on the GGS.
This way every client could connect to the server and install the game This way every client could connect to the server and install the game
through a API without the need of installation through the server provider through a
or maintainer. \begin_inset CommandInset nomenclature
LatexCommand nomenclature
symbol "API"
description "Application programming interface"
\end_inset
without the need of installation through the server provider or maintainer.
\end_layout \end_layout
\begin_layout Section \begin_layout Section
Fault Tolerance Fault tolerance
\begin_inset CommandInset label \begin_inset CommandInset label
LatexCommand label LatexCommand label
name "sec:Fault-Tolerance" name "sec:Fault-Tolerance"