DE102009038672A1 - Verfahren und Vorrichtung zum Durchführen von Programmcode-Updates in einem Netzwerk - Google Patents

Verfahren und Vorrichtung zum Durchführen von Programmcode-Updates in einem Netzwerk Download PDF

Info

Publication number
DE102009038672A1
DE102009038672A1 DE200910038672 DE102009038672A DE102009038672A1 DE 102009038672 A1 DE102009038672 A1 DE 102009038672A1 DE 200910038672 DE200910038672 DE 200910038672 DE 102009038672 A DE102009038672 A DE 102009038672A DE 102009038672 A1 DE102009038672 A1 DE 102009038672A1
Authority
DE
Germany
Prior art keywords
network
node
program code
network nodes
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE200910038672
Other languages
English (en)
Inventor
Rodolfo Bamberg
Christoph Dr. Niedermeier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE200910038672 priority Critical patent/DE102009038672A1/de
Priority to PCT/EP2010/060390 priority patent/WO2011023459A2/de
Publication of DE102009038672A1 publication Critical patent/DE102009038672A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

Verfahren zum Durchführen von Programmcode-Updates in einem zumindest teilweise vermaschten Netzwerk (1), das mehrere Knotengruppen von Netzwerkknoten (2-i) unterschiedlichen Typs aufweist. Ein Overlay-Netzwerk wird für jede upzudatende Knotengruppe ermittelt, wobei das Ovberlay-Netzwerk Ziel-Netzwerkknoten der jeweiligen Knotengruppe und Transfer-Netzwerkknoten anderer Knotengruppen aufweist, über welche voneinander getrennte Ziel-Netzwerkknoten der jeweiligen Knotengruppe verbindbar sind. Mindestens ein Update-Programm-Code wird an die Netzwerkknoten des ermittelten Overlay-Netzwerkes der jeweiligen Knotengruppe übertragen, wobei die Transfer-Netzwerkknoten des Overlay-Netzwerkes den Update-Programm-Code transient und die Ziel-Netzwerkknoten des Overlay-Netzwerkes den Update-Programm-Code dauerhaft speichern. Das Verfahren und Netzwerk sind vielseitig einsetzbar, insbesondere bei drahtlosen Netzwerken.

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Durchführen von Programmcode-Updates in einem zumindest teilweise vermaschten Netzwerk, das mehrere Knotengruppen von Netzwerkknoten unterschiedlichen Typs aufweist.
  • Netzwerke bestehen aus mehreren Netzwerkknoten, die drahtlos oder drahtgebunden miteinander kommunizieren bzw. Daten austauschen. Beispielsweise kommunizieren Sensor und Aktuatornetze per Funkverbindung miteinander und weisen Netzwerkknoten auf, die mit Sensoren und Aktuatoren ausgestattet sein können. Derartige drahtlose Sensor und Aktuatornetze weisen Netzwerkknoten auf, die lokal mit Strom, beispielsweise aus einer Batterie, versorgt werden. Darüber hinaus weisen derartige Netzwerkknoten typischer Weise nur eine geringe Rechenleistung und eine geringere Speicherausstattung zum Speichern von Daten auf. Die Transceiver derartiger Netzwerkknoten bieten nur eine niedrige Reichweite sowie eine geringe Bandbreite für die Kommunikation über die Funkverbindung bzw. die Luftschnittstelle, insbesondere weil eine derartige Funkkommunikation im Hinblick auf den sehr begrenzten Energievorrat derartiger Netzwerkknoten vergleichsweise viel Energie verbraucht.
  • In Netzwerken kann es vorkommen, dass zur Behebung von Fehlern bzw. Fehlfunktionen in einzelnen oder allen Netzwerkknoten oder zum Implementieren einer verbesserten Softwareversion ein Update-Programmcode auf einige oder alle Netzwerkknoten zu verteilen und dort zu installieren ist.
  • Diese Übertragung eines Programmcode-Updates ist allerdings bei herkömmlichen Übertragungsverfahren in Anbetracht der geringen verfügbaren Bandbreite und der vergleichsweise großen dabei zu übertragenden Datenpakete mit einem hohen Energie- und Ressourcenaufwand bei den betroffenen Netzwerkknoten verbunden.
  • Bei herkömmlichen Verfahren zur Durchführung eines Software-Updates in einem Netzwerk, beispielsweise einem drahtlosen Sensornetzwerk, erfolgt entweder eine unspezifische Verteilung eines Programmimages bzw. eines Programmcode-Updates durch sogenanntes Flooding bzw. Fluten, d. h. mittels einem globalem Broadcast, an alle Netzwerkknoten oder eine spezifische Zustellung des Programmcode-Updates durch ein Punkt-zu-Punkt Vereinbarung, d. h. mittels Unicast, an bestimmte Netzwerkknoten.
  • Viele Netzwerke weisen Netzwerkknoten unterschiedlichen Typs auf, beispielsweise Netzwerkknoten, die mit unterschiedlicher Hardware, insbesondere Sensoren oder Aktuatoren, ausgestattet sind. Bei herkömmlichen Verfahren zum Durchführen von Programmcode-Updates in einem derartigen Netzwerk werden für jeden Typ eines Netzwerkknotens, insbesondere jeden Hardware-Typ, je nach Anwendungskontext mehrere Programmcode-Updates bzw. Programmimages vorgehalten bzw. gespeichert. Aufgrund des zumeist geringen Speicherplatzes in den jeweiligen Netzwerkknoten ist es allerdings oft nicht möglich im Rahmen eines Software-Updates auf jedem Netzwerkknoten ein derartiges Programmimages bzw. einen entsprechenden Update-Programmcode zwischenzuspeichern. Herkömmliche Verfahren zum Durchführen eines Update-Programmcodes sind daher bei derartigen Netzwerken, deren Netzwerkknoten nur über beschränkte Ressourcen verfügen, nicht oder lediglich in ineffizienter Weise anwendbar. Darüber hinaus führen derartige herkömmliche Verfahren zum Durchführen von Programmcode-Updates zu einem relativ hohen Energieverbrauch bei den jeweiligen betroffenen Netzwerkknoten, so dass deren maximale Betriebsdauer aufgrund des hohen Energieverbrauchs bei dem Software-Update entscheidend verringert wird.
  • Es ist daher eine Aufgabe der vorliegenden Erfindung ein Verfahren zum Durchführen von Programmcode-Updates in einem zumindest teilweise vermaschten Netzwerk, das mehrere Knotengruppen von Netzwerkknoten unterschiedlichen Typs aufweist, zu schaffen, das auch bei Netzwerkknoten mit geringen zur Verfügung stehenden Ressourcen effizient einsetzbar ist.
  • Die Erfindung schafft ein Verfahren zum Durchführen von Programmcode-Updates in einem zumindest teilweise vermaschten Netzwerk, das mehrere Knotengruppen von Netzwerkknoten unterschiedlichen Typs aufweist, mit den folgenden Schritten:
    Ermitteln eines Overlay-Netzwerkes für jede Knotengruppe, für die ein Programmcode-Update erfolgt,
    wobei das Overlay-Netzwerk Ziel-Netzwerkknoten der jeweiligen Knotengruppe und Transfer-Netzwerkknoten anderer Knotengruppen aufweist, über welche voneinander getrennte Ziel-Netzwerkknoten der jeweiligen Knotengruppe verbindbar sind; und
    Übertragen mindestens eines Update-Programm-Codes an die Netzwerkknoten des ermittelten Overlay-Netzwerkes der jeweiligen Knotengruppe,
    wobei die Transfer-Netzwerkknoten des Overlay-Netzwerkes den Update-Programm-Code transient und die Ziel-Netzwerkknoten des Overlay-Netzwerkes den Update-Programm-Code dauerhaft speichern.
  • Die Erfindung stellt somit ein Verfahren für Software-Updates in heterogenen Netzwerken zur Verfügung, bei dem der Energieverbrauch zur Durchführung des Software-Updates bzw. zur Durchführung des Programmcode-Updates minimal ist.
  • Das erfindungsgemäße Verfahren hat den weiteren Vorteil, dass der Speicherbedarf in den jeweiligen Netzwerkknoten gering ist.
  • Ein weiterer Vorteil des erfindungsgemäßen Verfahrens zum Durchführen von Programmcode-Updates in dem vermaschten Netzwerk besteht darin, dass die Kommunikation zwischen Netzwerkknoten effizient erfolgt.
  • In einer Ausführungsform des erfindungsgemäßen Verfahrens speichert jeder Netzwerkknoten des Netzwerks Nachbarschaftsinformationsdaten, welche die Knoten IDs und Typen der mit dem jeweiligen Netzwerkknoten benachbarten Netzwerkknoten angeben.
  • In einer Ausführungsform des erfindungsgemäßen Verfahrens werden die Nachbarschaftsinformationsdaten der Netzwerkknoten des drahtlosen Netzwerkes zu einem mit dem Netzwerk verbundenen Rechner übertragen, der auf Basis der von den Netzwerkknoten empfangenen Nachbarschaftsinformationsdaten eine Topologie des Netzwerkes ermittelt.
  • In einer Ausführungsform des erfindungsgemäßen Verfahrens wird der Update-Programmcode über drahtlose Schnittstellen an die Netzwerkknoten übertragen.
  • In einer Ausführungsform des erfindungsgemäßen Verfahrens umfassen die drahtlosen Schnittstellen der Netzwerkknoten 805.15.4-Schnittstellen, ZIGBEE-Schnittstellen, WLAN-Schnittstellen oder Blue-Tooth-Schnittstellen.
  • In einer alternativen Ausführungsform des erfindungsgemäßen Verfahrens wird der Update-Programmcode über drahtlose und drahtgebundene Schnittstellen an die Netzwerkknoten übertragen.
  • In einer Ausführungsform des erfindungsgemäßen Verfahrens geben die Nachbarschaftsinformationsdaten auch eine Verbindungsqualität der drahtlosen Verbindungen zu den benachbarten Netzwerkknoten an.
  • Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens erfolgt das Ermitteln eines Overlay-Netzwerkes für eine Knotengruppe auf Basis der Nachbarschafts-Informationsdaten der Netzwerkknoten der Knotengruppe durch eine Recheneinheit, welche die Nachbarschaftsinformationsdaten von den Netzwerkknoten der Knotengruppe empfängt.
  • Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens erfolgt das Übertragen eines Update-Programmcodes eines Netzwerkknotens paketweise.
  • Die Erfindung schafft ferner ein Netzwerk mit:
    mehreren Knotengruppen, die jeweils Netzwerkknoten unterschiedlichen Typs aufweisen,
    wobei in jedem Netzwerkknoten ein Speicher für einen ausführbaren Programm-Code vorgesehen ist und in dem Netzwerkknoten Nachbarschaftsinformationsdaten vorhanden sind, welche Knoten-IDs und Typen von mit dem jeweiligen Netzwerkknoten benachbarten Netzwerkknoten angeben; und mit
    einer Recheneinheit, die zum Durchführen eines Programm-Code-Updates bei einer Knotengruppe des Netzwerkes auf Basis der Nachbarschaftsinformationsdaten ein zugehöriges Overlay-Netzwerk ermittelt, welches Ziel-Netzwerkknoten der jeweiligen Knotengruppe, bei denen das Programm-Code-Update erfolgt, und Transfer-Netzwerkknoten anderer Knotengruppen aufweist, über welche voneinander getrennte Ziel-Netzwerkknoten der jeweiligen Knotengruppe verbindbar sind,
    wobei der Update-Programm-Code an die Netzwerkknoten des ermittelten Overlay-Netzwerkes der jeweiligen Knotengruppe übertragen wird und wobei der Update-Programm-Code in den Ziel-Netzwerkknoten dauerhaft und in den Transfer-Netzwerkknoten transient speicherbar ist.
  • Bei einer Ausführungsform des erfindungsgemäßen Netzwerkes weist jeder Netzwerkknoten einer Knotengruppe einen Prozessor zum Ausführen des Programmcodes und einen Datenspeicher mit mehreren Speicherpartitionen auf, wobei mindestens eine Speicherpartition des Datenspeichers eine Transferspeicherpartition bildet, die zum transienten Zwischenspeichern von Programmcodes für Netzwerkknoten anderer Knotengruppen vorgesehen ist.
  • Bei einer möglichen Ausführungsform des erfindungsgemäßen Netzwerkes weist jeder Netzwerkknoten ferner auf:
    eine Schnittstelle zum paketweisen Empfangen von Programmcode-Updates
    einen oder mehrere Sensoren,
    einen oder mehrere Aktoren,
    eine lokale Energieversorgungseinheit,
    einen Programmspeicher zum Laden eines in einer Speicherpartition eines Datenspeichers gespeicherten Programmcodes und einen Parameterspeicher.
  • Bei einer möglichen Ausführungsform des erfindungsgemäßen Netzwerkes werden der Datenspeicher und der Programmspeicher durch einen Flashspeicher gebildet.
  • Bei einer möglichen Ausführungsform des erfindungsgemäßen Netzwerkes bilden die Netzwerkknoten des Netzwerkes ein drahtloses, zumindest teilweise vermaschtes Netzwerk.
  • Bei einer Ausführungsform des erfindungsgemäßen Netzwerkes ist die Recheneinheit über einen Gateway-Knoten mit mindestens einem Netzwerkknoten verbunden.
  • Bei einer Ausführungsform des erfindungsgemäßen Netzwerkes sind die Programmcode-Updates über drahtlose Schnittstellen übertragbar, insbesondere über eine IEEE 802.15.4-Schnittstelle, eine ZIGBEE-Schnittstelle, eine WLAN-Schnittstelle oder eine Blue-Tooth-Schnittstelle.
  • Die Erfindung schafft ferner einen Netzwerkknoten, der zu einer Knotengruppe eines bestimmten Typs innerhalb eines Netzwerkes gehört, welches mehrere Knotengruppen unterschiedlichen Typs aufweist, mit:
    einer Schnittstelle zum Empfangen von Update-Programmcodes, die jeweils in einer Speicherpartition eines Datenspeichers speicherbar sind,
    wobei ein Update-Programmcode in einer bestimmten Transfer-Speicherpartition des Datenspeichers transient speicherbar ist, falls der empfangene Update-Programmcode für Netzwerkknoten einer anderen Knotengruppe bestimmt ist.
  • In einer Ausführungsform des erfindungsgemäßen Netzwerkknotens weist dieser einen Programmspeicher zum Speichern eines ausführbaren Programmcodes auf, der aus einer Speicherpartition des Datenspeichers ladbar ist, sowie einen Prozessor zum Ausführen des geladenen Programmcodes und einen Speicher zum Ablegen von Nachbarschaftsinformationsdaten. welche die Knoten IDs und Typen, der mit dem jeweiligen Netzwerkknoten benachbarten Netzwerkknoten, angeben.
  • In einer Ausführungsform des erfindungsgemäßen Netzwerkknotens weist dieser zusätzlich eine lokale Energieversorgungseinheit, eine oder mehrere Sensoren, einen oder mehrere Aktoren und einen Parameterspeicher auf.
  • Im Weiteren werden bevorzugte Ausführungsformen des erfindungsgemäßen Verfahrens zum Durchführen von Programmcode-Updates in einem Netzwerk, sowie des erfindungsgemäßen Netzwerkes und der in dem Netzwerk enthaltene Netzwerkknoten unter Bezugnahme auf die beigefügten Figuren beschrieben.
  • Es zeigen:
  • 1A bis 1E Diagramme zur Erläuterung der Funktionsweise des erfindungsgemäßen Verfahrens zum Durchführen von Programmcode-Updates anhand eines beispielhaften Netzwerkes mit Netzwerkknoten unterschiedlichen Typs;
  • 2A bis 2E Diagramme zur Darstellung einer Ausführungsform eines Verfahrens zum Ermitteln eines Overlay-Netzwerkes wie es bei dem erfindungsgemäßen Verfahren eingesetzt werden kann;
  • 3 ein Blockschaltbild eines Ausführungsbeispiels für einen im erfindungsgemäßen Netzwerk eingesetzten Netzwerkknotens.
  • Wie man aus 1A erkennen kann, besteht ein erfindungsgemäßes Netzwerk 1 aus mehreren Knotengruppen, die jeweils Netzwerkknoten 2-i unterschiedlichen Typs aufweisen. Bei dem in 1A dargestellten Beispiel gibt es drei verschiedene Knotengruppen, die jeweils Netzwerkknoten eines unterschiedlichen Typs A, B, C aufweisen. Diese Netzwerkknoten unterschiedlichen Typs unterscheiden sich beispielsweise in ihrer Hardware-Ausstattung, beispielsweise in der Anzahl und Art der in ihnen integrierten Sensoren oder Aktoren. Bei den in 1A dargestellten Netzwerkknoten 2-i unterschiedlichen Typs A, B. C handelt es sich beispielsweise um Sensorknoten eines Sensornetzwerkes. Das Netzwerk 1 weist somit eine Vielzahl von Netzwerkknoten 2-i auf, die vor allem über drahtlose Schnittstellen miteinander kommunizieren. Bei einer Variante des erfindungsgemäßen Netzwerkes 1 können die Sensorknoten teilweise über drahtlose Schnittstellen und teilweise über drahtgebundene Schnittstellen miteinander Daten austauschen bzw. kommunizieren. In jedem Netzwerkknoten 2-i ist mindestens ein Speicher für einen ausführbaren Programmcode vorgesehen. Darüber hinaus weist jeder Netzwerkknoten 2-i einen Speicher zum Speicher von Nachbarschaftsinformationsdaten auf. Die Nachbarschaftsinformationsdaten geben die Knoten IDs und Typen der mit den jeweiligen Netzwerkknoten 2-i benachbarten Netzwerkknoten an. Neben den verschiedenen Netzwerkknoten 2-i unterschiedlichen Typs A, B, C weist das Netzwerk 1 mindestens eine Recheneinheit 3 auf, bei der es sich beispielsweise um einen leistungsstarken zentralen Rechner handeln kann. Diese Recheneinheit 3 kann bei einer möglichen Ausführungsform über einen Gateway-Knoten mit mindestens einem Netzwerkknoten 2-i des Netzwerkes 1 verbunden sein. Die zentrale Recheneinheit 3 ist in der Lage aus gesammelten Nachbarschaftsinformationsdaten eine Topologie des gesamten Netzwerkes 1 abzuleiten. In einer möglichen Ausführungsform ermittelt die Recheneinheit 3 zum Durchführen eines Programmcode-Updates bei einer Knotengruppe des Netzwerkes auf Basis der Nachbarschaftsinformationsdaten ein zugehöriges Overlay-Netzwerk. Dieses Overlay-Netzwerk weist die Zielnetzwerkknoten der jeweiligen Knotengruppe auf, bei denen das jeweilige Programmcode-Update erfolgt, sowie Transfer-Netzwerkknoten anderer Knotengruppen, über welche die voneinander getrennten Zielnetzwerkknoten der jeweiligen Knotengruppe verbindbar sind. Bei der Durchführung eines Software-Updates wird der Update-Programmcode an die Netzwerkknoten 2-i des ermittelten Overlay-Netzwerkes der jeweiligen Knotengruppe übertragen und der übertragene Update-Programmcode in den Zielnetzwerkknoten der jeweiligen Knotengruppe dauerhaft gespeichert. Demgegenüber wird der übertragene Update-Programmcode in den Transfernetzwerkknoten des Overlay-Netzwerkes lediglich transient bzw. temporär gespeichert. Jeder Netzwerkknoten 2-i jedes Netzwerkes 1 weist mindestens einen Prozessor zum Ausführen eines Programmcodes sowie einen Datenspeicher mit mehreren Speicherpartitionen auf. Eine der Speicherpartitionen des Datenspeichers bildet eine Transfer-Speicherpartition, die zum transienten Zwischenspeichern der Programmcodes für Netzwerkknoten anderer Knotengruppen vorgesehen ist. Bei einer möglichen Ausführungsform werden der Datenspeicher und der Programmspeicher jeweils durch einen Flashspeicher gebildet.
  • Zur Durchführung eines Programmcode-Updates wird in einem ersten Schritt zunächst für jede Knotengruppe ein Overlay-Netzwerk ermittelt. Die Ermittlung des Overlay-Netzwerkes erfolgt vorzugsweise durch den zentralen leistungsstarken Rechner 3 oder alternativ durch mindestens einen leistungsstarken Netzwerkknoten 2-i des Netzwerkes 1. Zur Durchführung eines Software-Updates bei einer bestimmten Knotengruppe, beispielsweise der Knotengruppe A aller Netzwerkknoten 2-i des Typs A wird zunächst ein Overlay-Netzwerk anhand der Nachbarschaftsinformationsdaten gebildet bzw. berechnet. Hierzu werden, wie in 1B angedeutet, die Nachbarschaftsinformationsdaten von den Netzwerkknoten 2-i, beispielsweise von Sensorknoten, an den Rechner 3 übertragen. Diese Nachbarschaftsinformationsdaten stellen ein Abbild der Topologie des Netzwerkes 1 dar. Die Nachbarschaftsinformationsdaten können von den Netzwerkknoten 2-i beispielsweise über ein Multi-Hop-Mechanismus an die Recheneinheit 3 geliefert werden. In einer möglichen Ausführungsform wird ein sogenanntes Tree-Collection-Verfahren, welches beispielsweise bei der Übertragung von Messdaten in einem Sensornetzwerk benutzt werden kann, zum Liefern der Nachbarschaftsinformationsdaten an die Recheneinheit 3 eingesetzt. Vorzugsweise handelt es sich bei dem Netzwerk 1 um ein statisches Netzwerk, in dem sich die Struktur bzw. die Topologie des Netzwerkes 1 über die Zeit nicht oder nur geringfügig ändert und das keine oder wenige mobile Netzwerkknoten beinhaltet. Bei einem statischen Netzwerk benötigt die Recheneinheit 3 für jedem Netzwerkknoten 2-i lediglich eine Nachricht, welche die entsprechenden Nachbarschaftsinformationsdaten, insbesondere eine Liste der benachbarten Knoten beinhaltet. In der Regel ist in einem Sensornetzwerk bereits mindestens ein Routingverfahren implementiert, das die Weiterleitung von Messdaten an ein Gateway erlaubt.
  • In einer möglichen Ausführungsform wird dieses vorhandene Routingverfahren zusätzlich zum Übertragen der Nachbarschaftsinformationsdaten an die zentrale Recheneinheit 3 benutzt, ohne dass ein eigenständiges Routingverfahren hierfür vorgesehen werden muss. Auf Basis der empfangenen Nachbarschaftsinformationsdaten berechnet die Recheneinheit 3 auf Grundlage der gegebenen Netzwerktopologie für die jeweils upzudatende Knotengruppe ein zugehöriges Overlay-Netzwerk. Dieses Overlay-Netzwerk umfasst die upzudatenden Zielnetzwerkknoten der jeweiligen Knotengruppe und zusätzlich Transfernetzwerkknoten anderer Knotengruppen. Diese Transfernetzwerkknoten sind Knoten, über welche von einander getrennte Zielnetzwerkknoten der jeweiligen upzudatenden Knotengruppe miteinander verbindbar sind. Da die zentrale Recheneinheit 3 über alle relevanten Nachbarschaftsinformationen sowie über genügend Rechenleistung verfügt, kann für jede Knotengruppe ein optimales Overlay-Netzwerk bestimmt werden, mit dessen Hilfe eine Programmcode-Verteilung mit minimalem Energieverbrauch erreicht wird.
  • In einer weiteren Ausführungsform kann das ermittelte Overlay-Netzwerk redundant berechnet werden, um möglichen Störungen in der Konnektivität der Netzwerkknoten 2-i bereits im Vorfeld vorzubeugen. Für jedes Oberlay-Netzwerk werden die Netzwerkknoten derart ausgewählt bzw. berechnet, dass sowohl alle Zielnetzwerkknoten als auch einige Transfernetzwerkknoten enthalten sind. Transfernetzwerkknoten werden im späteren Flooding bzw. Fluten genutzt damit alle Zielnetzwerkknoten der jeweiligen Knotengruppe zur Durchführung des Software-Updates erreicht werden können. Die zentralisierte Ermittlung der beim Software-Update beteiligten Netzwerkknoten 2-i ermöglicht es eine optimale Auswahl der Transfernetzwerkknoten derart vorzunehmen, dass der zusätzliche Übertragungsaufwand und der damit verbundene zusätzliche Energieverbrauch minimiert werden.
  • 1C verdeutlicht die Ermittlung eines Overlay-Netzwerkes für die Knotengruppe der Netzwerkknoten des Typ A in dem Netzwerk 1. Bei dem dargestellten Beispiel umfasst die Netzwerkknotengruppe A die Netzwerkknoten 2-1, 2-4, 2-5, 2-6, 2-7 sowie die Netzwerkknoten 2-9. Um alle Netzwerkknoten der Knotengruppe A zu erreichen, ist die Beteiligung des Netzwerkknotens 2-5 des Typs C notwendig. Wie man aus 1C erkennen kann, bilden die Netzwerkknoten 2-1, 2-4, 2-7 eine erste direkt miteinander verbundene Teilgruppe der Netzwerkknotengruppe A und die Netzwerkknoten 2-6, 2-9 eine zweite Teilgruppe der Netzwerkknotengruppe A. Diese beiden Unter- bzw. Teilgruppen der Netzwerkknotengruppe A lassen sich in optimierter Weise über den Netzwerkknoten 2-5 des Typs C verbinden. Alternative Verbindungsmöglichkeiten beispielsweise über den Knoten 2-3 oder den Knoten 2-8 führen zu einem höheren Übertragungs- und Energieaufwand. Wie in 1C dargestellt wird durch den leistungsstarken Rechner 3 intern ein entsprechendes Overlay-Netzwerk berechnet, das neben den fünf Netzwerkknoten des Typs A auch den Netzwerkknoten 2-5 des Typs C als Transfernetzwerkknoten beinhaltet.
  • Sobald ein Software-Update für die Knotengruppe A zu erfolgen hat, wird mindestens ein Update-Programmcode an die Netzwerkknoten des ermittelten Overlay-Netzwerkes der jeweiligen Knotengruppe A übertragen. Der Update-Programmcode wird dabei in den Transfernetzwerkknoten des Overlay-Netzwerkes nur transient bzw. temporär gespeichert. In den Zielnetzwerkknoten des Overlay-Netzwerkes wird hingegen der Update-Programmcode dauerhaft gespeichert. Eine Löschung des transient gespeicherten Update-Programmcodes in dem Speicher des Transfernetzwerkknotens erfolgt beispielsweise erst nach erfolgreichem Update der gesamten Knotengruppe oder nach Ablauf einer bestimmten Zeit oder durch Überschreiben mit einem neuen Update-Programmcode eines nachfolgenden Software-Updates für eine andere Knotengruppe.
  • 1D zeigt beispielhaft die Übertragung eines Update-Programmcodes ausgehend von dem Rechner 3 an die Netzwerkknoten der Gruppe A des ermittelten Overlay-Netzwerkes.
  • Ist das Netzwerk 1 ein Netzwerk mit einer statischen Netzwerktopologie erfolgt die Bestimmung des Overlay-Netzwerkes einmalig bzw. erfolgt im Fall von gelegentlichen Veränderungen des Netzwerkes 1 oder der Umgebung mit einer relativ geringen Häufigkeit.
  • In einer möglichen Ausführungsform werden die resultierenden Overlay-Netzwerke den beteiligten Netzwerkknoten 2-i des Netzwerkes 1 bekannt gemacht, indem per Flooding bzw. Fluten die Zugehörigkeit der Netzwerkknoten 2-i zu den verschiedenen Overlay-Netzwerken in dem gesamten Netzwerk 1 kommuniziert werden. Netzwerkknoten 2-i kennen ihre Gruppenzugehörigkeit, da diese statisch ist bzw. durch unveränderliche Eigenschaften des jeweiligen Netzwerkknotens 2-i, beispielsweise des darin implementierten Prozessortyps, festgelegt ist. Bei einer Ausführungsform werden daher nur diejenigen Netzwerkknoten 2-i von ihrer Zugehörigkeit zu einem Overlay-Netzwerk unterrichtet, die nicht einer der zugehörigen Gruppen angehören. Daher ist der Aufwand für derartige Benachrichtigungen innerhalb des Netzwerkes 1 gering.
  • Bei einer möglichen Ausführungsform speichert jeder Netzwerkknoten 2-i, der bei der Übertragung von fremden Daten beteiligt ist bzw. an der Übertragung von Daten, die für andere Netzwerkknotentypen bestimmt sind, diese Daten in einer Transferspeicherpartition des Datenspeichers ab. Deshalb muss der jeweilige Netzwerkknoten 2-i eine geringere Anzahl an Speicherpartitionen beinhalten bzw. aufweisen als auf Grundlage Anzahl der unterschiedlichen Netzwerkknotengruppen und Programmversionen notwendig erscheint. Ein Vorteil des erfindungsgemäßen Verfahrens besteht darin, dass der zentrale Rechner 3 zu jedem Zeitpunkt weiß, welche Netzwerkknoten 2-i an dem jeweiligen Transfer bzw. Update beteiligt sind. Somit kann der zentrale Rechner 3 den Transfer bzw. die Übertragung des Update-Programmcodes stets lückenlos überwachen. Bei der Übertragung der Update-Programmcodes wird der Update-Programmcode in den Transfernetzwerkknoten des Overlay-Netzwerkes temporär in einer Transferspeicherpartition des jeweiligen Datenspeichers zwischengespeichert.
  • Falls ein neuer Netzwerkknoten einem bestehenden Netzwerk 1 hinzugefügt wird, berechnet die zentrale Recheneinheit 3 die beteiligten Netzwerkknoten für alle Knotengruppen neu.
  • Wie in 1E beispielhaft dargestellt ermittelt der zentrale Rechner 3 bei einer Erweiterung des Netzwerkes 1 um einen weiteren Netzwerkknoten 2-12 des Typs A den Knoten 2-10 des Typs C als weiteren Transfernetzwerkknoten für das Overlay-Netzwerk der Knotengruppe A. Auf diese Weise erhält der hinzugekommene Netzwerkknoten 2-12 des Typs A über zwei Hops die aktuellen Daten bzw. den Update-Programmcode.
  • Das Ausführen eines Software-Updates bzw. die Durchführung eines Programmcode-Updates kann auf verschiedene Weise getriggert werden. Beispielsweise kann ein Software-Update für jede Gruppe von Netzwerkknoten in periodischen Zeitabständen indem Netzwerk 1 vorgenommen werden. Eine weitere Möglichkeit besteht darin bei Eintritt eines bestimmten Ereignisses, beispielsweise bei Ausfall eines Netzwerkknotens oder Hinzufügen oder Entfernen eines Netzwerkknotens ein Update auszuführen. Ferner kann ein Software-Update durch eine Nutzereingabe ausgelöst werden. Eine weitere Möglichkeit besteht darin, dass ein oder mehrere Netzwerkknoten eine entsprechende Update-Anforderung übertragen, beispielsweise bei Auftreten einer Fehlfunktion.
  • Die 2A bis 2D verdeutlichen die Ermittlung eines Overlay-Netzwerkes durch eine zentrale Recheneinheit 3 basierend auf der Topologie eines Netzwerkes 1, wie es in 2A dargestellt ist. Der zentrale Rechner 1 verfügt über Informationsdaten, welche Nachbarschaftsbeziehungen angeben, die auch eine Verbindungsqualität der drahtlosen Verbindungen zwischen den benachbarten Netzwerkknoten umfassen können. Eine derartige Information über die Signalqualität der drahtlosen Verbindung ist beispielsweise ein RSSI-Wert (Received Signal Strength Indicator) oder ein LQI-Wert (Link Quality Indicator).
  • Wie in 2B dargestellt werden bei einer möglichen Ausführungsform zunächst die Kanten eines sogenannten Minimal Spanning Trees, beispielsweise mittels eines Kruskal-Algorithmus bestimmt.
  • Wie in 2C dargestellt werden Blätter bzw. Netzwerkknoten des Baumes identifiziert, die nicht zur Zielgruppe gehören. Eine Ausnahme bildet der Netzwerkknoten 2-1, der die Verbindung zu der zentralen Recheneinheit 3 bildet. Dieser Netzwerkknoten 2-1 wird in dem dargestellten Beispiel nicht ausgewählt. Die Kanten, die zu dem identifizierten Netzwerkknoten führen, werden aus dem Spanning-Tree gelöscht. Die identifizierten Netzwerkknoten gehören nicht mehr zu dem jeweiligen Baum. Dieser Schritt wird iterativ solange wiederholt bis keine Netzwerkknoten mehr identifiziert werden können, wie in den , dargestellt ist. Der dabei entstehende Ergebnisbaum verbindet alle Netzwerkknoten der Zielgruppe und diejenigen Netzwerkknoten die notwendig sind um alle Zielnetzwerkknoten der jeweiligen Knotengruppe zu erreichen, das heißt das jeweilige Overlay-Netzwerk.
  • Die 3 zeigt ein Blockschaltbild für ein Ausführungsbeispiel eines erfindungsgemäßen Netzwerkknotens 2-i innerhalb des Netzwerkes 1. Wie in 3 dargestellt weist der Netzwerkknoten 2-i der zu einer Knotengruppe eines bestimmten Typs, beispielsweise des Typs A, B, C innerhalb des Netzwerkes 1 gehört, verschiedene integrierte Einheiten auf. Der Netzwerkknoten 2-i weist bei einer Ausführungsform eine Schnittstelle SP 2A zum Empfangen von Update-Programmcodes auf, die jeweils in einer Speicherpartition SP eines Datenspeichers 2B speicherbar sind. Bei dem dargestellten Ausführungsbeispiel weist der Datenspeicher 2B vier Speicherpartitionen SP auf, wobei eine Speicherpartition eine Transferspeicherpartition T-SP bildet. Ein Update-Programmcode wird in dieser Transferspeicherpartition T-SP des Datenspeichers 2B innerhalb des Netzwerkknotens 2 transient bzw. temporär gespeichert, falls der empfangene Update-Programmcode für Netzwerkknoten einer anderen Knotengruppe bestimmt ist.
  • Bei dem in 3 dargestellten Ausführungsbeispiel enthält der Netzwerkknoten 2-i einen Prozessor 2C zum Ausführen eines oder mehrerer Programmcodes. In einem Programmspeicher 2D sind einer oder mehrere Programmcodes gespeichert, die aus einer Speicherpartition SP des Datenspeichers 2B ladbar sind. Der Netzwerkknoten 2-i verfügt ferner über einen Speicher 2E zum Ablegen von Nachbarschaftsinformationsdaten, welche die Knoten IDs und Typen der mit dem jeweiligen Netzwerkknoten 2-i benachbarten Netzwerkknoten 2-i angeben. Darüber hinaus weist der Netzwerkknoten 2-i eine lokale Energieversorgungseinheit 2F, beispielsweise eine Batterie oder eine Solarzelle, auf. Weiterhin kann der Netzwerkknoten 2-i über eine oder mehrere Sensoren 2G oder eine oder mehrere Aktoren 2H verfügen. Bei einer möglichen Ausführungsform weist der Netzwerkknoten 2-i zudem einen Parameterspeicher 2I auf. Dieser Parameterspeicher 2I ist beispielsweise ein SRAM-Speicher.
  • Bei dem erfindungsgemäßen Verfahren zum Durchführen eines Software-Updates werden für Knotengruppen spezifische Overlay-Netzwerke für den Software-Update durch ein geeignetes Verfahren zur Verbreitung von Datenpaketen verwendet. Neben den Knoten bzw. Zielnetzwerkknoten der jeweiligen Knotengruppe, die mit der neuen Software versorgt werden sollen, werden zusätzlich geeignete Fremdknoten bzw. Transfernetzwerkknoten eingesetzt, um eine ausreichende Junktivität der Zielgruppe bzw. upzudatenden Netzwerkknotengruppe zu erreichen. Die Ermittlung bzw. Berechnung geeigneter Overlay-Netzwerke für alle Knotengruppen des Netzwerkes 1 erfolgt dabei unter Minimierung des notwendigen Kommunikationsaufwands vorzugsweise durch eine zentrale Recheneinheit 3. Zur Ermittlung bzw. Berechnung der Overlay-Netzwerke werden neben der Kenntnis der Gruppenzugehörigkeit der Netzwerkknoten 2-i lediglich Informationen bezüglich direkter Nachbarknoten der jeweiligen Netzwerkknoten verwendet. Diese Nachbarschaftsinformationsdaten fallen im Rahmen eines Routingverfahrens, welches beispielsweise für den Transport von Messdaten zu einem Gateway verwendet wird, ohnehin an, so dass die Generierung derartiger Nachbarschaftsinformationsdaten keinen zusätzlichen Aufwand darstellt.
  • Das erfindungsgemäße Verfahren bietet eine Minimierung von überflüssiger Übertragung von Programmcode-Datenpaketen, da nur diejenigen Netzwerkknoten 2-i adressiert werden, die den jeweiligen Programmcode entweder selbst benötigen oder als Transfernetzwerkknoten dienen, damit alle Netzwerkknoten der jeweiligen Zielnetzwerkknotengruppe über das Fluten erreicht werden.
  • Es besteht bei dem erfindungsgemäßen Verfahren ein geringer Kommunikationsaufwand für die Ermittlung der knotengruppenspezifischen Overlay-Netzwerke, da kein aufwändiges Punkt zu Punkt Routing vorgenommen werden muss.
  • Der Einsatz optimaler Overlay-Netzwerke, die auch redundante Übertragungswege vorsehen können, wird ermöglicht durch die zentrale Bestimmung bzw. Berechnung der Overlay-Netzwerke durch die zentrale Recheneinheit 3.
  • Darüber hinaus wird der Kommunikationsaufwand für die Zustellung der Informationen über die Zugehörigkeit der Netzwerkknoten 2-i zu den Overlay-Netzwerken minimiert, da lediglich Fremdknoten bzw. Transfernetzwerkknoten, die nicht zu der jeweiligen Zielgruppe gehören, benachrichtigt werden müssen.
  • Weiterhin führt das erfindungsgemäße Verfahren zu einer Minimierung des Energiebedarfs für den Software-Update, da der Energiebedarf im Wesentlichen durch die Kommunikation von Programmcode-Datenpaketen sowie deren Speicherung, beispielsweise in einem Flashspeicher der Netzwerkknoten, bestimmt wird.
  • Weiterhin führt das erfindungsgemäße Verfahren zu einer Minimierung des Speicherbedarfs für die verschiedenen Code-Partitionen durch Verwendung von einem oder mehreren Transferspeicherpartitionen auf Transfernetzwerkknoten, das heißt solchen Knoten, die im Kontext eines bestimmten Transfers bzw. einer Übertragung nicht zu der jeweiligen Zielgruppe gehören sondern lediglich zur Weiterleitung von Programmcode-Datenpaketen dienen.
  • Weiterhin ist der Kommunikationsaufwand für einen Setup der Overlay-Netzwerke im Vergleich zu dem Aufwand für die Übertragung von Programmcodepakten minimal, da nur einfache Nachbarschafts- und Zugehörigkeitsinformationsdaten übertragen werden müssen.
  • Da die zentrale Recheneinheit 3, die mit der Bestimmung der Overlay-Netzwerke betraut ist, über eine vollständige Kenntnis der Netzwerktopologie verfügt, können bei einer möglichen Ausführungsform weitere Optimierungen des Download-Prozesses auf einfache Weise in die Bestimmung bzw. Berechnung der Overlay-Netzwerke einfließen, beispielsweise Kriterien, die sich auf den aktuellen Energievorrat der jeweiligen Netzwerkknoten, beispielsweise Sensorknoten, beziehen.
  • Das erfindungsgemäße Netzwerk und das erfindungsgemäße Verfahren zur Durchführung von Software-Updates lassen sich vielseitig einsetzen. Mögliche beispielhafte Anwendungsfälle sind Sensornetzwerke, Feueralarmsysteme, Klimasteuerungen, Helligkeitssteuerungen sowie Anwendungen im Bereich der Landwirtschaft, beispielsweise im Weinbau.
  • Weitere Varianten des erfindungsgemäßen Netzwerkes 1 oder des erfindungsgemäßen Verfahrens zur Durchführung des Software-Updates sind möglich. Beispielsweise kann die Übertragung der Daten zwischen den Netzwerkknoten 2-i kryptographisch geschützt erfolgen. Darüber hinaus kann die Übertragung der Daten drahtlos oder drahtgebunden erfolgen, wobei unterschiedliche Datenübertragungsprotokolle zum Einsatz kommen können. In einer möglichen Ausführungsform werden die verschiedenen Overlay-Netzwerke für mögliche Updates in einem Speicher der Recheneinheit 3 hinterlegt und müssen bei der Vornahme eines notwendigen Software-Updates nicht vorab berechnet werden. Diese Ausführungsvariante bietet den Vorteil, dass ein Software-Update unmittelbar und zügig durchgeführt werden kann. Bei einer alternativen Ausführungsform werden die Overlay-Netzwerke bei Bedarf bzw. Anfrage für die jeweilige Knotengruppe zunächst neu berechnet.
  • Bei einer möglichen Variante des erfindungsgemäßen Netzwerkes 1 sind die Knoten der verschiedenen Knotengruppen nicht statisch positioniert sondern teilweise mobil. Bei dem mobilen Netzwerkknoten kann es sich um mobile Endgeräte handeln.
  • In einer weiteren Variante des erfindungsgemäßen Netzwerkes sind mehrere leistungsstarke Recheneinheiten vorgesehen, um die Overlay-Netzwerke zu ermitteln.
  • In einer weiteren Variante des erfindungsgemäßen Netzwerkes und Verfahrens melden die Netzwerkknoten 2-i nach erfolgreicher Durchführung des Software-Updates dies zurück an die Recheneinheit 3.
  • Bei einer möglichen Variante wird das Software-Update von der Recheneinheit 3 über ein Gateway und einen Verbindungsnetzwerkknoten, beispielsweise den Netzwerkknoten 2-1, zu den übrigen Netzwerkknoten 2-i eingespielt bzw. übertragen. In einer alternativen Ausführungsform veranlasst die zentrale Recheneinheit 3 einen anderen Knoten oder eine andere Recheneinheit bzw. Server zum Übertragen der Programmcode-Updates beispielsweise aus einer Datenbank.
  • Die Abstände bzw. Reichweiten zwischen den Netzwerkknoten 2-i können im großen Umfang variieren. In einer möglichen Ausführungsform beträgt der Abstand zwischen den Netzwerkknoten 2-i bei einem drahtlosen Netzwerk 1 bis zu 20 Meter in Gebäuden und 100 Meter im freien Gelände.
  • Die Größe einer Speicherpartition innerhalb eines Datenspeichers 2B kann ebenfalls je nach Anwendungsfall in einem weiten Bereich variieren. In einer möglichen Ausführungsform beträgt die Größe einer Speicherpartition innerhalb des Datenspeichers 2B 48 bzw. 64 kByte.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • IEEE 802.15.4-Schnittstelle [0026]

