DE69635511T2 - Verfahren und gerät zum weglenken von nachrichten in einem knoten-netz - Google Patents

Verfahren und gerät zum weglenken von nachrichten in einem knoten-netz Download PDF

Info

Publication number
DE69635511T2
DE69635511T2 DE69635511T DE69635511T DE69635511T2 DE 69635511 T2 DE69635511 T2 DE 69635511T2 DE 69635511 T DE69635511 T DE 69635511T DE 69635511 T DE69635511 T DE 69635511T DE 69635511 T2 DE69635511 T2 DE 69635511T2
Authority
DE
Germany
Prior art keywords
node
nodes
network
message
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69635511T
Other languages
English (en)
Other versions
DE69635511D1 (de
Inventor
V. Aninda DASGUPTA
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/498,286 external-priority patent/US5898733A/en
Priority claimed from US08/558,447 external-priority patent/US5926101A/en
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Application granted granted Critical
Publication of DE69635511D1 publication Critical patent/DE69635511D1/de
Publication of DE69635511T2 publication Critical patent/DE69635511T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Description

  • HINTERGRUND DER ERFINDUNG
  • Anwendungsbereich der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Konfigurieren eines Netzwerkes, das Folgendes umfasst: Die Ermittlung der Knoten des Netzwerkes, die miteinander kommunizieren können; und die Zuordnung von Identifikatoren zu den Knoten.
  • Die Erfindung bezieht sich ferner auf ein Verfahren zum Routing einer Nachricht innerhalb eines Knotennetzwerkes, wobei die Knoten durch eindeutige Knotenidentifikatoren identifiziert werden.
  • Die Erfindung bezieht sich ferner auf ein Kommunikationsnetzwerk, das eine Vielzahl von Knoten umfasst, wobei die Knoten durch eindeutige Knotenidentifikatoren identifiziert werden; und auf Knoten zum Einsatz in einem derartigen Netzwerk.
  • Die Erfindung bezieht sich ferner auf einen Kommunikationsnetzwerkknoten, der einen Speicher zum Speichern eines logischen Identifikators des Knotens umfasst; und einen Prozessor, der ermittelt, ob sich der Knoten in einem Nachrichtenpfad zu einem Zielknoten befindet.
  • Die Erfindung bezieht sich ferner auf einen Netzwerksteuerknoten für ein Kommunikationsnetzwerk, der einen Speicher zum Speichern einer Netzwerkkonfiguration umfasst; und einen Prozessor.
  • Beschreibung der verwandten Technik
  • Die heutigen typischen Netzwerke und insbesondere diejenigen, die für die die Echtzeitsteuerung von modernen Gebäuden eingesetzt werden, beinhalten durch Drähte verbundene Knoten, die beim Bau des Gebäudes eingerichtet werden. In diesen Systemen werden die Netzwerke dazu verwendet, die Beleuchtung, die Heizung bzw. Kühlung, die Aufzüge usw. zu steuern. Die Knoten des Netzwerkes sind typischerweise Mikrocomputer mit einer erheblichen Anzahl von Speichern und anderen Ressourcen. Da diese Systeme verdrahtet sind und relativ leistungsfähige Knoten enthalten, sind sie kostspielig und ihr Einsatz im Allgemeinen nur in den größten Gebäuden gerechtfertigt. Außerdem sind sie im Allgemeinen nicht für die Nachrüstung älterer Gebäude geeignet, die die geeignetsten Objekte insbesondere für Systeme zur Steuerung der Energienutzung sein können.
  • Benötigt wird ein Netzwerk aus sehr kostengünstigen Knoten, d.h. aus Knoten, die minimale Ressourcen haben oder aus ressourcenarmen Knoten, die drahtlos miteinander verbunden und somit für Gebäude kleiner bis mittlerer Größe und für die Nachrüstung älterer Gebäude geeignet sind.
  • In typischen netzwerk-basierenden Steuersystemen tauschen die Knoten eines Datenkommunikationsnetzwerkes untereinander Informationseinheiten aus. Diese Einheiten werden herkömmlicherweise als Datenpakete, Frames oder Zellen bezeichnet. In einem Multihop-Netzwerk verfügt ein Knoten nicht über eine direkte Kommunikationsverbindung mit jedem anderen Knoten des Netzwerkes, und ein Paket muss eventuell über Zwischenknoten weitergeleitet werden, die in einem Kommunikationspfad vom Quellknoten zum Zielknoten liegen. In Abhängigkeit von der Art des Netzwerkes und seinen Merkmalen kann diese Funktion des Routings von Paketen an den Zwischenknoten Folgendes beinhalten: 1) die Auswahl einer von vielen Verbindungen, die von dem Zwischenknoten abgehen (beispielsweise in einem Punkt-zu-Punkt-Multihop-Netzwerk wie dem Internet) oder 2) eine Entscheidung darüber, ob ein empfangenes Paket weiterzuleiten (weiterzusenden) ist oder nicht (beispielsweise in einem drahtlosen Multihop-Broadcast-Netzwerk, in dem alle Knoten einen gemeinsamen Kanal nutzen). Die meisten der in Datenkommunikationsnetzwerken eingesetzten beliebten Routing-Verfahren nutzen Routing-Tabellen oder Entscheidungstabellen, um Entscheidungen zum Routing in einem Vorgang zu fällen, bei dem eine Adresse einer Nachricht dazu verwendet wird, zwecks Routing-Entscheidung oder Auswahl auf die Tabelle zuzugreifen. Eine Routing-Tabelle gibt in einem Zwischenknoten die beste abgehende Verbindung oder den kürzesten Pfad zum Zielknoten an, für den das Paket bestimmt ist. Entscheidungstabellen helfen bei der Entscheidung über die Weiterleitung eines empfangenen Paketes. Derartige Tabellen nehmen jedoch Platz im Speicher eines Knotens ein. Beispielsweise wären, wenn in einem Netzwerk mit 256 Knoten, was ungefähr der Anzahl für ein typisches Gebäude mittlerer Größe entspricht, jeder Knoten eine einfache Routing-Tabelle enthielte, mindestens 512 Bytes für die Angabe erforderlich, an welchen Knoten ein Paket weiterzuleiten ist. Eine Entscheidungstabelle in einem derartigen Netzwerk mit 256 Knoten kann 288 Bytes benötigen, 256 Bytes für die Knotenadressen und 32 Bytes für die Angabe in Bits, ob ein für jeden Knoten in der Tabelle bestimmtes Paket weiterzuleiten ist oder nicht. In einem Netzwerk mit ressourcenarmen Knoten mit geringer Speicherkapazität steht nicht genug Speicherplatz zur Verfügung, um derartige Tabellen zu speichern. Der Speicher wird in derartigen Knoten gemeinsam für Datenkommunikationsfunktionen und system- oder anwendungsspezifische Funktionen genutzt. Daher müssen andere Routing-Verfahren erfunden werden. Diese Routing-Verfahren sollten nicht nur sehr wenig RAM nutzen, sondern auch effizient sein bei der Weiterleitung von Paketen von der Quelle zum Ziel mit annehmbaren Laufzeiten.
  • Es werden ein Netzwerk aus Knoten mit minimalen Ressourcen, insbesondere Speicher, und ein Routing-Protokoll benötigt, das mit derartigen Knoten funktioniert. Ein Verfahren zum Routing einer Nachricht in einem Netzwerk nach dem Stand der Technik ist in dem Dokument US-A-5 295 154 beschrieben, in dem die Knoten des Netzwerkes wie ein Spannbaum angeordnet sind.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung hat zur Aufgabe, ein System zu schaffen, das ein Netzwerk aus kostengünstigen Knoten mit minimalen Ressourcen drahtlos verbindet.
  • Die vorliegende Erfindung hat ferner zur Aufgabe, ein System zu schaffen, das Knoten mit Hilfe von Broadcast-Kommunikationsverfahren verbindet.
  • Die vorliegende Erfindung hat ferner zur Aufgabe, ein Netzwerk zu schaffen, das es nicht erfordert, dass Routing-Tabellen in den Knoten gespeichert werden.
  • Die vorliegende Erfindung hat ferner zur Aufgabe, ein Routing-Protokoll zu schaffen, das für Netzwerke mit ressourcearmen Knoten geeignet ist.
  • Die vorliegende Erfindung hat ferner zur Aufgabe, ein System zu schaffen, das ein Netzwerk aus Knoten konfiguriert.
  • Die vorliegende Erfindung hat ferner zur Aufgabe, ein System zu schaffen, das es ermöglicht, Gebäude kleiner bis mittlerer Größe mit kostengünstigen Netzwerken auszustatten und ältere Gebäude entsprechend nachzurüsten.
  • Das Verfahren des Routings einer Nachricht ist in Anspruch 1 definiert.
  • Das Kommunikationsnetzwerk ist in Anspruch 17 definiert.
  • Das System umfasst vorzugsweise ein drahtloses Multihop-Broadcast-Netzwerk aus Knoten, die ein Minimum an Hardwareressourcen, wie Speicher und Prozessorleistung, aufweisen. Das Netzwerk wird mit Hilfe eines partitionierten Spannbaums kon figuriert, und die Knotenadressen werden so zugeordnet, dass die Adresse eines Zwischenknotens mit der Zieladresse eines Pakets verglichen werden kann, um vollständige Entscheidungen zum Paket-Routing zu fällen.
  • Diese und andere Aufgaben und Vorteile, die sich in den Einzelheiten der Konstruktion und der Funktionsweise widerspiegeln, sind in den Zeichnungen dargestellt und werden im Folgenden näher beschrieben, wobei gleiche Teile durchgehend die gleichen Bezugszeichen haben.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Es zeigen:
  • 1 Knoten eines Netzwerkes gemäß der vorliegenden Erfindung;
  • 2 ein Netzwerk aus drahtlosen Multihop-Knoten;
  • 3 ein Ablaufdiagramm des von einem Netzwerksteuerknoten ausgeführten Prozesses;
  • die 4, 5, 6, 10, 11, 13, 19, 20 und 2225 Nachrichtenpakete;
  • 7 ein Ablaufdiagramm eines Prozesses des Überschwemmens mit Hopzahlen;
  • 8 ein Ablaufdiagramm eines Parent-Routing-Prozesses;
  • 9 einen Initialisierungsprozess des Netzwerksteuerknotens;
  • 12 einen Initialisierungsprozess eines Netzwerkknotens;
  • 14 ein Ablaufdiagramm eines von dem Netzwerksteuerknoten durchgeführten Grapherstellungsprozesses;
  • 15(a) ein Netzwerk aus Knoten;
  • 15(b) eine Datenstruktur, die das Netzwerk aus 15(a) darstellt;
  • 16 einen Spannbaum des Netzwerkes aus 2;
  • 17 die den Knoten des Netzwerkes aus 17 gemäß der vorliegenden Erfindung zugeordneten Adressen;
  • 18 einen Überwachungs- und Steuerprozess des Netzwerksteuerknotens; und
  • 21 ein Ablaufdiagramm des von den Netzwerkknoten nach der Netzwerkinitialisierung durchgeführten Prozesses.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Die vorliegende Erfindung bezieht sich auf ein Netzwerk aus kostengünstigen Knoten, das für die Durchführung einfacher Funktionen, wie die Steuerung des Helligkeitsgrades in einem einzigen Raum, geeignet ist, und bei dem jeder Knoten in das zu steuernde Bauteil, beispielsweise einen Lichtschalter, eingebaut werden kann. Die Knoten eines derartigen Netzwerkes sind „ressourcenarm". Ein Knoten wird als ressourcenarm bezeichnet, wenn sein Speicher nicht ausreicht, um Routing-Informationen, wie Routing-Tabellen, zu speichern, und er über nicht genügend Prozessorleistung verfügt, um die „beste Route" für ein abgehendes Paket oder eine abgehende Nachricht auf der Grundlage von Informationen wie dem kürzesten Pfad, der Netzwerküberlastung, der Übertragungssteuerung usw., zu berechnen. Das bevorzugte Ausführungsbeispiel umfasst die Netzwerkknoten 10, wie sie in 1 dargestellt sind, die jeweils eine kostengünstige 4- oder 8-Bit-Mikrocontroller-Verarbeitungseinheit (engl. microcontroller processing unit, MPU) 12, wie beispielsweise den Mikrocontroller Motorola 68HC11, umfassen, der einen On-Chip-RAM 14 mit sehr begrenzter Kapazität (in der Größenordnung von 32 Bytes), einen PROM 16, vorzugsweise des Typs EEPROM, zum Speichern programmierbarer, jedoch nicht flüchtiger Informationen wie der Knotenadresse (d.h. ca. 4 Bytes), und einen ROM 18 (ca. 1 oder 2 KBytes) enthält, in dem die Steuer- und Netzwerk-Routing-Programme oder -Software gespeichert sind. Jeder Knoten 10 umfasst ferner einen herkömmlichen drahtlosen Sender/Empfänger 20, der die Kommunikation mit anderen Knoten des Systems ermöglicht. Der Sender/Empfänger 20 ist ein Bauteil mit niedriger Leistung, der typischerweise nur ein paar Meter weit, beispielsweise die Entfernung zwischen ein bis ca. drei Räumen in einem Gebäude, sendet. Da die Knoten über minimale Ressourcen, beispielsweise einen RAM-Speicher, verfügen, können die Knoten keine hoch entwickelten Routing-Programme speichern, die von Routing- oder Entscheidungstabellen abhängen. Zur Verwaltung des Netzwerkes und zur Bestimmung der Netzwerkkonfiguration ist ein intelligenter und relativ leistungsstarker Knoten, der so genannte Netzwerksteuerknoten (engl. network control node, NCN) 30 vorgesehen. Der NCN 30 kann die gleiche Version des MPU 32, des RAM 34, des PROM 36, des ROM 38 und des Sender/Empfängers 40 wie die Knoten 10 umfassen und umfasst ferner einen herkömmlichen seriellen Port 42, der mit einem herkömmlichen Rechner 44, beispielsweise einem PC oder einer Workstation, verbunden ist, welche ® den herkömmlichen Plattenspeicher und die Ein-/Ausgabegeräte umfasst, die zur Durchführung der Netzwerk- und Systemsteuerung geeignet sind, wie beispielsweise die Steuerung der Beleuchtung in einem Gebäude.
  • Der NCN 30 ist für die Ausführung eines partitionierten Spannbaum-Routing-Protokolls (engl. PArtitioned Spanning Tree, PAST) verantwortlich. Das PAST-Routing-Protokoll der vorliegenden Erfindung ist auf fast jede Art von Multihop-Netzwerken anwendbar und nutzt keine Routing- oder Entscheidungstabellen. Es ist jedoch bestens für Netzwerke aus ressourcenarmen Knoten (mit wenig Prozessorleistung und Speicher) geeignet und beruht auf der Verfügbarkeit eines Netzwerksteuerknotens, der über ausreichende Prozessorleistung und Speicher verfügt, um den anderen Knoten Adressen zuzuordnen und das Netzwerk beim Start zu initialisieren.
  • Zum besseren Verständnis des Protokolls wird ein Netzwerk beschrieben, wie es in 2 dargestellt ist, in dem eine durchgehende Kommunikation zwischen dem NCN 60 und den ressourcenarmen Knoten 6276 und zurück, jedoch nicht zwischen zwei ressourcenarmen Knoten, wie beispielsweise 70 und 72, außer für den Austausch von Paketen stattfindet, um sie zu einem Zielknoten weiterzuleiten. Zur Beschreibung der Funktionsweise des Protokolls wird der Fall eines Broadcast-Kanalnetzwerkes betrachtet, bei dem sich jeder Knoten innerhalb eines direkten drahtlosen Kommunikationsbereichs von ein paar anderen Knoten des Netzwerkes befindet, beispielsweise befindet sich der Knoten 68 in dem Bereich der Knoten 62, 64, 66, 70 und 72, jedoch keiner anderen Knoten. Somit existieren sich überlappende Nachbarschaften (die Nachbarschaft des Knoten 66 überlappt sich mit derjenigen des Knotens 68), die alle um einen Sender zentriert sind und in denen einige Nachbarknoten des Senders liegen können.
  • Alle Knoten in dem Netzwerk nutzen einen gemeinsamen Funkkanal. Mit Hilfe eines herkömmlichen CSMA-Protokolls (engl. carrier sense multiple access) werden Kollisionen vermieden, da jeder Sender den Kanal überwachen muss und nur senden darf, wenn kein Verkehr stattfindet. Ein Knoten, der am Schnittpunkt der Nachbarschaften zweier Knoten liegt, die außerhalb des Hörbereichs des anderen liegen, kann ungültige Daten empfangen, wenn die beiden benachbarten Knoten aufgrund der Annahme, der Kanal sei nicht belegt, gleichzeitig senden. Zur Erholung von derartigen Kollisionen wird ein implizites Hop-by-Hop-Bestätigungsschema (engl. implicit hop-by-hop, IHBH) eingesetzt. Dieses Bestätigungsschema IHBH wird weiter unten erläutert.
  • Pakete, die von einem ressourcenarmen Knoten wie 74 zum NCN 60 gesendet werden, werden als sich stromaufwärts bewegend bezeichnet, und diejenigen, die vom NCN 60 zu einem ressourcenarmen Knoten gesendet werden, als sich stromabwärts bewegend bezeichnet. Jeder ressourcenarme Knoten kann mit einem eindeutigen Identifikator hergestellt werden, der physikalische ID genannt wird, oder die ID kann einem Knoten manuell während der Installation zugeordnet werden.
  • Wenn die Knoten 6276 zum ersten Mal eingeschaltet werden, beginnen sie in einer Initialisierungsphase, in der sie auf eine Übertragung vom NCN 60 warten. Der Netzwerksteuerknoten (NCN) 60 mit großer Prozessorleistung und Speicherkapazität sammelt in der Initialisierungsphase 90 (siehe 3) basierend auf vom Benutzer eingegebenen Informationen zur Anzahl der Knoten im Netzwerk zuerst Informationen von den ressourcenarmen Knoten 6264 und erstellt eine vollständige und genaue Darstellung des Netzwerkes in Form eines Graphen, wie er beispielsweise in 2 dargestellt ist. Die benötigte Information ist eine Angabe darüber, welche Knoten einander hören können, d.h. eine Liste, aus der hervorgeht, welche Knoten im Funkbereich von welchen anderen Knoten liegen. Die Information wird durch die Übertragung von Initialisierungsnachrichten mit Hilfe des Überschwemmens mit einem (weiter unten erläuterten) Hopzahl-Protokoll an alle Knoten des Netzwerkes erzielt. Diese Übertragung erfolgt Ebene für Ebene, so dass die Knoten auf den mittleren Ebenen des Netzwerkes zu denjenigen übertragen, die sich auf weiter unten liegenden Ebenen befinden. Dadurch kann jeder Knoten den Koten registrieren, der sein Elternknoten ist, d.h. den Knoten, von dem er die ersten Initialisierungssendung erhalten hat. Die Knoten antworten mit der benötigten Information über eine Antwortnachricht, die anhand eines (später zu erläuternden) Parent-Routing-Protokolls zurückgesendet wird. Die Antwortnachrichten geben ferner an, welche anderen Knoten außer dem Elternknoten der Knoten hören kann. Jede Kante des Graphen stellt eine direkte Verbindung zwischen den beiden Knoten dar, die sie verbindet. Der Graph wird danach in einen Spannbaum aufgeteilt. Den Knoten werden dann auf derartige Weise logische Adressen (partitioned spanning tree, PAST) zugeordnet, dass der Pfad, den ein Paket nehmen soll, durch die Adresse des Zielknotens oder des sendenden Knotens für Pakete, die sich stromaufwärts bzw. stromabwärts vom NCN 60 bewegen, eindeutig identifiziert wird. Bei diesem Adressierschema untersucht ein Zwischenknoten, wie der Knoten 64, der ein Paket empfängt, einfach die Adresse des Zielknotens (bei sich stromabwärts bewegenden Paketen) oder die Adresse des sendenden Knotens (bei sich stromaufwärts bewegenden Paketen), indem er sie mit der Adresse dieses Zwischenknotens vergleicht. Allein aus dem Adressenvergleich kann der Zwischenknoten feststellen, ob er in dem Pfad liegt, den das Paket nehmen soll. Befindet sich der Zwischenknoten in dem Pfad, leitet er das Paket weiter, andernfalls wird das Paket ausgesondert. Sind die Adressen einmal zugeordnet, tritt der NCN 60 in eine Überwachungs- und Steuerphase 92 ein, in der Nachrichten bezüglich Ereignissen und Befehlen mit Hilfe des PAST-Routing-Protokolls durch das Netzwerk weitergeleitet werden. Einzelheiten der Funktionsphasen des NCN 60 werden später genauer erläutert. Vor der Erläuterung von Einzelheiten der Initialisierungsphase ist es jedoch hilfreich, zwei während der Initialisierungsphase genutzte Routing-Protokolle zu kennen: 1) das Überschwemmen mit Hopzahlen (engl. flooding with hop counts, FHC) und 2) das Parent-Routing (PA). Diese beiden Protokolle werden weiter unten in Bezug auf die 7 und 8 erläutert. Als erstes wird jedoch die Struktur jedes im Netzwerk mit Hilfe der Protokolle übertragenen Pakets dargelegt.
  • Die in den weiteren Erläuterungen verwendete Struktur der Pakete ist in 4 dargestellt. Jedes Paket 100 enthält ein „Merker"-Byte 102 an einer festen Position. Dieses Byte 102 hat folgende Bitfelder (wobei sich das Bit mit der geringsten Wertigkeit rechts befindet): Bits 0 und 1 – reserviert für zukünftigen Einsatz; Bit 2 – Paketpriorität: 1 gibt an „dringendes" Paket und 0 gibt an „nicht dringendes" Paket; Bits 3 und 4 – Adressierung: 11 gibt an, dass das Paket ein „Broadcast"-Paket ist, d.h. dass das Paket von jedem Knoten im Netzwerk zu verarbeiten ist; 10 gibt an, dass das Paket ein „Multicast"-Paket ist, d.h. dass mehrere Knoten im Netzwerk, die von einer Gruppenadresse identifiziert werden, das Paket zu empfangen und zu verarbeiten haben; 01 gibt an, dass das Paket ein „Unicast"-Paket und nur für einen Knoten bestimmt ist; Bits 5 und 6 – Art des Routings: 11 gibt an, dass das Paket mit Hilfe eines Parent-Routing-Schemas weiterzuleiten ist; 10 gibt an, dass das Paket mit Hilfe des FHC-Routing-Protokolls weiterzuleiten ist; und 01 gibt an, dass das PAST-Protokoll zu verwenden ist: und Bit 7 – Bewegungsrichtung: 0 gibt an, dass sich das Paket stromaufwärts zum NCN bewegt; 1 gibt an, dass sich das Paket vom NCN weg bewegt. Eine eindeutige Paket-ID wird im zweiten Byte 104 geschaffen. Das nächste Feld 106 des Paketes 100 ist ein Feld mit variabler Länge, das die logische Adresse des Ziel-(oder Quell-)Knotens enthält. Das vierte Feld 108 enthält einen Ein-Byte-Befehl. Das nächste Feld 110 ist ein Datenfeld mit variabler Länge. Das letzte Feld 112 des Paketes 100 ist ein Prüfsummenfeld, das für die Fehlerprüfung verwendet wird.
  • In der Initialisierungsphase werden zwei Versionen des Paketes 100 aus 4 verwendet, die in den 5 und 6 dargestellt sind. Das Initialisierungspaket oder Paket INIT 120 aus 5 wird nur während des stromabwärts gerichteten FHC-Routing-Initialisierungsprozesses verwendet (siehe 7). Der Netzwerksteuerknoten (NCN) 60 sendet das Paket 120 aus 5 an alle Knoten, die sich im direkten Kommunikationsbe reich des NCN 60 befinden. Das FHC-Routing-Schema (engl. flooding with hop counts) wird dazu verwendet, das Paket 120 als Broadcast zu senden (wobei die Adressierbits in dem Merkerbyte auf 11 gesetzt sind). Jedes Paket 120 enthält die physikalische ID 104 des sendenden Knotens. Im Datenfeld 110 wird der Hop-Zähler 122 für das FHC auf Eins gesetzt, so dass nur direkte Nachbarn des sendenden Knotens das Paket verarbeiten, aber es nicht weiterleiten (wie genauer in Bezug auf 7 beschrieben wird). Die Adresse 124 des Knotens, der das Paket sendet, ist in dem Datenfeld 110 enthalten. Das Paket 120 enthält auch die Anzahl von Hops 126, die der Sender des Paketes INIT vom NCN entfernt ist. In dem in den 5 und 6 dargestellten Beispiel wird das Paket INIT 120 von einem Knoten gesendet, dessen ID ec3f(hex) lautet, und von einem Knoten empfangen, dessen ID 6bf1(hex) lautet. Das Adressenfeld 106 in einem Paket wird immer auf ffff(hex) gesetzt, da das Hopzahl-Feld 122 sicherstellt, dass das Paket INIT 120 nicht mehr als einen Hop weitergeleitet wird. Die Antwort oder das Paket RESPONSE_INIT 130 aus 6 wird lediglich im stromaufwärts gerichteten Parent-Routing-Prozess verwendet (siehe 8). Das Adressenfeld 106 des Paketes 130 ist auf die Adresse des NCN 60 (0000 hex) gesetzt. In dem Datenfeld 110 ist ein Feld 132 enthalten, das Elternknotenadresse für das Routing-Feld genannt wird und dessen Inhalt durch die ID des Elternknotens (Parent) jedes Zwischenknotens ersetzt wird, der das Paket 130 empfängt und es (als Broadcast) weiterleitet. Das zweite Feld 134 beinhaltet die Elternknotenadresse für den Netzwerkgraphen, den der NCN 60 erstellt. Die Adresse des Anfangsknotens, der das Paket RESPONSE_INIT 130 sendet, wird im nächsten Feld 136 gespeichert und die Entfernung in Hops des Anfangsknotens vom NCN wird im nächsten Feld 140 gespeichert.
  • Das FHC-Routing-Schema, wie es in 7 dargestellt ist, verwendet in jedem Paket INIT 120 einen Maximum-Hop-Zähler (Feld 122), um die maximale Anzahl von Hops anzugeben, die das Paket vornehmen kann, wenn es in einem Broadcast-Netzwerk vom Quellknoten zu seinem Ziel weitergeleitet wird. Der Quellknoten muss die genaue (oder minimale) Anzahl von Hops kennen, die erforderlich ist, bis das Paket sein Ziel erreicht hat. Ein eindeutiger Paketidentifikator wird ebenfalls in das Paket eingefügt. Jeder Zwischenknoten, beispielsweise der Knoten 64, der ein Paket empfängt (150), ermittelt (152), ob das Paket ein FHC-Paket ist, und sondert das Paket aus (154), wenn dies nicht der Fall ist. Sonst prüft (156) der Knoten den Hop-Zähler und verringert (158) ihn um Eins. Falls der Zähler Null erreicht, wird das Paket nicht weitergesendet. Sonst leitet (160) der Zwischenknoten das Paket zum Hören als Broadcast an Nachbarknoten weiter. Der Identi fikator des Pakets wird ebenfalls für eine angemessene Zeitspanne aufgezeichnet, so dass das Paket ausgesondert wird, wenn es wieder von einem benachbarten Knoten empfangen wird. So ist sichergestellt, dass das Paket den Zielknoten erreicht, bevor der Hop-Zähler Null erreicht, vorausgesetzt, kein Knoten fällt aus. Dieses Verfahren des Routings eines Paketes kann sowohl für Pakete, die sich stromaufwärts bewegen, als auch für Pakete, die sich vom NCN stromabwärts bewegen, eingesetzt werden. Die physikalische ID des Zielknotens, die in dem Paket spezifiziert ist, wird vom Zielknoten dazu verwendet zu erkennen (162), dass das Paket zu verarbeiten (164) und nicht weiterzuleiten ist. Es ist leicht ersichtlich, dass dieses Routing-Schema sehr ineffizient ist, da mehrere Kopien des Paketes in voneinander getrennten Teilen des Netzwerkes existieren können. Einige Kopien des Paketes können sich vom Zielknoten weg bewegen, wodurch Netzwerkressourcen verschwendet werden. Zusätzliche Einzelheiten zu diesem Routing-Schema sind „Digital Simulation of Hot-Potato Routing in a Broadband Distribution Communication Network" von S. P. Boehm und P. Baran, erschienen in RAND Corporation, Memorandum RM-3103-PR, im August 1964, zu entnehmen. 7 gibt eine verallgemeinerte Beschreibung der während des Routings durch Überschwemmen mit Hopzahlen durchgeführten Funktionen wieder, und das Leistungsvermögen dieses Routing-Protokolls in den Prozessen der vorliegenden Erfindung am Steuerknoten (60) und den ressourcenarmen Knoten (6276) wird in Bezug auf die 9 und 12 genauer erläutert.
  • Das in 8 dargestellte Parent-Routing-Schema ist nur für das Routing von Paketen nützlich, die sich stromaufwärts zum NCN 60 bewegen. Jeder Knoten in dem Netzwerk speichert die physikalische ID eines Knotens, der im direkten Kommunikationsbereich und mindestens einen Hop näher am NCN liegt. Der Knoten, dessen ID gespeichert wird, wird als Elternknoten bezeichnet. Der Quellknoten fügt in ein abgehendes Paket RESPONSE_INIT 130 die ID seines Elternknotens ein und leitet das Paket als Broadcast weiter. Ein Zwischenknoten, der ein Paket 130 empfängt (170), prüft (172) den Routing-Merker um sicherzustellen, dass die Art des Routings Parent-Routing ist, und lässt das Paket fallen (174), wenn es nicht die richtige Art ist. Ist es die richtige Art, prüft (176) der Knoten die in ihm enthaltene Zieladresse. Ist die Adresse nicht diejenige des Zwischenknotens, wird die Elternknotenadresse geprüft (178). Ist die Elternknotenadresse die Adresse des Zwischenknotens, wird die Adresse durch diejenige des Elternknotens des Zwischenknotens ersetzt (180), und das Paket wird gesendet (182). Dieser Vorgang wird fortgesetzt, bis der Zielknoten (der NCN 60) das Paket 130 empfängt und das Paket RESPONSE_INIT 130 verarbeitet (184). Somit bewegt sich das Paket 130 zum NCN, indem es von einem Knoten zu seinem Elternknoten springt, der sich einen Hop näher am NCN befindet. Dieses Routing-Verfahren ist effizienter als das Überschwemmen mit Hopzahlen (FHC), da nur diejenigen Knoten das Paket weiterleiten, deren ID im Paket erscheint. 8 gibt eine verallgemeinerte Beschreibung der während des Parent-Routing durchgeführten Funktionen wieder, und das Leistungsvermögen dieses Routings in den Prozessen der vorliegenden Erfindung am Steuerknoten (60) und an den ressourcenarmen Knoten (6276) wird in Bezug auf die 9 und 12 genauer erläutert.
  • Wie in 9 dargestellt, beginnt der Netzwerksteuerknoten (NCN) 60 während der Initialisierungsphase 90, nachdem der Benutzer die Anzahl von Knoten in dem Netzwerk angegeben hat, damit, ein Initialisierungspaket 120, wie es in 5 dargestellt ist, mit der ID (Feld 104) 0 und einer FHC (Feld 122) 1 zu erzeugen (200). Dieses Paket wird dann gesendet (202). Der NCN 60 wartet danach, bis ein Paket empfangen wird (204). Der NCN 60 ermittelt (206) anschließend, ob die Art des Routings FHC ist. Ist dies nicht der Fall, wird ermittelt (208), ob die Art des Routings Parent-Routing ist. Ist dies nicht der Fall, wird das Paket ausgesondert (210). Wurde das Paket durch FHC weitergeleitet, wird ermittelt (212), ob es ein Initialisierungspaket 120 ist. Ist dies nicht der Fall, wird das Paket ausgesondert (214). Ist es ein Initialisierungspaket 120, wird ermittelt (216), ob die Hopzahl 1 ist. Ist dies der Fall, wird ein Knoten in einen Graph der Knoten des Netzwerkes, beispielsweise desjenigen aus 2, eingefügt (218). Diese Einfügungsfunktion 218 erfolgt auch, wenn der NCN ein durch Parent-Routing weitergeleitetes Antwortpaket 130 empfängt und erkennt (219), das die ID des NCN enthält. Stellt der NCN fest (220), dass nicht alle Knoten für den Graph in den Graph eingetragen wurden, d.h. dass die Anzahl der Knoten des Netzwerkes, die vom Benutzer spezifiziert wurde, nicht der Anzahl der Knoten in dem Graph entspricht, geht das System zurück und wartet (204) auf ein weiteres Paket. Ist der Graph vollständig, ordnet der NCN 60 den Knoten logische Adressen eines logisch partitionierten Spannbaums (PAST) zu (222), was später ausführlicher erläutert wird. Sind die logischen Adressen einmal zugeordnet (222), teilt der NCN 60 jedem Knoten seine Adresse mit. Dies erfolgt durch Erzeugen (224) von Paketen SET_ADDRS 240 (siehe 10) und Senden (226) an die Knoten 6276.
  • Jedes Paket SET_ADDRS 240 enthält, wie in 10 dargestellt, die physikalische ID 104 des Zielknotens und die dem Ziel zugeordnete logische PAST-Adresse 242, so dass der Zielknoten das Paket annehmen und seine logische PAST-Adresse spei chern kann. Die Pakete 240 werden mit Hilfe des weiter oben erläuterten Überschwemmens mit Hopzahlen weitergeleitet. Die genaue Hopzahl 244 vom NCN zu jedem Knoten ist bekannt, da diese Information Teil des vom Zielknoten empfangenen Paketes RESPONSE_INIT war. Das Paket 240 enthält ferner eine Angabe 246 der Anzahl von Bits in der logischen Adresse. Ein Knoten, der ein Paket SET_ADDRS 240 empfängt, bestätigt den Empfang seiner PAST-Adresse dadurch, dass er ein Paket RESPONSE_SET_ADDRS 250 (siehe 11) zum NCN 60 sendet. Diese Pakete 250 werden mit Hilfe des Parent-Routing-Schemas weitergeleitet.
  • Die Funktionsweise der ressourcenarmen Knoten 6276 während der Initialisierungsphase beim Ermitteln der Art des Routings entspricht derjenigen des NCN 60, wie es durch die Bezugszeichen der gleichen Funktionen in 12 dargestellt wird. Nach der Prüfung der Hopzahl (216) speichert jeder Knoten, der zum ersten Mal ein Paket INIT 120 empfängt (240), die physikalische ID des Senders des Paketes 120 und kennzeichnet (242) den Sender als seinen Elternknoten. Zusätzlich fügt der empfangende Knoten Eins zum Wert in dem Paket hinzu, der die Anzahl der Hops vom NCN 60 zum Sender des Paketes INIT 120 angibt, und speichert das Ergebnis als die Anzahl von Hops, die der empfangende Knoten vom Netzwerksteuerknoten (NCN) 60 entfernt ist. Der empfangende Knoten erstellt (244) und sendet (246) dann ein Paket RESPONSE_INIT 130 zum NCN 60, um dem NCN 60 mitzuteilen, dass sich der empfangende Knoten im direkten Kommunikationsbereich des Knotens befindet, der das Paket INIT 120 gesendet hat (d.h. des Elternknotens). Die Pakete RESPONSE_INIT 130 werden mit Hilfe des oben erläuterten Parent-Routing-Schemas weitergeleitet. Somit enthält jedes Paket RESPONSE_INIT 130 am Anfang die physikalische ID des Elternknotens des Knotens, der das Paket erzeugt, die physikalische ID des Knotens, der das Antwortpaket 130 sendet, und die Anzahl von Hops, die er vom NCN 60 entfernt ist. Der Knoten sendet dieses Paket dann als Broadcast, aber nur der Elternknoten, dessen ID im Paket erscheint, sendet das Paket weiter, nachdem er dessen ID durch diejenige seines eigenen Elternknotens ersetzt hat. Somit wird ein Paket RESPONSE_INIT 130 zuerst von dem Sender des Initialisierungspaketes 120 weitergeleitet, der die Erzeugung des Paketes 130 veranlasste. Nach dem Empfang eines Paketes RESPONSE_INIT 130 erzeugt der NCN 60 einen Eintrag in einem Graph zur Darstellung des Quellknotens, der das Paket RESPONSE_INIT 130 gesendet hat. In dem Graph wird eine Kante erstellt, d.h. Zeiger in einer Datenstruktur in Form einer Verbundliste, um die Einträge, die den Sender des Paketes 130 darstellen, und denjenigen Knoten zu verbinden, dessen Paket 120 das Senden des Paketes 130 120 das Senden des Paketes 130 veranlasste. Die Anzahl von Hops vom NCN 60 zum Sender (Quelle) des Paketes 130 wird ebenfalls gespeichert.
  • Ein Knoten, der zum ersten Mal ein Paket 120 empfängt, erzeugt (248) (siehe 12) zusätzlich zum Senden (246) eines Paketes 130 zum NCN ein Paket INIT 120 mit einer Hopzahl 1 und einer ID ffff(hex) und sendet es zum Hören als Broadcast (250) weiter an alle unmittelbaren Nachbarn.
  • Ein Knoten, der ein Paket 120 nach dem ersten empfängt, speichert die physikalische ID des Senders des Paketes 120 nicht als Elternknoten. Er erzeugt auch kein Initialisierungspaket 120 und sendet es nicht als Broadcast weiter. Der Knoten erzeugt (252) jedoch ein Paket HEAR_INIT 260. Dieses Paket 260 hat eine ähnliche Struktur und einen ähnlichen Zweck wie ein Paket RESPONSE_INIT 130 und ist in 13 dargestellt. Ein Paket HEAR_INIT 260 bewegt sich jedoch nicht über den Sender des Paketes INIT 120, der die Erzeugung des Paketes 260 veranlasste. Ein Paket HEAR_INIT 260 bewegt sich in dem gleichen Pfad, den das erste Paket RESPONSE_INIT 130 einschlug, um den NCN 60 von dem Knoten, der das Paket HEAR_INIT 260 sendete, zu erreichen. Das Paket 260 veranlasst ebenfalls den NCN 60, eine Kante in den Graph einzufügen, um den Sender des Paketes 260 und den Sender des Paketes 120 zu verbinden, der die Erzeugung des Paketes 260 veranlasste.
  • Wurde ermittelt (254) (12), dass das empfangene Paket das Adresse setzende Paket für diesen Knoten ist, wird die logische Adresse gespeichert (256), und in die Netzwerkkommunikations- und Steuerphase eingetreten, die in Bezug auf 21 beschrieben wird.
  • Der Prozess 218 (siehe 9) des Erstellens eines Graphs ist in 14 genauer dargestellt. Wenn der NCN 60 ein Paket empfängt (270), wird es geprüft (272), um die Art des Paketes (130 oder 260) zu ermitteln (272), und falls es die falsche Art ist, wird das Paket ausgesondert (274). Wurde die richtige Paketart empfangen, werden die Adressen des Senders und des Elternknotens extrahiert (276) und dazu verwendet, einen Eintrag in eine Datenstruktur in Form einer Verbundliste zu erzeugen (278), der genauer in Bezug auf die 15(a) und 15(b) erläutert wird und in den die Daten eingefügt werden (280). Der NCN 60 ermittelt dann (282), ob der Eintrag in der Verbundliste für den Elternknoten existiert. Ist dies nicht der Fall, wird der Eintrag für den Elternknoten erzeugt (284). Danach werden die Zeiger zwischen den Einträgen in die Einträge eingefügt (286). Anschließend werden die oben in Bezug auf 9 erläuterten Schritte 220 und 222 durchgeführt.
  • Der Prozess des Erstellens des Graphs wird fortgesetzt, bis der NCN 60 die Antwortpakete (130/260) von jedem der ressourcenarmen Knoten 6276 in dem Netzwerk empfangen hat und somit in der Lage ist, jeden Knoten und jede Verbindung in dem Netzwerk darzustellen. Der resultierende Graph entspricht demjenigen in 2 und wird im Speicher als eine Verbundliste, wie sie in den 15(a) und 15(b) gezeigt ist, dargestellt. 15(a) zeigt einen NCN 300, der mit Knoten kommunizieren kann, die die physikalischen Identifikatoren (IDs) 3abc und 769 haben. Der Knoten 3abc kann mit Knoten, die die IDs 209, 152 und 622 sowie 769 haben, und mit dem NCN 300 kommunizieren. Der Knoten 769 kann mit Knoten, die die IDs 152 und 622 sowie 3abc haben und mit dem NCN 300 kommunizieren, jedoch nicht mit 209. Die Knoten mit den IDs 209, 152 und 622 können hören und an die Knoten senden, wie es durch die Graphkanten angegeben ist. Diese Anordnung ist in der Datenstruktur in Form einer durch Zeiger gelenkten Verbundliste 310 in 15(b) wiedergegeben. Es ist ersichtlich, dass jede Position oder jeder Eintrag 312 in der Liste 310 Folgendes umfasst: ein physikalisches ID-Feld 314, das die physikalische ID des entsprechenden Knotens enthält, ein Elternknoten-ID-Feld 316, das den Elternknoten identifiziert, ein Hopzahl-Feld 318, das die Anzahl der Hops zum Wurzelknoten oder NCN enthält, ein oder mehrere Kinderknoten-Zeigerfelder 320, die die weiter stromabwärts liegenden Knoten im Netzwerk identifizieren, die der aktuelle Knoten hören kann und mit denen er kommunizieren kann und die Pakete 260 senden, und einen Elternknoten-Zeiger 322, der den ersten Knoten identifiziert, der dem aktuellen Knoten ein Initialisierungspaket 120 sendete. Jeder Eintrag 312 umfasst ferner ein Feld 324, in dem die PAST-Adresse gespeichert ist, die dem entsprechenden Knoten zugeordnet wird. Diese Art des Graphen wird von dem Netzwerksteuerknoten (NCN) in der nächsten Phase der Initialisierung verwendet, um einen Spannbaum zu erzeugen und den Knoten des Spannbaums Adressen zuzuordnen.
  • Die nächste Phase der Initialisierung des Netzwerkes besteht darin, von dem ursprünglichen, im Speicher des NCN erstellten Graphen eine getrennte Datenstruktur in Form eines Spannbaums (Graph) abzuleiten. Der Spannbaumgraph wird als getrennter Graph (Datenstruktur in Form einer Verbundliste) erstellt, und der ursprüngliche Graph wird für spätere Änderungen und Erweiterungen des Netzwerkes gespeichert. Der Prozess umfasst eine abgewandelte Tiefensuche des Graphen aus Figur ?. Bei einer Tiefensuche wird ein Knoten (der am weitesten rechts liegt) ausgewählt; wenn er Kinderknoten hat, wird einer seiner Kinderknoten (der am weitesten rechts liegt) ausgewählt; wenn dieser Kinderknoten hat, wird er ausgewählt usw., bis ein Blatt erreicht ist. An diesem Punkt wer den die Geschwisterknoten des Elternknotens des Blattes durch Tiefensuche ermittelt. Bei dieser Art der Suche geht der Prozess in einem Pfad so weit wie möglich in die Tiefe, bevor andere Pfade verarbeitet werden. Bei einer Breitensuche werden alle Knoten (Geschwisterknoten) auf jeder Ebene in dem Netzwerk verarbeitet, bevor Knoten auf einer tiefer liegenden Ebene verarbeitet werden. Bei der abgewandelten Tiefensuche der vorliegenden Erfindung wird die Breite jeder Ebene durch einen Vorgang minimiert, der eine Ebene in zwei Ebenen unterteilen kann, damit die Länge der resultierenden Adresse optimiert wird. Im Rahmen dieser Erläuterung wird 2 als der ursprüngliche oder Quellgraph eingesetzt. In dieser Phase sind keine ressourcenarmen Knoten beteiligt, und diese ganze Phase läuft im Speicher des NCN ab. Es handelt sich hierbei um einen sich wiederholenden Vorgang, bei dem mehrere Dinge geschehen (die Erzeugung eines Spannbaums und die Zuordnung von Adressen) und der durch Ablaufdiagramme nicht leicht darzustellen ist. Der NCN 60 beginnt damit, dass er selbst die Wurzel des Spannbaums untersucht und ihre Anzahl von Nachbarn berechnet, indem er Eins zu der tatsächlichen Anzahl von Nachbarknoten in dem Graph addiert. Beispielsweise hat der NCN 60 zwei Nachbarn, so dass die berechnete Anzahl von Nachbarn Drei beträgt. Ist die berechnete Anzahl von Nachbarn eine Potenz von Zwei, wird jeder Nachbarknoten als ein Kinderknoten in den Spannbaum eingetragen. In dem vorliegenden Beispiel ist dies nicht der Fall. Ist die Anzahl von Nachbarn keine Potenz von Zwei, kann bei einigen der Nachbarknoten ausgeschlossen werden oder nicht, dass sie Kinderknoten in dem Spannbaum sind. Um darüber zu entscheiden, berechnet der NCN 60 die höchste Potenz von Zwei, bezeichnet mit ↓2, die geringer ist als die Anzahl von Nachbarn, und die niedrigste Potenz von Zwei, bezeichnet mit ↑2, die höher ist als die Anzahl von Nachbarn. Liegt die Anzahl von Nachbarn näher bei ↑2 als bei ↓2, werden alle Nachbarn als Kinderknoten in den Spannbaum eingetragen. Liegt die Anzahl von Nachbarn jedoch näher an ↓2, versucht der NCN 60 zu ermitteln, bei welchen der Nachbarknoten in dem Graph ausgeschlossen werden kann, dass sie Kinderknoten in dem Spannbaum sind. Falls die Nähe der Anzahl von Nachbarn zu ↑2 und zu ↓2 gleich ist, entscheidet der NCN 60, dass einige Nachbarn ausgeschlossen werden. Zur Durchführung dieser Ermittlung folgt der NCN den Kanten des Graphs um festzustellen, ob einer der Nachbarknoten von einem der anderen Nachbarn zu erreichen ist. In dem aktuellen Beispiel ist der Knoten 62 vom Knoten 64 zu erreichen. Jeglicher Nachbar, der von jeglichem anderen Nachbarknoten erreicht werden kann, wird nicht als Kinderknoten in den Spannbaum eingetragen, und die Anzahl von Nachbarn wird um Eins reduziert. Sobald die Anzahl von Nachbarn ↑2 erreicht, wird der Ausschlussprozess für die Nachbarn des aktuellen Knotens gestoppt. Die ausgeschlossenen Nachbarn werden später in den Spannbaum eingetragen. Stellt der NCN 60 fest, dass bei keinem Nachbarn ausgeschlossen werden kann, dass er Kinderknoten in dem Spannbaum ist, werden alle Nachbarn in die Baumstruktur eingetragen. Jeder Nachbar, der in den Spannbaum eingetragen wird, wird als bearbeitet gekennzeichnet, und die oben genannte Vorgehensweise wird erneut durchgeführt und beginnt bei jedem eingetragenen Nachbarn, so dass ein Teilbaum erstellt wird, dessen Wurzel bei dem Nachbarn liegt. Wird ein Nachbar gefunden, der als bearbeitet gekennzeichnet ist, zeigt dies, dass bei dem bearbeiteten Knoten bereits ein Teilbaum seine Wurzel hat. Der Prozess wird bei dem nächsten Nachbarn fortgesetzt, der noch nicht bearbeitet wurde.
  • Der Grund für den zusätzlichen Aufwand, bei einigen Nachbarn auszuschließen, dass sie in dem Spannbaum Kinderknoten sind, wenn die Anzahl von Nachbarn nicht nahe bei ↑2 liegt, besteht darin, die Breite des Spannbaums auf ein Minimum zu beschränken. Dies lässt sich besser nachzuvollziehen, nachdem weiter unten der Prozess der Zuordnung logischer PAST-Adressen beschrieben wurde.
  • Am Ende dieser Phase existiert im Speicher des NCN ein Spannbaum 330, der vom ursprünglichen Graph (siehe 2) getrennt ist, seine Wurzel beim NCN 60 hat und in dem ein einziger Pfad vom NCN 60 zu jedem Knoten im Netzwerk und zurück existiert, wie es in 16 dargestellt ist. Es ist anzumerken, dass dieser Graph durch eine Datenstruktur wie diejenige in 15(b) dargestellt ist. Alle Knoten (6276) mit Ausnahme des NCN 60 haben einen Elternknoten, der sich einen Hop näher zum NCN 60 befindet. Alle Knoten mit Ausnahme der Blätter (66, 70, 74 und 76) haben Kinderknoten, die sich einen Hop weiter vom NCN 60 entfernt befinden. Ein Knoten kann einen Geschwisterknoten haben oder nicht, mit dem er einen gemeinsamen Elternknoten hat. Es sind natürlich auch andere Spannbäume für 2 möglich.
  • In der Endphase des Netzwerkinitialisierungsprozesses eines partitionierten Spannbaums (PAST) werden jedem Knoten in dem Netzwerk logische Identifikatoren zugeordnet. Im Besonderen kann jedem Knoten eine Adresse zugeordnet werden. Im Rest dieses Dokumentes wird der Term Adressen verwendet. Bei diesem Zuordnungsschema erbt jeder Kinderknoten die Adresse seines Elternknotens, die mit seiner eigenen, eindeutigen Adresse auf seiner Ebene kombiniert wird. Zu diesem Zweck beginnt der NCN 60 damit, sich selbst eine Adresse zuzuordnen, die aus Bits mit nur Nullen besteht (über die Länge dieser Adresse wird auf der Grundlage der Zuordnung von Adressen zu den ressourcen armen Knoten entschieden, und die Länge entspricht derjenigen der Adressen der Blätter 66, 70, 74 und 76 des Spannbaums).
  • Der NCN 60 berechnet dann die Anzahl von Kinderknoten, indem er zu der tatsächlichen Anzahl von Kinderknoten in dem Spannbaum des NCN 60 Eins addiert. In dem vorliegenden Beispiel beträgt sie Zwei. Danach wird die minimale Anzahl Bits, beispielsweise n, berechnet, die erforderlich ist, um jeden Kinderknoten eindeutig zu adressieren. Falls während der Erstellung des Spannbaums Nachbarknoten als Kinderknoten ausgeschlossen wurden, sollte ↑2 die Potenz von Zwei angehoben auf die hier berechnete Anzahl von Bits sein. Wurden keine Nachbarknoten weggelassen, sollte die Anzahl von Bits zu ↓2 oder zu einer Potenz von Zwei führen, die genau der Anzahl von Nachbarn in dem Graph entspricht. In dem Beispiel aus 16 wäre dies ein einziges Bit. Die jedem Kinderknoten zugeordnete logische PAST-Adresse besteht aus einem eindeutigen n-Bit-Muster, das ihn von allen anderen Kinderknoten unterscheidet. Diese n-Bits werden als eindeutiges Kinderteil bezeichnet. In dem in 17 dargestellten Beispiel bilden die n-Bits die Bits mit der höchsten Wertigkeit der Adresse und werden daher auch als die PAST-Bits mit der höchsten Wertigkeit bezeichnet. Es ist offensichtlich, dass andere Zuordnungen des eindeutigen Teils zu Adressenbits möglich sind.
  • Nachdem der NCN 60 seinen Kinderknoten im Spannbaum die PAST-Adressen zugeordnet hat, setzt der NCN 60 dann die oben genannte Prozedur mit den Teilbäumen fort, die ihre Wurzel an jedem Kinderknoten haben. Der eindeutige Teil der Adresse jedes Knotens im Spannbaum (in dem Beispiel aus 17 wird der eindeutige Teil aus den k PAST-Bits mit der höchsten Wertigkeit gebildet) umfasst den eindeutigen Teil (in dem Beispiel die n PAST-Bits mit der höchsten Wertigkeit) seines Elternknotens in dem Baum verknüpft mit einem eindeutigen Kinderteil (in dem Beispiel einem eindeutigen m-Bit-Muster, wobei m die Mindestanzahl von Bits angibt, die erforderlich ist, um jeden Geschwisterknoten eindeutig zu adressieren). Somit unterscheiden sich in dem Beispiel die Adressen von Geschwisterknoten lediglich in den m Bits mit der geringsten Wertigkeit. Null-Bits werden zum Auffüllen am rechten Ende der k-Bit-PAST-Adresse eingesetzt, damit die Adresse jedes Knotens die gleiche Länge aufweist.
  • Die Ergebnisse dieser Prozedur sind in 17 dargestellt, in der die PAST-Bits mit der höchsten Wertigkeit durch ein durchgehendes Unterstreichungszeichen gekennzeichnet sind. Die zum Auffüllen jeder PAST-Adresse auf die gleiche Länge genutzten Null-Bits sind nicht unterstrichen. Da das Blatt 76 sechs Bits für seine Adresse benötigt, sind in 17 alle Knotenadressen mit Nullen aufgefüllt, um eine 6-Bit-Adresse zu erhalten. Wie bei der genaueren Betrachtung von 17 ersichtlich ist, beinhaltet jeder Kinderknoten die Bits mit der höchsten Wertigkeit seines Elternknotens.
  • Wie bereits erläutert, werden, sobald jeder Knoten eine Adresse hat, die Adressen vom Netzwerksteuerknoten (NCN) 60 an die ressourcenarmen Knoten 6276 gesendet und in deren PROM gespeichert. Damit ist die Initialisierungsphase beendet.
  • Während der Überwachungs- und Steuerungsphase, wie sie in 18 dargestellt ist, wartet der NCN 60 auf eine Eingabe 340 vom Benutzer. Der NCN 60 erzeugt (342) ein Paket SEND_VALUE 360, wie es in 19 dargestellt ist, mit einem darin enthaltenen geeigneten Befehl, um einen Knoten anzuweisen (ihm zu befehlen), eine Funktion auszuführen, beispielsweise eine spezielle Funktion auszuführen, oder um den Knoten abzufragen und ihn aufzufordern, Informationen zurückzusenden. Dieses Paket 360 wird gesendet (344), und der NCN 60 wartet (346) auf ein zurückgesendetes Paket. Ist die Funktion einmal ausgeführt oder die Abfrage beendet, sendet der empfangende Knoten die Ergebnisse mittels eines Paketes RESPONSE_SEND_VALUE 362 zurück, wie es in 20 dargestellt ist. Dieses Paket wird geprüft (348) um festzustellen, ob es sich um ein Paket handelt, das mit Hilfe des PAST-Protokolls weitergeleitet wurde, und der NCN 60 sondert das Paket aus (350), wenn dies nicht der Fall ist. Der NCN 60 ermittelt auch (352), ob das Paket das Antwortpaket 362 ist und verarbeitet (354) in diesem Fall das Paket 362 entsprechend, indem er beispielsweise eine Anzeige oder einen Gerätestatus aktualisiert.
  • Nach dem Empfangen und Speichern einer logischen PAST-Adresse am Ende der Initialisierungsphase ist jeder Knoten (6276) in der Lage, Pakete weiterzuleiten, deren Merkerbytes angeben, dass sie mit Hilfe des Protokolls des partitionierten Spannbaums (PAST) weitergeleitet werden sollen. Während der Überwachungs- und Steuerungsphase für Pakete, die sich stromabwärts vom NCN 60 bewegen, wird jedes Paket mit Hilfe von PAST weitergeleitet und enthält die PAST-Adresse des Zielknotens, beispielsweise 110111, wenn der Knoten 70 der Zielknoten ist. Die Pakete, die sich stromaufwärts zum NCN bewegen, enthalten die PAST-Adresse des Sendeknotens, beispielsweise 111000, wenn der Knoten 62 der Quellknoten ist. Ein Zwischenknoten, wie der in 21 dargestellte, ermittelt (372), wenn er ein Paket empfängt (370), ob das Paket mit Hilfe des richtigen Protokolls weitergeleitet wurde. Ist das Protokoll korrekt, wird die Paketadresse mit der Knotenadresse verglichen (376). Besteht keine Übereinstimmung, vergleicht (378) der Knoten die k Bits mit der höchsten Wertigkeit seiner eigenen PAST-Adresse mit der PAST- Adresse in dem Paket (der PAST-Adresse des Ziel- oder Sendeknotens bei sich stromabwärts bzw. stromaufwärts bewegenden Paketen). Wenn alle k Bits in den beiden Adressen übereinstimmen, befindet sich der Zwischenknoten definitiv in einem direkten Pfad vom NCN 60 zu dem Ziel-/Sendeknoten. Der Zwischenknoten sendet daher das Paket weiter (380). Alle anderen Empfänger des Pakets, deren PAST-Adressen keine Übereinstimmung der k Bits mit der Paketadresse aufweisen, senden das Paket nicht weiter und sondern es aus (382). Stimmt die Zieladresse mit der Knotenadresse überein, wird das Paket verarbeitet (384) und der in ihm enthaltene Befehl ausgeführt. Auf der Grundlage des besonderen ausgeführten Prozesses werden die Ergebnisse in ein Paket RESPONSE_SEND_VALUE 362 gebracht (386) (siehe 20), und dieses Paket 362 wird gesendet. Ist das Routing-Protokoll nicht das PAST-Protokoll, ermittelt (390) der Knoten, ob das Protokoll das Protokoll des Überschwemmens mit Hopzahlen (FHC) ist; wenn dies nicht der Fall ist, wird das Paket fallengelassen (391). Ist das Paket ein FHC-Paket, wird ermittelt (392), ob das Paket ein Paket INSERT ist (siehe 22). Ist dies nicht der Fall, wird ermittelt (394), ob das Paket ein Paket INIT 120 ist (siehe 5). Ist dies der Fall, tritt der Knoten in die Initialisierungsphase ein (396). Ist das Paket ein Paket INSERT, erzeugt (398) der Knoten ein Paket HEAR_INSERT 401 (siehe 23), das dann gesendet wird (380).
  • Nachdem ein Netzwerk initialisiert wurde, d.h. alle ressourcenarmen Knoten ihre logischen PAST-Adressen erhalten haben, kann es erforderlich sein, einen neuen ressourcenarmen Knoten zum Netzwerk hinzuzufügen. Die einfachste Lösung besteht darin, das gesamte Netzwerk wie oben beschrieben erneut zu initialisieren. Dies kann jedoch in vielen Fällen nicht wünschenswert sein. Als alternative Lösung kann jeder neue ressourcenarme Knoten ein Paket INSERT 400 (siehe 22) als Broadcast senden. Das Paket wird von seinen Nachbarknoten (die bereits initialisiert wurden) gehört. Die Nachbarn erzeugen ein Paket HEAR_INSERT 401 (siehe 23) und senden es unter Verwendung des PAST-Protokolls zum NCN 60. Die Pakete HEAR_INSERT enthalten die physikalische ID des neuen Knotens und die ID des Knotens, der das Paket erzeugte, zusammen mit seiner Hopzahl zum NCN 60. Der NCN 60 versucht, nachdem er die Pakete HEAR_INSERT von mehreren Nachbarn des neuen Knotens gesammelt hat, die beste Position im Spannbaum für den neuen Knoten auszuwählen. Eine gute Position ist diejenige, bei der dem neuen Knoten eine logische PAST-Adresse zugeordnet werden kann, ohne dass große Änderungen oder überhaupt Änderungen an den PAST-Adressen oder der Länge der PAST-Adressen der anderen Knoten vorgenommen werden müssen. Bei dem Beispiel aus 17 kann ein neuer Knoten leicht als Kinderknoten des Knotens mit der physikalischen ID 2 (Knoten 64) in den Spannbaum eingefügt werden. Jede andere Platzierung erfordert eine Änderung der logischen PAST-Adressen anderer Knoten. Somit würde der NCN, wenn ein neuer Knoten in der Nachbarschaft des Knotens 64 einzufügen wäre, dem neuen Knoten eine logische PAST-Adresse von 101000 zuordnen. Wenn jedoch ein neuer Knoten außerhalb der Nachbarschaft des Knotens 64 einzufügen wäre, müssten einige der logischen PAST-Adressen geändert werden, damit die PAST-Adresse des neuen Knotens passt. Es kann für den NCN 60 erforderlich sein, allen oder vielen der Knoten neue PAST-Adressen zuzuordnen. Die geänderte PAST-Adresse der Knoten und die neue PAST-Adresse des neuen Knotens werden mit Hilfe von Paketen SET_ADDRS verbreitet und durch FHC-Routing gesendet. Falls nötig kann der NCN 60 die gesamte Initialisierungsprozedur starten.
  • In der vorliegenden Erfindung werden durchgehende Bestätigungen verwendet, um Knotenausfälle zu erkennen. Wenn der NCN 60 eine Abfrage oder einen Abruf von Informationen an einen Knoten sendet und keine Antwort erhält, nimmt er an, dass ein Knoten in dem Pfad zum Ziel ausgefallen sein könnte. Er beginnt dann damit, den Pfad im Spannbaum, der zum Zielknoten führt, stromabwärts zu durchlaufen und sendet mit Hilfe eines PAST-Protokolls ein Paket ECHO 402 (siehe 24) an jeden Knoten in dem Pfad und wartet auf eine PAST-Protokollantwort. Ein Knoten, der ein Paket ECHO 402 empfängt, sendet einfach eine Kopie zurück zum NCN 60 und teilt dem NCN 60 somit mit, dass der Knoten sich in dem korrekten Betriebszustand befindet. Erfolgt keine Antwort auf ein Paket ECHO 402, so zeigt dies dem NCN 60, dass der von dem Paket ECHO 402 adressierte Knoten ausgefallen ist. Der NCN 60 konfiguriert den Spannbaum daraufhin neu, um den Spannteilbaum, der seine Wurzel an dem ausgefallen Knoten hat, mit einem anderen Teil des Netzwerkes zu verbinden, so dass sich der neue Elternknoten des Teilbaums im Hörbereich aller neuen Kinderknoten befindet. Diese Neukonfiguration wird durchgeführt, indem die Kante vom Elternknoten zu dem ausgefallenen Knoten in dem ursprünglichen Graph eliminiert wird und die oben beschriebenen Funktionen der Spannbaum- und Adressenzuordnung ausgeführt werden. Der NCN 60 kann Teile des Teilbaums aufbrechen müssen um sicherzustellen, dass alle Knoten in dem Teilbaum wieder mit anderen Teilen des Spannbaums verbunden werden. Der NCN 60 ordnet den neu konfigurierten Teilen des Spannbaums dann neue logische PAST-Adressen zu und sendet Pakete 240 aus, um den betroffenen Knoten die Änderung ihrer PAST-Adressen mitzuteilen. Es kann erneut eine vollständige erneute Initialisierung des Netzwerkes erforderlich sein, wenn der ausgefallene Knoten in einem kritischen Teil des Netzwerkes liegt.
  • Ein in der vorliegenden Erfindung verwendetes implizites Hop-by-Hop-Bestätigungsschema (IHBH) hilft ebenfalls bei der Erkennung von Knotenausfällen. Jeder Quell- oder Zwischenknoten, der ein Paket sendet, erwartet, dass er hört, wie das Paket von einem seiner Nachbarn (einem Knoten in demselben Pfad im Spannbaum) weitergesendet wird. Wenn er innerhalb einer festgelegten Zeitspanne keine Weitersendung hört, nimmt der Quell- oder Zwischenknoten an, dass Knotenausfälle seine Pakete daran hindern, den Pfad des Spannbaums zu durchlaufen. Der Quell- oder Zwischenknoten senden daraufhin ein Paket SQUEAL 404 (siehe 25) aus, dessen Broadcast-Bits in dem Byte FLAG in geeigneter Weise gesetzt sind. Ein Paket SQUEAL 404 enthält die PAST-Adresse des sendenden Knotens und wird mit Hilfe des Protokolls des Überschwemmens mit Hopzahlen zum NCN 60 weitergeleitet. Der NCN 60 startet dann seine Prozedur um herauszufinden, welcher Knoten in dem Pfad zu dem beanstandenden Knoten ausgefallen ist. Es folgt eine erneute Konfiguration eines Teils oder des gesamten Netzwerkes.
  • Die vielen Merkmale und Vorteile der Erfindung sind aus der ausführlichen Erläuterung ersichtlich, und die anhängenden Ansprüche sollen alle derartigen Merkmale und Vorteile der Erfindung abdecken, die in den Rahmen der Erfindung fallen. Da dem Fachkundigen zahlreiche Abwandlungen und Änderungen einfallen werden, ist es ferner nicht gewünscht, dass die Erfindung auf die dargestellte und beschriebene genaue Konstruktion und Funktionsweise beschränkt sei, und somit kann auf alle geeigneten Abwandlungen und Entsprechungen zurückgegriffen werden, die den Rahmen der Erfindung nicht verlassen. Es können beispielsweise die oben beschriebenen Paketstrukturen verändert werden, solange die Funktionalität der Datenelemente in jedem Paket durch ähnliche andere Felder in einem neuen Paketformat geschaffen wird. Der im NCN ausgeführte und zur Erzeugung von PAST-Adressen für die Knoten genutzte Algorithmus kann verändert werden, solange jeglicher neue Algorithmus PAST-Adressen mit Bitfeldern erzeugen kann, die die Kinderknoten jedes Knotens eindeutig identifizieren. Es brauchen nicht alle Knoten ressourcenarm in Bezug auf Speicher und Prozessorleistung zu sein, das Protokoll funktioniert bei jeglicher Art von Knoten. Das PAST-Protokoll beschränkt das Netzwerk nicht auf die Kommunikation lediglich zwischen dem NCN und jedem Knoten in beiden Richtungen, sondern kann auch für die Kommunikation zwischen Knoten eingesetzt werden, die keine NCN sind. Die Kommunikation zwischen zwei Knoten, die keine NCN sind, kann dadurch erreicht werden, dass zuerst Pakete zum NCN gesendet werden, der sie wiederum zu dem geeigneten Ziel senden kann. In der Erläuterung wird eine Minimierung der Breite des Spannbaums mit Hilfe von Potenzen von Zwei beschrieben. Diese Minimierung braucht nicht durchgeführt zu werden und dient dazu, die Länge der PAST-Adressen zu optimieren. Die zur Darstellung des Graphs im NCN verwendete Datenstruktur in Form einer Verbundliste kann durch jegliche andere Art der Datenstruktur (beispielsweise eine Matrix) ersetzt werden, und die Reihenfolge der Elemente der Verbundliste kann verändert werden, solange die Funktionalität jedes Elements durch neue oder neu geordnete Elemente erfüllt wird.

