DE102018206780A1 - Verfahren und Computerprogramm zum Senden eines Datenpaketes, Verfahren und Computerprogramm zum Empfangen eines Datenpaketes, Kommunikationseinheit und Kraftfahrzeug mit Kommunikationseinheit - Google Patents

Verfahren und Computerprogramm zum Senden eines Datenpaketes, Verfahren und Computerprogramm zum Empfangen eines Datenpaketes, Kommunikationseinheit und Kraftfahrzeug mit Kommunikationseinheit Download PDF

Info

Publication number
DE102018206780A1
DE102018206780A1 DE102018206780.5A DE102018206780A DE102018206780A1 DE 102018206780 A1 DE102018206780 A1 DE 102018206780A1 DE 102018206780 A DE102018206780 A DE 102018206780A DE 102018206780 A1 DE102018206780 A1 DE 102018206780A1
Authority
DE
Germany
Prior art keywords
packet
data packet
communication unit
segments
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102018206780.5A
Other languages
English (en)
Inventor
Alexander Meier
Olaf Krieger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Volkswagen AG
Original Assignee
Volkswagen AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Volkswagen AG filed Critical Volkswagen AG
Priority to DE102018206780.5A priority Critical patent/DE102018206780A1/de
Priority to CN201980044751.4A priority patent/CN112313911A/zh
Priority to PCT/EP2019/059367 priority patent/WO2019211076A1/de
Priority to US17/052,277 priority patent/US11855903B2/en
Publication of DE102018206780A1 publication Critical patent/DE102018206780A1/de
Granted legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/245Traffic characterised by specific attributes, e.g. priority or QoS using preemption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/40163Bus networks involving priority mechanisms by assigning priority to messages according to a message field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/60Queue scheduling implementing hierarchical scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Verfahren (100) zum Senden eines Datenpaketes (430, 440) von einer ersten Kommunikationseinheit (300) eines Kommunikationssystems über einen mit zumindest einer weiteren Kommunikationseinheit (500) geteilten Übertragungskanal. Das Verfahren (100) umfasst ein Ermitteln (110) einer aktuellen Zugriffspriorität für den geteilten Übertragungskanal durch die erste Kommunikationseinheit (300), wobei sich die aktuelle Zugriffspriorität nach aktuell auf dem Übertragungskanal übertragenen Daten richtet. Das Datenpaket (430, 440) wird in Paketsegmente (432, 434) segmentiert (120), wobei die Paketsegmente (432, 434) einen Prioritätswert (410) aufweisen, der einem Prioritätswert (410) des Datenpaketes (430, 440) entspricht. Das Verfahren umfasst ferner ein Senden (130) der Paketsegmente (432, 434) von der ersten Kommunikationseinheit (300) über den geteilten Übertragungskanal, wobei die Paketsegmente (432, 434) sukzessive in Abhängigkeit von dem Prioritätswert und der aktuellen Zugriffspriorität gesendet werden.

