Title:
Adaptives drahtloses Sensornetz und Verfahren zur Leitweglenkung von Daten in einem drahtlosen Sensornetz
Kind Code:
B4


Abstract:

Verfahren, welches folgende Schritte umfasst:
Erkennen eines zeitbezogenen Ereignisses durch einen Quellsensorknoten eines drahtlosen Sensornetzes, welches eine Vielzahl von Sensorknoten umfasst;
Ermitteln mehrerer Pfade von dem Quellsensorknoten zu einer Senke des drahtlosen Sensornetzes, wobei die mehreren Pfade aus Hops von Sensorknoten zu Sensorknoten bestehen; und
als Antwort auf den Schritt des Ermittelns einen Schritt des Optimierens einer Verteilung von Datenpaketen zu jedem Pfad der mehreren Pfade, indem gleichzeitig unter Verwendung eines Prozessors des Quellsensorknotens (i) die von Sensorknoten auf jedem Pfad der mehreren Pfade verbrauchte Energie und (ii) eine Zeit zum Übertragen der Datenpakete von dem Quellsensorknoten zu der Senke verringert wird, dadurch gekennzeichnet, dass
der Schritt des Optimierens einer Verteilung von Datenpaketen umfasst:
Lösen der Gleichung: Z=Σj(2*Δj*tpj*Hj*pj)embedded image
mit den Randbedingungen ΣjΔj=D;embedded imagemax[(Δj*τj*Hj*pj)]{[(D*τstab*Hstab*pj)]+[max[D/nj*Δj*Hj*pj]]}/2;embedded imageund 2*Δj*tpi+Kr*max(Δj*τj*Hj*pj)<Pjmin;embedded imageund
worin
Z gleich der Zielfunktion ist;
D gleich dem gesamten zu übertragenden Datenvolumen ist; Kr=nj*tj;embedded imageKr gleich der effektiven Energieverlustrate von einem Knoten aufgrund von Verarbeitung und Erkennung (Joule/Sekunde) ist;
nj gleich der Anzahl der Sensorknoten auf dem j-ten Pfad ist;
tj gleich der Zeit ist, die der Pfad zum Übertragen von Datenpaketen genutzt wird; τj=qj+1/Bj;embedded imageTj gleich der mittleren Verzögerung/Paket/Hop für den j-ten Pfad (Sekunden/Paket/Hop) ist;
qj gleich der mittleren Warteschlangenverzögerung auf dem j-ten Pfad ist;
Bj gleich der Bitrate des j-ten Pfads (in Paketen/Sekunde) ist; pj=2*Δj*tpj*Hj;embedded imagepj gleich der auf dem j-ten Pfad verbrauchten Energie ist;
tpj gleich der Übertragungsenergie/Paket/Hop für den j-ten Pfad (Joule/Paket/Hop) ist;
Δj gleich der Anzahl der über den j-ten Pfad übertragenen Datenpakete ist;
Hj gleich der Anzahl der Hops auf dem j-ten Pfad ist;
Pjmin gleich der Energie ist, die dem Sensorknoten mit der geringsten Menge an Restenergie auf dem j-ten Pfad verbleibt;
τstab gleich der mittleren Verzögerung/Paket/Hop für den Pfad mit maximaler Lebensdauer (Sekunden/Paket/Hop) ist; und
Hstab gleich der Anzahl der Hop-Zähler für den Pfad mit maximaler Lebensdauer ist. embedded image




Inventors:
Mukherjee, Amitava (Calcutta, IN)
Application Number:
DE112011101470T
Publication Date:
08/23/2018
Filing Date:
04/20/2011
Assignee:
International Business Machines Corporation (N.Y., Armonk, US)



Foreign References:
200601781562006-08-10
200901686532009-07-02
CN101237414A2008-08-06
Other References:
Banner Ron, [u.a.]: Multipath Routing Algorithms for Congestion Minimization. In: Transactions on Networking, Vol.15, April 2007, Nr.2, 413-424.
CN 101237414 A english translation. 2.3.18, www.google.com [online].
Shillingford, N. [u.a.]: DETOUR: Delay- and Energy-Aware Multi-Path Routing in Wireless Ad Hoc Networks. In: IEEE, August 2007, 1-8.
Attorney, Agent or Firm:
Richardt Patentanwälte PartG mbB, 65185, Wiesbaden, DE
Claims:
Verfahren, welches folgende Schritte umfasst:
Erkennen eines zeitbezogenen Ereignisses durch einen Quellsensorknoten eines drahtlosen Sensornetzes, welches eine Vielzahl von Sensorknoten umfasst;
Ermitteln mehrerer Pfade von dem Quellsensorknoten zu einer Senke des drahtlosen Sensornetzes, wobei die mehreren Pfade aus Hops von Sensorknoten zu Sensorknoten bestehen; und
als Antwort auf den Schritt des Ermittelns einen Schritt des Optimierens einer Verteilung von Datenpaketen zu jedem Pfad der mehreren Pfade, indem gleichzeitig unter Verwendung eines Prozessors des Quellsensorknotens (i) die von Sensorknoten auf jedem Pfad der mehreren Pfade verbrauchte Energie und (ii) eine Zeit zum Übertragen der Datenpakete von dem Quellsensorknoten zu der Senke verringert wird, dadurch gekennzeichnet, dass
der Schritt des Optimierens einer Verteilung von Datenpaketen umfasst:
Lösen der Gleichung: Z=Σj(2*Δj*tpj*Hj*pj)embedded image
mit den Randbedingungen ΣjΔj=D;embedded imagemax[(Δj*τj*Hj*pj)]{[(D*τstab*Hstab*pj)]+[max[D/nj*Δj*Hj*pj]]}/2;embedded imageund 2*Δj*tpi+Kr*max(Δj*τj*Hj*pj)<Pjmin;embedded imageund
worin
Z gleich der Zielfunktion ist;
D gleich dem gesamten zu übertragenden Datenvolumen ist; Kr=nj*tj;embedded imageKr gleich der effektiven Energieverlustrate von einem Knoten aufgrund von Verarbeitung und Erkennung (Joule/Sekunde) ist;
nj gleich der Anzahl der Sensorknoten auf dem j-ten Pfad ist;
tj gleich der Zeit ist, die der Pfad zum Übertragen von Datenpaketen genutzt wird; τj=qj+1/Bj;embedded imageTj gleich der mittleren Verzögerung/Paket/Hop für den j-ten Pfad (Sekunden/Paket/Hop) ist;
qj gleich der mittleren Warteschlangenverzögerung auf dem j-ten Pfad ist;
Bj gleich der Bitrate des j-ten Pfads (in Paketen/Sekunde) ist; pj=2*Δj*tpj*Hj;embedded imagepj gleich der auf dem j-ten Pfad verbrauchten Energie ist;
tpj gleich der Übertragungsenergie/Paket/Hop für den j-ten Pfad (Joule/Paket/Hop) ist;
Δj gleich der Anzahl der über den j-ten Pfad übertragenen Datenpakete ist;
Hj gleich der Anzahl der Hops auf dem j-ten Pfad ist;
Pjmin gleich der Energie ist, die dem Sensorknoten mit der geringsten Menge an Restenergie auf dem j-ten Pfad verbleibt;
τstab gleich der mittleren Verzögerung/Paket/Hop für den Pfad mit maximaler Lebensdauer (Sekunden/Paket/Hop) ist; und
Hstab gleich der Anzahl der Hop-Zähler für den Pfad mit maximaler Lebensdauer ist.

Verfahren nach Anspruch 1, das weiterhin den folgenden Schritt umfasst: als Antwort auf den Schritt des Optimierens einer Verteilung von Datenpaketen einen Schritt des Übertragens unterschiedlicher Datenpakete der Datenpakete über jeden Pfad der mehreren Pfade von dem Quellsensorknoten zu der Senke.

