PatentDe  


Dokumentenidentifikation DE602004005546T2 13.12.2007
EP-Veröffentlichungsnummer 0001519523
Titel Routingverfahren basierend auf den räumlichen Koordinaten der Netzwerkteilnehmer
Anmelder International Business Machines Corp., Armonk, N.Y., US
Erfinder STAIGER, Dieter, 71093, Weil im Schönbuch, DE
Vertreter Duscher, R., Dipl.-Phys. Dr.rer.nat., Pat.-Ass., 70176 Stuttgart
DE-Aktenzeichen 602004005546
Vertragsstaaten AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HU, IE, IT, LI, LU, MC, NL, PL, PT, RO, SE, SI, SK, TR
Sprache des Dokument EN
EP-Anmeldetag 24.08.2004
EP-Aktenzeichen 041040619
EP-Offenlegungsdatum 30.03.2005
EP date of grant 28.03.2007
Veröffentlichungstag im Patentblatt 13.12.2007
IPC-Hauptklasse H04L 12/56(2006.01)A, F, I, 20051017, B, H, EP

Beschreibung[de]
Gebiet der Erfindung

Die vorliegende Erfindung bezieht sich auf das Gebiet der Verfahren zur Leitwegberechnung (routing methods) für Netzwerksysteme, insbesondere auf vernetzte eingebettete Systeme (networked embedded systems), die eine Datenübertragungsplattform für mehrere Verarbeitungseinheiten bereitstellen.

Hintergrund und Stand der Technik

Die Realisierung elektrischer Steuereinheiten oder Verarbeitungseinheiten befindet sich in ständigem Wachstum innerhalb der Struktur der Automobiltechnologie, der industriellen Fertigungstechnologie sowie der Unterhaltungselektronik oder bei Haushaltsgeräten. In solchen Systemen muss eine Verarbeitungseinheit typischerweise eine bestimmte vorgegebene Funktion erfüllen. Ein aus mehreren solchen Verarbeitungseinheiten bestehendes elektronisches System wird deshalb als ein vernetztes eingebettetes System bezeichnet.

Komplexe elektronische eingebettete Systeme bestehen aus einer großen Anzahl von elektrischen Steuereinheiten, die miteinander Daten austauschen müssen. Da heutzutage in hoch entwickelten Automobilen etwa 70 Verarbeitungseinheiten vorliegen, muss eine leistungsfähige und verlässliche Datenübertragungsplattform bereitgestellt werden. Typischerweise wird sowohl die Verbindung als auch die Datenübertragung unter den Verarbeitungseinheiten mit einer Art von Netzwerk realisiert.

Ein einfaches Netzwerk, das mehrere Verarbeitungseinheiten verbindet, ist mit dem so genannten einfachen oder geraden Busnetzwerk gegeben. In dieser Netzwerktopologie kann ein Bus, der alle Verarbeitungseinheiten verbindet, als eine Gerade dargestellt werden. Der Datenaustausch zwischen den Verarbeitungseinheiten wird von einer Bussteuereinheit, die mit jeder Verarbeitungseinheit verbunden ist, verwaltet. Die Kommunikation und die Datenübertragung zwischen den Verarbeitungseinheiten werden über die Bussteuereinheiten, die Datenübertragungsrechte für den Bus anfordern, reguliert.

Eine andere gebräuchliche Netzwerktopologie ist durch ein Ringnetzwerk gegeben. Dabei kann der Bus, der mehrere Verarbeitungseinheiten verbindet, durch einen geschlossenen Ring dargestellt werden. Der Zugriff auf das Netzwerk oder den Bus wird auf dieselbe Weise gehandhabt wie für das gerade Busnetzwerk, indem Bussteuereinheiten verwendet werden.

Ein üblicher Nachteil des geraden Busnetzwerks und des Ringnetzwerks ist ihre einzelne Fehlerstelle. Falls das Netzwerk oder das Bussystem zwischen zwei beliebigen Verarbeitungseinheiten unterbrochen wird, bricht die gesamte Datenübertragung über das Netz zusammen. Außerdem ist die Bandbreite solcher gerader Bus- oder Ringnetzwerke eingeschränkt, da zu einem bestimmten Zeitpunkt immer nur eine Verarbeitungseinheit auf den Bus zugreifen kann.

In der Sternnetzwerk-Topologie steuert ein zentraler Vermittler den Zugriff auf den Bus. Der Vermittler, der mit allen Verarbeitungseinheiten verbunden ist, handhabt den Zugriff auf ein externes Bussystem sowie den Austausch von Daten unter den einzelnen Verarbeitungseinheiten. Im Gegensatz zum Ringnetzwerk oder dem geraden Busnetzwerk kann der Vermittler mehrere Verbindungen zwischen verschiedenen Verarbeitungseinheiten gleichzeitig einrichten.

Wenn eine einzelne Verarbeitungseinheit ausfällt oder irgendwie vom zentralen Vermittler getrennt wird, bleibt die Funktionalität des Sternnetzwerks erhalten. Gleichwohl umfasst das Sternnetzwerk auch eine einzelne Fehlerstelle in Form des zentralen Vermittlers. Falls der zentrale Vermittler aus irgendeinem Grund defekt ist, bricht die Datenübertragung im gesamten Netzwerk zusammen.

Üblicherweise ist jede Verarbeitungseinheit in einer Fahrzeugumgebung für einen bestimmten Zweck vorgesehen und hat verschiedene Anforderungen in Bezug auf Echtzeit-Verhalten, Datenaustauschrate, Signalübertragung und Signalverarbeitung. Typischerweise sind in einem hoch entwickelten Fahrzeug eine große Anzahl von Verarbeitungseinheiten in mehreren, aber verschiedenen Netzwerksystemen, die oben beschrieben sind, angeordnet.

Da ein Datenaustausch unter zwei Verarbeitungseinheiten, die unterschiedlichen Netzwerksystemen angehören, realisiert werden muss, sind die verschiedenen Netzwerksysteme typischerweise über Gateway-Steuereinheiten verbunden. Die Gateway-Steuereinheiten regeln den Datenaustausch zwischen unterschiedlichen Bussystemen. Die Gesamtarchitektur der Datenübertragungsplattform zwischen den Verarbeitungseinheiten kann als heterogen beschrieben werden.

Solche heterogenen Netzwerke ergeben sich aus der fortwährend lernfähigen Umsetzung unterschiedlicher Datenübertragungstechnologien in vorhandene elektronische eingebettete Systeme. Die Gateway-Steuereinheit in einem derartigen heterogenen Netzwerksystem bringt zwei Hauptnachteile mit sich. Erstens stellt sie einen Engpass für den Datenaustausch innerhalb des Netzwerks dar, und zweitens repräsentiert sie eine einzelne Fehlerstelle. Falls eine Gateway-Steuereinheit ausfällt, kann das gesamte heterogene Netzwerk zusammenbrechen.

Des Weiteren erlaubt ein heterogenes Netzwerk nur eine eingeschränkte Leitwegberechnung (routing) von Nachrichten. Das Leiten bzw. Führen eine Nachricht zwischen verschiedenen zum heterogenen Netzwerk gehörenden Bussystemen, welche z.B. verschiedene Datenübertragungsraten haben, erfordert einen erheblichen Aufwand an Neuberechnung. Die Gateway-Steuereinheiten verlangen deshalb eine beträchtliche Leistungsfähigkeit, um ein schnelles und verlässliches Berechnen des Leitweges von Nachrichten innerhalb des heterogenen Netzwerks einzurichten.

Den üblichen Nachteilen der oben beschriebenen Sternbus- und Ringbustopologie sowie der heterogenen Netzwerktopologie kann im Allgemeinen mit einem neuronalen Netzwerk begegnet werden. Solche neuronalen Netzwerke zeichnen sich durch ein autonomes Lernverhalten aus. Wenn beispielsweise eine einzelne Verarbeitungseinheit ausfällt, kann ihre allgemeine Funktionalität von den verbleibenden Verarbeitungseinheiten übernommen werden. Neuronale Netzwerke haben deshalb keine einzelne Fehlerstelle oder einen Engpass in der Leitwegstruktur von Nachrichten. Der Nachteil von neuronalen Netzwerken ist ihr enormer Bedarf an Verarbeitungsleistung sowohl an die einzelnen Verarbeitungseinheiten als auch an die große Menge der Verbindungen zwischen den einzelnen Verarbeitungseinheiten, was deshalb zu einer sehr komplizierten Netzwerkarchitektur führt. Es ist deshalb unwahrscheinlich, dass sie in naher Zukunft für kostenbeschränkte eingebettete Verarbeitungssysteme anwendbar sind.