Description

  • Die vorliegende Erfindung bezieht sich auf Verfahren und Computerprogramme zum Senden von Datenpaketen von einer ersten Kommunikationseinheit eines Kommunikationssystems über einen mit zumindest einer weiteren Kommunikationseinheit geteilten Übertragungskanal. Die Erfindung bezieht sich ferner auf ein entsprechende Verfahren und Computerprogramme zum Empfangen von Datenpaketen, auf Kommunikationseinheiten sowie auf ein Kraftfahrzeug mit einer Kommunikationseinheit.
  • Kommunikationseinheiten können in einem Kommunikationssystem über einen Übertragungskanal miteinander verbunden sein, beispielsweise mittels einer Ethernet-Verbindung mit einer Datenrate von 10 Mbit/s. Dabei kann ein gemeinsam genutzter oder von mehreren Kommunikationseinheiten geteilter Übertragungskanal oder Kommunikationskanal (ein sogenanntes „shared medium“, dtsch. geteiltes Medium) zum Einsatz kommen. Über einen geteilten Übertragungskanal kann zu einem Zeitpunkt jeweils nur maximal eine Kommunikationseinheit ein Datenpaket senden. Kommunikationseinheiten können beispielsweise Fahrzeuggeräte wie Sensoren und Steuergeräte in einem Bordnetz eines Fahrzeugs sein.
  • Um Kollisionen von Nachrichten auf dem Übertragungskanal zu vermeiden, die beim gleichzeitigen Senden oder schreibenden Zugriff mehrerer Teilnehmer auf das Übertragungsmedium entstehen würden, wird ein Kollisionsvermeidungsverfahren benötigt. Für den Einsatz in beispielsweise einem 10Mbit/s Automotive (dtsch. Fahrzeug)-Ethernet ist etwa ein Verfahren PLCA (PLCA: PHY (PHY: Physical Layer, dtsch. physikalische Schicht) Level Collision Avoidance, dtsch. Kollisionsvermeidung) bekannt. In diesem Verfahren besitzt jeder Teilnehmer ein dediziertes Zeitfenster, in dem nur er eine Zugriffsberechtigung auf den geteilten Übertragungskanal hat und darüber Daten senden darf. Wenn der Sendevorgang abgeschlossen ist oder der Teilnehmer innerhalb einer vorbestimmten Zeitdauer nicht mit dem Senden begonnen hat, bekommt der nächste Teilnehmer ein Zugriffsrecht auf den Übertragungskanal. Nachdem alle Teilnehmer die Möglichkeit hatten einen Frame oder ein Datenpaket zu senden, beginnt der Kommunikationszyklus von neuem. Somit kann gewährleistet sein, dass alle Kommunikationsteilnehmer gleichberechtigt sind, Datenpakete über den geteilten Übertragungskanal zu senden.
  • In einigen Kommunikationssystemen kann hinsichtlich Echtzeitanforderungen eine Priorisierung zum Versenden von Datenpaketen erforderlich sein, so dass wichtige Daten vor unwichtigeren Daten versendet werden können und unwichtigere Daten in diesem Fall nicht den geteilten Übertragungskanal belegen.
  • In der US 2016 0373362 A1 ist eine Netzwerksteuerung gezeigt. Die Netzwerksteuerung kann einen Sende-Schaltkreis aufweisen, der dazu ausgebildet ist, Pakete basierend auf einer angepassten Priorität zu senden. Die Priorität kann basierend auf einer Netzwerk-Bandbreite angepasst werden. Die von Paketen verbrauchte Netzwerk-Bandbreite muss dabei von einem Bandbreiten-Monitor gemessen werden.
  • In der US 2014 0341032 A1 ist ein Gerät mit zwei Pfaden A und B gezeigt, die jeweils Datenübertragungsblöcke verschiedener Priorität bearbeiten können. Das Gerät kann priorisierte Kommunikation von hoch priorisierten Daten unterstützen. Dazu kann das Gerät eine Kommunikation von Paketen niedrigerer Priorität unterbrechen, um Pakete höherer Priorität zu senden. Das Gerät kann also von ihm zu sendende Daten der Priorität nach geordnet senden.
  • In der US 2008 0071924 A1 ist ein Sendeknoten gezeigt, der ein niedrig priorisiertes Paket senden kann. Der Sendeknoten kann das Senden des niedrig priorisierten Paketes unterbrechen, falls ein hoch priorisiertes Paket zum Senden am Sendeknoten verfügbar ist. Wenn alle hoch priorisierten Pakete gesendet sind, kann der Sendeknoten mit dem Senden des niedrig priorisierten Pakets fortfahren.
  • Eine Kommunikationseinheit könnte zu sendende Datenpakete verschiedener Priorität der Reihe nach senden, sobald die Kommunikationseinheit eine Zugriffsberechtigung für den geteilten Übertragungskanal erhält. In Situationen, in denen eine andere Kommunikationseinheit die Zugriffsberechtigung besitzt, kann es zu einer gewissen Zeitverzögerung kommen, bis Datenpakete der Kommunikationseinheit über den Übertragungskanal gesendet werden können. Beispielsweise kann die andere Kommunikationseinheit ein verhältnismäßig großes Datenpaket, etwa von einer Größe von 1500 Byte, versenden und die Kommunikationseinheit könnte die Zugriffsberechtigung erst frühestens nach Abschluss des Sendens des großen Datenpaketes, etwa nach einer für Echtzeitanforderungen einer Anwendung oder Funktion zu langen Verzögerung oder Latenzzeit, bekommen.
  • Ein Senden von Datenpaketen von mehreren Kommunikationseinheiten über einen geteilten Übertragungskanal kann im Kontext von verteilten Systemen etwa in Fahrzeugen oder Kraftfahrzeugen sowie im Bereich der allgemeinen Automatisierungstechnik oder in einem Bereich der Hausautomatisierung erfolgen.
  • Aufgabe der Erfindung ist es, ein verbessertes Konzept zur Kommunikation (Senden und Empfangen) von Datenpaketen über einen von mehreren Kommunikationseinheiten geteilten Übertragungskanal bereitzustellen.
  • Die Aufgabe wird gelöst gemäß den unabhängigen Patentansprüchen. Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Patentansprüchen, der folgenden Beschreibung sowie den Figuren beschrieben.
  • Es wird ein Verfahren zum Senden eines Datenpaketes von einer ersten Kommunikationseinheit eines Kommunikationssystems über einen mit zumindest einer weiteren Kommunikationseinheit geteilten Übertragungskanal vorgeschlagen. Den Kommunikationseinheiten wird ein Zugriff oder eine Zugriffsberechtigung auf den geteilten Übertragungskanal gemäß einem Rundlauf-Verfahren bereitgestellt. Jede Kommunikationseinheit bekommt einmal innerhalb eines Zyklus oder eines Rundlaufs die Zugriffsberechtigung auf den geteilten Übertragungskanal, um Daten senden zu können.
  • Verfahrensgemäß wird eine aktuelle Zugriffspriorität für den geteilten Übertragungskanal durch die erste Kommunikationseinheit ermittelt, wobei sich die aktuelle Zugriffspriorität nach aktuell auf dem Übertragungskanal übertragenen Daten richtet. Beispielsweise können Datenpakete von anderen Kommunikationseinheiten von der ersten Kommunikationseinheit über den geteilten Übertragungskanal empfangen werden. Durch Auslesen dieser Datenpakete kann ermittelt werden, welche Priorität die jeweiligen Datenpakete aufweisen. Beispielsweise kann eine Priorität eines zuletzt über den Übertragungskanal übertragenen Datenpaketes die aktuelle Zugriffspriorität darstellen. In einem Beispiel wird von einer zweiten Kommunikationseinheit ein Datenpaket einer Priorität 5 gesendet und die erste Kommunikationseinheit bestimmt basierend auf dem Datenpaket der Priorität 5 die aktuelle Zugriffspriorität mit dem Wert 5. Beispielsweise liegen an der ersten Kommunikationseinheit zu sendende Datenpakete der Priorität 3 vor und die erste Kommunikationseinheit könnte so lange auf das Senden der Datenpakete verzichten, bis die aktuelle Zugriffspriorität für den geteilten Übertragungskanal zumindest auf den Wert 3 abgesunken ist, beispielsweise nachdem die zweite Kommunikationseinheit keine Datenpakete der Priorität 5 mehr sendet. Die erste Kommunikationseinheit sendet mit anderen Worten z.B. Daten erst dann, wenn deren Priorität zumindest so hoch ist, wie die aktuelle Zugriffspriorität, wobei die aktuelle Zugriffspriorität situationsbedingt oder zeitlich variieren kann. Die aktuelle Zugriffspriorität kann beispielsweise kontinuierlich während eines Rundlaufs oder einmal pro Rundlauf bestimmt werden.
  • Gemäß einem Beispiel kann jedoch während die zweite Kommunikationseinheit das Datenpaket der Priorität 5 sendet an der ersten Kommunikationseinheit ein zu sendendes Datenpaket beispielsweise der Priorität 7 eintreffen, das beispielsweise aufgrund von Echtzeit-Anforderungen möglichst rasch gesendet werden sollte. Wenn nun das Datenpaket der zweiten Kommunikationseinheit relativ groß ist, beispielsweise eine Größe von 1500 Byte aufweist, kann die erste Kommunikationseinheit gemäß anderen Verfahren das Zugriffsrecht für den geteilten Übertragungskanal z.B. erst dann bekommen, wenn das Senden des großen Datenpakets der zweiten Kommunikationseinheit beendet ist, sodass eine Latenz entstehen kann. Dadurch können beispielsweise in einigen Situationen Echtzeit-Anforderungen nicht erfüllt werden.
  • Eine Möglichkeit wäre, beispielsweise durch eine Software bei allen im Rundlauf-Verfahren teilnehmenden Kommunikationseinheiten stets sehr kleine Nachrichten oder Datenpakete zu erzeugen und zu verarbeiten. Das führt jedoch möglicherweise zu einer hohen Auslastung eines Prozessors der Kommunikationseinheiten, da beispielsweise Routinen für das Senden und Empfangen von Nachrichten viel häufiger ausgeführt werden müssen, als dies bei großen Nachrichten der Fall wäre.
  • Deshalb wird verfahrensgemäß ein Segmentieren des zu sendenden Datenpaketes in Paketsegmente vorgeschlagen, wobei die Paketsegmente einen Prioritätswert aufweisen, der einem Prioritätswert des Datenpaketes entspricht. Es ist in anderen Worten ein Segmentierungsverfahren mit Prioritätsberücksichtigung vorgeschlagen. Beispielsweise weisen Paketsegmente des Datenpaketes mit der Priorität 7 ebenfalls einen Prioritätswert 7 auf. Das Segmentieren kann beispielsweise in Hardware, z.B. in einem Netzwerkkontroller der Kommunikationseinheit umgesetzt werden oder ausgeführt werden und eine Segmentierung der zu sendenden Nachrichten kann somit vorteilhafterweise effizient ermöglicht werden. Beispielsweise können Paketsegmente eine vorbestimmte oder einstellbare Maximalgröße aufweisen, beispielsweise ist die Maximalgröße 16 Byte, 32 Byte, 64 Byte, oder 128 Byte. Somit kann durch das Segmentieren die Größe und damit eine zum Senden benötigte Zeitdauer von Daten einer Kommunikationseinheit pro Zyklus reduziert und/oder limitiert werden. Die Maximalgröße kann beispielsweise in Abhängigkeit von einer Übertragungsgeschwindigkeit bzw. einer zeitlichen Granularität des Übertragungskanals, zum Beispiel eines Daten-Bus, gewählt werden. Durch das Bestimmen der Maximalgröße kann sich der Vorteil ergeben, dass dadurch eine maximale Zeitverzögerung oder Latenz bis zum nächsten Erteilen eines Zugriffsrechts für eine Kommunikationseinheit definiert werden kann. Beispielsweise kann die Maximalgröße so gewählt werden, dass die zeitkritischste Kommunikationseinheit eines Kommunikationssystems Datenpakete stets vorbestimmten Echtzeitanforderungen gemäß senden kann.
  • Zum Senden des gesamten Datenpaketes werden die generierten Paketsegmente von der ersten Kommunikationseinheit über den geteilten Übertragungskanal gesendet, wobei die Paketsegmente sukzessive in Abhängigkeit von dem Prioritätswert und der aktuellen Zugriffspriorität gesendet werden. Beispielsweise kann pro erteilter Zugriffsberechtigung ein jeweiliges Paketsegment über den geteilten Übertragungskanal gesendet werden. Mit anderen Worten, das Senden des Datenpaketes erfolgt anstelle eines einzelnen Sendevorgangs in einer Vielzahl von Sendevorgängen, wobei die Vielzahl von der Gesamtgröße des Datenpaketes abhängt. Es können beispielsweise erst alle Paketsegmente generiert werden und dann versendet werden. Alternativ ist es möglich, bereits erste Paketsegmente zu senden während restliche Paketsegmente des Datenpakets noch generiert werden. Dadurch kann sich der Vorteil ergeben, dass beispielsweise eine Zeit bis zum Senden eines Paketsegmentes reduzieren werden kann.
  • Der Vorteil des sukzessiven Sendens von Paketsegmenten oder Segmenten segmentierter Datenpakete oder Nachrichten kann sein, dass große Datenpakete den Übertragungskanal nicht für lange Zeiträume blockieren können. Dadurch ist es möglich, potentielle Latenzzeiten bei zu sendenden hoch priorisierten Datenpaketen zu reduzieren. Ein Vorteil kann sein, durch eine geeignete Wahl der Segmentgröße oder Größe von Paketsegmenten stets Echtzeitanforderungen innerhalb eines Kommunikationssystems erfüllen zu können.
  • In einem Ausführungsbeispiel können die erste Kommunikationseinheit und die zweite Kommunikationseinheit jeweils Datenpakete einer gleichen Priorität, beispielsweise der Priorität 5, und gleicher Größe senden. Beispielsweise werden die Datenpakete in jeweils zehn Paketsegmente segmentiert. Die erste und die zweite Kommunikationseinheit können nun jeweils abwechselnd die Paketsegmente sukzessive senden, solange bis das gesamte Datenpaket gesendet ist, beispielsweise nach zehn Sendezyklen.
  • In einem anderen Ausführungsbeispiel kann an der zweiten Kommunikationseinheit beispielsweise nach dem Senden des fünften Paketsegmentes der Priorität 5 ein zu sendendes Datenpaket der Priorität 7 eintreffen. Die zweite Kommunikationseinheit kann das Senden der Paketsegmente des Datenpaketes der Priorität 5 unterbrechen und Paketsegmente des segmentierten Datenpaketes der Priorität 7 senden. Dadurch, dass die erste Kommunikationseinheit das Datenpaket der Priorität 5 nicht auf einmal sendet, ist es möglich, dass auch die erste Kommunikationseinheit nach dem Senden eines ersten Teils des Datenpaketes (nach einer Anzahl von Paketsegmenten geringer als eine Gesamtanzahl von Paketsegmenten des Datenpaketes) das Senden unterbricht, beispielsweise wenn sie aufgrund eines empfangenen Paketsegmentes oder Datenpaketes, z.B. des ersten Paketsegmentes der Priorität 7, auf dem Übertragungskanal ermittelt, dass die aktuelle Zugriffspriorität höher liegt, als die Priorität der von ihr zu sendenden Datenpakete.
  • Entsprechend wird gemäß einer Weiterbildung des Verfahrens das Senden des Datenpaketes unterbrochen, wenn die Zugriffspriorität den Prioritätswert der Paketsegmente übersteigt. Durch das zuvor durchgeführte Segmentieren des Datenpaketes in Paketsegmente kann sich der Vorteil ergeben, dass das Senden des Datenpaketes jederzeit nach dem Senden eines Paketsegmentes unterbrochen werden kann. Dadurch kann vorteilhafterweise eine auftretende Latenzzeit beim Senden hoch priorisierter Datenpakete über den geteilten Übertragungskanal minimiert werden.
  • Gemäß einer Weiterbildung des Verfahrens wird das Senden des Datenpaketes fortgesetzt, wenn der Wert der Zugriffspriorität auf einen Wert sinkt, der gleich oder kleiner dem Prioritätswert der Paketsegmente ist. Beispielsweise kann das unterbrochene Senden des Datenpaketes dann fortgesetzt werden (durch Senden noch fehlender Paketsegmente), wenn andere Kommunikationseinheiten keine Datenpakete höherer Priorität zum Senden über den geteilten Übertragungskanal vorliegen haben. Beispielsweise kann die zweite Kommunikationseinheit, nachdem sie alle Paketsegmente des Datenpaketes der Priorität 7 gesendet hat, das Senden der Paketsegmente des noch nicht fertig gesendeten Datenpaketes der Priorität 5 fortführen. Die erste Kommunikationseinheit kann daraufhin ermitteln, dass die Zugriffspriorität des geteilten Übertragungskanal wieder auf den Wert 5 abgesunken ist und somit andere Kommunikationseinheiten keine zeitkritischeren Datenpakete vorliegen haben. Ab diesem Zeitpunkt (z.B. nach dem Empfangen des ersten Paketsegments der Priorität 5 von der zweiten Kommunikationseinheit) kann die erste Kommunikationseinheit mit dem sukzessiven Senden des Datenpaketes Priorität 5 fortfahren. Der Vorteil dabei kann sein, dass mit dem Senden von Paketsegmenten sofort dann fortgefahren werden kann, sobald die Zugriffspriorität des geteilten Übertragungskanals auf den Prioritätswert der Paketsegmente gesunken ist, sodass alle Kommunikationseinheiten mit Datenpaketen eines gleichen Prioritätswertes gleichermaßen die Zugriffsberechtigung mit einer minimalen zeitlichen Verzögerung erteilt bekommen.
  • Gemäß einer Weiterbildung des Verfahrens entspricht das Datenpaket einem Datenpaket mit einem ersten Prioritätswert und das Senden von Paketsegmenten des ersten Datenpakets wird unterbrochen, wenn Paketsegmente eines zweiten Datenpakets mit einem zweiten, höheren Prioritätswert in der ersten Kommunikationseinheit verfügbar sind. Mit anderen Worten, während die erste Kommunikationseinheit ein Datenpaket des ersten Prioritätswertes versendet, kann an der ersten, also derselben Kommunikationseinheit ein Datenpaket eines höheren Prioritätswertes zum Versenden eintreffen oder vorliegen. In diesem Fall ist es durch die Verwendung von Segmentierung der Datenpakete möglich, das Senden des ersten Datenpaketes zu unterbrechen und zunächst die Paketsegmente des Datenpaketes der höheren Priorität zu versenden. Es sind weitere rekursive Unterbrechungen durch Nachrichten jeweils höher Priorität möglich. Der Vorteil dabei kann sein, dass nicht nur höher priorisierte Datenpakete anderer Kommunikationseinheiten mit verringerter Latenz versendet werden können, sondern ebenso eine Zeitdauer bis zum Versenden eines höher priorisierten Datenpaketes an der ersten Kommunikationseinheit selbst verringert werden kann.
  • Gemäß einer Weiterbildung des Verfahrens wird das Segmentieren mittels eines zum Ansteuern des Übertragungskanals ausgebildeten Steuergerätes der ersten Kommunikationseinheit durchgeführt. Beispielsweise kann das Datenpaket in einer MAC (MAC: media access control, dtsch. Medienzugriffssteuerung)-Komponente der Kommunikationseinheit vorliegen. Die MAC-Komponente kann dazu ausgebildet sein, Datenpakete gemäß ihrer Priorität in verschiedenen Warteschlangen oder Sende-Warteschlangen zu speichern. Gemäß der Weiterbildung ist es etwa möglich, die Datenpakete innerhalb der Warteschlangen zu Segmentieren. Beispielsweise erfolgt das Segmentieren in Paketsegmente Hardware basiert innerhalb der MAC-Komponente. Das Segmentieren der Paketsegmente kann innerhalb einer Layer (Schicht) 2-Umgebung der Kommunikationseinheit durchgeführt werden. Der Vorteil daran kann sein, dass das Segmentieren effizient erfolgen kann, ohne beispielsweise Prozessorleistung der Kommunikationseinheit durch das Ausführen von Programmen oder Software zu beanspruchen.
  • In einer Weiterbildung des Verfahrens werden die Paketsegmente einer physikalischen Schicht des Kommunikationssystems zur Verfügung gestellt. Die Paketsegmente können etwa von der MAC-Komponente an die PHY-Komponente der Kommunikationseinheit übermittelt werden. Beispielsweise kann die physikalische Schicht, die PHY-Komponente oder der PHY-Layer der Kommunikationseinheit dazu ausgebildet sein, eine aktuelle Zugriffspriorität des geteilten Übertragungskanals zu bestimmen. Damit kann der PHY-Layer unmittelbar das Senden der jeweiligen Paketsegmente in Abhängigkeit von der aktuellen Zugriffspriorität autonom durchführen. Der Vorteil kann sein, dass Verzögerungen zwischen dem Ermitteln der aktuellen Zugriffspriorität und dem Senden von Paketsegmenten minimiert werden können.
  • Gemäß einer Weiterbildung des Verfahrens wird eine maximale Größe eines Paketsegmentes in Abhängigkeit von dem Übertragungskanal und/oder in Abhängigkeit von der Art der Kommunikationseinheiten des Kommunikationssystems eingestellt. Beispielsweise kann ein erster Übertragungskanal eine schnellere Übertragung von Paketsegmenten ermöglichen als ein zweiter Übertragungskanal. Somit kann es sein, dass bei Verwendung des ersten Übertragungskanals auch mit größeren Paketsegmenten Echtzeitanforderungen aufgrund der kürzeren Übertragungszeiten stets gewährleistet sein können. Somit kann eine Maximalgröße der Paketsegmente zum Versenden über den ersten Übertragungskanal größer gewählt werden als bei Verwenden des zweiten Übertragungskanals. Beispielsweise können in einem ersten Kommunikationssystem besonders zeitkritische Kommunikationseinheiten bereitgestellt sein. In diesem Fall ist es möglich, die maximale Größe der Paketsegmente kleiner zu wählen, beispielsweise kleiner als 32 Byte. Dadurch kann sich der Vorteil ergeben, dass ein Senden einer Nachricht besonders schnell unterbrochen werden kann, beispielsweise wenn an einer anderen Kommunikationseinheit ein Datenpaket einer höheren Priorität zu versenden ist. Die Maximalgröße kann gemäß einem Nutzenverhältnis gewählt werden. Da kleinere Paketsegmente Kontrolldaten (etwa Header) gleicher Größe wie große Paketsegmente haben können, kann das Verhältnis von Informationsdaten zu Kontrolldaten mit kleiner werdender Maximalgröße sinken. Das kleinere Verhältnis kann z.B. wegen eines höheren Gesamtnutzens, etwa durch ein Abwägen mit zu erfüllenden Echtzeitanforderungen der Nachrichten, in Kauf genommen werden. Ein Vorteil kann eine mögliche Anpassung an verschiedene Anforderungen sein.
  • Gemäß einer Weiterbildung des Verfahrens werden die Paketsegmente über einen kabelgebundenen Übertragungskanal eines lokalen Kommunikationssystems übermittelt. Ein lokales Kommunikationssystem kann beispielsweise in einem Fahrzeug, in einer Maschine, einer elektrischen Anlage oder in einem Haus bereitgestellt sein. Durch die Verwendung eines kabelgebundenen Übertragungskanals ist es möglich, eine genaue Information darüber zu haben, wie viele Kommunikationseinheiten an den Übertragungskanal angeschlossen sind. Dadurch kann vorteilhafterweise eine Vorhersage eines Verhaltens des Kommunikationssystems bzw. der Kommunikationseinheiten sehr genau möglich sein. Beispielsweise können in einem kabelgebundenen Übertragungskanal eine Übertragungsgeschwindigkeit und/oder eine Bandbreite stets konstant sein. Somit kann vorteilhafterweise in Kombination mit dem Wählen einer maximalen Größe von Paketsegmenten eine Latenzzeit, die maximal bis zum Senden eines hoch priorisierten Datenpaketes auftreten kann, bestimmt werden.
  • In einer Weiterbildung des Verfahrens wird an jedes Paketsegment ein jeweiliger Segmentheader hinzugefügt, wobei der Segmentheader zumindest anzeigt, wenn ein Paketsegment ein erstes oder ein letztes Paketsegment eines Datenpaketes ist. Der Segmentheader kann beispielsweise in einem Ethernet-Netzwerk zusätzlich zu einem Ethernet-Header angefügt werden. Beispielsweise kann der Segmentheader des ersten Paketsegmentes eines Datenpaketes anzeigen, dass noch weitere Paketsegmente zum Datenpaket gesendet werden. Beispielsweise kann der Segmentheader des letzten Paketsegmentes des Datenpaketes anzeigen, dass keine weiteren Paketsegmente mehr gesendet werden und das Senden des kompletten Datenpaketes abgeschlossen ist. Auf diese Weise können vorteilhafterweise Paketsegmente leichter einem jeweiligen Datenpaket zugeordnet werden. Beispielsweise kann das Senden eines Datenpaketes über den geteilten Übertragungskanal durch Unterbrechung um eine unbestimmte Zeit verzögert werden. Durch die Segmentheader kann es vorteilhafterweise z.B. leichter möglich sein, zu bestimmen, wenn alle Paketsegmente des Datenpaketes gesendet sind.
  • Ein zum Senden des Datenpaketes korrespondierender Aspekt der vorliegenden Erfindung betrifft ein Verfahren zum Empfangen eines Datenpaketes an einer ersten Kommunikationseinheit. Das Datenpaket wird über einen geteilten Übertragungskanal eines Kommunikationssystems mit der ersten Kommunikationseinheit übermittelt. Das Verfahren zum Empfangen des Datenpaketes umfasst ein Empfangen zumindest eines Paketsegmentes von einer weiteren Kommunikationseinheit des Kommunikationssystems. Das Paketsegment kann ein Paketsegment eines Datenpakets sein, das von der weiteren Kommunikationseinheit gemäß dem zuvor beschriebenen Verfahren an die erste Kommunikationseinheit gesendet wurde. Es können eine Vielzahl von Paketsegmenten empfangen werden.
  • Die erste Kommunikationseinheit ermittelt einen Prioritätswert des Paketsegmentes und führt ein Zwischenspeichern des Paketsegmentes der weiteren Kommunikationseinheit durch. Das Zwischenspeichern erfolgt in Abhängigkeit vom Prioritätswert des Paketsegmentes. Beispielsweise weist die erste Kommunikationseinheit einen jeweiligen Zwischenspeicher für alle verwendeten Prioritätswerte von Datenpaketen auf. Die erste Kommunikationseinheit kann beispielsweise ein Paketsegment eines ersten Prioritätswertes empfangen, wobei das Paketsegment einen Segmentheader aufweisen kann, der zeigt, dass das Paketsegment das erste Paketsegment eines Datenpaketes ist. Die erste Kommunikationseinheit kann weitere von der weiteren Kommunikationseinheit empfangene Paketsegmente derselben Priorität diesem ersten Paketsegment zuordnen. Durch das Zuordnen von Paketsegmenten zu jeweiligen Kommunikationseinheiten und das Zwischenspeichern je nach Priorität können die Paketsegmente zu jeweiligen ursprünglichen Datenpaketen sortiert oder geordnet werden.
  • Schließlich kann die erste Kommunikationseinheit das aus den empfangenen Paketsegmenten zusammengesetzten Datenpaketes nach Empfangen aller das Datenpaket konstituierenden Paketsegmente ausgeben. Das letzte Paketsegment des Datenpakets kann beispielsweise durch einen entsprechenden Segmentheader gekennzeichnet sein. Die Paketsegmente können beispielsweise in einer MAC-Komponente der ersten Kommunikationseinheit oder in einer Layer 2-Umgebung der ersten Kommunikationseinheit zwischengespeichert werden und nach Empfangen des letzten Paketsegmentes zum ursprünglichen, unsegmentierten Datenpaket zusammengesetzt werden. Beispielsweise kann das Zusammensetzen der Paketsegmente zum Datenpaket hardwareseitig erfolgen, sodass vorteilhafterweise z.B. keine zentrale Prozessorleistung der ersten Kommunikationseinheit (etwa durch Ausführen einer Software) dazu benötigt wird. Beispielsweise können zum Zusammensetzen jeweilige Header, etwa Segmentheader der Paketsegmente entfernt werden.
  • In einer Weiterbildung des Verfahrens werden nach einer vorgegebenen Totzeit nach Empfangen eines zuletzt empfangenen Paketsegmentes eines Datenpaketes zwischengespeicherte Paketsegmente des Datenpaketes gelöscht. Es kann sein, dass eine Kommunikationseinheit begonnen hat, über den geteilten Übertragungskanal Paketsegmente eines Datenpaketes zu senden, das Datenpaket jedoch beispielsweise aufgrund eines Fehlers nicht abschließend (durch Senden aller Paketsegmente) gesendet hat. Nach einer gewissen Zeit, die durch die Totzeit vorgebbar ist, kann damit gerechnet werden, dass das Datenpaket nicht mehr vollständig gesendet bzw. nicht mehr vollständig an der ersten Kommunikationseinheit empfangen werden kann. Das Löschen der korrespondierenden zwischengespeicherten Paketsegmente kann den Vorteil bringen, an der ersten Kommunikationseinheit unnötigerweise belegten Speicherplatz wieder verfügbar zu machen. Alternativ oder zusätzlich können bei einer Zwischenspeicherknappheit zwischengespeicherte Paketsegmente eines Datenpaketes mit dem niedrigsten Prioritätswert aller zwischengespeicherten Paketsegmente gelöscht werden. Die erste Kommunikationseinheit kann beispielsweise Paketsegmente von einer Vielzahl von Datenpaketen empfangen. Beispielsweise können erste Paketsegmente eines niedrig priorisierten Datenpaketes empfangen worden sein, wobei nicht alle Paketsegmente des niedrig priorisierten Datenpaketes empfangen wurden. Beispielsweise können in der Zwischenzeit höher priorisierte Datenpakete empfangen worden sein. Da die Speicherkapazität der ersten Kommunikationseinheit begrenzt sein kann, kann es von Vorteil sein, den begrenzten Speicher zum Zwischenspeichern von höher priorisierten Datenpaketen zu nutzen. Um beispielsweise ein vollständiges Empfangen einer höher priorisierten Nachricht zu ermöglichen, kann vorteilhafterweise Zwischenspeicherplatz dadurch freigegeben werden, niedriger priorisierte unvollständige Nachrichten bzw. dazu korrespondierende Paketsegmente gelöscht werden. Somit kann sich der Vorteil ergeben, dass das Empfangen von höher priorisierten Datenpaketen stets bevorzugt wird. Die Übertragung der Nachricht mit niedriger Priorität kann etwa zu einem späteren Zeitpunkt erneut gestartet werden.
  • In einem Ausführungsbeispiel wird die Totzeit in Abhängigkeit von dem Prioritätswert des Datenpaketes eingestellt. Beispielsweise kann es bei niedrig priorisierten Nachrichten geringere Auswirkungen haben, wenn diese nicht vollständig empfangen werden. Eine Totzeit kann deshalb bei niedrig priorisierten Nachrichten geringer gewählt werden als bei hoch priorisierten Nachrichten, bei denen Speicherplatz beispielsweise auch dann belegt bleiben sollte, selbst wenn eine Wahrscheinlichkeit, dass restliche Paketsegmente der hoch priorisierten Nachricht noch empfangen werden, durch eine längere Totzeit geringer werden kann. Damit kann sich der Vorteil ergeben, dass Zwischenspeicherplatz nicht durch Paketsegmente niedriger Priorität belegt wird, bei denen eine Wahrscheinlichkeit, dass weitere Paketsegmente zum Vervollständigen des Datenpakets noch empfangen werden, gering ist.
  • Gemäß einer Weiterbildung des Verfahrens zum Empfangen von Datenpaketen wird bei einer Zwischenspeicherknappheit ein Zwischenspeichern von Paketsegmenten neuer Datenpakete an der ersten Kommunikationseinheit ausgesetzt. Beispielsweise können ausschließlich Paketsegmente solcher Datenpakete zwischengespeichert werden, bei denen bereits weitere Paketsegmente der Datenpakete zwischengespeichert sind. Beispielsweise wird das Empfangen neuer Nachrichten ausgesetzt, wenn nur hoch priorisierte Paketsegmente zwischengespeichert sind. Somit kann sich der Vorteil ergeben, dass bereits teilweise empfangene Datenpakete nicht gelöscht werden und wieder komplett gesendet und empfangen werden müssen, sondern diese zunächst vollständig empfangen werden können, bis weitere Datenpakete neu empfangen werden können.
  • Die Erfindung betrifft ferner ein Computerprogramm zur Durchführung eines im vorigen oder nachfolgenden beschriebenen Verfahrens, wenn das Computerprogramm auf einem Computer, einem Prozessor, oder einer programmierbaren Hardwarekomponente abläuft.
  • Ein weiterer Aspekt der Erfindung betrifft eine Kommunikationseinheit zum Übertragen von Datenpaketen. Das Übertragen kann das Senden und/oder Empfangen eines Datenpaketes oder einer Vielzahl von Datenpaketen über einen geteilten Übertragungskanal betreffen, wobei die Kommunikationseinheit dazu ausgebildet ist, eines der vorhergehenden Verfahren auszuführen. Die Kommunikationseinheit weist beispielsweise ein Steuergerät auf, das ausgebildet ist, um zu versendende Datenpakete in Paketsegmente einer vorbestimmten Größe zu segmentieren. Beispielsweise kann die Datensegmentierung in einer MAC-Komponente oder einer Layer 2-Umgebung der Kommunikationseinheit durchgeführt werden. Eine Kommunikationseinheit kann beispielsweise zur Verwendung in Fahrzeugen ausgebildet sein. Kommunikationseinheiten können beispielsweise Mikrofone, Sensoren oder Steuergeräte sein. Der Vorteil an der Verwendung von erfindungsgemäßen Kommunikationseinheiten beispielsweise in Fahrzeugnetzen mit einem geteilten Übertragungskanal kann sein, dass eine maximale Latenzzeit von hoch priorisierten Datenpaketen oder Nachrichten verringert werden kann und z.B. eine Zuverlässigkeit korrespondierender Funktionen erhöht werden kann.
  • Ein weiterer Aspekt der Erfindung betrifft ein Kraftfahrzeug mit einem Kommunikationssystem, das einen geteilten Übertragungskanal umfasst. Das Kommunikationssystem weist zumindest eine vorgeschlagene Kommunikationseinheit auf. Das Kraftfahrzeug kann ein Fahrzeug im Sinne der vorhergehenden oder nachfolgenden Beschreibung sein. Das Kraftfahrzeug kann ein motorisiertes, mobiles Verkehrsmittel für den Transport von Personen und/oder Gütern sein, beispielsweise ein Landfahrzeug. Das Kraftfahrzeug ist beispielsweise ein Personenkraftwagen, ein Lastkraftwagen oder ein motorisiertes Zweirad. Das Kraftfahrzeug kann insbesondere dazu ausgebildet sein, autonomes und/oder teil-autonomes oder teil-automatisiertes Fahren zu ermöglichen, etwa unter Verwendung von durch Sensoren und/oder Steuergeräten ausgebildeten Kommunikationseinheiten. Für Funktionen eines autonom oder teilautonom fahrenden Fahrzeugs kann es vorteilhaft sein, Latenzzeiten bei der Übertragung von Datenpaketen hoher Priorität durch die Verwendung der Erfindung zu minimieren.
  • Zu der Erfindung gehören ebenso Weiterbildungen des erfindungsgemäßen Computerprogramms, der Kommunikationseinheit und des Kraftfahrzeugs, die eines oder mehrere Merkmale aufweisen, wie sie bereits im Zusammenhang mit den Weiterbildungen des erfindungsgemäßen Verfahrens beschrieben worden sind. Aus diesem Grund sind die entsprechenden Weiterbildungen des erfindungsgemäßen Computerprogramms, der Kommunikationseinheit und des Kraftfahrzeugs hier nicht noch einmal beschrieben, sondern gelten ebenso für diese als offenbart.
  • Im Nachfolgenden werden nunmehr Beispiele der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen näher beschrieben. Dazu zeigt:
    • 1 ein schematisches Flussdiagramm eines Beispiels eines prioritätsbasierten Verfahrens zum Senden eines Datenpakets unter Verwendung von Segmentierung;
    • 2 ein schematisches Flussdiagramm eines Beispiels eines prioritätsbasierten Verfahrens zum Empfangen eines Datenpakets unter Verwendung von Segmentierung;
    • 3 eine schematische Darstellung eines Senders zum Senden von Datenpaketen unter Verwendung von Segmentierung;
    • 4 eine schematische Darstellung eines Sendeprotokolls mit segmentierten Datenpaketen verschiedener Priorität;
    • 5 eine schematische Darstellung eines Empfängers zum Empfangen von Datenpaketen unter Verwendung von Segmentierung
  • 1 stellt ein schematisches Flussdiagramm eines Beispiels eines prioritätsbasierten Verfahrens 100 zum Senden eines Datenpakets unter Verwendung von Segmentierung dar. Gemäß dem Verfahren 100 wird ein Datenpaket von einer ersten Kommunikationseinheit eines Kommunikationssystems über einen mit zumindest einer weiteren Kommunikationseinheit geteilten Übertragungskanal gesendet. Den Kommunikationseinheiten wird ein Zugriff auf den geteilten Übertragungskanal gemäß einem Rundlauf-Verfahren bereitgestellt. Das Verfahren 100 umfasst ein Ermitteln 110 einer aktuellen Zugriffspriorität für den geteilten Übertragungskanal durch die erste Kommunikationseinheit, wobei sich die aktuelle Zugriffspriorität nach aktuell auf dem Übertragungskanal übertragenen Daten richtet. Das Verfahren 100 umfasst ferner ein Segmentieren 120 des Datenpaketes in Paketsegmente, wobei die Paketsegmente einen Prioritätswert aufweisen, der einem Prioritätswert des Datenpaketes entspricht. Schließlich erfolgt ein Senden 130 der Paketsegmente von der ersten Kommunikationseinheit über den geteilten Übertragungskanal, wobei die Paketsegmente sukzessive in Abhängigkeit von dem Prioritätswert und der aktuellen Zugriffspriorität gesendet werden.
  • In einem Beispiel wird das Verfahren 100 in einem Kraftfahrzeug ausgeführt. Beispielsweise kann eine erste Kommunikationseinheit ein Radarsensor sein, der zum Ausführen von Funktionen des automatisierten Fahrens des Kraftfahrzeugs Nachrichten oder Datenpakete zu einem Steuergerät sendet, etwa über einen geteilten 10 Mbit/s Ethernet-Kanal. Eine zweite Kommunikationseinheit kann ein Schalter zum Öffnen und Schließen eines Fensters sein, der ebenfalls Daten an das Steuergerät sendet. Wenn der Schalter erste Paketsegmente einer Nachricht gesendet hat, kann der Radarsensor die Nachricht des Schalters unterbrechen, um eine Nachricht zu senden, da der Radarsensor eine höhere Priorität haben kann als der Schalter. Beispielsweise kann der Schalter restliche Paketsegmente der Nachricht dann senden, wenn die Nachricht des Radarsensors vollständig gesendet ist.
  • Beispielsweise kann die erste Kommunikationseinheit ein Mikrofon sein, das Datenpakete zeitkritisch senden muss, um eine hohe Audioqualität zu gewährleisten. Es ist möglich, dass das Mikrofon einen Übertragungskanal mit einem Steuergerät teilt, das große Datenpakete versendet. Durch das vorgeschlagene Segmentieren ist es möglich, dass Nachrichten des Mikrofons die langen Nachrichten des Steuergeräts unterbrechen, etwa wenn das Mikrofon eine höhere Priorität als das Steuergerät aufweist. Durch die Segmentierung und das prioritätsbasierte Zuteilen von Zugriffsrechten kann z.B. eine vorteilhaft hohe Quality of Service (QoS, dtsch. Servicequalität) erreicht werden.
  • In 2 ist ein schematisches Flussdiagramm eines Beispiels eines prioritätsbasierten Verfahrens 200 zum Empfangen eines Datenpakets unter Verwendung von Segmentierung gezeigt. Gemäß dem Verfahren 200 zum Empfangen eines Datenpaketes an einer ersten Kommunikationseinheit wird das Datenpaket über einen geteilten Übertragungskanal eines Kommunikationssystems mit der ersten Kommunikationseinheit übermittelt. Das Verfahren 200 umfasst ein Empfangen 210 eines Paketsegmentes von einer weiteren Kommunikationseinheit des Kommunikationssystems. Verfahrensgemäß wird ein Prioritätswert des Paketsegmentes ermittelt 220 und es erfolgt ein Zwischenspeichern des Paketsegmentes der weiteren Kommunikationseinheit zugeordnet und in Abhängigkeit vom Prioritätswert des Paketsegmentes. Nach Empfangen aller das Datenpaket konstituierenden Paketsegmente erfolgt ein Ausgeben 230 des aus den empfangenen Paketsegmenten zusammengesetzten Datenpaketes.
  • Die Verfahren 100, 200 können beispielsweise in der industriellen Steuerungs- und Regelungstechnik sowie der Gebäudeautomatisierung und/oder der Bahntechnik sowie in der Luft- und Schifffahrt eingesetzt werden.
  • Es ist möglich, die Vernetzungstechnologie Ethernet beispielsweise mit einer Datenrate von 10 Mbit/s in Fahrzeugen einzusetzen. Im Gegensatz zu anderen Verfahren, etwa mit Datenraten von 100Mbit/s oder 1 Gbit/s, kann ein gemeinsam genutzter Übertragungskanal („shared medium“) zum Einsatz kommen. Das bedeutet, dass zu einem Zeitpunkt maximal ein Netzwerkteilnehmer auf das gemeinsame Übertragungsmedium senden darf. Einige Fahrzeugsysteme fallen in die Klasse der Echtzeitsysteme. Das bedeutet, dass beispielsweise zu einer fehlerfreien Übertragung nicht nur die Unversehrtheit von Daten, etwa der Datenpakete, sondern auch die Rechtzeitigkeit der Übertragung gehören kann. Um sicherzustellen, dass das gemeinsame Übertragungsmedium nicht unnötiger Weise von einer Nachricht, etwa einem Datenpaket, blockiert wird, die eine geringere Anforderung an das Zeitverhalten haben kann als andere Nachrichten oder Datenpakete, kann eine Priorisierung beim Buszugriff vorgenommen werden, etwa über eine Zugriffspriorität. Dadurch kann erreicht werden, dass Nachrichten geringer Priorität nur dann übertragen werden, wenn keine höherprioren (höher priorisierten) Nachrichten zur Übertragung anstehen. Bei der Auslegung des Zeitverhaltens des Netzwerkes (etwa eine maximale zu erwartende Übertagungslatenz) ist es jedoch möglich zu berücksichtigen, dass die Übertragung einer Nachricht mit geringer Priorität und maximal zulässiger Größe gerade begonnen wurde. Andere Buszugriffsverfahren lassen es möglicherweise nicht zu, eine solche Sendung auf dem gemeinsamen Übertragungskanal durch einen anderen Kommunikationsteilnehmer zu unterbrechen, wenn dieser eine Nachricht mit höherer Priorität absetzen möchte. Daher muss gemäß anderen Verfahren das Ende der laufenden Übertragung abgewartet werden, um dann eine neue Nachricht (z.B. mit hoher Priorität) zu senden. Die dadurch entstehende Wartezeit könnte reduziert werden, indem ausschließlich verhältnismäßig kleine Nachrichten mit kurzer Übertragungszeit übertagen werden.
  • Nachrichten oder Datenpakete, die in Fahrzeugnetzwerken übertragen werden, sind jedoch oft verhältnismäßig groß. In Ethernet-basierten Netzwerken können zur Übertragung größerer Datenmengen typischerweise Nachrichten (Ethernet-Frames) mit einer Größe von 1500 Byte verwendet werden. In einem Netzwerk mit einer Datenübertragungsrate von10 Mbit/s benötigt eine 1500 Byte Nachricht etwa 1,2 ms zur Übertragung. Das kann bedeuten, dass für die Übertragung einer hochprioren (hoch priorisierten) Nachricht z.B. immer eine zusätzliche Wartezeit von min. 1,2 ms für die Arbitrierung des Netzwerkes eingeplant werden muss.
  • Bei Verwendung des vorgeschlagenen Verfahrens kann die einzuplanende Wartezeit verringert werden. Das vorgeschlagene Verfahren kann für den Einsatz in Echtzeitsystemen genutzt werden, da es den Einsatz von Prioritäten berücksichtigt. Nachrichten hoher Priorität können dabei Nachrichten niedriger Priorität unterbrechen, ohne dass es dabei zu einem Datenverlust kommt. Nach der Unterbrechung kann die zuvor unterbrochene Nachricht z.B. fortgesetzt und in dem oder den Empfängern in die ursprüngliche Form zusammengesetzt werden, beispielsweise können Paketsegmente wieder in Datenpakete zusammengesetzt werden.
  • Beispiele des Verfahrens können in einem Ethernet-Basierten System im Media Access Controller (MAC) umgesetzt werden. Z.B. sieht der Ethernet-Standard IEEE 802.1 Q acht verschiedene Prioritäten vor, wobei eine Priorität 0 der niedrigsten und eine Priorität 7 der höchsten Priorität entspricht. MACs mit Prioritätsberücksichtigung können mehrere (typischerweise 8) Sendewarteschlangen besitzen. Ein Scheduler kann dafür sorgen, dass immer zuerst die Nachrichten aus der Warteschlange mit der höchsten Priorität übertragen werden, und erst, wenn diese Warteschlange leer ist, Nachrichten aus Warteschlangen niedriger Priorität übertragen werden. Der Empfang von priorisierten Nachrichten funktioniert z.B. nach einem ähnlichen Prinzip. Der MAC hat Zugriff auf mehrere (typischerweise 8) Empfangswarteschlangen. Sobald er eine Nachricht empfängt, kann sie in die zugehörige Warteschlange gelegt und eine Benachrichtigung (typischerweise ein Hardware-Interrupt) an einen Prozessor abgegeben werden. Zugehörige (Software-)Applikationen holen daraufhin z.B. die Daten aus der Empfangswarteschlange ab. Bei Applikationen mit geringen zeitlichen Anforderungen (bei denen z.B. große Kommunikations-Latenzen zulässig sind) erfolgt dies z.B. mit größerem zeitlichen Abstand als bei Applikationen mit sehr hohen zeitlichen Anforderungen (bei denen z.B. geringere Kommunikations-Latenzen gefordert sind). Das Vorhalten mehrerer Warteschlangen kann ermöglichen, dass Nachrichten geringer Priorität (werden z.B. mit größerem zeitlichen Abstand abgeholt) nicht die Empfangswarteschlange „verstopfen“ können. Damit die Übertragung von Nachrichten hoher Priorität stets zeitnah erfolgen kann, werden die Nachrichten (alle), z.B. Datenpakete, gemäß dem hier beschriebenen Verfahren beim Senden in kleinere Segmente (die Paketsegmente) aufgeteilt und im Empfänger wieder zusammengesetzt. Auch Nachrichten mit hoher Priorität können nach diesem Verfahren segmentiert werden, da möglicherweise mehrere Teilnehmer im Netz mit dieser Priorität senden wollen und dadurch die gleiche Chance haben (Faires Verfahren) innerhalb einer bestimmten Zeit mit dem Aussenden der Nachricht zu beginnen.
  • Zum Durchführen des vorgeschlagenen Verfahrens wird ein Sender vorgeschlagen, beispielsweise die Kommunikationseinheit zum Senden des Datenpaketes. Die zu sendende Nachricht kann sich an vordersten Position der Warteschlange mit der aktuell höchsten Priorität befinden. Der Segmentierungsmechanismus kann einen Segment-Header erzeugen, welcher zusammen mit einer zuvor definierten Anzahl von Bytes der Nachricht gesendet werden kann. Das tatsächliche Senden erfolgt erst, wenn der Netzwerkteilnehmer Sende-Zugriff auf das gemeinsame Kommunikationsmedium erhält (nach erfolgreicher Arbitrierung, beispielsweise über den Vergleich der Priorität des Datenpaketes mit der aktuellen Zugriffspriorität). Für ein Fahrzeug-Netzwerk mit einer Datenrate von 10Mbit/s ist z.B. 64Byte eine mögliche Segmentgröße. Die Übertragungszeit eines Segments inkl. Segment-Header kann dann etwa 54 µs betragen. Damit lassen sich z.B. auch schnelle Steuerungs- und Reglungssysteme realisieren. Nachdem das erste Segment der Nachricht versendet wurde, kann die Segmentierungseinrichtung das nächste Segment (Folgesegment) erzeugen und dieses ebenfalls versenden. Erst wenn z.B. alle Segmente der Nachricht gesendet wurden, wird die Nachricht aus der Sendewarteschlange entfernt. Das letzte Segment einer Nachricht kann kürzer sein als andere Segmente der Nachricht, es sei denn, die Nachricht ist z.B. genau ein Vielfaches der Segmentgröße.
  • Gemäß dem Verfahren ist nicht notwendig, dass der Sender alle Segmente, die zu einer Nachricht gehören, unmittelbar hintereinander sendet. Es ist z.B. vorstellbar, dass zu einem ersten Zeitpunkt die Nachricht mit der höchsten Priorität die Priorität 3 besitzt und der Netzwerkteilnehmer beginnt die ersten Segmente dieser Nachricht zu senden. Daraufhin kann jedoch in der Warteschlange mit der Priorität 4 eine weitere Nachricht erscheinen. Dadurch sendet der Teilnehmer z.B. zunächst keine weiteren Segmente der Priorität 3, sondern beginnt Segmente der Nachricht mit der Priorität 4 zu versenden. Auch dies kann z.B. wiederum unterbrochen werden, wenn z.B. Nachrichten mit der Priorität 5 oder höher zum Versenden eintreffen oder auftauchen. Die zuvor unterbrochene Nachricht z.B. mit der Priorität 3 wird z.B. erst dann fortgesetzt, wenn keine Nachrichten in den Warteschlangen höherer Priorität vorliegen. Vorteilhafterweise kann das System so ausgelegt sein, dass es 8 Prioritäten gibt. Dadurch kann eine rekursive Unterbrechung bis zu einer Tiefe von 7 erfolgen.
  • 3 zeigt entsprechend eine schematische Darstellung eines beispielhaften Senders 300 zum Senden von Datenpaketen unter Verwendung von Segmentierung. Ein Modul SQ kann bis zu 7 Sende-Warteschlangen für die verschiedenen Nachrichtenprioritäten (Prioritätswerte der Datenpakete) aufweisen. Beispielsweise sind drei Sende-Warteschlangen 310, 312, 314 für jeweilige Prioritätswerte 0, 1, bzw. 7 bereitgestellt. Eine Komponente S kann dazu ausgebildet sein, das richtige Segment aus dem jeweils ersten Element der Warteschlange mit den Nachrichten der höchsten Priorität auszuwählen. Dafür kopiert S z.B. eine vordefinierte Anzahl an Bytes aus der Nachricht in ein Segment. Eine Komponente P kann dazu ausgebildet sein, das Segment durch Hinzufügen eines Segment-Headers zu vervollständigen. Die Komponente S muss sich z.B. für alle Nachrichten (einmal pro Warteschlange) die Position merken (beispielsweise kann die jeweilige Position in einer Tabelle oder einem Speicher 320 vermerkt oder gespeichert werden), bis zu der die Daten der Nachricht bereits segmentiert und gesendet wurden. Beim nächsten Sendevorgang werden z.B. die Daten ab dieser Position gesendet.
  • Nachrichten geringerer Priorität können verfahrensgemäß von Nachrichten höherer Priorität unterbrochen werden und danach an der gleichen Stelle wieder fortgesetzt werden können. 4 zeigt dazu eine schematische Darstellung eines beispielhaften Sendeprotokolls 400 mit segmentierten Datenpaketen verschiedener Priorität 410. Paketsegmente können zeitlich hintereinander, z.B. einer Zeitachse 420 nach geordnet, gesendet werden. Ein erstes Datenpaket 430 kann eine Priorität 2 aufweisen, ein zweites Datenpaket 440 kann eine Priorität 3 aufweisen, ein drittes und ein viertes Datenpaket 450 und 460 können jeweils eine Priorität 4 aufweisen und ein fünftes Datenpaket 470 kann eine Priorität 5 aufweisen. Beispielsweise können zunächst zwei Paketsegmente 432, 434 des ersten Datenpakets 430 gesendet worden sein, wenn das zweite Datenpaket 440 zum Senden vorliegt. Beispielsweise kann ein erstes Paketsegment 442 des zweiten Datenpakets 440 gesendet worden sein, wenn das dritte Datenpaket 450 zum Senden vorliegt. Beispielsweise kann ein erstes Paketsegment 452 des dritten Datenpakets 450 gesendet worden sein, wenn das fünfte Datenpaket 470 zum Senden vorliegt. Dabei können Datenpakete höherer Priorität jeweils das Senden der Datenpakete niedrigerer Priorität unterbrechen. Beispielsweise kann das Senden des dritten Datenpaketes 450 nach dem Senden des ersten Paketsegmentes 452 unterbrochen werden, bis das gesamte fünfte Datenpaket 470 gesendet wurde. Nach komplettem Senden des fünften Datenpaketes 470 kann beispielsweise das dritte Datenpaket 450 durch Senden eines zweiten Paketsegmentes 454 fertiggestellt werden. Beispielsweise kann danach das Senden des zweiten Datenpaketes 440 durch Senden eines zweiten Paketsegmentes 444 sowie eines dritten Paketsegmentes 446 fortgesetzt werden. Beispielsweise kann während des Sendens des dritten Paketsegmentes 446 die vierte Nachricht 460 mit höherer Priorität vorliegen und das Senden des zweiten Datenpakets wiederum unterbrechen. Beispielsweise kann ein letztes Paketsegment 448 des zweiten Datenpaketes 440 gesendet werden, wenn das vierte Datenpaket 460 komplett gesendet wurde. Nach Abschließen des Sendens des zweiten Datenpaketes 440 können beispielsweise die restlichen Paketsegmente 436, 438 des ersten Datenpaketes 430 gesendet werden.
  • Beispielsweise kann ein Segment-Header an die Paketsegmente gefügt werden. Die Aufgabe des Segmentheaders kann darin bestehen, die Nachricht beim Empfänger wieder in der ursprünglichen Form zusammensetzen zu können. Der Segmentheader hat z.B. keinen Bezug zum Inhalt der Nachricht. Da ein Empfänger Nachrichten von mehreren Sendern empfangen kann, muss er zuordnen können, von welchem Sender ein jeweiliges Segment kommt. Jeder Sender hat z.B. bis zu 8 Sendewarteschlangen. Der Empfänger muss z.B. wissen, zu welcher Warteschlange bzw. zu welcher Priorität das Segment gehört. Innerhalb einer Warteschlange ist die Reihenfolge der Paket- oder Datensegmente eindeutig, so dass z.B. keine Informationen bzgl. der Reihenfolge übertragen werden müssen. Es kann vorteilhaft sein, das erste Segment einer Nachricht gesondert zu markieren. Dadurch kann z. B. erkannt werden, wann eine Nachricht abgeschlossen ist, und wann eine neue Nachricht beginnt. Wenn es z.B. Übertragungsfehler oder einen Synchronisationsverlust gibt, kann der Empfänger alle Segmente einer Warteschlange z.B. so lange verwerfen, bis er den Anfang einer neuen Nachricht empfängt. Das letzte Segment einer Nachricht kann z.B. ebenfalls markiert werden. Dadurch kann erkennt der Segmentierungsmechanismus im Empfänger erkennen, wann die Nachricht vollständig empfangen ist und weiterverarbeitet werden kann. Zum Beispiel wird daraufhin eine Benachrichtigung (z.B. ein Interrupt, dtsch. Unterbrechung) an eine Applikation ausgelöst. Die Identität des sendenden Netzwerkteilnehmers muss z.B. nur innerhalb des Netzwerksegments eindeutig sein. Die Netzwerkweite eindeutige Adressierung wird durch den Header der Nachricht z.B. Ethernet-Header erreicht. Dadurch reichen z.B. 10 Bit für die Identifizierung des Senders aus (für 1024 mögliche Netzwerkteilnehmer). Für die Adressierung der Warteschlange werden z.B. 3 Bit (0 bis 7) benötigt. Zusammen mit dem Bit, das anzeigt, ob es sich um ein Anfangs-Segment sowie dem Bit, das anzeigt, ob es sich um das Abschluss-Segment handelt, werden somit z.B. 15 Bit für den Segment-Header benötigt. Die Größe von Headern kann z.B. auf ein Vielfaches von 8 Bit ausgelegt werden. Dadurch wird z.B. der Byteweise Zugriff auf die Daten vereinfacht. Aus diesem Grund kann ein zusätzliches Bit eingeführt werden, das z.B. als Indikator für zukünftige Erweiterungen versendet werden kann. Der gesamte Segment-Header ist z.B. 2 Byte lang.
  • Beispielsweise ist ein Empfänger vorgeschlagen, der zum Empfangen von Paketsegmenten ausgebildet ist, welche er zu einem Datenpaket zusammensetzen kann. In einem Netzwerk mit einem gemeinsam genutzten Kommunikationsmedium empfängt z.B. jeder Teilnehmer (etwa jede Kommunikationseinheit) alle Datensegmente und muss selbst entscheiden, ob das Datensegment für ihn bestimmt ist oder verworfen werden kann. Die Information darüber für welchen oder für welche Empfänger die Nachricht bestimmt ist, steht z.B. in einem Header der Nachricht (z.B. nicht im Segment-Header). Bei Nachrichten im Ethernet-Format kann dies der Ethernet-Header sein. Gemäß dem hier beschriebenen Verfahren kann die Empfänger-Adresse immer im ersten Segment einer Nachricht sein. Beim Ethernet-Frame-Format belegt die Empfänger-Adresse z.B. die ersten 6 Byte des 18 Byte großen Headers. Dadurch sind etwa auch Segmente deutlich kleiner als 64 Byte möglich. Zunächst verwirft der Netzwerkteilnehmer z.B. Segmente, solange bis er ein Anfangs-Segment empfängt. Aus dem Anfangs-Segment oder Anfangs-Frame wird z.B. die Empfänger-Adresse extrahiert. Im Fall von Ethernet-Adressen kann dies eine Unicast-Adresse sein (adressiert genau einen Empfänger), eine Multicast-Adresse (adressiert mehrere Empfänger) oder eine Broadcast-Adresse (adressiert alle Empfänger) sein. Wenn der Empfänger ermittelt hat, dass die Nachricht zu der das empfangene Segment gehört empfangen werden muss, wird das Segment z.B. in einen internen Speicher des Segmentierungsmechanismus oder der Kommunikationseinheit kopiert. Zusätzlich extrahiert der Empfänger z.B. die Absender-ID sowie die Warteschlangen-ID aus dem Segmentierungs-Header. Der Empfänger kann für sich in einer „Liste teilweise empfangener Nachrichten“ in einem internen Speicher vermerken, dass er einen Teil einer Nachricht mit einer bestimmten Absender-ID und Warteschlangen-ID empfangen hat und/oder in welchem Speicherbereich (Puffer) das erste Segment abgelegt wurde. Zu dem Listeneintrag können z.B. Verweise auf Speicherbereiche weiterer empfangener Segmente ergänzt werden. Von diesem Zeitpunkt an wertet der Empfänger z.B. neben allen Anfangs-Segmenten die über das gemeinsame Kommunikationsmedium gesendet werden auch alle Folge-Segmente (Bit für Anfangs-Segment nicht gesetzt) aus, sobald Absender-ID und Warteschlangen-ID den zuvor abgespeicherten Werten entspricht. Wenn ein Folge-Segment empfangen wird, das zu einer bereits teilweise empfangenen Nachricht gehört, kann dies ebenfalls in ein Speicher-Segment des Empfängers kopiert werden. Die Adresse des Speichersegments wird z.B. hinter der Adresse des Anfangs-Segments in einer „Tabelle teilweise empfangener Nachrichten“ abgespeichert. Wenn ein Segment empfangen wird, welches das Bit Abschluss-Segmentgesetzt hat, wurde eine Nachricht z.B. vollständig empfangen. Daraufhin können alle Segmente der Nachricht aus dem Speicherbereich des Segmentierungsmechanismus in eine Empfangswarteschalge kopiert werden. Z. B. besitzt ein Netzwerkteilnehmer mehrere Empfangswarteschlangen z.B. acht, für jede Prioritäts-Klasse eine Warteschlange. In die Warteschlangen werden z.B. nur vollständig empfangene Nachrichten kopiert. Im Anschluss darauf kann eine Benachrichtigung (z.B. Interrupt) zur Verarbeitung der empfangenen Daten ausgelöst werden. Des Weiteren können zuvor verwendete Speicherbereiche innerhalb des Segmentierungsmechanismus (z.B. eines Zwischenspeichers des Empfängers) wieder freigegeben werden. Dies betrifft z.B. die Segment-Puffer aller zugehörigen Segmente sowie z.B. den Eintrag in eine „Liste teilweise empfangener Nachrichten“. Es ist etwa möglich, dass Nachrichten so klein sind, dass sie in ein einziges Segment passen. In diesem Fall kann im Segment-Header sowohl das Bit für Anfangs-Frame als auch für Abschluss-Frame gesetzt sein. Da beim Empfang eines solchen Segments nicht auf weitere Segmente gewartet werden muss, kann die Nachricht direkt in die Empfangswarteschlange kopiert werden. Wenn der Empfänger ein Anfangssegment empfängt, das die gleiche Absender-ID und Warteschlangen-ID enthält, wie eine bereits in der „Liste teilweise empfangener Nachrichten“ vorhanden ist, deutet dies z.B. auf einen Fehler hin, da offensichtlich die vorherige Nachricht aus der Warteschlange des Sendern nicht vollständig übertragen wurde oder etwa auf dem Weg verloren gegangen ist. Da die teilweise übertragene Nachricht möglicherweise nicht mehr vervollständigt werden kann, werden im Empfänger z.B. alle bisher empfangenen korrespondierenden Segmente verworfen. Stattdessen kann das neue Anfangs-Segment gespeichert werden. Dadurch kann etwa sichergestellt werden, dass der Speicherbedarf für teilweise übertragene Nachrichten nicht ins Unendliche wächst. Die Größe einer Nachricht (z.B. Ethernet-Frame) muss dabei kein vielfaches der maximalen Segmentgröße sein. Das bedeutet z.B., dass das letzte Segment einer Nachricht kleiner ist als die anderen Segmente. Sobald alle Segmente einer Nachricht empfangen wurden, wird der Inhalt aller Segmente z.B. in ein Nachrichten-Objekt in der Empfangs-Warteschlange kopiert.
  • 5 zeigt entsprechend eine schematische Darstellung eines beispielhaften Empfängers 500, z.B. eine Kommunikationseinheit zum Empfangen von Datenpaketen unter Verwendung von Segmentierung. Ein Filter F beobachtet z.B. alle auf dem gemeinsamen Übertragungsmedium übertragenen Segmente und entscheidet etwa, ob das Segment für die weitere Verarbeitung verwertet werden soll. Dies kann der Fall sein, wenn es sich um Anfangs-Segmente mit für den Netzwerkteilnehmer relevanter Zieladresse oder um Folge-Segmente handelt, für die es bereits Einträge in einer „Tabelle unvollständig empfangener Nachrichten“ T gibt. Im Fall eines Anfangs-Segments wird z.B. ein neuer Eintrag in der Tabelle T erzeugt. Der Inhalt des Segments kann in einen Segment-Puffer B geschrieben werden. Sobald alle Segmente einer Nachricht empfangen wurden, schreibt z.B. eine Komponente D die Nachricht in eine betreffende Empfangs-Warteschlange RQ. Beispielsweise sind drei Empfangs-Warteschlangen 510, 512, 514 mit jeweiligen Prioritäten 0, 1 und 7 bereitgestellt. Eine Komponente G kann in regelmäßigen Abständen den Inhalt der Tabelle T überprüfen und löscht beispielsweise Einträge (inkl. der Daten aus B) die zu toten Verbindungen gehören.
  • Beispiele zeigen Variations- und Optimierungsmöglichkeiten des Verfahrens, beispielsweise eine einstellbare maximale Segmentgröße. Die Größe von Paketsegmenten oder Segmenten kann etwa von einer Größe von 64 Byte abweichen. Abhängig davon, ob das Netzwerk auf maximalen Datendurchsatz oder auf minimale Kommunikationslatenz ausgelegt werden soll, kann es vorteilhaft sein diesen Wert anzupassen. Das Verfahren ist gemäß Beispielen so ausgelegt, dass es möglich ist, Segmente zu schicken, die kleiner als die maximale Segmentgröße sind. Dies ist z.B. beim Abschluss-Frame der Fall. Die Einstellung der maximalen Segmentgröße kann somit hauptsächlich auf den Sender Einfluss haben. Der Empfänger kann etwa bei Verwendung dieser Option in der Lage sein, beliebig große Segmente zu verarbeiten.
  • Eine beispielhafte Optimierung weist eine Kompatibilität mit unsegmentierten Nachrichten auf. Diese Verbesserung sieht vor, dass der Empfänger in der Lage ist, sowohl segmentierte Nachrichten (Paketsegmenten) als auch unsegmentierte Nachrichten (komplette Datenpakete) vom Bus oder Übertragungskanal zu lesen. Dadurch kann z.B. eine Rückwärtskompatibilität zu Systemen erreicht werden, die den Segmentierungsmechanismus noch nicht unterstützen. Es ist auch möglich, dass nur große Nachrichten segmentiert werden. Kleine Nachrichten (kleiner oder gleich der Segmentgröße) können dann etwa ohne den zusätzlichen Segment-header übertragen werden. Für die Umsetzung dieser Erweiterung ist es z.B. notwendig, dass der Empfänger unsegmentierte Nachrichten von Nachrichten-Segmenten unterscheiden kann. Dafür ist z.B. ein zusätzliches Merkmal nötig. Um eine Rückwärtskompatibilität zu erreichen ist es etwa nicht möglich, unsegmentierte Nachrichten mit einem zusätzlichen Merkmal zu verpassen. Eine Möglichkeit dies in einem Ethernet-Netzwerk zu erreichen ist etwa ein Anpassen der Ethernet-Frame-Präambel. Ein Ethernet-Frame beginnt etwa mit einer 64 Bit langen Folge in der Form „101010...1011“. Ein Nachrichten-Segment kann z.B. mit einer anderen Präambel beginnen. Ein Vorschlag dafür ist z.B. „10101000“. Diese vier Bit lange Präambel unterscheidet sich deutlich von der eines unsegmentierten Standardframes.
  • Eine beispielhafte Optimierung betrifft eine Checksumme im Segment-header. Übertragungsfehler im Bereich des Segment-Headers können beispielsweise unvorteilhaft sein, da die Daten unter Umständen in eine falsche Empfangswarteschlange einsortiert werden könnten. Daher kann vorgesehen werden, zusätzlich eine Prüfsumme zu Übertragen. Für Verfahren dieser Art kann eine 8Bit-CRC vorteilhaft sein.
  • Eine beispielhafte Optimierung betrifft einen Verzicht auf eine Absender-ID im Segment-Header. Abhängig davon, welches Buszugriffsverfahren eingesetzt wird kann unter Umständen auf eine Übertragung der Absender-ID im Segmentheader verzichtet werden. Beim Buszugriffsverfahren PLCA besitzt etwa jeder Netzwerkteilnehmer bereits eine ID, über welche die Reinfolge beim Buszugriff geregelt wird. Anhand des Zeitpunktes, zu dem das Nachrichtensegment auf dem Übertragungsmedium erscheint, kann der Netzwerkteilnehmer etwa eindeutig feststellen, von welchem anderen Teilnehmer das Segment kommt. Um diese Information auch für die Desegmentierung (Zusammensetzen der Paketsegmente) verwenden zu können, ist z.B. eine Anpassung der Schnittstelle zwischen der Ethernet-PHY-Komponente vorgesehen, welche den Netzwerkzugriff steuert und der Ethernet-MAC-Komponente, welche den hier beschriebenen Segmentierungsmechanismus sowie die Sende- und Empfangswarteschlangen enthält. Die normalerweise verwendete Schnittstelle zwischen dem PHY und dem MAC überträgt etwa nur den Inhalt der empfangenen Daten jedoch nicht die Position der Daten innerhalb des Kommunikationszyklus. Daher wird hier eine Erweiterung der Schnittstelle vorgeschlagen, um die Position der Daten innerhalb des Kommunikationszyklus zu übertragen. Dies kann durch zusätzliche Bits im Datenstromrealisiert werden.
  • Eine beispielhafte Optimierung betrifft eine Berücksichtigung der Absender-ID in CRC ohne explizite Übertragung. Selbst wenn die Absender-ID nicht innerhalb des Segment-Headers übertragen wird, kann es vorteilhaft sein, diese bei der Berechnung der CRC zu berücksichtigen. Dadurch kann erreicht werden, dass Fehler im Arbitrierungs-Verfahren, im PHY oder bei der Kommunikation zwischen PHY und MAC nicht dazu führen, dass fehlgeleitete Segmente in eine falsche Nachricht eingefügt werden.
  • Eine beispielhafte Optimierung betrifft die Regulierung des Speicherbedarfs im Empfänger. Der verfügbare Speicher im Segmentierungsmechanismus kann Prinzip-bedingt begrenzt sein, so dass es etwa abhängig von den empfangenen Datensegmenten zu einem Mangel an verfügbarem Speicher kommen kann. Im vorgeschlagenen Verfahren besitzt jeder Netzwerkteilnehmer z.B. acht Sendewarteschlangen und es können z.B. 1023 (10 Bit -1) weitere Teilnehmer im Netzwerk vorhanden sein. Wenn jeder Teilnehmer beginnt mit jeder Warteschlange eine große Nachricht z.B. 1500 Byte (entspricht 24 Segmenten a 64 Byte) an alle zusenden, müsste der Segmentierungsmechanismus in allen Empfängern in der Lage sein, mehr als 12 Mbyte Daten für unvollständig empfangene Nachrichten zwischen zu speichern. Dies wäre evtl. mit hohen Kosten verbunden. Deshalb werden Verfahren vorgeschlagen um mit deutlich weniger Speicher auszukommen. Empfangene Segmente teilweise übertragener Nachrichten sollten etwa so früh wie möglich verworfen werden, wenn davon ausgegangen werden kann, dass der fehlende Teil der Nachricht nicht mehr übertragen wird, um den Speicher für andere Nachrichten nutzen zu können.
  • Eine beispielhafte Optimierung betrifft dafür entsprechend eine Erkennung von verlorenen Segmenten. Eine Erweiterung des Verfahrens sieht vor, dass im Segmentheader ein Zähler enthalten ist. Wenn während der Übertragung einzelne Segmente verloren gehen, ist dies etwa an einem Sprung >1 im Wert des Zählers zwischen zwei benachbarten Segmenten zu erkennen. Es muss davon ausgegangen werden, dass die empfangene Nachricht unvollständig ist, selbst wenn irgendwann ein Abschluss-Segment empfangen wird. Unvollständig empfangene Nachrichten brauchen z.B. nicht an die nächst höheren Netzwerkschichtenweitergegeben zu werden, da sie dort evtl. sowieso verworfen werden. Die Optimierung sieht vor, alle empfangenen Segmente sowie den Eintrag in der „Liste teilweise empfangener Nachrichten“ zu löschen sobald ein Sprung im Zählerwert >1 erkannt wird.
  • Eine beispielhafte Optimierung betrifft das Erkennen von toten Verbindungen. Sollte ein Kommunikationspartner (Kommunikationseinheit) oder eine Netzwerkverbindung ausfallen, bevor eine Nachricht vollständig übertragen wurde, würde dies nach dem bisher beschriebenen Verfahren dazu führen, dass der Speicher der bereits empfangenen Segmente einer Nachricht bis zum nächsten Reset nicht mehr frei gegeben wird. Die Optimierung sieht vor, solche „toten Verbindungen“ zu erkennen und den blockierten Speicher freizugeben. Dafür benötigt der Segmentierungsmechanismus z.B. einen lokalen Zeitbezug um das Alter des letzten empfangenen Segments zu bestimmen und etwa beim Überschreiten eines Grenzwertes (maximal zulässiges Alter) den Speicher freizugeben. Der lokale Zeitbezug kann durch einen lokalen Oszillator und einen Zähler realisiert werden. Bei jedem Empfang eines Segmentes wird in der „Liste unvollständig empfangener Nachrichten“ der aktuelle Zählerwert als „Zeitpunkt des letzten empfangenen Segments“ abgespeichert. In regelmäßigen Abständen kann die „Liste unvollständig empfangener Nachrichten“ dahingegen überprüft werden, ob es z.B. Einträge gibt, bei denen die Differenz zwischen dem „Zeitpunkt des letzten empfangenen Segments“ und des aktuellen Zählerwertes einen vorgegebenen Wert überschreitet. Wenn dies der Fall ist, werden etwa der Eintrag sowie alle referenzierten Segmente gelöscht und der Speicher freigegeben. Der Wert (time out), ab wann eine Verbindung als „tot“ angesehen werden kann, kann über ein Register einstellbar sein.
  • Eine beispielhafte Optimierung betrifft eine Erkennung toter Verbindungen aufgrund niederpriorer (niedriger priorisierter) Segmente. Im zuvor beschriebenen Verfahren versendet ein Netzwerkteilnehmer nur Segmente einer Nachricht mit einer bestimmten Priorität, wenn keine Nachricht in einer Sende-Warteschlange höherer Priorität liegt. Wenn dieses Verhalten dem Empfänger bekannt ist und er ein Segment z.B. mit der Priorität 4 empfängt, kann er etwa darauf schließen, dass die Warteschlangen der Prioritäten 5, 6 und 7 leer sind. Wenn es in der „Liste unvollständig empfangener Nachrichten“ vom gleichen Sender Einträge mit dieser Priorität gibt, kann etwa davon ausgegangen werden, dass diese Nachrichten nicht mehr vervollständigt werden. Die Optimierung sieht vor, diese Einträge aus der Liste zu löschen und den assoziierten Speicher aller bisher empfangenen Segmente freizugeben.
  • Eine beispielhafte Optimierung betrifft einen warteschlangenabhängigen Time-out. In EchtzeitSystemen werden Nachrichten mit einer sehr kurzen zulässigen Kommunikations-Latenz in einer Warteschlange mit hoher Priorität (z.B. 7) und Nachrichten mit einer sehr langen zulässigen Kommunikations-Latenz in eine Warteschlange mit geringerer Priorität eingeordnet. Bei Nachrichten, die für eine Warteschlangemit hoher Priorität bestimmt sind (Information steht etwa im Segment-Header) kann die zulässige Wartezeit zum Erkennen einer toten Verbindung deutlich kleiner gewählt werden als bei Nachrichten die auch nach langer Wartezeit noch gültig sind. Daher kann es vorteilhaft sein, den Time-out-Wert für jede Warteschlange einzeln (typ. 7) einstellen zu können. Dadurch kann Speicher etwa früher freigegeben werden.
  • Eine beispielhafte Optimierung betrifft eine Verweigerung von neuen Nachrichten bei Speicherknappheit. Der normale Weg, nach dem Speicher freigegeben wird, ist das vollständige Empfangen einer Nachricht und das Übergeben der Daten an die nächste Protokollschicht (über die Empfangswarteschlange). Die Optimierung hat zum Ziel, bei drohender Speicherknappheit keine Speicher für neue Nachrichten (Anfangs-Segment) zu verbrauchen sondern nur noch zu versuchen bereits begonnene Nachrichten abzuschließen. Zu diesem Zweck wird etwa ein Grenzwert (treshold, dtsch. Schwelle) eingestellt. Sobald die Menge des Allokierten Speichers diesen Wert überschritten hat, werden z.B. vom Segmentierungsmechanismus Alle Anfangs-Segmente ignoriert und nur noch Folge- und Abschluss-Segmente zu bereits begonnenen Nachrichten verarbeitet.
  • Eine beispielhafte Optimierung betrifft ein Abbrechen von Verbindungen niedriger Priorität bei Speicherknappheit. Nachrichten, die mittels einer Warteschlange niedriger Priorität übertragen werden, erlauben z.B. eine zusätzliche Verzögerung (Kommunikations-Latenz). Daher ist es für solche Nachrichten manchmal möglich, die Übertragung im Falle einer Überlastung des Empfängers abzubrechen und zu einem späteren Zeitpunkt zu wiederholen. Bei Nachrichten, die nur eine sehr kurze Kommunikations-Latenz erlauben, ist dies etwa nicht möglich. Die Optimierung sieht daher vor, dass Segmente von Nachrichten niedriger Priorität gelöscht werden können, z.B. wenn der verfügbare Speicher nicht ausreicht um eine Nachricht hoher Priorität vollständig zu empfangen. Diese Maßnahme wird z.B. angewendet, wenn der verfügbare Speicher tatsächlich vollständig aufgebraucht ist. Durch das Löschen von teilweise empfangenen Nachrichten wird z.B. freier Speicher für mehrere neue Segmente geschaffen. Es kann die unvollständige Nachricht mit der geringsten Priorität gelöscht werden. Wenn mehrere Nachrichten mit der gleichen niedrigen Priorität vorhanden sind und der „Zeitpunkt des letzten empfangenen Segments“ bekannt ist, kann die Nachrichtgelöscht werden, deren Zeitpunkt am weitesten zurück liegt. Die Wahrscheinlichkeit ist am geringsten, dass diese Nachricht zeitnah vervollständigt wird.
  • Weitere Ausführungsbeispiele sind Computerprogramme zur Durchführung eines der hierin beschriebenen Verfahren, wenn das Computerprogramm auf einem Computer, einem Prozessor, oder einer programmierbaren Hardwarekomponente abläuft. Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-Ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einer programmierbaren Hardwarekomponente derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird.
  • Eine programmierbare Hardwarekomponente kann durch einen Prozessor, einen Computerprozessor (CPU = Central Processing Unit), einen Grafikprozessor (GPU = Graphics Processing Unit), einen Computer, ein Computersystem, einen anwendungsspezifischen integrierten Schaltkreis (ASIC = Application-Specific Integrated Circuit), einen integrierten Schaltkreis (IC = Integrated Circuit), ein Ein-Chip-System (SOC = System on Chip), ein programmierbares Logikelement oder ein feldprogrammierbares Gatterarray mit einem Mikroprozessor (FPGA = Field Programmable Gate Array) gebildet sein.
  • Das digitale Speichermedium kann daher maschinen- oder computerlesbar sein. Manche Ausführungsbeispiele umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem oder einer programmierbare Hardwarekomponente derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird. Ein Ausführungsbeispiel ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Programm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist.
  • Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Programm, Firmware, Computerprogramm oder Computerprogrammprodukt mit einem Programmcode oder als Daten implementiert sein, wobei der Programmcode oder die Daten dahin gehend wirksam ist bzw. sind, eines der Verfahren durchzuführen, wenn das Programm auf einem Prozessor oder einer programmierbaren Hardwarekomponente abläuft. Der Programmcode oder die Daten kann bzw. können beispielsweise auch auf einem maschinenlesbaren Träger oder Datenträger gespeichert sein. Der Programmcode oder die Daten können unter anderem als Quellcode, Maschinencode oder Bytecode sowie als anderer Zwischencode vorliegen.
  • Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.
  • Bezugszeichenliste
  • 100
    Verfahren zum Senden eines Datenpakets
    110
    Ermitteln einer Zugriffspriorität
    120
    Segmentieren des Datenpakets
    130
    Senden der Paketsegmente
    200
    Verfahren zum Empfangen eines Datenpakets
    210
    Empfangen eines Paketsegmentes
    220
    Ermitteln eines Prioritätswertes
    230
    Ausgeben eines Datenpaketes
    300
    Sender
    310
    erste Sende-Warteschlange
    312
    zweite Sende-Warteschlange
    314
    dritte Sende-Warteschlange
    320
    Speicher
    400
    Sendeprotokoll
    410
    Priorität
    420
    Zeitachse
    430
    erstes Datenpaket
    432, 434, 436, 438
    Paketsegmente des ersten Datenpaketes
    440
    zweites Datenpaket
    442, 444, 446, 448
    Paketsegmente des zweiten Datenpakets
    450
    drittes Datenpaket
    452, 454
    Paketsegmente des dritten Datenpakets
    460
    viertes Datenpaket
    470
    fünftes Datenpaket
    500
    Empfänger
    510
    erste Empfangs-Warteschlange
    512
    zweite Empfangs-Warteschlange
    514
    dritte Empfangs-Warteschlange
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 20160373362 A1 [0005]
    • US 20140341032 A1 [0006]
    • US 20080071924 A1 [0007]