Verfahren nach Anspruch 2, das weiterhin die folgenden Schritte umfasst:
zwischen den Schritten des Erkennens eines zeitbezogenen Ereignisses und des Ermittelns mehrerer Pfade einen Schritt des Feststellens, ob eine Menge von Daten, die von dem Quellsensorknoten zu der Senke zu übertragen ist, einen vorab festgelegten Grenzwert überschreitet;
als Antwort darauf, dass die Menge von Daten den vorab festgelegten Grenzwert überschreitet, Durchführen der Schritte des Ermittelns mehrerer Pfade, Optimierens einer Verteilung von Datenpaketen und Übertragens unterschiedlicher Datenpakete; und
als Antwort darauf, dass die Menge von Daten auf oder unter dem vorab festgelegten Grenzwert liegt, Ermitteln eines einzelnen Pfads von dem Quellsensorknoten zu der Senke und Übertragen von Datenpaketen, welche die Daten enthalten, über den einzelnen Pfad von dem Quellsensorknoten zu der Senke.

Verfahren nach einem der Ansprüche 1 bis 3, wobei der Schritt des Verwendens eines Prozessors umfasst:
Initialisieren einer Optimierungsgleichung und einer Menge von Randbedingungen für Lösungen der Optimierungsgleichung;
Ausführen einer Lagrange-Funktion zur Relaxation der Optimierungsgleichung unter Verwendung der Randbedingungen; und
Lösen der Lagrange-Funktion zur Datenpaketverteilung für jeden Pfad der mehreren Pfade.

Verfahren nach Anspruch 4, das weiterhin umfasst:
Verwenden einer sequentiellen quadratischen Programmierung zum Lösen der Lagrange-Funktion.

Verfahren nach einem der Ansprüche 1 bis 5, wobei das Optimieren einer Verteilung von Datenpaketen umfasst:
Ermitteln des Energieverbrauchs für jeden Sensorknoten auf jedem Pfad der mehreren Pfade;
Ermitteln der Energie, die für Übertragung und Empfang von Datenpaketen über jeden Pfad der mehreren Pfade verbraucht wird;
Ermitteln einer Zeitverzögerung für jeden Hop jedes Pfads der mehreren Pfade;
Ermitteln eines maximal zulässigen Zeitumfangs zur Übertragung von Datenpaketen von dem Quellsensorknoten zu der Senke;
Ermitteln der jeweiligen Lebensdauer für jeden Pfad der mehreren Pfade auf der Grundlage einer Energiemenge eines Sensorknotens jedes Pfads, dem eine geringste Energiemenge verbleibt; und
Ermitteln eines stabilsten Pfads auf der Grundlage der Lebensdauer jedes Pfads der mehreren Pfade.

Computerprogramm-Produkt zur Leitweglenkung von Daten in einem drahtlosen Sensornetz, wobei das Computerprogramm-Produkt umfasst:
ein computerlesbares Speichermedium, das von einer Verarbeitungsschaltung gelesen werden kann und auf dem Anweisungen zum Ausführen eines Verfahrens nach einem der Ansprüche 1 bis 6 durch die Verarbeitungsschaltung gespeichert sind.

Drahtloses Sensornetz, das Folgendes umfasst:
eine Menge von Sensorknoten, wobei jeder Sensorknoten der Menge von Sensorknoten einen Sensor, einen Prozessor, eine Speichereinheit, eine Batterie und einen Transceiver enthält;
wobei jeder Sensorknoten der Menge von Sensorknoten so konfiguriert ist, dass er mehrere Pfade von sich selbst zu einer Senke des drahtlosen Sensornetzes ermittelt, wobei jeder Pfad der mehreren Pfade Hops von Sensorknoten zu Sensorknoten umfasst; und
wobei jeder Sensorknoten der Menge von Sensorknoten so konfiguriert ist, dass er eine Verteilung von Datenpaketen zu jedem Pfad der mehreren Pfade optimiert, indem er gleichzeitig (i) von Sensorknoten auf jedem Pfad der mehreren Pfade verbrauchte Energie und (ii) eine Zeit zum Übertragen der Datenpakete von sich selbst zu der Senke verringert, dadurch gekennzeichnet, dass
er weiterhin die Verteilung von Datenpaketen optimiert, durch:
Lösen der Gleichung: Z=Σj(2*Δj*tpj*Hj*pj)embedded imagemit den Randbedingungen ΣjΔj=D;embedded imagemax[(Δj*τj*Hj*pj)]{[(D*τstab*Hstab*pj)]+[max[D/nj*Δj*Hj*pj]]}/2;embedded imageund 2*Δj*tpi+Kr*max(Δj*τj*Hj*pj)<Pjmin;embedded imageund
worin
Z gleich der Zielfunktion ist;
D gleich dem gesamten zu übertragenden Datenvolumen ist; Kr=nj*tj;embedded imageKr gleich der effektiven Energieverlustrate von einem Knoten aufgrund von Verarbeitung und Erkennung (Joule/Sekunde) ist;
nj gleich der Anzahl der Sensorknoten auf dem j-ten Pfad ist;
tj gleich der Zeit ist, die der Pfad zum Übertragen von Datenpaketen genutzt wird; τj=qj+1/Bj;embedded imageTj gleich der mittleren Verzögerung/Paket/Hop für den j-ten Pfad (Sekunden/Paket/Hop) ist;
qj gleich der mittleren Warteschlangenverzögerung auf dem j-ten Pfad ist;
Bj gleich der Bitrate des j-ten Pfads (in Paketen/Sekunde) ist; pj=2*Δj*tpj*Hj;embedded imagepj gleich der auf dem j-ten Pfad verbrauchten Energie ist;
tpj gleich der Übertragungsenergie/Paket/Hop für den j-ten Pfad (Joule/Paket/Hop) ist;
Δj gleich der Anzahl der über den j-ten Pfad übertragenen Datenpakete ist;
Hj gleich der Anzahl der Hops auf dem j-ten Pfad ist;
Pjmin gleich der Energie ist, die dem Sensorknoten mit der geringsten Menge an Restenergie auf dem j-ten Pfad verbleibt;
τstab gleich der mittleren Verzögerung/Paket/Hop für den Pfad mit maximaler Lebensdauer (Sekunden/Paket/Hop) ist; und
Hstab gleich der Anzahl der Hop-Zähler für den Pfad mit maximaler Lebensdauer ist.

Drahtloses Sensornetz nach Anspruch 8, wobei jeder Sensorknoten der Menge von Sensorknoten weiterhin umfasst:
Mittel zum Ermitteln, ob eine von dem Quellsensorknoten zu der Senke zu übertragende Datenmenge einen vorab festgelegten Grenzwert überschreitet und ob die Datenmenge auf oder unter dem vorab festgelegten Grenzwert liegt; Mittel zum Ermitteln eines einzelnen Pfads von dem Quellsensorknoten zu der Senke; und
Mittel zum Übertragen von die Daten enthaltenden Datenpaketen über den einzelnen Pfad von dem Quellsensorknoten zu der Senke.

Drahtloses Sensornetz nach einem der Ansprüche 8 oder 9, wobei jeder Sensorknoten der Menge von Sensorknoten weiterhin umfasst:
einen Leitweglenkungsalgorithmus für mehrere Pfade zum Finden mehrerer Pfade von sich selbst zu der Senke; und
einen Optimierungsalgorithmus zum Optimieren der Verteilung von Datenpaketen, der als Code gespeichert ist, welcher in jedem Speicher jedes Sensorknotens der Menge von Sensorknoten ausführbar ist, wobei der Optimierungsalgorithmus eine Optimierungsgleichung und Randbedingungen für die Optimierungsgleichung beschreibt.

Drahtloses Sensornetz nach einem der Ansprüche 8 bis 10, wobei jeder Sensorknoten der Menge von Sensorknoten weiterhin umfasst:
Mittel zum Ausführen einer Lagrange-Funktion zur Relaxation der Optimierungsgleichung unter Verwendung der Randbedingungen; und
Mittel zum Lösen der Lagrange-Funktion zur Datenpaketverteilung für jeden Pfad der mehreren Pfade unter Verwendung von sequentieller quadratischer Programmierung.

