-
Technisches Gebiet
-
Einige Ausführungsbeispiele der vorliegenden Erfindung betreffen drahtlose Kommunikationen. Einige Ausführungen betreffen das Paketweiterleiten in drahtlosen Netzwerken. Einige Ausführungen betreffen Multicarrier-Kommunikationen.
-
Hintergrund
-
Einige konventionelle Kommunikationsnetzwerke leiten Pakete zwischen Knoten des Netzwerkes unter der Benutzung von Weiterleitungstabellen weiter, die in den Knoten gespeichert sind. Die Weiterleitungstabellen identifizieren im allgemeinen einen Nächst-Sprung-Knoten basierend auf dem Ziel des Paketes. Die Nächst-Sprung-Knoten sind im allgemeinen für alle Pakete, die das gleiche Ziel haben, die gleichen, unabhängig von dem Knoten, von dem sie stammen. Die Weiterleitungstabellen werden konventionell durch Auswahl von Pfaden durch das Netzwerk in einer Sprung-zu-Sprung-Weise erzeugt, basierend auf Nächst-Sprüngen mit den geringsten Kosten. In einigen drahtlosen Netzwerken kann dieser konventioneller Weiterleitungszugang nicht den besten Weg durch das Netzwerk auswählen, aufgrund der Frequenzen und/oder Zeitfenster, die von den Kommunikationsverbindungen entlang eines vorgegebenen Fades benutzt werden, da diese miteinander wechselwirken, was in verstärkter Paketverzögerung, vergrößerten Paketwiederholungen und/oder reduzierten Kanalbandbreiten resultiert.
-
Die
WO 2004/114690 A1 offenbart ein drahtloses Kommunikationsnetzwerk zum metrischen Routing zwischen Sender und Empfänger, wobei ein Adhoc-Netzwerk zugrunde liegt. Dazu wird eine Route basierend auf einer Route-Matrix ausgewählt.
-
Die
WO 02/25879 A1 offenbart ein Bluetooth-Netzwerk, wobei für zwei Knoten jeweils eine Routing-Tabelle gegeben ist.
-
Weiterhin ergibt sich aus der
WO 03/094546 A1 ein mobiles Adhoc-Netzwerk, das eine Vielzahl von Kanälen verwendet.
-
Beschreibung der Zeichnungen
-
1 zeigt ein Multikanal drahtloses Mesh-Netzwerk nach einigen Ausführungen der vorliegenden Erfindung,
-
2 ist ein funktionales Blockdiagramm eines multikanalen, drahtlosen Kommunikationsnetzes nach einigen Ausführungen der vorliegenden Erfindung,
-
3 ist ein Flußdiagramm eines Paketweiterleitungsvorganges nach einigen Ausführungen der vorliegenden Erfindung,
-
4 ist ein Beispiel eines Multikanal Mesh-Netzwerkes,
-
5 ist ein Beispiel von Routing-Tabellen für ein Multikanal Mesh-Netzwerk, und
-
6 ist ein Beispiel eines Multikanal-Mesh-Netzwerkes, das vier Kommunikationskanäle nutzt.
-
Detaillierte Beschreibung:
-
Die folgende Beschreibung und die Zeichnungen illustrieren spezifische Ausführungen der Erfindung, die ausreichend sind, um den Fachmann zu erlauben, sie auszuführen. Andere Ausführungen können strukturelle, logische, elektrische Verfahrens- und andere Änderungen aufweisen.
-
Beispiele dienen lediglich zur Typifizierung möglicher Variationen. Individuelle Komponenten und Funktionen sind optional, wenn sie nicht explizit benötigt werden, und die Reihenfolge der Operationen kann variieren. Abschnitte und Merkmale einiger Ausführungsbeispiel können eingesetzt werden oder für andere substituiert werden.
-
Ausführungen der Erfindung, die in den Ansprüchen dargelegt werden, umfassen alle erhältlichen Äquivalente dieser Ansprüche. Ausführungen der Erfindung können individuell oder kollektiv hierin durch das Wort ”Erfindung” nur für Zwecke der Einfachheit beschrieben werden, und ohne freiwillig den Schutzumfang dieser Anmeldung auf eine einzige Erfindung oder erfinderisches Konzept zu begrenzen, wenn mehr als eine(s) tatsächlich offenbart ist.
-
1 zeigt ein multikanales, drahtloses Mesh-Netzwerk nach einigen Ausführungen der vorliegenden Erfindung an. Multikanale, drahtlose Mesh-Netzwerke 100 können eine Vielzahl von drahtlosen Kommunikationsknoten 102 umfassen, die miteinander über eine oder mehr drahtlose Kommunikationskanäle 104 kommunizieren. In einigen Ausführungen können wenigstens einige der drahtlosen Kommunikationsknoten 102 und anderen Knoten 102 unter Benutzung mehr als eines Kommunikationskanals 104 kommunizieren. In einigen Ausführungen können einige drahtlose Kommunikationsknoten 102 mit anderen Knoten 102 kommunizieren unter Benutzung nur eines Kommunikationskanals, obwohl der Schutzbereich der Erfindung nicht in dieser Weise begrenzt ist.
-
Zum Beispiel kann in Netzwerk 100 Knoten fünf mit Knoten vier unter Benutzung eines ersten Kommunikationskanals kommunizieren (zum Beispiel Kanal eins), Knoten fünf kann mit Knoten eins unter Benutzung eines zweiten Kommunikatonskanals (zum Beispiel Kanal 2), und Knoten fünf kann mit Knoten sieben unter Benutzung eines dritten Kommunikationskanals (zum Beispiel Kanal drei) kommunizieren.
-
Knoten eins kann zum Beispiel mit Knoten zwei, vier und fünf unter Benutzung nur des ersten Kanals (zum Beispiel Kanal 1) kommunizieren. Knoten drei kann zum Beispiel mit Knoten zwei unter Benutzung des ersten Kommunikationskanals (zum Beispiel Kanal 1) kommunizieren, und kann mit Knoten sechs unter Benutzung sowohl des zweiten und dritten Kommunikationskanals (zum Beispiel Kanal zwei und drei) kommunizieren. Obwohl 1 ein Mesh-Netzwerk zeigt, das drei Kommunikationskanäle nutzt, ist der Schutzbereich der Erfindung nicht in dieser Weise begrenzt. Einige Ausführungen der vorliegenden Erfindung sind in gleicher Weise auf jedes beliebige Mesh-Netzwerk anwendbar, das ein oder mehr Kommunikatonskanäle nutzt.
-
Die Nutzung von zwei oder mehr orthogonal drahtlosen Kommunikationskanälen im Mesh-Netzwerk 100 kann signifikant die Fähigkeit von Knoten 102 vergrößern, zu kommunizieren und Pakete zwischen ihnen zu routen (weiterzuleiten). In einem Ein-Kanal Mesh-Netzwerk kann jede beliebige Übertragung eines Knotens auf einem bestimmten Kommunikationskanal potentiell mit der Kommunikation eines anderen Knotens auf dem Kanal in Abhängigkeit von der Strecke zwischen den Knoten im Netzwerk 100 differieren. Dies kann in vergrößerten Kollisionen, vergrößerten, fortgelassenen Paketen und vergrößerten Paketneuübertragungen durch das gesamte Netzwerk enden.
-
In Übereinstimmung mit einigen Ausführungen der vorliegenden Erfindung können die Knoten 102 miteinander unter Benutzung mehr als eines Kommunikationskanals kommunizieren. In Übereinstimmung mit einigen Ausführungen der vorliegenden Erfindung können die Knoten 102, kanal-metrische Matrizen für jedes mögliche Ziel in Netzwerk 100 generieren. Die Kanal-metrischen Matrizen identifizieren Nächst-Sprung-Knoten und einen Kommunikationskanal für jeden möglichen Flaschenhalskanal. Ein Zwischenknoten auf einer Strecke kann einen Nächst-Sprung-Knoten auswählen und einen Kommunikationskanal 104 zum Weiterleiten eines empfangenen Paketes basierend auf den Flaschenhalskanal, der von dem Zwischenknoten für die Paketquelle Zielkombination bestimmt wurde. Der Flaschenhalskanal kann als der Kanal angesehen werden, dessen Einwirkung minimiert werden soll, um eine optimale Route durch das Netzwerk auszuwählen. In einigen Ausführungen kann ein Zwischenknoten die Pakete, die den gleichen Zielknoten haben, unterschiedlich leiten, wenn zum Beispiel, sie verschiedene Quellknoten haben. In einigen Ausführungen kann der Nächst-Sprung-Knoten und Kanal ausgewählt werden, um die Verstopfung in dem Netzwerk 100 zu reduzieren. In einigen Ausführungen kann der Nächst-Sprung-Knoten und Kanal ausgewählt werden, um die Kanalvielfalt (zum Beispiel zur Nutzung verschiedener Kanäle) entlang eines Weges zum Zielknoten zu vergrößern, obwohl der Bereich der Erfindung nicht in dieser Weise beschränkt ist. Ein Flaschenhalskanal kann für eine bestimmte Route festgelegt werden und kann mit einem Quelle-Zielpaar zugehörig sein. Der Flaschenhalskanal kann der Kanal sein, der, wenn er für das Weiterleiten von Paketen benutzt würde, zwischen Quelle und Zielpaar liegt, und vergrößerte Kanalverstopfung, verlängerte Kanalvielfalt und/oder vergrößerte Kanalbelastung erzeugen würde. Dementsprechend kann die Auswirkung des Flaschenhalskanals minimiert werden, indem eine optimale Route gesucht wird. Die Festlegung eines Flaschenhalskanals für eine Quelle-Ziel-Kombination wird im größeren Detail im weiteren beschrieben.
-
2 ist ein Funktionsblockdiagramm eines Multikanal-, drahtlosen Kommunikationsknotens nach einigen Ausführungen der vorliegenden Erfindung. Multikanal drahtlose Kommunikationsknoten 200 können geeignet zur Benutzung für eine oder mehrere der multikanalen drahtlosen Kommunikationsknoten 102 sein (1). In einigen Ausführungen kann der multikanale drahtlose Kommunikationsknoten 200 ein multikanaler drahtloser Mesh-Netzwerkrouter sein, obwohl sich der Bereich der Erfindung nicht auf diese Weise beschränkt.
-
In Übereinstimmung mit einigen Ausführungen kann der multikanale drahtlose Kommunikationsknoten 200 einen oder mehrere Transceiver 202 umfassen. Jeder Transceiver 202 kann mit einem besonderen drahtlosen Kommunikationskanal in Verbindung gebracht werden. Multikanale drahtlose Kommunikationsknoten 200 können auch Medienzugriffscontroller 204 umfassen, die mit Transceiver 202 in Zusammenhang gebracht sind. Multikanal drahtlose Kommunikationsknoten 200 können auch vielfach-Sprung-Weiterleitungsschaltkreise 206 zum Weiterleiten von Paketen und Pfadauswahl-Schaltkreise 208 zum Erzeugen kanal-metrischer Matrizen 210 und zur Auswahl Nächst-Sprung-Knoten, wie weiter im Detail beschrieben wird, umfassen.
-
Obwohl der Ausdruck ”Schaltkreise” dazu benutzt wird, verschiedene Elemente des Kommunikationsknotens 200 zu beschreiben, bedeutet dies nicht notwendigerweise die Benutzung von verschalteter Hardware. Wie hierin beschrieben, kann Schaltkreis sowohl Hardware, Firmware oder Software Implementierungen inklusive Kombinationen dieser umfassen.
-
Multikanal drahtlose Kommunikationsknoten 200 können auch mit einer oder mehr Antennen 212 gekoppelt werden zum Kommunizieren über drahtlose Kommunikationskanäle 104 (1). Obwohl Knoten 200 zwei getrennte Transceiver 202 zum Kommunizieren mit zwei Kommunikationskanälen umfaßt, kann in einigen Ausführungen ein einzelner Transceiver zur Kommunikation über zwei oder mehr Kommunikationskanäle genutzt werden, obwohl der Schutzbereich der Erfindung nicht in dieser Weise beschränkt ist.
-
In Übereinstimmung mit einigen Ausführungen der vorliegenden Erfindung erzeugt eine Kanalauswahlverschaltung 208 eine kanal-metrische Matrix für Zielknoten eines Mesh-Netzwerks. In einigen Ausführungsbeispielen kann die Matrix die Kosten umfassen, um ein vorgegebenes Ziel zu erreichen und kann genügend Information unterhalten, um Routen in einem Vielfachsprung, Vielkanal-Mesh-Netzwerk, wie zum Beispiel Netzwerk 100 (1), zu identifizieren. Ein Beispiel einer Kanal-metrischen Matrix, die durch einen Knoten ”M”, die für ein Quellknoten ”S” erzeugt ist und ein Ziel ”D” in einem Vielkanal-Mesh-Netzwerk wird im folgenden dargestellt.
-
-
In diesem Beispiel kann jeder Transceiver 202 (2) einen von n Kanälen nutzen und n kann von eins bis vier oder mehr lauten. Die Xi-Werte in jeder Reihe der Matrix können die Kosten, die von Verbindungen auf dem Kanal i beigetragen werden, darstellen und in NextD kann die Nächst-Sprung-Knoten zum Zielknoten ”D” darstellen. Jede Zeile der Matrix kann die Kosten repräsentieren, um das Ziel durch den spezifischen Nächst-Sprung-Knoten zu erreichen, unter der Annahme, dass ein bestimmter Kanal ein Flaschenhalskanal in dem Pfad von einem Ende zum nächsten ist. Ein Flaschenhalskanal kann zum Beispiel durch einen Stau erzeugt werden, wenn eine Vielzahl von Verbindungen entlang eines Pfades miteinander um Bandbreite im gleichen Kanal wettstreiten. Nach einigen Ausführungen der vorliegenden Erfindung kann ein Quellknoten ”S” den Flaschenhalskanal für den Pfad von einem Ende zum nächsten für sich selbst bis zu einem Zielknoten ”D” bestimmen. Weiter kann ein Zwischenknoten ”M” in dem Pfad vom Quellknoten ”S” zum Zielknoten ”D” auch bestimmen, welcher Kanal in dem Flaschenhalskanal für den Pfad von einem Ende zum anderen vom Quellknoten ”S” bis zum Zielknoten ”D”. In der Beispielmatrix, die oben dargestellt ist, ist der Flaschenhalskanal für jede Zeile links von der Matrix aufgeführt.
-
In einigen Ausführungen kann eine Routing-Matrix in einem Vielkanal-Netzwerk 100 eine Matrix für jedes Ziel umfassen. Um ein lokal erzeugtes Paket zu senden, identifiziert ein Knoten, die Matrix korrespondierend zu dem Ziel des Paketes und kann eine Reihe auswählen, in der MAX (Xi) minimiert ist (zum Beispiel Stauminimierung). In einigen alternativen Ausführungsbeispielen kann eine andere Funktion der Werte in der Zeile minimiert werden. Die ausgewählte Zeile kann den Flaschenhalskanal mit dem geringsten Einfluß auf die Performance darstellen. Der Nächst-Sprung-Knoten, der in dieser Zeile identifiziert ist, und der zugehörige Transmissionskanal können als Nächst-Sprung-Knoten genutzt werden und der Übertragungskanal kann genutzt werden, um den Zielknoten zu erreichen.
-
Um ein Paket weiterzuleiten, kann ein Zwischenknoten die Matrix für das Ziel des Paketes von den Kanal-metrischen Matrizen 210 (2) erhalten. Um die Reihe der Matrix, die den richtigen nächsten Sprung enthält, auszuwählen, kann der Zwischenknoten zuerst feststellen, welcher Kanal ein Flaschenhalskanal für den Pfad von dem Quellknoten zu dem Zielknoten ist. Der Flaschenhalskanal kann bereits von dem Quellen (oder dem Ziel-)knoten bestimmt sein, der die kanal-metrische Matrix für den gesamten Pfad erzeugt haben kann. Jedoch kann ein Zwischenknoten diese Information nicht verfügbar haben.
-
In einigen Ausführungen kann der Flaschenhalskanal durch entweder den Ziel- oder den Quellknoten bestimmt werden und können an die Knoten entlang des Pfades übermittelt werden. In diesen Ausführungen kann ein Paket, das entlang des Pfades gesandt wird, den Flaschenhalskanal für ein Quell-Ziel-Paar festlegen. In einigen Ausführungen, die ein reaktives Routingprotokoll implementieren, kann dieses Übermitteln Teil eines RAP ((route reply packet) sein. In einem proaktiven Routingprotokoll kann eine explizite Mitteilung von einem Ende zum anderen genutzt werden.
-
In einigen Ausführungen kann das explizite Übermitteln durch entweder den Quellknoten oder den Zielknoten nicht benötigt werden. In diesen Ausführungen kann ein Zwischenknoten für den Flaschenhalskanal unter Benutzung kanal-metrischer Matrizen feststellen nach dem Zielknoten des Paketes und den Quellknoten des Paketes. Auf diese Weise kann der Flaschenhalskanal effektiv festgestellt werden, ohne explizite Signalgabe zu benötigen. Einige konventionelle Routen andererseits können einen Dijkstra-Typ Routing-Algorithmus für alle Quell-Zielpaare implementieren, der rechnertechnisch sehr kostenträchtig ist.
-
Um einige Ausführungen zu illustrieren, wie ein Zwischenknoten einen Flaschenhalskanal bestimmt, stelle man sich einen Pfad in einem Multikanal-Mesh-Netzwerk vom Knoten ”A” zum Knoten ”C” vor, der durch Knoten ”B” fließt. Knoten ”A” kann der Quellknoten des Paketes sein, und Knoten ”C” kann der Zielknoten des Paketes sein. Knoten ”B” kann ein Zwischenknoten einer Viel-Sprung-Route oder eines Pfades zwischen den Knoten ”A” und Knoten ”C” sein. Nach einigen Ausführungen der vorliegenden Erfindung kann Knoten ”B” den Flaschenhalskanal unter Benutzung lokal erhältlicher Information identifizieren. Nach einigen Ausführungen kann der Knoten ”B” die kanal-metrische Matrix nutzen, die er zuvor für den Knoten ”A” als Zielknoten generiert hat und kann die kanal-metrische Matrix, die er zuvor erzeugt haben kann, für den Knoten ”C” als Zielknoten nutzen. Ein Beispiel einer vorerzeugten Kanal-Matrix für Knoten ”A” als Zielknoten ist im folgenden dargestellt:
-
Ein Beispiel eines zuvor erzeugten Kanal-Matrix für Knoten ”C” als Zielknoten ist im folgenden dargestellt:
-
In Übereinstimmung mit einigen Ausführungsbeispielen kann die Pfadauswahlschaltung
208 vom Knoten-Typ ”B” eine neue Matrix wie folgt errechnen:
-
Die Pfadauswahlschaltung 208 (2) des Knotens ”B” kann die neue Matrix nutzen, um den Flaschenhalskanal für den Pfad von Knoten ”A” zu Knoten ”C” festzustellen. Dies kann auf die gleiche Weise erfolgen, in der Knoten ”A” seine Matrix für Knoten ”C” (metric A A->C) zur Identifizierung des Flaschenhalskanals Nutzen würde. Die Pfadauswahlschaltung 208 (2) des Knotens ”13” kann die Reihe der neuen Matrix auswählen, für die MAX (Xi) minimiert ist, obwohl der Schutzbereich der Erfindung nicht in dieser Weise beschränkt ist. Alternativ kann eine andere Funktion von Xi-Werten in jeder Reihe minimiert werden.
-
Die neue Matrix metric B A->C (wie oben beschrieben) muß nicht notwendigerweise die gleiche wie die metric A A->C (zum Beispiel die Metric berechnet durch Knoten ”A”) sein, jedoch wird, wenn Knoten ”B” auf einem ausgewählten Pfad von Knoten ”A” zu Knoten ”13” ist, die minimale Zeile der metric B A->C auch die minimale Zeile der metric A A->C sein. Auf diese Weise wird der Knoten ”13” entlang eines ausgewählten Pfades vom Quellknoten ”A” zum Zielknoten ”C” den Flaschenhalskanal festlegen können und einen nächsten Sprung zum Weiterleiten von Paketen von Quelle ”A” zu Quellknoten ”C” auswählen.
-
Die Pfadauswahlschaltung 208 (2) kann diese Berechnung mit minimalem Rechneroverhead ausführen. Weiter ist kein Signalgeben notwendig, um zwischenliegend Knoten entlang des Pfades von dem ausgewählten Flaschenhalskanals Mitteilung zu machen. Zusätzlich müssen zwischenliegende Knoten nicht Buch führen über Quell- und Zielpaare zum Flaschenhalskanal (oder Nächst-Sprung), was ansonsten erhebliche Speicherkomplexität bedeuten würde. In einigen Ausführungsbeispielen kann ein Soft-Cache dieses Buch führen, optional für Quell-Zielpaare durchführen, um die Notwendigkeit zur Durchführung von Flaschenhalskanalberechnungen für jedes Paket zu verringern.
-
Wenn der Flaschenhalskanal (zum Beispiel eine Zeile der Kanal-metrischen Matrix) durch einen Zwischenknoten festgelegt wurde, kann ein Nächst-Sprung identifiziert werden. Ein Zwischenknoten kann ein Paket leiten durch als erstes Bestimmen des Zielknotens des Paketes und dann identifizieren der Kanal-metrischen Matrix für den Zielknoten aus gespeicherten Matrizen in den Kanal-metrischen Matrizen 210. Der Nächst-Sprung-Knoten kann dann durch Auswahl der Zeile korrespondierend zum Flaschenhalskanal ausgewählt werden, der zuvor durch kombinieren der Quelle und Zielknoten in Kanal-metrischen Matrizen kombiniert wurde.
-
In einigen Ausführungen kann das Paket einen Quellknoten und einen Zielknoten in einem multikanal Mesh-Netzwerk identifizieren. Die Pfadauswahlschaltung 208 kann eine erste kanal-metrische Matrix, die mit dem Quellknoten des Paketes zusammenhängt, und einer zweiten Kanal-metrischen Matrix, die mit dem Zielknoten des Paketes zugehörig ist, auch kombinieren und kann ein Nächst-Sprung-Knoten auswählen und einen zugehörigen Übertragungskanal, basierend auf Metrik-Elementen der kombinierten Matrix zur Benutzung im Weiterleiten des Paketes an seinen Zielknoten.
-
In einigen Ausführungen kann die Pfadauswahlschaltung 208 den Nächst-Sprungknoten auswählen und zugehörige Übertragungskanäle, um die Vielfalt zwischen den drahtlosen Kommunikationskanälen zu vergrößern, die auf einer Route zum Zielknoten benutzt werden. In einigen Ausführungen kann der Knoten 200 ein Speicherelement (zum Beispiel Element 210) umfassen, um eine kanal-metrische Matrix für jedes mögliche Ziel in dem Netzwerk als Zielknoten zu speichern. Wenigstens einige der Kanal-metrischen Matrizen können mehr als einen möglichen Nächst-Sprung-Knoten identifizieren und einen zugehörigen drahtlosen Kommunikationskanal (zum Beispiel ein Übertragungskanal), damit man den zur Matrix gehörigen Zielknoten erreicht (zum Beispiel indem man Pakete übermittelt). Für jeden Kanal kann dann ein möglicher Flaschenhalskanal identifiziert werden, und eine Matrix an einen anderen Nächst-Sprung-Knoten identifizieren und zugehörige Übertragungskanäle zur Benutzung. In einigen Ausführungsbeispielen werden kanal-metrische Matrizen erzeugt und für jeden Zielknoten gespeichert, und diese können kanal-metrische Vektoren (X0, X1, ..., Xi) für Nächst-Sprung-Knoten umfassen. In einigen Ausführungen können die Kanal-metrischen Vektoren eine Kanal-Metrik für jeden der Kommunikationskanäle umfassen, die die Nutzung des Kommunikationskanals als Pfad durch das Netzwerk zum Zielknoten anzeigt, der mit der Kanal-metrischen Matrix zugehörig ist. In einigen Ausführungen können Elemente der Kanal-metrischen Vektoren jeweils einem Kommunikationskanal zugehörig sein und eine gewichtete Kombination von Sprung-Zahl, Verbindungsbandbreite, Übertragungszeitschätzung (airtime estimate) und Datenrate für die zugehörigen Kanäle umfassen, obwohl der Schutzbereich der Erfindung nicht hierauf beschränkt ist. In einigen Ausführungen können Elemente der Kanal-metrischen Vektoren auf der Verbindungsgeschwindigkeit, dem Rauschen, dem Signal zu Rauschverhältnis, der Zuverlässigkeit oder anderen Verbindungsfaktoren basiert werden.
-
In einigen Ausführungen kann die Pfadauswahlschaltung 208 eine erste kanal-metrische Matrix, die mit dem Quellknoten des Paketes in Verbindung steht, und eine zweite kanal-metrische Matrix, die mit dem Zielknoten des Paketes zugehörig ist, eine neue kanal-metrische Matrix erzeugen. Jeder kanal-metrische Vektor (X0, X1, ....Xi) (zum Beispiel eine Zeile), der neuen Kanal-metrischen Matrix kann eine maximale Kanal-Metrik aufweisen, und die Pfadauswahlschaltung 208 kann einen der Kanal-metrischen Vektoren auswählen (zum Beispiel eine Zeile), die einen Minimalwert der maximalen Kanal-Metrik aufweist. Der ausgewählte Kanal-Metrik Vektor kann mit einem Flaschenhalskanal für das Quelle-Ziel-Paar zugehörig sein, und der ausgewählte Vektor kann auch mit dem Nächst-Sprung-Knoten und einem Übertragungskanal zum Weiterleiten des empfangenen Paketes zusammengeführt sein.
-
In einigen Ausführungen kann die Pfadauswahlschaltung 208 Elemente der ersten Kanal-metrischen Matrix, die mit dem Quellknoten des Paketes zu tun haben, und Elemente der zweiten Kanal-metrischen Matrix, die mit dem Zielknoten des Paketes zu tun haben, kombinieren, um eine neue kanal-metrische Matrix durch gleichmäßiges gewichten beider Elemente zu erzeugen. In anderen alternativen Ausführungen kann die Pfadauswahlschaltung Elemente der ersten Kanal-metrischen Matrix, die zum Quellknoten des Paketes gehören, und Elemente der zweiten Kanal-metrischen Matrix, die zum Zielknoten des Paketes gehören, kombinieren, um eine neue kanal-metrische Matrix durch gewichten der Elemente nach einem Gewichtungsalgorithmus zu erzeugen. Der Gewichtungsalgorhithmus kann Gewichtungselemente basierend auf der Verbleibezeit (zum Beispiel in Bezug auf den Spungzähler) nach einem Gewichtungsalgorithmus zu erzeugen. Der Gewichtungsalgorithmus kann Gewichtungselemente basierend auf der Verbleibezeit (zum Beispiel in Bezug auf den Sprungzähler) oder den Durchsatzgewichten, obwohl der Schutzbereich der Erfindung nicht in dieser Weise beschränkt ist.
-
In einigen Ausführungen kann die Pfadauswahlschaltung die kanal-metrische Matrix für die Zielknoten des Netzwerkes durch die Konstruktion von Pfaden durch das Netzwerk erzeugen, zu Zielknoten auf einer Sprung-zu-Sprung Basis durch separate Berücksichtigung von Kostenverteilungen jedes der Kommunikationskanäle in Form eines Kanal-metrischen Vektors für jeden Kandidatenweg.
-
In einigen Ausführungen können Kanäle, die zur Kommunikation zwischen Knoten eines Vielfach-Träger-Mesh-Netzwerkes genutzt werden. Paket geschaltete Kanäle umfassen zeitgeteilte multiplexe Kanäle (zum Beispiel Nutzung von Zeitfenstern), frequenzgeteilte multiplexe Kanäle, codegeteilte multiplexe Kanäle oder andere Kanalzuteilungstechniken.
-
In einigen Ausführungen können ein drahtloser Kommunikationsknoten 200 orthogonal frequenzdivisionsmultiplexe (OFDM) Kommunikationssignale übertragen und empfangen werden. In einigen Ausführungen können Transceiver 202 auf Multicarrier-Kommunikationskanälen übertragen und empfangen werden. Der Multicarrier-Kommunikationskanal kann innerhalb eines vorbestimmten Frequenzspektrums liegen, und kann eine Vielzahl von Orthogonalen unter Trägern umfassen. In einigen Ausführungen können die orthogonalen Unterträger (subcarrier) eng beabstandete Symbol-modulierte Unterträger sein. Um Orthogonalität zwischen den eng beabstandeten Unterträgern eines OFDM-Signals zu erreichen, kann jeder Unterträger eine null an, im wesentlichen, der Zentralfrequenz der anderen Unterträger aufweisen. In einigen Ausführungen kann, um Orthogonalität zwischen den eng beabstandeten Unterträgern eines OFDM-Signals zu erleichtern, jeder Unterträger eine ganzzahlige Anzahl von Zyklen innerhalb einer Symbol-Periode aufweisen. In einigen Ausführungen kann die Orthogonalität zwischen den verschiedenen Kommunikationskanälen 104 (1) durch eine Frequenz-geteilte-multiplexing(FDM)-Technik erreicht werden, eine zeitgeteilte-multiplexing(TDM)-Technik, eine Code-division-multiplexing(CDM)-Technik oder Kombinationen dieser.
-
In einigen Ausführungen können die Frequenzspektren der Multi-Träger-Kommunikationskanäle entweder ein 5 GHz Frequenzspektrum oder ein 2,4 GHz Frequenzspektrum umfassen. In diesen Ausführungen kann das 5 GHz Frequenzspektrum Frequenzen von ungefähr 4,9 bis 5,9 GHz und das 2,4 GHz Spektrum Frequenzen im Bereich von ungefähr 2,3 bis 2,5 GHz umfassen, obwohl der Schutzbereich der Erfindung nicht in dieser Weise begrenzt ist, und andere Frequenzspektren ebenfalls möglich sind. In einigen Ausführungen können Vielkanal-drahtlose Kommunikationsknoten 200 RF (Radiofrequenz) Kommunikation nach spezifischen Kommunikationsstandard, wie zum Beispiel den IEEE (Institute of Electrical and Electronics Engineers) Standards inklusive IEEE 802.11(a), 802.11(b), 802.11(g) und/oder 802.11(h) Standards für drahtlose, lokale, drahtlose Netzwerke (WLANs) oder den IEEE 802.11(s) Standard für Mesh-Netzwerke übertragen und/oder empfangen, obwohl der drahtlose Kommunikationsknoten 200 auch dazu in der Lage ist, Kommunikation mit anderen Techniken zu übertragen oder zu empfangen. Antennen 212 können gerichtete oder Allrichtungsantennen sein, inklusive zum Beispiel Dipol-Antennen, Monopol-Antennen, Flächenantennen, Streifenantennen, Mikrostreifenantennen oder andere Typen von Antennen, die zum Empfang und/oder der Übertragung von RF-Signalen geeignet sind.
-
In einigen Ausführungen kann der Multikanal-drahtlose-Kommunikationsknoten 200 fast jedes Gerät sein, das als drahtloser Router betrieben werden kann, inklusive einem PDI (personal digital assistant) einem Laptop oder tragbarem Computer mit drahtloser Kommunikationsfähigkeit, ein Web tablet, ein drahtloses Telefon, ein drahtloses Headset, ein Pager, ein IND (instant messaging device), eine Digitalkamera, ein Access-Point oder eine andere Einrichtung, die Information drahtlos empfangen und/oder übertragen kann. Obwohl der multikanal-drahtlose Kommunikationskanal 200 als drahtlose Kommunikationseinrichtung dargestellt ist, kann der drahtlose Kommunikationsknoten 200 fast jede drahtlose oder drahtgebundene Kommunikationseinrichtung sein, inklusive einem Vielzweckverarbeitungs- oder Rechnersystem. In einigen Ausführungen kann der drahtlose Kommunikationsknoten 200 ein batteriebetriebenes Gerät sein.
-
Obwohl der drahtlose Vielkanal-Kommunikationsknoten 200 mit verschiedenen separaten Funktionselementen dargestellt ist, kann eines oder mehr der Funktionselemente kombiniert werden oder durch Kombinationen von Software-konfigurierten Elementen implementiert werden, wobei solche Verarbeitungselemente DSPs (auch digital signal processors) und/oder andere Hardware-Elemente umfassen. Zum Beispiel können die Verarbeitungselemente ein oder mehrere Mikroprozessoren umfassen, DSPs, anwendungsspezifische, integrierte Schaltkreise (ASICs) und Kombinationen verschiedener Hardware und Logikschaltkreisen zum Durchführen wenigstens der Funktionen, die hier beschrieben sind. In einigen Ausführungsbeispielen können die Funktionselemente des drahtlosen Multikanal-Kommunikationsknoten 200 auf ein oder mehr Prozesse Bezug nehmen, die auf einem oder mehr Verarbeitungselementen beruhen.
-
3 ist ein Flußdiagramm eines Paketweiterleitungsverfahrens nach einigen Ausführungsbeispielen der vorliegenden Erfindung. In einigen Ausführungen kann das Paketweiterleitungsverfahren 300 durch einen Zwischenknoten eines multikanal Mesh-Netzwerkes durchgeführt werden, zum Weiterleiten eines laufenden Paketes zwischen einem Quell- und Zielknoten des Netzwerkes. In einigen Ausführungen kann das Paketweiterleitungsverfahren 300 durch ein multikanal-drahtlosen Mesh-Netzwerkrouter, wie zum Beispiel Knoten 200 (2) durchgeführt werden, obwohl der Schutzbereich der Erfindung nicht auf diese Weise beschränkt ist. Einzelkanal-Mesh-Routers können auch für das Weiterleitungsverfahren 300 geeignet sein.
-
Beim Arbeitsschritt 302 wird ein Paket empfangen, und der Quellknoten des Paktes und der Zielknoten des Paketes aus Informationen (zum Beispiel einer Titelzeile) innerhalb des Pakets bestimmt. Der Arbeitsschritt 302 umfaßt das Identifizieren einer Kanal-metrischen Matrix für den Quellknoten des Paketes und einer Kanal-metrischen Matrix für den Zielknoten des Paketes. Arbeitsschritt 302 kann durch Vielsprungweiterleitungsschaltkreise 206 (2) und Pfadauswahlschaltkreise 208 (2) durchgeführt werden, obwohl der Schutzbereich der Erfindung nicht in dieser Weise beschränkt ist.
-
Arbeitsschritt 304 umfaßt das Kombinieren der Kanal-metrischen Matrix, die für den Quellknoten des Paketes identifiziert wird, mit der Kanal-metrischen Matrix, die für den Zielknoten des Paketes identifiziert ist. Das Kombinieren dieser Matrizen kann nach einer linearen Kombinationstechnik geschehen, die oben beschrieben wurde.
-
Arbeitsschritt 306 umfaßt das Auswählen eines Nächst-Sprung-Knotens eines zugehörigen Kommunikationskanals, basierend auf den Elementen der kombinierten Kanal-metrischen Matrix, die in Arbeitsschritt 304 erzeugt ist. In einigen Ausführungen kann eine Zeile mit der niedrigsten maximalen Metrik ausgewählt werden, obwohl der Schutzbereich der Erfindung nicht in dieser Weise beschränkt ist. Die ausgewählte Zeile kann zu einem Flaschenhalskanal der kanal-metrischen Matrix für den Zielknoten des Paketes korrespondieren.
-
Arbeitsschritt 308 umfaßt das Speichern eines Nächst-Sprung-Knotens und Flaschenhalskanals für die Quelle-Zielkombination, die mit im Paket zugehörig ist. Auf diese Weise ist die Bestimmung des Flaschenhalskanals nur einmal das Quelle-Zielpaar unter den momentanen Kanalbedingungen notwendig. Die. Arbeitsschritte 304 bis 308 können durch eine Pfadauswahlschaltung 208 durchgeführt werden (2), obwohl der Schutzbereich der Erfindung nicht auf diese Weise beschränkt ist.
-
Arbeitsschritt 310 umfaßt das Übertragen (zum Beispiel das Weiterleiten) des Paketes an den Nächst-Sprung-Knoten, basierend auf der identifizierten Zeile unter Benutzung des zugehörigen Übertragungskanals der in Arbeitsschritt 306 bestimmt ist. Arbeitsschritt 310 kann durch Fehlsprung-Weiterleitungsschaltung 206 (2) und einen der Transceiver 202 (2) durchgeführt werden, obwohl der Schutzbereich der Erfindung nicht auf diese Weise beschränkt ist.
-
Obwohl die individuellen Arbeitsschritte des Verfahrens 300 als separate Arbeitsschritte dargestellt und beschrieben wurden, kann einer oder mehrere der individuellen Arbeitsschritte gleichzeitig ausgeführt werden, und nichts erfordert, dass die Arbeitsschritte in der dargestellten Reihenfolge durchgeführt werden.
-
Die Nutzung von Vielfach-Transceivern durch einen Mesh-Router kann ein verbessertes Systemverhalten mit sich bringen. Die Nutzung von Vielfach-Transceivern durch einen Mesh-Router kann dabei Voll-Duplex-Kommunikation ermöglichen, die es erlaubt, dass ein Knoten auf einem Radio empfängt, während gleichzeitig auf einer zweiten Radiofrequenz übertragen wird.
-
Die Nutzung von Vielfach-Transceivern kann auch erlauben, dass mehr als ein Link entlang eines Vielfach-Sprung-Pfades aktiv zu einem Zeitpunkt ist, sogar wenn alle der Verbindungen in dem Pfad innerhalb der Interferenzbereichs voneinander sind, in den verschiedene Verbindungen erlaubt wird, verschiedene nicht-interferierende Kanäle zu benutzen.
-
4 ist ein Beispiel eines multikanal Mesh-Netzwerkes. Multikanal Mesh-Netzwerk 400 kann dazu genutzt werden, eine Beispiel zu illustrieren, in dem die Benutzung eines Distanz-Vektors nicht in einem optimalen Pfad von einem Quellknoten zu einem Zielknoten vier führt. In diesem Beispiel ist der optimale Pfad für Knoten 4 zu Knoten eins der Pfad, von Knoten vier zu Knoten drei zu Knoten eins (zum Beispiel 4-3-1) (was die Interferenz zwischen den zwei Sprüngen von Knoten vier zu Knoten eins minimiert), während der optimale Pfad von Knoten sechs zu Knoten eins der Pfad von Knoten sechs zu Knoten fünf zu Knoten vier zu Knoten zwei zu Knoten eins (zum Beispiel 6-5-4-2-1) ist. In einigen Ausführungen kann die Verbindungs-Status-Routing dazu genutzt werde, um optimale Pfade in einem Vielkanal-Netzwerk zu finden. Pakete, die von einem Knoten zu einem vorgegebenen Ziel weitergeleitet werden, können einen anderen Nächst-Sprung nutzen als die Pakete, die auf dem Knoten für die gleiche Richtung genutzt werden. 5 ist ein Beispiel einer Routing-Tabelle für ein multikanal Mesh-Netzwerk. Die Routing-Tabelle 500 kann Einträge für Knoten vier des Netzwerkes 400 darstellen (4).
-
6 ist ein Beispiel eines multikanal Mesh-Netzwerkes, das vier Kommunikationskanäle nutzt. Im Mesh-Netzwerk
600 kann man annehmen, dass die Kosten für die Benutzung jedes Links einen Wert von eins haben, und das Ziel ist, die Interferenz zwischen den Kanälen zu minimieren. Basierend auf diesem Ziel wird ein Pfad durch das Netzwerk
600 bestimmt, die die maximale Anzahl von Verbindungen, die den gleichen Kanal nutzen, minimiert. Zum Beispiel kann für ein Paket, das vom Knoten eins zu Knoten fünf zu leiten ist, Knoten eins in seiner Routing-Tabelle nachsehen und die folgende Matrix finden:
-
Knoten eins kann dann Kanal eins auswählen, zwei oder vier als die Flaschenhalskanäle, da keine dieser Auswahl ein Kanalstau aufweist. Wenn entweder Kanal eins oder Kanal zwei ausgewählt wird, dann wird das Paket zu Knoten drei weitergeleitet. Knoten drei kann dann die folgende Rechnung durchführen, um den Flaschenhalskanal festzustellen.
-
-
Es wird darauf hingewiesen, dass die Zeilen für die Kanäle eins und zwei bei Knoten drei die gleichen, wie die Zeilen, die für Knoten eins errechnet worden sind. Dies kann auftreten, da Knoten drei auf dem Weg von Knoten eins liegt, unter der Annahme, dass entweder Kanal eins oder Kanal zwei der Flaschenhalskanal sind. Die anderen zwei Zeilen sind beide verschieden und schlechtere Auswahl, als sie Knoten eins wäre. Daher kann Knoten drei die gleiche Auswahl wie Knoten eins treffen, und das Paket zu seinem Ziel richtig weiterleiten. Wenn Knoten eins Kanal vier als Flaschenhalskanal auswählt, wird es an Knoten vier weiterleiten. Knoten vier kann dann die folgende Rechnung ausführen, um den Flaschenhalskanal zu bestimmen:
-
Dadurch werden an Knoten vier die gleichen Flaschenhalskanäle zugänglich, und Knoten vier wählt den gleichen Pfad wie Knoten eins.
-
Wenn nicht anders ausdrücklich festgestellt, sind solche Begriffe wie Verarbeiten, Errechnen, Berechnen, Bestimmen, Anzeigen und dergleichen auf eine Aktion oder ein Verfahren bezogen, das ein oder mehr Verarbeitungs- oder Rechnersysteme oder ähnliche Einrichtungen betrifft, die Daten manipulieren und transformieren, die als physische (zum Beispiel elektronische) Einheiten innerhalb der Rechnersystemregister und des Speichers vorhanden sind, in andere Daten, die ähnlich als physikalische Größen innerhalb der Register des Rechnersystems oder Speichers vorhanden sind, und andere solche Informationen, Speicherung, Übertragung und Anzeigeeinrichtungen. Weiter wird, wie hier benutzt, eine Rechnereinrichtung ein oder mehr Arbeitselemente mit einem Computer-lesbaren Speicher gekoppelt, der flüchtig oder nicht flüchtig oder eine Kombination von beiden sein kann.
-
Ausführungen der Erfindung können in einer oder in einer Kombination mehrerer Hardware, Firmware oder Software liegen. Ausführungen der Erfindung können auch als Befehle implementiert werden, die in einem Maschinen-lesbaren Medium gespeichert sind, das von wenigsten einem Prozessor gelesen und ausgeführt werden kann, um die Arbeitsschritte, die hierin beschrieben sind, durchzuführen. Ein Maschinen-lesbares Medium kann einen beliebigen Mechanismus zum Speichern oder Übertragung von Informationen in Form, die lesbar durch eine Maschine (zum Beispiel ein Computer) ist, umfassen. Zum Beispiel kann ein Maschinen-lesbares Medium ein ROM (read-only memory), ein RAM (random-access memory), ein magnetischer Plattenspeichermedium, ein optisches Speichermedium, eine Flash-Speichereinrichtung, elektrische, optische, akustische und/oder andere Formen von sich fortpflanzenden Signalen (zum Beispiel Trägerwellen, Infrarotsignale, Digitalsignale und so weiter) sein und auch anderes.
-
In der vorangegangenen, ausführlichen Beschreibung sind verschiedene Merkmale bei Gelegenheit miteinander in einem einzelnen Ausführungsbeispiel gruppiert zum Zwecke der Lesbarkeit der Offenbarung. Dieses Verfahren der Offenbarung soll nicht als einschränkend zu den beanspruchten Ausführungen des Erfindungsgegenstandes dienen, in der Weise, dass mehr Merkmale als ausdrücklich in jedem Anspruch aufgeführt notwendig sind. Ganz im Gegenteil wird in den folgenden Ansprüchen die Erfindung dadurch definiert, dass sie in weniger als allen Merkmalen eines dargestellten Ausführungsbeispiels liegen kann. Dadurch werden die nachfolgenden Ansprüche in die Beschreibung aufgenommen, wobei jeder Anspruch als eigenes eigenständiges, bevorzugtes Ausführungsbeispiel steht.