Claims (15)

  1. Verfahren (100) zum Senden eines Datenpaketes (430, 440) von einer ersten Kommunikationseinheit (300) eines Kommunikationssystems über einen mit zumindest einer weiteren Kommunikationseinheit (500) geteilten Übertragungskanal, wobei den Kommunikationseinheiten ein Zugriff auf den geteilten Übertragungskanal gemäß einem Rundlauf-Verfahren bereitgestellt wird, das Verfahren (100) umfassend: Ermitteln (110) einer aktuellen Zugriffspriorität für den geteilten Übertragungskanal durch die erste Kommunikationseinheit (300), wobei sich die aktuelle Zugriffspriorität nach aktuell auf dem Übertragungskanal übertragenen Daten richtet; Segmentieren (120) des Datenpaketes (430, 440) in Paketsegmente (432, 434), wobei die Paketsegmente (432, 434) einen Prioritätswert (410) aufweisen, der einem Prioritätswert (410) des Datenpaketes (430, 440) entspricht; und Senden (130) der Paketsegmente (432, 434) von der ersten Kommunikationseinheit (300) über den geteilten Übertragungskanal, wobei die Paketsegmente (432, 434) sukzessive in Abhängigkeit von dem Prioritätswert und der aktuellen Zugriffspriorität gesendet werden.
  2. Verfahren (100) nach Anspruch 1, wobei das Senden des Datenpaketes (430, 440) unterbrochen wird, wenn die Zugriffspriorität den Prioritätswert der Paketsegmente (432, 434) übersteigt und/oder wobei das Senden des Datenpaketes (430, 440) fortgesetzt wird, wenn der Wert der Zugriffspriorität auf einen Wert sinkt, der gleich oder kleiner dem Prioritätswert der Paketsegmente (432, 434) ist.
  3. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei das Datenpaket einem ersten Datenpaket (430) mit einem ersten Prioritätswert entspricht und wobei das Senden von Paketsegmenten (432, 434) des ersten Datenpakets (430) unterbrochen wird, wenn Paketsegmente (442, 444) eines zweiten Datenpakets (440) mit einem höheren zweiten Prioritätswert in der ersten Kommunikationseinheit (300) verfügbar sind.
  4. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei das Segmentieren mittels eines zum Ansteuern des Übertragungskanals ausgebildeten Steuergerätes der ersten Kommunikationseinheit (300) durchgeführt wird.
  5. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei eine maximale Größe eines Paketsegmentes (432, 434) in Abhängigkeit von dem Übertragungskanal und/oder in Abhängigkeit von der Art der Kommunikationseinheiten (300, 500) des Kommunikationssystems eingestellt wird.
  6. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei die Paketsegmente (432, 434) über einen kabelgebundenen Übertragungskanal eines lokalen Kommunikationssystems übermittelt werden.
  7. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei die Paketsegmente (432, 434) einer physikalischen Schicht des Kommunikationssystems zur Verfügung gestellt werden.
  8. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei jedem Paketsegment (432, 434, 438) ein jeweiliger Segmentheader hinzugefügt wird, wobei der Segmentheader zumindest anzeigt, wenn ein Paketsegment (432) ein erstes oder ein letztes Paketsegment (438) eines Datenpaketes (430) ist.
  9. Verfahren (200) zum Empfangen eines Datenpaketes (430) an einer ersten Kommunikationseinheit (500), wobei das Datenpaket (430) über einen geteilten Übertragungskanal eines Kommunikationssystems mit der ersten Kommunikationseinheit (500) übermittelt wird, das Verfahren (200) umfassend: Empfangen (210) eines Paketsegmentes (432, 434) von einer weiteren Kommunikationseinheit (300) des Kommunikationssystems; Ermitteln (220) eines Prioritätswertes (410) des Paketsegmentes (432, 434) und Zwischenspeichern des Paketsegmentes (432, 434) der weiteren Kommunikationseinheit (300) zugeordnet und in Abhängigkeit vom Prioritätswert des Paketsegmentes (432, 434); und Ausgeben (230) des aus den empfangenen Paketsegmenten (432, 434) zusammengesetzten Datenpaketes (430) nach Empfangen aller das Datenpaket (430) konstituierenden Paketsegmente (432, 434, 436, 438).
  10. Verfahren (200) nach Anspruch 9, wobei nach einer vorgegebenen Totzeit nach Empfangen eines zuletzt empfangenen Paketsegmentes (432, 434) eines Datenpaketes (430, 440) zwischengespeicherte Paketsegmente (432, 434) des Datenpaketes (430, 440) gelöscht werden und/oder wobei bei einer Zwischenspeicherknappheit zwischengespeicherte Paketsegmente (432, 434) eines Datenpaketes (430, 440) mit dem niedrigsten Prioritätswert aller zwischengespeicherten Paketsegmente (432, 434) gelöscht werden.
  11. Verfahren (200) nach Anspruch 10, wobei die Totzeit in Abhängigkeit von dem Prioritätswert des Datenpaketes (430, 440) eingestellt wird.
  12. Verfahren (200) nach einem der Ansprüche 9 bis 11, wobei bei einer Zwischenspeicherknappheit ein Zwischenspeichern von Paketsegmenten (432, 434) neuer Datenpakete (430, 440) an der ersten Kommunikationseinheit (500) ausgesetzt wird.
  13. Computerprogramm zur Durchführung eines der Verfahren (100, 200) nach einem der Ansprüche 1 bis 12, wenn das Computerprogramm auf einem Computer, einem Prozessor, oder einer programmierbaren Hardwarekomponente abläuft.
  14. Kommunikationseinheit (300, 500) zum Übertragen eines Datenpaketes (430, 440) über einen geteilten Übertragungskanal, wobei die Kommunikationseinheit dazu ausgebildet ist, eines der vorhergehenden Verfahren (100, 200) gemäß einem der Ansprüche 1 bis 12 auszuführen.
  15. Kraftfahrzeug mit einem Kommunikationssystem, das einen geteilten Übertragungskanal umfasst, wobei das Kommunikationssystem zumindest eine Kommunikationseinheit (300, 500) gemäß Anspruch 14 aufweist.