Drahtloses Sensornetz nach einem der Ansprüche 8 bis 11, wobei jeder Sensorknoten der Menge von Sensorknoten weiterhin umfasst:
Mittel zum Ermitteln des Energieverbrauchs für jeden Sensorknoten auf jedem Pfad der mehreren Pfade;
Mittel zum Ermitteln der Energie, die für Übertragung und Empfang von Datenpaketen über jeden Pfad der mehreren Pfade verbraucht wird;
Mittel zum Ermitteln einer Zeitverzögerung für jeden Hop jedes Pfads der mehreren Pfade;
Mittel zum Ermitteln eines maximal zulässigen Zeitumfangs zur Übertragung von Datenpaketen von dem Quellsensorknoten zu der Senke;
Mittel zum Ermitteln einer Lebensdauer für jeden Pfad der mehreren Pfade auf der Grundlage einer Energiemenge eines Sensorknotens jedes Pfads mit einer geringsten verbleibenden Energiemenge; und
Mittel zum Ermitteln eines stabilsten Pfads auf der Grundlage der Lebensdauer jedes Pfads der mehreren Pfade.

Drahtloses Sensornetz nach einem der Ansprüche 8 bis 12, das weiterhin umfasst:
eine Basisstation, die drahtlos mit einem oder mehreren aus der Menge von Sensorknoten verbunden ist; oder
einen Gateway-Knoten, der drahtlos mit einem oder mehreren aus der Menge von Sensorknoten verbunden ist, wobei der Gateway-Knoten entweder drahtlos oder drahtgebunden mit der Basisstation verbunden ist; und
wobei es sich bei der Basisstation um einen Universalcomputer handelt und wobei der Gateway-Knoten über größere Energiereserven, eine größere Übertragungsreichweite oder sowohl größere Energiereserven als auch eine größere Übertragungsreichweite verfügt als jeder Sensorknoten der Menge von Sensorknoten.

Computerprogramm, das auf einem computerlesbare Medium gespeichert ist und in einen internen Speicher eines digitalen Computers geladen werden kann, welches Softwarecode-Abschnitte umfasst, um, wenn das Programm auf einem Computer ausgeführt wird, das Verfahren nach einem der Ansprüche 1 bis 6 durchzuführen.

Description:
Fachgebiet

Die vorliegende Erfindung bezieht sich auf das Gebiet von drahtlosen Sensornetzen; insbesondere bezieht sie sich auf ein drahtloses Sensornetz und ein Verfahren zur Leitweglenkung von Daten in einem drahtlosen Sensornetz.

Hintergrundinformationen

Drahtlose Sensornetze übertragen Daten über als „Hops“ bezeichnete Abschnitte zwischen Sensorknoten. Das Senden von Daten und Empfangen von Daten verbraucht Energie, die im Allgemeinen in drahtlosen Sensornetzen begrenzt ist. Die mehrfachen Hops fügen Zeitverzögerungen zur Datenübertragungszeit hinzu. Vorhandene drahtlose Sensornetze und Verfahren befassen sich nicht gleichzeitig mit diesen beiden Fragen.

Die US-Patentanmeldung, Veröffentlichungsnummer US 2006/0178156 A1 (Hyung-Seok Kim „ROUTING METHOD IN A WIRELESS SENSOR NETWORK“) vom 10. August 2006 beschreibt ein Leitweglenkungsverfahren in einem drahtlosen Sensornetz, in dem Sensorknoten in Zellen gruppiert sind. Beim Empfang von erkannten Daten, die an ein Ziel zu übertragen sind, ermittelt ein Sensorknoten, ob eine Zelle, zu der das Ziel gehört, einen Hop entfernt ist.

Deshalb besteht nach dem Stand der Technik die Notwendigkeit, sich des vorgenannten Problems anzunehmen.

In der Druckschrift „DETOUR: Delay- and Energy-Aware Multi-Path Routing in Wireless Ad Hoc Networks“, in IEEE, Aug. 2007, 1-8 lehren Schillingford u.a. ein Verfahren zum energieeffizienten Übermitteln von Paketen, wobei ein energieintensiver (aber schneller) Pfad möglichst wenig in Anspruch genommen werden soll. Andererseits soll auch ein bestimmtes, vorgegebenes Verhältnis von der Anzahl rechtzeitig angekommener Pakete zur Anzahl der Gesamtpakete (k-m Verhältnis) erreicht werden.

DETOUR beschreibt ein Verfahren, wie die Pakete auf den langsamen und schnellen Pfad aufgeteilt werden müssen, dass das gewünschte k-m-Verhältnis der insgesamt am Ende ankommenden Pakete gerade so erreicht werden kann.

Die US 2009 / 0 168 653 A offenbart ein Verfahren und eine Vorrichtung zur Optimierung des Mesh-Routing für die Maximierung von Stabilität und Systemlebensdauer in Netzwerken, beispielsweise in drahtlosen Netzwerken. Ein Routing-Modul kann in Knoten im Netzwerk instanziiert werden. Das Routing-Modul kann ein verbindungsqualitäts- und knotengesundheitsbewusstes Routing-Protokoll in dem Netzwerk implementieren, das eine Kombination aus Verbindungsqualität und Knotengesundheit / Restlebensdauermetriken bei der Berechnung der Erwünschtheit von Knoten und Verbindungen zwischen Knoten als Teile einer Gesamtroute berücksichtigt. Eine Routenauswahlmetrik für jede Route kann aus Routingkostenmetriken für die Knoten auf der Route und der Anzahl von Sprüngen auf der Route bestimmt werden. Ein Knoten kann dann eine beste Route gemäß den bestimmten Routenauswahlmetriken für die Routen auswählen.

Die CN 101 237 414 A offenbart ein klassifiziertes Verfahren zum Ausgleich des Energieverbrauchs eines drahtlosen Sensornetzwerks, das die folgenden Schritte umfasst: a. Alle für die Wahrnehmung relevanten Sensorknoten werden zu einer Klasse organisiert; ein Übertragungswiederholpfad in der Klasse wird eingerichtet; b) das Energieverbrauchsgleichgewicht jedes Knotens in der Klasse wird realisiert; c) ein Pfad zwischen jeder Klasse und anderen benachbarten Klassen wird eingerichtet; d) eine Basisstation verwendet einen bestimmten Klassenkopf als einen Quellenknoten und wählt einen Pfad mit der längsten Lebensdauer aus einer Mehrzahl von Übertragungswegen als den besten Übertragungsweg aus, wodurch das Energieverbrauchsgleichgewicht zwischen Klassen basierend auf einer Vielzahl von Pfaden realisiert wird. Durch einen Mischübertragungsmodus zum Kombinieren von Sprung-zu-Sprung-Übertragung und direkter Übertragung und der Datenübertragung zwischen benachbarten Pfaden verringert das Verfahren die Differenz des Energieverbrauchs zwischen Knoten in der Klasse und realisiert das Energieverbrauchsgleichgewicht zwischen den Klassen durch Auswählen eines Pfades mit hoher Restenergie aus einer Vielzahl von Pfaden. Auf diese Weise kann der Energieverbrauchsunterschied des gesamten drahtlosen Sensornetzwerks effektiv reduziert werden, wodurch die Lebensdauer des Netzwerks verlängert wird.

ZUSAMMENFASSUNG

Bei einem ersten Aspekt der vorliegenden Erfindung handelt es sich um ein Verfahren, das umfasst: (a) Erkennen eines zeitbezogenen Ereignisses durch einen Quellsensorknoten eines drahtlosen Sensornetzes, das eine Vielzahl von Sensorknoten umfasst; (b) Ermitteln mehrerer Pfade vom Quellsensorknoten zu einer Senke des drahtlosen Sensornetzes, wobei die mehreren Pfade aus Hops von Sensorknoten zu Sensorknoten bestehen; und nach (b) (c) unter Verwendung eines Prozessors des Quellsensorknotens Optimieren einer Verteilung von Datenpaketen zu jedem Pfad der mehreren Pfade, indem gleichzeitig (i) von Sensorknoten auf jedem Pfad der mehreren Pfade verbrauchte Energie und (ii) eine Zeit zum Übertragen der Datenpakete von dem Quellsensorknoten zu der Senke verringert wird.

