WO2008077360A1 - Verfahren zum verbreiten einer computerdatenstruktur auf knoten eines netzwerks - Google Patents

Verfahren zum verbreiten einer computerdatenstruktur auf knoten eines netzwerks Download PDF

Info

Publication number
WO2008077360A1
WO2008077360A1 PCT/DE2006/002304 DE2006002304W WO2008077360A1 WO 2008077360 A1 WO2008077360 A1 WO 2008077360A1 DE 2006002304 W DE2006002304 W DE 2006002304W WO 2008077360 A1 WO2008077360 A1 WO 2008077360A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
data structure
computer data
network
payload
Prior art date
Application number
PCT/DE2006/002304
Other languages
English (en)
French (fr)
Inventor
Thomas Banik
Markus Erlmann
Hendrik Gerlach
Reiner Plaum
Bernd SCHÖNMÜLLER
Thomas Talanis
Frank Volkmann
Original Assignee
Siemens Aktiengesellschaft
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 Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to DE112006004209T priority Critical patent/DE112006004209A5/de
Priority to EP06840884.8A priority patent/EP2122995B1/de
Priority to PCT/DE2006/002304 priority patent/WO2008077360A1/de
Priority to US12/519,605 priority patent/US20100287623A1/en
Publication of WO2008077360A1 publication Critical patent/WO2008077360A1/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Verbreiten einer Computerdatenstruktur auf Knoten eines Netzwerks. Die Computerdatenstruktur weist zumindest eine Schnittstelle für die Interaktion mit den Knoten des Netzwerks und Nutzdaten auf. Verfahrensgemäß erfolgt nach Einbringung der Computerdatenstruktur in den ersten Knoten eine Installation der Nutzdaten über die Schnittstelle auf dem ersten Knoten des Netzwerks. Ferner erfolgt eine Detektion von zumindest einem zweiten Knoten des Netzwerks vom ersten Knoten aus. Im Anschluss daran erfolgt eine Übertragung der Computerdatenstruktur vom ersten zum zumindest einen zweiten Knoten. Ferner erfolgt eine Installation der Nutzdaten über die Schnittstelle auf dem zumindest einen zweiten Knoten, die in Bezug auf den zweiten Knoten oben angegebenen Schritte werden für einen dritten, vierten usw. Knoten wiederholt, wobei der dritte, vierte usw. Knoten dem zweiten Knoten entspricht und wobei der zweite Knoten dem ersten Knoten entspricht.

Description