DE102018206780.5A 2018-05-02 2018-05-02 Verfahren und Computerprogramm zum Senden eines Datenpaketes, Verfahren und Computerprogramm zum Empfangen eines Datenpaketes, Kommunikationseinheit und Kraftfahrzeug mit Kommunikationseinheit Granted DE102018206780A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102018206780.5A DE102018206780A1 (de) 2018-05-02 2018-05-02 Verfahren und Computerprogramm zum Senden eines Datenpaketes, Verfahren und Computerprogramm zum Empfangen eines Datenpaketes, Kommunikationseinheit und Kraftfahrzeug mit Kommunikationseinheit
CN201980044751.4A CN112313911A (zh) 2018-05-02 2019-04-12 用于发送数据包的方法和计算机程序、用于接收数据包的方法和计算机程序、通信单元和具有通信单元的机动车
PCT/EP2019/059367 WO2019211076A1 (de) 2018-05-02 2019-04-12 Verfahren und computerprogramm zum senden eines datenpaketes, verfahren und computerprogramm zum empfangen eines datenpaketes, kommunikationseinheit und kraftfahrzeug mit kommunikationseinheit
US17/052,277 US11855903B2 (en) 2018-05-02 2019-04-12 Method and computer program for sending a data packet, method and computer program for receiving a data packet, communication unit and motor vehicle with communication unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018206780.5A DE102018206780A1 (de) 2018-05-02 2018-05-02 Verfahren und Computerprogramm zum Senden eines Datenpaketes, Verfahren und Computerprogramm zum Empfangen eines Datenpaketes, Kommunikationseinheit und Kraftfahrzeug mit Kommunikationseinheit

