PatentDe  


Dokumentenidentifikation DE602004002762T2 16.08.2007
EP-Veröffentlichungsnummer 0001602206
Titel System und Verfahren zum Übermitteln von Daten in einer Netzwerkumgebung
Anmelder Cisco Technology, Inc., San Jose, Calif., US
Erfinder STEWART, R., Randall, Crystal Lake, IL 60012, US;
LEI, Peter, Arlington Heights, IL 60004, US;
MAHAN, Patrick, Soquel, CA 95073, US
Vertreter Bosch, Graf von Stosch, Jehle Patentanwaltsgesellschaft mbH, 80639 München
DE-Aktenzeichen 602004002762
Vertragsstaaten AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HU, IE, IT, LI, LU, MC, NL, PT, RO, SE, SI, SK, TR
Sprache des Dokument EN
EP-Anmeldetag 11.02.2004
EP-Aktenzeichen 047102025
WO-Anmeldetag 11.02.2004
PCT-Aktenzeichen PCT/US2004/004057
WO-Veröffentlichungsnummer 2004082227
WO-Veröffentlichungsdatum 23.09.2004
EP-Offenlegungsdatum 07.12.2005
EP date of grant 11.10.2006
Veröffentlichungstag im Patentblatt 16.08.2007
IPC-Hauptklasse H04L 12/56(2006.01)A, F, I, 20051224, B, H, EP

Beschreibung[de]
TECHNISCHES GEBIET DER ERFINDUNG

Die Erfindung betrifft allgemein das Gebiet der Kommunikation und genauer ein System und ein Verfahren zur Datenübertragung in einer Netzwerkumgebung.

HINTERGRUND DER ERFINDUNG

Die Technik der Netzwerkkommunikation wird in unserer modernen Gesellschaft immer wichtiger. Ein wichtiger Bereich im Zusammenhang mit Netzwerkkommunikationen betrifft die Datenverwaltung. Datenverwaltungsverfahren können umgesetzt werden, um Verkehr in einem Netzwerk auf angemessene Weise zu lenken, während minimale Verzögerungen und zu vernachlässigende Verluste für die zugehörigen Informationen, die die Kommunikationsarchitektur durchlaufen, bereitgestellt werden. Bestimmte Kommunikationsprotokolle, die allgemein verwendet werden, um Informationen von einem Punkt zum anderen zu übertragen, können durch ihre Unfähigkeit für die wirksame Identifizierung von Netzparametern behindert werden, was ihre Fähigkeit, Informationen schnell und exakt an das gewünschte Ziel zu liefern, beeinträchtigt.

Außerdem ist es bei der Durchführung einer angemessenen Datenverwaltung wichtig, Engpässe, Impedanzen und andere Staustellen, die durch erhöhtes Kommunikationsaufkommen bewirkt werden, oder übermäßige Verlustraten, die in dem Kommunikationssystem herrschen, zu minimieren. In bestimmten Fällen können Elemente wie Überlastungen und Engpässe als Informationsverlust angesehen werden, wodurch doppelte Datensegmente als Antwort auf eine übermäßige Fehlerrate, die erzeugt wird, versendet werden. Somit stellt die Fähigkeit, Daten effizient zu verwalten und Paketverluste und Verzögerungen, die in einem Netz vorkommen, zu minimieren, eine bedeutende Herausforderung für Netz-Designer und Kommunikationssystem-Operatoren dar.

Es ist bekannt, die Bestätigung des Empfangs von Paketen in einem Zwischenknoten (siehe z.B. Koike A., „Active TCP Control by a Network", GLOBECOM'99, Rio de Janeiro, Brasilien, 5.–9. Dezember 1999, Seiten 1921–1925) oder einem Empfänger (siehe z.B. Hsiao P.-H. et al., „Video over TCP with Receiver-based Delay Control", Proceedings of the 11th International Workshop on Network and Operating Systems Support for Digital Audio and Video, 25.–26. Juni 2001, Seiten 199–208) zu verzögern, um die Round-Trip-Zeit zu verlängern.

