-
ALLGEMEINER STAND DER TECHNIK
-
Technisches Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft im Allgemeinen Ablaufsteuerungstechniken.
Im Besonderen und nicht als irgendeine Einschränkung ist die vorliegende Erfindung
auf ein Ablaufsteuerungssystem und -verfahren für ein Vermittlungselement gerichtet,
das mit Datenbursts betreibbar ist.
-
Beschreibung verwandter Technik
-
Ablaufsteuerung
ist wohl bekannt als Lösungsmechanismus
unter mehreren Einheiten, die um eine gemeinsame Ressource streiten.
Beispielsweise müssen
Server, die Eingangs- und Ausgangsports eines Netzelements zugeordnet
sind, erst miteinander konkurrieren, um zweckentsprechende Verkehrswege über ein Switching-Fabric
hinweg aufzubauen, bevor Daten zwischen einem ausgewählten Eingangsport
und einem Ausgangsport transportiert werden können. Da Arbitrationszeiten
einen signifikanten Anteil eines Ablaufsteuerungsprozesses ausmachen
können,
ist es wünschenswert,
dort, wo hohe Durchsatzraten erforderlich sind, ein effizientes
Schema zu implementieren. Ferner sollte dort, wo verfügbarer Pufferplatz
begrenzt ist oder es überhaupt
keinen solchen gibt, Paketverlust aufgrund von Portüberlastung
so weit wie möglich
minimiert werden, besonders dort, wo Dienste hoher Qualität bereitzustellen
sind. Diese Anliegen erlangen dort besondere Bedeutung, wo Daten
sich an der Eingangsseite eines Vermittlungssystems als mehrere
Datenbursts sammeln oder wo Ablaufsteuerungsfunktionalität in disjunkten
Entitäten
verteilt ist (d. h. Mehrebenenablaufsteuerung).
-
Ein
Beispiel der Ablaufsteuerung nach Stand der Technik ist in
EP 1168664 gegeben.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Dementsprechend
stellt die vorliegende Erfindung vorteilhafterweise ein innovatives
Ablaufsteuerungssystem und -verfahren bereit, das mit einem Burstvermittlungselement
betreibbar ist, wobei Steuerinformationen dem Vermittlungselement über einen
separaten Burstheader (z. B. als separater Steuerkanal) bereitgestellt
werden, der Datenbursts auf Ingressdatenkanälen vorangeht. In einer Ausführungsform
erfolgen eine Reihe von Ablaufsteuerungsbestimmungen in einer Auswahlanordnung,
sodass die Paketbehandlung (d. h. das Verarbeiten zur Sendung, das
Puffern oder das Paketauslassen) in Bezug auf Paketverlust und verfügbaren Pufferplatz
optimiert wird. In einer anderen Ausführungsform werden Steuerinformationen,
die in den Burstheadern empfangen werden, genutzt, um Ausgangsdatenkanalbandbreite
für zukünftige ankommende
Datenpakete in einem vorausschauenden Ablaufsteuerungsmechanismus
zu reservieren.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Ein
vollständigeres
Verständnis
der vorliegenden Erfindung kann unter Bezug auf die folgende ausführliche
Beschreibung unter Hinzuziehung der beiliegenden Zeichnungen erlangt
werden, wobei:
-
1 ein
beispielhaftes satellitenbasiertes Funkburstswitchsystem (FBS-System)
abbildet, worin die Lehren der vorliegenden Erfindung eingesetzt
werden können;
-
2 ein
beispielhaftes kanalisiertes Strahlschema abbildet, das im FBS-System
implementiert ist, das in 1 gezeigt
ist;
-
3A ein
Funktionsblockdiagramm einer Ausführungsform der FBS-Systemarchitektur
abbildet, worin mehrere Verzögerungspuffer
den Ingressports zugeordnet sind;
-
3B eine
Architekturtopologie der Vermittlungsfunktionalität abbildet,
die der FBS-Ausführungsform
zugeordnet ist, die in 3A gezeigt ist;
-
4A ein
Funktionsblockdiagramm einer anderen Ausführungsform der FBS-Systemarchitektur
abbildet, worin mehrere Verzögerungspuffer
den Egressports zugeordnet sind;
-
4B eine
Architekturtopologie der Vermittlungsfunktionalität abbildet,
die der FBS-Ausführungsform
zugeordnet ist, die in 3B gezeigt ist;
-
5 ein
Ablaufdiagramm der verschiedenen Vorgänge ist, die an einer Ausführungsform
der Ablaufsteuerungsmethodik beteiligt sind, die gemäß den Lehren
der vorliegenden Erfindung bereitgestellt ist;
-
6 eine
grafische Darstellung eines Datenkanals und eines zugeordneten Steuerkanals
abbildet, wobei der Steuerkanal Steuerinformationen beinhaltet,
die beim Bewirken eines zuteilungsbasierten Ablaufsteuerungsmechanismus
für Datenbursts
verwendet werden, die an einem Switchelement zu empfangen sind, z.
B. dem in 1 gezeigten FBS-System;
-
7 ein
speicherabgebildetes Kanalreservierungsschema abbildet, das zur
Ablaufsteuerung ankommender Datenbursts verwendet wird, die durch
das Switchelement zu empfangen sind;
-
8 einen
beispielhaften Ablaufsteuerungsvorgang unter Verwendung des speicherabgebildeten Kanalreservierungsschemas
abbildet, das gemäß den Lehren
der vorliegenden Erfindung bereitgestellt ist;
-
9 ein
Ablaufdiagramm der verschiedenen Vorgänge ist, die an einer anderen
Ausführungsform der
Ablaufsteuerungsmethodik beteiligt sind, die gemäß den Lehren der vorliegenden
Erfindung bereitgestellt ist; und
-
10 einen
beispielhaften Mehrfachsendungs-Ablaufsteuerungsvorgang
unter Verwendung des speicherabgebildeten Kanalreservierungsschemas
abbildet, das gemäß den Lehren
der vorliegenden Erfindung bereitgestellt ist.
-
AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
-
In
den Zeichnungen sind gleiche oder ähnliche Elemente die mehreren
Ansichten derselben hindurch mit identischen Bezugszeichen bezeichnet,
und die verschiedenen abgebildeten Elemente sind nicht notwendigerweise
maßstäblich gezeichnet.
Jetzt Bezug nehmend auf 1 ist darin ein beispielhaftes
satellitenbasiertes Funkburstswitchsystem (FBS-System) 100 abgebildet,
worin die Lehren der vorliegenden Erfindung vorteilhafterweise zu
Zwecken der Ablaufsteuerung von Verkehr eingesetzt werden können. Zu
Anfang muss erkannt werden, dass, obgleich die Ablaufsteuerungsmethodik
der vorliegenden Erfindung besonders im Kontext des satellitenbasierten
FBS-Systems 100 beschrieben
wird, die Lehren hiervon ebenso in anderen Ablaufsteuerungsanwendungen
praktiziert werden können,
wo es strikte Paketverlustanforderungen und/oder Pufferkapazitäten gibt.
Dementsprechend wird der Begriff „Switchelement" in der vorliegenden
Patentanmeldung mit Blick darauf verwendet, sowohl FBS-Elemente
als auch terrestrisch basierte Kommunikationsnetzwerkelemente abzudecken,
die Ablaufsteuerungstechniken einsetzen (z. B. Switches, Router
und so weiter).
-
Weiter
Bezug nehmend auf 1 sind mehrere Bodenstationen 102-1 bis 102-M im
FBS-System 100 zur Kommunikation über einen Relaissatelliten 106 betreibbar
angeordnet, der eine Ausführungsform
der Ablaufsteuerungsmethodik der vorliegenden Erfindung einsetzt,
wie nachstehend ausführlich
beschrieben wird. Jede Bodenstation ist mit einem Bodenleitungs-Zugangsmechanismus
versehen, der als Konzentrationspunkt für die auf den damit gekoppelten
terrestrischen Netzverbindungen empfangenen (d. h., wie in einem
Ingressknoten in Bezug auf das FBS-System) oder gesendeten Datenpakete
arbeitet (d. h., wie in einem Egressknoten in Bezug auf das FBS-System).
Die Bezugszeichen 104-1 bis 104-M beziehen sich
auf M Dienstzugangspunkte, die den entsprechenden Bodenstationen
zum Bereitstellen derartigen Bodenleitungszugangs zugeordnet sind.
-
Das
FBS-System 100 ist betreibbar, um Daten zwischen mehreren
Ports, z. B. M virtuellen Vollduplexports, die mit dem Relaissatelliten 100 bereitgestellt
sind, unter Verwendung des Ablaufsteuerungsschemas der vorliegenden
Erfindung zu vermitteln, wobei jeder Port eine separate Bodenstation
repräsentiert.
Jede Bodenstation deckt ein separater Strahl ab, und jeder Strahl
transportiert eine Anzahl über
die Frequenz gemultiplexter Datenkanäle (Datenkanalgruppe, DKG).
Pakete, die über
Bodenverbindungen am Zugangspunkt einer Bodenstation empfangen werden,
werden zu Datenbursts zur Sendung an den Satelliten über Uplinkstrahlen
gesammelt, die einen Steuerkanal (SK) zum Transportieren eines Burstheaderpakets
(BHP) beinhalten, das jedem Datenburst vorausgesendet wird. Auch
können
die BHPs jedes SKs als bandinterne oder bandexterne Steuerinformationen
in Bezug auf die Datenbursts bereitgestellt sein. Als Veranschaulichung
bezieht sich Bezugszeichen 108 auf einen beispielhaften
Uplinkstrahl, der die Datenkanäle
und den BHP-Kanal aufweist, die durch die Bodenstation 1 102-1 gesendet
werden. Ein (nicht gezeigtes) Ingressstrahlbildungssystem am Satelliten 106 löst die Signale
von den separaten Bodenstationen in unterschiedliche Strahlen auf,
und ein Demultiplexsystem extrahiert die separaten Datenkanäle aus jedem
Strahl.
-
In
einer beispielhaften Implementierung sind die Datenbursts vorzugsweise
in Schlitze gleicher Größe segmentiert,
die den Zeitschlitzen der Vermittlungsmatrix des Relaissatelliten
entsprechen. Ferner vermittelt, wie nachstehend in zusätzlicher
Ausführlichkeit
beschrieben wird, das mit dem Satellitenelement 106 bereitgestellte
Ablaufsteuerungssystem vorzugsweise nur während des Schutzbandintervalls
zwischen den Zeitschlitzen. Nachdem in Bezug auf die ankommenden
Datenpakete sowie jedwede gepufferten Pakete eine zweckentsprechende
Weiterleitentscheidung implementiert worden ist, sammelt ein Kanalmultiplexer
die separaten Kanäle,
die einem Ausgangsport zugeordnet sind, zu einem einzelnen Signal.
Dann bündelt
ein Egressstrahlbildungssystem die Ausgangsportsignale auf separate
Bodenstationen über
Downlinkstrahlen, die zusätzlich
zu den Datenburstkanälen
einen Telemetriekanal (TMK) enthalten, der Schlitzsynchronisationsinformationen
transportiert. Bezugszeichen 110 bezieht sich auf einen
beispielhaften Downlinkstrahl, der die Datenburstkanäle und das
TMK-Signal aufweist, die an die Bodenstation M 102-M gesendet
werden.
-
2 bildet
ein beispielhaftes kanalisiertes Strahlschema ab, das im oben beschriebenen
FBS-System 100 implementiert ist. Wie erwähnt, sind
lokale Bodenstationen jeweiligen Dienstzugangspunkten zum Konzentrieren
von Bodenleitungen zugeordnet, und dementsprechend ist ein Level-1-(L1-)-Ablaufsteuerblock 204 bereitgestellt,
um mit einem Uplinkport 202 einer Bodenstation zum Bilden
von Datenbursts (beispielsweise werden ankommende IP-Pakete zu einem „Superpaket" gesammelt, das auf
Basis von Dauer und/oder Länge
gebildet wird und das denselben Egressport und dieselben Dienstklassenanforderungen
(Class of Service, CoS-Anforderungen)
aufweist) und entsprechenden BHPs betreibbar zu sein. Ein Wartefeldmanagementsystem
der Bodenstation ist betreibbar, um die Datenbursts und BHPs zur
Uplinksendung in Richtung des Satellitenknotens des FBS-Systems
in kanalspezifische Wartefelder einzureihen. Man muss verstehen,
dass zu Zwecken der Dateneinreihung und lokalen Pufferung durch
die Bodenstation verschiedene bekannte und neuartige Wartefeld-/Ablaufsteuerungstechniken
eingesetzt werden können.
Die Bezugszeichen 206-1 bis 206-4 beziehen sich
auf vier beispielhafte Datenwartefelder, die vier entsprechenden
Datenkanälen 208-1 bis 208-4 zugeordnet
sind. Ein Steuerkanal 210, entweder bandintern oder bandextern,
ist betreibbar, um die BHPs, die den Datenbursts zugeordnet sind,
vor deren Sendung auf den Datenkanälen zu transportieren. Zum
Beispiel veranschaulichen die Datenbursts 220-1 bis 220-5 mehrere
Datenbursts, die auf Datenkanal 208-1 gesendet werden.
Wie in 2 dargestellt, ist BHP 222-1 Datenburst 220-1 zugeordnet,
ist BHP 222-2 Datenburst 220-2 zugeordnet und
ist BHP 222-3 Datenburst 220-3 zugeordnet. In
gleicher Weise sind Datenbursts der anderen Datenkanäle entsprechenden
BHPs auf dem Steuerkanal 210 zugeordnet. Wie unten beschrieben
wird, wird jedes BHP mit einem vorgegebenen Zeitversatz vor seinem
Datenburst gesendet und beinhaltet notwendige Steuerinformationen,
die beim Einrichten der On-Board-Burstvermittlungsvorrichtung 212 des
Satelliten verwendet werden. Eine Level-2-(L2-)-Ablaufsteuerung 214 ist
betreibbar, um die BHP-Informationen zu empfangen, die in Reaktion
darauf die BHP-Anforderungen zum Treffen einer Weiterleitentscheidung
befriedigt. Eine Weiterleitvermittlungsstation 216 ist
in Reaktion auf den Ausgang der L2-Ablaufsteuerung 214 zum
Konfigurieren seiner Vermittlungsmatrix betreibbar, wodurch die
abgehenden Datenpakete zu den Downlinkports des Satelliten gelenkt
werden.
-
Obgleich
die Pufferkapazität,
die mit der Vermittlungsstation des FBS-Systems bereitgestellt werden kann,
wegen der engen Satellitenumgebung knapp bemessen ist, mag nichtsdestotrotz
eine kleine Speichermenge zu Zwecken des Unterstützens einiger Verzögerung in
den Paketen verfügbar
sein, die nicht sofort zur Ablaufsteuerung durch den Satellitenknoten
verarbeitet werden können.
Dieser Umstand ist besonders beim Bereitstellen von Diensten nützlich,
wo garantierte Paketlieferung als wichtig erachtet wird. Die Verzögerungspuffer
können
den Ingressports (zum Puffern von Eingabekanälen), den Egressports des Vermittlungssystems (zum
Puffern von Ausgangskanälen)
oder beiden abhängig
von den Architekturanforderungen zum Implementieren mehrerer Verzögerungswege
innerhalb des Systems zugeordnet sein. Da das FBS-System betreibbar ist,
unter N virtuellen Vollduplexports zu vermitteln (d. h., theoretisch
zum Vermitteln zwischen N Ingressports und N Egressports, wobei
jeder Port P Datenkanäle
unterstützt),
ist eine Vermittlungsstation notwendig, die zum Vermitteln von (N×P) Kanälen fähig ist.
Ferner muss, wenn K Verzögerungspuffer
bereitgestellt sind, wobei jeder einen Verzögerungsschleifenweg in Bezug
auf die Vermittlungsstation unterstützt, die Vermittlungsmatrix
mit (N×P
+ K) mal (N×P
+ K) dimensioniert werden, was unter anderem basierend auf der Pufferarchitektur
auf unterschiedliche Weisen partitioniert werden kann. 3A bildet
ein Funktionsblockdiagramm einer Ausführungsform der FBS-Systemarchitektur 300A ab,
worin den Eingangsdatenkanälen
ein Verzögerungspufferblock 306 zugeordnet
ist, der mehrere Verzögerungspuffer
aufweist. Ein Kanalswitch 304 ist betreibbar, um ankommende
Datenburstpakete (nach dem Strahltrennen und Demultiplexen) über mehrere
Ingressports 302-1 bis 302-N zu empfangen, wobei
jeder P Datenkanäle
aufweist. In dieser Konfiguration wird ein Paket, das auf einem
Datenkanal eines Ingressports eintrifft, einem verfügbaren Kanal
auf einem dafür
vorgesehenen Ausgangsport zugewiesen. Wenn auf dem Ausgangsport
kein Kanal verfügbar
ist, kann das Paket einem der Verzögerungspuffer des Verzögerungsblocks 306 zugewiesen
werden. Mehrere Portswitches 308-1 bis 308-P, die
jeder einer Egressdatenkanalgruppe entsprechen, sind betreibbar
mit dem Kanalswitch 304 gekoppelt. Steuersignale 305, 309,
die durch den Weiterleitentscheidungsblock des Vermittlungs/Ablaufsteuerungssystems
bereitgestellt sind, bestimmen die Konfiguration der Kanal- bzw.
Portswitches. Der Ausgang der Portswitches wird einem Multiplexkombinierer 310 bereitgestellt,
der die P Ausgangskanäle
eines bestimmten Egressports 312 kombiniert. Wie nachstehend
ausführlich
erläutert
wird, kann eine ausgeklügelte
Paketweiterleitungsmethodik implementiert sein, um ein Ablaufsteuerungsschema
gemäß den Lehren
der vorliegenden Erfindung zu bewirken.
-
Die
oben beschriebene Funktionsarchitektur kann als Vermittlungsproblem
angesehen werden, das eine Architekturtopologie 300B aufweist,
die in 3B gezeigt ist. Die partitionierte
Vermittlungsfunktionalität der
FBS-Ausführungsform 300A ist
zu einem einzelnen Vermittlungsblock 350 kombiniert, der
mehrere Datenkanäle
empfängt,
die jedem Ingressport 352 zugeordnet sind. Die Bezugszeichen 356-1 bis 356-K beziehen sich
auf K Verzögerungspuffer
des in 3A gezeigten Verzögerungsblocks 306.
Die Ausgangsports 354-1 bis 354-N veranschaulichen
die N Egressports des FBS-Systems.
-
4A bildet
ein Funktionsblockdiagramm einer anderen Ausführungsform der FBS-Systemarchitektur 400A ab,
worin die Verzögerungspuffer
den Ausgangsports zugeordnet sind. Wieder stellen N Ingressports 302-1 bis 302-N die
ankommenden Datenpakete einem Kanalswitch 402 bereit, der
mit P Portswitches 404-1 bis 404-P gekoppelt ist.
Jeder Portswitch ist mit einem Verzögerungsblock versehen, der
einen Satz (K) von Speicherpuffern aufweist. Die Bezugszeichen 406-1 bis 406-P beziehen
sich auf die P Verzögerungsblöcke, die
den P Portswitches entsprechen. Die Ausgänge der P Portswitches sind
auf portweiser Basis kombiniert, sodass alle Ausgangskanäle eines
bestimmten Egressports 312 über die Frequenz zu einem einzigen
Signal gemultiplext werden.
-
Ähnlich wie 3B bildet 4B eine
Architekturtopologie 400B ab, die der oben beschriebenen FBS-System-Ausführungsform 400A zugeordnet
ist. Ein generischer Vermittlungsblock 450, der die separaten Kanal-
und Portvermittlungsstrukturen veranschaulicht, die in 4A gezeigt
sind, ist betreibbar mit den Ingressports 302-1 bis 302-N gekoppelt,
um gedemultiplexte Datenpakete auf individuellen Eingangsdatenkanälen zu empfangen.
Mehrere Verzögerungspuffer 452-1 bis 452-K sind
den P Ausgangskanälen
eines einzelnen Ports, z. B. Egressport 312, zugeordnet.
Wenn ein Paket an einem Eingangsport ankommt, bestimmt der Ablaufsteuerungsmechanismus
den zugewiesenen Egressport und sucht nach einem diesem zugeordneten
Datenkanal. Sind keine Kanäle
oder Puffer verfügbar,
kann das Paket ausgelassen werden.
-
Wie
hier oben erwähnt,
kann die Pufferkapazität,
die der Burstvermittlungsvorrichtung zugeordnet ist, extrem begrenzt
sein. Somit sollte der Paketauslassmechanismus ein derartiger sein,
dass nicht nur eine minimale Menge ausgelassen wird, sondern er
sollte auch einer sein, der vernünftige
Ausnutzung von Ressourcen ermöglicht.
Somit umfasst gemäß den Ausführungen
der vorliegenden Erfindung die Ablaufsteuerungsmethodik ein Schema,
um zu wählen,
welches Paket unter zwei oder mehr Kandidaten basierend auf ihrer
Position innerhalb des Verarbeitungsflusses des FBS-Systems auszulassen
ist. Darüber
hinaus stellt die Methodik Randomisieren der Abarbeitungsreihenfolge
für die
Mehrfach-Datenkanäle bereit,
die am Switch ankommen, um bevorzugte Behandlung eines oder mehrerer
Datenflüsse
zu vermeiden.
-
5 ist
ein Ablaufdiagramm der verschiedenen Vorgänge, die an einer Ausführungsform
der Ablaufsteuerungsmethodik der vorliegenden Erfindung beteiligt
sind, die mit einer der oben beschriebenen Architekturtopologien
implementiert sein können,
wobei mindestens ein Teil des Ablaufsteuerungsmechanismus Software/Firmwareanweisungen
auf einem computerzugreifbaren Medium umfassen kann. Für jeden
Zeitschlitz erfolgt eine Bestimmung, ob es vorher in den Verzögerungspuffern
gepufferte Pakete gibt, die von einem Ausgangsport gesendet werden
können
(Block 502). Anders ausgedrückt, versucht die Bestimmung
herauszufinden, ob es genug auf den dafür vorgesehenen Ausgangsports
verfügbare
Datenkanäle
gibt, die zum Senden der vorher gepufferten Datenpakete verwendet
werden können.
Wenn dies der Fall ist, werden derartige vorher gepufferte Pakete
zur Sendung von den Ausgangsports eingeplant, bevor irgendwelche
anderen Pakete in Betracht kommen (Block 503). Danach erfolgt
eine andere Bestimmung, ob es Ingresspakete an der Burstvermittlungsvorrichtung
gibt, die Teil eines vorher angenommenen Datenbursts sind (Block 504).
Im Kontext der vorliegenden Erfindung ist ein vorher angenommener
Burst einer, für
den ein oder mehrere Datenpakete bereits durch das FBS-System angenommen
worden sind, das heißt,
dass die früheren
Datenpakete zur Sendung eingeplant oder zur Verzögerungspufferung angenommen,
aber nicht ausgelassen wurden. Wenn dies der Fall ist, werden derartige
Pakete vorher angenommener Datenbursts verarbeitet, bevor irgendwelche
der neu am Switch ankommenden Pakete verarbeitet werden. Dementsprechend
werden diese Pakete sofort zur Sendung (im aktuellen Zeitschlitz)
eingeplant oder erforderlichenfalls gepuffert (Block 506).
Danach erfolgt noch eine andere Bestimmung, ob die Anfangspakete
irgendwelcher neu ankommenden Bursts gesendet oder gepuffert werden
können
(Block 508). Wenn dies der Fall ist, werden derartige Anfangspakete
der neu ankommenden Datenbursts dementsprechend abhängig von
der Verfügbarkeit
der Ausgangsdatenkanäle
auf den Zielegressports und/oder der Verfügbarkeit freier Verzögerungspuffer
verarbeitet (Block 510). Anderenfalls, kann dann eine Paketauslassverfahrensweise
in Bezug auf die Anfangspakete am Switch angewendet werden (Block 512).
In einer beispielhaften Anwendung werden, wenn ein Paket eines bestimmten
Datenbursts ausgelassen wird, alle übrigen Pakete, die jenem Datenburst zugeordnet
sind, ebenfalls ausgelassen, jedwede gegenwärtig gepufferten Pakete inbegriffen.
-
Im
Hinblick auf die Implementierung des oben beschriebenen Ablaufsteuerungsmechanismus
kann es erforderlich sein, dass die Vermittlungsvorrichtung ein
neues Paket in einen Verzögerungspuffer
schreibt, während
ein anderes Paket aus jenem Puffer gesendet wird. Dies kann durch
Abarbeiten der Puffer vor dem Abarbeiten der Eingangsdatenkanäle bewirkt
werden. Dementsprechend werden, wenn ein Eingangsdatenkanal verarbeitet
wird, alle Verzögerungspuffer
als leer und verfügbar
gesehen, die im selben Zeitschlitz (auch als Schlitzzyklus bekannt)
abgearbeitet wurden. Zu beginn jedes Schlitzzyklus werden daher
alle Verzögerungspuffer
untersucht, um zu bestimmen, welche Pakete aufweisen, die gespeichert
und zum Lenken zu den Ausgangsports verfügbar sind. Gepufferte Pakete,
die nicht auf Ausgangsdatenkanälen
gesendet werden können, werden
bis zum nächsten
Schlitzzyklus vertagt. Dieser Prozess kann als „Pufferrückgabe"-Schema bezeichnet werden, und eine
Obergrenze der Anzahl Zyklen, die ein gepuffertes Paket zurückgegeben
(d. h. zurückgehalten)
werden kann, kann auf Konstruktionsbedingungen basierend implementiert
sein. In einer Konfiguration kann, basierend auf der Puffernummer
und der Portnummer, eine numerische Abfolge für alle Verzögerungspuffer im Switch eingerichtet
sein, die die Form Si,j, Si,j+1,
Si,j+2, ...., Si+1,j,
Si+1+1, Si+1,j+2,
.... annehmen kann; wobei i die Portnummer (i 6 1, 2, ..., N) ist
und j die Puffernummer (j 6 1, 2, ..., K) ist. Verzögerungspuffer
können
in einer zyklischen numerischen Reihenfolge, zuerst nach Puffernummer
und dann nach Portnummer, abgearbeitet werden. Um zu verhindern,
dass jeder Abarbeitungszyklus am selben Punkt für einen Schlitz startet, kann
ein Zeigermechanismus implementiert sein, sodass der Abarbeitungsstartpunkt
in nicht vorhersagbarer Weise während
des Ablaufsteuerungsprozesses vorgeschoben wird. Der Mechanismus,
der zum Vorschieben des Zeigers verwendet wird, kann mit gewissen
Ereignissen verknüpft
werden, gesteuert durch den ankommenden Verkehr.
-
Wie
vorher erwähnt,
werden die Pakete vorhandener Datenbursts abgearbeitet, nachdem
die Verzögerungspuffer
abgearbeitet worden sind. Für
Einzelschlitzbursts hat dies keine Bedeutung, aber bei Mehrschlitzbursts
werden Schlitz Nummer 2 und darüber
hinaus eines Datenbursts vor jedweden Anfangspaketen (d. h. Paketen
des Schlitzes Nummer 1) eines neu angekommenen Bursts abgearbeitet.
Die Absicht ist, die Vollendung der Ablaufsteuerung vorangehender
Schlitze eines Mehrschlitzbursts zu bewahren, da das Auslassen eines
nachfolgenden Schlitzes des Bursts das Verwerfen der Schlitze zur
Folge haben kann, die bereits an eine Bodenstation gesendet worden
sind. Wenn ein Schlitz keinem Ausgangsdatenkanal zugeteilt werden kann,
wird ein Versuch unternommen, ihn in einem der Verzögerungspuffer
zu speichern, die dem Port zugeordnet sind. Andererseits wird, wenn
der Schlitz nicht gesendet oder gespeichert werden kann, der ganze
Datenburst ausgelassen. Wann immer ein Burst ausgelassen wird, durchsucht
die Ablaufsteuerung der vorliegenden Erfindung die Verzögerungspuffer
und verwirft jedwede anderen Schlitzpakete, die dem ausgelassenen Burst
zugeordnet sind. Darüber
hinaus können
die übrigen
Pakete des Bursts, die noch zu empfangen sind, ebenso als auszulassen
markiert werden.
-
Um
sicherzustellen, dass die Verarbeitung der Kanäle nicht ständig mit demselben Kanal für jeden Zeitschlitz
beginnt (d. h. irgendeinem festen Muster folgt), kann der Abarbeitungsstartpunkt ähnlich dem
oben beschriebenen Verzögerungspuffer-Abarbeitungsprozess
randomisiert werden. In Bezug auf die Kanal- und Port-Kombination,
mit der zu beginnen ist, können
Zeiger eingerichtet werden, wobei der Kanalzeiger zyklisch jedes
Mal vorgeschoben werden kann, wenn ein Paket von einem Kanal gesendet
wird, und der Portzeiger zyklisch jedes Mal vorgeschoben wird, wenn
ein neuer Burst am Switch ankommt. Wieder kann der Zeigervorschubmechanismus
mit dem ankommenden Verkehr verknüpft werden.
-
Nachdem
die Pakete vorhandener Bursts verarbeitet worden sind, verarbeitet
die Ablaufsteuerung Pakete der neu angekommenen Bursts. Während diese,
wie oben erwähnt,
bei Mehrsschlitzbursts Pakete des Schlitzes Nummer 1 sind, umfassen
sie bei Einzelschlitzbursts die alleinigen Pakete. Davon abgesehen
ist deren Verarbeitung dem Ablaufsteuerungsmechanismus ähnlich,
der für
die vorhandenen Datenbursts dargelegt ist. Wiederum wird der Abarbeitungsstartpunkt
(Kanal- und Port-Kombination) randomisiert, um jedwede festen Muster
zu verhindern.
-
Die
Begründung
dafür,
nachfolgenden Schlitzpaketen Priorität zu gewähren, kann wie folgt veranschaulicht
werden. Wenn ein Burst mehr als ein Schlitzpaket umfasst, kann es
sein, dass das erste Paket ausgelassen werden muss. Dann werden,
um Switchressourcen zu bewahren, die übrigen Pakete des Bursts ausgelassen.
Wenn das erste Paket gesendet worden ist, ist es wichtig, die nachfolgenden
Pakete des Bursts nicht auszulassen, weil dies auch zum Verlust
der vorher gesendeten Pakete führt.
Selbst bei fehlender Pufferung (oder bei begrenzter Pufferung) ist
es möglich,
den Verlust nachfolgender Schlitzpakete durch das einfache Schema
zu verhindern, Anfangspakete zu verarbeiten, nachdem alle vorherigen
Bursts verarbeitet worden sind.
-
Als
weitere umsetzungmäßige Variante
kann jedwede statistische Veränderung
in der Verkehrslast auf jedem Kanal und/oder unter einer Gruppe
von Kanälen
dadurch beseitigt werden, dass die Verbindungspartner des Switches
(d. h. Uplink- und Downlinkports) aufgefordert werden, ein Burstauslöseschema
zu verwenden, das das Generieren deterministischeren Verkehrs ermöglicht.
Während
ein derartiges Schema Synchronisation zwischen den Verbindungspartnern
erfordern kann, verlangt es nur nach minimaler Zusammenarbeit unter den
verschiedenen Verbindungspartnern, da derartige Synchronisation
bereits gefordert wird und keine weitere Zusammenarbeit nötig ist,
um den Burstauslösezeitablauf
aufrechtzuerhalten.
-
Nachstehend
ist Pseudocode hinsichtlich der oben beschriebenen Ablaufsteuerungsmethodik
dargelegt, wie sie in den zwei Architekturtopologien angewendet
wird.
-
Fall A: Eingangsports zugeordnete Verzögerungspuffer
-
Am
Anfang werden alle Burststatusi,j auf LEER
gesetzt.
-
Wenn
ein neuer Burst an Kanali,j ankommt, wird
sein Burststatus auf NEU gesetzt.
-
-
-
-
Fall B: Ausgangsports zugeordnete Verzögerungspuffer
-
Am
Anfang werden alle Burststatusi,j auf LEER
gesetzt.
-
Wenn
ein neuer Burst an Kanali,j ankommt, wird
sein Burststatus auf NEU gesetzt.
-
-
-
-
Günstige Ergebnisse
sind mittels experimenteller Simulation erzielt worden, wobei die
vorstehenden Implementierungen der Ablaufsteuerungsmethodik der
vorliegenden Erfindung beteiligt waren. Außerdem ist, obgleich die Ablaufsteuerung
die Datenkanäle
in Folge verarbeitet (wodurch einige Leistung geopfert wird, die in
Schemata verfügbar
sein kann, die parallele Vorgänge
einbeziehen), beobachtet worden, dass angemessener Durchsatz und
vernachlässigbarer
Paketverlust in den über
Simulation getesteten Switchkonfigurationen möglich sind. Darüber hinaus
kann in Situationen, in denen die Paketweiterleitungsberechnungen
nicht innerhalb einer Schlitzzeit berechnet werden können (beispielsweise
aufgrund sequenzieller Verarbeitung der Kanäle und Verzögerungspuffer), die Ablaufsteuerungsmethodik
immer noch unter Verwendung von mehreren Prozessoren implementiert werden,
von denen jeder die Paketweiterleitungslösung für einen separaten Zeitschlitz
berechnet. Dies ist möglich,
weil die BHPs den Datenbursts mit genug Zeitverzögerung vorangehen, um zu ermöglichen,
dass die Lösung
zu der Zeit berechnet ist, zu der die Bursts tatsächlich am
Switch ankommen. Dementsprechend ist ein derartiges Schema betreibbar,
um das vorzunehmen, was als „vorausschauende" Paketablaufsteuerung
bezeichnet werden kann, um Weiterleitentscheidungen zu bewirken,
die in zukünftigen
Zeitschlitzen zu implementieren sind. Die BHPs, die auf den Uplinksteuerkanälen transportiert
werden, können
mit zweckentsprechenden Informationen gepackt sein, die durch die
Ablaufsteuerung zum „Zuteilen" noch eintreffender
Ingressdatenpakete an Ausgangsdatenkanäle und/oder die Verzögerungspuffer
genutzt werden können.
-
Jetzt
Bezug nehmend auf 6 ist darin eine grafische Darstellung
eines beispielhaften Datenkanals 602 und eines zugeordneten
Steuerkanals 604 abgebildet, wobei mehrere BHPs Steuerinformationen
beinhalten, die beim Bewirken eines vorausschauenden Ablaufsteuerungsmechanismus
verwendet werden, im Vorstehenden erwähnt. Der Datenkanal 602 ist
mit drei Datenbursts 606-1 bis 606-3 veranschaulicht,
dem jeder ein entsprechendes BHP vorangeht. Als Veranschaulichung
geht BHP 608-1 dem diesem zugeordneten Datenburst 606-1 voran.
In gleicher Weise sind BHPs 608-2 und 608-3 Datenbursts 606-2 bzw. 606-3 zugeordnet. Jeder
Datenburst ist von seinem BHP zeitlich um eine systemweite Konstante
getrennt, z. B. Verzögerung
(*) 610, die eine vorgegebene Anzahl von Zeitschlitzen
umspannen kann, z. B. 4 Schlitze, 5 Schlitze usw. Wie unten ausführlich beschrieben
wird, ist die vorausschauende Ablaufsteuerung der vorliegenden Erfindung betreibbar,
um eine Arbitrationsanordnung zu implementieren, um Ausgangsdatenkanäle auf schlitzweiser
Basis unter Verwendung eines speicherabgebildeten Kanalschemas zu „reservieren". Im Kontext der
vorliegenden Erfindung können
die BHPs mit den folgenden Informationen gepackt sein:
- – Mehrfachsendungsbit:
Dieses Bit ist abhängig
davon gesetzt, ob der zugeordnete Datenburst für nur einen Ausgangsport (Einfachsendung)
oder für
mehrere Ports (Mehrfachsendung/Rundsendung) bestimmt ist. Auf ein
auf „EIN" gesetztes Mehrfachsendungsbit
kann eine Liste von Zielportnummern folgen. Alternativ könnte eine
Gruppe von Ports bereitgestellt sein, wobei eine Gruppennummer betreibbar
ist, um eine vorzugewiesene Liste von Ausgangsports anzugeben.
- – Gruppenbit:
Wenn dieses Bit auf den Zustand „EIN" gesetzt ist, wird die Liste bereitgestellter
Zielnummern als eine einzige Gruppe behandelt, nicht als eine Zusammenstellung
individueller Ports. Man muss verstehen, dass das Verweisen auf
Gruppenentitäten
statt auf individuelle Portnummern die Größe des BHPs beträchtlich
verringern kann.
- – Zielfeldnummer(n):
Diese Nummern identifizieren eine Liste von Ports oder eine Gruppe
von Ports, für
die der Burst in dem Fall bestimmt ist, dass das Mehrfachsendungsbit
gesetzt ist. Ist das Mehrfachsendungsbit nicht gesetzt, ist der
Burst als für
Einfachsendungsdienst identifiziert. Wenn das Mehrfachsendungsbit
gesetzt ist, aber das Gruppenbit nicht gesetzt ist, werden die Zielportnummern individuell
aufgeführt.
Wenn sowohl das Gruppen- als auch das Mehrfachsendungsbit gesetzt
ist, verweist die Liste der Zielnummern auf eine Gruppe von Ports.
- – Versatz:
Dieses Feld gibt die Zeit in Zeitschlitzinkrementen (ZS-Inkrementen)
an, nach der der Burst am Weiterleitswitch ankommen wird. Die Anzahl
der Bits im Versatzfeld hängt
von den maximal zulässigen Zeitschlitzen
zwischen der Ankunft des BHPs und der Ankunft des Datenbursts ab.
Wie zuvor erwähnt, kann
dieser Versatz als systemweite Konstante bereitgestellt sein, er
kann aber auch variabel sein. Wenn X Zeitschlitze nötig sind,
damit die Ablaufsteuerung vorausschauende Kanalzuteilungen, Einstellung
der Vermittlungsmatrizen usw. vornehmen kann, wird eine Verzögerung von
X Zeitschlitzen zwischen den BHPs und den zugeordneten Datenbursts
benötigt.
Wenn alles sachgerecht geschlitzt und synchronisiert ist, kann diese
Verzögerung
als Konstante behandelt werden (d. h., exakt X Zeitschlitze zwischen
jedem BHP-Burst-Paar). Auch muss, wie unten beschrieben wird, die
Ablaufsteuerung in einer Pipelineorganisation implementiert sein,
die X Instanzen aufweist, wobei jede Ablaufsteuerungsinstanz unabhängig ausgeführt wird,
um eine passende Lösung
(die ankommende Datenpakete speicherabgebildeten abgehenden Datenkanälen und/oder
Verzögerungspuffern
vorzuteilt) für
ihren entsprechenden Zeitschlitz zu finden.
- – Burstlänge: Dieses
Feld stellt die Burstlänge
als die Anzahl von Zeitschlitzen bereit, die ein Datenburst belegt.
Im Allgemeinen belegt ein Datenburst mindestens einen Zeitschlitz.
Zweckentsprechendes Auffüllen
kann dort bereitgestellt werden, wo Schlitzgrenzen und Burstgrenzen
nicht ausgerichtet sind.
-
Darüber hinaus
könnten
abhängig
von der Steuerkanalorganisation (d. h. den gemischten Steuerkanälen) die
Eingangskanal- und die Eingangsportinformationen ebenfalls in den
BHP-Feldern beinhaltet sein.
-
Nun
kann unter Verwendung der BHP-Informationen, die oben dargelegt
sind, ein vorausschauender Ablaufsteuerungsmechanismus für die Kanalreservierung
beschrieben werden. Bezug nehmend auf 7 ist darin
ein beispielhaftes speicherabgebildetes Kanalreservierungsschema 700 abgebildet,
das zur Ablaufsteuerung zukünftiger
Datenbursts verwendet wird, die in einem Vermittlungselement zu
empfangen sind. Eine Ablaufsteuerung 702 ist betreibbar,
um die BHPs über
einen Steuerkanal 704 zu empfangen, wobei die BHPs Steuerinformationen
wie z. B. Verzögerung
*, Burstlänge,
Mehrfachsendungsindikatoren und so weiter beinhalten. Ein Speicherblock 706,
der Ablaufsteuerung 702 zugeordnet ist, ist betreibbar,
um eine portzugeordnete Abbildung zu enthalten, wobei mehrere Speicherorte
Ausgangsdatenkanälen
und Verzögerungspuffern
auf Zeitschlitzbasis zugeordnet sind. Als Veranschaulichung werden
ein einzelner Port 708, der vier Ausgangsdatenkanäle (KA-1
bis KA-4) aufweist, und ein Verzögerungspufferblock 710,
der drei Puffer (VERZÖGERUNG-1 bis
VERZÖGERUNG-3)
aufweist, vom aktuellen Zeitschlitz (ZS) durch mehrere zukünftige Zeitschlitze
(ZS-1, ZS-2 und so weiter) speicherabgebildet. Ein Schlitzzeiger 707 zeigt
auf die Datenpaketzuweisung, die für jeden Zeitschlitz aktuell
ist. Die Zuweisungsabbildung bei ZS (d. h. dem aktuellen Schlitz)
wird zum Einstellen der Paketvermittlungs-/weiterleitungswege für den aktuellen
Schlitzzyklus an die (nicht gezeigte) Switchkonfigurationssteuerung
weitergeleitet.
-
Die
vorausschauende Paketzuweisung zur Kanalreservierung wird basierend
auf den BHP-Informationen vervollständigt. Da die ankommenden BHPs
kontinuierlich Informationen bezüglich
der Folgedatenbursts auf den Ingressdatenkanälen bereitstellen, befriedigt
ein Kanalzuteilungsmechanismus (der auf Arbitration, z. B. einem
Round-Robin-Arbitrationsmechanismus (RRA-Mechanismus) oder einem
einfachen zählerbasierten Mechanismus
basieren kann) die BHP-Anforderungen, sodass die schlitzabgebildeten
Speicherorte Angaben darüber
enthalten, welche zukünftigen
Pakete welchen Ausgangsdatenkanälen
und/oder Verzögerungspuffern auf
Schlitzbasis zugewiesen sind. Zum Beispiel beziehen sich die Bezugszeichen 712-1 bis 712-4 auf
die Angaben, die vier Datenpaketen zugeordnet sind, die zur Sendung
auf den vier Kanälen
KA-1 bis KA-4 des Ausgangsports im aktuellen ZS eingeplant sind.
In Form eines Beispiels kann Angabe 712-1 einem Paket auf
Ankunftsport x1, Datenkanal y1; Angabe 712-2 einem Paket
auf Ankunftsport x2, Datenkanal y1; Angabe 712-3 einem
Paket auf Ankunftsport x1, Datenkanal y2 und Angabe 712-4 einem
Paket auf Ankunftsport x3, Datenkanal y3 zugeordnet sein. In gleicher
Weise beziehen sich die Bezugszeichen 714-1 und 714-2 auf
die Angaben, die zwei Datenpaketen zugeordnet sind, die in VERZÖGERUNG-1
bzw. VERZÖGERUNG-2
im aktuellen ZS zu Puffern sind. Es sollte offensichtlich sein,
dass diese Angaben einfach geordnete Paare von {Port; Kanal} aufweisen
können,
die Paketen zugeordnet sind, die basierend auf einem Ablaufsteuerungs/Arbitrationsmechanismus
ausgewählt
worden sind.
-
Weiter
Bezug nehmend auf 7 bezieht sich Bezugszeichen 716-1 auf
eine Angabe, dass ein ankommendes Datenpaket, das einem {Port; Kanal}-Paar
zugeordnet ist, zur Sendung auf KA-4 des Ausgangsports im nächsten Schlitz
(d. h. ZS-1) einzuplanen ist. In ähnlicher Weise beziehen sich
die Bezugszeichen 716-2 bis 716-5 auf die Angaben
(oder „Kanalreservierungen") zukünftiger
Datenpakete, die im Schlitz ZS-2 einzuplanen sind (d. h. zwei Schlitze
hinter dem aktuellen Schlitz); beziehen sich die Bezugszeichen 716-6 und 714-3 auf
die zukünftigen
Kanalreservierungen im Schlitz ZS-3 und bezieht sich das Bezugszeichen 716-7 auf die
Kanalreservierung durch ein Paket im Schlitz ZS-4. Der Verzögerungspufferblock
ist in ähnlicher
Weise schlitzabgebildet, um anzugeben, welche zukünftigen
Datenpakete in welchen Puffern gepuffert werden können. Die
Bezugszeichen 718-1 bis 718-3 beziehen sich auf
die Angaben, die den drei Paketen (wie durch ihre {Port; Kanal}-Kombinationen identifiziert)
zugeordnet sind, die im Schlitz ZS-2 zu Puffern sind. In ähnlicher Weise
bezieht sich das Bezugszeichen 718-4 auf die Angabe eines
zukünftigen
Pakets, das im Schlitz ZS-3 zu Puffern ist.
-
Es
muss erkannt werden, dass auch ein Pufferrückgabemechanismus im vorausschauenden
Ablaufsteuerungsschema implementiert werden kann, das oben dargelegt
ist. Beispielsweise kann eine Arbitration, die ZS-2 zugeordnet ist,
in einer Bestimmung resultieren, eine Pufferreservierungsangabe
auf einen anderen Zeitschlitz zu vertagen, da alle ZS-2-Speicherorte,
die den Kanälen
für den bestimmten
Ausgangsport zugeordnet sind, voll sind. Eine derartige Pufferrückgabe ist
durch einen Pfeil von ZS-2 nach ZS-3 in der Pufferabbildung veranschaulicht.
In Bezug auf das Rückgabeschema
können
verschiedene Vorschriften implementiert sein. Beispielsweise kann
Zurückgeben
nicht möglich
sein, wenn die Anzahl an Malen, die eine Paketangabe zurückgegeben
wurde, ein vorgegebenes Maximum erreicht. In diesem Fall wird die
betroffene Paketangabe „ausgelassen", das heißt, dass
das Paket nicht in der Lage sein wird, einen Ausgangsdatenkanal
oder einen Puffer zu erhalten, wenn es tatsächlich am Switch ankommt.
-
Im
Hinblick auf eine beispielhafte Implementierung bildet 8 ein
Schema 800 mit vorausschauender Zuteilung von 2 Ausgangsports
und 4 Kanälen
der vorliegenden Erfindung ab. Datenkanäle von Ausgangsport A 803A und
Ausgangsport B 803B wenden in jeweilige Speicherorte abgebildet,
die schlitzabgebildet sind, wie oben beschrieben. Als Veranschaulichung
beziehen sich die Bezugszeichen 805-1 bis 805-4 auf
die vier Datenkanäle
des Ausgangsports A 803A, die als speicherabgebildeter
Abschnitt 807A bereitgestellt sind. In gleicher Weise bezieht
sich Bezugszeichen 807B auf den speicherabgebildeten Abschnitt,
der dem Ausgangsport B 803B zugeordnet ist. Das Bezugszeichen 812 bezieht
sich auf die Paketzuweisung des aktuellen Schlitzes (d. h. bei ZS),
die zum Konfigurieren der Vermittlungswegmatrix des Netzelements
weitergeleitet wird.
-
Jeder
Zeitschlitz ist einem Arbiter/Zähler
zugeordnet, der Paketangaben Kanal für Kanal basierend auf den Vorgriffs-BHP-Anforderungen
zuteilt, die durch die Ablaufsteuerung empfangen werden. Die Anzahl
benötigter
Arbiter/Zähler
ist wegen systemweiter Bedingungen mindestens teilweise durch den
Versatz zwischen den BHPs und den zugeordneten Datenbursts bestimmt.
Wenn die maximalen und minimalen Versatzwerte *max bzw.
*min sind, würde die Anzahl an Arbitern/Zählern näherungsweise
gleich |*max – *min|
sein. Jedoch wird im Hinblick auf Speicherzuteilung bevorzugt, dass
Register zum Speichern der Ablaufsteuerungszuteilung für alle *max Schlitze vorhanden sind.
-
Weiter
Bezug nehmend auf 8 bezieht sich Bezugszeichen 808 auf
einen Block von Arbitern/Zählern,
die dem schlitzabgebildeten Speicherzuteilungsabschnitt jedes Ports
zugeordnet sind, wobei jeder Zeitschlitz mit einem Arbiter/Zähler versehen
ist. Zum Beispiel sind für
jeden der Ausgangsports 12 Arbiter/Zähler dargestellt; Arbiter/Zähler 810-1 ist
ZS-1 zugeordnet (d. h., einen Schlitz hinter dem aktuellen Schlitz);
Arbiter/Zähler 810-2 ist
ZS-2 zugeordnet (d. h., zwei Schlitze hinter dem aktuellen Schlitz)
und so fort. Jeder Arbiter/Zähler
ist tätig,
um die speicherabgebildeten Kanäle
auf schlitzweiser Basis basierend auf irgendeinem bekannten oder
bisher unbekannten Arbitrationsmechanismus oder einfacher Zählung mit
Paketangaben zu füllen.
Beispielsweise füllt,
wenn ein BHP 804, das einem 3-Paket-Datenburst 802 entspricht,
an das Vermittlungselement gesendet wird, Arbiter/Zähler 810-8 Kanal 2 von
Ausgangsport A 803A mit der Paketangabe, die Paket 806-1 für den Schlitz
ZS-8 zugeordnet ist. In gleicher Weise werden Angaben für die nachfolgenden
Pakete 806-2 und 806-3 unter Verwendung entsprechender
Arbiter/Zähler
(nachstehend gemeinsam „Arbiter" genannt) in die
Schlitze ZS-9 und ZS-10 gefüllt.
-
Unten
ist eine beispielhafte Paketauslassverfahrensweise im Kontext des
vorausschauenden Ablaufsteuerungszuteilungsmechanismus dargelegt.
Jedwedes BHP, das eine Ankunft eines Bursts anzeigt, der länger als
* Schlitze ist, wird verworfen, und dementsprechend wird der Burst
ignoriert, wenn er an den Switch gesendet wird. Angesichts des oben
beschriebenen Pufferrückgabeschemas
wird eine Paketangabe ausgelassen, wenn sie nicht durch einen Schlitz
zurückgegeben
werden kann. Neben der Begrenzung der Anzahl zulässiger Rückgaben kann Rückgabe auch
durch die Bedingung begrenzt sein, dass bei irgendeinem gegebenen
Zeitschlitz die maximal verfügbaren
Verzögerungsschleifen
erschöpft
worden sind. Jedem Zeitschlitz zugeordnet kann es ein Register geben,
das besagt, wie viele Pakete (d. h., deren Angaben) bestimmt sind, an
die Verzögerungsschleifen
in jenem bestimmten Zeitschlitz gesendet zu werden.
-
Auch
werden, wenn eine Paketangabe aus welchem Grund auch immer „ausgelassen" wird, Angaben, die
dem gesamten Burst zugeordnet sind, ebenfalls ausgelassen, sehr ähnlich der
Bedingung, bei der reale Pakete ausgelassen werden. Wenn ein Dienstgüteprogramm
(Quality of Service-, QoS-Programm) implementiert ist, wodurch dem
Verkehr mehrere Prioritäten
zugewiesen werden, können
Pakete hoher Priorität
die nachrangige Behandlung von Paketen niedriger Priorität bewirken.
In einer derartigen Situation kann ein gesamter Burst niedriger
Priorität
nachrangig behandelt werden müssen.
-
9 ist
ein Ablaufdiagramm der verschiedenen Vorgänge, die an einem beispielhaften
vorausschauenden Ablaufsteuerungsmechanismus der vorliegenden Erfindung
beteiligt sind. Es erfolgt eine Bestimmung, ob ein BHP die Ankunft
einen zukünftigen
Bursts anzeigt, der länger
als der Burstverzögerungsparameter
des Systems ist (Block 902). Wenn dies der Fall ist, wird
jener Burst zu Zwecken der Ablaufsteuerung eines Ausgangskanals
ignoriert (Block 904). Es erfolgt eine andere Bestimmung,
ob Rückgabe
in Verzögerungspuffern für irgendein
Paket (d. h. deren Angaben) möglich
ist (Block 906). Ist keine Rückgabe möglich, wird die Paketangabenzuweisung
im Speicherzuteilungsplatz der Ablaufsteuerung ausgelassen (Block 908).
Andererseits können,
wenn Rückgabe
zulässig
ist, Paketangaben in unterschiedliche Zuweisungen in nachfolgenden
Zeitschlitzen abgebildet werden (Block 910). Wenn alle
verfügbaren
Verzögerungspuffer
erschöpft
sind und keine Datenkanalzuweisung möglich ist (Block 912),
kann eine Paketauslassverfahrensweise angewendet werden, wie oben
beschrieben (Block 914). Anderenfalls, werden Paketangaben
bezüglich
zukünftiger
Pakete Ausgangsportkanälen
basierend auf einem Arbitrations/Zählermechanismus auf schlitzweiser
Basis zugewiesen (Block 916). Dort, wo Schlitzarbitration
zum Befriedigen der BHP-Anforderungen
genutzt wird, können
verschiedene Schemata implementiert sein, einschließlich z.
B. Round-Robin-Arbitration
(RRA), Binärbaum-Arbitration
(Binary Tree Arbitration, BTA), priorisierte BTA, Nachschlagetabellen-Arbitration.
-
Aspekte
zur Implementierung eines beispielhaften vorausschauenden Ablaufsteuerungsmechanismus
der vorliegenden Erfindung sind unten dargelegt. Zuerst werden Ausgangsdatenkanäle in einen
Speicherblock (d. h. eine Struktur mit abgebildetem Speicher) abgebildet,
der der Ablaufsteuerung zugeordnet ist, wobei der Speicher jedweden
herkömmlichen
Typ umfassen kann, z. B. nicht flüchtigen RAM, EPROM, Flash-Speicher
und dergleichen. Jeder Datenkanal wird in mehrere Speicherorte abgebildet,
die zu einer Anzahl von Abschnitten entsprechend einer vorgegebenen
Anzahl zukünftiger
Zeitschlitze (d. h. dem „Vorgriffshorizont") geordnet sind.
Die speicherabgebildeten Kanäle
sind auch auf Portbasis geordnet. Eine entsprechende Anzahl von „Arbitern" (einschließlich Mechanismen,
an denen Anfordern-Gewähren-Annehmen-(Request-Grant-Accept-,
RGA-) oder Anfordern-Gewähren-(Request-Grant-,
RG-)-Arbitrationen sowie Mechanismen beteiligt sind, die einfache
Zählung
einsetzen) ist bereitgestellt, sodass jeder zukünftige Zeitschlitz eines Ausgangsports
einem Arbiter zugeordnet ist, der Zuweisungen zukünftiger
Datenpakete in Bezug auf jene bestimmte Schlitz-Port-Kombination berechnet oder anderweitig
bestimmt. Anders ausgedrückt,
erfolgt, basierend auf den Steuerinformationen, die über die
BHPs empfangen werden, in Bezug auf jeden zukünftigen Zeitschlitz eine Bestimmung
dahingehend, welche zukünftigen
Datenpakete auf welchen Ausgangsdatenkanälen gesendet werden können. Wie
hier oben ausführlich
erläutert,
sind Paketangaben bezüglich
der zugeteilten zukünftigen
Datenpakete in zweckentsprechenden Speicherorten auf Kanal- und Schlitzbasis
gespeichert, um eine schlitzweises Kanalzuweisungsabbildung bereitzustellen.
Sowie der aktuelle Zeitschlitz der Vermittlungsmatrix inkrementiert
wird, wird eine entsprechende Kanalzuweisungsabbildung zum Senden
von Datenpaketen auf Ausgangsdatenkanälen gemäß der Abbildung an die Matrix
weitergeleitet. In einer weiteren Variation kann auch Verzögerungspufferabbildung
beinhaltet sein, wie oben beschrieben.
-
Der
vorausschauende Ablaufsteuerungsmechanismus der vorliegenden Erfindung
kann ebenso mit Mehrfachsendungsdienst praktiziert werden. 10 bildet
ein beispielhaftes kanalreservierungsbasiertes Mehrfachsendungs-Ablaufsteuerungsschema 1000 ab,
das gemäß den Lehren
der vorliegenden Erfindung bereitgestellt ist. Basierend auf den
Steuerinformationen (d. h. Mehrfachsendungsbit-, Gruppenbit- und Zielportlisteninformationen),
die in einem BHP 1006 entsprechend einem 3-Paket-Datenburst 1002 bereitgestellt sind,
werden die Paketangaben bezüglich
der drei Pakete einem 3-Schlitz-Fenster zugewiesen, das der Speicherabbildung
jedes Zielports zugeordnet ist. Die Bezugszeichen 1004-1 bis 1004-3 beziehen
sich auf die drei Datenpakete des Bursts 1002, deren Angaben
schlitzweise in Bezug auf mehrere Ausgangsports 1010-1 bis 1010-N in
diesen zugeordneten 3-Schlitz-Fenstern 1008-1 bis 1008-N zugewiesen
werden. Datenkanäle
der Ausgangsports sind speicherabgebildet, wie hier oben beschrieben.
Dementsprechend entsprechen die Speicherabbildungskanäle 1011-1 bis 1011-N den
N Ausgangsports, wobei die Paketangaben basierend auf den BHP-Anforderungen
zugewiesen sein können.
Bei einem Mehrfachsendungsdienst werden die Paketangaben auf Portbasis
zugeteilt, und als Folge davon können
die Paketangabenzuweisungen über
die Ports hinweg nicht identisch sein, wie in dieser FIG. dargestellt.
Darüber
hinaus können
die Paketangaben für
einen Zielport teilweise für
das diesem zugeordnete Schlitzfenster gepuffert sein.
-
Basierend
auf dem Vorstehenden muss der Fachmann verstehen, dass die vorliegende
Erfindung einen innovativen Ablaufsteuerungsmechanismus bereitstellt,
der mit einer Burstvermittlungsumgebung betreibbar ist, worin typischerweise
strikte Pufferkapazitäts-
und Paketauslassbedingungen auftreten. Durch Verarbeiten von Datenpaketen
gemäß den Ablaufsteuerungsprinzipien,
die in dieser Patentanmeldung dargelegt sind, werden nicht nur die
Switchressourcen in vernünftigem
Maße bewahrt,
sondern es wird ebenso der Durchsatz bei minimalem Paketverlust
aufrechterhalten. In einem weiteren Aspekt stellt der vorausschauende Ablaufsteuerungsmechanismus
der vorliegenden Erfindung eine höher entwickelte Implementierung
bereit, die Paketweiterleitungsstrategien basierend auf den Vorschub-Steuerinformationen
bestimmt, die auf Steuerkanälen
empfangen werden.
-
Es
wird angenommen, dass der Betrieb und der Aufbau der vorliegenden
Erfindung aus der ausführlichen
Beschreibung offensichtlich wird, die hier oben dargelegt ist. Während die
gezeigten und beschriebenen Ausführungsbeispiele
der Erfindung als bevorzugt gekennzeichnet worden sind, wird man
einfach verstehen, dass verschiedene Änderungen und Modifikationen
darin erfolgen können,
ohne vom Umfang der vorliegenden Erfindung abzuweichen, wie in den
folgenden Ansprüchen
dargelegt.
-
1
- 102-1
... 102-M
- STRAHL-1
... STRAHL-M
- 104-1
... 104-M
- BODENSTATION-1
... BODENSTATION-M/BODENLEITUNGSZUGANG
- 108
- BHP
UND BURST ZUM SATELLITEN
- 110
- BURST
ZUM BODEN PLUS TMK
-
2
- 202
- BODENSTATION
UPLINKPORT
- 204
- L1-ABLAUFSTEUERUNG
(BILDET BURSTS UND BURSTHEADERPAKETE)
- 206-1
... 206-4
- WARTEFELDER
- 212
- FBS
- 214
- L2-ABLAUFSTEUERUNG
- 216
- WEITERLEITVERMITTLUNGSSTATION
- 220-1
... 220-5
- BURST
- ZU
DOWNLINKPORTS
- ZU
DOWNLINKPORTS
-
3A, 4A
- 302-1
...
- P
KANÄLE
DEMULTIPLEXEN/INGRESSPORT (DKG)
- 304
- KANALVERMITTLUNG
(P+K) × (P+K)
- 305,
309, 403
- STEUERUNG
- 306,
406-1 ... 406-P
- VERZÖGERUNGSBLOCK
- 308-1
... 308-P
- (EGRESS-DK
1 ZUGEORDNET) PORTSWITCH N×N
... (EGRESS-DK P ZUGEORDNET) ...
- 310,
408
- KOMBINIERER
- 312
- EGRESSPORT
(DKG)
- 402
- KANALVERMITTLUNG
(P×P)
- 404-1
... 404-P
- (EGRESS-DK
1 ZUGEORDNET) PORTSWITCH (N+K) × (N+K)
... (EGRESS-DK P ZUGEORDNET) ...
-
3B
- 352
- EINGANGSPORT
- 354-1
... 354-N
- AUSGANGSPORTS
- 356-1
... 356-K
- VERZÖGERUNGSPUFFER
-
4B
- 302-1
... 302-N
- EINGANGSPORTS
- 312
- AUSGANGSKANÄLE FÜR EINEN
AUSGANGSPORT
- 452-1
... 452-K
- PUFFER
- CH-1
... CH-P
- KA-1
... KA-P
-
5
- 502
- BESTIMMEN
FÜR JEDEN
ZEITSCHLITZ, OB ES VORHER GEPUFFERTE PAKETE GIBT, DIE VON EINEM
AUSGANGSPORT GESENDET WERDEN KÖNNEN,
D. H. ES GENUG VERFÜGBARE
KANÄLE
AM AUSGANGSPORT GIBT?
- 503
- SENDEN
DERARTIGER VORHER GEPUFFERTER PAKETE
- 504
- BESTIMMEN,
OB ES INGRESSPAKETE AM FBS GIBT, DIE TEIL EINES VORHER ANGENOMMENEN
BURSTS SIND?
- 506
- VERARBEITEN
DERARTIGER PAKETE VORHER ANGENOMMENER BURSTS ENTWEDER DURCH SENDEN
ODER PUFFERN
- 508
- VERARBEITEN
DER ANFANGSPAKETE NEU ANGEKOMMENER BURSTS; BESTIMMEN, OB DERARTIGE
PAKETE GESENDET ODER GEPUFFERT WERDEN KÖNNEN?
- 510
- SENDEN
ODER PUFFERN DER ANFANGSPAKETE NEU ANGEKOMMENER BURSTS
- 512
- ANWENDEN
VON PAKETAUSLASSVERFAHRENSWEISEN
- SCHEDULING
MECHANISM
- ABLAUFSTEUERUNGSMECHANISMUS
- MEDIUM
- MEDIUM
- YES
- JA
- NO
- NEIN
-
6
- 602
- DATENKANAL
- 604
- STEUERKANAL
- 606-1
... 606-3
- BURST
- 608-1
... 608-3
- BHP
-
7
- 702
- ABLAUFSTEUERUNG
- 704
- BHP
- 706
- SPEICHER
- 708
- PORT
- 710
- VERZÖGERUNGSPUFFERBLOCK
- TO
SWITCH CONFIGURATION CONTROLLER
- ZUR
SWITCHKONFIGURATIONSSTEUERUNG
- CH-1
... CH-4
- KA-1
... KA-4
- FUTURE
TS
- ZUKÜNFTIGE ZS
- DELAY-1...
DELAY-3
- VERZÖGERUNG-1
... VERZÖGERUNG-3
- TS,
TS-1 ... TS-4
- ZS,
ZS-1 ... ZS-4
- TO
SWITCH CONFIGURATION
- ZUR
SWITCHKONFIGURATION
-
8, 10
- 802,
1002
- BURST
- 803A,
B, 1010-1 ... 1010-N
- AUSGANGSPORT
(A, B)
- 804,
1006
- BHP
- 806-1,
1004-1...806-3, 1004-3
- PAKET
- 807A,
B, 1011-1 ... 1011-N
- SPEICHERABGEBILDETE
KANÄLE
- 808
- ARBITER-/ZÄHLER-BLÖCKE
- 810-1
...
- ZS-1
...
- 812
- VORLIEGENDE
ABLAUFSTEUERUNGSKONFIGURATION (ZEIT=ZS)
-
9
- 902
- BESTIMMEN,
OB BHP ANKUNFT EINES ZUKÜNFTIGEN
BURSTS ANZEIGT, DER LÄNGER
ALS DER BURSTVERZÖGERUNGSPARAMETER DES
FBS IST?
- 904
- DEN
BURST IGNORIEREN, WENN ER AM FBS ANKOMMT
- 906
- BESTIMMEN,
OB FÜR
IRGENDWELCHE PAKETE RÜCKGABE
IN VERZÖGERUNGSPUFFERN
MÖGLICH
IST?
- 908
- PAKETZUWEISUNG
IM SPEICHERZUTEILUNGSPLATZ DER ABLAUFSTEUERUNG AUSLASSEN
- 910
- PAKETE
IN VERZÖGERUNGSPUFFERN
UNTER VERWENDUNG NEUER ZUWEISUNG IN NACHFOLGENDEM(N) ZEITSCHLITZ(EN)
ZURÜCKGEBEN
- 912
- BESTIMMEN,
OB VERFÜGBARE
VERZÖGERUNGSPUFFER
ERSCHÖPFT
SIND?
- 914
- ANWENDEN
DER PAKETAUSLASSVERFAHRENSWEISE
- 916
- ZUWEISEN
ZUKÜNFTIGER
ANKOMMENDER PAKETE AN AUSGANGSPORTKANÄLE IM KANALZUTEILUNGSPLATZ
UND IN DEN VERZÖGERUNGSPUFFERN
BASIEREND AUF ARBITRATIONS-/ZÄHLERMECHANISMEN
- SCHEDULING
MECHANISM
- ABLAUFSTEUERUNGSMECHANISMUS
- YES
- JA
- NO
- NEIN