Bei einem zweiten Aspekt der vorliegenden Erfindung handelt es sich um ein Computerprogramm-Produkt, das umfasst: ein computernutzbares Speichermedium mit einem computerlesbaren Programm darauf, wobei das computerlesbare Programm, wenn es auf einem Computer ausgeführt wird, den Computer dazu veranlasst: (a) Daten im Zusammenhang mit einem zeitbezogenen Ereignis zu erfassen, das von einem Quellsensorknoten eines drahtlosen Sensornetzes erkannt wurde, welches eine Vielzahl von Sensorknoten umfasst; (b) mehrere Pfade vom Quellsensorknoten zu einer Senke des drahtlosen Sensornetzes zu ermitteln, wobei die mehreren Pfade aus Hops von Sensorknoten zu Sensorknoten bestehen; und nach (b) (c) unter Verwendung eines Prozessors des Quellsensorknotens eine Verteilung von Datenpaketen zu jedem Pfad der mehreren Pfade zu optimieren, indem gleichzeitig (i) von Sensorknoten auf jedem Pfad der mehreren Pfade verbrauchte Energie und (ii) eine Zeit zum Übertragen der Datenpakete von dem Quellsensorknoten zu der Senke verringert wird.

Bei einem dritten Aspekt der vorliegenden Erfindung handelt es sich um ein drahtloses Sensornetz, das umfasst: eine Menge von Sensorknoten, wobei jeder Sensorknoten der Menge von Sensorknoten einen Sensor, einen Prozessor, eine Speichereinheit, eine Batterie und einen Transceiver enthält; wobei jeder Sensorknoten der Menge von Sensorknoten so konfiguriert ist, dass er mehrere Pfade von sich selbst zu einer Senke des drahtlosen Sensornetzes ermittelt, wobei jeder Pfad der mehreren Sensorknoten Hops von Sensorknoten zu Sensorknoten umfasst; und wobei jeder Sensorknoten der Menge von Sensorknoten so konfiguriert ist, dass er eine Verteilung von Datenpaketen zu jedem Pfad der mehreren Pfade optimiert, indem er gleichzeitig (i) von Sensorknoten auf jedem Pfad der mehreren Pfade verbrauchte Energie und (ii) eine Zeit zum Übertragen der Datenpakete von sich selbst zu der Senke verringert.

Diese und weitere Aspekte der Erfindung werden weiter unten beschrieben.

Figurenliste

Die vorliegende Erfindung wird nun lediglich als Beispiel unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, wie sie in den folgenden Figuren veranschaulicht sind:

  • 1 veranschaulicht die Architektur eines ersten beispielhaften drahtlosen Sensornetzes gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 2 veranschaulicht die Architektur eines zweiten beispielhaften drahtlosen Sensornetzes gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 3 veranschaulicht einen beispielhaften drahtlosen Sensorknoten gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 4 veranschaulicht einen beispielhaften drahtlosen Sensor-Gatewayknoten gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 5 ist ein allgemeiner Ablaufplan eines Verfahrens zur Leitweglenkung von Daten in einem drahtlosen Sensornetz gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 6 ist ein detaillierter Ablaufplan eines Verfahrens zur Leitweglenkung von Daten in einem drahtlosen Sensornetz gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 7 ist ein Ablaufplan des Pfadermittlungsschritts des Ablaufplans von 6;
  • 8 ist ein Ablaufplan des Optimierungsschritts des Ablaufplans von 6;
  • 9 ist ein Schaubild, in dem der Energieverbrauch eines Schemas mit mehreren Pfaden und optimierter Datenpaketanzahl gemäß bevorzugten Ausführungsformen der vorliegenden Erfindung (3) mit einem Schema mit einem Pfad (1) und mit einem Schema mit mehreren Pfaden und gleicher Datenpaketgröße (2) verglichen wird; und
  • 10 ist ein Schaubild, in dem die Datenübertragungsverzögerung eines Schemas mit mehreren Pfaden und optimierter Datenpaketanzahl gemäß bevorzugten Ausführungsformen der vorliegenden Erfindung (3) mit einem Schema mit einem Pfad (1) und mit einem Schema mit mehreren Pfaden und gleicher Datenpaketgröße (2) verglichen wird.

AUSFÜHRLICHE BESCHREIBUNG

In den neuartigen drahtlosen Sensornetzen der vorliegenden Erfindung handelt es sich bei der Leitweglenkung von Datenpaketen in drahtlosen Sensornetzen um einen ereignisgesteuerten, zeitbezogenen Vorgang. Wenn ein Sensorknoten ein Ereignis in seiner Nachbarschaft erkennt, wird er zu einem Quellknoten (oder einer Quelle) und leitet einen Leitwegerkennungsalgorithmus zu einer Senke (z.B. einem Gateway-Knoten oder einer Basisstation) ein. Wenn das Datenvolumen größer ist als ein vorab festgelegter Datenvolumengrenzwert, werden mehrere Sensorknotenpfade von der Quelle zur Senke ausgewählt, um den Zeitumfang zum Übertragen aller Daten von der Quelle zur Senke zu verringern. Die Daten des Sensors werden in Datenpakete im Quellknoten umgewandelt. Die Verteilung von Datenpaketen über die verschiedenen Pfade wird unter Verwendung eines Optimierungsalgorithmus berechnet, der adaptiv sowohl Datenübertragungsverzögerung als auch Energieverbrauch berücksichtigt, indem er die Ausgewogenheit zwischen Energieverbrauch und Übertragungsverzögerung optimiert.

Jeder Sensorknoten in einem drahtlosen Sensornetz kann als Quelle fungieren, es gibt jedoch nur eine Senke. Nur die Senke empfängt alle von dem (den) Quellknoten gesendeten Datenpakete. Es kann mehrere Quellknoten geben, die Daten über verschiedene Gruppen mehrerer Datenpfade gleichzeitig an die Senke übertragen. Jeder Sensorknoten (n∈N) hat eine eindeutige Kennung. Die von jedem Knoten erkannten Daten (D) werden unter den mehreren Pfaden (Δj) so aufgeteilt, dass die von allen Sensorknoten auf allen Pfaden verbrauchte Energie in dem Umfang minimiert wird, dass die Verzögerungszeit nicht beeinträchtigt wird.

1 veranschaulicht die Architektur eines ersten beispielhaften drahtlosen Sensornetzes gemäß einer Ausführungsform der vorliegenden Erfindung. In 1 enthält ein drahtloses Sensornetz 100 eine Basisstation 105 und eine Menge von Sensorknoten 110. Jeder Sensorknoten wird durch den Buchstaben „S“ bezeichnet. Die Sensorknoten befinden sich in einer drahtlosen Datenübertragung, jeder Sensorknoten hat jedoch eine begrenzte Reichweite, sodass ein bestimmter Sensorknoten nur mit anderen Sensorknoten kommunizieren kann, die innerhalb der Datenübertragungsreichweite liegen. In 1 ist die Basisstation die Senke und die Quelle ist ein mit den Buchstaben „SS“ bezeichneter Sensorknoten. In einem Beispiel handelt es sich bei der Basisstation 105 um einen Universalcomputer mit einem Transceiver und einer entnehmbaren Daten- und/oder Programmspeichereinheit (z.B. magnetische Medien wie beispielsweise Diskettenlaufwerke und Bandlaufwerke und optische Medien wie beispielsweise Compactdisc-Nurlesespeicher (CD-ROM)-Laufwerke). Das drahtlose Sensornetz 100 stellt ein drahtloses Ad-hoc-Netz dar, das heißt, jeder Sensorknoten unterstützt einen mehrere Hops umfassenden Leitweglenkungsalgorithmus, bei dem von der Quelle SS (als Antwort auf das Erkennen eines zeitbezogenen Ereignisses) erfasste Daten entlang von Pfaden übertragen werden, die durch die Linien zwischen den verschiedenen Sensorknoten „S“ zu der Senke angegeben sind. Jede Linie zwischen Sensorknoten ist ein „Hop“. In 1 sind drei Pfade 115, 120 und 125 veranschaulicht. Ein Pfad ist als Menge verbundener Hops von Sensorknoten zu Sensorknoten definiert. Ein Hop ist als drahtlose Übertragung von Daten von einem Sensorknoten zu einem anderen Sensorknoten oder zu einer Basisstation oder einem Gateway-Knoten definiert (siehe 2).

