-
VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung mit der Nummer 62/488 086 mit dem Titel „Einrichten von Routen mit symmetrischen Verbindungen für Drahtlos-Maschennetzwerke“, die am 21. April 2017 eingereicht wurde, und der vorläufigen US-Anmeldung mit der Nummer 62/501 956 mit dem Titel „Einrichten einer Route mit symmetrischen Verbindungen für Drahtlos-Maschennetzwerke“, die am 5. Mai 2017 eingereicht wurde, die hiermit in ihrer Gesamtheit durch Bezugnahme mit eingeschlossen sind.
-
HINTERGRUND
-
Ein Drahtlos-Maschennetzwerk ist eine Ansammlung von Drahtlos-Knoten, die über eine direkte Verbindung zwischen zwei Knoten und/oder über eine Route, die eine Anzahl an Relais-Knoten (Sprungeinheiten) zwischen zwei Knoten aufweist, kommunizieren können. Ein Drahtlos-Maschennetzwerk ist eine Form eines drahtlosen Ad Hoc-Netzwerks. Eine bedarfsgerechte Ad Hoc-Entfernungsvektor- (Ad Hoc On-Demand Distance Vector, AODV) Routenführung (RFC 3561) ist ein Routenführungsprotokoll für Ad Hoc-Netzwerke einschließlich von Drahtlos-Maschennetzwerken.
-
Wie in RFC 3561 beschrieben, beinhalten die Nachrichtenarten, die durch AODV definiert sind, Routenanforderungsnachrichten und Routenantwortnachrichten. Eine Routenanforderungsnachricht wird von einem Ursprungsknoten verwendet, um eine Route zu einem Zielknoten zu ermitteln. Die Routenantwortnachricht wird von dem Zielknoten an den Ursprungsknoten gesendet, um das Ermitteln der Route abzuschließen und die Route verfügbar zu machen.
-
Es gibt eine Reihe von Problemen, die von dem AODH-Protokoll, wie es aktuell in RFC 3561 definiert ist, nicht berücksichtigt werden. Zum einen werden Routen in einer asymmetrischen Weise ausgehend von dem Ursprungsknoten zu dem Zielknoten eingerichtet und unterhalten. D.h., der Ursprungsknoten kann über unidirektionale Signalverbindungen in einer Route, die eine Gruppe aus einem oder mehreren Relais-Knoten enthält, kommunizieren, und der Zielknoten kann dem Ursprungsknoten über unidirektionale Verbindungen in einer weiteren Route, die eine andere Gruppe aus Relais-Knoten enthält, antworten. Die Unterhaltung von symmetrischen Routen über bidirektionale Verbindungen wird durch AODV nicht behandelt.
-
US 2003 / 0 161 268 A1 beschreibt eine tatsächliche schichtenübergreifende Integration von Funktionen für mehrere Protokollschichten in einem Netzwerk, wodurch ein vereinheitlichter Ansatz für QoS in einem Mehrsprung-Netzwerk bereitgestellt wird.
-
PERKINS, C. et al.: RFC 3561: „Ad hoc on-demand distance vector routing“. Internet Engineering Task Force (IETF); Request For Comments, July 2003, URL: https://www.ietf.org/rfc/rfc3561.txt.pdf beschreibt ein bedarfsgerechtes zweckgebundenes Protokoll zur Abstandsvektorweiterleitung für Mobil-Knoten in einem Ad-Hoc-Netzwerk.
-
US 2006 / 0 293 061 A1 beschreibt eine Funkkommunikationseinrichtung mit einer Empfangseinrichtung zum Empfang einer Routenanforderungsnachricht aus einer weiteren Funkkommunikationseinrichtung. Ferner sind eine Routensteuerungsnachrichten-Verarbeitungseinheit, eine Routenanforderungsnachrichten-Verwaltungseinheit und eine Verzögerungsverarbeitungseinheit vorgesehen.
-
JP 2007 - 129 542 A beschreibt ein System, eine Vorrichtung und ein Verfahren zur Ermittlung einer geeigneten Route zwischen einem Ausgangsknoten und einem Zielknoten in einem Funkkommunikationsnetzwerk, wobei die Verbindungsqualität entsprechender Routen berücksichtigt wird.
-
US 2006 / 0 114 850 A1 zeigt ein System und ein Verfahren zur Erstellung eines zweckgebundenen Kommunikationsnetzwerks, um die Kommunikation mobiler Knoten in dem Netzwerk effizient und ohne großen Aufwand aufrecht zu erhalten. Dazu ist u.a. ein Abstandsvektorweiterleitungsalgorithmus in Verbindung mit Unicast-Nachrichten vorgesehen.
-
US 2008 / 0 010 385 A1 beschreibt ein Verfahren zur Routenbestimmung unter Berücksichtigung der Leistung und der Übertragungsverzögerung für ein zweckgebundenes Drahtlos-Netzwerk, sodass der Leistungsverbrauch und die Paketverzögerung reduziert werden.
-
US 2008 / 0 085 702 A1 zeigt ein Verfahren zur Ermittlung der Routenführung in einem zweckgebundenen Funknetz mit Mehrfach-Frequenzsprung, wobei eine Routenanforderungsnachricht empfangen, erneut auf Grundlage der Frequenzsprungzahl und Signalstärke ausgegeben und gespeichert wird.
-
US 2010 / 0 195 535 A1 beschreibt Verfahren, Netzwerke und Netzwerkknoten, wobei eine Route in einem Paket basierten Netzwerk über mehrere Knoten auf Grundlage einer Abstandskorrelation erstellt wird, in der eine bereits erstellte Route als Referenz dient.
-
Asymmetrische Routen bzw. Kommunikationskanäle können das Leistungsverhalten oder die Qualität des Drahtlos-Maschennetzwerks beeinflussen. Beispielsweise soll gemäß RFC 3561 ein Knoten eine Routenanforderungsnachricht ignorieren, die über eine Verbindung empfangen wird, die unidirektional ist. Dies hat zwei nachteilige Wirkungen: erstens, es ist erforderlich, regelmäßig die Verbindungen zu überprüfen, um zu ermitteln, ob eine Verbindung unidirektional ist; und zweitens, da Routenanforderungen über unidirektionale Verbindungen zu ignorieren sind, gibt es nur eine geringe Flexibilität, wenn Routen zwischen dem Ursprungsknoten und dem Zielknoten ausgewählt werden. Wenn es ferner erforderlich ist, eine asymmetrische Route aufrecht zu erhalten, ist es auch erforderlich, jede Verbindung individuell zu überprüfen, um zu ermitteln, ob sie weiterhin verfügbar ist. Asymmetrische Routen führen auch zu einer Zunahme der Größe von (der Anzahl an Einträgen in) Routentabellen, da sie für jede unidirektionale Verbindung einen Eintrag erfordern.
-
ÜBERBLICK
-
Erfindungsgemäß werden die zuvor beschriebenen Probleme gelöst durch ein Verfahren mit den Merkmalen des Anspruchs 1 sowie durch ein Verfahren mit den Merkmalen des Anspruchs 7. Ferner wird die Problematik gelöst durch ein Verfahren mit den Merkmalen des Anspruchs 13.
-
Weitere vorteilhafte Ausführungsformen gehen aus den abhängigen Ansprüchen hervor.
-
Beispielsweise sendet ein routenerzeugender Knoten als Rundruf eine Routenanforderungsnachricht zu einer Anzahl an Relais-Knoten über entsprechende Verbindungen in einem Drahtlos-Maschennetzwerk. In einer Ausführungsform beinhaltet die Routenanforderungsnachricht einen Sendeleistungspegel bzw. einen Pegel gesendeter Leistung. Jeder Relais-Knoten ermittelt, ob seine entsprechend Verbindung zu dem routenerzeugenden Knoten bidirektional ist. Wenn eine Verbindung eines Relais-Knotens zu dem routenerzeugenden Knoten bidirektional ist, dann leitet der Relais-Knoten die Routenanforderungsnachricht zu einem weiteren Knoten in dem Drahtlos-Maschennetzwerk weiter. Dieser Vorgang wird an jedem Knoten, der die Routenanforderungsnachricht erhält, wiederholt, bis die Routenanforderungsnachricht den Routenzielknoten erreicht.
-
Beispielsweise enthält die Routenanforderungsnachricht einen Sendeleistungspegel, der verwendet werden kann, um zu ermitteln, ob eine Verbindung bidirektional ist. In einer derartigen Vorgehensweise vergleicht ein Relais-Knoten, der die Routenanforderungsnachricht empfängt, den Sendeleistungspegel in dieser Nachricht mit der Empfangssignalstärke bzw. der empfangenen Signalstärke für die Nachricht, um den Betrag an Leistungsverlust auf der Verbindung zwischen dem Relais-Knoten und dem routenerzeugenden Knoten zu ermitteln. Der Relais-Knoten vergleicht dann seinen Sendeleistungspegel mit dem Betrag an Leistungsverlust auf der Verbindung. Wenn der Sendeleistungspegel des Relais-Knotens größer ist als der Betrag an Leistungsverlust auf der Verbindung, dann ist die Verbindung bidirektional. Stattdessen oder zusätzlich kann der Relais-Knoten eine Testnachricht über die Verbindung zu dem routenerzeugenden Knoten senden; wenn eine Antwort auf die Testnachricht empfangen wird, dann ist die Verbindung bidirektional.
-
Der Routenzielknoten kann die Routenanforderungsnachricht über eine Reihe von Verbindungen aus einer Anzahl von Relais-Knoten empfangen. Beispielsweise wählt der Routenzielknoten nach dem Erkennen von bidirektionalen Verbindungen die bidirektionale Verbindung mit dem kleinsten Betrag an Leistungsverlust und der kleinsten Anzahl an Sprüngen bzw. Verbindungspunkten zurück zu dem routenerzeugenden Knoten aus. Der Routenzielknoten sendet eine Unicast-Routenantwortnachricht über die ausgewählte Verbindung zu einem Relais-Knoten. Der Relais-Knoten leitet die Routenantwortnachricht zu einem weiteren Relais-Knoten weiter, bis die Routenantwortnachricht einen routenerzeugenden Knoten erreicht. Zum Zwecke der Robustheit sendet beispielsweise jeder Relais-Knoten eine Bestätigungsnachricht an den Relais-Knoten, von welchem die Routenantwort erhalten wurde.
-
Die Routenanforderungsnachricht wurde von dem routenerzeugenden Knoten zu dem Routenzielknoten nur über bidirektionale Verbindungen weitergeleitet, und die Route der Routenantwortnachricht von dem Routenzielknoten zu dem routenerzeugenden Knoten erfolgt über diese gleichen Verbindungen. Auf diese Weise kann somit eine symmetrische (bidirektionale) Route zwischen dem routenerzeugenden Knoten und dem Routenzielknoten eingerichtet werden.
-
Wenn der routenerzeugende Knoten die Routenantwortnachricht empfängt, die von dem Routenzielknoten weitergeleitet wurde, antwortet er, indem eine Unicast-Routenbestätigungsnachricht über die symmetrische Route zurück zu dem Routenzielknoten gesendet wird, so dass jeder Knoten auf der Route über das Einrichten bzw. die Erstellung der symmetrischen Route benachrichtigt wird.
-
Daher ist es erfindungsgemäß nicht erforderlich, regelmäßig die Verbindungen zu prüfen, um zu ermitteln, ob eine Verbindung bidirektional ist. Ferner gibt es einen höheren Grad an Flexibilität, wenn Routen zwischen dem erzeugenden (Ursprungs-) und dem Zielknoten ausgewählt werden. Ferner kann der Aufwand zum Unterhalten der Routen um die Hälfte reduziert werden, wenn beispielsweise zwei unidirektionale Verbindungen in einer asymmetrischen Route durch eine bidirektionale Verbindung in einer symmetrischen Route ersetzt werden. Dies verringert wiederum die zugehörige Anzahl an Einträgen in Routentabellen um die Hälfte. Da der Routenzielknoten eine mögliche Route auf der Grundlage des Betrags an Leistungsverlust und auch (in einer Ausführungsform) auf der Grundlage der Anzahl an Sprüngen bzw. Verbindungspunkten auswählt, hat die eingerichtete bidirektionale Route den kleinsten Betrag an Leistungsverlust und die kleinste Anzahl an Sprüngen der möglichen Routen, die verfügbar sind.
-
Erfindungsgemäß wird somit die Computertechnik (beispielsweise durch Verbesserung der Effizienz und des Leistungsvermögens von Drahtlos-Kommunikationseinrichtungen) und computergestützte Techniken (beispielsweise die Verbesserung der Qualität und des Leistungsvermögens von Drahtlos-Maschennetzwerken) verbessert.
-
Diese und andere Vorteile der vorliegenden Erfindung ergeben sich für den Fachmann auf diesem Gebiet nach dem Studium der folgenden detaillierten Beschreibung der Ausführungsformen, die in den diversen Zeichnungsfiguren dargestellt sind.
-
Figurenliste
-
Die begleitenden Zeichnungen, die hierin enthalten sind und einen Teil dieser Anmeldung bilden und in denen gleiche Bezugszeichen gleiche Elemente darstellen, zeigen Ausführungsformen gemäß der vorliegenden Erfindung und dienen zusammen mit der detaillierten Beschreibung dazu, die Prinzipien der Erfindung zu erläutern.
- 1 ist eine Blockansicht eines Beispiels eines Rechensystems oder einer Recheneinrichtung, die in der Lage ist, Ausführungsformen gemäß der vorliegenden Erfindung zu implementieren.
- 2 zeigt ein Beispiel eines Drahtlos-Maschennetzwerks in Ausführungsformen gemäß der vorliegenden Erfindung.
- 3A, 3B, 3C, 3D, 3E, 3F, 3G, 3H und 31 (3A-3I) zeigen ein Beispiel des Einrichtens einer symmetrischen Route unter Verwendung bidirektionale Verbindungen zwischen den Knoten in dem Drahtlos-Maschennetzwerk in Ausführungsformen gemäß der vorliegenden Erfindung.
- 4, 5 und 6 sind Flussdiagramme von Beispielen für Aktionen in computerimplementierten Verfahren zur Einrichtung symmetrischer Routen unter Anwendung bidirektionale Verbindungen in Ausführungsformen gemäß der vorliegenden Erfindung.
-
DETAILLIERTE BESCHREIBUNG
-
Es sei nun im Detail auf diverse Ausführungsformen gemäß der vorliegenden Erfindung verwiesen, wovon Beispiele in den begleitenden Zeichnungen dargestellt sind. Obwohl die Beschreibung in Verbindung mit diesen Ausführungsformen angegeben wird, ist zu beachten, dass sie nicht die Erfindung auf diese Ausführungsformen beschränken soll. Vielmehr soll die Offenbarung Alternativen, Modifizierungen und Äquivalente abdecken, die im Grundgedanken und im Bereich der Offenbarung, wie sie durch die angefügten Patentansprüche definiert ist, enthalten sind.
-
Ferner sind in der folgenden detaillierten Beschreibung der vorliegenden Erfindung zahlreiche spezielle Details angegeben, um ein gründlicheres Verständnis der vorliegenden Erfindung zu ermöglichen. Jedoch ist zu beachten, dass die vorliegende Erfindung auch ohne diese speziellen Details praktiziert werden kann. In anderen Fällen sind gut bekannte Verfahren, Prozeduren, Komponenten und Schaltungen nicht detailliert beschrieben, um nicht in unnötiger Weise Aspekte der vorliegenden Erfindung zu verschleiern.
-
Einige Bereiche der folgenden detaillierten Beschreibungen werden als Prozeduren, Logikblöcke, Verarbeitungsabläufe und andere symbolische Darstellungen von Operationen an Datenbits innerhalb eines Computerspeichers präsentiert. Diese Beschreibungen und Darstellungen sind die Mittel, die vom Fachmann auf dem Gebiet der Datenverarbeitung verwendet werden, um in höchst effizienter Weise den Gegenstand seiner Arbeit anderen Fachleuten zu vermitteln. In der vorliegenden Anmeldung wird eine Prozedur, ein Logikblock, ein Prozess oder dergleichen als eine selbstkonsistente Sequenz aus Schritten oder Befehlen verstanden, die zu einem gewünschten Ergebnis führt. Die Schritte sind derart, dass sie physikalische Bearbeitungen physikalischer Größen nutzen. Für gewöhnlich, ohne dass dies erforderlich ist, nehmen diese Größen die Form elektrischer oder magnetischer Signale an, die gespeichert, übertragen, kombiniert, verglichen oder anderweitig in einem Rechensystem verarbeitet werden können. Es hat sich gelegentlich als zweckmäßig erwiesen, im Wesentlichen aus Gründen der üblichen Verwendung, diese Signale als Transaktionen, Bits, Werte, Elemente, Symbole, Zeichen, Abtastwerte, Pixel oder dergleichen zu bezeichnen.
-
Es sollte jedoch bedacht werden, dass alle diese und ähnliche Begriffe mit den geeigneten physikalischen Größen in Beziehung zu setzen sind und lediglich zweckmäßige Platzhalter sind, die diesen Größen zugewiesen werden. Sofern sich dies nicht anderweitig in spezieller Weise aus den folgenden Erläuterungen ergibt, ist zu beachten, dass in der vorliegenden Offenbarung durchgängig Erläuterungen unter Verwendung von Begriffen, etwa „empfangen“, „senden“, „übertragen“, „ermitteln bzw. bestimmen“, „angegeben bzw. kennzeichnen“, „identifizieren bzw. erkennen“, „weiterleiten“, „vergleichen“, „enthalten“, „auswählen“, oder dergleichen, Aktionen und Prozesse (beispielsweise die Flussdiagramme 400, 500, 600 der 4, 5 und 6) eines Rechensystems oder einer ähnlichen elektronischen Recheneinrichtung oder eines Prozessors (beispielsweise das System 100 der 1) bezeichnen. Das Rechensystem oder die ähnliche elektronische Recheneinrichtung verarbeitet und wandelt Daten um, die als physikalische (elektronische) Größen in den Speichern des Rechensystems, den Registern oder anderen derartigen Informationsspeichern, Übertragungs- oder Anzeigeeinrichtung präsentiert sind.
-
Hierin beschriebene Ausführungsformen können im Allgemeinen Zusammenhang von computerausführbaren Befehlen erläutert werden, die in einer gewissen Form eines computerlesbaren Speichermediums enthalten sind, etwa als Programmmodule, die von einem oder mehreren Computern oder anderen Einrichtungen ausgeführt werden. Beispielsweise und ohne Beschränkung können computerlesbare Speichermedien nicht-flüchtige computerlesbare Speichermedien und Kommunikationsmedien umfassen; nicht-flüchtige computerlesbare Medien umfassen alle computerlesbaren Medien mit Ausnahme von flüchtigen, sich ausbreitenden Signalen. Im Allgemeinen schließen Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen, und dergleichen mit ein, die spezielle Aufgaben ausführen oder spezielle abstrakte Datentypen implementieren. Die Funktion der Programmmodule kann nach Bedarf in diversen Ausführungsformen kombiniert oder verteilt werden.
-
Computerspeichermedien umfassen flüchtige und nicht-flüchtige, entnehmbare und nicht-entnehmbare Medien, die in beliebiger Weise oder mittels beliebiger Technik zur Speicherung von Information, etwa als computerlesbare Befehle, Datenstrukturen, Programmmodule oder andere Daten, implementiert sind. Zu Computerspeichermedien gehören, ohne Beschränkung, Speicher mit wahlfreiem Zugriff (RAM), Nur-Lese-Speicher (ROM), elektrisch löschbare programmierbare ROM (EEPROM), Flash-Speicher oder andere Speichertechniken, Kompaktdisketten-ROM (CD-ROM), digitale Vielseitigkeitsdisketten (DVDs) oder andere optische Speicher, magnetische Kassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichereinrichtungen, oder andere Medien, die verwendbar sind, um die gewünschte Information zu speichern, wobei auf die Medien zugegriffen werden kann, um diese Information abzurufen.
-
Kommunikationsmedien können computerausführbare Befehle, Datenstrukturen und Programmmodule verkörpern und umfassen beliebige Informationsbereitstellungsmedien. Beispielsweise und ohne Beschränkung umfassen Kommunikationsmedien verdrahtete Medien, etwa ein verdrahtetes Netzwerk oder eine direkt verdrahtete Verbindung, und drahtlose Medien, etwa drahtlose Medien mittels Schall, Hochfrequenz (RF), Infrarot, und auch andere drahtlose Medien. Auch Kombinationen der zuvor genannten Komponenten können im Bereich der computerlesbare Medien mit eingeschlossen sein.
-
1 ist eine Blockansicht eines Beispiels eines Rechensystems oder einer Recheneinrichtung 100, die geeignet ist, darin Ausführungsformen gemäß der vorliegenden Erfindung zu implementieren. Das Rechensystem 100 repräsentiert in breiter Weise eine beliebige Recheneinrichtung mit einem einzigen Prozessor oder mit mehreren Prozessoren oder repräsentiert ein System, das in der Lage ist, computerlesbare Befehle auszuführen. Abhängig von der Implementierung weist das Rechensystem 100 gegebenenfalls nicht jedes der in 1 gezeigten Elemente auf, und/oder es kann zusätzlich zu den in 1 gezeigten Elementen weitere Elemente aufweisen.
-
Das Rechensystem 100 kann eine Einrichtung sein in Form etwa, ohne darauf einschränken zu wollen, eines: intelligenten Telefon; eines Tischrechners, eines tragbaren Rechners, eines Tablett-Rechners oder eines Hand-Rechners; einer Spieleeinrichtung; eines Druckers; einer Anzeigeeinrichtung einschließlich eines Fernsehgeräts; einer intelligenten Einrichtung mit Internet der Dinge (loT), etwa in Form, ohne darauf einschränken zu wollen, eines intelligenten Lautsprechers, eines intelligenten Steckkontakts oder eines intelligenten Leuchtmittels; oder dergleichen. In einer Ausführungsform ist das Rechensystem 100 ein Gerät mit Bluetooth-Fähigkeit und kann eine beliebige Art eines derartigen Geräts sein. Das Rechensystem 100 ist ein Beispiel eines Knotens in einem Drahtlos-Maschennetzwerk (das nachfolgend beschrieben ist).
-
In seiner grundlegendsten Konfiguration kann das Rechensystem 100 mindestens einen Prozessor 102 (CPU) und mindestens einen Speicher 104 aufweisen. Die CPU 102 repräsentiert im Allgemeinen eine beliebige Art oder Form einer Verarbeitungseinheit, die in der Lage ist, Daten zu verarbeiten oder zu interpretieren und Befehle auszuführen. In gewissen Ausführungsformen kann die CPU 102 Befehle aus einer Softwareanwendung oder einem Modul empfangen. Diese Befehle können bewirken, dass der Prozessor 102 die Funktionen einer oder mehrerer der anschaulichen hierin beschriebenen und/oder hierin dargestellten Ausführungsformen ausführt. Die CPU 102 kann einen Kommunikationsprozessor umfassen.
-
Der Speicher 104 repräsentiert in allgemeiner Form eine beliebige Art oder Form eines flüchtigen oder nicht-flüchtigen Speichers oder eines Mediums, der bzw. das in der Lage ist, Daten und/oder andere computerlesbare Befehle zu speichern. In gewissen Ausführungsformen kann das Rechensystem 100 sowohl eine flüchtige Speichereinrichtung (beispielsweise den Speicher 104) als auch eine nicht-flüchtige Speichereinrichtung (nicht gezeigt) aufweisen.
-
Das Rechensystem 100 kann ferner eine Anzeigeeinrichtung 106 aufweisen, die zum Anzeigen von Inhalten ausgebildet ist. Die Anzeigeeinrichtung 106 kann ferner ausgebildet sein, eine grafische Benutzerschnittstelle bzw. grafische Benutzeroberfläche (GUI) anzuzeigen, die eine einfach benutzbare Schnittstelle zwischen einem Benutzer und dem Rechensystem 100 bereitstellt.
-
Das Rechensystem 100 kann ferner eine Eingabeeinrichtung 108 aufweisen. Die Eingabeeinrichtung 108 kann eine berührungsempfindliche Einrichtung (einen berührungsempfindlichen Bildschirm) aufweisen, die ausgebildet ist, eine Eingabe durch Berührung eines Benutzers zu empfangen und diese Information an die CPU 102 zu senden. Die Eingabeeinrichtung 108 kann in der Anzeigeeinrichtung 106 integriert sein, oder sie können separate Komponenten sein. In der dargestellten Ausführungsform ist die Eingabeeinrichtung 108 ein berührungsempfindlicher Bildschirm, der über oder vor der Anzeigeeinrichtung 106 angeordnet ist.
-
Die Kommunikationsschnittstelle 122 repräsentiert in breiter Weise eine beliebige Art oder Form einer Kommunikationseinrichtung oder eines Adapters, die bzw. der in der Lage ist, eine drahtlose oder verdrahtete Kommunikation und einen Datenaustausch zwischen dem anschaulichen Rechensystem 100 und einer oder mehreren anderen Einrichtungen zu ermöglichen. Das Rechensystem 100 kann ferner ein Konnektivitätssystem 124 mit einem Sender/Empfänger (oder einem Sender und einem Empfänger) und eine Antenne für eine drahtlose Kommunikation mit einer oder mehreren anderen Einrichtungen aufweisen.
-
Wie in 1 dargestellt, kann das Rechensystem 100 ferner mindestens eine Eingabe/Ausgabe-(I/O-) Einrichtung 110 aufweisen. Zu Beispielen einer I/O-Einrichtung 110 gehören, ohne Beschränkung, eine Tastatur, eine Zeiger- oder Cursor-Steuereinrichtung (beispielsweise eine Maus), eine Spracherkennungseinrichtung oder eine andere Eingabeeinrichtung.
-
Das Rechensystem 100 kann ferner ein Audio-Subsystem 114 mit einem Lautsprecher und einem Mikrofon umfassen. Das Rechensystem 100 kann ferner ein Kamera-Subsystem 115 aufweisen.
-
Es können viele andere Einrichtungen oder Subsysteme mit dem Rechensystem 100 verbunden sein. Andererseits sind gegebenenfalls alle Komponenten und Einrichtungen, die in 1 dargestellt sind, nicht vorhanden, um die hierin beschriebenen Ausführungsformen in die Praxis umzusetzen. Die Einrichtungen und Subsysteme, die zuvor genannt sind, können auch auf andere Weisen, als sie in 1 dargestellt sind, angeschlossen sein. Das Rechensystem 100 kann ferner eine beliebige Anzahl an Software-, Firmware- und/oder Hardware-Konfigurationen verwenden.
-
Es kann ein computerlesbares Medium, das ein Computerprogramm enthält, in das Rechensystem 100 eingeladen werden. Das gesamte Computerprogramm oder ein Teil davon, das bzw. der in dem computerlesbare Medien gespeichert ist, kann dann in dem Speicher 104 gespeichert werden. Bei Ausführung durch die CPU 102 kann ein in das Rechensystem 100 eingeladenes Computerprogramm bewirken, dass die CPU 102 die Funktionen der hierin beschriebenen und/oder hierin dargestellten anschaulichen Ausführungsformen ausführt und/oder zu einer Einrichtung wird, um diese Funktionen auszuführen. Zusätzlich oder alternativ können die hierin beschriebenen und/oder hierin dargestellten anschaulichen Ausführungsformen in Firmware und/oder Hardware implementiert werden.
-
EINRICHTUNG EINER SYMMETRISCHEN ROUTE MIT BIDIREKTIONALEN VERBINDUNGEN FÜR DRAHTLOS-MASCHENNETZWERKE
-
2 zeigt ein Beispiel eines Drahtlos-Maschennetzwerks 200 in Ausführungsformen gemäß der vorliegenden Erfindung. In dem Beispiel der 2 umfasst das Drahtlos-Maschennetzwerk 200 Knoten A, B, C, D, E und F (Knoten A-F). Jeder der Knoten A-F kann unter Anwendung eines Systems oder einer Einrichtung, etwa, ohne Beschränkung, das Rechensystem 100 aus 1, eingerichtet werden. Jeder der Knoten A-F kann entsprechend seiner Rolle oder Funktion in dem Drahtlos-Maschennetzwerk 200 konfiguriert sein. D.h., die Knoten A-F sind nicht notwendigerweise die gleiche Art von Geräten. Obwohl eine gewisse Anzahl an Knoten dargestellt ist, ist die vorliegende Erfindung nicht darauf beschränkt.
-
In einer Ausführungsform ist das Drahtlos-Maschennetzwerk 200 ein Netzwerk mit Bluetooth-Fähigkeit, das mittels des bedarfsgerechten Ad Hoc-Abstandsvektor- (AODV) Routenführungsprotokoll (RFC 3561) eingerichtet ist. In dem Beispiel der 2 sind die Knoten A und F Randknoten, und die Knoten B, C, D und E (B-E) sind Relais-Knoten. In dem folgenden Beispiel ist der Knoten A als eine symmetrische Route zu dem Knoten F eingerichtet, wobei die symmetrische Route lediglich bidirektionale Verbindungen zwischen Knoten beinhaltet. In der folgenden Erläuterung wird der Knoten A als ein routenerzeugender bzw. routeninitiierender Knoten und der Knoten F als ein Routenzielknoten bezeichnet.
-
Eine bidirektionale Verbindung wird hierin verwendet, um anzuzeigen, dass beispielsweise der Knoten A erfolgreich eine Nachricht an den Knoten B senden kann, und der Knoten B ebenfalls erfolgreich eine Nachricht an den Knoten A senden kann. D.h., eine bidirektionale Verbindung ist eine Verbindung, in der: i) der Sendeleistungspegel des Knotens A ausreichend hoch ist, sodass selbst bei Berücksichtigung von Leistungsverlusten auf der Verbindung von dem Knoten A zu dem Knoten B die Empfangssignalstärke einer Nachricht, die von dem Knoten B aus dem Knoten A empfangen wird, größer ist als die minimale Empfindlichkeit des Knotens B; und ii) der Sendeleistungspegel des Knotens B ausreichend hoch ist, sodass selbst bei Berücksichtigung von Leistungsverlusten auf der Verbindung von dem Knoten B zu dem Knoten A die Empfangssignalstärke einer Nachricht, die durch den Knoten A aus dem Knoten B empfangen wird, größer ist als die minimale Empfindlichkeit des Knotens A. Die minimale Empfindlichkeit eines Knotens bezeichnet die minimale Empfangssignalstärke, die erforderlich ist, um ein gewünschtes Signal-zu-Rauschen-Verhältnis zu erreichen, oder den minimalen Leistungspegel, den ein empfangender Knoten erfassen kann. Die minimale Empfindlichkeit, der Leistungsverlust und der Sendeleistungspegel können in Einheiten von Dezibel-Milliwatt (dBm) gemessen werden.
-
3A bis 31 zeigen ein Beispiel einer Einrichtung einer symmetrischen Route unter Anwendung bidirektionaler Verbindungen zwischen den Knoten in dem Drahtlos-Maschennetzwerk 200 in Ausführungsformen gemäß der vorliegenden Erfindung. Das Beispiel, das nachfolgend beschrieben wird, kann in einfacher Weise auf unterschiedliche Anordnungen und unterschiedliche Anzahlen von Knoten erweitert werden.
-
Zunächst mit Verweis auf
3A sendet zum Beginnen des Einrichtens einer symmetrischen Route zu dem Routenzielknoten F der routenerzeugende Knoten A (als Rundruf) eine Routenanforderungsnachricht (RREQ) zu jedem der nächsten unmittelbaren Relais-Sprungpunkten bzw. Verbindungspunkten. D.h., die Routenanforderungsnachricht wird von dem routenerzeugenden Knoten A an die Relais-Knoten, die innerhalb des direkten Sendebereichs liegen, als Rundruf gesendet; diese Knoten sind als Nachbarknoten bekannt. In diesem Beispiel wird die Routenanforderungsnachricht von dem routenerzeugenden Knoten A an die Relais-Knoten B, C und D als Rundruf gesendet. In einer Ausführungsform beinhaltet die Routenanforderungsnachricht die in der Tabelle 1 aufgelisteten Parameter. Tabelle 1 - Beispielparameter in einer Routenanforderungsnachricht
Gebiet | Anmerkungen |
OPT | Optionen |
PD | Routenziegel |
PO | Routenerzeuger |
(D)OFN | (Delegat) Erzeuger der weitergeleiteten Nummer |
(D)OPM | (Delegat) Erzeuger des Kanalmaßes |
PTX | Sendeleistungspegel |
DPO (optional) | Delegat-Routenerzeuger |
OAR (optional) | Adressenbereich des Erzeugers |
-
Die Routenanforderungsnachricht kann andere Parameter enthalten als diejenigen, die in Tabelle 1 gezeigt sind. Beispielsweise enthält in einer Ausführungsform die Routenanforderungsnachricht eine Sprunganzahl, die jedes Mal erhöht wird, wenn die Routenanforderungsnachricht von einem Knoten zu einem weiteren Knoten weitergeleitet wird.
-
Wichtig ist, wie in Tabelle 1 gezeigt ist, dass die Routenanforderungsnachricht den Sendeleistungspegel enthält: d.h., der Leistungspegel, bei welchem ein Knoten (beispielsweise der routenerzeugende Knoten A) die Routenanforderungsnachricht sendete. Folglich kann durch Ausnutzung der Reziprozität der drahtlosen Verbindungen L1, L2 und L3 zwischen dem Knoten A und den Knoten B, C und D der Betrag an Leistungsverlust auf jeder Verbindung bei jedem dieser Relais-Knoten auf der Grundlage eines Maßes der Empfangssignalstärke (RSS) der Routenanforderungsnachricht, die er empfängt, ermittelt werden. D.h., der Betrag an Leistungsverlust auf der Verbindung L1 zwischen dem Knoten A und dem Knoten B beträgt PTX(A) minus RSS(B), wobei PTX(A) der Sendeleistungspegel bzw. der Pegel der gesendeten Leistung, der von dem routenerzeugenden Knoten A in die Routenanforderungsnachricht eingefügt wird, und RSS(B) das Maß der empfangenen Signalstärke der Routenanforderungsnachricht ist, die von dem Knoten B empfangen wird. Die Knoten C und D ermitteln den Betrag an Leistungsverlust auf den Verbindungen L2 und L3 entsprechend in ähnlicher Weise.
-
Ebenfalls ist wichtig, dass jeder der Relais-Knoten B, C und D lediglich die Routenanforderungsnachricht zu einem weiteren Knoten (nächsten Nachbarknoten oder Sprung) weiterleitet, wenn die Verbindung zwischen dem Relais-Knoten und dem routenerzeugenden Knoten A bidirektional ist. Beispielsweise wird der Knoten B die Routenanforderungsnachricht aus dem routenerzeugenden Knoten A nur dann weiterleiten, wenn die Verbindung L1 bidirektional ist. Im Allgemeinen wird ein empfangender Knoten eine Routenanforderungsnachricht aus einem sendenden Knoten nur weiterleiten, wenn die Verbindung zwischen dem empfangenden und dem sendenden Knoten bidirektional ist.
-
Zur Ermittlung, ob eine Verbindung bidirektional ist, vergleicht in Ausführungsformen der empfangende Knoten (beispielsweise Relais-Knoten) seinen Sendeleistungspegel (der Leistungspegel, bei welchem er eine Nachricht senden kann) mit dem Betrag an Leistungsverlust auf der Verbindung. Beispielsweise vergleicht der Knoten B seinen Sendeleistungspegel mit dem Betrag an Leistungsverlust auf der Verbindung L1 zwischen dem routenerzeugenden Knoten A und dem Relais-Knoten B; wenn der Sendeleistungspegel des Knotens B größer ist als der Betrag an Leistungsverlust auf dieser Verbindung, dann ist die Verbindung bidirektional.
-
In einer Ausführungsform kann anstelle des Vergleichens des Sendeleistungspegels mit dem Betrag an Leistungsverlust auf einer Verbindung, wie dies zuvor beschrieben ist, ein empfangender Knoten eine Testnachricht zu dem sendenden Knoten in Reaktion auf die Routenanforderungsnachricht senden; wenn eine Antwort auf die Testnachricht empfangen wird, dann ist die Verbindung zwischen dem empfangenden und dem sendenden Knoten eine bidirektionale Verbindung. Beispielsweise kann der Knoten B eine Testnachricht zu dem routenerzeugenden Knoten A senden, wenn eine Routenanforderungsnachricht aus dem Knoten A empfangen wird, und wenn der Knoten B eine Antwort auf die Testnachricht von dem Knoten A empfängt, dann ist die Verbindung L1 bidirektional.
-
In einer weiteren Ausführungsform kann ein Knoten die beiden vorhergehenden Vorgehensweisen nutzen, um zu ermitteln, ob eine Verbindung bidirektional ist. Beispielsweise kann ein Knoten seinen Sendeleistungspegel mit dem Betrag an Leistungsverlust auf einer Verbindung vergleichen, wie dies zuvor beschrieben ist, und er kann dann eine Testnachricht in der zuvor beschriebenen Weise senden, wenn der Toleranzbereich dazwischen klein ist (beispielsweise kleiner als ein spezifizierter Schwellenwert).
-
Es sei nun auf 3B verwiesen; in diesem Beispiel hat jeder der Relais-Knoten B, C und D ermittelt, dass seine entsprechende Verbindung zu dem routenerzeugenden Knoten A bidirektional ist, und somit sendet jeder dieser Knoten (leitet weiter) die Routenanforderung zu den nächsten Nachbarknoten in dem Drahtlos-Maschennetzwerk 200. Wenn die Verbindung zwischen einem Relais-Knoten und dem routenerzeugenden Knoten A nicht bidirektional war, dann leitet, wie zuvor angemerkt ist, der Knoten die Routenanforderungsnachricht nicht weiter.
-
Daher senden die Knoten B und C die Routenanforderungsnachricht an die Knoten F (der Routenzielknoten) entsprechend über die Verbindungen L4 und L5, und der Knoten D sendet die Routenanforderungsnachricht über die Verbindung L6 zu dem Knoten E. Daher kann der nächste Nachbarknoten ein Randknoten sein oder er kann ein weiterer Relais-Knoten sein.
-
Der Sendeleistungspegel für jeden der Knoten B, C und D wird in die entsprechende Routenanforderungsnachricht, die von dem Knoten gesendet wird, eingefügt, sodass jeder der nächsten Nachbarknoten (Knoten E und F) ermitteln kann, welche der Verbindungen L4, L5 und L6 zu den Knoten B, C und D entsprechend bidirektional sind, wobei die Vorgehensweise oder die Vorgehensweisen, die zuvor beschrieben sind, verwendet werden. In einer Ausführungsform erhöht jeder der Knoten B, C und D eine Sprunganzahl in der Routenanforderungsnachricht, die von den Knoten gesendet wird. Genauer gesagt, senden somit die Knoten B, C und D jeweils eine entsprechende Weiterleitungsversion der Routenanforderungsnachricht, die ursprünglich von dem routenerzeugenden Knoten A gesendet wurde. D.h., im Vergleich zu der von dem routenerzeugenden Knoten A gesendeten Routenanforderungsnachricht enthalten die von den Knoten B, C und D gesendeten Routenanforderungsnachrichten die jeweiligen Sendeleistungspegel, die von diesen Knoten verwendet werden, und sie können auch eine erhöhte Sprunganzahl enthalten.
-
Es sei auf 3C verwiesen; in diesem Beispiel hat der Knoten E ermittelt, dass die Verbindung L6 ausgehend vom dem Knoten B bidirektional ist, und somit sendet der Knoten E die Routenanforderungsnachricht zu dem Knoten F über die Verbindung L7. Wie zuvor erwähnt ist, fügt der Knoten E seinen Sendeleistungspegel in die Routenanforderungsnachricht ein, die er sendet, und er kann ebenfalls eine Sprunganzahl in dieser Routenanforderungsnachricht erhöhen, sodass der Knoten E in präziserer Form eine Weiterleitungsversion der Routenanforderungsnachricht sendet, die von dem Knoten D gesendet wurde.
-
Da der Knoten F (der Routenzielknoten) ein Randknoten ist, leitet er die Routenanforderungsnachricht, die aus den Knoten B, C und E empfangen werden, nicht weiter.
-
Gemäß 3D beginnt der Routenzielknoten F mit dem Vorgang der Beantwortung der Routenanforderungsnachrichten, die von dem routenerzeugenden Knoten A initiiert und von den Knoten B, C und E empfangen wurden. Insbesondere kann durch Vergleich der Sendeleistungspegel in den Routenanforderungsnachrichten, die aus den Knoten B, C und E empfangen wurden, mit den Empfangssignalstärken für diese Nachrichten der Routenzielknoten F den Betrag an Leistungsverlust auf jeder der Verbindungen L4, L5 und L7 ermitteln und kann ferner ermitteln, welche dieser Verbindungen bidirektional sind, wobei dies auf der Grundlage eines Vergleichs mit dem Sendeleistungspegel des Knotens F erfolgt, wie zuvor beschrieben ist. Ferner enthalten in einer Ausführungsform die Routenanforderungsnachrichten aus den Knoten B, C und E eine entsprechende Sprunganzahl, und somit hat der Routenzielknoten F die Sprunganzahl für jede der Verbindungen (die Anzahl an Sprüngen zwischen dem Knoten F und dem routenerzeugenden Knoten A).
-
In diesem Beispiel ist jede der Verbindungen L4, L5 und L7 bidirektional, und daher wählt der Routenzielknoten F eine dieser Verbindungen aus, um eine bidirektionale Route mit dem routenerzeugenden Knoten A einzurichten. Wenn eine Verbindung unidirektional war, dann wird diese Verbindung von dem Routenzielknoten F nicht berücksichtigt. Zu beachten ist, dass, da die Routenanforderungsnachrichten, die von dem Routenzielknoten F empfangen wurden, lediglich durch Relais-Knoten weitergeleitet wurden, die eine bidirektionale Verbindung mit ihren entsprechenden Nachbarknoten haben, jede der Verbindungen L4, L5 und L7 ein Teil einer bidirektionale Route ist, die sich insgesamt zurück bis zu dem routenerzeugenden Knoten A erstreckt.
-
In einer Ausführungsform wählt der Routenzielknoten F eine Verbindung auf der Grundlage des Betrags an Leistungsverlust, der zu dieser Verbindung gehört, aus. In einer derartigen Ausführungsform wählt der Routenzielknoten F eine Verbindung aus, die den kleinsten Betrag an Leistungsverlust hat. In einer weiteren Ausführungsform wählt der Routenzielknoten F eine Verbindung auf der Grundlage sowohl des Betrags an Leistungsverlust als auch der Sprunganzahl aus. Wenn beispielsweise zwei Verbindungen mit dem kleinsten Betrag an Leistungsverlust den gleichen oder ungefähr den gleichen Betrag an Leistungsverlust haben, dann kann der Routenzielknoten F die Verbindung aus diesen Verbindungen auswählen, die die kleinere Sprunganzahl hat.
-
Tabelle 2 zeigt beispielhafte Werte für den Betrag an Leistungsverlust (in dBm) und die Sprunganzahl, die zu den Knoten Konverbindungen gehören, die verwendet wurden, um eine Routenanforderungsnachricht an den Routenzielknoten F zu senden. Tabelle 2 - beispielhafte Werte
Knoten (Verbindung)Leistungsverlust | Sprunganzahl |
B (L4) | -90 | 2 |
C (L5) | -85 | 2 |
E (L7) | -85 | 3 |
-
Gemäß 3E wählt in diesem Beispiel der Routenzielknoten F die Verbindung L5 aus, da sie den kleinsten Leistungsverlust und eine geringere Sprunganzahl im Vergleich zu der Verbindung L7 hat. Folglich sendet der Routenzielknoten F eine Routenantwortnachricht (RREP) über die Verbindung L5 an den Knoten C. Die Routenantwortnachricht ist eine Unicast-Nachricht, die an den routenerzeugenden Knoten A gerichtet ist.
-
In einer Ausführungsform wird zur Erhöhung der Robustheit des Routenauswahlvorganges eine Bestätigungsnachricht (ACK) von dem Knoten C an den Routenzielknoten F in Reaktion auf die Routenantwortnachricht gesendet. In einer weiteren Ausführungsform sendet der Routenzielknoten F eine Testnachricht an den Knoten C, bevor die Routenantwortnachricht gesendet wird, und er wartet auf eine Antwort auf die Testnachricht von dem Knoten C. In jedem Falle gilt, dass, wenn der Routenzielknoten F eine Antwort aus dem Knoten C nicht erhält, der Routenzielknoten dann einen weiteren Knoten/eine weitere Verbindung auswählt.
-
In diesem Beispiel wird eine Bestätigungsnachricht aus dem Knoten C durch den Routenzielknoten F nicht empfangen. Der Knoten C hat gegebenenfalls die Routenantwortnachricht nicht empfangen, oder er kann diese Nachricht empfangen haben, aber der Knoten F hat gegebenenfalls die Bestätigungsnachricht nicht empfangen. Dies kann auftreten, wenn der Betrag an Leistungsverlust über die Verbindung L5 auf einen Pegel zugenommen hat, der größer ist als der Sendeleistungspegel des Knotens C (in dem zuletzt genannten Falle) oder des Routenzielknotens F (in dem zuerst genannten Falle) aufgrund von beispielsweise einer temporären Störung. Somit ist an diesem Zeitpunkt gegebenenfalls die Verbindung L5 nicht mehr bidirektional. Folglich wird der Routenzielknoten F nachfolgende Routenanforderungsnachrichten, die aus dem Knoten C empfangen werden, ignorieren (entweder nicht akzeptieren oder nicht verarbeiten), bis eine Bedingung erfüllt ist, die zeigt, dass die Verbindung L5 wieder bidirektional ist. In einer Ausführungsform sendet der Routenzielknoten F regelmäßig Testnachrichten zu dem Knoten C, und die Bedingung ist erfüllt, wenn der Knoten C auf eine der Testnachrichten antwortet. In einer weiteren Ausführungsform wird die Verbindung L5 unter Verwendung von Nachrichten (beispielsweise Rundlauf-Nachrichten, die von dem Routenzielknoten F gesendet werden) überprüft, die es möglich machen, dass der Betrag an Leistungsverlust auf der Verbindung in der zuvor beschriebenen Weise ermittelt wird, und die Bedingung ist erfüllt, wenn der Betrag an Leistungsverlust kleiner ist als der Sendeleistungspegel des Knotens A und derjenige des Routenzielknoten F.
-
Es sei nun auf 3F verwiesen; in diesem Beispiel wählt der Routenzielknoten F nunmehr die Verbindung L7 aus, da sie einen geringeren Leistungsverlust hat als die Verbindung L4. In einer alternativen Implementierung kann die Verbindung L4 ausgewählt werden, da sie eine geringere Sprunganzahl hat. In diesem Beispiel sendet der Routenzielknoten F eine Routenantwortnachricht an den Knoten E über die Verbindung L7. Wie zuvor ist die Routenantwortnachricht eine Unicast-Nachricht, die an den routenerzeugenden Knoten A gerichtet ist.
-
In diesem Beispiel antwortet der Knoten B auf die Routenantwortnachricht und sendet eine Bestätigungsnachricht an den Routenzielknoten F, wodurch bestätigt wird, dass er die Routenantwortnachricht empfangen hat.
-
Gemäß 3G sendet der Knoten E (leitet weiter) die Routenantwortnachricht an den Knoten D über die Verbindung L6. Genauer gesagt, der Knoten E sendet eine Weiterleitungsversion der Routenantwortnachricht an den Knoten D; die Weiterleitungsversion kann die gleiche sein wie die Routenantwortnachricht, die aus dem Routenzielknoten F empfangen wird. In einer Ausführungsform sendet der Knoten D in Reaktion auf die Routenantwortnachricht eine Bestätigungsnachricht an den Knoten E. Das Szenario, in welchem der Knoten D die Routenantwortnachricht nicht empfängt, wird nachfolgend beschrieben.
-
Gemäß 3H sendet der Knoten D (leitet weiter) die Routenantwortnachricht dann über die Verbindung L3 an den routenerzeugenden Knoten A. Genauer gesagt, der Knoten D sendet eine Weiterleitungsversion der Routenantwortnachricht an den routenerzeugenden Knoten A; die Weiterleitungsversion kann die gleiche sein wie die Routenantwortnachricht, die aus dem Knoten E empfangen wird. In einer Ausführungsform sendet der routenerzeugende Knoten A in Reaktion auf die Routenantwortnachricht eine Bestätigungsnachricht an den Knoten D. Das Szenario, in welchem der Knoten A die Routenantwortnachricht nicht empfängt, wird nachfolgend behandelt.
-
Gemäß 3I sendet in Reaktion auf den Empfang der Routenantwortnachricht aus dem Knoten D der routenerzeugende Knoten A eine Routenbestätigungsnachricht (RCONF) zurück an den Knoten D. Die Routenbestätigungsnachricht ist eine Unicast-Nachricht, die an den Routenzielknoten F gerichtet ist. Die Routenbestätigungsnachricht wird dann von dem Knoten D an den Knoten C gesendet, der wiederum die Routenbestätigungsnachricht an den Routenzielknoten F sendet. Auf diese Weise stellt die Routenbestätigungsnachricht sicher, dass die Route zwischen dem routenerzeugenden Knoten A und dem Routenzielknoten F symmetrisch ist.
-
Des Weiteren berücksichtigt die Routenbestätigungsnachricht das Szenario, in welchem ein Knoten eine Bestätigungsnachricht nicht sendet. Wenn ein Knoten (beispielsweise der Knoten B), der nicht ein Nachbar des Routenzielknotens F ist, die Routenantwortnachricht nicht erhält, dann wird auch der routenerzeugende Knoten A die Routenantwortnachricht nicht erhalten und wird daher die Routenbestätigungsnachricht nicht senden. Das gleiche gilt selbstverständlich auch, wenn der Knoten A selbst keine Routenantwortnachricht erhält. Wenn der Routenzielknoten F eine Routenbestätigungsnachricht aus dem routenerzeugenden Knoten A nicht empfängt, dann erkennt der Routenzielknoten, dass eine bidirektionale Route über die Verbindung, die er ausgewählt hat (in diesem Beispiel die Verbindung L7), nicht eingerichtet worden ist, und somit wählt er eine weitere Verbindung aus und sendet eine weitere Routenantwortnachricht über diese andere Verbindung, und der Prozess geht in der zuvor beschriebenen Weise weiter.
-
Die Routenbestätigungsnachricht dient auch dazu, die Knoten, die sie empfangen, darüber zu informieren, dass sie Teil der bidirektionalen Route zwischen einem routenerzeugenden Knoten und einem Routenzielknoten sind. Da sie in diesem Beispiel die Routenbestätigungsnachricht empfangen, Erkennen die Knoten D und E, dass sie Teil der bidirektionalen Route zwischen dem routenerzeugenden Knoten A und dem Routenzielknoten F sind, und sie aktualisieren ihre Routentabellen entsprechend. Da die Routentabellen nur einen einzigen Eintrag für die bidirektionale Route enthalten muss, wird die Anzahl an Einträgen in der Routentabelle reduziert.
-
In diesem Beispiel empfangen die Knoten B und C die Routenbestätigungsnachricht nicht und aktualisieren somit ihre Routentabellen nicht. Wenn daher die Knoten B, C und D eine nachfolgende Nachricht (eine andere als eine Routenanforderungsnachricht) aus dem Knoten A empfangen, die an den Knoten F gerichtet ist, leitet nur der Knoten D diese Nachricht über die bidirektionale Route weiter; die Knoten B und C werden diese Nachricht nicht weiterleiten.
-
Daher ist es in Ausführungsformen gemäß der vorliegenden Erfindung, wie sie zuvor in Verbindung mit den 3A-3I beschrieben sind, nicht erforderlich, die Verbindungen regelmäßig zu überprüfen, um zu ermitteln, ob eine Verbindung uni-direktional ist. Des Weiteren gibt es einen höheren Grad an Flexibilität, wenn Routen zwischen dem routenerzeugenden Knoten und dem Routenzielknoten ausgewählt werden. Ferner wird der Aufwand für das Unterhalten einer Route um die Hälfte reduziert, wenn eine asymmetrische Route durch eine symmetrische Route ersetzt wird. Dies wiederum verringert die zugehörige Anzahl an Einträgen in Routentabellen um die Hälfte. Da der Routenzielknoten eine mögliche Route auf der Grundlage des Betrags an Leistungsverlust und auch (in einer Ausführungsform) auf der Grundlage der Anzahl an Sprüngen auswählt, hat die eingerichtete bidirektionale Route den geringsten Betrag an Leistungsverlust und die kleinste Anzahl an Sprüngen all derjenigen Routen, die verfügbar sind.
-
Ausführungsformen gemäß der Erfindung verbessern somit Computertechniken (beispielsweise durch Verbesserung der Effizienz und des Leistungsverhaltens von drahtlosen Kommunikationseinrichtungen) und computergestützte Techniken (beispielsweise durch Verbesserung der Qualität und des Leistungsvermögens von Drahtlos-Maschennetzwerken).
-
4, 5 und 6 sind entsprechende Flussdiagramme 400, 500 und 600 von Beispielen von Aktionen in computerimplementierten Verfahren zur Einrichtung einer symmetrischen Route unter Anwendung bidirektionaler Verbindungen in Ausführungsformen gemäß der vorliegenden Erfindung. Die Aktionen bzw. Operationen können in und durch das Computersystem 100 der 1 ausgeführt werden.
-
Auch mit Verweis auf 2 werden die Aktionen der 4 durch einen Relais-Knoten in einem Drahtlos-Maschennetzwerk (beispielsweise die Knoten B, C, D und E des Drahtlos-Maschennetzwerks 200) ausgeführt, die Operationen bzw. Aktionen der 5 werden durch einen Routenzielknoten (beispielsweise den Knoten F) ausgeführt und die Operationen bzw. Aktionen der 6 werden durch einen routenerzeugenden Knoten (beispielsweise den Knoten A) ausgeführt.
-
Im Block 402 der 4 empfängt der Relais-Knoten eine erste Routenanforderungsnachricht über eine erste Verbindung zu einem zweiten Knoten in dem Drahtlos-Maschennetzwerk. Abhängig von der Position des Relais-Knotens in dem Drahtlos-Maschennetzwerk kann der zweite Knoten der routenerzeugende Knoten sein oder er kann ein weiterer Relais-Knoten sein. Die erste Routenanforderungsnachricht enthält Information, die einen Routenzielknoten als das endgültige Ziel für die erste Routenanforderungsnachricht kennzeichnet, und enthält ferner Information, die den Sendeleistungspegel kennzeichnet, der von dem zweiten Knoten zum Senden der ersten Routenanforderungsnachricht verwendet wurde.
-
Im Block 404 ermittelt der Relais-Knoten, ob die erste Verbindung bidirektional ist.
-
In einer Ausführungsform wird zur Ermittlung, ob die erste Verbindung symmetrisch ist, ein Betrag an Leistungsverlust zwischen dem zweiten Knoten und dem Relais-Knoten ermittelt, indem der Sendeleistungspegel, der von dem zweiten Knoten zum Senden der ersten Routenanforderungsnachricht verwendet wird, mit einem Maß bzw. einer Messung einer Empfangssignalstärke für die erste Routenanforderungsnachricht verglichen wird. Anschließend werden der Betrag an Leistungsverlust und der Sendeleistungspegel für den Relais-Knoten miteinander verglichen. Die erste Verbindung ist bidirektional, wenn der Sendeleistungspegel für den Relais-Knoten größer ist als der Betrag an Leistungsverlust.
-
Zur Ermittlung, ob die erste Verbindung symmetrisch ist, sendet in einer Ausführungsform der Relais-Knoten eine Testnachricht zu dem zweiten Knoten in Reaktion auf den Empfang der ersten Routenanforderungsnachricht aus dem zweiten Knoten, und ermittelt dann, ob eine Antwort auf die Testnachricht empfangen wird. Die erste Verbindung ist bidirektional, wenn die Antwort auf die Testnachricht empfangen wird.
-
Im Block 406 leitet der Relais-Knoten die erste Routenanforderung weiter, wenn die erste Verbindung bidirektional ist. Genauer gesagt, der Relais-Knoten sendet eine zweite Routenanforderungsnachricht, die eine Weiterleitungsversion der ersten Routenanforderungsnachricht ist, über eine zweite Verbindung zu einem dritten Knoten in dem Drahtlos-Maschennetzwerk weiter, wenn die erste Verbindung bidirektional ist, und sendet ansonsten die zweite Routenweiterleitungsnachricht nicht. Abhängig von der Position des Relais-Knotens in dem Drahtlos-Maschennetzwerk kann der dritte Knoten der Routenzielknoten sein oder er kann ein weiterer Relais-Knoten sein. In einer Ausführungsform enthält die zweite Routenanforderungsnachricht eine Information, die den Sendeleistungspegel kennzeichnet, der von dem Relais-Knoten verwendet wurde, um die zweite Routenanforderungsnachricht zu senden.
-
In einer Ausführungsform erhöht der Relais-Knoten einen Wert einer Sprunganzahl in der ersten Routenanforderungsnachricht und fügt den erhöhten Wert der Sprunganzahl in die zweite Routenanforderungsnachricht ein.
-
Im Block 408 empfängt nach dem Senden der zweiten Routenanforderungsnachricht der Relais-Knoten eine erste Unicast-Routenantwortnachricht aus dem dritten Knoten. Die erste Routenantwortnachricht enthält Information, die den routenerzeugenden Knoten als das endgültige Ziel für die erste Routenantwortnachricht kennzeichnet.
-
Im Block 410 sendet der Relais-Knoten in Reaktion auf die erste Routenantwortnachricht eine Bestätigungsnachricht an den dritten Knoten.
-
Im Block 412 sendet in Reaktion auf den Empfang der ersten Routenantwortnachricht der Relais-Knoten eine zweite Unicast-Routenantwortnachricht (eine Weiterleitungsversion der ersten Routenantwortnachricht) an den zweiten Knoten.
-
Im Block 414 empfängt nach dem Senden der zweiten Routenantwortnachricht der Relais-Knoten eine Unicast-Routenbestätigungsnachricht aus dem zweiten Knoten. Die Routenbestätigungsnachricht enthält Information, die angibt, dass eine Weiterleitungsversion der ersten Routenantwortnachricht durch den routenerzeugenden Knoten empfangen wurde.
-
Im Block 416 sendet der Relais-Knoten die Routenbestätigungsnachricht an den dritten Knoten.
-
Nunmehr mit Verweis auf 5 empfängt im Block 502 der Routenzielknoten Routenanforderungsnachrichten aus einer Reihe von Relais-Knoten über Verbindungen in dem Drahtlos-Maschennetzwerk. Jede Routenanforderungsnachricht enthält Information, die den routenerzeugenden Knoten kennzeichnet, eine Information, die einen entsprechenden Sendeleistungspegel kennzeichnet, der von dem Relais-Knoten zum Senden der Routenanforderungsnachricht zu dem Routenzielknoten verwendet wurde, und eine entsprechende Sprunganzahl.
-
Im Block 504 ermittelt der Routenzielknoten einen entsprechenden Betrag an Leistungsverlust für jede der Verbindungen durch Vergleich, für jede der Routenanforderungsnachrichten, des entsprechenden Sendeleistungspegel und mit einem Maß an Empfangssignalstärke für die Routenanforderungsnachricht.
-
Im Block 506 wählt der Routenzielknoten einen ersten Relais-Knoten (oder eine erste Verbindung) auf der Grundlage des entsprechenden Betrags an Leistungsverlust und, in einer Ausführungsform, auf der Grundlage des entsprechenden Wertes der Sprunganzahl aus.
-
Im Block 508 sendet der Routenzielknoten eine Unicast-Routenantwortnachricht über die erste Verbindung an den ersten Relais-Knoten. Die Routenantwortnachricht enthält Information, die den routenerzeugenden Knoten als das endgültige Ziel für die erste Routenantwortnachricht kennzeichnet.
-
Im Block 510 ermittelt in einer Ausführungsform der Routenzielknoten, ob eine Bestätigungsnachricht aus dem ersten Relais-Knoten in Reaktion auf die Routenantwortnachricht empfangen worden ist.
-
Wenn die Bestätigungsnachricht nicht empfangen worden ist, dann sendet der Routenzielknoten die Routenantwortnachricht über eine zweite Verbindung an einen zweiten Relais-Knoten.
-
Wenn in einer Ausführungsform die Bestätigungsnachricht aus dem ersten Relais-Knoten nicht empfangen worden ist, dann sendet der Routenzielknoten regelmäßig eine Testnachricht an den ersten Relais-Knoten über die erste Verbindung, bis eine Antwort auf die Testnachricht empfangen wird.
-
Wenn in einer Ausführungsform die Bestätigungsnachricht nicht empfangen wurde, dann antwortet der Routenzielknoten nicht auf nachfolgende Routenanforderungsnachrichten aus dem ersten Relais-Knoten, bis eine Bedingung erfüllt ist. In einer Ausführungsform wird die Bedingung erfüllt, wenn der erste Relais-Knoten auf eine Testnachricht antwortet, die von dem Routenzielknoten gesendet wurde. In einer Ausführungsform wird die Bedingung erfüllt, wenn der Betrag an Leistungsverlust auf der ersten Verbindung zwischen dem ersten Relais-Knoten und dem Routenzielknoten einem Schwellenwert genügt.
-
Im Block 512 empfängt in einem Szenario, in welchem die Bestätigungsnachricht aus dem ersten Relais-Knoten empfangen wurde, der Routenzielknoten eine Unicast-Routenbestätigungsnachricht aus dem ersten Relais-Knoten. Im Allgemeinen empfängt der Routenzielknoten die Routenbestätigungsnachricht aus dem Relais-Knoten, der im Block 510 ausgewählt wurde. Die Routenbestätigungsnachricht enthält Information, die angibt, dass eine Version der Routenantwortnachricht durch den routenerzeugenden Knoten empfangen wurde.
-
Gemäß nunmehr 6 sendet im Block 602 der routenerzeugende Knoten eine Rundruf-Routenanforderungsnachricht an eine Anzahl an Relais-Knoten in dem Drahtlos-Maschennetzwerk. Die Rundruf-Routenanforderungsnachricht enthält Information, die den Routenzielknoten als das endgültige Ziel für die Rundrufnachricht kennzeichnet.
-
Im Block 604 empfängt der routenerzeugende Knoten aus einem Relais-Knoten, der die Routenanforderungsnachricht empfing, eine Unicast-Routenantwortnachricht (eine Weiterleitungsversion einer Unicast-Routenantwortnachricht, die der Routenzielknoten in Reaktion auf die Routenanforderungsnachricht sendete).
-
Im Block 606 sendet der routenerzeugende Knoten in Reaktion auf die aus dem Relais-Knoten empfangene Routenantwortnachricht eine Unicast-Routenbestätigungsnachricht an den Relais-Knoten. Die Routenbestätigungsnachricht enthält Information, die den Routenzielknoten als das endgültige Ziel für die zweite Unicast-Nachricht kennzeichnet.
-
Die hierin beschriebenen und/oder dargestellten Prozessparameter und die Reihenfolge von Schritten sind lediglich beispielhaft angegeben und können nach Bedarf geändert werden. Beispielsweise sind die hierin dargestellten und/oder beschriebenen Schritte in einer einzelnen Reihenfolge gezeigt oder erläutert, wobei diese Schritte jedoch nicht notwendigerweise in der dargestellten oder erläuterten Reihenfolge ausgeführt werden müssen. Die hierin beschriebenen und/oder dargestellten anschaulichen Verfahren können auch ohne einen oder mehrere der hierin beschriebenen dargestellten Schritte ausgeführt werden, oder können weitere Schritte zusätzlich zu den offenbarten Schritten enthalten.
-
Obwohl die vorhergehende Offenbarung diverse Ausführungsformen unter Anwendung spezieller Blockdiagramme, Flussdiagramme und Beispielen angibt, kann jede Blockdiagrammkomponente, jeder Schritt eines Flussdiagramms, eine Operation und/oder eine Komponente, die hierin beschrieben und/oder dargestellt sind, individuell und/oder kollektiv implementiert werden unter Anwendung einer großen Fülle von Hardware-, Software- oder Firmware- Konfigurationen (oder einer Kombination davon). Ferner sollte die Offenbarung bezüglich Komponenten, die in anderen Komponenten enthalten sind, als Beispiel betrachtet werden, da viele andere Architekturen implementiert werden können, um die gleiche Funktion zu erhalten.
-
Obwohl der Gegenstand im Hinblick auf spezielle strukturelle Merkmale und/oder verfahrenstechnische Vorgänge beschrieben ist, ist zu beachten, dass der in der Offenbarung definierte Gegenstand nicht notwendigerweise auf die speziellen Merkmale oder Schritte beschränkt ist, die zuvor beschrieben sind. Vielmehr sind die speziellen Merkmale und die Schritte, die zuvor beschrieben sind, als beispielhafte Formen zum Implementieren der vorliegenden Erfindung offenbart.
-
Es sind somit Ausführungsformen der Erfindung beschrieben. Obwohl die vorliegende Erfindung in speziellen Ausführungsformen beschrieben ist, sollte beachtet werden, dass die Erfindung nicht so ausgelegt werden soll, dass sie auf derartige Ausführungsformen eingeschränkt ist, sondern sie sollte ansprechend den folgenden Ansprüchen ausgelegt werden.