-
TECHNISCHES GEBIET
-
Die
Erfindung betrifft die Kommunikationstechnik. Insbesondere betrifft
die Erfindung eine Technik zum Verarbeiten von überholten Informationseinheiten
innerhalb eines Wiederholungssendungsschemas.
-
HINTERGRUND DER ERFINDUNG
-
Kürzliche
Verbesserungen in Datentransferprotokollen haben die Zuverlässigkeit
des Datentransports über
verbindungslose Paketnetze, wie beispielsweise die Internetprotokolloder
IP-Netze, erhöht.
Ein verhältnismäßig neues
Datentransferprotokoll, das Stromsteuerungsübertragungsprotokoll (SCTP
für engl.
Stream Control Transmission Protocol), wird über dem IP zunehmend in Anwendungen eingesetzt,
in welchen eine Überwachung
und eine Erfassung des Verlusts von Sitzungen erforderlich sind
(siehe zum Beispiel das SCTP-Standard-Entwurfdokument
RFC2960, das von der Arbeitsgruppe für Signalisierungstransport
der Internet Engineering Task Force erarbeitet wurde). Das SCTP
stellt einen gesicherten fehlerfreien nichtgedoppelten Transfer von
Nachrichten bereit. Das SCTP umfasst außerdem Prüfsummen und Reihenfolgenummern,
um eine Datenverfälschung,
einen Datenverlust und eine Datenverdoppelung zu erfassen. Wenn
Daten verloren gehen oder verfälscht
werden, umfasst das SCTP einen Wiederholungssendungsmechanismus, der
zum Korrigieren solcher Ereignisse verwendbar ist.
-
Gemäß dem SCTP
erzeugt ein Protokoll der höheren
Schichten ULP (Upper Layer Protocol) oder der Benutzer des SCTPs
eine oder mehr Nachrichten. Große
Nachrichten werden in Informationseinheiten zerstückelt (segmentiert),
welche in einigen Anordnungen auch als „chunks" (die normalerweise aus einem Chunk-Kopf
und einem chunk-spezifischen Inhalt bestehen) bezeichnet werden,
um in ein oder mehr Pakete zu passen, und kleine Chunks, die von
kleinen Nachrichten hergeleitet sind, können zu einem Paket gebündelt werden.
Ein Paket umfasst normalerweise einen gemeinsamen SCTP-Kopf, Benutzerdaten,
die innerhalb der SCTP-Daten-Chunks eingekapselt sind, und manchmal
Steuer-Chunks.
-
Wenn
erzeugt, wird jeder Chunk, der Benutzerdaten enthält, mit
einer eindeutigen Transportreihenfolgenummer (TSN für engl.
Transport Sequence Number) assoziiert und anschließend gesendet.
Die TSN ermöglicht
es dem empfangenden SCTP-Endpunkt,
den Empfang eines Chunks zu bestätigen
und doppelte Zustellungen zu erfassen. Die TSN ist unabhängig von
jeglicher Stromreihenfolgenummer, die auf der Stromebene zugewiesen
werden kann. Nach der Übertragung
und am Empfänger
(oder empfangenden Ende) werden die zerstückelten Nachrichten zusammengesetzt,
und die gebündelten
Nachrichten werden zerlegt.
-
Wenn
ein Paket empfangen wird, wird eine Bestätigung, welche die TSNs von
empfangenen Chunks enthält,
an den Sender gesendet. Das SCTP umfasst auch ein Wiederholungssendungsschema, in
welchem in einigen Varianten, wenn eine Bestätigung für einen bestimmten Daten-Chunk
nicht innerhalb einer vorbestimmten Zeitdauer empfangen wird, der
unbestätigte
Daten-Chunk wieder an den Empfänger
gesendet wird. Die Zeit, die für
einen Bestätigungsempfang
zugeteilt wird, muss mit anderen Zeitgebern, welche die Benutzeranwendung
beaufsichtigen können,
koordiniert werden. Andernfalls kann ein Paket gesendet werden,
nachdem eine Anwendung aufgehört,
zu existieren. Andernfalls kann ein Paket gesendet werden, nachdem
eine Anwendung zu bestehen aufgehört hat. Diese oder ähnliche
Umstände führen dazu,
dass ein überholtes
(oder veraltetes) Paket gesendet wird.
-
In
einigen Implementierungen weist das ULP als der SCPT-Benutzer das SCTP
an, eine ULP-Nachricht zu löschen,
sobald die Lebensdauer eines Pakets abläuft (und demnach überholt
wird), bevor das Paket erstmals gesendet wird (und während es
sich in einer Sendewarteschlange befindet). Es tauchen jedoch Schwierigkeiten
auf, wenn ein Paket für
eine bestimmte Anwendung bereits gesendet wurde und einer Wiederholungssendung
unterzogen wird. In diesem Fall wurde bereits ein Daten-Chunk für diese
Nachricht zusammengesetzt, und der Daten-Chunk wurde von der Sendewarteschlange
an den Empfänger
gesendet, aber es wurde keine Bestätigung empfangen. Solch ein
Daten-Chunk wird dem Wiederholungssendungsschema des SCTPs unterzogen.
Für eine
ULP-Nachricht, die einer Wiederholungssendung unterzogen wird, hat
das SCTP dem zugehörigen
Daten-Chunk bereits eine TSN zugewiesen – was erfordert, dass ein Paket
mit dieser TSN ungeachtet dessen, ob die Lebensdauer der ULP-Nachricht
abgelaufen ist, gesendet und empfangen werden muss. Eine Wiederholungssendung
von Paketen für
Anwendungen, die bereist beendet wurden, erhöht die Wahrscheinlichkeit eines
Verbindungsverlusts wesentlich und verbraucht sowohl Verarbeitungsleistung
als auch Bandbreite unnötigerweise.
-
Der
IETF-Entwurf „SCT
Partial Reliability Extension",
verfügbar
als XP-002277731, offenbart eine Erweiterung für das SCTP-Protokoll, die es
einem SCTP-Endpunkt ermöglicht,
seinem Partner zu signalisieren, dass er seinen angehäuften Ack-Punkt vorwärts bewegen
sollte.
-
US-B1-6 621 796 offenbart
einen Verwerfungsmechanismus für
selektive Wiederholungsaufforderung ARQ ausführbar ist, wobei der Verwerfungsmechanismus
ein vom Sender eingeleitetes Verwerfungssignalisierungsschema aufweist.
-
US-B1-6 519 223 offenbart
ein System und ein Verfahren zur Implementierung eines halbzuverlässigen Wiederholungssendungsprotokolls,
das sowohl eine selektive Wiederholungsaufforderung Automatic Repeat
Request (ARQ, automatische Wiederholungsaufforderung) als auch eine
Segmentierung und Zusammensetzung von Datenpaketen verwendet.
-
EP-A-1 398 897 offenbart
ein Senden einer Steuernachricht, die fehlende Daten als verloren identifiziert.
-
Es
besteht jedoch noch immer ein Bedarf an einer wirksamen Technik
zum Verarbeiten von überholten
Daten-Chunks in einem Wiederholungssendungsschema.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Dieser
Bedarf wird gemäß der Erfindung durch
ein Verfahren zur Verarbeitung von überholten unterscheidbaren
Informationseinheiten gemäß Anspruch
1 gedeckt, das die folgenden Schritte umfasst: Identifizieren einer überholten
Informationseinheit, die vorher gesendet wurde und einer Wiederholungssendung
unterzogen wird, wobei die überholte Informationseinheit
einen Identifikationscode (welcher aus Buchstaben, Zahlen und/oder
Symbolen bestehen kann) aufweist, Erzeugen einer Dummyinformationseinheit
mit dem Identifikationscode der überholten
Informationseinheit und Senden der Dummyinformationseinheit anstelle
der überholten
Informationseinheit.
-
Der
Identifikationscode oder die Informationscodes, die jeder Informationseinheit
zugewiesen werden, können
zufällig
ausgewählt,
nacheinander zugewiesen oder durch irgendwelche anderen Kriterien
gewählt
werden. Vorzugsweise sind die Identifikationscodes eindeutig oder
wurden innerhalb des Systems für
eine ausreichende Zeitdauer nicht verwendet, so dass eine Wahrscheinlichkeit
gering ist, dass es zwei anhängige
Informationseinheiten (einerlei ob überholt oder sonstig) mit demselben
Identifikationscode gibt.
-
In
einigen Ausführungsformen
wird die überholte
Informationseinheit identifiziert, indem festgestellt wird, ob die Lebensdauer
einer Nachricht abgelaufen ist. Eine Informationseinheit kann auf
der Basis einer Vielfalt von zusätzlichen
oder alternativen Kriterien, umfassend benutzerdefinierte Systemparameter,
ob eine entsprechende Empfangsbestätigung für die konkrete Informationseinheit
innerhalb einer bestimmten Zeitdauer empfangen wurde, oder ob die Anwendung,
welche das Übertragungsprotokoll
verwendet, aufgehört
hat oder anderweitig beendet wurde, als überholt eingestuft werden.
-
Ein
Zweck des Modifizierens der Informationseinheit kann sein, die Verarbeitung
zu reduzieren, die erforderlich ist, wenn die Originalinformationseinheiten
einfach ohne Änderung
wieder gesendet werden würden.
Vorzugsweise ist die Paketgröße der Dummyinformationseinheit
kleiner als die Größe der überholten
Informationseinheit, so dass ihre Wiederholungssendung weniger Bandbreite
und weniger Verarbeitungsleistung benötigt, als wenn die Originalinformationseinheit
einfach wieder gesendet werden würde.
Die Paketgröße kann
verringert werden, indem unnötige
Daten, wie beispielsweise wenigstens welche von Benutzer- und Steuerdaten
oder andere Daten (die sonst Verarbeitungsleistung verbrauchen würden), die
nicht mehr erforderlich sind, entfernt werden. Es ist jedoch wünschenswert,
dass der Identifikationscode, welcher der überholten Informationseinheit
entspricht, beibehalten wird, so dass durch den Empfänger nach
dem Empfang der Dummyinformationseinheit ein entsprechender Bestätigungsempfang
gesendet werden kann.
-
In
einigen Anordnungen wird jede Dummyinformationseinheit einzeln gesendet,
Dummyinformationseinheiten können
jedoch auch mit anderen Dummyinformationseinheiten gesendet oder
gebündelt
werden. Das Bündeln
kann derart erfolgen, dass ein Bündel
nur Dummyinformationseinheiten enthält, aber keine „regulären" Informationseinheiten.
In einigen Ausführungsformen
werden die Dummyinformationseinheiten nur gebündelt, wenn es Dummyinformationseinheiten
gibt, die fortlaufende eindeutige Identifikationscodes aufweisen.
-
Ein
Bündeln
von Informationseinheiten im Allgemeinen (und von Dummyinformationseinheiten im
Besonderen) ermöglicht
eine besonders wirksame Verwendung von paketbasierten Diensten,
die dem Wiederholungssendungsschema unterliegen können. Zum
Beispiel können
eine oder mehr Informationseinheiten gebündelt werden, um Datenpakete
zu erzeugen, die eine optimierte Größe in Bezug auf die maximale
Paketgröße aufweisen,
die durch den Pakettransferdienst zugelassen ist. Demnach kann der Gesamtnetzverkehr
im Vergleich zu der Situation, in welcher jede Informationseinheit
separat über
das Netz gesendet wird, verringert werden.
-
Bei
solchen Anordnungen wird eine Informationseinheit, die als überholt
identifiziert wurde, aus einer Widerholungssendungswarteschlange
entfernt und anschließend
in eine Dummyinformationseinheit umgeändert. Nachdem eine Dummyinformationseinheit
erzeugt ist, kann sie innerhalb der Wiederholungssendungswarteschlange
z. B. an der Position der überholten
Informationseinheit oder an einer anderen Position zur Wiederholungssendung
angeordnet werden. Den Dummyinformationseinheiten kann eine Sendepriorität innerhalb
einer Warteschlange (z. B. der Wiederholungssendungswarteschlange)
erteilt werden, derart dass sie vor dem Senden von Informationseinheiten,
die Benutzerdaten enthalten, gesendet und demnach gelöscht werden
können.
Wenn eine überholte
Informationseinheit identifiziert wurde, die noch nicht erstmals
an einen Empfänger
gesendet wurde, sorgen einige Varianten für ein Verwerfen der überholten
Informationseinheit, statt die überholte
Informationseinheit zu senden.
-
Das
Verfahren der vorliegenden Erfindung kann außerdem die Schritte des Empfangens
der Dummyinformationseinheit durch einen Empfänger (oder an einem empfangen
Ende) umfassen.
-
Bei
Empfang der Dummyinformationseinheit verwirft oder ignoriert der
Empfänger
vorzugsweise die empfangene Dummyinformationseinheit. Er kann außerdem einen
entsprechenden Bestätigungsempfang
an den Sender für
jede empfangene Dummyinformationseinheit senden.
-
Am
sendenden und/oder empfangenden Ende können ein oder mehr Verarbeitungsmerkmale deaktiviert
werden, wenn die Dummyinformationseinheit verarbeitet wird, da Dummyinformationseinheiten
keine anspruchsvollen Verarbeitungsaufgaben z. B. in Bezug auf Daten
und Steuerinformationen, die darin enthalten sind, erfordern. Demnach
werden die Verarbeitungsbetriebsmittel entlastet, und der Verarbeitungsleistungsverbrauch
wird verringert. Außerdem
ermöglicht
die Deaktivierung von Verarbeitungsmerkmalen eine schnellere Verarbeitung
von Dummyinformationseinheiten insbesondere auf der empfangenden
Seite.
-
Eine
Ausführungsform
der Erfindung sieht ein Verfahren zum Löschen von überholten reihenfolgegesicherten
Daten-Chunks vor, die über
das Stromsteuerungsübertragungsprotokoll
(das Wiederholungssendungsfähigkeiten
umfasst) vorzugsweise über
einem paketbasierten Übertragungsdienst
wie dem Internetprotokoll gesendet werden. Diese Ausführungsform
umfasst die folgenden Schritte: Erzeugen eines oder mehrerer Daten-Chunks für jede Nachricht
von einem Benutzerschichtprotokoll, Zuweisen zu jedem Daten-Chunk
einer Transportreihenfolgenummer, Erzeugen eines oder mehrerer Pakete
auf der Basis der Daten-Chunks, Senden der Pakete, Identifizieren
einer überholten
Nachricht, die vorher gesendet wurde und eine oder mehrere Chunks
aufweist, Modifizieren jedes Daten-Chunks, der aus der überholten
Nachricht erzeugt wird, vor der Wiederholungssendung, um einen Pseudodaten-Chunk mit der Transportreihenfolgenummer
des entsprechenden Daten-Chunks zu erzeugen, und Senden jedes Pseudodaten-Chunks. Bei dieser
Anordnung sind die Pseudodaten-Chunks kleiner als die überholten
Informationseinheiten, und Pseudodaten-Chunks können innerhalb einer besonderen
Verkehrsklasse, wie beispielsweise TOS/Diffserv class, eingestuft
werden, wobei sie eine Sendepriorität gegenüber anderen Paketen empfangen.
Dies gewährleistet,
dass die Pseudodatenpakete schnell verarbeitet werden und die Verarbeitung
irgendwelcher anderen Pakete nicht behindern.
-
Um
die Verarbeitung am empfangenden Ende zu verringern, informiert
die empfangende SCTP-Instanz den anwendbaren Benutzer vorzugsweise
nicht über
das Pseudodatenpaket, sonder verwirft es vielmehr stillschweigend.
Wenn die empfangende SCTP-Instanz ein Verwerfen von Paketen nicht
unterstützt,
weist der ideale Pseudodaten-Chunk null Benutzerdaten auf, was dazu
führt, dass
die empfangende SCTP-Instanz
den Pseudodaten-Chunk (oder die Pseudodatennachricht) ignoriert.
-
Die
Erfindung kann implementiert sein als eine Hardwarelösung oder
als ein Computerprogrammprodukt, das Programmcodeabschnitte zum Durchführen der
Schritte der Erfindung umfasst, wenn das Computerprogrammprodukt
auf einer Computervorrichtung ausgeführt wird. Das Computerprogrammprodukt
kann auf einem computerlesbaren Aufzeichnungsmedium, wie einem Datenträger, gespeichert
werden. Die Erfindung kann auch als ein System implementiert sein,
das einen Computerprozessor und einen Speicher, der mit dem Prozessor gekoppelt
ist, umfasst, wobei der Speicher mit einem oder mehr Programmen
codiert ist, welche die Schritte der Erfindung ausführen können.
-
Die
Erfindung kann auch durch eine Vorrichtung gemäß Anspruch 14 implementiert
sein, die überholte
unterscheidbare Informationseinheiten innerhalb eines Übertragungsprotokolls
verarbeitet. Solch eine Vorrichtung umfasst eine Identifikationseinheit,
die ermittelt, ob eine Informationseinheit, die einer Wiederholungssendung
unterzogen wird, überholt
ist, und den zugehörigen
Identifikationscode für diese überholte
Informationseinheit. Eine Erzeugungseinheit, die mit der Identifikationseinheit
gekoppelt ist, erzeugt anschließend
z. B. durch Modifizieren der überholten
Informationseinheit vor der Wiederholungssendung eine Dummyinformationseinheit.
Vorzugsweise weist diese Dummyinformationseinheit eine Größe auf,
die kleiner als die der Originalinformationseinheit ist, um weniger
Bandbreitenüberbelegung
und Leistungsverbrauch (und eine damit verbundene Unterbrechung)
zu ermöglichen,
als wenn die Originalinformationseinheit gesendet werden würde.
-
Sobald
die Dummyinformationseinheit zusammengesetzt ist, sendet eine Sendeeinheit,
die mit der Erzeugungseinheit gekoppelt ist, die Dummyinformationseinheit
anstelle der (unmodifizierten) überholten
Informationseinheit an einen Empfänger. Am Empfänger kann
die Dummyinformationseinheit auf der Basis der Systemparameter des
Empfängers entweder
verworfen oder ignoriert werden, und es wird eine Bestätigungsempfang
an den Sender zurückgesendet.
-
In
einigen Anordnungen umfasst die Erzeugungseinheit oder eine damit
gekoppelte Einheit auch eine Sendewarteschlange, von welcher Informationseinheiten
zuerst gesendet werden, und eine Wiederholungssendungswarteschlange,
von welcher Informationseinheiten entweder wieder gesendet werden
oder von welcher Dummyinformationseinheiten gesendet werden. Statt
zwei getrennte Warteschlangen zu haben, kann eine einzige Sendewarteschlange
verwendet werden, die alle Informationseinheiten (einerlei ob sie
Dummyinformationseinheiten oder sonstige sind) sendet. Innerhalb
der Warteschlange(n) kann es eine Sendeprioritätshierarchie geben, die bestimmte
Arten von Informationseinheiten, wie durch den Benutzer definiert,
mit einer Sendepriorität
gegenüber
anderen Arten von vorbestimmten Informationseinheiten versieht.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Im
Folgenden wird die Erfindung unter Bezugnahme auf Ausführungsbeispiele
beschrieben, die in den Figuren veranschaulicht sind, wobei:
-
1 eine
schematische Darstellung ist, die eine Anordnung veranschaulicht,
in welcher jeweilige ULPs Benutzer von SCTP-Transportdiensten über einem
IP-Netzdienst sind;
-
2 ein
Prozessablaufdiagramm gemäß einer
ersten Ausführungsform
der Erfindung ist;
-
3 ein
System gemäß einer
zweiten Ausführungsform
der Erfindung schematisch darstellt;
-
4 ein
Prozessablaufdiagramm gemäß einer
dritten Ausführungsform
der Erfindung ist;
-
5 ein
Prozessablaufdiagramm gemäß einer
vierten Ausführungsform
der Erfindung ist; und
-
6 ein
Prozessablaufdiagramm gemäß einer
fünften
Ausführungsform
der Erfindung ist.
-
AUSFÜHRLICHE BESCHREIBUNG VON BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
In
der folgenden Beschreibung werden zu Erläuterungszwecken und nicht zur
Einschränkung spezifische
Einzelheiten, wie beispielsweise bestimmte Protokolle, Signalformate
usw., dargelegt, um ein umfassendes Verständnis der vorliegenden Erfindung
zu vermitteln. Für
einen Fachmann ist zu erkennen, dass die vorliegende Erfindung in
anderen Ausführungsformen
realisiert werden kann, die von diesen spezifischen Einzelheiten
abweichen. Insbesondere ist, obwohl die verschiedenen Ausführungsformen
hierin im Folgenden so beschrieben werden, dass sie in ein System,
das SCTP über
IP verwendet, eingebunden sind oder in Verbindung damit ver wendet
werden, die vorliegende Erfindung nicht auf solch eine Implementierung
beschränkt,
sondern kann zum Beispiel mit jedem Wiederholungssendungsprotokoll für reihenfolgegesicherte
Daten (oder jedem anderen Datenübertragungssystem,
in welchem veraltete, überholte
oder abgelaufene Nachrichten wieder gesendet werden können) verwendet
werden.
-
Außerdem ist
für Fachleute
zu erkennen, dass die Funktionen, die hierin im Folgenden erläutert werden,
unter Verwendung einer individuellen Hardwareschaltungsanordnung,
unter Verwendung von Software, die in Verbindung mit einem programmierten
Mikroprozessor oder einem Allzweckcomputer funktioniert, unter Verwendung
einer anwendungsspezifischen integrierten Schaltung (ASIC) und/oder
unter Verwendung eines oder mehrerer Digitalsignalprozessoren (DSPs)
implementiert werden können.
Es ist auch zu erkennen, dass die Erfindung, obwohl sie in erster
Linie als ein Verfahren beschrieben wird, auch in einem System implementiert
werden kann, das einen Computerprozessor und einen Speicher, der
mit dem Prozessor gekoppelt ist, umfasst, wobei der Speicher mit
einem oder mehr Programmen codiert ist, welche die hierin offenbarten Verfahren
durchführen
können.
-
1 ist
eine schematische Darstellung für mehrere
Ausführungsformen
der vorliegenden Erfindung, wobei jeweilige ULPs oder SCTP-Benutzeranwendungen 110, 120 jeweilige
SCTP-Tansportdienste 130, 140 verwenden,
die auf einem IP-Netztransportdienst aufgesetzt sind, wobei jedes
ULP wenigstens zu einem Knoten 150, 160 gehört (wobei
jeder Knoten unter einer oder mehr IP-Adressen erreicht werden kann),
der ihm entspricht. Um eine Assoziation zwischen den beiden Knoten 150, 160 herzustellen,
tauschen beide SCTP-Transportdienste eine Serie von Nachrichten
oder Handshakes untereinander aus. Zum Zwecke dieser Offenbarung
gehören
der SCTP-Transportdienst 130 (oder jeder andere Transportdienst)
und der entsprechende Knote 150, der die überholten
Nachrichten erzeugt und löscht,
zu einem sendenden Ende, und der ent sprechende Transportdienst 140 (oder
jeder andere Transportdienst) und der Knoten 160, der die überholten
Nachrichten empfangen kann, gehören
zu einem Empfänger
oder empfangenden Ende.
-
In 2 ist
der Prozessablaufdiagramm 200 für eine erste Ausführungsform
einer Technik zum Verarbeiten von überholten Informationseinheiten dargestellt.
In dieser Anordnung werden Informationseinheiten (auch als Datenfolgen
bezeichnet), die vorher als überholt
ermittelt wurden, durch ihre jeweiligen Identifikationscodes identifiziert, 210.
Sobald die Informationseinheiten identifiziert wurden, werden sie
vor der Wiederholungssendung modifiziert, um eine Dummyinformationseinheit
zu erzeugen, 220. Die Dummyinformationseinheit wird dann
gesendet, 230. Weitere Einzelheiten über diesen Prozess und Varianten
davon werden im Folgenden beschrieben.
-
3 veranschaulicht
ein System 300 zum Implementieren von verschiedenen Verfahren
gemäß der vorliegenden
Erfindung, welche jene umfassen, die in 2 und 4 bis 6 dargestellt sind.
Das System umfasst einen lokalen Benutzer 310 und einen
entfernten Benutzer 320, die über einen Übertragungsweg 330 miteinander
in Verbindung stehen. Eine Identifikationseinheit 340 identifiziert überholte
Informationseinheiten (die noch nicht wieder an den entfernten Benutzer 320 gesendet wurden)
durch den/die eindeutigen Identifikationscode(s) jeder Informationseinheit.
Die Identifikationseinheit 340 ist mit einer Modifikationseinheit 350 gekoppelt,
welche Dummyinformationseinheiten erzeugt, indem sie jene Informationseinheiten
modifiziert, die als durch die Identifikationseinheit 340 als überholt
identifiziert wurden.
-
Jede
Dummyinformationseinheit umfasst den Identifikationscode für die jeweilige überholte
Informationseinheit, schließt
aber jegliche Benutzer- oder Steuerinformationen aus, die in der überholten Informationseinheit
enthalten sind (z. B. wird die Dummyinformationseinheit auf eine
Größe von 16 Bytes
oder weniger reduziert). Je kürzer
eine Dummyinformationseinheit ist, umso weniger Verarbeitungsleistung
wird verbraucht, umso weniger wahrscheinlich ist es, dass das Paket,
welches den Chunk enthält,
nach einer Übertragung
verloren geht und umso weniger Verarbeitung ist für Zwischenknoten erforderlich.
Sobald die Dummyinformationseinheit erzeugt wurde, sendet die Modifikationseinheit 350 die
Dummyinformationseinheit an eine Sendeeinheit 360, die
mit der Modifikationseinheit 350 gekoppelt ist. Die Sendeeinheit 360 sendet
dann die Dummyinformationseinheit über den Übertragungsweg 330 an den
entfernten Benutzer 320.
-
In
einigen Anordnungen wird den Dummyinformationseinheiten eine Sendepriorität gegenüber anderen
Nicht-Dummyinformationseinheiten
erteilt. In dieser und anderen Anordnungen umfasst die Modifikationseinheit
eine Sendewarteschlage 370, von welcher Informationseinheiten
zuerst gesendet werden, und eine Wiederholungssendungswarteschlange 380,
von welcher noch gültige
oder überholte
Informationseinheiten wieder gesendet werden, oder von welcher Dummyinformationseinheiten
geendet werden. In anderen Varianten wird eine einzige Warteschlange
sowohl für
die Erstübertragung
von Informationseinheiten als auch nachfolgende Wiederholungssendungen,
falls nötig,
verwendet.
-
In 4 ist
eine dritte Ausführungsform
der Erfindung in einem Prozessablaufdiagramm 400 dargestellt.
Das veranschaulichte Verfahren beginnt mit einer Feststellung, ob
eine Lebensdauer für
eine bestimmte Informationseinheit vor dem Empfangen eines Bestätigungsempfangs
für diese
konkrete Informationseinheit abgelaufen ist, 410. Die Lebensdauerberechnung
kann auf einer Vielfalt von Faktoren basieren, wie beispielsweise
einer einfachen Zeitsteuerungsfunktion, einem Zeitgeber, der mit
anderen Zeitgebern für
eine bestimmte Anwendung koordiniert ist, oder anderen benutzerdefinierten
Kriterium. Wenn die Lebensdauer einer Informationseinheit nicht
abgelaufen ist, dann wird dieser Schritt fortgesetzt, bis wenigstens
eine überholte
Informationseinheit identifiziert wurde. Wenn die Lebensdauer einer Informationseinheit
abgelaufen ist, wird diese Informationseinheit als überholt
identifiziert, 420.
-
Der
nächste
Schritt ist, den eindeutigen Identifikationscode für die überholte
Informationseinheit zu bestimmen, 430, so dass anschließend festgestellt
werden kann, ob ein Paket, das die überholte Informationseinheit
enthält,
gesendet wurde, 440. Wenn die überholte Informationseinheit
nicht gesendet wurde (und sich nicht in einer Wiederholungssendungswarteschlange
befindet), dann wird sie einfach verworfen und aus der anwendbaren
Sendewarteschlange entfernt, 445. Wenn die überholte
Informationseinheit jedoch gesendet wurde, dann ist der nächste Schritt,
die überholte
Informationseinheit in eine Dummyinformationseinheit umzuwandeln, 450. Die
Dummyinformationseinheit behält
denselben Identifikationscode wie die überholte Informationseinheit,
und ihre Größe wird
vorzugsweise im größtmöglichen
Ausmaß minimiert,
indem unnötige
Daten, wie beispielsweise Benutzer- und Steuerdaten und (welche
für eine
Anwendung oder einen Prozess sind, die abgelaufen sind oder anderweitig
beendet wurden), entfernt werden. Sobald die Dummyinformationseinheit
erzeugt wurde, wird sie dann an ein empfangendes Ende gesendet, 460.
-
5 veranschaulicht
ein Prozessablaufdiagramm 500 einer vierten Ausführungsform
gemäß der vorliegenden
Erfindung, welche gemeinsame Schritte mit der Ausführungsform
von 4 enthält (und
welche dieselben Bezugszeichen verwendet). Nachdem die Dummyinformationseinheit
erzeugt ist, 450, wird die Dummyinformationseinheit dann
innerhalb einer Wiederholungssendungswarteschlange angeordnet, 510.
In dieser Anordnung erteilt die Benutzeranwendung jeder Dummyinformationseinheit Priorität, 520,
so dass sie vor anderen Informationseinheiten gesendet wird, die
eine niedrigere Priorität aufweisen
oder welchen keine Priorität
eingeräumt wurde,
wie beispielsweise Informationseinheiten, die Benutzerdaten enthalten.
In einer SCTP-Einstellung kann der Dummyinformationseinheit eine
besonderen Verkehrsklasse zugewiesen werden, wie beispielsweise
TOS/Diffserv class, so dass ihnen eine höhere Sendepriorität erteilt
wird (was zu einer schnellen Verarbeitung ohne Behinderung anderer Informationseinheiten
führt).
-
Wenn
es außerdem
während
der Übertragung
und in Abhängigkeit
von der Größe der Dummyinformationseinheiten
mehrere Dummyinformationseinheiten innerhalb der Wiederholungssendungswarteschlange
gibt, dann können
die Dummyinformationseinheiten zu einem einzigen Paket gebündelt und dann
gesendet werden, 530, vorausgesetzt, dass das Paket nicht
irgendwelche anwendbaren Größenbeschränkungen,
wie beispielsweise eine maximale Transfereinheitsgrenze, überschreitet.
In einigen Ausführungsformen
können
nur Dummyinformationseinheiten mit fortlaufenden Identifikationscodes gebündelt werden
(oder es kann in Abhängigkeit
vom verwendeten Protokoll andere Bündelungsanforderungen geben).
Vorzugsweise werden die Dummyinformationseinheiten nicht mit irgendwelchen
anderen Dummyinformationseinheiten gebündelt, wenn die Zunahme der
Paketgröße die Wahrscheinlichkeit
eines Verbindungsverlusts (bei gleichzeitiger Abnahme der Bandbreite)
erhöht.
Nachdem die Dummyinformationseinheiten durch einen Empfänger oder
ein empfangendes Ende empfangen werden, 540, ignoriert
das empfangende Ende entweder die Dummyinformationseinheiten oder
verwirft sie einfach, was dazu führt,
dass die überholten
Informationseinheiten gelöscht
werden.
-
6 veranschaulicht
eine fünfte
Ausführungsform 600,
die solch eine Umgebung verwendet, wie in 1 dargestellt,
wobei ein ULP oder Protokoll der höheren Schichten ein Benutzer
für ein
SCTP über
einem IP-Netz ist. In dieser Ausführungsform erzeugt das SCTP
eine oder mehr Informationseinheiten in Form von Daten-Chunks für jede Nachricht,
die durch das ULP erzeugt wird, 610. Jedem diesem Daten-Chunks wird sein
eigener Identifikationscode oder seine eigene TSN zugewiesen, 620.
Nachdem jedem Daten-Chunk eine TSN zugewiesen wurde, werden sie
dann zu einem Paket zusammengesetzt, 630. In Abhängigkeit
von den Systemgrenzen für
die Paketgröße, wie
durch eine maximale Transferwegeinheit oder PMTU (für engl.
Path Maximum Transfer Unit) des Systems vorgesehen, kann jedes Paket
nur einen einzigen Daten-Chunk
für eine
zerstückelte Nachricht,
einen einigen Daten-Chunk,
der einer einzigen Nachricht entspricht, oder mehrere Daten-Chunks,
die mehreren Nachrichten entsprechen, enthalten.
-
Sobald
das Paket erzeugt wurde, werden die Pakete dann an den Empfänger gesendet, 640.
Der Prozess ermittelt dann auf der Basis von Kriterien, wie beispielsweise
Anwendungszeitgebern, benutzerdefinierten Steuerungen usw., ob es
irgendwelche überholten
Nachrichten gibt (welche jeweils einen oder mehr entsprechende Daten-Chunks
aufweisen), und wenn die der Fall ist, ob die überholte Nachricht vorher gesendet
wurde, 650, und sich in einer Sendewarteschlange befindet.
Wenn eine überholte
Nachricht nicht gesendet wurde und in einer Sendewarteschlange bleibt,
wird sie unverzüglich
verworfen, oder sie wird vor der Übertragung verworfen. Wenn die überholte
Nachricht bereits gesendet wurde und in einer Wiederholungssendungswarteschlange
ist, dann wird jeder Daten-Chunk, welcher der Nachricht entspricht,
in einen Pseudodaten-Chunk umgeändert,
wodurch andere Informationen als die TSN (wie beispielsweise Steuer-
und Benutzerdaten) entfernt werden, 660. Sobald erzeugt,
werden die Pseudodaten dann gesendet, 670.
-
Am
Empfänger
verwirft das SCTP entweder das Paket stillschweigend und informiert
den Benutzer nicht, oder der Empfänger kann den Pseudodaten-Chunk
wie irgendeinen anderen empfangenen Daten-Chunk behandeln. Das Empfänger-SCTP
verständigt
das anwendbare ULP, das seinerseits den Pseudodaten-Chunk ignoriert.
-
Es
ist zu erkennen, dass es viele Vorteile im Zusammenhang mit der
Verringerung und Minimierung der Anzahl und Größe von veralteten oder überholten
Informationseinheiten gibt. Die Vorteile umfassen ein Minimieren
von vergeudeter Bandbreite, ein Verringern der Wahrscheinlichkeit
eines Verbindungsverlusts und ein Reduzieren der Menge von Verarbeitungsleistung,
die durch das Transferprotokoll für reihenfolgegesicherte Daten
(wie beispielsweise das SCTP) benötigt wird.
-
Obwohl
die vorliegende Erfindung in Bezug auf bestimmte Ausführungen
beschrieben wurde, ist für
Fachleute zu erkennen, dass die vorliegende Erfindung nicht auf
die spezifischen Ausführungsformen
beschränkt
ist, die hierin beschrieben und veranschaulicht wurden. Obwohl die
vorliegende Erfindung in Bezug auf ihre bevorzugten Ausführungsformen
beschrieben wurde, versteht es sich daher von selbst, dass diese
Offenbarung nur veranschaulichend ist. Demgemäß ist beabsichtigt, dass die
Erfindung nur durch den Rahmen der hierzu angehängten Ansprüche beschränkt wird.