2 veranschaulicht eine zweite beispielhafte Architektur eines drahtlosen Sensornetzes gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. 2 ist ähnlich wie 1, außer dass in einem drahtlosen Sensornetz 130 die Basisstation 105 nicht die Senke ist, sondern durch eine Verbindung 135 mit einem mit den Buchstaben „GS“ bezeichneten Gateway-Sensorknoten verbunden ist. Der Gateway-Sensorknoten GS kann im Hinblick auf die Datenübertragungsreichweite und/oder die Menge der verfügbaren Energie robuster sein als andere Sensorknoten S. Die Verbindung 135 kann drahtlos oder drahtgebunden sein.

3 veranschaulicht einen beispielhaften drahtlosen Sensorknoten gemäß einer Ausführungsform einer bevorzugten Ausführungsform der vorliegenden Erfindung. In 3 enthält ein Sensorknoten 200 einen Prozessor (z.B. einen Mikroprozessor oder eine Mikrosteuereinheit) 205, die über einen Bus 215 mit einem Speicher (z.B. einem Flash-Speicher) 210 verbunden ist, einen Sensor 220, der über einen Bus 225 mit dem Prozessor 205 verbunden ist, einen Transceiver 230, der über einen Bus 235 mit dem Prozessor 205 verbunden ist, und eine Batterie 240, die über ein Energieverteilungssystem 245 mit dem Prozessor 205, dem Speicher 210, dem Sensor 220 und dem Transceiver 230 verbunden ist. Eine Antenne 250 ist mit dem Transceiver 230 verbunden. Der Sensorknoten 220 kann auch ein wahlweises Ladegerät (z.B. eine Solarzelle) 255 zum Laden der Batterie 240 enthalten. Der Prozessor 205 überwacht die Energiestufe der Batterie 240. Der Prozessor 205 kann auch einen eingebetteten Speicher enthalten. Der Sensor 220 kann einen Analog-Digital-Umsetzer (analog to digital converter, ADC) enthalten. Zusätzliche Sensoren 220 können vorhanden sein. Bei dem Sensor 220 kann es sich (ohne darauf beschränkt zu sein) um einen passiven Sensor Allrichtungssensor (z.B. Wärme, Licht, Schwingung), einen passiven Sensor mit schmaler Strahlungskeule (z.B. Kamera oder Laser) oder einen aktiven Sensor (z.B. Sonar oder Radar) handeln. Bei dem Transceiver 230 kann es sich um einen Funkfrequenz-, einen optischen oder einen Infrarot-Transceiver handeln.

4 veranschaulicht einen beispielhaften drahtlosen Sensor-Gatewayknoten gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. In 3 enthält ein Gateway-Sensorknoten 300 einen Prozessor (z.B. einen Mikroprozessor oder eine Mikrosteuereinheit) 305, die über einen Bus 315 mit einem Speicher (z.B. einem Flash-Speicher) verbunden ist, einen Sensor 320, der über einen Bus 325 mit dem Prozessor 305 verbunden ist, einen Transceiver 330, der über einen Bus 335 mit dem Prozessor 305 verbunden ist, und eine Batterie 340, die über ein Energieverteilungssystem 445 mit dem Prozessor 305, dem Speicher 310, dem Sensor 320 und dem Transceiver 330 verbunden ist. Eine Antenne 350 ist mit dem Transceiver 330 verbunden. Der Sensorknoten 320 kann auch ein wahlweises Ladegerät (z.B. eine Solarzelle) 335 zum Laden der Batterie 340 enthalten. Der Prozessor 305 überwacht die Energiestufe der Batterie 340. Der Prozessor 305 kann auch einen eingebetteten Speicher enthalten. Der Sensor 320 kann einen Analog-Digital-Umsetzer (ADC) enthalten. Zusätzliche Sensoren 320 können vorhanden sein. Bei dem Sensor 320 kann es sich (ohne darauf beschränkt zu sein) um einen passiven Sensor Allrichtungssensor (z.B. Wärme, Licht, Schwingung), einen passiven Sensor mit schmaler Strahlungskeule (z.B. Kamera oder Laser) oder einen aktiven Sensor (z.B. Sonar oder Radar) handeln. Bei dem ersten Transceiver 330 kann es sich um einen Funkfrequenz-, einen optischen oder einen Infrarot-Transceiver handeln. Der Gateway-Sensor 300 kann einen wahlweisen zweiten Transceiver 365 und eine Antenne 370 enthalten, die über den Bus 335 mit dem Prozessor 305 verbunden sind. Bei dem ersten Transceiver 330 kann es sich um einen Funkfrequenz-, einen optischen oder einen Infrarot-Transceiver handeln. Bei dem wahlweisen zweiten Transceiver 365 kann es sich um einen Transceiver mit geringer Reichweite handeln, der für die Datenübertragung mit anderen Sensorknoten verwendet wird, und bei dem zweiten Transceiver 355 kann es sich um einen Transceiver mit großer Reichweite handeln, der für die Datenübertragung mit der Basisstation verwendet wird. Der Gateway-Sensor 300 kann eine wahlweise Netzschnittstelle 375 enthalten, die über einen Bus 380 mit dem Prozessor 305 verbunden ist. Die wahlweise Netzschnittstelle 375 stellt eine wahlweise drahtgebundene Verbindung zu einer Basisstation bereit.

Sensoren von Sensorknoten gemäß bevorzugten Ausführungsformen der vorliegenden Erfindung enthalten, ohne darauf beschränkt zu sein, Umweltsensoren (z.B. Temperatur, Druck, Windgeschwindigkeit, Windrichtung, Helligkeit, Erkennung von Chemikalien und Erkennung von Strahlung) und Beobachtungs- und Überwachungssensoren (z.B. Anwesenheit und/oder Bewegung von Fahrzeugen und/oder Anwesenheit und/oder Bewegung von Menschen).

Der Energieverbrauch in einem drahtlosen Sensornetz gemäß bevorzugten Ausführungsformen der vorliegenden Erfindung wird in zwei Teile kategorisiert. Bei dem ersten Teil handelt es sich um die Energie, die durch Verarbeiten (durch den Prozessor und Speicher) und Erkennen (durch den Sensor) verbraucht wird. Bei dem zweiten Teil handelt es sich um die Energie, die durch Übertragen und Empfangen von Datenpaketen (d.h. Datenübertragungsverzögerung) verbraucht wird. Wenn j Pfade gegeben sind, ist die Lebensdauer des j-ten Pfads Pjmin und ist definiert als die Energie, die dem Sensorknoten mit der geringsten Menge an Restenergie im j-ten Pfad verbleibt. Pjmin definiert somit die maximale Lebensdauer des j-ten Pfads. Damit ein Pfad stabil ist, muss Pjmin kleiner oder gleich der Energie sein, die während der Zeit verbraucht wird, die zum Übertragen aller dem j-ten Pfad zugewiesenen Datenpakete benötigt wird.

Der Energieverbrauch in jedem Sensorknoten ist aufgrund von Verarbeitung und Erkennung auf dem j-ten Pfad gegeben durch: Kr=nj*tjembedded imageworin
Kr gleich der effektiven Energieverlustrate von einem Knoten aufgrund von Verarbeitung und Erkennung (Joule/Sekunde) ist;
nj gleich der Anzahl der Sensorknoten auf dem j-ten Pfad ist; und
tj gleich der Zeit ist, die der Pfad zum Übertragen von Datenpaketen genutzt wird.

Die Zeitverzögerung pro Datenpaket pro Hop ist gegeben durch: τj=qj+1/Bjembedded imageworin
τj gleich der mittleren Verzögerung/Paket/Hop für den j-ten Pfad (Sekunden/Paket/Hop) ist;
qj gleich der mittleren Warteschlangenverzögerung auf dem j-ten Pfad ist; und
Bj gleich der Bitrate des j-ten Pfads (in Paketen/Sekunde) ist.

