-
GEGENSTAND DER ERFINDUNG
-
Die vorliegende Erfindung bezieht sich allgemein auf computergestützte Verfahren und Systeme, die ein Erkennen einer Gruppe von Knoten in einem Netzwerk ermöglichen, und insbesondere auf Prozeduren zum Erkennen von Topologien für zentralisierte drahtlose Sensornetzwerkarchitekturen.
-
HINTERGRUND DER ERFINDUNG
-
Eine Viele-zu-Eins-Datenübertragung ist eine weitverbreitete Anforderung von Netzwerkanwendungen wie zum Beispiel Sensornetzwerkanwendungen, z. B. im Bereich der Umweltüberwachung oder der Datenerfassung. Sensorknoten (sensor nodes, SNs) tauschen im Wesentlichen Daten mit einer Basisstation (base station, BS) aus, aber selten untereinander. Die SNs erzeugen regelmäßige Datenstichproben (Messdaten) und senden sie zur weiteren Verarbeitung an die BS, wobei sie möglicherweise andere SNs benutzen, um Nachrichten weiterzuleiten.
-
Im Vergleich zu den SNs ist das BS im Allgemeinen mit einer leistungsfähigeren Verarbeitungseinheit und auch einem größeren Speicher für Programme und Daten ausgestattet. Eine zentralisierte Netzwerkarchitektur ist am zweckmäßigsten für eine solche Umgebung, da sie die in der BS zur Verfügung stehenden Ressourcen nutzen kann, um komplexe Routing-Funktionen auszuführen, wodurch die Sensorknoten so einfach wie möglich gehalten werden.
-
Damit die BS die erforderlichen Routing-Daten berechnen kann, muss sie die vollständige Topologie des Netzwerks kennen, d. h., alle SNs, die eingesetzt werden, und die Qualität der drahtlosen Verbindungen zwischen diesen Knoten.
-
Im Fall einer eher statischen Netzwerktopologie könnte die BS manuell mit den Topologiedaten konfiguriert werden, aber dieses Verfahren ist fehleranfällig und wird unpraktisch, wenn die Anzahl der drahtlosen SNs groß ist.
-
Die meisten Sensornetzwerke haben eine dezentrale Architektur, in der die Sensorknoten durch das Austauschen von Daten mit Nachbarknoten eine lokale Topologiedatenbank bilden. In diesen dezentralen Architekturen besteht keine Notwendigkeit, die „globale” Topologie zu kennen.
-
Die sogenannte PEDAMACS-Architektur (S. C. Ergen, P. Varaija, ”PEDAMACS: Power Efficient and Delay Aware Medium Access Protocol for Sensor Networks”, IEEE Trans an Mobile Computing, Band 5, Nr. 7, Juli 2006) ist eine zentralisierte Sensornetzwerkarchitektur, die für ihren Betrieb ein automatisches Erkennen der Topologie erfordert. Das Erkennen der PEDAMACS-Topologie weist zwei Phasen auf: die Topologielernphase und die Topologieerfassungsphase. Die BS beginnt die Lernphase durch ein Verbreiten (broadcasting) einer Koordinationsnachricht, von der angenommen wird, dass sie von allen Knoten in dem Netzwerk empfangen wird. Nach der Koordinationsnachricht flutet die BS eine Baumaufbaumeldung in das Netzwerk, die von den SNs weiterverbreitet wird. Ein Knoten verwendet die Baumaufbaunachrichten, die er von seinen Nachbarn erhält, um seine lokalen Topologiedaten aufzubauen (d. h. seine benachbarten Knoten und die Qualität der Verbindungen zu diesen Knoten) und um den Knoten (seinen übergeordneten Knoten) auszuwählen, den er verwenden wird, wenn er eine Nachricht an die BS senden möchte.
-
Nach der Topologielernphase beginnt die BS die Topologieerfassungsphase ebenfalls durch das Verbreiten einer Koordinationsnachricht, von der wiederum angenommen wird, dass sie von allen Knoten in dem Netzwerk empfangen wird. Wenn ein Knoten die zweite Koordinationsnachricht erhält, überträgt er die lokale Topologie, die er in der vorhergehenden Phase erfasst hat, zu seinem übergeordneten Knoten, damit sie nachfolgend an die BS weitergeleitet wird.
-
In beiden Phasen haben die Knoten noch keine Koordination untereinander und verwenden einen Mehrfachzugriff durch Trägerprüfung (carrier sense multiple access, CSMA), um mögliche Übertragungskollisionen zu bewältigen.
-
TSMP (K. Pister, L. Doherty, ”TSMP: Time Synchronized Mesh Protocol”, Proc IASTED Int. Symposium Distributed Sensor Networks (DSN 2008), 16. bis 18. Nov. Orlando, Florida, USA) ist eine andere zentralisierte Sensornetzwerkarchitektur. Sie beruht auf einem TDMA und reserviert einen Zeitschlitz für eine regelmäßige Prozedur zur Nachbarerkennung. Während dieses Zeitschlitzes tauschen die Knoten zufällig Erkennungsnachrichten zum Zweck der Verbindungsprüfung aus. Die Ergebnisse werden mithilfe eines regelmäßigen Zustandsberichts gemeldet.
-
R. Chandra, C. Fetzer, K. Hogstedt; ”Adaptive Topology Discovery in Hybrid Wireless Networks”; Informatics '02offenbaren eine adaptive Topologieerkennung in hybriden drahtlosen Netzwerken, wobei das Verfahren zur Topologieerkennung ähnlich dem von PEDAMACS ist. Das Verfahren besteht nämlich darin, Erkennungsnachrichten in das (dem) Netzwerk zu fluten (verbreiten). Interessanterweise wird der Empfang der verbreiteten Nachrichten sichergestellt, indem der Sender sie solange erneut überträgt, bis eine Bestätigung empfangen wird. Diese Lösung vergrößert die Gesamtanzahl der übertragenen Nachrichten und damit das Ausmaß der Anforderungen an das Verbreiten.
-
Die Druckschrift DEB, B.; BHATNAGAR, S.; NATH; B.: A Topology Discovery Algorithm for sensor networks with applications to Network Management (short paper); 2002 offenbart einen Algorithmus zur Ermittlung der Netzwerktopologie in Sensornetzwerken. Der Algorithmus ermöglicht das Auffinden eines Satzes von unterschiedlichen Knoten und den Aufbau einer geeigneten Netzwerktopologie durch Nutzung der Nachbarschaftsinformationen der einzelnen Knoten.
-
Ferner offenbart die Druckschrift DEB, B.; BHATNAGAR, S.; NATH; B.: Multi-Resolution State Retrieval in Sensor Networks; Proceedings of the First IEEE International Workshop an Sensor Network Protocols and Applications; Print ISBN: 0-7803-7879-2; Page(s): 19–29; Date of Conference: 11. Mai 2003 ebenfalls ein Verfahren zur Ermittlung der Netzwerktopologie in Sensornetzwerken.
-
Zuletzt offenbart die Druckschrift WU, J.; DAI, F.; YANG, S.: Iterative Local Solutions for Connected Dominating Sets in Ad Hoc Wireless Networks; IN: IEEE Transactions an Computer; Vol. 57, No. 5; May 2008 ein Verfahren zum Handling einer dynamischen Netzwerktopologie.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Gemäß einem ersten Aspekt ist die vorliegende Erfindung verkörpert als ein Verfahren zum Erkennen einer Gruppe von Knoten in einem Netzwerk, wobei das Verfahren aufweist:
- – Auswählen eines Knotens aus den Knoten in einer Gruppe von zu verarbeitenden Knoten; und
- – Anweisen, eine Prozedur zum Erkennen des ausgewählten Knotens umzusetzen, wobei die Prozedur aufweist:
- – Verbreiten einer Anfrage zum Erkennen eines Nachbarn durch einen Knoten, der aktuell auf einem gemeinsamen Übertragungsmedium ausgewählt wurde; und
- – Empfangen der Antworten, die von den Nachbarknoten auf dem gemeinsam genutzten Übertragungsmedium gesendet wurden, am aktuell ausgewählten Knoten und Hinzufügen der Nachbarknoten zur Gruppe von zu verarbeitenden Knoten; und
- – Wiederholen der Schritte des Auswählens und des Anweisens für weitere Knoten in der Gruppe von zu verarbeitenden Knoten; bis alle Knoten der Gruppe erkannt sind.
-
Bei weiteren Ausführungsformen kann dieses Verfahren eines oder mehrere der folgenden Merkmale aufweisen:
- – das Wiederholen der Schritte des Auswählens und des Anweisens für weitere Knoten wird ausgelöst, nachdem während der Prozedur zum Erkennen eines aktuell ausgewählten Knotens mindestens eine Antwort empfangen wurde und vorzugsweise nachdem mehrere Antworten empfangen wurden;
- – das Anweisen weist ein Anweisen auf, die Prozedur zum Erkennen des ausgewählten Knotens über einen Mechanismus für ein quellenorientiertes Routing umzusetzen;
- – der Mechanismus für ein quellenorientiertes Routing wird anfänglich von einem Ausgangsknoten wie zum Beispiel einer Basisstation umgesetzt;
- – das Verfahren weist außerdem auf: Anweisen, eine Prozedur zum Prüfen der Verbindungen des ausgewählten Knotens umzusetzen, wobei die Prozedur zum Prüfen der Verbindungen aufweist: Senden einer oder mehrerer Nachrichten zum Prüfen der Verbindungen von einem aktuell ausgewählten Knoten an Nachbarknoten für die nachfolgende Messung der Verbindungsqualität, wobei das Senden vorzugsweise ein Verbreiten der einen oder mehreren Nachrichten zum Prüfen der Verbindungen auf dem gemeinsamen Übertragungsmedium aufweist;
- – die Prozedur zum Prüfen der Verbindungen wird für einen ausgewählten Knoten umgesetzt, nachdem die Prozedur zum Erkennen für mindestens einen ausgewählten Knoten abgeschlossen wurde und vorzugsweise, nachdem alle Knoten aus der Gruppe von Knoten erkannt wurden;
- – das Umsetzen der Prozedur zum Prüfen der Verbindungen ist mit der Prozedur zum Erkennen so verflochten, dass mindestens eine der Antworten, die empfangen werden, wenn die Prozedur zum Erkennen für einen ausgewählten Knoten umgesetzt wird, Daten aufweist, die zu einer Messung einer Verbindungsqualität zwischen dem aktuell ausgewählten Knoten und einem Nachbarknoten in Bezug stehen;
- – das Senden der einen oder mehreren Nachrichten zum Prüfen der Verbindung wird ausgeführt, bevor die Anfrage zur Nachbarerkennung verbreitet wird;
- – die Antworten, die empfangen werden, wenn eine Prozedur zum Erkennen für einen ausgewählten Knoten umgesetzt wird, wurden von den Nachbarknoten an nur eine Adresse gesendet;
- – die Antworten, die empfangen werden, wenn eine Prozedur zum Erkennen für einen ausgewählten Knoten umgesetzt wird, wurden von den Nachbarknoten unter Verwendung eines CSMA-artigen Protokolls an nur eine Adresse gesendet, wobei jede der Antworten in Abwesenheit eines anderen Datenverkehrs auf dem gemeinsam genutzten Medium gesendet wurde;
- – die Antworten, die empfangen werden, wenn eine Prozedur zum Erkennen für einen ausgewählten Knoten umgesetzt wird, werden nur während einer begrenzten Zeit berücksichtigt; und
- – der Schritt des Verbreitens einer Anfrage zur Nachbarerkennung wird wiederholt, wobei die Anfrage zur Nachbarerkennung vorzugsweise Daten aufweist, ob der Nachbarknoten antworten sollte oder nicht.
-
Gemäß einem weiteren Aspekt wird die Erfindung als ein Verfahren zum Verwenden eines Netzwerks verkörpert, das eine Gruppe von Knoten aufweist, wobei das Verfahren aufweist: Erkennen von Knoten in der Gruppe von Knoten gemäß dem Verfahren nach einem der vorhergehenden Ansprüche; und Zulassen, das die erkannten Knoten unter Verwendung eines Zeitmultiplexens Daten untereinander austauschen.
-
Gemäß einem weiteren Aspekt ist die Erfindung als ein Computerprogramm verkörpert, das sich auf einem computerlesbaren Medium befindet, das Anweisungen aufweist, welche die Knoten eines computergestützten Netzwerks veranlassen, jeden der Schritte gemäß den Ausführungsformen der Erfindung umzusetzen.
-
Gemäß einem letzten Aspekt ist die Erfindung als ein computergestütztes Netzwerk verkörpert, das Knoten, vorzugsweise Sensorknoten, aufweist, jeder mit mindestens einem Prozessor, der funktionsfähig mit einem Speicher verbunden ist, wobei das computergestützte Netzwerk so konfiguriert ist, dass jeder der Schritte gemäß den Ausführungsformen der Erfindung umgesetzt wird.
-
Netzwerke, Verfahren und Computerprogrammfunktionen, welche die vorliegende Erfindung verkörpern, werden jetzt anhand von nicht einschränkenden Beispielen und in Bezugnahme auf die begleitenden Zeichnungen beschrieben.
-
KURZBESCHREIBUNG VERSCHIEDENER ANSICHTEN DER ZEICHNUNGEN
-
1 und 2 zeigen schematisch Netzwerkknoten in verschiedenen Schritten eines Verfahrens zum Erkennen eines Netzwerks gemäß einiger Ausführungsformen;
-
3 stellt schematisch ein Beispiel einer computergestützten Einheit dar (z. B. einer Basisstation oder eines Sensorknotens), die geeignet ist, die Schritte von Verfahren gemäß einiger Ausführungsformen der Erfindung umzusetzen;
-
4 ist ein Ablaufplan, der die übergeordneten Schritte einer Prozedur zum Erkennen eines Netzwerks zeigt, die gemäß einiger Ausführungsformen mit einer Prozedur zum Prüfen der Verbindungen verflochten sind;
-
5 zeigt einen weiteren Ablaufplan, der typische übergeordnete Schritte zeigt, wie sie in alternativen Ausführungsformen umgesetzt werden, in denen die Prozedur zum Erkennen eines Netzwerks vor der Prozedur zum Prüfen der Verbindungen ausgeführt wird;
-
6 bis 10 gliedern einige der Schritte aus 5 in detaillierte Teilschritte auf, wie sie in einigen Ausführungsformen eingebunden sind.
-
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
Zunächst werden (in Abschnitt 1) allgemeine Aspekte von Verfahren zusammen mit einigen ihrer übergeordneten Varianten gemäß einiger Ausführungsformen der Erfindung erörtert. Als Nächstes werden in Abschnitt 2 speziellere Ausführungsformen beschrieben.
-
1. Allgemeine Aspekte der Erfindung
-
Die in den 1 bis 10 dargestellten Verfahren werden in einem computergestützten Netzwerk 165 umgesetzt, das die Knoten 20, 30 aufweist, die ein gemeinsam genutztes (z. B. drahtloses) Übertragungsmedium 1 für den Datenaustausch verwenden. Das Netzwerk ist vorzugsweise ein drahtloses Sensornetzwerk, wie es unten anhand von Beispielen erörtert wird.
-
Von einer zentralisierten Netzwerkarchitektur wird üblicherweise angenommen, dass sie auf einen Ausgangsknoten 10 zentriert ist, der nachfolgend Basisstation (BS) genannt wird. Diese Umgebung nutzt die in der BS verfügbaren Ressourcen, um wichtige Aufgaben wie Routing-Funktionen auszuführen, wobei die Knotenfunktionen so einfach wie möglich gehalten werden.
-
Nachfolgend werden iterative Prozeduren beschrieben, die ein automatisches Erkennen der Knoten ermöglichen. Wie in den 1 und 2 gezeigt, bezeichnet das Bezugszeichen 20 einen „aktuell” ausgewählten Knoten und die Bezugszeichen 30 bezeichnen die Nachbarknoten. Der aktuell ausgewählte Knoten ändert sich im Verlauf der unten erörterten iterativen Prozedur. Die Qualität der bidirektionalen Verbindungen zwischen den Knoten kann gleichzeitig oder nacheinander untersucht werden.
-
Diese Prozeduren ermöglichen das Erkennen von Knoten, die einige Teilstrecken von einem Ausgangsknoten entfernt sind; sie erlauben außerdem kurze und vorherbestimmbare Laufzeiten. Außerdem müssen von den Knoten zwischen den Vorgängen nur wenige oder gar keine Zustandsdaten aufbewahrt werden.
-
1.1. Allgemeine Ausführungsform des Verfahrens
-
Die folgenden Schritte werden (mit Schwerpunkt auf den 1, 2, 4 und 5) aus der Sicht einer Überwachungseinheit, z. B. der BS, umgesetzt:
- – Schritt S11: Zunächst wird ein Knoten 20 aus den Knoten ausgewählt, die als „zu verarbeitend” gekennzeichnet sind, was bedeutet, dass die Umsetzung einer Prozedur zum Erkennen eines Netzwerks (network discovery, ND) für diese Knoten ausgeführt werden muss. Die Gruppe (z. B. eine Liste) von Knoten, die als „zu verarbeitend” gekennzeichnet ist, wird üblicherweise in der BS aufbewahrt. Im ersten Durchlauf wählt sich die BS selbst als einen „zu verarbeitenden” Knoten aus;
- – Schritt S12: Der ausgewählte Knoten 20 erhält die Anweisung, eine ND-Prozedur umzusetzen. Die ND-Prozedur weist auf:
- • Schritt S22: Verbreiten einer ND-Anfrage (d. h., von dem aktuell ausgewählten Knoten 20) auf dem gemeinsam genutzten Übertragungsmedium 1; und
- • Schritt S23: Empfangen (d. h. am aktuell ausgewählten Knoten 20) von Antworten, die von den Nachbarknoten 30 auf dem gemeinsam genutzten Übertragungsmedium als Reaktion auf die ND-Anfrage gesendet werden, siehe Schritt S34. Die antwortenden Knoten können dadurch als potenzielle zu verarbeitende Knoten identifiziert werden. Dementsprechend werden sie z. B. durch den aktuell ausgewählten Knoten 20 oder die BS zur Gruppe der „zu verarbeitenden” Knoten hinzugefügt. Wenn diese Knoten bereits verarbeitet wurden, müssen sie offensichtlich nicht zu der Gruppe hinzugefügt (oder in ihr behalten) werden. Der Knoten 20 teilt zum Beispiel der BS alle Knoten mit, die geantwortet haben, und die BS ermittelt, welche Knoten noch verarbeitet werden müssen. Da die Prozedur wahrscheinlich, dazu führt, dass Knoten mehrfach identifiziert werden, behält die BS vorzugsweise eine Gruppe, die keine Duplikate enthält.
- – Abschließend, Schritt S14: Die obigen Schritte werden für die Knoten 30 wiederholt, die als „zu verarbeitend” gekennzeichnet sind, bis alle maßgeblichen Knoten erkannt sind, d. h., das erneute Umsetzen der ND-Prozedur für jeden Knoten in der Gruppe lässt die Gruppe unverändert.
-
Wie weiter oben erwähnt wurde, wird die Prozedur zum Erkennen zur gleichen Zeit immer nur für einen Knoten umgesetzt, d. h., dass zumindest der Schritt des Verbreitens zur gleichen Zeit immer nur an einem Knoten auftritt. Das Kollisionsrisiko wird entsprechend verringert.
-
1.2. Übergeordnete Varianten
-
Die Iteration wird üblicherweise von der Basisstation gesteuert. Bevor ein weiterer möglicher Knoten für das Umsetzen einer neuen ND-Prozedur ausgewählt wird, wartet die BS, dass ein aktuell ausgewählter Knoten (mindestens) den Schritt des Verbreitens, wie oben beschrieben, beendet. Der aktuell ausgewählte Knoten kann zum Beispiel der BS so früh wie möglich mitteilen, dass der Schritt des Verbreitens beendet wurde, um ein Überschneiden beim Verbreiten zu vermeiden.
-
In (nicht bevorzugten) Umsetzungen können jetzt weitere Schritte der ND-Prozedur für ein Überschneiden gewählt werden, z. B. der n-te erkannte Knoten (der Knoten n) empfängt Antworten von dem Knoten n + 2 während der Knoten n + 1 bereits die Anweisung erhalten hat, die ND-Anfragen zu verbreiten. Diese Varianten können die ND-Prozedur beschleunigen.
-
Noch bevorzugter wird hingegen die neue ND-Prozedur ausgelöst, nachdem der aktuell ausgewählte Knoten 20 die Antworten von den Nachbarknoten erhalten hat, um die Nutzung des gemeinsam genutzten Übertragungsmediums auf ein Mindestmaß herabzusetzen. Auf diese Weise beginnt das neue ND nach dem Empfang eines Berichts von dem aktuell ausgewählten Knoten, wobei der Bericht den Empfang von mindestens einer Antwort von einem Nachbarknoten bestätigt. Wie später zu sehen ist, werden spezielle Prozeduren bevorzugt, die zu nur einem Bericht führen, der von einem aktuellen Knoten nach dem Beenden einer ND-Prozedur gesendet wird (wobei angenommen wird, das alle Antworten empfangen wurden).
-
Wie ein Knoten zu erreichen ist, wird vorzugsweise Dank eines Mechanismus für ein quellenorientiertes Routing bewerkstelligt. Ein quellenorientiertes Routing ist per se bekannt. Die Anwendung dieses Mechanismus im vorliegenden Zusammenhang ermöglicht der BS, ND-Anweisungen an einen gegebenen Knoten zu senden. Die Daten der quellenorientierten Routen für einen gegebenen Knoten werden Schritt für Schritt auf der Grundlage der Daten der quellenorientierten Route eines Knotens aufgebaut, der zuvor den gegebenen Knoten erkannt hat. Wenn zum Beispiel der Knoten A ein Nachbar ist, der von der BS selbst erkannt wurde, kann eine quellenorientierte Route von der BS zum Knoten Aals „BS-A” bezeichnet werden; wenn außerdem der Knoten B ein Nachbar des Knotens A ist, wird eine quellenorientierte Route von der BS zum Knoten B „BS-A-B” heißen und so weiter. Die sich ergebenden quellenorientierten Routen werden nicht nur von der BS verwendet, um Anfragen zu senden, sondern auch von den Knoten (indem quellenorientierte Routen in umgekehrter Richtung verwendet werden), um an die BS zu berichten. Mit einem Mechanismus für ein quellenorientiertes Routing können die BS und die Knoten Nachrichten direkt untereinander austauschen, ohne Mechanismen für das Fluten oder Verbreiten zu benötigen. Da die BS einem Knoten nach dem anderen die Anweisung gibt, die ND-Prozedur umzusetzen, werden Kollisionen vermieden. Die Knoten müssen daher nicht einen CSMA verwenden, wenn sie ihre Antworten an die BS senden.
-
Wenn der Mechanismus für ein quellenorientiertes Routing zusammen mit der oben beschriebenen iterativen Prozedur verwendet wird, ermöglicht er, verschiedene Knoten auch indirekt zu erreichen, sodass die Knoten auch über eine direkte Sendestrecke (eine einzelne Teilstrecke) hinaus erreicht werden können. Auf diese Weise werden die vorliegenden Verfahren auf geografisch ausgedehnte Netzwerke angewendet, wobei es nicht von Bedeutung ist, dass die von der BS verbreiteten Nachrichten von allen Knoten im Netzwerk direkt empfangen werden können.
-
Als Nächstes wird zusätzlich zur ND-Prozedur vorzugsweise eine Prozedur zum Prüfen der Verbindungen (link probing procedure, LP-Prozedur) ausgeführt. Die LP-Prozedur hat das Ziel, die Verbindungsqualität zwischen den während der ND-Prozedur identifizierten Knoten zu beurteilen. Die LP-Prozedur ähnelt andererseits der ND-Prozedur: Es ist eine iterative Prozedur, die üblicherweise von der BS gesteuert wird.
-
Wie in 4 gezeigt, kann die LP-Prozedur mit der ND-Prozedur verflochten sein. Es können noch zahlreiche Zeitablaufmöglichkeiten vorgesehen werden, d. h., wann die LP-Prozedur gestartet wird. Die LP-Prozedur kann zum Beispiel an einem aktuellen Knoten 20 nach dem Beenden der ND-Prozedur für zumindest diesen aktuellen Knoten umgesetzt werden. Wie in 5 gezeigt, startet die LP-Prozedur in bevorzugten Varianten, sobald alle Knoten erkannt wurden. Dieses letzte Szenarium ist besser vorherbestimmbar: Die Zeit, die erforderlich ist, die (kürzere) ND-Prozedur zu beenden, wird einfach ermittelt und wird nicht durch verflochtene LP-Prozeduren gestört.
-
Um die LP-Prozedur zu starten, sendet die BS eine Anweisung (4, Schritt S12 oder 5, Schritt S16) an den aktuell ausgewählten Knoten 20, um eine LP-Prozedur umzusetzen. Die LP-Prozedur selbst startet üblicherweise durch das „Senden” einer oder mehrerer LP-Nachrichten an die zum ausgewählten Knoten 20 benachbarten Knoten 30, Schritt S21, für die nachfolgende Messung der Verbindungsqualität (Schritt S31).
-
Dort können zwei Varianten vorgesehen sein, d. h., „Senden” kann sich auf ein Verfahren zum Verbinden oder ein Verfahren zum Verbreiten beziehen:
- – Verfahren zum Verbinden:
In diesem Verfahren werden alle betroffenen Verbindungen einzeln geprüft. Die BS sendet an einen gegebenen Knoten 20 (aus einer Liste von erkannten Knoten) eine Anfrage, die Verbindung zu einem gegebenen Nachbarn n (d. h. einem Knoten aus den Knoten 30) zu prüfen. Nach dem Empfang dieser Anfrage fordert der Knoten 20 den Knoten n auf, ihm eine Anzahl von Nachrichten zu senden. Der Knoten 20 hört das von dem Knoten n gesendete Nachrichtenbündel ab, zählt die Anzahl der fehlerfrei empfangenen Nachrichten, misst den Indikator für die Empfangssignalstärke (received signal strength indicator, RSSI, d. h. eine Messung der in einem empfangenen Funksignal vorhandenen Leistung) und/oder andere Indikatoren usw., und berichtet die Ergebnisse zurück an die BS. Die Prozedur zum Prüfen der Verbindungen des Knotens 20 wird beendet, wenn die BS alle Knoten aufgefordert hat, alle angrenzenden Verbindungen zu prüfen.
- – Verfahren zum Verbreiten:
In diesem Ansatz verbreitet ein ausgewählter Knoten 20 nach dem Empfang der von der BS gesendeten Anfrage zum Prüfen der Verbindungen eine Anzahl von Nachrichten. Die Nachbarknoten 30, welche die verbreiteten Nachrichten empfangen können, zählen die Anzahl der von ihnen fehlerfrei empfangenen Nachrichten, messen den sich ergebenden RSSI usw.
-
Als Nächstes gibt es zwei Optionen, wie die Ergebnisse zu der BS übertragen werden können, nämlich:
- • Der Knoten 20 fragt jeden Nachbarn 30 einzeln ab und sendet die Ergebnisse zu der Basisstation, oder
- • Die Basisstation fordert die Ergebnisse direkt von den benachbarten Knoten an.
-
Eine weitere Option wird später in Bezug auf 4 erörtert.
-
Das Verbreiten der LP-Nachrichten auf dem gemeinsam genutzten Übertragungsmedium 1 bleibt genauso wie in der ND-Prozedur ein wirkungsvoller Ansatz, sofern zur gleichen Zeit immer nur ein Knoten (Knoten 20) ausgewählt wird. Für ein Netzwerk mit N Knoten zum Beispiel erfordert das Verfahren zum Verbreiten nur O(N) Messungen, während das Verfahren des Verbindens O(N2) Messungen erfordert. Die Laufzeit des Verfahrens zum Verbreiten ist daher wesentlich kürzer. Es wird darauf hingewiesen, dass die Knoten weder im Verfahren zum Verbinden noch im Verfahren zum Verbreiten gleichzeitig senden, und daher ist kein CSMA-artiger Ansatz erforderlich.
-
Bei der Umsetzung einer ND- und/oder LP-Prozedur werden jetzt die durch Nachbarknoten gesendeten Antworten aus Effizienzgründen vorzugsweise an nur eine Adresse gesendet, Schritt S34. Ein erfolgreicher Empfang der Antwortnachricht könnte bestätigt werden, z. B. indem der Mechanismus zur Bestätigung der Verbindung der 802.15.4 MAC-Schicht verwendet wird.
-
Da mehrere Knoten gleichzeitig antworten können, kann hier von den Knoten ein CSMA-artiges Protokoll verwendet werden, um mit möglichen Kollisionen umzugehen, wobei eine Antwort, wie es per se bekannt ist, in der Abwesenheit von anderem Datenverkehr auf dem gemeinsam genutzten Medium 1 gesendet wird. Dies wird ausführlicher in Bezug auf 7 erörtert.
-
Außerdem werden Antworten, die an einem aktuell ausgewählten Knoten 20 empfangen werden, vorzugsweise nur für eine begrenzte Zeit berücksichtigt (ein Zeitgeber TB wird im Voraus ausgelöst), wodurch das Verfahren besser vorherbestimmbar wird. Üblicherweise wird der Schritt des Verbreitens einer ND-Anfrage einige Male wiederholt, wobei die ND-Anfrage Informationen aufweist, ob der Nachbarknoten antworten sollte oder nicht. Nur Knoten, die
- – entweder in der vorhergehenden Runde ihre Antwort nicht erfolgreich übertragen haben, z. B. aufgrund der Zeitbegrenzung; oder
- – die vorhergehende Runde nicht wahrgenommen hatten, antworten auf eine neue Anfrage unter Verwendung der gleichen Prozedur wie in der ersten Runde. Dies verringert die Anzahl der antwortenden Knoten und vergrößert damit ihre Chance auf eine erfolgreiche Antwort. Die ganze Prozedur bleibt vorherbestimmbar.
-
Abhängig von der Knotendichte können für einen Knoten mehrere Erkennungsrunden erforderlich sein, um alle seine Nachbarn zu erkennen. Als Umsetzungsoptionen kann die Prozedur zum Erkennen entweder nach einer festen Anzahl von Runden beendet werden oder, wenn die Anzahl der antwortenden Knoten während der letzten Runde kleiner als ein bestimmter Wert war.
-
2. Spezielle Ausführungsformen
-
Die Ausführungsformen von 4 und 5 unterscheiden sich wesentlich in der Anordnung der ND-Prozedur gegenüber der LP-Prozedur. In 4 sind beide Prozeduren verflochten, während in 5 die ND-Prozedur beendet wurde, bevor die LP-Prozedur ausgelöst wird. Die Einzelheiten der Ausführungsform der 5 werden zuerst erörtert.
-
2.1 Aufeinanderfolgende ND- und LP-Prozeduren
-
Nachfolgend werden unter Bezugnahme auf die 5 bis 10 spezifische Ausführungsformen der Verfahren und Systeme beschrieben, die das Erkennen eines Netzwerks ermöglichen. Hier wird die LP-Prozedur (Schritte S15 bis S17) aus Sicht der 5 an einem aktuellen Knoten 20 umgesetzt, sobald alle Knoten erkannt worden sind. Dieses letzte Szenarium ist insofern besser vorherbestimmbar als das der 4, als die Zeit, die erforderlich ist, die (kürzere) ND-Prozedur zu beenden, einfach ermittelt und nicht durch (längere) LP-Prozeduren gestört wird. Genauer gesagt hat die LP-Prozedur im Wesentlichen eine vorherbestimmbare Dauer, während die ND-Prozedur dies nicht hat (d. h., am Anfang ist nicht bekannt, wie viele Knoten vorhanden sind). Ein Vorteil ist, dass die üblicherweise kurzen ND-Kernschritte S22 bis S23 wiederholt werden können (S24), bis (wenn es notwendig sein sollte) alle bekannten Knoten ohne erhebliche Auswirkungen auf die Dauer gefunden wurden. Im Gegenteil dazu wird die längere LP-Prozedur nur einmal durchgeführt.
-
Die BS 10 wählt üblicherweise unter den noch nicht verarbeiteten Knoten einen aktuellen Knoten 20 aus (Schritt S11) und gibt dem ausgewählten Knoten 20 im Schritt S12 die Anweisung, zuerst die ND-Prozedur zu starten. Kurz gesagt, sendet die BS sendet eine Anweisung ND_CMD an den Knoten 20, z. B. unter Verwendung eines quellenorientierten Routings. Der Knoten 20 reagiert, indem er die ND-Anfrage auf dem Medium 1 verbreitet. Nach dem Empfang der ND-Anfrage, Schritt S31, verarbeitet ein Nachbarknoten 30 die Anfrage (Schritt S33) und antwortet mit einer passenden Antwort ND_RESP (Schritt S34), wodurch er sich selbst bei dem Knoten 20 identifiziert. Die Antwort wird im Schritt S23 am Knoten 20 empfangen, der unter Verwendung eines quellenorientierten Routings in umgekehrter Richtung der BS im Schritt S25 entsprechend berichtet.
-
Die obigen Schritte können außerdem in verschiedene Teilschritte gegliedert werden, die jetzt unter Bezugnahme auf 6 (beschreibt Schritte, die an einem aktuell ausgewählten Knoten 20 ausgeführt werden) und 7 (bezieht sich auf einen Nachbarknoten) beschrieben werden.
-
In Bezug auf 6 kann das folgende Schema umgesetzt werden:
- – Schritt S220: Der Knoten 20 ist am Abhören (er hat nicht wahrgenommen, dass er schon von der BS ausgewählt wurde).
- – Schritt S221: Er erhält einen ND-Befehl (ND_CMD) von der BS.
- – Schritt S222: Der Knoten 20 stellt den Zähler BC auf Null und startet die Einstellung N des antwortenden Knotens.
- – Schritt S223: Der Knoten 20 verbreitet die ND-Anfrage und
- – Schritt S224: startet einen Zeitgeber TB.
- – Schritt S225: Der Knoten 20 kehrt in den Abhörmodus zurück und wartet auf mögliche Antworten.
-
Wie festgestellt werden kann, entsprechen die Schritte 221 bis 225 einfach dem Schritt S22 in 5. Im Allgemeinen kann jedes geeignete Schema vorgesehen werden, das allgemein darin besteht, den ND-Befehl zu empfangen und die ND-Anfrage zu verbreiten.
-
Auf ähnlich Weise kann der Schritt S23 aus 5 aufgegliedert werden, siehe 6, in:
- – Schritt S231: Wenn eine Antwort ND RESP am Knoten 20 von einem bestimmten Knoten n aus den Nachbarknoten 30 empfangen wird,
- – Schritt S232: aktualisiert Knoten 20 die Einstellung N gemäß dem Antwortgeber n (eine geeignete Kennung für den Knoten n wird zu N hinzugefügt).
- – Schritt S233: Der Knoten 20 kehrt in den Abhörmodus zurück und wartet auf weitere Antworten.
- – Schritt S234: Wenn andererseits der vorher eingestellte Zeitgeber TB abgelaufen ist,
- – Schritt S235: zählt Knoten 20 den BC hoch; und
- – Schritt S236: prüft, ob ein maximaler Zählerwert erreicht wurde. Wenn nicht, wird ND_REQ im Schritt S223 erneut verbreitet. Folglich überträgt der Knoten 20, wie in Schritt S24 in 5 dargestellt, erneut einige Male ND_REQ. Auf diese Weise werden die während des Umsetzens einer ND-Prozedur für den ausgewählten Knoten 20 empfangenen Antworten nur während einer begrenzten Zeit berücksichtigt. Wenn der maximale Zählerwert erreicht wurde, bereitet der Knoten 20 einen Bericht (ND_REPORT) von und sendet ihn an die BS, Schritt S25. Der Knoten 20 kehrt abschließend zurück in den Abhörmodus.
-
Zwischenzeitlich kann das folgende Schema an den Nachbarknoten 30 umgesetzt werden. Dabei wird ein bestimmter Knoten (zum Beispiel der Knoten n) aus den Nachbarknoten 30 betrachtet:
- – Schritt S330: Der Knoten ist am Abhören;
- – Schritt S33 (auch in 5) wird aufgegliedert in:
- • Schritt S331: ND_REQ wird von dem Knoten 20 empfangen. Wie gesagt, weist die ND-Anfrage Informationen darüber auf, ob ein Nachbarknoten antworten sollte oder nicht. Diese Informationen bestehen üblicherweise aus Kennungen (identifiers, IDs) der Knoten, die bereits geantwortet haben;
- • Schritt S332: Der Knoten n überprüft folglich, ob die ND-Anfrage ihre eigene ID enthält. Wenn ja, kehrt der Knoten 30 im Schritt S340 in den Abhörmodus zurück. Wenn nein, antwortet der Knoten n, indem er im Schritt S34 eine ND-Antwort sendet, siehe auch 5. Diese Antwort wird, wie früher schon gesagt, unter Verwendung eines CSMA-artigen Protokolls an nur eine Adresse gesendet, d. h., die Antwort wird bei der Abwesenheit von anderem Datenverkehr gesendet.
- – Schritt S34: Die Antwortprozedur kann entsprechend aufgegliedert werden in:
- • Schritt S341: Ein Zeitgeber wird gestartet.
- • Schritt S342: Der Knoten n prüft, ob das Medium (z. B. ein Funkkanal) frei ist.
- • Schritt S343: Wenn nein, startet der Knoten eine zufällige Verzögerungszeit.
- • Schritt S344: Der Knoten wartet, bis die zufällige Verzögerungszeit abgelaufen ist.
- • Schritt S345: Wenn die Verzögerungszeit abläuft, geht der Knoten n zurück zu Schritt S342, um zu prüfen, ob das Medium frei ist.
- • Schritt S346: Wenn andererseits der in Schritt S341 eingestellte Zeitgeber abläuft,
- • Schritt S347: stoppt der Knoten n die Verzögerungszeit und kehrt im Schritt S340 zurück in den Abhörmodus.
- • Schritt S348: Wenn, wie im Schritt S342 geprüft, das Medium jetzt frei ist, kann der Knoten n mit dem Senden der Antwort nur an die Adresse des anfragenden Knotens 20 weitermachen.
- • Schritt S349: Der im Schritt S341 eingestellte Zeitgeber wird somit gestoppt und der Knoten n kehrt im Schritt S340 in den Abhörmodus zurück.
-
Auf der Grundlage des vom Knoten 20 empfangenen Berichts ND_REPORT kann die BS jetzt ermitteln, welche Knoten 30 noch verarbeitet werden müssen (Schritt S13). Entsprechend wird die ND-Prozedur im Schritt S14 erneut durchlaufen, bis alle Knoten erkannt worden sind.
-
Als Nächstes hat die BS 10 nach dem Beenden der ND-Prozedur eine Gruppe von Knoten wahrgenommen, die geantwortet haben, und kann die LP-Prozedur starten.
-
Die BS hat sogar eine Liste der Knoten, zu der für jeden Knoten die Liste seiner Nachbarn und der quellenorientierten Routen gehört, die verwendet werden können, um eine Nachricht an jeden Knoten zu senden. Auf der Grundlage dieser Daten fordert die BS jeden einzelnen Knoten auf der Liste auf, eine Prozedur zum Prüfen der Verbindungen auszuführen, dessen Einzelheiten unten beschrieben werden. Die Prozedur zum Prüfen der Verbindungen ist beendet, wenn alle Knoten der Liste die Prozedur zum Prüfen der Verbindungen ausgeführt haben und die Ergebnisse an die Basisstation weitergeleitet wurden. Auf der Grundlage der erfassten Statistiken werden die Verbindungsqualitäten in der BS gesammelt.
-
Zum Umsetzen der LP-Prozedur muss die BS zuerst (5, Schritt S15) einen Knoten (der wieder mit dem Bezugszeichen 20 gekennzeichnet wird) auswählen und dem ausgewählten Knoten 20 die Anweisung geben, eine LP-Prozedur lokal zu starten. Die BS sendet nämlich im Schritt S16 einen Befehl LP_CMD an den Knoten 20.
-
Der ausgewählte Knoten 20 reagiert ganz allgemein mit dem Verbreiten einer oder mehrerer Nachrichten zum Prüfen der Verbindungen LP_MSG (5, Schritt S21). Im Einzelnen und, wie in 8 dargestellt, führt der Knoten 20 die folgenden Schritte aus:
- – Schritt S220: Der Knoten 20 hört das Netzwerk ab.
- – Schritt S221: Er empfängt den von der Basisstation gesendeten LP-Befehl.
- – Schritt S222: Er verbreitet seinerseits M-mal eine Nachricht LP_MSG zum Prüfen der Verbindungen.
- – Schritt S223: Er bestätigt entsprechend den Empfang an die BS (LP_ACK gesendet, wie auch im Schritt S21 angegeben) und kehrt in den Abhörmodus zurück. Die BS kann weitermachen (Schritt S17) mit dem Senden an andere Knoten 20 (und durchläuft die Schritte S15, S16 usw. erneut).
-
Dementsprechend kann ein Nachbarknoten n (aus den Nachbarknoten 30) gemäß 9 weitermachen, und zwar:
- – Schritt S310: Der Knoten n ist am Abhören.
- – Schritt S311: Der Knoten 20 empfängt eine LP-Nachricht LP_MSG.
- – Schritt S312: Der Knoten n prüft die ID der entsprechenden Nachrichtenfolge zum Prüfen der Verbindungen (LP_ID), d. h., um zu prüfen, ob für die Nachrichtenfolge, zu der die gerade empfangene Nachricht LP_MSG gehört, schon eine Messung der Verbindungsqualität am Laufen ist. Außerdem weist LP_MSG die ID des sendenden Knotens auf:
- – Schritt S313: Wenn die ID der Nachrichtenfolge zum Prüfen der Verbindungen neu ist, löscht der Knoten n einen aktuellen ablaufenden LQM-Prozess und
- – Schritt S314: startet einen neuen LQM-Prozess.
- – Schritt S315: Wenn die ID der LP-Nachrichtenfolge nicht neu ist (das bedeutet, dass bereits ein LQM-Prozess für diese Nachrichtenfolge abläuft), gibt der Knoten n die Anweisung, den laufenden LQM-Prozess zu aktualisieren.
-
Die Ergebnisse eines LQM-Prozesses können von jedem Knoten abgefragt werden. Vorzugsweise wird die BS, wie in 5 dargestellt, die LQM-Ergebnisse erfassen. Entsprechend wird von der BS im Schritt S18 ein Befehl gesendet, der im Schritt S35 an einem Knoten n empfangen wird, worauf die Ergebnisse im Schritt S36 zurück an den Abfragenden gesendet werden, um nachfolgend im Schritt S19 dort verarbeitet zu werden. Wie dies von dem Knoten n aus der Empfängersicht verwaltet wird, ist in 10 andererseits kurz umrissen. Zuerst ist der Knoten n im Schritt S350 am Abhören. Danach wird im Schritt S35 eine (entweder von einem Knoten 20 oder von der BS gesendete) LQM_REQ empfangen. Danach können die Ergebnisse des betreffenden LQM-Prozesses in eine entsprechende Antwort LQM_RSP gepackt werden und im Schritt S36 an den Abfragenden gesendet werden.
-
Sobald alle LQM-Ergebnisse bekannt sind, kann der eigentliche Datenaustausch schließlich starten, z. B. unter Verwendung eines (nicht gezeigten) TDMA.
-
2.2 Verflochtene ND- und LP-Prozeduren
-
Nachfolgend werden unter Bezugnahme auf 4 Ausführungsformen ausführlicher beschrieben, die das Erkennen eines Netzwerks ermöglichen. Wie weiter oben erwähnt wurde, sind die LP- und ND-Prozeduren jetzt verflochten. Wie zu sehen ist, ermöglicht das Verflechten einiger Schritte der LP- und ND-Prozesse, einige Schritte einzusparen, und dies kann in einigen Fällen wirkungsvoller sein.
-
Im Einzelnen und wie in 4 dargestellt, ist die LP-Prozeduren mit dem ND so verflochten, dass eine Antwort, die am (aktuell ausgewählten) Knoten 20 als Antwort auf eine ND-Anfrage empfangen wird, Daten aufweist, die in Bezug zu einer Messung der Verbindungsqualität zwischen dem aktuellen Knoten 20 und dem Knoten n stehen (Schritt S23). In anderen Worten wird in diesem Fall das LP vor dem ND gestartet, sodass die Daten, die sich auf eine Messung der Verbindungsqualität (LQM) beziehen, zur Verfügung stehen, wenn die ND-Anfrage ankommt. Diese Ergebnisse können entsprechend als Antwort auf eine ND-Anfrage hinzugefügt werden, sodass die ND-Antworten und LQM-Ergebnisse zusammen erfasst werden.
-
Insbesondere in diesem Fall würde die BS 10 üblicherweise einem Knoten 20 die Anweisung geben, sowohl die LP- als auch die ND-Prozedur zu starten; siehe 4. Die BS sendet nämlich eine LP/ND-CMD genannte Anweisung an den Knoten 20, z. B. unter Verwendung eines quellenorientierten Routings. In Varianten sendet die BS zuerst einen LP_CMD und später, nach der Empfangsbestätigung durch den Knoten 20, sendet sie einen ND_CMD.
-
Als Nächstes reagiert der ausgewählte Knoten 20, indem er die eine oder die mehreren Nachrichten zum Prüfen der Verbindungen LP_MSG sendet, z. B. indem er diese Nachrichten verbreitet. Der ausgewählte Knoten 20 kann, falls erforderlich, außerdem den Empfang von LP_CMD bestätigen.
-
Nach dem Empfang in Schritt S31 nimmt ein gegebener Nachbarknoten n aus den Nachbarn 30 die LQM vor und speichert das Ergebnis für eine spätere Verwendung. Andere Nachbarknoten werden im Wesentlichen praktisch in der gleichen Weise gegenüber dem verbreitenden Knoten 20 oder anderen später von der BS ausgewählten Knoten vorgehen.
-
Später (z. B. nach dem Ablaufen eines Zeitgebers oder nach einer Anweisung von der BS), wenn der Knoten 20 die ND-Anfrage verbreitet (ND_REQ, Schritt S22), kann der gleiche Nachbarknoten n im Schritt S33 die ND-Anfrage verarbeiten und beantworten, indem er eine entsprechende Antwort (ND_RESP) sendet, in welcher im Schritt S34 die Ergebnisse des LQM-Schritts beigefügt sind. Dementsprechend würde eine gemeinsame Antwort des Nachbarknotens 30 wahrscheinlich sowohl die Antwort auf die ND-Anfrage als auch die LQM-Ergebnisse für die betreffende Verbindung aufweisen, wobei ein Schritt für ein erneutes Übertragen eingespart wird.
-
Die gemeinsame Antwort wird im Schritt S23 am aktuellen Knoten 20 empfangen. Der Schritt des Verbreitens der ND-Anfrage wird üblicherweise wiederholt (Schritt S24), um den sicheren Empfang durch alle Nachbarn sicherzustellen.
-
Als Nächstes kann der aktuelle Knoten 20 im Schritt S25 der BS 10 berichten, welche Knoten geantwortet haben und dadurch für eine nachfolgende Verarbeitung in der BS identifiziert wurden. Außerdem werden die LQM-Ergebnisse an die BS weitergeleitet.
-
Die BS ermittelt folglich, welche neuen Knoten noch verarbeitet werden müssen, d. h., dass diese Knoten, für welche das Umsetzen der LP/ND-Prozedur noch zu weiteren Knoten führen kann, bisher noch nicht identifiziert waren.
-
Die BS durchläuft folglich alle Knoten, bis im Schritt S14 alle Knoten verarbeitet sind. Sobald alle Knoten identifiziert und die LQM-Ergebnisse bekannt sind, kann schließlich der eigentliche Datenaustausch zwischen den Knoten umgesetzt werden, z. B. indem ein Schema zum Zeitmultiplexen wie zum Beispiel ein (nicht gezeigter) Zeitmultiplexmehrfachzugriff (time division multiple access, TDMA) verwendet wird.
-
Bis zu diesem Zeitpunkt war kein Zeitmultiplexen eingebunden, da die Knoten nichts voneinander wussten.
-
Als Nächstes kann als eine mögliche Variante vorgesehen sein, die Schritte des Verbreitens von ND und LP zu vereinen (Schritte S21 und S22). Die Nachrichten zum Prüfen der Verbindungen könnten nämlich als Anfragen zum Erkennen von Nachbarn dienen und die Schritte S21 und S22 könnten ein und derselbe Schritt sein. Dies würde wahrscheinlich jedoch die Dauer der gesamten Prozedur ausdehnen, da die LP-Prozedur üblicherweise eine ziemlich große Anzahl von Nachrichten verbreitet, während die ND-Prozedur das Senden einer einzigen Nachricht erfordert, welche wenige Male erneut verbreitet wird, z. B. 1 bis 3 mal.
-
3. Beschreibung der Knoten
-
Vorzugsweise werden Sensorknoten betrachtet. Die Sensorknoten (oder Motes) sind so konfiguriert, dass sie sensorische Daten erfassen, einige (begrenzte) Verarbeitungen ausführen und mit anderen angeschlossenen Knoten Daten austauschen können. Wie weiter oben erwähnt wurde, ist die BS üblicherweise so konfiguriert, dass sie aufwendigere Aufgaben ausführen kann. Sie kann als ein Superknoten betrachtet werden, der größere Rechner- und Speicherkapazitäten besitzt. In allen Fällen können sowohl die Knoten als auch die BS jeweils als eine computergestützte Einheit betrachtet werden, wie sie zum Beispiel in 3 dargestellt ist.
-
Wie bekannt ist, gehören zu den Hauptkomponenten eines Sensorknotens üblicherweise:
- – eine Mikrosteuereinheit, die aufweist:
- • einen Prozessorkern,
- • einen Speicher,
- • Programme, und
- • programmierbare Eingabe/Ausgabe-Peripherieeinheiten wie zum Beispiel Zeitgeber, Ereigniszähler usw.
-
Die Mikrosteuereinheit verarbeitet Daten (führt einfache Aufgaben aus) und steuert andere Komponenten im Knoten, zu denen im Allgemeinen gehören:
- – ein Transceiver (oder allgemeiner eine Netzwerkschnittstelle), um mit dem Netzwerk zu interagieren,
- – ein externer Arbeitsspeicher oder ein externer Datenspeicher,
- – eine Stromversorgung; und
- – ein oder mehrere Sensoren, die über eine Eingangssteuereinheit angeschlossen sind.
-
Die Knoten und die BS sind ausgestaltet für das Umsetzen von Aspekten der vorliegenden, oben beschriebenen Erfindung. In dieser Hinsicht sind die hier beschriebenen Verfahren so zu verstehen, dass sie weitgehend automatisiert und nicht interaktiv sind. In beispielhaften Ausführungsformen können die hier beschriebenen Verfahren entweder in einem interaktiven, einem teilweise interaktiven oder einem nicht interaktiven System umgesetzt werden. Die hier beschriebenen Verfahren können als Software (z. B. Firmware), Hardware oder eine Kombination davon umgesetzt werden. In beispielhaften Ausführungsformen werden die hier beschriebenen Verfahren in Softwareform als ein ausführbares Programm umgesetzt, wobei Letzteres durch spezielle digitale Computer (Knoten und BS) ausgeführt wird. Insbesondere können Ausführungsformen der vorliegenden Erfindung umgesetzt werden, indem digitale Universal-Computer verwendet werden wie zum Beispiel Personal Computer, Workstations usw.
-
Das in 3 gezeigte System 100 stellt schematisch eine computergestützte Einheit 101 dar, z. B. einen Universal-Computer, der die Rolle eines Sensorknotens oder einer BS spielen kann. In beispielhaften Ausführungsformen gehört zu der Einheit 101, wie in 3 gezeigt, hinsichtlich der Hardware-Architektur ein Prozessor 105, ein Speicher 110, der mit einer Speichersteuereinheit 115 verbunden ist, und ein oder mehrere Eingangs- und/oder Ausgangseinheiten (E/A-Einheiten) 140, 145, 150, 155 (oder Peripherieeinheiten), die zum Datenaustausch über eine lokale Eingangs/Ausgangs-Steuereinheit 135 angeschlossen sind. Wie es nach dem Stand der Technik bekannt ist, können zu der Eingangs/Ausgangs-Steuereinheit 135, ohne auf diese beschränkt zu sein, ein oder mehrere Busse oder andere leitungsgebundene oder drahtlose Verbindungen gehören. Die Eingangs/Ausgangs-Steuereinheit 135 kann zusätzliche Elemente wie zum Beispiel Steuereinheiten, Puffer (Cachespeicher), Treiber, Verstärker und Empfänger aufweisen, die der Einfachheit halber weggelassen wurden. Außerdem können zu der lokalen Schnittstelle Adressen-, Steuer- und/oder Datenverbindungen gehören, um einen geeigneten Datenaustausch unter den zuvor erwähnten Komponenten zu erlauben.
-
Der Prozessor 105 ist eine Hardwareeinheit für das Ausführen von Software, speziell für diejenige, die im Speicher 110 abgelegt ist. Der Prozessor 105 kann jeder beliebige kundenspezifische oder handelsübliche Prozessor, eine Zentraleinheit (CPU), ein Coprozessor unter mehreren Prozessoren, die zum Computer 101 gehören, ein Mikroprozessor auf Halbleitergrundlage (in der Form eines Mikrochips oder einer Chip-Gruppe) oder allgemein jede Einheit zum Ausführen von Softwarebefehlen sein.
-
Zu dem Speicher 110 kann ein beliebiges oder eine Kombination von flüchtigen Speicherelementen (z. B. RAM) und nichtflüchtigen Speicherelementen gehören. Darüber hinaus kann der Speicher 110 elektronische, magnetische, optische und/oder andere Arten von Speichermedien enthalten. Es ist zu beachten, dass der Speicher 110 eine dezentrale Architektur aufweisen kann, in der zahlreiche Komponenten entfernt voneinander angeordnet sein können, aber für den Prozessor 105 zugänglich sind.
-
Zu der Software im Speicher 110 können ein oder mehrere getrennte Programme gehören, von denen jedes eine geordnete Liste von ausführbaren Befehlen für das Umsetzen logischer Funktionen aufweist. Im Beispiel der 3 gehören zur Software im Speicher 110 Verfahren, die hier gemäß der beispielhaften Ausführungsformen beschrieben werden, und ein geeignetes Betriebssystem (operating system, OS) 111. Das OS 111 steuert im Wesentlichen die Ausführung anderer Computerprogramme wie zum Beispiel die hier beschriebenen Verfahren (z. B. 4 bis 10) und stellt eine Zeitplanung, eine Eingangs/Ausgangs-Steuerung, eine Datei- und Datenverwaltung, eine Speicherverwaltung und eine Datenaustauschsteuerung sowie dazu in Bezug stehende Dienste bereit.
-
Die hier beschriebenen Verfahren können in der Form eines Quellprogramms, eines ausführbaren Programms (Objektcode), eines Scripts oder einer beliebigen anderen Einheit vorliegen, die eine Gruppe von auszuführenden Befehlen aufweist. Wenn das Programm in einem Quellprogramm vorliegt, muss es mit einem Compiler, Assembler-Übersetzer oder Ähnlichem übersetzt werden, der im Speicher 110 enthalten oder nicht enthalten sein kann, sodass es ordnungsgemäß in Verbindung mit dem OS 111 betrieben wird. Außerdem können die Verfahren in einer objektorientierten Programmiersprache, die verschiedene Klassen von Daten und Verfahren aufweist, oder einer prozedurorientierten Programmiersprache geschrieben sein, die Routinen, Unterroutinen und/oder Funktionen aufweist.
-
Es ist möglich (speziell für die BS, falls erforderlich) eine herkömmliche Tastatur 150 und eine Maus 155 mit der Eingangs/Ausgangs-Steuereinheit 135 zu verbinden. Zu weiteren E/A-Einheiten 140 bis 155 können Sensoren (speziell im Fall von Knoten) gehören, d. h. Hardwareeinheiten, die auf eine Änderung einer physikalischen Bedingung wie Temperatur oder Druck (die zu überwachenden physikalischen Daten) eine messbare Antwort erzeugen. Das von den Sensoren üblicherweise erzeugte analoge Signal wird durch einen Analog/Digital-Wandler digitalisiert und zur weiteren Verarbeitung an die Steuereinheiten 135 gesendet. Sensorknoten sind idealerweise sehr klein, verbrauchen wenig Energie, sind autonom und arbeiten ohne Bedienung. Da drahtlose Sensorknoten üblicherweise kleine elektronische Einheiten sind, werden sie vorzugsweise mit einer Stromquelle mit begrenzter Leistung ausgestattet, z. B. weniger als 0,5 bis 2 Ah und 1,2 bis 3,7 V.
-
Außerdem können zu den E/A-Einheiten 140 bis 155 zusätzlich Einheiten gehören, die den Datenaustausch sowohl der Eingänge als auch der Ausgänge ausführen. Zu dem System 100 kann außerdem eine Anzeigesteuereinheit 125 gehören, mit der eine Anzeige 130 verbunden ist. In beispielhaften Ausführungsformen kann zu dem System 100 außerdem für die Verbindung mit einem Netzwerk 165 eine Netzwerkschnittstelle oder ein Transceiver 160 gehören.
-
Das Netzwerk 165 überträgt und empfängt Daten zwischen der Einheit 101 und externen Systemen (Knoten/BS). Das Netzwerk 165 ist, wie gesagt, vorzugsweise in einer drahtlosen Form umgesetzt, z. B. unter Verwendung von Protokollen für drahtlose Netzwerke und von drahtlosen Technologien. Vorliegende Ausführungsformen konzentrieren sich vorzugsweise auf Netzwerke mit geringer Leistungsaufnahme, z. B. IEEE 802.15.4. Es können noch weitere Ausführungsformen vorgesehen werden, die andere Protokolle und Technologien verwenden. Es gibt viele dieser Technologien (z. B. ein festes drahtloses Netzwerk, ein drahtloses lokales Netzwerk (local area network, LAN), ein drahtloses Fernnetz (wide area network, WAN) usw., die per se bekannt sind und hier nicht näher beschrieben werden müssen. Das Netzwerk 165 kann auch ein paketvermitteltes Netzwerk sein wie zum Beispiel ein lokales Netzwerk, ein Fernnetz oder eine andere Art einer Netzwerkumgebung.
-
Wenn es sich bei der Einheit 101 um einen PC, eine Workstation, eine intelligente Einheit oder Ähnliches handelt, kann zu der Software im Speicher 110 außerdem ein (der Einfachheit halber weggelassenes) Basis-Ein-Ausgabe-System (basic input Output system, BIOS) gehören. Das BIOS ist im ROM gespeichert, sodass das BIOS ausgeführt werden kann, wenn der Computer 101 in Betrieb gesetzt wird.
-
Wenn die Einheit 101 in Betrieb ist, wird der Prozessor 105 so konfiguriert, dass er die in dem Speicher 110 gespeicherte Software ausführt, um Daten mit dem Speicher 110 auszutauschen und um im Allgemeinen die Vorgänge des Computers 101 gemäß der Software zu steuern. Die hier beschriebenen Verfahren und das OS 111 werden als Ganzes oder in Teilen vom Prozessor 105 gelesen, üblicherweise im Prozessor 105 zwischengespeichert und danach ausgeführt.
-
Wenn die hier beschriebenen Systeme und Verfahren als Software umgesetzt werden, können die Verfahren zur Verwendung durch ein oder in Verbindung mit einem beliebigen computergestützten System oder Verfahren auf einem beliebigen computerlesbaren Medium gespeichert werden wie zum Beispiel im Speicher 120.
-
Wie der Fachmann versteht, können die Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden. Dementsprechend können die Aspekte der vorliegenden Erfindung die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (einschließlich Firmware, residente Software, Mikrocode, usw.) oder einer Ausführungsform annehmen, die Software und Hardware-Aspekte kombiniert. Außerdem können die Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien enthalten ist, auf denen ein computerlesbarer Programmcode enthalten ist.
-
Jede beliebige Kombination eines oder mehrerer computerlesbarer Medien kann verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Ein computerlesbares Speichermedium kann unter anderem beispielsweise, ohne auf diese beschränkt zu sein, ein System, eine Vorrichtung oder eine Einheit zur elektronischen, magnetischen, optischen, elektromagnetischen, Infrarot- oder Halbleiterspeicherung sein oder jede geeignete Kombination davon. Zu konkreteren Beispielen computerlesbarer Speichermedien gehören (in einer unvollständigen Liste) Folgende: eine elektrische Ein- oder Mehrdrahtverbindung, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disc-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination davon. Im Zusammenhang mit diesem Dokument kann ein computerlesbares Speichermedium jedes verfügbare Medium sein, auf dem ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung enthalten sein oder gespeichert werden kann.
-
Ein computerlesbares Signalmedium kann ein übertragenes Datensignal mit einem darin beispielsweise im Basisband oder als Teil einer Trägerwelle eingebundenen computerlesbaren Programmcode enthalten. Ein solches übertragenes Signal kann eine von einer Vielfalt von Formen annehmen, einschließlich, ohne auf diese beschränkt zu sein, eine elektromagnetische oder optische Form oder jede geeignete Kombination davon. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und welches Programmdaten für eine Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung austauschen, verbreiten oder übertragen kann.
-
Ein Programmcode, der auf einem computerlesbaren Medium enthalten ist, kann unter Verwendung eines geeigneten Mediums übertragen werden, einschließlich, ohne darauf beschränkt zu sein, drahtlos oder leitungsgebunden, über Lichtwellenleiter, HF usw. oder jeder geeigneten Kombination davon.
-
Der Computerprogrammcode zur Durchführung von Operationen für einige Aspekte der vorliegenden Erfindung kann in jeder beliebigen Kombination von Programmiersprachen geschrieben werden, einschließlich objektorientierter Programmiersprachen wie zum Beispiel Java, Smalltalk, C++ oder ähnlicher Programmiersprachen, und herkömmlicher prozessorientierter Programmiersprachen wie zum Beispiel der Programmiersprache ”C” oder ähnlicher Programmiersprachen. Der Programmcode kann vollständig auf der Einheit 101 (Knoten oder BS), teilweise darauf, teilweise auf einer Einheit 101 und einer weiteren ähnlichen oder nicht ähnlichen Einheit 101 ausgeführt werden. Er kann teilweise auf dem Computer eines Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden.
-
Aspekte der vorliegenden Erfindung werden oben unter Bezugnahme auf die Ablaufplandarstellungen und/oder die Blockschaubilder der Verfahren, Vorrichtungen (Systeme) und Computerprogrammprodukte gemäß einiger Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufplandarstellungen und/oder der Blockschaubilder durch Computerprogrammbefehle umgesetzt werden kann. Diese Computerprogrammbefehle können für einen Prozessor eines Mehrzweckcomputers, Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, in der die vom Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Befehle, die Mittel zur Umsetzung der in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaubilds spezifizierten Funktionen/Aktionen erzeugen.
-
Die Computerprogrammbefehle können auch in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von Betriebsschritten zu erzeugen, die auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten ausgeführt werden, um einen computergestützten Prozess zu erzeugen, durch den die Befehle, die im Computer oder in den anderen programmierbaren Vorrichtungen ausgeführt werden, die Verfahren für das Umsetzen der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilds festgelegten Funktionen/Aktionen bereitstellen.
-
Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, Leistungsmerkmale und den Betrieb möglicher Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß zahlreicher Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Ablaufplan oder den Blockschaubildern ein Modul, Segment oder Abschnitt eines Codes verkörpern, das ein oder mehrere ausführbare Befehle zur Umsetzung der festgelegten, logischen Funktion(en) umfasst. Es sollte auch beachtet werden, dass in einigen alternativen Umsetzungen, die in den Blöcken angegebenen Funktionen in einer anderen als der in den Figuren angegebenen Reihenfolge ausgeführt werden. Zum Beispiel können zwei Blöcke, die nacheinander dargestellt sind, im Wesentlichen sogar gleichzeitig ausgeführt werden, oder manchmal können diese Blöcke, abhängig von den betroffenen Leistungsmerkmalen und einer Algorithmus-Optimierung, auch in umgekehrter Reihenfolge ausgeführt werden. Es muss auch erwähnt werden, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellung und die Kombination von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle hardwaregestützte Systeme umgesetzt werden kann, welche die festgelegten Funktionen und Aktionen oder Kombinationen von Spezialhardware- und Maschinenbefehlen ausführen.
-
Die vorliegende Erfindung wurde zwar in Bezug auf bestimmte Ausführungsformen beschrieben, jedoch ist es für den Fachmann offensichtlich, dass zahlreiche Änderungen vorgenommen und Äquivalenzen ersetzt werden können, ohne sich vom Umfang der Erfindung zu entfernen. Außerdem können viele Änderungen vorgenommen werden, um eine besondere Situation an die Lehren der vorliegenden Erfindung anzupassen, ohne sich von ihrem Umfang zu entfernen. Daher ist die vorliegende Erfindung so zu verstehen, dass sie nicht auf die spezielle offenbarte Ausführungsform beschränkt ist, sondern dass zu der vorliegenden Erfindung alle Ausführungsformen gehören, die in den Umfang der angefügten Ansprüche fallen. Zum Beispiel können in einigen Ausführungsformen viele Veränderungen am CSMA-Protokoll verwendet werden, um Antworten an anfragende Knoten nur an eine Adresse zu senden, z. B. einen Mehrfachzugriff mit Trägerprüfung und Kollisionserkennung (carrier sense multiple access with collision detection, CSMA/CD) oder einen Mehrfachzugriff mit Trägerprüfung und Kollisionsvermeidung (carrier sense multiple access with collision avoidance, CSMA/CA). An einigen Stellen können, wo es angemessen ist, abhängig von den Anwendungen Prozesse für das Senden an nur eine Adresse die Prozesse des Verbreitens ersetzen und umgekehrt. Einige übliche BS-Aufgaben können an die Knoten delegiert werden, z. B. das Hinzufügen (Schritt S13) antwortender Nachbarknoten zur Gruppe von zu verarbeitenden Knoten usw.