-
VERWANDTE ANMELDUNGEN
-
Diese
Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung Nr. 60/295.943,
eingereicht am 5. Juni 2001, und der vorläufigen US-Anmeldung Nr. 60/296.238,
eingereicht am 6. Juni 2001.
-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich allgemein auf ein Software- und
Hardware-System,
das die zeitlich geplante Lieferung von Internetprotokoll-Datenpaketen über ein
Netz in der Weise sicherstellt, dass sie nicht durch andere Pakete,
die dasselbe Netz nutzen, unterbrochen werden. Außerdem stellt
das vorliegende offenbarte System die Sendung, die Leitweglenkung
und den Empfang von IP-Datenpaketen über ein
Computernetz in der Weise sicher, dass die Paketlieferung die strengen
Verzögerungs-
und Bandbreitenanforderungen von Echtzeit- und Nahezu-Echtzeit-Anwendungsverwendungen
für das
Internet, für
die Telephonie und für andere
Arten von Computernetzen erfüllen
kann.
-
Die
vorliegende Offenbarung stellt einen Fortschritt im Stand der Technik
für Echtzeit-Datenpaket-Vermittlungsnetze
dar, die Endpunkte wie etwa Telephone, Personal-Computer-Systeme,
Großunternehmens-Server,
Internetgeräte
oder irgendeine andere allgemeine oder spezielle Datenspeicherungs-
oder Datenerhebungsvorrichtung verwenden.
-
Viele
Organisationen haben seit Langem den Wunsch, Echtzeitanwendungen
von teuren herstellerspezifischen Systemen und Netzen auf die sich
schnell erweiternden internetpaketgestützten Technologien (IP-Technologien)
umzustellen. Beispiele solcher Anwendungen sind die Fabrikautomatisierung,
die Industrieprozesssteuerung, die Datenerfassung für Radarsysteme
mit synthetischer Apertur (SAR), Instrumentierungs- und Überwachungssysteme.
Außerdem
unterstützt
die offenbarte Erfindung alle Anwendungsbereiche, die die Internettelephonie
(VoIP) und den Videoabruf nutzen. Da beide Anwendungstypen inakzeptable
Qualitätsniveaus
liefern, wenn die Echtzeitanforderungen nicht erfüllt werden
können,
legen diese Anwendungen hohen Wert auf die Echtzeitpaketlieferung, Echtzeitanwendungen
gehören
zu zwei Hauptgruppen: Jene, die in "harter" Echtzeit reagieren, und die anderen,
die in "weicher" Echtzeit reagieren.
Dies sind Anwendungen mit weniger strengen Anforderungen. Es liegt
im Allgemeinen Wesen eines solchen Systems, einen Prozess auf der Grundlage
der Messungen von diesem Prozess zu ändern. Dies hat ernste Auswirkungen
sowohl auf das Betriebssystem als auch auf das Netz, das zum Erheben
und Verteilen von Daten verwendet wird. Ein hartes Echtzeit-Betriebssystem
muss innerhalb eines spezifizierten und genauen Zeitfensters auf
eine Art eines Ereignisses eine Antwort geben. Diese Antwort muss
vorhersagbar und unabhängig
von anderen von dem Betriebssystem unternommenen Aktivitäten sein.
Die Bereitstellung dieser Antwort bedeutet, dass Systemaufrufe eine
spezifizierte, gemessene Latenzzeit haben. Harte Echtzeitsysteme
nutzen häufig
spezifische Hardware-Vorrichtungen mit speziellen Vorrichtungstreibern.
Die IEEE-Instrumentierungsbusse sind ein Beispiel. Obgleich der
IEEE-Bus die Echtzeitbeschränkungen
für die
meisten, wenn nicht für
alle Anwendungen erfüllen kann,
ist er hinsichtlich der Länge
und der Entfernung zwischen den Vorrichtungen, die an den Bus angeschlossen
werden können,
beschränkt.
Es kann beobachtet werden, dass das Datennetz (oder der Datenbus) unabhängig von
der Ansprechempfindlichkeit des Betriebssystems Daten für das Betriebssystem
innerhalb derselben Echtzeitbeschränkungen empfangen oder senden
können
muss. Standard-IP-Netze können
die harten Echtzeitanforderungen der meisten harten Echtzeitanwendungen
nicht erfüllen.
-
Im
Gegensatz dazu ist ein weiches Echtzeitbetriebssystem eines, das
weniger strenge Beschränkungen
an die "Verspätung" hat, aber immer
noch innerhalb recht gleichbleibender Zeitbeschränkungen schnell arbeiten muss.
Das heißt,
es muss gut genug sein, um Ereignisse so zu bedienen, dass die Antwort
im Mittel erfüllt
sein sollte. Die meisten gebrauchsfertigen Industriestandard-Betriebssysteme
erfüllen
diese Definition. IP-Netze können
diese Beschränkung
je nach der Anwendung gelegentlich erfüllen, sind aber ohne spezielle Dienstqualitätsmerkmale
und vielleicht über
Bereitstellung des Netzes hinsichtlich der Leistungsfähigkeit
nicht vorhersagbar. Üblicherweise
wird verstanden, dass das "nächste" IP-Datenpaket verursacht,
dass das Netz hinsichtlich Reaktionszeit und Gesamtleistungsfähigkeit
nicht deterministisch wird, sobald die Bandbreite eines solchen
Netzes vollständig
gesättigt
ist.
-
Es
ist zu sehen, dass es sowohl innerhalb harter als auch weicher Echtzeitsysteme
für computergestützte Echtzeit-
und Nahezu-Echtzeit-Systeme zwei Grund anforderungen gibt. Zunächst muss
die Betriebssystem-Software des Computers ausreichend reaktionsschnell
sein, um Software-Anwendungen zu unterstützen, die Tasks gegenüber einem
genauen Zeitplan ausführen
müssen.
Zweitens muss das Netz, das üblicherweise
eine Anzahl unterstützender
Peripherieuntersysteme miteinander verbindet, Datenpakete in ausreichend
rechtzeitiger Weise zu und von der Software-Anwendung liefern können, um
nicht die der Anwendung implizit oder explizit auferlegten Echtzeit-
oder Nahezu-Echtzeit-Beschränkungen
zu verletzen.
-
Zum
Beispiel muss das Netz für
eine SAR-Einheit das gegenwärtige
Radarbild an einen Signalverarbeitungscomputer senden können, wo
es analysiert wird. Obgleich diese Operation für dieses Beispiel stark vereinfacht
ist, muss sie abgeschlossen werden, bevor das SAR ein weiteres Bild
zur Verarbeitung übergibt. Für den Fachmann
auf dem Gebiet ist selbstverständlich,
dass wichtige Daten, die in der nächsten SAR-Abtastung enthalten
sind, unabhängig
von der Leistungsfähigkeit
des Computersystems verlorengehen, falls das Netz die SAR-Daten
nicht schnell genug überträgt, damit
die Analyse abgeschlossen wird, oder umgekehrt.
-
In
vielen harten Echtzeitsystemen kann ein Spezial-Echtzeitbetriebssystem
(Spezial-RTOS) genutzt werden. Ein RTOS ist ein spezielles Multitasking-Steuersystem,
das speziell so entworfen ist, dass es die Ausführung eines Software-Programms
in einem programmierbaren, aber sehr spezifischen Zeitplan sicherstellt. Außerdem muss
ein RTOS sehr reaktionsschnell auf Daten sein, die auf zeitlich
geplanter oder nicht geplanter Grundlage zur Verarbeitung an das
System übergeben
werden können.
Somit ist es zwingend, dass das zum Erheben und Verteilen von Daten
von einem RTOS verwendete Netz die Fähigkeit hat, ebenso reaktionsschnell
und vorhersagbar zu sein. Selbstverständlich sind Ethernet- und IP-Paketvermittlungssysteme
hinsichtlich ihrer zeitlich geplanten Lieferung von Datenpaketen üblicherweise
tatsächlich
nicht ausreichend reaktionsschnell oder vorhersagbar. Trotz wesentlicher
Vorteile in Bezug auf die gelieferte Bandbreite leiden diese Klassen
von Vermittlungen wegen Paketkollisionen und veränderlichen Paketverzögerungen
an einer Nichtvorhersagbarkeit.
-
Zum
Beispiel entstehen nahezu mit Sicherheit Probleme, wenn mehrere
Anwendungen oder sogar mehrere Threads innerhalb einer einzelnen
Anwendung auf momentaner Grundlage um die Betriebsmittel eines einzelnen
Ports konkurrieren. Am wahrscheinlichsten stören diese Anwendungen und Threads
einander, was veranlasst, dass bei der Sendung oder beim Empfang
eines oder mehrerer Pakete veränderliche
Verzögerungen
auftreten. Einige Systemkonstrukteure haben dieses Problem durch
den Einbau mehrerer Netzschnittstellenarten in den Host-Computer
(Multi-Homing genannt) zu mildern versucht. Diese Technik verringert
im Vergleich zu einer einzelnen Netzschnittstellenkarte Paketkollisionen
und veränderliche
Paketverzögerungen,
während
Bandbreitenprobleme schließlich
wieder auftauchen, wenn die schnellen Netzschnittstellenkarten die
verfügbare
Bandbreite des E/A-Busses des Hosts aufbrauchen.
-
Üblicherweise
kann herkömmliche
Netzvermittlungsausrüstung
die Echtzeitbeschränkungen,
die eine Echtzeit- oder Nahezu-Echtzeit-Anwendung definieren, nicht
erfüllen.
-
In
vorhandenen Systemen sind Versuche unternommen worden, diese Probleme
durch Zuweisen von Prioritäten
zu Paketen verschiedener Typen zu behandeln. In diesen vorhandenen
Techniken kann Paketen mit Echtzeitanforderungen eine verhältnismäßig höhere Priorität zugewiesen
werden, sodass sie vor Paketen niedrigerer Priorität verarbeitet
werden, die keine Echtzeitlieferung benötigen. Leider verbessert die
priorisierte Paketverarbeitung nicht die Leistungsfähigkeit,
falls alle Pakete äquivalente
Prioritäten
haben. Ein Beispiel einer Anwendung, in der dieses Szenarium auftritt,
ist die Sprachtelephonie. Im Allgemeinen können an einer einzelnen Portverbindung
viele gleichzeitige Telephonanrufe übermittelt werden. Üblicherweise
ist nicht bekannt, ob die Pakete, die Daten für diese Telephonanrufe übermitteln,
wenn überhaupt,
eine höhere
Priorität erhalten
sollten. Wenn Sprachpakete mit mehreren Prioritäten in einem einzelnen Kanal
gemischt werden, können
sich eine nichtdeterministische Paketstauung und -verzögerung ergeben,
die einen Telephonanruf unterbrechen.
-
Die
vorliegende offenbarte Erfindung ist nicht mit dem Echtzeitprotokoll
(RTP) zu verwechseln, das üblicherweise
in IP-Netzen verwendet wird. Das RTP stellt für Anwendungen wie etwa für die zuvor
aufgeführten Ende-Ende-Lieferdienste
bereit. RTP-Dienste enthalten die Nutzinformationsidentifizierung,
die Sequenznummerierung, die Zeitstempelung und die Lieferungsüberwachung.
Außerdem
unterstützt
das RTP Datenübertragungen
zu mehreren Zielen unter Verwendung einer Mehrpunktverbindungsverteilung,
falls sie durch das zugrundeliegende Netz bereitgestellt wird. Obgleich
dieser Typ eines Rundsendemechanismus die effektive gegenwärtige Leistungsfähigkeit
des Netzes wesentlich erhöhen
kann, schafft die Mehrpunktverbindung sehr beschränkten bis
gar keinen Nutzen in Punkt-zu-Punkt-Anwendungen
wie etwa jenen, die in der Telekommunikation zu finden sind. Es
wird angemerkt, dass das RTP selbst keinen Mechanismus zur Sicherstellung
der pünktlichen
Lieferung oder zur Bereitstellung weiterer Dienstqualitätsgarantien
bereitstellt und bereitstellen kann. Das RTP stützt sich hierfür auf Dienste
einer unteren Schicht. Außerdem
stellt es nicht die Paketlieferung sicher und verhindert keine Paketlieferung
außer
der Reihe. Das RTP macht keine Annahme, dass das zugrundeliegende
Netz zuverlässig
ist oder Pakete der Reihe nach liefert. Die im RTP enthaltenen Paketfolgenummern
sind vielleicht nützlich
für die
Rekonstruktion der Paketfolge des Senders oder um, z. B. bei der
Videodecodierung, ohne notwendige Decodierung der Pakete der Reihe
nach den richtigen Ort eines Pakets zu bestimmen.
-
Obgleich
die für
das RTP formulierten Merkmale eine Effizienz der Verarbeitung von
Paketen nach der Lieferung zulassen, gewähren sie keine Garantien, dass
die Paketlieferung innerhalb der Beschränkungen eines harten Echtzeitsystems
bleibt.
-
Ein
Beispiel eines bekannten Steuersystems für die Behandlung der Sendung
und des Empfangs von Daten ist in
US
5.761.430 offenbart. Dieses lehrt spezifisch Betrachtungen,
die auf einen isochrone Daten genannten Datentyp angewendet werden
sollten und wie Kollisionen während
der Übertragung
dieser Daten zu verhindern sind. Ein Beispiel eines Systems, das
eine Bestimmung optimaler Puffergrößen schafft, um eine stauungsfreie
Leitweglenkung sicherzustellen, ist in LI C-S u. a.: "Pseudo-isochronous
cell forwarding",
COMPUTER NETWORKS AND ISDN SYSTEMS, NORTH HOLLAND PUBLISHING, AMSTERDAM
NL: Bd. 30, Nr. 24, XP004150561, ISSN: 0169-7552, offenbart.
-
KURZZUSAMMENFASSUNG DER ERFINDUNG
-
Dementsprechend
schafft die Erfindung ein Verfahren nach Anspruch 1, wobei in den
abhängigen
Ansprüchen
vorteilhafte Ausführungsformen
gegeben werden. Außerdem
wird ein System gemäß Anspruch
14 geschaffen.
-
In Übereinstimmung
mit den Prinzipien der Erfindung wird hier ein Echtzeit-Paketvermittlungssystem offenbart,
das jeder von mehreren Echtzeitanwendungen oder jedem von mehreren
Echtzeitanwendungs-Verarbeitungs-Threads in einem Multitasking-Betriebssystem
in der Weise Bandbreite zuweisen kann, dass die Paketverzögerung gesteuert
wird und eine gewährleistete
Paketlieferung sichergestellt wird. Das offenbarte System schafft
eine gewährleistete
Bandbreitenzuweisung, die die durch die Bandbreitenkonkurrenz verursachten Übertragungsprobleme
mildert. Das offenbarte System weist Bandbreite zur Verwendung während jeweiliger
Echtzeitkommunikationssitzungen zu. Mit Ausnahme des Umfangs, in
dem die verfügbare
Bandbreite an den betreffenden Ports verringert wird, verschlechtert
der Betrieb des offenbarten Bandbreitenzuweisungssystems nicht die
Paketvermittlungsleistungsfähigkeit
des anderen Paketverkehrs.
-
Die
vorliegende Offenbarung enthält
ein Zeitplanungssystem, das zu einer herkömmlichen Paketvermittlungsarchitektur
hinzugefügt
werden kann. Das offenbarte Paketzeitplanungssystem schafft Software-Schnittstellen,
um zu ermöglichen,
dass eine Anwendung einen zeitlich geplanten Weg anfordert, und
um zu veranlassen, dass die Zeitplanungs-Software und die Vermittlungs-Hardware
dynamisch konstruiert werden und einen zeitlich geplanten Weg einhalten.
Diese Zeitplanung wird auf die Sende- und Empfangsfunktionen innerhalb
jedes Ports einer Vermittlung getrennt angewendet. Das offenbarte
Echtzeit-Paketzeitplanungssystem kann in Übereinstimmung mit den Echtzeit-
sowie mit den Nicht-Echtzeit-Anforderungen
von Kern- und Anwenderebenenoperationen innerhalb irgendeines Mehranwender-Multitasking-Spezial-
oder -Echtzeit-Software-Betriebssystems oder irgendeiner Software-Anwendung
hinsichtlich gewährleisteter
Bandbreite und gesteuerter Verzögerung
arbeiten. Außerdem
kann die vorliegende Offenbarung auf irgendein IP-gestütztes Kommunikationsmedium
einschließlich
eines drahtlosen angewendet werden.
-
Für die vorliegenden
Zwecke bezieht sich der Begriff Echtzeit-Paketvermittlungssystem
auf eine Menge einzigartiger Hardware- und Software-Module, die,
wenn sie mit zeitplankompatiblen Endpunkten (SEPs) arbeiten, die
hier auch als "SEDs", zeitplankompatible
Endvorrichtungen, bezeichnet werden, zulassen, dass zwei oder mehr
dieser Endpunkte mit Echtzeiteigenschaften so über ein IP-Netz kommunizieren,
dass die Bandbreite sichergestellt wird und dass Netzverzögerungen
gesteuert und deterministisch sind. Ein SEP kann irgendeine Vorrichtung
sein, die Pakete in einem zeitlich geplanten Ablaufplan, wie er
durch einen Zeitplanagenten berechnet und vorgeschrieben wird, senden
und empfangen kann. Einige Beispiele von SEPs sind IP-Telephone,
Industriestandard-Server, Desktop-PC-Clients, Netzspeichersysteme und
verschiedene Netze.
-
Es
wird angemerkt, dass das hier beschriebene System gemäß der Erfindung
auf den Begriff der Bewegung von IP-Datenpaketen von einem Endpunkt
zu einem oder zu mehreren anderen Endpunkten verallgemeinert ist.
Im Allgemeinen ist es nicht wichtig für das System, hinsichtlich
welcher Arten von Endpunkten es konfiguriert ist. Solange die Endpunkte
die Grundspezifikationen für
die Sendung und für
den Empfang zeitlich geplanter IP-Pakete einhalten, transportiert
das System Pakete mit maximaler Bandbreite mit gesteuerten Verzögerungen,
bis alle Betriebsmittel verwendet werden. Außerdem ist das hier beschriebene
System nicht empfindlich für
verschiedene IP-Überlagerungstechnologien
wie etwa Internet-Telephonie
(VoIP) oder Internet-Video (DVoIP).
-
Für die vorliegenden
Zwecke wird zur Bezugnahme auf jene Pakete, die einer spezifischen
Anwendung zugeordnet sind, der Begriff "Paketfluss" verwendet. Ferner wird ein Paketfluss
hier als Bezugnahme auf einen unidirektionalen Fluss von Paketen
zwischen einem sendenden Host und einem empfangenden Host, der einer
Anwendung zugeordnet ist, betrachtet. Das offenbarte Zeitplanungssystem
beruht auf dem Auftreten von Zeitplänen innerhalb jeder Vermittlung.
Zeitpläne
sind erwartete Zeitdauern, während
denen Paketsendungen und/oder -empfänge für eines oder mehrere Pakete
fließen.
-
Zeitpläne werden
bei jeder Übertragungsstrecke
innerhalb jeder Vermittlung innerhalb des Netzes unabhängig bereitgestellt.
Ein gegebener Zeitplan kann unabhängig auf die Sende- und Empfangsfunktionen
aller Übertragungsstrecken
oder einer Teilmenge von Übertragungsstrecken
innerhalb einer Vermittlung oder auf eine Teilmenge der Sende- und/oder
Empfangsfunktionen einer oder mehrerer Übertragungsstrecken innerhalb
einer Vermittlung angewendet werden. Dementsprechend kann eine gegebene Übertragungsstrecke
auf der Grundlage eines einzelnen Zeitplans oder mehrerer Zeitpläne arbeiten.
Zeitpläne
können
einmal arbeiten oder ununterbrochen wiederholt werden. Alternativ
kann jeder Zeitplan explizit in Reaktion auf ein Ereignis ausgelöst werden.
-
Innerhalb
eines Zeitplanintervalls definieren Paketflussversätze die
Anfänge
von Paketen oder Paketgruppen, die Paketflüssen zugeordnet sind. Diese
Versätze
werden auch Belegungen genannt. Falls ein Paketflussversatz der
Sendefunktion einer Übertragungsstrecke
zugeordnet ist, definiert dieser Paketflussversatz eine Zeit in
einem Zeitplanintervall, zu der die Sendung eines oder mehrerer
Pakete für
den zugeordneten Paketfluss begonnen werden kann. Falls ein Paketflussversatz einer
Empfangsfunktion einer Übertragungsstrecke
zugeordnet ist, definiert dieser Paketflussversatz einen Zeitpunkt
in einem Zeitplanintervall, zu dem der Empfang eines oder mehrerer
Pakete für
den zugeordneten Paketfluss erwartet werden kann. Für einen
gegebenen Paketfluss werden für
jede Übertragungsstrecke
längs des
Wegs zwischen den Endpunkten verschiedene Paketflussversätze festgesetzt.
Der Satz der Versatzwerte, die einem Paketfluss für alle Übertragungsstrecken
längs eines
solchen Wegs zugeordnet sind, definiert den Zeitplan für diesen
Paketfluss (auch als "Paketflusszeitplan" bezeichnet).
-
Ein
Paketflusszeitplan kann außerdem
eine Zeitplanintervalldauer und eine Paketlänge enthalten. Eine Zeitperiode
innerhalb des einem gegebenen Paketflusszeitplan zugeordneten Zeitplanintervalls
wird als die Paketfluss-Zeitplanperiode bezeichnet. Einzelne Paketflusszeitpläne werden
anhand der Notwendigkeiten der dem Paketfluss zugeordneten Anwendung
und eines berechneten besten Durchgangswegs durch das Netz bestimmt.
Paketflusszeitpläne
können
irgendeiner Anwendung bis zu den Bandbreitenbeschränkungen des
relevanten Kommunikationskanals gewährt werden. Ein Paketflusszeitplan,
der einer Anwendung zugeordnet ist, stellt für diese Anwendung Zeit sicher,
während
der sie eines oder mehrere Pakete in einem Übertragungsweg anordnen kann.
Paketflusszeitpläne
können
irgendeiner Anwendung in irgendeiner Reihenfolge oder Folge zugewiesen
werden, bis die gesamte Übertragungszeit
für den
Kanal zugewiesen worden ist. Irgendwelche nicht zugewiesenen Übertragungsmöglichkeiten
können
für den
Transport von herkömmlichem Paketverkehr
verwendet werden, der wie in vorhandenen Systemen vermittelt und
weitergeleitet werden kann.
-
Wenn
ein Paketfluss festgesetzt wird, wird der zugeordnete Paketflusszeitplan
zwischen den Übertragungsstrecken
längs des
Wegs zwischen den Endpunkten für
diesen Paketfluss koordiniert. Anhand dieses Paketlusszeitplans
kann eine gegebene Übertragungsstrecke
auf der Grundlage des Paketlusszeitplans ein Paket gewährleisteter
Bandbreite für
den Paketfluss längs
des Wegs zu dem empfangenden Host senden. Außerdem erwartet die nächste Übertragungsstrecke
anhand dieses Paketflusszeitplans die Ankunft des Pakets gewährleisteter
Bandbreite zu einer durch den Paketflusszeitplan angegebenen Zeit.
Auf diese Weise wird anhand der Bildung des Paketflusszeitplans über die Übertragungsstrecken
innerhalb des Wegs zwischen zwei beliebigen gegebenen Sätzen von
Endpunkten eine bestimmte Bandbreite bereitgestellt.
-
Dementsprechend
wird dann, wenn eine Übertragungsstrecke
ein Paket anhand des Paketflusszeitplans weiterleitet (sendet),
das Paket automatisch ohne Verzögerung
zum Empfänger
der nächsten Übertragungsstrecke
gesendet. Für
irgendeine gegebene Übertragungsstrecke
ist ein gegebener Paketflusszeitplan für diese Übertragungsstrecke über die
Vermittlung nur in einer Richtung aktiv. Somit kann jede Übertragungsstrecke
zwei bestimmte Zeitplanintervalle, eines für die Sendefunktion und eines
für die
Empfangsfunktion, aufweisen. Damit die Echtzeitsitzung aufgebaut
wird, stimmen die den Sendepaketen zugeordneten Paketflussversätze und
die den Empfangspaketen zugeordneten Paketflussversätze über jede Übertragungsstrecke längs des
Wegs überein.
Der Satz der einem ebenen Paketfluss über den Satz der Vermittlungen
längs des Wegs
für diesen
Paketfluss zugeordneten Paketflussversätze wird hier manchmal die "Paketroute" für diesen Paketfluss
genannt.
-
Pakete
gewährleisteter
Bandbreite, die unter Verwendung des offenbarten Zeitplanungssystems übertragen
werden, werden als "zeitlich
geplante" Pakete
bezeichnet. In der Berechnung von Flusszeitplänen sind Verzögerungen
enthalten, die dem Übertragungsweg
und den Vermittlungssystemen in den Vermittlungen selbst zugeordnet
sind. Das offenbarte System erfordert, dass ein Endpunktsender seine
Sendungen mit allen Übertragungsstrecken
längs des
Wegs zu dem Endpunktempfänger
koordinieren kann. Jede Übertragungsstrecke,
die ein zeitlich geplantes Paket übermittelt, muss mit der nächsten Übertragungsstrecke
längs des Wegs
zu dem Endpunktempfänger
für den
zugeordneten Paketfluss bezüglich
des Zeitplans koordiniert werden.
-
Die
Abstimmung oder Koordinierung mit der letzten Übertragungsstrecke in dem Weg
ist für
den Endpunktempfänger
nicht erforderlich. Die letzte Übertragungsstrecke
in dem Weg sendet dem Endpunktempfänger nur Pakete gemäß den Paketflusszeitplänen, die
diesem Endpunkt zugeordnet sind. Da der Endpunktempfänger alle
seine Pakete von der letzten Übertragungsstrecke
in dem Weg empfängt,
steuert dieselbe Übertragungsstrecke
die Lieferung aller Pakete zu diesem Empfänger. Somit braucht der Endpunktempfänger im
Allgemeinen keine Zeitplaninformationen zu koordinieren. Der Endpunktempfänger empfängt Pakete
gewährleisteter
Bandbreite immer zum richtigen Zeitpunkt.
-
Normalerweise
kann der Endpunktempfänger
irgendwelche Anwendungszeitgebungsinformationen, die er für die Zeitplanung
des Abspielens der in den Echtzeit- Paketen enthaltenen Informationen benötigt, aus den
Paketen selbst ableiten. Die Sicherstellung der Paketlieferungszeiten
verringert stark die Notwendigkeit zum Unterhalten großer Paket-Jitter-Puffer,
um dem Jitter oder sogar Paketkollisions- und Wiederholungsübertragungsproblemen entgegenzuwirken.
Da der Endpunktempfänger
das nächste
Paket in der Folge immer rechtzeitig empfängt, erfordert er keine umfangreiche
Jitter-Pufferung.
-
Echtzeit-Paketflüsse zwischen
Vermittlungen werden durch Koordinieren der Zeitpläne zwischen
Vermittlungen erreicht. Diese Koordinierung zwischen Vermittlungen
wird mittels einer Spezialanwendung erreicht, die Zeitpläne zwischen
Vermittlungen berechnet und liefert. Diese Anwendung muss Kenntnis
von Zeitplanflüssen,
von den Verzögerungen
in den Vermittlungen und in den Übertragungsstrecken
zwischen den Vermittlungen, von den Übertragungsstreckengeschwindigkeiten
und von der Netztopologie haben. Wenn die Zeitplananwendung eine
Anforderung empfängt,
kann sie somit den schnellsten Zeitplan durch das Netz der Vermittlungen
für den
Paketfluss berechnen.
-
KURZBESCHREIBUNG DER ZEICHNUNG
-
Die
beigefügte
Zeichnung, auf die hier Bezug genommen wird und die einen Teil davon
bildet, veranschaulicht die beispielhaften Ausführungsformen des Systems und
des Verfahrens für
die zeitlich geplante Echtzeitnetz-Paketleitweglenkung der vorliegenden
Erfindung und dient zusammen mit der Beschreibung zur Erläuterung
der Prinzipien der Erfindung.
-
1A und 1B zeigen
einen höheren
Blockschaltplan des offenbarten Systems zeitlich geplanter Pakete.
Für ein
System der zeitlich geplanten IP-Datenpaketvermittlung sind drei
Untersysteme erforderlich, die wie folgt gezeigt sind:
- • Ein
zeitplankompatibler Endpunkt (SEP) ist irgendeine IP-kompatible
Netzvorrichtung, die Datenpakete gemäß einem genau entwickelten
Zeitplan senden und empfangen kann.
- • Ein
Zeitplanagent (SA) ist eine Software-Anwendung, die von einem Universalcomputer
gehostet wird. Der SA ist verantwortlich für die Vorkonfiguration der
zeitlich geplanten Vermittlungen in der Weise, dass sie für bestimmte
Datenpakete gemäß einem
genauen Zeitplan bestimmte Datenpakete bearbeiten.
- • Die
zeitlich geplanten Vermittlungen (A), (B) und (C) sind Spezial-IP-Paketvermittlungen,
die eine genaue Zeitplanung für
den Empfang und für
die Weiterleitung von Paketen, wie sie durch den SA bestimmt wird, unterhalten
können.
Die zeitlich geplanten Vermittlungen sind durch ihre verschiedenen
wie angegebenen Übertragungsstrecken
miteinander verbunden.
-
2 zeigt
einen höheren
Blockschaltplan des offenbarten Paketzeitplanungssystems mit einem
Zeitplanagenten, zwei zeitplankompatiblen Endpunkten (SEPs) und
einem Vermittlungsnetz. Es wird angemerkt, dass diese Veranschaulichung
die offenbarte Erfindung in Anwendung auf eine typische Internet-Telephonieanwendung
zeigt.
-
3 zeigt
die Konfiguration eines höheren
Blockschaltplans, der ein Computerdatenpaketnetz repräsentiert.
Die Konfiguration zeigt für
ein Datenpaketsystem eine typische Client-Server-Architektur, bei
der verschiedene Desktop-Clients durch einen Anwendungs-Server und
durch einen Datei-Server bedient werden.
-
4 ist
ein ausführlicherer
Blockschaltplan, der eine einzelne Vermittlungsarchitektur zeigt,
wobei stärkerer
Schwerpunkt auf die Hardware-Untersysteme in der zeitlich geplanten
Vermittlung gelegt ist.
-
5 zeigt
ein typisches Sechs-Knoten-Netz zeitlich geplanter Vermittlungen.
Die punktierte Linie repräsentiert
das Herzschlagsignal, das dazu verwendet wird, alle Knoten so zu
koordinieren, dass sie synchron zu einer gemeinsamen Zeitreferenz
arbeiten können.
-
6 zeigt
die Konstruktion eines Belegungszeitplans, der innerhalb der zeitlich
geplanten Vermittlung verwendet wird. Die Veranschaulichung zeigt
zwei 20-Millisekunden-Zeitpläne
von Belegungen.
-
7 veranschaulicht
die ausführliche
Konstruktion einer einzelnen Belegung, die aus einem Erfassungsband,
IP-, UDP- und RTP-Anfangsblöcken,
einem Echtzeitdatenpaket und dem FCS und einem Zwischen-Rahmen-Zwischenraum
besteht.
-
8 zeigt
ein Basisnetz geplanter Vermittlungen jeweils mit drei Übertragungsstrecken,
die zum Senden und Empfangen von Datenpaketen, während sie über das Netz fortschreiten,
verwendet werden. Diese Veranschaulichung dient als ein Beispiel
für eine
schrittweise Beschreibung der Paketzeitplanungs-Software.
-
9 zeigt
eine beispielhafte Vermittlungsverbindungsmatrix gemäß einer
veranschaulichenden Ausführungsform
der vorliegenden Erfindung.
-
10 zeigt
eine beispielhafte zirkulär
verknüpfte
Datenstruktur, die einen Zuhaltungs-Algorithmus gemäß seiner
veranschaulichenden Ausführungsform
der vorliegenden Erfindung repräsentiert.
-
11A–E
veranschaulichen die Verwendung einer beispielhaften zirkulär verknüpften Datenstruktur als
eines Zuhaltungs-Mechanismus zur zeitlichen Planung von Belegungen
in einem besonderen Weg durch ein Netz gemäß einer veranschaulichenden
Ausführungsform
der vorliegenden Erfindung.
-
12 zeigt
die beispielhafte Konfiguration von Vermittlungen mit angegebenen Übertragungsverzögerungen
und Latenzverzögerungen über die
Vermittlungen gemäß einer
veranschaulichenden Ausführungsform
der Erfindung.
-
13 zeigt
ein Beispiel der Bewegung eines Datenpakets, das Übertragungsverzögerungen
und Vermittlungsverzögerungen
angibt, die auf Taktzeiten bezogen sind, die durch die Spalten dargestellt
sind, während
das Datenpaket einen bestimmten Weg durch ein Netz durchläuft, gemäß einer
veranschaulichenden Ausführungsform
der Erfindung.
-
14 zeigt
ein Beispiel der Bewegung eines Datenpakets durch ein Netz zur Veranschaulichung
der Wirkung der Neigungskompensation gemäß einer veranschaulichenden
Ausführungsform
der vorliegenden Erfindung.
-
15 zeigt
einen Ablaufplan für
einen Zuhaltungs-Zeitplaner-Algorithmus gemäß einer veranschaulichenden
Ausführungsform
der Erfindung.
-
16 zeigt
einen Ablaufplan für
einen Wegaufbauprozess gemäß einer
veranschaulichenden Ausführungsform
der vorliegenden Erfindung.
-
KURZBESCHREIBUNG DER PAKETZEITPLANUNGSARCHITEKTUR
-
1A und 1B zeigen
die Grundarchitektur der vorliegend offenbarten Erfindung. Wie gezeigt
ist, unterscheidet sich die offenbarte zeitliche geplante Paketvermittlungsarchitektur
von herkömmlichen
IP-Leitweglenkungssystemen und -vermittlungssystemen dadurch, dass
das gesamte Netz durch eine zentralisierte Funktion, die ein Zeitplanagent
(SA) genannt wird, vorkonfiguriert, gesteuert und überwacht
wird. Die Hauptfunktionen des SA werden in Form eines Software-Programms
offenkundig, das von einem Industriestandardcomputer gehostet wird.
Obgleich die Funktionen des SA in Bezug auf das Netz zentralisiert
sind, kann die SA-Funktion auf selbstständige Weise (wie gezeigt) oder
geographisch über
weite Entfernungen verteilt realisiert sein. Da der SA eine Software-Anwendung
ist, kann er außerdem
für mehr
Leistung und hohe Verfügbarkeit
durch Server, die als Cluster konfiguriert sind, oder für die anspruchsvollsten
unternehmungswichtigen Anwendungen durch gehärtete fehlertolerante Computer
gehostet werden.
-
Es
gibt keine explizite Anforderung, dass der SA ein bestimmter Computer
ist. Die SA-Software kann ebenfalls als eine von einer Anzahl von
Anwendungen arbeiten, die innerhalb eines Multitasking- oder Multiuser-Servers
ausgeführt
werden. Es gibt keine Anforderung, dass der SA-Computer auf einen
Computer beschränkt
ist. Zu der Architektur kann irgendeine Anzahl von SAs hinzugefügt werden,
um über
Redundanz mehr Kapazität
und frühere
Verfügbarkeit
bereitzustellen. Die SA-Funktion
kann als eine eines verteilten Satzes von SAs arbeiten, die geographisch
in mehrere Vermittlungsbereiche getrennt sein können.
-
Der
SA, der vollständige
Kenntnis des Zustands der Ports in jeder der Vermittlungen hat,
wählt die bestmögliche Verbindung
von einem Endpunkt zu einem anderen aus, reserviert sie und plant
sie zeitlich. Für die
Ein-Richtungs- oder Halbduplex-Kommunikation muss ein einzelner
Weg aufgebaut werden. Für
den Vollduplex-Betrieb müssen
für die
Sende- und Empfangsfunktionen für
die Endpunkte zwei Wege aufgebaut werden. Diese Vollduplex-Verbindung
lässt zu,
dass die Endpunkte gleichzeitig zueinander senden, was bei Verwendung
in einer Sprachanwendung ein normales sich überschneidendes Gespräch zulässt. Im
Fall von Sammelsende-IP-Paketen kann gefordert werden, dass der
SA viele Wege durch das Netz zuweist und zeitlich plant.
-
Obgleich
der SA die höchste
Steuerung des zeitlich geplanten Zustands seines zugrundeliegenden Netzes
besitzt, versucht die zeitliche geplante Vermittlungshardware immer,
nicht geplanten IP-Verkehr unabhängig
von dem SA unter Verwendung offener (zeitlich nicht geplanter) Belegungen
zu lenken. Allerdings besitzt der SA Priorität, wenn er einen zeitlich geplanten
Weg aufbaut, wobei er dies auf Kosten der verfügbaren Bandbreite für zeitlich
nicht geplanten Verkehr tut. Wenn ein zeitlich geplantes Paket jede Übertragungsstrecke während seiner
zeitlich geplanten Belegungszeiten durchläuft, wird zeitlich nicht geplanter
Verkehr in einer Warteschlange gehalten, um nur dann weitergeleitet
zu werden, wenn ein offener Zeitplan verfügbar ist.
-
Es
gibt vier Grundoperationen, die stattfinden müssen, um den vollen Merkmalssatz
der offenbarten Erfindung zu nutzen. Die Schritte sind in 2 veranschaulicht.
Unter der Annahme, dass der SED(A) eine Echtzeit-IP-Sitzung mit
dem SED(B) aufbauen möchte,
müssen
die folgenden Schritte stattfinden:
- 1. Der
SED(A) baut als Teil des Merkmalssatzes eines zeitplankompatiblen
Endpunkts eine Echtzeitsitzung mit dem SED(B) auf, indem er von
dem Zeitplanagenten einen zeitlich geplanten Weg über das
Netz anfordert.
- 2. Wenn der SA diese Anforderung empfängt, untersucht er durch Bezugnahme
auf seine eigene Datenbank den Zustand des zugrundeliegenden Netzes.
Falls keine Leitung verfügbar
ist, die die Anforderung der Echtzeitsitzung erfüllt, wird die Aufbauanforderung
vom SED(A) zurückgewiesen.
Falls der SA eine Leitung planen kann,
- 3. sendet der SA eine Zeichenfolge von Befehlspaketen unter
Verwendung des Cetacean-Zeitplanungsprotokolls zu jeder der zeitlich
geplanten Vermittlungen, um bei jeder der geforderten Übertragungsstrecken eine
zeitlich geplante Belegung zu reservieren. In diesem Beispiel hat
der SA bestimmt, dass ein zeitlich geplanter Weg zwischen dem SED(A)
und dem SED(B) über
die Übertragungsstrecken
(X3), (X1), (Z1), (Z@), (Y3), und (Y2) versorgt werden kann.
- 4. Wenn die zeitlich geplanten Vermittlungen für jede der
obigen Übertragungsstrecken
die richtigen Belegungen reserviert haben, können der SED(A) und der SED(B)
miteinander kommunizieren, ohne dass die Bandbreite wegen anderem
zeitlich geplanten oder nicht geplanten Verkehr verringert wird.
Der veranschaulichte Datenweg wird durch die Hardware genau in der
Weise gesteuert, dass während
des der Sitzung zugewiesenen Belegungszeitplans anderer Verkehr
nie über
die betroffenen Übertragungsstrecken fließt.
-
2 und 3 zeigen
Grundkonfigurationen zeitlich geplanter Paketvermittlungen. Die
Funktionsbeschreibung jedes Blocks ist wie folgt:
Der Zeitplanagent
wie gezeigt ist wie oben beschrieben ein selbstständiger Universalcomputer.
Die zeitlich geplante Vermittlung ist ausführlich in einer getrennten
Offenbarung beschrieben (siehe US-Patentanmeldung lfd. Nr. 09/746.744).
In dieser Veranschaulichung besitzt jede Vermittlung mehrere Übertragungsstrecken,
die Verbindungswege zu anderen Vermittlungen oder Endpunkten sind.
-
Das
Telephon des zeitlich geplanten Internetprotokolls, das ausführlich in
der US-Patentanmeldung lfd.
Nr. 09/780.685 beschrieben worden ist, ist ein Telephon mit einer
Zusatzschaltungsanordnung zum Senden und Empfangen von Sprachdatenpaketen
gemäß einem
genauen Zeitplan, wie er durch den Zeitplanagenten aufgestellt wird.
-
Der
POTS-Ethernet-Umsetzer dient als ein Schnittstellenumsetzer, um
zu ermöglichen,
dass analoge Alttelephone (POTS-Ausrüstung) an einem zeitlich geplanten
Netz teilnehmen. Diese Umsetzung ist notwendig, um ihre beliebigen
(zeitlich nicht geplanten) Sendungen und Empfänge von Datenpaketen zeitlich
so neu anzuordnen, dass sie auf zeitlich geplanter Grundlage zu
und von den Vermittlungen übertragen
werden können.
-
Das
Softswitch ist ein kommerziell verfügbares System, das dafür verwendet
wird, Anrufsteuerfunktionen und Einkünfte erzeugende Funktionen
wie etwa Rechnungsstellung und Bereitstellung von Diensten bereitzustellen.
-
Das
Gateway ist ein kommerziell verfügbares
System, das POTS (Alttelephonausrüstung), T1-Leitungen, DS-3-Leitungen
usw. über
eine Schnittstelle zu einem IP-Netz
verbinden soll.
-
Übersicht über den
Paketzeitplanungsprozess unter Verwendung zeitlich geplanter Vermittlungen
-
Anhand
von 4 fordert in diesem Datenflussbeispiel ein Server
(S) an, dass eine zeitlich geplante Echtzeitsitzung mit einem PC-gestützten Datenerhebungssystem
(P) aufgebaut wird.
- 1. Der Endknoten (S) fordert
durch Verbindungsaufnahme mit dem Zeitplanungsagenten (SA) an, dass
zwischen ihm selbst und dem PC (P) ein zeitlich geplanter Weg aufgebaut
wird.
- 2. Der SA berechnet für
die angeforderte Sitzung den besten Leitweg (Weg durch das Netz).
- 3. Daraufhin versucht der SA, alle Belegungen, die bei jeder Übertragungsstrecke
zum Erfüllen
der Anforderung erforderlich sind, zu reservieren. Der SA sendet
zu jeder Übertragungsstrecke
längs des
Wegs Cetacean-Netz-Zeitplanungsprotokoll-Belegungsreservierungspakete
(CSP-Belegungsreservierungspakete). Es wird angemerkt, dass die
CSP-Pakete Pakete des über
das Netz fließenden
zeitlich nicht geplanten Verkehrs sind. Somit werden CSP-Pakete
mit allen anderen Paketen, die in einem Medium bei der Vermittlung ankommen,
gemischt.
- 4. Der CSP-Verkehr wird durch den Fabric-Prozessor zu dem Vermittlungssteuermodul
(SCM) umgeleitet. Das SCM analysiert das CSP-Paket, um den Befehlstyp
und die Leitungskarte, die zur Verarbeitung dieses Befehls verwendet
werden, zu bestimmen.
- 5. Das SCM sendet das Paket über
die Mittelebenen-Ethernet-Verbindung, die zum Verbinden der SCM- und
der LCM-Karte verwendet wird, zu dem Leitungssteuermodul (LCM).
- 6. Das LCM verarbeitet das CSP-Paket und übergibt die angeforderten Datenstücke zu dem
digitalen Kommunikationsprozessor.
- 7. Der Netzprozessor verwendet diese Daten, um in seiner Routenliste
eine Belegung festzusetzen. Falls diese Belegung versorgt werden
kann, antwortet das Netz auf das LCM mit einer Quittierung (ACK).
Falls diese Belegung aus irgendeinem Grund nicht versorgt werden
kann, wird eine Nicht-quittiert-Meldung (NAK-)Meldung zu dem LCM
zurückgesendet.
- 8. Das LCM erzeugt ein Antwort-CSP-Paket, das zu dem SCM zurückgesendet
wird.
- 9. Das SCM leitet diese Antwort zu dem Fabric-Prozessor weiter.
- 10. Der Fabric-Prozessor vermittelt daraufhin das Paket zu dem
digitalen Kommunikationsprozessor, der mit dem SA verbunden ist.
Unter der Annahme, dass der SA von der mit dem SA verbundenen Vermittlung ein
ACK empfangen hat, ist der Server nunmehr in der Lage, seine Datenpakete über die
Vermittlung über die
reservierte Paketroute zu senden, von der dann sichergestellt ist,
dass sie mit voller Bandbreite läuft, da
sie entweder von zeitlich nicht geplantem Verkehr oder von zeitlich
geplantem Verkehr, der in einem anderen Zeitplan arbeitet, unbelastet
ist.
- 11. Der Server (S) sendet seine Datenpakete zu dem Netzprozessor
der Vermittlung. Der Netzprozessor kann sowohl zeitlich geplanten
als auch zeitlich nicht geplanten Verkehr empfangen. Zeitlich geplanter
Verkehr wie von (S) wird in die Warteschlange für zeitlich geplanten Verkehr
eingereiht und zu der spezifizierten Zeit gesendet. Zeitlich nicht
geplanter Verkehr und CSP-Verkehr wird in die Warteschlange für zeitlich
nicht geplanten Verkehr eingereiht. Irgendwelcher zeitlich nicht
geplanter Verkehr in der Warteschlange kann gesendet werden, wenn
freie Belegungen verfügbar
sind.
- 12. Daten von dem DCP werden zu dem Personal Computer (P) gesendet.
-
Kurzbeschreibung der prädiktiven
Netzzeitplanung
-
Wie
zuvor dokumentiert wurde, beschreibt die vorliegende Offenbarung
eine Erfindung, die einen synchronisierten Fluss von Datenpaketen über irgendeine
Anzahl von Übertragungsstrecken
innerhalb irgendeiner Anzahl von Datenpaketvermittlungen in der
Weise zeitlich vorplant, dass die Bandbreite sichergestellt wird und
die Netztransportverzögerung
deterministisch ist. Die Erweiterbarkeit der vorliegenden Erfindung
ist nur durch die Kapazität
und durch das Leistungsvermögen
des SA-Computers bzw. der SA-Computer beschränkt. Somit weist der wie hier
beschriebene SA, wenn ein Sendeendpunkt eine Leitung zu einem bestimmten
Empfangsendpunkt anfordert, die Vermittlungen an, einen charakteristischen
Weg durch die Topologie des Netzes festzusetzen.
-
Ein
Weg in drei Dimensionen wird wie folgt charakterisiert: durch (1)
den "besten verfügbaren" für die gegenwärtig angeforderte
Sitzung, (2) durch die zeitlich geplanten Ankunftszeiten bei jeder
der Übertragungsstrecken
für bestimmte
Datenpakete und (3) durch die Zuordnung eines bestimmten Zeitplans
zu einem bestimmten Paketfluss.
-
Wenn
ein Netzweg angefordert wird, untersuchen die Software-Komponenten
der vorliegenden offenbarten Erfindung den gegenwärtigen Zustand
der verfügbaren
Leitungen zwischen den anfordernden Netzendpunkten, um die "besten" verfügbaren Leitungswege
zu bestimmen, die zwischen den zwei Endpunkten aufgebaut werden
können.
In diesem Kontext kann die "beste
Leitung" durch irgendeine
Anzahl von Metriken definiert werden, die zum Treffen einer solchen
Entscheidung notwendig sind. Zum Beispiel kann der SA Faktoren wie
etwa die geographische Entfernung zwischen Vermittlungen, die gegenwärtige Belastung,
die Übertragungsstreckengeschwindigkeit,
die kürzeste
oder die längste
Leitungsverzögerung,
die Tageszeit, den Wochentag, kulturelle Feiertage oder irgendwelche
weiteren Daten, die für
die effektive Reservierung eines zeitlich geplanten Paketflusses
wichtig sein können,
betrachten.
-
Ein
einzigartiger Aspekt der vorliegenden Erfindung ist, dass die Datenwege
und -zeitpläne
innerhalb dieser Wege so gewählt
und konstruiert werden können,
dass sie effizienter auf zukünftige
Perioden starker Belastung reagieren können. Falls der SA z. B. gegenwärtige oder
historische Daten besitzt, die angeben, dass eine Vermittlung, die
sich an einem bestimmten geographischen Ort befinden, zu bestimmten
Tageszeiten zu einem Engpass wird, kann sich der Zeitplanagent in
Erwartung der bevorstehenden Belegt-Periode dafür entscheiden, die sofortige
Verwendung der Vermittlung durch Lenken von Paketen über andere
Vermittlungen zu minimieren. Somit kann sich der SA entscheiden,
die gegenwärtige
Wegauswahl suboptimal zu treffen, um irgendwelche Blockierungswirkungen,
die durch eine nicht prädiktive
Zeitplanung verursacht werden könnten, zu
minimieren.
-
Ausführliche Beschreibung der Paketzeitplanungsarchitektur
-
5 veranschaulicht
ein einfaches Netz. Die Vermittlungsknoten in dem Netz sind mit
A, B, C, D, E und F. bezeichnet. Für ein zeitlich geplantes Netz
unterhält
ein digitaler Kommunikationsprozessor innerhalb jeder der Vermittlungen
für jede
der Übertragungsstrecken
in den Vermittlungen einen konstant periodischen 20-Millisekunden-Zeitplan
von Zuweisungen. Jede der Zuweisungen ist ein Platzhalter für ein Datenpaket.
Es wird angemerkt, dass jede der Vermittlungen mittels eines periodischen
Herzschlagsignals (200-1) mit einem gemeinsamen Taktgebungsmechanismus
synchronisiert wird. Somit durchlaufen alle Übertragungsstrecken innerhalb
der Vermittlungen im Lockstep zyklisch ihre Belegungszeitpläne, wobei
sie alle dieselbe Belegungsnummer bearbeiten. Falls z. B. innerhalb
der globalen systemweiten 20-Millisekunden-Periode der Übertragungsstrecken
der periodische Belegungszeitplan gegenwärtig bei der Belegung Nr. 98
ist, bearbeiten alle Übertragungsstrecken
innerhalb des Systems die Belegung Nr. 98.
-
Unter
der Voraussetzung dieses synchronisierten Betriebs veranlasst der
SA, dass die Kommunikationsprozessoren innerhalb der Vermittlungen
eine bestimmte Belegung für
einen bestimmen Strom künftiger Datenpakete
markieren. Umgekehrt baut der SA-Computer außerdem einen bestimmten Zeitplan
von Belegungen ab, wenn seine Sitzung abgeschlossen wird. Im Normalbetrieb
können
die verschiedenen Übertragungsstrecken
verschiedene Geschwindigkeiten haben, stärker als andere belastet sein
oder einfach wegen Hardware-Ausfalls betriebsunfähig sein. Unter der Voraussetzung
dieser Kriterien liegt es in der Verantwortung des SA, virtuelle
Leitungen oder Datenwege über
die Vermittlung in der Weise zu ermitteln und zuzuweisen, dass die
zwei oder mehr anfordernden Endpunkte mit einer vollständigen Route
zeitlich geplanter Belegungen versorgt werden. Unter der Voraussetzung,
dass der Zeitplanagent für
jede der Übertra gungsstrecken
innerhalb des Netzes vollständige
Kenntnis des Zustands (reserviert oder offen) jeder der Belegungszuweisungen besitzt,
kann der SA das Netz analysieren, um nach einer Reihe von Belegungen
zu suchen, die in der Weise reserviert werden können, dass ein Paket das Netz
von Endpunkt zu Endpunkt in vollständig zeitlich geplanter und
somit deterministischer Weise durchlaufen kann.
-
Es
ist sofort offensichtlich, dass die Anzahl der Belegungen, die dem
Zeitplanungsintervall jeder Übertragungsstrecke
zugewiesen werden können,
mit der effektiven Datenrate der zugeordneten Übertragungsstrecke direkt in
Verbindung steht. Tabelle 201 führt
die Anzahl der für
verschiedene Medientypen verfügbaren Belegungen
auf.
-
6 und
7 veranschaulichen
die ausführliche
Struktur eines Belegungszeitplans. Tabelle 201
Übertragungsstreckentyp | Volle
Datenrate (Megabit) | Verwendbare
Datenrate (Megabit) | Anzahl
Belegungen |
T-1/DS
1 | 1,544 | 1,536 | 15 |
E-1 | 2,048 | 1,920 | 19 |
T-3/DS-3 | 44,736 | 43,0 | 430 |
10Base-T | 10,0 | 10 | 100 |
100Base-T | 100,0 | 100 | 1
000 |
1000Base-F | 1000,0 | 1000 | 10
000 |
Sonet/OC-1 | 51,840 | 43,0 | 430 |
OC-3 | 155,52 | 129,0 | 1
290 |
OC-12 | 622,08 | 516,1 | 5
160 |
OC-24 | 1
244,2 | 1032,2 | 10
322 |
OC-48 | 2
488,3 | 2
064,4 | 20
644 |
OC-96 | 4
976,6 | 4
128,8 | 21
288 |
OC-192 | 9
953,3 | 8
257,6 | 82
576 |
OC-256 | 13
271,0 | 11
010,0 | 110
100 |
-
In
Tabelle 7 sind all diese Informationen zusammengestellt und gezeigt,
wobei sie die Beziehung zwischen Zeit, Zeitplänen und Belegungen zeigt.
-
Der
obere Teil der Figur zeigt zwei aufeinander folgende 20-Millisekunden-Zeitpläne. Innerhalb
dieses Zeitpunkts sind N Belegungen gezeigt, die von 0 bis N-1 nummeriert
sind. Falls einem Belegungsschlitz auf irgendeiner Übertragungsstrecke
ein bestimmter Fluss gegeben wird, besitzt er diese Belegung für alle Zeitpläne, bis
dieser Fluss abgeschlossen ist. Die Anzahl der Belegungen in einem
Zeitplan von 0 bis n – 1
ist äquivalent
ihren jeweiligen Übertragungsstreckeneinträgen in Tabelle
201.
-
7 zeigt
eine erweiterte Ansicht einer einzelnen Belegung. Die Belegung ist
als ein Strom von 250 Datenbytes (2000 Bits) gezeigt, wobei das
linke äußere Bit
(203-1) das erste in dem Netz ist. Die Rautezeichen geben
Markierungen in 80-Bit-Inkrementen
(10-Byte-Inkrementen) (203-2). Diese Belegung ist mit 160
Bytes (1280 Bits) Anwendungsdaten (203-3) gezeigt. Zur
Flexibilität
ist eine Belegung so konstruiert, dass sie nicht mehr als 46 Datenbytes
(368 Datenbits) haben kann. Es wird angemerkt, dass 172 Datenbytes
genau an die Maximalgröße von 250
Bytes (Nutzinformationen zuzüglich
der Anfangsblöcke,
des Jitter und der Erfassungsorganisationsbits) angepasst wären; allerdings
muss etwas Platz (2 Bits) für
Jitter und etwas Platz (2 Bits) für das Erfassungsband reserviert
werden. Die vorliegende Offenbarung reserviert 10 Bits, was auf
2 Bytes (16 Bits) gerundet wird. Dies stellt den Maximalgrenzwert
an eine Einzelbelegungsgröße auf 170
Bytes Anwendungsdaten ein. Falls ein Datenpaket den 250-Byte-Grenzwert
(Anwendungsdaten und Organisationsdaten) übersteigt, läuft es in
eine weitere Belegung über.
-
Der
maximale IP-Grenzwert für
ein IP-Paket ist 1500 Bytes. Dies lässt 1460 Bytes Echtzeitverkehr
zu (wobei die für
IP-, UDP- und RTP-Anfangsblöcke
reservierten 40 Bytes ausgenommen sind). Ein Paket voller Größe würde 1548
Bytes oder 7 Belegungen überspannen.
Somit kann ein Echtzeitstrom, der maximale IP-Pakete verwenden würde und
nur eine einzige Route hätte,
73 000 Bytes pro Sekunde streamen.
-
Um
die Architekturerweiterbarkeit zu erleichtern und gegenwärtige Markttrends
zu großen
Paketgrößen zu unterstützen, unterstützt der
Entwurf Pakete, die den 1500-Byte-Grenzwert übersteigen. Es gibt eine Markevidenz,
dass einige Anwen dungen 9000-Byte-Pakete erfordern. Die 9000-Byte-Pakete
würden
37 zusammenhängende
Zuweisungen erfordern und könnten
448 000 Bytes pro Sekunde streamen. Jede Belegung, die einen mehrteiligen
Strom mit Gruppen von 5 Belegungen pro Strom ausführt, würde 1170
Bytes Anwendungsdaten zulassen. Ein 10Base-T-Netz würde (mit
100 Belegungen) 1,17 Megabytes pro Sekunde streamen. Dies ist ausreichend
für die
Unterstützung
von 1 oder 2 komprimierten Videokanälen, 2 Telephonkanälen und
einem Datenkanal mit etwa 150 kBits/s.
-
Es
wird angemerkt, dass es auf der linken äußeren Seite des Belegungsblocks
eine Linie gibt, die als ein Erfassungsband (203-5) bezeichnet
ist. Dieses Band ist sehr schmal (für 10Base-T annähernd 10
Bit-Zeiten, für
schnellere Verbindungen 20–40
Bit-Zeiten). Falls die zeitlich geplanten Belegungsdaten während dieses
Erfassungsbands nicht ankommen, wird der zeitlich geplante Verkehr
für diese
bestimmte Belegungs-/Zeitplanungs-Zeit als fallengelassen erklärt. Somit
wird kein Verkehr zu der nachkommenden Belegung weitergeleitet.
Somit ist die Fehlbelegung, nur für diese Zeitplanperiode, für nicht
geplanten Verkehr verfügbar.
-
Um
zeitlich nicht geplanten Verkehr über eine zeitlich geplante
Belegung zu übertragen,
wartet die Vermittlung, bis das Erfassungsband abgelaufen ist. Daraufhin
kann sie den zeitlich nicht geplanten Verkehr über diese Übertragungsstrecke senden.
Die Übertragungsstrecke
netzabwärts,
die dieses Paket empfängt,
weiß, dass
es zeitlich nicht geplanter Verkehr ist, da er nach der Erfassungsbandperiode
anzukommen begonnen hat. Somit ist es möglich, zeitlich nicht geplanten
Verkehr über
schwach verwendete Belegungszeiten sowie über ungenutzte Belegungszeiten
zu senden.
-
Beschreibung der Paketzeitplanungs-Software
-
Es
gibt drei Haupt-Software-Module, die miteinander und mit der Hardware
der zeitlich geplanten Vermittlung zusammenwirken, um die vorliegend
offenbarte Erfindung zu realisieren: Die Wegerzeugungsmaschine,
die Zulassungsmaschine und die Zuhaltungs-Zeitplanungsmaschine.
-
Die
Wegerzeugungsmaschine (PGE) ist für die Erzeugung der Matrix
möglicher
Verbindungswege für die
gesamte Netztopologie verantwortlich. Sie kann diese Erzeugung über eine
manuell erzeugte Datenbank oder durch Entdeckung der Netztopologie über Übermittlungen
mit der Hardware der zeitlich geplanten Ver mittlung ausführen. Außerdem aktualisiert
die PGE ihre Datenbank, falls sich aus irgendeinem Grund (d. h. Neukonfiguration
durch den Anwender, Hardware-Ausfall oder Netzmanagement) die Topologie ändert, sodass
die Zulassungsmaschine (AE) und die Zuhaltungs-Zeitplanungsmaschine
(TSE) mit der gegenwärtigen Konfiguration
der Netztopologie synchronisiert bleibt. 16 zeigt
den Algorithmusablaufplan.
-
Die
AE ist verantwortlich für
die Filterung der Kandidatenwege von der PGE. Es können verschiedene Kriterien
wie etwa die Übertragungsstreckengeschwindigkeit
verwendet werden, um eine Bestimmung vorzunehmen, welche Kandidaten
zu der TSE durchzulassen sind. Die TSE ist verantwortlich für die Zuweisung
eines spezifischen Zeitplans über
das Netz.
-
Ausführliche Beschreibung des Zuhaltungs-Zeitplanungsalgorithmus
-
Die
einfache Netzmatrix anhand von 8 repräsentiert
ein zeitlich geplantes Vermittlungsnetz. Um eine Leitung mit einem
angeforderten Zeitweg vom Knoten C zum Knoten E aufzubauen, wird
der folgende Algorithmus offenbart:
Die möglichen Verbindungen für das Beispielnetz
in 8 (Vermittlungen A, B, C, D, E und F) sind in
Tabelle 301 gezeigt. Wie durch Vergleich der Beispieltopologie mit
der Matrix zu sehen ist, besitzt der Knoten A drei mögliche Übertragungsstrecken
(A1, A2, A3). Für
dieses Beispiel wird angenommen, dass A1 ein Eintrittspunkt für eine zeitlich
geplante Endpunktnetzvorrichtung ist, während A2 und A3 mit D1 bzw.
F2 verbunden sind. Das vollständige
Verbindungsschema ist durch Untersuchung der Matrix in Tabelle 301
zu sehen, wobei der Eintrag "?" eine Verbindung
zwischen den zwei Übertragungsstrecken
bezeichnet.
-
Wenn
ein Endpunkt eine Verbindung zu einem weiteren Endpunkt oder zu
weiteren Endpunkten anfordert, untersucht die PGE ihre Verbindungsdaten
und übergibt
die Wegabbildungsdaten über
die Zulassungsmaschine (AE) an die Zuhaltungs-Zeitplanungsmaschine
(TSE). In der Praxis kann die PGE viele mögliche Wege besitzen, die verwendet
werden können,
um einen Endpunkt mit einem anderen zu verbinden. In diesem Fall übergibt
sie solche Kandidatenwege auf Wunsch auf der Grundlage eines spezifischen
Satzes von Kriterien, wie sie durch die AE erzwungen werden. Um
die Auswahl der Wegdaten zu beeinflussen, kann irgendein Satz heuristischer
Daten verwendet werden.
-
Anhand
von 10 wird der zur Steuerung der Hardware der zeitlich
geplanten Vermittlung verwendete Mechanismus am besten als ein Satz
konzentrischer Ringe veranschaulicht, wobei jeder Ring den Zeitplan
von Belegungen für
eine bestimmte Übertragungsstrecke
repräsentiert.
Während
die Wegsuche fortschreitet, werden die Ringe (über Software) gedreht, bis
für den
durch die AE eingerichteten Kandidatenweg ein zusammenhängender
Satz freier Belegungen ermittelt worden ist. Der Betrieb ist ähnlich dem
eines Kombinationsschlosses, daher die Bezugnahme auf eine Zuhaltung.
Die Räume
in den Ringen repräsentieren
die Zeitplanbelegungen. Zum Beispiel repräsentiert der Raum in dem Ringsegment
D1-2 (302-1) die zweite Belegungsperiode für die Übertragungsstrecke
D1. Obgleich in dem Beispiel nur acht Belegungen dargestellt sind, kann
es in der tatsächlichen
Praxis je nach der Übertragungsstreckengeschwindigkeit
Tausende geben. Wegen der Anzahl der für jeden Übertragungsstreckentyp erforderlichen
Belegungen wird wieder auf Tabelle 301 verwiesen.
-
Falls
für dieses
Beispiel wieder anhand von 8 angenommen
wird, dass der Server (S) einen Ein-Richtungsweg zu dem PC (P) aufbauen
möchte,
wird durch die Software wie durch 10 veranschaulicht ein
Zuhaltungs-Abbild aufgebaut. Es wird angemerkt, dass dem Anfangsendpunkt
ein Zeitplan zugewiesen wird, wie er durch den Mittelring (302-2)
angegeben ist, während
der Empfangsendpunkt durch P (302-3) bezeichnet ist. Jeder Übertragungsstrecke
in der Vermittlungs-Hardware
wird ihr eigener Zeitplankreis zugewiesen, der den Zustand jeder
Belegung innerhalb der Zeitplanperiode (302-4) speichert.
Somit zeigt 10 eine Zeitplanungs-Zuhaltungs-Mechanismus
mit Zeitplankreisen für
die Übertragungsstrecken
Endpunkt S, A3, A1, B1, B3, C2, C3, D2, D1 und Endpunkt P. In diesem
Beispiel sind keine Belegungen reserviert. Es wird angemerkt, dass
die Übertragungsstrecke
bei jeder der spezifischen Belegungszeiten innerhalb der 20-Millisekunden-Zeitplanperiode
das dieser Belegungszeit zugewiesene Datenpaket entweder senden
oder empfangen kann. Wenn den Endpunkten ein zeitlich geplanter
Weg (eine Route genannt) zugewiesen worden ist, setzt die Hardware
der zeitlich geplanten Vermittlung den Datenpaketzeitplan für jede der Übertragungsstrecken
in Kraft.
-
Die
Anzahl der für
einen Weg notwendigen "Zuhaltungs"-Ringe hängt direkt
mit der Anzahl der Übertragungsstrecken
zwischen den zeitlich geplanten Endpunktnetzvorrichtungen (302-4 und
Tabelle 301, 9) zusammen.
-
Für den Fachmann
auf dem Gebiet synchronisierter Zustandsmaschinen ist offensichtlich,
dass ein zeitlich geplantes Netz, das mit einer gemeinsamen Zeitreferenz
synchronisiert ist, nun ein vollständig deterministisches Verhalten
zeigt. Dies ist der Fall, da von dem ersten bis zum letzten Datenpaket,
das zwischen den Endpunkten übertragen
wird, ihre Pakete für
jede der Übertragungsstrecken über den
Weg die genaue Zeitperiode (den genauen Zeitplan) belegen. Außerdem ist
zu sehen, dass selbst dann, wenn eine Übertragungsstrecke Pakete von
anderen Endpunkten empfängt
oder weiterleitet, die Pakete, die Reservierungen in verschiedenen
Belegungsschlitzen haben, unbeeinflusst bleiben.
-
Natürlich zeigt
das zirkuläre
Wesen der Datenstruktur, dass sich der Zeitplan alle 20 Millisekunden
in der Zeit periodisch wiederholt. Falls eine Übertragungsstrecke für ein bestimmtes
Belegungsinkrement belegt ist, wird das Inkrement auf dem Zeitplanring
gekennzeichnet.
-
Wieder
anhand von 10 verwendet die tatsächliche
Software-Realisierung für
den Zuhaltungs-Algorithmus zirkulär verknüpfte Datenstrukturen in dem
SA-Computer. Die zirkulären
Tabellen repräsentieren
einen Wiederholungszeitplan, der für diese bestimmte Realisierung
als 20 Millisekunden gewählt
wird, obgleich die Zeitperiode für
verschiedene Arten von Netzverwendungen geändert werden kann.
-
Um
zu bestimmen, ob ein Zeitweg längs
eines Satzes verbundener Übertragungsstrecken
ermittelt werden kann, sind die Zeitplanringe um ihren Nachbarn
von der Quelle zu dem Ziel nach außen verlaufend angeordnet.
Siehe 10. Der Startpunkt des Wegs
von S zu P ist der Zeitplanring für S. Dieser ist von seinem nächsten Sprung
auf dem Weg, A3, umgeben usw., wobei die letzte Zielübertragungsstrecke
zwischen D1 und P das vorliegende Ziel ist.
-
Es
wird angenommen, dass S einen zeitlich geplanten Weg zu P angefordert
hat. Die PGE schlägt
den Weg vor, wie er durch den in den 11A–E angegebenen
zirkulären
Ringsatz angegeben ist. Es wird festgestellt, dass es in diesem
Fall Belegungen gibt, die innerhalb jedes der einzelnen Übertragungsstreckenzeitpläne bereits
reserviert worden sind. Es wird beobachtet, dass es in ihrem Anfangszustand
keinen klaren Weg von dem inneren Kreis (S) zu dem äußeren Kreis
(P) gibt. Somit zeigt das Abbild, was alle Übertragungsstrecken in jedem
Zeitplaninkrement tun, während
es nicht zeigt, wie ein Weg durch die zeitlich geplanten Inkremente
zu ermitteln ist. Um den zeitlich geplanten Weg zu ermitteln, wird
der folgende Algorithmus offenbart:
- 1. Es wird
festgestellt, dass der Zeitplan S in dem gegenwärtigen Abbild vollständig frei
ist und die nächste Übertragungsstrecke
A3 mit zwei offenen Belegungen ist.
- 2. Beginnend bei A3-2 wird eine offene Belegung festgestellt.
Beim Sprung zum nächsten
Ring wird festgestellt, dass A1-2 ebenfalls eine offene Belegung
ist. Nun gibt es Belegungen in 2 der 8 zum Vervollständigen des
angeforderten zeitlich geplanten Wegs notwendigen Übertragungsstrecken.
Es wird festgestellt, dass sich der Wegbestimmungspfeil um zwei Übertragungsstrecken
(A3 und A1) bewegen kann, durch B1-2 (11B, 303A-1)
aber gesperrt wird.
- 3. Da B1-2 (303A-1) durch eine weitere Paketroute reserviert
ist, dreht die Software nun die zirkuläre Tabelle zu der nächsthöheren Belegung
(B1-1) in den 11A–11E.
Es wird festgestellt, dass diese Belegung (B1-1) frei ist (11C, 303B-4). An diesem Punkt sind 3
der 8 zum Vervollständigen
des angeforderten zeitlich geplanten Wegs notwendigen Übertragungsstrecken
vorhanden.
- 4. Nun kann der Algorithmus seinen Wegindikator zu der nächsten Übertragungsstrecke
B3-2 (303B-5), von der festgestellt wird, dass sie eine
offene Belegung hat, vorrücken.
An diesem Punkt sind 4 der 8 zum Vervollständigen des angeforderten zeitlich
geplanten Wegs notwendigen Übertragungsstrecken
vorhanden. Der Algorithmus kann nun seinen Wegindikator zu der nächsten Übertragungsstrecke
C2-2 (303B-6) vorrücken.
- 5. Es wird festgestellt, dass C2-2 reserviert ist, sodass der
Algorithmus den Zeitplan zu der nächstfrüheren Belegung C2-1 dreht (11D, 303C-5). Es wird festgestellt, dass
C2-1 frei ist. Der Wegindikator kann auf C3-2 (303C-6)
vorgerückt
werden. An diesem Punkt sind 5 der 8 zum Vervollständigen des
angeforderten zeitlich geplanten Übertragungswegs notwendigen Übertragungsstrecken
vorhanden.
- 6. Es wird festgestellt, dass C3-2 (303C-6) eine freie
Belegung ist. Der Wegindikator kann auf D2-2 (303C-7) vorgerückt werden.
An diesem Punkt sind 6 der 8 zum Vervollständigen des angeforderten zeitlich geplanten
Wegs notwendigen Übertragungsstrecken
vorhanden.
- 7. Es wird festgestellt, dass D2-2 (303C-7) eine freie
Belegung ist. Der Wegindikator kann auf D2-2 (303C-7) vorgerückt werden.
An diesem Punkt sind 7 der 8 Übertragungsstrecken
vorhanden. Der Wegindikator kann auf D1-1 (303C-8) vorgerückt werden.
- 8. Es wird festgestellt, dass D1-1 (303C-8) eine freie
Belegung ist. Der Wegindikator kann auf P (303C-9) vorgerückt werden.
An diesem Punkt sind 8 der 8 Übertragungsstrecken
vorhanden. Der Wegindikator kann auf D1-1 (303C-8) vorgerückt werden.
- 9. An diesem Punkt sind alle Übertragungsstrecken der zeitlich
geplanten Vermittlung für
eine letzte Reservierung markiert worden, wobei aber bei 303C-9
zu sehen ist, dass die Reservierung Nr. 2 für diesen bestimmten zeitlich
geplanten Endpunkt reserviert ist. Dies geschieht am wahrscheinlichsten
auf einem Multitasking-Computer, wo eine einzelne Netzschnittstellenkarte
von zwei oder mehr Anwendungen gemeinsam genutzt wird.
- 10. Da P2 die Vervollständigung
des Wegs versperrt, wird der Zeitplanring für P zu der nächstfrüheren Belegung,
die P1-1 (303C-10) ist, gedreht. Es wird festgestellt,
dass diese Belegung ebenfalls reserviert ist. Der Algorithmus dreht
erneut zu der nächstfrüheren Belegung
P-8, von der festgestellt wird, dass sie frei ist.
- 11. Anhand der 11A–11E liegt
nun ein vollständiger
Weg vor, der durch den von dem Startpunkt S über die Knoten A3-2, A1-2,
B1-3, B3-2, C2-3, C3-2, D2-2, D1-2 und P-8 gehenden Wegindikator
angegeben ist (11E, 303D-1).
- 12. An diesem Punkt sendet der SA an jede der Vermittlungen
einen Reservierungsbefehl, um die spezifischen Belegungszeiten in
jeder der spezifischen Übertragungsstrecken
zu reservieren.
-
Wenn
ein Weg zeitlich geplant worden ist, wird er durch die zeitlich
geplante Vermittlung bis zu dem Zeitpunkt aufrechterhalten, zu dem
ein Endpunkt die Sitzung abschließt oder ein Fehlerzustand erfasst
wird. Wenn ein Ende der Sitzung angefordert wird, gewinnt der SA
die Route aus seiner Datenbank wieder und gibt einen Abbaubefehl
an die zeitlich geplanten Vermittlungen aus, die daraufhin die reservierten
Belegungen freigeben. 15 zeigt den Ablaufplan für den Zuhaltungs-Zeitplanungsalgorithmus.
-
Obgleich
der oben offenbarte Software-Algorithmus im Zusammenwirken mit der
Hardware der zeitlich geplanten Vermittlung einen Weg durch das
Netz ermittelt und zeitlich plant, gibt es keinen Ausgleich für die Verzögerungen,
die innerhalb jeder zeitlich geplanten Vermittlung vorhanden sind,
wenn von Übertragungsstre cke
zu Übertragungsstrecke
gegangen wird, oder für
die Übertragungsverzögerungen
beim Übergang
von Vermittlung zu Vermittlung.
-
12 zeigt
dieselbe Konfiguration von Vermittlungen, die für die Offenbarung des Zuhaltungs-Zeitplaneralgorithmus
verwendet wurde, mit der zusätzlichen
Realität
der Übertragungsverzögerungen
und Latenzverzögerungen über die
Vermittlungen. Die tatsächlichen
Verzögerungen
sind wie an den Verbindern zwischen den Vermittlungen und unter
Bezug auf die Tabelle der jeder Übertragungsleitung
zugeordneten Verzögerungszeiten
(304-1) zuzüglich
der Latenzverzögerung
innerhalb der Vermittlung angegeben. Zum Beispiel ist die Verzögerung d1 (304-2) die der Übertragungsleitung
von A1 zu B1 zugeordnete Verzögerung
in Belegungszeiten. Die Bezugnahme auf d1 in
der Tabelle (304-1) zeigt, dass die Übertragungsverzögerung von
A1 zu B1 2 Belegungszeiten äquivalent
ist. Außerdem
wird angemerkt, dass die betroffene Latenzzeit, wenn sich ein Paket
durch eine Vermittlung bewegt, als dVermittiung (304-3)
(z. B. von C1 zu C3) angegeben ist, wobei angenommen wird, dass
sie für Übertragungsstrecken
mit dieser Geschwindigkeit äquivalent
1 Belegungszeit ist.
-
13 zeigt
die Anordnung eines einzelnen Pakets, während es das Gitter der Übertragungsstreckenzuweisungen
durchläuft,
unter Verweis auf die Taktzeiten, die durch die mit 0 bis 14 nummerierten
Spalten dargestellt sind (305-1). Anhand von 12 für die jeweiligen Übertragungsstrecken-Verzögerungszeiten
beginnt der Server (305-2) zu Beginn der Zeit 0 die Übertragung
seines Pakets, das bei A3 RX in Zeitschlitz 2 ankommt (305-4).
Daraufhin erfährt
das Paket eine Latenzverzögerung
(dVermittlung), während es durch A3 RX zu A1 RX (305-5) innerhalb der Vermittlung
weitergeleitet wird. A1 RX leitet das Paket
wiederum zu B1 RX weiter, wobei es die Verzögerung d1 (2 Belegungszeiten) erfährt, bevor es zu Beginn des
Zeitschlitzes 5 anzukommen beginnt (305-6). Dieser Prozess
kann bis zu dem Ziel-PC (305-7) im Zeitschlitz 13 verfolgt
werden.
-
Unter
Erinnerung daran, dass die Übertragungsstrecken
ihre Belegungszeitpläne
im Lockstep zyklisch durchlaufen, wobei alle dieselbe Belegungsnummer
verarbeiten, ist bei dem ersten Verzögerungspunkt ds (305-8)
ein Problem zu sehen, bei dem sich der Belegungszyklus während der
Verzögerungsperiode
von 2 Belegungszeiten um zwei Belegungszeiten an der Stelle vorbeibeweget
hat, von der der Zuhaltungs-Zeitplanungsalgorithmus des SA annimmt,
dass er dort sein sollte. Dieses Problem tritt bei jedem Verzögerungspunkt auf.
-
Zur
Behandlung dieses Problems "neigen" die zeitlich geplanten
Ermittlungen, die die äquivalente
Belegungsverzögerung
kennen, die Empfangsbelegungsfenster um den geeigneten Betrag, um
an die Verzögerung
anzupassen. Somit würde
das Paket ohne die Neigungskompensation seine zugewiesene Belegung
verfehlen und durch die zeitlich geplante Vermittlung als "nicht geplant" erklärt.
-
14 zeigt
bei (306-1), (306-2), (306-3) und (306-4)
die Wirkung der Neigungskompensation.
-
Obgleich
die Erfindung hier allgemein hinsichtlich der Zeitplanung der Übertragung
von IP-Datenpaketen beschrieben ist, erkennt der Fachmann auf dem
Gebiet, dass Verfahren und Vorrichtungen erdacht werden können, die
Datenpakete übertragen,
die nicht notwendig den IP-Normen genügen, ohne von dem Umfang der
vorliegenden Erfindung abzuweichen.
-
Obgleich
der Zuhaltungs-Zeitplanungsalgorithmus gemäß der vorliegenden Erfindung
hier hinsichtlich zirkulärer
Datenstrukturen beschrieben ist, erkennt der Fachmann auf dem Gebiet,
dass das zirkuläre
Wesen der Datenstrukturen die Periodizität der zeitlich geplanten Belegungen
repräsentiert
und dass irgendeine Anzahl alternativer Datenstrukturen, die nicht
notwendig zirkulär
sind, denkbar ist, um den Zuhaltungs-Zeitplanungsalgorithmus mit
der geforderten Periodizität
zu realisieren, ohne von dem Umfang der vorliegenden Erfindung abzuweichen.
Zum Beispiel können
alternative Ausführungsformen
der Erfindung unter Verwendung gleitender rechteckig ausgerichteter
Arrays zur Implementierung eines Zuhaltungs-Zeitplanungsalgorithmus realisiert werden.
-
Obgleich
die vorliegende Erfindung hinsichtlich der Zeitplanung eines Übertragungswegs
zwischen zwei Endpunkten beschrieben ist, erkennt der Fachmann auf
dem Gebiet, dass alternative Ausführungsformen der vorliegenden
Erfindung denkbar sind, die einen Weg zwischen mehreren Sendeendpunkten
und/oder mehreren Empfangsendpunkten zeitlich planen, ohne von dem
Umfang der vorliegenden Erfindung abzuweichen.
-
Obgleich
die Erfindung hinsichtlich veranschaulichender Ausführungsformen
davon gezeigt und beschrieben ist, ist klar, dass die vorstehenden
und verschiedene weitere Änderungen,
Weglassungen und Hinzufügungen
in Bezug auf Form und Einzelheit davon realisiert werden könnten, ohne
von dem Umfang der zu Grundeliegenden Erfindung abzuweichen.