1 zeigt schematisch ein gerades Busnetzwerksystem. Eine Verarbeitungseinheit 100 ist an eine Bussteuereinheit 102 angeschlossen, die mit dem Bus 104 verbunden ist. Der Datenaustausch zwischen verschiedenen Verarbeitungseinheiten 100 wird über die Bussteuereinheiten 102 mit dem geraden Bus 104 als Datenübertragungsplattform gesteuert. Um eine Nachricht über den Bus 104 zu übertragen, muss jede Verarbeitungseinheit 100 über die Bussteuereinheit 102 eine Berechtigung für den Bus anfordern.

1b zeigt eine ähnliche Netzwerkarchitektur in Form eines Ringbussystems. Die Verarbeitungseinheiten 110 sind an die Bussteuereinheiten 112 angeschlossen, die mit dem Ringbus 114 verbunden sind. Der Datenaustausch zwischen verschiedenen Verarbeitungseinheiten wird durch den Ringbus 114 bereitgestellt und von den Bussteuereinheiten 112 gesteuert.

1c veranschaulicht ein Blockschaltbild einer Sternnetzwerk-Topologie. Dabei sind die einzelnen Verarbeitungseinheiten 120 auch mit den Bussteuereinheiten 122 verbunden, die an einen zentralen Vermittler 124 angeschlossen sind. Abhängig von den von der Bussteuereinheit 122 ausgesendeten Anforderungen richtet der zentrale Vermittler 124 Verbindungen zwischen einzelnen Verarbeitungseinheiten ein. Diese Topologie erlaubt z.B. eine gleichzeitige Übertragung von Daten zwischen mehreren Paaren von Verarbeitungseinheiten.

1d veranschaulicht ein Blockschaltbild einer heterogenen Netzwerkstruktur. Das heterogene Netzwerk besteht aus mehreren Teilnetzwerken, die unterschiedliche Topologien aufweisen. In diesem Beispiel werden ein gerader Bus 104, ein Ringbus 144 und der zentrale Vermittler 124 eines Sternnetzwerks mit zwei Gateway-Steuereinheiten 130 und 140 miteinander verknüpft.

Falls die Verarbeitungseinheit 110, die einem Ringbus-Teilnetzwerk 114 angehört, eine Nachricht an eine Verarbeitungseinheit 100 senden möchte, die einem Teilnetzwerk 104 mit geradem Bus angehört, muss die Gateway-Steuereinheit 130 die Verbindung zwischen den beiden Teilnetzwerken einrichten sowie schließlich die Unterschiede der abweichenden Datenübertragungsprotokolle zwischen den unterschiedlichen Teilnetzwerken 104 und 114 übersetzen.

Auf dieselbe Weise stellt die Gateway-Steuereinheit 140 die Übertragung von Daten zwischen dem zentralen Vermittler 124 des Stern-Teilnetzwerks und dem Ringbusnetzwerk 114 bereit. Die Kommunikation unter den Verarbeitungseinheiten 120, die dem Sternnetzwerk angehören, und den Verarbeitungseinheiten 100, die dem geraden Busnetzwerk angehören, muss mit den beiden Gateway-Steuereinheiten 130 und 140 eingerichtet werden. Ein Austausch von Daten zwischen der Verarbeitungseinheit 100 und der Verarbeitungseinheit 120 stellt deshalb hohe Anforderungen an die Rechnerressourcen der Gateway-Steuereinheiten 130 und 140.

Die in 1a bis d dargestellten Blockschaltbilder stellen gewöhnliche Netzwerktopologien für Datenübertragungszwecke dar. Ein üblicher Nachteil dieser Netzwerke ist durch einzelne Fehlerstellen und Engpässe gegeben. Falls das Bussystem 104 bzw. 114 in 1a oder 1b unterbrochen wird, bricht die Datenübertragung des gesamten Netzwerks völlig zusammen. Wenn in 1c der zentrale Vermittler 124 ausfällt, fällt gleichermaßen das gesamte Netzwerk aus.

Wenn in 1d der gerade Bus 104 oder der Ringbus 114 oder der zentrale Vermittler 124 ausfallen, kann das betreffende Teilnetzwerk zusammenbrechen, aber der verbleibende Teil des heterogenen Netzwerks arbeitet weiterhin. Gleichwohl begrenzen auch hier die Gateway-Steuereinheiten 130 und 140 die Bandbreite der gesamten Datenübertragung im Netz und stellen Engpässe oder einzelne Fehlerstellen des heterogenen Netzwerks dar.

Die US-Patentanmeldung 2001/0036183 beschreibt ein Verfahren zum Führen von Daten über ein Netzwerk, wobei Kontakt mit einem Heimnetzwerk geschlossen wird, um die gemeldete Geoposition zu ermitteln, und wobei diese Geoposition zur Datenübertragung an die Einheit auf einem Pfad über einen Knoten verwendet wird, wobei der Knoten in dem Pfad die Geoposition liest, auf eine Liste möglicher Empfänger und deren Geopositionen zugreift, seine Lage mit den Positionen vergleicht, einen Empfänger zumindest teilweise basierend auf der Nähe des Empfängers zu der Einheit auswählt und die Daten über den besten Pfad überträgt. Schließlich wird die Einheit zum Empfänger. Eine Geoposition kann als Teil einer IP-Adresse gesendet werden. Die Geopositions-Daten können von einem GPS-Empfänger erzeugt werden. Dieses Verfahren und/oder die IP-Adresse kann in einem Verfahren des Wirtschaftslebens eingesetzt werden, in dem die Geoposition zum Identifizieren der Quelle und des Standortes zur Belieferung verwendet wird. Diese Informationen können in eine Bestellung oder in eine Empfangsbestätigung eingebettet sein.

Zusammenfassung der Erfindung

Die vorliegende Erfindung stellt eine Netzwerktopologie und ein neues Verfahren zum Führen von Nachrichten für ein vernetztes eingebettetes Computersystem bereit. Jeder Verarbeitungseinheit wird eine virtuelle Adresse zugewiesen. Die virtuelle Adresse bezieht sich typischerweise auf ein räumliches Koordinatensystem. Das Koordinatensystem kann ein-, zwei-, drei- oder mehrdimensional sein. Gemäß der Wahl des Koordinatensystems ist jede Verarbeitungseinheit mit mehreren benachbarten Verarbeitungseinheiten verbunden.

In einem idealen zweidimensionalen Koordinatensystem ist jede Verarbeitungseinheit an vier benachbarte Verarbeitungseinheiten angeschlossen, und in einem idealen dreidimensionalen Koordinatensystem ist jede Verarbeitungseinheit an sechs benachbarte Verarbeitungseinheiten angeschlossen. Die Anzahl der benachbarten Verarbeitungseinheiten in einem zwei- oder dreidimensionalen Koordinatensystem kann jedoch auch geringer als die oben erwähnten Zahlen sein. In diesem Fall muss nicht jede unter Umständen redundante Verbindung zwischen Verarbeitungseinheiten eingerichtet sein. Ferner umfasst eine Verarbeitungseinheit einen Berechnungsalgorithmus für das Führen von Nachrichten. Eine Nachricht, die an eine bestimmte Zielverarbeitungseinheit übertragen werden muss, umfasst die virtuelle Adresse der betreffenden Zielverarbeitungseinheit.

Gemäß einer bevorzugten Ausführungsform der Erfindung wird eine Nachricht zuerst von einer Verarbeitungseinheit empfangen. In einem nächsten Schritt vergleicht die Verarbeitungseinheit die virtuelle Zieladresse der Nachricht mit ihrer eigenen virtuellen Adresse. Abhängig von ihrem gespeicherten Algorithmus ermittelt die Verarbeitungseinheit eine ihrer benachbarten Verarbeitungseinheiten, die direkt an sie angeschlossen sind.

