diff options
| -rw-r--r-- | LaTeX/chapters/simulator.tex | 52 | ||||
| -rw-r--r-- | LaTeX/diplomarbeit.pdf | 3537 | ||||
| -rw-r--r-- | saved-simulations/ext-vs-int-sync-negative.dat | bin | 25559 -> 0 bytes |
3 files changed, 1930 insertions, 1659 deletions
diff --git a/LaTeX/chapters/simulator.tex b/LaTeX/chapters/simulator.tex index 2158618..a224801 100644 --- a/LaTeX/chapters/simulator.tex +++ b/LaTeX/chapters/simulator.tex @@ -217,7 +217,7 @@ Nachdem ein Prozess eine Anfragenachricht versendet hat, und ein weiterer Prozes \subsubsection{Callback-Ereignisse (nicht-programmierbar)}
-Ein Callback-Ereignis kann von einem Protokoll ausgel\"{o}st werden. Das Protokoll setzt einen Wecker zur welcher lokalen Uhrzeit eine weitere Aktion ausgef\"{u}hrt werden soll. Zum Beispiel lassen sich hiermit Timeouts realisieren, wenn ein Protokoll eine Antwort erwartet, diese aber nicht eintrifft. Nach dem Timeout kann dann eine Anfrage erneuert verschickt werden! Es k\"{o}nnen beliebig viele Callback-Ereignisse definiert werden. Wenn sie noch nicht ausgef\"{u}hrt wurden und aufgrund eines anderen Ereignisses nicht mehr ben\"{o}tigt werden, k\"{o}nnen sie vom Protokoll auch wieder entfernt werden. Wenn ein Callback-Ereignis ausgef\"{u}hrt wird, kann es sich selbst wieder f\"{u}r eine weitere Ausf\"{u}hrung erneuert planen. So lassen sich periodisch wiedereintreffende Ereignisse realisieren. Beispielsweise verwendet das ``Reliable Multicast Protokoll'' Callback-Ereignisse, indem solange Anfragen verschickt werden, bis alle ben\"{o}tigten Antworten vorliegen.
+Ein Callback-Ereignis kann von einem Protokoll ausgel\"{o}st werden. Das Protokoll setzt einen Wecker zur welcher lokalen Uhrzeit eine weitere Aktion ausgef\"{u}hrt werden soll. Zum Beispiel lassen sich hiermit Timeouts realisieren, wenn ein Protokoll eine Antwort erwartet, diese aber nicht eintrifft. Nach dem Timeout kann dann eine Anfrage erneuert verschickt werden! Es k\"{o}nnen beliebig viele Callback-Ereignisse definiert werden. Wenn sie noch nicht ausgef\"{u}hrt wurden und aufgrund eines anderen Ereignisses nicht mehr ben\"{o}tigt werden, k\"{o}nnen sie vom Protokoll auch wieder entfernt werden. Wenn ein Callback-Ereignis ausgef\"{u}hrt wird, kann es sich selbst wieder f\"{u}r eine weitere Ausf\"{u}hrung erneuert planen. So lassen sich periodisch wiedereintreffende Ereignisse realisieren. Beispielsweise verwenden die ``Commit-Protokolle'' (mehr dazu sp\"{a}ter) Callback-Ereignisse, indem solange Anfragen verschickt werden, bis alle ben\"{o}tigten Antworten vorliegen.
\section{Einstellungen}
@@ -583,14 +583,41 @@ Dieses Protokoll verwendet folgende serverseitige Variablen, die in den Prozesse \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}
+\begin{figure}[htbp]
+ \centering
+ \fbox{\includegraphics[width=10cm]{images/ss-protokoll-two-phase-commit}}
+ \caption{Das Zwei-Phasen Commit Protokoll}
+ \label{fig:TwoPhaseCommitProto}
+\end{figure}
+
+
+Das Zwei-Phasen Commit Protokoll ist eine Erweiterung des Ein-Phasen Commit Protokolls. Der Server statet zun\"{a}chst eine Anfrage an alle beteiligten Clients, ob festgeschrieben werden soll. Jeder Client antwortet dann mit true oder false. Der Server fragt so oft periodisch nach, bis ein Ergebnis aller Clients vorliegt. Nach Erhalt aller Abstimmungen \"{u}berpr\"{u}ft der Server, ob alle mit true abgestimmt haben. F\"{u}r den Fall dass mindestens ein Client mit false abgestimmt hat, wird der Festschreibevorgang abgebrochen und als globales Abstimmungsergebnis false verschickt. Wenn alle jedoch mit true abstimmten, soll festgeschrieben werden. Dabei wird das globale Abstimmungsergebnis true verschickt. Das globale Abstimmungsergebnis wird periodisch so oft erneuert verschickt, bis von jedem Client eine Best\"{a}tigung des Erhalts vorliegt.
+
\begin{table}
\centering
\fbox{
\begin{tabular}{c|c|l}
- \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Logg} \\
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Ereignis} \\
+ \hline
+ 0000 & 1 & 2-Phasen Commit Client aktivieren\\
+ 0000 & 2 & 2-Phasen Commit Server aktivieren\\
+ 0000 & 3 & 2-Phasen Commit Client aktivieren\\
+ 0000 & 2 & 2-Phasen Commit Serveranfrage starten
+ \end{tabular}
+ }
+ \caption{Programmierte Zwei-Phasen Commit Ereignisse}
+ \label{tb:TwoPhaseCommitTasks}
+\end{table}
+
+In dem Beispiel (Abbildung \ref{fig:TwoPhaseCommitProto}) sind P1 und P3 Clients und P2 der Server. Der Server verschickt nach 0ms seine initiale Anfrage (Tabelle \ref{tb:TwoPhaseCommitTasks}). Da diese Simulation recht un\"{u}bersichtlich ist, liegen In den Tabellen \ref{tb:TwoPhaseCommitLoggs} und \ref{tb:TwoPhaseCommitLoggs2} Ausz\"{u}ge dem Loggfenster vor. Hier stimmen P1 und P3 jeweils mit true, d.h. es soll festgeschrieben werden, ab. Auf die Lamport- und Vektorzeitstempel sowie die lokalen Prozesszeiten wurde in der Darstellung wegen Irrelevanz verzichtet. Da keine Uhrabweichungen konfiguriert wurden, sind die lokalen Prozesszeiten stets gleich der globalen Zeit. Anhand der Nachrichten IDs lassen sich dort die einzelnen Sendungen zuordnen. In den Loggs wird auch st\"{a}ndig der Inhalt der verschickten Nachricht sowie die dazugeh\"{o}rigen Datentypen aufgef\"{u}hrt.
+
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{c|c|l}
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Loggnachricht} \\
\hline
000000 & & Simulation gestartet\\
\hline
@@ -661,7 +688,7 @@ Dieses Protokoll verwendet folgende serverseitige Variablen, die in den Prozesse & & Integer: pid=1; Boolean: isVote=true; vote=true\\
\end{tabular}
}
- \caption{Auszug aus der Loggausgabe des 2-Phasen Commit Beispiels}
+ \caption{Auszug aus der Loggausgabe des Zwei-Phasen Commit Beispiels}
\label{tb:TwoPhaseCommitLoggs}
\end{table}
@@ -707,10 +734,25 @@ Dieses Protokoll verwendet folgende serverseitige Variablen, die in den Prozesse 010000 & & Simulation beendet
\end{tabular}
}
- \caption{Auszug aus der Loggausgabe des 2-Phasen Commit Beispiels (2)}
+ \caption{Auszug aus der Loggausgabe des Zwei-Phasen Commit Beispiels (2)}
\label{tb:TwoPhaseCommitLoggs2}
\end{table}
+\subsubsection{Protokollvariablen}
+
+Dieses Protokoll verwendet folgende serverseitige Variablen, die in den Prozesseinstellungen unter dem Punkt ``2-Phasen Commit Server'' konfiguriert werden k\"{o}nnen:
+
+\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 \"{u}ber eine Festschreibung abstimmen, und anschliessend gegebenenfalls festschreiben sollen.
+\end{itemize}
+
+Und folgende Clientvariable kann unter den Prozesseinstellungen unter dem Punkt ``2-Phasen Commit Client'' konfiguriert werden:
+
+\begin{itemize}
+ \item \textbf{Festschreibwahrscheinlichkeit} \textit{(Integer, 50)}: Gibt die Wahrscheinlichkeit in Prozent an, die der Client mit true, also f\"{u}r das Festschreiben, abstimmt.
+\end{itemize}
+
\subsection{Der ungen\"{u}gende (Basic) Multicast}
\subsection{Der zuverl\"{a}ssige (Reliable) Multicast}
diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf index 819b036..1029475 100644 --- a/LaTeX/diplomarbeit.pdf +++ b/LaTeX/diplomarbeit.pdf @@ -443,7 +443,7 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 180 0 obj << -/Length 2170 +/Length 2174 /Filter /FlateDecode >> stream @@ -452,8 +452,8 @@ x]۸+ti_7fh C/c0<\ykJMa}m J/먔ʲj'XXNOR,U)W|{ >p8q\}y.1J0TJ6Gf]]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!OPYp%Iu5_=Oeۼ]+=1CN.LzUau0ىK!]7kyGN\#ws:nuyלݦZ@Pr.Гî
o/d2Ѕg nk~
5.J$:O\1ԾQ.ʪ):*p/X?UY?Fy{+XW_>q9n"2]yC|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!%R.afQ59QlA8<U|?FͶ./sotKۘ+AVizUsDqs P2B,ݰK![Lw}:?+k{PnO"-wB'@DHȉdr,`X`xqs)0θ2D9 )?({)#R -\J'9Wf +qXI=db{Wu3ӨAqs-Az 4;rkU*6oP6Oa\,ebSW\z#ĆEpG7r5jv!Wfkߠ\ku{(`B&NzUo0r>!T!͵TȡfQ59QlA8<U|?FͶ./sotKۘ+AVizUsDqs.f)fB.hwQtV/l1Mya*r C/?j_<6"} +endstream endobj 179 0 obj << /Type /Page @@ -654,9 +654,8 @@ endobj >> stream xKs6\Rx\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$M$]D2c-a'=}e\!թ -_6$ӟxU}Ɍ%O<.gybnldtPݗL
Z8f^A@R1>52g,jxp)8ceoYbY!BX(D::yɵY4qyӯ#NU{.lD/Y8\hٳ Tvwׇ錀y%fc/J8e3f4`gDN%L%[96]KY\^_}k1.!K}ЩR(%2<q]0G`<p5GܢCg]PfÇj"8mk;!j/3j,5SlUMS_ +q>P4W"+C2ߚ?ij&sgϓk$yRdhU!_rUPܖM[fszDk$4/w')Ӳwdˬ rht8M*ߤS.6bc4WW}_z8_?(˶<=+J9#E9h)L&C{:p4N:ȗM$]D2c-a'=}e\!թ +_6$ӟxU}Ɍ%O<.gybnldtPݗL
Z8f^A@R1>52g,jxp)8ceoYbY!BX(D::yɵY4qyӯ#NU{.lD/Y8\hٳ Tvwׇ錀y%fc/J8e3f4`gDN%L%[96]KY\^_}k1.!K}ЩR(%2<q]0G`<p5GܢCg]PfÇj"8mk;!j/3j,5SlUMS_ endobj 209 0 obj << /Type /Page @@ -772,16 +771,18 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 231 0 obj << -/Length 2234 +/Length 2298 /Filter /FlateDecode >> stream -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;OqR-kQ_eQK]ut]uUqþcQ"$ LN(03}:gI
#P`1\V88ȉq/&~_f}0UVۖXQ TXɜTw SjdOD37Jpk\'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[`psy_an:禳c6D&S2I17=pntgDv&;1'fOіKJ{DַdYډv3zQI% +xݛ[۸)h?qs٢Ev[>xƊ-D#ӗH%2SmҙAX792LP@bPD_ ?A+d5r@ݼ$|VI(eF?aa$/0"k]Y8n~_ul}Wn{S\lHHv (F,;2w@A#(d@fHTR@`s7zc!7o1mNRեh7K]Xj5{ysztAX4k8bzU*09`Hqd:,FIB;2! +D*,'JEfImRbR3PX`Ŕ +\Je.21X +^֡HTYZletXVӲX]+nTN/SLuTS|znE\ʱ%Ld'.`^S%c#Y-*Tk}u%]xrUb]/hp(B_fKF'JE$~~`߆E"ax Ek1bEl88:B|{~tufUm6XQ T89Uw SjQ%c-p6L[:(JNLΛr_}Pɩ*khߝPM/Mg`h4}Y4EZ,iDõ-o,Gͮ#
:FdirJȜALbce3ݘ)f/ ΄9Ug,Н;{txB5: +f4u:tn2yg9ҽ|::ve1lڍifv.ɘLIfU`ۣ/р<õDebfWE[(+sVls7owკ1'9
9U&*J)'n%*YLd5.Ae:*@JqR,o4Lh W R*Y\*s~Ƌk4-tõX:T`,tB7;<7.e3lVf٢g'22u1#zѣdCd +iWHuNfShQ*5IWif3/y>δV +߮}kx# k.3jv>A}/ɔ-=>+$Y۟yHɪRn)|)E3\8d1P}Ihe}Mbo˵{ACaO#{}Y'{hZi k[f)^f^O__3#r0,ݘ *m}=A4;uõ-?)5:U|s*˜yҺyC|S=>m[PyδV(8Z,Ph`-Xtl +Kds+;ՑW3q͛cwl.n܃Ii__RCUirNb蝛ώUl&TF)gI17=pnõ,a! endobj 230 0 obj << /Type /Page @@ -789,7 +790,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 257 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 258 0 R ] >> endobj 234 0 obj << /Type /Annot @@ -959,6 +960,13 @@ endobj /Subtype /Link /A << /S /GoTo /D (figure.2.21) >> >> endobj +258 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [89.9113 173.9784 290.4401 184.2858] +/Subtype /Link +/A << /S /GoTo /D (figure.2.22) >> +>> endobj 232 0 obj << /D [230 0 R /XYZ 74.4095 793.4011 null] >> endobj @@ -969,114 +977,119 @@ endobj /Font << /F26 166 0 R /F28 169 0 R >> /ProcSet [ /PDF /Text ] >> endobj -284 0 obj << -/Length 1217 +286 0 obj << +/Length 1283 /Filter /FlateDecode >> stream -x͙Ko6:Z@1|7n(Qd\wi"
Ē9pH4Vf -`,[ohVO7Pxsat:OљJ]'jfvv2Ήx^pAu6{}2
ժs)2:)E/˺~y?&<:Ă4b5Đ
mˬ͓a)Tl$80Ak
fN'S%C.Q>t"rm&?V@]ۢ~-C]s.'nr-v{P?zgVm)|RZrbQѾwgKj<VCw.vi9%F)%Văib/!JZMX j0kgDU7 <P<'TV8R+NM4b4G5؎E"%R1b7kYXJW|n*}W9`7}m{-u"Slo -] ܘ{dvX"<ݹD:N[l*b -mYK|ښ?kc)4D~[$ 0JzC,&#,.2t M{a Rf-an7|!J5r2CR -ؖrqk\ŦnhC=[oryzj-guRcӿAk40ax}RDk7=ⱇRŦ8QfnSf-D!ߵo~r;b[p:OnOCB0{Q*`p/NS^bs{'5q`{~ `U[n;(V{[a\;LJDFh c*R m~NdΒ7FVTɑ]CDtګ3̅,\zzV?lf -5棙~3rZ}r4AcPc$sZʳE8ޠygendstream +x͙Yo6)h5cx=nEQ]=D+uǶOߡPE:6Kxf!2,@Zi+f%p: +%-ED.!J>XrݹܙrJR<%Văib!JZMX j0kGDU7 <P<'TV8RNb1:O,&3t<b;b41Y,jKb&boֲ(:6.oݿCSɰn2wSkmQXwEIBf{Tɰ_%&£->;7N{YSS7ki/B[sXd +M/kdV)IcIDzE4ah!EXo&$zY-wD&PTf~j!PUJ+ߪ$W1Wq+1U,e$Dz+u&We걁/z_}SM}CᙟƿJn{sݥ 8QfnSf-D!ߴovŶ\z2u,ܞCBp:LOEz55i`/{~ `U[̮;(օ{Yazp@O?,>UJ0@d̒7EVTY %3h؋3̥,{.YU=Y-6hOvJ +A Tf?@C(:ǭk+)z3t9;ɾ3Uendstream endobj -283 0 obj << +285 0 obj << /Type /Page -/Contents 284 0 R -/Resources 282 0 R +/Contents 286 0 R +/Resources 284 0 R /MediaBox [0 0 595.2757 841.8898] /Parent 170 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 296 0 R 297 0 R ] +/Annots [ 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R ] >> endobj -287 0 obj << +289 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 -288 0 obj << +290 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 -289 0 obj << +291 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 -290 0 obj << +292 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 -291 0 obj << +293 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 -292 0 obj << +294 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 -293 0 obj << +295 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 -294 0 obj << +296 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 -295 0 obj << +297 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 -296 0 obj << +298 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [89.9113 450.6277 421.9173 463.157] +/Rect [89.9113 450.6277 352.6041 463.157] /Subtype /Link /A << /S /GoTo /D (table.2.10) >> >> endobj -297 0 obj << +299 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [89.9113 432.7005 438.4151 445.2298] +/Rect [89.9113 432.7005 438.9102 445.2298] /Subtype /Link /A << /S /GoTo /D (table.2.11) >> >> endobj -285 0 obj << -/D [283 0 R /XYZ 74.4095 793.4011 null] +300 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [89.9113 414.7733 455.4081 427.3025] +/Subtype /Link +/A << /S /GoTo /D (table.2.12) >> >> endobj -286 0 obj << -/D [283 0 R /XYZ 74.4095 643.0213 null] +287 0 obj << +/D [285 0 R /XYZ 74.4095 793.4011 null] >> endobj -282 0 obj << +288 0 obj << +/D [285 0 R /XYZ 74.4095 643.0213 null] +>> endobj +284 0 obj << /Font << /F26 166 0 R /F28 169 0 R >> /ProcSet [ /PDF /Text ] >> endobj -312 0 obj << +316 0 obj << /Length 1086 /Filter /FlateDecode >> @@ -1084,84 +1097,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ֹIhSC&!q U5P|/]/A<lEw,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 -311 0 obj << +315 0 obj << /Type /Page -/Contents 312 0 R -/Resources 310 0 R +/Contents 316 0 R +/Resources 314 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 315 0 R -/Annots [ 314 0 R ] +/Parent 319 0 R +/Annots [ 318 0 R ] >> endobj -309 0 obj << +313 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 316 0 R +/PTEX.InfoDict 320 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 317 0 R ->>/Font << /R8 318 0 R >> +/R7 321 0 R +>>/Font << /R8 322 0 R >> >> -/Length 319 0 R +/Length 323 0 R /Filter /FlateDecode >> stream xVMo1W8N+qҲ Ue`v4A$2Tn^Y8FMlT!Yr)tA,((Py'C,U/8UD
[Iߖ3Ocz\Da4M&Ri֡d*ԒeP^EXf 7MdIɏ F'C9w:
Κ#n;?q7/u~W<c(mZC.!ABz/K|֑]_zu+LyJX` endobj -316 0 obj +320 0 obj << /Producer (GPL Ghostscript 8.61) /CreationDate (D:20080725141001Z00'00') /ModDate (D:20080725141001Z00'00') >> endobj -317 0 obj +321 0 obj << /Type /ExtGState /OPM 1 >> endobj -318 0 obj +322 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -319 0 obj +323 0 obj 714 endobj -314 0 obj << +318 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 -313 0 obj << -/D [311 0 R /XYZ 74.4095 793.4011 null] +317 0 obj << +/D [315 0 R /XYZ 74.4095 793.4011 null] >> endobj 6 0 obj << -/D [311 0 R /XYZ 74.4095 771.7323 null] +/D [315 0 R /XYZ 74.4095 771.7323 null] >> endobj 10 0 obj << -/D [311 0 R /XYZ 74.4095 564.7986 null] +/D [315 0 R /XYZ 74.4095 564.7986 null] >> endobj -258 0 obj << -/D [311 0 R /XYZ 213.3171 155.4996 null] +259 0 obj << +/D [315 0 R /XYZ 213.3171 155.4996 null] >> endobj -310 0 obj << +314 0 obj << /Font << /F26 166 0 R /F28 169 0 R /F61 214 0 R >> -/XObject << /Im2 309 0 R >> +/XObject << /Im2 313 0 R >> /ProcSet [ /PDF /Text ] >> endobj -324 0 obj << +328 0 obj << /Length 1579 /Filter /FlateDecode >> @@ -1175,30 +1188,30 @@ xڭXmo6_23|ovk7`[
XrLD$9ͯ[NlHѐwwSDGDy^Q^( J7gd><;֬)2\o]F_b"pMh%A?[˾?PY zQCLNLAwMmNe!e/o7C[Auz2&JdΔ*A'rK~}ģ@ϼ ;a& 8J=SZʃ~o'0 endobj -323 0 obj << +327 0 obj << /Type /Page -/Contents 324 0 R -/Resources 322 0 R +/Contents 328 0 R +/Resources 326 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 315 0 R -/Annots [ 326 0 R ] +/Parent 319 0 R +/Annots [ 330 0 R ] >> endobj -321 0 obj << +325 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 328 0 R +/PTEX.InfoDict 332 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 329 0 R ->>/Font << /R8 330 0 R >> +/R7 333 0 R +>>/Font << /R8 334 0 R >> >> -/Length 331 0 R +/Length 335 0 R /Filter /FlateDecode >> stream @@ -1206,54 +1219,54 @@ xTn0+xl{p%RE[$F/A,E"N~Ejx0"g槮Ӣ>yTFc5P (C!R;}tI6<o}/[˿w?K\2x
, endobj -328 0 obj +332 0 obj << /Producer (GPL Ghostscript 8.61) /CreationDate (D:20080725141001Z00'00') /ModDate (D:20080725141001Z00'00') >> endobj -329 0 obj +333 0 obj << /Type /ExtGState /OPM 1 >> endobj -330 0 obj +334 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -331 0 obj +335 0 obj 452 endobj -326 0 obj << +330 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 -325 0 obj << -/D [323 0 R /XYZ 74.4095 793.4011 null] +329 0 obj << +/D [327 0 R /XYZ 74.4095 793.4011 null] >> endobj 14 0 obj << -/D [323 0 R /XYZ 74.4095 466.9572 null] +/D [327 0 R /XYZ 74.4095 466.9572 null] >> endobj -327 0 obj << -/D [323 0 R /XYZ 74.4095 298.4934 null] +331 0 obj << +/D [327 0 R /XYZ 74.4095 298.4934 null] >> endobj -259 0 obj << -/D [323 0 R /XYZ 286.2652 155.4996 null] +260 0 obj << +/D [327 0 R /XYZ 286.2652 155.4996 null] >> endobj -322 0 obj << +326 0 obj << /Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >> -/XObject << /Im3 321 0 R >> +/XObject << /Im3 325 0 R >> /ProcSet [ /PDF /Text ] >> endobj -334 0 obj << +338 0 obj << /Length 2032 /Filter /FlateDecode >> @@ -1265,38 +1278,38 @@ Os\Y+a@*BT@dJ<^>2)xd%'I(5Dm`Q] R> P^3qd]Bo@QF,PTW~|p endobj -333 0 obj << +337 0 obj << /Type /Page -/Contents 334 0 R -/Resources 332 0 R +/Contents 338 0 R +/Resources 336 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 315 0 R -/Annots [ 336 0 R ] +/Parent 319 0 R +/Annots [ 340 0 R ] >> endobj -336 0 obj << +340 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 -335 0 obj << -/D [333 0 R /XYZ 74.4095 793.4011 null] +339 0 obj << +/D [337 0 R /XYZ 74.4095 793.4011 null] >> endobj -337 0 obj << -/D [333 0 R /XYZ 74.4095 634.5446 null] +341 0 obj << +/D [337 0 R /XYZ 74.4095 634.5446 null] >> endobj -338 0 obj << -/D [333 0 R /XYZ 74.4095 447.9781 null] +342 0 obj << +/D [337 0 R /XYZ 74.4095 447.9781 null] >> endobj -339 0 obj << -/D [333 0 R /XYZ 74.4095 294.9565 null] +343 0 obj << +/D [337 0 R /XYZ 74.4095 294.9565 null] >> endobj -332 0 obj << +336 0 obj << /Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >> /ProcSet [ /PDF /Text ] >> endobj -343 0 obj << +347 0 obj << /Length 1213 /Filter /FlateDecode >> @@ -1311,29 +1324,29 @@ xڍWKo8W(1ÇGommwQllhfm²XtTd[i ȸx0(tD@ R`E1/~3-kendstream endobj -342 0 obj << +346 0 obj << /Type /Page -/Contents 343 0 R -/Resources 341 0 R +/Contents 347 0 R +/Resources 345 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 315 0 R +/Parent 319 0 R >> endobj -340 0 obj << +344 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 346 0 R +/PTEX.InfoDict 350 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 347 0 R ->>/Font << /R8 348 0 R >> +/R7 351 0 R +>>/Font << /R8 352 0 R >> >> -/Length 349 0 R +/Length 353 0 R /Filter /FlateDecode >> stream @@ -1343,44 +1356,44 @@ xMo0<;l"îkP6AbGJGb:,P/E
'+Oz?}
l YLa- 7pD7[: B|jZ%Tp'endstream endobj -346 0 obj +350 0 obj << /Producer (GPL Ghostscript 8.61) /CreationDate (D:20080725141000Z00'00') /ModDate (D:20080725141000Z00'00') >> endobj -347 0 obj +351 0 obj << /Type /ExtGState /OPM 1 >> endobj -348 0 obj +352 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -349 0 obj +353 0 obj 499 endobj -344 0 obj << -/D [342 0 R /XYZ 74.4095 793.4011 null] +348 0 obj << +/D [346 0 R /XYZ 74.4095 793.4011 null] >> endobj -260 0 obj << -/D [342 0 R /XYZ 278.1207 316.0336 null] +261 0 obj << +/D [346 0 R /XYZ 278.1207 316.0336 null] >> endobj -345 0 obj << -/D [342 0 R /XYZ 74.4095 234.8543 null] +349 0 obj << +/D [346 0 R /XYZ 74.4095 234.8543 null] >> endobj -341 0 obj << +345 0 obj << /Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >> -/XObject << /Im4 340 0 R >> +/XObject << /Im4 344 0 R >> /ProcSet [ /PDF /Text ] >> endobj -352 0 obj << +356 0 obj << /Length 1570 /Filter /FlateDecode >> @@ -1394,32 +1407,32 @@ KF/?4FL5+ ,'EJu?ᨭ`Køz.N=Ja˅7w
nj&3sfrLq ܊H) |_-3" ɞ||?QWzendstream endobj -351 0 obj << +355 0 obj << /Type /Page -/Contents 352 0 R -/Resources 350 0 R +/Contents 356 0 R +/Resources 354 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 315 0 R -/Annots [ 355 0 R ] +/Parent 319 0 R +/Annots [ 359 0 R ] >> endobj -355 0 obj << +359 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 -353 0 obj << -/D [351 0 R /XYZ 74.4095 793.4011 null] +357 0 obj << +/D [355 0 R /XYZ 74.4095 793.4011 null] >> endobj -354 0 obj << -/D [351 0 R /XYZ 74.4095 671.3117 null] +358 0 obj << +/D [355 0 R /XYZ 74.4095 671.3117 null] >> endobj -350 0 obj << +354 0 obj << /Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >> /ProcSet [ /PDF /Text ] >> endobj -359 0 obj << +363 0 obj << /Length 906 /Filter /FlateDecode >> @@ -1430,15 +1443,15 @@ xڭVK6W(hM[bim2w(RZeHჇofHfW"H :VmWW 8}DE$HkD;"sCDO>CZrsb6o`M1wYJs-e(jw+*_X{H|2YKCm\)6z8և̕xWtUM ~E.5
5jDmC,yrO?#xA0E"(Wlcxmٴ878-6o6iۦVjˠP@mZSܟA0Y,
f lfG˽҈u 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 315 0 R -/Annots [ 361 0 R 362 0 R ] +/Parent 319 0 R +/Annots [ 365 0 R 366 0 R ] >> endobj -356 0 obj << +360 0 obj << /Type /XObject /Subtype /Image /Width 380 @@ -1465,38 +1478,38 @@ CKy9?#%VKKlcVjMG |깗D"=))s}SIꌎ$'ƆYkp$
kK"*%9uv>r.vL,ֵ*pRcuK\K;D"=IHm˅[6m<1%HG≱d7kv;7ܾyDz/ܺ~ډ3[4mq5o endobj -361 0 obj << +365 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 -362 0 obj << +366 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 -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 18 0 obj << -/D [358 0 R /XYZ 74.4095 771.7323 null] +/D [362 0 R /XYZ 74.4095 771.7323 null] >> endobj 22 0 obj << -/D [358 0 R /XYZ 74.4095 580.9861 null] +/D [362 0 R /XYZ 74.4095 580.9861 null] >> endobj -261 0 obj << -/D [358 0 R /XYZ 240.2747 218.7511 null] +262 0 obj << +/D [362 0 R /XYZ 240.2747 218.7511 null] >> endobj -357 0 obj << +361 0 obj << /Font << /F26 166 0 R /F28 169 0 R >> -/XObject << /Im5 356 0 R >> +/XObject << /Im5 360 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -367 0 obj << +371 0 obj << /Length 1582 /Filter /FlateDecode >> @@ -1509,15 +1522,15 @@ G͏gi֓*лSPvZ2N|Aȹm-kSuqݠ8%Q$ʁ sӖ]4VPB8E)2Fwv pp}͆sYpk R"+:?dłsl&%3`0#}?L6Mh܃L4Ig:yArtlendstream endobj -366 0 obj << +370 0 obj << /Type /Page -/Contents 367 0 R -/Resources 365 0 R +/Contents 371 0 R +/Resources 369 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 372 0 R -/Annots [ 369 0 R 371 0 R ] +/Parent 376 0 R +/Annots [ 373 0 R 375 0 R ] >> endobj -363 0 obj << +367 0 obj << /Type /XObject /Subtype /Image /Width 500 @@ -1540,35 +1553,35 @@ K>k^ѣզelEHW7 %?'#''El[d[$k\e69T *o{ců S mX/~`vCd endobj -369 0 obj << +373 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 -371 0 obj << +375 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 -368 0 obj << -/D [366 0 R /XYZ 74.4095 793.4011 null] +372 0 obj << +/D [370 0 R /XYZ 74.4095 793.4011 null] >> endobj -262 0 obj << -/D [366 0 R /XYZ 307.3769 457.6694 null] +263 0 obj << +/D [370 0 R /XYZ 307.3769 457.6694 null] >> endobj -370 0 obj << -/D [366 0 R /XYZ 74.4095 385.969 null] +374 0 obj << +/D [370 0 R /XYZ 74.4095 385.969 null] >> endobj -365 0 obj << +369 0 obj << /Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >> -/XObject << /Im6 363 0 R >> +/XObject << /Im6 367 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -376 0 obj << +380 0 obj << /Length 1167 /Filter /FlateDecode >> @@ -1582,15 +1595,15 @@ Mv CO9ngU6*CCeۣve]5:X6oOsDbK8 s;Tl=Z*J_=Nk? endobj -375 0 obj << +379 0 obj << /Type /Page -/Contents 376 0 R -/Resources 374 0 R +/Contents 380 0 R +/Resources 378 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 372 0 R -/Annots [ 379 0 R ] +/Parent 376 0 R +/Annots [ 383 0 R ] >> endobj -364 0 obj << +368 0 obj << /Type /XObject /Subtype /Image /Width 380 @@ -1729,7 +1742,7 @@ HI'-ګDE1N7M\ ٺ`6hv,C(>e
k0"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<95Y%ȇ_>$iJzNi]Gҕ)9(+;+(7/,؋~'.Ȝ`oy`KPqzu>>T<x>zaݖʾۥ=E,mMɭy0SBNfq;lg6/-fP10pm=p`0գȁ@sjB=-j^דGe7Ď|Z|%Ttj0F`L,ȩx*:len)i6Z#Rq`C(N[#x^ܮ]'Ixv]IfK6[Nnq,q8EEE7oLK =ދȞՔqendstream endobj -373 0 obj << +377 0 obj << /Type /XObject /Subtype /Image /Width 180 @@ -1757,31 +1770,31 @@ SȈoD\`tZǓ!:#tcoheX+X ٘Zl7Z%lL-6Z!7,7>L")dcjb,>߰ߞ{و|t9T,t)T(«8 endobj -379 0 obj << +383 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 -377 0 obj << -/D [375 0 R /XYZ 74.4095 793.4011 null] +381 0 obj << +/D [379 0 R /XYZ 74.4095 793.4011 null] >> endobj -263 0 obj << -/D [375 0 R /XYZ 283.8895 473.3831 null] +264 0 obj << +/D [379 0 R /XYZ 283.8895 473.3831 null] >> endobj -378 0 obj << -/D [375 0 R /XYZ 74.4095 351.8797 null] +382 0 obj << |
