Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik IV Prof. Dr. rer. nat. Otto Spaniol Leistungsbewertung von TCP mit Hilfe von Mehrzustands-Markov-Ketten Seminar: Datenkommunikation und verteilte Systeme Wintersemester 2002/2003 Christoph Grigutsch Matrikelnummer: 201997 Betreuung: Andre Schüppen Lehrstuhl für Informatik IV, RWTH Aachen Inhaltsverzeichnis 1 2 Einleitung 3 1.1 Motivation zur Untersuchung von AIMD mit MSMCs . . . . . . . . . . . . . . . . . 3 1.2 Leistungsbewertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Begriffe 6 2.1 Überlastbehandlung bei TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Stochastische Prozesse, Markov-Prozesse und Ketten . . . . . . . . . . . . . . . . . 8 2.2.1 Punktprozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.2 Poisson-Prozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.3 Markov-Prozesse, Markov-Ketten . . . . . . . . . . . . . . . . . . . . . . . 10 Laplace-Stieltjes-Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 3 Das allgemeine Modell zur Leistungsbewertung von AIMD 13 4 Leistungsbewertung des allgemeinen Modells 15 5 Spezialfälle des allgemeinen Modells 22 5.1 Das Basis-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.2 Zusammengefasste Verlustmomente . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.3 Das Zwei-Zustands-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6 Zusammenfassung 34 6.1 35 Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Zusammenfassung In diesem Vortrag wird die Leistungsbewertung eines AIMD (additive increasing multiplicative decreasing)-Kontrollflussmechanismus mit Hilfe von Markov-Ketten vorgestellt. Dies ist besonders interessant, da diese Strategie u.a. von Netzwerkprotokollen wie TCP/IP benutzt wird. Bei einem AIMD-Kontrollflussmechanismus wird mit Auftreten einer Überlast die Übertragungsrate um einen konstanten Faktor gesenkt. Nach der Überlast wird die Übertragungsrate linear, d.h. um einen festen Betrag pro Zeiteinheit, bis zu einem Maximum gesteigert. Ziel dieser Arbeit ist es Modelle zu finden, die nur wenige einfach zu ermittelnde Parameter benötigen und dennoch das Verhalten des Netzwerkes möglichst genau approximieren. Das hier vorgeschlagene Modell basiert dabei auf Markov-Ketten mit mehreren Zuständen. Dies wird hervorgehoben, da AIMD-Modelle in früheren Arbeiten der Autoren lediglich Markov-Ketten mit maximal 2 Zuständen benutzten. Diese Mehrzustands-Markov-Kette (MSMC) ändert ihren Zustand zu den Zeitpunkten, zu denen eine Überlast erkannt wird. Dabei bestimmt der dann aktuelle Zustand der Markov-Kette den Reduktionsfaktor der Übertragungsrate. Im Folgenden wird zunächst das AIMD-Modell in allgemeiner Form vorgestellt und einer Leistungsbewertung, d.h. der analytischen Berechnung interessanter Größen, wie z.B. der durchschnittlichen Übertragungsrate aus vorgegebenen Parametern unterzogen. Danach werden aus diesem allgemeinen Modell drei spezielle Versionen entwickelt. Diese unterscheiden sich in der Zahl der Zustände und der benötigten Parameter. Außerdem wird gezeigt, wie man die Parameter der einzelnen Modelle aus realen TCP -Traces identifizieren kann. Dabei werden diese drei Versionen mit einem sog. Exact Fluid Model (EFM), das das reale Netzwerkverhalten etwas idealisiert nachbildet, verglichen und bewertet. 1 Einleitung Leistungsbewertung von Netzwerken mit Hilfe stochastischer Methoden ist ein wichtiger Ansatz zur Analyse der Leistungsfähigkeit von Netzwerkprotokollen. Dabei verfolgt man unterschiedliche Ziele, die auch miteinander in Konflikt stehen. Zunächst möchte man natürlich, dass das entwickelte Modell die Realität, d.h. die Netzwerkprotokolle unter realen Bedingungen, möglichst genau approximiert. Auf der anderen Seite möchte man Modelle entwickeln, die leicht zu berechnen sind und möglichst wenige Parameter erfordern. Die so entwickelten Modelle können dann zur Bewertung der untersuchten Netzwerkprotokolle eingesetzt werden. Dazu ermittelt man die Parameter aus realen Netzwerkaufzeichnungen oder berechnet die Parameter a priori aus dem verwendeten Protokoll. In der folgenden Arbeit wird nun verschiedene Modell entwickelt und dessen Genauigkeit durch Vergleiche mit realen Netzwerkaufzeichnungen ermittelt. 1.1 Motivation zur Untersuchung von AIMD mit MSMCs Überlastbehandlung ist eine wesentliche Aufgabe von Netzwerkprotokollen. Würde man bei einer Überlast nicht mit einer Verringerung der Datenübertragungsrate zwischen den einzelnen Stationen 3 reagieren, käme es zu einer dauerhaften Verstopfung und es wäre überhaupt kein Datenverkehr mehr möglich. Da TCP ein sehr verbreitetes verbindungsorientiertes Protokoll ist, ist eine Leistungsbewertung hier besonders interessant. TCP hat in [6] festgelegte Strategien um auf Überlastungssituationen angemessen zu reagieren. Eine dieser Strategien wird abstrakt als AIMD oder ausgeschrieben additiv erhöhende multiplikativ verringernde bzw. additive increase multiplicative decrease Strategie bezeichnet. Diese Art der Flusskontrolle wird nicht nur von TCP , sondern auch von einer Reihe anderer Protokolle verwendet. Die Modelle in diesem Vortrag werden zwar am Beispiel von TCP entwickelt, es wird jedoch erwartet, dass diese Ergebnisse auf andere Protokolle mit anderen Kontrollflussmechanismen übertragbar sind. Zu AIMD gibt es zwei wichtige Parameter, die im Folgenden mit a und α bezeichnet werden. Dabei bezeichnet a den Faktor, um den die Übertragungsrate bei Auftreten einer Überlast verringert wird. α ist die (konstante) Rate des linearen Anstieges der Übertragungsrate, nachdem die Überlast überwunden ist. Im Fall von TCP wird der Durchsatz über die Größe eines sog. Überlastfensters (congestion window) gesteuert. Die Übertragungsrate des Netzwerkes lässt sich dabei einfach berechnen indem man die Fenstergröße durch die Paketumlaufzeit (Round-Trip-Time RTT) teilt. Eine wichtige Frage stellt in diesem Zusammenhang die Erkennung einer Überlastsituation dar. Im Gegensatz zu anderen Protokollen gibt es bei TCP keine expliziten Meldungen, die eine Überlast signalisieren. (z.B. hat ABR, einem Signalisierungs-Protokoll von ATM, explizite Nachrichten, die eine Überlastsituation melden). Im Falle von TCP wird u.a. ein Paketverlust, d.h. ein ausbleibendes ACK nach einem TIMEOUT oder mindestens 3 identische ACK-Pakete als Überlastmeldung gewertet. Es gibt bei TCP also nur implizite Überlastmeldungen. 1.2 Leistungsbewertung Bei der Leistungsbewertung von Netzwerken versucht man ein geeignetes Modell zu konstruieren, das anhand möglichst weniger Parameter die Performance des Netzwerkes bzw. dessen Protokolle voraussagen bzw. approximieren kann. Die benötigten Parameter werden aus Aufzeichnungen realer Netzwerkverbindungen ermittelt und die damit vom Modell vorhergesagte Leistung mit der der echten Verbindung verglichen. Der Zeitpunkt, zu dem die Quelle ihre Übertragungsrate verringert, wird im Folgenden Verlustzeitpunkt oder Verlustmoment genannt. Mit dem Auftreten eines solchen Verlustzeitpunkts wird die Übertragungsrate um einen Faktor a ∈ [0, 1] verringert. Dieser Faktor hängt bei TCP von vielen Parametern, u.a. der Version, der Anzahl der Paketverluste in der Überlastphase und der Art des Paketverlustes (mehrfach identisches ACK, TIMEOUT) ab. Wählt man zu bestimmten Zeitpunkten a = 1, kann man damit potenzielle Verlustzeitpunkte einführen. Denn a = 1 bedeutet nichts anderes, als dass die Übertragungsrate trotz Auftreten eines Verlustzeitpunktes nicht reduziert wird. Als ersten Schritt der Leistungsbewertung müssen die Zeitpunkte charakterisiert werden, zu denen die Übertragungsrate verringert wird. Diese Zeitpunkte werden hier als Punktprozess modelliert, bei dem ein Punkt des Punktprozesses dem Auftauchen eines Überlastsignals bzw. Kontextverlustes bei TCP entspricht. 4 Oft werden solche Leistungsbewertungen mit einfachen Modellen, wie z.B. Poisson- bzw. iid-Modellen durchgeführt. Das bedeutet Abhängigkeiten der Verlustmomente untereinander nicht zu berücksichtigen, sondern als unabhängig voneinander zu betrachten. Messungen bei echten Netzwerken haben jedoch gezeigt, dass Verlustzeitpunkte keineswegs unabhängig voneinander, sondern meistens gehäuft auftreten, wie man dies in Abb.1 recht gut erkennen kann. Abbildung 1: Veränderung der TCP-Fenster durch Überlastsituationen Normalerweise wird bei TCP das Übertragungsfenster halbiert, sobald eine Überlast erkannt wird. Im obigen Bild erkennt man jedoch oftmals eine viel stärkere Reduktion, was durch mehrere direkt aufeinander folgende Halbierungen des Übertragungsfensters zu erklären ist. Um dies zu berücksichtigen gibt es mehrere Wege. Einer wäre die Korrelationen der Verlustzeitpunkte explizit aus den Netzwerkaufzeichnungen zu ermitteln und in ein relativ einfaches Modell als Parameter einfließen zu lassen. Diese Arbeit beschäftigt sich jedoch speziell damit Modelle zu entwickeln, die Korrelation und Häufung der Verlustzeitpunkte von sich aus berücksichtigen und dadurch die Anzahl der nötigen Parameter für eine Modellierung möglichst gering halten. In einer früheren Arbeit [2] präsentierten die Autoren zur Modellierung von AIMD ein 2-ZustandsMarkov-Modell. In der hier behandelten Arbeit wird ein verlustbehafteter Pfad nicht nur mit je einem Good− und Bad− Zustand, sondern auch mit mehreren potenziellen Verlustzuständen betrachtet. Dabei kann mit Auftreten einer Überlast die Übertragungsrate nicht nur halbiert, sondern auch stärker in Vielfachen von 0.5 oder im Fall eines potenziellen Verlustmoments gar nicht reduziert werden. 5 Die Zeitspannen zwischen zwei Verlustzeitpunkten, die nun nicht mehr mit den realen Verlustzeitpunkten übereinstimmen, sondern schon die Häufung mehrerer Verluste berücksichtigen, wird dann aber als unabhängig und identisch verteilt (iid) angenommen. Vereinfacht gesagt, besteht das Modell aus einem iid-Prozess (z.B. Poisson), der Überlastungen modelliert und einer Markov-Kette, die den Faktor der Übertragungsratenreduktion zu einem solchen Zeitpunkt bestimmt. Abbildung 2: 2 Prozesse steuern das Übertragungsfenster Die Notwendigkeit von mehr als zwei Zuständen zur Beschreibung eines Kanals ist auch durch (modellierte) Ergebnisse von [7, 9] über mobile Satellitenverbindungen motiviert, wo es sich gezeigt hat, dass dortige Modelle typischerweise mindestens 4 Zustände brauchen. Nach der Klärung wichtiger Begriffe wird im darauf folgenden Abschnitt zunächst das allgemeine AIMD-Modell mit N Zuständen vorgestellt. Dieses allgemeine Modell wird dann analysiert, d.h. die Berechnung der Erwartungswerte und Momente wird vorgeführt. Im vorletzten und wichtigsten Abschnitt werden mehrere Spezialfälle des allgemeinen Modells entwickelt und gezeigt, wie die bestimmenden Parameter aus realen Netzwerkaufzeichnungen ermittelt werden können. Schließlich werden diese speziellen Modelle miteinander und mit dem “exact fluid model” verglichen. 2 Begriffe 2.1 Überlastbehandlung bei TCP Wie schon in der Einleitung erwähnt, kennt TCP keine expliziten Überlastnachrichten, sondern erkennt eine Überlast an verschiedenen Ereignissen. Zum einen geht man bei TCP von einer Überlast aus, wenn innerhalb einer vorgegebenen Zeitspanne Rückmeldungen, sog. ACKs, ausbleiben, dies bezeichnet man in [6] als TIMEOUT. Eine weitere Fehlersituation erkennt TCP beim Eintreffen mindestens 3 gleicher ACK-Packete. Damit will der Empfänger dem Sender signalisieren will, dass Segmente seiner Nachricht verloren gegangen sind und neu gesendet werden müssen. In diesem Fall kann der Sender von Netzwerkproblemen, 6 meistens einer Überlast ausgehen. Je nach Implementierung, kann die Behandlung von TIMEOUT und “duplicate ACKs” unterschiedlich ausfallen. Hier werden jedoch nur AIMD -Verfahren berücksichtigt. Die wichtigsten (Kontrollfluss-)Parameter bei TCP-Verbindungen sind cwnd in Bytes, ist die Größe des aktuellen Übertragungsfensters (congestion window). SSM S in Bytes, ist die maximale Segmentgröße auf Senderseite (sender segment maximum size). Dies entspricht im wesentlich der kleinsten MTU1 auf dem Netzwerkpfad. Diese Größe wird meistens zur linearen Erhöhung des Übertragungsfensters (cwnd) herangezogen. IW in Bytes, ist die Größe des Übertragungsfensters zu Beginn einer Übertragung (initial window). RT T in ms die Umlaufzeit eines Paketes im Netzwerk (round trip time). Die Übertragungsrate X(Bytes/s) ist mit X= cwnd RT T leicht zu ermitteln. Damit lässt sich die Übertragungsrate direkt durch die Fenstergröße (cwnd) beeinflussen. Ohne Überlast wird die Größe des Übertragungsfensters mit jedem erfolgreich gesendeten Paket um einen konstanten Wert, meistens SSM S erhöht, also cwnd := cwnd0 + SSM S, wobei cwnd0 das Überlastfenster vor der Erhöhung bezeichnet. Damit entspricht SSM S in dem abstrakten Modell dem α. Beim Auftreten einer Überlast wird das Übertragungsfenster um einen Faktor a ∈ [0, 1] (meist 0.5, je nach TCP Version und Überlastereignis) gesenkt. Nach [6] ist α = 1 RT T 2 oder α = 1 2RT T 2 im sog. delayed acknowledgment mechanism. Die Größe eines neuen Übertragungsfensters nach Überlast: cwnd := cwnd0 · a, wobei auch hier cwnd0 die Fenstergröße vor der Reduktion ist. 1 maximal transfer unit 7 2.2 Stochastische Prozesse, Markov-Prozesse und Ketten Zur Modellierung von AIMD und vieler anderer dynamischer Systeme werden im Folgenden stochastische Prozesse verwendet. Stochastische Prozesse werden dort benutzt, wo eine deterministische Angabe der gesuchten Größen nicht möglich bzw. zu aufwendig wäre und stattdessen durch eine Folge von zufälligen Ereignissen approximiert wird. Definition 2.1 (Stochastischer Prozess) Ein stochastischer Prozess ist eine Familie von Zufallsvariablen {Xt : Ω → S | t ∈ T } definiert auf einem (oft nicht näher interessierenden) Wahrscheinlichkeitsraum (Ω, A, P), die alle durch Elemente von T (dem Parameterraum, oft als Zeit angenommen) indiziert sind und den Wertebereich S (Zustandsraum) besitzen. Die Xt nennt man auch Zustände des Prozesses. Die Folge Xt (ω), ω ∈ Ω nennt man eine Realisierung eines stoch. Prozesses für das Ereignis ω. Die Abbildung P : t → Xt oder in äquivalenter Notation P : t → X(t) heißt Pfad des Prozesses {Xt }. Ein Pfad ist also eine Folge von Zuständen, die der Prozess angenehmen kann. Durch die Art der Mengen S, T lassen sich bestimmte Typen von Stochastischen Prozessen unterscheiden. 1. S diskret z.B. N, T diskret, z.B. Z: 2. S stetig z.B. R, T diskret, z.B. Z: 3. S diskret z.B. N, T stetig, z.B R: 4. S stetig z.B. R, T stetig,z.B. R: Da der Parameterraum T meistens die Zeit beschreiben soll, spricht man bei diskreten bzw. abzählbarem T von einem zeitdiskreten stochastischen Prozess, bei kontinuierlichem T von einem zeitkontinuierlichen stochastischen Prozess. 2.2.1 Punktprozesse Überlastungen treten hier zu zufälligen Zeitpunkten auf. Diese Zeitpunkte können durch eine besondere Art stochastischer Prozesse, sog. Punktprozesse beschrieben werden. Punktprozesse haben ihren Namen da sie eine Folge zufälliger Punkte in Rd (z.B. d = 1 für die reelle Achse) beschreiben. Die eingangs definierte Folge von Zufallsvariablen {Xt }, t ∈ G, G ⊆ Z sind hier die jeweiligen Werte zu Zeitpunkten t. Jedes t ∈ G entspricht dabei dem Auftreten eines neuen Punktes. Es Stochastischer Prozess {Xt }, t ∈ G ⊆ Z heißt Punktprozess, wenn die folgende Einschränkung für jede Realisierung ω ∈ Ω gilt: 8 · · · ≤ X−1 (ω) ≤ 0 ≤ X1 (ω) ≤ . . . , ω∈Ω Gilt anstatt ≤ sogar < nennt man den Punktprozess einfach. Einfache Punktprozesse besitzen eine weitere äquivalente Darstellung durch ein sog. Zählmass Φ : B → N, das einem Intervall B ∈ R (einem Element der Borel-σ-Algebra R) die Anzahl der Punkte des zugehörigen Punktprozesse innerhalb des Intervalls zuordnen. Der Prozess {N (t); t ∈ R} mit N (t) = |{n : Xn ∈ [0, t)}| wird der zu {Xn } gehörige Zählprozess genannt. Besitzen die Punkte eines Punktprozesses unterschiedliche Eigenschaften, so kann man diese durch eine zweite Zufallsvariable, beispielsweise Mt , modellieren, die diese Eigenschaft zum zugehörigen Punkt ausdrückt. Diesen Prozess nennt man dann einen markierten Punktprozess {Xt , Mt }. Hier könnte ein Punktprozess die zufälligen Zeitpunkte Xt der Überlastungsmomente des Netzwerkes beschreiben, die zugehörigen Marken Mt dann die aktuelle Datenübertragungsrate widerspiegeln. Man kann einen beliebigen Punktprozess äquivalent durch einen einfachen markierten Punktprozess beschreiben. Dabei entsprechen die Marken der Anzahl hintereinander gleicher Punkte. Ein Begriff, der hier im Zusammenhang mit Punktprozessen auftaucht ist die Palm-Verteilung. Um Punktprozesse und damit die Palm-Verteilung in ihren Einzelheiten zu verstehen, empfiehlt sich entsprechende Fachliteratur [4]. Zur Palm-Verteilung sei hier nur gesagt, dass diese eine Wahrscheinlichkeitsverteilung von Punktprozessen mit der Bedingung darstellt, dass der Punktprozess an gewissen Stellen (z.B. P 0 für den Nullpunkt) einen Punkt hat. 2.2.2 Poisson-Prozess Der Poisson-Prozess ist ein einfacher rekurrenter Punktprozesses. Ein Punktprozess heißt rekurrent, falls die Abstände {Xn+1 − Xn }, n ∈ G\{0} unabhängig und gleichverteilt sind. Poisson-Prozesse zählen Ereignisse in einem gegebenen Zeitintervall. Die Anzahl dieser Ereignisse ist proportional zur Länge des Intervalls und zu einem Intensitätsparameter λ, der sog. Ankunftsrate. Die Anzahl der Ereignisse in einem Zeitintervall der Länge t ist Poissonverteilt und damit gilt: (λ · t)n Pn (t) = exp−λt , n! wobei Pn (t) die Wahrscheinlichkeit dafür ist, dass n Ereignisse zur Zeit t eingetreten sind. Die Herleitung dieses Ergebnisses folgt aus den speziellen Eigenschaft des Poisson-Prozesses • P (ein Ereignis tritt im Intervall der Länge ∆t auf) = ∆t · λ + o(∆t) • P (mehr als ein Ereignis tritt im Intervall der Länge ∆t auf) = o(∆t) • P (kein Ereignis tritt im Intervall der Länge ∆t auf) = 1 − ∆t · λ + 2 · o(∆t) 9 und soll hier nicht näher betrachtet werden. Der Term o(∆t) ist ein sog. Störterm, der die Eigenschaft hat schneller als ∆t gegen 0 zu streben. Wichtig ist, dass die Zeit zwischen zwei Ereignissen {Xn+1 − Xn } exponentialverteilt ist. Daraus ergibt sich eine Gedächtnislosigkeit des Poisson-Prozesses. D.h. aus der Vergangenheit können keine Rückschlüsse auf die Zukunft gemacht werden. Eine beschränkte Abhängigkeit von der Vergangenheit berücksichtigt die folgenden Klasse stochastischer Prozesse, die in diesem Vortrag eine Hauptrolle spielen werden. 2.2.3 Markov-Prozesse, Markov-Ketten Ein stochastischer Prozess heißt Markov-Prozess, wenn die zukünftige Verteilung der Zufallsvariablen nur von dem aktuellen Zustand des Prozesses abhängt. Formal bedeutet dies, ein Prozess besitzt die Markov-Eigenschaft bzw. ist markovsch, wenn gilt: P (Xt = x|Xtn = xn , Xtn−1 = xn−1 , . . . , Xt0 = x0 ) = P (Xt = x|Xtn = xn ) für alle Folgen von Zeitpunkten t0 < t1 < · · · < tn < t. Diesen Fall nennt man auch Markov-Prozess 1. Ordnung, da man als Verallgemeinerung auch Prozesse zulassen kann, die von m vergangenen Zuständen abhängen. Solche Prozesse nennt man dann Markov-Prozess m.-Ordnung. Auch der o.g. Poisson-Prozess ist markovsch. Markov-Prozesse gibt es in allen vier Ausprägungen bzgl. des Zustands- und Parameterraums. Markov-Prozesse mit diskretem Zustands- und Parameterraum nennt man Markov-Ketten. Markov-Prozesse mit kontinuierlichem Zustandraum sind schwieriger zu handhaben, lassen sich jedoch auf Markov-Ketten zurückführen. Für Markov-Ketten lautet die obige Bedingung: P (Xn+1 = x|Xn = xn , Xn−1 = xn−1 , . . . , X0 = x0 ) = P (Xn+1 = x|Xn = xn ). Man bezeichnet mit pij (s, t) = P (X(t) = j|X(s) = i) die Wahrscheinlichkeit, dass die Markov-Kette unter der Bedingung zum Zeitpunkt s in Zustand i gewesen zu sein, zum Zeitpunkt t im Zustand j zu sein. Eine Markov-Kette mit n = |S| Zuständen kann durch die n × n- Übergangsmatrix P = (pij ) und einer Anfangsverteilung p(0) = (p0 , . . . , pn )T vollständig beschrieben werden. Die Zeilensummen von P ergeben immer 1. Alternativ kann eine Markov-Kette auch durch ein Zustandübergangsdiagramm dargestellt werden. Eine Markov-Kette mit 3 Zuständen kann beispielsweise folgendermaßen dargestellt werden: 10 0.2 0.8 0.0 P = 0.5 0.3 0.2 0.3 0.1 0.6 Abbildung 3: Zustandsdiagramm obiger Markov-Kette Hängen die Übergangswahrscheinlichkeiten nur von der Zeitdifferenz t − s = ∆t und nicht von den konkreten Zeitpunkten s und t ab, d.h. gilt P (X(s + ∆t) = j|X(s) = i) = P (X(∆t) = j|X(0) = i) = pij , dann nennt man die Markov-Kette (zeit-)homogen. Man definiert: (n) pij = Wahrscheinlichkeit nach n Schritten von i nach j zu kommen. Für homogene Markov-Ketten gelten einige Eigenschaften: • ∀i, j ∈ S . pij ≥ 0. P • i6=j pij = 1 P (m+n) (m) (n) • pij = k∈S pik · pk,j (∆s) bzw. Pm+n = Pm + Pn . Dies ist die Chapman-Kolmogorov-Gleichung für den Fall einer homogenen Markov-Kette. (n) • Falls pij ≥ 0 für ein n ist, nennt man den Zustand j von i aus erreichbar. • Falls i von j und j von i erreichbar sind, kommunizieren sie miteinander. Zustände, die kommunizieren, bilden eine Äquivalenzklasse. • Wenn alle Zustände in der selben Aquivalenzklasse sind, nennt man die Markov-Kette irreduzibel. (n) • Falls d = ggT {n|pii aperiodisch. > 0} > 1 gilt, nennt man die Markov-Kette periodisch, andernfalls 11 • ein Zustand, der mit der Wahrscheinlichkeit 1 irgendwann wieder erreicht wird, nennt man rekurrent. • Falls die erwartete Anzahl Schritte endlich ist, heißt der Zustand positiv-rekurrent. • Ist die Markov-Kette positiv-rekurrent, aperiodisch und irreduzibel, so nennt man die MarkovKette ergodisch Mit Markov-Ketten werden oft Vorgänge modelliert, die eine Art Zugang und Abgang haben; z.B. ein Server, der innerhalb einer Zeitspanne gewisse Anfragen erhält und abarbeitet. Wenn gewisse Ankunfts- und Abarbeitungsraten vorgegeben sind, erreicht die Markov-Kette möglicherweise nach einer gewissen (Einschwing-)Zeit einen Zustand in dem genauso viele Abfragen verarbeitet werden, wie ankommen. Dann ändern sich die Wahrscheinlichkeiten in einem bestimmten Zustand zu sein nicht mehr, d.h. die Wahrscheinlichkeiten P (Xn+1 = j|Xn = i) ändern sich ab einem n ≥ n0 nicht mehr. Dies ist der Fall, falls die Gleichung π = Pπ eine Lösung hat und π nennt man die stationäre Verteilung der Markov-Kette. P = (pij ) ist die Übergangsmatrix der Markov-Kette. Ist eine Markov-Kette irreduzibel und aperiodisch, also insbesondere auch ergodisch, so existiert diese stationäre Verteilung und ist unabhängig von der Anfangsverteilung p = (p0 , . . . , pn )T . Das bedeutet, dass man nach einer gewissen Einschwingzeit von einer festen Verteilung ausgehen kann. Dies erleichtert Berechnungen erheblich. Markov-Prozesse mit diskretem Zustandsraum und kontinuierlicher Zeit gibt es ebenso eine Matrix, die das Verhalten des Markov-Prozesses bestimmt. Eine daraus gebildete zeitdiskrete Markov-Kette nennt man die eingebettete Markov-Kette zum entsprechenden Markov-Prozess. Nähere Information zu diesem Thema lassen sich in verschiedenen Büchern zur Stochastik und stochastischen Prozessen. 2.3 Laplace-Stieltjes-Transformation Erwartungswerte und höhere Momente insbesondere zusammengesetzter Zufallsvariablen sind oft schwierig zu berechnen. Daher benutzt man Transformationen, die die Berechnungen vereinfachen können. Wenn die Transformation eineindeutig ist, ist sie eine alternative Beschreibung für die Ursprungsfunktion. In diesem Fall haben zwei Verteilungsdichten die gleiche transformierte Funktion, genau dann wenn die Verteilungsdichten gleich sind. Eine Transformation mit dieser Eigenschaft ist die Laplace-Transformation für kontinuierliche Verteilungen. Die Laplace-Transformatierte der Zufallsvariablen X lautet für die Verteilungsdichte fX (x) mit fX (x) = 0 für x < 0: Z ∞ e−s·x fX (x)dx, fürs ≥ 0. LX (s) = 0 12 Die Laplace-Transformation hat u.a. folgende Eigenschaften: • Falls LX (s) = LY (s) folgt X = Y . • LX+Y = LX (s) · LY (s). Ohne Transformation wäre eine aufwendige Faltungsoperation nötig. • Einfache Berechnung des Erwartungswert, der Varianz und anderer Momente: E[X] = −L0X (0), (Der Erwartungswert) V [X] = L00X (0) − [L0X (0)]2 E[X n ] = (−1)n L(n) (0), (Die Varianz) (das n-te Moment) Die Laplace-Stieltjes-Transformation stellt eine Verallgemeinerung der Laplace-Transformation auf allgemeinere Funktionen dar, die aber in den hier verwendeten Fällen der Laplace-Transformation entspricht. Z LSTX (s) ∞ = −st e Z dFX (t) ∞ = −∞ e−st fX (t)dt = LX (s) −∞ Hiermit sollten die Grundlagen ausreichend angesprochen sein, für weitergehende Information, insbesondere für die Herleitungen und Beweise der kurz vorgestellten Ergebnisse, möge der Leser geeignete Literatur[10] zu Rate ziehen. 3 Das allgemeine Modell zur Leistungsbewertung von AIMD Zunächst sollen hier einige wichtigen Größen definiert werden. Es sei X(t) ∈ R die Übertragungsrate zur Zeit t. Beim Spezialfall TCP ist diese äquivalent zur aktuellen Fenstergröße (windows-size) dividiert durch die Round-Trip-Zeit (RTT) der Verbindung. Sei K = {1, 2, . . . , N } die Menge möglicher Zustände der Markov-Kette. Das Modell erlaubt in jedem Zustand eine Reduktion der Übertragungsrate (Verlust). Die Wahrscheinlichkeit eines auftretenden Verlustes kann in jedem Zustand unterschiedlich sein. Also wird eine Folge potenzieller Verluste, mit einer bestimmten zeitlichen Verteilung definiert. Bezeichne Tn den Zeitpunkt, an der der n-te potenzielle Verlust auftritt. Xn sei die Übertragungsrate gerade vor Tn . Das Paar {Tn , Xn } kann nach [4] als ein markierter Punktprozess betrachtet werden. Sei Dn , n ∈ Z die Folge von Zeitspannen zwischen zwei potenziellen Verlusten, also Dn = Tn+1 −Tn . Die Dn werden als unabhängig und gleichverteilt, mit dem Erwartungswert d, dem 2. Moment d(2) und der Laplace-Stieltjes-Transformierten D∗ (s) = E[e−sDn ] angenommen. 13 Abbildung 4: Veränderung der Übertragungsfenster im TCP-Modell Yn ∈ K bezeichne den Zustand des Kanals zum Zeitpunkt des n-ten potenziellen Verlustmoments. Es wird angenommen, dass die Folgen {Yn } und {Dn } unabhängig sind und {Yn } eine ergodische Markov-Kette mit den Übergangswahrscheinlichkeiten pij = P {Yn+1 = j|Yn = i}, 1 ≤ i, j ≤ N sei. Sei P = {pij }N i,j=1 die Übergangsmatrix von {Yn } und π = Pπ die stationäre Verteilung der mit dem Kanal assoziierten Markov-Kette. Als nächstes definiert man N = |K| Zufallsvariablen {Ajn ; ≤ j ≤ N }, die das Verhalten der Übertragungsrate(n-Reduktion) während eines potenzieller Verlust, abhängig vom Zustand der MarkovKette, beschreiben. Diese Zufallsvariablen legen abhängig vom Zeitpunkt Dn und Zustand j ∈ {1, . . . , N } fest, ob die Datenübertragungsrate reduziert wird und um welchen Faktor. D.h. diese Variablen {Ajn ; 1 ≤ j ≤ N } korrespondieren mit den N möglichen Zuständen des Markov-Modells und nehmen Werte im Intervall [0, 1] an. Die Wahl des reellen oder rationalen Intervalls [0, 1] bedeutet, dass die Übertragungsrate in Verlustzeitpunkten um einen gewissen Faktor heruntergesetzt wird. Da die 1 mit eingeschlossen ist, muss ein potenzieller Verlust nicht immer zu einem wirklichen Absenken der Übertragungsrate führen. 14 Jedes Ajn ; 1 ≤ j ≤ N hat eine Verteilungsfunktion F j (a) für alle n ∈ Z. D.h. es wird angenommen, die Verteilung von Ajn seien zeithomogen. Z 1 a dF i (a), 1 ≤ i ≤ N ai := 0 Es wird angenommen, dass mindestens ein ai < 1 ist. Die obige Schreibweise nennt man RiemannStieltjes-Intregral, eine verallgemeinerte Form des Integrals und bezeichnet hier nichts anderes als den Erwartungswert Z 1 af i (x)dx. ai = E[Ain ] = 0 Die Dynamik des Systems kann durch folgende stochastische Rekurrenzgleichung beschrieben werden. Xn+1 = N X Ajn Xn 1{Yn = j} + αDn . (1) j=1 (2) 4 Leistungsbewertung des allgemeinen Modells Zunächst stellt man fest, dass Gleichung (1) ein Spezialfall einer linearen stochastischen Differenzengleichung vom Typ Xn+1 = βn Xn + γn ist, wobei {βn , γn } stationäre und ergodische Prozesse sind. (Man betrachtet die Markov-Kette {Yn } bereits als im stationären Zustand). Es folgt aus [5] und [1], dass diese Gleichungen eine stationäre Lösung Xn∗ gegeben durch Xn∗ ∞ n−1 X Y = ( βi )γn−k−1 k=0 i=n−k haben. Der stationäre Zustand existiert unter der Annahme, dass für mindestens ein 1 ≤ i ≤ N a < 1 ist. Darüber hinaus konvergiert für jedem Anfangszeitpunkt X0 die Folge {Xn } fast sicher zu einem stationären Zustand, so dass lim |Xn − Xn∗ | = 0, n→∞ P-fast sicher gilt. Daher können wir o.B.d.A. annehmen, dass der Prozess {Xn } in einem stationären Zustand ist, um darauf die Grenzverteilung zu berechnen können. Also berechnet man die Momente von Xn in der Annahme eines stationären Zustands. 15 Es seien 1≤i≤N xi = E[Xn 1{Yn = i}], die Erwartungswerte der Übertragungsrate abhängig vom Zustand der Markov-Kette. Offensichtlich ist der Erwartungswert des gesamten Kanals durch E[Xn ] = N X xi , i=1 also durch Aufsummierung über die Zustände der Markov-Kette, gegeben. Um diese xi , 1 ≤ i ≤ N zu berechnen, wird der Laplace-Stieltjes-Transformation Ansatz verwendet. Und zwar definiert man für die einzelnen xi die folgende Laplace-Stieltjes-Transformation: W (s, i) = E e−sXn 1{Yn = i} , 1 ≤ i ≤ N, wobei wir annehmen, dass Xn in stationärem Zustand ist. Satz 4.1 Die Laplace-Stieltjes-Transformierten W (s, j), 1 ≤ j ≤ N, sind Lösungen der folgenden impliziten Gleichung: " W (s, j) = D∗ (αs) N X i=1 Z pij # 1 W (as, i)dF i (a) 1 ≤ j ≤ N (3) 0 Beweis: Wir schreiben für ein beliebiges j, 1 ≤ j ≤ N , E[e−sXn+1 1{Yn+1 = j}] = = = = = PN −sXn+1 1{Yn+1 = j|Yn = i}]P (Yn = i) i=1 E[e PN −sXn+1 E[e |Yn = i]E[1{Yn+1 = j|Yn = i}]P (Yn = i) Pi=1 N −s(Ain Xn +αDn ) |Yn = i]pij P (Yn = i) i=1 E[e PN R 1 ∗ −saXn D (αs) i=1 0 E[e |Yn = i]dF i (a)pij P (Yn = i) R P 1 −saXn D∗ (αs) N 1{Yn = i}]dF i (a) i=1 pij 0 E[e 2 Dies ergibt die implizite Gleichung (3). Hier sind im wesentlichen die Momente, also Erwartungswert und 2. Moment wichtig. Obwohl die Laplace Stieltjes Transformierten in Satz 4.1 nur als Lösungen der impliziten Gleichung gegeben sind, können alle Momente von Xn 1{Yn = i} für 1 ≤ i ≤ N (in dem stationären Zustand) explizit gewonnen werden. 16 Es gilt E[xkn 1{Yn dk W (s, i) = i}] = (−1) . dsk s=0 k Nun fährt man mit der Berechnung der Ausdrücke für das erste und zweite Moment von Xn 1{Yn = i} für 1 ≤ i ≤ N von den impliziten Ausdrücken der Laplace Stieltjes Transformation fort. Unter Benutzung der folgenden Beziehungen 1 ≤ i ≤ N, dD∗ (αs) ∗ D (0) = 1, = −αd, ds s=0 W (0, i) = πi , erhält man N lineare Gleichungen mit N Unbekanten: xj = N X pij ai xi + αdπj 1 ≤ j ≤ N. (4) i=1 Diese Gleichungen kann man mit x = [x1 , . . . xn ] und A= a1 0 0 a2 .. .. . . 0 0 ... ... ... 0 0 .. . . . . aN in Matrixnotation aufschreiben. Danach nehmen die Gleichungen (4) folgende Form an: x = AP + αdπ (5) Oben wurde festgelegt, dass für alle i ∈ K 0 ≤ ai ≤ 1 gilt. Weiterhin wurde angenommen, dass es mindestens ein i ∈ K gibt, für das ai < P 1 wird. Damit P ist garantiert, dass die Matrix AP substochastisch ist, d.h. es gibt ein i für das gilt N p a < j=1 ij i j=1 pij = 1. Weiterhin gilt für substochastische Matrizen, dass die Beträge aller Eigenwerte strikt kleiner als 1 sind. Daher hat die Matrix I − AP einen Eigenwert ungleich 0 und folglich die Gleichung (9) eine eindeutige Lösung. Zusammenfassend bekommt man folgendes Ergebnis: 17 Satz 4.2 Sei Xn in stationärem Zustand. Dann ist E[Xn ] gegeben durch E[Xn ] = xe = αdπ(I − AP)−1 e, wobei e ein Vektor aus Einsen ist. Ähnlich verfährt man zur Berechnung des zweiten Moments von Xn und definiert zunächst die 2. Momente abhängig von den einzelnen Zuständen der Markov-Kette (2) xi = E[Xn2 1{Yn = i}], 1 ≤ i ≤ N. und summiert ebenfalls wieder über alle Zustände und erhält E[Xn2 ] = N X (2) xi . i=1 (2) (2) (2) Es seien x(2) = [x1 , x2 , . . . , xN ] und (2) A = (2) a1 0 .. . 0 0 ... 0 (2) a2 . . . 0 .. .. .. . . . (2) 0 . . . aN , wobei (2) ai Z = 1 a2 dF i (a), 1 ≤ i ≤ N. 0 Der nächste Satz gibt einen expliziten Ausdruck für E[Xn2 ] an: Satz 4.3 Sei {Xn } in stationärem Zustand und es gibt mindestens ein ai < 1. Dann ist E[X 2 ] gegeben durch E[Xn2 ] = x(2) e = 2αd(xAP) + α2 d(2) π (I − A(2) P)−1 e. Beweis: Durch zweimalige Differenzierung der impliziten Gleichung (2) erhält man 18 " N # X Z 1 d2 W (as, i) d2 W (s, j) = D∗ (αs) pij dF i (a) 2 ds2 ds 0 i=1 " N # Z 1 d2 D∗ (αs) X + pij W (as, i)dF i (a) ds2 0 i=1 " N # Z 1 dD∗ (αs) X dW (as, i) i + 2 pij dF (a) ds ds 0 i=1 (6) (7) (8) (9) Wie zur Berechnung der Momente nötig, wertet man die obigen Ableitungen bei s = 0 aus und erhält (2) xj = N X (2) (2) pij ai xi + 2αd i=1 N X pij ai xi + α2 d(2) πj i=1 Als nächstes wird die Gleichung in Matrixnotation umgeschrieben: x(2) = x(2) A(2) P + 2αd(xAP) + α2 d(2) π, und beim Auflösen nach x(2) erhält man x(2) = 2αd(xAP) + α2 d(2) π (i − A(2) P)−1 . Die Existenz von (I − A(2) P)−1 ist garantiert, da A(2) P wiederum eine substochastische Matrix ist. P PN (2) Also sind die Summen der Elemente der i-ten Reihe von A(2) P N j=1 pij aj < j=1 pij = 1. 2 Der Erwartungswert der Übertragungsrate wurde zunächst nur zu den Verlustmomenten Tn berechnet. Dieser Erwartungswert wird auch als Palm-Erwartung im Kontext von markierten Punktprozessen [4] bezeichnet. Natürlich ist man hauptsächlich an der Berechnung des Erwartungswertes der Übertragungsrate zu einem beliebigen Zeitpunkt t also X(t) unabhängig von Verlustmomenten interessiert. Für ergodisch Prozesse fällt dieser gesuchte Erwartungswert mit dem zeitdurchschnittlichen P-f.s. - Grenzwert. Z 1 T x = lim X(t)dt T →∞ T 0 zusammen. Dies ist nichts anderes als der durchschnittliche Durchsatz der TCP-Verbindung. Es ist genau die gesamte Menge der übertragenen Daten dividiert durch die Übertragungszeit. Zur Auswertung dieses Durchsatzes wird jetzt das Konzept der Palm-Wahrscheinlichkeit angewandt. 19 Satz 4.4 Der Durchsatz, bzw. die durchschnittliche Übertragungsrate, ist durch x = E[X(t)] = N X i=1 1 d(2) 1 d(2) ai x i + α = axT + α , 2 d 2 d mit a = [a1 , a2 , . . . , aN ] und x entsprechend Satz 4.2. Beweis: Zur Berechnung von E[X(t)] kann man die folgende Inversionsformel (z.B. aus [4] Char.1 Sec.4) Z 1 0 T1 E[X(t)] = E [ X(t)dt], d 0 wobei E 0 [.] der mit der Palm-Verteilung assoziierter Erwartungswert ist, verwenden. Also gilt: 1 E[X(t)] = E 0 [ d Z 0 T1 N X ( Ai0 X0 1{Y0 = i} + αt)dt] i=1 Wegen der Unabhängigkeit von Xn und {Dk , k ≥ n} und wegen der Unabhängigkeit von {Dn } und {Yn } gilt N 1X 0 i 0 α E[X(t)] = [ E [A0 ]E [X0 1{Y0 = i}] E0 [D0 ]] + E 0 [D02 ] d i=1 2d = N X i=1 1 d(2) 1 d(2) ai x i + α = axT + α 2 d 2 d (10) (11) 2 Im nächsten Satz wird das 2. Moment der Übertragungsrate zu einem beliebigen Zeitpunkt ausgewertet. Das zweite Moment der Übertragungsrate beschreibt wie stark die Übertragungsrate variiert. Dieser Wert könnte für Echtzeit-Anwendungen über TCP (z.B. Audio- oder Videoübertragungen) interessant sein. Für diese Anwendungen könnte es nötig sein, α und a anders zu wählen, um die Ozillation der Übertragungsrate zu minimieren ohne dabei den Durchsatz zu verschlechtern. Eine “glattere” Übertragungsrate ist z.B. auch für “Quality of Service” - Dienste, die empfindlich auf Verzögerungen reagieren, erforderlich. Schließlich gilt es noch Fairness-Aspekte des Datendurchsatzes zu berücksichtigen. 20 Satz 4.5 Sei d(3) das dritte Moment der Zeit zwischen zwei Verlustzeitpunkten. Das zweite Moment der Übertragungsrate über einen langen Zeitintervall ist gleich: x (2) (2) (2) Z 1 t 2 = lim X (t)dt t→∞ t 0 1 2 d(3) 1 (2) T = α + αd αx + a(2) x(2) 3 d d (12) (13) (2) wobei a(2) = [a1 , a2 , . . . , aN ] wie in Satz 4.3 gegeben ist. Beweis: Mit der Inversionformel der Palm-Wahrscheinlichkeit gilt E[X 2 (t)] = = = = = R 1 0 T1 2 E [ d 0 X (t)dt] R T1 PN 1 0 i E i=1 A0 X0 1{Y0 d 0 2 = i} + αt dt h 2 3 i PN PN 1 0 α D0 2 i i 2 2 E + αD0 i=1 A0 X0 1{Y0 = i} + i=1 (A0 ) X0 1{Y0 = i}D0 d 3 PN PN (2) 2 1 2 d(3) 1 (2) α + αd a x + i i i=1 i=1 ai xi 3 d d 1 2 d(3) 1 (2) T (2) (2)T α d + d αd ax + a x 3 2 Für den allgemeinen Fall einer Markov-Kette mit N Zuständen sind nun folgende Ausdrücke für folgende Werte berechnet worden: Erwartungswert (EW) der Übertragungsrate zu Verlustmomenten 2. Moment der Übertr. zu Verlustmomenten EW der Übertragungsrate zu beliebigen Zeitpunkten 2. Moment der Übertragungsrate zu beliebigen Zeitpunkt E[Xn ] E[Xn2 ] x = E[X(t)] x2 = E[X 2 (t)] Die Parameter, die zu diesem Modell aus Netzwerkaufzeichnungen ermittelt werden könnten sind: linearer Erhöhungsfaktor Durchschnittlich Zeitspannen zwischen 2 Verlustmomenten (VM) 2. Moment der Zeitspannen zwischen 2 VM 3. Moment der Zeitspannen zwischen 2 VM Übergangsmatrix der Markov-Kette (MC) Verteilung der Reduktionsraten zu jedem Zustand der MC dazu Durchschnitt der Reduktionsraten 2. Moment der Reduktionsraten 21 α d d(2) d(3) P = (pij ), 1 ≤ i, j ≤ N Ai , i ∈ K ai , i ∈ K (2) ai i ∈ K Im folgenden Abschnitt wird gezeigt, wie die Parameter des Modells von echten TCP-Traces ermittelt werden können. Mehrere unterschiedliche Spezialisierungen des allgemeinen Modells werden auf dem gleichen TCP-Trace verglichen, um zu zeigen, welche Spezialisierung die effizienteste Näherung beschreibt. 5 Spezialfälle des allgemeinen Modells In diesem Abschnitt werden nun verschiedene Wege für die Anwendung des allgemeinen Modells zur Vorhersage der Performance eines TCP-ähnlichen Flusskontroll-Mechanismus präsentiert. Als Vergleich dient das sog. “exact fluid model” (EFM), welches auf realen Netzwerkaufzeichnungen basiert, jedoch die AIMD-Strategie etwas idealisiert. Das “exact fluid model” entsteht aus einer realen Aufzeichnung dadurch, dass man zwischen zwei Verlustzeitpunkten die Erhöhung des Überlastfensters und damit der Übertragungsrate, linear rekonstruiert. Anschaulich heißt das, man zieht eine Linie angefangen bei der letzten Reduktion bis hin zur nächsten. Die Übertragungsrate in realen TCP - Verbindungen steigt nicht linear, sondern sub-linear, da mit Vergrößerung des Überlastfensters im realen Netzwerken auch die RTT leicht ansteigt. Damit wird die Übertragungsrate nicht linear steigen, sondern etwas langsamer. Eine Modellierung dieses sub-linearen Verhaltens ist außerordentlich schwierig und wäre mit den einfachen Modellen hier nicht machbar. Da hier jedoch von der Annahme eines AIMD - Protokolls ausgegangen wird, könnte ein Vergleich mit einem realen, nicht-linearen TCP-Trace einem falschen Modell bessere Annäherung attestieren als einem richtigen. Ebenso bleibt unberücksichtigt, dass das Übertragungsfenster nicht unendlich wächst. Die Experimente zur Ermittlung realer TCP-Traces wurden an langzeit New-Reno TCP Verbindungen zwischen “clope.inria.fr” bei INRIA und “nessie.essi.fr” bei ESSI durchgeführt. Beide sind im Technologypark Antipolis in Frankreich beheimatet. Die zwei Maschinen sind am gleichen Stadtnetzwerk (metropolitan) angeschlossen. Die TCP Verbindung wurde elf mal für ungefähr 20 min. zu den stärkst frequentierten Zeiten (zwischen 10 Uhr und 14 Uhr) gestartet. Der Trace der Verbindung wurde an der Quelle mit tcpdump protokolliert und es wurde ein Programme entwickelt, dass in den Traces die Zeitpunkte ermittelte, an dem die Größe des Überlastfenster durch 2 geteilt wurde. Man bemerkte, dass der häufigste Fall eines Paketsverlust durch den “Fast Retransmit”-Alogrithmus (3 gleiche ACKs) ausgelöst wurde. Ferner stellte man fest, dass das durch den Empfänger angebotene maximale Übertragungsfenster in Hochlastzeiten kaum erreicht wurde. Also kann man erwarten, dass unser “exact fluid model” das Verhalten des Übertragungsfenster korrekt approximiert. 5.1 Das Basis-Modell Im einfachsten Fall, kann der Pfad und damit die Markov-Kette nur einen einzigen Zustand annehmen. Die Übertragungsrate wird also bei jedem Paketverlust einfach halbiert. Unter der Annahme, dass die Zeiten zwischen zwei Paketverlusten unabhängig und gleich verteilt sind, ergibt dies folgenden Ausdruck für den Durchsatz 22 1 d(2) E[X(t)] = αd + α . 2 d Dieses Modell muss genau dann sehr gute Ergebnisse zu dem “exact fluid model” liefern, falls die Paketverlustzeiten tatsächlich unabhängig und gleichverteilt sind. In der Tat lassen Experimente keine Korrelation zwischen Paketverlustzeiten erkennen und Abb. 5 bestätigt diese Vermutung. Der Durchsatz, der durch obige Formel gegeben ist, entspricht sehr genau dem des “exact fluid model”. Das Problem dieses Modells ist jedoch, dass zur Berechnung des Durchsatzes das 2. Moment d(2) der Verlustzwischenzeiten bekannt sein muss. Diese Größe ist relativ schwierig zu berechnen, da es die Kenntnis aller Verlustzeitspannen der modellierten Verbindung voraussetzt. Im Gegensatz dazu kann d einfach berechnet werden indem man die Anzahl der Verluste durch die Übertragungszeit teilt. Die Anzahl der Verluste kann im Gegenzug durch die Verlustauftrittswahrscheinlichkeit berechnet werden. Daher wäre es wünschenswert, die Größe d(2) durch verfeinerte Modellierung zu eliminieren. Ein Weg um d(2) zu eliminieren ist d(2) durch eine Funktion von d auszudrücken. Als Beispiel könnte man annehmen, dass die Verlustzwischenzeiten in Form eines Poisson-Prozess auftreten. Dann ist d(2) = 2d2 . Das Problem an dieser Lösung ist, dass es die Wirkung von Häufungen versteckt und den Durchsatz nur als Funktion eines Durchschnittswert ausdrückt wird. Abb. 5 zeigt tatsächlich, dass der dem Poisson-Modell angelehnte berechnete Durchsatz nicht sehr gut mit dem “exact fluid model” übereinstimmt. Der Grund für diese Abweichung ist klar in Abb. 6 zu sehen, die ein Histogramm der Verlustzwischenzeiten skizziert. Diese Abbildung zeigt eine Abweichung der Verlustzwischenzeiten von einer exponentialverteilten Form. Diese Abweichung wird durch das Auftauchen von Verlusthäufungen, welche einen Wahrscheinlichkeitsausschlag um den Ursprung verursachen, hervorgerufen. Tatsächlich stellt man bei echten TCP-Traces fest, dass das Überlastfensterinfolge von Paketverlusten in mehreren aufeinander folgenden Round-Trips oft mehrfach verkleinert wurde. Aber als weitere Beobachtung konnte man erkennen, dass die Zeiträume zwischen zusammengefassten Verlustzeitpunkten durchaus annähernd exponential verteilt sind. Abb. 8 zeigt die Verteilung der Zeiten zwischen Verlusten nach der Entfernung des Ausschlags um den Ursprung. In den nächsten zwei Abschnitten werden zwei Modelle vorgestellt, die dieses Häufungsverhalten der Verluste berücksichtigen. 5.2 Zusammengefasste Verlustmomente Aus Abb. 6 kann man erkennen, dass die Verteilung der Verlustzeitspannen eine Mischung aus zwei Verteilungen ist, eine repräsentiert die Zeit während eines gehäuften Auftretens von Verlustzeitpunkten und liegt um den Ursprung. Eine andere Verteilung jenseits des Ursprung beschreibt die Zeiten zwischen zwei Verlustmomenten. Dies regt an, die Verluste innerhalb der Häufungen zu einem einzigen Verlust zusammenzufassen. Dabei wird bei einem Verlust das Übertragungsfenster nicht nur halbiert, sondern mit einem Vielfachen von 0.5 multipliziert. Dieser zusammengefasste Verlustprozess kann nun als Poisson-Prozess betrachtet werden. Beim Auftreten eines zusammengefassten Verlustes, wird die Übertragungsrate durch einen zufälligen Faktor größer (oder gleich) 2 geteilt. Die Frage ist 23 Abbildung 5: Vergleich von Poisson, iid und exakter Fluss nun, wie eine Häufung charakterisiert wird, oder anders ausgedrückt, wie entscheidet man, ob zwei aufeinander folgende Verluste in der selben Spitze sind und zusammengefasst werden oder zu zwei Spitzen (bursts) gehören. In diesem Abschnitt wird folgende empirische Methode benutzt; man schaut sich die Verteilung der Verlustzwischenzeiten an und versucht einen Punkt zu finden, welcher die zwei Verteilungen klar trennt. In Abb. 7 sind die Verlustzwischenzeiten um den Ursprung vergrößert dargestellt. Man erkennt gut, dass zwei Spitzen ungefähr durch δ = 0.4s getrennt werden. Nun kann man δ zur Identifikation von Spitzen benutzen. Im Folgenden werden zwei Wege präsentiert, um das Verhalten des zufälligen Reduktionsfaktors zu beschreiben. Der erste Weg ist anzunehmen, dass dieser Reduktionsfaktor unabhängig gleichverteilt ist. Der zweite Weg ist ihn mit einer Markov-Kette zu modellieren. Zunächst wird der Fall des gleichverteilten unabhängigen Reduktionsfaktors betrachtet. Die Entwicklung der Übertragungsrate wird in diesem Fall durch Xn+1 = An Xn + αDn gegeben, wobei der Reduktionsfaktor An eine Verteilungsfunktion F (a) hat. Dn bezeichnet die Zeit zwischen zwei Spitzen und kann als Poisson-Prozess angenähert dargestellt werden. Diese Situation kann als ein Spezialfall des allgemeinen Modells angesehen werden, wo der Pfad nur einen Zustand hat. 24 Abbildung 6: Histogramm der Verlustzwischenzeiten Das allgemeine Ergebnis von Abschnitt 3 und 4 kann für den aktuellen Fall folgendermaßen spezialisiert werden, αd 1−a E[Xn ] = x = E[X(t)] = αda 1 d(2) + α , 1−a 2 d (14) R1 wobei a = 0 adF (a) ist. Hier ist der Reduktionsfaktor An eine diskrete Zufallsvariable, welche Vielfache von 0.5 annimmt. Kann der Erwartungswert a mit a= m X 1 p i i 2 i=1 berechnet werden. Die Wahrscheinlichkeiten pi müssen vom TCP-Trace geschätzt werden. Sei n die Gesamtzahl von gehäuften Verlustmomente im Trace. Dann ist 25 Abbildung 7: Histogramm der Zeiten zwischen Verlustspitzen pi = n X 1{ak = 1/2i }/n k=1 Der Gewinn dieses Verfahrens der Zusammenfassung der Verlustzeitpunkte ist, dass für das zweite Moment von Dn nun 2d2 annehmen kann. Weiterhin kann man aus Abb. 7 erkennen, dass die Verteilung von Dn durch eine verschobene exponentielle Verteilung gegeben ist, deren Zeiten zwischen zwei zusammengefassten Verlustmomenten immer größer als δ ist. Eine genauere Abschätzung des zweiten Moments kann man mit der Formel d(2) = δ 2 − 2δd + 2d2 erreichen. Es folgt das erste Modell mit einer Markov-Kette mit mehr als einem Zustand. Durch diese MarkovKette wird der Reduktionsfaktor modelliert. Man ordnet dem Pfad also eine Mehr-Zustands-MarkovKette zu. Die Transitionen der Markov-Kette finden bei zusammengefassten Verlustzeitpunkten statt. Dabei ist der Zustand der Markov-Kette bei einen zusammengefassten Verlustmoment gleich der Anzahl der Verluste innerhalb dieser Spitze. Die Markov-Kette legt fest, wie oft die Übertragungsrate 26 Abbildung 8: Histogramm der Verlustzwischenzeiten innerhalb der Spitzen halbiert wird. Ein Intervall von 0.4s kennzeichnet in den hier vorliegenden Aufzeichnungen zusammenhängende Verlustmomente. Die Entwicklung der Übertragungsrate kann dann wie folgt beschrieben werden, Xn+1 = N X aj 1{Yn = j}Xn + αDn , (15) j=1 wobei aj eine Konstante gleich 1/2j und Yn der Zustand der Markov-Kette ist. Dn beschreibt nach wie vor die Zeiten zwischen den Spitzen, die durch einen Poisson-Prozess angenähert modelliert werden können. Als ein Korollar aus Satz 4.3 kann der Durchsatz folgendermaßen berechnet werden: x = E[X(t)] = N X j=1 aj x j + αd(2) , 2d Die Schätzung der Übergangswahrscheinlichkeiten pˆij , i, j = 1, . . . , N der Markov-Kette {Yk } müssen aus dem Trace der TCP-Verbindung auf folgende Weise identifiziert werden: 27 pˆij = n−1 X 1{Yk+1 = j|Yk = i}/ k=1 n−1 X 1{Yk = 1}, k=1 wobei der Zustand Yk der Markov-Kette mit der Anzahl der Übertragungsratenreduktionen beim Eintritt des k-ten zusammengefassten Verlustes korrespondieren und n die Anzahl der zusammengefassten Verlustmomente bezeichnet. Falls die Anzahl der Reduktionen größer als N ist, bleibt die Markov-Kette im Zustand N . Daher sollte N so gewählt werden, dass es recht unwahrscheinlich ist, die Übertragungsrate mehr als N mal während einer Spitze zu reduzieren Diese Annahme sollte keine Probleme bereiten. Im Folgenden ist N = 4. Bei einer maximalen Distanz der Verluste von 0.4s während einer Spitze, fasst man die Verlustmomente in Spitzen zusammen in denen die Übertragungsrate durch zwei dividiert wurde. Wie zuvor nehmen wir an, dass der resultierende Prozess für die zusammengefassten Verlustzeitpunkte ein Poisson-Prozess ist. Wir nähern den Durchsatz des EFM unter Benutzung der Gleichungen (14) und (15) an. Abb. 10 zeigt die Ergebnisse. Das iid batch model zeigt den ersten Fall, wo die Zahl der Verlustmomente innerhalb einer Spitze durch eine gleichverteilte unabhängige Zufallsvariable beschrieben worden sind. Das Markovian Batch Model bezeichnet den zweiten Fall, wo diese Zahl als eine MarkovKette beschrieben wird. Diese zwei Methoden liefern fast das selbe Ergebnis, was bedeutet, dass die Verluste innerhalb einer Übertragungsspitze nahezu gleichverteilt und unabhängig sind. Das Ergebnis ist aber näher am EFM als der angenäherte Durchsatz des Poisson-Modells. Jedoch ist es nicht so gut wie erwartet. Der Hauptgrund dafür ist, dass die Länge einer Spitze ignoriert wird, welche vergleichbar mit der Zeit zwischen zwei Spitzen ist. Für andere Verbindungen, wo solche Spitzen zusammenhängender sind, könnten diese Modelle bessere Ergebnisse liefern. Man könnte erwarten, dass die Markov-Version unseres Modells bei Verbindungen mit starker Korrelation zwischen Spitzenlängen besser als die iid-Version annähert. Im nächsten Unterabschnitt wird ein Modell präsentiert, dass zusätzlich auch die Länge einer Spitze mit berücksichtigt. 5.3 Das Zwei-Zustands-Modell Im abschließend betrachteten Spezialfall des allgemeinen Modells, wechselt der Pfad der MarkovKette zwischen zwei unterschiedlichen Zuständen hin- und her. Also ist N = 2 und es korrespondiere der Zustand 1 mit einem Good - Zustand und der Zustand 2 mit einem Bad - Zustand. In beiden Zuständen können echte Verluste auftreten, jedoch mit unterschiedlicher Wahrscheinlichkeit. Wie die Bezeichnung es schon vermuten lässt, ist die Wahrscheinlichkeit im Bad-Zustand höher einen potenziellen in einen echten Verlustmoment umzuwandeln. Damit bestimmt die Markov-Kette die Verlustrate bei auftretenden potenziellen Verlustmomenten. Je höher die Wahrscheinlichkeit im BadZustand ist, desto gehäufter treten die Verlustmomente auf. Die Übergangswahrscheinlichkeiten der Markov-Kette seien wie folgt: 28 Abbildung 9: Transitionen der Mehrzustands-Markov-Kette p11 = g, p12 = g = 1 − g, p21 = b = 1 − b, p22 = b. also P= g 1−g 1−b b . Die stationäre Verteilung dieser Kette lässt sich leicht berechnen als π1 = b , b+g π2 = g . b+g Die folgenden Ergebnisse erhält man direkt als Korollare aus den Sätzen des allgemeinen N -Zustandsmodells. Satz 5.1 Die Laplace Stieltjes Transformierten W (s, i), i = 1, 2, sind die Lösungen der folgenden impliziten Gleichungen, ∗ Z 1 1 W (s, 1) = D (αs)[g ∗ 1 W (as, 1)sF (a)] + D (αs)[b 0 ∗ Z Z W (s, 2) = D (αs)[g W (as, 2)dF 2 (a)] (16) W (as, 2)dF 2 (a)] (17) 0 1 1 ∗ Z W (as, 1)sF (a)] + D (αs)[b 0 1 0 (18) 29 Abbildung 10: Vergleich der verschiedenen Modelle Ferner werden expliziten Ausdrücke für das 1. und 2. Moment der Übertragungsrate berechnet. Satz 5.2 Das 1. Moment (Erwartungswert) der Übertragungsrate zu einem potenziellen Verlustmoment ist gegeben durch E[Xn ] = x1 + x2 , wobei a2 (π2 − b) + π1 1 − a2 b − a1 g + a1 a2 (g + b − 1) a1 (π1 − g) + π2 = αd 1 − a2 b − a1 g + a1 a2 (g + b − 1) x1 = αd (19) x2 (20) (21) sind Satz 5.3 Das 2. Moment der Übertragungsrate zu einem potenziellen Verlustzeitpunkt ist gegeben durch 30 Abbildung 11: Nicht jede Überlast führt zur Senkung der Übertragungsrate. Abbildung 12: Zustandsdiagramm der Markov-Kette (2) (2) E[Xn 2 ] = x1 + x2 , wobei (2) (2) x1 = (2) (2) (2) x2 (2) 2αda1 a2 x1 (1 − g − b) + 2αd(a2 x2 g + a1 x1 g) + α2 d(2) (a2 π2 + π1 − ba2 ) (2) (2) (2) (2) 1 − ga1 − ba2 − a1 a2 (1 − g − b) (2) (2) 2αda1 a2 x2 (1 − g − b) + 2αd(a1 x1 g + a2 x2 b) + α2 d(2) (a1 π1 + π2 − ga1 ) = . (2) (2) (2) (2) 1 − ga1 − ba2 − a1 a2 (1 − g − b) Satz 5.4 Der Durchsatz, oder die durchschnittliche Übertragungsrate, ist damit 1 d(2) E[X(t)] = a1 x1 + a2 x2 + α 2 d wobei x1 und x2 den obigen Gleichungen entnommen werden kann. 31 Satz 5.5 Das zweite Moment der Übertragungsrate zu einem beliebigen Zeitpunkt ist durch (2) (2) (2) (2) E[X 2 (t)] = a1 x1 + a2 x2 + (2) αd(2) (a1 x2 + a2 x2 ) 1 2 d(3) + α d 3 d (2) gegeben, wobei wiederum x1 , x2 und x1 , x2 den obigen Gleichungen entsprechen. Die Ajn spezialisieren das Modell weiter. Ajn für j ∈ {1, 2} und ∀n ≥ 0 sei eine diskrete Zufallsvariable, die die Werten in {0.5, 1} annimmt. Ajn = 0.5 repräsentiert dabei, dass ein potenzieller in einen tatsächlichen Verlustmoment umgewandelt wird, also die Übertragungsrate wirklich reduziert wird. Dagegen repräsentiert Ajn = 1 den Fall, dass die Übertragungsrate zu einem potenziellen Verlustmoment nicht reduziert wird. Hier ist das selbe Modell wie in [3] beschrieben. In [3] wurde durch Simulation ein Spezialfall dieses ZweiZustandsmodell, nämlich pG = 0, pB = 1, überprüft. Dies ist ein Extremfall in dem alle Verlustmomente als gehäuft angenommen werden. Hier wird zusätzlich gezeigt, wie man die verschiedenen Parameter des Zwei-Zustandsmodell im allgemeinen Fall anhand eines Traces setzt. {Dn } sei die Folge der Zeiten zwischen zwei Verlusten. Wir bezeichnen außerdem pg := P {A1n = 0.5} = 1 − P {A1n = 1}, als die Wahrscheinlichkeit des Ereignisses, wenn ein pot. Verlust in einen echten Verlust im Zustand Good umgewandelt wird. Analog wird die Wahrscheinlichkeit einen potenziellen Verlust im Bad Zustand in einen echten umzuwandeln als pB := P {A2n = 0.5} = 1 − P {A2n = 1} definiert. Es wird angenommen, dass pG ≤ pB ist. Offensichtlich sind die Erwartungswerte, 1 a1 = E[A1n ] = 1 − pG 2 und 1 a2 = E[A2n ]1 − pB . 2 Nun wird gezeigt, wie die oben eingeführten Parameter, sowie d die Transitionsmatrix P aus echten TCP-Traces ermittelt werden können. Als erstes wird eine Abschätzung der Transitionsmatrix für die Markov-Kette {Yn } berechnet. {Yn } ist ja die Markov-Kette, die den Zustand des Kanals während eines potenziellen Verlustmomentes beschreibt. Sei {Sk } eine Folge von Verlustzwischenzeiten, die an einem realen TCP-Trace gemessen wurden. Nun muss festgelegt werden, wann der Pfad im Zustand Good und wann im Zustand Bad ist. Es wird folgende einfache Methode benutzt. Zunächst wähle man einen Zeitintervall τ , wie dieser zu wählen ist, wird später erklärt. Wenn die Verlustzwischenzeit Sn kleiner als τ ist, dann ist der Pfad im Bad-Zustand, andernfalls im Good-Zustand. Falls zwei oder mehr Verlustzwischenzeiten mit dem selben Zustand korrespondieren, dann legen wir diese InB tervalle zusammen und nennen den neuen Intervall LG k oder Lk abhängig vom Zustand. Diese neuen Intervalle repräsentieren die Zeit zwischen denen der Pfad entweder im Good- oder im Bad-Zustand ist. Bezeichne nG (bzw. nB ) die Anzahl der Zeitintervalle SkG (resp. SkB ) innerhalb des Messzeitraumes. Die Entwicklung des Pfad der gemessenen TCP-Verbindung kann dann als ein Markov-Prozess kontinuierlicher Zeit beschrieben werden, mit der folgenden infinitesimalen Generatormatrix, Q = −σG σG σB −σB 32 (22) wobei die Raten σG und σB folgendermaßen berechnet werden; σG = 1 nG ≈ PnG G , G E[Sk ] k=1 Sk σB = 1 nB ≈ Pnb B . B E[Sk ] k=1 Sk Auf manchen Pfaden, z.B. auf einer drahtlosen Verbindung, ist diese Markov-Kette a priori bekannt und kann direkt ohne Sicht des TCP-Traces benutzt werden. In dem Fall wo sie nicht bekannt ist, müssen die obigen Parameter unter Benutzung von τ berechnet werden. Jetzt fehlt noch die Methode, ein sinnvolles τ zu ermitteln. Zwei Ansätze um τ zu ermitteln, werden nun vorgestellt. Der erste ist etwas empirischer. Wir schauen auf das Histogramm der Verlustzwischenzeiten und wählen τ als die Zeit, die die zwei enthaltenen Verteilungen trennt. (0.4s im Fall von Abbildung 6). Die zweite Methode ist weniger empirisch und wird im Kontext von Markovmodulierten Poisson-Prozessen[8] benutzt. Im zweiten Ansatz definiert man den Parameter τ als den Erwartungswert der Verlustzwischenzeiten, dieser ist n 1X τ = E[Sk ] ≈ Sk , n k=1 wobei n die Anzahl der Verlustzwischenzeiten des gemessenen TCP-Trace ist. Ist die zu dem Kanal assoziierte zeitkontinuierliche Markov-Kette gegeben, so kann man die Parameter der eingebetteten diskreten Markov-Kette während der potenziellen Verlustzeitpunkte extrahieren. Zu diesem Zweck benutzt man die “Uniformisation”-Technik aus [11]. Man betrachtet den Verlustprozess {Dn } als einen Poisson-Prozess mit der Intensität 1/d höher als beide σG und σB . Zum Beispiel wäre die Abschätzung der durchschnittlichen RTT der Verbindung eine vernünftige Wahl für d. Durch die “uniformisations”-Technik kann der Pfad des zeitkontinuierlichen Prozesses 22 als Abtastwerte zu den Verlustzeitpunkten, durch eine Markov-Kette (mit diskreter Zeit) gleichwertig beschreiben werden. Die Transitionsmatrix diese Markov-Kette lautet dann P = 1 − dσG dσG dσB 1 − dσB . Nachdem d gewählt und σG und σB von dem Trace der Verbindung berechnet ist, können die Parameter b und g dieses Verlustmodells einfach ableitet werden. Nämlich, g = dσG und b = dσB . Nun wird noch pG und pB ermittelt. Seien ωkG (ωkB ) die Anzahl der tatsächlichen Verluste im Zeitintervall SkG (bzw. in SkB ). Dann sind die Wahrscheinlichkeiten pG und pB folgendermaßen gegeben: PnG G P G G ωk d nk=1 ω k=1 pG = PnG G = PnG Gk = dλG , k=1 Sk /d k=1 Sk PnB B P B B ωk d nk=1 ω k=1 pB = PnB B = PnB Bk = dλB . k=1 Sk /d k=1 Sk 1/λG und 1/λB repräsentieren die durchschnittliche Zeit zwischen den Fensterreduktionen im Good Zustand und entsprechend im Bad Zustand. Für die gleichen 11 Traces unseres Experiments haben 33 wir die Parameter dieses Modells berechnet. Wir benutzten τ = δ = 0.4s um den Bad Zustand vom Good Zustand zu unterscheiden. In Abb. 10 vergleichen wir die Ergebnisse mit dem “Exakten Fluss Modell”. Es wurde eine gute Übereinstimmung festgestellt. Trotz der guten Ergebnissen und der geschlossenen Form der Ausdrücke hat dieses Modell sehr einfach Parameter. Alles was wir benötigen um die Durchsatz anzunähern ist der Parameter, der mit dem Pfad assoziierten zwei - Zustands Markov-Kette und die Intensität der Verluste in beiden Zuständen. Bezüglich des Parameters d reicht es einen Weg zu wählen, so dass die Intensität der potenziellen Verluste 1/d höher ist, als die Intensität der Verluste im Bad Zustand λB . 6 Zusammenfassung In diesem Vortrag wurden Mehrzustands-Markov-Ketten, d.h. hier Markov-Ketten mit mehr als 2 Zuständen, zur Beschreibung der Datenübertragungsrate unter Netzüberlast eingesetzt. Diese Modelle können später zum Entwurf von Überlastbehandlungen, die spezielle Anforderungen an die Übertragung bereitstellen, herangezogen werden. Stichwort: QoS, z.B. bei Videoübertragung. Dazu wurde zunächst ein allgemeines Modell mit einer N -Zustands-Markov-Kette vorgestellt. Dieses Modell besteht grob gesagt aus einem Punktprozess, der die eintreffenden Überlastmomente modelliert und einer Markov-Kette, die die Reduktion der Übertragungsrate beschreibt. Für dieses allgemeine Modell wurde in der anschließenden Leistungsbewertung Erwartungswert und Varianz, d.h. das 1. und 2. Moment der Übertragungsrate zu den Verlustzeitpunkten berechnet. Dazu wurde u.a. die LaplaceStieljes-Transformation zur einfacheren Berechnung diese Werte benutzt. Danach wurde gezeigt, wie man die eigentlich interessanten Werte nämlich Erwartungswert und Varianz der Übertragungsraten zu beliebigen Zeitpunkten berechnet. Mit den fertigen Formeln des allgemeinen Modells wurden anschließend 3 verschiedene Spezialisierungen vorgestellt. Das erste benutzt lediglich einen Zustand und beschreibt deshalb nur unabhängig auftretenden Überlasten gut. Das nächste Modell hat dann mit einer variablen Zahl von Zuständen die Häufung von Überlastsituationen modelliert. Dabei sollte die Zustandzahl mindestens der maximal hintereinander auftretenden Verlustmomente entsprechen. Zu den dann seltener auftretenden zusammengefassten Verlustmomenten wurde die Übertragungsrate abhängig vom Zustand der Markov-Kette um Vielfache von 0.5 reduziert. Eine Zeitspanne für zusammenhängende Überlastmomente wurde lediglich empirisch aus den Verteilungen der Verlustmomente gewonnen. Die Ergebnisse waren nicht so gut wie erwartet, was darauf zurückzuführen ist, dass die Verlustmomente in den Traces tatsächlich relativ gleichverteilt auftraten und die Längen der Überlastspitzen nur unzureichend berücksichtigt. Schließlich wurde ein Modell mit 2 Zuständen vorgestellt, das sich dadurch auszeichnet nun potenzielle Verlustmomente einzuführen, die nicht immer mit einer Reduzierung der Datenübertragungsrate einhergehen müssen. Der Zustand der Markov-Kette beschreibt mit welcher Wahrscheinlichkeit ein potenzieller Verlust in eine tatsächliche Reduzierung umgewandelt wird. Die Werte dieses Modells lieferten die besten Ergebnisse, jedoch sind die Parameter relativ kompliziert zu ermitteln. Als Vergleich für die obigen Modelle diente das “Exact Fluid Model”, welches den linearen Anstieg der Übertragungsrate nach der Überlast idealisiert. Die Berücksichtigung sublineare Steigerungen ist eine Thema folgender Arbeiten. In einigen Arbeiten wurden diese Modelle bereits verfeinert. So wird 34 hier noch nicht berücksichtigt, dass das Übertragungsfenster beschränkt ist. Abschließend sind die Eigenschaften verschiedenen Fälle noch einmal tabellarisch zusammengestellt: exact fluid model Zustandsraum der MC - zu suchende Parameter - Basis-Modell 1 d, d(2) , Ajn iid-Batch-model 1 d, E[Ajn ] = a Modell multi-state model two-state model Approximierung Besonderheiten genau gut, aber aufwendige Parametersuche und unabhängige und gleichverteilte Dn gut Ausgangsbasis ca. 4 d, P = (pij )1≤i,j≤4 gut, aber nicht so gut wie erwartet 2 p G , pB , P = (pij )1≤i,j≤2 , B SkG , SkB , LG k , Lk sehr gut, da auch die Längen der Spitzen berücksichtigt wurden. n Verlustmomente innerhalb ≤ 0.4s werden zu einem mit Reduktion 2n zusammengefasst 6.1 Literaturverzeichnis Literatur [1] Stochastic vector difference equations with stationary coefficients. J. Appl. Prob., Vol. 32, pages 851–866, 1995. [2] Eitan Altman, Konstantin Avrachenkov, and Chadi Barakat. TCP in presence of bursty losses. In Measurement and Modeling of Computer Systems, pages 124–133, 2000. [3] Eitan Altman, Konstantin Avrachenkov, and Chadi Barakat. TCP in presence of bursty losses. In Measurement and Modeling of Computer Systems, pages 124–133, 2000. [4] F. Bacelli and P. Bremaud. Elements of queuing theory: Palm-Martingale calculus and stochastic recurrences. 1994. [5] A. Brandt. The stochastic equation yn+1 = an yn + bn with stationary coefficients. Adv. Appl. Prob., Vol. 18, pages 211–220, 1986. [6] W. Stevens M. Allman, V. Paxson. Rfc 2581 - tcp congestion control. IETF, 1999. [7] M. Wilkinson M. Rahmen, M. Bulmer. Error models for land mobile satellite channels. Australian Telecommunication Research, Vol. 25, No 2, pages 61–88, 1991. 35 [8] K.S. Meier-Hellstern. A fitting algorithm for markov-modulated poission processes having two arrival rates. Euro. J. Oper. Res., Vol. 29,, pages 370–377. [9] B. Vucetic and J. Du. Channel modeling and simulation in satellite mobile communication systems. IEEE J. on Selected Areas in Communication, Vol. 10, No. 8, pages 1209–1218, 1992. [10] Prof. Dr. B. Walke. Skript zu Kommunikationsnetze und Verkehrstheorie II. Lehrstuhl für Kommunikationsnetze an der RWTH-Aachen, 2000. [11] J. Walrand. An Introduction to queuing networks. Prentice Hall, 1988. ** Ende ** 36