Die Ermittlung einer benachbarten Verarbeitungseinheit erfolgt anhand des räumlichen Koordinatensystems und der virtuellen Zieladresse der Nachricht, sodass die Entfernung zwischen der virtuellen Zieladresse und der virtuellen Adresse einer benachbarten Verarbeitungseinheit so klein wie möglich wird. Wenn eine benachbarte Verarbeitungseinheit ermittelt wurde, wird die Nachricht an die benachbarte Verarbeitungseinheit gesendet. Diese Prozedur wiederholt sich, solange die virtuelle Zieladresse der Nachricht nicht mit der virtuellen Adresse einer Verarbeitungseinheit übereinstimmt. Wenn schließlich die virtuelle Zieladresse der Nachricht mit der virtuellen Adresse einer Verarbeitungseinheit übereinstimmt, wird die Nachricht von der Verarbeitungseinheit bearbeitet.

Dieses Nachrichten-Leitwegberechnungsverfahren, das auf der beschriebenen Netzwerktopologie der Erfindung beruht, hat mehrere Vorteile im Vergleich zu herkömmlichen Nachrichten-Leitwegberechnungsverfahren, die auf geraden Bus-, Ringbus- oder Sternbus-Netzwerktopologien beruhen. Das Netzwerk der vorliegenden Erfindung weist weder Engpässe noch einzelne Fehlerstellen auf. Wenn in einem zwei- oder dreidimensionalen Netzwerk beispielsweise eine einzelne Verarbeitungseinheit ausfällt, kann ihre Funktionalität, Nachrichten zu leiten, von den verbleibenden Verarbeitungseinheiten bereitgestellt werden.

Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung prüft die sendende Verarbeitungseinheit, ob die empfangende Verarbeitungseinheit eine Nachricht empfangen kann. Die Nachricht wird dann von der sendenden Verarbeitungseinheit an die empfangende Verarbeitungseinheit nur übertragen, falls Letztere in der Lage ist, die Nachricht zu empfangen und zu verarbeiten.

Eine empfangende Verarbeitungseinheit kann aus mehreren Gründen gegebenenfalls nicht in der Lage sein, eine Nachricht zu empfangen oder zu verarbeiten. Sie könnte ausgelastet sein, während sie eine Nachricht verarbeitet oder eine andere Nachricht weiterleitet, oder sie könnte einfach defekt sein. In letzterem Fall antwortet sie nicht auf die Anforderung der sendenden Verarbeitungseinheit. Die Nachricht wird deshalb von der sendenden Verarbeitungseinheit nicht an diese empfangende, sondern an eine andere Verarbeitungseinheit gesendet.

Deshalb bringen sowohl die Netzwerktopologie als auch das Leitwegberechnungsverfahren der Erfindung ein autonomes Verhalten mit sich. Der Ausfall einer bestimmten Systemkomponente hat nur eine untergeordnete Auswirkung auf das gesamte Netzwerksystem. Außerdem kann der Ausfall automatisch kompensiert werden, ohne dass ein Eingriff des Teilnehmers erforderlich ist. Vor allem dieses autonome Verhalten stellt eine hohe Verlässlichkeit und eine Langzeitstabilität des gesamten Netzwerks bereit.

Die Erfindung stellt ein Verfahren zum Leiten von Nachrichten ohne eine Berechnung des vollständigen Leitweges zwischen zwei beliebigen Verarbeitungseinheiten bereit. Das gesamte Leiten von Nachrichten wird in kleine Schritte unterteilt, die von den einzelnen Verarbeitungseinheiten gehandhabt werden. Die einzelnen Verarbeitungseinheiten befassen sich nicht mit dem Gesamtablauf des Leitens von Nachrichten, sondern nur mit dem Leiten zu einem nächsten Nachbarn.

Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass die einzelnen Verarbeitungseinheiten keine Informationen über die Adressen der anderen Verarbeitungseinheiten des vernetzten eingebetteten Systems benötigen. Stattdessen benötigt eine einzelne Verarbeitungseinheit nur ihre eigene Adresse und die Adresse ihrer nächsten Nachbarn, an die sie direkt angeschlossen ist. Insbesondere erfordert das Verfahren der räumlich verknüpften Datenübertragung keinerlei Nachschlagetabelle, indem es eine Abbildung zwischen dem physischen Adressraum der einzelnen Verarbeitungseinheiten und dem auf dem ein-, zwei- oder dreidimensionalen Koordinatensystem beruhenden Adressraum bereit stellt. Die Rechnerressourcen für die Berechnung der Leitung von Nachrichten sind daher von relativ einfacher Art.

Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung können das kombinierte Leitwegberechnungsverfahren und die Netzwerktopologie der vorliegenden Erfindung universell auf eine Vielfalt von Netzwerksystemen und Datenübertragungsprotokollen angewendet werden. Den Nachrichten, die zwischen den verschiedenen Verarbeitungseinheiten transferiert werden, ist eine virtuellen Adresse für das Datenübertragungsnetzwerk zugewiesen, und sie umfassen beliebige Datenfolgen wie z.B. Nachrichten, die einem unterschiedlichen Datenübertragungsprotokoll entsprechen.

Insbesondere diese Universalität der Nachrichten macht es sehr attraktiv, Gateway-Steuereinheiten in einem heterogenen Netzwerk durch Verarbeitungseinheiten der Erfindung zu ersetzen. In einer solchen Umsetzung stellt jede Verarbeitungseinheit der Erfindung ein Teilnetzwerk dar. Ein Nachrichtenaustausch zwischen verschiedenen Teilnetzwerken wird dann verwirklicht, indem die Nachrichten der Teilnetzwerke in die Nachrichten der vorliegenden Erfindung gekapselt werden.

Gemäß einer bevorzugten Ausführungsform der Erfindung zieht das Leitverfahren für Nachrichten verschiedene Nachrichteneigenschaften in Betracht wie beispielsweise eine Nachrichtenpriorität oder eine Nachrichtendringlichkeit und unterschiedliche Anforderungen an Übertragungsarten wie z.B. synchron, asynchron oder isochron. Das Verfahren erlaubt ferner eine datenpaketvermittelte sowie eine leitungsvermittelte Übertragung von Nachrichten. In der Leitungsvermittlungs-Betriebsart wird ein Leitpfad einer Nachricht, der verschiedene Verarbeitungseinheiten verbindet, eingerichtet und aufrechterhalten, bis eine ganze Nachricht zwischen einer Quellverarbeitungseinheit und einer Zielverarbeitungseinheit übertragen wurde.

Gemäß einer anderen bevorzugten Ausführungsform der Erfindung wird das autonome Verhalten des Netzwerks verbessert. Ein möglicher Ausfall einer bestimmten Verarbeitungseinheit wird von den umgebenden, benachbarten Verarbeitungseinheiten erkannt. Als eine Folge davon reagieren die umgebenden Verarbeitungseinheiten auf diesen Ausfall und senden keine Nachrichten mehr an die bestimmte defekte Verarbeitungseinheit.

Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung kann eine Nachricht auch in eine der Zielverarbeitungseinheit entgegengesetzte Richtung geleitet werden. Dies geschieht in einer Situation, wenn eine Verarbeitungseinheit eine Nachricht an eine Zielverarbeitungseinheit senden möchte, und die Verarbeitungseinheit von vier benachbarten Verarbeitungseinheiten umgeben ist, von denen drei aus irgendeinem Grund nicht in der Lage sind, die Nachricht zu verarbeiten oder zu empfangen. Des Weiteren verläuft der kürzeste Nachrichtenpfad, um eine Zielverarbeitungseinheit zu erreichen, über eine der benachbarten Verarbeitungseinheiten, die momentan nicht verfügbar sind. In einer solchen kritischen Situation führt das Verfahren zur Ermittlung der von den benachbarten Verarbeitungseinheiten verbleibenden Einheit. Auf diese Weise ist es gewährleistet, dass die Nachricht weiter durch das Netzwerk übertragen wird, falls der kürzeste Pfad blockiert ist. Das vorliegende Leitwegberechnungsverfahren findet nicht notwendigerweise den kürzesten Weg für die Nachricht, aber abhängig von der Auslastung des Netzwerks kann eine Nachricht über eine enorme Vielfalt von alternativen, für Nachrichten geeignete Pfade geleitet werden. Je nach der vorgegebenen Situation wählt das Leitwegberechnungsverfahren automatisch den besten Pfad in Hinblick auf die momentanen allgemeinen Umstände wie z.B. Systemauslastung, Ausfall bestimmter Verarbeitungseinheiten, die Priorität von Nachrichten und die gegebene Netzwerktopologie.