Beschreibung
Verfahren zum Verbreiten einer Computerdatenstruktur auf Knoten eines Netzwerks
Die Erfindung betrifft ein Verfahren zum Verbreiten einer Computerdatenstruktur auf Knoten eines Netzwerks, eine Computerdatenstruktur, Netzwerkknoten, sowie ein Netzwerk.
Netzwerke sind Zusammenschlüsse von verschiedenen technischen primär selbständigen Systemen, insbesondere Computern, aber auch Sensoren, Aktoren, funktechnologische Komponenten usw. , so dass eine Kommunikation der einzelnen Systeme untereinander ermöglicht wird. Die einzelnen Systeme werden dabei als Netzwerkknoten bzw. als Knoten des Netzwerkes bezeichnet. Die Kommunikation erfolgt über verschiedene Medien, wie z. B. WLAN oder LAN.
Netzwerke finden auch Verwendung in der Automatisierungstech- nik. Als solche sind sie Bestandteil von Automatisierungssystemen, die z. B. zur Durchführung von verfahrenstechnischen Prozessen eingesetzt werden. Die einzelnen Netzwerkknoten können dabei im Automatisierungssystem unterschiedliche oder auch die gleichen Aufgaben durchführen. So führen z. B. man- che Netzwerkknoten im Automatisierungssystem Überwachungsfunktionen aus und andere führen Regelungsfunktionen aus . Zur Durchführung der Aufgaben ist auch Software, wie z. B. Firmware, auf den Netzwerkknoten installiert. Ferner können auf Netzwerkknoten so genannte Agenten installiert sein, die z. B. zur Datenerhebung und zur Kontrolle des Knotens dienen.
Netzwerke werden zunehmend komplexer. Dadurch wird auch die Inbetriebnahme und Wartung der Netzwerke immer komplexer. So ist z. B. von Zeit zu Zeit die auf den Netzwerkknoten instal- lierte Firmware zu aktualisieren oder neue Firmware oder
Agenten müssen auf manchen Netzwerkknoten installiert werden. Nach dem Stand der Technik werden die Netzwerkknoten eines Netzwerks einzeln, von einer zentralen Stelle aus, direkt angesprochen, -um Installationen oder Aktualisierungen (Updates) der Firmware, der Agenten oder von sonstiger Software vorzu- nehmen. Dazu sind in der zentralen Stelle die Knoten in einer Liste zusammengefasst . Auf Basis dieser Liste erfolgt die Installation nacheinander (One-to-One) oder parallel (One-to- Many) . Alternativ werden nach dem Stand der Technik die zu installierenden Software-Komponenten auf einem zentralen Ser- ver vorgehalten. Durch einen an die Netzwerkknoten gesendeten Trigger oder auch nach Ablauf von Überwachungs-Intervallen in den einzelnen Netzwerkknoten beginnen die Netzwerkknoten zu prüfen, ob auf dem zentralen Server neue Software-Komponenten bzw. neue Updates vorliegen. Ist dies der Fall, so beginnt eine Netzwerk-Komponente mit dem Herunterladen der Software und installiert diese anschließend. Dieses Prinzip ist z. B. auch aus dem PC-Bereich bekannt, wo Betriebssystem-Updates von einem zentralen Server über das Internet herunterladbar sind.
Wie bereits oben erwähnt, nimmt die Komplexität der Netzwerke ständig zu. Die nach dem Stand der Technik bekannten Verfahren zur Installation von Firmware, Agenten etc. haben daher den Nachteil, dass sie eine sehr sorgfältige Wartung des Netzwerkes erfordern. So muss z. B. die oben genannte Liste der Knoten stets auf dem aktuellen Stand sein, da ein Knoten, der aus irgendwelchen Gründen nicht in der Liste steht, auch nicht mit neuer oder aktuellerer Software versorgt werden kann. Ein Nachteil bei der Verwendung von einem zentralen Server ist, dass das Netzwerk unter Umständen stark belastet wird und daher eine temporäre Verminderung der Funktionsfähigkeit des Netzwerkes auftritt, falls mehrere Knoten, initiiert von dem Trigger, gleichzeitig die zu installierende Software herunterladen.
Ein Sensornetz ist ein Netzwerk, das aus kleinen bzw. Kleinstcomputern, so genannten Sensorknoten, besteht. Die Sensorknoten sind mit Sensoren ausgestattet und bewältigen durch Zusammenarbeit eine gemeinsame Aufgabe. Die Sensorknoten kommunizieren dabei in der Regel drahtlos miteinander und organisieren sich auch selbständig. Die Sensorknoten werden nach dem Stand der Technik in großer Zahl und in einem großen Gebiet ausgebracht und überwachen ihre Umgebung so lange, bis ihre Energiereserven erschöpft sind. Aufgrund ihrer Kleinheit, ihres günstigen Preises, ihrer Verwendung in großer Zahl und der Autonomität der Sensorknoten werden Sensorknoten bzw. Sensornetzwerke auch als „smart dust" bezeichnet. Selbstorganisierende Sensornetzwerke kennen nicht mehr unbedingt die Aufgabe jedes einzelnen Netzwerkknotens sondern nur noch die Aufgabe des Gesamtsystems. Hier ist es besonders problematisch, alle Netzwerkknoten zu finden, um diese mit neuer Firmware, mit neuen Agenten oder sonstiger Software zu aktualisieren.
Aufgabe der Erfindung ist es daher, ein verbessertes Verfahren zum Verbreiten von Nutzdaten wie etwa Firmware, Agenten oder sonstiger Software auf die Knoten eines Netzwerkes zur Verfügung zu stellen. Aufgabe der Erfindung ist es ferner, eine verbesserte Computerdatenstruktur, die für die Verbreitung von Nutzdaten auf den Knoten eines Netzwerkes vorgesehen ist, anzugeben. Ferner ist es Aufgabe der Erfindung, verbesserte Netzwerkknoten bzw. ein verbessertes Netzwerk an- zugeben .
Die der Erfindung zugrunde liegenden Aufgaben werden jeweils mit den Merkmalen der unabhängigen Patentansprüche gelöst. Ausführungsformen der Erfindung sind in den abhängigen Pa- tentansprüchen angegeben.
Durch die Erfindung wird ein Verfahren zum Verbreiten einer Computerdatenstruktur auf Knoten eines Netzwerkes angegeben. Die Computerdatenstruktur weist zumindest eine Schnittstelle für die Interaktion mit den Netzwerkknoten auf. Ferner erfolgt die Detektion von zumindest einem zweiten Knoten des Netzwerks von dem ersten Knoten aus . Die Computerdatenstruktur wird vom ersten Knoten zu dem zumindest einen zweiten Knoten übertragen, wo eine Installation der Nutzdaten über die Schnittstelle erfolgt. Vom zweiten Knoten aus erfolgt die Ermittlung von zumindest einem dritten Knoten, auf dem nach der Übertragung der Computerdatenstruktur vom zweiten zum dritten Knoten auch die Installation der Nutzdaten erfolgt. Vom dritten Knoten aus können dann weitere Knoten, wie zuvor für den ersten, zweiten und dritten Knoten beschrieben, de- tektiert werden, auf denen dann die Installation der Nutzdaten erfolgt. Damit kann die Verbreitung der Nutzdaten mittels der Computerdatenstruktur über das gesamte Netzwerk, das heißt über alle Netzwerkknoten, erzielt werden.
Die Computerdatenstruktur wird über den ersten Knoten in das Netzwerk eingebracht, von wo aus sich die Computerdatenstruk- tur im Wesentlichen selbstständig über die anderen Netzwerkknoten im Netzwerk verbreitet und somit die Nutzdaten über das Netzwerk verbreitet werden. Das erfindungsgemäße Verfahren hat den Vorteil, dass kein zentraler Update-Server mehr nötig ist. Damit kann die Verbreitung der Nutzdaten, also z.B. Aktualisierungen von Firmware oder Agenten, in einem komplexen Netzwerk, wie z. B. einem Sensornetzwerk, bewerkstelligt werden. Ein weiterer Vorteil des erfindungsgemäßen Verfahrens ist, dass keine genaue Kenntnis von der Anzahl und der Adresse der zu updatenden Netzwerkknoten mehr nötig ist, da die Detektion der einzelnen Netzwerkknoten von einem benachbarten Netzwerkknoten aus erfolgt. Ein weiterer Vorteil des erfindungsgemäßen Verfahrens ist, dass es relativ einfach und zeitsparend durchführbar ist. Im Prinzip muss die Computerdatenstruktur nur an einer Stelle in das Netzwerk einge- bracht werden. Danach verbreitet sich die Computerdatenstruktur selbstständig bzw. in Wechselwirkung mit den einzelnen Netzwerkknoten im Netzwerk.
Nach einer Ausführungsform der Erfindung handelt es sich bei den Nutzdaten um ausführbaren Code, der von der Computerdatenstruktur auf den Knoten platziert wird. Dazu weist die Computerdatenstruktur ausführbaren Code auf. Die Computerdatenstruktur dient somit als Träger für die auf den Knoten c
ausführbaren Nutzdaten und bringt den Code, um die Nutzdaten (über die Schnittstelle) auf den jeweiligen Knoten zu installieren, selbst mit.
Nach einer Ausführungsform der Erfindung weist die Computerdatenstruktur einen Zähler auf. Der Zähler wird bei Einbringung der Computerdatenstruktur in das Netzwerk auf einen vorgegebenen Startwert gesetzt. Auf jedem Knoten, der von der Computerdatenstruktur erreicht wird oder auf dem die Nutzda- ten installiert werden, wird der Zähler erniedrigt oder erhöht, wobei die Computerdatenstruktur nur an einen weiteren Knoten übermittelt wird, wenn der Zähler größer oder kleiner ist als ein Endwert. Dabei erfolgt die Erhöhung des Startwerts, falls der Endwert größer ist als der Startwert. Ent- sprechend erfolgt eine Erniedrigung des Startwerts, wenn der Endwert kleiner ist als der Startwert.
Beispielsweise weist die Computerdatenstruktur einen Zähler auf, wobei der Zähler bei Einbringung der Computerdatenstruk- tur in das Netzwerk auf einen vorgegebenen Startwert größer als Null gesetzt ist. Der Zähler wird auf jedem Knoten, der von der Computerdatenstruktur erreicht wird oder auf dem die Nutzdaten installiert werden, um Eins verringert, wobei die Computerdatenstruktur nur an einen weiteren Knoten übermit- , telt wird, wenn der Zähler größer als Null ist. Beim Verbreiten der Computerdatenstruktur wird daher der Zähler, ausgehend von einem Startwert, jeweils beim Erreichen eines neuen Knotens oder bei der Installation der Nutzdaten auf einem neuen Knoten, um Eins verringert. Die Computerdatenstruktur wird nur so lange im Netzwerk von einem Knoten zum nächsten Knoten übertragen, wie der Zähler größer als Null ist. Dies verhindert, dass die Computerdatenstruktur endlos im Netzwerk kreist.
Nach einer Ausführungsform der Erfindung erfolgt verfahrensgemäß die Speicherung der Computerdatenstruktur auf dem ersten Knoten, falls der zumindest eine zweite Knoten temporär nicht erreichbar ist, wobei die Computerdatenstruktur an ei- ,
nen zweiten Knoten übermittelt wird, wenn der zumindest eine zweite Knoten wieder erreichbar ist. Die einzelnen Knoten der Netzwerke können unter Umständen nicht permanent, sondern nur temporär betrieben werden. So werden z. B. die Knoten in ei- nem Sensornetzwerk nur temporär betrieben, um Energie zu sparen. Die einzelnen Knoten befinden sich daher in einem Wachzustand oder in einem Schlaf-Zustand. Im Wach-Zustand führen die Knoten die ihnen zugewiesenen Aufgaben durch, wohingegen sie im Schlaf-Zustand keine Aufgaben durchführen. Man spricht in diesem Zusammenhang auch vom Tagesablauf eines Sensorknotens. Für den Fall, dass die Computerdatenstruktur sich auf dem ersten Knoten befindet, und falls die von dem ersten Knoten erreichbaren Knoten sich im Schlaf-Zustand befinden, wird erfindungsgemäß die Computerdatenstruktur gespeichert, so dass eine Übermittlung der Computerdatenstruktur zu den weiteren Knoten, also z. B. an den zweiten Knoten, dann erfolgt, wenn der Knoten sich wieder im Wach-Zustand befindet und daher auch eine Kommunikation mit dem ersten Knoten aufnehmen kann. Damit ist sichergestellt, dass die Computerdatenstruk- tur auch die Knoten erreicht, die nur temporär mit den anderen Knoten des Netzwerkes kommunizieren können.
Nach einer Ausführungsform der Erfindung weist jeder Knoten des Netzwerks, der für die Interaktion mit der Computerdaten- struktur vorgesehen ist, eine Andockstelle auf, wobei die
Computerdatenstruktur über die Schnittstelle und die Andockstelle die Nutzdaten auf den Knoten übertragen wird. Die Andockstelle kann z. B. mittels eines Dienstes realisiert sein, über den die Nutzdaten auf den Knoten übertragen werden kön- nen .
Nach einer Ausführungsform der Erfindung weist die Computerdatenstruktur eine Signatur auf und jeder Knoten weist Mittel zur Überprüfung der Signatur auf. Verfahrensgemäß erfolgt die Installation der Computerdatenstruktur auf einem Netzwerkknoten nur, wenn durch die Mittel zur Überprüfung der Signatur die Authentizität der Signatur festgestellt worden ist. Die Andockstellen der einzelnen Knoten kann auch von schädlichen Datenstrukturen, wie etwa Würmern, verwendet werden, um schädliche und unerwünschte Programme auf dem Netzwerkknoten zu installieren. Durch die Überprüfung der Signatur auf Authentizität ist sichergestellt, dass nur Nutzdaten aus ver- trauenswürdiger Quelle auf dem Netzwerkknoten installiert und somit ausgeführt werden.
Nach einer Ausführungsform der Erfindung wird im Anschluss an die Detektion des zweiten Knotens ermittelt, ob die Computer- datenstruktur bereits an den zweiten Knoten übermittelt worden ist. Falls die Computerdatenstruktur bereits an den zweiten Knoten übermittelt wurde, findet keine weitere Übertragung der Computerdatenstruktur statt. Damit ist sichergestellt, dass zum einen das Netzwerk nicht über das notwendige Maß hinaus belastet wird. Zum anderen wird, falls der oben genannte Zähler in der Computerdatenstruktur verwendet wird, sichergestellt, dass dieser nicht aufgrund einer Übermittlung an eine Datenstruktur, die die Computerdatenstruktur bereits empfangen hat, heruntergezählt wird und damit unter Umständen eine Verbreitung auf Netzwerkknoten, die die Computerdatenstruktur noch nicht erhalten haben, aufgrund dessen, dass der Zähler die Null erreicht, verhindert wird.
Nach einer Ausführungsform der Erfindung erfolgt die Überprü- fung des Datenbestands des Netzwerkknotens, auf dem eine Installation der Nutzdaten vorgesehen ist. Für den Fall, dass die Nutzdaten für den Netzwerkknoten ungeeignet sind und/oder die Installation der Nutzdaten auf dem Netzwerkknoten unnötig ist, erfolgt keine Installation. Damit wird verhindert, dass Nutzdaten auf einem Knoten installiert werden, die von diesem
Knoten gar nicht gebraucht werden und eine sich unter Umständen daraus ergebende Störung des Knotens unterbleibt.
Nach einer Ausführungsform der Erfindung werden die Nutzdaten zur Aktualisierung einer vorhandenen Anwendung auf dem Netzwerkknoten installiert, wobei die Installation erfolgt, ohne dass eine Ausführung der Anwendung auf dem Netzwerkknoten unterbrochen wird. Insbesondere, wenn die Nutzdaten für die Ak- „
tualisierung von einer vorhandenen Anwendung vorgesehen sind, ist es sinnvoll, diese so zu installieren, dass der Netzwerkknoten die Ausführung seiner ihm zugewiesenen Aufgabe nicht unterbrechen muss. Damit wird durch die vorgenommene Aktuali- sierung die Funktionalität des Netzwerkes bzw. des Netzwerkknotens auch nicht temporär eingeschränkt.
Nach einer Ausführungsform der Erfindung weist der Knoten einen Speicher auf, wobei die Anwendung in einem ersten Bereich des Speichers zur Ausführung gespeichert ist, wobei die Nutzdaten für eine zu aktualisierende Komponente der Anwendung vorgesehen sind und wobei die zu aktualisierende Komponente der Anwendung an einer Einsprungadresse, die im folgenden auch als erste Adresse (Al) bezeichnet wird, in dem ersten Bereich des Speichers abgelegt ist. Verfahrensgemäß erfolgt die Speicherung der Nutzdaten unter einer zweiten Adresse (A2) in einem zweiten, freien Bereich des Speichers. Anschließend wird ein erster Sprungbefehl (Jl) im Speicher installiert, wobei der erste Sprungbefehl (Jl) auf die erste Adresse (Al) führt. Ferner erfolgt die Ermittlung von Sprung- und Call-Befehlen in der Anwendung, die auf die Einsprungadresse (erste Adresse Al) führen. Die ermittelten Sprung- und Call-Befehle werden durch Sprung- und Call-Befehle ausgetauscht, die auf den ersten Sprungbefehl (Jl) führen.
Nachdem alle Referenzen (Sprünge, Calls) auf Al über Jl umgelenkt wurden, wird Jl auf A2 umgeschaltet, sodass schlagartig von der alten Komponente auf die neue, aktuelle Komponente umgeschaltet wird. Durch dieses schlagartige Umschalten wird ein eventuell problematischer Parallelbetrieb der alten Komponente und der aktuellen Komponente vermieden. Ferner kann optional in einem nachfolgenden Schritt ein Austausch aller Sprung- und Call-Befehle, die jetzt zu Jl führen, erfolgen, so dass die Sprung- und Call-Befehle direkt auf die zweite Adresse (A2) führen. Dadurch kann der Umweg über Jl wieder eingespart werden. Die Nutzdaten weisen daher nur die zu aktualisierende Komponente der Anwendung auf. Es wird nur ein so genanntes Delta-Update durchgeführt, indem die Sprungbe- n
fehle, die bisher auf die zu aktualisierende Komponente der Anwendung führen, nun auf die Nutzdaten, die in einem zweiten Adressbereich gespeichert werden, umgelenkt werden. Somit ist sichergestellt, dass, während die Anwendung ausgeführt wird, die zu aktualisierende Komponente aktualisiert werden kann.
Nach einer Ausführungsform der Erfindung ist die Einsprungadresse für die zu aktualisierende Komponente in der Computerdatenstruktur vorgegeben oder wird mittels eines vorgegebenen Suchverfahrens, z. B. unter Verwendung von Pattern-Matching- Verfahren, von der Computerdatenstruktur in der Anwendung ermittelt .
Nach einer Ausführungsform der Erfindung weist der Knoten ei- nen Speicher und einen Service-Manager auf, wobei die Anwendung in einem ersten Bereich des Speichers zur Ausführung gespeichert ist und wobei die Nutzdaten eine neue Funktion der Anwendung bereitstellen. Erfindungsgemäß erfolgt die Speicherung der Nutzdaten auf einem freien, zweiten Bereich des Speichers. Ferner wird die neue Funktion beim Service-Manager angemeldet, wonach die neue Funktion der Anwendung für den Knoten ausführbar ist.
Nach einer Ausführungsform der Erfindung weist der Knoten ei- nen Speicher auf und die Anwendung ist zur Ausführung in einem ersten Bereich des Speichers gespeichert. Die Nutzdaten stellen eine neue Funktion der Anwendung bereit. Verfahrensgemäß erfolgt die Speicherung der Nutzdaten unter einer zweiten Adresse auf einem freien, zweiten Bereich des Speichers. Ferner erfolgt die Ermittlung einer Anschlussstelle für die neue Funktion in der Anwendung, wobei die erste Anschlussstelle unter einer ersten Adresse im ersten Bereich gespeichert ist. Im Anschluss daran erfolgt die Installation eines ersten Sprungs von der ersten Adresse auf die zweite Adresse und eines zweiten Sprungs am Ende des zweiten Bereichs zurück auf die Adresse, die auf die erste Adresse folgt. ± Q
Nach einer Ausführungsform handelt es sich bei den Nutzdaten um Firmware, Aktualisierungen für Firmware, Agenten oder Killer-Agenten. Die Killer-Agenten sind dabei für die Deinstallation von Agenten auf den Netzwerkknoten vorgesehen.
Nach einer Ausführungsform der Erfindung handelt es sich bei dem Netzwerk um ein Netzwerk eines Automatisierungssystems oder um ein Sensornetzwerk.
In einem anderen Aspekt betrifft die Erfindung ein Computerprogrammprodukt mit computerausführbaren Instruktionen zur Durchführung des erfindungsgemäßen Verfahrens .
In einem anderen Aspekt betrifft die Erfindung eine Computer- datenstruktur mit zumindest einer Schnittstelle für die Interaktion mit den Knoten eines Netzwerkes, mit Nutzdaten und mit Mitteln zur Installation der Nutzdaten über die Schnittstelle auf einen ersten Knoten des Netzwerks. Die Computerdatenstruktur hat ferner Mittel zur Detektion zumindest eines zweiten Knotens des Netzwerks von dem ersten Knoten aus und Mitteln zum Übermitteln von sich selbst vom ersten Knoten zu dem zumindest einen zweiten Knoten. Ferner weist die Computerdatenstruktur Mittel zur Installation der Nutzdaten über die Schnittstelle auf dem zumindest einen zweiten Knoten und zur Suche von weiteren Knoten vom dem zweiten Knoten aus auf.
In einem anderen Aspekt betrifft die Erfindung einen Netzwerkknoten in einem Netzwerk mit einer Andockstelle für eine Schnittstelle einer Computerdatenstruktur, wobei die Compu- terdatenstruktur ferner Nutzdaten aufweist. Der Netzwerkknoten hat auch Mittel zur Installation der Nutzdaten auf dem Netzwerkknoten und Mittel zum Senden der Computerdatenstruktur an andere Netzwerkknoten des Netzwerks. Ferner weist der Netzwerkknoten Mittel zur Benachrichtigung eines zentralen Servers des Netzwerks auf, wobei durch die Benachrichtigung die Installation der Nutzdaten auf dem Netzwerkknoten dem Server angezeigt wird. Die Kommunikation zwischen den Netzwerkknoten in dem Netzwerk wird dabei über funkbasierte oder leitungsgebundene Kommunikationsverbindungen, die z. B. auf dem WLAN-, LAN- oder WIMAX-Standard beruhen, bewerkstelligt.
In einem weiteren Aspekt betrifft die Erfindung ein Netzwerk mit Netzwerkknoten und einem zentralen Server, wobei in dem Netzwerk Nutzdaten über eine Computerdatenstruktur auf die Netzwerkknoten verbreitbar sind, wobei Netzwerkknoten, auf denen eine Installation der Nutzdaten erfolgt ist, eine Benachrichtigung an den zentralen Server zur Anzeige der er- folgten Installation senden, wobei der Server Mittel zur Installation der Nutzdaten auf den Netzwerkknoten, die keine Benachrichtigung an den zentralen Server übermittelt haben, aufweist.
Bevorzugte Ausführungsformen der Erfindung werden nachfolgend anhand der Zeichnungen näher erläutert. Es zeigen:
FIG 1 zeigt ein Blockdiagramm eines Netzwerks,
FIG 2 zeigt ein Flussdiagramm, das Schritte des erfindungs- gemäßen Verfahrens wiedergibt,
FIG 3 zeigt ein Blockdiagramm einer Computerdatenstruktur,
FIG 4 zeigt schematisch ein Blockdiagramm eines beschreibbaren Speichermediums und
FIG 5 zeigt ein Blockdiagramm eines Netzwerks mit einem zentralen Server.
FIG 1 zeigt ein Blockdiagramm eines Netzwerks 100. Das Netzwerk 100 umfasst einen ersten Knoten 102, einen zweiten Knoten 104, einen dritten Knoten 106, einen vierten Knoten 108 und einen fünften Knoten 110. Bei den Knoten 102 bis 110 handelt es beispielsweise um Computersysteme oder um Sensorknoten, die zur drahtlosen Kommunikation miteinander verbunden sind. Dazu werden Kommunikationsverbindungen 134, 136, 138, 140, 142, 144 und 146 zwischen jeweils zwei Knoten eingerich- tet. Bei den Kommunikationsverbindungen 134 bis 146 handelt es beispielsweise um WLAN-Verbindungen . Der erste Knoten 102 weist einen Mikroprozessor 112 und einen Speicher 114 auf. Der zweite Knoten 104 weist einen Mikroprozessor 126 und einen Speicher 128 auf. Der dritte, vierte und fünfte Knoten 106, 108, 110, weist jeweils auch einen Mikro- Prozessor und einen Speicher auf, die aus Gründen der Einfachheit hier nicht mehr dargestellt sind.
Auf dem Speicher 114 des ersten Knotens 102 ist ein Betriebssystem 116 gespeichert. Das Betriebssystem 116 wird, z. B. bei Inbetriebnahme des ersten Knotens 102, in den Mikroprozessor 112 geladen und von diesem ausgeführt. Das Betriebssystem 116 dient beispielsweise zur Steuerung der auf dem ersten Knoten 102 ablaufenden Prozesse. Das Betriebssystem 116 weist eine Andockstelle 120 für eine Schnittstelle 122 einer Computerdatenstruktur 118 auf. Die Computerdatenstruktur 118 wird über den ersten Knoten 102 in das Netzwerk eingespeist und kann daher über die Andockstelle 120 mit dem Betriebssystem 116 interagieren. Die Computerdatenstruktur 118 weist Nutzdaten 124 auf. Über die Schnittstelle 122 werden die Nutzdaten 124 auf den ersten Knoten übertragen und dann auf dem ersten Knoten 102 installiert.
Die Computerdatenstruktur 118 ist nun ferner so ausgebildet, dass sie vom ersten Knoten 102 weitere Knoten, z. B. den zweiten Knoten 104, des Netzwerkes detektieren kann. Nach der Detektion des zweiten Knotens 104 erfolgt eine Übertragung der Computerdatenstruktur 118 vom ersten Knoten 102 über die Kommunikationsverbindung 134 zum zweiten Knoten 104.
Auf dem zweiten Knoten 104 wird ebenfalls ein Betriebssystem 130 ausgeführt, das eine Andockstelle 132 für die Schnittstelle 122 der Computerdatenstruktur 118 aufweist. Das Betriebssystem 130 ist dabei typischerweise vom gleichen Typ wie das Betriebssystem 116. Über die Schnittstelle 122 und über die Andockstelle 132 können daher die Nutzdaten 124 von der Computerdatenstruktur 118 auf dem zweiten Knoten 104 übertragen werden und auf diesem installiert werden. Die Computerdatenstruktur 118 sucht ferner vom zweiten Knoten 104 aus nach weiteren Knoten des Netzwerkes 100. Beispielsweise kann die Computerdatenstruktur 118 vom zweiten Knoten 104 aus den vierten Knoten 108 detektieren. Im Anschluss an die Detektion des vierten Knotens 108 erfolgt eine Übertragung der Computerdatenstruktur 118 über die Kommunikations- verbindung 140. Nach der erfolgten Übertragung können die Nutzdaten 124 in der gleichen Art und Weise, wie für den ersten und zweiten Knoten 102 und 104 beschrieben, auf dem vier- ten Knoten 108 installiert werden. Vom vierten Knoten 108 aus kann dann der fünfte Knoten 110 detektiert werden. Im Anschluss daran erfolgt eine Übertragung der Computerdatenstruktur 118 vom vierten Knoten über die Kommunikationsverbindung 144 zum fünften Knoten 110, wo die Nutzdaten 124 e- benfalls installiert werden. Vom fünften Knoten 110 aus kann die Computerdatenstruktur dann den dritten Knoten 106 detektieren und dann über die Kommunikationsverbindung 142 zum dritten Knoten 106 gelangen. Auf dem dritten Knoten 106 erfolgt eine Installation der Nutzdaten über eine für die Schnittstelle 122 der Computerdatenstruktur vom dritten Knoten bereitgestellte Andockstelle. Damit hat sich die Computerdatenstruktur 118 nach ihrer Einbringung in das Netzwerk 100 über alle Knoten des Netzwerkes verbreitet, so dass die Nutzdaten 104 auf den Knoten 102 bis 110 des Netzwerks in- stalliert werden können.
Nach der zuvor beschriebenen Ausführungsform ist die Funktionalität der Initiierung der Installation der Nutzdaten und des Suchens von weiteren Netzwerkknoten in der Computerdaten- Struktur 118 implementiert. Somit müssen die Knoten nur eine Andockstelle aufweisen, über die die Computerdatenstruktur 118 die Nutzdaten 124 auf die Knoten übertragen kann und dann die Installation der Nutzdaten 124 vornehmen kann bzw. zumindest die Installation initiieren kann. Alternativ kann jedoch eine entsprechende Infrastruktur zum Empfangen, Weiterleiten und Installieren der Nutzdaten 124 auf den Knoten 102 bis 110 eingerichtet sein. Dann weist die Computerdatenstruktur im Wesentlichen nur die Nutzdaten und die Schnittstelle auf, mittels derer an die Andockstelle angedockt werden kann.
Bei den Nutzdaten 124 kann es sich auch beispielsweise um ein Update für die Betriebssysteme 116 bzw. 130 handeln.
Es kann sich bei den Nutzdaten 124 auch um Agenten handeln, die auf den Knoten 102 bis 110 zur Überwachung der Knoten installiert werden. Es kann sich bei den Nutzdaten 124 auch um einen Killeragenten handeln, mittels dem ein auf den Knoten bereits installierter Agent deinstalliert wird.
Handelt es sich bei den Knoten 102 bis 110 um Sensorknoten, dann ist das Betriebssystemen 116 bzw. 130 typischerweise Be- standteil der Firmware und bei den Mikroprozessoren 112, 126 und Speichern 114, 128 handelt es sich um eingebettete Systeme, wobei die Speicher beschreibbare Speicher wie RAM, Flash Speicher oder EEPROMs sind. Bei den Nutzdaten 124 kann es sich daher auch um Aktualisierungen oder Erweiterungen für die Firmware handeln.
FIG 2 zeigt ein Flussdiagramm, das Schritte des erfindungsgemäßen Verfahrens zum Verbreiten einer Computerdatenstruktur auf Knoten eines Netzwerkes wiedergibt. Die Computerdaten- Struktur weist dabei zumindest eine Schnittstelle für die Interaktion mit den Knoten des Netzwerkes und Nutzdaten auf. Erfindungsgemäß erfolgt in Schritt 200 die Installation der Nutzdaten über die Schnittstelle auf einem ersten Knoten des Netzwerks. In Schritt 202 erfolgt die Detektion von zumindest einem zweiten Knoten des Netzwerkes von dem ersten Knoten aus. In Schritt 204 erfolgt die Übertragung der Computerdatenstruktur vom ersten zum zweiten Knoten. In Schritt 206 werden die Nutzdaten über die Schnittstelle auf den zumindest einen zweiten Knoten übertragen und installiert.
FIG 3 zeigt ein schematisches Blockdiagramm der Computerdatenstruktur 118. Wie bereits zuvor erwähnt, weist die Computerdatenstruktur eine Schnittstelle 122 und die Nutzdaten 124 auf. Die Nutzdaten 124 entsprechen dabei dem auf die Netzwerke zu installierenden Code, also dem Code der Software, Firmware, Agenten usw. , der auf den Knoten des Netzwerkes zu installieren ist. In die Schnittstelle 122 ist ein Zähler 148 integriert. Der Zähler 148 ist bei Einbringung der Computerdatenstruktur 118 in das Netzwerk auf einen vorgegebenen Startwert 150, der größer als Null ist, gesetzt. Auf jedem Knoten, der von der Computerdatenstruktur erreicht wird oder auf dem die Nutzdaten installiert werden, wird der Zähler 148 beispielsweise um Eins verringert. Entspricht beispielsweise der Startwert 150 der Zahl 3 beim Einbringen der Computerdatenstruktur 118 in das Netzwerk 100 (vgl. FIG 1), dann verbreitet sich die Computerdatenstruktur 118 nur auf den zweiten Knoten 104 und auf den vierten Knoten 108 unter Berück- sichtigung des in FIG 1 beschriebenen Verbreitungsweges der
Computerdatenstruktur 118. Damit ist durch die Verwendung eines Zählers, der von einem Startwert ausgehend bis auf null heruntergezählt wird, sichergestellt, dass die Computerdatenstruktur 118 nicht endlos im Netzwerk verbleibt. Die Compu- terdatenstruktur 118 kann ferner eine Signatur 152 aufweisen, über die die Authentizität der Computerdatenstruktur 118 durch den Netzwerkknoten geprüft werden kann.
FIG 4 zeigt schematisch ein Blockdiagramm eines beschreibba- ren Speichers 400. Bei dem Speicher 400 kann es sich z.B. um einen Flash-Speicher handeln. Auf dem Speicher 400 ist eine Firmware (FW) 402 gespeichert. Die Firmware 402 weist eine erste Komponente (Fl) 404 auf, die z. B. eine Funktion zum Steuern des, den Speicher 400 beinhaltenden, Netzwerkknotens betrifft. Über die Computerdatenstruktur ist eine zweite Komponente (F2) 406 auf den, den Speicher beinhaltenden Knoten übermittelt worden. Die zweite Komponente 406 betrifft eine Aktualisierung der ersten Komponente 404. Zur Aktualisierung der Firmware 402 mit der zweiten Komponente 406 wird diese unter einer Adresse 418 in einem freien Bereich des Speichers 400 gespeichert. Dann erfolgt eine Installation eines ersten Sprungbefehls 410, der zunächst auf die Adresse 416 führt (gekennzeichnet in FIG 4 durch den Pfeil 422) . Alle Sprung- und Call-Befehle, wie z. B. der Call-Befehl 408, die auf eine Einsprungadresse 416 der ersten Komponente 404 führen (gekennzeichnet durch den Pfeil 424 in Fig. 1) , werden in der Firmware 402 detektiert. Im Anschluss daran erfolgt ein Aus- tausch der ermittelten Sprung- und Call-Befehle durch Sprung- und Call-Befehle, die auf den ersten Sprungbefehl 410 führen. Damit weist z. B. der Call-Befehl 408 nun nicht mehr direkt auf die Einsprungadresse 416, die zur Ausführung der ersten Komponenten 404 führt, sondern über den ersten Sprungbefehl 410 auf die Adresse 416, so dass bei Aufruf des Call-Befehls 408 immer noch die erste Komponente 404 ausgeführt wird.
Nachdem alle ermittelten Sprung- und Call-Befehle ausgetauscht wurden, wird der Sprungbefehl 410 von der Zieladresse 416 auf die Adresse 418 umgeschaltet (siehe Pfeil 426 in Fig. 1) . Dadurch wird nun nicht mehr die erste Komponente 404, sondern die zweite Komponente 406 ausgeführt, die einer Aktualisierung der ersten Komponente 404 entspricht. Fakultativ können ferner alle Sprung- und Call-Befehle, die nun auf den ersten Sprungbefehl 410 führen, durch Sprung- und Call-Befehle ausgetauscht werden, die sofort auf die Adresse 418 führen. Damit kann ein Update einer ersten Komponente der Firmware "On-the-Fly" durchgeführt werden, so dass die Firmware für ihre eigentliche Aufgabe verfügbar bleibt.
Es kann auch eine dritte Komponente 414, die unter einer anderen Adresse 420 in einem freien Bereich des Speichers 400 gespeichert wird, auf den entsprechenden Netzwerkknoten übertragen werden. Ferner wird zur Installation der dritten Kom- ponente 414 eine geeignete Anschlussstelle (AS) 412 in der Firmware 402 ermittelt, an die, der der dritten Komponente 414 entsprechende Code angehängt wird. Im Anschluss an den der dritten Komponente 414 entsprechenden Code wird ein Rücksprungbefehl auf die Adresse direkt hinter der Anschlussstel- Ie 412 eingefügt.
FIG 5 zeigt ein Blockdiagramm eines Netzwerks 500 mit den Netzwerkknoten 502 bis 512, wobei der Netzwerkknoten 512 von einem zentralen Server gebildet wird. Verfahrensgemäß können Nutzdaten 514, von denen eine Kopie auch auf dem Server 512 gespeichert ist, an die Knoten 502, 504, 506, 508 und 510 nach Einbringung der Computerdatenstruktur in das Netzwerk 500 an die einzelnen Knoten übertragen und dort installiert werden. Jeder Knoten 502 - 510 weist Mittel zur Benachrichtigung 516 des zentralen Servers 512 auf. Durch die Benachrichtigung wird die Installation der Nutzdaten auf dem Netzwerkknoten auf dem entsprechenden Knoten dem Server 512 ange- zeigt. Empfängt der Server von einem der Knoten, beispielsweise von Knoten 510, keine Benachrichtigung, so kann der Server über Installationsmittel 518 die Nutzdaten 514 an den Knoten 510 übermitteln und dort die Installation der Nutzdaten 514 initiieren.

