-
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