diff --git a/bibliography.bib b/bibliography.bib index a44463c..0bb39ee 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -152,3 +152,10 @@ YEAR = {2011}, URL = "http://www.oracle.com/tuxedo" } + +@MISC{Leach98uuidsand, + author = {P J Leach and R Salz}, + title = {UUIDs and GUIDs. Internet Draft draft-leach-uuids-guids-01.txt. Internet Engineering Task Force}, + year = {1998} +} + diff --git a/graphics/NetworkSPlit.dia b/graphics/NetworkSPlit.dia new file mode 100644 index 0000000..0e507fb Binary files /dev/null and b/graphics/NetworkSPlit.dia differ diff --git a/graphics/NetworkSPlit.eps b/graphics/NetworkSPlit.eps new file mode 100644 index 0000000..ca86d4d --- /dev/null +++ b/graphics/NetworkSPlit.eps @@ -0,0 +1,1253 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /home/jonte/Desktop/GGS/doc/report/graphics/NetworkSPlit.dia +%%Creator: Dia v0.97.1 +%%CreationDate: Mon Apr 4 14:21:47 2011 +%%For: jonte +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 710 494 +%%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 +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +-3.943272 -27.288410 translate +%%EndProlog + + +0.564706 0.933333 0.564706 srgb +n 6.296636 13.855000 2.303364 2.126682 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 6.296636 13.855000 2.303364 2.126682 0 360 ellipse cp s +gsave 5.597886 14.050000 translate 0.035278 -0.035278 scale +start_ol +2816 504 moveto +2816 1472 lineto +2048 1472 lineto +2048 1856 lineto +3328 1856 lineto +3328 325 lineto +3052 133 2720 34 conicto +2388 -64 2011 -64 conicto +1187 -64 721 417 conicto +256 899 256 1759 conicto +256 2621 725 3102 conicto +1195 3584 2028 3584 conicto +2375 3584 2687 3503 conicto +3000 3422 3264 3264 conicto +3264 2752 lineto +2998 2975 2699 3087 conicto +2400 3200 2071 3200 conicto +1420 3200 1094 2838 conicto +768 2476 768 1759 conicto +768 1044 1084 682 conicto +1400 320 2030 320 conicto +2276 320 2469 365 conicto +2662 410 2816 504 conicto +end_ol grestore +gsave 6.092417 14.050000 translate 0.035278 -0.035278 scale +start_ol +2816 504 moveto +2816 1472 lineto +2048 1472 lineto +2048 1856 lineto +3328 1856 lineto +3328 325 lineto +3052 133 2720 34 conicto +2388 -64 2011 -64 conicto +1187 -64 721 417 conicto +256 899 256 1759 conicto +256 2621 725 3102 conicto +1195 3584 2028 3584 conicto +2375 3584 2687 3503 conicto +3000 3422 3264 3264 conicto +3264 2752 lineto +2998 2975 2699 3087 conicto +2400 3200 2071 3200 conicto +1420 3200 1094 2838 conicto +768 2476 768 1759 conicto +768 1044 1084 682 conicto +1400 320 2030 320 conicto +2276 320 2469 365 conicto +2662 410 2816 504 conicto +end_ol grestore +gsave 6.586948 14.050000 translate 0.035278 -0.035278 scale +start_ol +2624 3392 moveto +2624 2944 lineto +2352 3073 2111 3136 conicto +1870 3200 1645 3200 conicto +1255 3200 1043 3052 conicto +832 2904 832 2631 conicto +832 2402 969 2285 conicto +1107 2169 1491 2097 conicto +1773 2039 lineto +2308 1937 2562 1678 conicto +2816 1420 2816 986 conicto +2816 469 2468 202 conicto +2121 -64 1450 -64 conicto +1197 -64 911 0 conicto +626 65 320 192 conicto +320 704 lineto +613 513 893 416 conicto +1174 320 1445 320 conicto +1857 320 2080 485 conicto +2304 650 2304 955 conicto +2304 1221 2148 1371 conicto +1992 1522 1636 1597 conicto +1352 1652 lineto +807 1756 563 1978 conicto +320 2201 320 2597 conicto +320 3056 654 3320 conicto +989 3584 1576 3584 conicto +1828 3584 2089 3536 conicto +2351 3488 2624 3392 conicto +end_ol grestore +0.564706 0.933333 0.564706 srgb +n 6.338364 19.483364 2.303364 2.126682 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 6.338364 19.483364 2.303364 2.126682 0 360 ellipse cp s +gsave 5.639614 19.678364 translate 0.035278 -0.035278 scale +start_ol +2816 504 moveto +2816 1472 lineto +2048 1472 lineto +2048 1856 lineto +3328 1856 lineto +3328 325 lineto +3052 133 2720 34 conicto +2388 -64 2011 -64 conicto +1187 -64 721 417 conicto +256 899 256 1759 conicto +256 2621 725 3102 conicto +1195 3584 2028 3584 conicto +2375 3584 2687 3503 conicto +3000 3422 3264 3264 conicto +3264 2752 lineto +2998 2975 2699 3087 conicto +2400 3200 2071 3200 conicto +1420 3200 1094 2838 conicto +768 2476 768 1759 conicto +768 1044 1084 682 conicto +1400 320 2030 320 conicto +2276 320 2469 365 conicto +2662 410 2816 504 conicto +end_ol grestore +gsave 6.134145 19.678364 translate 0.035278 -0.035278 scale +start_ol +2816 504 moveto +2816 1472 lineto +2048 1472 lineto +2048 1856 lineto +3328 1856 lineto +3328 325 lineto +3052 133 2720 34 conicto +2388 -64 2011 -64 conicto +1187 -64 721 417 conicto +256 899 256 1759 conicto +256 2621 725 3102 conicto +1195 3584 2028 3584 conicto +2375 3584 2687 3503 conicto +3000 3422 3264 3264 conicto +3264 2752 lineto +2998 2975 2699 3087 conicto +2400 3200 2071 3200 conicto +1420 3200 1094 2838 conicto +768 2476 768 1759 conicto +768 1044 1084 682 conicto +1400 320 2030 320 conicto +2276 320 2469 365 conicto +2662 410 2816 504 conicto +end_ol grestore +gsave 6.628676 19.678364 translate 0.035278 -0.035278 scale +start_ol +2624 3392 moveto +2624 2944 lineto +2352 3073 2111 3136 conicto +1870 3200 1645 3200 conicto +1255 3200 1043 3052 conicto +832 2904 832 2631 conicto +832 2402 969 2285 conicto +1107 2169 1491 2097 conicto +1773 2039 lineto +2308 1937 2562 1678 conicto +2816 1420 2816 986 conicto +2816 469 2468 202 conicto +2121 -64 1450 -64 conicto +1197 -64 911 0 conicto +626 65 320 192 conicto +320 704 lineto +613 513 893 416 conicto +1174 320 1445 320 conicto +1857 320 2080 485 conicto +2304 650 2304 955 conicto +2304 1221 2148 1371 conicto +1992 1522 1636 1597 conicto +1352 1652 lineto +807 1756 563 1978 conicto +320 2201 320 2597 conicto +320 3056 654 3320 conicto +989 3584 1576 3584 conicto +1828 3584 2089 3536 conicto +2351 3488 2624 3392 conicto +end_ol grestore +0.564706 0.933333 0.564706 srgb +n 6.438364 25.111728 2.303364 2.126682 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 6.438364 25.111728 2.303364 2.126682 0 360 ellipse cp s +gsave 5.739614 25.306728 translate 0.035278 -0.035278 scale +start_ol +2816 504 moveto +2816 1472 lineto +2048 1472 lineto +2048 1856 lineto +3328 1856 lineto +3328 325 lineto +3052 133 2720 34 conicto +2388 -64 2011 -64 conicto +1187 -64 721 417 conicto +256 899 256 1759 conicto +256 2621 725 3102 conicto +1195 3584 2028 3584 conicto +2375 3584 2687 3503 conicto +3000 3422 3264 3264 conicto +3264 2752 lineto +2998 2975 2699 3087 conicto +2400 3200 2071 3200 conicto +1420 3200 1094 2838 conicto +768 2476 768 1759 conicto +768 1044 1084 682 conicto +1400 320 2030 320 conicto +2276 320 2469 365 conicto +2662 410 2816 504 conicto +end_ol grestore +gsave 6.234145 25.306728 translate 0.035278 -0.035278 scale +start_ol +2816 504 moveto +2816 1472 lineto +2048 1472 lineto +2048 1856 lineto +3328 1856 lineto +3328 325 lineto +3052 133 2720 34 conicto +2388 -64 2011 -64 conicto +1187 -64 721 417 conicto +256 899 256 1759 conicto +256 2621 725 3102 conicto +1195 3584 2028 3584 conicto +2375 3584 2687 3503 conicto +3000 3422 3264 3264 conicto +3264 2752 lineto +2998 2975 2699 3087 conicto +2400 3200 2071 3200 conicto +1420 3200 1094 2838 conicto +768 2476 768 1759 conicto +768 1044 1084 682 conicto +1400 320 2030 320 conicto +2276 320 2469 365 conicto +2662 410 2816 504 conicto +end_ol grestore +gsave 6.728676 25.306728 translate 0.035278 -0.035278 scale +start_ol +2624 3392 moveto +2624 2944 lineto +2352 3073 2111 3136 conicto +1870 3200 1645 3200 conicto +1255 3200 1043 3052 conicto +832 2904 832 2631 conicto +832 2402 969 2285 conicto +1107 2169 1491 2097 conicto +1773 2039 lineto +2308 1937 2562 1678 conicto +2816 1420 2816 986 conicto +2816 469 2468 202 conicto +2121 -64 1450 -64 conicto +1197 -64 911 0 conicto +626 65 320 192 conicto +320 704 lineto +613 513 893 416 conicto +1174 320 1445 320 conicto +1857 320 2080 485 conicto +2304 650 2304 955 conicto +2304 1221 2148 1371 conicto +1992 1522 1636 1597 conicto +1352 1652 lineto +807 1756 563 1978 conicto +320 2201 320 2597 conicto +320 3056 654 3320 conicto +989 3584 1576 3584 conicto +1828 3584 2089 3536 conicto +2351 3488 2624 3392 conicto +end_ol grestore +0.117647 0.564706 1.000000 srgb +n 26.488364 13.836682 2.303364 2.126682 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 26.488364 13.836682 2.303364 2.126682 0 360 ellipse cp s +gsave 25.789614 14.031682 translate 0.035278 -0.035278 scale +start_ol +2816 504 moveto +2816 1472 lineto +2048 1472 lineto +2048 1856 lineto +3328 1856 lineto +3328 325 lineto +3052 133 2720 34 conicto +2388 -64 2011 -64 conicto +1187 -64 721 417 conicto +256 899 256 1759 conicto +256 2621 725 3102 conicto +1195 3584 2028 3584 conicto +2375 3584 2687 3503 conicto +3000 3422 3264 3264 conicto +3264 2752 lineto +2998 2975 2699 3087 conicto +2400 3200 2071 3200 conicto +1420 3200 1094 2838 conicto +768 2476 768 1759 conicto +768 1044 1084 682 conicto +1400 320 2030 320 conicto +2276 320 2469 365 conicto +2662 410 2816 504 conicto +end_ol grestore +gsave 26.284145 14.031682 translate 0.035278 -0.035278 scale +start_ol +2816 504 moveto +2816 1472 lineto +2048 1472 lineto +2048 1856 lineto +3328 1856 lineto +3328 325 lineto +3052 133 2720 34 conicto +2388 -64 2011 -64 conicto +1187 -64 721 417 conicto +256 899 256 1759 conicto +256 2621 725 3102 conicto +1195 3584 2028 3584 conicto +2375 3584 2687 3503 conicto +3000 3422 3264 3264 conicto +3264 2752 lineto +2998 2975 2699 3087 conicto +2400 3200 2071 3200 conicto +1420 3200 1094 2838 conicto +768 2476 768 1759 conicto +768 1044 1084 682 conicto +1400 320 2030 320 conicto +2276 320 2469 365 conicto +2662 410 2816 504 conicto +end_ol grestore +gsave 26.778676 14.031682 translate 0.035278 -0.035278 scale +start_ol +2624 3392 moveto +2624 2944 lineto +2352 3073 2111 3136 conicto +1870 3200 1645 3200 conicto +1255 3200 1043 3052 conicto +832 2904 832 2631 conicto +832 2402 969 2285 conicto +1107 2169 1491 2097 conicto +1773 2039 lineto +2308 1937 2562 1678 conicto +2816 1420 2816 986 conicto +2816 469 2468 202 conicto +2121 -64 1450 -64 conicto +1197 -64 911 0 conicto +626 65 320 192 conicto +320 704 lineto +613 513 893 416 conicto +1174 320 1445 320 conicto +1857 320 2080 485 conicto +2304 650 2304 955 conicto +2304 1221 2148 1371 conicto +1992 1522 1636 1597 conicto +1352 1652 lineto +807 1756 563 1978 conicto +320 2201 320 2597 conicto +320 3056 654 3320 conicto +989 3584 1576 3584 conicto +1828 3584 2089 3536 conicto +2351 3488 2624 3392 conicto +end_ol grestore +0.117647 0.564706 1.000000 srgb +n 26.530092 19.465046 2.303364 2.126682 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 26.530092 19.465046 2.303364 2.126682 0 360 ellipse cp s +gsave 25.831342 19.660046 translate 0.035278 -0.035278 scale +start_ol +2816 504 moveto +2816 1472 lineto +2048 1472 lineto +2048 1856 lineto +3328 1856 lineto +3328 325 lineto +3052 133 2720 34 conicto +2388 -64 2011 -64 conicto +1187 -64 721 417 conicto +256 899 256 1759 conicto +256 2621 725 3102 conicto +1195 3584 2028 3584 conicto +2375 3584 2687 3503 conicto +3000 3422 3264 3264 conicto +3264 2752 lineto +2998 2975 2699 3087 conicto +2400 3200 2071 3200 conicto +1420 3200 1094 2838 conicto +768 2476 768 1759 conicto +768 1044 1084 682 conicto +1400 320 2030 320 conicto +2276 320 2469 365 conicto +2662 410 2816 504 conicto +end_ol grestore +gsave 26.325873 19.660046 translate 0.035278 -0.035278 scale +start_ol +2816 504 moveto +2816 1472 lineto +2048 1472 lineto +2048 1856 lineto +3328 1856 lineto +3328 325 lineto +3052 133 2720 34 conicto +2388 -64 2011 -64 conicto +1187 -64 721 417 conicto +256 899 256 1759 conicto +256 2621 725 3102 conicto +1195 3584 2028 3584 conicto +2375 3584 2687 3503 conicto +3000 3422 3264 3264 conicto +3264 2752 lineto +2998 2975 2699 3087 conicto +2400 3200 2071 3200 conicto +1420 3200 1094 2838 conicto +768 2476 768 1759 conicto +768 1044 1084 682 conicto +1400 320 2030 320 conicto +2276 320 2469 365 conicto +2662 410 2816 504 conicto +end_ol grestore +gsave 26.820404 19.660046 translate 0.035278 -0.035278 scale +start_ol +2624 3392 moveto +2624 2944 lineto +2352 3073 2111 3136 conicto +1870 3200 1645 3200 conicto +1255 3200 1043 3052 conicto +832 2904 832 2631 conicto +832 2402 969 2285 conicto +1107 2169 1491 2097 conicto +1773 2039 lineto +2308 1937 2562 1678 conicto +2816 1420 2816 986 conicto +2816 469 2468 202 conicto +2121 -64 1450 -64 conicto +1197 -64 911 0 conicto +626 65 320 192 conicto +320 704 lineto +613 513 893 416 conicto +1174 320 1445 320 conicto +1857 320 2080 485 conicto +2304 650 2304 955 conicto +2304 1221 2148 1371 conicto +1992 1522 1636 1597 conicto +1352 1652 lineto +807 1756 563 1978 conicto +320 2201 320 2597 conicto +320 3056 654 3320 conicto +989 3584 1576 3584 conicto +1828 3584 2089 3536 conicto +2351 3488 2624 3392 conicto +end_ol grestore +0.117647 0.564706 1.000000 srgb +n 26.630092 25.093410 2.303364 2.126682 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +0.000000 0.000000 0.000000 srgb +n 26.630092 25.093410 2.303364 2.126682 0 360 ellipse cp s +gsave 25.931342 25.288410 translate 0.035278 -0.035278 scale +start_ol +2816 504 moveto +2816 1472 lineto +2048 1472 lineto +2048 1856 lineto +3328 1856 lineto +3328 325 lineto +3052 133 2720 34 conicto +2388 -64 2011 -64 conicto +1187 -64 721 417 conicto +256 899 256 1759 conicto +256 2621 725 3102 conicto +1195 3584 2028 3584 conicto +2375 3584 2687 3503 conicto +3000 3422 3264 3264 conicto +3264 2752 lineto +2998 2975 2699 3087 conicto +2400 3200 2071 3200 conicto +1420 3200 1094 2838 conicto +768 2476 768 1759 conicto +768 1044 1084 682 conicto +1400 320 2030 320 conicto +2276 320 2469 365 conicto +2662 410 2816 504 conicto +end_ol grestore +gsave 26.425873 25.288410 translate 0.035278 -0.035278 scale +start_ol +2816 504 moveto +2816 1472 lineto +2048 1472 lineto +2048 1856 lineto +3328 1856 lineto +3328 325 lineto +3052 133 2720 34 conicto +2388 -64 2011 -64 conicto +1187 -64 721 417 conicto +256 899 256 1759 conicto +256 2621 725 3102 conicto +1195 3584 2028 3584 conicto +2375 3584 2687 3503 conicto +3000 3422 3264 3264 conicto +3264 2752 lineto +2998 2975 2699 3087 conicto +2400 3200 2071 3200 conicto +1420 3200 1094 2838 conicto +768 2476 768 1759 conicto +768 1044 1084 682 conicto +1400 320 2030 320 conicto +2276 320 2469 365 conicto +2662 410 2816 504 conicto +end_ol grestore +gsave 26.920404 25.288410 translate 0.035278 -0.035278 scale +start_ol +2624 3392 moveto +2624 2944 lineto +2352 3073 2111 3136 conicto +1870 3200 1645 3200 conicto +1255 3200 1043 3052 conicto +832 2904 832 2631 conicto +832 2402 969 2285 conicto +1107 2169 1491 2097 conicto +1773 2039 lineto +2308 1937 2562 1678 conicto +2816 1420 2816 986 conicto +2816 469 2468 202 conicto +2121 -64 1450 -64 conicto +1197 -64 911 0 conicto +626 65 320 192 conicto +320 704 lineto +613 513 893 416 conicto +1174 320 1445 320 conicto +1857 320 2080 485 conicto +2304 650 2304 955 conicto +2304 1221 2148 1371 conicto +1992 1522 1636 1597 conicto +1352 1652 lineto +807 1756 563 1978 conicto +320 2201 320 2597 conicto +320 3056 654 3320 conicto +989 3584 1576 3584 conicto +1828 3584 2089 3536 conicto +2351 3488 2624 3392 conicto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0 slj +0.100000 slw +0 slc +0 slj +[] 0 sd +0.670588 0.670588 0.670588 srgb +n 14.557748 18.139174 m 13.976761 18.116503 12.850000 18.592587 13.008451 19.612766 c 13.166900 20.632945 13.923944 20.859642 14.240846 20.564933 c 14.557748 20.270214 13.747887 21.993174 15.297187 22.446587 c 16.846471 22.900000 17.638727 22.174539 17.409853 21.653115 c 17.180979 21.131690 18.765490 22.877329 19.504928 21.879821 c 20.244366 20.882313 18.747884 19.930155 19.064786 20.066179 c 19.381688 20.202203 20.350000 20.020837 20.033098 18.320539 c 19.716196 16.620241 16.864077 17.935138 17.180979 17.685761 c 17.497881 17.436384 16.705626 16.189496 15.719723 16.438873 c 14.733805 16.688253 14.663875 17.140781 14.558241 18.138290 c 14.557748 18.139174 l ef +0.000000 0.000000 0.000000 srgb +n 14.557748 18.139174 m 13.976761 18.116503 12.850000 18.592587 13.008451 19.612766 c 13.166900 20.632945 13.923944 20.859642 14.240846 20.564933 c 14.557748 20.270214 13.747887 21.993174 15.297187 22.446587 c 16.846471 22.900000 17.638727 22.174539 17.409853 21.653115 c 17.180979 21.131690 18.765490 22.877329 19.504928 21.879821 c 20.244366 20.882313 18.747884 19.930155 19.064786 20.066179 c 19.381688 20.202203 20.350000 20.020837 20.033098 18.320539 c 19.716196 16.620241 16.864077 17.935138 17.180979 17.685761 c 17.497881 17.436384 16.705626 16.189496 15.719723 16.438873 c 14.733805 16.688253 14.663875 17.140781 14.558241 18.138290 c 14.557748 18.139174 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +0 slj +0.100000 slw +0 slc +0 slj +[] 0 sd +n 16.090625 14.450000 m 16.904375 14.450000 l 16.633125 17.405233 l 17.350000 17.405233 l 16.090625 25.500000 l 16.361875 19.718023 l 15.800000 19.718023 l ef +gsave 14.387500 26.859249 translate 0.035278 -0.035278 scale +start_ol +448 3520 moveto +1131 3520 lineto +2624 575 lineto +2624 3520 lineto +3136 3520 lineto +3136 0 lineto +2453 0 lineto +960 2945 lineto +960 0 lineto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 14.867049 26.859249 translate 0.035278 -0.035278 scale +start_ol +2752 1480 moveto +2752 1280 lineto +704 1280 lineto +733 811 978 565 conicto +1223 320 1660 320 conicto +1914 320 2152 384 conicto +2390 448 2624 576 conicto +2624 192 lineto +2388 67 2140 1 conicto +1893 -64 1639 -64 conicto +1001 -64 628 309 conicto +256 683 256 1320 conicto +256 1979 613 2365 conicto +970 2752 1576 2752 conicto +2120 2752 2436 2410 conicto +2752 2068 2752 1480 conicto +2304 1600 moveto +2299 1950 2099 2159 conicto +1900 2368 1572 2368 conicto +1200 2368 976 2166 conicto +753 1964 719 1597 conicto +2304 1600 lineto +end_ol grestore +gsave 15.261675 26.859249 translate 0.035278 -0.035278 scale +start_ol +896 3456 moveto +896 2688 lineto +1792 2688 lineto +1792 2368 lineto +896 2368 lineto +896 902 lineto +896 572 984 478 conicto +1073 384 1345 384 conicto +1792 384 lineto +1792 0 lineto +1345 0 lineto +836 0 642 194 conicto +448 389 448 902 conicto +448 2368 lineto +128 2368 lineto +128 2688 lineto +448 2688 lineto +448 3456 lineto +896 3456 lineto +end_ol grestore +gsave 15.511442 26.859249 translate 0.035278 -0.035278 scale +start_ol +192 2688 moveto +631 2688 lineto +1179 590 lineto +1725 2688 lineto +2243 2688 lineto +2791 590 lineto +3337 2688 lineto +3776 2688 lineto +3077 0 lineto +2560 0 lineto +1985 2203 lineto +1408 0 lineto +891 0 lineto +192 2688 lineto +end_ol grestore +gsave 16.033448 26.859249 translate 0.035278 -0.035278 scale +start_ol +1473 2368 moveto +1117 2368 910 2094 conicto +704 1820 704 1344 conicto +704 868 909 594 conicto +1115 320 1473 320 conicto +1827 320 2033 595 conicto +2240 870 2240 1344 conicto +2240 1816 2033 2092 conicto +1827 2368 1473 2368 conicto +1472 2752 moveto +2040 2752 2364 2378 conicto +2688 2005 2688 1344 conicto +2688 685 2364 310 conicto +2040 -64 1472 -64 conicto +902 -64 579 310 conicto +256 685 256 1344 conicto +256 2005 579 2378 conicto +902 2752 1472 2752 conicto +end_ol grestore +gsave 16.425577 26.859249 translate 0.035278 -0.035278 scale +start_ol +1984 2304 moveto +1912 2337 1828 2352 conicto +1744 2368 1642 2368 conicto +1282 2368 1089 2127 conicto +896 1887 896 1437 conicto +896 0 lineto +448 0 lineto +448 2688 lineto +896 2688 lineto +896 2304 lineto +1030 2531 1245 2641 conicto +1460 2752 1767 2752 conicto +1811 2752 1864 2752 conicto +1917 2752 1982 2752 conicto +1984 2304 lineto +end_ol grestore +gsave 16.687829 26.859249 translate 0.035278 -0.035278 scale +start_ol +448 3712 moveto +896 3712 lineto +896 1529 lineto +2196 2688 lineto +2752 2688 lineto +1346 1430 lineto +2816 0 lineto +2246 0 lineto +896 1313 lineto +896 0 lineto +448 0 lineto +448 3712 lineto +end_ol grestore +gsave 17.057477 26.859249 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 17.259784 26.859249 translate 0.035278 -0.035278 scale +start_ol +2112 2560 moveto +2112 2176 lineto +1932 2272 1738 2320 conicto +1544 2368 1336 2368 conicto +1020 2368 862 2269 conicto +704 2170 704 1972 conicto +704 1821 814 1735 conicto +925 1649 1260 1571 conicto +1403 1538 lineto +1857 1438 2048 1255 conicto +2240 1072 2240 744 conicto +2240 371 1954 153 conicto +1668 -64 1167 -64 conicto +958 -64 732 -16 conicto +506 32 256 128 conicto +256 576 lineto +491 448 719 384 conicto +947 320 1170 320 conicto +1470 320 1631 425 conicto +1792 531 1792 722 conicto +1792 900 1678 994 conicto +1564 1089 1177 1177 conicto +1032 1212 lineto +621 1298 438 1476 conicto +256 1654 256 1964 conicto +256 2341 520 2546 conicto +784 2752 1269 2752 conicto +1509 2752 1721 2704 conicto +1933 2656 2112 2560 conicto +end_ol grestore +gsave 17.591968 26.859249 translate 0.035278 -0.035278 scale +start_ol +896 384 moveto +896 -1024 lineto +448 -1024 lineto +448 2688 lineto +896 2688 lineto +896 2304 lineto +1032 2531 1240 2641 conicto +1448 2752 1737 2752 conicto +2217 2752 2516 2364 conicto +2816 1976 2816 1344 conicto +2816 712 2516 324 conicto +2217 -64 1737 -64 conicto +1448 -64 1240 46 conicto +1032 157 896 384 conicto +2368 1344 moveto +2368 1823 2171 2095 conicto +1975 2368 1632 2368 conicto +1289 2368 1092 2095 conicto +896 1823 896 1344 conicto +896 865 1092 592 conicto +1289 320 1632 320 conicto +1975 320 2171 592 conicto +2368 865 2368 1344 conicto +end_ol grestore +gsave 17.999087 26.859249 translate 0.035278 -0.035278 scale +start_ol +448 3712 moveto +896 3712 lineto +896 0 lineto +448 0 lineto +448 3712 lineto +end_ol grestore +gsave 18.176416 26.859249 translate 0.035278 -0.035278 scale +start_ol +448 2688 moveto +896 2688 lineto +896 0 lineto +448 0 lineto +448 2688 lineto +448 3712 moveto +896 3712 lineto +896 3136 lineto +448 3136 lineto +448 3712 lineto +end_ol grestore +gsave 18.353745 26.859249 translate 0.035278 -0.035278 scale +start_ol +896 3456 moveto +896 2688 lineto +1792 2688 lineto +1792 2368 lineto +896 2368 lineto +896 902 lineto +896 572 984 478 conicto +1073 384 1345 384 conicto +1792 384 lineto +1792 0 lineto +1345 0 lineto +836 0 642 194 conicto +448 389 448 902 conicto +448 2368 lineto +128 2368 lineto +128 2688 lineto +448 2688 lineto +448 3456 lineto +896 3456 lineto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 8.315144 14.964254 m 13.722559 17.935851 l s +[] 0 sd +0 slj +0 slc +n 14.051204 18.116455 m 13.492609 18.094746 l 13.722559 17.935851 l 13.733414 17.656554 l ef +n 14.051204 18.116455 m 13.492609 18.094746 l 13.722559 17.935851 l 13.733414 17.656554 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 8.690860 19.491807 m 12.467568 19.505363 l s +[] 0 sd +0 slj +0 slc +n 12.842566 19.506709 m 12.341672 19.754913 l 12.467568 19.505363 l 12.343466 19.254916 l ef +n 12.842566 19.506709 m 12.341672 19.754913 l 12.467568 19.505363 l 12.343466 19.254916 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 8.460150 23.999841 m 13.855694 21.032547 l s +[] 0 sd +0 slj +0 slc +n 14.184282 20.851840 m 13.866637 21.311842 l 13.855694 21.032547 l 13.625693 20.873725 l ef +n 14.184282 20.851840 m 13.866637 21.311842 l 13.855694 21.032547 l 13.625693 20.873725 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 24.613145 23.972070 m 20.186074 21.510798 l s +[] 0 sd +0 slj +0 slc +n 19.858321 21.328581 m 20.416803 21.353035 l 20.186074 21.510798 l 20.173846 21.790039 l ef +n 19.858321 21.328581 m 20.416803 21.353035 l 20.186074 21.510798 l 20.173846 21.790039 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 24.176787 19.478128 m 20.553022 19.498272 l s +[] 0 sd +0 slj +0 slc +n 20.178028 19.500356 m 20.676630 19.247581 l 20.553022 19.498272 l 20.679410 19.747573 l ef +n 20.178028 19.500356 m 20.676630 19.247581 l 20.553022 19.498272 l 20.679410 19.747573 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 24.489981 14.985946 m 20.169661 17.470549 l s +[] 0 sd +0 slj +0 slc +n 19.844585 17.657500 m 20.153386 17.191515 l 20.169661 17.470549 l 20.402653 17.624950 l ef +n 19.844585 17.657500 m 20.153386 17.191515 l 20.169661 17.470549 l 20.402653 17.624950 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 26.504503 16.013619 m 26.513952 17.288108 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 26.568568 21.630647 m 26.591615 22.927809 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.376840 21.648965 m 6.399887 22.946127 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.312776 16.031937 m 6.322224 17.306427 l s +gsave 4.750000 10.935312 translate 0.035278 -0.035278 scale +start_ol +4544 6016 moveto +4544 5184 lineto +4078 5410 3664 5521 conicto +3251 5632 2866 5632 conicto +2197 5632 1834 5367 conicto +1472 5103 1472 4614 conicto +1472 4205 1711 3996 conicto +1950 3787 2617 3659 conicto +3108 3555 lineto +4041 3376 4484 2923 conicto +4928 2471 4928 1711 conicto +4928 806 4322 339 conicto +3716 -128 2546 -128 conicto +2104 -128 1606 -31 conicto +1109 66 576 256 conicto +576 1152 lineto +1086 866 1575 721 conicto +2064 576 2536 576 conicto +3253 576 3642 858 conicto +4032 1140 4032 1662 conicto +4032 2118 3761 2375 conicto +3490 2632 2871 2760 conicto +2376 2859 lineto +1426 3047 1001 3447 conicto +576 3847 576 4560 conicto +576 5385 1152 5860 conicto +1728 6336 2740 6336 conicto +3173 6336 3623 6256 conicto +4073 6176 4544 6016 conicto +end_ol grestore +gsave 5.464325 10.935312 translate 0.035278 -0.035278 scale +start_ol +768 4672 moveto +1536 4672 lineto +1536 0 lineto +768 0 lineto +768 4672 lineto +768 6464 moveto +1536 6464 lineto +1536 5504 lineto +768 5504 lineto +768 6464 lineto +end_ol grestore +gsave 5.776534 10.935312 translate 0.035278 -0.035278 scale +start_ol +1536 6016 moveto +1536 4672 lineto +3136 4672 lineto +3136 4096 lineto +1536 4096 lineto +1536 1543 lineto +1536 968 1694 804 conicto +1853 640 2338 640 conicto +3136 640 lineto +3136 0 lineto +2338 0 lineto +1446 0 1107 332 conicto +768 665 768 1543 conicto +768 4096 lineto +192 4096 lineto +192 4672 lineto +768 4672 lineto +768 6016 lineto +1536 6016 lineto +end_ol grestore +gsave 6.218619 10.935312 translate 0.035278 -0.035278 scale +start_ol +4736 2536 moveto +4736 2176 lineto +1280 2176 lineto +1329 1363 1745 937 conicto +2162 512 2906 512 conicto +3337 512 3741 624 conicto +4146 736 4544 960 conicto +4544 256 lineto +4136 68 3708 -30 conicto +3280 -128 2840 -128 conicto +1736 -128 1092 525 conicto +448 1179 448 2294 conicto +448 3446 1061 4123 conicto +1675 4800 2716 4800 conicto +3650 4800 4193 4191 conicto +4736 3582 4736 2536 conicto +3968 2752 moveto +3960 3394 3625 3777 conicto +3290 4160 2738 4160 conicto +2112 4160 1736 3790 conicto +1361 3420 1304 2748 conicto +3968 2752 lineto +end_ol grestore +gsave 6.910472 10.935312 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 7.267634 10.935312 translate 0.035278 -0.035278 scale +start_ol +2912 5383 moveto +1771 2304 lineto +4057 2304 lineto +2912 5383 lineto +2437 6208 moveto +3391 6208 lineto +5760 0 lineto +4886 0 lineto +4319 1600 lineto +1517 1600 lineto +951 0 lineto +64 0 lineto +2437 6208 lineto +end_ol grestore +gsave 24.885000 10.918906 translate 0.035278 -0.035278 scale +start_ol +4544 6016 moveto +4544 5184 lineto +4078 5410 3664 5521 conicto +3251 5632 2866 5632 conicto +2197 5632 1834 5367 conicto +1472 5103 1472 4614 conicto +1472 4205 1711 3996 conicto +1950 3787 2617 3659 conicto +3108 3555 lineto +4041 3376 4484 2923 conicto +4928 2471 4928 1711 conicto +4928 806 4322 339 conicto +3716 -128 2546 -128 conicto +2104 -128 1606 -31 conicto +1109 66 576 256 conicto +576 1152 lineto +1086 866 1575 721 conicto +2064 576 2536 576 conicto +3253 576 3642 858 conicto +4032 1140 4032 1662 conicto +4032 2118 3761 2375 conicto +3490 2632 2871 2760 conicto +2376 2859 lineto +1426 3047 1001 3447 conicto +576 3847 576 4560 conicto +576 5385 1152 5860 conicto +1728 6336 2740 6336 conicto +3173 6336 3623 6256 conicto +4073 6176 4544 6016 conicto +end_ol grestore +gsave 25.599325 10.918906 translate 0.035278 -0.035278 scale +start_ol +768 4672 moveto +1536 4672 lineto +1536 0 lineto +768 0 lineto +768 4672 lineto +768 6464 moveto +1536 6464 lineto +1536 5504 lineto +768 5504 lineto +768 6464 lineto +end_ol grestore +gsave 25.911534 10.918906 translate 0.035278 -0.035278 scale +start_ol +1536 6016 moveto +1536 4672 lineto +3136 4672 lineto +3136 4096 lineto +1536 4096 lineto +1536 1543 lineto +1536 968 1694 804 conicto +1853 640 2338 640 conicto +3136 640 lineto +3136 0 lineto +2338 0 lineto +1446 0 1107 332 conicto +768 665 768 1543 conicto +768 4096 lineto +192 4096 lineto +192 4672 lineto +768 4672 lineto +768 6016 lineto +1536 6016 lineto +end_ol grestore +gsave 26.353619 10.918906 translate 0.035278 -0.035278 scale +start_ol +4736 2536 moveto +4736 2176 lineto +1280 2176 lineto +1329 1363 1745 937 conicto +2162 512 2906 512 conicto +3337 512 3741 624 conicto +4146 736 4544 960 conicto +4544 256 lineto +4136 68 3708 -30 conicto +3280 -128 2840 -128 conicto +1736 -128 1092 525 conicto +448 1179 448 2294 conicto +448 3446 1061 4123 conicto +1675 4800 2716 4800 conicto +3650 4800 4193 4191 conicto +4736 3582 4736 2536 conicto +3968 2752 moveto +3960 3394 3625 3777 conicto +3290 4160 2738 4160 conicto +2112 4160 1736 3790 conicto +1361 3420 1304 2748 conicto +3968 2752 lineto +end_ol grestore +gsave 27.045472 10.918906 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 27.402634 10.918906 translate 0.035278 -0.035278 scale +start_ol +1664 2944 moveto +1664 704 lineto +3030 704 lineto +3703 704 4027 980 conicto +4352 1257 4352 1826 conicto +4352 2399 4027 2671 conicto +3703 2944 3030 2944 conicto +1664 2944 lineto +1664 5504 moveto +1664 3648 lineto +2925 3648 lineto +3549 3648 3854 3877 conicto +4160 4106 4160 4576 conicto +4160 5042 3854 5273 conicto +3549 5504 2925 5504 conicto +1664 5504 lineto +832 6208 moveto +2988 6208 lineto +3950 6208 4471 5807 conicto +4992 5407 4992 4669 conicto +4992 4098 4728 3760 conicto +4464 3422 3953 3339 conicto +4568 3206 4908 2785 conicto +5248 2364 5248 1734 conicto +5248 904 4682 452 conicto +4116 0 3072 0 conicto +832 0 lineto +832 6208 lineto +end_ol grestore +showpage diff --git a/report.lyx b/report.lyx index 0a62a13..1e76740 100644 --- a/report.lyx +++ b/report.lyx @@ -59,6 +59,7 @@ \lhead{\thechapter} \usepackage[hmargin=3cm,vmargin=3.5cm]{geometry} +\usepackage{algorithmic} \end_preamble \use_default_options true \language english @@ -802,7 +803,366 @@ Because P2P game architectures are a constant goal for cheaters and because \end_layout \begin_layout Subsubsection -UUID +UUID +\end_layout + +\begin_layout Standard +\begin_inset Float algorithm +wide false +sideways false +status collapsed + +\begin_layout Plain Layout +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +begin{algorithmic}[1] +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +newcommand{ +\backslash +INDSTATE}[1][1]{ +\backslash +STATE +\backslash +hspace{#1 +\backslash +algorithmicindent}} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +STATE +\end_layout + +\end_inset + +global variable +\begin_inset Formula $state:=0$ +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +STATE +\end_layout + +\end_inset + + +\series bold +function +\series default +unique +\end_layout + +\begin_layout Plain Layout +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +INDSTATE +\end_layout + +\end_inset + + +\begin_inset Formula $state:=state+1$ +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +INDSTATE +\end_layout + +\end_inset + + +\series bold +return +\begin_inset Formula $state$ +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +end{algorithmic} +\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-simple-generator" + +\end_inset + +A simple (insufficient) generator for identifiers +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Inside the GGS, everything has a unique identifier. + There are identifiers for players, tables and other resources. + When players communicate amongst each other, or communicate with tables, + they need to be able to uniquely identify all of these resources. + Within one machine, this is mostly not a problem. + A simple system with a counter can be imagined, where each request for + a new ID increments the previous identifier and returns the new identifier + based off the old one, see algorithm +\begin_inset CommandInset ref +LatexCommand ref +reference "alg:A-simple-generator" + +\end_inset + +. + This solution poses problems when dealine with concurrent systems, and + systems of a distributed nature. + In both concurrent systems, the simple solution in algorithm +\begin_inset CommandInset ref +LatexCommand ref +reference "alg:A-simple-generator" + +\end_inset + + may yield non-unique identifiers due to the lack of mutual exclution. + +\end_layout + +\begin_layout Standard +The obvious solution to this problem is to ensure mutual exclusion by using + some sort of lock, which may work well in many concurrent systems. + In a distributed system, this lock, along withe the state, would have to + be distributed. + If the lock is not distributed, no guarantee can be made that two nodes + in the distributed system do not generate the same number. + A different approach is to give each node the ability to generate Universally + Unique Identifiers (UUID), where the state of one machine does not interfere + with the state of another. +\end_layout + +\begin_layout Standard +According to +\begin_inset CommandInset citation +LatexCommand citet +key "Leach98uuidsand" + +\end_inset + +, +\begin_inset Quotes eld +\end_inset + +A UUID is 128 bits long, and if generated according to the one of the mechanisms + in this document, is either guaranteed to be different from all other UUIDs/GUI +Ds generated until 3400 A.D. + or extremely likely to be different +\begin_inset Quotes erd +\end_inset + +. + This is accomplished by gathering several different sources of information, + such as: time, MAC addresses of network cards, and operating system data, + such as percentage of memory in use, mouse cursor position and process + ID:s. + The gathered data is then +\emph on +hashed +\emph default + +\begin_inset space ~ +\end_inset + +using an algorithm such as SHA-1. +\end_layout + +\begin_layout Standard +When using system wide unique identifiers, such as algorithm +\begin_inset CommandInset ref +LatexCommand ref +reference "alg:A-simple-generator" + +\end_inset + + with mutual exclusion, it is not possible to have splits between GGS clusters. + Consider figure +\begin_inset CommandInset ref +LatexCommand ref +reference "fig:network-split" + +\end_inset + +, where +\emph on +Site A +\emph default + is separated from +\emph on +Site B +\emph default + by a faulty network (illustrated by the cloud and lightening bolt). + When +\emph on +Site A +\emph default + and +\emph on +Site B +\emph default + later re-establish communications, they may have generated the same ID:s + if using algorithm +\begin_inset CommandInset ref +LatexCommand ref +reference "alg:A-simple-generator" + +\end_inset + +, even when mutual system-wide exclusion is implemented. + This is exactly the problem UUID:s solve. +\end_layout + +\begin_layout Standard +\begin_inset Float figure +wide false +sideways false +status open + +\begin_layout Plain Layout +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +begin{centering} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset Graphics + filename graphics/NetworkSPlit.eps + scale 40 + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +end{centering} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset Caption + +\begin_layout Plain Layout +\begin_inset CommandInset label +LatexCommand label +name "fig:network-split" + +\end_inset + +An example of a network split +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + \end_layout \begin_layout Section @@ -981,7 +1341,7 @@ too many \begin_inset Float figure wide false sideways false -status open +status collapsed \begin_layout Plain Layout \begin_inset Note Note @@ -1106,7 +1466,7 @@ Problems \end_layout \begin_layout Section -Erlang JS +erlang_js \end_layout \begin_layout Standard @@ -1144,7 +1504,7 @@ Erlang identifies processes uniquely throughout the entire Erlang network using process IDs (PID). When we wish to refer to erlang processes from outside our erlang system, for example in a virtual machine for a different language, possibly on - a different machine, these PIDs are no longer useful. + a different machine, these PID:s are no longer useful. \end_layout @@ -1152,9 +1512,9 @@ Erlang identifies processes uniquely throughout the entire Erlang network This problem is not new, and a common solution is to use a Universally Unique Identifier, a UUID. These identifiers are generated both using randomization and using time. - A reasonably large number of UUIDs can be generated before a collision + A reasonably large number of UUID:s can be generated before a collision should occur. - There are standard tools in many UNIX systems to generate UUIDs, we chose + There are standard tools in many UNIX systems to generate UUID:s, we chose to use the uuidgen command, which employs an equidistributed combined Tausworth e generator. \end_layout