Kurze Beschreibung der Zeichnungen

Im Folgenden werden bevorzugte Ausführungsformen der Erfindung ausführlicher beschrieben, indem Bezug auf die Zeichnung genommen wird, in denen

1a ein Blockschaltbild eines Netzwerkes vom Typ des geraden Bus zeigt,

1b ein Blockschaltbild eines Netzwerksystems mit einer Ringbustopologie zeigt,

1c ein Blockschaltbild einer Sternnetzwerk-Topologie zeigt,

1d ein Blockschaltbild eines heterogenen Netzwerksystems zeigt,

2a ein Blockschaltbild einer zweidimensionalen Ausführungsform der Erfindung zeigt,

2b ein Blockschaltbild einer bevorzugten Ausführungsform der Erfindung im Datenpaket-Vermittlungsmodus zeigt,

2c ein Blockschaltbild einer bevorzugten Ausführungsform der Erfindung im Leitungsvermittlungs-Modus zeigt,

3 ein Flussdiagramm des Leitwegberechnungsverfahrens für Nachrichten der Erfindung veranschaulicht,

4 ein Blockschaltbild einer von der Erfindung verarbeiteten Nachricht zeigt,

5 ein Blockschaltbild einer Verarbeitungseinheit der Erfindung zeigt,

6 ein Blockschaltbild einer Zentraleinheit einer Verarbeitungseinheit der Erfindung zeigt.

Ausführliche Beschreibung

2a zeigt eine zweidimensionale Ausführungsform der Erfindung. Die Figur veranschaulicht sechs Verarbeitungseinheiten 200, 210, 220, 230, 240 und 250, die feldartig angeordnet sind. Jede der Verarbeitungseinheiten ist Idealerweise an vier benachbarten Verarbeitungseinheiten über horizontale Verbindungen 202 und vertikale Verbindungen 204 angeschlossen. Außerdem wird jeder Verarbeitungseinheit eine virtuelle Adresse zugeteilt, die der Position der Verarbeitungseinheit in dem zweidimensionalen Feld entspricht. Die von diesen Verarbeitungseinheiten abgewickelten Nachrichten umfassen eine zweidimensionale virtuelle Adresse, die der Zielverarbeitungseinheit, an die die Nachricht übertragen werden muss, entspricht.

2b veranschaulicht dasselbe Netzwerk wie in 2a für den Fall, in dem die Verarbeitungseinheit 230 mit den räumlichen Koordinaten (0, 0) eine Nachricht an die Verarbeitungseinheit 220 mit den räumlichen Koordinaten (1, 2) senden möchte. Abhängig von der virtuellen Zieladresse der Nachricht (1, 2) und der eigenen Adresse der Verarbeitungseinheit 230 sowie abhängig von einem Berechnungsalgorithmus ermittelt die Verarbeitungseinheit 230 eine ihrer benachbarten Verarbeitungseinheiten 240 oder 200, an die die Nachricht gesendet werden muss. Vor dem Verschicken der Nachricht an eine der benachbarten Verarbeitungseinheiten 200 oder 240 prüft die Verarbeitungseinheit 230, ob die benachbarten Verarbeitungseinheiten 200 oder 240 in der Lage sind, die Nachricht zu empfangen. Angenommen, die Verarbeitungseinheit 200 ist nicht in der Lage, die Nachricht von der Verarbeitungseinheit 230 zu empfangen, und die Verarbeitungseinheit 240 kann die Nachricht von der Verarbeitungseinheit 200 empfangen, so wird die Nachricht über eine Verbindung 220 von der Verarbeitungseinheit 230 an die Verarbeitungseinheit 240 übertragen.

Nachdem die Nachricht bei der Verarbeitungseinheit 240 angekommen ist, verfährt die Verarbeitungseinheit 240 auf dieselbe Weise wie die Verarbeitungseinheit 230 im vorherigen Schritt. Abhängig von dem Berechnungsalgorithmus und der Verfügbarkeit der Verarbeitungseinheiten 210 und 250 wird die Nachricht entweder an die Verarbeitungseinheit 250 oder die Verarbeitungseinheit 210 übertragen. Die Verarbeitungseinheit 250 oder 210 verfährt auf dieselbe Weise und überträgt die Nachricht an die Zielverarbeitungseinheit 220.

Gemäß der in 2b dargestellten idealen Konfiguration sind drei verschiedene Pfade vorhanden, auf denen die Nachricht die Zielverarbeitungseinheit über zwei zwischenliegende Verarbeitungseinheiten erreicht. Bereits in dieser einfachen Konfiguration stellt das Netzwerk mehrere alternative Pfade für eine Nachricht zur Verfügung, falls eine bestimmte Verarbeitungseinheit ausgelastet oder defekt ist, oder eine Verbindung zwischen zwei beliebigen Verarbeitungseinheiten unterbrochen wird.

In einer bevorzugten Ausführungsform der Erfindung erfolgt die Ermittlung einer benachbarten Verarbeitungseinheit, an die die Nachricht übertragen werden muss, so, dass die Entfernung zur Zielverarbeitungseinheit so klein wie möglich wird.

Angenommen, die Verarbeitungseinheit 230 möchte die Nachricht an die Verarbeitungseinheit 240 senden, die die Nachricht aber nicht empfangen kann, so wählt die Verarbeitungseinheit 230 die Verarbeitungseinheit 200 als Empfänger der Nachricht aus.

Falls nun aus einem der oben genannten Gründe die Verarbeitungseinheit 200 ebenfalls nicht in der Lage ist, die Nachricht von der Verarbeitungseinheit 230 zu empfangen, ermittelt die Verarbeitungseinheit 230 eine andere ihrer vier benachbarten Verarbeitungseinheiten, an die die Nachricht gesendet werden kann. In einem solchen Fall würde die Nachricht in einer zur Zielverarbeitungseinheit 220 entgegengesetzten Richtung übertragen. So ist es sichergestellt, dass das Führen der Nachricht nicht endet, bevor die Nachricht ihre Zielverarbeitungseinheit erreicht hat.

Gemäß einer weiteren Ausführungsform der Erfindung kann die Nachricht, die zwischen der Verarbeitungseinheit 230 und der Verarbeitungseinheit 220 übertragen werden muss, einen Prioritätsbezeichner umfassen, der der Nachricht eine höchste oder Echtzeit-Priorität zuweist. Angenommen, die Verarbeitungseinheit 230 möchte die Nachricht für die Übertragung an ihre virtuelle Zieladresse an die Verarbeitungseinheit 240 senden, die momentan eine andere Nachricht mit einer geringeren Priorität von der Verarbeitungseinheit 210 empfängt. In einem solchen Fall würde die Übermittlung der Nachricht mit geringerer Priorität zugunsten der Nachricht mit höherer Priorität unterbrochen werden. Auf diese Weise stellt das Netzwerk ein Echtzeitverhalten zur Verfügung und hält die für die Leitwegberechnungsprozedur nötige Zeitdauer so gering wie möglich.

2c zeigt ein Blockschaltbild einer weiteren bevorzugten Ausführungsform der Erfindung, das einen Leitungsvermittler aufweist. Gemäß dieser idealen Ausführungsform wird ein Nachrichtenpfad eingerichtet, der mehrere Verarbeitungseinheiten zwischen der Quellverarbeitungseinheit und der Zielverarbeitungseinheit verbindet. Das Leiten der Nachricht von der Verarbeitungseinheit 230 an die Verarbeitungseinheit 220 wird mit einem Nachrichtenpfad realisiert, der die Verarbeitungseinheit 230 mit der Verarbeitungseinheit 240, die Verarbeitungseinheit 240 mit der Verarbeitungseinheit 250 und die Verarbeitungseinheit 250 mit der Verarbeitungseinheit 220 verbindet.