Claims (22)

  1. Verfahren des Routings einer Nachricht in einem Knotennetzwerk (10), das Folgendes umfasst: Konfigurieren des Netzwerkes durch: – Ermitteln, welche Knoten des Netzwerkes miteinander kommunizieren können; – Erstellen eines Spannbaums aus den Knoten, die miteinander kommunizieren können; und – Zuordnen von logischen Knotenidentifikatoren zu den Knoten, basierend auf dem Spannbaum, wobei ein eindeutiger Teil eines logischen Knotenidentifikators eines Kinderknotens einen eindeutigen Teil eines logischen Knotenidentifikators eines Elternknotens des Kinderknotens enthält; Senden einer Nachricht (100) mit einer Nachrichtenadresse an einen anderen Knoten, wenn die Nachrichtenadresse den eindeutigen Teil eines aktuellen logischen Knotenidentifikators enthält.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Zuordnen eines logischen Knotenidentifikators Folgendes umfasst: Bilden eines eindeutigen Kinderteils für den Kinderknoten, der eindeutig zwischen den Kinderknoten des Elternknotens unterscheidet; und Bilden für den Kinderknoten eines eindeutigen Teils des logischen Knotenidentifikators des Kinderknotens durch Kombinieren des eindeutigen Teils des logischen Knotenidentifikators des Elternknotens mit dem eindeutigen Kinderteil.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Zuordnen ferner das Senden des logischen Knotenidentifikators eines Kinderknotens an den Kinderknoten umfasst.
  4. Verfahren nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, dass das Ermitteln Folgendes umfasst: Senden von Initialisierungsnachrichten an alle Knoten; und Registrieren eines der Knoten, von dem die Initialisierungsnachricht empfangen wird, als einen Elternknoten.
  5. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass das Senden die Verwendung eines Kommunikationsprotokolls des Überschwemmens mit Hopzahlen umfasst.
  6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass das Ermitteln ferner das Antworten auf die Initialisierungsnachrichten umfasst.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass das Antworten die Verwendung eines Parent-Routing-Kommunikationsprotokolls umfasst.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren ferner die erneute Konfiguration des Netzwerkes zum Hinzufügen oder Entfernen von Knoten zum oder aus dem Netzwerk durch die Kommunikation mit Hilfe eines Kommunikationsprotokolls des partitionierten Spannbaums umfasst.
  9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Erstellen die Minimierung einer Breite des Netzwerkes durch die Segmentierung der Knoten umfasst, die einer Potenz von Zwei am nächsten kommen.
  10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Spannbaum eine Datenstruktur in Form einer Verbundliste mit Einträgen umfasst, die einen Elternzeiger, einen Kinderzeiger, einen physikalischen Knotenidentifikator des Knotens, einen physikalischen Identifikator des Elternknotens, eine Hopzahl und eine logischen Identifikator des partitionierten Spannbaums enthalten.
  11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass sich die Nachrichtenadresse und der Knotenidentifikator im Format im Wesentlichen entsprechen.
  12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren das Ermitteln umfasst, ob sich ein eine Nachricht empfangender Knoten in einem Pfad zu einem Zielknoten befindet, indem die Nachrichtenadresse lediglich mit einem Identifikator des empfangenden Knotens verglichen wird.
  13. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Senden Folgendes umfasst: Vergleichen der Nachrichtenadresse mit dem aktuellen Knotenidentifikator und bei Vorliegen einer Übereinstimmung Verarbeiten der Nachricht; Vergleichen des eindeutigen Teils des aktuellen Knotenidentifikators mit einem entsprechenden Teil der Nachrichtenadresse; Aussondern der Nachricht, wenn die entsprechenden Teile nicht übereinstimmen; und Senden der Nachricht, wenn die entsprechenden Teile übereinstimmen.
  14. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren ferner Folgendes umfasst: Ermitteln, ob die gesendete Nachricht als Broadcast weitergesendet wurde; und Angeben eines ausgefallenen Knotens, wenn die Nachricht nicht als Broadcast weitergesendet wurde.
  15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass das Verfahren ferner Folgendes umfasst: Sequentielles Abfragen aller Knoten in einem Pfad zu dem ausgefallenen Knoten; und Erneutes Konfigurieren des Netzwerkes basierend auf Antworten auf das Abfragen.
  16. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren Folgendes umfasst: Senden aller von einem Knoten empfangenen sich stromaufwärts bewegenden Pakete an den Elternknoten des Knotens.
  17. Kommunikationsnetzwerk mit einer Vielzahl von Knoten (10), wobei die Knoten durch logische Knotenidentifikatoren identifiziert werden, dadurch gekennzeichnet, dass die Knoten einen Spannbaum aus Knoten bilden, die miteinander kommunizieren können; und ein eindeutiger Teil eines logischen Knotenidentifikators eines Kinderknotens einen eindeutigen Teil eines logischen Knotenidentifikators eines Elternknotens des Kinderknotens enthält, wobei das Netzwerk konfiguriert wird, um eine Nachricht (100), die eine Nachrichtenadresse aufweist, an einen anderen Knoten zu senden, wenn die Nachrichtenadresse den eindeutigen Teil eines aktuellen logischen Knotenidentifikators enthält.
  18. Kommunikationsnetzwerk nach Anspruch 17, dadurch gekennzeichnet, dass das Netzwerk einen Netzwerksteuerknoten umfasst, wobei der Netzwerksteuerknoten und die Netzwerkknoten jeweils einen drahtlosen Sender/Empfänger beinhalten, über den der Netzwerksteuerknoten und die Netzwerkknoten kommunizieren.
  19. Kommunikationsnetzwerk nach Anspruch 17 oder 18, wobei der Knoten Folgendes umfasst: einen Speicher, der einen logischen Identifikator des Knotens speichert; und einen Prozessor, der ermittelt, ob der Knoten in einem Nachrichtenpfad zu einem Zielknoten liegt, dadurch gekennzeichnet, dass der Prozessor so ausgelegt ist, dass er die genannte Ermittlung durchführt, indem er eine Nachrichtenadresse der Nachricht lediglich mit dem logischen Identifikator des Knotens vergleicht.
  20. Kommunikationsnetzwerk nach Anspruch 19, dadurch gekennzeichnet, dass der genannte Prozessor einen eindeutigen Teil des logischen Identifikators mit einem entsprechenden Teil der Nachrichtenadresse vergleicht.
  21. Kommunikationsnetzwerk nach Anspruch 17,18, 19 oder 20, wobei der Knoten Folgendes umfasst: einen Speicher, der eine Netzwerkkonfiguration speichert; und einen Prozessor, dadurch gekennzeichnet, dass der Prozessor so ausgelegt ist, dass er partitionierte Spannbaumidentifikatoren von Knoten des Netzwerks ermittelt, die Identifikatoren in der Netzwerkkonfiguration speichert und unter Verwendung der Netzwerkkonfiguration Nachrichten an die Knoten sendet.
  22. Computerlesbares Speichermedium, das einen Befehlssatz speichert, der bei seiner Ausführung durch einen Computer den Computer veranlasst, die Verfahrensschritte nach einem der Ansprüche 1–16 auszuführen.
