-
Die Erfindung betrifft drahtlose Datenverbindungen, welche z.B. zwischen einem Endgerät und einer Gegenstelle in einem Mobilfunknetz betrieben werden. Insbesondere betrifft die Erfindung eine Verteilung eines Datenpakets auf eine Vielzahl von derartigen Datenverbindungen oder Kommunikationskanälen.
-
Fahrzeuge verfügen zumindest in einigen Fällen über eine Vielzahl von Funkdatenverbindungen oder Kommunikationskanälen. Beispielsweise durch die Bewegung des Fahrzeugs stehen die Kommunikationskanäle nicht kontinuierlich zur Verfügung, sondern das Fahrzeug kann in ein sogenanntes „Funkloch“ geraten, so dass in diesen Fällen zumindest eine der Kommunikationskanäle nicht mehr zur Verfügung stehen und/oder ausgefallen sein kann. Ein Datenpaket, das zu einem dieser ausgefallenen Kommunikationskanäle gesandt wird, kann, je nach Strategie des verwendeten Protokolls, z.B. noch einmal (oder mehrmals) gesendet oder verworfen werden; dies kann zu einer unnötigen Belastung des Kommunikationssystems und/oder zu zusätzlichen Verzögerungen bei der Übertragung dieser oder anderer (z.B. nachfolgender) Datenpakete führen. Die Strategie, wie bei einem ausgefallenen Kommunikationskanal zu verfahren ist, ist also Protokoll-gebunden und nicht - z.B. in Abhängigkeit von der Art des Kommunikationskanals und/oder des Datenpakets - wählbar.
-
Es ist Aufgabe der Erfindung, ein Verfahren zur Verfügung zu stellen, bei dem die Reaktion auf einen ausgefallenen Kommunikationskanal nicht nur von dem Protokoll des Kommunikationskanals abhängig ist.
-
Ein Aspekt der Erfindung betrifft ein Verfahren zur Verteilung eines Datenpakets auf eine Vielzahl von Kommunikationskanälen eines Fahrzeugs, mit den Schritten:
- - Empfangen des Datenpakets von einem Kommunikations-Endpunkt, wobei das Datenpaket zu einem ersten Kommunikationskanal und zu einem zweiten Kommunikationskanal zugeordnet ist;
- - Wenn eine vordefinierte Bedingung erfüllt ist, senden des Datenpakets zu dem ersten Kommunikationskanal;
- - Wenn die vordefinierte Bedingung nicht erfüllt ist, senden des Datenpakets zu dem zweiten Kommunikationskanal,
wobei die vordefinierte Bedingung von dem Datenpaket und/oder von einem Status des ersten Kommunikationskanals abhängig ist.
-
Das Datenpaket oder eine Vielzahl von Datenpaketen kommuniziert von einem Kommunikations-Endpunkt, der beispielsweise in dem Fahrzeug angeordnet sein kann. Das Kommunizieren beinhaltet, das Datenpaket zu empfangen. Das Kommunizieren kann auch ein Signalisieren umfassen. Der Kommunikations-Endpunkt kann ein einzelner Kommunikations-Endpunkt sein, beispielsweise ein Telefon, eine Haupteinheit (Head Unit), z.B. in einem Infotainmentsystem, eine IoT-fähige Einheit (loT: Internet of Things) und/oder ein anderer Kommunikations-Endpunkt und/oder eine Vielzahl von Kommunikations-Endpunkten. Der Kommunikations-Endpunkt und/oder eine Vorrichtung, die mit dem Kommunikations-Endpunkt verbunden ist, kann eine Klassifizierung des Datenpakets (Zuordnung zu einer Datenklasse oder Typ) vornehmen; so kann das Datenpaket beispielsweise als Audio-Kommunikations-Typ, Audio-Streaming-Typ, Email-Typ, Video-Streaming-Typ, Aktualisierungsdaten-Typ, etc. klassifiziert worden sein. Die Klassifizierung des Datenpakets kann z.B. eine feste Zuordnung sein oder von dem Kommunikations-Endpunkt, und/oder von einer Vorrichtung, die mit dem Kommunikations-Endpunkt verbunden ist, vorgenommen worden sein.
-
Der Kommunikationskanal kann beispielsweise ein Mobilfunk-Protokoll der Generationen 2G, 3G, 4G verwenden, oder auch z.B. Bluetooth, WLAN (z. B. WLAN 802.11a/b/g/n oder WLAN 802.11p), ZigBee oder WiMax. Es ist auch die Verwendung anderer Übertragungsprotokolle möglich. Der Kommunikations-kanal kann auch leer sein, etwa im Sinne des UNIX-Device /dev/null. Der Kommunikationskanal kann auch einen Speicher umfassen oder aus einem Speicher bestehen, der beispielsweise innerhalb des Fahrzeugs angeordnet ist.
-
Das Datenpaket von dem Kommunikations-Endpunkt ist zu einem ersten Kommunikationskanal und zu einem zweiten Kommunikationskanal zugeordnet. In zumindest einigen Fällen kann der erste Kommunikationskanal ein anderer sein als der zweite Kommunikationskanal. Die Zuordnung kann beispielsweise von dem Kommunikations-Endpunkt oder von einer anderen Vorrichtung vorgenommen werden. Die Zuordnung kann voreingestellt sein, z.B. bei Auslieferung des Fahrzeugs oder im Rahmen einer Wartung. Die Zuordnung kann die Klassifizierung des Datenpakets berücksichtigen. Die Zuordnung kann statisch oder dynamisch sein. Ein Beispiel einer dynamischen Zuordnung kann sein, dass die Zuordnung geändert wird, wenn ein Kommunikationskanal ausfällt, insbesondere temporär ausfällt, z.B. wenn das Fahrzeug durch einen Tunnel fährt.
-
Bezüglich des Datenpakets wird überprüft, ob eine vordefinierte Bedingung erfüllt ist. Dabei ist die vordefinierte Bedingung von dem Datenpaket und/oder einem Status des ersten Kommunikationskanals abhängig. Eine Bedingung, die von dem Datenpaket abhängig ist, kann z.B. die Länge des Datenpakets betreffen und/oder die Klassifizierung des Datenpakets. Der Status des ersten Kommunikationskanals kann z.B. ein statischer Status oder ein dynamischer Status sein. Ein Beispiel eines statischen Status kann eine maximale Bandbreite und/oder eine minimale Latenz des Kommunikations-kanals betreffen. Ein Beispiel eines dynamischen Status kann eine Verfügbarkeit und/oder eine aktuelle Bandbreite und/oder eine gemessene Latenz des Kommunikationskanals betreffen.
-
Wenn die vordefinierte Bedingung erfüllt ist, wird das Datenpaket an den ersten Kommunikationskanal gesendet. Wenn die vordefinierte Bedingung nicht erfüllt ist, wird das Datenpaket an den zweiten Kommunikationskanal gesendet, d.h. gewissermaßen auf den zweiten Kommunikationskanal umgeschaltet. Dabei kann die vordefinierte Bedingung beispiels-weise sehr einfach sein, aber auch komplex und sogar zeitabhängig. Ein Beispiel einer einfachen Bedingung kann sein: Wenn der erste Kommunikationskanal verfügbar ist, wird das Datenpaket an den ersten Kommunikationskanal gesendet. Ein Beispiel einer zeitabhängigen Bedingung kann sein: Wenn ein Kommunikationskanal für ein Datenpaket eines Audio-Streaming-Typs 1 Minute lang nicht verfügbar ist, findet eine Übertragung an einen anderen Kommunikationskanal statt (d.h. senden z.B. an den zweiten Kommunikationskanal „Satellit“); wenn der Kommunikationskanal länger nicht verfügbar ist, wird das Datenpaket verworfen (d.h. senden an einen Kommunikationskanal „leer“). Das „Umschalten“ auf den zweiten Kommunikationskanal kann auch weitere Aktionen auslösen, z.B. eine Mitteilung an den Fahrer „anderer Kommunikationskanal“; dies kann z.B. dann sinnvoll sein, wenn auf erhöhte Kosten und/oder schlechtere Qualität der Übertragung aufmerksam gemacht werden soll.
-
Damit ist vorteilhafterweise die Reaktion auf einen ausgefallenen Kommunikationskanal nicht nur von dem Protokoll des Kommunikationskanals abhängig. Dies ist insbesondere vorteilhaft, weil damit beispielsweise eine Blockierung des Übertragungssystems durch mehrfaches Senden („re-try“) bei einem Ausfall - wie das für zumindest einige Übertragungsprotokolle spezifiziert ist - vermieden werden kann. Weiterhin kann mit diesem Verfahren die Verfügbarkeit der Kommunikation verbessert werden, weil es bei Ausfall eines Kommunikationskanals möglich sein kann soweit überhaupt ein Kommunikationskanal verfügbar ist, auf den verfügbaren Kommunikationskanal umzuschalten. Dieses Umschalten kann vorteilhafterweise mit wenigen Komponenten und/oder Programmschritten realisiert werden, so dass das Umschalten schnell und die Realisierung kostengünstig erfolgen kann. Außerdem kann damit eine für jeden Benutzer bzw. Fahrer „maßgeschneiderte“ Strategie eingestellt werden. Wenn beispielsweise telefonische Erreichbarkeit eine hohe Priorität hat, dann kann z.B. bei einem Funkloch in schwach besiedelten Gegenden auf Satelliten-Kommunikation umgeschaltet werden. Wenn beispielsweise Daten des Video-Streaming-Typs nur über einen WLAN-Kommunikationskanal übertragen werden soll, so kann auch das mittels des geschilderten Verfahrens eingestellt werden. Darüber hinaus werden die Fehlermechanismen der verwendeten Übertragungsprotokolle nicht ausgeschaltet, so dass diese - etwa im Fall einer mangelhaften Anpassung - dennoch zum Tragen kommen. Wenn beispielsweise der erste und der zweite Kommunikationskanal ausgefallen ist, dann kann auf den zweiten Kommunikationskanal umgeschaltet werden, und es können (weil auch dieser nicht erreichbar ist) auf diese Weise die Fehlermechanismen des zweiten Kommunikationskanals verwendet werden. Es kann auch ein Umschalten gezielt unterbunden werden, z.B. dadurch, dass als erster und als zweiter Kommunikationskanal derselbe Kommunikationskanal eingetragen wird.
-
In einer Ausführungsform weist das Verfahren folgende weitere Schritte auf:
- - Empfangen des Datenpakets von dem ersten Kommunikationskanal oder dem zweiten Kommunikationskanal. In zumindest einigen Fällen wird dabei derjenige Kommunikationskanal verwendet, an den ein Datenpaket mit dieser Adresse gesendet wurde.
- - Senden des Datenpakets zu dem Kommunikations-Endpunkt.
-
In einer Ausführungsform umfasst der Status des ersten Kommunikationskanals eine Verfügbarkeit des ersten Kommunikationskanals. Dies kann beispielsweise in Gegenden mit schlechter Funkabdeckung vorteilhaft sein, wenn z.B. abschnittsweise und/oder abwechselnd der erste und der zweite Kommunikationskanal erreichbar ist. Dann könnte, wenn der erste Kommunikationskanal nicht erreichbar ist, der zweite Kommunikationskanal jedoch erreichbar ist, die Kommunikation auf den zweiten Kommunikationskanal umgeschaltet werden.
-
In einer Ausführungsform umfasst der Status des ersten Kommunikationskanals weiterhin eine Bandbreite des ersten Kommunikationskanals. Dies kann beispielsweise vorteilhaft sein, wenn Datenpakete eines Video-Streaming-Typs nur Kommunikationskanälen mit entsprechender (maximaler und/oder aktueller) Bandbreite zugeordnet werden sollen. Diese Zuordnung kann beispielsweise statisch erfolgen. Die Berücksichtigung der Bandbreite kann auch für eine dynamische Zuordnung genutzt werden, z.B. in der Weise, dass ein kostengünstigerer Kommunikationskanal solange genutzt wird, solange dieser die geforderte Bandbreite aufweist; wird die Bandbreite jedoch reduziert, z.B. wegen schlechterer Empfangsqualität, dann kann auf einen zweiten Kommunikationskanal umgeschaltet werden.
-
In einer Ausführungsform umfasst die vordefinierte Bedingung weiterhin eine Zugehörigkeit des Datenpakets zu einer Datenklasse und/oder die Länge des Datenpakets. Beispielsweise könnte eine Datenklasse „Notrufe“ gebildet werden, die stets einem Satelliten-Kommunikationskanal zugeordnet wird. Auch ist eine Zuordnung zu einem Broadcast- und/oder zu einem Multicast-Kommunikationskanal möglich.
-
In einer Ausführungsform ist der zweite Kommunikationskanal leer. Dabei bedeutet „leer“, dass keine Übertragung stattfindet, dass das Datenpaket bei Zuordnung zu diesem Kommunikationskanal also verworfen wird. Dabei kann der leere Kommunikationskanal sämtliche erforderlichen Quittungsmechanismen („Acknowledge“) unterstützen, so dass keine Verzögerung und/oder Blockierung durch dieses Verwerfen ausgelöst wird.
-
In einer Ausführungsform ist der zweite Kommunikationskanal ein Speicher. Der Speicher kann beispielsweise innerhalb eines Fahrzeugs angeordnet sein. Der Speicher kann z.B. für eine Zwischenspeicherung des Datenpakets verwendet werden. Dies kann insbesondere für Streaming-Daten vorteilhaft sein, bei denen ein kürzerer Ausfall der Kommunikationskanäle auf diese Weise überbrückt werden kann, und/oder für Email-Daten, die auf diese Weise zwischengespeichert werden können.
-
In einer Ausführungsform löst die vordefinierte Bedingung eine weitere Aktion aus. Die weitere Aktion kann beispielsweise das Senden einer Mitteilung an den Fahrer (z.B. „Kommunikationskanal K nicht verfügbar“) beinhalten. Die weitere Aktion kann eine Änderung der Übertragungsqualität, z.B. bei Video- und/oder Audio-Streaming-Daten beinhalten. Damit kann z.B. eine ununterbrochene Übertragung gewissermaßen „simuliert“ werden, wobei sich ein Ausfall und/oder eine reduzierte Bandbreite nur in einer Verschlechterung von Bild und/oder Ton bemerkbar macht.
-
In einer Ausführungsform weist das Verfahren einen weiteren Schritt auf:
- - Zuordnen des Datenpakets zu einem dritten Kommunikations-kanal, wobei der dritte Kommunikationskanal als ein Kommunikationskanal für Broadcast und/oder für Multicast dient.
-
Damit kann beispielsweise eine Anforderung realisiert werden, wie bei einem Multicast bei Ausfall des ersten Kommunikationskanals nicht mehr auf einen funktionsfähigen Kommunikationskanal umgeschaltet wird, sondern auf den leeren Kommunikationskanal, oder z.B. auf einen Speicher, um vordefinierte Broadcast- und/oder Multicast-Mitteilungen zu protokollieren.
-
In einer Ausführungsform ist die vordefinierte Bedingung zumindest teilweise in einer Zuordnungstabelle abgespeichert. Eine derartige Zuordnungstabelle kann beispielsweise eine schnelle Umkonfiguration der Zuordnungen ermöglichen. Außerdem können damit in einfacher Weise Änderungen der Zuordnungen durch andere Module ermöglicht werden.
-
Ein weiterer Aspekt der Erfindung betrifft ein Verfahren zum Ermitteln eines Verfügbarkeitsstatus eines ersten Kommunikationskanals für eine Verteilung eines Datenpakets auf eine Vielzahl von Kommunikationskanälen, mit den Schritten:
- - Senden einer Verfügbarkeitsabfrage an den ersten Kommunikationskanal;
- - Empfangen eines Verfügbarkeitsstatus des ersten Kommunikationskanals von dem ersten Kommunikationskanal;
- - Verwenden des Verfügbarkeitsstatus des ersten Kommunikationskanals bei der Verteilung eines Datenpakets auf eine Vielzahl von Kommunikationskanälen.
-
Der Verfügbarkeitsstatus kann z.B. eine Information „erster Kommunikationskanal verfügbar / nicht verfügbar“ umfassen. Der Verfügbarkeitsstatus kann auch eine Information über die aktuelle Bandbreite des ersten Kommunikationskanals umfassen.
Die Verfügbarkeitsabfrage kann die Abfrage eines Timeout umfassen. Die Verfügbarkeitsabfrage kann das Auslesen von Werten, insbesondere von aktuellen Werten, aus einem Register des ersten Kommunikationskanals umfassen. Das Verwenden des Verfügbarkeitsstatus kann einen Eintrag in einen Teil einer Zuordnungstabelle eines Datenpakets, wie oben und/oder im Folgenden erläutert, und/oder eine andere Verwendung umfassen. Dies ist insbesondere vorteilhaft, um zeitnah einen aktuellen Verfügbarkeitsstatus des ersten Kommunikationskanals zur Verfügung zu haben, insbesondere um die Vorteile der Erfindung besser nutzen zu können.
-
Ein weiterer Aspekt der Erfindung betrifft einen Dispatcher zur Verteilung eines Datenpakets auf eine Vielzahl von Kommunikationskanälen eines Fahrzeugs. Dabei ist der Dispatcher dazu eingerichtet,
- - das Datenpaket von einem Kommunikations-Endpunkt zu empfangen, wobei das Datenpaket und zu einem zweiten Kommunikationskanal zugeordnet ist;
- - wenn eine vordefinierte Bedingung erfüllt ist, das Datenpaket an den ersten Kommunikationskanal zu senden, wobei die vordefinierte Bedingung von dem Datenpaket und/oder von einem Status des ersten Kommunikationskanals abhängig ist;
- - wenn die vordefinierte Bedingung nicht erfüllt ist, an den zweiten Kommunikationskanal zu senden.
-
In einer Ausführungsform ist der Dispatcher weiterhin dazu eingerichtet,
- - das Datenpaket von dem ersten Kommunikationskanal oder dem zweiten Kommunikationskanal zu empfangen;
- - das Datenpaket zu dem Kommunikations-Endpunkt zu senden.
-
In einer Ausführungsform umfasst die vordefinierte Bedingung einen Verfügbarkeitsstatus und/oder eine Bandbreite des ersten Kommunikationskanals
-
In einer Ausführungsform umfasst die vordefinierte Bedingung weiterhin eine Zugehörigkeit des Datenpakets zu einer Datenklasse und/oder die Länge des Datenpakets.
-
In einer Ausführungsform ist die vordefinierte Bedingung in einer Zuordnungstabelle abgespeichert.
-
Ein weiterer Aspekt der Erfindung betrifft eine Verwendung eines Dispatchers wie oben oder im Folgenden beschrieben, oder eines Verfahrens wie oben oder im Folgenden beschrieben zur Verteilung eines Datenpakets auf eine Vielzahl von Kommunikationskanälen eines Fahrzeugs.
-
Ein weiterer Aspekt der Erfindung betrifft ein Programm-element, das, wenn es auf einem Prozessor ausgeführt wird, den Prozessor anleitet, das Verfahren nach einem der wie oben oder im Folgenden beschrieben durchzuführen.
-
Ein weiterer Aspekt der Erfindung betrifft ein computer-lesbares Medium, auf dem ein Programmelement wie oben beschrieben gespeichert ist.
-
Ein weiterer Aspekt der Erfindung betrifft ein Fahrzeug mit einem Dispatcher wie oben oder im Folgenden beschrieben.
Bei dem Fahrzeug handelt es sich beispielsweise um Kraftfahrzeug, wie ein Auto, Bus oder Lastkraftwagen, oder aber auch um ein Schienenfahrzeug, ein Schiff, ein Luftfahrzeug, wie ein Helikopter oder ein Flugzeug, oder ein anderes mobiles Gerät, wie z.B. einen Roboter.
-
Zur weiteren Verdeutlichung wird die Erfindung anhand von in den Figuren abgebildeten Ausführungsformen beschrieben. Diese Ausführungsformen sind nur als Beispiel, nicht aber als Einschränkung zu verstehen.
-
Es zeigt
- 1 schematisch ein Fahrzeug mit einer Vielzahl von Kommunikationskanälen und einen Dispatcher gemäß einer Ausführungsform der vorliegenden Erfindung;
- 2 schematisch eine Vielzahl von Kommunikationskanälen und einen Dispatcher gemäß einer Ausführungsform der vorliegenden Erfindung;
- 3 schematisch ein Datenpaket gemäß einer Ausführungsform der vorliegenden Erfindung;
- 4 schematisch eine Zuordnungstabelle gemäß einer Ausführungsform der vorliegenden Erfindung;
- 5 schematisch ein Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung;
- 6 schematisch ein weiteres Verfahren gemäß einer Aus-führungsform der vorliegenden Erfindung.
-
1 zeigt ein Fahrzeug 700 mit einer Vielzahl von Kommunikationskanälen 210, 220, 230 und einen Dispatcher 150. Der Dispatcher 150 ist mit einem Kommunikations-Endpunkt 300 verbunden und kommuniziert mit dem Kommunikations-Endpunkt 300, d.h. er empfängt Datenpakete 500 (siehe 3) von diesem oder sendet Datenpakete 500 an den Kommunikations-Endpunkt 300. Der Kommunikations-Endpunkt 300 kann z.B. mit einer Vielzahl von Geräten verbunden sein, die Kommunikationsbedarf aufweisen, beispielsweise Telefone und/oder ein Infotainmentsystem mit einer Vielzahl von Geräten. Der Kommunikationsendpunkt kann auch mit einer Vielzahl von logischen Einheiten verbunden sein, die Kommunikationsbedarf aufweisen, beispielsweise mit einer Voice over IP (VoIP) Applikation oder einer Audio-Applikation. Der Dispatcher 150 verteilt ein oder mehrere Datenpakete 500 auf einen oder mehrere der Kommunikationskanäle 210, 220, 230.
-
2 zeigt schematisch eine Vielzahl von Kommunikations-kanälen 210, 220, 230 und einen Dispatcher 150. Der Dispatcher 150 ist mit einem Kommunikations-Endpunkt 300 verbunden und kommuniziert mit dem Kommunikations-Endpunkt 300. Der Dispatcher 150 verteilt ein oder mehrere Datenpakete 500 auf einen oder mehrere der Kommunikations-kanäle 210, 220, 230. Die Kommunikationskanäle 210, 220, 230 sind als drahtlose Kommunikationskanäle dargestellt; die Kommunikationskanäle können auch als ein Speicher 400 oder als ein „leerer“ Kommunikationskanal (nicht dargestellt) ausgeführt sein. Der Dispatcher 150 ist Teil eines Kommunikationsmoduls 100. Das Kommunikationsmodul 100 weist neben dem Dispatcher 150 eine Zuordnungstabelle 600 (siehe 3) auf. Die Zuordnungstabelle 600 steht in Kommunikationsverbindung mit dem Dispatcher 150. Der Dispatcher 150 kann z.B. lesend auf die Zuordnungstabelle 600 zugreifen, z.B. um eine Existenz einer vordefinierten Bedingung 650 und/oder quantitative Angaben der Kommunikationskanäle 210, 220, 230 zu überprüfen.
-
Die vordefinierte Bedingung 650 kann beispielsweise einen Verfügbarkeitsstatus 610 für jeden der Kommunikationskanäle 210, 220, 230 beinhalten. Der Verfügbarkeitsstatus 610 kann statisch in der Zuordnungstabelle 600 eingetragen sein. Der Verfügbarkeitsstatus 610 kann, zumindest für einige der Kommunikationskanäle 210, 220, 230 dynamisch in die Zuordnungstabelle 600 eingetragen werden, z.B. mittels eines Statusmoduls 640. Das Statusmodul 640 kann Teil des Kommunikationsmoduls 100 sein oder ein getrenntes Modul. Dazu sendet das Statusmodul 640 eine Verfügbarkeitsabfrage 410 an einen der Kommunikationskanäle 210, 220, 230. Daraufhin empfängt das Statusmodul 640 den Verfügbarkeitsstatus 610, insbesondere einen aktuellen Verfügbarkeitsstatus, des Kommunikationskanals 210, 220, 230 von dem Kommunikationskanal 210, 220, 230 und sendet den Verfügbarkeitsstatus 610 an die Zuordnungstabelle 600 weiter. Die Zuordnungstabelle 600 kann den (ggf. aktuellen) Verfügbarkeitsstatus 610 bei der Verteilung eines Datenpakets 500 auf eine Vielzahl von Kommunikationskanälen 210, 220, 230 verwenden. In ähnlicher Weise können andere Parameter der Kommunikationskanäle 210, 220, 230 abgefragt werden, beispielsweise die aktuelle Bandbreite 620.
-
3 zeigt schematisch ein Datenpaket 500. Das Datenpaket 500 weist einen Header 510 (und/oder mehrere geschachtelte Header) und ein Datenfeld 520 auf. Mittels Teilen des Headers 510 und/oder Teilen des Datenfelds 520 kann eine Klassifizierung des Datenpakets (Zuordnung zu einer Datenklasse oder Typ) vorgenommen werden. Das Datenpaket 500 weist eine Länge 501 auf. Die Länge 501 des Datenpakets 500 kann beispielsweise für die Zuordnung zu einem der Kommunikationskanäle 210, 220, 230 verwendet werden.
-
4 zeigt eine Zuordnungstabelle 600. Die Zuordnungstabelle 600 weist beispielsweise die Zeilen 601 bis 604 auf. Jede der Zeilen 601 bis 604 kann aufweisen:
- - Einträge zu Datenpaketen 500, z.B. D1 bis D4. Diese Einträge D1 bis D4 können z.B. zur Abfrage von Bedingungen dienen, die von einem Datenpaket abhängig sind. Beispielsweise können bestimmte Bits in dem Datenpaket einen virtuellen Kanal bezeichnen, und die Datenpakete werden in Abhängigkeit von diesem virtuellen Kanal einem vordefinierten Kommunikationskanal zugeordnet. Teile der Einträge D1 bis D4 (z.B. bestimmte Bitfelder) können als irrelevant („don't care“) betrachtet werden.
- - Einträge: Datenklasse oder Typ 540 des Datenpakets 500, z.B. T1 bis T4.
- - Einträge: Bandbreite 620, z.B. maximale, minimale und/oder aktuelle Bandbreite, jedes ersten Kommunikationskanals 210. Es können noch weitere Einträge vorgesehen sein, z.B. maximale und/oder aktuelle Latenz oder Kosten. Die Einträge können nach Upload Download unterschieden werden. Die Einträge können absolute Zahlen beinhalten und/oder eine relative Maßzahl, d.h. beispielsweise können die Kosten in Cent pro Mbyte angegeben sein oder (z.B.) mit einer Maßzahl zwischen 0 und 99.
- - Eine Nummer oder sonstige Bezeichnung 610 des zugeordneten ersten Kommunikationskanals 210 bzw. zweiten Kommunikationskanals 220.; Es kann auch ein Eintrag für einen dritten 230 Kommunikationskanal vorhanden sein, z.B. für Broadcast und/oder für Multicast.
- - Einen Verfügbarkeitsstatus 610, z.B. „1“ für „verfügbar“, „0“ für „nicht verfügbar“. Jede der Zeilen 601 bis 604 der Zuordnungstabelle 600 kann nur einen Teil der gezeigten Einträge beinhalten. Jede der Zeilen 601 bis 604 - oder Teile dieser Zeilen - kann zusätzliche Einträge beinhalten, z.B. maximale und/oder aktuelle Länge des Headers 510 und/oder Länge des Datenfelds 520, z.B. in Bytes.
-
5 zeigt schematisch ein Ablaufdiagramm 800 für ein Verfahren zur Verteilung eines Datenpakets 500 auf eine Vielzahl von Kommunikationskanälen 210, 220, 230 eines Fahrzeugs 700. In einem Schritt 801 empfängt ein Dispatcher 150 (siehe 2) ein Datenpaket 500 von einem Kommunikations-Endpunkt 300. Dabei ist das Datenpaket 500 zu einem ersten Kommunikationskanal 210 und zu einem zweiten Kommunikationskanal 220 zugeordnet, z.B. mittels einer Zuordnungstabelle 600. In einem Schritt 802 wird eine vordefinierte Bedingung 650 überprüft. Dabei ist die vordefinierte Bedingung 650 von dem Datenpaket 500 und/oder von einem Status des ersten Kommunikationskanals 210 abhängig. Wenn die vordefinierte Bedingung 650 erfüllt ist, sendet der Dispatcher 150, in einem Schritt 803, das Datenpakets 500 zu einem ersten Kommunikationskanal 210. Wenn die vordefinierte Bedingung 650 nicht erfüllt ist, sendet der Dispatcher 150, in einem Schritt 804, das Datenpaket 500 zu einem zweiten Kommunikationskanal 220.
-
6 zeigt schematisch ein Ablaufdiagramm 850 für ein Verfahren zum Ermitteln eines Verfügbarkeitsstatus 610 eines ersten Kommunikationskanals 210 für eine Verteilung eines Datenpakets 500 auf eine Vielzahl von Kommunikationskanälen 210, 220, 230, gemäß einer Ausführungsform der vorliegenden Erfindung. In einem Schritt 851 sendet z.B. ein Statusmodul 640 eine Verfügbarkeitsabfrage 410 an einen ersten Kommunikationskanal 210. In einem Schritt 852 empfängt das Statusmodul 640 einen Verfügbarkeitsstatus 610 des ersten Kommunikationskanals 210 von dem ersten Kommunikationskanal 210, an den die Verfügbarkeitsabfrage 410 gesandt wurde, und leitet diesen Verfügbarkeitsstatus 610 an eine Zuordnungs-tabelle 600 weiter. Die Zuordnungstabelle 600 verwendet, in Schritt 853, den Verfügbarkeitsstatus 610 bei der Verteilung eines Datenpakets 500 auf eine Vielzahl von Kommunikationskanälen 210, 220, 230.
-
Bezugszeichenliste
-
- 100
- Kommunikationsmodul
- 150
- Dispatcher
- 210
- erster Kommunikationskanal
- 220
- zweiter Kommunikationskanal
- 230
- dritter Kommunikationskanal
- 300
- Kommunikations-Endpunkt
- 400
- Speicher
- 410
- Verfügbarkeitsabfrage
- 500
- Datenpaket
- 501
- Länge des Datenpakets
- 510
- Header
- 520
- Datenfeld
- 540
- Datenklasse
- 600
- Zuordnungstabelle
- 601 - 604
- Zeilen der Zuordnungstabelle
- 610
- Verfügbarkeitsstatus
- 620
- Bandbreite
- 640
- Statusmodul
- 650
- vordefinierte Bedingung
- 700
- Fahrzeug
- 800
- Ablaufdiagramm
- 801 - 804
- Schritte
- 850
- Ablaufdiagramm
- 851 - 853
- Schritte