Publications (1)

Publication Number Publication Date
DE102018206780A1 true DE102018206780A1 (de) 2019-11-07

Family

ID=66218090

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018206780.5A Granted DE102018206780A1 (de) 2018-05-02 2018-05-02 Verfahren und Computerprogramm zum Senden eines Datenpaketes, Verfahren und Computerprogramm zum Empfangen eines Datenpaketes, Kommunikationseinheit und Kraftfahrzeug mit Kommunikationseinheit

Country Status (4)

Country Link
US (1) US11855903B2 (de)
CN (1) CN112313911A (de)
DE (1) DE102018206780A1 (de)
WO (1) WO2019211076A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11855903B2 (en) 2018-05-02 2023-12-26 Volkswagen Aktiengesellschaft Method and computer program for sending a data packet, method and computer program for receiving a data packet, communication unit and motor vehicle with communication unit

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022542252A (ja) * 2019-07-25 2022-09-30 バテル メモリアル インスティチュート Canバス保護システムおよび方法
CN114286447A (zh) * 2021-12-27 2022-04-05 中国联合网络通信集团有限公司 调度优先级的调整方法、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003063428A1 (en) * 2002-01-18 2003-07-31 At & T Corp. System and method for handling prioritized data in a network
US20140341032A1 (en) * 2013-05-15 2014-11-20 Broadcom Corporation Support For Distinguished Minimum Latency Traffic Guard Band

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038217A (en) * 1996-06-27 2000-03-14 Xerox Corporation Rate shaping in per-flow output queued routing mechanisms for available bit rate (ABR) service in networks having segmented ABR control loops
US6859438B2 (en) * 1998-02-03 2005-02-22 Extreme Networks, Inc. Policy based quality of service
US7899052B1 (en) * 1999-01-27 2011-03-01 Broadcom Corporation Memory structure for resolving addresses in a packet-based network switch
US6564267B1 (en) * 1999-11-22 2003-05-13 Intel Corporation Network adapter with large frame transfer emulation
US6826186B1 (en) * 2000-03-07 2004-11-30 Cisco Technology, Inc. Method and apparatus for distributing packets across multiple paths leading to a destination
US7352770B1 (en) * 2000-08-04 2008-04-01 Intellon Corporation Media access control protocol with priority and contention-free intervals
WO2002028057A2 (en) * 2000-09-29 2002-04-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for transmitting data
EP1193938A1 (de) * 2000-09-29 2002-04-03 Telefonaktiebolaget L M Ericsson (Publ) Verfahren und Vorrichtung zur Datenübertragung
JP2002164916A (ja) * 2000-11-22 2002-06-07 Fujitsu Ltd 中継装置
US7136392B2 (en) * 2001-08-31 2006-11-14 Conexant Systems, Inc. System and method for ordering data messages having differing levels of priority for transmission over a shared communication channel
US7224703B2 (en) * 2001-12-12 2007-05-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for segmenting a data packet
CA2393373A1 (en) * 2002-07-15 2004-01-15 Anthony Gerkis Apparatus, system and method for the transmission of data with different qos attributes.
US20060153228A1 (en) * 2003-06-30 2006-07-13 Stahl Thomas A Method and apparatus for mapping prioritized qos packets to parameterized qos channels and vice versa
US20070008884A1 (en) * 2003-10-08 2007-01-11 Bob Tang Immediate ready implementation of virtually congestion free guarantedd service capable network
EP1832060A4 (de) * 2004-12-17 2009-11-04 Onechip Photonics Inc Kompakte lastausgeglichene vermittlungsstrukturen für auf pakete basierende kommunikationsnetze
US20080071924A1 (en) 2005-04-21 2008-03-20 Chilukoor Murali S Interrupting Transmission Of Low Priority Ethernet Packets
US7809009B2 (en) * 2006-02-21 2010-10-05 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US7948882B2 (en) * 2006-10-09 2011-05-24 Agere Systems Inc. Dual leaky bucket flow control method and system
JP5580418B2 (ja) * 2009-08-28 2014-08-27 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 単一のrlcエンティティについての拡張された多重化
US8443444B2 (en) * 2009-11-18 2013-05-14 At&T Intellectual Property I, L.P. Mitigating low-rate denial-of-service attacks in packet-switched networks
US9276978B2 (en) * 2012-12-31 2016-03-01 Microsoft Technology Licensing, Llc Program based caching in live media distribution
US10419367B2 (en) * 2013-01-25 2019-09-17 Hewlett Packard Enterprise Development Lp Queue buffer de-queuing
CN106063206B (zh) 2015-02-18 2020-09-22 英特尔公司 基于优先级和带宽分配的通信量类别仲裁
US20170149674A1 (en) 2015-11-23 2017-05-25 Qualcomm Incorporated Setting a lifetime limit of a data packet to minimize congestion and contention
US10291680B2 (en) * 2015-12-23 2019-05-14 Board Of Trustees Of Michigan State University Streaming media using erasable packets within internet queues
CN108282273B (zh) * 2017-01-05 2024-03-08 华为技术有限公司 分段重传的方法和装置
IL269277B2 (en) * 2017-05-18 2023-09-01 Liveu Ltd Device, system and method for multi-channel wireless communication for a vehicle
DE102018206780A1 (de) 2018-05-02 2019-11-07 Volkswagen Aktiengesellschaft Verfahren und Computerprogramm zum Senden eines Datenpaketes, Verfahren und Computerprogramm zum Empfangen eines Datenpaketes, Kommunikationseinheit und Kraftfahrzeug mit Kommunikationseinheit
US10873394B2 (en) * 2018-09-20 2020-12-22 The Johns Hopkins University Automatic repeat request network transport system for turbulent free-space optical communications links
CN113285876B (zh) * 2020-02-19 2024-04-23 中兴通讯股份有限公司 路由方法、路由装置及计算机可读存储介质
EP3989494A1 (de) * 2020-10-21 2022-04-27 Avantix Verfahren zur aggregation und steuerung von nachrichten über einen eingeschränkten bidirektionalen kommunikationskanal

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003063428A1 (en) * 2002-01-18 2003-07-31 At & T Corp. System and method for handling prioritized data in a network
US20140341032A1 (en) * 2013-05-15 2014-11-20 Broadcom Corporation Support For Distinguished Minimum Latency Traffic Guard Band

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11855903B2 (en) 2018-05-02 2023-12-26 Volkswagen Aktiengesellschaft Method and computer program for sending a data packet, method and computer program for receiving a data packet, communication unit and motor vehicle with communication unit