DE69635511T 1995-06-30 1996-06-27 Verfahren und gerät zum weglenken von nachrichten in einem knoten-netz Expired - Lifetime DE69635511T2 (de)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US49828595A 1995-06-30 1995-06-30
US498285 1995-06-30
US08/498,286 US5898733A (en) 1995-06-30 1995-06-30 Packet hopping system with sliding frequency, and transciever for the system
US498286 1995-06-30
US49871595A 1995-07-03 1995-07-03
US498715 1995-07-03
US08/558,447 US5926101A (en) 1995-11-16 1995-11-16 Method and apparatus for routing messages in a network of nodes with minimal resources
US558447 1995-11-16
PCT/IB1996/000613 WO1997002680A1 (en) 1995-06-30 1996-06-27 A method and apparatus for routing messages in a network of nodes

Publications (2)

Publication Number Publication Date
DE69635511D1 DE69635511D1 (de) 2006-01-05
DE69635511T2 true DE69635511T2 (de) 2006-08-10

Family

ID=27504395

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69635511T Expired - Lifetime DE69635511T2 (de) 1995-06-30 1996-06-27 Verfahren und gerät zum weglenken von nachrichten in einem knoten-netz

Country Status (6)

Country Link
EP (1) EP0782802B1 (de)
JP (1) JP3821847B2 (de)
KR (1) KR100417672B1 (de)
CN (1) CN1166118C (de)
DE (1) DE69635511T2 (de)
WO (1) WO1997002680A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI103544B (fi) * 1996-03-25 1999-07-15 Nokia Telecommunications Oy Menetelmä osoitteiden määrittämiseksi tietoliikenneverkon solmuissa
GB9715857D0 (en) * 1997-07-29 1997-10-01 Philips Electronics Nv Wireless networked message routing
US6442171B1 (en) 1998-05-26 2002-08-27 Qualcomm Incorporated Logical topology and address assignment for interconnected digital networks
SE514727C2 (sv) 1998-11-12 2001-04-09 Ericsson Telefon Ab L M Kommunikationsnät och förfarande för att dirigera meddelanden inom nätet
KR100429185B1 (ko) * 1998-12-16 2004-06-16 엘지전자 주식회사 패킷라우팅시스템
KR100349420B1 (ko) * 1999-08-10 2002-08-19 정보통신연구진흥원 신뢰적 멀티캐스트를 위한 적응적 트리 기반 복구방법
JP2002026973A (ja) * 2000-07-12 2002-01-25 Nec Corp 経路検索システム及びその方法並びにそれに使用するルータ装置
CN100337428C (zh) * 2003-01-24 2007-09-12 华为技术有限公司 一种基于生成树协议的环网管理方法
US7564842B2 (en) 2003-07-02 2009-07-21 Mitsubishi Electric Research Laboratories, Inc. Methods and apparatuses for routing data in a personal area network
FR2858163B1 (fr) * 2003-07-23 2005-09-23 Inst Nat Rech Inf Automat Procede de localisation d'objets mobiles communicants au sein d'un reseau de communications, par transmission d'identifiants de localisation par des repeteurs et mise a jour de serveur
CN100346618C (zh) * 2003-12-10 2007-10-31 联想(北京)有限公司 无线网格的最佳路由选择方法
US7720054B2 (en) * 2004-03-02 2010-05-18 Cisco Technology, Inc. Router configured for outputting update messages specifying a detected attribute change of a connected active path according to a prescribed routing protocol
ES2375838T3 (es) * 2004-05-07 2012-03-06 Panasonic Corporation Aparato de nodo inal�?mbrico y sistema de lan inal�?mbrica multi salto.
KR100677754B1 (ko) 2005-03-11 2007-02-02 삼성전자주식회사 무선 센서 네트워크에서의 아이디 생성방법 및 등록방법
US7804791B2 (en) * 2005-10-11 2010-09-28 Telefonaktiebolaget L M Ericsson (Publ) Method of generating spanning trees to handle link and node failures in a network
WO2008034298A1 (en) * 2006-09-20 2008-03-27 Intel Corporation Optimized cache consistency algorithm in a point-to-point interconnected multiple processor system
US8040823B2 (en) 2007-01-08 2011-10-18 Industrial Technology Research Institute Method and system for network data transmitting
CN101227292A (zh) * 2007-01-18 2008-07-23 华为技术有限公司 服务器、对等网络系统、路由与转移资源键值的方法
CN101645038A (zh) * 2009-05-20 2010-02-10 中国科学院声学研究所 基于彼特森的网络存储结构的数据存储方法
FI125092B (fi) 2012-07-18 2015-05-29 Arm Finland Oy Menetelmä, laite ja järjestelmä datapakettien lähettämiseksi ja vastaanottamiseksi
CN104618980B (zh) * 2015-03-05 2018-09-28 江苏中科羿链通信技术有限公司 无线多跳链状网的路由实现方法
FR3065342B1 (fr) * 2017-04-12 2019-04-19 Sagemcom Energy & Telecom Sas Procede de configuration pour la diffusion de messages

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5245609A (en) * 1991-01-30 1993-09-14 International Business Machines Corporation Communication network and a method of regulating the transmission of data packets in a communication network
DE4124227A1 (de) * 1991-07-22 1993-01-28 Datawatt Bv Verfahren zum austauschen von daten
DE69232639T2 (de) * 1991-10-01 2003-02-20 Norand Corp Lokales funkfrequenznetzwerk
CA2094409C (en) * 1992-06-18 1998-07-14 Joshua Seth Auerbach Multicast communication tree creation and control method and apparatus
EP0598671B1 (de) * 1992-11-19 2001-12-12 International Business Machines Corporation Funktionsverteilung im Paketvermittlungsnetz
FR2715787B1 (fr) * 1994-01-31 1996-03-29 Hussein Zoghaib Système de transmission de trains d'impulsions.
US5459725A (en) * 1994-03-22 1995-10-17 International Business Machines Corporation Reliable multicasting over spanning trees in packet communications networks
EP0684716B1 (de) * 1994-05-25 2002-02-27 International Business Machines Corporation Datenübertragungsnetz und Verfahren zum Betreiben des Netzes