Claims

, QIoPatentansprüche
1. Verfahren zum Verbreiten einer Computerdatenstruktur (118) auf Knoten eines Netzwerks (100) , wobei die Computerdaten- struktur zumindest eine Schnittstelle (122) für die Interaktion mit den Knoten (102,..., 110) des Netzwerks aufweist, und wobei die Computerdatenstruktur Nutzdaten (124) aufweist, wobei das Verfahren die folgenden Schritte aufweist: a) Installation der Nutzdaten über die Schnittstelle auf ei- nem ersten Knoten (102) des Netzwerks; b) Detektion zumindest eines zweiten Knotens (104) des Netzwerks von dem ersten Knoten aus; c) Übertragung der Computerdatenstruktur vom ersten Knoten zu dem zumindest einen zweiten Knoten; d) Installation der Nutzdaten über die Schnittstelle auf dem zumindest einen zweiten Knoten; e) Wiederholung der Schritte b) bis d) , wobei zumindest ein dritter Knoten dem zweiten Knoten entspricht und wobei der zweite Knoten dem ersten Knoten entspricht.
2. Verfahren nach Anspruch 1, wobei die Computerdatenstruktur zuvor über den ersten Knoten in das Netzwerk eingebracht worden ist.
3. Verfahren nach Anspruch 1 oder 2, wobei es sich bei den Nutzdaten um ausführbaren Code handelt und wobei die Computerdatenstruktur ferner ausführbaren Code aufweist, um die Nutzdaten auf den Knoten (102, 104) zu platzieren.
4. Verfahren nach Anspruch 1, 2 oder 3, wobei die Computerdatenstruktur einen Zähler (148) aufweist, wobei der Zähler bei Einbringung der Computerdatenstruktur in das Netzwerk auf einen vorgegebenen Startwert (150) gesetzt ist, wobei der Zähler auf jedem Knoten, der von der Computerdatenstruktur er- reicht wird oder auf dem die Nutzdaten installiert werden, erniedrigt oder erhöht wird, wobei die Computerdatenstruktur nur an einen weiteren Knoten übermittelt wird, wenn der Zähler größer oder kleiner ist als ein Endwert, wobei die Erhö- l g
hung des Startwerts erfolgt, falls der Endwert größer ist als der Startwert und wobei entsprechend die Erniedrigung des Startwerts erfolgt, wenn der Endwert kleiner ist als der Startwert .
5. Verfahren nach einem der Ansprüche 1 bis 4, ferner mit dem Schritt der Speicherung der Computerdatenstruktur auf dem ersten Knoten, falls der zumindest eine zweite Knoten temporär nicht erreichbar ist, wobei die Computerdatenstruktur an den zweiten Knoten übermittelt wird, wenn der zumindest eine zweite Knoten wieder erreichbar ist.
6. Verfahren nach einem der vorhergehenden Ansprüche, wobei jeder Knoten des Netzwerks, der für die Interaktion mit der Computerdatenstruktur vorgesehen ist, eine Andockstelle (120, 132) aufweist, wobei die Computerdatenstruktur über die Schnittstelle und die Andockstelle die Nutzdaten auf den Knoten überträgt .
7. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Computerdatenstruktur eine Signatur (152) aufweist, wobei jeder Knoten Mittel zur Überprüfung der Signatur aufweist, wobei die Installation der Computerdatenstruktur und/oder der Nutzdaten auf einem Knoten nur erfolgt, wenn durch die Mittel zur Überprüfung der Signatur die Authentizität der Signatur festgestellt worden ist.
8. Verfahren nach einem der vorhergehenden Ansprüche, wobei im Anschluss an die Detektion des zweiten Knotens ermittelt wird, ob die Computerdatenstruktur bereits an den zweiten
Knoten übermittelt worden ist, und wobei keine weitere Übertragung der Computerdatenstruktur stattfindet, falls die Computerdatenstruktur bereits an den zweiten Knoten übermittelt worden ist.
9. Verfahren nach einem der vorhergehenden Ansprüche, ferner mit dem Schritt der Überprüfung des Datenbestands des Knotens, auf dem eine Installation der Nutzdaten vorgesehen ist, 2 Q
wobei, für den Fall, dass die Nutzdaten für den Knoten ungeeignet sind und /oder die Installation der Nutzdaten auf dem Knoten unnötig ist, keine Installation der Nutzdaten erfolgt.
10. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Nutzdaten zur Aktualisierung einer vorhandenen Anwendung auf dem Knoten installiert werden, wobei die Installation erfolgt, ohne dass eine Ausführung der Anwendung auf dem Knoten unterbrochen wird.
11. Verfahren nach Anspruch 10, wobei der Knoten einen Speicher (400) aufweist, wobei die Anwendung (402) in einem ersten Bereich des Speichers zur Ausführung gespeichert ist, wobei die Nutzdaten (406) für eine zu aktualisierende Komponen- te (404) der Anwendung vorgesehen sind, wobei die zu aktualisierende Komponente der Anwendung an einer Einsprungadresse (416) in dem ersten Bereich des Speichers abgelegt ist, ferner mit den Schritten:
Speicherung der Nutzdaten unter einer zweiten Adresse (418) in einem zweiten, freien Bereich des Speichers;
Installation eines ersten Sprungbefehls (410) im Speicher, wobei der erste Sprungbefehl zunächst noch auf die Einsprungadresse (416) führt; Ermittlung von Sprung- und Call-Befehlen (408) in der An- wendung im ersten Speicherbereich, die auf die Einsprungadresse (416) führen;
Austausch der ermittelten Sprung- und Call-Befehle durch Sprung- und Call-Befehle, die auf den ersten Sprungbefehl führen; - Umschaltung des ersten Sprungbefehls von der Einsprungadresse (416) auf die zweite Adresse (418); Optionaler Austausch aller Sprung- und Call-Befehle, die auf den ersten Sprungbefehl führen, durch Sprung- und Call-Befehle, die auf die zweite Adresse führen.
12. Verfahren nach Anspruch 11, wobei die Einsprungadresse für die zu aktualisierende Komponente in der Computerdaten- struktur vorgegeben ist oder mittels eines vorgegebenen Suchverfahrens von der Computerdatenstruktur ermittelt wird.
13. Verfahren nach Anspruch 10, wobei der Knoten einen Spei- eher (400) aufweist, wobei der Knoten ferner einen Service- Manager aufweist, wobei die Anwendung in einem ersten Bereich des Speichers zur Ausführung gespeichert ist, wobei die Nutzdaten eine neue Funktion der Anwendung bereitstellen, wobei das Verfahren ferner die folgenden Schritte aufweist: - Speicherung der Nutzdaten auf einen freien, zweiten Bereich des Speichers;
Anmeldung der neuen Funktion beim Service-Manager, wonach die neue Funktion der Anwendung für den Knoten ausführbar ist .
14. Verfahren nach Anspruch 10, wobei der Knoten einen Speicher (400) aufweist, wobei die Anwendung (402) in einem ersten Bereich des Speichers zur Ausführung gespeichert ist, wobei die Nutzdaten (414) eine neue Funktion der Anwendung be- reitstellen, wobei das Verfahren ferner die folgenden Schritte aufweist:
Speicherung der Nutzdaten unter einer zweiten Adresse (420) auf einem freien, zweiten Bereich des Speichers; Ermittlung einer Anschlussstelle (412) für die neue Funk- tion in der Anwendung, wobei die erste Anschlussstelle unter einer ersten Adresse im ersten Bereich gespeichert ist;
Installation eines ersten Sprungs von der ersten Adresse auf die zweite Adresse und eines zweiten Sprungs am Ende des zweiten Bereichs zurück auf eine dritte Adresse, wobei die dritte Adresse auf die erste Adresse folgt.
15. Verfahren nach einem der vorhergehenden Ansprüche, wobei des sich bei den Nutzdaten um Firmware, Aktualisierungen für Firmware, Agenten oder Killeragenten handelt, wobei die Killeragenten für die Deinstallation von Agenten auf den Knoten vorgesehen sind.
16. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei dem Netzwerk um ein Netzwerk eines Automatisierungssystems oder um ein Sensornetzwerk handelt.
17. Computerprogrammprodukt mit computerausführbaren Instruktionen zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 16.
18. Computerdatenstruktur (418), vorgesehen zur Verbreitung von Nutzdaten auf Knoten eines Netzwerks, mit: zumindest einer Schnittstelle für die Interaktion mit den
Knoten des Netzwerks; den Nutzdaten;
Mitteln zur Installation der Nutzdaten über die Schnitt- stelle auf einem ersten Knoten des Netzwerks;
Mitteln zur Detektion zumindest eines zweiten Knotens des Netzwerks von dem ersten Knoten aus ;
Mitteln zum Übermitteln von sich selbst vom ersten Knoten zu dem zumindest einen zweiten Knoten; - Mitteln zur Installation der Nutzdaten über die Schnittstelle auf dem zumindest einen zweiten Knoten und zur Suche von weiteren Knoten von dem zweiten Knoten aus;
19. Computerdatenstruktur nach Anspruch 18, wobei es sich bei den Nutzdaten um ausführbaren Code handelt und wobei die Computerdatenstruktur ferner ausführbaren Code aufweist, wobei mit dem ausführbaren Code die Nutzdaten auf den Knoten (102, 104) platzierbar sind.
20. Computerdatenstruktur nach Anspruch 18 oder 19, wobei die Computerdatenstruktur einen Zähler aufweist, wobei der Zähler bei Einbringung der Computerdatenstruktur in das Netzwerk auf einen vorgegebenen Startwert (150) gesetzt ist, wobei der Zähler auf jedem Knoten, der von der Computerdatenstruktur erreicht wird oder auf dem die Nutzdaten installiert werden, verringerbar oder vergrößerbar ist, wobei die Computerdatenstruktur nur an einen weiteren Knoten übermittelbar ist, wenn der Zähler größer oder kleiner ist als ein Endwert, wobei die Erhöhung des Startwerts erfolgt, falls der Endwert größer ist als der Startwert und wobei entsprechend die Verringerung des Startwerts erfolgt, wenn der Endwert kleiner ist als der Startwert .
21. Computerdatenstruktur nach Anspruch 18, 19 oder 20, ferner mit Mitteln zum Detektion, ob der zweite Knoten vom ersten Knoten erreichbar ist und mit Mitteln zur Initialisierung des ersten Knotens zur Speicherung der Computerdatenstruktur falls der zumindest eine zweite Knoten temporär nicht erreichbar ist.
22. Computerdatenstruktur nach einem der vorhergehenden Ansprüche 18 bis 21, wobei jeder Knoten des Netzwerks, der für die Interaktion mit der Computerdatenstruktur vorgesehen ist, eine Andockstelle aufweist, wobei die Computerdatenstruktur Mittel zur Übertragung der Nutzdaten über die Schnittstelle und die Andockstelle auf den Knoten aufweist.
23. Computerdatenstruktur nach einem der vorhergehenden Ansprüche 18 bis 22, ferner mit einer Signatur mittels der die Authentizität der Computerdatenstruktur feststellbar ist.
24. Computerdatenstruktur nach einem der vorhergehenden An- Sprüche 18 bis 23, ferner mit Mitteln zur Detektion, ob die
Computerdatenstruktur bereits an den zweiten Knoten übermittelt worden ist, und mit Mitteln zum Blockieren einer weiteren Übertragung der Computerdatenstruktur an den zweiten Knoten, falls die Computerdatenstruktur bereits an den zweiten Knoten übermittelt worden ist.
25. Computerdatenstruktur nach einem der vorhergehenden Ansprüche 18 bis 24, ferner mit Mitteln zur Überprüfung des Datenbestands des Knotens, auf dem eine Installation der Nutz- daten vorgesehen ist, und wobei, für den Fall, dass die
Nutzdaten für den Knoten ungeeignet sind und /oder die Installation der Nutzdaten auf dem Knoten unnötig ist, keine Installation der Nutzdaten erfolgt.
26. Computerdatenstruktur nach einem der vorhergehenden Ansprüche 18 bis 25, mit Mitteln zur Installation der' Nutzdaten zur Aktualisierung einer vorhandenen Anwendung auf dem Knoten ohne eine Unterbrechung der Ausführung der Anwendung auf dem Knoten.
27. Computerdatenstruktur nach Anspruch 26, wobei der Knoten einen Speicher aufweist, wobei die Anwendung in einem ersten Bereich des Speichers zur Ausführung gespeichert ist, wobei die Nutzdaten für eine zu aktualisierende Komponente der Anwendung vorgesehen sind, wobei die zu aktualisierende Komponente der Anwendung an einer Ξinsprungadresse (416) in dem ersten Bereich des Speichers abgelegt ist, wobei die Computerdatenstruktur ferner folgendes aufweist: - Mittel zur Speicherung der Nutzdaten unter einer zweiten Adresse in einem zweiten, freien Bereich des Speichers; Mittel zur Installation eines ersten Sprungbefehls im Speicher, wobei der erste Sprungbefehl zunächst auf die Einsprungadresse führt und später auf die zweite Adresse umschaltbar ist;
Mittel zur Ermittlung von Sprung- und Call-Befehlen in der Anwendung, die auf die Einsprungadresse (416) führen; Mittel zum Austausch der ermittelten Sprung- und Call- Befehle durch Sprung- und Call-Befehle, die auf den ersten Sprungbefehl führen;
Mittel zum Austausch aller Sprung- und Call-Befehle, die auf den ersten Sprungbefehl führen, durch Sprung- und Call-Befehle, die auf die zweite Adresse führen.
28. Computerdatenstruktur nach Anspruch 27, wobei die Einsprungadresse für die zu aktualisierende Komponente in der Computerdatenstruktur vorgegeben ist oder mittels eines vorgegebenen Suchverfahrens von der Computerdatenstruktur ermittelt wird.
29. Computerdatenstruktur nach Anspruch 26, wobei der Knoten einen Speicher aufweist, wobei der Knoten ferner einen Service-Manager aufweist, wobei die Anwendung in einem ersten Be- reich des Speichers zur Ausführung gespeichert ist, wobei die Nutzdaten eine neue Funktion der Anwendung bereitstellen, wobei die Computerdatenstruktur ferner folgendes aufweist: Mittel zur Speicherung der Nutzdaten auf einen freien zweiten Bereich des Speichers;
Mittel zur Anmeldung der neuen Funktion beim Service- Manager, wonach die neue Funktion der Anwendung für den Knoten ausführbar ist.
30. Computerdatenstruktur nach Anspruch 26 wobei der Knoten einen Speicher aufweist, wobei die Anwendung in einem ersten Bereich des Speichers zur Ausführung gespeichert ist, wobei die Nutzdaten eine neue Funktion der Anwendung bereitstellen, wobei die Computerdatenstruktur ferner folgendes aufweist: - Mittel zur Speicherung der Nutzdaten unter einer zweiten Adresse auf einen freien zweiten Bereich des Speichers; Mittel zur Ermittlung einer Anschlussstelle für die neue Funktion in der Anwendung, wobei die erste Anschlussstelle unter einer ersten Adresse im ersten Bereich gespeichert ist;
Mittel zur Installation eines ersten Sprungs von der ersten Adresse auf die zweite Adresse und eines zweiten Sprungs am Ende des zweiten Bereichs zurück auf die, auf die erste Adresse folgende Adresse.
31. Netzwerkknoten (102; 502) in einem Netzwerk (100; 500) mit : einer Andockstelle (120) für eine Schnittstelle (122) einer Computerdatenstruktur (118), wobei die Computerdaten- Struktur ferner Nutzdaten (124) aufweist ,
Mitteln zur Installation der Nutzdaten auf dem Netzwerkknoten,
Mitteln zum Senden der Computerdatenstruktur an andere Netzwerkknoten (104, ..., 110 ; 504,...,51O) des Netzwerks.
32. Netzwerkknoten nach Anspruch 31, mit Mitteln zur Benachrichtigung (516) eines zentralen Servers (512) des Netzwerks, wobei durch die Benachrichtigung die Installation der Nutzdaten auf dem Netzwerkknoten dem Server angezeigt wird.
33. Netzwerkknoten nach Anspruch 31 oder 32, ferner mit Mit- teln zur Überprüfung einer Signatur (152) der Computerdatenstruktur, wobei eine Installation der Nutzdaten nur dann von Netzwerkknoten durchgeführt wird, wenn die Authentizität der Signatur festgestellt worden ist.
34. Netzwerk mit Netzwerkknoten und einem zentralen Server, wobei in dem Netzwerk Nutzdaten über eine Computerdatenstruktur nach einem der Ansprüche 18 bis 30 auf Netzwerkknoten verbreitbar sind, wobei Netzwerkknoten, auf denen eine Installation der Nutzdaten erfolgt ist, eine Benachrichtigung an den zentralen Server zur Anzeige der erfolgten Installation senden, wobei der Server Mittel zur Installation der Nutzdaten auf den Netzwerknoten, die keine Benachrichtigung an den zentralen Server übermittelt haben, aufweist.
PCT/DE2006/002304 2005-11-23 2006-12-22 Verfahren zum verbreiten einer computerdatenstruktur auf knoten eines netzwerks WO2008077360A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112006004209T DE112006004209A5 (de) 2006-12-22 2006-12-22 Verfahren zum Verbreiten einer Computerdatenstruktur auf Knoten eines Netzwerks
EP06840884.8A EP2122995B1 (de) 2006-12-22 2006-12-22 Verfahren zum verbreiten einer computerdatenstruktur auf knoten eines netzwerks
PCT/DE2006/002304 WO2008077360A1 (de) 2006-12-22 2006-12-22 Verfahren zum verbreiten einer computerdatenstruktur auf knoten eines netzwerks
US12/519,605 US20100287623A1 (en) 2005-11-23 2006-12-22 Method for distributing a computer data structure to nodes of a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/DE2006/002304 WO2008077360A1 (de) 2006-12-22 2006-12-22 Verfahren zum verbreiten einer computerdatenstruktur auf knoten eines netzwerks