Also Published As

Publication number Publication date
CN112313911A (zh) 2021-02-02
US11855903B2 (en) 2023-12-26
WO2019211076A1 (de) 2019-11-07
US20210144099A1 (en) 2021-05-13

Similar Documents

Publication Publication Date Title
DE102018105007B4 (de) Verfahren zur Übertragung von Daten über einen Kommunikationskanal, entsprechend ausgelegte Vorrichtung und Kommunikationsschnittstelle sowie entsprechend ausgelegtes Computerprogramm
DE112020002509T5 (de) System und verfahren zur erleichterung der effizienten paketinjektion in einen ausgangspuffer in einer netzwerkschnittstellensteuerung (nic)
DE112019002669T5 (de) Datenverkehrsgestaltung auf plca-fähigen 10spe-netzwerken
DE69533695T2 (de) Busarbitrierungsverfahren für fernmeldevermittlung
DE102011122644B4 (de) Nachrichtenverlustverhinderung unter Verwendung eines Senderpuffers und Verkehrsgestaltung in durch ein Ereignis ausgelösten verteilten eingebetteten Echtzeitsystemen
WO2019211076A1 (de) Verfahren und computerprogramm zum senden eines datenpaketes, verfahren und computerprogramm zum empfangen eines datenpaketes, kommunikationseinheit und kraftfahrzeug mit kommunikationseinheit
EP3729738B1 (de) Verfahren zum senden von datenpaketen, steuergerät und system mit steuergerät
DE60028903T2 (de) Verfahren und Vorrichtung zur Kommunikationskontrolle
EP2847965B1 (de) Verfahren zur übertragung von daten in einem paketorientierten kommunikationsnetzwerk und entsprechend eingerichtetes teilnehmergerät an dem kommunikationsnetzwerk
EP2847936B1 (de) Verfahren zur übertragung von daten in einem paketorientierten kommunikationsnetzwerk und entsprechend eingerichtetes teilnehmergerät an dem kommunikationsnetzwerk
DE60125611T2 (de) Verfahren und Vorrichtung zur Kommunikation zwischen einem ersten und einem zweiten Netz
DE102009001821A1 (de) Protokollbeschleunigungsmodul mit Paketweiterleitungsfunktion und Betriebsverfahren für einen Senderempfänger zur schnellen Weiterleitung von Datenpaketen
DE102020105776A1 (de) Kostengünstige Überlastungsisolierung für verlustfreies Ethernet
WO2011161153A1 (de) Verfahren und vorrichtung zur datenübertragung mit variabler bitlänge
DE102019201230A1 (de) Teilnehmerstation für ein serielles Bussystem und Verfahren zum Senden einer Nachricht in einem seriellen Bussystem
JP2017147662A (ja) 中継装置
DE102011122646B4 (de) Nachrichtenverlustverhinderung durch Verwendung von Sender- und Empfängerpuffern in durch ein Ereignis ausgelösten verteilten eingebetteten Echtzeitsystemen
DE102012200475A1 (de) Zeit- und Prioritäts-gesteuerter Sende/Empfangsknoten für FlexRay und LIN
EP1805952B1 (de) Verfahren zur übermittlung von in form von datenpaketen zur verfügung stehenden daten
DE102008001548A1 (de) Teilnehmerknoten eines Kommunikationssystems, Kommunikationssystem und Verfahren zum Übertragen einer Nachricht in dem Kommunikationssystem
EP2538618A1 (de) Verfahren zur Übertragung von Datenpaketen
DE102012204536A1 (de) Netzwerk und Verfahren zur Übertragung von Daten über ein gemeinsames Übertragungsmedium
DE102010039488A1 (de) Zeit- und Prioritäts-gesteuerter Sende/Empfangsknoten
DE102015111438B3 (de) Verfahren zum Transport von Datenpaketen
EP0817427B1 (de) Adaptives kreditbasiertes Datenflusssteuerungsverfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012865000

Ipc: H04L0012927000

R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012927000

Ipc: H04L0047800000

R016 Response to examination communication
R018 Grant decision by examination section/examining division