Der so eingerichtete Datenübertragungspfad wird durch die dicken Pfeile 260, 262 und 264 angegeben. In diesem Modus der Leitungsvermittlung wird die Verbindung 260 zwischen den Verarbeitungseinheiten 230 und 240 eingerichtet, bis die Verarbeitungseinheit 230 einen Freigabebezeichner von der Zielverarbeitungseinheit 220 empfängt. Dasselbe gilt für die Verarbeitungseinheiten 240 und 250.

Die Zeichnungen in den Fig. (a) bis (c) stellen ideale Umsetzungen eines zweidimensionalen Netzwerks nach der vorliegenden Erfindung dar. Andere Umsetzungen, in denen nicht jede Verbindung zwischen benachbarten Verarbeitungseinheiten besteht, sind alternativ ausführbar, um Kosten zu senken und die Wirtschaftlichkeit des Herstellungsprozesses zu steigern.

3 stellt ein Flussdiagramm für den von einer einzelnen Verarbeitungseinheit ausgeführten Leitwegberechnungsalgorithmus dar. In einem ersten Schritt 300 wird die Nachricht von der Verarbeitungseinheit analysiert. Im Schritt 300 wird zumindest der Ursprung der Nachricht, das Ziel der Nachricht und schließlich ein bestimmter Nachrichtentyp aus dem Nachrichtenvorsatz erzeugt. In Schritt 302 wird die virtuelle Zieladresse der Nachricht mit der virtuellen Adresse der Verarbeitungseinheit verglichen. Falls in Schritt 302 die virtuelle Adresse der Nachricht mit der virtuellen Adresse der Verarbeitungseinheit übereinstimmt, wird die Nachricht von der Verarbeitungseinheit in Schritt 304 verarbeitet.

Falls in Schritt 302 eine virtuelle Zieladresse der Nachricht nicht mit der virtuellen Adresse der Verarbeitungseinheit der Nachricht übereinstimmt, wird die Nachricht in Schritt 306 weiterverarbeitet. In Schritt 306 werden die Nachrichtenpriorität und der Nachrichtentyp ermittelt. Dann fährt das Verfahren mit Schritt 308 fort, in dem eine Nachrichtenübertragung berechnet wird. Gemäß der berechneten Übertragung der Nachricht wird im folgenden Schritt 310 eine benachbarte Verarbeitungseinheit ermittelt. Das Verfahren fährt dann mit Schritt 312 fort. In Schritt 312 prüft das Verfahren, ob die ermittelte benachbarte Verarbeitungseinheit aus Schritt 310 die Nachricht empfangen kann.

Falls in Schritt 312 die ermittelte benachbarte Verarbeitungseinheit die Nachricht empfangen kann, wird die Nachricht anschließend in Schritt 314 an sie gesendet. Falls in Schritt 312 die benachbarte Verarbeitungseinheit keine Nachricht empfangen kann, so kehrt das Verfahren zu Schritt 310 zurück und ermittelt eine andere benachbarte Verarbeitungseinheit.

4 stellt ein Blockschaltbild der Nachricht 400 dar, die durch die Verarbeitungseinheit der vorliegenden Erfindung übertragen und verarbeitet wird. Die Nachricht 400 besteht aus drei verschiedenen Teilen: ein Nachrichtenvorsatz 402, ein Datenpaket 404 und ein Nachrichtenanhang 406. Der Nachrichtenvorsatz 402 umfasst eine virtuelle Zieladresse, eine virtuelle Quelladresse, einen Prioritätsbezeichner und einen Bezeichner der Übertragungsart, der angibt, ob die Nachricht synchron, asynchron oder isochron übertragen wird, und ob die Nachricht in einem paketvermittelten oder leitungsvermittelten Modus übertragen werden soll. Weiterhin definiert der Nachrichtenvorsatz auch eine maximal zulässige Latenzzeit, die ein Zeitintervall definiert, innerhalb dessen eine benachbarte Verarbeitungseinheit eine Anforderung einer Verarbeitungseinheit beantworten muss, um als zum Empfangen einer Nachricht fähig identifiziert zu werden.

Das Datenpaket 404 umfasst eine beliebige Datenfolge. Diese beliebige Datenfolge kann einer gekapselten Originalnachricht entsprechen, die zu einem anderen Teilnetzwerk mit einem abweichenden Datenübertragungsprotokoll gehört. Schließlich gibt der Anhang der Nachricht 406 das Ende der Nachricht an.

5 zeigt ein Blockschaltbild einer Verarbeitungseinheit in der zweidimensionalen Ausführungsform, wie sie in 2a dargestellt ist. Die Verarbeitungseinheit 500 besteht Idealerweise aus vier verschiedenen Anschlüssen 502, einer Zentraleinheit 506 sowie vier Verbindungen 508 zwischen der Zentraleinheit 506 und jeder der vier Anschlüsse 502. Jeder Anschluss 502 hat eine Verbindung 504 zu einer benachbarten Verarbeitungseinheit. Zwar stellt eine solche Konfiguration einen Idealfall dar, es sind jedoch auch alternative Ausführungsformen möglich, in denen nicht zu jedem nächsten Nachbarn eine Verbindung vorhanden ist. In einem solchen Fall umfasst die Verarbeitungseinheit 500 eine Anzahl von Anschlüssen 502, die der Anzahl der nächsten Nachbarn entspricht, an die die Verarbeitungseinheit 500 direkte angeschlossen ist.

6 zeigt ein Blockschaltbild einer Zentraleinheit. Die Zentraleinheit 600 umfasst eine Steuereinheit 602, einen Vermittler 604, mehrere Verbindungen zu den Anschlüssen 606, einen Nachrichtenumformer 608, ein Steuerungsspeicher-Modul 610, eine Nachschlagetabelle 612 sowie ein Parameterregister-Modul 614 und ein Register 616. Die Verbindungen zu den Anschlüssen 606, welche die Zentraleinheit 600 mit den Anschlüssen der Verarbeitungseinheiten verbinden, sind an den Vermittler 604 angeschlossen. Der Vermittler 604 ist an den Nachrichtenumformer 608 über eine bidirektionale Verbindung angeschlossen. Der Nachrichtenumformer 608 ist an die Steuereinheit 602 über eine bidirektionale Verbindung und die Steuereinheit 602 an den Vermittler 604 über eine unidirektionale Verbindung angeschlossen. Die Steuereinheit 602 ist ferner über eine bidirektionale Verbindung an das Parameterregister-Modul 614 angeschlossen. Die Nachschlagetabelle 612 ist bidirektional mit der Steuereinheit 602 verbunden, und die Steuereinheit 610 ist unidirektional mit der Steuereinheit 602 verbunden. Wenn eine Nachricht in der Zentraleinheit 600 durch den Vermittler 604 empfangen wurde, wird sie an den Nachrichtenumformer 608 geleitet. Der Nachrichtenumformer 608 decodiert die virtuelle Adresse der Nachricht und leitet die decodierten Daten weiter an die Steuereinheit 602.

Die Steuereinheit 602 führt eine Entscheidungsprozedur zum Führen der Nachricht mit Hilfe eines Berechnungsalgorithmus aus, der im Steuerspeicher-Modul 610 gespeichert vorliegt. Abhängig von der virtuellen Adresse der Verarbeitungseinheit, die im Register 616 gespeichert ist, ermittelt die Steuereinheit 602 eine benachbarte Verarbeitungseinheit, an die die Nachricht gesendet werden muss. Gemäß dieser Ermittlung weist die Steuereinheit 602 den Vermittler 604 an, die entsprechende Verbindung zu dem zugehörigen Anschluss zu einzurichten. Die Nachricht wird dann über den Nachrichtenumformer 608 übertragen, und der Vermittler 604 richtet eine Verbindung mit dem zugehörigen Anschluss und schließlich mit der zugehörigen benachbarten Verarbeitungseinheit ein.

Die Nachschlagetabelle 612 ist ein optionales Ausstattungsmerkmal, wenn die Verarbeitungseinheit zusätzlich an ein anderes nicht räumlich verknüpftes Teilnetzwerk angeschlossen ist, das z.B. auf einem CAN-Bus oder LIN-Bus beruht. Die Nachschlagetabelle 612 zur Zuordnung von früheren Adressen, die an die Steuereinheit 602 angeschlossen ist, speichert eine Tabelle zur Adressübersetzung für die Konvertierung der virtuellen Adressen und den möglicherweise beteiligten, nicht räumlich verknüpften physischen Adressen der einzelnen Verarbeitungseinheiten sowie von Verarbeitungseinheiten, die zu einem Teilnetzwerk gehören.