Die Energie, die für Übertragung und Empfang von Datenpaketen über den j-ten Pfad verbraucht wird, ist gegeben durch: pj=2*Δj*tpj*Hjembedded imageworin
pj gleich der auf dem j-ten Pfad verbrauchten Energie ist;
tpj gleich der Übertragungsenergie/Paket/Hop für den j-ten Pfad (Joule/Paket/Hop) ist;
Δj gleich der Anzahl der über den j-ten Pfad übertragenen Datenpakete ist; und
Hj gleich der Anzahl der Hops auf dem j-ten Pfad ist.

Der Grund für die „2“ besteht darin, dass der Knoten die Datenpakete empfangen und danach übertragen muss.

Aus dem Vergleich der Gleichungen (1) und (3) ist ersichtlich, dass Kr unabhängig von dem mit Übertragung/Empfang verbundenen Energieverbrauch ist, daher braucht Kr bei der Verteilung der Datenpakete auf verschiedene Pfade nicht berücksichtigt zu werden.

Da die Datenpakete gleichzeitig über die j Pfade weitergeleitet werden, ist die Datenübertragungsverzögerung nicht gleich der Summe der Verzögerungen der einzelnen Pfade. Stattdessen kann die Datenübertragungsverzögerung als das Maximum der einzelnen Verzögerungspfade geschätzt werden. Die Pfadverzögerung besteht aus zwei Komponenten. Bei der ersten handelt es sich um die Warteschlangen- und Verarbeitungsverzögerung (die mittlere Warteschlangenverzögerung/Paket/Hop) für den j-ten Pfad. Bei der zweiten handelt es sich um die Übertragungs-/Empfangsverzögerung. Die Übertragungsverzögerung von der Quelle zur Senke (unter Annahme von Nachrichtenvermittlung) für den j-ten Pfad ist gegeben durch: TDj=Δj*τj*Hj*pjembedded imageworin
TDj gleich der Verzögerung von Quelle zu Senke des j-ten Pfads ist;
Δj gleich der Anzahl der über den j-ten Pfad übertragenen Datenpakete ist; τj=qj+1/Bjembedded image
Hj gleich der Anzahl der Hops auf dem j-ten Pfad ist; und
pj=1, wenn ein Pfad ausgewählt wird, sonst pj=0.

Somit ist die Gesamtverzögerung der Übertragungsverzögerung von Quelle zu Senke (unter Annahme von Nachrichtenvermittlung) gegeben durch: TD=max[(Δj*τj*Hj*pj)]embedded image

Wenn ein Sensorknoten ein Ereignis in seiner Nachbarschaft erkennt, wird er zu einem Quellknoten, erzeugt eine Gruppe von Datenpaketen, die das Ereignis beschreiben, und wenn die Anzahl der Datenpakete größer ist als eine vorab festgelegte Anzahl, führt er einen mehrere Pfade umfassenden Leitwegerkennungsalgorithmus zum Knoten der Senke aus. Beispiele von mehrere Pfade umfassenden Leitwegerkennungsalgorithmen werden in „Multipath Routing Algorithms for Congestion Minimization“ von Banner und Orda, IEEE/ACM Transactions on Networking, Band. 15, Nr. 2, April 2007, beschrieben, was hiermit durch Verweisung aufgenommen wird.

Das Gesamtdatenvolumen D wird somit in Datensätze Δj unterteilt, die über die mehreren Pfade verteilt werden. Die Datenpaketverteilung wird unter Verwendung eines Optimierungsalgorithmus berechnet, der gegeben ist durch: Z=Σj(2*Δj*tpj*Hj*pj)embedded imageworin Z gleich der Zielfunktion ist; und
Δj, pj, Hj und pj wurden weiter oben beschrieben.

Die Randbedingungen des Optimierungsproblems sind: ΣjΔj=Dembedded imagemax[(Δj*τj*Hj*pj)]{[(D*τstab*Hstab*pj)]+[max[D/nj*Δj*Hj*pj]]}/2embedded image2*Δj*tpi+Kr*max(Δj*τj*Hj*pj)<Pjminembedded imageworin
Δj, pj, Hj, pj, D, tpj, pj, Pjmin weiter oben beschrieben wurden;
τstab gleich der mittleren Verzögerung/Paket/Hop für den Pfad mit maximaler Lebensdauer (Sekunden/Paket/Hop) ist; und
Hstab gleich der Anzahl der Hop-Zähler für den Pfad mit maximaler Lebensdauer ist.

Gleichung (7) fordert, dass die Gesamtdatenanzahl von Paketen unter mehreren Pfaden aufgeteilt werden muss. Ungleichung (8) fordert, dass die mittlere Verzögerung von der Quelle zur Senke kleiner als ein vorab festgelegter Maximalwert sein muss. Ungleichung (9) fordert, dass die Lebensdauer eines Pfads ausreichen sollte, um das gesamte Volumen der über ihn gesendeten Datenpakete ohne Unterbrechung zu übertragen.

Ein Sensorknoten muss eine ausreichende Menge an Energie besitzen, damit er in der Lage ist, alle Datenpakete von einem vorhergehenden Sensorknoten zu empfangen und erfolgreich alle empfangenen Datenpakete zu einem nachfolgenden Knoten zu übertragen, was durch den Ausdruck (2*Δj*tpj) abgedeckt wird. Auch der Knoten unmittelbar vor der Senke (Abschlussknoten) muss über ausreichende Energie verfügen, um die gesamte Zeitspanne zu überleben, die benötigt wird, damit alle entlang des Pfads gesendeten Datenpakete empfangen und an die Senke übertragen werden (d.h., die Überlebenszeit des Abschlussknotens ist gleich der Nettoverzögerung von Ende zu Ende). Während dieser Zeit gibt der Abschlussknoten Energie mit einer Rate von Kr ab. Der Ausdruck Kr*max(Δj*τj*Hj*pj) weist die Menge an Energie aus, die im Abschlussknoten (d.h. dem Sensorknoten vor der Senke) abgegeben wird.

In dem Zeitintervall, das benötigt wird, um Datenpakete von der Quelle zur Senke zu übertragen, nimmt der Energieverbrauch jedes Knotens, der an Datenpaketübertragungen beteiligt ist, um (2*Δj*tpj)+Kr*max[(Δj*τj*Hj*pj)] ab, und die Energie eines nicht an der Datenpaketübertragung beteiligten Knotens nimmt um Kr*max[(Δj*τj*Hj*pj)] ab.

5 ist ein allgemeiner Ablaufplan eines Verfahrens zum Weiterleiten von Daten in einem drahtlosen Sensornetz gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. In Schritt 400 erkennt ein Sensorknoten (nun Quelle) ein zeitbezogenes Ereignis in seiner Nachbarschaft und löst eine Leitwegerkennung aus. In Schritt 405 wird ermittelt, ob das zu übertragende Datenvolumen unter oder über einem voreingestellten Grenzwert liegt. Wenn das Datenvolumen auf oder unter dem voreingestellten Grenzwert liegt, dann fährt das Verfahren mit Schritt 410 fort. In Schritt 410 erzeugt der Leitwegerkennungsalgorithmus einen einzelnen Pfad durch das drahtlose Sensornetz (wireless sensor network, WSN). Danach sendet die Quelle in Schritt 415 die Datenpakete über das WSN zur Senke. Bei den Schritten 410 und 415 handelt es sich im Wesentlichen um das weiter unten beschriebene Schema (1).

Zurück zu Schritt 405. Wenn das Datenvolumen über dem voreingestellten Grenzwert liegt, fährt das Verfahren mit Schritt 420 fort. In Schritt 420 erzeugt der Leitwegerkennungsalgorithmus mehrere Pfade von der Quelle durch das WSN zur Senke. Als Nächstes führt die Quelle in Schritt 425 den Optimierungsalgorithmus aus, um die Datenpakete über mehrere Pfade zu verteilen. Als Nächstes sendet die Quelle in Schritt 430 die Datenpakete über mehrere Pfade, wobei die Übertragungszeit und der Energieverbrauch aufeinander bezogen optimiert werden. Bei den Schritten 420, 425 und 430 handelt es sich im Wesentlichen um das weiter unten beschriebene Schema (3); diese Schritte werden ausführlicher weiter unten in 6, 7 und 8 beschrieben.

6 ist ein detaillierter Ablaufplan eines Verfahrens zur Leitweglenkung von Daten in einem drahtlosen Sensornetz gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. In Schritt 435 wird der Sensorknoten initialisiert. Ein Ereigniserkennungs-Flag wird gesetzt, um anzuzeigen, dass kein Ereignis erkannt wurde (SET FLAG=FALSE). Schritt 440 ist eine Warteschleife auf ein Ereignis. In Schritt 440 wird eine periodische Abtastung des Sensorzustands durchgeführt. Wenn in Schritt 440 ein Ereignis erkannt wird, wird in Schritt 445 SET FLAG=TRUE ausgegeben, und die Leitwegerkennung wird durch Aufrufen eines Erkennungsalgorithmus für mehrerer Pfade eingeleitet, um Pfade (P) zu ermitteln. Der Leitwegerkennungsalgorithmus für mehrere Pfade ermittelt (a) knotendisjunkte mehrfache Pfade, (b) die Parameter Hj, tpj und Tj für jeden j-ten Pfad, (c) die Lebensdauer der bestimmten Pfade und (d) den stabilsten Pfad (d.h. den mit der längsten Lebensdauer). Schritt 450 ist ein Schritt, in dem gewartet wird, bis alle Pfade ermittelt sind. Eine regelmäßige Abtastung des Zustands des Leitweglenkungsalgorithmus für mehrere Pfade wird in Schritt 450 durchgeführt. Wenn alle Pfade ermittelt sind, fährt das Verfahren mit Schritt 455 fort. In Schritt 455 wird das Optimierungsproblem Z (Gleichung 6 mit Randbedingungen 7, 8 und 9) mit der weiter oben beschriebenen Eingabe aufgerufen. In Schritt 460 wird ein sequentieller quadratischer Programmieralgorithmus (SQP) aufgerufen, um auf Z einzuwirken, um Δjs (die Anzahl der über jeden j-ten Pfad übertragenen Datenpakete) zu ermitteln. In Schritt 465 wird ermittelt, ob das Abschlusskriterium (termination criteria, TC) der Structured Query Language (SQL) erfüllt ist. SQL ist ein robuster Algorithmus für nichtlineare kontinuierliche Optimierung. SQL iteriert, bis eine gewünschte Konvergenzstufe erreicht ist (das Abschlusskriterium). Alternative nichtlineare kontinuierliche Optimierungsverfahren können verwendet werden. Wenn das Abschlusskriterium nicht erfüllt ist, führt das Verfahren in einer Schleife Schritt 455 aus, andernfalls fährt das Verfahren mit Schritt 470 fort, um den Sensorknoten mit SET FLAG=FALSE zurückzusetzen, und das Verfahren kehrt danach in der Schleife zu Schritt 440 zurück.

7 ist ein Ablaufplan des Pfadermittlungsschritts 445 des Ablaufplans von 6. In Schritt 475 werden die Parameter des Leitweglenkungsalgorithmus für mehrere Pfade initialisiert. Die Pfade werden mit (P)=0 initialisiert. Der Parameter zum Aufbauen des Leitwegs wird durch eine Anweisung SET ROUTE INITATE=0 initialisiert. Und eine maximale Anzahl von Hops wird durch die Anweisung SET MAX HOP COUNT=(VALUE) festgelegt. In Schritt 480 wird eine Leitwegerkennungsanforderung ausgelöst. In Schritt 485 wird eine Pfadlösungsüberwachung durch eine Anweisung SET ROUTE DISCOVERY TIMEOUT=TRUE ausgelöst. In Schritt 490 wird der Leitwegerkennungsalgorithmus für mehrere Pfade ausgeführt, um Pfade zwischen der Quelle und der Senke zu finden. Wenn eine Lösung gefunden ist, wird die Anweisung SET ROUTE DISCOVERY TIMEOUT=FALSE ausgeführt. Schritt 495 prüft den Wert des Parameters SET ROUTE DISCOVERY TIMEOUT und wartet bei einem Wert von TRUE und fährt bei einem Wert von FALSE mit Schritt 500 fort. In Schritt 500 gibt es mehrere Pfade (P) zwischen der Quelle und der Senke, und die Quelle kann Datenpaketinformationen (z.B. Kopfdaten des Pakets) für die verschiedenen Pfade von der Quelle zur Senke berechnen.

8 ist ein Ablaufplan des Optimierungsschritts 455 des Ablaufplans von 6. In Schritt 505 wird ein Flag für die Durchführung der Optimierung gesetzt, um anzuzeigen, ob die Optimierung durchzuführen ist oder nicht. Schritt 510 ist eine Warteschleife auf einen Optimierungsstartbefehl. In Schritt 510 wird eine regelmäßige Abtastung des Werts von SET FLAG wird durchgeführt. Wenn in Schritt 510 FLAG=TRUE ist, fährt das Verfahren mit Schritt 515 fort. In Schritt 515 wird das Optimierungsproblem mit dem Setzen der weiter oben erörterten Eingangsvariablen aufgerufen. In Schritt 520 wird die Lagrange-Funktion aufgerufen, um eine Relaxation der Zielfunktion (Z) von Gleichung (6) mit den drei oben erörterten Randbedingungen (7), (6) und (9) durchzuführen. In Schritt 525 wird eine Lagrange-Funktion mit SQL gelöst, um eine Datenpaketverteilung auf die mehreren Datenpfade zu berechnen. In Schritt 530 wird ermittelt, ob das Abschlusskriterium (TC) erfüllt ist. Wenn das Abschlusskriterium nicht erfüllt ist, kehrt das Verfahren in der Schleife zurück zu Schritt 515, andernfalls fährt das Verfahren mit Schritt 535 fort. In Schritt 535 wird SET FLAGE=FALSE ausgeführt, und das Verfahren kehrt in der Schleife zu Schritt 510 zurück.

Um die bevorzugte Ausführungsform der vorliegenden Erfindung zu prüfen und zu verifizieren, wurde der Energieverbrauch von drei Schemata simuliert. Bei dem ersten Schema handelt es sich um ein Schema mit einem Pfad. Bei dem zweiten Schema handelt es sich um mehrere Pfade mit gleichen Anzahlen von Datenpaketen. Bei dem dritten Schema handelt es sich um das neuartige Schema mit mehreren Pfaden und optimierter Anzahl von Datenpaketen gemäß bevorzugten Ausführungsformen der vorliegenden Erfindung.

