Merge branch 'master' of github.com:jeena/GGS-report
This commit is contained in:
commit
5661080440
6 changed files with 1196 additions and 16 deletions
|
@ -226,3 +226,13 @@
|
||||||
publisher = {ACM},
|
publisher = {ACM},
|
||||||
address = {New York, NY, USA},
|
address = {New York, NY, USA},
|
||||||
}
|
}
|
||||||
|
@book{ieee_90,
|
||||||
|
author = {Electrical, Institute O. and (ieee), Electronics E.},
|
||||||
|
citeulike-article-id = {485989},
|
||||||
|
keywords = {bibtex-import},
|
||||||
|
posted-at = {2006-01-30 15:35:50},
|
||||||
|
priority = {2},
|
||||||
|
title = {{IEEE 90: IEEE Standard Glossary of Software Engineering Terminology}},
|
||||||
|
year = {1990}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
BIN
graphics/netsplit2.dia
Normal file
BIN
graphics/netsplit2.dia
Normal file
Binary file not shown.
825
graphics/netsplit2.eps
Normal file
825
graphics/netsplit2.eps
Normal file
|
@ -0,0 +1,825 @@
|
||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: /Diagram1.dia
|
||||||
|
%%Creator: Dia v0.97.1
|
||||||
|
%%CreationDate: Mon May 2 12:41:14 2011
|
||||||
|
%%For: jeena
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%Magnification: 1.0000
|
||||||
|
%%BoundingBox: 0 0 728 555
|
||||||
|
%%BeginSetup
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
%%BeginProlog
|
||||||
|
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||||
|
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||||
|
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||||
|
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
|
||||||
|
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
|
||||||
|
/two /three /four /five /six /seven /eight /nine /colon /semicolon
|
||||||
|
/less /equal /greater /question /at /A /B /C /D /E
|
||||||
|
/F /G /H /I /J /K /L /M /N /O
|
||||||
|
/P /Q /R /S /T /U /V /W /X /Y
|
||||||
|
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
|
||||||
|
/d /e /f /g /h /i /j /k /l /m
|
||||||
|
/n /o /p /q /r /s /t /u /v /w
|
||||||
|
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
|
||||||
|
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||||
|
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||||
|
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||||
|
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
|
||||||
|
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
|
||||||
|
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
|
||||||
|
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
|
||||||
|
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
|
||||||
|
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
|
||||||
|
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
|
||||||
|
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
|
||||||
|
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
|
||||||
|
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/c {curveto} bind def
|
||||||
|
/f {fill} bind def
|
||||||
|
/a {arc} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/ex {exch} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth pop} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
|
||||||
|
/ellipsedict 8 dict def
|
||||||
|
ellipsedict /mtrx matrix put
|
||||||
|
/ellipse
|
||||||
|
{ ellipsedict begin
|
||||||
|
/endangle exch def
|
||||||
|
/startangle exch def
|
||||||
|
/yrad exch def
|
||||||
|
/xrad exch def
|
||||||
|
/y exch def
|
||||||
|
/x exch def /savematrix mtrx currentmatrix def
|
||||||
|
x y tr xrad yrad sc
|
||||||
|
0 0 1 startangle endangle arc
|
||||||
|
savematrix setmatrix
|
||||||
|
end
|
||||||
|
} def
|
||||||
|
|
||||||
|
/mergeprocs {
|
||||||
|
dup length
|
||||||
|
3 -1 roll
|
||||||
|
dup
|
||||||
|
length
|
||||||
|
dup
|
||||||
|
5 1 roll
|
||||||
|
3 -1 roll
|
||||||
|
add
|
||||||
|
array cvx
|
||||||
|
dup
|
||||||
|
3 -1 roll
|
||||||
|
0 exch
|
||||||
|
putinterval
|
||||||
|
dup
|
||||||
|
4 2 roll
|
||||||
|
putinterval
|
||||||
|
} bind def
|
||||||
|
/Times-Roman-latin1
|
||||||
|
/Times-Roman findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Times-Italic-latin1
|
||||||
|
/Times-Italic findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Times-Bold-latin1
|
||||||
|
/Times-Bold findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Times-BoldItalic-latin1
|
||||||
|
/Times-BoldItalic findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/AvantGarde-Gothic-latin1
|
||||||
|
/AvantGarde-Gothic findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/AvantGarde-BookOblique-latin1
|
||||||
|
/AvantGarde-BookOblique findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/AvantGarde-Demi-latin1
|
||||||
|
/AvantGarde-Demi findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/AvantGarde-DemiOblique-latin1
|
||||||
|
/AvantGarde-DemiOblique findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Bookman-Light-latin1
|
||||||
|
/Bookman-Light findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Bookman-LightItalic-latin1
|
||||||
|
/Bookman-LightItalic findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Bookman-Demi-latin1
|
||||||
|
/Bookman-Demi findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Bookman-DemiItalic-latin1
|
||||||
|
/Bookman-DemiItalic findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Courier-latin1
|
||||||
|
/Courier findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Courier-Oblique-latin1
|
||||||
|
/Courier-Oblique findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Courier-Bold-latin1
|
||||||
|
/Courier-Bold findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Courier-BoldOblique-latin1
|
||||||
|
/Courier-BoldOblique findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Helvetica-latin1
|
||||||
|
/Helvetica findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Helvetica-Oblique-latin1
|
||||||
|
/Helvetica-Oblique findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Helvetica-Bold-latin1
|
||||||
|
/Helvetica-Bold findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Helvetica-BoldOblique-latin1
|
||||||
|
/Helvetica-BoldOblique findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Helvetica-Narrow-latin1
|
||||||
|
/Helvetica-Narrow findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Helvetica-Narrow-Oblique-latin1
|
||||||
|
/Helvetica-Narrow-Oblique findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Helvetica-Narrow-Bold-latin1
|
||||||
|
/Helvetica-Narrow-Bold findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Helvetica-Narrow-BoldOblique-latin1
|
||||||
|
/Helvetica-Narrow-BoldOblique findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/NewCenturySchlbk-Roman-latin1
|
||||||
|
/NewCenturySchlbk-Roman findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/NewCenturySchlbk-Italic-latin1
|
||||||
|
/NewCenturySchlbk-Italic findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/NewCenturySchlbk-Bold-latin1
|
||||||
|
/NewCenturySchlbk-Bold findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/NewCenturySchlbk-BoldItalic-latin1
|
||||||
|
/NewCenturySchlbk-BoldItalic findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Palatino-Roman-latin1
|
||||||
|
/Palatino-Roman findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Palatino-Italic-latin1
|
||||||
|
/Palatino-Italic findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Palatino-Bold-latin1
|
||||||
|
/Palatino-Bold findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Palatino-BoldItalic-latin1
|
||||||
|
/Palatino-BoldItalic findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/Symbol-latin1
|
||||||
|
/Symbol findfont
|
||||||
|
definefont pop
|
||||||
|
/ZapfChancery-MediumItalic-latin1
|
||||||
|
/ZapfChancery-MediumItalic findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
/ZapfDingbats-latin1
|
||||||
|
/ZapfDingbats findfont
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
|
/Encoding isolatin1encoding def
|
||||||
|
currentdict end
|
||||||
|
definefont pop
|
||||||
|
28.346000 -28.346000 scale
|
||||||
|
-2.735000 -22.768412 translate
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 3.522500 9.042500 0.737500 0.737500 0 360 ellipse f
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 3.522500 9.042500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 3.522500 9.042500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 7.328571 6.950000 m 8.421429 6.950000 l 9.150000 7.950000 l 8.421429 8.950000 l 7.328571 8.950000 l 6.600000 7.950000 l ef
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 7.328571 6.950000 m 8.421429 6.950000 l 9.150000 7.950000 l 8.421429 8.950000 l 7.328571 8.950000 l 6.600000 7.950000 l cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 7.328571 6.950000 m 8.421429 6.950000 l 9.150000 7.950000 l 8.421429 8.950000 l 7.328571 8.950000 l 6.600000 7.950000 l cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
n 4.474047 8.704705 m 6.389277 8.024806 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 4.756241 8.339242 m 4.368685 8.742108 l 4.923511 8.810432 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 6.107083 8.390269 m 6.494639 7.987403 l 5.939813 7.919078 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 9.622500 4.142500 0.737500 0.737500 0 360 ellipse f
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 9.622500 4.142500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 9.622500 4.142500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 7.407500 11.697500 0.737500 0.737500 0 360 ellipse f
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 7.407500 11.697500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 7.407500 11.697500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
n 9.224752 5.072235 m 8.509379 6.744416 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 9.301913 5.527474 m 9.268727 4.969443 l 8.842214 5.330811 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 8.432217 6.289177 m 8.465404 6.847208 l 8.891917 6.485840 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
n 7.757459 10.749197 m 8.344013 9.159778 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 7.657319 10.298455 m 7.718751 10.854086 l 8.126397 10.471562 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 8.444153 9.610520 m 8.382721 9.054889 l 7.975075 9.437413 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 22.487500 3.992500 0.737500 0.737500 0 360 ellipse f
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 22.487500 3.992500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 22.487500 3.992500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 21.243571 7.250000 m 22.336429 7.250000 l 23.065000 8.250000 l 22.336429 9.250000 l 21.243571 9.250000 l 20.515000 8.250000 l ef
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 21.243571 7.250000 m 22.336429 7.250000 l 23.065000 8.250000 l 22.336429 9.250000 l 21.243571 9.250000 l 20.515000 8.250000 l cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 21.243571 7.250000 m 22.336429 7.250000 l 23.065000 8.250000 l 22.336429 9.250000 l 21.243571 9.250000 l 20.515000 8.250000 l cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
n 22.126814 4.937036 m 21.323341 7.041106 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 22.221879 5.388875 m 22.166699 4.832589 l 21.754778 5.210505 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 21.228276 6.589266 m 21.283456 7.145553 l 21.695377 6.767636 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 26.187500 8.892500 0.737500 0.737500 0 360 ellipse f
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 26.187500 8.892500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 26.187500 8.892500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 18.472500 5.347500 0.737500 0.737500 0 360 ellipse f
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 18.472500 5.347500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 18.472500 5.347500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
n 25.198529 8.689005 m 23.284018 8.295066 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 24.767913 8.855637 m 25.308038 8.711538 l 24.868684 8.365897 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 23.714635 8.128434 m 23.174509 8.272533 l 23.613864 8.618174 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
n 19.054214 6.174147 m 20.386316 8.067133 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 19.482071 6.347743 m 18.989872 6.082713 l 19.073167 6.635490 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 19.958460 7.893537 m 20.450658 8.158566 l 20.367363 7.605790 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 6.022500 14.397500 0.737500 0.737500 0 360 ellipse f
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 6.022500 14.397500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 6.022500 14.397500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 9.078571 15.355000 m 10.171429 15.355000 l 10.900000 16.355000 l 10.171429 17.355000 l 9.078571 17.355000 l 8.350000 16.355000 l ef
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 9.078571 15.355000 m 10.171429 15.355000 l 10.900000 16.355000 l 10.171429 17.355000 l 9.078571 17.355000 l 8.350000 16.355000 l cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 9.078571 15.355000 m 10.171429 15.355000 l 10.900000 16.355000 l 10.171429 17.355000 l 9.078571 17.355000 l 8.350000 16.355000 l cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
n 6.981990 14.698119 m 8.865193 15.288146 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 7.427175 14.575617 m 6.875301 14.664692 l 7.277685 15.052746 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 8.420007 15.410648 m 8.971882 15.321573 l 8.569497 14.933518 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 12.272500 18.997500 0.737500 0.737500 0 360 ellipse f
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 12.272500 18.997500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 12.272500 18.997500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 6.507500 18.952500 0.737500 0.737500 0 360 ellipse f
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 6.507500 18.952500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 6.507500 18.952500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
n 11.476170 18.374974 m 10.347594 17.492716 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 11.016363 18.332848 m 11.564252 18.443832 l 11.324306 17.938930 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 10.807400 17.534842 m 10.259511 17.423858 l 10.499458 17.928760 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
n 7.365934 18.419124 m 8.888641 17.473011 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 7.563726 18.001901 m 7.270969 18.478129 l 7.827606 18.426598 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 8.690849 17.890233 m 8.983606 17.414005 l 8.426969 17.465536 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 9.415336 7.433085 m 14.003374 5.662864 16.807532 12.402189 20.622968 9.308768 c s
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 9.065475 7.568073 m 9.441965 7.154847 l 9.415336 7.433085 l 9.621949 7.621330 l ef
|
||||||
|
n 9.065475 7.568073 m 9.441965 7.154847 l 9.415336 7.433085 l 9.621949 7.621330 l cp s
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 20.914258 9.072600 m 20.683316 9.581684 l 20.622968 9.308768 l 20.368426 9.193297 l ef
|
||||||
|
n 20.914258 9.072600 m 20.683316 9.581684 l 20.622968 9.308768 l 20.368426 9.193297 l cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 15.800000 14.318412 m 14.050000 15.418412 12.883553 13.107875 10.779296 15.289536 c s
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 10.518962 15.559446 m 10.686134 15.026011 l 10.779296 15.289536 l 11.046014 15.373122 l ef
|
||||||
|
n 10.518962 15.559446 m 10.686134 15.026011 l 10.779296 15.289536 l 11.046014 15.373122 l cp s
|
||||||
|
/Helvetica-latin1 ff 0.560000 scf sf
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 20.175435 15.155000 m 21.268292 15.155000 l 21.996863 16.155000 l 21.268292 17.155000 l 20.175435 17.155000 l 19.446863 16.155000 l ef
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 20.175435 15.155000 m 21.268292 15.155000 l 21.996863 16.155000 l 21.268292 17.155000 l 20.175435 17.155000 l 19.446863 16.155000 l cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 20.175435 15.155000 m 21.268292 15.155000 l 21.996863 16.155000 l 21.268292 17.155000 l 20.175435 17.155000 l 19.446863 16.155000 l cp s
|
||||||
|
(GGS node) 22.500000 16.150000 m
|
||||||
|
gs 1 -1 sc sh gr
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 20.722500 18.542500 0.737500 0.737500 0 360 ellipse f
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 20.722500 18.542500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 20.722500 18.542500 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
(Game client) 22.500000 18.550000 m
|
||||||
|
gs 1 -1 sc sh gr
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
n 19.923607 20.450000 m 21.626393 20.450000 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 20.311803 20.200000 m 19.811803 20.450000 l 20.311803 20.700000 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 21.238197 20.700000 m 21.738197 20.450000 l 21.238197 20.200000 l s
|
||||||
|
(Network) 22.550000 20.450000 m
|
||||||
|
gs 1 -1 sc sh gr
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 18.250000 12.968412 m 19.750000 11.318412 22.957850 12.523043 22.251663 9.771606 c s
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 22.158437 9.408379 m 22.524890 9.830531 l 22.251663 9.771606 l 22.040587 9.954832 l ef
|
||||||
|
n 22.158437 9.408379 m 22.524890 9.830531 l 22.251663 9.771606 l 22.040587 9.954832 l cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
0.100000 slw
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
1.000000 1.000000 1.000000 srgb
|
||||||
|
n 5.906257 4.286098 0.737500 0.737500 0 360 ellipse f
|
||||||
|
0.000000 0.000000 0.000000 srgb
|
||||||
|
n 5.906257 4.286098 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0 slc
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 5.906257 4.286098 0.737500 0.737500 0 360 ellipse cp s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
[] 0 sd
|
||||||
|
0 slc
|
||||||
|
n 6.382605 5.178267 m 7.223254 6.752748 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 6.785977 5.402961 m 6.329947 5.079641 l 6.344908 5.638457 l s
|
||||||
|
0.100000 slw
|
||||||
|
[] 0 sd
|
||||||
|
0 slj
|
||||||
|
0 slc
|
||||||
|
n 6.819883 6.528053 m 7.275913 6.851374 l 7.260951 6.292557 l s
|
||||||
|
0.080000 slw
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 17.800000 14.868412 m 17.260000 13.923412 l 16.877973 14.141713 l 16.600000 12.768412 l 17.140000 13.713412 l 17.522027 13.495111 l ef
|
||||||
|
n 17.800000 14.868412 m 17.260000 13.923412 l 16.877973 14.141713 l 16.600000 12.768412 l 17.140000 13.713412 l 17.522027 13.495111 l cp s
|
||||||
|
0.080000 slw
|
||||||
|
0 slj
|
||||||
|
[] 0 sd
|
||||||
|
n 21.350000 22.768412 m 20.893250 22.095662 l 20.529221 22.342812 l 20.335000 21.273412 l 20.791750 21.946162 l 21.155779 21.699012 l ef
|
||||||
|
n 21.350000 22.768412 m 20.893250 22.095662 l 20.529221 22.342812 l 20.335000 21.273412 l 20.791750 21.946162 l 21.155779 21.699012 l cp s
|
||||||
|
(Demaged network) 22.500000 21.968412 m
|
||||||
|
gs 1 -1 sc sh gr
|
||||||
|
showpage
|
BIN
graphics/netsplit2.pdf
Normal file
BIN
graphics/netsplit2.pdf
Normal file
Binary file not shown.
BIN
graphics/networksplit2.pdf
Normal file
BIN
graphics/networksplit2.pdf
Normal file
Binary file not shown.
377
report.lyx
377
report.lyx
|
@ -81,6 +81,12 @@
|
||||||
morestring=[b]',
|
morestring=[b]',
|
||||||
morestring=[b]"
|
morestring=[b]"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\usepackage{float}
|
||||||
|
|
||||||
|
\floatstyle{ruled}
|
||||||
|
\newfloat{code}{thp}{lop}
|
||||||
|
\floatname{code}{Code}
|
||||||
\end_preamble
|
\end_preamble
|
||||||
\use_default_options true
|
\use_default_options true
|
||||||
\maintain_unincluded_children false
|
\maintain_unincluded_children false
|
||||||
|
@ -2576,16 +2582,20 @@ Site A
|
||||||
Site B
|
Site B
|
||||||
\emph default
|
\emph default
|
||||||
by a faulty network (illustrated by the cloud and lightening bolt).
|
by a faulty network (illustrated by the cloud and lightening bolt).
|
||||||
When
|
When
|
||||||
\emph on
|
\emph on
|
||||||
Site A
|
|
||||||
\emph default
|
\emph default
|
||||||
and
|
the decoupled node
|
||||||
\emph on
|
\emph on
|
||||||
Site B
|
|
||||||
\emph default
|
\emph default
|
||||||
later re-establish communications, they may have generated the same ID:s
|
and
|
||||||
if using algorithm
|
\emph on
|
||||||
|
|
||||||
|
\emph default
|
||||||
|
the rest of the network later re-establish communication, they may have
|
||||||
|
generated the same ID:s if using algorithm
|
||||||
\begin_inset CommandInset ref
|
\begin_inset CommandInset ref
|
||||||
LatexCommand ref
|
LatexCommand ref
|
||||||
reference "alg:A-simple-generator"
|
reference "alg:A-simple-generator"
|
||||||
|
@ -2600,7 +2610,7 @@ reference "alg:A-simple-generator"
|
||||||
\begin_inset Float figure
|
\begin_inset Float figure
|
||||||
wide false
|
wide false
|
||||||
sideways false
|
sideways false
|
||||||
status collapsed
|
status open
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
\begin_layout Plain Layout
|
||||||
\begin_inset ERT
|
\begin_inset ERT
|
||||||
|
@ -2620,7 +2630,7 @@ begin{centering}
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
\begin_layout Plain Layout
|
||||||
\begin_inset Graphics
|
\begin_inset Graphics
|
||||||
filename graphics/NetworkSPlit.eps
|
filename graphics/netsplit2.eps
|
||||||
scale 40
|
scale 40
|
||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
@ -3639,6 +3649,236 @@ name "sub:The-structure-of"
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
The GGS protocol is modelled after the HTTP protocol.
|
||||||
|
The main reason for this is the familiarity many developers already have
|
||||||
|
with HTTP due to its presence in internet software.
|
||||||
|
Each GGS protocol packet contains a headers section.
|
||||||
|
The headers section is followed by a data section.
|
||||||
|
In the headers section, parameters concerning the packet is placed.
|
||||||
|
In the data section, the actual data payload of the packet is placed.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
There is no requirement of any specific order of the parameters in the headers
|
||||||
|
section, however the data section must always follow directly after the
|
||||||
|
headers section.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
In the example below, line 1 contains a Game-Command parameter.
|
||||||
|
This parameter is used to determine which game-specific command the client
|
||||||
|
is trying to perform.
|
||||||
|
The handling of this parameter is specific to each game, and can be anything.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Line 2 specifies a game token.
|
||||||
|
This is a UUID which is generated for each client upon authentication with
|
||||||
|
the GGS.
|
||||||
|
The GGS uses this token in case a client is disconnected and the new connection
|
||||||
|
created when the client reconnects must be re-paired with the player object
|
||||||
|
inside the GGS.
|
||||||
|
The UUID is also used as a unique ID within GDL VMs.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Line 3 specifies the content type of the payload of this particular packet.
|
||||||
|
This parameter allows the GGS to invoke special parsers, should the data
|
||||||
|
be encoded or encrypted.
|
||||||
|
When encryption is employed, only the payload is encrypted, not the header
|
||||||
|
section.
|
||||||
|
This is a scheme which does not allow for strong encryption, but is deemed
|
||||||
|
feasible for gaming purposes.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Line 4 specifies the content length of the payload following immediately
|
||||||
|
after the headers section.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
The parser of the GGS protocol implemented in the GGS prototype is designed
|
||||||
|
as a finite state machine using the gen_fsm behaviour.
|
||||||
|
When a full message has been parsed by the parser, the message is converted
|
||||||
|
into the internal structure of the GGS messages, and sent in to the system
|
||||||
|
from the protocol paser using message passing.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
\begin_inset Note Note
|
||||||
|
status open
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
Packet below is not an algorithm, but I don't know how to change that label..
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
\begin_inset Float algorithm
|
||||||
|
wide false
|
||||||
|
sideways false
|
||||||
|
status open
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
\begin_inset ERT
|
||||||
|
status open
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
|
||||||
|
\backslash
|
||||||
|
lstset{
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
backgroundcolor=
|
||||||
|
\backslash
|
||||||
|
color{white},
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
extendedchars=true,
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
basicstyle=
|
||||||
|
\backslash
|
||||||
|
footnotesize
|
||||||
|
\backslash
|
||||||
|
ttfamily,
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
showstringspaces=false,
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
showspaces=false,
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
numbers=left,
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
numberstyle=
|
||||||
|
\backslash
|
||||||
|
footnotesize,
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
numbersep=9pt,
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
tabsize=2,
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
breaklines=true,
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
showtabs=false,
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
captionpos=b
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
}
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
|
||||||
|
\backslash
|
||||||
|
begin{lstlisting}
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
Game-Command: chat
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
Token: e30174d4-185e-493b-a21a-832e2d9d7a1a
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
Content-Type: text
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
Content-Length: 18
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
Hello world, guys!
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
|
||||||
|
\backslash
|
||||||
|
end{lstlisting}
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
\begin_inset Caption
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
\begin_inset CommandInset label
|
||||||
|
LatexCommand label
|
||||||
|
name "alg:A-sample-packet"
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
A sample packet sent from a client to the GGS during a chat session
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
|
@ -3666,10 +3906,94 @@ name "sub:The-coordinator-module"
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
The coordinator module is responsible for keeping track of all players,
|
||||||
|
their seats and tables.
|
||||||
|
Players register with the coordinator process when first connecting to
|
||||||
|
the server, and the coordinator places each player by their respective
|
||||||
|
table.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
The coordinator keeps mappings between each player and table, therefore
|
||||||
|
it is used to perform lookups on tables and players to find out which are
|
||||||
|
connected.
|
||||||
|
The connectivity of players and tables is important when sending messages
|
||||||
|
to all participants in a game.
|
||||||
|
A lookup in the coordinator process is performed prior to notifying all
|
||||||
|
players in a game to ensure the message reaches all players.
|
||||||
|
The lookup can be performed either using internal identification codes
|
||||||
|
or using the UUID associated with each client and table.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
The coordinator process contains important state, therefore a backup process
|
||||||
|
is kept at allt times.
|
||||||
|
All good data processed by the coordinator is stored for safekeeping in
|
||||||
|
the backup process as well.
|
||||||
|
Data which is potentisally harmful is not stored in the backup process.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Upon a crash, the coordinator process recovers the prior good state from
|
||||||
|
the backup process and continues where it left off.
|
||||||
|
A supervisor process monitors the coordinator process and restarts the
|
||||||
|
process when it malfunctions.
|
||||||
|
There is a window of time between the crash of the coordinator and the
|
||||||
|
restarting of the coordinator, during this time, players can not be seated
|
||||||
|
by new tables, and can not disconnect from the server.
|
||||||
|
This window of time is very small, and the unavailability of the coordinator
|
||||||
|
process should not be noticed by more than a short time lag for the clients.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Moving back to the example of the chess club, the coordinator process can
|
||||||
|
be seen as a judge, monitoring all moves of the players.
|
||||||
|
At the same time as acting as a judge, the coordinator process is also
|
||||||
|
a host in the chess club, seating players by their tables and offering
|
||||||
|
services to the players.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Subsection
|
\begin_layout Subsection
|
||||||
The table module
|
The table module
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
The table module is mostly a hub used for communication.
|
||||||
|
New table processes are created by the coordinator on demand.
|
||||||
|
The table module does not contain any business logic, however each process
|
||||||
|
contains information concerning which players are seated by that particular
|
||||||
|
table.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
The information about which players are seated by each table is used when
|
||||||
|
notifying all players by a table of an action.
|
||||||
|
Consider a game of chess, each player notifies the table of its actions,
|
||||||
|
the table then notifies the rest of the participants of these actions after
|
||||||
|
having had the actions processed by the game VM, where an action could
|
||||||
|
be moving a playing piece.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Each table is associated with a game VM.
|
||||||
|
The actions sent to a table are processed by the game VM, this is where
|
||||||
|
the game logic is implemented.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
After a crash in a table process, the entire table must be rebuilt and the
|
||||||
|
players must be re-associated with the table.
|
||||||
|
Data concerning players is kept in the coordinator process, and is restored
|
||||||
|
from there.
|
||||||
|
Data kept in the actual game is not automatically corrupted by the crash
|
||||||
|
in a table, however the table must be re-associated with the game VM is
|
||||||
|
was associated with prior to the crash of the table.
|
||||||
|
The table process maps well into the setting of the real-worl chess clib
|
||||||
|
scenario previously discussed.
|
||||||
|
A table works in the same way in a real world setting as in the GGS setting.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Subsection
|
\begin_layout Subsection
|
||||||
The game virtual machine module
|
The game virtual machine module
|
||||||
\end_layout
|
\end_layout
|
||||||
|
@ -3691,13 +4015,27 @@ Techniques for ensuring reliability
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
One of the main goals of the project is to achieve high reliability.
|
One of the main goals of the project is to achieve high reliability.
|
||||||
A highly reliable application is one that crashes very, very rarely
|
The term
|
||||||
\begin_inset Note Note
|
\begin_inset Quotes eld
|
||||||
status open
|
\end_inset
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
reliable system
|
||||||
CITATION NEEDED
|
\begin_inset Quotes erd
|
||||||
\end_layout
|
\end_inset
|
||||||
|
|
||||||
|
is defined by the IEEE as a system with
|
||||||
|
\begin_inset Quotes eld
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
the ability of a system or component to perform its required functions under
|
||||||
|
stated conditions for a specified period of time
|
||||||
|
\begin_inset Quotes erd
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\begin_inset CommandInset citation
|
||||||
|
LatexCommand citet
|
||||||
|
key "ieee_90"
|
||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
|
@ -3760,9 +4098,16 @@ This entire section is bad.
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
By linking processes together and notifying parents when children exit,
|
By linking processes together and notifying parents when children exit,
|
||||||
we can create supervisors.
|
supervisors are created.
|
||||||
A supervisor is a common approach in ensuring that an application functions
|
A supervisor is a common approach in ensuring that an application functions
|
||||||
in the way it was intended.
|
in the way it was intended
|
||||||
|
\begin_inset CommandInset citation
|
||||||
|
LatexCommand citet
|
||||||
|
key "Savor:1997:HSA:851010.856089"
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
.
|
||||||
When a process misbehaves, the supervisor takes some action to restore
|
When a process misbehaves, the supervisor takes some action to restore
|
||||||
the process to a functional state.
|
the process to a functional state.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue