-
ERFINDUNGSGEBIET
-
Die
vorliegende Erfindung bezieht sich auf das zeitliche Einplanen von Übertragungen
ohne Kollisionen in Zufallsnetzwerken mit Funkverbindungen, in denen
sowohl Hosts als auch Netzwerke an die Router angehängt werden
können.
-
ALLGEMEINER
STAND DER TECHNIK
-
Zufallsnetzwerke
(d.h. Mehrsprungpaketfunknetzwerke) sind eine Technologie, die eine
nahtlose Ausdehnung des Internets in die Mobilfunkumgebung hinein
ermöglicht.
In Zufallsnetwerken können
Knoten (Stationen oder Paketradios) mobil sein und mit einem anderen
Knoten entweder direkt oder über
Zwischenknoten kommunizieren, ohne dass eine bereits existierende
Netzwerkinfrastruktur vorausgesetzt wird. Da Zufallsnetzwerke sich
selbst konfigurieren, sich dynamisch verbinden, sich im Mehrsprungsverfahren
verbreiten (multihop propagation) und vollständig verteilt sind, sind sie
zwar für viele
neue Anwendungen sehr attraktiv, bringen jedoch auf der Verbindungs-
und Netzwerkebene schwierige Probleme mit sich.
-
Für drahtlose
Netzwerke wurden viele MAC-Protokolle (Medium Access Control) entwickelt. Ein
solches, in Mehrsprungpaketfunknetzwerken verwendetes Protokoll
ist das CSMA-Protokoll (Carrier Sense Multiple Access). Der Nachteil
bei CSMA in Mehrsprungsnetzwerken besteht darin, dass Quellen, die
voreinander versteckt sind, nicht ihre Übertragungen nachweisen können, so
dass die Leistung von CSMA auf die Leistung eines reinen ALOHA-Protokolls
absinkt.
-
Es
wurden viele MAC-Protokolle vorgeschlagen und implementiert, um
die "Hidden Terminal" Probleme von CSMA
zu beseitigen. Der Durchsatz von CSMA-Protokollen ist sehr gut,
solange die vielen Sender, die in Reichweite der gleichen Empfänger liegen,
die Übertragungen
der anderen Sender abtasten können.
Leider wird durch die "Hidden
Terminal" Probleme
die Leistung von CSMA beträchtlich verschlechtert.
-
Das
BTMA-Protokoll (Busy Tone Multiple Access – Belegtonvielfachzugriff)
war ein Versuch, die "Hidden
Terminal" Probleme
von CSMA zu bekämpfen.
BTMA ist für
stationsbasierte Netzwerke ausgelegt und teilt den Kanal in einen
Nachrichtenkanal und einen Belegttonkanal auf. Der Nachteil bei
BTMA besteht darin, dass zur Übermittlung
des Zustands des Datenkanals ein separater Kanal benötigt wird, dass
der Empfänger
den Belegtton übertragen
muss, während
er gleichzeitig den Träger
im Datenkanal nachweist, und es schwierig ist, das Belegttonsignal in
einem Schmalbandkanal nachzuweisen.
-
Ferner
wurde ein vom Empfänger
initiiertes BTMA-Protokoll für
Paketfunknetzwerke vorgeschlagen. In diesem System überträgt der Sender
vor dem Senden eines Datenpakets eine Sendeanforderung (RTS – Request
to send) an den Empfänger.
Wenn der Empfänger
eine korrekte Sendeanforderung (RTS) erhält, überträgt er einen Belegtton auf einem separaten
Kanal, um dadurch andere nahegelegene Quellen zu warnen, dass sie
sich zurückhalten
sollen. Die korrekte Quelle wird immer benachrichtigt, dass sie
die Übertragung
des Datenpakets vornehmen kann. Der Nachteil bei diesem System ist,
dass trotzdem ein separater Belegttonkanal benötigt wird und der Empfänger in
Vollduplex betrieben werden muss.
-
Es
wurden auch mehrere Protokolle vorgeschlagen, die auf verschiedenen
Typen von "Kollisionsvermeidungshandshake" beruhen, wobei kleine Steuerpakete
zum Einsatz kommen, die Datenkollisionen verhindern sollen, wenn
Quellen der Datenpakete sich nicht gegenseitig hören können. Der Ansatz der Kollisionsvermeidung
beruht auf der grundlegenden Philosophie des SRMA-Protokolls (Split-Channel Reservation
Multiple Access). Bei SRMA und den meisten darauffolgenden Kollisionsvermeidungsprotokollen
sendet ein Senderknoten ein RTS-Paket an den beabsichtigten Empfänger, wobei
er entweder vor dem Senden der RTS den Kanal wahrnimmt oder ihn
nicht vor der RTS-Übertragung
wahrnimmt. Ein Empfänger,
der eine "reine" RTS hört, antwortet
mit einem CTS-Signal (clear to send – klar zum Senden), und der
Sender kann ein Datenpaket senden, nachdem er eine "reine" CTS hört.
-
Aber
obwohl Kollisionsvermeidungsprotokolle und auf solchen Protokollen
basierende Systeme im Laufe der letzten Jahre sehr beliebt geworden sind,
leiden alle Kollisionsvermeidungs-MAC-Protokolle unter zwei die
Leistung einschränkenden
Problemen: (1) sie können
keine Kanalzugriffsverzögerungsgarantien
bereitstellen, was für
Echtzeitanwendungen ein großes
Problem ist; und (2) sie haben keine ausdrückliche Unterstützung für kollisionsfreies "Multicasting" oder "Broadcasting", was bedeutet, dass
ein Knoten das gleiche Multicast-Paket mehrmals – einmal an jeden Multicast-Gruppennachbarn – senden
muss, oder die Pakete müssen
damit rechnen, dass die Leistung beim Empfang auf das Niveau des
ALOHA-Protokolls
absinkt. Außerdem
benötigen Kollisionsvermeidungsprotokolle "Carrier Sensing" (Prüfen des
Kabels auf anliegende Daten), was bei "Direct Sequence Spread Spectrum" Radios mit sehr hohen
Chipraten weder vom technischen noch vom wirtschaftlichen Standpunkt
aus betrachtet korrekt implementiert werden kann.
-
Um
Probleme durch "Hidden
Terminal" Störungen zu
umgehen, können
Empfängern
oder Sendern eindeutige Codes (Spreading Codes oder Frequenzsprungfolgen)
zugewiesen werden. Ein Beispiel hierfür ist das Metricom-Netzwerk.
Für empfängerorientierte
Codezuweisung (ROCA) und senderorientierte Codeweisung (TOCA) ist
es jedoch notwendig, entweder Radios im Voraus mit den Knoten-zu-Knoten Abbildungen
zu konfigurieren, oder nach Codes zu suchen, die von benachbarten
Sendern oder Empfängern
benutzt werden. Des Weiteren wird effizientes Broadcasting nicht
einfach durch Einrichten eines TOCA-Ansatzes garantiert.
-
Ein
weiterer Ansatz für
den Kanalzugriff, wie er in drahtlosen Mehrsprungnetzwerken verwendet wird,
besteht im Einrichten von Übertragungszeitplänen, d.h.
im Zuweisen von Stationen zu verschiedenen Zeiten und Datenkanälen (zum
Beispiel Frequenzen, Spreading Codes oder deren Kombinationen) derart,
dass keine Kollisionen auftreten. Die Übertragungszeitplanung kann
statisch oder dynamisch sein; MAC-Protokolle, die auf dynamischer Übertragungszeitplanung
basieren, machen sich die räumliche
Wiederverwendung des Funkkanals zunutze und weisen somit eine viel
höhere
Kanalnutzung auf als Ansätze
für feste Übertragungszeitplanung
wie TDMA und FDMA.
-
Bei
TDMA-Protokollen wird die Zeit in Frames aufgeteilt, die aus Timeslots
bestehen. Timeslots werden spezifischen Knoten zugewiesen, oder es
wird eine zentralisierte Station zur Zuweisung der Timeslots benutzt.
Bei TDMA liegt der Nachteil an der festen Zuweisung von Timeslots zu
Knoten, was eine langsame Anpassung an Netzwerkänderungen und eine schlechte
Ausnutzung des Kanals bedeutet, wenn Knoten Quellen für stoßweisen
Verkehr sind, und an der Verwendung zentralisierter Zuweisungen.
-
Es
gibt viele Ansätze
in der derzeitigen Technik, die auf dynamischen TDMA-Verfahren beruhen, in
denen Stationen ALOHA, Slotted ALOHA oder andere Konkurrenzprotokolle
in einem Uplink benutzen, um Timeslots von einer Basisstation anzufordern.
Vor kurzer Zeit wurde eine Anzahl von Protokollen zur Bereitstellung
von dynamischer Timeslotzuweisung vorgeschlagen, ohne die zentrale
Basisstationen vorsehen zu müssen.
Diese Protokolle können
in topologieunabhängige
und topologieunabhängige
Zeitplanungsprotokolle gegliedert werden.
-
In
diesen Protokollen werden Knoten im Voraus zugewiesen (zum Beispiel
mittels ihrer Knotenkennungen), oder in einen Übertragungszeitplan aufgenommen,
der veröffentlicht
wird, wobei ein solcher Plan die Zeiten angibt, zu denen ein Knoten
sendet oder empfängt.
Die Protokolle garantieren oder bieten die hohe Wahrscheinlichkeit,
dass mindestens eine Übertragungszeit
im Übertragungszeitplan
eines Knotens nicht mit einem Knoten konfliktiert, der einen Sprung
oder zwei Sprünge
weit entfernt ist. Knoten sind unfähig zu bestimmen, welche Übertragungen
erfolgreich sind; was die Arbeit von Protokollen auf höherer Ebene
(zum Beispiel der Verbindungsebene) erschwert. Diese Ansätze benötigen auch,
als Eingangsparameter für
den Algorithmus, Werte für
die gesamte Anzahl von Knoten im Netzwerk und die maximale Anzahl
von Nachbarn für
jeden Knoten, so dass das Design auf den schlimmsten Fall eingerichtet
ist (und somit nicht effizient ist, wenn das Netzwerk nicht so dicht
wie erwartet ist) oder empfindlich gegenüber tatsächlichen Netzwerkbedingungen
ist (wenn das Netzwerk größer oder dichter
als erwartet ist).
-
Manche
Protokolle setzen voraus, dass Knoten konkurrieren müssen, um
kollisionsfreie Timeslots zu reservieren, wobei das Konkurrieren
auf jedem Minislot erfolgt. Des Weiteren sind sie abhängig davon,
dass jeder Slot in mehrere Minislots aufgeteilt wird. Dies alles
führt dazu,
dass die Mindestdauer, die Slots haben können, begrenzt ist.
-
Es
wurden mehrere Vorschläge
unterbreitet, die auf TDMA basieren und einen anfänglichen
topologieunabhängigen Übertragungszeitplan
benötigen, wonach
die Netzwerkknoten miteinander kommunizieren, um einen endgültigen Zeitplan
auszuhandeln. Weil Zeitpläne
benötigt
werden, die festliegen und mehrere Schritte für die Annäherung benötigen, und weil sie eine Zeitplanungsframegröße aufweisen müssen, die
gleich der maximalen Größe des Netzwerks
ist, sind diese Ansätze
gegenüber
Mobilitäts- oder anderen Dynamikaspekten
nur begrenzt skalierbar und robust. Bei einem anderen Ansatz muss
eine anfängliche
Zuweisung eines Slots pro Knoten erfolgen, und dann müssen die Übertragungszeitplanpakete
zur Zuweisung der anderen Slots verhandelt werden. Der anfänglich zugewiesene
Slot ist jedoch auf den ersten Slot in jedem "Frame" beschränkt. Somit tritt der jedem
Knoten zugewiesene Slot nach je N Frames auf, wobei N die maximale
Netzwerkgröße ist.
Dieser Ansatz lässt
sich jedoch nicht skalieren und sich nur langsam an dynamische Verkehrsbedingungen
anpassen.
-
Ein
weiteres Protokoll, das REALM-Protokoll (Robust Environmentally
Adaptive Link/MAC), wurde in Kombination mit dem NETS-Protokoll
(Neighborhood Established Transmission Scheduling) entwickelt. REALM
ist ein MAC-Protokoll,
bei dem Kollisionsvermeidung ohne Handshakes zwischen Sendern und
Empfängern
erzielt wird. REALM setzt ein synchrones Netzwerk voraus, das in
Timeframes aufgegliedert ist, die in Slots unterteilt sind. Das
Ausmaß der
von REALM angenommenen Synchronisation gleicht der Synchronisation,
wie sie in jedem Netzwerk benötigt
wird, das mit Frequenzsprungradios arbeitet, wie solche, die zum
Betrieb in ISM-Bändern dienen
und die heute im Handel angeboten werden.
-
Zur
Erzielung von Kollisionsvermeidung muss ein Knoten, der REALM ausführt, die
Kennungen seiner Einsprung- und Zweisprungnachbarn und die gegenwärtige Zeit
im Netzwerk kennen (zum Beispiel die Nummer des aktuellen Frames).
Der Nachteil bei REALM und NETS ist, dass die Geschwindigkeit, mit
der die Pläne
gebildet werden, von der unregelmäßigen Zeit abhängt, die
zwischen zwei aufeinanderfolgenden Übertragungen von NETS-Zeitplanungspaketen
verstreicht, die REALM als den einzigen Mechanismus zur Bestimmung
des Zeitpunktes benutzen, zu dem ein Knoten seinen Übertragungszeitplan
seinen Nachbarn unterbreiten sollte. Ferner besteht die Möglichkeit
großer
Abweichungen in der Durchschnittsanzahl von Frames zwischen erfolgreichen
Unterbreitungen von NETS-Planungspaketen. Dies kann einen gegebenen
Knoten daran hindern, die benötigten
Reservierungen einzurichten, und außerdem die Synchronisierung
des Netzwerks beeinträchtigen,
wenn der im Netzwerk verwendete Synchronisierungsmechanismus die Übertragung
von Steuerpaketen mit REALM voraussetzt.
-
WO
00/48367 offenbart ein Kommunikationsprotokoll, welches Verbindungsebenen-
und MAC-Ebenenfunktionen für drahtlose
Netzwerke bereitstellt. Das Protokoll erlaubt die zeitliche Planung von
Paketen auf kollisionsfreie und vorhersagbare Weise.
-
Conference
Proceedings IEEE, Band 1 (22), Seiten 507–511 (Oktober 2000), offenbart
einen topologieabhängigen
TDMA-Algorithmus,
der automatisch kollisionsfreien Kanalzugriff an jedem Knoten mit
einer oder mehreren sich wiederholenden Konkurrenzphasen vor dem
Kanalzugriff plant, sobald alle Knoten Topologieinformation über ihre
Zweisprungnachbarn erhalten.
-
Die
vorliegende Erfindung bezieht sich auf die Verbesserung der obengenannten
Mängel,
Nachteile und Probleme und wird beim Lesen und Untersuchen der folgenden
Spezifikation verständlich.
-
Die
vorliegende Erfindung stellt ein System nach Anspruch 1, ein Verfahren
nach Anspruch 18 und einen Knoten nach Anspruch 24 bereit.
-
Das
Verfahren und das System dienen dazu, die kollisionsfreie Übertragung
von Paketen in einem Kanal bereitzustellen, derart, dass
- (a) eine obere Grenze erzwungen werden kann für die Zeit,
die zwischen zwei aufeinanderfolgenden, dem gleichen Knoten zugewiesenen
Timeslots verstreicht,
- (b) kein Kollisionsvermeidungshandshake für jede Paketübertragung
erforderlich ist, und
- (c) im Voraus keine Zuweisung von Übertragungszeiten (Timeslots),
Kanälen
oder Codes erforderlich ist.
-
In
einer Ausführungsform
wird die Zeit in Frames unterteilt, die aus einer bekannten Anzahl
von Timeslots bestehen, und die Frames können weiter in Epochen aufgegliedert
sein.
-
Gemäß einer
erfindungsgemäßen Ausführungsform
ist ein fester Satz von Timeslots in einem Frame ausschließlich für die quasistatische,
deterministische planmäßige Zuweisung
solcher Slots zu Knoten bestimmt, und ein weiterer Satz von Timeslots
wird den Knoten planlos zugewiesen. Das Ziel des quasistatischen
Slotzuweisungsverfahrens besteht darin, eine obere Grenze für die Zeit,
die zwischen zwei aufeinanderfolgenden, dem gleichen Knoten zugewiesenen
Timeslots verstreicht, zu erzwingen. Das Ziel des dynamischen Slotzuweisungsverfahrens
besteht in der sehr effizienten gemeinsamen Nutzung von Slots.
-
Gemäß einer
erfindungsgemäßen Ausführungsform
wird REALM für
dynamische Slotzuweisung benutzt. Parallel zu REALM läuft ein
verteilter Algorithmus, der zur quasistatischen Zuweisung von Slots
zu Knoten dient. Das für
die quasistatische Zuweisung von Slots zu Knoten verwendete Verfahren basiert
auf Information, die auf jedem Knoten im Netzwerk geführt wird.
Hierzu gehören
der Startpunkt (Slot 1) für
die Zuweisung von Timeslots für
die quasistatische Zeitplanung, die Liste von Knoten, die als Teil
des Netzwerks akzeptiert wurden, und die neueste Netzwerkzeit. Der
Knoten bestimmt, ob die Liste der Knoten im Netzwerk aktuell ist
oder nicht auf der neuesten Netzwerkzeit basiert.
-
Die
Liste der zum Netzwerk gehörenden Knoten
wird mittels des im Netzwerk benutzten Routingprotokolls unter den
Knoten ausgeteilt. Die neueste Netzwerkzeit wird mit Hilfe eines
Algorithmus für verteilte
Zeitsynchronisierung, wie dem in REALM benutzten Algorithmus, ausgewählt. Der
Startpunkt für
die Zuweisung von Timeslots für
quasistatische Zeitplanung kann als der erste, in einer Epoche verfügbare Timeslot
definiert werden.
-
Jeder
Knoten weist jeder der bekannten Knotenkennungen, die Teil der Netzwerkmitgliedschaft sind,
die mittels Routingpaketen verteilt wurde, einen Timeslot für quasistatische
Zuweisung zu. Die Regel für
diese verteilte Zuweisung von Knotenkennungen zu Slotkennungen in
quasistatischer Zeitplanung kann sehr einfach sein, einschließlich dem
kreisförmigen
Ordnen von Knotenkennungen in aufeinanderfolgende Slotkennungen.
Das Ziel dieser Regel besteht darin, den im Netzwerk existierenden
Knoten die größte Anzahl
von quasistatischen Zuweisungsslots zu geben.
-
Wenn
ein Knoten betriebsfähig
wird, benutzt er nur das dynamische Slotzuweisungsverfahren zur Übertragung
seiner Pakete. Das Vorhandensein eines neuen Knotens wird einem
Knoten als Teil entweder des Routingprotokolls oder eines im Netzwerk benutzten
Nachbarprotokolls bekanntgegeben. Das Vorhandensein des neuen Knotens
wird allen Knoten im Netzwerk mittels des Routingprotokolls mitgeteilt.
-
Gemäß einer
erfindungsgemäßen Ausführungsform
nehmen Knoten neue Knoten zur quasistatischen Zeitplanung unabhängig von
einander auf, und ein neuer Knoten kann anfangen, die für quasistatische
Zeitplanung reservierten Timeslots zu benutzen, nachdem er Routingnachrichten
von einem oder von allen seiner Nachbarn erhält, die anzeigen, dass der
Knoten Teil der Routingtabellen seiner Nachbarn ist. Gemäß einer
weiteren erfindungsgemäßen Ausführungsform
nehmen alle Knoten einen neuen Knoten in die Liste der für quasistatische
Zeitplanung benutzten Knoten zu genau gleicher Zeit durch Anlegen eines
Timeout Intervalls auf, wenn sie erstmalig vom Vorhandensein des
Knotens hören.
Das Timeout Intervall beginnt mit der Netzwerkzeit, zu der der Knoten
seine Gegenwart erstmalig ankündigte,
und endet nach einer Zeitspanne, die ausreicht, um sicherzustellen,
dass alle Knoten vom Vorhandensein des neuen Knoten wissen.
-
Um
die zur quasistatischen Zeitplanung zugewiesenen Timeslots zu benutzen,
ordnet ein Knoten einfach die Kennungen der Knoten, die bekanntlich
zur bekannten Netzwerkmitgliedschaft gehören, und bildet sie in geordneter
Weise auf den für
quasistatische Zeitplanung reservierten Timeslots ab. Im stationären Zustand
weisen alle Knoten, die in das Netzwerk aufgenommen wurden, den
gleichen Timeslot der gleichen Knotenkennung zu, weil alle die gleiche
Liste von aufgenommenen Netzwerkknoten haben und alle Knoten den
gleichen Startpunkt (das heißt
Slot 1) für
die Zuweisung von Knoten zu Slots in quasistatischer Zeitplanung
benutzten.
-
Gemäß einer
erfindungsgemäßen Ausführungsform,
zum Zwecke einer effizienteren Kanalnutzung für quasistatische Zeitplanung
bei Vorhandensein mehrerer Internetzugriffspunkte (AirHeads) im
System, kann jeder Knoten die Liste der in das Netzwerk aufgenommenen
Knoten mit der Kennung des AirHead verknüpfen, das vom Knoten zum Zugriff
auf das Internet verwendet wird.
-
Gemäß einer
erfindungsgemäßen Ausführungsform
können
die für
quasistatische Zeitplanung zugewiesenen Timeslots zur Übertragung
kurzer Steuerpakete benutzt werden, während die für dynamische Zeitplanung zugewiesenen
Timeslots zur Übertragung
langer Steuerpakete benutzt werden können. Dies kann wünschenswert
sein, um die Kanalnutzung zu erhöhen.
-
Gemäß einer
erfindungsgemäßen Ausführungsform
ist keine Basisstation notwendig, um Slotzuweisungen vorzunehmen.
Außerdem
müssen Slots
nicht weiter unterteilt werden, und Knoten müssen nicht in weniger als einer
Framezeit auf Nachbarn antworten.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 veranschaulicht
ein Zufallsnetzwerk, bevor IR G betriebsfähig wird;
-
2 stellt
einen quasistatischen Zeitplan dar, der an allen IRs benutzt wird,
bevor IR G betriebsfähig
wird;
-
3 veranschaulicht
ein Zufallsnetzwerk, nachdem IR G betriebsfähig wird;
-
4 stellt
einen quasistatischen Zeitplan dar, der an den IRs C, D, E und F
sofort nach Empfang der Routingaktualisierung von IR G benutzt wird;
-
5 veranschaulicht
mögliche
Kollisionen an IRs aufgrund unstimmiger Zeitpläne;
-
6 stellt
die Berechnung der Aufnahmeniederhaltezeit für eine neue IR an jedem IR
im Netzwerk dar,
-
7 veranschaulicht
eine Aktualisierung gemäß des AIR-Protokolls;
-
8 veranschaulicht
ein IR, das eine Aufnahmeknotentabelle und eine neue Knotentabelle führt;
-
9 stellt
einen Frame mit einer festen Anzahl von Timeslots für dynamische
Zeitplanung und einer festen Anzahl von Timeslots für quasistatische Zeitplanung
dar;
-
10 veranschaulicht,
wie ein IR vom Vorhandensein eines neuen IR erfährt;
-
11 veranschaulicht
ein Verfahren zur Aufnahme eines IR in die Aufnahmeknotentabelle; und
-
12 stellt
einen Prozess beim Empfang einer AIR-Aktualisierung durch ein IR gemäß Aspekten
der Erfindung dar.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
In
der folgenden ausführlichen
Beschreibung der beispielhaften erfindungsgemäßen Ausführungsformen wird auf die beiliegenden
Zeichnungen Bezug genommen, die Teil dieser Spezifikation sind und spezifische
beispielhafte Ausführungsformen
für die Implementierung
der Erfindung anschauungsweise darstellen. In den Zeichnungen bezeichnen
gleiche Nummern gleiche Teile in allen Ansichten. Ferner gilt eine
Angabe im Singular auch für
den Plural, soweit nichts anderes angegeben oder inkonsistent mit
der enthaltenen Offenbarung ist.
-
Im
Folgenden sollen ein System und ein Verfahren für die Zeitplanung von Übertragungen
in Zufallsnetzwerken beschrieben werden.
-
I. Grundlegender Service
und Annahmen
-
Zum
Zwecke dieser Diskussion sind die im beispielhaften Netzwerk verwendeten
Radios Halbduplex und stellen sich jeweils auf nur einen Kanal ein,
obwohl sie auf jeden der verfügbaren
Kanäle
umschalten können.
Wie frühere
MAC-Protokolle,
die auf Übertragungszeitplanung
basieren, ist die Zeit in Slots (Schlitze) eingeteilt und diese
Slots sind zu Frames zusammengefasst. Frames wiederum werden zu
Epochen zusammengefasst.
-
Mehrere
orthogonale Datenkanäle
können zur
Datenübertragung
zur Verfügung
stehen. Diese Kanäle
können
mittels vieler Frequenzbänder,
Direktsequenz Spreading Codes oder Frequenzsprung Spreading Codes
oder mittels Kombinationen von Wellenformen, die solche Techniken
kombinieren, implementiert werden. Die folgende Beschreibung befasst
sich insbesondere mit der Zuweisung von Timeslots für Broadcastübertragungen über einen
gemeinsamen Kanal, so dass Knoten Steuerpakete, die zum Einrichten
von Übertragungszeitplänen über viele
Datenkanäle
benutzt werden, oder Datenpakete senden können.
-
Ferner
werden für
die folgende Beschreibung bidirektionale physische Verbindungen
unter benachbarten Knoten angenommen. Gemäß einer erfindungsgemäßen Ausführungsform
wird jeder Nachbar eines Knotens durch den Knoten identifiziert,
der eine von Sender zugewiesene lokale Verbindungskennung benutzt,
die mit "XLID" bezeichnet wird.
In einer anderen erfindungsgemäßen Ausführungsform
können
Knoten durch ihre MAC-Adressen identifiziert werden. In der Beschreibung
der hier vorliegenden Erfindung bezeichnet der Ausdruck "Knotenkennung" entweder XLIDs oder
MAC-Adressen von Knoten.
-
Gemäß einer
erfindungsgemäßen Ausführungsform
werden Timeslots mit Hilfe einer eindeutigen Kennung identifiziert,
die die Position eines Timeslots in einem Frame und die Position
eines Frames in einer Epoche bezeichnet. Eine Epoche kann mit Hilfe
der aktuellen Zeit identifiziert werden, die zwischen den Knoten
mit Hilfe eines Zeitsynchronisierungsalgorithmus vereinbart wurde.
In der Beschreibung der vorliegenden Erfindung bezeichnet der Ausdruck "Slotkennung" die Kennung eines
Timeslots, der auf dem "Netzwerkalter" des Netzwerks basiert.
Jede Epoche hat eine feste Anzahl von Frames, und jeder Frame hat
eine feste Anzahl von Timeslots.
-
Jeder
Knoten kann eine vorherbestimmte maximale Anzahl von aktiven Einsprungnachbarn aufweisen.
Jedem aktiven Einsprungnachbarn wird eine Knotenkennung zugewiesen,
wobei angenommen wird, dass der Knoten den aktiven Nachbarn die Kennungen
fortlaufend zuweist.
-
Die
Knoten, die das im Folgenden beschriebene Verfahren ausführen, werden "Internet Radios" (IR) genannt. Die
Ausdrücke "Knoten" und "Internet Radio" können in
der Beschreibung gegeneinander ausgetauscht werden. Im Netzwerk
existiert ein Routingprotokoll, welches derart funktioniert, dass
jedes IR Routinginformation über
jedes andere IR im Netzwerk führen
kann. Die Anzahl von Timeslots, die in einer Epoche für quasistatische
Zeitplanung verfügbar sind,
ist größer als
die Anzahl von IRs im Netzwerk.
-
Der
grundlegende Service, den die beschriebene Ausführungsform bereitstellen soll,
besteht darin, Timeslots für
IRs für
kollisionsfreie Broadcast Übertragungen über einen
gemeinsamen Broadcast Kanal zu reservieren, derart, dass eine obere
Grenze für
die Zeit, die zwischen zwei, einem gegebenen IR im System zugewiesenen
Timeslots verstrichen ist, sichergestellt ist.
-
II. Austauschen und Führen von
Information
-
1 veranschaulicht
ein beispielhaftes Zufallsnetzwerk, bevor IR G betriebsfähig ist.
Das Zufallsnetzwerk besteht aus einer Anzahl von Subnetzwerken 20, 30, 40, 50,
die eine Ausdehnung des Internets über eine Anzahl von IRs (100, 110, 120, 130 und 140)
bereitstellen. Jedes IR 100 bis 140 ist ein drahtloser
Router mit einer IP-Adresse und einer MAC-Adresse. Das Zufallsnetzwerk 20 hängt sich über einen
Zugriffspunkt, genannt "AirHead.1", an das Internet 900 an.
Das AirHead in 1 ist IR 110, welches über das
lokale Netzwerk 40 an einen Internet Router 200 angeschlossen
ist.
-
Nach
einer begrenzten Zeitspanne sind die fünf IRs (100–140)
im Zufallsnetzwerk 20 von 1 im Besitz
der gleichen Liste von im Netzwerk vorhandenen IRs.
-
Die
IRs im Netzwerk sind synchronisiert und vereinbaren die Perioden,
während
welcher Pakete (zum Beispiel Steuerpakete) gesendet werden. Diese
Perioden werden "Frames" genannt. Jeder Frame ist
mit einem "Netzwerkalter" (NetAge) verknüpft, welches
sich von Frame zu Frame ändert
und im ganzen Netzwerk bekannt ist. Zum Beispiel kann das Netzwerk
mittels Epochen, Frames und Slots synchronisiert sein und eine konstante
Ganzzahl (S) von Slots pro Frame und eine konstante Ganzzahl (F)
von Frames pro Epoche beinhalten. Innerhalb jeder Epoche sind die
Frames von 1 bis F (der "Framenummer") fortlaufend nummeriert.
Epochen sind ebenfalls fortlaufend nummeriert und gehen nach E Epochen
zurück
zu Epoche Nummer 1. Das obige Netzwerk kann entweder die mit der
Epochennummer verkettete Framenummer oder einfach nur die Framenummer
sein, wenn die Anzahl der Frames in einer Epoche genügend groß ist.
-
Jedes
IR erfährt
die eindeutigen Knotenkennungen der IRs, die einen Sprung oder zwei
Sprünge entfernt,
das heißt
innerhalb der Zweisprungnachbarschaft, liegen. Ein IR erfährt von
dem Vorhandensein seiner direkten (Einsprung-) Nachbarn mittels
eines Nachbarentdeckungs- und Managementprotokolls, möglicherweise
in Kombination mit Steuerpaketen. Zweisprungnachbarn und Knoten
jenseits der Zweisprungentfernung vom Knoten werden durch Steuerpakete
bekanntgegeben.
-
Gemäß einer
erfindungsgemäßen Ausführungsform
wird das REALM-Protokoll (Robust Environmentally Aware Link and
MAC) für
die dynamische Zuweisung von Übertragungsslots
benutzt. Andere Protokolle können
benutzt werden.
-
Bei
Benutzung von REALM bestimmen IRs die aktuelle Netzwerkzeit, die
den aktuellen Timeslot im aktuellen Frame der aktuellen Epoche identifiziert. Der
Startpunkt (Slot 1) für
die Zuweisung von Timeslots für
quasistatische Zeitplanung wird einfach als der erste Timeslot einer
Epoche definiert. Dies liegt daran, dass REALM eine konstante Anzahl
Frames pro Epoche benutzt und es so einem IR ermöglicht zu wissen, in welchem
Frame und in welchem Slot es sich gegenwärtig befindet.
-
Gemäß einer
erfindungsgemäßen Ausführungsform
wird das AIR-Protokoll (Adaptive Internet Routing) für die Verteilung
von Routinginformation benutzt. Andere Protokolle können benutzt
werden.
-
Da
in AIR jeder Knoten seinen Nachbarn seinen "Shortest Path Routing Tree" (Routingbaum mit den
kürzesten
Pfaden) bekanntgibt, und weil ein solcher Baum jeden Netzwerkknoten
angibt, können
die Aktualisierungsnachrichten in AIR dazu verwendet werden, die
Liste der in das Netzwerk aufgenommenen Knoten bekanntzugeben.
-
Routingprotokolle
in der derzeitigen Technik, die auf Topologieinformation oder Entfernungsinformation
basieren, basieren ausschließlich
auf den Parametern von Verbindungen (Links). Im Gegensatz dazu verwendet
AIR eine Aktualisierungseinheit, die Information über die
Leistungsmerkmale und Adressinformation für eine Verbindung und den Knoten
am Ende der Verbindung bekanntgibt. 7 veranschaulicht
eine Aktualisierung gemäß des AIR-Protokolls.
Genauer gesagt, besteht die Aktualisierung 700 in AIR aus
folgenden Elementen:
- (a) einer Folgenummer,
die die Aktualisierung validiert;
- (b) einem Servicetypvektor;
- (c) der Netzwerkadresse des Kopfknotens der Verbindung;
- (d) der Netzwerkadresse des Endknotens der Verbindung;
- (e) den Verbindungszustandparametern der Verbindung zwischen
zwei IRs; und
- (f) den Knotenzustandsparametern des Endes der Verbindung.
-
Eine
von einem IR gesendete Aktualisierungsnachricht enthält mindestens
eine Aktualisierung. Die Folgenummer der Aktualisierung wird vom Kopf
der Verbindung zugewiesen und kann von keinem anderen Knoten, der
die Aktualisierung in einer Aktualisierungsnachricht weiterleitet,
geändert
werden. Der TOS-Vektor (Type of Service–Servicetyp) ist ein Bitvektor,
der den TOS-Routingbaum
angibt, in dem die Verbindung von dem Knoten, der die Aktualisierung
sendet, benutzt wird. Die Zustandsparameter einer Verbindung werden
als eine Liste von Tuplen angegeben, wobei jedes Tuple aus einem
Typ und einem Inhalt besteht. Es gibt zwei Klassen von Zustandsparametern
für eine
Verbindung:
Leistungsparameter und Adressparameter. Die Leistung
einer Verbindung kann im Sinne ihrer Verzögerung, Kosten, Bandbreite
und Zuverlässigkeit
charakterisiert werden. Ein Adressparameter gibt eine der Verbindung
zugewiesene Kennung an. Eine wichtige Kennung in der vorliegenden
Erfindung ist die LLID (Lokale Verbindungskennung), die der Verbindung vom
Kopf der Verbindung zugewiesen wird. Die Zustandsparameter des Endes
einer Verbindung beinhalten zum Beispiel die restliche Lebensdauer
der Batterie des Knoten.
-
Jedes
IR teilt seinen Nachbarn seinen "Source
Tree" (Ursprungsbaum)
mit, der alle Verbindungen auf den bevorzugten kürzesten Pfaden zu allen Zielorten
umfasst. Dementsprechend empfängt
ein Knoten die Kennung jedes einem Nachbarn bekannten IRs als Teil
der in AIR gesendeten Routingaktualisierungen.
-
8 veranschaulicht
ein IR, welches eine Aufnahmeknotentabelle und eine neue Knotentabelle führt. Jedes
IR führt
eine Aufnahmeknotentabelle, in der alle IRs im Netzwerk aufgeführt sind,
die zum Einschluss in die Zuweisung von Timeslots, die für quasistatische
Zeitplanung reserviert wurden, aufgenommen wurden. Ein IR bildet
Kennungen auf Timeslots für
quasistatische Zeitplanung nur dann ab, wenn die Kennungen der Aufnahmeknotentabelle
entnommen wurden.
-
Gemäß einer
erfindungsgemäßen Ausführungsform
nehmen IRs neue IRs zu verschiedenen Zeiten in die Aufnahmeknotentabelle
auf, je nachdem, wann die IRs vom Vorhandensein der neuen IRs erfahren.
Gemäß einer
weiteren erfindungsgemäßen Ausführungsform
synchronisieren alle IRs im Netzwerk die Zeit, zu der sie neue IRs
in die Aufnahmeknotentabelle aufnehmen. Um diese Synchronisierung
zu bewerkstelligen, führt
jedes IR eine zusätzliche
Tabelle, genannt neue Knotentabelle. Die neue Knotenabelle gibt
für jedes
bekannte neue IR im Netzwerk die eindeutige Kennung des IRs und
die Netzwerkzeit an, zu der das IR angeblich erstmalig seinen Eintritt,
oder erneuten Eintritt nach einem Ausfall, in das Netzwerk angekündigt hat.
Ein IR benutzt seine Aufnahmeknotentabelle zur Zuweisung von Timeslots
zu IRs, die für
quasistatische Zeitplanung reserviert sind. Ein Eintrag in der neuen
Knotentabelle wird nach dem Zufügen
zur Tabelle für
ein Niederhaltezeitintervall aufbewahrt und in die Aufnahmeknotentabelle
kopiert, nachdem das Niederhaltezeitintervall abgelaufen ist und
das IR noch Teil der Topologietabelle ist, die mittels des AIR-Protokolls geführt wird.
Zur Erreichung der Zeitplansynchronisierung werden ferner AIR-Steuerpakete
erweitert, um die Netzwerkzeit bekanntzugeben, wenn ein neues IR dem
Netzwerk beitritt. Ein neues IR gibt seinen Nachbarn die Netzwerkzeit,
zu der es betriebsfähig
wird, einfach dadurch bekannt, dass es diese Zeit als Knotenzustandsparameter
des Kopfes der Verbindung zu jedem seiner Nachbarn bekanntgibt.
IRs – außer den
neuen IRs, die dem Netzwerk beitreten – geben die Netzwerkzeit bekannt,
wenn das neue IR als Knotenzustandsparameter des Endes der Verbindung beitritt,
die in ihren Ursprungsbäumen
zum Erreichen des neuen IRs benutzt wird.
-
III. Übertragungszeitplanung
-
In 9 ist
ein Frame mit einer festen Anzahl von Timeslots für dynamische
Zeitplanung und ein Frame mit einer festen Anzahl von Timeslots
für quasistatische
Zeitplanung dargestellt. Gemäß einer erfindungsgemäßen Ausführungsform
weist ein Frame eine feste Anzahl von Timeslots für dynamische Zeitplanung
und eine feste Anzahl von Timeslots für quasistatische Zeitplanung
auf. Ein Knoten benutzt zwei verschiedene Verfahren, um zu bestimmen, wann
er in Timeslots, die für
dynamische Zeitplanung bestimmt sind, und wann er in Timeslots,
die für
quasistatische Zeitplanung bestimmt sind, übertragen soll.
-
Bei
quasistatischer Zeitplanung werden die Timeslots den Knoten mit
Hilfe eines deterministischen Algorithmus zugewiesen, der auf den
Kennungen aller Knoten im Netzwerk basiert und eine obere Grenze
für die
Zeit sicherstellt, die zwischen zwei dem gleichen Knoten zugewiesenen
Timeslots bei Einsatz des quasistatischen Zeitplanungsverfahrens verstreicht.
Bei dynamischer Zeitplanung werden die Timeslots den Knoten wahllos
zugewiesen. Das quasistatische Slotzuweisungsverfahren benutzt einen anderen
Satz von Timeslots als das dynamische Slotzuweisungsverfahren, damit
für die
Zeiten, die zwischen den den gleichen Knoten zugewiesenen Timeslotereignissen
verstreichen, obere Grenzen bereitgestellt werden können.
-
Das
Verfahren für
dynamische Slotzuweisung in REALM basiert auf Information betreffend
die Zweisprungnachbarschaft eines Knotens. Der Rest dieser Beschreibung
befasst sich mit der quasistatischen Zeitplanung von Übertragungsslots
zu Knoten auf Basis netzwerkweiter Information.
-
Wenn
ein IR betriebsfähig
wird, benutzt es das dynamische Slotzuweisungsverfahren zur Übertragung
seiner Pakete.
-
10 veranschaulicht,
wie ein IR vom Vorhandensein eines neuen IRs erfährt. Ausgehend vom Startblock
geht der Prozess zu Block 1010, wo ein IR eine Überwachung
auf Vorhandensein eines neuen IRs durchführt. Bei Entscheidungsblock 1015 wird bestimmt,
ob ein neues IR vorhanden ist. Wenn ein IR das Vorhandensein eines
neuen IRs erfährt,
geht der Prozess zu Block 1020, wo das IR eine Routingaktualisierung
an alle seine Nachbarns als Teil eines im Netzwerk benutzten Routingprotokolls
sendet. Diese Aktion stellt sicher, dass das Vorhandensein eines
IRs an alle IRs im ganzen Netzwerk innerhalb einer begrenzten Zeit
weitergeleitet wird. Demgemäß erfahren
alle IRs das Gleiche, nämlich
welche IRs innerhalb einer begrenzten Zeit nach dem Eintritt des letzten
IRs in das Netzwerk zum Netzwerk gehören. Wenn es kein neues IR
gibt, kehrt der Prozess zu Block 1010 zurück, um die Überwachung
fortzusetzen.
-
Wenn
das Verhältnis
der Anzahl Timeslots für
quasistatische Zuweisung zur Anzahl der vom Netzwerk akzeptierten
Knoten gleich einer Ganzzahl X plus einem Bruchteil ist, werden
jedem IR X aufeinanderfolgende Timeslots zugewiesen, und eine Anzahl
Timeslots für
quasistatische Zeitplanung am Ende einer Epoche bleiben unbenutzt
oder werden wahllos von IRs aufgerufen, die nicht in das Netzwerk aufgenommen
wurden. In einer anderen erfindungsgemäßen Ausführungsform können für einen
gegebenen Ganzzahlwert Y, der kleiner als X ist, jedem IR [X/Y]
aufeinanderfolgende Slots zugewiesen werden, worin [a] die größte Ganzzahl
darstellt, die kleiner als oder gleich a ist, wobei der gleiche
quasistatische Zeitplan Y mal in einer Epoche wiederholt wird.
-
In
einer weiteren erfindungsgemäßen Ausführungsform
können
den IRs verschiedene Prioritäten
zugewiesen werden (zum Beispiel auf Basis des Verkehrs, den sie
zum und vom Internet tragen müssen),
wobei Priorität
1 die niedrigste Priorität
ist. In diesem Fall werden einem IR mit der Priorität p p-mal mehr
Timeslots zugewiesen als einem IR mit der Priorität 1.
-
In 2 ist
der quasistatische Abschnitt des Übertragungszeitplans dargestellt,
der zu dieser Zeit von allen IRs 100 bis 140 von 1 angenommen wird.
Zur Benutzung der für
quasistatische Zeitplanung zugewiesenen Timeslots kann ein IR einfach die
Kennungen der im Netzwerk bekannten IRs in auf- oder absteigender
Reihenfolge ordnen und dem ersten IR in der Liste den ersten Timeslot,
dem zweiten IR in der Liste den zweiten Timeslot usw. für quasistatische
Zeitplanung zuweisen, bis allen IRs in der Liste Timeslots zugewiesen
wurden. Gemäß einer
erfindungsgemäßen Ausführungsform
wird die Anzahl der in einer Epoche for quasistatische Zeitplanung verfügbaren Timeslots
durch die Anzahl der im Netzwerk bekannten IRs geteilt, und jedem
IR wird das gleiche resultierende Verhältnis von Timeslots zugewiesen.
-
In
dem in 2 dargestellten Beispiel wird angenommen, dass
24 Timeslots in einer Epoche dem quasistatischen Abschnitt des Übertragungszeitplans
zugewiesen werden, und diese sind der Einfachheit halber nebeneinander
dargestellt. In diesem Beispiel wird ferner davon ausgegangen, dass Timeslots
des quasistatischen Zeitplans den im Netzwerk bekannten IRs zugewiesen
werden, und zwar einfach auf der Basis der Kennungen der IRs in
aufsteigender Reihenfolge (A bis F), wobei komplette Sequenzen von
IR-Kennungen so oft wie erforderlich wiederholt werden.
-
Im
stationären
Zustand weisen alle Knoten, die in das Netzwerk aufgenommen wurden,
der gleichen Knotenkennung den gleichen Timeslot zu, weil alle die
gleiche Liste von aufgenommenen Netzwerkknoten aufweisen und alle
IRs den gleichen Startpunkt (das heißt Slot 1) für die Zuweisung
von Knoten zu Slots bei quasistatischer Zeitplanung benutzen.
-
Im
Gegensatz zum Stand der Technik, in der Timeslots den Knoten entweder
im Voraus zugewiesen oder ausdrückliche
Handshakes zwischen den Knoten benutzt werden, um die Zuweisungen
zu bewerkstelligen, benutzen die IRs in dieser Ausführungsform
einen verteilten Wahlalgorithmus zur Zuweisung von Slots zu IRs
für quasistatische
Zeitplanung, wobei die Netzwerkmitgliedschaftsdaten zum Einsatz
kommen, die sie von dem im Netzwerk benutzten Routingprotokoll erhalten.
-
III. A Asynchrone Zeitplanung
-
Gemäß einer
erfindungsgemäßen Ausführungsform
können
die IRs anfangen, ein neues IR in die Zuweisung von Slots für quasistatische
Zeitplanung einzuschließen,
ohne sicherstellen zu müssen, dass
alle anderen IRs im Netzwerk anfangen, die neue IR zur genau gleichen
Zeit einzuschließen.
Dieser Ansatz wird als "asynchrone
Zeitplanung" bezeichnet.
-
In 3 ist
das gleiche Zufallsnetzwerk wie in 1 dargestellt,
aber nachdem IR 150 in das Netzwerk aufgenommen wurde.
In einer erfindungsgemäßen Ausführungsform
können
nach Einschluß eines
neuen IRs andere IRs anfangen, die für quasistatische Zeitplanung
reservierten Timeslots sofort nach dem Empfang von Routingnachrichten
oder anderen, von Nachbarn kommenden Steuerpakettypen, zu benutzen,
und so dem IR mitteilen, dass die Mehrzahl seiner bekannten Nachbarn
von seinem Vorhandensein weiß.
-
In
einer weiteren erfindungsgemäßen Ausführungsform
kann das neue IR anfangen, für
quasistatische Zeitplanung zugewiesene Timeslots zu benutzen, nachdem
es die erste Aktualisierung von einem Nachbarn erhalten hat, die
anzeigt, dass ihm das Vorhandensein des neuen IRs bekannt ist, oder nachdem
alle Nachbarn des neuen IRs über
Aktualisierungsnachrichten oder auf anderem Wege anzeigen, dass
das neue IR vorhanden ist.
-
In
der Annahme, dass ein IR sofort, nachdem es über das Routingprotokoll (AIR)
vom Vorhandensein eines IRs erfahren hat, dieses IR zum quasistatischen Übertragungszeitplan
hinzufügt,
ist in 4 ein quasistatischer Übertragungszeitplan dargestellt,
der von den Nachbarn von IR 150 angenommen wird, sobald
diese eine Aktualisierungsnachricht von demselben empfangen haben.
Sobald die IRs 100, 110, 120 und 140 vom
Vorhandensein des IRs 150 erfahren, nehmen sie einen wesentlich
anderen Übertragungszeitplan
an als der Rest der IRs im System, mit Ausnahme von IR 150.
IR 150 nimmt den gleichen Zeitplan wie die IRs 100, 110, 120 und 140 an,
weil IR 150 genau die gleiche Liste von IRs wie seine benachbarten
IRs hat. Im Gegensatz dazu haben IRs 130 und 160 eine
Liste von IRs im Netzwerk, in die IR 150 erst dann aufgenommen
wird, wenn sie eine Routingaktualisierungsnachricht von benachbarten
IRs empfangen, die bereits vom Vorhandensein von IR 150 im
Netzwerk wissen.
-
Die
Unstimmigkeiten in den von verschiedenen IRs angenommenen Übertragungszeitplänen können dazu
führen,
dass manche IRs unfähig
sind, ein von einem benachbarten IR übertragenes Paket korrekt zu
empfangen, weil mehr als eins der benachbarten IRs im gleichen Timeslot überträgt, was
zu einer Kollision am empfangenden IR führt. Eine Kollision kann eintreten,
wenn ein IR der Nachbar von IRs ist, die unstimmige Übertragungszeitpläne haben, derart,
dass sich diese Nachbarn den gleichen Timeslot im Zeitplan zuweisen.
-
Ein
Vorteil der asynchronen Zeitplanung besteht darin, dass sie sich
sehr einfach implementieren lässt.
Asynchrone Zeitplanung ist leicht zu implementieren, weil keine
Modifikationen am im Netzwerk benutzten Routingprotokoll erforderlich
sind. Ein Nachteil dieses Ansatzes besteht jedoch darin, dass möglicherweise
verschiedene IRs verschiedene IR-Listen für die Zuweisung von Timeslots
zu IRs für quasistatische
Zeitplanung benutzen, was zur Kollision von Paketen führen kann,
bevor alle IRs stimmige Information über die IRs haben, denen Timeslots
zugewiesen werden müssen.
-
5 zeigt
die möglichen
Kollisionen für
das gleiche beispielhafte Zufallsnetzwerk wie das von 3.
Die FIGUR zeigt die angenommenen Zeitpläne von allen IRs außer von
IR 150 sofort nachdem IRs 100, 110, 120 und 140 vom
Vorhandensein von IR 150 erfahren, gefolgt von der Beschreibung
der möglichen
Kollisionen aufgrund der Unstimmigkeiten in den beiden Zeitplänen. In
diesem Beispiel kann IR 150 keine Kollisionen verursachen,
weil es eine Liste von IRs im Netzwerk zur gleichen Zeit erhält, zu der alle
anderen IRs im Netzwerk eine stimmige Liste von IRs haben. Wenn
eine Kollision in einem Timeslot eintreten kann, zeigt 5 alle
Empfänger-IRs
an, bei denen die Kollision aufgrund der Übertragungen durch IRs eintritt,
denen der gleiche Timeslot zugewiesen ist. Zum Beispiel sind im
Timeslot 12 die IRs 100, 140 und 160 unfähig, die Übertragung
von IR 100 oder 140 oder von beiden zu empfangen,
wenn beide IRs in dem Timeslot übertragen.
Desgleichen ist IR 120 im Timeslot 8 unfähig, die Übertragung
von sowohl IR 110 als auch 130 zu empfangen.
-
Das
Eintreten von Kollisionen aufgrund von unstimmigen quasistatischen
Zeitplänen
ist nur bis zu dem Zeitpunkt möglich,
an dem alle IRs im Netzwerk im Besitz der gleichen Liste von IRs
sind, die für quasistatische
Zeitplanung benutzt werden sollte. Die Zeitspanne, während der
dies möglich
ist, ist proportional zur maximalen Länge von Sprüngen von einem IR zu einem
anderen IR im Netzwerk, mal der Zeit, die zur Übertragung einer Routingaktualisierungsnachricht
auf einem gegebenen Sprung benötigt
wird.
-
III. B Synchrone Zeitplanung
-
Um
die Möglichkeit
des Kollidierens von Paketen in Timeslots für quasistatische Zeitplanung
zu reduzieren, können
IRs miteinander zu einer Zeit synchronisiert werden, wenn sie alle
ein neues IR zur Aufnahmeknotentabelle hinzufügen sollten. Diese Synchronisierung
wird verwendet, wenn ein IR in Betrieb gesetzt wird, und wenn zwei
Netzwerkkomponenten beim Einrichten einer Funkverbindung zwischen
zwei oder mehr IRs zusammengelegt werden.
-
11 veranschaulicht
ein Verfahren zur Aufnahme eines IRs in die Aufnahmeknotentabelle. Ein
IR weist Timeslots für
quasistatische Zeitplanung nur solchen IRs zu, die in seiner Aufnahmeknotentabelle
aufgelistet sind. Alle IRs nehmen jedes neue IR zur gleichen Zeit
in die Aufnahmeknotentabelle unter Einsatz des folgenden Verfahrens
auf
- (a) Jedes IR X, welches von den anderen
IRs als Teil des Netzwerks betrachtet werden möchte, gibt eine Netzwerkzeit
Y (Block 1110) an.
- (b) Von dieser Netzwerkzeit Y wird eine Aufnahmeniederhaltezeit
(AHT) angelegt, damit garantiert ist, dass alle IRs im Netzwerk
AIR-Aktualisierungen
empfangen haben, die IR X und seine Netzwerkzeit Y (Block 1115)
auflisten.
- (c) Alle IRs, einschließlich
IR X, fügen
IR X zur Aufnahmeknotentabelle zur gleichen Startzeit hinzu, die
gleich Y + AHT ist (Block 1120).
-
Die
Dauer von AHT wird von jedem Netzwerk so eingerichtet, dass sie
ausreicht, um alle IRs im Netzwerk vom Vorhandensein des neuen IRs
zu informieren. Alle IRs in einem Netzwerk sind so konzipiert, dass
sie übereinstimmende
neueste Routinginformation mittels des AIR-Protokolls innerhalb
einer Zeitspanne erhalten, die kürzer
als eine Epoche ist.
-
Die
Länge von
AHT ist ferner so bemessen, dass ungeachtet der Netzwerkzeit, in
der ein neues IR betriebsfähig
wird, alle IRs im Netzwerk anfangen, das neue IR zur Zuweisung von
für quasistatische Zeitplanung
reservierten Timeslots zum gleichen Zeitplanstartpunkt (Slot 1)
aufzunehmen. Dies wird durch Aufnahme einer gewissen Füllzeit in
die AHT erreicht, die aus der Zeitperiode ab der Netzwerkzeit, zu
der das neue IR betriebsfähig
wird, bis zum Start der nächsten
Epoche besteht.
-
6 veranschaulicht
ein Beispiel einer Berechnung der Aufnahmeniederhaltezeit. Da alle
IRs übereinstimmende
Routinginformation innerhalb einer Epoche erhalten, reicht eine
AHT, die gleich der Füllzeit
plus eine Epoche ist, aus, um zu gewährleisten, dass alle IRs das
neue IR zur genau derselben Netzwerkzeit T_add aufnehmen.
-
Wenn
die AHT eines Eintrags in die Aufnahmeknotentabelle abgelaufen ist,
wird die Kennung des entsprechenden IRs in die Aufnahmeknotentabelle
kopiert, so dass das IR in die Zuweisung von Timeslots, die für quasistatische
Zeitplanung reserviert sind, aufgenommen werden kann.
-
Wenn
ein neues IR betriebsfähig
wird, sendet es eine AIR-Aktualisierungsnachricht,
die eine Aktualisierung enthält,
die die Netzwerkzeit angibt, zu der das IR als Knotenzustandsparameter
am Kopf der Verbindung zu jeder oder mindestens einer der Verbindungen
zu seinen Nachbarn in Betrieb tritt. Nachdem das neue IR seine Aktualisierungsnachricht
gesendet hat, startet es für
sich selbst eine AHT, was bedeutet, dass das neue IR sich nicht
selbst zur Aufnahmeknotentabelle hinzufügen kann, bis die Niederhaltezeit
abgelaufen ist.
-
Da
die AIR-Aktualisierungsnachrichten im Netzwerk verschiedene Netzwerkzeiten
angeben, wenn das IR betriebsfähig
wird, wird die Aktualisierung des Übertragungszeitplans unterbrochen.
Um dieses Problem zu vermeiden, setzt ein neues IR, das betriebsfähig wird,
ein Timeout von mindestens einer Epoche, bevor es seinen Nachbarn
mitteilen kann, dass es betriebsfähig ist. Dieses Timeout reicht aus,
um sicherzustellen, dass keine alten AIR-Aktualisierungsnachrichten
im Netzwerk ausgetauscht werden, die eine Netzwerkzeit für einen
früheren
Fall des Inbetriebsetzens des IRs angeben.
-
12 zeigt,
was passiert, wenn ein IR eine AIR-Aktualisierung empfängt. Wenn ein IR eine AIR-Aktualisierung empfängt, führt es zusätzlich zu den
Schritten, die in AIR zur Weiterleitung von Aktualisierungen und
Aktualisierungsroutinginformation durchgeführt werden, folgende Schritte
aus:
- a) es validiert die Aktualisierung anhand
des in AIR benutzten Sequenznummersystems (Block 1210).
- b) wenn die AIR-Aktualisierung gültig ist und einen Knotenzustandsparameter
enthält,
der die Netzwerkzeit angibt, zu der entweder der Kopf oder das Ende
der Verbindung (das heißt
ein AIR) betriebsfähig
wurde (Block 1220), dann:
i) wenn bereits ein Eintrag
in seiner neuen Knotentabelle für
das neue IR existiert, werden keine Aktualisierungen an der neuen
Knotentabelle vorgenommen (Block 1222):
ii) wenn kein
Eintrag in der neuen Knotentabelle für das neue IR existiert, aktualisiert
das IR seine neue Knotentablle mit dem Eintrag für den entsprechenden Kopf oder
das Ende der Verbindung; der Eintrag gibt die in der Aktualisierung
gemeldete Netzwerkzeit an (Block 1224).
- c) wenn die AIR-Aktualisierung eine Verbindung zu einem IR angibt,
das zu diesem Zeitpunkt nicht in der Topologietabelle existiert
(Block 1230), dann:
i) fügt das IR die Netzwerkzeit
hinzu, wenn das IR über
die AIR-Aktualisierung als Knotenparameter des Endes der in der
AIR-Aktualisierung angegebenen Verbindung entdeckt wurde (Block 1232).
ii)
aktualisiert das IR seine neue Knotentabelle mit einem Eintrag für ein neues
IR; der Eintrag gibt die Netzwerkzeit an, zu der das neue IR identifiziert wird
(Block 1234).
- d) wenn die AIR-Aktualisierung bewirkt, dass das IR ein IR aus
seiner Topologietabelle löscht, löscht das
IR auch einen Eintrag für
das gleiche IR aus seiner neuen Knotentabelle, falls es existiert (Block 1240).
-
IV. Benutzung von Timeslots,
die für
quasistatische Zeitplanung zugewiesen werden
-
Timeslots
werden IRs auf einer quasistatischen Basis unter Einsatz vollständiger Netzwerkmitgliedschaftinformation
zugewiesen. Das bedeutet, dass Timeslots in der Nachbarschaft eines
IRs unbenutzt bleiben, wenn die Netzwerkkonnektivität nicht sehr
hoch ist, das heißt,
wenn ein gegebenes IR nur wenige benachbarte Einsprung- und Zweisprung-IRs hat,
und es viele IRs im Netzwerk gibt.
-
Um
die Kanalnutzung zu verbessern, können in einer erfindungsgemäßen Ausführungsform
die für quasistatische
Zeitplanung zugewiesenen Timeslots dazu benutzt werden, kurze Steuerpakete
zu übertragen,
die in erster Linie der Zeitsynchronisierung im Netzwerk anstatt
der Führung
von stimmiger Übertragungszeitplanung
dienen. Wenn derartige kurze Steuerpakete wünschenswert sind, besteht die
in einem Steuerpaket übertragene
Mindestinformationsmenge in einer erfindungsgemäßen Ausführungsform im Zeitstempeln
von Daten und in Verbindungsmanagementinformation.
-
Gemäß einer
erfindungsgemäßen Ausführungsform
werden lange Steuerpakete unter IRs nur während dynamisch zugewiesener
Timeslots unter Einsatz des NETS-Protokolls (Neighborhood Established
Transmission Scheduling) ausgetauscht. Andere Protokolle können verwendet
werden.
-
Die
obige Spezifikation, die Beispiele und Daten stellen eine vollständige Beschreibung
der Herstellung und des Einsatzes einer erfindungsgemäßen Ausführungsform
dar. Es können
viele erfindungsgemäße Ausführungsformen
entwickelt werden, ohne vom Geltungsbereich der hier beigefügten Ansprüche abzuweichen.