Im ersten Schema mit einem Pfad (1) ist die maximale Verzögerung = der Verzögerung, die auf einem stabilsten Pfad verursacht wird, wenn das gesamte Datenvolumen darüber gesendet wird (d.h. max[(Δj*Tj*Hj*pj)]≤([D*τstab*Hstab*pj]). In dem ersten Schema ist der obere Grenzwert der Übertragungsverzögerung hoch, und die Randbedingung wird in den meisten Fällen erfüllt.

In dem zweiten Schema mit mehreren Pfaden und gleicher Datenpaketgröße (2) ist die maximale Verzögerung = der Gesamtverzögerung, wenn die Daten gleichmäßig über alle Pfade verteilt sind (d.h. [(Δj*τj*Hj*pj)]≤[max (D/nj*τj*Hj*pj)], wobei n = Anzahl räumlicher Pfade). In dem zweiten Schema ist der obere Grenzwert der Verzögerungszeit niedrig, und infolgedessen ist die Randbedingung sehr stark einschränkend.

In dem dritten neuartigen Schema mit mehreren Pfaden und optimierter Datenpaketanzahl (3) entspricht der obere Grenzwert der Verzögerungsrandbedingung dem Mittel der Werte der in den Schemata 1 und 2 vorgeschlagenen oberen Grenzwerte. Das Optimierungsproblem von Gleichung (6) wurde anschließend unter Verwendung einer SQP-Technik gelöst.

Ein Simulationsprogramm wurde unter Verwendung von MATLAB entwickelt. MATLAB steht für „Matrix Laboratory“ und ist eine numerische Rechenumgebung und Programmiersprache der vierten Generation. Das von „The MathWorks“ entwickelte MATLAB ermöglicht Matrixmanipulationen, das Zeichnen von Funktionen und Daten, die Ausführung von Algorithmen, die Erstellung von Benutzeroberflächen und die Bildung von Schnittstellen zu Programmen, die mit anderen Sprachen geschrieben wurden, darunter C, C++ und Fortran. Zuerst führt das Simulationsprogramm einen Leitwegerkennungsalgorithmus in einem Gebiet von 15 mal 15 Quadratmetern aus, in dem 192 Sensorknoten nach Zufallskriterien aufgestellt sind. Jeder der Sensorknoten hat einen Übertragungsradius von 2,4 Metern. Bei den Sensoren handelte es sich um Modelle auf der Grundlage von MICA2 Motes, die bei Crossbow in Milpitas, Kalifornien, USA, erhältlich sind. Der Leitweglenkungsalgorithmus ergibt fünf mögliche Pfade zwischen der Quelle und der Senke mit den in TABELLE I aufgeführten Parametern: TABELLE I

ParameterWertHop-Zahl8991010Verfügbare Energie23.760 Joule für alle 192 MotesÜbertragungsenergie/ Paket/Hop1,4 Millijoule für alle PfadeVerzögerung/Paket/Hop0,068 s0,0681 s0,945s0,0776s0,0641sBitrate43 Pakete/Sekunde oder 12,4 Kb/s für alleKr0,024 Watt (unter Annahme eines Tastverhältnisses von 40%)

Mit diesen Eingangsparametern verteilt der Optimierungsalgorithmus Daten für einen optimalen Energieverbrauch im Verhältnis zur Übertragungsverzögerung auf die Pfade. Der Gesamtenergieverbrauch und die Übertragungsverzögerung werden berechnet und mit entsprechenden Werten verglichen, die durch Simulieren der Schemata (1) und (2) abgeleitet werden. Die Ergebnisse sind in 9 und 10 gezeigt.

9 ist ein Schaubild, in dem der Energieverbrauch eines Schemas mit mehreren Pfaden und optimierter Datenpaketanzahl gemäß bevorzugten Ausführungsformen der vorliegenden Erfindung (3) mit einem Schema mit einem Pfad (1) und mit einem Schema mit mehreren Pfaden und gleicher Datenpaketgröße (2) verglichen wird. In 9 liegt der Energieverbrauch auf einem Minimum, wenn das gesamte Datenvolumen über einen einzigen stabilsten Pfad gesendet wird; Schema (1). Die Energienutzung des neuartigen Schemas (3) liegt jedoch nicht weit darüber. Die Energienutzung liegt auf dem Maximum, wenn die gesamten Daten gleichmäßig auf alle fünf Pfade verteilt sind; Schema (2).

10 ist ein Schaubild, in dem die Datenübertragungsverzögerung eines Schemas mit mehreren Pfaden und optimierter Datenpaketanzahl gemäß bevorzugten Ausführungsformen der vorliegenden Erfindung (3) mit einem Schema mit einem Pfad (1) und mit einem Schema mit mehreren Pfaden und gleicher Datenpaketgröße (2) verglichen wird. In 10 weist Schema 2 die geringste Verzögerung der drei Schemata auf. Schema 1 weist die größte Verzögerung der drei Schemata auf. Die durch Schema (3), das neuartige Schema, verursachte Verzögerung, liegt zwischen der der Schemata (1) und (2). Wenn 9 und 10 zusammen betrachtet werden, wird ersichtlich, dass Energieverbrauch und Übertragungsverzögerung nicht beide gleichzeitig minimiert werden können. Die Ausgewogenheit zwischen Energieverbrauch und Übertragungsverzögerung ist jedoch in Schema (3) optimiert, dem neuartigen Schema gemäß bevorzugten Ausführungsformen der vorliegenden Erfindung.

Im Allgemeinen wird das hier im Zusammenhang mit einem Verfahren zur Leitweglenkung von Daten in einem drahtlosen Sensornetz beschriebene Verfahren in der Praxis als verteilter Algorithmus umgesetzt, und die weiter oben in den Ablaufplänen von 5, 6, 7 und 8 beschriebenen Verfahren können als ein Satz von computerausführbarem Code codiert und in Speichern von auf den Sensorknoten, Gateway-Knoten und Basisstationen eines drahtlosen Sensornetzes gespeichert werden.

Wie für den Fachmann verständlich sein wird, können Aspekte der vorliegenden Erfindung als drahtloses Sensornetz, Verfahren zur Leitweglenkung von Datenpaketen in einem drahtlosen Sensornetz oder Computerprogramm-Produkt mit einem darin verkörperten computerlesbaren Programmcode zur Leitweglenkung von Datenpaketen in einem Sensornetz verkörpert sein. Dementsprechend können Aspekte der vorliegenden Erfindung die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardware-Aspekte miteinander verbindet und die hier alle allgemein als Sensorknoten, Gateway-Knoten oder Basisstation bezeichnet werden können und bei denen es sich um einen Universalcomputer handeln kann.

Jede Kombination von einem oder mehreren computerlesbaren Medium (Medien) kann genutzt werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich beispielsweise und ohne darauf beschränkt zu sein um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede geeignete Kombination der Vorstehenden handeln. Zu konkreteren Beispielen (einer keinen Anspruch auf Vollständigkeit erhebenden Liste) des computerlesbaren Speichermediums würden die folgenden gehören: eine elektrische Verbindung mit einem oder mehreren Drähten, eine tragbare Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nurlesespeicher (ROM), ein löschbarer programmierbarer Nurlesespeicher (EPROM- oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compactdisc-Nurlesespeicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination der Vorstehenden. Im Zusammenhang mit diesem Dokument kann es sich bei einem computerlesbaren Speichermedium um ein beliebiges materielles Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Befehlen enthalten oder speichern kann.

Die Algorithmen können auf dem Computerprogramm-Produkt als ausführbarer Code codiert sein, der anschließend vor oder nach der Aufstellung der Sensor- und Gateway-Knoten über ihre jeweiligen Transceiver von einer entnehmbaren Daten- und/oder Programmspeichereinheit der Basisstation in die Speichereinheiten von Sensorknoten des drahtlosen Sensornetzes geladen wird. Alternativ können die Algorithmen auf dem Computerprogramm-Produkt als ausführbarer Code codiert sein, der anschließend vor der Aufstellung der Sensor- und Gateway-Knoten über ihre jeweiligen Transceiver von einer entnehmbaren Daten- und/oder Programmspeichereinheit eines Universalcomputers in die Speichereinheiten von Sensorknoten des drahtlosen Sensornetzes geladen wird. Alternativ können die Algorithmen auf dem Computerprogramm-Produkt als ausführbarer Code codiert sein, der während eines Programmierschritts während der Herstellung der Sensorknoten entweder über ihre jeweiligen Transceiver oder über einen drahtgebundenen Zugang zu ihren jeweiligen Speichereinheiten in die Speichereinheiten der Sensorknoten geladen wird.

Somit stellen die Ausführungsformen der vorliegenden Erfindung ein drahtloses Sensornetz und ein Verfahren zum Übertragen von Daten über ein drahtloses Sensornetz bereit, das sich adaptiv sowohl mit der Datenübertragungsverzögerung als auch mit dem Energieverbrauch befasst, indem es die Ausgewogenheit zwischen Energieverbrauch und Übertragungsverzögerung optimiert.

Die Beschreibung der Ausführungsformen der vorliegenden Erfindung wird weiter oben zum Verständnis der vorliegenden Erfindung gegeben. Es versteht sich, dass die Erfindung nicht auf die bestimmten hier beschriebenen Ausführungsformen beschränkt ist, sondern an ihr verschiedene Abwandlungen, Neuanordnungen und Ersetzungen vorgenommen werden können, die nun für den Fachmann ersichtlich sind, ohne den Geltungsbereich der Erfindung zu verlassen. Daher sollen die folgenden Ansprüche alle diese Abwandlungen und Veränderungen abdecken, die innerhalb des Geltungsbereichs der Erfindung liegen.