Das Register 616 ist im Gegensatz dazu ein wesentliches Ausstattungsmerkmal der Zentraleinheit 600, da es die mit dem virtuellen Raum verknüpften Adressen der Verarbeitungseinheit speichert, was zum Leiten der Nachrichten erforderlich ist. Vorzugsweise ist das Register 616 als nichtflüchtiger Speicher ausgeführt.

Das Parameterregister-Modul 614, das bidirektional an die Steuereinheit 602 angeschlossen ist, speichert die Parameter des Nachrichtenzustands und des Nachrichtentyps, die für den von der Steuereinheit 602 zum Führen der Nachricht ausgeführten Algorithmus erforderlich sind.

100
Verarbeitungseinheit
102
Bussteuereinheit
104
Netzwerk
110
Verarbeitungseinheit
112
Bussteuereinheit
114
Ringnetzwerk
120
Verarbeitungseinheit
122
Bussteuereinheit
124
zentraler Vermittler
130
Gateway-Steuereinheit
140
Gateway-Steuereinheit
200
Verarbeitungseinheit
202
Verbindung
204
Verbindung
210
Verarbeitungseinheit
220
Verarbeitungseinheit
230
Verarbeitungseinheit
240
Verarbeitungseinheit
250
Verarbeitungseinheit
260
Verbindung
262
Verbindung
264
Verbindung
400
Nachricht
402
Nachrichtenvorsatz
404
Datenpaket
406
Anhang der Nachricht
500
Verarbeitungseinheit
502
Port
504
Verbindung
506
Zentraleinheit
508
Verbindung
600
Zentraleinheit
602
Steuereinheit
604
Vermittler
606
Verbindung
608
Nachrichtenumformer
610
Steuerspeicher-Modul
612
Nachschlagetabelle
614
Parameterregister-Modul
616
Register


Anspruch[de]
Verfahren zum Leiten einer Nachricht innerhalb eines vernetzten eingebetteten Systems durch eine erste Verarbeitungseinheit (200) des vernetzten eingebetteten Systems, wobei die Verarbeitungseinheit wenigstens einen ersten und einen zweiten Anschluss (502) besitzt und ihr eine erste virtuelle Adresse zugeteilt ist, die sich auf ein räumliches Koordinatensystem bezieht, wobei das Verfahren die folgenden Schritte umfasst:

(a) Empfangen einer Nachricht (400) mit einem ersten Prioritätsbezeichner durch den ersten Port (502), wobei die Nachricht (400) eine zweite virtuelle Zieladresse umfasst, die sich auf das räumliche Koordinatensystem bezieht,

(b) Vergleichen der ersten und zweiten virtuellen Adresse,

(c) Verarbeiten der Nachricht (400) durch die erste Verarbeitungseinheit (200), falls die erste Adresse mit der zweiten Adresse übereinstimmt,

(d) Ermitteln einer dritten virtuellen Adresse, die einer zweiten Verarbeitungseinheit (210) des vernetzten eingebetteten Systems entspricht, welche an die erste Verarbeitungseinheit (200) über einen ersten und/oder den zweiten Anschluss (502) angeschlossen ist, wobei sich die dritte virtuelle Adresse von der zweiten virtuellen Adresse um weniger unterscheidet, als sich die erste virtuelle Adresse von der zweiten virtuellen Adresse unterscheidet, falls die erste virtuelle Adresse von der zweiten virtuellen Adresse abweicht,

(e) Senden der Nachricht (400) über einen ersten und/oder zweiten Anschluss (502) an die zweite Verarbeitungseinheit (210) entsprechend der dritten virtuellen Adresse, falls die erste virtuelle Adresse nicht mit der zweiten virtuellen Adresse übereinstimmt, und Unterbrechen der Übermittlung oder der Verarbeitung einer zweiten Nachricht, falls die zweite Verarbeitungseinheit (210) momentan die zweite Nachricht mit einem zweiten Prioritätsbezeichner überträgt oder verarbeitet und falls die Priorität der zweiten Nachricht geringer als die Priorität der ersten Nachricht ist,

