summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-06-21 19:24:00 +0000
committerPaul Buetow <paul@buetow.org>2008-06-21 19:24:00 +0000
commitd5ede080605b7215f5551f29797c304945feec83 (patch)
treec43e6ea87c2ca8b53a212781dfb2122f76bddebd
parentd32b16ddb13f402573c53822d02d6e43f105fe71 (diff)
ok
-rw-r--r--LaTeX/Makefile1
-rw-r--r--LaTeX/USED_SOFTWARE.txt5
-rw-r--r--LaTeX/argouml.zargobin0 -> 5394 bytes
-rw-r--r--LaTeX/chapters/grundkomponenten.tex28
-rw-r--r--LaTeX/chapters/titlepage.tex8
-rw-r--r--LaTeX/diplomarbeit.pdf1565
-rw-r--r--LaTeX/images/client-server-protokolle.eps487
-rw-r--r--LaTeX/images/client-server.eps151
-rw-r--r--LaTeX/images/client-server.zargo0
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
new file mode 100644
index 0000000..5a1310d
--- /dev/null
+++ b/LaTeX/argouml.zargo
Binary files differ
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<uDimW0 U&^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/a 3%Y ޮ M2&E "VǻHx4 B'ld46/r?&iH^
+ ߛ{Xz4 ,MpuDúJKej0zSM֎Zs
+IEI4$)~#rzoj hvvOp.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)y޿J(ɠK eFRd9 5̰[= /*<Z%TIˡrd G'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!I A( o$PF<e4є9& g 4]*?kAySފRC(RE5<a4ؤ@ ´BUXRq-S.GP廜6a ;+! (W/@Ց=XT5m t<ַbMzMYYc֊j3K$Î|3&u5,״9 \X [e}
\PAx)0IrFDHh˅4',9m0L}K7UЎJqt *,?Kƃ7[ΤIisoA.р2Rv6lNkؤ4Jq *,j3(OR̼is3]?!m h
MlN[**$GP`PaqX0m0C$e9w"aΜn!c],w#BRպ#X?Ɖ=y6gRZޤ9 \yÙ.A;]
-j mlAͫ:=Բ&!&!e%7xHk܏8]\R-nw#:iO~ebaSm]SW3D[8X~Pa9I1~]Y0F<[2E>Z
-);Yk/orFބW_=[ìhWavSTݩŞ70mDsag$Fl?˸M#K7CTX66 RJX A(xDh9\yB*L3 PjCUj(B)%(GfH/BΘ,~1 a9i 2s^5.;.7:]2l.57M%% VQ;临jqu
+j mlAͫ:=Բ&!&!e%7xHk܏8]\R-nw#:iO~ebaSm]SW3D[8X~Pa9Id]Y0F<[2E>Z
+);Yk/orFބW_=[ìhWavSTݩŞ70mDsag$Fl?˸M#K7CTX66 RJX A(xDh9\yB*L3 PjCUj(B)%(GfH/BΘ,~1 a9i 2s^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
-Sn2 d2evjg>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`œ= 1 S6X룘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هvtbxx e~,+$Ԫ ƲU3>XHTb^@0D-
+fR!=P |JQd7՗/xarN_o>AP I[ݜ!hf VF!$ǨHdkM1f\xVr$9˫r ۷BPG7}umsH׭K[C
+ U<Lc/o Ts-Ut?9Xm+8 dSK[†9H ,!2I=#*ۭ<Ұf1^4!Ig,$`ʼnԋKtUvx+|zʼnz:a-DpV`TQ'82&13uyQOHD X٭gs<t7\.<<tɥ{G19R8M;WBm?v
+d$(,4Q[`DW:F5Vzpt`OM-=`$5KztvM3g]ɜ{jɦ~Qp[X9I댞@Py8φ>
+Hs_J a9BqJOuendstream
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槮Ӣ>yTFc5P԰x,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$."+$/W񢆽wӗ;ٵ^on_# ȳBȜ"'_C3vY \8u5Wh<h/e^N&(<Můٛ$)KT-ւ422)+.bz5J,2aL:O>[5yj}A/H9yI& py[aNDUeOmBL/ƽn[KS륈%<@i*]4fw2K@v}u +cxUij6 itM;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?v YϹ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+V AIc$7{޵ƂI,FVŒs;8T!m6WZ_xhy–ÅLIynSe鋳&oiq ylc0\1ek
+?y
+zO%(vsDΞWoUny|tdPD^FO5TI.(H)dUu.]SE3G
+K2՛d.!g}w%twbM+9W*3I&,KF@1j4ir%/bäE4(7µ.LTAt*8\&zz:@鏂>Eon<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\Cm o s@8a9rA*Z\id4(%>ih2eC4{y]Te\{}\t^2)W/b5̯@zŨ8#G7 +8 )|
+Y La- 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Ўr l6; <nUYk*:uph_N 
+Uk[P(Y_:KS+o3Xo3.ɱM8右(cB[N O@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]#:{4޹wѧ}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>e D'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