Also Published As

Publication number Publication date
EP0782802A1 (de) 1997-07-09
JP3821847B2 (ja) 2006-09-13
KR100417672B1 (ko) 2004-05-31
EP0782802B1 (de) 2005-11-30
WO1997002680A1 (en) 1997-01-23
CN1166118C (zh) 2004-09-08
KR970705885A (ko) 1997-10-09
CN1161119A (zh) 1997-10-01
JP2002516037A (ja) 2002-05-28
DE69635511D1 (de) 2006-01-05

Similar Documents

Publication Publication Date Title
DE69635511T2 (de) Verfahren und gerät zum weglenken von nachrichten in einem knoten-netz
DE69737441T2 (de) Verfahren und Vorrichtung zur Leitweglenkung in einem drahtlosen Netz
DE69633112T2 (de) Verfahren zur intitialisierung eines drahtlosen paketsprungnetzwerkes
DE69734629T2 (de) Verfahren zur lenkung von datenpaketen innerhalb eines drahtlosen paketsprungnetzes und drahtloses netz und knoten zur anwendung des verfahrens
DE69332778T2 (de) Verfahren und geraet mit einzigadressenzuweisung, knotenselbstidentifizierung und topologieabbildung fuer einen gerichteten, acyclischen graph
DE60310593T2 (de) Routing in einem datenkommunikationsnetz
DE69832769T2 (de) Netzwerkkommunikationsvorrichtung mit gebundenen Toren für erhöhte Bandbreite
DE602004011579T2 (de) Adress-Selbstkonfiguration in Ad-hoc Netzen
DE69835809T2 (de) Kommunikationssteuereinheit und Kommunikationssteuerungsverfahren angewendet für ein Mehrfachsende-unterstützendes LAN
DE60026400T2 (de) Adressenverwaltung in hierarchischen pnni-netzen
DE60206329T2 (de) Verfahren zum Einstellen eines Benutzereinrichtungsidentifikators in einem Funkkommunikationssystem
DE69530543T2 (de) Brücke zwischen einem drahtlosen und einem drahtgebundenen lokalen Netz
DE60114097T2 (de) Verfahren und System zur Verbesserung der Netzleistungsfähigkeit unter Verwendung eines leistungssteigernden Proxies
DE112009000899B4 (de) Verfahren und Vorrichtung zur hierarchischen Verkehrsführung in gitterbasierten Multiprozessorsystemen
DE60014138T2 (de) System um etikettierte wegelenkungsbäume zu kommunizieren
DE69836673T2 (de) Verfahren und Vorrichtung zur Konfigurierung eines Netzknotens um sich selbst Netzübergang zu sein
DE69735740T2 (de) Asynchrone paketvermittlung
DE60316745T2 (de) Erleichterung der beschleunigten Verarbeitung von Nachrichten des Internet Group Management Protokolls
EP2274935B1 (de) Verfahren und vorrichtung zum herstellen von zumindest einer erweiterung einer zuordnungsnachricht für wireless mesh netze
DE102014014429B4 (de) Verfahren zur Begrenzung einer Anzahl von Routern in einem vermaschten Netzwerk
DE69929436T2 (de) Verfahren und vorrichtung in einem drahtlosen kommunikationssystem zur dynamischen zu übertragenen applikationsdatenformatierung
DE602004004991T2 (de) Automatisierte Installation von Netzgeräten mit Informationen über Regeln, Authentifizierung und gerätespezische Daten
DE10296466T5 (de) Protokoll für ein sich selbst organisierendes Netzwerk, das eine logische Spann-Baum-Zentralverbindung verwendet
DE102009043403B4 (de) Verfahren zum Aufbau eines bidirektionalen Kommunikationspfads in einem drahtlosen Netzwerk
EP0784894A1 (de) Verfahren und anordnung zur adressierung von teilnehmern in einem aus mindestens zwei segmenten bestehenden netzwerk

Legal Events

Date Code Title Description
8364 No opposition during term of opposition