summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LaTeX/chapters/simulator.tex41
-rw-r--r--LaTeX/diplomarbeit.pdf3296
-rw-r--r--sources/protocols/implementations/VSBerkelyTimeProtocol.java2
-rw-r--r--sources/protocols/implementations/VSOnePhaseCommitProtocol.java9
4 files changed, 1795 insertions, 1553 deletions
diff --git a/LaTeX/chapters/simulator.tex b/LaTeX/chapters/simulator.tex
index 456160d..6da20b0 100644
--- a/LaTeX/chapters/simulator.tex
+++ b/LaTeX/chapters/simulator.tex
@@ -540,11 +540,50 @@ In den Beispiel in Abbildung \ref{fig:BerkeleyProto} gibt es 2 Clientprozesse P1
Dieses Protokoll verwendet folgende serverseitige Variable, die in den Prozesseinstellungen unter dem Punkt ``Berkeley Server'' konfiguriert werden kann. Clientseitig gibt es hier keine Variablen.
\begin{itemize}
- \item \textbf{PIDs beteiliger Prozesse} \textit{(Integer[], [1,2])}: Dieser Vektor aus Integerwerten beinhaltet alle PIDs der Berkeley Clientprozesse, mit denen der Berkeley Server synchronisieren soll. Wenn hier eine PID angegeben wird, die gar nicht existiert oder nicht das Berkeley Protokoll clientseitig unterst\"{u}tz, funktioniert das Protokoll nicht. Dann wird ewig auf eine fehlende Clientantwort gewartet.
+ \item \textbf{PIDs beteiliger Prozesse} \textit{(Integer[], [1,3])}: Dieser Vektor aus Integerwerten beinhaltet alle PIDs der Berkeley Clientprozesse, mit denen der Berkeley Server synchronisieren soll. Wenn hier eine PID angegeben wird, die gar nicht existiert oder nicht das Berkeley Protokoll clientseitig unterst\"{u}tz, funktioniert das Protokoll nicht. Dann wird ewig auf eine fehlende Clientantwort gewartet.
\end{itemize}
\subsection{Das Ein-Phasen Commit Protokoll}
+\begin{figure}[htbp]
+ \centering
+ \fbox{\includegraphics[width=10cm]{images/ss-protokoll-one-phase-commit}}
+ \caption{Das Ein-Phasen Commit Protokoll}
+ \label{fig:OnePhaseCommitProto}
+\end{figure}
+
+Das Ein-Phasen Commit Protokoll ist daf\"{u}r da, beliebig vielen Clients zu einer Festschreibung zu bewegen. Im realen Leben k\"{o}nnte dies beispielsweise das Erstellen oder L\"{o}schen einer Datei sein, von der auf jedem Client eine lokale Kopie existiert. Der Server ist der Koordinator und auch derjenige, der einen Festschreibewunsch initiiert. Hierbei verschickt der Server periodisch so oft den Festschreibewunsch, bis er von jedem Client eine Best\"{a}tigung erhalten hat. Der Server muss dabei die PIDs aller beteiligten Clientprozesse sowie einen Wecker f\"{u}r erneuertes Versenden des Festschreibewunsches eingestellt bekommen.
+
+Die programmierten Ereignisse des Beispiels in Abbildung \ref{fig:OnePhaseCommitProto} sind in Tabelle \ref{tb:OnePhaseCommitTasks} aufgelistet. P1 und P3 simulieren jeweils einen Client und P2 den Server. Damit die Simulation mehrere Festschreibew\"{u}nsche verschickt, st\"{u}rzt in der Simulation P1 nach 1000ms ab und nach 5000ms steht er wieder zur Verf\"{u}gung. Die ersten beide Festschreibew\"{u}nsche erreichen dadurch P1 nicht und erst der dritte Versuch verl\"{a}uft erfolgreich. Bevor die Best\"{a}tigung von P1 bei P2 eintrifft, l\"{a}uft jedoch der Wecker erneuert ab, so dass ein weiterer Festschreibewunsch versendet wird. Da P1 und P3 jeweils schon eine Best\"{a}tigung verschickt haben, wird dieser Wunsch ignoriert.
+
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{c|c|l}
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Ereignis} \\
+ \hline
+ 0000 & 1 & 1-Phasen Commit Client aktivieren\\
+ 0000 & 2 & 1-Phasen Commit Server aktivieren\\
+ 0000 & 3 & 1-Phasen Commit Client aktivieren\\
+ 0000 & 2 & 1-Phasen Commit Serveranfrage starten\\
+ 1000 & 1 & Prozessabsturz\\
+ 5000 & 1 & Prozessweiderbelebung
+ \end{tabular}
+ }
+ \caption{Programmierte Ein-Phasen Commit Ereignisse}
+ \label{tb:OnePhaseCommitTasks}
+\end{table}
+
+\subsubsection{Protokollvariablen}
+
+Dieses Protokoll verwendet folgende serverseitige Variablen, die in den Prozesseinstellungen unter dem Punkt ``1-Phasen Commit Server'' konfiguriert werden kann. Clientseitig gibt es hier keine Variablen.
+
+\begin{itemize}
+ \item \textbf{Zeit bis erneuerter Anfrage} \textit{(Long, 2500)}: Gibt die Anzahl von Millisekunden an, die gewartet werden sollen, bis der Festschreibewunsch erneuert verschickt wird.
+ \item \textbf{PIDs beteiliger Prozesse} \textit{(Integer[], [1,3])}: Dieser Vektor aus Integerwerten beinhaltet alle PIDs der Clientprozesse, die festschreiben sollen.
+\end{itemize}
+
+
\subsection{Das Zwei-Phasen Commit Protokoll}
\subsection{Der ungen\"{u}gende (Basic) Multicast}
diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf
index 1eea1a8..3d06099 100644
--- a/LaTeX/diplomarbeit.pdf
+++ b/LaTeX/diplomarbeit.pdf
@@ -443,7 +443,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
180 0 obj <<
-/Length 2167
+/Length 2171
/Filter /FlateDecode
>>
stream
@@ -452,9 +452,11 @@ x]۸+ti_7fh
C/c0<\yk JMa}m
J/먔ʲj'XXNOR,U)W|{ >p8q\}y.1J0TJ6 Gf]]XCqXZgoJ9aeڱs/YʰىKQ]HE2IyxOӱ[qCwo5_Jk ?殔YNJy-`+L>vo),)<丹B.d
¤I3%zjeO\ƉPfn,yU[  }!yy\=HafUi´ftH'hQ(^=HbTY`bbЋ ГoX/hyK\6 JPM_e,*|8 #<ai'bbz+mB7r%@7!OP Yp%Iu5_=Oeۼ]+=1CN.LzUau0ىK!]7kyGN\#ws:nuyלݦZ@Pr.Гî o/d2Ѕg nk~ 5.J$:O \1ԾQ.ʪ):*p/X?UY?Fy{+XW_>q9n"2]y C|c0R]a]̝5^ eFx$r7&e݄X&OuA绉weݔ۪?<n;(ւ~u~\չu5fcW0kq\_Y|0|pZ|<>م(79d8<>ڏہ4<|~w!km
-qXI= db{Wu3 ӨAqs-Az 4;rkU*6oP6Oa\,ebSW\z#ĆEpG7r5jv!Wfkߠ\ku{(`B&NzUo0r>!T!ͥ.
-jr 1py=~x/_)m]_vޜM閶1W0S\瞫ϕ+4 W\fre(YaB tnV<0u ؗ۟x/DZ~>N։R8ߍYPXRafq1e2:sAS[QB=,RF6 ƛ^3Nr.z3
-HOXwF{[?-@Ks<]ñ?n)ݭL`fz WmB<el37B 3{]4P2Lk C* zYᬃAcז endstream
+qXI= db{Wu3 ӨAqs-Az 4;rkU*6oP6Oa\,ebSW\z#ĆEpG7r5jv!Wfkߠ\ku{(`B&NzUo0r>!T!͹5*ɉb7 Aʯ0|vnuyٝ{s7[\ ´
+LMsիR{F?WА/\%BKp]ȕd>膭^
+b2ӹYA_TT.@b_nvվximD8Z'JE"DN$@~7fB
+1w
+HttC3%tw ,e"ekendstream
endobj
179 0 obj <<
/Type /Page
@@ -650,18 +652,17 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
210 0 obj <<
-/Length 1281
+/Length 1282
/Filter /FlateDecode
>>
stream
-xYMs6WHLӌ;=xߚd9D'"AB 8UrDY;HPDE
-0#2^P6wwc on.~MRD 6F+tb0Ǫ7Wên_LoCSn~x{34`-%{+`%Zr%&D(*1>X+0N&qy&Nj*Ktq\irԬOKҀDaG8 B2mG
-sNTWْ
- c˄(G(b$CՃ:٨]]naNb`(tT *OI9`w\$-C{N8 tt@g|qnS dR˘ކ&vPa|e`A
-h*}gR<fZ\Ο9KKdc:r]YbЙJ(l0$$Vc"?Gg͙:0gZ\Μ@
-qla%7vӴe[M,9t6v{2M` HX/\`
-4Tmad5!2bX<fBIb9c&zaFFyoH<r*A{ŅsУrn0z5`Jir9ڞ0=rQVuNogMCYPR<ի6sL[MZգ!lʪ6M]S0N`:qSmLA{Ņo =[Ч\Kǯ9u!wl w[֑߄gVaov|q8kH"rK=+8
-Xg:9n .ve7f Balj=*GpxxxpbF\ƋɶyQۯ=nk_mf]޺ %-czT&^Q{&u_J}ir9ڎcںO~3+!(J̙
+xKs6\R x\4͸Ӆ'BYcHt2/ $(S% ;Hu{xH ?I@5Ϥf怐n{Nzmą~ssod#n(D8qԛ?a]/+rϊO7_
+q>P4W"+C2ߚ?ij&sgϓk$yRdhU!_rUPܖM[fszDk$4/w') eG1\UYA84q )>TIE]lhr2Us1?
+p~\QmyzVr$9Fr=RfMX?:,tz ,G7hѝu$._kH8 e7ZN&{ i&^Cw׫SlI0?@/Kc3x8\X6d/>APq, L*Hb|j'etXRp$'1> B(Pl
+'ut8ki_ -#K#FGes7h5;1‘]B/و^"pzѲgE!1"@mѩ:];wu=)<J4^02Emqf$gh`)0#5l"JJDsl8
+b\B
+SQJex52`,Gxp)cek 55RݱE#κZա:>>5݇vEpTjׄwB^f
+XjU*|3LTO'.`]1 Cs.#pg׏ P8o]c~6ݖu7K]ʯT)fЉa).]Y}kԪpuЉqYlo_ۭi}}#{h목f5 3{U@qx pd1`8\hXT+ :Ţu,JiV]{xn[qf{2#e~BJ97И㉵"}<Ʌå苕'ߞqtbjϢ߳\1Ⱥ'4faeB&etb-UY
endobj
209 0 obj <<
/Type /Page
@@ -777,16 +778,16 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
231 0 obj <<
-/Length 2157
+/Length 2234
/Filter /FlateDecode
>>
stream
-xݛˎ6y
--Y/Zh3hmb &O_R"%J AZ\J2LP@bPD_ lJ9 fMF/&*gh#RfT/n}=@Bݾ(wwEVqApkrzO^v%ɐvYI#@P([XvgW/
- JXu+lzYyuư@`./qHXGTo8SAZz 4v4&,f(giHDPq$S4:YK#ߜOӻ5SYƄ|B**'@l}TpT̅5?1g1fg Rb!R)8 8Zn/'Q?W;g-usB0ՁޅS Fm: \,p 5ybfmtTs8vnK^I{26;U$8/Oq]g,T5|y>cf2Kd-@r[k:.
-I7eJ:}M',z(.נHQ]"T05 wEJeaF(EE>ݮOޚǘꁟ+H3ߩSJumE\ʡ9Ld'\.`YS%c%Y+,tk}K<.*r}ww:JޗɖщqI3ؗsHH0<F*
-zr
- #*P\C'*fvQD_=%2ןiz#9߿5,jst|>8`~9BC)ȭ>7Ge4=%]F. DT,R7Q}A;v:\%Jwfbs:poѴx.7ĢfA(tNfq $%(ݘ8f1͎G]<;r͏橋]Fћe8E]+s-" {om>xu`'0ⲼVN[zf'8"I0,S =A5?[2vdSd)2{RI?9QFL]| *Jw\;F#G.*Sf2| 4rR7;ŇJқoެ\)!%!Q2CJVr{Hi~H)9xLH']"KE+z2P \sG3 jb3G<DHK\|w5?N$<՝u2˟|e) 1gL`U)o` g'\nIeQRSYՍU x?O}0hۂpb,D(@Њ,ր5LG2J&?S-Y?zĘi?yyh)Kj`p᷵sy_an:禳cU_6I c5)Np2%  Nӻpt$‚>QCr\Yl^arTD)~_k!\!k&
+xݛK6:|?ͣE]+Y,mKJDtw pQ?
+(T, _ +C)qLt7ZdOJ9C$`2#7aa $/0"(wj_?7~_UQśT+ in1
+[^E^]1,e(r֑`.UBRaLbנ 54Cc4,L,QcɃh
+0dF'H>Ʒ~Ty@%A1!3߁J'S 6T>*P@ 8auR̅ꚯγ3۳RN88Zn/'Q?W;g%usB0ՁޅJAJ5q: \,p <p1˖bbB*R98vns^A{26;+Hp $aC_㪻X=>5|y>cf2KZ>I?<)uU7.N*埞5C(O`AΣ3E;P`jZ+VOkŢZm~tFs<wzic~ |BLTwk+R:1N`";Qf;O܏qR-kQ_eQK]ut]uUqþcQ"$ LN(03}:gI #P`1\V88ȉq/&~_f}0UVۖXQ TXɜTw SjdOD3 7Jpk\' MRؼ98y~vs^쫢w{tIR_,J"-x"Bu iQHú(>:49&qdA31f<^* 1sR)d@OrcMSAOKn~8jvthiF'B{v5r}p>Mu6m"7J]<[Ad2;ђYTXD0A\.p4 x@(5OT""zxKe\%WO)`yU'9z&*Tz=RzssTFSj.Ae2*ui JڸNR,giwU|g&W+[\N?5xZBuw9@,jvt*0MA,tB79;<
+= bS Ea_YbAzLŃ 5_[2vdS,SeB9,sD81XT(v _'IV̨e@hwb6*IojyfpurSJ!%!Q2!%+r;4yRfC1Pd1P}Ihź?? 7k{ߡp&Bz3b` iK%T7ߝE.S OugO{y>mwwcb&R)o`ӟ g'TP7R.jvuT,sr\ҪyC7|S5|hڶ8< P"Bxt[k@=tl.
+Kd;ՒMաSԗb[`p׵sy_an:禳c6D&S2I17=pntgDv&;1'fOіK J{DַdYډv3zQI%
endobj
230 0 obj <<
/Type /Page
@@ -794,7 +795,7 @@ endobj
/Resources 229 0 R
/MediaBox [0 0 595.2757 841.8898]
/Parent 170 0 R
-/Annots [ 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R 246 0 R 247 0 R 248 0 R 249 0 R 250 0 R 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R 256 0 R ]
+/Annots [ 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R 246 0 R 247 0 R 248 0 R 249 0 R 250 0 R 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R 256 0 R 257 0 R ]
>> endobj
234 0 obj <<
/Type /Annot
@@ -957,6 +958,13 @@ endobj
/Subtype /Link
/A << /S /GoTo /D (figure.2.20) >>
>> endobj
+257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.9113 191.9056 283.2249 202.2131]
+/Subtype /Link
+/A << /S /GoTo /D (figure.2.21) >>
+>> endobj
232 0 obj <<
/D [230 0 R /XYZ 74.4095 793.4011 null]
>> endobj
@@ -967,98 +975,98 @@ endobj
/Font << /F26 166 0 R /F28 169 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-282 0 obj <<
-/Length 985
+284 0 obj <<
+/Length 1051
/Filter /FlateDecode
>>
stream
-x͘Ko8<J@qlI`kq[X[dzX-2Y7ha|( b%Җ h"h }hk#B* 3E]3#:k*45X
-![cf}>
-n'dܐl~kWd]d\pYU.6xu3ql4璢5 |Du dX-
-J,GQF{]ou0Lq^(β\>g$[ MgsUt5SlzLf۪iznڟ|j{
-kK(Xo*JZv*J5]ͽJSeX<`[i
-PxF8&S[RbJ>gNb1:G;b;b4E*RQb3kX-P.k*}[jYy`]m]2s^$Q s
-RsÞ[2;I[l "tiba/|B*BhOJ$`@S&ט[ s *% ~z9 ,.2tw N {acMH֙5v]on_!J5r% S R
-8,
-~YU*uU\k*yI I:+Be
-[?ǔyYV)yD[/ KA {Yq"̦ !(5?wԮ^a
-'ߓ;~q@Pc8zQj$t(ҳY,
+x͘Ko6:Jql`E5zi{:-ԖYt;D-27h`C Ëd#ȔapAHl cn`ùD\H7FqgZHy*Hp.槏Tf"yxpAV|Qh/Vmߪ( ΫzUǦ_7c# RR75Yo Jf$q"I g7YTc!@Q8֫MUT}P0VS] RͺVP?0Zcs_\m߂# O$EOlJi") = JgnI3h=tgs'*K1RxXN 2BD!C} Q(ĵ! F(:!)@M)f+9bJD lӏzsw:htXLLg{fh)E,*$:Ţ3YdPֶ.mu q(swu.,{W>U2~fH,E2R3&Ü&-6mى`xX*$
+)ڜYO!ubwK&SKJIb\#͹7Tb"="CwadX )x0g&Im_ޯcy(UaO-Y0f-
+6ULU\ks {:IR'{6gs%մL=upE5_77?Ciy_h?ڍ4wxD'`LM
+"gC^@wvЛ~{"k$57fk+ϧ"b{ă:`<0Q
endobj
-281 0 obj <<
+283 0 obj <<
/Type /Page
-/Contents 282 0 R
-/Resources 280 0 R
+/Contents 284 0 R
+/Resources 282 0 R
/MediaBox [0 0 595.2757 841.8898]
/Parent 170 0 R
-/Annots [ 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R ]
+/Annots [ 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R ]
>> endobj
-285 0 obj <<
+287 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 611.9728 397.7864 624.5021]
/Subtype /Link
/A << /S /GoTo /D (table.2.1) >>
>> endobj
-286 0 obj <<
+288 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 594.0456 204.0679 606.3218]
/Subtype /Link
/A << /S /GoTo /D (table.2.2) >>
>> endobj
-287 0 obj <<
+289 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 576.1184 298.4028 588.3946]
/Subtype /Link
/A << /S /GoTo /D (table.2.3) >>
>> endobj
-288 0 obj <<
+290 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 558.1911 338.3936 570.7204]
/Subtype /Link
/A << /S /GoTo /D (table.2.4) >>
>> endobj
-289 0 obj <<
+291 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 540.2639 330.3868 552.7932]
/Subtype /Link
/A << /S /GoTo /D (table.2.5) >>
>> endobj
-290 0 obj <<
+292 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 522.3367 394.1345 534.8659]
/Subtype /Link
/A << /S /GoTo /D (table.2.6) >>
>> endobj
-291 0 obj <<
+293 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 504.4094 481.6833 516.9387]
/Subtype /Link
/A << /S /GoTo /D (table.2.7) >>
>> endobj
-292 0 obj <<
+294 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 486.4822 375.1181 498.7584]
/Subtype /Link
/A << /S /GoTo /D (table.2.8) >>
>> endobj
-283 0 obj <<
-/D [281 0 R /XYZ 74.4095 793.4011 null]
+295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.9113 468.555 345.3889 481.0842]
+/Subtype /Link
+/A << /S /GoTo /D (table.2.9) >>
>> endobj
-284 0 obj <<
-/D [281 0 R /XYZ 74.4095 643.0213 null]
+285 0 obj <<
+/D [283 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-280 0 obj <<
+286 0 obj <<
+/D [283 0 R /XYZ 74.4095 643.0213 null]
+>> endobj
+282 0 obj <<
/Font << /F26 166 0 R /F28 169 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-304 0 obj <<
+308 0 obj <<
/Length 1086
/Filter /FlateDecode
>>
@@ -1066,84 +1074,84 @@ stream
xڭVKo8W(7ޚY9lc%A[,`;CJ"͡d8/~YD"#L*`,4ڂtD*m0#MqάzV(1%BsbVS*ξ+ 76fdNm{EU=V[.>{*5JΡg.5v%1cL+,W˹ĉ49%q,N0\űV@b#FIZ3F"-mB?Vqj KxuSʫܵ:+]0
TA˒uֹI‡hSC&!q U5P|/]/A<lE w,h3Wmezܝ(,s*Rmۨ'?5X$cq8ZR1![12Ykkƪ59v13U^2?J( tѴHnu㪭 LFT/?Vz3XmazlYFBp2,'Ne\Aav?<yc (APծ Ch{ Gܢ+O b)oiqKSph]azN];1(oj ;,Rp֑Kg ہB_[| L<z
endobj
-303 0 obj <<
+307 0 obj <<
/Type /Page
-/Contents 304 0 R
-/Resources 302 0 R
+/Contents 308 0 R
+/Resources 306 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 307 0 R
-/Annots [ 306 0 R ]
+/Parent 311 0 R
+/Annots [ 310 0 R ]
>> endobj
-301 0 obj <<
+305 0 obj <<
/Type /XObject
/Subtype /Form
/FormType 1
/PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/verteiltes-system.pdf)
/PTEX.PageNumber 1
-/PTEX.InfoDict 308 0 R
+/PTEX.InfoDict 312 0 R
/Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000]
/BBox [0.00000000 0.00000000 366.00000000 180.00000000]
/Resources <<
/ProcSet [ /PDF /Text ]
/ExtGState <<
-/R7 309 0 R
->>/Font << /R8 310 0 R >>
+/R7 313 0 R
+>>/Font << /R8 314 0 R >>
>>
-/Length 311 0 R
+/Length 315 0 R
/Filter /FlateDecode
>>
stream
xVMo1 W8N+qҲ
Ue`v4A$2Tn^Y␩8FMlT!Yr )tA,((Py'C,U/8UD [Iߖ3Ocz\Da4M&Ri֡d*ԒeP^EXf 7MdIɏ F'C9w: Κ#n;?q7/u~W<c(mZC.!ABz/K|֑]_z񯣠u+LyJX`
endobj
-308 0 obj
+312 0 obj
<<
/Producer (GPL Ghostscript 8.61)
/CreationDate (D:20080725141001Z00'00')
/ModDate (D:20080725141001Z00'00')
>>
endobj
-309 0 obj
+313 0 obj
<<
/Type /ExtGState
/OPM 1
>>
endobj
-310 0 obj
+314 0 obj
<<
/BaseFont /Helvetica
/Type /Font
/Subtype /Type1
>>
endobj
-311 0 obj
+315 0 obj
714
endobj
-306 0 obj <<
+310 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 0]
/Rect [76.4707 384.3703 108.3246 394.4247]
/Subtype /Link
/A << /S /GoTo /D (cite.Tanenbaum) >>
>> endobj
-305 0 obj <<
-/D [303 0 R /XYZ 74.4095 793.4011 null]
+309 0 obj <<
+/D [307 0 R /XYZ 74.4095 793.4011 null]
>> endobj
6 0 obj <<
-/D [303 0 R /XYZ 74.4095 771.7323 null]
+/D [307 0 R /XYZ 74.4095 771.7323 null]
>> endobj
10 0 obj <<
-/D [303 0 R /XYZ 74.4095 564.7986 null]
+/D [307 0 R /XYZ 74.4095 564.7986 null]
>> endobj
-257 0 obj <<
-/D [303 0 R /XYZ 213.3171 155.4996 null]
+258 0 obj <<
+/D [307 0 R /XYZ 213.3171 155.4996 null]
>> endobj
-302 0 obj <<
+306 0 obj <<
/Font << /F26 166 0 R /F28 169 0 R /F61 214 0 R >>
-/XObject << /Im2 301 0 R >>
+/XObject << /Im2 305 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-316 0 obj <<
+320 0 obj <<
/Length 1579
/Filter /FlateDecode
>>
@@ -1157,30 +1165,30 @@ xڭXmo6_23| ovk7`[ XrLD$9ͯ[N lHѐwwSDGDy^Q^(
J7gd><;֬)2\o ]F _b"pMh%A?[˾?PY zQCLNLAwMmNe!e/o7C[Auz2&JdΔ*A'rK~}ģ@ϼ ;a&
8J=SZʃ~o'0
endobj
-315 0 obj <<
+319 0 obj <<
/Type /Page
-/Contents 316 0 R
-/Resources 314 0 R
+/Contents 320 0 R
+/Resources 318 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 307 0 R
-/Annots [ 318 0 R ]
+/Parent 311 0 R
+/Annots [ 322 0 R ]
>> endobj
-313 0 obj <<
+317 0 obj <<
/Type /XObject
/Subtype /Form
/FormType 1
/PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/client-server.pdf)
/PTEX.PageNumber 1
-/PTEX.InfoDict 320 0 R
+/PTEX.InfoDict 324 0 R
/Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000]
/BBox [0.00000000 0.00000000 382.00000000 112.00000000]
/Resources <<
/ProcSet [ /PDF /Text ]
/ExtGState <<
-/R7 321 0 R
->>/Font << /R8 322 0 R >>
+/R7 325 0 R
+>>/Font << /R8 326 0 R >>
>>
-/Length 323 0 R
+/Length 327 0 R
/Filter /FlateDecode
>>
stream
@@ -1188,54 +1196,54 @@ xTn0 +xl{p%RE[$F/A,E"N~Ejx0"g槮Ӣ>yTFc5P
(C!R;}tI6<o}/[˿w?K\2x ,

endobj
-320 0 obj
+324 0 obj
<<
/Producer (GPL Ghostscript 8.61)
/CreationDate (D:20080725141001Z00'00')
/ModDate (D:20080725141001Z00'00')
>>
endobj
-321 0 obj
+325 0 obj
<<
/Type /ExtGState
/OPM 1
>>
endobj
-322 0 obj
+326 0 obj
<<
/BaseFont /Helvetica
/Type /Font
/Subtype /Type1
>>
endobj
-323 0 obj
+327 0 obj
452
endobj
-318 0 obj <<
+322 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [73.4132 702.552 90.6937 715.0813]
/Subtype /Link
/A << /S /GoTo /D (figure.1.1) >>
>> endobj
-317 0 obj <<
-/D [315 0 R /XYZ 74.4095 793.4011 null]
+321 0 obj <<
+/D [319 0 R /XYZ 74.4095 793.4011 null]
>> endobj
14 0 obj <<
-/D [315 0 R /XYZ 74.4095 466.9572 null]
+/D [319 0 R /XYZ 74.4095 466.9572 null]
>> endobj
-319 0 obj <<
-/D [315 0 R /XYZ 74.4095 298.4934 null]
+323 0 obj <<
+/D [319 0 R /XYZ 74.4095 298.4934 null]
>> endobj
-258 0 obj <<
-/D [315 0 R /XYZ 286.2652 155.4996 null]
+259 0 obj <<
+/D [319 0 R /XYZ 286.2652 155.4996 null]
>> endobj
-314 0 obj <<
+318 0 obj <<
/Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >>
-/XObject << /Im3 313 0 R >>
+/XObject << /Im3 317 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-326 0 obj <<
+330 0 obj <<
/Length 2032
/Filter /FlateDecode
>>
@@ -1247,38 +1255,38 @@ Os\Y+a@*BT@dJ<^> 2)xd%'I(5Dm`Q]
R>
P^3qd]Bo@QF,PTW~|p
endobj
-325 0 obj <<
+329 0 obj <<
/Type /Page
-/Contents 326 0 R
-/Resources 324 0 R
+/Contents 330 0 R
+/Resources 328 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 307 0 R
-/Annots [ 328 0 R ]
+/Parent 311 0 R
+/Annots [ 332 0 R ]
>> endobj
-328 0 obj <<
+332 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [169.1687 720.4793 186.4492 733.0085]
/Subtype /Link
/A << /S /GoTo /D (figure.1.2) >>
>> endobj
-327 0 obj <<
-/D [325 0 R /XYZ 74.4095 793.4011 null]
+331 0 obj <<
+/D [329 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-329 0 obj <<
-/D [325 0 R /XYZ 74.4095 634.5446 null]
+333 0 obj <<
+/D [329 0 R /XYZ 74.4095 634.5446 null]
>> endobj
-330 0 obj <<
-/D [325 0 R /XYZ 74.4095 447.9781 null]
+334 0 obj <<
+/D [329 0 R /XYZ 74.4095 447.9781 null]
>> endobj
-331 0 obj <<
-/D [325 0 R /XYZ 74.4095 294.9565 null]
+335 0 obj <<
+/D [329 0 R /XYZ 74.4095 294.9565 null]
>> endobj
-324 0 obj <<
+328 0 obj <<
/Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-335 0 obj <<
+339 0 obj <<
/Length 1213
/Filter /FlateDecode
>>
@@ -1293,29 +1301,29 @@ xڍWKo8W(1ÇGommwQllhfm²Xt Td[i
ȸx0(tD@
R`E1/~3-kendstream
endobj
-334 0 obj <<
+338 0 obj <<
/Type /Page
-/Contents 335 0 R
-/Resources 333 0 R
+/Contents 339 0 R
+/Resources 337 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 307 0 R
+/Parent 311 0 R
>> endobj
-332 0 obj <<
+336 0 obj <<
/Type /XObject
/Subtype /Form
/FormType 1
/PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/client-server-protokolle.pdf)
/PTEX.PageNumber 1
-/PTEX.InfoDict 338 0 R
+/PTEX.InfoDict 342 0 R
/Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000]
/BBox [0.00000000 0.00000000 376.00000000 320.00000000]
/Resources <<
/ProcSet [ /PDF /Text ]
/ExtGState <<
-/R7 339 0 R
->>/Font << /R8 340 0 R >>
+/R7 343 0 R
+>>/Font << /R8 344 0 R >>
>>
-/Length 341 0 R
+/Length 345 0 R
/Filter /FlateDecode
>>
stream
@@ -1325,44 +1333,44 @@ xMo0 <;l"îkP6AbGJGb:,P/E '+Oz?}  l
Y La- 7pD7[:
B|jZ%Tp'endstream
endobj
-338 0 obj
+342 0 obj
<<
/Producer (GPL Ghostscript 8.61)
/CreationDate (D:20080725141000Z00'00')
/ModDate (D:20080725141000Z00'00')
>>
endobj
-339 0 obj
+343 0 obj
<<
/Type /ExtGState
/OPM 1
>>
endobj
-340 0 obj
+344 0 obj
<<
/BaseFont /Helvetica
/Type /Font
/Subtype /Type1
>>
endobj
-341 0 obj
+345 0 obj
499
endobj
-336 0 obj <<
-/D [334 0 R /XYZ 74.4095 793.4011 null]
+340 0 obj <<
+/D [338 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-259 0 obj <<
-/D [334 0 R /XYZ 278.1207 316.0336 null]
+260 0 obj <<
+/D [338 0 R /XYZ 278.1207 316.0336 null]
>> endobj
-337 0 obj <<
-/D [334 0 R /XYZ 74.4095 234.8543 null]
+341 0 obj <<
+/D [338 0 R /XYZ 74.4095 234.8543 null]
>> endobj
-333 0 obj <<
+337 0 obj <<
/Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >>
-/XObject << /Im4 332 0 R >>
+/XObject << /Im4 336 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-344 0 obj <<
+348 0 obj <<
/Length 1570
/Filter /FlateDecode
>>
@@ -1376,32 +1384,32 @@ KF/?4FL 5+
,'EJu?ᨭ`Køz.N=Ja˅7w nj&3sfrLq ܊H)
|_-3" ɞ||?QWzendstream
endobj
-343 0 obj <<
+347 0 obj <<
/Type /Page
-/Contents 344 0 R
-/Resources 342 0 R
+/Contents 348 0 R
+/Resources 346 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 307 0 R
-/Annots [ 347 0 R ]
+/Parent 311 0 R
+/Annots [ 351 0 R ]
>> endobj
-347 0 obj <<
+351 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [137.0253 510.142 154.3058 522.4182]
/Subtype /Link
/A << /S /GoTo /D (figure.1.3) >>
>> endobj
-345 0 obj <<
-/D [343 0 R /XYZ 74.4095 793.4011 null]
+349 0 obj <<
+/D [347 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-346 0 obj <<
-/D [343 0 R /XYZ 74.4095 671.3117 null]
+350 0 obj <<
+/D [347 0 R /XYZ 74.4095 671.3117 null]
>> endobj
-342 0 obj <<
+346 0 obj <<
/Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-351 0 obj <<
+355 0 obj <<
/Length 906
/Filter /FlateDecode
>>
@@ -1412,15 +1420,15 @@ xڭVK6W(hM[bim2 w(RZeHჇofHfW"H
:VmWW 8}DE$HkD;"sCDO>CZrsb6o`M1wYJs-e(jw+*_X{H|2YKCm\)6 z8և̕xWtUM
~E.5 5jDmC, yrO?#xA0E"(Wlcxmٴ878-6o6iۦVjˠP@mZS ܟA0Y, f lfG˽҈u
endobj
-350 0 obj <<
+354 0 obj <<
/Type /Page
-/Contents 351 0 R
-/Resources 349 0 R
+/Contents 355 0 R
+/Resources 353 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 307 0 R
-/Annots [ 353 0 R 354 0 R ]
+/Parent 311 0 R
+/Annots [ 357 0 R 358 0 R ]
>> endobj
-348 0 obj <<
+352 0 obj <<
/Type /XObject
/Subtype /Image
/Width 380
@@ -1447,38 +1455,38 @@ CKy9?#%VKKlcVjMG
|깗D"=))s}SIꌎ$'ƆYkp$ kK"*%9uv>r.vL,ֵ*pRcuK\K;D"=IHm˅[6m<1%HG≱d7kv;7ܾy Dz/ܺ~ډ3[4mq5o
endobj
-353 0 obj <<
+357 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [429.2362 171.0176 446.5167 183.5468]
/Subtype /Link
/A << /S /GoTo /D (figure.2.1) >>
>> endobj
-354 0 obj <<
+358 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [372.259 153.0904 389.5395 165.6196]
/Subtype /Link
/A << /S /GoTo /D (figure.2.2) >>
>> endobj
-352 0 obj <<
-/D [350 0 R /XYZ 74.4095 793.4011 null]
+356 0 obj <<
+/D [354 0 R /XYZ 74.4095 793.4011 null]
>> endobj
18 0 obj <<
-/D [350 0 R /XYZ 74.4095 771.7323 null]
+/D [354 0 R /XYZ 74.4095 771.7323 null]
>> endobj
22 0 obj <<
-/D [350 0 R /XYZ 74.4095 580.9861 null]
+/D [354 0 R /XYZ 74.4095 580.9861 null]
>> endobj
-260 0 obj <<
-/D [350 0 R /XYZ 240.2747 218.7511 null]
+261 0 obj <<
+/D [354 0 R /XYZ 240.2747 218.7511 null]
>> endobj
-349 0 obj <<
+353 0 obj <<
/Font << /F26 166 0 R /F28 169 0 R >>
-/XObject << /Im5 348 0 R >>
+/XObject << /Im5 352 0 R >>
/ProcSet [ /PDF /Text /ImageC ]
>> endobj
-359 0 obj <<
+363 0 obj <<
/Length 1582
/Filter /FlateDecode
>>
@@ -1491,15 +1499,15 @@ G͏gi֓*лSPvZ2N|Aȹm-kSuqݠ8%Q$ʁ
sӖ]4VPB8E)2Fwv pp}͆sYpk
R"+:?dłsl&%3`0#}?L6Mh܃L4Ig:yArtlendstream
endobj
-358 0 obj <<
+362 0 obj <<
/Type /Page
-/Contents 359 0 R
-/Resources 357 0 R
+/Contents 363 0 R
+/Resources 361 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 364 0 R
-/Annots [ 361 0 R 363 0 R ]
+/Parent 368 0 R
+/Annots [ 365 0 R 367 0 R ]
>> endobj
-355 0 obj <<
+359 0 obj <<
/Type /XObject
/Subtype /Image
/Width 500
@@ -1522,35 +1530,35 @@ K>k^ѣզelEHW7 %?'#''El[d[$k\e69T
*o{ců S
mX/~`vC d
endobj
-361 0 obj <<
+365 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [125.2715 720.4793 142.552 732.7555]
/Subtype /Link
/A << /S /GoTo /D (figure.2.3) >>
>> endobj
-363 0 obj <<
+367 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [205.1356 357.5128 222.4161 370.0421]
/Subtype /Link
/A << /S /GoTo /D (figure.2.2) >>
>> endobj
-360 0 obj <<
-/D [358 0 R /XYZ 74.4095 793.4011 null]
+364 0 obj <<
+/D [362 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-261 0 obj <<
-/D [358 0 R /XYZ 307.3769 457.6694 null]
+262 0 obj <<
+/D [362 0 R /XYZ 307.3769 457.6694 null]
>> endobj
-362 0 obj <<
-/D [358 0 R /XYZ 74.4095 385.969 null]
+366 0 obj <<
+/D [362 0 R /XYZ 74.4095 385.969 null]
>> endobj
-357 0 obj <<
+361 0 obj <<
/Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >>
-/XObject << /Im6 355 0 R >>
+/XObject << /Im6 359 0 R >>
/ProcSet [ /PDF /Text /ImageC ]
>> endobj
-368 0 obj <<
+372 0 obj <<
/Length 1167
/Filter /FlateDecode
>>
@@ -1564,15 +1572,15 @@ Mv
CO9ngU6*CCeۣve]5:X6oOsDbK8
s;Tl=Z*J_=Nk ?
endobj
-367 0 obj <<
+371 0 obj <<
/Type /Page
-/Contents 368 0 R
-/Resources 366 0 R
+/Contents 372 0 R
+/Resources 370 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 364 0 R
-/Annots [ 371 0 R ]
+/Parent 368 0 R
+/Annots [ 375 0 R ]
>> endobj
-356 0 obj <<
+360 0 obj <<
/Type /XObject
/Subtype /Image
/Width 380
@@ -1711,7 +1719,7 @@ HI'-ګDE1 N7M\ ٺ`6 hv,C(>e k 0"dQ9m}J
M] 0H88' u W#xLDhz2QE"I=oh,G5qHLIJL7EJ'1+8DήT$=-  x|{kc~)ڢ8g1:fMA%4`*M*A/l\i6G,,,GZG}:WSqNNkj,jJ~=ӸjtBʡUjgS)rSkv&ldR]r`LT6̚myc'fofHh4KKf'fMK] 4`Z2.o1.mr޴<#bǸeP1C?IWtrkpF`D
/CiiiZ4il/iactvkUh4>ik *Pn/|zzt~w={)W5(60.O [O>˸3h ^k_S + !۝+KJum0䫷Ns~sFZ^9se^JU_J%VMJ}z~3ǝ1GOլ޲:`0B7[#Zs7D?O'Y>s/537<95 Y%ȇ_>$iJzNi]Gҕ)9(+; +(7/,؋~'.Ȝ`oy`KPqzu>>T׍<x>zaݖʾۥ=E,mMɭy0SBNfq;lg6/-fP10p m=p`0գȁ@sjB=-j^דGe7Ď|Z|%Ttj0F`L,ȩx*:len)i6Z#Rq`C(N[#x^ܮ]'Ixv]If׏K6[Nnq,q8EEE7oLK =ދȞ Քqendstream
endobj
-365 0 obj <<
+369 0 obj <<
/Type /XObject
/Subtype /Image
/Width 180
@@ -1739,31 +1747,31 @@ SȈoD\`tZǓ!:#tcoheX+X
٘Zl7Z%lL-6Z!7,7>L")dcjb,>߰ߞ{و|t9T,t)T(«8

endobj
-371 0 obj <<
+375 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [380.5758 322.4414 397.8563 334.9707]
/Subtype /Link
/A << /S /GoTo /D (figure.2.4) >>
>> endobj
-369 0 obj <<
-/D [367 0 R /XYZ 74.4095 793.4011 null]
+373 0 obj <<
+/D [371 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-262 0 obj <<
-/D [367 0 R /XYZ 283.8895 473.3831 null]
+263 0 obj <<
+/D [371 0 R /XYZ 283.8895 473.3831 null]
>> endobj
-370 0 obj <<
-/D [367 0 R /XYZ 74.4095 351.8797 null]
+374 0 obj <<
+/D [371 0 R /XYZ 74.4095 351.8797 null]
>> endobj
-263 0 obj <<
-/D [367 0 R /XYZ 259.0544 232.7884 null]
+264 0 obj <<
+/D [371 0 R /XYZ 259.0544 232.7884 null]
>> endobj
-366 0 obj <<
+370 0 obj <<
/Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R /F33 177 0 R >>
-/XObject << /Im7 356 0 R /Im8 365 0 R >>
+/XObject << /Im7 360 0 R /Im8 369 0 R >>
/ProcSet [ /PDF /Text /ImageC ]
>> endobj
-375 0 obj <<
+379 0 obj <<
/Length 1459
/Filter /FlateDecode
>>
@@ -1778,15 +1786,15 @@ uFv+B 2QrW\/ЈD#.Ņ $rډ%Frx En+CS
[wov5/H# TDCZceq`Z89X|swAKz83v Ei5*m[w0vpں;
̌lV&cpF'xRM61J\!
endobj
-374 0 obj <<
+378 0 obj <<
/Type /Page
-/Contents 375 0 R
-/Resources 373 0 R
+/Contents 379 0 R
+/Resources 377 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 364 0 R
-/Annots [ 378 0 R 379 0 R ]
+/Parent 368 0 R
+/Annots [ 382 0 R 383 0 R ]
>> endobj
-372 0 obj <<
+376 0 obj <<
/Type /XObject
/Subtype /Image
/Width 586
@@ -1801,35 +1809,35 @@ xvQQt՝ɢA(`tϺ?;d>YzϚ29k33Yܴ9^C_+nZ
7-XW
[r7g7U~Zz?ކ[1g bǗsI9ۮ㥧 '&7Wjo_E3/jcOL˺=.cuQ݌1]uUKc-usg1uzJݦY,Ց;[aaX,uV7bX,usX,n,R7ucX,bMX,nVbXfX,bMX,nbX,u,R7;bMX,nbX,uS7bdX,YMbbXn,RFu[c5Y,5Mݾ8;b-n"n`{M[bX6Jݎ_гsX,KݞvVyn,Śn{QRv"aX,u˯kbXm= vb[BQDnbX]Vyn,Śnů\X,kvcX,(uܼqncLsncM݌1ƨ1ӷnߞ{&1Ƙ.uLX,kXNX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXf5Y,n,R7ucX,bMX,