From a11b4b6b70d87777aa951814f261cecbf876efee Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 25 Jul 2008 16:31:33 +0000 Subject: two phase commit --- LaTeX/chapters/simulator.tex | 52 +- LaTeX/diplomarbeit.pdf | 3537 +++++++++++++----------- saved-simulations/ext-vs-int-sync-negative.dat | Bin 25559 -> 0 bytes 3 files changed, 1930 insertions(+), 1659 deletions(-) delete mode 100644 saved-simulations/ext-vs-int-sync-negative.dat 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 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 #q9n"2]y C|c0R]a]̝5^ eFx$r7&e݄X&OuA绉weݔ۪?م(79d8<>ڏہ4<|~w!km -qXI= db{Wu3 ӨAqs-Az 4;rkU*6oP6Oa\,ebSW\z#ĆEpG7r5jv!Wfkߠ\ku{(`B&NzUo0r>!T!͹%R.afQ59QlA8!T!͵TȡfQ59QlA8Kg$θم#R[-` 1pڄ2l xF3 g n.fL$i:d:;Tpu0h +endstream endobj 179 0 obj << /Type /Page @@ -654,9 +654,8 @@ endobj >> stream 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$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(%2P4W"+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> 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] PPlq 3o*)LN3 z ^) k*?7.yQ^q.ׇڵoW+CۗW(Ѻq"f9CqtR!% (.(P*@ J&1sII@aSPPN -[^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 5|y>cf2KZ>I?<)uU7.N*埞5C(O`AΣ3E;P`jZ+VOkŢZm~tFs: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;<7.elV*m6poEQN2]#M:/pY^DQ -= 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%MZ],x3QB:NՉYh{STmxu:v4]ߍgarR)!L:9ҢIK#Tא65,AvRH;ce ΜqqzƖXendstream +xݛ[۸)h?qs٢Ev[>xƊ-D#ӗH%2SmҙAX792LP@bPD_ ?A+d5r@ݼ$|V I(eF?aa $/0"k]Y8n~_ul}Wn{S\lHHv (F,;2w@A#(d@fHTR@`s7zc!7o1mNRեh7K]Xj5{ysztAX4k8bzU*09`Hqd:,FIB;2! +D*,'JE fI mRbR3PX`ŔT*uXa՛,7 %?EUMC:̥|AH*.~:Ћh1`0DHcF(#:W|>n1ܜ$0&d;RT)?1bCˠr +\Je.21X)z .JdQ/ox7)rջcww+nq+]o.;>+S]:U*0 PqO Ebg /3n)&*"uNsEt=@XU)W@HƾUw T{|SI]ǧ.$,ŧu|)W\`n,O\YE!|T)t_;]D1@xZ21P +^֡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[:(J­NLΛ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-_vv)J#k})5JgvsܗpTOT,.2 c*d8\U-Eͮc +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!MVbNfޅ-0/[?Ver:Ϛ{ԋ"*,QplA?BȊגF*&Ee,4YޕukoNfգ,VYNŲRLsWRHy;bɌ{k7&endstream 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 \3C$tV׋oqqN laGTggX::Xl9eUWŏWoC'GXTR ?"mx2,%jO2Lptv #\ >{KT9UϹ6rEX[)glG?\6u{s<8ZvE֡o/~^ޭϢ=͍hKY` +%-ED.!J>XrݹܙrJR<%Văib!JZMX j0kGDU7 ;7N {YS S7ki/B[sXd +M/kdV)I cIDzE4ah!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-6hOvJq/Inzix=wTT\dAj(!b%&RYwPJqJ"?ys9\ImPm3?Ð*%DHwl+5ITLGT\^Ƀhˈ0H֨Ϊ㉵> 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ʫܵ:+]0Tf+\*;oY``3rEռY&"[W77Kb8Mu_afHMp^`:D|gXA)6@y!*^"5 ϳ k:fq㽐,N^`SsAO>E8B@@& %nUl]8A3-$tU^;쨧p^-dw&E TA˒uֹI‡hSC&!q U5P|/]/A> 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 xVMo1 W8N+qҲZ$誴vdHEj]ǟo^s~O=K:u۲) rٗX85&G:ۛdKɡ޲::>k%]p#0i$51%, JP[H{6 $K H4OF@|j./R~'Pʎõӓ t{󇛫{O]HfOv*ǴaJ!XlyK-e*E,K4ҵz/>D4 \^B~L"I/) .Q Ûex㿕PxmC$ [?g~/ 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> 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ڭXmo J7gd><;֬)2\o ]F _b"pMh%A?[˾?PY zQCLNLAwMmNe!e/o7C[Auz2&JdΔ*A'rK~}ģ@ϼ ;a& 8J=SZʃ~o'0q-`%/)4%+va#N .Ut+ȐN[ݠT<=U@R0.>6 V$ ,Kt7dH:c<2rJ&JqQ;r>߆)IZ'2c$‡^Ɠo \)Osj,\F $&vkfendstream 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 @@ x (C!R;}tI6?΃ߏbw'> 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 @@ O R> P^3qd]Bo@QF,PTW~|pEP_Ծ9B$HyM2i!`#Sr~g;=+endstream 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ڍWKo ȸx0(tD@ {U/ = ex_ 0C 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 @@ x Y La- 7pD7[:pHp {-q*YA^6@K  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 ,'EJu?ᨭ`Køz.N=Ja˅7w nj&3sfrLq ܊H)Se_Mc>xpTOhy=ӳtԩ@`B)Ww*Q- oŜWJ ߸}uU"_8^x>My8Ǎ"[驸qWN4lX} L/> 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ڭVK :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%^k5Qv1@B6f]ΐ;UP endstream 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 @@ CK |깗D"=))s}SIꌎ$'ƆYkp$ kK"*%9uv>r.vL,ֵ*pRcuK\K;D"=IHm˅[6m<1%HG≱d7kv;7ܾy Dz/ܺ~ډ3[4mq5okS.ck|V>:>u .8<$89spe9sp98p8s9sp8p89s98p8pss9sp8p89s98p8ps9sp98p8Õ89s98p8ps9sp98p8s9sp98p8+8ps9sp98p8s9sp98p89s9sp8pWp8s9sp98p89s9sp8ps9s98p 98p89s9sp8ps1猌ќscsδM\}놴C"H<ݺucrr眺'[''H$ңOƏrBǁ͇NH$ҏ*5՟5'{׮]۷dgH$ҏ*dYkːendstream 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 sӖ]4VPB8E)2Fwv pp}͆sYpk q^[`:^F.@ Uv˺H a-j~!ܹ"S3< _ƎzHH4բ!;"^- 2;ŢB;¡>0Rw+~}a 8`PtF"QO97C˞Wp[J٠!h5B 8_8֏W'C&B.\PnHWӧ"}Qv%X|g*X&:Gs3(tGtj.>ųxl3DFMrhǥG҃+1:Y ڃ${BXZʐf9PmPer(e ,pBXZLHsShí%8co:z|sfLG^ݜpZ"WL.BOa-̞N;G6g'n؊lztzM0tx4ҍv¯!l 0:B7֩klM[r|#Lh"7MgCcsJ 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 *o{ců Su:~dhRmmvmmm mX/~`vC dmGmGA۵mmmmGہ sv@۽Fh;mO[pe]/k;04,uڮ@vX>?vk;W&rdfUFہEAAv@v@v@vvvvvvvv=,o V _rBvgñ {1z=|cyh;'ʣl r Aہm·vm1vmo{ZM4bϜh;h;h;h;h;h;h;ckG@vm@m@v@vm@]m@v@vm@m@vmvm@vm@vmvh;h;h;h;hh;h;h;h;2kendstream 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 @@ M CO9ngU6*CCeۣve]5:X6oOsDbK8RŤSN,P*Wf {MBcŗm8v{:}o3|NM , + 6mP~֫ {?nΚb` s;Tl=Z*J_=Nk ?@xP$Pendstream 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 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׍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 -373 0 obj << +377 0 obj << /Type /XObject /Subtype /Image /Width 180 @@ -1757,31 +1770,31 @@ SȈoD\ ٘Zl7Z%lL-6Z!7,7>L")dcjb,>߰ߞ{و|t9T,t)T(«8 {endstream 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 << +/D [379 0 R /XYZ 74.4095 351.8797 null] >> endobj -264 0 obj << -/D [375 0 R /XYZ 259.0544 232.7884 null] +265 0 obj << +/D [379 0 R /XYZ 259.0544 232.7884 null] >> endobj -374 0 obj << +378 0 obj << /Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R /F33 177 0 R >> -/XObject << /Im7 364 0 R /Im8 373 0 R >> +/XObject << /Im7 368 0 R /Im8 377 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -383 0 obj << +387 0 obj << /Length 1459 /Filter /FlateDecode >> @@ -1796,15 +1809,15 @@ u [wov5/H# TDCZceq`Z89X|swAKz83v Ei5*m[w0vpں; ̌lV&cpF'xRM61J\!>.endstream endobj -382 0 obj << +386 0 obj << /Type /Page -/Contents 383 0 R -/Resources 381 0 R +/Contents 387 0 R +/Resources 385 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 372 0 R -/Annots [ 386 0 R 387 0 R ] +/Parent 376 0 R +/Annots [ 390 0 R 391 0 R ] >> endobj -380 0 obj << +384 0 obj << /Type /XObject /Subtype /Image /Width 586 @@ -1819,35 +1832,35 @@ x 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,nVbXfX,bMX,nbX,u,R7;bMX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXf5Y,n,R7ucX,bMX,nVbXfX,bMX,nbX,u,R7;bMX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXf5Y,n,R7ucX,bMX,nVbXfX,bMX,nbX,u,R7;bMX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXf5Y,n,R7ucX,ݯbXiյ9,nu[vqkwRQv҅bXkcucX,|u[݋bX,U3qvb[~>^S7b=ngnsX,KJZ)~fݬ&b2V|\X,k](X,˵dX,VӺU~vncLs,mf1u1Ƙm#3u3m{&1Ƙ.uLX,kXNX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXf5Y,n,R7ucX,bMX,nVbXfX,bMX,nbX,u,R7;bMX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXf5Y,n,R7ucX,bMX,nVbXfX,bMX,nbX,u,R7;bMX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXf5Y,n,R7ucX,bMX,nVbXfX,bMX,nbX,u,R7;bMX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXf5Y,n,R7ucX,ݯbXiյ9,nu[vqkwRQv҅bXkcucX,|u[݋bX,U3qvb[~>^S7b=ngnsX,KJZ)~fݬ&b2V|\X,k](X,u$b[Glww݌1Ƙ&sU7c1#mwW1ncLhݾҩ1Ƙ~uk6LX,k|NX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KRc5Y,5ᵛ1c1c1c1c1yg&뵙onqZL }I^9g/b[RgzK.in=3"Ǹwiøik_tZzk9{ř;[=ҧ|C;q(Uoq'GkrdBu{\d1޻NV3Xfpw#uBImOu蓄4J1tqUI\=0got9MO&#GĞx\瓫&}M;1?&(X}a___ˡ{֊;\݊X\ӌeB~|*y컑J{ӫnF:v[-rtU ߞ 3> >> endobj -387 0 obj << +391 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [192.1475 153.0904 209.428 165.6196] /Subtype /Link /A << /S /GoTo /D (figure.2.5) >> >> endobj -384 0 obj << -/D [382 0 R /XYZ 74.4095 793.4011 null] +388 0 obj << +/D [386 0 R /XYZ 74.4095 793.4011 null] >> endobj -385 0 obj << -/D [382 0 R /XYZ 74.4095 552.8584 null] +389 0 obj << +/D [386 0 R /XYZ 74.4095 552.8584 null] >> endobj -265 0 obj << -/D [382 0 R /XYZ 204.7328 238.9042 null] +266 0 obj << +/D [386 0 R /XYZ 204.7328 238.9042 null] >> endobj -381 0 obj << +385 0 obj << /Font << /F61 214 0 R /F33 177 0 R /F28 169 0 R /F26 166 0 R >> -/XObject << /Im9 380 0 R >> +/XObject << /Im9 384 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -391 0 obj << +395 0 obj << /Length 1813 /Filter /FlateDecode >> @@ -1861,15 +1874,15 @@ yK KPAu4é46cw M?`"K; B%4WJt\޸$> endobj -388 0 obj << +392 0 obj << /Type /XObject /Subtype /Image /Width 310 @@ -1889,35 +1902,35 @@ B{o M>7pm -!tۖQr06RUpuMΉ!r:9s"oh'tZ0P""Bvjx:KP^xi^ʋ/KP^xi^*P^xi^ʋ/PW/KP^x!/ x/@ oendstream endobj -393 0 obj << +397 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [177.2529 577.212 194.5334 589.7413] /Subtype /Link /A << /S /GoTo /D (figure.2.6) >> >> endobj -395 0 obj << +399 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [449.723 171.0176 467.0035 183.5468] /Subtype /Link /A << /S /GoTo /D (table.2.1) >> >> endobj -392 0 obj << -/D [390 0 R /XYZ 74.4095 793.4011 null] +396 0 obj << +/D [394 0 R /XYZ 74.4095 793.4011 null] >> endobj -266 0 obj << -/D [390 0 R /XYZ 246.5489 376.775 null] +267 0 obj << +/D [394 0 R /XYZ 246.5489 376.775 null] >> endobj -394 0 obj << -/D [390 0 R /XYZ 74.4095 216.7567 null] +398 0 obj << +/D [394 0 R /XYZ 74.4095 216.7567 null] >> endobj -389 0 obj << +393 0 obj << /Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >> -/XObject << /Im10 388 0 R >> +/XObject << /Im10 392 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -399 0 obj << +403 0 obj << /Length 2007 /Filter /FlateDecode >> @@ -1932,15 +1945,15 @@ xڭY[s۶~ ;.N RgmM8(ڦ*zijjp3sDJMj.R3|p 1_a'MZ0((FvEXqʋ%nrx YC™>>s#7lO]C`~֥ gn4tP^9h<ਚ PP`fSvrE}(KQ4[ V[?޲z|]UhdrOvP =k;HٟųWAn DlX3";x rFBC'~d]qy )VY9m}zNaRo9n |!FpCXzG [7endstream endobj -398 0 obj << +402 0 obj << /Type /Page -/Contents 399 0 R -/Resources 397 0 R +/Contents 403 0 R +/Resources 401 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 372 0 R -/Annots [ 402 0 R ] +/Parent 376 0 R +/Annots [ 406 0 R ] >> endobj -396 0 obj << +400 0 obj << /Type /XObject /Subtype /Image /Width 318 @@ -1960,31 +1973,31 @@ x sq2s2Ud0'3_y%S8|Rʱ lL2U*v-o޲l+b~qendstream endobj -402 0 obj << +406 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [73.4132 490.9023 90.6937 503.2995] /Subtype /Link /A << /S /GoTo /D (figure.2.7) >> >> endobj -400 0 obj << -/D [398 0 R /XYZ 74.4095 793.4011 null] +404 0 obj << +/D [402 0 R /XYZ 74.4095 793.4011 null] >> endobj -298 0 obj << -/D [398 0 R /XYZ 188.4765 600.6542 null] +301 0 obj << +/D [402 0 R /XYZ 188.4765 600.6542 null] >> endobj -401 0 obj << -/D [398 0 R /XYZ 74.4095 541.3074 null] +405 0 obj << +/D [402 0 R /XYZ 74.4095 541.3074 null] >> endobj -267 0 obj << -/D [398 0 R /XYZ 244.729 187.2191 null] +268 0 obj << +/D [402 0 R /XYZ 244.729 187.2191 null] >> endobj -397 0 obj << +401 0 obj << /Font << /F61 214 0 R /F26 166 0 R /F28 169 0 R >> -/XObject << /Im11 396 0 R >> +/XObject << /Im11 400 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -407 0 obj << +411 0 obj << /Length 1474 /Filter /FlateDecode >> @@ -1997,15 +2010,15 @@ g R޻P`su nvqT؍j.3^mkDe)~{:ڻZ>v奔RrU!;),e~_l36%wF+Pe62 *,S9T2Y 3 ,S,Z1-c+baz^3ű!m6Rf|C>Sc߃jKj7`|E? m+tD+)v1)^TcĵsZ^TX;Pa"Qv;LhyV0Ij$ۜ) $~}Q W{Qń12ڭd؂_<]L)07O+yr:Xb vp>hw vBFg{P}:t<7P&qIM?b)R&t3.<5J,Mh@N̨; Nr# ,g)eRTƜaFB҇IQnwSUR7'M]*e "LO !tHxflP LO.qS--ګ8< OMP,`GOٖP:,lxPnf*J^t^FFG$}EZf2jg{haadRpup=Yt6v3e;,v5R g}j9NTUފ$3 h} den}T~fu- }B(5t@~Ai|Da䧆gIȂq4gO\4a jvs=ݢ}iX&}!?Yx)OŔi(`#;Q͐pHуގћ sQ?0hhlH跆J<7'P `VMS01ļĥf<_H9}Pr,&Y^gS7y}:'q0Y<=~| 7"ٕK5}MpC]¢[ v|r&\&|2!?_endstream endobj -406 0 obj << +410 0 obj << /Type /Page -/Contents 407 0 R -/Resources 405 0 R +/Contents 411 0 R +/Resources 409 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 372 0 R -/Annots [ 409 0 R 410 0 R 411 0 R ] +/Parent 376 0 R +/Annots [ 413 0 R 414 0 R 415 0 R ] >> endobj -403 0 obj << +407 0 obj << /Type /XObject /Subtype /Image /Width 318 @@ -2033,39 +2046,39 @@ O g}(mvy^[/F !Օ\ VZ?endstream endobj -409 0 obj << +413 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [254.2338 756.3337 271.5143 768.863] /Subtype /Link /A << /S /GoTo /D (figure.2.6) >> >> endobj -410 0 obj << +414 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [217.1735 738.4065 234.454 750.9357] /Subtype /Link /A << /S /GoTo /D (figure.2.8) >> >> endobj -411 0 obj << +415 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [367.5403 720.4793 384.8208 734.9167] /Subtype /Link /A << /S /GoTo /D (figure.2.9) >> >> endobj -408 0 obj << -/D [406 0 R /XYZ 74.4095 793.4011 null] +412 0 obj << +/D [410 0 R /XYZ 74.4095 793.4011 null] >> endobj -268 0 obj << -/D [406 0 R /XYZ 257.1957 349.3808 null] +269 0 obj << +/D [410 0 R /XYZ 257.1957 349.3808 null] >> endobj -405 0 obj << +409 0 obj << /Font << /F61 214 0 R /F28 169 0 R >> -/XObject << /Im12 403 0 R >> +/XObject << /Im12 407 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -415 0 obj << +419 0 obj << /Length 1656 /Filter /FlateDecode >> @@ -2079,15 +2092,15 @@ iX M>dK]SdG(#v(jp%vr>h[J&RW.9ti@v1½q>c'"HMŭ~K,].>$rVv=hꆍrR)an sϷ:p3fs2/yZfU.[9yǭ ',KѾץMBپWc׃ .L?y=%5ϒ@Lv27"{GT䟞endstream endobj -414 0 obj << +418 0 obj << /Type /Page -/Contents 415 0 R -/Resources 413 0 R +/Contents 419 0 R +/Resources 417 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 420 0 R -/Annots [ 418 0 R 419 0 R ] +/Parent 424 0 R +/Annots [ 422 0 R 423 0 R ] >> endobj -404 0 obj << +408 0 obj << /Type /XObject /Subtype /Image /Width 318 @@ -2110,7 +2123,7 @@ A aT7*r~ȍNKv-\U4^mdwEkQ+^Jrز~hZnoƖ>yk0sKgo \P_r~`E/_~`E/?zi0"ԗd00Aw 5Zյ%uZ;kkK,󖩺\ זX+-Su!w%rm22UrW"זX+-Su!w%rm 2UrW"ז䫫_HՅܕܶϒZGluCz썚\˿ܬD^ZϛQ~K\+XFsv)SՌ-{y/a.0AqMYa}ێ-ATylsTn"pqMYy}[ύvN!w򘻔6D*/۰ov9AMYfs3 -{ e/Yq~e[ .Լ"3ڒZiK,|U_r~ojaee\-Z1kpf{/k R.L 0䶽Vf#ڌO^V\_neEſnq+C.ڌ%neECrIW"oV=gD|c[endstream endobj -412 0 obj << +416 0 obj << /Type /XObject /Subtype /Image /Width 576 @@ -2132,38 +2145,38 @@ I 6޲?%O~/ @_/~@ ~ 8~].I$I<׿E] @_/+xӟ$v/ 1{5ַt-U6Ao]*ߣ`)Qnݾۍw2dU29g'5|b+NP} /wQqVCe&Fߞ9W_*~sumw(x~}9VEGqZۛiPK_կk^~XXh?bE+f5xPj uMЯO+kem~}|G08~-*_*l.'R!Z)툫y&5}/k] !v'(/S7?O-o`40~ }#pemGeu-/ /6֯Jendstream endobj -418 0 obj << +422 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.2172 474.7794 229.4977 487.3087] /Subtype /Link /A << /S /GoTo /D (figure.2.3) >> >> endobj -419 0 obj << +423 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [261.2349 456.8522 284.6306 469.3815] /Subtype /Link /A << /S /GoTo /D (figure.2.10) >> >> endobj -416 0 obj << -/D [414 0 R /XYZ 74.4095 793.4011 null] +420 0 obj << +/D [418 0 R /XYZ 74.4095 793.4011 null] >> endobj -269 0 obj << -/D [414 0 R /XYZ 207.6418 561.8289 null] +270 0 obj << +/D [418 0 R /XYZ 207.6418 561.8289 null] >> endobj -417 0 obj << -/D [414 0 R /XYZ 74.4095 501.6603 null] +421 0 obj << +/D [418 0 R /XYZ 74.4095 501.6603 null] >> endobj -270 0 obj << -/D [414 0 R /XYZ 298.6715 274.9687 null] +271 0 obj << +/D [418 0 R /XYZ 298.6715 274.9687 null] >> endobj -413 0 obj << +417 0 obj << /Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >> -/XObject << /Im13 404 0 R /Im14 412 0 R >> +/XObject << /Im13 408 0 R /Im14 416 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -425 0 obj << +429 0 obj << /Length 1236 /Filter /FlateDecode >> @@ -2173,15 +2186,15 @@ S  a{7K R{{C5'Y}0PRq.tpTFIyPo[ֻķRAǭ]~h!:)dmE[o!}>P Ü4*v}Sau-Xv.fVY9޹4خ$TU{V" R&sRM`V)g5|]|£T ^8ɨZ(B甋O?*5;or0֑Òcc) [$֢k∓eyx`cy_ALv`*Yh8@8oV eg0I %B5I 2r3McP.x8EA2!د&a㎌L ZC4gj`g|4G#>ʹԳP'E1K#|-_2Mwfs1)8Y]]"yxms_N./Zz{׽,sleCMn$W8ЊV!9 9Aijڬ_:yuf)6$ ܾ $/lkIA4n-Q4`[gC4A%*ړ%a7veRC cWge"Az~C6= !*+ fPDdsňA5o+QY4-i*Җ5\ֺo绐9ɡbC~*{S5|&h(d@A|{ o@‹C`CA:Wqﱌz!Vt*rT@vr\\M/fĦmU?qw%Y̢6& w% HJv%̂p@zulDq|0(iNI'IʴU&p1Oy;D~_دY ĉq 1z Wcz1 z WctbF(L'BOY>-i㿩*HMZƓ'?FsA$\{y~tk&endstream endobj -424 0 obj << +428 0 obj << /Type /Page -/Contents 425 0 R -/Resources 423 0 R +/Contents 429 0 R +/Resources 427 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 420 0 R -/Annots [ 427 0 R ] +/Parent 424 0 R +/Annots [ 431 0 R ] >> endobj -421 0 obj << +425 0 obj << /Type /XObject /Subtype /Image /Width 380 @@ -2342,28 +2355,28 @@ d };1:3#5c]s&ZsC/[`0eRt'w'M |5s!1W2IOkxbhG&Dy$YPZUoS6GOyՐ_ 8 hϧs]@@Й'!s΍[oFL{<.ӌ?0qygUzѩ2]cr֚\jz`M=:xˆL.1DX/f+s9xXkX_iki(hsv "6nN(mI(|3k@,(I2Skb5g"D|wMp4.?w#!{RM$VkHZ[mc}]__t{\:tO&!-Xu-Mskcߜxρ>Gq-w|WG̹N\ P=d+QHa9o찇;rZc&sqPI0(\oݭ(ﰑwJnEYh^u9K[s6tO̓3\WUkruMĵq#znmnHWYlZ|ecT~xYti.ns2UeWQVgE-9e38 ǃ r*}-SW?^`(RUp8tjk M95> >> endobj -426 0 obj << -/D [424 0 R /XYZ 74.4095 793.4011 null] +430 0 obj << +/D [428 0 R /XYZ 74.4095 793.4011 null] >> endobj 26 0 obj << -/D [424 0 R /XYZ 74.4095 685.9289 null] +/D [428 0 R /XYZ 74.4095 685.9289 null] >> endobj -271 0 obj << -/D [424 0 R /XYZ 257.7073 312.8151 null] +272 0 obj << +/D [428 0 R /XYZ 257.7073 312.8151 null] >> endobj -423 0 obj << +427 0 obj << /Font << /F61 214 0 R /F28 169 0 R /F26 166 0 R >> -/XObject << /Im15 421 0 R >> +/XObject << /Im15 425 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -430 0 obj << +434 0 obj << /Length 1560 /Filter /FlateDecode >> @@ -2376,15 +2389,15 @@ G_$S ˖Ur[kǁnkFw.aN@q"a:a;ݛ^Z)VKW {BqÝcg3ֵ-`4XA^Mňv&6+./8qщett8T1gc%NPMҩA3SvD@)!g'icZ%~K;8C%ۘa,acǧaRxu~X!os1 g|!`u^y+$Q;㧆 CSY߁W sx`aD*, ̓)&JcAN*ZQH{t@vz8v*Vd4<em=i75jzS>q~ jeWo($nahp][s3HyW;rO4NQ993Hwzf~E=/,VZG@i֢s[U![1 _q _ B5 /X;'eE3#BW5'=uԎZ9T!1s/y^7( ~{](jP~#.M'njy=ɴo1._bzendstream endobj -429 0 obj << +433 0 obj << /Type /Page -/Contents 430 0 R -/Resources 428 0 R +/Contents 434 0 R +/Resources 432 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 420 0 R -/Annots [ 432 0 R 433 0 R ] +/Parent 424 0 R +/Annots [ 436 0 R 437 0 R ] >> endobj -422 0 obj << +426 0 obj << /Type /XObject /Subtype /Image /Width 318 @@ -2412,32 +2425,32 @@ r 3S.JܿxkgqV s5TO-JKcU 'ޣׂű*\<(--U)BRԢ8V ~rű*\O-JKcU#H%Qp_=> >> endobj -433 0 obj << +437 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [371.1636 381.8904 394.5594 394.4196] /Subtype /Link /A << /S /GoTo /D (figure.2.12) >> >> endobj -431 0 obj << -/D [429 0 R /XYZ 74.4095 793.4011 null] +435 0 obj << +/D [433 0 R /XYZ 74.4095 793.4011 null] >> endobj -272 0 obj << -/D [429 0 R /XYZ 262.5357 436.0328 null] +273 0 obj << +/D [433 0 R /XYZ 262.5357 436.0328 null] >> endobj -428 0 obj << +432 0 obj << /Font << /F61 214 0 R /F28 169 0 R >> -/XObject << /Im16 422 0 R >> +/XObject << /Im16 426 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -436 0 obj << +440 0 obj << /Length 2103 /Filter /FlateDecode >> @@ -2451,24 +2464,24 @@ B 3)o FE