diff options
| -rw-r--r-- | LaTeX/Makefile | 1 | ||||
| -rw-r--r-- | LaTeX/USED_SOFTWARE.txt | 5 | ||||
| -rw-r--r-- | LaTeX/argouml.zargo | bin | 0 -> 5394 bytes | |||
| -rw-r--r-- | LaTeX/chapters/grundkomponenten.tex | 28 | ||||
| -rw-r--r-- | LaTeX/chapters/titlepage.tex | 8 | ||||
| -rw-r--r-- | LaTeX/diplomarbeit.pdf | 1565 | ||||
| -rw-r--r-- | LaTeX/images/client-server-protokolle.eps | 487 | ||||
| -rw-r--r-- | LaTeX/images/client-server.eps | 151 | ||||
| -rw-r--r-- | LaTeX/images/client-server.zargo | 0 |
9 files changed, 1545 insertions, 700 deletions
diff --git a/LaTeX/Makefile b/LaTeX/Makefile index 435adbd..e86e46c 100644 --- a/LaTeX/Makefile +++ b/LaTeX/Makefile @@ -7,5 +7,6 @@ clean: grep -v .tcp | \ grep -v .tex | \ xargs rm + rm -f images/*.pdf spell: find ./chapters -name \*.tex -exec sh -c 'aspell -l de_DE -t -c {}' \; diff --git a/LaTeX/USED_SOFTWARE.txt b/LaTeX/USED_SOFTWARE.txt index 3c6fb7e..3684e94 100644 --- a/LaTeX/USED_SOFTWARE.txt +++ b/LaTeX/USED_SOFTWARE.txt @@ -3,6 +3,7 @@ eingesetzt! Apache Ant - Als Buildtool fuer den Javacode Apache HTTPD (Hypertext Transfer Protocol Daemon) - Fuer Subversion Server via WebDAV (Web-based Distributed Authoring and Versioning) +ArgoUML - UML Diagramme Dokumentation mittels Javadoc Eclipse, JAutoDoc Plugin, Subversion Plugin Firefox fuer das Betrachten von WebSVN und Javadoc, Internetrecherche @@ -22,7 +23,3 @@ ding - Als Englisch - Deutsch, Deutsch - Englisch Woerterbuch xPDF - Fuer das Betrachten von PDF-Dateien zip - Fuer das Erstellen von VS-Sim. Distributionen zsh - Als FreeBSD Unix Shell - -Noch fehlt: - -Ein gescheites Tool fuer die Erstellung von UML-Diagrammen. diff --git a/LaTeX/argouml.zargo b/LaTeX/argouml.zargo Binary files differnew file mode 100644 index 0000000..5a1310d --- /dev/null +++ b/LaTeX/argouml.zargo diff --git a/LaTeX/chapters/grundkomponenten.tex b/LaTeX/chapters/grundkomponenten.tex index 8ed1b40..821dae3 100644 --- a/LaTeX/chapters/grundkomponenten.tex +++ b/LaTeX/chapters/grundkomponenten.tex @@ -1,29 +1,45 @@ \chapter{Grundbegriffe}
-F\"{u}r das Verst\"{a}ndnis wie die Simulation von verteilten Systemen funktioniert, werden hier einige Grundbegriffe beschrieben.
+F\"{u}r das Verst\"{a}ndnis wie die Simulation von verteilten Systemen funktioniert, werden hier einige Grundbegriffe erl\"{a}utert. Eine Vertiefung findet erst in den nachfolgenden Kapiteln statt.
\section{Client/Server Modell}
-Der Simulator basiert auf dem Client/Server Prinzip. Bei jeder sinnvollen Simulation gibt es mindestens einen teilnehmenden Client und einen Server. Bei komplexen Simulationen k\"{o}nnen auch mehrere Clients und/oder Server mitwirken.
+Der Simulator basiert auf dem Client/Server Prinzip. Bei jeder sinnvollen Simulation gibt es mindestens einen teilnehmenden Client und einen Server, die miteinander \"{u}ber Nachrichten (s.u.) kommunizieren (Abbildung \ref{fig:ClientServer}). Bei komplexen Simulationen k\"{o}nnen auch mehrere Clients und/oder Server mitwirken. In der Regel empfangen Server nur Nachrichten, die von Clients verschickt wurden und virce versa.
+
+\begin{figure}[htbp]
+ \centering
+ \fbox{\includegraphics{images/client-server}}
+ \caption{Client/Server Modell}
+ \label{fig:ClientServer}
+\end{figure}
\section{Prozesse und deren Rollen}
-Ein verteiltes System wird anhand von Prozessen simuliert. Jeder Prozess nimmt hierbei eine oder mehrere Rollen ein. Beispielsweise kann ein Prozess die Rolle eines Clients einnehmen und ein weiterer Prozess die Rolle eines Servers. Ein Prozess kann auch Client und Server gleichzeitig sein. Es ist auch m\"{o}glich, dass ein Prozess die Rollen mehrerer Server und Clients aufeinmal einnimmt. Ob das sinnvoll ist h\"{a}ngt vom Szenario ab. Um einen Prozess eindeutig zu kennzeichnen besitzt jeder Prozess eine eindeutige Prozess-Identifikationsnummer (PID).
+Ein verteiltes System wird anhand von Prozessen simuliert. Jeder Prozess nimmt hierbei eine oder mehrere Rollen ein. Beispielsweise kann ein Prozess die Rolle eines Clients einnehmen und ein weiterer Prozess die Rolle eines Servers. Ein Prozess kann auch Client und Server gleichzeitig sein. Es ist auch m\"{o}glich, dass ein Prozess die Rollen mehrerer Server und Clients aufeinmal einnimmt. Ob das sinnvoll ist h\"{a}ngt vom Szenario ab. Um einen Prozess zu kennzeichnen besitzt jeder Prozess eine \textbf{eindeutige} Prozess-Identifikationsnummer (PID).
\section{Nachrichten}
-Damit das Client/Server Modell angewandt werden kann, m\"{u}ssen Nachrichten verschickt werden k\"{o}nnen. Eine Nachricht kann von einem Client- oder Serverprozess verschickt werden und kann beliebig viele Empf\"{a}nger haben. Um eine Nachricht eindeutig zu kennzeichnen besitzt jede Nachricht eine eindeutige Nachrichten-Identifikationsnummer (NID).
+Damit das Client/Server Modell angewandt werden kann, m\"{u}ssen Nachrichten verschickt werden k\"{o}nnen. Eine Nachricht kann von einem Client- oder Serverprozess verschickt werden und kann beliebig viele Empf\"{a}nger haben. Der Inhalt einer Nachricht h\"{a}ngt vom verwendeten Protokoll (s.u.) ab. Um eine Nachricht zu kennzeichnen besitzt jede Nachricht eine \textbf{eindeutige} Nachrichten-Identifikationsnummer (NID).
\section{Lokale und globale Uhren}
In einer Simulation gibt es \textbf{genau eine} globale Uhr. Sie stellt die aktuelle und \textbf{immer korrekte} Zeit dar. Eine globale Uhr geht nie falsch.
-Zudem besitzt jeder beteiligter Prozess eine eigene lokale Uhr. Sie stellt die aktuelle, jedoch nicht zwangsm\"{a}ig global-korrekte, Zeit des jeweiligen Prozesses dar. Wenn die Prozesszeit nicht korrekt ist (nicht der globalen Zeit gleicht), dann wurde die Prozessuhr entweder im Laufe einer Simulation neugestellt oder sie besitzt eine Uhrabweichung. Eine Uhrabweichung gibt an, um wieviel eine Uhr falsch geht. Wenn eine lokale Uhr nicht neugesetzt wird und auch keine Uhrabweichung hat, dann gibt sie stets die korrekte globale Zeit wieder.
+Zudem besitzt jeder beteiligter Prozess eine eigene lokale Uhr. Sie stellt die aktuelle, jedoch nicht zwangsm\"{a}ig global-korrekte, Zeit des jeweiligen Prozesses dar. Wenn die Prozesszeit nicht korrekt ist (nicht der globalen Zeit gleicht), dann wurde die Prozessuhr entweder im Laufe einer Simulation neugestellt oder sie besitzt eine Uhrabweichung. Eine Uhrabweichung gibt an, um wieviel eine Uhr falsch geht. Wenn eine lokale Uhr nicht neugesetzt wird und auch keine Uhrabweichung hat, dann gibt sie stets die korrekte globale Zeit wieder.
\section{Ereignisse}
-Eine Simulation besteht aus der Hintereinanderausf\"{u}hrung von endlich vielen Ereignissen. Beispielsweise kann es ein Ereignis geben, welches einen Prozess eine Nachricht verschicken- oder selbst abst\"{u}rzen l\"{a}t. Jedes Ereignis tritt zu einem bestimmten Zeitpunkt ein. Wenn es zeitgleiche Ereignisse gibt, so werden sie ebenso hintereinander ausgef\"{u}hrt, behalten aber in der Simulation die selben Ausf\"{u}hrzeiten.
+Eine Simulation besteht aus der Hintereinanderausf\"{u}hrung von endlich vielen Ereignissen. Beispielsweise kann es ein Ereignis geben, welches einen Prozess eine Nachricht verschicken l\"{a}t oder den Prozess selbst abst\"{u}rzen l\"{a}t. Jedes Ereignis tritt zu einem bestimmten Zeitpunkt ein. Wenn es zeitgleiche Ereignisse gibt, so werden sie ebenso hintereinander ausgef\"{u}hrt, behalten aber in der Simulation die selben Ausf\"{u}hrzeiten.
\section{Protokolle}
+\begin{figure}[htbp]
+ \centering
+ \includegraphics{images/client-server-protokolle}
+ \caption{Client/Server Protokolle}
+ \label{fig:ClientServerProtokolle}
+\end{figure}
+
+Eine Simulation besteht aus der Anwendung von Protokollen. Es wurde bereits erw\"{a}hnt, dass ein Prozess die Rollen von Servern und/oder Clients annehmen kann. Bei jeder Server- und Clientrolle muss zus\"{a}tzlich das dazugeh\"{o}rige Protokoll spezifiziert werden. Ein Protokoll definiert, wie ein Client und ein Server Nachrichten verschicken und wie sie bei Ankunft von Nachrichten reagieren. Ein Prozess verarbeitet eine empfangene Nachricht nur, wenn er das jeweilige Protokoll versteht.
+In Abbildung \ref{fig:ClientServerProtokolle} sind 3 Prozesse dargestellt. Prozess 1 unterst\"{u}tzt serverseitig das Protokoll ``A'' und clientseitig das Protokoll ``B''. Prozess 2 unterst\"{u}tzt clientseitig das Protokoll ``A'' und Prozess 3 serverseitig das Protokoll ``B''. D.h., Prozess 1 kann mit Prozess 2 via Protokoll ``A'' und mit Prozess 3 via Protokoll ``B'' kommunizieren. Die Prozesse 2 und 3 sind zueinander inkompatibel.
diff --git a/LaTeX/chapters/titlepage.tex b/LaTeX/chapters/titlepage.tex index 5b1aae7..f707c86 100644 --- a/LaTeX/chapters/titlepage.tex +++ b/LaTeX/chapters/titlepage.tex @@ -64,16 +64,16 @@ %\selectlanguage{german} \vspace*{2cm} -\textbf{\LARGE Danksagung} +\textbf{\LARGE Danksagungen} \vspace*{1.5cm} Ohne die Hilfe bestimmter Personen w\"{a}re die Anfertigung dieser Diplomarbeit viel schwieriger gewesen. Daher m\"{o}chte ich mich bei den Folgenden bedanken: \begin{itemize} - \item Martin Omann f\"{u}r die Betreuung der Diplomarbeit + \item Martin Omann f\"{u}r die Betreuung der Diplomarbeit und der Bereitstellung des f\"{u}r mich sehr interessanten Themas \item Andre Herbst, f\"{u}r das Testen des Simulators; durch seine Hilfe wurden viele M\"{a}ngel und Bugs aufgedeckt - \item Meinen Bruder Florian B\"{u}tow, f\"{u}r Tipps und Tricks rund um Java, f\"{u}r die Bereitstellung eines Buches sowie f\"{u}r das Testen des Simulators - \item Meine Eltern J\"{o}rn und Leslie B\"{u}tow, die mir das Studium erm\"{o}glichten und stets f\"{u}r alle Dinge ein offenes Ohr hatten + \item Meinem Bruder Florian B\"{u}tow, f\"{u}r Tipps und Tricks rund um Java, f\"{u}r die Bereitstellung eines Buches sowie f\"{u}r das Testen des Simulators + \item Meinen Eltern J\"{o}rn und Leslie B\"{u}tow, die mir das Studium erm\"{o}glichten und stets f\"{u}r alle Dinge ein offenes Ohr hatten sowie f\"{u}r das Sponsoring eines weiteren Buches \end{itemize} diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf index 65ae937..ddf8516 100644 --- a/LaTeX/diplomarbeit.pdf +++ b/LaTeX/diplomarbeit.pdf @@ -528,12 +528,15 @@ endobj /ProcSet [ /PDF /Text /ImageC ] >> endobj 245 0 obj << -/Length 847 +/Length 925 /Filter /FlateDecode >> stream -xڅVMo0Wp4R=jUQWjn=@*>6=&6Dy=oƆxXOЀy"A-o빟b2.``!bCo1zr$n" 'zoR`wU]eGp$e[pp}%E0Y;?7iUY6>susde<uDimW0U&^F1jU!Ըh8i5)Yf?* -2_p ;1pm=b&kL+b0\h\,jPR8z,̣Pe/M<`M/ܙ/Um=2Uٿxy;gBvzHB+[_Ɣ 82V>mq`?o澁G/&:1xa^#Rendstream +xڍVQo0~H`؞uTm
X°aCIЩRs>}wz!Q/a3%Yޮ M2&E "VǻHx4B'ld46/r?&iH^ +ߛ{Xz4,MpuDúJKej0zSM֎Zs +IEI4$)~#rzojhvvOp.0pzr=.;(iij9cj5Ay<e4HY&nCf S:E=U
@$>#x
,#8N\~'/aZv-0,&8c<.1d-[5Ys@aY9Jcru$n**{Q$,7Zbo{%WQ7,Θ3]Ϧ`=]}OQfaFk<˫Кno~4R浃`cc:nmCP +f U03FZwwpqiji/݅w[O]_(薵w
RG,(y];ot +kJ>m86*&9^ڌ4<8gLl?,$DW4ASn{o,Qє%:>^Pendstream endobj 244 0 obj << /Type /Page @@ -550,15 +553,16 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 252 0 obj << -/Length 2133 +/Length 2136 /Filter /FlateDecode >> stream xo+x]&
Afd"Ht^͊\j%gj()j7`x滣gv(8LTp!Dq}+ݫg2mF~ -|`x,fFQ<XZLyEh[ϛ\ -t&Q ba$Cy3%IvDӑ{t6wۛ}ސ=,C%>rgEI:tn"i8;<s;;,Yg+c$1G9Oh-.?KU|9p%%Z(aU{e˫}sB˩"5R;+JR?$+4 {xsw}X3ӎ VEd_nUǮ#F"
=r,YQ -s0f'A
NB
{&jл%ZIwM!=>Q-G
vj>ʞ@/m[QkR^3K1\展$ +Q aa;ГAtˌv8rbka1*&z^NUytE+J,5ʗC51<;1,YO͡2oY7k S{jAZa 0 -pKΥ]DN"|]\/⢹c1@_R|V`%`I2Ѕg wGх=~t +|`x,fFQ<XZLyEh[ϛ\ + +#N+z՝VcE}_/.8<F0HC(E̦:fNj±29<ZiGvpg^>&vo +oW?o"?##ΈP-@c*ԇ[KS9;P&g,Y+C +}0+#vJAs_}]'#\%MiE+JTZhzRlN%0O`{fQT0I,ҧ:~R]7TDYU,-" hD\v6s_'YDR4sF<CQ2ݜ]$Qw$~]j}`Va7+E(ъ#ÛMdϩ'$X:t(gȡҒ$FHH|:>o
$I:?4`\Z1U˜'{*
|s挀y^-0}]2Sվ}kT%N =<;>,id+"~2/l
WW7ZWWcבQقL#e9(@?Dg'wG=5\D-E$ڿwmw7
jeUɗHfy譨5)yJ(ɠKeFRd95̰[= /*<Z%TIˡrdG'm7Л=9O O -0ef endobj 251 0 obj << /Type /Page @@ -765,19 +769,18 @@ endobj /Filter /FlateDecode >> stream -x]s۸+x)_7K'MwI;6Plʼn>2@HP qe2g,zs!p +x]s۸+x)_7K'MwI;6Plʼn>2@HP qe2g,zs!p 뗤he__IlrGsOɅ=LJ /P|.=>O4V=rq{wHӪq#"{=Eq:E#aΣHC6ٹgg^֫c~p>\>(Ae#)Έrw>e{s<m*v&W%%L2+/Ts~Fhq)ENJV!IA( o$PF<e4є9& g 4]*?kAySފRC(RE5<a4ؤ@ ´BUXRq-S.GP廜6a;+! (W/@Ց=XT5mt<ַbMzMYYc֊j3K$Î|3&u5,״9\X [e} \PAx)0IrFDHh˅4',9m0L}K7UЎJqt*,?Kƃ7[ΤIisoA.р2Rv6lNkؤ4Jq*,j3(OR̼is3]?!mh MlN[**$GP`PaqX0m0C$e9w"aΜn!c],w#BRպ#X?Ɖ=y6gRZޤ9\yÙ.A;] -jmlAͫ:=Բ&!&!e%7xHk8]\R-nw#:iO~ebaSm]SW3D[8X~Pa9I1~]Y0F<[2E>Z -);Yk/orFބW_=[ìhWavSTݩŞ70mDsag$Fl?˸M#K7CTX66RJX
A(xDh9\yB*L3PjCUj(B)%(GfH/BΘ,~1
a9i2s^5.;.7:]2l.57M%% VQ;临jqu +jmlAͫ:=Բ&!&!e%7xHk8]\R-nw#:iO~ebaSm]SW3D[8X~Pa9Id]Y0F<[2E>Z +);Yk/orFބW_=[ìhWavSTݩŞ70mDsag$Fl?˸M#K7CTX66RJX
A(xDh9\yB*L3PjCUj(B)%(GfH/BΘ,~1
a9i2s^5.;.7:]2l.57M%% VQ;临jqu e=weisyٰáp(JNXZp#U ˥欎 жTX Gw5).oR].qKvƁn:Wn4;o>?^MG7X3"<UX bk1k`b9\Y,rÉ.[C:YbnvǺ)n{[n590 8FEL!*,3R{Nїuq.m/bq%H)DN:X;7Fn<B -j8Lxr-ar4-W`gi̗Kwog.\:&)]vNY%>JNJXHS*,8&t33T_Kf1+N{ypw>opŊ8ƈˤss -Sn2d2evjg>Z5jg><vj? Y>";_HJÎ]{]oq+'-vX -8V>H+j*"N85vtCendstream +j8Lxr-az4-W`gi̗Kwog.\:&)]vNY%>JNJXHS*,8VNz>Fggx*b,WuTN|S?%q;[I fddD˩|);&Vk s}x|Y7aոχ@<}tEv俐8+(Y9*,8=f'-vX +8V>H+j*"N85vCendstream endobj 282 0 obj << /Type /Page @@ -797,7 +800,7 @@ endobj 289 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.4132 740.7273 176.2309 750.6827] +/Rect [73.4132 740.6283 176.2309 750.6827] /Subtype /Link /A << /S /GoTo /D (subsection.3.3.4) >> >> endobj @@ -1012,12 +1015,12 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 321 0 obj << -/Length 201 +/Length 429 /Filter /FlateDecode >> stream -xu=o1!Ej+uΆX2`oN*Ge'TC -)/{HlĎ*,-ĈN0Xj_˱;_60?Ѽj\aY:#3skw$xv`=
1S6X룘FB7SͿ[TYendstream +xT0+|L# @BBBl]$m{Y4a^䢀`RBwW#@4|8s[
UnfYTOTE2PP;շ]Z_Cs]VE)}+VojhƳ#Q,RQЎ@ah0WR +q endobj 320 0 obj << /Type /Page @@ -1025,6 +1028,21 @@ endobj /Resources 319 0 R /MediaBox [0 0 595.2757 841.8898] /Parent 242 0 R +/Annots [ 324 0 R 325 0 R ] +>> endobj +324 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [89.9113 614.1946 216.2652 624.5021] +/Subtype /Link +/A << /S /GoTo /D (figure.2.1) >> +>> endobj +325 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [89.9113 596.2674 232.5541 606.5749] +/Subtype /Link +/A << /S /GoTo /D (figure.2.2) >> >> endobj 322 0 obj << /D [320 0 R /XYZ 74.4095 793.4011 null] @@ -1036,7 +1054,7 @@ endobj /Font << /F26 238 0 R /F28 241 0 R >> /ProcSet [ /PDF /Text ] >> endobj -326 0 obj << +330 0 obj << /Length 204 /Filter /FlateDecode >> @@ -1044,170 +1062,329 @@ stream xun1{ !gEJ٪-I 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 242 0 R >> 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 -328 0 obj << -/D [325 0 R /XYZ 74.4095 643.0213 null] +332 0 obj << +/D [329 0 R /XYZ 74.4095 643.0213 null] >> endobj -324 0 obj << +328 0 obj << /Font << /F26 238 0 R /F28 241 0 R >> /ProcSet [ /PDF /Text ] >> endobj -331 0 obj << +335 0 obj << /Length 409 /Filter /FlateDecode >> stream xڅOk0)tH3s*BC.i!ufJ>8;.cӼߓDu ILHN"~f/+:j=3fl7:,W&Pa^uѮ>]Yolڿ#:s[]sucCmDem\wlGq"z)9:3\pnNE;=ldJbf!Fޗn(~ԂUX.oKw~/`KXF?Hw&M $|&s<Vu%~/GLUH4Wbx"IHnY`}<mkm?h[Ozc$UFwA[qF~.t1S+g(lbvCSc{kendstream endobj -330 0 obj << +334 0 obj << /Type /Page -/Contents 331 0 R -/Resources 329 0 R +/Contents 335 0 R +/Resources 333 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 334 0 R -/Annots [ 333 0 R ] +/Parent 338 0 R +/Annots [ 337 0 R ] >> endobj -333 0 obj << +337 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [76.4707 458.7688 104.2989 468.8233] /Subtype /Link /A << /S /GoTo /D (cite.wilcox) >> >> endobj -332 0 obj << -/D [330 0 R /XYZ 74.4095 793.4011 null] +336 0 obj << +/D [334 0 R /XYZ 74.4095 793.4011 null] >> endobj 6 0 obj << -/D [330 0 R /XYZ 74.4095 771.7323 null] +/D [334 0 R /XYZ 74.4095 771.7323 null] >> endobj 10 0 obj << -/D [330 0 R /XYZ 74.4095 575.3733 null] +/D [334 0 R /XYZ 74.4095 575.3733 null] >> endobj 14 0 obj << -/D [330 0 R /XYZ 74.4095 529.5154 null] +/D [334 0 R /XYZ 74.4095 529.5154 null] >> endobj -329 0 obj << +333 0 obj << /Font << /F26 238 0 R /F28 241 0 R >> /ProcSet [ /PDF /Text ] >> endobj -338 0 obj << -/Length 1081 +343 0 obj << +/Length 1108 /Filter /FlateDecode >> stream -xڅVMs6WHD0>qMxNZ2a 1 yD*n볋IAaA1B3+3+*0w}!"Fi0]V<D( gRa9ˋ-'7vEI6w
. -δP2@w{߬zgAWˑ@ -l*DYUId9UUY4 -( -_TwpʚGCfK ;o ,2Tv:$om=MK@<kQl=#Fp Pϡ,&6dAλZ_Ca2*-1XaheM+[ץb1|QI°RZ!M8K&|a8>?Iml۾IY0;@ -&ˢ ->#wpZxHd4CC%5Xtd#mwe\m[ :*ұ@:=V`0(Ko7&(AGff8{QyD#x/GL ߐnO{m^AXgGhRqN9 -҃ -uJFQJGT0KyAmʥ6 - - -8}h]7-;n'eɸΏb j`rӍsynfUendstream +xڭVMs6WHD0 4ticO/qKIȑ:ͯ.ҔDهvtbxxe~,+$ԪƲU3>XHTb^@0D- +fR!=P
|JQd7/xarN_o>API[ݜ!hf VF!$ǨHdkM1f\xVr$9˫r ۷BPG7}umsHK[C +U<Lc/o Ts-Ut?9Xm+8dSK[9H ,!2I=#*ۭ<Ұf1^4!Ig,$`ʼnԋKtUvx+|zʼnz:a-DpV`TQ'82&13uyQOHDX٭gs<t7\.<<tɥ{G19R8M;WBm?v +d$(,4Q[`DW:F5Vzpt`OM-=`$5KztvM3g]ɜ{jɦ~Qp[X9I댞@Py8φ> +Hs_Ja9BqJOuendstream endobj -337 0 obj << +342 0 obj << /Type /Page -/Contents 338 0 R -/Resources 336 0 R +/Contents 343 0 R +/Resources 341 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 334 0 R +/Parent 338 0 R +/Annots [ 345 0 R ] >> endobj -339 0 obj << -/D [337 0 R /XYZ 74.4095 793.4011 null] +340 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 346 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 347 0 R +>>/Font << /R8 348 0 R >> +>> +/Length 349 0 R +/Filter /FlateDecode +>> +stream +xTn0+xl{p%RE[$F/A,E"N~Ejx0"g槮Ӣ>yTFc5Px,4/?l8-4{I$&uAGсq4dtq@TR'a:̵e <TUV%;Rb{qu ܃2Ů˴1cxʄwK}ՙlz#U&&}¬bToYJZn 9 +(C!R;}tI6<o}/[˿w?K\2x
, + +endobj +346 0 obj +<< +/Producer (GPL Ghostscript 8.61) +/CreationDate (D:20080621212011+02'00') +/ModDate (D:20080621212011+02'00') +>> +endobj +347 0 obj +<< +/Type /ExtGState +/OPM 1 +>> +endobj +348 0 obj +<< +/BaseFont /Helvetica +/Type /Font +/Subtype /Type1 +>> +endobj +349 0 obj +452 +endobj +345 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [238.447 335.3154 255.7275 347.8447] +/Subtype /Link +/A << /S /GoTo /D (figure.2.1) >> +>> endobj +344 0 obj << +/D [342 0 R /XYZ 74.4095 793.4011 null] >> endobj 18 0 obj << -/D [337 0 R /XYZ 74.4095 771.7323 null] +/D [342 0 R /XYZ 74.4095 771.7323 null] >> endobj 22 0 obj << -/D [337 0 R /XYZ 74.4095 483.9552 null] +/D [342 0 R /XYZ 74.4095 469.1255 null] >> endobj -26 0 obj << -/D [337 0 R /XYZ 74.4095 335.059 null] +326 0 obj << +/D [342 0 R /XYZ 286.2652 157.2095 null] >> endobj -336 0 obj << +341 0 obj << /Font << /F26 238 0 R /F28 241 0 R >> +/XObject << /Im2 340 0 R >> /ProcSet [ /PDF /Text ] >> endobj -342 0 obj << -/Length 1545 +352 0 obj << +/Length 1682 /Filter /FlateDecode >> stream -xڍXo8_GH4Kxvp]UNjX#EQZ'`(d1E$."+$/Wwӗ;ٵ^on_#ȳBȜ"'_C3vY \8u5Wh<h/e^N&(<Můٛ$)KT-ւ422)+.bz5J,2aL:O>[5yj}A/H9yI&py[aNDUeOmBL/ƽn[KS륈%<@i*]4fw2K@v}u+cxUij6itM;8i({!
ħ iNwD= -@=v66Hh0fVN& <DG]!@i -<
ۭ8vh6<qC6o4Qn(sVZ{űؗCs4ЍN*-|84Q, 8Ūĉlr@q3qNcT+V@YZ667KsQlmHin6$OHڄZ!I0M9cg&A%)O)pTqļMCo+bQF`;`qe% cNY+2XyJU9 -)>jq{)-T#*v7e!2ݴM=x -Z{
nɣ:HMQ)pj28|'P:\#;)3[U`E?.I -U'7Y }[xEG?vYϹ6\f(Mo ekO HV~XV{c%i:::吂1`i#
B7zu<jtx`ʍ{n4@$5x_ϊѶ/=%q; -7B8qA(:c@B=>ufttL1AsA[rXRcM2B -\7(@!`ѬM{Ѐ1P|9acI4KBm0Q)An1q]\([Mh"ZZѤ3ڝ:&|PF8=liJ\ϡՒ\Dn7X<.ut-
â>hjcIg\
y4 -'OvIfyf-#ywe;x}0wsyԸzRY v0S{]!W)a
,KeGHS'*UŜ5#0ŋs,NK(@WӜC='sendstream +xڍX_o6ĬHJ5+u]eX%9ͧ$ˎyx<QD" +xf2
U&m`+Yv/=3,Kat*tɃֻl9_(JqB^/f.Àan0!VHDQ(NlH0n$=ᕑh
^d&cTWCLcwJޓ/\֒kؚȿwe oc1#)26`PfBfz(4"+;"?V$5Qy]zttW܅lufq_^ ُvM3>F{ +8c/P[WCLRΫJ-+9aA"k-[,'4|b5IYCY햷O,LmQǒUoT4ud2H|#eдs]}F-T_:z_nU~
rUr"@ລ_vGw"I)m)1@'Fw`rAMNƧCK3J$,=ᏫDVSA-,CʒY {EW$T[vlr}+ҷdS{ݢm9ALm];)'ՒP
c7 +pWd?ET7kHC;IUq*I"8r~8ɋ:0b +i!y|Who8|~G3 +=NWv^(^E*ls0REO=W l2. +
Bٺ/:@HnfI~cǝGccߘTÔ688Gb_o|SQIM!n{{K7(j= }Fg٘QACՌeIBxşXДb:~Ȼjj¤$:۵,z%*@Y-rf endobj -341 0 obj << +351 0 obj << /Type /Page -/Contents 342 0 R -/Resources 340 0 R +/Contents 352 0 R +/Resources 350 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 334 0 R +/Parent 338 0 R >> endobj -343 0 obj << -/D [341 0 R /XYZ 74.4095 793.4011 null] +353 0 obj << +/D [351 0 R /XYZ 74.4095 793.4011 null] +>> endobj +26 0 obj << +/D [351 0 R /XYZ 74.4095 771.7323 null] >> endobj 30 0 obj << -/D [341 0 R /XYZ 74.4095 771.7323 null] +/D [351 0 R /XYZ 74.4095 570.8045 null] >> endobj 34 0 obj << -/D [341 0 R /XYZ 74.4095 645.0347 null] +/D [351 0 R /XYZ 74.4095 374.9231 null] +>> endobj +350 0 obj << +/Font << /F61 287 0 R /F26 238 0 R /F28 241 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +357 0 obj << +/Length 1113 +/Filter /FlateDecode +>> +stream +xڍVo6~_Gaz[w
vlCVG_(;N㶇5>pIW:)+j;tx>~;ପL'R\,]gl.KJ5}6:=ziי)}xjn?nn +ZrfB</X2Kȍ'*+̇d͌2R+VAIc$7{ƂI,FVs;8T!m6WZ_xhyÅLIynSe鋳&oiq
ylc0\1ek +?y +zO%(vsDΞWoUny|tdPD^FO5TI.(H)dUu.]SE3G +K2՛d.!g}w%twbM+9W*3I&,KF@1j4ir%/bäE4(7µ.LTAt*8\&zz:@鏂>Eon<V]/BE& +Ջam7w( YGg% }Gwǹ<:-)N]p|e"ڢC?8n)ԡTPR +endobj +356 0 obj << +/Type /Page +/Contents 357 0 R +/Resources 355 0 R +/MediaBox [0 0 595.2757 841.8898] +/Parent 338 0 R +>> endobj +354 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 359 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 360 0 R +>>/Font << /R8 361 0 R >> +>> +/Length 362 0 R +/Filter /FlateDecode +>> +stream +xMo0<;l"îkP6AbGJGb:,P/E
'+Oz?}
l +К-5!Q%"DGzCtΠIəY.0q$R!/AJه7iYza'
dĀ7~ +HU-j\Cmos@8a9rA*Z\id4(%>ih2eC4{y]Te\{}\t^2)W/b5̯@zŨ8#G7 +8 )| +YLa- 7pD7[: +B|jZ%Tp'endstream +endobj +359 0 obj +<< +/Producer (GPL Ghostscript 8.61) +/CreationDate (D:20080621212011+02'00') +/ModDate (D:20080621212011+02'00') +>> +endobj +360 0 obj +<< +/Type /ExtGState +/OPM 1 +>> +endobj +361 0 obj +<< +/BaseFont /Helvetica +/Type /Font +/Subtype /Type1 +>> +endobj +362 0 obj +499 +endobj +358 0 obj << +/D [356 0 R /XYZ 74.4095 793.4011 null] >> endobj 38 0 obj << -/D [341 0 R /XYZ 74.4095 419.3848 null] +/D [356 0 R /XYZ 74.4095 771.7323 null] >> endobj 42 0 obj << -/D [341 0 R /XYZ 74.4095 256.9612 null] +/D [356 0 R /XYZ 74.4095 628.326 null] >> endobj -340 0 obj << +327 0 obj << +/D [356 0 R /XYZ 278.1207 239.5758 null] +>> endobj +355 0 obj << /Font << /F61 287 0 R /F26 238 0 R /F28 241 0 R >> +/XObject << /Im3 354 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +365 0 obj << +/Length 671 +/Filter /FlateDecode +>> +stream +xڍUn0+tCcA[( +ߒdL )RT=40`˝YΒ"D2,y$$ !f|HBlէ9FR"Zm# +dFe]UU[$)ELQr6I Z:!8k&*zu(pQc|%aZ %BЎrl6;<nUYk*:uph_N +Uk[P(Y_:KS+o3Xo3.ɱM8右(cB[NO@J~E7V^`l_ v(GcK@YlkTGSU"?$QUQ[GHaO:tFerNj"`bXYzd/.07qh3V1쟘zi-+}k˩ TKٴ(e76)ܥs<4Z;}j)=.˭˂Q5`>nQ
."K$q碌YW?ǝ0\:9pyPA4)w1%$Fæ) sGJw \N3Ƅp c]#:{4wѧ}s;8B=@) +endobj +364 0 obj << +/Type /Page +/Contents 365 0 R +/Resources 363 0 R +/MediaBox [0 0 595.2757 841.8898] +/Parent 338 0 R +/Annots [ 367 0 R ] +>> endobj +367 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.0253 713.2563 154.3058 725.5326] +/Subtype /Link +/A << /S /GoTo /D (figure.2.2) >> +>> endobj +366 0 obj << +/D [364 0 R /XYZ 74.4095 793.4011 null] +>> endobj +363 0 obj << +/Font << /F61 287 0 R /F28 241 0 R >> /ProcSet [ /PDF /Text ] >> endobj -346 0 obj << +370 0 obj << /Length 137 /Filter /FlateDecode >> stream xm -1@~EF6MUP8):УK{1tA!oнW"x;%:"ҴgYS]VBqKfH#G[⌭Iˆi{tsB73endstream +1@~EF4MUP8):УK{14E^3^jg#l"V{YtOvGRiw&Hg"6
:0\B7o3endstream endobj -345 0 obj << +369 0 obj << /Type /Page -/Contents 346 0 R -/Resources 344 0 R +/Contents 370 0 R +/Resources 368 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 334 0 R +/Parent 338 0 R >> endobj -347 0 obj << -/D [345 0 R /XYZ 74.4095 793.4011 null] +371 0 obj << +/D [369 0 R /XYZ 74.4095 793.4011 null] >> endobj 46 0 obj << -/D [345 0 R /XYZ 74.4095 771.7323 null] +/D [369 0 R /XYZ 74.4095 771.7323 null] >> endobj -344 0 obj << +368 0 obj << /Font << /F28 241 0 R >> /ProcSet [ /PDF /Text ] >> endobj -350 0 obj << -/Length 1762 +374 0 obj << +/Length 1761 /Filter /FlateDecode >> stream @@ -1221,162 +1398,162 @@ Q)+eE"i3L Pa֧ kr|Y
}'}n2>eD'oxVyar{;Tr u$ßCVL%RUځT#lr|CvgQbqbIabK*jc%k Ą8¦Kafk
|W0YxC-bi|0+mъC(1"554 ;2`~ vQ5 VI!ӂǦ AGFL`jT7toFxS -< )v<z:\ԆƢomw +< )v<z:\Ԇѷ;wDendstream endobj -349 0 obj << +373 0 obj << /Type /Page -/Contents 350 0 R -/Resources 348 0 R +/Contents 374 0 R +/Resources 372 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 334 0 R +/Parent 384 0 R >> endobj -351 0 obj << -/D [349 0 R /XYZ 74.4095 793.4011 null] +375 0 obj << +/D [373 0 R /XYZ 74.4095 793.4011 null] >> endobj 50 0 obj << -/D [349 0 R /XYZ 74.4095 664.4702 null] +/D [373 0 R /XYZ 74.4095 664.4702 null] >> endobj 54 0 obj << -/D [349 0 R /XYZ 74.4095 613.8236 null] +/D [373 0 R /XYZ 74.4095 613.8236 null] >> endobj 58 0 obj << -/D [349 0 R /XYZ 74.4095 578.8312 null] +/D [373 0 R /XYZ 74.4095 578.8312 null] >> endobj -352 0 obj << -/D [349 0 R /XYZ 74.4095 506.9742 null] +376 0 obj << +/D [373 0 R /XYZ 74.4095 506.9742 null] >> endobj -353 0 obj << -/D [349 0 R /XYZ 74.4095 473.1956 null] +377 0 obj << +/D [373 0 R /XYZ 74.4095 473.1956 null] >> endobj -354 0 obj << -/D [349 0 R /XYZ 74.4095 439.417 null] +378 0 obj << +/D [373 0 R /XYZ 74.4095 439.417 null] >> endobj 62 0 obj << -/D [349 0 R /XYZ 74.4095 439.417 null] +/D [373 0 R /XYZ 74.4095 439.417 null] >> endobj -355 0 obj << -/D [349 0 R /XYZ 74.4095 365.2229 null] +379 0 obj << +/D [373 0 R /XYZ 74.4095 365.2229 null] >> endobj -356 0 obj << -/D [349 0 R /XYZ 74.4095 333.7539 null] +380 0 obj << +/D [373 0 R /XYZ 74.4095 333.7539 null] >> endobj 66 0 obj << -/D [349 0 R /XYZ 74.4095 333.7539 null] +/D [373 0 R /XYZ 74.4095 333.7539 null] >> endobj 70 0 obj << -/D [349 0 R /XYZ 74.4095 292.849 null] +/D [373 0 R /XYZ 74.4095 292.849 null] >> endobj -357 0 obj << -/D [349 0 R /XYZ 74.4095 221.6243 null] +381 0 obj << +/D [373 0 R /XYZ 74.4095 221.6243 null] >> endobj -358 0 obj << -/D [349 0 R /XYZ 74.4095 187.6753 null] +382 0 obj << +/D [373 0 R /XYZ 74.4095 187.6753 null] >> endobj -359 0 obj << -/D [349 0 R /XYZ 74.4095 153.8967 null] +383 0 obj << +/D [373 0 R /XYZ 74.4095 153.8967 null] >> endobj 74 0 obj << -/D [349 0 R /XYZ 74.4095 153.8967 null] +/D [373 0 R /XYZ 74.4095 153.8967 null] >> endobj 78 0 obj << -/D [349 0 R /XYZ 74.4095 105.1668 null] +/D [373 0 R /XYZ 74.4095 105.1668 null] >> endobj 82 0 obj << -/D [349 0 R /XYZ 74.4095 70.4199 null] +/D [373 0 R /XYZ 74.4095 70.4199 null] >> endobj 86 0 obj << -/D [349 0 R /XYZ 74.4095 29.5424 null] +/D [373 0 R /XYZ 74.4095 29.5424 null] >> endobj 90 0 obj << -/D [349 0 R /XYZ 74.4095 -8.5635 null] +/D [373 0 R /XYZ 74.4095 -8.5635 null] >> endobj 94 0 obj << -/D [349 0 R /XYZ 74.4095 -46.6694 null] +/D [373 0 R /XYZ 74.4095 -46.6694 null] >> endobj 98 0 obj << -/D [349 0 R /XYZ 74.4095 -91.5839 null] +/D [373 0 R /XYZ 74.4095 -91.5839 null] >> endobj 102 0 obj << -/D [349 0 R /XYZ 74.4095 -132.2239 null] +/D [373 0 R /XYZ 74.4095 -132.2239 null] >> endobj 106 0 obj << -/D [349 0 R /XYZ 74.4095 -170.5343 null] +/D [373 0 R /XYZ 74.4095 -170.5343 null] >> endobj 110 0 obj << -/D [349 0 R /XYZ 74.4095 -205.8685 null] +/D [373 0 R /XYZ 74.4095 -205.8685 null] >> endobj 114 0 obj << -/D [349 0 R /XYZ 74.4095 -268.796 null] +/D [373 0 R /XYZ 74.4095 -268.796 null] >> endobj 118 0 obj << -/D [349 0 R /XYZ 74.4095 -307.1064 null] +/D [373 0 R /XYZ 74.4095 -307.1064 null] >> endobj 122 0 obj << -/D [349 0 R /XYZ 74.4095 -345.2122 null] +/D [373 0 R /XYZ 74.4095 -345.2122 null] >> endobj 126 0 obj << -/D [349 0 R /XYZ 74.4095 -380.5465 null] +/D [373 0 R /XYZ 74.4095 -380.5465 null] >> endobj 130 0 obj << -/D [349 0 R /XYZ 74.4095 -418.6523 null] +/D [373 0 R /XYZ 74.4095 -418.6523 null] >> endobj 134 0 obj << -/D [349 0 R /XYZ 74.4095 -459.5298 null] +/D [373 0 R /XYZ 74.4095 -459.5298 null] >> endobj 138 0 obj << -/D [349 0 R /XYZ 74.4095 -497.6357 null] +/D [373 0 R /XYZ 74.4095 -497.6357 null] >> endobj 142 0 obj << -/D [349 0 R /XYZ 74.4095 -542.5502 null] +/D [373 0 R /XYZ 74.4095 -542.5502 null] >> endobj 146 0 obj << -/D [349 0 R /XYZ 74.4095 -580.6231 null] +/D [373 0 R /XYZ 74.4095 -580.6231 null] >> endobj 150 0 obj << -/D [349 0 R /XYZ 74.4095 -621.5006 null] +/D [373 0 R /XYZ 74.4095 -621.5006 null] >> endobj 154 0 obj << -/D [349 0 R /XYZ 74.4095 -659.402 null] +/D [373 0 R /XYZ 74.4095 -659.402 null] >> endobj 158 0 obj << -/D [349 0 R /XYZ 74.4095 -707.847 null] +/D [373 0 R /XYZ 74.4095 -707.847 null] >> endobj 162 0 obj << -/D [349 0 R /XYZ 74.4095 -745.3655 null] +/D [373 0 R /XYZ 74.4095 -745.3655 null] >> endobj 166 0 obj << -/D [349 0 R /XYZ 74.4095 -783.4714 null] +/D [373 0 R /XYZ 74.4095 -783.4714 null] >> endobj -348 0 obj << +372 0 obj << /Font << /F61 287 0 R /F26 238 0 R /F28 241 0 R >> /ProcSet [ /PDF /Text ] >> endobj -362 0 obj << +387 0 obj << /Length 137 /Filter /FlateDecode >> stream xm -1@~EF4MUP8):УK{14E^3^jg#l"V{YtOvGRiw&Hg"6
:0\B7o3endstream +1@~EF6MUP8):УK{1tA!oнW"x;%:"ҴgYS]VBqKfH#G[⌭Iˆe{tsB73endstream endobj -361 0 obj << +3 |