Publications (1)

Publication Number Publication Date
WO2008077360A1 true WO2008077360A1 (de) 2008-07-03

Family

ID=38326148

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2006/002304 WO2008077360A1 (de) 2005-11-23 2006-12-22 Verfahren zum verbreiten einer computerdatenstruktur auf knoten eines netzwerks

Country Status (3)

Country Link
EP (1) EP2122995B1 (de)
DE (1) DE112006004209A5 (de)
WO (1) WO2008077360A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002029551A2 (en) * 2000-10-04 2002-04-11 Intel Corporation Peer to peer software distribution system
US6560643B1 (en) * 1994-06-22 2003-05-06 Ncr Corporation System of self-service terminals and method of distributing software to a plurality of self-service terminals

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899027B2 (en) * 2005-03-23 2011-03-01 Cisco Technology, Inc. Automatic route configuration in hierarchical wireless mesh networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560643B1 (en) * 1994-06-22 2003-05-06 Ncr Corporation System of self-service terminals and method of distributing software to a plurality of self-service terminals
WO2002029551A2 (en) * 2000-10-04 2002-04-11 Intel Corporation Peer to peer software distribution system

Also Published As

Publication number Publication date
DE112006004209A5 (de) 2009-12-03
EP2122995B1 (de) 2016-08-10
EP2122995A1 (de) 2009-11-25