(e') Wiederholen der Schritte (a) bis (e) mit der zweiten Verarbeitungseinheit (210) als erste Verarbeitungseinheit (200), nachdem die Nachricht an die zweite Verarbeitungseinheit (210) gesendet wurde, bis die virtuelle Adresse der ersten Verarbeitungseinheit mit der virtuellen Zieladresse der Nachricht übereinstimmt.
Verfahren nach Anspruch 1, wobei die von der ersten Verarbeitungseinheit (200) an die zweite Verarbeitungseinheit (210) übertragene Nachricht (400) Folgendes umfasst:

(f) einen Vorsatz (402), der die virtuelle Zieladresse umfasst,

(g) ein Datenpaket (404), das eine beliebige Datenfolge enthält, die eine zweite Nachricht von beliebigem Nachrichtentyp bzgl. eines beliebiges Netzwerksystems darstellt,

(h) ein Anhang (406), der einen Bezeichner zur Bestimmung des Endes der Nachricht (400) umfasst.
Verfahren nach Anspruch 2, wobei die erste Verarbeitungseinheit (200) zur Verfügung steht, die erste Nachricht über den ersten Anschluss (502) zu empfangen, wenn:

(i) keine andere Nachricht (400) momentan über die erste Verarbeitungseinheit (200) übertragen wird,

(j) die erste Verarbeitungseinheit (200) auf eine Verfügbarkeitsanforderung innerhalb einer vorgegebenen Latenzzeit antwortet, bevor die Nachricht (400) von der ersten Verarbeitungseinheit (200) empfangen wird,

(k) die Priorität der ersten Nachricht (400) höher ist, als die Priorität einer zweiten Nachricht, die momentan von der ersten Verarbeitungseinheit (200) übertragen oder verarbeitet wird.
Verfahren nach Anspruch 3, wobei das Senden der Nachricht (400) abgehend von der ersten Verarbeitungseinheit (200) ferner die folgenden Schritte umfasst:

(l) Ermitteln, ob die zweite benachbarte Verarbeitungseinheit (210) zum Empfangen der Nachricht (400) von der ersten Verarbeitungseinheit (200) verfügbar ist, bevor die Nachricht (400) von der ersten Verarbeitungseinheit (200) an die zweite Verarbeitungseinheit (210) gesendet wird,

(m) Senden der Nachricht (400) von der ersten Verarbeitungseinheit (200) an die zweite Verarbeitungseinheit (210), falls die zweite Verarbeitungseinheit (210) zum Empfangen der Nachricht (400) verfügbar ist,

(n) Ermitteln, ob eine dritte benachbarte Verarbeitungseinheit (230), die mit der ersten Verarbeitungseinheit verbunden ist, zum Empfangen der Nachricht (400) von der ersten Verarbeitungseinheit (200) verfügbar ist, falls die zweite Verarbeitungseinheit (210) nicht zur Verfügung steht, sodass sich die virtuelle Adresse der dritten Verarbeitungseinheit (230) von der virtuellen Adresse der Nachricht (400) um weniger unterscheidet, als sich die Adresse der ersten Verarbeitungseinheit (200) von der virtuellen Adresse der Nachricht (400) unterscheidet,

(o) Senden der Nachricht (400) von der ersten Verarbeitungseinheit (200) an die dritte Verarbeitungseinheit (230), falls die dritte Verarbeitungseinheit (230) zum Empfangen der Nachricht (400) verfügbar ist,

(p) Zurückkehren zu Schritt (n) mit einer anderen benachbarten Verarbeitungseinheit, die mit der ersten Verarbeitungseinheit verbunden ist, als dritter Verarbeitungseinheit, falls die dritte Verarbeitungseinheit (230) nicht zum Empfangen der Nachricht verfügbar ist.
Verfahren nach Anspruch 3 oder 4, das ferner das Ermitteln einer vierten, mit der ersten Verarbeitungseinheit (200) verbundenen Verarbeitungseinheit umfasst, sodass sich die virtuelle Adresse der vierten Verarbeitungseinheit von der virtuellen Adresse der Nachricht (400) um mehr unterscheidet, als sich die virtuelle Adresse der ersten Verarbeitungseinheit (200) von der virtuellen Adresse der Nachricht unterscheidet, falls weder die zweite noch die dritte benachbarte Verarbeitungseinheiten (210, 230) mit einer entsprechenden virtuellen Adresse verfügbar ist, welche sich von der virtuellen Adresse der Nachricht (400) um weniger unterscheidet, als sich die virtuelle Adresse der ersten Verarbeitungseinheit (200) von der virtuellen Adresse der Nachricht (400) unterscheidet. Verfahren nach einem der vorangehenden Ansprüche 1 bis 5, wobei für den Fall, dass die erste Nachricht (400) mit dem ersten Prioritätsbezeichner von der ersten Verarbeitungseinheit (200) an die zweite Verarbeitungseinheit (210) übertragen werden muss, während Letztere momentan die zweite Nachricht mit dem zweiten Prioritätsbezeichner überträgt oder verarbeitet, das Verfahren ferner die Unterbrechung der Übertragung oder Verarbeitung der zweiten Nachricht mit dem zweiten Prioritätsbezeichner umfasst und die Übertragung der ersten Nachricht (400) an die zweite Verarbeitungseinheit (210) einleitet, falls die Priorität der zweiten Nachricht geringer ist als die Priorität der ersten Nachricht (400). Verfahren nach einem der vorangehenden Ansprüche 1 bis 6, das ferner einen Nachrichtenpfad (260, 262, 264) in dem Datenübertragungsnetzwerk mit der Quellverarbeitungseinheit (230) als ein Startpunkt und der Zielverarbeitungseinheit (220) als ein Endpunkt einrichtet, wobei der Nachrichtenpfad (260, 262, 264) eine Vielzahl von Verarbeitungseinheiten (230, 240, 250, 220) verbindet, und das Verfahren folgende Schritte umfasst:

(q) Übertragen des Vorsatzes der Nachricht (402) von der ersten Verarbeitungseinheit (230) an die zweite Verarbeitungseinheit (240) und Aufrechterhalten der Verbindung (260) zwischen der ersten und der zweiten Verarbeitungseinheit, bis die erste Verarbeitungseinheit (230) einen Freigabebezeichner von der zweiten Verarbeitungseinheit (240) empfängt,

(r) Wiederholen des Schrittes (q) mit der zweiten Verarbeitungseinheit (240) als erste Verarbeitungseinheit, bis die virtuelle Adresse der ersten Verarbeitungseinheit mit der virtuellen Zieladresse der Nachricht (400) übereinstimmt, womit ein Nachrichtenpfad (260, 262, 264) einrichtet wird, der aus einer Vielzahl von Verarbeitungseinheiten (230, 240, 250, 220) besteht und die Quellverarbeitungseinheit (230) mit der Zielverarbeitungseinheit (220) verbindet,

(s) Senden eines Startbezeichners abgehend von der Zielverarbeitungseinheit (220) an die Quellverarbeitungseinheit (230) über den eingerichteten Nachrichtenpfad (260, 262, 264), wenn der Nachrichtenvorsatz (402) die Zielverarbeitungseinheit (220) erreicht hat,

(t) Übertragen des Datenpakets (404) der Nachricht (400) von der ersten Verarbeitungseinheit (230) über den eingerichteten Nachrichtenpfad (260, 262, 264), wenn der Startbezeichner die Quellverarbeitungseinheit (230) erreicht hat,

(u) Übermitteln eines Freigabebezeichners von der Zielverarbeitungseinheit (220) an die Quellverarbeitungseinheit (230) über einen Nachrichtenpfad (260, 262, 264), nachdem die Nachricht (400) an die Zielverarbeitungseinheit (220) übertragen wurde, womit die einzelnen Verarbeitungseinheiten aus der Vielzahl der Verarbeitungseinheiten (230, 240, 250, 220), die den Nachrichtenpfad (260, 262, 264) bilden, freigegeben werden.
Verfahren nach einem der vorangehenden Ansprüche 1 bis 7, das ferner die folgenden Schritte umfasst:

(v) Identifizieren der zweiten Verarbeitungseinheit (210) als eingeschränkt betreibbar, wenn die zweite Verarbeitungseinheit (210) zum Empfangen der Nachricht (400) von der ersten Verarbeitungseinheit (200) für mehrere vorgegebene Zeiträume nicht verfügbar war,

(w) Ermitteln einer dritten Verarbeitungseinheit (220) anstelle der zweiten Verarbeitungseinheit (210) zum Empfangen der Nachricht (400) von der ersten Verarbeitungseinheit (200), wenn die zweite Verarbeitungseinheit (210) als eingeschränkt betreibbar identifiziert wurde.
Verarbeitungseinheit (200; 500) eines vernetzten eingebetteten Systems zum Leiten einer Nachricht (400), wobei die Einheit Folgendes umfasst:

(a) wenigstens einen ersten und einen zweiten Anschluss (502), der die Verarbeitungseinheit (200; 500) mit wenigstens einer zweiten (210) und einer dritten (220) benachbarten Verarbeitungseinheit verbindet,

(b) Mittel zum Empfangen einer ersten Nachricht (400) mit einem ersten Prioritätsbezeichner über den ersten und den zweiten Anschluss (502), wobei die erste Nachricht eine zweite virtuelle Zieladresse enthält, die sich auf ein räumliches Koordinatensystem bezieht,

(b') Mittel zur Unterbrechung der Übermittlung oder der Verarbeitung einer zweiten Nachricht mit einem zweiten Prioritätsbezeichner, falls die Priorität der zweiten Nachricht, die vom zweiten Prioritätsbezeichner angegeben wird, geringer ist als die Priorität der ersten Nachricht, die vom ersten Prioritätsbezeichner angegeben wird,

(c) eine erste virtuelle Adresse, die sich auf ein räumliches Koordinatensystem bezieht,

(c') Mittel zum Vergleich der zweiten virtuellen Zieladresse mit der ersten virtuellen Adresse,

(d) eine Zentraleinheit (506; 600) zum Verarbeiten der ersten Nachricht (400), falls die zweite virtuelle Zieladresse mit der ersten virtuellen Adresse übereinstimmt,

(e) die Zentraleinheit (506; 600), die ferner einen Vermittler (604) umfasst, das den ersten und/oder zweiten Port (502) mit einer Steuereinheit (602) verbindet, welche die empfangene Nachricht (400) verarbeitet, mit der zweiten und/oder dritten benachbarten Verarbeitungseinheit (210, 220) verhandelt und diese auf Verfügbarkeit prüft, eine einzelne der der zweiten und/oder dritten benachbarten Verarbeitungseinheit (210, 220) ermittelt, falls die zweite virtuelle Zieladresse nicht der ersten virtuellen Adresse entspricht, sodass sich die entsprechende virtuelle Adresse der ermittelten Verarbeitungseinheit um weniger von der zweiten virtuellen Adresse der Nachricht unterscheidet, als sich die erste virtuelle Adresse von der zweiten virtuellen Adresse der Nachricht (400) unterscheidet, und die Nachricht (400) an die ermittelte Verarbeitungseinheit über den Vermittler (604) sendet.
Verarbeitungseinheit nach Anspruch 9, wobei die Zentraleinheit (506; 600) ferner Folgendes umfasst:

(g) einen Nachrichtenumformer (608), der den Vermittler (604) und die Steuereinheit (602) zur Decodierung und/oder Codierung der virtuellen Zieladresse einer Nachricht (400) verbindet,

(h) ein Steuerspeicher-Modul (610), das an die Steuereinheit (602) angeschlossen ist, welches einen Algorithmus für eine Entscheidungsprozedur speichert, die von der Steuereinheit ausgeführt wird (602),

(i) eine mit der Steuereinheit verbundene Nachschlagetabelle (612), die eine Tabelle zur Adressübersetzung für die Umsetzung von Stammadressen von Teilnetzwerken, die mit der Verarbeitungseinheit (500) verbunden sind, und die Umsetzung von virtuellen Adressen und physischen Adressen von zumindest den ersten, zweiten und dritten Verarbeitungseinheiten (200, 210, 220) speichert,

(j) ein Register (616) zur nichtflüchtigen Speicherung der virtuellen Adresse der Verarbeitungseinheit (500),

(k) ein Parameter-Registermodul (614), das an die Steuereinheit (602) angeschlossen ist und Zustandsparameter der Nachricht speichert.
Netzwerk-Datenübertragungssystem zum Übermitteln einer Nachricht (400) von einer Quellverarbeitungseinheit (200) an eine Zielverarbeitungseinheit (210), wobei die Nachricht die virtuelle Adresse einer Quellverarbeitungseinheit (200) und die virtuelle Adresse einer Zielverarbeitungseinheit (210) umfasst, und das Netzwerk Folgendes umfasst:

(a) eine erste Vielzahl von Verarbeitungseinheiten, die das Netzwerk (200, 210, 220, 230, ...) festlegen, worin jede Verarbeitungseinheit (200) mit einer zweiten Vielzahl von benachbarten Verarbeitungseinheiten (210, 230) so verbunden ist, dass die zweite Vielzahl von benachbarten Verarbeitungseinheiten eine Teilmenge der ersten Vielzahl von Verarbeitungseinheiten ist, und jeder Verarbeitungseinheit eine eindeutige virtuelle Adresse bzgl. eines räumlichen Koordinatensystems zugeteilt wird,

(b) ein Mittel zum Vergleichen der virtuellen Zieladresse einer Nachricht (400), welche einen Prioritätsbezeichner zur Bestimmung der Nachrichtenpriorität umfasst, mit einer ersten virtuellen Adresse einer ersten Verarbeitungseinheit (200) unter der ersten Vielzahl von Verarbeitungseinheiten (200, 210, 220, 230, ...),

(c) ein Mittel zur Ermittlung einer zweiten Verarbeitungseinheit (210) unter der zweiten Vielzahl von Verarbeitungseinheiten (210, 230) so, dass sich die entsprechende virtuelle Adresse der zweiten Verarbeitungseinheit (210) um weniger von der zweiten virtuellen Adresse der Nachricht (400) unterscheidet, als sich die erste virtuelle Adresse von der zweiten virtuellen Adresse der Nachricht unterscheidet.

(d) ein Mittel zur Prüfung der Verfügbarkeit der zweiten Verarbeitungseinheit (210),

(e) ein Mittel zur Übertragung der Nachricht von der ersten (200) an die zweite Verarbeitungseinheit (210),

(e') ein Mittel zur Unterbrechung der Übertragung oder Verarbeitung einer zweiten Nachricht, die von der zweiten Verarbeitungseinheit bearbeitet wird, falls die zweite Nachricht einen zweiten Prioritätsbezeichner enthält, der eine geringere Priorität als die Priorität der ersten Nachricht vorgibt.
Netzwerk-Datenübertragungssystem nach Anspruch 11, wobei die Nachricht (400) Folgendes beinhaltet:

(f) einen Vorsatz (402), der eine virtuelle Zieladresse und die virtuelle Quelladresse der Nachricht enthält, einen Bezeichner, der die Übertragungsart der Nachricht festlegt, und einen Bezeichner, der die maximal zulässige Latenzzeit festlegt,

(g) ein Datenpaket (404), welches eine beliebige Datenfolge enthält und eine andere Nachricht von beliebigem Nachrichtentyp bzgl. eines beliebigen Netzwerksystems darstellt,

(h) ein Anhang (406), der einen Bezeichner zur Festlegung des Endes des Nachricht enthält.
Netzwerk-Datenübertragungssystem nach Anspruch 11 oder 12, das ferner Folgendes umfasst:

(i) ein Mittel zur Ermittlung, ob die zweite benachbarte Verarbeitungseinheit (210) zum Empfangen der Nachricht von der ersten Verarbeitungseinheit (200) verfügbar ist, bevor die Nachricht (400) von der ersten Verarbeitungseinheit (200) an die zweite Verarbeitungseinheit (210) gesendet wird,

(j) ein Mittel zur Ermittlung, ob eine dritte benachbarte Verarbeitungseinheit (230), die mit der ersten Verarbeitungseinheit verbunden ist, verfügbar ist, um die Nachricht (400) von der ersten Verarbeitungseinheit (200) zu empfangen, falls die zweite Verarbeitungseinheit (210) nicht zur Verfügung steht, sodass die virtuelle Adresse der dritten Verarbeitungseinheit (230) um weniger von der virtuellen Adresse der Nachricht abweicht, als die virtuelle Adresse der ersten Verarbeitungseinheit von der virtuellen Adresse der Nachricht abweicht.
Computerprogramm-Produkt für ein Netzwerk-Datenübertragungssystem, das Computerprogramm-Mittel zum Senden von Nachrichten von einer Quellverarbeitungseinheit (200) an eine Zielverarbeitungseinheit (220) enthält, wobei die folgenden Schritte ausgeführt werden:

(a') Unterbrechen der Übermittlung oder Verarbeitung einer zweiten Nachricht mit einem zweiten Prioritätsbezeichner, falls der zweite Prioritätsbezeichner eine Priorität angibt, die geringer ist, als die von einem ersten Prioritätsbezeichner angegebene,

(a) Vergleichen einer virtuellen Zieladresse der Nachricht (400) mit einem ersten Prioritätsbezeichner, wobei die virtuelle Zieladresse die virtuelle Adresse der Zielverarbeitungseinheit (220) ist, mit der virtuellen Adresse einer ersten Verarbeitungseinheit (210),

(b) Verarbeiten der Nachricht durch die erste Verarbeitungseinheit (200), falls die virtuelle Zieladresse der Nachricht (400) mit der virtuellen Adresse der ersten Verarbeitungseinheit (200) übereinstimmt,

(c) Ermitteln eines ersten Differenzvektors, der die Entfernung zwischen der virtuellen Adresse der ersten Verarbeitungseinheit (200) und der virtuellen Zieladresse der Nachricht (400) umfasst, falls die virtuelle Zieladresse der Nachricht nicht mit der virtuellen Adresse der ersten Verarbeitungseinheit (200) übereinstimmt,

(d) Ermitteln einer zweiten Verarbeitungseinheit (210) unter den zur ersten Verarbeitungseinheit (200) benachbarten Verarbeitungseinheiten, an die die Nachricht (400) übertragen wird, sodass ein zweiter Differenzvektor zwischen der virtuellen Adresse der zweiten Verarbeitungseinheit (210) und der virtuellen Zieladresse eine kleinere Norm hat, als der erste Differenzvektor,

(e) Wiederholen der Schritte (a) bis (d) mit der zweiten Verarbeitungseinheit (210) als erste Verarbeitungseinheit, bis die virtuelle Adresse der ersten Verarbeitungseinheit mit der virtuellen Zieladresse der Nachricht (400) übereinstimmt und die Nachricht wie in Schritt (b) angegeben bearbeitet wird.
Computerprogramm-Produkt nach Anspruch 14, das ferner Computerprogramm-Mittel zu den folgenden Zwecken umfasst:

(a) Berechnen einer Vielzahl von Differenzvektoren zwischen der virtuellen Zieladresse der Nachricht (400) und der Vielzahl von virtuellen Adressen aller benachbarter Verarbeitungseinheiten (210, 230), die mit der ersten Verarbeitungseinheit (200) verbunden sind,

(b) Vergleichen der Differenzvektoren und Ermitteln eines dritten Differenzvektors unter der Vielzahl von Differenzvektoren mit der kleinsten Norm,

(c) Ermitteln einer dritten Verarbeitungseinheit (230), die zu dem dritten Differenzvektor gehört,

(c) Ermitteln eines weiteren Differenzvektors mit der zweitkleinsten Norm unter der Vielzahl von Differenzvektoren und seine betreffende Verarbeitungseinheit, falls die dritte Verarbeitungseinheit (230) nicht zur Verfügung steht,

(d) Ermitteln eines weiteren Differenzvektors mit der zweitkleinsten Norm unter der Vielzahl von Differenzvektoren sowie dessen zugehörige Verarbeitungseinheit, falls die dritte Verarbeitungseinheit (230) nicht verfügbar ist,

(e) Wiederholen von Schritt (d) mit dem nächstkleinsten Differenzvektor, bis die zugehörige Verarbeitungseinheit verfügbar ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com