Claims (17)

  1. Netzwerk (1) mit: (a) mehreren Knotengruppen, die jeweils Netzwerkknoten (2-i) unterschiedlichen Typs (A, B, C) aufweisen, wobei in jedem Netzwerkknoten (2-i) ein Speicher für einen ausführbaren Programm-Code vorgesehen ist und in dem Netzwerkknoten Nachbarschaftsinformationsdaten vorhanden sind, welche Knoten-IDs und Typen von mit dem jeweiligen Netzwerkknoten (2-i) benachbarten Netzwerkknoten angeben; und mit (b) mindestens einer Recheneinheit (3), die zum Durchführen eines Programm-Code-Updates bei einer Knotengruppe des Netzwerkes auf Basis der Nachbarschaftsinformationsdaten ein zugehöriges Overlay-Netzwerk ermittelt, welches Ziel-Netzwerkknoten der jeweiligen Knotengruppe, bei denen das Programm-Code-Update erfolgt, und Transfer-Netzwerkknoten anderer Knotengruppen aufweist, über welche voneinander getrennte Ziel-Netzwerkknoten der jeweiligen Knotengruppe verbindbar sind, wobei der Update-Programm-Code an die Netzwerkknoten des ermittelten Overlay-Netzwerkes der jeweiligen Knotengruppe übertragen wird und wobei der Update-Programm-Code in den Ziel-Netzwerkknoten dauerhaft und in den Transfer-Netzwerkknoten transient speicherbar ist.
  2. Netzwerk nach Anspruch 1, wobei jeder Netzwerkknoten (2-i) einer Knotengruppe einen Prozessor (2C) zum Ausführen des Programm-Codes und einen Datenspeicher (2B) mit mehreren Speicherpartitionen aufweist, wobei mindestens eine Speicherpartition des Datenspeichers eine Transferspeicherpartition bildet, die zum transienten Zwischenspeichern von Programm-Codes für Netzwerkknoten anderer Knotengruppen vorgesehen ist.
  3. Netzwerk nach Anspruch 1 oder 2, wobei der Netzwerkknoten (2-i) ferner aufweist: – eine Schnittstelle (2A) zum paketweisen Empfangen von Programm-Code-Updates, – einen oder mehrere Sensoren (2G), – einen oder mehrere Aktoren (2H), – eine lokale Energieversorgungseinheit (2F), – einen Programmspeicher (2D) zum Laden eines in einer Speicherpartition des Datenspeichers (2B) gespeicherten Programm-Codes und – einen Parameterspeicher (2I)
  4. Netzwerk nach Anspruch 2 oder 3, wobei der Datenspeicher (2B) und der Programmspeicher (2D) durch Flash-Speicher gebildet sind.
  5. Netzwerk nach Anspruch 1–4, wobei die Netzwerkknoten (2-i) des Netzwerkes (1) ein drahtloses, zumindest teilweise vermaschtes Netzwerk bilden.
  6. Netzwerk nach Anspruch 1–5, wobei die Recheneinheit (3) über einen Gateway-Knoten mit mindestens einem Netzwerkknoten verbunden ist.
  7. Netzwerk nach Anspruch 1–6, wobei die Programm-Code-Updates über drahtlose Schnittstellen (2A) übertragbar sind, insbesondere über eine IEEE 802.15.4-Schnittstelle, eine ZIGBEE-Schnittstelle, eine WLAN-Schnittstelle oder eine Blue-Tooth-Schnittstelle.
  8. Verfahren zum Durchführen von Programmcode-Updates in einem zumindest teilweise vermaschten Netzwerk, das mehrere Knotengruppen von Netzwerkknoten unterschiedlichen Typs aufweist, mit den folgenden Schritten: (a) Ermitteln eines Overlay-Netzwerkes für jede Knotengruppe, für die ein Programmcode-Update erfolgt, wobei das Overlay-Netzwerk Ziel-Netzwerkknoten der jeweiligen Knotengruppe und Transfer-Netzwerkknoten anderer Knotengruppen aufweist, über welche voneinander getrennte Ziel-Netzwerkknoten der jeweiligen Knotengruppe verbindbar sind; und (b) Übertragen mindestens eines Update-Programm-Codes an die Netzwerkknoten des ermittelten Overlay-Netzwerkes der jeweiligen Knotengruppe, wobei die Transfer-Netzwerkknoten des Overlay-Netzwerkes den Update-Programm-Code transient und die Ziel-Netzwerkknoten des Overlay-Netzwerkes den Update-Programm-Code dauerhaft speichern.
  9. Verfahren nach Anspruch 8, wobei jeder Netzwerkknoten (2-i) des Netzwerkes (2) Nachbarschaftsinformationsdaten speichert, welche die Knoten-IDs und Typen der mit dem jeweiligen Netzwerkknoten benachbarten Netzwerkknoten angeben.
  10. Verfahren nach Anspruch 9, wobei die Nachbarschaftsinformationsdaten der Netzwerkknoten des drahtlosen Netzwerkes zu einem mit dem Netzwerk verbundenen Rechner (3) übertragen werden, der auf Basis der von den Netzwerkknoten empfangenen Nachbarschaftsinformationsdaten eine Topologie des Netzwerkes (1) ermittelt.
  11. Verfahren nach Anspruch 8–9, wobei der Update-Programm-Code über drahtlose Schnittstellen (2A) an die Netzwerkknoten (2-i) übertragen wird, wobei die drahtlose Schnittstelle eine IEEE.805.15.4-Schnittstelle, eine ZIGBEE-Schnittstelle, eine WLAN-Schnittstelle oder eine Blue-Tooth-Schnittstelle aufweist.
  12. Verfahren nach Anspruch 9–11, wobei die Nachbarschaftsinformationsdaten eine Verbindungsqualität der drahtlosen Verbindungen zu den benachbarten Netzwerkknoten angeben.
  13. Verfahren nach Anspruch 8–12, wobei das Ermitteln eines Overlay-Netzwerkes für eine Knotengruppe auf Basis der Nachbarschaftsinformationsdaten der Netzwerkknoten (2-i) der Knotengruppe durch eine Recheneinheit (3) erfolgt, welche die Nachbarschaftsinformationsdaten von den Netzwerkknoten (2-i) der Knotengruppe empfängt
  14. Verfahren nach Anspruch 8–13, wobei das Übertragen eines Update-Programm-Codes eines Netzwerkknotens paketweise erfolgt.
  15. Netzwerkknoten (2-i), der zu einer Knotengruppe eines bestimmten Typs innerhalb eines Netzwerkes (1) gehört, das mehrere Knotengruppen unterschiedlichen Typs (A, B, C) aufweist, mit einer Schnittstelle (2A) zum Empfangen von Update-Programm-Codes, die jeweils in einer Speicherpartition eines Datenspeichers (2B) speicherbar sind, wobei ein Update-Programm-Code in einer bestimmten Transferspeicherpartition des Datenspeichers (2B) transient speicherbar ist, falls der empfangene Update-Programm-Code für Netzwerkknoten einer anderen Knotengruppe bestimmt ist.
  16. Netzwerkknoten nach Anspruch 15, mit einem Programmspeicher (2D) zum Speichern eines ausführbaren Programm-Codes, der aus einer Speicherpartition des Datenspeichers (2B) ladbar ist; einen Prozessor (2C) zum Ausführen des geladenen Programm-Codes; einen Speicher (2E) zum Ablegen von Nachbarschaftsinformationsdaten, welche die Knoten-IDs und Typen der mit dem jeweiligen Netzwerkknoten (2-i) benachbarten Netzwerkknoten angeben.
  17. Netzwerkknoten nach Anspruch 16, wobei der Netzwerkknoten (2-i) zusätzlich eine lokale Energieversorgungseinheit (2F), eine oder mehrere Sensoren (2G), eine oder mehrere Aktoren (2H) und einen Parameterspeicher (2I) aufweist.
