-
Gebiet der Erfindung
-
Diese
Erfindung richtet sich allgemein auf eine Übertragung eines Verkehrs mit
konstanter Bitrate in einem Kommunikationsnetz und richtet sich insbesondere
auf das Einreihen und Ausspielen von Paketen eines Verkehrs mit
konstanter Bitrate.
-
Hintergrund
der Erfindung
-
Netze
bestehen aus einer Mehrzahl von verknüpften Knoten. Paketvermittlungsnetze
integrieren einen framebegrenzten Datenverkehr, paketierte Sprache
und Verkehr mit konstanter Bitrate (nicht begrenzt) auf gewöhnliche Übertragungseinrichtungen. Die
Grundeinheit für
eine Übertragung
in solch einem Netz ist ein "schnelles
Paket", das auch
als eine "Zelle" bezeichnet wird.
Diese schnellen Pakete werden von Knoten zu Knoten innerhalb des
Netzes an das Ziel der Pakete übertragen.
-
Wenn
Daten durch einen Knoten in das Netz eintreten, werden die Daten
in "schnelle Pakete" segmentiert. Ein
schnelles Paket umfasst einen Header und eine Nutzlast. Der Header
umfasst gewöhnlich eine
Verbindungsidentifikation und weitere Overheadinformation. Die Nutzlast
umfasst die Daten. Die Größe schneller
Pakete wird durch das Netz definiert. Somit werden der Header und
die Nutzlast der schnellen Pakete ebenfalls durch das Netz definiert. Gewöhnlich ist
eine Anzahl an schnellen Paketen erforderlich, um die Daten durch
das Netz zu übertragen.
-
Nachdem
die Daten paketiert sind, werden die Pakete mit schnellen Paketen
von anderen Datenquellen an dem Knoten eingereiht und dann über Zwischenknotenverbindungsübertragungseinrichtungen
durch das Netz übertragen.
Die schnellen Pakete werden an einem anderen Knoten empfangen und dann,
falls der Knoten nicht das endgültige
Ziel der schnellen Pakete ist, erneut mit schnellen Paketen von
anderen Datenquellen eingereiht.
-
Schließlich werden
die schnellen Pakete an ihrem endgültigen Ziel empfangen. Die
Pakete werden dann zerlegt und zum Endbenutzer (bei dem es sich
zum Beispiel um ein Datenendgerät,
Speichergerät
oder Audiogerät
handeln kann) "abgespielt".
-
Schnelle
Pakete bewegen sich innerhalb des Netzes nicht bei einer konstanten
Rate. Schnelle Pakete können
auf Grund der verschiedenen Einreihungsprozeduren an den Netzknoten
verzögert
sein. Zum Beispiel beeinflusst die Anzahl von an jedem Knoten empfangenen
und übertragenen
anderen schnellen Paketen die Zeit zum Übertragen der Pakete durch
das Netz. Mit dem Auftreten eines Versagens von Knoten oder Verbindungen
in dem Netz kann sich die Route der schnellen Pakete vom Anfangsknoten
bis zum Empfangsknoten ändern.
Es können
sogar Pakete im Netz verloren gehen.
-
Daten
mit konstanter Bitrate (CBR) (üblicherweise
bei synchroner Kommunikation erzeugt) stellen ein besonderes Problem
dar. Bei Daten mit konstanter Bitrate handelt es sich um Information,
die in gleichmäßigen Perioden
erzeugt wird. Damit die CBR-Daten richtig verarbeiten werden, sollten
die Daten mit derselben konstanten Rate an ihrem Ziel empfangen
werden.
-
Weil
sich schnelle Pakete innerhalb des Netzes nicht bei einer konstanten
Rate bewegen, werden die schnellen Pakete am Zielknoten nicht gleichmäßig empfangen.
Darüber
hinaus kann sich die Verzögerung
im Netz im Zeitablauf ändern.
Beim Abspielen der schnellen Pakete mit CBR müssen Vorkehrungen getroffen
werden, um jegliche Unregelmäßigkeit
auszugleichen.
-
Ein
Verfahren besteht darin, den Beginn eines Abspielens des ersten
schnellen Pakets mit CBR für
eine feste Zeitperiode zu verzögern.
Das kann dazu führen,
dass eine Anzahl an schnellen Paketen mit CBR gesammelt wird, bevor
ein Abspielen des ersten schnellen Pakets mit CBR begonnen wird.
Die Zeitverzögerung
glättet
die variable Netzwerkverzögerung
bei der Wiedergabe der CBR-Pakete ein wenig. Solch ein Verfahren
ist jedoch unflexibel und passt sich nicht an Änderungen im Netz an. Darüber hinaus
gibt es keine Vorkehrung zur Verarbeitung von verlorenen Paketen.
-
Ein
weiteres Verfahren besteht darin, jedes Paket zu "Zeitstempeln", indem Information
in der Nutzlast des Pakets umfasst wird, wann das Paket erzeugt
wurde. Dieses Verfahren erfordert jedoch synchronisierte Takte an
den Netzknoten. Das könnte
nicht in allen Netzen, speziell geographisch umfangreichen Netzen,
realisierbar sein.
-
Die
US 4,630,262 offenbart ein
Verfahren zum Übertragen
und Empfangen digitalisierter Sprachsignale in Form von Paketen.
Die
US 4,630,262 bezieht
sich auf eine Verarbeitung von Talkspurts in dem Sprachsignal, das
digitalisiert wird. Um eine redundante Paketübertragung zu reduzieren, ermittelt
das System der
US 4,630,262 ,
wann zwischen Talkspurts Pausen stattfinden, und sendet dann für die Dauer
der Sprachpausen keine Pakete (da diese keine Daten umfassen würden). Als
Teil davon wird in den Paketheadern Information gesendet, die anzeigt,
wann eine Pause beginnt. Auf der Empfangsseite wird diese Headerinformation
verarbeitet, und wenn ermittelt wird, dass eine Pause signalisiert worden
ist, dann werden Dummypakete eingefügt, um das Ausgabegerät anzuweisen,
ein Grundrauschen zu synthetisieren (d. h. die "Stille" der Sprachpause gewissermaßen zu "reproduzieren"). Das wird getan,
auch wenn sich Datenpakete in dem Puffer befinden. Das System der
US 4,630,262 verwendet darüber hinaus
Dummypakete in Bezug auf den Verlust eines Pakets. Das wird im Rahmen
einer Verarbeitung und Analyse der Sequenznummern der empfangenen
Pakete ausgeführt.
Als Antwort auf das Verarbeitungsresultat werden Dummypakete ausgegeben,
auch wenn oder unabhängig
davon, ob sich empfangene Pakete in dem Puffer befinden.
-
"STM Signal transfer
techniques in ATM Networks" von
Hitoshi Uematsu et al., Discovering a New World of Communications,
Chicago, 14.–18.
Juni 1992, Band 1, 14. Juni 1992 (14.06.1992), Seiten 281–285, XP000326884
Institute of Electrical and Electronics Engineers, ISBN: 0-7803-0599-X,
beschreibt eine Studie zu STM-Signalübertragungsverfahren in ATM-Netzen.
Dieses Dokument beschreibt einen Algorithmus, der verlorene oder
falsch gelieferte Zellen unter Verwendung von SN (Sequenznummer)
und SNP (SN-Schutz) in der AAL (ATM-Anpassungsschicht) Typ 1 detektiert.
Der Algorithmus umfasst den Prozess einer Dummyzelleinfügung für verlorene
Zellen und Zellverwerfung für
falsch gelieferte Zellen. Der Algorithmus ist ein Analyse- und Detektionsprozess,
der ermittelt, ob Dummyzellen einzufügen sind, auch wenn oder unabhängig davon,
ob sich empfangene Zellen in dem Puffer befinden.
-
Die
obigen Nachteile werden durch ein Verfahren gemäß Anspruch 1 und ein System
gemäß Anspruch
3 überwunden.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein allgemeines Netz.
-
2 ist
ein Knoten.
-
3 ist
ein schnelles Paket mit CBR.
-
4 ist
ein Timingdiagramm, das einen CBR-Verkehr darstellt, wie er durch
das Netz fortschreitet.
-
5 ist
ein Schaubild des Einreihungsprozesses für schnelle Pakete mit CBR am
CBR-Verkehrszielknoten.
-
6 ist
ein Schaubild des Ausreihungsprozesses für schnelle Pakete mit CBR am
CBR-Verkehrszielknoten.
-
Ausführliche
Beschreibung der Zeichnungen
-
Ein
Netz 11, dargestellt in 1, ist eine
verallgemeinerte Darstellung von Datennetzen. Netze im Einsatz können komplexer
sein als dasjenige in 1 dargestellte. Das Netz 11 besteht
aus einem Quellknotan 14, Zwischen knoten 16 und
Zielrandknoten 18. Gewöhnlich
bestehen Datennetze aus vielen Quellknoten, Zwischenknoten und Zielknoten.
-
In 2 wird
ein Knoten dargestellt. Die allgemeine Darstellung eines in 2 dargestellten Knotens
könnte
der Quellrandknoten 14, Zwischenknoten 16 oder
Zielrandknoten 18 sein. Ein empfangender Digitalsignalprozessor
(DSP) 40 empfängt Daten
in Form schneller Pakete vom Netz 11. Ein Prozessor 42 leitet
durch den empfangenden DSP 40 empfangene Daten an einen
Puffer 44 oder einen sendenden DSP 46.
-
Der
Puffer 44 besteht aus einem Speicher 48. Daten,
die durch den Prozessor 42 an den Puffer 44 geleitet
werden, werden in dem Speicher 48 gespeichert. Der Prozessor 42 kann
in dem Puffer 44 gespeicherte Daten an den sendenden DSP 46 leiten oder
kann die Daten für
andere Zwecke verwenden.
-
Der
Prozessor 42 empfängt
auch Daten von Datenquellen 50. Bei den Datenquellen 50 kann
es sich um Endgeräte,
Modems oder DSPs außerhalb des
Netzes 11 handeln. Wenn Daten von Quellen außerhalb
des Netzes empfangen werden, muss der Prozessor 42 die
Daten zur Übertragung
innerhalb des Netzes 11 zuerst in schnelle Pakete "paketieren".
-
3 stellt
ein schnelles Paket 60 dar. Das schnelle Paket 60 umfasst
eine Serie an Bytes. Das schnelle Paket 60 umfasst einen
Header 62 und eine Nutzlast 64. Der Header 62,
dargestellt mit drei Bytes, umfasst Information, die von den Knoten 14, 16, 18 verwendet
wird, um das schnelle Paket 60 an sein Ziel weiterzuleiten.
Die Nutzlast 64, hier mit 45 Bytes dargestellt, umfasst
Daten und Information in Bezug auf die Daten. Ein Teil der Nutzlast 64 ist
eine Sequenznummer 66.
-
Die
Sequenznummer 66 wird durch den Quellrandknoten 14 zugeordnet.
Jedem aufeinander folgenden CBR-Paket wird unter Verwendung eines Modulzählprozesses
eine aufeinander folgende Sequenznummer 66 zugeordnet.
-
Eine
Paketierung von Daten durch den Prozessor 42 besteht aus
einem Akkumulieren von Bytes an Information aus der Datenquelle 50.
Nachdem eine ausreichende Anzahl an Bytes akkumuliert worden ist,
werden die Bytes zusammen mit der Sequenznummer 66 in die
Nutzlast 64 platziert. Die Nutzlast 64 kann auch
andere Information außer
der Sequenznummer 64 und Daten umfassen, wie z. B. Information
zum Übertragen
eines netzunabhängigen
Timings der Taktrate von der CBR-Quelle 12 am Quellrandknoten 14 zum
Zielrandknoten 18, wo sie verwendet wird, um die CBR-Daten
mit dem CBR-Ziel 20 zu
takten. Der Header 62, der eine Verbindungsidentifizierung
für das
schnelle Paket 60 umfasst, wird zur Verwendung beim Weiterleiten
des schnellen Pakets 60 an sein Ziel innerhalb des Netzes 11 an
die Nutzlast 64 angehängt.
-
Bezieht
man sich erneut auf 1, erkennt man, dass der Quellrandknoten 14 mit
der CBR-Quelle 12 gekoppelt dargestellt wird. Die CBR-Quelle 12 kann
ein synchrones Datenendgerät oder
jedes andere Gerät
sein, das CBR-Daten erzeugt. Da die CBR-Quelle 12 einen
konstanten Strom an Daten erzeugt, werden CBR-Pakete in regelmäßigen Abständen erzeugt.
-
Der
Quellrandknoten 14 reiht zur Übertragung im Netz 11 die
CBR-Pakete mit Paketen von der Datenquelle 20 in den Puffer 44 ein.
Die CBR-Pakete werden über
den sendenden DSP 46 an den Zwischenknoten 16 übertragen.
Obwohl ein Zwischenknoten 16 dargestellt wird, versteht
es sich, dass in einem Netz mehrere (oder keine) Zwischenknoten vorhanden
sein können.
-
An
den Zwischenknoten 16 werden die CBR-Pakete erneut zur Übertragung
im Netz 11 eingereiht. Von einer Datenquelle 24 werden
zusätzliche Daten
empfangen und paketiert und zur Übertragung im
Netz 11 eingereiht. Die CBR-Pakete werden an den Zielrandknoten 18 übertragen.
-
Am
Zielrandknoten 18 werden die CBR-Pakete zum Ausspielen
an das CBR-Ziel 20 empfangen. Wie bei den Knoten 14 und 16 empfängt auch der
Zielrandknoten 18 Daten von der Datenquelle 26.
-
Mit
Bezug auf 2 erkennt man, dass ein Teil
des Puffers 44 als ein CBR-Paketpuffer vorgesehen ist.
Ein Ausspielen wird bewerkstelligt, indem die Pakete in den CBR-Puffer platziert
werden (Einreihen) und die Pakete zu einer späteren Zeit aus dem CBR-Puffer
abgerufen werden (Ausreihen) und die Pakete als CBR-Daten an das
Ziel übertragen
werden ("Ausspielen").
-
4 stellt
das Timing der CBR-Pakete im ganzen Netz dar. 4.1 stellt die CBR-Daten dar, wie sie durch den
Quellrandknoten 14 empfangen werden. Die CBR-Daten werden
als ein kontinuierlicher Strom an Daten aus der CBR-Quelle 12 empfangen. 4.2 stellt die CBR-Daten nach einer Paketierung
durch den Quellrandknoten 14 dar. Die Sequenznummer 66 erscheint
auf jedem CBR-Paket. Da die CBR-Daten
kontinuierlich empfangen werden, werden die CBR-Pakete regelmäßig erzeugt.
-
4.3 stellt den Empfang der CBR-Pakete durch den
Zielrandknoten 18 dar. Auf Grund verschiedener Verzögerungen
innerhalb des Netzes 11 werden die CBR-Pakete unregelmäßig durch
den Zielrandknoten 18 empfangen. Die CBR-Pakete müssen in
einer Art und Weise an das CBR-Ziel 20 ausgespielt werden,
die die Unversehrtheit der CBR-Daten aufrechterhält.
-
5 stellt
das Einreihen der CBR-Pakete am Zielrandknoten 18 dar.
-
Der
Zielrandknoten 18 wartet auf eine Ankunft der CBR-Pakete (Schritt 100).
Nach Empfang eines Pakets ermittelt der Prozessor, ob die Anzahl an
Paketen in dem Puffer gleich der Größe des Ausspielpuffers ist
(dargestellt durch eine Variable 'L') (Schritt 102).
Falls die Anzahl an Paketen in dem Puffer gleich L ist, dann wird
das Paket nicht eingereiht, und wird folglich fallen gelassen (Schritt 104).
Falls die Anzahl an Paketen in dem Puffer kleiner ist als L, wird
die Paketsequenznummer geprüft,
um zu ermitteln, ob das Paket in Sequenz ist (Schritt 106).
Ein CBR-Paket ist "in Sequenz", falls das CBR-Paket entweder
das erste empfangene CBR-Paket ist oder das nächste durch den Zielrandknoten 18 erwartete CBR-Paket
ist.
-
Falls
das CBR-Paket in Sequenz ist, dann wird die Nutzlast aus dem Paket
zum Ausspielen an das CBR-Ziel 20 in den Puffer eingereiht
(Schritt 108).
-
Falls
andererseits das CBR-Paket nicht in Sequenz ist (d. h. das Paket
ist "außer Sequenz"), wird die Anzahl
an Paketen in dem Puffer mit 'K' verglichen (Schritt 110).
Bei K handelt es sich um eine vorgewählte Zahl, die quantitativ
anzeigt, ob das System das Ausspielen für ein Paket außer Sequenz
korrigiert. Falls die Anzahl an Paketen in dem Puffer kleiner ist
als K, dann wird ein "Dummypaket", das eine feste,
aber arbiträre
Sequenz an Bitwerten umfasst, in einem Versuch, die Sequenz zu korrigieren,
eingereiht (Schritt 112), nach welchem das CBR-Paket eingereiht
wird (Schritt 108). Falls die Anzahl an Paketen größer ist
als K, dann wird das CBR-Paket außer Sequenz eingereiht (Schritt 108).
-
In
jedem Fall wird die Sequenznummer des empfangenen Pakets zum Vergleich
mit dem nächsten
CBR-Paket gespeichert (Schritt 114). Der CBR-Zielrandknoten 18 wartet
auf den Empfang des nächsten
CBR-Pakets (Schritt 100).
-
Da
die Pakete eingereiht werden, werden die Pakete ausgereiht, d. h.
gemäß 6 an
das CBR-Ziel 20 ausgespielt. Das CBR-Paket wird empfangen
(Schritt 400). Die CBR-Paketausspielung beginnt, wann immer
eine gewählte
Anzahl an Paketen (als 'S' bezeichnet) durch
den Zielrandknoten 18 empfangen worden ist (Schritt 402).
-
Nach
dem Start des Ausspielens (Schritt 404) wird der Status
des Puffers geprüft,
um zu ermitteln, ob er leer ist (Schritt 406). Falls der
Puffer leer ist, dann wird eine Dummynutzlast ausgespielt (Schritt 410).
Ansonsten wird die Nutzlast oben in dem Puffer ausgespielt (Schritt 408).
-
In 4 wird
eine Darstellung eines Netzverhaltens veranschaulicht. In dem Beispiel
sind S, K und L auf 2 gesetzt worden. (Man beachte, dass für S, K und
L verschiedene Werte hätten
gewählt
werden können). 4.1 stellt die CBR-Daten dar, wie sie durch den
Quellrandknoten 14 aus der CBR-Quelle 12 empfangen
werden. Die paketierten CBR-Daten
werden in 4.2 dargestellt. Die CBR-Pakete
werden wie in 4.3 dargestellt am Zielrandknoten
empfangen.
-
4.4 stellt das Ausspielen der CBR-Daten dar, während 4.5 den Status des CBR-Puffers darstellt.
-
Das
erste CBR-Paket wird empfangen und in den Puffer platziert. Da weniger
als zwei (S) Pakete empfangen worden sind, hat eine Ausspielung
nicht begonnen. Nachdem Paket 2 empfangen wird, steigt der
Inhalt des Puffers auf zwei Pakete und eine Ausspielung beginnt.
Nach der Ausspielung von Paket 1 geht der Inhalt des Puffers
auf eins zurück.
Paket 3 wird während
der Ausspielung von Paket 2 empfangen, wobei der Inhalt
des Puffers somit erneut auf zwei Pakete steigt. CBR-Paket 4 kommt
erst nach der Fertigstellung der Ausspielung von CBR-Paket 3 am
Ziel an. Somit ist der Puffer leer, wenn das Ausspielen von CBR-Paket 3 endet.
-
Ein
Dummypaket (als XX dargestellt) wird ausgespielt. Während das
Dummypaket ausgespielt wird, kommt CBR-Paket 4 an. Kurz
danach kommen CBR-Paket 5 und CBR-Paket 6 an,
bevor das Ausspielen von CBR-Paket 4 beendet ist. Da die
Anzahl an Paketen in dem Puffer größer ist als zwei (L), wird CBR-Paket 6 fallen
gelassen.
-
CBR-Paket 7 wird
nach Ausspielung von Paket 5 empfangen und wird somit in
den Puffer eingereiht und wird nach der Ausspielung von CBR-Paket 5 ausgespielt.
-
Die
Einbeziehung der Dummypakete während
des Einreihens der Pakete in den CBR-Puffer und während des
Ausspielens der CBR-Pakete dient dazu, sowohl im Netz verlorene
Pakete als auch Änderungen
in den festen und variablen Komponenten der schnellen Paketverzögerungen
durch das Netz auszugleichen. In Wirklichkeit adaptiert das System die
Ausspielungsverzögerung
aufwärts
an sich ändernde
Bedingungen innerhalb des Netzes. Umgekehrt adaptiert ein Fallenlassen
eines schnellen Pakets, wenn sich L Pakete bereits in dem Puffer
befinden, die Ausspielungsverzögerung
abwärts
an sich ändernde
Bedingungen innerhalb des Netzes.
-
Die
Wahl der Variablen S, K und L basiert auf der Rate, bei der Daten
erzeugt werden, und der erwarteten maximalen Variabilität in der
Paketverzögerung.
Am besten verwendet man ein Beispiel, um eine Wahl von S, K und
L zu demonstrieren. Man ziehe eine Situation in Betracht, wo die
CBR-Quelle 12 Daten bei einer konstanten Rate von 64 Kb/s
(Kilobits/Sekunde) erzeugt. Wenn die Nutzlast 64 44 Datenbytes umfasst,
wird am Quellrandknoten 14 jede 5,5 ms (Millisekunden)
ein schnelles Paket erzeugt. Man erwäge darüber hinaus einen Pfad durch
Netz 10 vom Quellrandknoten 14 zu Zielrandknoten 10 mit einer
maximalen Variabilität
in der Paketverzögerung von
10 ms auf Grund eines Einreihens schneller Pakete am Quellrandknoten 14 und
Zwischenrandknoten 16. Da die maximale Variabilität in der
Paketverzögerung
kleiner ist als die doppelte Paketierungsverzögerung, kann die Variabilität in der
schnellen Paketverzögerung
geglättet
werden, indem im Ausreihungsprozess von 6 S = 2
gesetzt wird. Ähnlich
kann im Einreihungsprozess von 5 K auf
3 gesetzt werden und L kann auf 4 gesetzt werden. In allen Fällen werden
die Parameterwerte so gesetzt, dass S kleiner oder gleich K ist,
und K kleiner oder gleich L ist.