Similar Documents

Publication Publication Date Title
DE112007001796B4 (de) Umprogrammieren von Knoten in einem drahtlosen Automationssystem
WO2005050437A2 (de) Verfahren zur installation und konfiguration von softwarekomponenten
WO2006069762A1 (de) Verfahren zur konfiguration von feldgeräten
DE112018001894T5 (de) Steuervorrichtung, Übertragungsverfahren und Computerprogramm
EP2109041A1 (de) Verfahren zur automatischen Aktualisierung von Software
EP3662364B1 (de) System zum übertragen zumindest eines aktualisierungspakets für zumindest ein steuergerät eines kraftfahrzeugs
EP1287433A2 (de) Agentensystem, computernetzwerk und verfahren zum laden eines agentensystems von einem host-computer auf einen client-computer eines computernetzwerkes
DE102017100749A1 (de) Verfahren und vorrichtung für zyklischen dateienaustauschbei abgeschaltetem fahrzeug
EP1991926A1 (de) Verfahren zur übertragung von programmaktualisierungen für programmgesteuerte einrichtungen in einem kommunikationsnetz
EP3985532B1 (de) Zertifikatsmanagement für technische anlagen
DE102019121085B4 (de) Netzwerkanordnung und Adressierung von Netzwerkkomponenten für einen Ladepark
EP2122995B1 (de) Verfahren zum verbreiten einer computerdatenstruktur auf knoten eines netzwerks
EP2645630B1 (de) Adaptives Remote-Service-Protokoll
WO2021058244A1 (de) Konfigurationsverfahren für eine eisenbahnsignalanlage und aktualisierungssystem
DE10215747B4 (de) Verfahren, Computerprogramm mit Programmcode-Mitteln und Computerprogramm-Produkt zu einem geschützten Herunterladen eines elektronischen Objekts in ein Personal Area Network (PAN) sowie Personal Area Network (PAN)
EP3988384B1 (de) Computerimplementiertes verfahren und vorrichtung zum lokalen lastmanagement von ladestationen zum laden von elektrofahrzeugen in einem ladestationssystem
WO2018114101A1 (de) Verfahren zum überprüfen einer mandantenzuordnung, computerprogrammprodukt und automatisierungssystem mit feldgeräten
DE102017209493A1 (de) Verfahren und System zur Durchführung eines Setups bei einem industriellen Netzwerk
DE102016116168A1 (de) Fahrzeug, System und Verfahren zur Aktualisierung der Firmware einer Fahrzeugkomponente
DE102006029263A1 (de) Verfahren zur Aktualisierung von in Mauterfassungsgeräten gespeicherten Daten und/oder Programmen
EP2056535A2 (de) Verbinder und Verfahren zum Bereitstellen eines Zugangs zu einem Datenverarbeitungsnetz für eine Datenverarbeitungseinrichtung
DE102009041173A1 (de) Verfahren zur Aktualisierung von Mauterfassungsgeräten
DE102017204212A1 (de) Verfahren und Vorrichtung zum Verwalten von Applikationen für Fahrzeuge
EP3599550A1 (de) Verfahren und server zur verteilung von software auf eine anzahl computer in einem netzwerk
DE102022207594A1 (de) Verfahren zum Bilden einer Kommunikationsschnittstelle zwischen einem Softwaremodul und einem Adressaten

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06840884

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2006840884

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006840884

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12519605

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1120060042092

Country of ref document: DE

REF Corresponds to

Ref document number: 112006004209

Country of ref document: DE

Date of ref document: 20091203

Kind code of ref document: P