Es ist auch bekannt, die letzte ACK in dem Dreiwege-Handshake-Mechanismus zur Einrichtung von TCP-Verbindungen zu verzögern, da diese ACK mit dem ersten Datenpaket, das versendet wird, huckepack genommen werden kann (siehe Nahum E. et al., „Performance Issues in WWW-Servers", IEEE/ACM Transactions on Networking, Bd. 10, Nr. 1, Februar 2002, Seiten 2–11). Die Eliminierung dieses überflüssigen Pakets verbessert die Serverleistung, da weniger Pakete verarbeitet werden müssen.

ZUSAMMENFASSUNG DER ERFINDUNG

Aus den obigen Ausführungen kann ein Fachmann schließen, dass mittlerweile ein Bedarf an einem verbesserten Datenverwaltungsansatz besteht, der eine angemessene Informationszuweisung für Vorrichtungen oder Komponenten in einer Netzwerkumgebung bietet.

Die vorliegende Erfindung liefert ein Verfahren wie im unabhängigen Anspruch 1 definiert, eine Vorrichtung wie im unabhängigen Anspruch 7 definiert, ein System wie im unabhängigen Anspruch 13 definiert, und ein Computerprogramm oder ein Computerprogrammerzeugnis oder ein computerlesbares Medium, wie vom unabhängigen Anspruch 19 definiert. Die abhängigen Ansprüche werden von den Unteransprüchen der Erfindung definiert.

KURZE BESCHREIBUNG DER ZEICHNUNG

Um ein umfassenderes Verständnis der vorliegenden Erfindung und ihrer Merkmale und Vorteile zu ermöglichen, wird auf die folgende Beschreibung in Zusammenschau mit den begleitenden Figuren verwiesen, worin ähnliche Bezugszeichen ähnliche Teile bezeichnen, worin:

1 ein vereinfachtes Blockschaltbild eines Kommunikationssystems für die Datenübermittlung in einer Netzwerkumgebung ist;

2 ein vereinfachtes Blockschaltbild von mehreren Netzwerkelementen ist, die in dem Kommunikationssystem enthalten sind; und

3 ein Flussdiagramm ist, das eine Folge von Beispielsschritten darstellt, die zu einem Verfahren für die Datenübermittlung in einer Netzwerkumgebung gehören.

AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG

1 ist ein vereinfachtes Blockschaltbild eines Kommunikationssystems 10 zur Verwaltung von Daten in einer Netzwerkumgebung entsprechend einer Ausführungsform der vorliegenden Erfindung. Das Kommunikationssystem 10 schließt einen Endnutzer 12, mehrere Internetprotokoll-(IP-) Netze 16a und 16b, mehrere Netzelemente 20a und 20b und einen Satelliten 24 ein. Das Kommunikationssystem 10 kann in jeder geeigneten Netzwerkumgebung oder Kommunikationsarchitektur angeordnet sein, beispielsweise im Zusammenhang mit einer nicht-terrestrischen (Satelliten-) Verbindung, einer zellulären 2.5 G- oder 3 G-Datennetzkonfiguration oder einer Standard-Transmission Control Protocol/Internet Protocol-(TCP/IP-) Architektur, die Informationspakete in einem Netz zu empfangen, zu senden oder anderweitig zu lenken versucht. Das Kommunikationssystem 10 kann auch in jeder anderen Umgebung angeordnet sein, die eine gewisse Verzögerung zwischen Knoten in einem Netzwerk erfährt.

Entsprechend den Lehren einer Ausführungsform der vorliegenden Erfindung hat das Kommunikationssystem 10 die Aufgabe, eine Umgebung bereitzustellen, in der Daten auf angemessene Weise verwaltet werden können, so dass sie auf effiziente Weise durch das Netzwerk laufen. Das Kommunikationssystem 10 kann mit einem Kommunikationsprotokoll zusammenarbeiten, das zu dem Kommunikationssystem 10 gehört und das in Netzelementen 20a und 20b verwirklicht ist. Das Protokoll kann ankommende IP-Pakete über eine Verbindung zwischen Netzelementen 20a und 20b tunneln. Dabei kann es sich beispielsweise um eine Satellitenverbindung handeln, die von einem Satelliten 24 bereitgestellt wird. Die Pakete, die getunnelt werden sollen, können auf einem IP-Protokoll basieren, das die gleichzeitige Existenz von aktuellen Verbesserungen und Lösungen (oder Legacy Applications) zulässt.

Netzwerkelemente 20a20b können die Aufgabe haben, eine Verzögerung an einem oder beiden Enden eines Übermittlungswegs einzufügen, und können bewirken, dass ein End-Host die Round-Trip-Zeit-(RTT-) und die Wiederholungszeitüberschreitungs-(retransmission time out, RTO) Werte über die Satellitenverbindung modifiziert, um Paketverluste oder Überlastungen im Netzwerk zu mildern. Diese Operation kann verhindern, dass der End-Host die Wiederholungsübertragungsrate wiederholt und zum kollabieren bringt, wie es das implementierte Protokoll verlangen könnte. Darüber hinaus kann das Kommunikationssystem 10 für eine Verzögerung sorgen, die auf der Zahl der gewünschten lokalen Wiederholungen beruht. Die Verzögerung gibt eine berechnete Variable wieder, die auf der Zahl der aktuell implementierten Wiederholungen beruht. Die Verzögerung ermöglicht es dem Protokoll, sich an große Pulsfehler in der entsprechenden Satellitenverbindung anzupassen oder sich davon zu erholen. Darüber hinaus kann eine solche Implementierung mit minimalen Protokoll-Overhead- und unbedeutenden Header-Konfigurationen für Pakete, die das Netzwerk durchlaufen, bereitgestellt werden.

Das Kommunikationssystem 10 bietet einen Datenverwaltungsansatz, der absichtlich eine Verzögerung für ausgewählte Informationspakete durchführt, um Überlastungs- und Paketverlustprobleme im Netzwerk zu minimieren und die Bandbreitenausnutzung zu maximieren. Dies ist ein Ergebnis der Identifizierung eines angemessenen RTO-Werts im Zusammenhang mit den Informationen. Der RTO-Wert kann im Zusammenhang mit einem geeigneten Algorithmus verwendet werden, um für eine Varianz für den Datendurchlauf im Netzwerk zu sorgen. Die vorgeschriebene RTO kann dazu führen, dass ein Zeitintervall für das Paket bereitgestellt wird, durch das dieses innerhalb eines optimalen Zeitintervalls an sein gewünschtes Ziel geliefert wird.

Das Kommunikationssystem 10 kann auch eine Reihe von Datenverwaltungsmerkmalen für ausgewählte Netzwerkelemente 20a und 20b bereitstellen. Solche Merkmale können Empfangs- bzw. ACK-Splitting, Wiederholungsprozesse und die Manipulation einer Window-Scaling-Option, die im Zusammenhang mit dem Protokoll, das verwendet wird, um Informationen von einem Punkt zum anderen zu übertragen, bereitgestellt wird, einschließen. Diese Merkmale können in Kombination (oder unabhängig voneinander) verwendet werden, um Informationen in dem Netzwerk auf angemessene Weise zu lenken. Zusätzlich können diese Merkmale an jedem geeigneten Ort bereitgestellt werden, um eine angemessene Verwaltung der Daten im Netzwerk zu bewirken. Eine solche Implementierung kann auch ein durchgehendes bzw. End-to-End-Modell bewahren und dazu führen, dass keine oder nur minimale Änderungen für einen Host-Stack erforderlich sind, damit er von der Architektur der vorliegenden Erfindung profitieren kann. Demgemäß kann die Leistungssteigerung, die mit der effizienten Verwaltung von Daten verbunden ist, im Zusammenwirken mit Elementen und Objekten erreicht werden, die bereits ein einer gegebenen Architektur vorhanden sind.

Ein Endnutzer 12 ist ein Client oder eine Entität, der bzw. die eine Kommunikationssitzung im Kommunikationssystem 10 über ein IP-Netzwerk 16a einrichten möchte. Eine „Kommunikationssitzung" schließt Kommunikationsverbindungen, Tunnels und/oder andere geeignete Verbindungen oder Kopplungen, die verwendet werden, um einen Datenaustausch zu erleichtern, ein. Der Endnutzer 12 kann auch als „End-Host" bezeichnet werden und kann Vorrichtungen einschließen, die verwendet werden, um eine Kommunikation zu initiieren, wie einen Rechner, einen personenbezogenen Datenträger (Personal Digital Assistant, PDA), einen Laptop oder ein elektronisches Notebook, ein Telefon, eine Mobilstation oder irgendeine andere Einrichtung, Komponente, irgendein anderes Element oder Objekt, die in der Lage sind, einen Sprach-, Videostream- oder Datenaustausch in einem Kommunikationssystem 10 zu initiieren. Der Endnutzer 12 kann auch eine geeignete Schnittstelle mit einem menschlichen Nutzer, wie ein Mikrophon, eine Anzeige, eine Tastatur oder eine andere Endgeräteausrüstung (wie beispielsweise eine Schnittstelle mit einem PC oder mit einem Faxgerät, falls der Endnutzer 12 als Modem verwendet wird) einschließen. Darüber hinaus kann es sich bei dem Endnutzer 12, wie in 1 dargestellt, auch um irgendeine Einrichtung handeln, die eine Kommunikationssitzung für eine andere Entität oder ein anderes Element initiieren möchte, wie ein Programm, eine Datenbank oder eine andere Komponente, Einrichtung, ein anderes Element oder Objekt, die in der Lage sind, einen Sprach-, Video- oder Datenaustausch innerhalb des Kommunikationssystems 10 zu initiieren. Daten, wie in dieser Schrift verwendet, bezeichnet jede Art von numerischen, Sprach- oder Schriftdaten oder jede Art von Quell- oder Objekt-Code oder jede andere geeignete Information in jedem passenden Format, das von einem Punkt zum anderen übertragen werden kann.

IP-Netzwerke 16 und 16b stellen jeweils eine Reihe von Punkten oder Knoten von miteinander verbundenen Kommunikationsstrecken zum Empfangen und Senden von Informationspaketen, die das Kommunikationssystem 10 durchlaufen, dar. In einer speziellen Ausführungsform stellen die IP-Netzwerke 16a oder 16b ein Datenpaket-Netzwerk (PDN) dar. Die IP-Netze 16a und 16b können auch eine Kommunikationsschnittstelle zwischen End-Hosts und Netzwerkelementen 20a und 20b bieten. Die IP-Netzwerke 16a und 16b können alternativ dazu jedes lokale Netzwerk (Local Area Network, LAN), innerstädtische Netzwerk (Metropolitan Area Network, MAN), Fernnetz (Wide Area Network, WAN), virtuelle Privatnetz (Virtual Private Network, VPN), drahtlose lokale Netzwerk (Wireless Local Area Network, WLAN), Intranet oder jede andere geeignete Architektur oder jedes andere geeignete System, das Netzwerkkommunikationen erleichtert, einschließen. Die IP-Netzwerke 16a und 16b können in einer bestimmten Ausführungsform der vorliegenden Erfindung ein TCP/IP-Kommunikationssprachprotokoll implementieren. Außerdem können IP-Sicherheits-(IP Security, IPSEC) Authentifizierung und Verschlüsselung für die Kommunikation zwischen 16a und 16b verwendet werden. Jedoch können IP-Netzwerke 16a und 16 alternativ jedes andere geeignete Kommunikationsprotokoll zum Senden und Empfangen von Datenpaketen im Kommunikationssystem 10 implementieren.

Die Netzwerkelemente 20a–b sind Stücke von Netzwerkausrüstung, die dazu dienen, in einer Netzwerkumgebung zu kommunizieren. Die Netzwerkelemente 20a–b können den Durchlauf von Informationen zwischen zwei Knoten in einem Netzwerk verwalten, lenken oder auf andere Weise erleichtern. Die Netzwerkelemente 20a–b sind in einer Ausführungsform Router, können aber alternativ dazu ein Schalter, eine Brücke, ein Netzübergang bzw. Gateway, ein Prozessor, ein Lastausgleicher oder jede andere geeignete Komponente, Einrichtung, jedes andere geeignete Element oder Objekt, die dazu dienen, Informationen oder Daten auszutauschen, sein. Darüber hinaus kann jedes der Netzwerkelemente 20a–b beliebige geeignete Hardware, Software, Komponenten, Elemente oder Objekte einschließen, das dazu dienen, eine oder mehrere seiner Funktionen auszuführen oder gewisse Kommunikations- oder Verarbeitungsleistungen für die Netzwerkelemente 20a–b zu liefern. Im Betrieb können die Netzwerkelemente 20a–b eine Kommunikationsplattform für Endnutzer 12 bereitstellen und eine Satellitenverbindung zum Satelliten 24 einschließen. Jedes der Netzwerkelemente 20a–b kann Datenpakete senden (und gegebenenfalls verarbeiten) und empfangen, um ausgewählte Informationen für einen End-Host, wie beispielsweise den Endnutzer 12, bereitzustellen. Darüber hinaus können Netzwerkelemente 20a–b miteinander kommunizieren und Identifizierungs- und Authentifizierungs- bzw. Handshaking-Operationen durchführen, um sicherzustellen, dass Kommunikationen auf die richtige Weise weitergeleitet oder anderweitig im Netzwerk verwaltet werden.

Ein Satellit 24 ist ein nicht-terrestrisches Element, das eine Satellitenkommunikationsverbindung für Netzwerkelemente 20a und 20b bereitstellt. Der Satellit 24 dient dazu, Informationspakete zu senden, zu empfangen und (gegebenenfalls) zu verarbeiten. Der Satellit 24 ist zu Hochgeschwindigkeits-Datenübermittlung fähig und kann geeignete Schnittstellen für den Empfang und das Senden von Informationen einschließen. Der Satellit 24 kann auch Verarbeitungselemente einschließen, die dazu dienen, eine oder mehrere Operationen an einkommenden Datensegmenten durchzuführen. Der Satellit 24 kann in bestimmten Ausführungsformen weggelassen werden, so dass Netzwerkelemente 20a–b direkt miteinander verkoppelt sind oder mit einer anderen geeigneten Kommunikationsschnittstelle ausgestattet sind. Der Satellit 24 kann beispielsweise durch ein beliebiges geeignetes terrestrisches Element, wie einen Router, einen Schalter, eine Brücke, einen Netzübergang oder eine beliebige andere geeignete Schnittstelle ersetzt sein. Alternativ dazu kann der Satellit 24 durch eine Reihe von anderen geeigneten Vorrichtungen ersetzt sein, die dazu dienen, verschiedene Kommunikationsaufgaben zu erleichtern. Bestimmte Alternativen werden nachstehend ausführlicher erörtert.

Das Kommunikationssystem 10 kann zusammen mit jedem Element implementiert werden, das ein auf IP beruhendes Transportprotokoll (wie TCP) verwendet und eine erhebliche Anzahl von Fehlern einschließt, was bewirkt, dass es TCP-Datenübermittlungen verfälscht oder negativ beeinflusst. Der Satellit 24 wurde nur als Beispiel angeführt. Andere Anwendungen für ein Kommunikationssystem 10 können drahtlose Protokolle, zelluläre/mobile Telefondaten, die in der Lage sind, mittels IP-Paketen zu kommunizieren, Netzzugangs-Server (Network Access Server, NAS), Gateway General Packet Radio Service (GPRS)-Support Nodes (GGSN), öffentliche Fernwählnetze (Public Switch Telephone Networks, PSTN), Serving GPRS-Support Nodes (SGSN), Global System for Mobile (GSM)-Umgebungen usw. einschließen.

Im Betrieb eines Ausführungsbeispiels kann ein Endnutzer 12 Daten oder Informationen zu erhalten versuchen, die von (oder in Zusammenhang mit) einem IP-Netzwerk 16b bereitgestellt werden. Beispielsweise kann der Endnutzer 12 danach trachten, Kontakt mit einem Webserver aufzunehmen, der mit dem IP-Netzwerk 16b verkoppelt ist. Der Webserver kann ein Programm darstellen, das unter Verwendung des Client/Server-Modells und des Hypertext-Transferprotokolls (HTTP) des World Wide Web Webnutzern die Dateien bietet, die Webseiten bilden. Das vom Endnutzer 12 initiierte Paket kann vom IP-Netzwerk 16a zum Netzwerkelement 20a übertragen werden (wobei kein Verlust auftritt) und sofort zum Netzwerkelement 20b gesendet werden. Das Netzwerkelement 20b kann das Paket für eine andere Satellitenleitungs-RTO festhalten und das Paket dann an das IP-Netzwerk 16b freigeben. Das IP-Netzwerk 16b kann den Empfang des Pakets bestätigen und dann kann das Paket an das Netzwerkelement 20b zurückgeschickt werden. Das Paket kann dann wieder auf der Freigabeseite festgehalten werden, und die Bestätigung seines Empfangs kann ebenfalls übertragen werden. Somit können drei RTOs verwendet werden, damit das Paket das Netzwerk durchqueren kann. Zusätzlich kann die Fenstergröße, die vom TCP bereitgestellt wird, wirksam vergrößert werden. Diese Operation kann mit dem Senden eines Flag in dem Paket, welches signalisiert, wie lange das Paket verzögert wurde, kombiniert sein. Ein anderes Flag, das anzeigt, dass das Paket wiederholt gesendet wird, kann ebenfalls in dem Paket enthalten sein. Zusätzlich werden nachstehend Einzelheiten in Bezug auf andere Beispielsimplementierungen angegeben.

2 ist ein vereinfachtes Blockschaltbild von Netzwerkelementen 20a und 20b, das ein Ausführungsbeispiel der vorliegenden Erfindung wiedergibt. Das Netzwerkelement 20a kann ein Verzögerungselement 40, ein ACK-Splittingelement 42, ein Wiederholungselement 44 und ein Window-Scaling-Element 48 einschließen. Zusätzlich kann das Verzögerungselement 40 eine Warteschlange 46 einschließen (oder mit dieser verkoppelt sein). Ebenso kann das Netzwerkelement 20b ein Verzögerungselement 50, ein ACK-Splitting-Element 52, ein Wiederholungselement 54 und ein Window-Scaling-Element 58 einschließen. Außerdem kann das Verzögerungselement 50 eine Warteschlange 58 einschließen (oder mit dieser verkoppelt sein. Die Netzwerkelemente 20a und 20b können mittels eines Satelliten 24 als Schnittstelle, wie oben beschrieben, kommunizieren. Oder die Netzwerkelemente 20a und 20b können direkt oder über ein WLAN-Element 28 oder ein Funknetzwerk (Radio Access Network, RAN) 30 kommunizieren. Jedes dieser Elemente (Satellit 24, WLAN-Element 28 und RAN 30) kann als das einzige Element verwendet werden, das die Datenübertragungen zwischen dem Netzwerkelement 20a und dem Netzwerkelement 20b erleichtert. Oder diese Elemente können auf jede geeignete Weise kombiniert werden, um den Empfang und das Senden von Daten zwischen Netzwerkelementen 20a und 20b zu erleichtern. Außerdem können ein WLAN-Element 28 und ein RAN 30 an anderen geeigneten Orten im Kommunikationssystem 10 bereitgestellt werden, um den Datenaustausch im Netzwerk zu erleichtern. Beispielsweise können diese Elemente so angeordnet werden, dass sie eine Plattform ergeben, die es dem Endnutzer 12 erlaubt, sich in das IP-Netzwerk 16a einzuloggen. Dies kann Autorisierung- und Authentifizierungsprozeduren einschließen, die von diesen Elementen für einen End-Host (z.B. einen Endnutzer 12) durchgeführt werden.

Das WLAN-Element 28 ist eine drahtlose Komponente oder Plattform, die es dem Endnutzer 12 erlaubt, sich über eine drahtlose oder eine Funkverbindung mit einem lokalen Netzwerk zu verbinden. Eine solche Plattform kann in der Regel auf dem IEEE 802.11-Standard oder jeder anderen geeigneten Architektur beruhen, die drahtlose Datenübertragungen in einer Netzwerkumgebung ermöglicht. WLAN-Element 28, wie hierin verwendet, kann gegebenenfalls auch für einen „Hot Spot" oder ein öffentliches WLAN (PWLAN) stehen. Standorte für WLAN-Elemente 28 können öffentliche Orte, wie z.B. Cafés, Flughäfen, Restaurants, Hotels und Konferenzzentren sein, damit ein Endnutzer 12 Anschlussmöglichkeiten hat.

Das WLAN-Element 28 kann mit dem Endnutzer 12 oder jeglicher Einrichtung, die vom Endnutzer 12 verwendet wird, wie z.B. einer Mobilstation, einem PDA oder einem Laptop, verkoppelt sein. Das WLAN-Element 28 kann auch mit Netzwerkelementen 20a und 20b verkoppelt sein, und Authentifizierungsprozeduren für den Endnutzer 12 durch die Kommunikation mit einem korrespondierenden Netzwerk erleichtern. Geeignete Verschlüsselungsprotokolle können gegebenenfalls und je nach den speziellen Anforderungen in einem Protokoll enthalten sein, das mit einem WLAN-Element 28 assoziiert ist.

Ein RAN 30 ist eine Kommunikationsschnittstelle oder -plattform, die zwischen Netzwerkelementen 20a und 20b operiert. Oder das RAN kann zwischen einem End-Host (z.B. einem Endnutzer 12) und einem Netzwerkelement 20a angeordnet sein, damit dieses zugänglich wird. Das RAN 30 kann eine Basis-Transceiverstation und einen Basisstations-Controller einschließen. Die vom RAN 30 bereitgestellte Kommunikationsschnittstelle ermöglicht den Datenaustausch zwischen einem Endnutzer 12 oder Netzwerkelementen 20a–b und einer beliebigen Zahl von ausgewählten Elementen im Kommunikationssystem 10. Das RAN 30 erleichtert die Lieferung eines Anforderungspakets, das vom Endnutzer 12 erzeugt wird, und den Empfang von Informationen, die vom Endnutzer 12 gesucht werden. Das RAN 30 bietet nur ein Beispiel für eine Kommunikationsschnittstelle, da auch andere Arten von Kommunikationsschnittstellen oder -plattformen für jedes spezielle Netzwerk-Design oder jede spezielle Netzwerkkonfiguration je nach speziellen Bedürfnissen verwendet werden können.

Die in den Netzwerkelementen 20a und 20b enthaltenen Elemente dienen dazu, die Datenverwaltung zu erleichtern, um Informationen im Kommunikationssystem 10 auf angemessene Weise zu lenken und zuzuweisen. Verzögerungselemente 40 und 50 können verwendet werden, um ein geeignetes Zeitintervall oder eine geeignete Verzögerung einzufügen, um Informationen auf optimale Weise im Kommunikationssystem 10 weiterzuschicken. Warteschlangen 46 und 56 können verwendet werden, um Pakete zu speichern, die zur Verzögerung ausgewählt sind und die anschließend freigegeben werden können, wenn das vorgeschriebene Zeitintervall verstrichen ist.

Eine Verzögerung könnte gegebenenfalls nur auf einer Seite der Satelliten-(oder Kommunikations-) Verbindung konfiguriert sein. Wenn beispielsweise ein starker Datenfluss in das IP-Netzwerk 16b vom IP-Netzwerk 16a stattfindet, könnte man eine Verzögerung nur auf einer Seite implementieren und dadurch die RTO insgesamt senken. Auf diese Weise können Verluste in einer Richtung ausgeglichen werden. Oder eine Verzögerung könnte auf beiden Seiten der Kommunikationsleitung positioniert werden. RTO, wie in diesem Dokument bezeichnet, gibt einen Rechenwert im Zusammenhang mit einer Sendewiederholung wieder. Beispielsweise könnte in TCP-Umgebungen eine Initial-RTO von drei Sekunden ein Voreinstellungswert sein, der bereitgestellt wird. Ein Synchronisations-(SYN-) Paket kann verwendet werden, um eine Verbindung zu initiieren. Ein Peer kann dann eine SYN-ACK senden und diese Operation kann getaktet werden. Diese Information kann nun im Zusammenhang mit einem Algorithmus verwendet werden, um eine effiziente RTO zu berechnen. Dies stellt einen glatten Round-Trip ohne Mehrdeutigkeit dar. Eine RTO kann auf passende Weise berechnet werden, die gegebenenfalls eine Varianz einschließt.

Bestimmte Protokolle, wie TCP, können ein RTO-Minimum einschließen. Falls eine RTT für ein bestimmtes Ziel berechnet wird, könnte der Zeitgeber, der mit der Operation assoziiert ist, auf ein RTO-Minimum gesetzt werden, bevor eine Wiederholung durchgeführt und ein Fehler unterstellt wird. Beispielsweise kann dieser Zeitgeber auf eine (1) Sekunde gesetzt werden. Ein Verzögerungssegment kann auf jeder Seite der Kommunikationsverbindungsstrecke eingefügt werden (zwischen Netzwerkelemente 20a und 20b eingefügt werden) und eine extra RTO-Verzögerung einschließen. Wenn TCP anfänglich einen Kontakt herstellt, kann es einen Zeitgeber auf drei Sekunden einstellen (als Initial-RTO bezeichnet, da TCP nicht den exakten Laufabstand kennt). Eine erste Berechnung im Zusammenhang mit einem bestimmten Paket wird dann durchgeführt. Falls eine Verzögerung auf jeder Seite der Kommunikationsverbindung eingefügt wird (was einer RTO gleichkommt, bevor die Pakete im Netzwerk freigegeben werden), kann es nun über 1,6 Sekunden dauern, bis das Paket in dem Ausführungsbeispiel einen Round-Trip durchläuft. Somit werden die Netzwerkelemente 20a–b so programmiert oder konfiguriert, dass sie für diesen Wert passen. RTT und RTO zwischen Netzwerkelementen 20a–b werden berechnet, um die Bestimmung, ob die Informationen sofort freigegeben werden sollen, zu unterstützen.

Die Positionierung der Verzögerung für ausgewählte Datenpakete kann den Schutz eines gewissen Verkehrsumfangs zulassen, während anderer Verkehr nicht adressiert wird. Wenn beispielsweise Web-Anforderungen in einer Richtung ausgeführt werden, ist es nicht unbedingt wichtig, diese Informationen zu verzögern. Es kann jedoch optimal sein, Daten von der Web-Site so schnell wie möglich zu sehen. Diese Daten können geschützt werden, so dass keinerlei Verlust in einer solchen Kommunikationssitzung erscheint.

Wiederholungselemente 44 und 45 sind Software-Elemente, die verwendet werden können, um Informationen erneut zu senden, die als verloren identifiziert werden können oder bei denen festgestellt wurde, dass sie beschädigt wurden. ACK-Splitting-Elemente 42 und 52 können verwendet werden, um Informationen zu replizieren, so dass mehrere Kopien von Datensegmenten verdoppelt und leicht verändert werden können, bevor sie zu ihrem beabsichtigten Ziel geschickt werden. ACK-Splitting nimmt eine TCP-ACK und teilt sie in viele einzelne TCP-ACKs, die insgesamt den ursprünglichen ACK-Wert abdecken. Dies ermöglicht die schnellere Übertragung von mehr Daten über ein entsprechendes Netzwerk.

Window-Scaling-Elemente 48 und 58 sind Software-Elemente, die verwendet werden können, um Window-Scaling-Merkmale, die im Zusammenhang mit einem Protokoll verwendet werden können, das bereitgestellt wird, um die Übergabe von Informationen an und von Netzwerkelemente(n) 20a und 20b zu erleichtern, angemessen zu manipulieren. Wenn TCP initialisiert, wird eine Window-Scaling-Option bereitgestellt. Ein Window-Scaling von null liefert eine 1:1-Datenkonelation. Ein Window-Scaling von eins translatiert in ein Vielfaches (oder einen Faktor) von zwei. Somit translatiert beispielsweise ein Window-Scaling von zwei in ein Vielfaches von vier. Das Window-Scaling (auch Window Stuffing genannt) ermöglicht die Fortbewegung von mehr Daten über die Kommunikationsverbindung als auf der Verbindung nach Vorschrift des zugehörigen Protokolls transportiert würden.

Jedes der Elemente, das in den Netzwerkelementen 20a und 20b enthalten ist, kann unter Verwendung von Software entsprechend einer bestimmten Ausführungsförm der vorliegenden Erfindung implementiert werden. Oder diese Elemente können jeweils einzeln in geeigneter Hardware oder in Komponenten, Vorrichtungen oder anderen geeigneten Objekten oder Elementen, die die Operationen der Netzwerkelemente 20a–b bewirken, enthalten sein. Irgendeine oder mehrere dieser Fähigkeiten oder Funktionen kann bzw. können auch außerhalb der Netzwerkelemente 20a und 20b oder gegebenenfalls in Kombination mit beliebigen geeigneten Konfigurationen, Modulen, Systemen oder Architekturen und entsprechend den speziellen Bedürfnissen bereitgestellt werden.

Im Betrieb manipulieren Window-Scaling-Elemente 48 und 58 ein Empfangsfenster (rwnd), das in einem TCP-Kommunikationsprotokoll vorgesehen ist. Das Empfangsfenster schreibt vor, wie viele ausstehende Daten ein Peer einem Sender zugesteht, bevor ein Bestätigungssignal empfangen wird. Wenn ein Verlust identifiziert wird, kann angenommen werden, dass es zu einem Überlauf in bestimmten Protokollen gekommen ist. Solche Protokolle können auf diese Annahme mit einer Signalisierung, dass bestimmte Elemente nur ein einziges ausstehendes Paket haben dürfen, bevor eine Bestätigung empfangen wird, antworten. Demgemäß wird mit jeder Bestätigung ein weiteres Paket zum versenden freigegeben. Beispielsweise kann ein Paket gesendet werden und eine Bestätigung kann empfangen werden. Dann können zwei Pakete gesendet werden, und dann drei und so weiter. In TCP-Operationen kann eine Stauung als Verlust betrachtet werden, wodurch eine Stauung angenommen und eine Datenweitergabe verhindert wird. Ein Staufenster kann auch in bestimmten Protokollen vorgesehen werden, welches ein Verkehrsmuster im Zusammenhang mit dem Netzwerk bestimmt.

Im Betrieb können ACK-Splittingelemente 42 und 52, die in Netzwerkelementen 20a bzw. 20b enthalten sind, gegebenenfalls ACK-Splittingtechniken an ausgewählten Paketen durchführen. Wenn erkannt wird, dass eine TCP-ACK über eine Kommunikationsverbindung weitergegeben wird, kann sie mehrmals multipliziert und leicht verändert werden, damit der Sender dem Netzwerk schneller mehr Daten übertragen kann. Diese Operation kann das Auframpen von Daten oder ein „Langsamstart"-Problem, das dem TCP-Protokoll innewohnt, lösen. Netzwerkelemente 20a und 20b können TCP-Pakete analysieren, um diese Operation durchzuführen und dadurch den IP-Netzwerken 16a und 16 zu ermöglichen, mehr Daten in einem bestimmten Zeitintervall zu senden.

Im Betrieb eines Ausführungsbeispiels (angenommen, das Netzwerk wurde gerade initiiert oder gebootet) richten die Netzwerkelemente 20a und 20b, bevor ein Endnutzer 12 kommunizieren kann, eine Kommunikationsplattform ein. Diese bildet die Protokollverbindung und kann eine Wiederholungsoperation, die zu einem späteren Zeitpunkt durchgeführt wird, erleichtern/ermöglichen. Nutzerdaten können gesendet werden, sobald die Verbindung eingerichtet ist. Ein Endnutzer 12 kann eine Verbindung öffnen, indem er für dieses Paket ein TCP-SYN-Paket zum Netzwerkelement 20a schickt. In einem Ausführungsbeispiel wird eine HTTP-Anfrage vom Endnutzer 12 initiiert. Ein Netzwerkelement 20a kann das Paket mittels des implementierten Protokolls einkapseln und dann an dem Paket eine Sequenznummer anbringen, so dass ein extra Header vor dem IP-Paket geschaffen wird. Das IP-Paket kann über die Kommunikationsverbindung zum Netzwerkelement 20b gesendet werden. Das Netzwerkelement 20b kann den Header von dem IP-Paket entkapseln und eine lokalisierte Bestätigung für dieses Paket zum Netzwerkelement 20a schicken.

Falls eine Verzögerung ausgewählt ist, wird entweder das Verzögerungselement 40 oder 50 aufgerufen (abhängig davon, wo die Kommunikation initiiert wurde), und das Paket kann in der Warteschlange 46 oder 56 positioniert werden. Falls nicht, kann eine Bewertung im Hinblick darauf durchgeführt werden, ob eine ACK-Splittingoperation nötig ist. Falls sie nötig ist, wird das ACK-Splitting durch ACK-Splittingelemente 42 oder 52 bewirkt. Da in dem angegebenen Beispiel ein SYN-Paket empfangen wird, kann eine Window Stuffing-Operation durchgeführt werden. Somit wird das angesprochene Fenster vergrößert, was dazu führt, dass das Netzwerkelement 20b glaubt, dass das Netzwerkelement 20a mehr Daten aufnehmen kann als andernfalls zu erwarten wäre.

Das Netzwerkelement 20b kann dann das gleiche Verfahren für ein SYN-ACK-Paket durchführen. Das Netzwerkelement 20b kann eine Sequenznummer an dem Paket anbringen und das Paket über die Kommunikationsverbindung, die vom Satelliten 24 bereitgestellt wird, übertragen. Das Netzwerkelement 20 kann dem Netzwerk 20b lokal bestätigen, dass es das Paket empfangen hat. Dann können die gleichen Überprüfungen durchgeführt werden. Es kann bestimmt werden, ob ein ACK-Splitting, eine Verzögerung oder ein Window Stuffing angebracht ist. Falls keine Verzögerungen ausgewählt sind, kann das Paket sofort an das Netzwerk freigegeben werden. Wenn ein Window Stuffing angebracht ist, kann das Bestätigungssignal empfangen werden die IP-Verbindung eingerichtet werden. Nun wurde eine Datenübertragung eingerichtet und es kann ein Informationsaustausch erreicht werden.

In einem Ausführungsbeispiel wird eine Zeitmarkierung für das Paket entworfen, und zwar aufgrund dessen, wann es an einem der Netzwerke 20a oder 20b angekommen ist. Wenn eine Verzögerung für das Paket durchgeführt wird, kann das Paket in der Warteschlange 56 oder in der Warteschlange 46 stehen und auf geeignete Weise verzögert werden, bis es fertig zur Freigabe ist. Dann können ähnliche Überprüfungen durchgeführt werden, die Window Stuffing- und ACK-Splitting-Operationen beinhalten.

Nachdem ein ACK-Signal vom Netzwerkelement 20b zum Netzwerkelement 20a geschickt wurde, das die HTTP-Anfrage bestätigt, wird bewertet, ob eine Verzögerung notwendig ist. Eine Bewertung kann dann hinsichtlich dessen durchgeführt werden, ob ein ACK-Splitting angebracht ist. In dem Fall, dass eine ACK-Splitting-Operation notwendig- ist, wird eine konfigurierbare Zahl von ACKs erzeugt. Somit werden „n" ACKs rückwärts nach draußen zum Endnutzer 12 erzeugt (vorausgesetzt, der ACK-Pegel ist „n"), und entsprechend werden „n" ACKs für eine einzige ACK über die Satellitenverbindung geschickt. Falls n = 10 zwingt dies den Endnutzer 12 (oder irgendeinen Host, der mit dem Netzwerkelement 20a verkoppelt ist), sein Staufenster um zehn Segmente statt um eines zu vergrößern. Nun ist eine stabile Datenübertragung eingerichtet.

In einer anderen Ausführungsform wird angenommen, dass irgendein Datenstück auf dem Weg vom Netzwerkelement 20b zum Endnutzer 12 verloren gegangen ist. Ein bestimmtes Paket kann von einem Netzwerkelement 20b über einen Satelliten 24 versendet werden und das Paket kann das Netzwerkelement 20a, aus welchem Grund auch immer, nicht erreichen. Dies kann durch das Netzwerkelement 20b erkannt werden, das kein Bestätigungssignal (ACK) für das IP-Paket erhält. Das Netzwerkelement 20b kann das Paket erneut senden und ein Flag darin einschließen, das anzeigt, dass dies ein wiederholt gesendetes Paket ist. Das Netzwerkelement 20a kann dann bestätigen, dass dieses Paket schließlich empfangen worden ist, wobei die Bestätigung zum Netzwerkelement 20b übermittelt wird. Falls keine Verzögerung ausgewählt ist, kann das Paket freigegeben werden und es können Standardüberprüfungen durchgeführt werden. Wenn man für dieses Beispiel annimmt, dass eine Verzögerung am Netzwerkelement 20a bewirkt wurde, können alle Pakete am Netzwerkelement 20a verzögert sein. Somit können in dem Paket zwei Flags vorhanden sein. Ein Flag kann anzeigen, dass es wiederholt gesendet wurde, und ein zweites Flag kann anzeigen, wie lange es auf seine Freigabe gewartet hat. Das Netzwerkelement 20a kann auch auf den gleichen Zeitstempel schauen, der vom Netzwerkelement 20b bereitgestellt wird, und diese Zeit von der konstruierten Verzögerungszeit subtrahieren. Die Verzögerung kann daher aufgrund der Historie des Pakets zurückskaliert werden, um die Verzögerung zu normalisieren. Pakete können sofort freigegeben werden und Verzögerungswarteschlangen können völlig umgangen werden, wo es wichtig ist, die Pakete so schnell wie möglich zu ihrem nächsten Ziel weiterzugeben. Für Netzwerke mit kürzerer Latenz können Pakete mehrmals erneut gesendet werden, in welchem Fall ein Sende-Flag und der Verzögerungsumfang aufgrund der Zeit, die in der Warteschlange verbracht wurde, in dem Paket signalisiert werden können. Synchronisationsparameter können einen oder mehrere dieser Wiederholungsprozesse vorschreiben.

In Fällen, wo ein Stream Control Transmission Protocol (SCTP) verwendet wird, muss ein solches Protokoll nicht eine Fensterskalierungsoperation bereitstellen. Stattdessen kann SCTP eine selektive Bestätigung (SACK) oder eine Bestätigung, die die intervenierenden Stücke eines Datenflusses beschreibt (statt nur kumulative Informationen über den Datenfluss bereitzustellen) liefern. Somit kann die SACK ein zweiunddreißig Bit-Fenster einschließen. Jedes Mal, wenn die SACK über die Kommunikationsverbindung kommt, kann der Window Stuffing-Parameter manipuliert werden, um das Fenster durch Verschieben und Multiplizieren jeder SACK zu vergrößern, um anzuzeigen, dass mehr Daten an einem gegebenen Netzwerkelement 20a oder 20b empfangen werden können.

3 ist ein vereinfachtes Ablaufschema, das eine Reihe von Beispielsschritten darstellt, die mit einem Verfahren zur Datenübertragung in einer Netzwerkumgebung assoziiert sind. Das Verfahren beginnt bei Schritt 100, wo ein Paket von einem Netzwerkelement 20a empfangen wird. Das Paket kann vom Endnutzer 2 abgeschickt und verwendet werden, um eine Kommunikationssitzung im Netzwerk einzurichten. Bei Schritt 102 kann eine Bewertung hinsichtlich dessen durchgeführt werden, ob irgendeine Zahl von Operationen angemessen ist. Beispielsweise kann ein ACK-Splitting durchgeführt werden oder ein Verzögerungselement kann für das Paket vorgesehen werden. Oder die Window-Scaling-Option kann in diesem Stadium von welchem Netzwerk, das gerade das Paket hält, auch immer manipuliert werden. In Schritt 104 kann das Paket über eine Satellitenverbindung (oder jede andere geeignete Kommunikationsverbindung), die vom Satelliten 24 (oder jeder anderen geeigneten Kommunikationsschnittstelle) bereitgestellt wird, zum Netzwerkelement 20b laufen. Alternativ dazu kann das Paket gegebenenfalls und entsprechend den jeweiligen Bedürfnissen über ein WLAN-Element 28 oder ein RAN 30 oder jedes geeignete Element reisen.

In Schritt 106 kann das Netzwerkelement 20b das Paket empfangen und ähnliche Überprüfungen durchführen, um zu bestimmen, ob das Paket ein ACK-Splitting, ein Window Stuffing oder eine Verzögerung auslösen sollte. In Schritt 108 können dann ausgewählte Pakete über die Kommunikationsverbindung an das Netzwerkelement 20a zurückgeschickt werden, so dass der Nutzer 12 die verlangten Informationen in einem optimalen Zeitintervall erhält. Einige der in 3 dargestellten Schritte können gegebenenfalls verändert oder verzögert werden, und es können dem Flussdiagramm auch zusätzliche Schritte hinzugefügt werden. Diese Änderungen können auf der jeweiligen Systemarchitektur beruhen oder auf speziellen Kommunikationsanordnungen oder -konfigurationen und gehen nicht über den Bereich der Lehren der vorliegenden Erfindung hinaus.

Obwohl die vorliegende Erfindung ausführlich mit Bezug auf spezielle Ausführungsformen beschrieben worden ist, sei klargestellt, dass verschiedene weitere Änderungen, Ersetzungen und Abänderungen an ihr vorgenommen werden können, ohne vom Gedanken und Bereich der vorliegenden Erfindung abzuweichen. Obwohl beschrieben wurde, dass die vorliegende Erfindung in einer speziellen Netzwerkkonfiguration arbeitet, kann die vorliegende Erfindung in jeder Netzwerkumgebung verwendet werden, die danach trachtet, Daten oder Ressourcen im Zusammenhang mit einem Endnutzer 12 oder der entsprechenden Kommunikationsarchitektur zu verwalten. Beispielsweise kann das Kommunikationssystem 10 im Zusammenhang mit einem GGSN oder einem SGSN implementiert werden, was ein Kommunikationsmedium in einer GPRS-Dienstumgebung vorsieht. Wenn das Kommunikationssystem 10 in einer GPRS-Umgebung implementiert wird, können eine Reihe von IP-Netzwerkübergängen vorgesehen sein und jeder kann ein GGSN einschließen, das im Zusammenhang mit SGSNs bei der Übertragung von Hochgeschwindigkeits-Datenaustausch im Kommunikationssystem 10 arbeitet. GPRS kann mehrere Internet-Kommunikationsprotokolle unterstützen und kann vorhandene IP-, X.25- oder andere geeignete Anwendungen oder Protokolle fähig machen, über GSM-Verbindungen zu operieren. Das Kommunikationssystem 10 kann gegebenenfalls auch im Zusammenhang mit Paketdaten-Dienstknoten (PDSN), Drahtloselementen oder einem NAS und auf der Grundlage von speziellen Netzwerkbedürfnissen verwendet werden.

Obwohl die vorliegende Erfindung mit Bezug auf Kommunikationen zwischen einem Endnutzer 12 und IP-Netzwerken 16a und 16b beschrieben wurde, kann der hierin beschriebene Datenübertragungsansatz auch für Kommunikationen zwischen beliebigen Komponenten in einem oder außerhalb von einem Netzwerk verwendet werden. Die vorliegende Erfindung hat den Endnutzer 12 und die IP-Netzwerke 16a und 16b lediglich für Lehr- und Anweisungszwecke beschrieben. Dies sollte nicht als Beschränkung im Hinblick darauf aufgefasst werden, wie oder wo das Routing-Protokoll der vorliegenden Erfindung implementiert wird. Das Kommunikationssystem 10 kann im Zusammenhang mit jeder Architektur oder Konfiguration implementiert werden, die danach trachtet, die Bandbreitenleistung zu maximieren und/oder Daten zu verwalten, die eine gewisse Latenz- oder Verzögerung bei der Weitergabe erfahren. Darüber hinaus können die oben offenbarten Verarbeitungs- und Routing-Konfigurationen im Zusammenhang mit einer beliebigen Komponente, Hardware, Software, einem beliebigen Objekt oder Element, die oder das an dem Kommunikationsprozess beteiligt ist, implementiert werden. Solche Elemente können außerhalb der Netzwerkelemente 20a–b liegen oder im Zusammenhang mit diesen bereitgestellt werden.


Anspruch[de]
Verfahren zum Kommunizieren von Daten in einer Netzwerk-Umgebung, das umfasst:

Empfangen eines oder mehrerer Pakete zum Aufbau einer Kommunikationssitzung in einem Netzwerk (100);

Bestimmen, welches der Pakete verzögert werden sollte (102);

Verzögern eines oder mehrere ausgewählte Pakete für ein bestimmtes Zeitintervall, um einen mit den ausgewählten Paketen assoziierten Round-Trip Zeitparameter zu vergrößern; und

Kommunizieren der ausgewählten Pakete, nachdem das Zeitintervall abgelaufen ist.
Verfahren nach Anspruch 1, das des Weiteren umfasst: Durchführen von Empfangs-Splitting für eines oder mehrere der Pakete, um zu ermöglichen, dass mehr Daten in dem Netzwerk kommuniziert werden. Verfahren nach Anspruch 1, das des Weiteren umfasst: Neuübertragen eines oder mehrerer der Pakete im Ansprechen auf das Identifizieren, dass eines oder mehrere der Pakete nicht an dem Zielort empfangen worden ist/sind. Verfahren nach Anspruch 3, das des Weiteren umfasst: Bereitstellen eines Neuübertragungs-Flags in einem oder mehreren der Pakete, das/die neu übertragen wird/werden. Verfahren nach Anspruch 1, das des Weiteren umfasst: Bearbeiten eines Window-Scaling Parameters, der in einem Protokoll enthalten ist, das mit der Kommunikationssitzung assoziiert ist, um zu ermöglichen, dass von einem Netzwerk-Element, das mit dem Initiieren der Kommunikationssitzung in dem Netzwerk assoziiert ist, mehr Daten empfangen werden. Verfahren nach Anspruch 1, das des Weiteren umfasst: Speichern eines oder mehrerer der ausgewählten Pakete, bevor die ausgewählten Pakete freigegeben werden, wobei die ausgewählten Pakete freigegeben werden, sobald das Zeitintervall abgelaufen ist. Vorrichtung zum Kommunizieren von Daten in einer Netzwerk-Umgebung, die aufweist:

ein erstes Netzwerkelement (20a, 20b), das fähig ist, ein oder mehrere Pakete zu empfangen, um eine Kommunikationssitzung in einem Netzwerk aufzubauen, wobei das erste Netzwerkelement aufweist:

ein Verzögerungselement (40, 50), das fähig ist zu bestimmen, welches der Pakete verzögert werden sollte, und das fähig ist, eines oder mehrere ausgewählte Pakete für ein bestimmtes Zeitintervall zu verzögern, um einen Round-Trip Zeitparameter zu vergrößern, der mit den ausgewählten Paketen, die zu einem zweiten Netzwerkelement (20a, 20b) zu kommunizieren sind, assoziiert ist, wobei die ausgewählten Pakete kommuniziert werden, nachdem das Zeitintervall abgelaufen ist.
Vorrichtung nach Anspruch 7, die des Weiteren aufweist: ein Bestätigungs-Splitting-Element (42, 52), das fähig ist, für eines oder mehrere der Pakete Bestätigungs-Splitting durchzuführen, um zu ermöglichen, dass mehr Daten in dem Netzwerk kommuniziert werden. Vorrichtung nach Anspruch 7, die des Weiteren aufweist: ein Neuübertragungs-Element (44, 54), das fähig ist, eines oder mehrere der Pakete im Ansprechen auf das Identifizieren, dass eines oder mehrere der Pakete nicht an einem Zielort empfangen worden ist/sind, neu zu übertragen. Vorrichtung nach Anspruch 9, wobei eines oder mehrere der Pakete einen Neuübertragungs-Flag aufweist/aufweisen, der angibt, dass eines oder mehrere der Pakete neu übertragen wird/werden, und wobei eines oder mehrere der Pakete einen Time-Flag aufweist/aufweisen, der angibt, wie lange eines oder mehrere der Pakete gewartet hat/haben, um zu dem Zielort kommuniziert zu werden. Vorrichtung nach Anspruch 7, die des Weiteren aufweist: ein Window-Scaling-Element (48, 58), das fähig ist, einen Window-Scaling Parameter, der in einem Protokoll, das mit der Kommunikationssitzung assoziiert ist, zu bearbeiten, um zu ermöglichen, dass mehr Daten von dem ersten Netzwerk-Element empfangen werden. Vorrichtung nach Anspruch 7, die des Weiteren aufweist: eine Schlange (46, 56), die fähig ist, eines oder mehrere der ausgewählten Pakete zu speichern, bevor die ausgewählten Pakete freigegeben werden. System zum Kommunizieren von Daten in einer Netzwerk-Umgebung, das umfasst:

eine Einrichtung zum Empfangen eines oder mehrerer Pakete zum Aufbau einer Kommunikationssitzung in einem Netzwerk; eine Einrichtung zum Bestimmen, welches der Pakete verzögert werden sollte; eine Einrichtung zum Verzögern eines oder mehrerer ausgewählter Pakete für ein bestimmtes Zeitintervall, um einen Round-Trip Zeitparameter, der mit den ausgewählten Paketen assoziiert ist, zu vergrößern; und eine Einrichtung zum Kommunizieren der ausgewählten Pakete, nachdem das Zeitintervall abgelaufen ist.
System nach Anspruch 13, das des Weiteren umfasst: eine Einrichtung zum Durchführen von Bestätigungs-Splitting für eines oder mehrere der Pakete, um zu ermöglichen, dass mehr Daten in dem Netzwerk kommuniziert werden. System nach Anspruch 13, das des Weiteren umfasst: eine Einrichtung zur Neuübertragung eines oder mehrerer der Pakete im Ansprechen auf das Identifizieren, dass eines oder mehrere der Pakete nicht an einem Zielort empfangen worden ist/sind. System nach Anspruch 15, das des Weiteren umfasst: eine Einrichtung zur Bereitstellung eines Neuübertragungs-Flags in einem oder mehreren der Pakete, das/die neu übertragen wird/werden. System nach Anspruch 13, das des Weiteren umfasst: eine Einrichtung zum Bearbeiten eines Window-Scaling Parameters, der in einem Protokoll enthalten ist, das mit der Kommunikationssitzung assoziiert ist, um zu ermöglichen, dass mehr Daten von einem Netzwerkelement, das mit dem Initiieren der Kommunikationssitzung in dem Netzwerk assoziiert ist, empfangen werden. System nach Anspruch 13, das des Weiteren umfasst: eine Einrichtung zum Speichern eines oder mehrerer der ausgewählten Pakete in einer Schlange, bevor die ausgewählten Pakete freigegeben werden, wobei die ausgewählten Pakete freigegeben werden, sobald das Zeitintervall abgelaufen ist. Computerprogramm oder Computerprogramm-Erzeugnis oder Computer-lesbares Medium, das einen Code zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 6 aufweist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com