DE200910038672 2009-08-24 2009-08-24 Verfahren und Vorrichtung zum Durchführen von Programmcode-Updates in einem Netzwerk Ceased DE102009038672A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200910038672 DE102009038672A1 (de) 2009-08-24 2009-08-24 Verfahren und Vorrichtung zum Durchführen von Programmcode-Updates in einem Netzwerk
PCT/EP2010/060390 WO2011023459A2 (de) 2009-08-24 2010-07-19 Verfahren und vorrichtung zum durchführen von programmcode-updates in einem netzwerk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200910038672 DE102009038672A1 (de) 2009-08-24 2009-08-24 Verfahren und Vorrichtung zum Durchführen von Programmcode-Updates in einem Netzwerk

Publications (1)

Publication Number Publication Date
DE102009038672A1 true DE102009038672A1 (de) 2011-03-10

Family

ID=43033101

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200910038672 Ceased DE102009038672A1 (de) 2009-08-24 2009-08-24 Verfahren und Vorrichtung zum Durchführen von Programmcode-Updates in einem Netzwerk

Country Status (2)

Country Link
DE (1) DE102009038672A1 (de)
WO (1) WO2011023459A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011018878B3 (de) * 2011-04-28 2012-09-27 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Synchronisieren der Datenbestände von Datenbanken
DE102014213205A1 (de) * 2014-07-08 2016-01-14 Robert Bosch Gmbh Umfelderfassungssystem und Verfahren zum Betrieb eines Umfelderfassungssystems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008069439A1 (en) * 2006-12-05 2008-06-12 Electronics And Telecommunications Research Institute Method for grouping sensor nodes in heterogeneous wireless sensor networks

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO314867B1 (no) * 2001-03-13 2003-06-02 Ericsson Telefon Ab L M Fremgangsmåte for å optimalisere programvaredistribusjon i store kommunikasjonsnett
US8024723B2 (en) * 2007-05-18 2011-09-20 Samsung Electronics Co., Ltd. System and method for peer-to-peer datacasting in a broadcasting network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008069439A1 (en) * 2006-12-05 2008-06-12 Electronics And Telecommunications Research Institute Method for grouping sensor nodes in heterogeneous wireless sensor networks

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GARZA, I. (et al.): Reprogramming Wireless Sensor Networks with a Selective and Incremental Approach, Electrical Engineering, Computing Science and Automatic Control, 2008. CCE 2008. 5th Internat. Conf. on Digital Object Identifier: 10.1109/ ICEEE.2008 .4723448 Publication Year: 2008, Page (s): 316-321, URL: http:// ieeexplore.ieee.org/stamp/ stamp.jsp?tp=&arnumber=4723448 *
IEEE 802.15.4-Schnittstelle
MOTTOLA, L. (et al.): FiGaRo: Fine-Grained Software Reconfiguration in Wireless Sensor Networks, Proceedings of the 5th European Conference on Wireless Sensor Networks (EWSN), Bologna (Italy), January 2008, URL: http://www.sics.se/~luca/ papers/mottola08figaro.pdf (recherchiert im Internet am 27.04. 2010) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011018878B3 (de) * 2011-04-28 2012-09-27 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Synchronisieren der Datenbestände von Datenbanken
DE102014213205A1 (de) * 2014-07-08 2016-01-14 Robert Bosch Gmbh Umfelderfassungssystem und Verfahren zum Betrieb eines Umfelderfassungssystems

