summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-07-25 10:35:50 +0000
committerPaul Buetow <paul@buetow.org>2008-07-25 10:35:50 +0000
commit871d68979709c3f1b64d3ba05270a46062b4b9e6 (patch)
tree4fbd5120262043870bd9a00c100c76f2dfd0dbe0
parent818364cac31ca4733547ae5c5d173b10fcb8b959 (diff)
foo
-rw-r--r--LaTeX/chapters/appendix-b.tex1
-rw-r--r--LaTeX/chapters/introduction.tex6
-rw-r--r--LaTeX/chapters/simulator.tex270
-rw-r--r--LaTeX/diplomarbeit.pdf3448
-rw-r--r--ROADMAP1
5 files changed, 1945 insertions, 1781 deletions
diff --git a/LaTeX/chapters/appendix-b.tex b/LaTeX/chapters/appendix-b.tex
index dd86e21..59226eb 100644
--- a/LaTeX/chapters/appendix-b.tex
+++ b/LaTeX/chapters/appendix-b.tex
@@ -4,5 +4,6 @@
\acro{GUI}{Graphical User Interface}
\acro{NID}{Nachrichten-Identifikationsnummer}
\acro{PID}{Prozess-Identifikationsnummer}
+\acro{RTT}{Round Trip Time}
\acro{VS}{Verteiltes System}
\end{acronym}
diff --git a/LaTeX/chapters/introduction.tex b/LaTeX/chapters/introduction.tex
index ac9f434..b12e2df 100644
--- a/LaTeX/chapters/introduction.tex
+++ b/LaTeX/chapters/introduction.tex
@@ -40,13 +40,13 @@ Ein verteiltes System wird anhand von Prozessen simuliert. Jeder Prozess nimmt h
\subsubsection{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. Der Inhalt einer Nachricht h\"{a}ngt vom verwendeten Protokoll ab. Was unter einem Protokoll zu verstehen ist, wird sp\"{a}ter behandelt. Um eine Nachricht zu kennzeichnen besitzt jede Nachricht eine \textbf{eindeutige} Nachrichten-Identifikationsnummer (NID).
+In einem verteiltem System 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 ab. Was unter einem Protokoll zu verstehen ist, wird sp\"{a}ter behandelt. Um eine Nachricht zu kennzeichnen besitzt jede Nachricht eine \textbf{eindeutige} Nachrichten-Identifikationsnummer (NID).
\subsubsection{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 global-korrekt ist (nicht der globalen Zeit gleicht), dann wurde die Prozessuhr entweder im Laufe einer Simulation neugesetzt, oder sie geht wegen einer Uhrabweichung falsch. Die Uhrabweichung gibt an, um welchen Faktor die Uhr falsch geht. Wenn eine lokale Uhr nicht neugesetzt wird und auch keine Uhrabweichung hat, dann gleicht ihre Zeit die der globalen Uhr.
+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 global-korrekt ist (nicht der globalen Zeit gleicht), dann wurde die Prozessuhr entweder im Laufe einer Simulation ge\"{a}ndert, oder sie geht wegen einer Uhrabweichung falsch. Die Uhrabweichung gibt an, um welchen Faktor die Uhr falsch geht. Wenn eine lokale Uhr nicht ge\"{a}ndert wird und auch keine Uhrabweichung hat, dann geht sie stets global-korrekt.
Neben diesen ``normalen'' Uhren sind auch die \textbf{Vektor-Zeitstempel} sowie die \textbf{logische Uhr von Lamport} von Interesse. Jeder Prozess besitzt zus\"{a}tzlich einen Vektor-Zeitstempel f\"{u}r die Vektorzeit, sowie einen Lamportzeitstempel f\"{u}r die Lamportzeit. F\"{u}r die Vektor- und Lamportzeiten gibt es hier, im Gegensatz zu der normalen Zeit, keine globalen \"{A}quivalente.
@@ -70,5 +70,5 @@ Eine Simulation besteht auch aus der Anwendung von Protokollen. Es wurde bereits
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 und k\"{o}nnen voneinander erhaltene Nachrichten nicht verarbeiten.
-In der Regel k\"{o}nnen Clients nicht mit Clients und Server nicht mit Server kommunizieren. Je nach verwendetem Protokoll kann dies jedoch variieren. Alle vom Simulator verf\"{u}gbaren Protokolle werden sp\"{a}ter genauer behandelt.
+Clients k\"{o}nnen nicht mit Clients, und Server nicht mit Server kommunizieren. F\"{u}r eine Kommunikation wird stets mindestens ein Client und ein Server ben\"{o}tigt. Dieser Einschr\"{a}nkung kann aber umgangen werden, indem Prozesse ein gegebenes Protokoll sowohl server- als auch clientseitig unters\"{u}tzt (siehe Broadcast-Sturm Protokoll sp\"{a}ter). Alle vom Simulator verf\"{u}gbaren Protokolle werden sp\"{a}ter genauer behandelt.
diff --git a/LaTeX/chapters/simulator.tex b/LaTeX/chapters/simulator.tex
index 65cb659..f931bca 100644
--- a/LaTeX/chapters/simulator.tex
+++ b/LaTeX/chapters/simulator.tex
@@ -225,7 +225,7 @@ In diesem Abschnitt wird auf die m\"{o}glichen Simulationseinstellungen genauer
\subsection{Simulationseinstellungen}
-Beim Erstellen einer neuen Simulation erscheint zun\"{a}chst das dazugeh\"{o}rige Einstellungsfenster (Abbildung \ref{fig:Simulationseinstellungen}). In der Regel reicht es, wenn der Benutzer hier die Standardwerte \"{u}bernimmt. Es besteht auch die M\"{o}glichkeiten nach Erstellen einer Simulation die Einstellungen zu \"{a}ndern, indem der Benutzer das Einstellungsfenster erneuert unter ``Editieren $\rightarrow$ Einstellungen'' aufruft.
+Beim Erstellen einer neuen Simulation erscheint zun\"{a}chst das dazugeh\"{o}rige Einstellungsfenster (Abbildung \ref{fig:Simulationseinstellungen}). In der Regel reicht es, wenn der Benutzer hier die Standardwerte \"{u}bernimmt. Es besteht auch die M\"{o}glichkeiten nach Erstellen einer Simulation die Einstellungen nachtr\"{a}glich zu \"{a}ndern, indem der Benutzer das Einstellungsfenster erneuert unter ``Editieren $\rightarrow$ Einstellungen'' aufruft.
\begin{figure}[htbp]
\centering
@@ -261,12 +261,12 @@ Jeder Prozess besitzt folgende Variablen, die entweder via dem Variablen-Tab in
\item $t := $ Aktuelle Prozesszeit in ms
\item $t' := $ Die neu verstrichene Zeit in ms
\end{itemize}
- Die Neue Zeit berechnet sich durch $t := t + t' * (1 + f)$. Der Faktor 0.0 besagt also, dass die Uhr keine Abweichung hat. F\"{u}r $f$ sind nur Werte $> -1.0$ erlaubt, da sonst die Prozessuhr r\"{u}ckw\"{a}rts laufen k\"{o}nnte. Bei allen anderen Werten wird der Faktor wieder automatisch auf 0.0 gesetzt. Da der Simulator intern mit Fliesskommazahlen doppelter Genauigkeit arbeitet, kann es zu kleinen, jedoch vernachl\"{a}ssigbaren, Rundungsfehlern kommen.
+ Die Neue Zeit berechnet sich durch $t := t + t' (1 + f)$. Der Faktor 0.0 besagt also, dass die Uhr keine Abweichung hat. F\"{u}r $f$ sind nur Werte $> -1.0$ erlaubt, da sonst die Prozessuhr r\"{u}ckw\"{a}rts laufen k\"{o}nnte. Bei allen anderen Werten wird der Faktor wieder automatisch auf 0.0 gesetzt. Da der Simulator intern mit Fliesskommazahlen doppelter Genauigkeit arbeitet, kann es zu kleinen, jedoch vernachl\"{a}ssigbaren, Rundungsfehlern kommen.
\item \textbf{Prozessausfallwahrscheinlichkeit} \textit{(Integer, 0)}: Gibt eine Wahrscheinlichkeit in Prozent an, ob der gegebene Prozess w\"{a}hrend der Simulation zuf\"{a}llig abst\"{u}rzt.
- \item \textbf{Lokale Zeit} \textit{(Long, 0)}: Gibt die aktuelle lokale Prozesszeit in ms an. Es empfiehlt sich daher die Simulation, bevor Prozesseinstellungen vorgenommen werden, zu pausieren.
+ \item \textbf{Lokale Zeit} \textit{(Long, 0)}: Gibt die aktuelle lokale Prozesszeit in Millisekunden an. Es empfiehlt sich daher die Simulation, bevor Prozesseinstellungen vorgenommen werden, zu pausieren.
\item \textbf{Nachrichtenverlustwahrscheinlichkeit} \textit{(Integer, 0)}: Gibt eine Wahrscheinlichkeit in Prozent an, ob eine vom aktuell ausgew\"{a}hlten Prozess verschickte Nachricht unterwegs verloren geht.
- \item \textbf{Maximale \"{U}bertragungszeit} \textit{(Long, 2000)}: Gibt die Dauer in ms an, die eine vom Prozess verschickte Nachricht maximal ben\"{o}tigt, bis sie einen Empf\"{a}ngerprozess erreicht. Der verwendete Wert wird zuf\"{a}llig zwischen (inklusive) der minimalen- und der maximalen Zeit gew\"{a}hlt.
- \item \textbf{Minimale \"{U}bertragungszeit} \textit{(Long, 500)}: Gibt die Dauer in ms an, die eine vom Prozess verschickte Nachricht minimal ben\"{o}tigt, bis sie einen Empf\"{a}ngerprozess erreicht. Der verwendete Wert wird zuf\"{a}llig zwischen (inklusive) der minimalen- und der maximalen Zeit gew\"{a}hlt.
+ \item \textbf{Maximale \"{U}bertragungszeit} \textit{(Long, 2000)}: Gibt die Dauer in Millisekunden an, die eine vom Prozess verschickte Nachricht maximal ben\"{o}tigt, bis sie einen Empf\"{a}ngerprozess erreicht. Der verwendete Wert wird zuf\"{a}llig zwischen (inklusive) der minimalen- und der maximalen Zeit gew\"{a}hlt. Im weiteren Verlauf wird dieser Wert mit $t_{max}$ bezeichnet.
+ \item \textbf{Minimale \"{U}bertragungszeit} \textit{(Long, 500)}: Gibt die Dauer in Millisekunden an, die eine vom Prozess verschickte Nachricht minimal ben\"{o}tigt, bis sie einen Empf\"{a}ngerprozess erreicht. Der verwendete Wert wird zuf\"{a}llig zwischen (inklusive) der minimalen- und der maximalen Zeit gew\"{a}hlt. Im weiteren Verlauf wird dieser Wert mit $t_{min}$ bezeichnet.
\end{itemize}
\begin{figure}[htbp]
@@ -319,15 +319,6 @@ Das Dummy-Protokoll dient lediglich als leeres Template f\"{u}r die Erstellung e
\subsection{Das Ping-Pong Protokoll}
-\begin{figure}[htbp]
- \centering
- \fbox{\includegraphics[width=10cm]{images/ss-protokoll-ping-pong}}
- \caption{Das Ping-Pong Protokoll}
- \label{fig:PingPongProto}
-\end{figure}
-
-Bei dem Ping-Pong Protokoll (Abbildung \ref{fig:PingPongProto}) werden zwischen zwei Prozessen, Client P1 und Server P2, st\"{a}ndig Nachrichten hin- und hergeschickt. Der Ping-Pong Client startet die erste Anfrage, worauf der Server dem Client antwortet. Auf diese Antwort wird vom Client wiederum geantwortet und so weiter. Jeder Nachricht wird ein Z\"{a}hler mitgeschickt, der bei jeder Station um eins inkrementiert- und jeweils im Loggfenster protokolliert wird. In der Simulation werden erst keine Antwortnachrichten mehr verschickt, wenn entweder eine Nachricht verloren geht, oder wenn die Simulationszeit das Ende erreicht hat. In Tabelle \ref{tb:PingPongTasks} sind alle f\"{u}r dieses Beispiel programmierten Ereignisse aufgef\"{u}hrt! Wichtig ist, dass Prozess 1 seinen Ping-Pong Client aktiviert, bevor er eine Ping-Pong Clientanfrage startet! Wenn die Eintrittszeiten f\"{u}r Aktivierung und das Starten der Anfrage identisch sind, so ordnet der Ereigniseditor diese Ereignisse automatisch in der richtigen Reihenfolge an. Anhand diesen Beispiels ist auch erkennbar, dass die noch nicht ausgelieferte Nachrichten noch g\"{u}n eingef\"{a}rbt ist. Alle ausgelieferten Nachrichten tragen schon die Farbe Blau.
-
\begin{table}
\centering
\fbox{
@@ -343,6 +334,16 @@ Bei dem Ping-Pong Protokoll (Abbildung \ref{fig:PingPongProto}) werden zwischen
\label{tb:PingPongTasks}
\end{table}
+
+\begin{figure}[htbp]
+ \centering
+ \fbox{\includegraphics[width=10cm]{images/ss-protokoll-ping-pong}}
+ \caption{Das Ping-Pong Protokoll}
+ \label{fig:PingPongProto}
+\end{figure}
+
+Bei dem Ping-Pong Protokoll (Abbildung \ref{fig:PingPongProto}) werden zwischen zwei Prozessen, Client P1 und Server P2, st\"{a}ndig Nachrichten hin- und hergeschickt. Der Ping-Pong Client startet die erste Anfrage, worauf der Server dem Client antwortet. Auf diese Antwort wird vom Client wiederum geantwortet und so weiter. Jeder Nachricht wird ein Z\"{a}hler mitgeschickt, der bei jeder Station um eins inkrementiert- und jeweils im Loggfenster protokolliert wird. In der Simulation werden erst keine Antwortnachrichten mehr verschickt, wenn entweder eine Nachricht verloren geht, oder wenn die Simulationszeit das Ende erreicht hat. In Tabelle \ref{tb:PingPongTasks} sind alle f\"{u}r dieses Beispiel programmierten Ereignisse aufgef\"{u}hrt! Wichtig ist, dass Prozess 1 seinen Ping-Pong Client aktiviert, bevor er eine Ping-Pong Clientanfrage startet! Wenn die Eintrittszeiten f\"{u}r Aktivierung und das Starten der Anfrage identisch sind, so ordnet der Ereigniseditor diese Ereignisse automatisch in der richtigen Reihenfolge an. Anhand dieses Beispiels ist auch erkennbar, dass die noch nicht ausgelieferte Nachrichten noch g\"{u}n eingef\"{a}rbt ist. Alle ausgelieferten Nachrichten tragen bereits die Farbe Blau.
+
\begin{figure}[htbp]
\centering
\fbox{\includegraphics[width=10cm]{images/ss-protokoll-ping-pong-sturm}}
@@ -407,6 +408,29 @@ Das Broadcast-Sturm Protokoll verh\"{a}lt sich \"{a}hnlich wie das Ping-Pong Pro
\subsection{Das Protokoll zur internen Synchronisierung in einem synchronen System}
+Bisher haben wir uns nur mit Protokollen besch\"{a}ftigt, in denen die beteiligten Prozesse keine Uhrabweichung hatten. Das Protokoll zur internen Synchronisierung ist ein Protokoll zur Synchronisierung der lokalen Prozesszeit, welches beispielsweise angewand weden kann, wenn eine Prozesszeit aufgrund einer Uhrabweichung falsch geht. Wenn der Client seine falsche lokale Zeit $t_c$ mit einem Server synchronisieren m\"{o}chte, so schickt er ihm eine Clientanfrage. Der Server schickt als Antwort seine eigene lokale Prozesszeit $t_s$ zur\"{u}ck, womit der Client seine neue und genauere Prozesszeit berechnen kann. Wie genau die neue Prozesszeit berechnet wird, wird im Folgenden beschrieben.
+
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{c|c|l}
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Ereignis} \\
+ \hline
+ 00000 & 1 & Interne Sync. Client aktivieren \\
+ 00000 & 2 & Interne Sync. Server aktivieren\\
+ 00000 & 1 & Interne Sync. Clientanfrage starten\\
+ 05000 & 1 & Interne Sync. Clientanfrage starten\\
+ 10000 & 1 & Interne Sync. Clientanfrage starten\\
+ \end{tabular}
+ }
+ \caption{Programmierte Ereignisse zur internen Synchronisierung}
+ \label{tb:InterneSyncTasks}
+\end{table}
+
+Hier (Abbildung \ref{fig:TimeSyncProto}) stellt P1 den Client und P2 den Server dar. Da die \"{U}bertragungszeit $t_u$ einer Nachricht angenommen zwischen $t'_{min}$ und $t'_{max}$ liegt, setzt der Client P1 nach Empfang der Serverantwort seine lokale Prozesszeit auf $t_c := t_s + \frac{1}{2} (t'_{min} + t'_{max})$. Somit wurde die lokale Zeit von P1, bis auf einen Fehler $f$ mit $f < \frac{t'_{max} - t'_{min}}{2}$, synchronisiert.
+
+Der Clientprozess hat in der Abbildung \ref{fig:TimeSyncProto} als Uhrabweichung den Wert 0.1 und der Server hat als Uhrabweichung den Wert 0.0 konfiguriert. Der Client startet, wie in Tabelle \ref{tb:InterneSyncTasks} angegeben, nach 0ms, 5000ms und 10000ms seiner lokalen Prozesszeit jeweils eine Clientanfrage. In der Abbildung l\"{a}sst sich erkennen, dass die 2. und die 3. Anfrage nicht synchron zu der globalen Zeit (Sekunden-Gatter) gestartet werden. Dies ist auf die Uhrabweichung von P1 zur\"{u}ckzuf\"{u}hren. Nach Simulationsende ist die Zeit von P1 bis auf $15000ms - 15976ms = -976 ms$ synchronisiert.
+
\begin{figure}[htbp]
\centering
\fbox{\includegraphics[width=10cm]{images/ss-protokoll-time-sync}}
@@ -414,174 +438,58 @@ Das Broadcast-Sturm Protokoll verh\"{a}lt sich \"{a}hnlich wie das Ping-Pong Pro
\label{fig:TimeSyncProto}
\end{figure}
+\subsubsection{Protokollvariablen}
+
+Dieses Protokoll verwendet folgende zwei clientseitige Variablen, die in den Prozesseinstellungen unter dem Punkt ``Interne Sync. Client'' konfiguriert werden k\"{o}nnen. Serverseitig gibt es hier keine Variablen.
+
+\begin{itemize}
+ \item \textbf{Min. \"{U}bertragungszeit} \textit{(Long, 500)}: Gibt den Wert $t'_{min}$ in Millisekunden an
+ \item \textbf{Max. \"{U}bertragungszeit} \textit{(Long, 2000)}: Gibt den Wert $t'_{max}$ in Millisekunden an
+\end{itemize}
+
+$t'_{min}$ und $t'_{max}$ sind die bei den Protokollberechnungen verwendeten Werte. Sie k\"{o}nnen sich allerdings von den tats\"{a}chlichen Nachrichten\"{u}bertragungszeiten $t_{min}$ und $t_{max}$ (siehe Sektion \"{u}ber Prozesseinstellungen) abweichen. Somit lassen sich auch Szenarien simulieren, in denen das Protokoll falsch konfiguriert wurde und die Zeitsynchronisation gr\"{o}ssere Ungenauigkeiten aufweisen kann.
+
\subsection{Christians Methode zur externen Synchronisierung}
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
- lsdkfjds lfjds flsjfsljsd flsdjf sldkfjsdlfkj
-
-
-
-
-\subsection{Berkeley Algorithmus zur internen Synchronisation}
+
+\begin{figure}[htbp]
+ \centering
+ \fbox{\includegraphics[width=10cm]{images/ss-protokoll-time-sync-2}}
+ \caption{Interne Synchronisierung und Christians Methode im Vergleich}
+ \label{fig:TimeSync2Proto}
+\end{figure}
+
+Ein weiteres Protokoll f\"{u}r die Synchronisierung von Uhrzeiten funktioniert nach der Christians Methode zur externen Synchronisierung. Die Christians Methode benutzt die RTT (Round Trip Zeit) $t_{rtt}$, um die \"{U}bertragungszeiten von einzelnen Nachrichten zu approximieren.
+
+Wenn der Client seine lokale Zeit $t_c$ bei einem Server synchronisieren m\"{o}chte, so verschickt er eine Anfrage, und misst dabei die RTT $t_{rtt}$ bis die Serverantwort eintrifft. Die Serverantwort beinhaltet die lokale Prozesszeit vom Server $t_s$ von dem Zeitpunkt, als der Server die Antwort verschickte. Der Client setzt dann seine lokale Zeit neu auf $t_c := t_s + \frac{1}{2} t_{rtt}$, und zwar mit einer Genauigkeit von $\pm(\frac{1}{2} t_{rtt} - u_{min}$) wenn $u_{min}$ eine Schranke f\"{u}r eine Nachrichten\"{u}bertragung mit $t_{rtt} < u_{min}$ ist (siehe Vorlesung Verteilte Systeme an der FH Aachen).
+
+
+Im Prinzip sieht eine Christians-Simulation so aus wie in Abbildung \ref{fig:TimeSyncProto}, daher wird hier auf eine einfache Abbildung vom Christians-Protokoll verzichtet. Viel Interessanter ist der direkte Vergleich zwischen dem Protokoll zur internen Synchronisierung und der Christians Methode der externen Synchronisierung (Abbildung \ref{fig:TimeSync2Proto}). Hier stellt P1 den Client zur internen Synchronisierung und P3 den Client zur externen Synchronisierung dar. P2 fungiert f\"{u}r beide Protokolle gleichzeitig als Server. P1 und P3 starten jeweils zu den lokalen Prozesszeiten 0ms, 5000ms und 10000ms eine Clientanfrage (Tabelle \ref{tb:InterneSync2Tasks}). P1 und P3 haben als Uhrabweichung 0.1 eingestellt und die Simulationsdauer betr\"{a}gt insgesamt 15000ms.
+
+Es ist zu ablesbar, dass P1 seine Zeit bis auf $15000ms - 14567ms = 433ms$ und P3 seine Zeit bis auf $15000ms - 15539ms = -539ms$ synchronisiert hat. In diesem Beispiel hat also das Protokoll zur internen Synchronisierung ein besseres Ergebnis geliefert. Dies ist allerdings nicht zwingend immer der Fall, da nach einer erneuerten Ausf\"{u}hrung alle Nachrichten wieder eine neue zuf\"{a}llige \"{U}bertragungszeit haben werden, die auf das eine oder andere Protokoll schlechte oder gute Auswirkungen haben k\"{o}nnen.
+
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{c|c|l}
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Ereignis} \\
+ \hline
+ 00000 & 1 & Interne Sync. Client aktivieren \\
+ 00000 & 1 & Interne Sync. Clientanfrage starten\\
+ 00000 & 2 & Christians Server aktivieren\\
+ 00000 & 2 & Interne Sync. Server aktivieren\\
+ 00000 & 3 & Christians Client aktivieren \\
+ 00000 & 3 & Christians Clientanfrage starten\\
+ 05000 & 1 & Interne Sync. Clientanfrage starten\\
+ 05000 & 3 & Christians Clientanfrage starten\\
+ 10000 & 1 & Interne Sync. Clientanfrage starten\\
+ 10000 & 3 & Christians Clientanfrage starten\\
+ \end{tabular}
+ }
+ \caption{Programmierte Ereignisse, Vergleich interne und externe Synchronisierung}
+ \label{tb:InterneSync2Tasks}
+\end{table}
+
+\subsection{Berkeley Algorithmus zur internen Synchronisierung}
\subsection{Das Ein-Phasen Commit Protokoll}
diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf
index eebf4db..7dcacfd 100644
--- a/LaTeX/diplomarbeit.pdf
+++ b/LaTeX/diplomarbeit.pdf
@@ -105,7 +105,7 @@ endobj
<< /S /GoTo /D (subsection.2.5.6) >>
endobj
76 0 obj
-(\376\377\0002\000.\0005\000.\0006\000\040\000B\000e\000r\000k\000e\000l\000e\000y\000\040\000A\000l\000g\000o\000r\000i\000t\000h\000m\000u\000s\000\040\000z\000u\000r\000\040\000i\000n\000t\000e\000r\000n\000e\000n\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000s\000a\000t\000i\000o\000n)
+(\376\377\0002\000.\0005\000.\0006\000\040\000B\000e\000r\000k\000e\000l\000e\000y\000\040\000A\000l\000g\000o\000r\000i\000t\000h\000m\000u\000s\000\040\000z\000u\000r\000\040\000i\000n\000t\000e\000r\000n\000e\000n\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000s\000i\000e\000r\000u\000n\000g)
endobj
77 0 obj
<< /S /GoTo /D (subsection.2.5.7) >>
@@ -229,8 +229,9 @@ endobj
/Filter /FlateDecode
>>
stream
-xڍUKs0+tZ[RHJi^nNlL}Wl a2H}|5E~iie1֠f@
-] hBa!ˑXYQb46Qex7љOvnw+r%bnHL0(Qa$g9S1l@%b`#Als8|:v6FfmЧa>*L@R(ц]?vMYhrW
+xڍUR0+Lfj;h S
+t҅I%v{eNE8#"?Xk|3 hg}PXHas4y*%FcaNu$=(#ƻ|2P4.t<^,(s#}ހgDbBA" +%w? NΙBaC- f鷳t65l> Q et/%B6{l*wEj(?my#<*]^:,/Oޅ>2,uq =ZT{rwڮ&/c*W|UA7xnE 53@\.=2ʵ2H" aHF ݧNDZXX,|$,+Y=϶)؀O5܋Gc4;|-ϳ85 *7ϊ1ض",rāh߹nZX
+MrSn`u9oюdZ*$9כ(ѓP
endobj
154 0 obj <<
/Type /Page
@@ -438,22 +439,21 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
176 0 obj <<
-/Length 2214
+/Length 2208
/Filter /FlateDecode
>>
stream
-xKs6<Jx?ufҙxZ̩DeD*M
-HDw
-NR әpΗ{P6u #ffNgC@y=ESXR|21`=eK 7[D$FA*fҳ7vNYֻ}8iZw5"J)X#ɄJ"tj&fLpGv3άMMږ${ƴ>1
-c$e ?[[67ܱ7ܞN2AΙعIKgu^nwCPS8"R(%6h5T-C(c\s41g;gՂ:yXӅdl%DEG >2#<5w{z|<I%aZtf-QY
-
-\8J |!*%Z
-(cx-#)|JLo e7ΰsh6%ilŮc1X}^YQF }=tNRˎGY<;as)bnϤid$Iʜvw킣mx(W|T ,Ab1jv9|9AUJ5c1e4}LB6ܨmS㘲>gIcuL Ն%a"|!K*:Y2}}2E!<lO[RQUiBY.IJsf-P҆P~Hk.2Ji9 |1?C@c
-#(xKY&tV)2a_&D!N\
-J:5$C"w-W˪^vsY̶ )sV)cocf+-34f \v.Ű:ayRf/[JoTweQ{vU`ݚo۷V`7´Ojwa ̸lcYgb;ݏAXnq\Mt7=ؚ%uuw-EU˲_n=Bn >K~F
-dpvFl.>jSĄ k|I Y46q#I{a54|jyuPwnsuɨ;h\3
-)C2_@Q*#@~xONPLP\{\(LF QN \-+GËv[)az唋2Y$g>E#G6*D+gҧ\9? */h Dg@ d?'ѐ=!ͥ=sa)O z;GqTsO#wLqxqeݜ\VqcaSvUrs5UgRs \B6*L0CF)Ew6`*b![)j?4sG@kR0f@gB
-JgBf_z9v(g~avV)Z e|ϳQ4ͥ=lV
+xM6:|9vm&IZ
+&CI)SYtb=g#9hG3-rA̴pAivA-|mPJWИJMZyG+MM.݋og*c,7Dd~(s& ~kߋ劒EQ-*~|qns>˭rJ ր&ErJ_.6?MŦ( c$QpGJ)-]Q6j{"'Z,l>R*$tB&)(G*s%<;h, Ze+iAф`egׇ}bݔ*ʗR9grm
+ ߢ21 f.
+=/ `ix[,Nus8㪛%BW{"IL4cIDΌKAHC~yTo[!ͺeYtۺ['w70TeM2R-PU*%ɸcy<V$X>T>榙;f$
+ҜSRy;? =REST /!` =Hy0ƨ ZˡY<(yk0Gs{U#`XVX[XE<]hX)OQBP*#.<5yZқuT
+OeY+'*p(, }dziWGX*͵[sDJA0) ߖm9`lKFٴ+CUcqX}^[1F}9tRe' N\2핔q[D2o)c=eonQ׫T<U>j ~]!PN`R9ɹc4}La!L!͵7j~[ u{}S·<ɔLڲc!\ePF̒JPs d^We*͛u@ɾJCAN&UJy:
+Pu(7mmj<Z)CYa=L/OY?tbFxB)[zQJ7%8GܜFA^ɚR0wYdy|r]<vf)j4ɡpY(ab[˄/f'@N\
+9u%&&G_"ws<7wYmNnsY. -V) o/cD3Ѕg nk~ u{݀%B8 o}rjʭ*[o?VwCUeo{5 X>{岕qŭSAvXg0sZ`=?X[B3lGp#p8&xRs{]7q5&K$$wuS~8~]4M*Xrs]rU6 7J*v%-P#~5b#f|^I Y46sIwa4|v=P5ns}Ũ`ڠY:5*qa>YE͵yI3
+9n.Eъ(|1y|jAZͺ.;sOtژ+S%W\V)Wgrr\+\[i+o7lO}{SQ]
+0p ׃Y?{+E@=+ k]Y,[4 ,3Jf]W؄;D.ߓ,YQfPx[2KW=_hϽ=^u{lʍ;RPzJ6vS6ĹC" {JpGg0r,?@;137"s{ݬ춨ۮ̛
+g]z _;endstream
endobj
175 0 obj <<
/Type /Page
@@ -592,7 +592,7 @@ endobj
197 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 272.8864 398.7873 285.4156]
+/Rect [115.2084 272.8864 405.6724 285.4156]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.6) >>
>> endobj
@@ -769,20 +769,24 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
226 0 obj <<
-/Length 1972
+/Length 2076
/Filter /FlateDecode
>>
stream
-xݛˎ6y
--/Vh 3hMFN<}I(Q"3fjss( ʠ2AeB}Pv{xgj(2.o7dO@0JQ~ @B](__nnrwuApkrWߞLuKp!!-FP{/
- JXu+lzYyu~~eX Pr֑`.UBT)0F&v1tG񝖞54Cc4,$Y64(`NHwxpu,< @HS O1PNX"s*p',,bTA,2@*ŢGqr]2\h?wIv:onP
-D4
-+S|'
-[<?)/UQ̽iP{CӤYƗEI~\OD\Cr2Ұc$JN֒&Ǥ9=W"+͌b;q0|gB̜*3 ICgtx.@7~5 :
-f4u7Щݨx i_>{tCvES<[Ad2;ђYU*,"`A\)p4 x@r QjED}E \W[{~͝ u&j˦
-#ѬT&.2jv4Rm\'T"KeD?p]ps*2ߙժR>wGFAOK\[]
-LS9[&g%wcͪRvlw1[4;u5?&.fvuDozu̵t67|nNyaey F)N6pNeS Ea?YbAzLŃ k~3eL!
-ɦ,SeB9,sD81XU*vˏ=F$\Ųe@hnw2wE߼[3:SJCJCe*fϧR4s̅˙̑HO3E,1ڗVd(6} ^/s3 jb3G<DHK\|w5?N$<՝u2˟tny- 1gL`U)o` g'\nIeQRSYōU x𥺽;M`.жřX`E8Q":;Z 4XkςZo$%t2(FC9p~r[ަendstream
+xݛ[6)h?M.Z ڇb m>)QDfM63P_s( ʠ2AeB}PxzPe\73׹6&*(HF)3_}@Bݿ(o<<V?˧m(Xz{߻Mp)!:,FPvr^
+r!!dtd
+7עE}qws-NCEnVCѶi!n9CqTbsBtZ~weCTZN*0fK }RbR3PX`Ŕ
+Z2p1bbB*R9Yۊt;TԿA#A
+ $lKu+gԡOg:>uS&`)> HaVkcy:.
+I;7eJŧ:}M8"z( kQ(ܮBT*{Y"uKei-ҍbYOCukʮ}>"95O1?Wf~P!Nq)?LVg`0Q\U
+՝J8UG R6]U65|`@J.ĺ|<^C 1FQ"$ ̶NȋH
+ľ $E@k1bE|[8:B|G3~pu~VyUXQ T9U*v OqJZkBZ2m1p (y
+Nz818}aͩSU7о.b_7 M6<iV(i~ϋX!<͵-,Gݮ# >FdirJ܃ pYv(wc s{I&̩R1cɀ48oy6MA+],uP0NM&x#`t*nd9Db^3-U"f9&O(4]EWDo gZ߼;?f+9)@l3{>T/[~(疨Vu2Q\ʨuTꥁ(jzY*#&J׿㰠[nPT3ZU*~s7hY<e ͵ u1
+4Y谅nvvxn\I 0f٬*m6
+EQNh12u1#zӣ dCdmn!ZSF\U0ioBlT/k^$'Y\d*T<\S-Eݮc
+PH6uNfS(3y2G0ʈYgFJ׎rL<|♄_eyʌ]^NF}/ɒ-;=>;$YyHɪRa)|)E+\hTDzU(bб$P'OEw={P8h!r_ F? ZDYBs-Y:8Tw,bnk笈\
+Kds+;Ց/3W757es-wuLb<<z|<NCuqӍ@|u*e32
+N8 'fhEgyW2{cEߖI ]U Μ̄glZendstream
endobj
225 0 obj <<
/Type /Page
@@ -790,7 +794,7 @@ endobj
/Resources 224 0 R
/MediaBox [0 0 595.2757 841.8898]
/Parent 166 0 R
-/Annots [ 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 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 ]
+/Annots [ 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 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 ]
>> endobj
229 0 obj <<
/Type /Annot
@@ -939,6 +943,13 @@ endobj
/Subtype /Link
/A << /S /GoTo /D (figure.2.18) >>
>> endobj
+250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.9113 225.5383 421.9497 238.0675]
+/Subtype /Link
+/A << /S /GoTo /D (figure.2.19) >>
+>> endobj
227 0 obj <<
/D [225 0 R /XYZ 74.4095 793.4011 null]
>> endobj
@@ -949,70 +960,86 @@ endobj
/Font << /F26 162 0 R /F28 165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-273 0 obj <<
-/Length 722
+275 0 obj <<
+/Length 888
/Filter /FlateDecode
>>
stream
-x͗Mo@=ocf?QJ=TQ˭큀C, _1`(!oe}H&!#^Ӆl/y
-Bq^y7.phA*}X.mAyrz Q-eN.ʋrw
-Q3Jh.S,)(^7~lK<;b?b%U,ZHc5,#4\?0hnc(} 증mU^,iouHa= mU1?$G[ rP۷M>#
-m ޅ@c'VSrM:lUH>< 9,w Lj6@s+,ke aTb>D)YVK%pMQBY{\\ڞ~
+x͘]o0Lmv.jCvAi"A6~N &&v+ZBjcry( b%ҖhT =hPXHapf63fRgU]LSQ]M'oBaC>(`h4LSC]\U*H׻4$y
+UIOL}c \Q
+P KTذ[XPŏ6 0in|t^`4S%7G]H,<͘6ɧ!Ϋ]`R&U>L&]
+fzۋ,`mUX[Bk»c*U,8A8`*Vj/-#(iJxP-%DI0Fe-Ql@T^V-|S31 rE(|Pk%c1G#b;b0E"RQc,Л/͟jdз6w[VEv
+Wm?E$}v#=2—ȭdv%. žZzG,d!,l'J{acMZ3 ׳l͎;|:U%j\:\\qBi/{N2!=['kRjئv{ࢬyYm`ӿ{n6Snr>?bkw
+AJ{Ys" d-D74'.p^L Γys&3~q_(Y^ qY(L8n&hDP +G61dV`iC)qB'0?\endstream
endobj
-272 0 obj <<
+274 0 obj <<
/Type /Page
-/Contents 273 0 R
-/Resources 271 0 R
+/Contents 275 0 R
+/Resources 273 0 R
/MediaBox [0 0 595.2757 841.8898]
/Parent 166 0 R
-/Annots [ 276 0 R 277 0 R 278 0 R 279 0 R 280 0 R ]
+/Annots [ 278 0 R 279 0 R 280 0 R 281 0 R 282 0 R 283 0 R 284 0 R ]
>> endobj
-276 0 obj <<
+278 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
-277 0 obj <<
+279 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
-278 0 obj <<
+280 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
-279 0 obj <<
+281 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
-280 0 obj <<
+282 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
-274 0 obj <<
-/D [272 0 R /XYZ 74.4095 793.4011 null]
+283 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
-275 0 obj <<
-/D [272 0 R /XYZ 74.4095 643.0213 null]
+284 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
-271 0 obj <<
+276 0 obj <<
+/D [274 0 R /XYZ 74.4095 793.4011 null]
+>> endobj
+277 0 obj <<
+/D [274 0 R /XYZ 74.4095 643.0213 null]
+>> endobj
+273 0 obj <<
/Font << /F26 162 0 R /F28 165 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-289 0 obj <<
+295 0 obj <<
/Length 1086
/Filter /FlateDecode
>>
@@ -1020,84 +1047,84 @@ stream
xڭVKo8W(7ޚY9lc%A[,`;CJ"͡d8/~YD"#L*`,4ڂtD*m0#MqάzV(1%BsbVS*ξ+ 76fdNm{EU=V[.>{*5JΡg.5v%1cL+,W˹ĉ49%q,N0\űV@b#FIZ3F"-mB?Vqj KxuSʫܵ:+]0
TA˒uֹI‡hSC&!q U5P|/]/A<lE w,h3Wmezܝ(,s*Rmۨ'?5X$cq8ZR1![12Ykkƪ59v13U^2?J( tѴHnu㪭 LFT/?Vz3XmazlYFBp2,'Ne\Aav?<yc (APծ Ch{ Gܢ+O b)oiqKSph]azN];1(oj ;,Rp֑Kg ہB_[| L<z
endobj
-288 0 obj <<
+294 0 obj <<
/Type /Page
-/Contents 289 0 R
-/Resources 287 0 R
+/Contents 295 0 R
+/Resources 293 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 292 0 R
-/Annots [ 291 0 R ]
+/Parent 298 0 R
+/Annots [ 297 0 R ]
>> endobj
-286 0 obj <<
+292 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 293 0 R
+/PTEX.InfoDict 299 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 294 0 R
->>/Font << /R8 295 0 R >>
+/R7 300 0 R
+>>/Font << /R8 301 0 R >>
>>