Also Published As

Publication number Publication date
WO2011023459A3 (de) 2011-04-28
WO2011023459A2 (de) 2011-03-03

Similar Documents

Publication Publication Date Title
DE112007001796B4 (de) Umprogrammieren von Knoten in einem drahtlosen Automationssystem
DE69834260T2 (de) Verfahren und anordnung zur wiederholer verwaltung
EP1874002A2 (de) Kommunikationsnetz mit einer Mehrzahl von Knoten, die auf mobilen Maschinen installiert sind, und Betriebsverfahren dafür
DE102012207120A1 (de) Eingabe-/Ausgabevorrichtungen, Netzwerk, Systeme und Verfahren mit priorisiertem On-Demand-Routing Protokoll für Mehrweg-Funkübertragung
DE102006020811A1 (de) System und Verfahren zur autonomen Wechselwirkung zwischen benachbarten Sensoren in einem Netzwerk von Sensoren
EP1881650B1 (de) Aufbau eines drahtlosen selbstorganisierenden Kommunikationsnetzwerkes
DE102009043403A1 (de) Verfahren zum Aufbau eines bidirektionalen Kommunikationspfads in einem drahtlosen Netzwerk
DE102017106579A1 (de) Drahtlose kommunikationsvorrichtung und drahtloses kommunikationsverfahren
EP2282602B1 (de) Verfahren und Vorrichtung zur Konfiguration eines Funknetzwerkes
DE102009038672A1 (de) Verfahren und Vorrichtung zum Durchführen von Programmcode-Updates in einem Netzwerk
WO2018033293A1 (de) Verfahren zur assoziation von clients
WO2005043822A1 (de) Verfahren zur übertragung von informationen in einem kommunikationssystem unter verwendung eines pfades
WO2021139949A1 (de) Verfahren zur datenübertragung und technische anlage
EP3107219B1 (de) System und verfahren zur redundanten anbindung an ein backbone-netzwerk sowie ein in diesem system einsetzbarer uplink-knoten
DE102010027687B4 (de) Vermaschtes Funknetz, Netzknoten, Netzwerkkoordinator und Verfahren zum Routing von Datenpaketen in einem vermaschten Funknetz
EP3525476B1 (de) Verfahren zur topologiebestimmung in einer mobilfunk-site und eine entsprechende mobilfunk-site
DE102015220422A1 (de) System und Verfahren zur redundanten Anbindung an ein Backbone-Netzwerk sowie ein in diesem System einsetzbarer Uplink-Knoten
WO2016079091A1 (de) Verfahren zum betreiben eines ersten und zumindest eines zweiten feldgerätes
EP3477916A1 (de) Verfahren zum auslesen von daten aus in einem gebäude installierten endgeräten und datenerfassungssystem
DE102018131560B4 (de) Selbstorganisiertes Datensammlernetzwerk
DE102022205636B3 (de) Verfahren zur verbesserung der datenverbindung eines benutzergerätes in einem mobilen netz
DE102017127512B4 (de) Verfahren zum verarbeiten einer vielzahl von fahrzeugnachrichten
DE102009041821A1 (de) Netzwerk
DE102016011182A1 (de) Drahtlosvorrichtung, Netzwerksystem und Steuerungsverfahren
DE102022212465A1 (de) Verfahren zur verteilten Schwarmbildung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20120412