AT520049A1 - Verfahren und Vorrichtung zum sequentiellen Übertragen von Daten aus mehreren Datenquellen - Google Patents

Verfahren und Vorrichtung zum sequentiellen Übertragen von Daten aus mehreren Datenquellen Download PDF

Info

Publication number
AT520049A1
AT520049A1 ATA50414/2017A AT504142017A AT520049A1 AT 520049 A1 AT520049 A1 AT 520049A1 AT 504142017 A AT504142017 A AT 504142017A AT 520049 A1 AT520049 A1 AT 520049A1
Authority
AT
Austria
Prior art keywords
data
transmission
data packets
time
available
Prior art date
Application number
ATA50414/2017A
Other languages
English (en)
Other versions
AT520049B1 (de
Inventor
Ing Peter Priller Dipl
C Baunach Marcel
Nager Markus
Original Assignee
Avl List Gmbh
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 Avl List Gmbh filed Critical Avl List Gmbh
Priority to ATA50414/2017A priority Critical patent/AT520049B1/de
Publication of AT520049A1 publication Critical patent/AT520049A1/de
Application granted granted Critical
Publication of AT520049B1 publication Critical patent/AT520049B1/de

Links

Classifications

    • 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/2416Real-time traffic
    • 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/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • 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/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • 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/28Flow control; Congestion control in relation to timing considerations
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling

Abstract

Um es zu ermöglichen, Daten aus einer Mehrzahl von Datenquellen über ein einziges Übertragungsmedium unabhängig voneinander zu übertragen wird erfindungsgemäß von simultan zur Übertragung bereitstehenden Datenpaketen jeweils benötigten Bandbreite ermittelt, und mit einer verfügbaren Bandbreite des Übertragungsmediums verglichen. Weiters werden Echtzeitkriterien / zeitunabhängige Kriterien der simultan zur Übertragung bereitstehenden Datenpakete ermittelt und falls die benötigte Bandbreite aller simultan zur Übertragung bereitstehenden Datenpakete die verfügbare Bandbreite des Übertragungsmediums nicht überschreitet / überschreitet, wobei die Echtzeitkriterien / zeitunabhängigen Kriterien von den zugehörigen Datenquellen abhängen. Die Echtzeitkriterien / zeitunabhängigen Kriterien der simultan zur Übertragung bereitstehenden Datenpakete werden verglichen und das nächste in das Übertragungsmedium einzuspeisenden Datenpakets auf Basis des Vergleichs der Echtzeitkriterien / zeitunabhängigen Kriterien ermittelt und eingespeist.

Description

Verfahren und Vorrichtung zum sequentiellen Übertragen von Daten aus mehreren Datenquellen
Die gegenständliche Erfindung betrifft ein Verfahren und eine Vorrichtung zum sequentiellen Übertragen von Datenpaketen von einem Sender über ein Übertragungsmedium an zumindest einen Empfänger.
Eine Datenquelle eines Senders und eine Datensenke zumindest eines Empfängers werden an Prüfständen, aber auch in anderen Anwendungen, zur Übertragung von Datenpaketen zur Datenkommunikation häufig mittels eines Übertragungsmediums miteinander verbunden, was beispielsweise durch einen Bus realisiert wird. Insbesondere können an einem Prüfstand beispielsweise Steuergeräte Datenquellen bereitstellen und zugehörige Testsysteme, beispielsweise Validation&Verification-Systeme (V&V-Systeme) wie Hardware-in-the-Loop-Systeme (HiL-Systeme) Datensenken, oder umgekehrt. Steuergeräte und Testsysteme kommunizieren typischerweise über ein Controller Area Network (CAN)-Bussystem. An ei nem CAN-Bus sind üblicherweise mehrere Knoten vorhanden, wobei jeder Knoten abwech selnd an die weiteren Knoten senden kann. Jeder Knoten kann Datenquellen und/oder Da tensenken aufweisen. Sind jedoch mehrere Datenquellen, z.B. mehrere Tasks die auf meh reren Kernen eines Mehrkern-Prozessors laufen, in einem Testsystem vorhanden, dann ist eine Übertragung der Datenpakete aus den vorhandenen Datenquellen über ein einziges Übertragungsmedium nicht mehr ohne weiteres möglich, da das Übertragungsmedium oft exklusiv nur einem Kern des Mehrkern-Prozessors und oft auch nur einem Task zugeordnet werden kann. Die Installation mehrerer Übertragungsmedien, z.B. in Form von BusVerbindungen, ist jedoch zu vermeiden, da dies einen zusätzlichen Material- und Installationsaufwand und zusätzliche Kosten darstellt. Üblicherweise kann über ein Übertragungsmedium allerdings nur ein Übertragungsprotokoll laufen, z.B. CANopen oder SAE J1939. Würde ein derartiges Protokoll zum Übertragen von Datenpaketen aus mehreren Datenquellen verwendet werden, so wären die von den Datenquellen gelieferten Datenpakete voneinander abhängig, beispielsweise durch Einordnen in ein gemeinsames Adress-Schema, etc. Oftmals ist es jedoch erforderlich, dass Datenpakete aus unterschiedlichen Datenquellen unabhängig voneinander über ein Übertragungsmedium übertragen werden müssen.
Die US2013051257 zeigt ein Verfahren, bei dem aus mehreren Datenquellen das nächste zu übertragende Datenpaket ausgewählt wird, indem die Deadlines der gleichzeitig verfügbaren Datenpakete der jeweiligen Datenquellen als Kriterium herangezogen werden. Damit ist das Verfahren jedoch „starr“ und es kann auf etwaige Fehler in der Übertragung nicht flexibel reagiert werden.
Es ist somit Aufgabe der gegenständlichen Erfindung, ein Verfahren anzugeben, das es er möglicht, Daten aus einer Mehrzahl von Datenquellen über ein einziges Übertragungsmedium unabhängig voneinander zu übertragen.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren zum sequentiellen Übertragen von Datenpaketen von einem Sender über ein Übertragungsmedium an zumindest einen
Empfänger gelöst, wobei der Sender eine Mehrzahl an Datenquellen aufweist, die jeweils simultan Datenpakete zur Übertragung bereit stellen, und das Verfahren folgende Verfah rensschritte a) bis f) umfasst: a) Ermittlung der von den simultan zur Übertragung bereitstehenden Datenpaketen jeweils benötigten Bandbreite, b) Vergleich der von den der simultan zur Übertragung bereitstehenden Datenpaketen zur Übertragung benötigten Bandbreite mit einer verfügbaren Bandbreite des Übertragungsmediums, c) Ermittlung von Echtzeitkriterien der simultan zur Übertragung bereitstehenden Datenpakete, falls die benötigte Bandbreite aller simultan zur Übertragung bereitstehenden Datenpakete die verfügbare Bandbreite des Übertragungsmediums nicht überschreitet, oder
Ermittlung von zeitunabhängigen Kriterien der simultan zur Übertragung bereitstehenden Datenpakete, falls die notwendige Bandbreite zumindest eines simultan zur Übertragung bereitstehenden Datenpakets die verfügbare Bandbreite des Übertragungsmediums über schreitet, wobei die Echtzeitkriterien und zeitunabhängigen Kriterien von den zugehörigen Datenquellen abhängen, d) Vergleich der Echtzeitkriterien oder zeitunabhängigen Kriterien der simultan zur Übertragung bereitstehenden Datenpakete, e) Bestimmung des nächsten in das Übertragungsmedium einzuspeisenden Datenpakets auf Basis des Vergleichs der Echtzeitkriterien oder zeitunabhängigen Kriterien, f) Einspeisen des nächsten in das Übertragungsmedium einzuspeisenden Datenpakets in das Übertragungsmedium.
Ebenso wird die Aufgabe durch einen Verbindungsmanager gelöst, der ausgestaltet ist die oben genannten Verfahrensschritte a) bis f) durchzuführen. Da die gleichzeitig zur Übertra gung bereitstehenden Datenpakete aus unterschiedlichen Datenquellen stammen, werden die Datenpakete aus mehreren Kanälen gemultiplexed, wobei jede Datenquelle einen Kanal darstellt. Mehrere Datenquellen liefern somit mehrere Informationsströme in Form von Datenpaketen. Diese Informationsströme werden miteinander verzahnt und daraufhin sequenti- ell über das gemeinsame Übertragungsmedium übertragen. Das erfindungsgemäße Verfahren entspricht somit einem Multiplexen von Datenpaketen aus einer Mehrzahl an Datenquellen auf ein gemeinsames Übertragungsmedium. Die Datenquellen können unabhängig voneinander agieren und müssen sich also nicht um das Verzahnen der Datenpakete oder um das Versenden der Datenpakete kümmern, sondern lediglich die Datenpakete bereitstellen und gegebenenfalls die zu erwartende Datenmenge pro Zeiteinheit bekannt geben. Für die
Datenquellen selbst besteht somit kein Unterschied zu einer herkömmlichen Verbindung, abgesehen von einer gegebenenfalls für eine Datenquelle geringeren nutzbaren Bandbreite auf dem Übertragungsmedium. Es liegen Datenpakete aus unterschiedlichen Datenquellen simultan, d.h. parallel, zur Übertragung bereit.
Es wird erfindungsgemäß, z.B. durch den Verbindungsmanager, entschieden, welche Da tenpakete welcher Datenquelle wann über das gemeinsame Übertragungsmedium übertra gen werden. Hierzu wird erst jeweils die von den simultan zur Übertragung bereitstehenden
Datenpaketen notwendige Bandbreite überprüft und mit einer verfügbaren Bandbreite des Übertragungsmediums verglichen. Ist die notwendige Bandbreite der jeweiligen Datenpakete kleiner gleich der verfügbaren Bandbreite des Übertragungsmediums, so wird auf Basis von Echtzeitkriterien der simultan zur Übertragung bereitstehenden Datenpakete bestimmt welches Datenpaket als nächstes in das Übertragungsmedium einzuspeisen ist. Diese Echtzeitkriterien der Datenpakete werden von den zugehörigen Datenquellen festgelegt und stellen eine Information hinsichtlich der Datenpakete dar, die von der Systemzeit (also der Zeit in der Anordnung zur Datenübertragung), bzw. dem Entstehungszeitpunkt der Datenpakete (der normalerweise auch in der Systemzeit gegeben ist) abhängt. Ist die notwendige Band breite der jeweiligen Datenpakete allerdings größer als die die verfügbare Bandbreite des Übertragungsmediums, so wird auf Basis von zeitunabhängigen Kriterien der simultan zur Übertragung bereitstehenden Datenpakete bestimmt, welches Datenpaket als nächstes in das Übertragungsmedium einzuspeisen ist. Zeitunabhängige Kriterien haben keine Relation zur Systemzeit, sondern hängen nur von der Datenquelle, bzw. dem Typ der Datenquelle ab. Somit kann flexibel auf temporäre Engpässe in der Bandbreite, d.h. der Übertragungskapazität des Übertragungsmediums reagiert werden. Ein solcher Engpass kann beispielsweise an einem CAN-Bus durch kurzfristige Reduktion der effektiven Datenrate auftreten. Diese Re duktion der Datenrate kann wiederum durch vermehrtes Auftreten von Re-Transmits in Folge hervorgerufen werden. Auf Basis dieser Echtzeitkriterien bzw. der zeitunabhängigen Kriterien werden die jeweils parallel anliegenden Datenpakete miteinander verzahnt und daraufhin sequentiell über das gemeinsame Übertragungsmedium übertragen. Die Übertragung kann sowohl kabelgebunden, als auch kabellos von Statten gehen, d.h, dass das Übertragungs medium sowohl durch ein Kabel, als auch durch einen Kanal „im Übertragungsmedium Luft“ repräsentiert werden kann.
Vorteilhafterweise werden die Verfahrensschritte a) bis f) wiederholt, bis kein zu übertragendes Datenpaket mehr zur Übertragung bereit steht. Damit können alle von den Datenquellen bereitgestellten Datenpakete abgearbeitet und übertragen werden.
Es können jedoch auch lediglich die Verfahrensschritte b) bis f) wiederholt werden, bis kein zu übertragendes Datenpaket mehr zur Übertragung bereit steht. Hierzu ist es hilfreich, wenn die zur Übertragung notwendige Bandbreite jeweils aller Datenpakete vorab bestimmt und beispielsweise zwischengespeichert wird.
Vorteilhafterweise kann pro Datenquelle ein Datenbuffer vorhanden sein, wobei die Daten quellen jeweils den zugehörigen Datenbuffer mit Datenpaketen nach einem First-In-First-
Out-Prinzip füllen, wobei die Datenpakete an der Anfangsposition des jeweiligen Datenbuf fers eingespeist werden und die zu übertragenden Datenpakete jeweils an der Endposition des jeweiligen Datenbuffers zur Übertragung bereit stehen. Die einzelnen Datenbuffer spei chern die jeweils die von den Datenquellen gelieferten Datenpakete zwischen, womit die
Datenpakete innerhalb eines Datenbuffers sequentiell und von Datenbuffer zu Datenbuffer parallel zur Übertragung zur Verfügung stellen. Da mehrere Datenbuffer parallel vorhanden sind, liegen somit pro Datenbuffer zu übertragende Datenpakete an, die vor der Übertragung über das Übertragungsmedium erfindungsgemäß verzahnt werden - natürlich nur, sofern der betreffende Datenbuffer nicht leer ist.
Als Echtzeitkriterien der Datenpakete werden Kriterien angesehen, die zeitkritisch sind, d.h. dass ein zeitliches Kriterium der Datenpakete meist in Relation zur Systemzeit relevant ist.
So können als Echtzeitkriterien beispielsweise Zykluszeiten und Entstehungszeitpunkte verwendet werden, aus welchen wiederum Deadlines der Datenpakete berechnet werden.
So kann als Echtzeitkriterium der Datenpakete beispielsweise zumindest einer der folgenden Werte verwendet werden: Zykluszeit; Entstehungszeitpunkt ; aus Zykluszeit und Entstehungszeitpunkt berechnete Deadlines der Datenpakete. Damit dienen die Deadlines wiederum als Echtzeitkriterien. Das bedeutet, dass aus den parallel zur Übertragung vorliegenden Datenpaketen der einzelnen Datenquellen bzw. gegebenenfalls Datenbuffer das Datenpaket mit der kürzesten Deadline ausgewählt und in das Übertragungsmedium eingespeist, d.h. übertragen wird. Deadlines beschreiben die spätest erlaubten Sendezeitpunkte der Datenpakete, d.h. den spätesten Zeitpunkt zu dem das Datenpaket auf das Kommunikationsmedium eingespeist werden soll. Insbesondere bei Verwendung von Datenbuffern können die Deadlines der Datenpakete, die bereits von den Datenquellen generiert wurden und in den Datenbuffern vorliegen auch in einer Deadlineliste zwischengespeichert werden und bei Bedarf, z.B. vom gegebenenfalls vorhandenen Verbindungsmanager, ausgelesen werden.
Die von den Datenpaketen benötigte Bandbreite kann aus den Echtzeitkriterien der Daten pakete abgeleitet werden und die verfügbare Bandbreite des Übertragungsmediums aus einer Systemzeit abgeleitet werden. Vorteilhafterweise werden die Echtzeitkriterien von der zugehörigen Datenquelle bestimmt. So können aus den Zykluszeiten und Entstehungszeitpunkten berechnete Deadlines der Datenpakete mit einer Systemzeit verglichen werden um auf eine Überschreitung der notwendigen Bandbreite der Datenpakete über die verfügbare Bandbreite des Übertragungsmediums zu schließen. Liegt eine Deadline eines noch nicht gesendeten Datenpakets vor der aktuellen Systemzeit, so ist die verfügbare Bandbreite des Übertragungsmediums kleiner als die notwendige Bandbreite des Datenpakets, dessen
Deadline verletzt wurde. Damit ist die verfügbare Bandbreite des Übertragungsmediums nicht ausreichend.
Diese zeitunabhängigen Kriterien der Datenpakete können jeweils durch eine festgelegte
Kritikalität repräsentiert werden. Eine hohe Kritikalität bedeutet, dass die Datenpakete sehr kritisch, z.B. sicherheitsrelevant, sind, wie z.B. die Sensordaten eines Airbags, einer Brems etc. Dem gegenüber bedeutet eine niedrige Kritikalität, dass die Datenpakete unkritisch sind wie beispielsweise von einer Komfort- oder Unterhaltungsfunktion geliefert. Die Kritikalität der Datenpakete ist von der zugehörigen Datenquelle abhängig oder wird von der Daten quelle festgelegt oder wird der Datenquelle zugeordnet und wird somit z.B. von der Daten quelle an den Verbindungsmanager übermittelt. Datenpakete mit einer höheren Kritikalität werden somit zuerst übertragen, die Übertragung der "unkritischeren" Datenpakete wird ver zögert. Die Kritikalitäten der Datenpakete können, insbesondere bei Verwendung von Datenbuffern, in einer Kritikalitätenliste zwischengespeichert und bei Bedarf ausgelesen werden, ähnlich der oben beschriebenen Deadlineliste.
Eine Ermittlung und ein Vergleich einer von den Datenpaketen notwendige Bandbreite und einer (im fehlerfreien Fall) verfügbaren Bandbreite des Übertragungsmediums kann bereits vor Verfahrensschritt a), vorzugsweise vor erstmaliger Durchführung des Starts des Verfahrens durchgeführt werden. Damit wird im Rahmen eines Vorab-Tests eruiert, obdie Menge an zu übertragenen Datenpaketen die Kapazität des gemeinsam genützten Übertragungsmediums zumindest im fehlerfreien Fall nicht überschreitet. Ist die Bandbreite des Übertragungsmediums nicht ausreichend, so kann ein Fehlersignal ausgegeben werden.
Das erfindungsgemäße Verfahren kann zur Datenübertragung auf einem Prüfstand mit ei nem Testsystem und einem Steuergerät (ECU) eines Kraftfahrzeugs verwendet werden, wobei sich der Sender/und oder der Empfänger auf dem Testsystem und/oder dem Steuergerät befinden können und über einen Bus als Übertragungsmedium verbunden sind. Testsysteme können beispielsweise Validierung&Verifikation-Systeme, wie PUMA Open, CAMEO online, Hardware-In-the-Loop-Systeme usw. darstellen. Prinzipiell ist die Verwen dung des Verfahrens jedoch in allen Systemen vorstellbar, die mehrere Datenquellen auf
Senderseite aufweisen, welche Datenpakete liefern, welche unabhängig voneinander über ein Übertragungsmedium übertragen werden sollen.
Die gegenständliche Erfindung wird nachfolgend unter Bezugnahme auf die Figuren 1 bis 4 näher erläutert, die beispielhaft, schematisch und nicht einschränkend vorteilhafte Ausgestaltungen der Erfindung zeigen. Dabei zeigt
Fig.1 einen Prüfstand mit einem Testsystem und einem Steuergerät Fig.2 ein Übertragungssystem mit Datenbuffern Fig.3 die Zusammensetzung der Datenbuffer
Fig.4a-s eine Übertragung von Datenpaketen
Fig.5a-p eine Übertragung von Datenpaketen im Fehlerfall
Fig.1 zeigt eine beispielhafte Verwendung des erfindungsgemäßen Verfahrens zum Übertragen von Datenpaketen auf einem Prüfstand 1, bei dem ein Steuergerät als Sender 3 und ein Testsystem als Empfänger 2 vorhanden sind und über einem Datenbus als Übertragungs medium 5 verbunden sind. Hier wird leidglich beispielhaft und zur einfacheren Veranschaulichung angenommen, dass das Steuergerät nur einen Sender 3 darstellt, d.h. die Mehrzahl an Datenquellen Q1, Q2, Q3 beinhaltet, und das Testsystem einen Empfänger 2 darstellt und damit eine Datensenke S umfasst. Damit werden Datenpakete DP von den verschiedenen Datenquellen Q1, Q2, Q3 vom Steuergerät als Sender 3 an das Testsystem als Empfänger 2 übertragen. Natürlich könnten sich die Mehrzahl von Datenquellen Q1, Q2, Q3 auch auf Seite des Testsystems, sowie die Datensenke S auf Seite des Steuergeräts befinden. Gleichfalls ist es auch denkbar, dass mehrere Sender 3, auch jeweils mit mehreren Datenquellen Q1, Q2, Q3, gleichzeitig über das Übertragungsmedium 5 übertragen wollen. Ebenso ist eine bidirektionale Verbindung vorstellbar, d.h. dass sowohl Testsystem und Steuergerät jeweils Sender 3 und Empfänger 2 sind, d.h. Datenquellen Q1, Q2, Q3 und Datensenken S aufweisen, die miteinander über das Übertragungsmedium 5, hier den Datenbus, kommunizieren.
Das Steuergerät als Sender 3 umfasst beispielsweise mehrere Prozessorkerne, auf denen verschiedene Softwaretasks des Steuergerätes laufen und die jeweils eine Datenquelle Q1, Q2, Q3 darstellen. Das Testsystem 2 als Empfänger stellt beispielhaft eine Validie- rungs&Verifikations-Applikation oder ein Hardware-in-the-Loop-System dar und beinhaltet beispielsweise einen Prozessorkern, auf dem ein Betriebssystem, in der Regel eine EchtzeitBetriebssystem, läuft als Datensenke S. Natürlich wären auch mehrere Prozessorkerne, d.h. Datensenken S mit z.B. getrennten Betriebssystemen auf Seite des Testsystems, d.h. des
Empfängers 2 möglich. Die Anzahl der Datensenken S spielt für das erfindungsgemäße Verfahren jedoch keine Rolle, da das hauptsächliche Problem in der Einspeisung von parallel zur Übertragung verfügbaren Datenpakete DP aus unterschiedlichen Datenquellen Q1, Q2, Q3 darstellt. Es werden somit von den Datenquellen Q1, Q2, Q3 Datenpakete DP simultan zur Übertragung zur Verfügung gestellt, die über das Übertragungsmedium 5 zu übertragen sind. Ein Verbindungsmanager 4 übernimmt in diesem Fall die Bestimmung der Reihenfolge der Einspeisung dieser Datenpakete DP in das Übertragungsmedium 5, wie in Folge be schreiben wird. Der Verbindungsmanager 4 ist beispielsweise eine Softwareerweiterung ei nes Betriebssystems des Senders 3, oder ein eigener Software-Task, der mit höherer Priorität als die sendenden Software-Tasks abgearbeitet wird, könnte aber auch als zusätzliche Hardware mit entsprechender Software ausgeführt sein.
Jede Datenquelle Q1, Q2, Q3 stellt vorteilhafterweise ein Datenbuffer DS1, DS2, DS3 zur
Verfügung, wobei der jeweilige Datenbuffer DS1, DS2, DS3 aus aneinandergereihten Datenpaketen DP besteht, wie in Fig.2 dargestellt. Die jeweiligen Datenbuffer DS1, DS2, DS3 werden jeweils von einer Datenquelle Q1, Q2, Q3 nach dem FIFO-Prinzip (First-In-First-Out) mit Datenpaketen DP befüllt. Das bedeutet, dass die von der jeweiligen Datenquelle Q1, Q2, Q3 erzeugte Reihenfolge der Datenpakete DP im jeweiligen Datenbuffer DS1, DS2, DS3 beibehalten wird. Der jeweilige Datenbuffer DS1, DS2, DS3 wird also an einen Anfangsposition DS1a, DS2a, DS3a mit Datenpaketen DP gefüllt, die an einer Endposition DS1e, DS2e, DS3e des Datenbuffers DS1, DS2, DS3 entnommen werden. Innerhalb eines Datenbuffers DS1, DS2, DS3 können mehrere Datenpakete DP einer Datenquelle Q1, Q2, Q3 Datenrei hen DR bilden, wie auch in Fig.2 symbolisiert. Diese Datenreihen DR können beispielsweise notwendig sein, weil die von einer Datenquelle Q1, Q2, Q3 gelieferten Rohdaten nicht als ein Datenpaket DP übertragen werden können und somit in Form von mehreren Datenpaketen DP als Datenreihe DR übertragen werden. Damit würden die Datenpakete DP einer Daten reihe DR den Rohdaten entsprechen. Somit sind mehrere Datenbuffer DS1, DS2, DS3 mit einer oder mehreren Datenreihen DR, die wiederum aus einem oder mehreren Datenpake ten DP bestehen, vorhanden, wobei pro Datenbuffer DS1, DS2, DS3 ein Datenpaket DP am Ende DS1e, DS2e, DS3e zur Übertragung bereit steht. In Fig. 2 sind drei Datenquellen Q1, Q2, Q3 mit jeweils einem Datenbuffer DS1, DS2, DS3 vorhanden. Der erste Datenbuffer DS1 besteht aus drei Datenreihen DR zu jeweils drei Datenpaketen DP, der zweite Daten buffer DS2 besteht aus drei Datenreihen DR zu jeweils zwei Datenpaketen DP und der dritte Datenbuffer DS3 besteht aus drei Datenreihen DR zu jeweils einem Datenpaket DP. Damit weist die erste Datenquelle Q1 und in dieser Ausführung damit auch der erste Datenbuffer DS1 ein erstes Datenvolumen von V1=3 auf, die zweite Datenquelle, bzw. hier der zweite Datenbuffer DS2 ein zweites Datenvolumen von V2=2 und die dritte Datenquelle, bzw. hier auch der dritte Datenbuffer DS3 ein drittes Datenvolumen V3=3. Weiters weisen die Datenpakete DP der ersten DatenquelleQ1 / des ersten Datenbuffers DS1 beispielsweise eine erste Zykluszeit tQ1=1s und eine erste Kritikalität C1=7 auf, die Datenpakete DP der zweiten Datenquelle Q1 / des zweiten Datenbuffer DS1 eine zweite Zykluszeit tQ2=0,7s und eine zweite Kritikalität C2=6 auf und die Datenpakete DP der dritten Datenquelle Q3/ des dritten
Datenbuffers DS3 eine dritte Zykluszeit tQ3=0,7s und eine dritte Kritikalität C3=9 auf (Fig.3).
Die Zykluszeiten tQ1, tQ2, tQ3 und Volumina V1, V2, V3 werden von den zugehörigen Datenquellen Q1, Q2, Q3 bestimmt. Die Kritikalitäten C1, C2, C3 der Datenpakete DP sind somit wie auch die Zykluszeiten tQ1, tQ2, tQ3 von der zugehörigen Datenquelle Q1, Q2, Q3 abhängig. Wird ein Datenpaket DP aus einem Datenbuffer DS1, DS2, DS3 vom Verbindungsmanager 4 über das Übertragungsmedium 5 an die Datensenke S übertragen, so rückt das nächste Datenpaket DP an das Ende DS1e, DS2e, DS3e nach, bis der zugehörige Daten buffer DS1, DS2, DS3 keine Datenpakete DP aufweist und damit leer ist. In weiterer Folge wird von der Verwendung von Datenbuffern DS1, DS2, DS3 ausgegangen. Das erfindungs gemäße Verfahren wäre natürlich auch anwendbar, wenn die Datenpakete DP ohne Zwi schenspeicherung in Datenbuffern DS1, DS2, DS3 und direkt von den Datenquellen Q1, Q2, Q3 zur Übertragung über das Übertragungsmedium 5 parallel zur Verfügung gestellt werden.
Es ist in diesem Ausführungsbeispiel die Funktion des Verbindungsmanagers 4 die Abarbeitungsreihenfolge der Datenpakete DP der Datenbuffer DS1, DS2, DS3 zu organisieren, d.h. die Reihenfolge in welcher die von den Datenquellen Q1, Q2, Q3 gelieferten Datenpakete DP, die parallel in Datenbuffern DS1, DS2, DS3 vorliegen, in das Übertragungsmedium 5 eingespeist werden. Zu diesem Zweck werden dem Verbindungsmanager 4 von den Datenquellen Q1, Q2, Q3 in erster Linie als primäres Echtzeitkriterium die Zykluszeiten tQ1, tQ2, tQ3 der Datenpakete übermittelt. Weiters werden von den Datenquellen Q1, Q2, Q3, die Datenvolumen V1, V2, V3 und die Kritikalitäten C1, C2, C3 der Datenpakete DP übermittelt.
Die Zykluszeiten tQ1, tQ2, tQ3, die Datenvolumen V1, V2, V3 und die Kritikalitäten C1, C2, C3 der Datenpakete DP, welche aus einer Datenquelle Q1, Q2, Q3 stammen sind identisch. Das bedeutet in Folge bei einer Verwendung von Datenbuffern DS1, DS2, DS3, dass alle Datenpakete DP aus einem Datenbuffer DS1, DS2, DS3 identische Zykluszeiten tQ1, tQ2, tQ3, die Datenvolumen V1, V2, V3 und die Kritikalitäten C1, C2, C3 aufweisen.
Da mit Vorlage dieser Kriterien (Zykluszeiten tQ, Datenvolumen V und Kritikalitäten C1, C2, C3) die Kommunikationsverbindung prinzipiell eingerichtet ist, kann weiters vorab überprüft werden ob die Bandbreite BM des Übertragungsmediums größer als die für die Übertragung der Datenpakete DP notwendige Bandbreite BD ist, d.h. ob die Bandbreite des Übertragungsmediums BM ausreichet, um eine Übertragung von den Datenquellen Q1, Q2, Q3 zur Verfügung gestellten Datenpakete DP zu ermöglichen.
Es werden als Echtzeitkriterien neben den Zykluszeiten tQ1, tQ2, tQ3 auch die Entstehungs zeitpunkt tC der Datenpakete DP festgehalten und hier an den Verbindungsmanager 4 übermittelt. Die Entstehungszeitpunkte tC der Datenpakete DP sind innerhalb einer Datenreihe DR einheitlich und werden von der Systemzeit t abgeleitet. Das bedeutet, dass bei Erzeugung eines Datenpakets DP in der Datenquelle Q1, Q2, Q3ein „Schnappschuss“ der Sys- temzeit t gemacht wird und damit den Entstehungszeitpunkt tC des Datenpaketes DP ergibt. Zur einfacheren Darstellung wird im vorliegenden Ausführungsbeispiel angenommen, dass alle Datenpakete DP eines Zyklus praktisch gleichzeitig entstehen, also den gleichen Entstehungszeitpunkt tC haben. Es werden nun anhand der Zykluszeiten tQ1, tQ2, tQ3 und der Entstehungszeitpunkte tC die Deadlines D1, D2, D3, also die spätest erlaubten Sendezeitpunkte, der Datenpakete DP berechnet. Die Deadlines D1, D2, D3 ergeben sich aus der Summe der jeweiligen Zykluszeit tQ1, tQ2, tQ3 und dem Entstehungszeitpunkt tC des betrachteten Datenpakets DP. Die Deadlines D1, D2, D3 können also beim Bereitstellen der Datenpakete DP durch die Datenquellen Q1, Q2, Q3 aus den jeweiligen Entstehungszeitpunkten tC und Zykluszeiten berechnet werden. Wenn, wie im vorliegenden Ausführungsbeispiel Datenbuffer DS1, DS2, DS3, verwendet werden, dann können die Deadlines D1, D2, D3 auch in einer Deadlineliste zwischengespeichert werden und bei Bedarf ausgelesen werden. Eine Datenreihe DR besteht aus mehreren Datenpaketen DP mit dem selben Entstehungszeitpunkt tC, womit auch die Deadlines D1, D2, D3 der Datenpakete DP einer Datenreihe DR einheitlich sind. Es kann beispielsweise auch jedes Datenpaket DP einen individuellen Entstehungszeitpunkt tC haben. Damit wäre jede Datenreihe DR nur ein Datenpaket DP lang, wie es hier bei den der dritten Datenquelle Q3 zugehörigen Datenpaketen DP der Fall ist. Der Verbindungsmanager 4 führt diese Prüfung der Echtzeitkriterien Zykluszeiten tQ1, tQ2, tQ3 und Entstehungszeitpunkt tC beispielsweise dann durch, wenn ein neues Datenpaket DP hier innerhalb von einer Datenquelle Q1, Q2, Q3 erzeugt wird und gegebenenfalls in einen Datenbuffer DS1, DS2, DS3 eingegliedert wird.
Dem Verbindungsmanager 4 stehen somit die Kriterien Zykluszeiten tQ1, tQ2, tQ3, Datengrößen V1, V2, V3, Kritikalitäten C1, C2, C3und Entstehungszeitpunkte tC von jedem parallel zur Übertragung verfügbaren Datenpaket DP der Datenreihen DR der zugehörigen Datenbuffer DS1, DS2, DS3 der zugehörigen Datenquellen Q1, Q2, Q3 zur Verfügung. Die zur Übertragung verfügbaren Datenpakete DP befinden sich hier am Ende DS1e, DS2e, DS3e der Datenbuffer DS1, DS2, DS3. Ebenso wurden wie oben beschrieben die Deadlines D1, D2, D3der Datenpakete DP berechnet. Die Deadlines D1, D2, D3 können auch beim Entstehungszeitpunkt tC, also beim Einfügen in die Datenbuffer DS1, DS2, DS3, bestimmt werden. Die vollen Datenbuffer DS1, DS2, DS3 sind in Fig. 4a nochmals dargestellt, wobei für die Beschreibung des erfindungsgemäßen Verfahrens in weiterer Folge die Werte für Zykluszeiten tQ1, tQ2, tQ3, Datenvolumen V1, V2, V3, Kritikalitäten C1, C2, C3, sowie berechnete Deadlines D1, D2, D3 der Datenpakete aus Fig. 3 herangezogen werden. Für den nächsten Schritt des Verfahrens relevant sind natürlich immer nur die Deadlines D1, D2, D3 der Datenpakete DP, die sich in den Datenbuffern DS1, DS2, DS3 rechts, am Ende DS1e, DS2e, DS3e befinden.
In den Fig.4a-4s wird der Ablauf der Einspeisung der Datenpakete DP durch den Verbin dungsmanager 4 veranschaulicht, wobei bereits in das Übertragungsmedium 5 eingespeiste Datenpakete DP durchgestrichen markiert sind. Es wird in Fig. 4 von einem fehlerfreien Fall ausgegangen, d.h. dass die notwendige Bandbreite aller Datenpakete DP und damit auch jeweils aller simultan zur Übertragung bereitstehenden Datenpakete DP die verfügbare
Bandbreite des Übertragungsmediums nicht überschreitet, So werden jeweils die Echtzeitkriterien, hier die Deadlines D1, D2, D3 der simultan zur Übertragung bereitstehenden Datenpakete DP verglichen, Der Verbindungsmanager 4 überprüft die zur Übertragung bereitstehenden Datenpakete DP der Datenbuffer DS1, DS2, DS3 (jeweils die ersten Datenpakete DP auf der rechten Seite der einzelnen Datenbuffer DS1, DS2, DS3) und wählt daraus das Datenpaket DP mit der kürzesten Deadline D1, D2, D3 aus. Die jeweils kürzeste Deadline D1, D2, D3als Auswahlkriterium ist in den Fig.4a-4s mit einem Ring markiert.
Im ersten Schritt nach Fig. 4a weist das zur Übertragung bereitstehende Datenpaket DP des dritten Datenbuffers D3 die dritte Deadline D3=1,7s auf. Diese dritte Deadline D3=1,7s ist geringer als die zweite Deadline D2=2,7s des Datenpakets DP am Ende des zweiten Datenbuffers DS2 und geringer als die erste Deadline D1=2s des rechten Datenpakets DPdes ersten Datenbuffers DS1. So wird dieses Datenpaket DP des dritten Datenbuffers DS3 in das Übertragungsmedium 5 eingespeist, was in Fig. 4b durch das durgestrichene Datenpaket DP symbolisiert wird. Dies entspricht einem sogenannten "earliest deadline first"-
Verfahren. Daraufhin rückt das nächste Datenpaket DP des dritten Datenbuffers DS3 an die Stelle des zu übertragenden Datenpakets DP.
Es wird durch den Verbindungsmanager 4 nun immer das zur Übertragung anliegende Da tenpaket DP mit der geringsten Deadline D1, D2, D3 in das Übertragungsmedium 5 einge speist. Da die Entstehungszeitpunkt tC der Datenpakete DP einer Datenreihe DR einheitlich sind und die Zykluszeit tQ aller Datenreihen DR eines Datenbuffers DS1, DS2, DS3 einer
Datenquelle Q1, Q2, Q3 einheitlich sind, werden im fehlerfreien Fall immer die Datenpakete DP einer Datenreihe DR hintereinander übertragen. Somit wird in der Fig. 4a das Datenpaket DP des dritten Datenbuffers DS3 mit der dritten Deadline D3=1,7s ausgewählt und übertragen, womit die zugehörige Datenreihe DR übertragen wurde (das dritte Volumen V3=1, d.h. es ist ein Datenpaket DP pro Datenreihe DR vorhanden). In Fig.4b weist der erste Datenbuffer DS1 das zur Übertragung anliegende Datenpaket DP mit der zweiten Deadline D1=2s als geringste auf. Damit wird das erste verfügbare Datenpaket DP des ersten Datenbuffers DS1 übertragen und weiter in den Figuren 4c-d die weiteren Datenpakete DP der zugehörigen
Datenreihe DR übertragen, da diese Datenpakete DP weiterhin die erste Deadline D1=2s als geringste aufweisen.
Wie in Fig.4e ersichtlich, weist nun der dritte Datenbuffer DS3 das zu übertragende Daten paket DP mit der dritten, geringsten Deadline D3=2,4s auf, woraufhin das zugehörige Daten- paket DP und in Folge die zugehörige Datenreihe DR übertragen wird, in Fig. 4f-g der zweite Datenbuffer DS2 mit der zweiten, geringsten Deadline D2=2,7s, womit die beiden Datenpakete DP der aktuellen Datenreihe DR übertragen werden. In den Figuren 4h-j weist der erste Datenbuffer DS1 die Datenpakete DP einer Datenreihe mit der ersten, geringsten Deadline D1=3s auf und in Fig.4k der dritte Datenbuffer DS3 das Datenpaket DP mit der dritten, geringsten Deadline D=3,1s. Mit Übertragung dieses letzten Datenpakets DP des dritten Datenbuffers DS3 ist dieser leer, siehe Fig. 4l. Von der dritten Datenquelle Q3, bzw. dem dritten Datenbuffer DS3 wird eine die Deadline D3=max als maximal an den Verbindungsmanager 5 übermittelt. Dies bedeutet, dass keine Datenpakete DP der dritten Datenquelle Q3 zur Übertragung verfügbar stehen.
Weiters weist nun in Fig.4l der zweite Datenbuffer DS2 die zweite, geringste Deadline D2=3,4s auf, womit das nächste Datenpaket DP des zweiten Datenbuffers DS2 übertragen wird, ebenso ist der Sacherhalt in Fig.4m. Weiters werden, wie in Fig. 4n-q ersichtlich die
Datenpakete DP der nächsten Datenreihe DR des ersten Datenbuffers DS1 übertragen, da die erste Deadline D1=4s die geringste ist. Nach dieser Übertragung ist der erste Datenbuf fer DS1 leer, woraufhin der ersten Datenquelle Q1, bzw. dem ersten Datenbuffer DS1 eine erste Deadline D1=max an den Verbindungsmanager 5 übermittelt wird um dies zu signali sieren. Da nun ausschließlich der zweite Datenbuffer DS2 Datenpakete aufweist, werden diese Datenpakete DP übertragen. Die zweite Deadlines D2=4,1s der Datenpakete DP des zweiten Datenbuffers DS2 sind trivialerweise die geringsten, da der erste Datenbuffer DS1 und der dritte Datenbuffer DS3 wie ausgeführt die zweite Deadline D2=max, bzw die dritte
Deadline D3=max an den Verbindungsmanager übermitteln. Sind alle Datenpakete DP aller Datenbuffer DS1, DS2, DS3 übermittelt, so werden von allen Datenbuffern DS1, DS2, DS3 die Deadlines D1=D2=D3=max an den Verbindungsmanager 4 übermittelt, womit dieser auf eine vollständige Übertragung aller Datenpakete DP schließen kann.
Die reine Berücksichtigung der Echtzeitkriterien, also hier der daraus berechneten Deadlines D1, D2, D3der Datenpakete DP ist ausreichend, wenn kein Fehler im Übertragungssystem auftritt und die Bandbreite BM des Übertragungsmediums 5 ausreichend ist. Unter dieser
Bedingung sind die Deadlines D1, D2, D3 immer kleiner als die Systemzeit t.
Sollte die zur Übertragung benötigte Bandbreite BD eines simultan zur Übertragung bereit stehenden Datenpakets DP einer Datenquelle Q1, Q2, Q3 die verfügbare Bandbreite BMdes Übertragungsmediums 5 jedoch temporär überschreiten, so können die Deadlines D1, D2, D3 eines oder mehrerer Datenpakete DP gefährdet sein. Das kann beispielsweise passieren, wenn die verfügbare Bandbreite BM des Übertragungsmediums temporär durch äußere Einflüsse eingeschränkt ist. Die von den Datenpaketen zur Übertragung benötigte Bandbreite BD kann aus den Echtzeitkriterien der Datenpakete DP abgeleitet werden und die verfügbaren Bandbreite BM des Übertragungsmediums 5 aus einer Systemzeit t abgeleitet. Dies äu ßert sich also beispielsweise dadurch, dass eine Deadline D1, D2, D3 als Echtzeitkriterium größer als die Systemzeit t ist. In der bisherigen Betrachtung spielte die Systemzeit t keine
Rolle, da die Bandbreite BM des Übertragungsmediums 5 ausreichend war. In den Fig. 5a- 5o wird jedoch ein Fehlerfall dargestellt. Es wird von einem störungsfreien Ablauf nach
Fig.4a-4e ausgegangen, woraufhin im Schritt nach Fig. 5a eine Störung auftritt, in der das Übertragungsmedium 5 temporär keine Datenpakete DP der zweiten Datenquelle Q2 auf nimmt. So wird in den Figuren 5a-5p neben den aktuellen Deadlines D1, D2, D3 der Daten pakete DP der einzelnen Datenbuffer DS1, DS2, DS3 auch die Kritikalität C1, C2, C3 ebendieser dargestellt, da diese im Fehlerfall Relevanz aufweist. Die Kritikalität stellt somit unter dem Umstand, dass die verfügbare Bandbreite BM nicht ausreicht ein zeitunabhängiges Kriterium als relevantes Kriterium dar. Aus demselben Grund wird in den Figuren 5a-5p auch die Systemzeit t dargestellt. Das im jeweiligen Schritt aktuell relevante Kriterium, d.h. Deadline oder Kritikalität ist in den Fig. 5a-5p mit einem Ring markiert. D.h. eine geringste Deadline D1, D2, D3 (in Verbindung mit der Systemzeit t) oder eine höchste Kritikalität C1, C2, C3,abhängig davon ob die verfügbare Bandbreite BM für die Übertragung der bereitstehen den Datenpakete DP ausreicht oder nicht.
Wie erwähnt, tritt im in Fig. 5a Schritt dargestellten Schritt ein Fehler am Übertragungsmedium 5 auf, z.B. weil das Übertragungsmedium durch andere Aktivitäten, wie einen Retransmit oder eine Datenübertragung externer Knoten, belegt ist. Dieser Fehler bewirkt hier, dass vom Verbindungsmanager 4 kein Datenpaket DP von der zweiten Datenquelle Q2, bzw. des zweiten Datenbuffers DS2 in das das Übertragungsmedium 5 eingespeist werden kann. Der Fehler wird jedoch vorerst nicht erkannt, da noch keine Deadlines D1, D2, D3 verletzt wer den, was auch für den Schritt in Fig. 5b zutrifft. Die Systemzeit t schreitet jedoch weiter vo ran, der Verbindungsmanager 4 kann der zweite Datenbuffer DS2 nicht wie geplant abarbeiten, obwohl diese die zweite Deadline D2=2,7s als geringste Deadline aufweist. In Fig. 5cist die Systemzeit t=2,8s bereits größer als die geringste, zweite Deadline D2=2,7s des zweiten Datenbuffers DS2, was bedeutet, dass zur die Übertragung notwendige Bandbreite BM, des zur Übertragung bereitstehenden Datenpakets DP des zweiten Datenbuffers DS2 der zweiten Datenquelle Q2 die verfügbare Bandbreite BM des Übertragungsmediums 5 überschreitet. Das kann vom Verbindungsmanager 4 erkannt werden, welcher derart reagiert, dass nicht mehr die Deadlines D1, D2, D3 als Echtzeitkriterium, sondern die Kritikalität C1, C2, C3 der Datenpakete DP als zeitunabhängiges Kriterium herangezogen werden, wie in Fig. 5c dargestellt. Die Verletzung der zweiten Deadline D2 des zweiten Datenbuffers wird dadurch symbolisiert, dass die zweite Deadline D2=2,7s durchgestrichen dargestellt ist. Da der dritte Datenbuffer DS3 die dritte Kritikalität C=9 als höchste aufweist, wird das nächste zu übertragende Datenpaket DP aus dem dritten Datenbuffer DS3 gewählt (Fig. 5c). Es wird nun angenommen, dass der Fehler am Übertragungsmedium beseitigt wurde, womit vom Verbin- dungsmanager 4 in weiterer Folge wieder Datenpakete DP in das Übertragungsmedium 5 eingespeist werden können. D.h. es wird das zur Übertragung bereitstehende Datenpaket DP des dritten Datenbuffers DS3 eingespeist, womit der dritte Datenbuffer DS3 leer ist, siehe Fig. 5d. Somit wird fortan von der dritten Datenquelle Q3, bzw. dem dritten Datenbuffer DS3 eine dritte Deadline D3=max an den Verbindungsmanager 5 übermittelt. Die Systemzeit t=3,15s (Fig. 5e), bzw. t=3,2s (Fig. 5f) hat, obwohl der Fehler beseitigt wurde, noch die erste Deadline D1=3s der Datenpakete DP des ersten Datenbuffers DS1, sowie die zweite Deadline D2=2,7s der Datenpakete DP des zweiten Datenbuffers DS2 überschritten, weshalb der Verbindungsmanager 4 weiterhin die Kritikalität C1, C2, C3 als Kriterium zur Reihenfolge der Einspeisung der Datenpakete DP in das Kommunikationsmedium heranzieht. Daher ist die erste Deadline D1 und zweite Deadline D2 durchgestrichen dargestellt. In Fig. 5g (Systemzeit t=3,25s) wird die erste Deadline D1=4s nicht mehr verletzt, wohl aber die weiterhin unveränderte zweite Deadline D2=2,7s. Die Verletzung einer Deadline D1, D2, D3 ist ausrei chend um die Kritikalitäten C1, C2, C3 als Kriterium der Bestimmung des nächsten zu über tragenden Datenpakets DP zu verwenden. Aufgrund der größeren ersten Kritikalität C1=7 der Datenpakete DP des ersten Datenbuffers DS1 gegenüber der zweiten Kritikalität C2=6 des zweiten Datenbuffers DS2 werden diese Datenpakete DP des ersten Datenbuffers DS1 bevorzugt übertragen, wie in den Fig. 5h-j dargestellt.
Nach der Übertragung aller Datenpakete DP des ersten Datenbuffers DS1ist der erste Da tenbuffer DS1 leer (Fig. 5j), womit die erste Deadline D1=max als maximal markiert wird.
Damit weist ausschließlich der zweite Datenbuffer DS2 Datenpakete auf, welche in weiterer Folge übertragen werden (Fig 5k-5p). Die zweite Deadline D2=3,4s (Fig. 5l), bzw. D2=4,1s (Fig. 5m-5o) der Datenpakete DP des zweiten Datenbuffers DS2 ist im jeweiligen Schritt trivialerweise die geringste. Sind alle Datenpakete DP aller Datenbuffer DS1, DS2, DS3 übermittelt, so wird von allen Datenbuffern DS1, DS2, DS3 die Deadline D1=D2=D3=max als maximal an den Verbindungsmanager 4 übermittelt, womit dieser auf eine vollständige Übertragung aller Datenpakete DP schließen kann.

Claims (11)

Patentansprüche
1. Verfahren zum sequentiellen Übertragen von Datenpaketen (DP) von einem Sender (3) über ein Übertragungsmedium (5) an zumindest einen Empfänger (2), wobei der Sender (3) eine Mehrzahl an Datenquellen (Q1, Q2, Q3) aufweist, die jeweils simultan Datenpakete (DP) zur Übertragung bereit stellen, dadurch gekennzeichnet, dass das Verfahren folgen de Verfahrensschritte umfasst: a) Ermittlung der von den simultan zur Übertragung bereitstehenden Datenpaketen (DP) jeweils benötigten Bandbreite , b) Vergleich der von den der simultan zur Übertragung bereitstehenden Datenpaketen (DP) zur Übertragung benötigten Bandbreite mit einer verfügbaren Bandbreite des Übertragungsmediums (5), c) Ermittlung von Echtzeitkriterien der simultan zur Übertragung bereitstehenden Datenpakete (DP), falls die benötigte Bandbreite aller simultan zur Übertragung bereitstehenden Datenpakete (DP) die verfügbare Bandbreite des Übertragungsmediums (5) nicht überschreitet, oder Ermittlung von zeitunabhängigen Kriterien der simultan zur Übertragung bereitstehenden Datenpakete (DP), falls die notwendige Bandbreite zumindest eines simultan zur Übertragung bereitstehenden Datenpakets (DP) die verfügbare Bandbreite des Übertragungsmediums (5) überschreitet, wobei die Echtzeitkriterien und zeitunabhängigen Kriterien von den zugehörigen Datenquel len (Q1, Q2, Q3) abhängen, d) Vergleich der Echtzeitkriterien oder zeitunabhängigen Kriterien der simultan zur Übertragung bereitstehenden Datenpakete (DP), e) Bestimmung des nächsten in das Übertragungsmedium (5) einzuspeisenden Datenpakets (DP) auf Basis des Vergleichs der Echtzeitkriterien oder zeitunabhängigen Kriterien, f) Einspeisen des nächsten in das Übertragungsmedium (5) einzuspeisenden Datenpakets (DP) in das Übertragungsmedium (5)
1. Verfahren zum sequentiellen Übertragen von Datenpaketen (DP) von einem Sender (3) über ein Übertragungsmedium (5) an zumindest einen Empfänger (2), wobei der Sender (3) eine Mehrzahl an Datenquellen (Q1, Q2, Q3) aufweist, die jeweils simultan Datenpakete (DP) zur Übertragung bereit stellen, wobei das Verfahren folgende Verfahrensschritte um fasst: a) Ermittlung der von den simultan zur Übertragung bereitstehenden Datenpaketen (DP) jeweils benötigten Bandbreite (BD), b) Vergleich der von den der simultan zur Übertragung bereitstehenden Datenpaketen (DP) zur Übertragung benötigten Bandbreite (BD) mit einer verfügbaren Bandbreite (BM) des Übertragungsmediums (5), c) Ermittlung von Echtzeitkriterien der simultan zur Übertragung bereitstehenden Datenpakete (DP), falls die benötigte Bandbreite (BD) aller simultan zur Übertragung bereitstehenden Datenpakete (DP) die verfügbare Bandbreite (BM) des Übertragungsmediums (5) nicht überschreitet, oder Ermittlung von zeitunabhängigen Kriterien der simultan zur Übertragung bereitstehenden Datenpakete (DP), falls die notwendigen Bandbreite (BD) zumindest eines simultan zur Übertragung bereitstehenden Datenpakets (DP) die verfügbare Bandbreite (BM) des Übertragungsmediums (5) überschreitet, wobei die Echtzeitkriterien und zeitunabhängigen Kriterien von den zugehörigen Datenquel len (Q1, Q2, Q3) abhängen, d) Vergleich der Echtzeitkriterien oder zeitunabhängigen Kriterien der simultan zur Übertragung bereitstehenden Datenpakete (DP), e) Bestimmung des nächsten in das Übertragungsmedium (5) einzuspeisenden Datenpakets (DP) auf Basis des Vergleichs der Echtzeitkriterien oder zeitunabhängigen Kriterien, f) Einspeisen des nächsten in das Übertragungsmedium (5) einzuspeisenden Datenpakets (DP) in das Übertragungsmedium (5)
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Verfahrensschritte a) bis f) wiederholt werden, bis kein zu übertragendes Datenpaket (DP) mehr zur Übertragung bereit steht.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Verfahrensschritte a) bis f) wiederholt werden, bis kein zu übertragendes Datenpaket (DP) mehr zur Übertragung bereit steht.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Verfahrensschritte b) bis f) wiederholt werden, bis kein zu übertragendes Datenpaket (DP) mehr zur Übertragung bereit steht.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Verfahrensschritte b) bis f) wiederholt werden, bis kein zu übertragendes Datenpaket (DP) mehr zur Übertragung bereit steht.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass pro Datenquelle (Q1, Q2, Q3) ein Datenbuffer (DS1, DS2, DS3) vorhanden ist und dass die Datenquellen (Q1, Q2, Q3) jeweils der zugehörige Datenbuffer (DS1, DS2, DS3) mit Datenpaketen (DP) nach einem First-In-First-Out-Prinzip füllen, wobei die Datenpakete (DP) an der Anfangsposition (DS1a, DS2a, DS3a) des jeweiligen Datenbuffers (DS1, DS2, DS3) eingespeist werden und die zu übertragenden Datenpakete (DP) jeweils an der Endsposition (DS1e, DS2e, DS3e) des jeweiligen Datenbuffers (DS1, DS2, DS3) zur Übertragung bereit stehen.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass pro Datenquelle (Q1, Q2, Q3) ein Datenbuffer (DS1, DS2, DS3) vorhanden ist und dass die Datenquellen (Q1, Q2, Q3) jeweils der zugehörige Datenbuffer (DS1, DS2, DS3) mit Datenpaketen (DP) nach einem First-In-First-Out-Prinzip füllen, wobei die Datenpakete (DP) an der Anfangsposition (DS1a, DS2a, DS3a) des jeweiligen Datenbuffers (DS1, DS2, DS3) eingespeist werden und die zu übertragenden Datenpakete (DP) jeweils an der Endsposition (DS1e, DS2e, DS3e) des jeweiligen Datenbuffers (DS1, DS2, DS3) zur Übertragung bereit stehen.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass als Echtzeitkriterium der Datenpakete (DP) zumindest einer der folgenden Werte verwendet wird: Zykluszeit (tQ); Entstehungszeitpunkt (tC); , aus Zykluszeit (tQ) und Entstehungszeit punkt (tC) berechnete Deadlines (D1, D2, D3) der Datenpakete (DP).
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass als Echtzeitkriterium der Datenpakete (DP) zumindest einer der folgenden Werte verwendet wird: Zykluszeit (tQ); Entstehungszeitpunkt (tC); , aus Zykluszeit (tQ) und Entstehungszeit punkt (tC) berechnete Deadlines (D1, D2, D3) der Datenpakete (DP).
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die von den Datenpaketen (DP) benötigte Bandbreite aus den Echtzeitkriterien der Datenpakete (DP) abgeleitet wird und die verfügbaren Bandbreite des Übertragungsmediums (5) aus einer Systemzeit (t) abgeleitet wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die von den Datenpaketen (DP) benötigte Bandbreite (BD) aus den Echtzeitkriterien der Datenpakete (DP) abgeleitet wird und die verfügbaren Bandbreite (BM) des Übertragungsmediums (5) aus einer Systemzeit (t) abgeleitet wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass aus den Zykluszeiten (tQ) und Entstehungszeitpunkte (tC) berechnete Deadlines (D1, D2, D3) der Datenpakete (DP) mit einer Systemzeit (t) verglichen werden, um eine Überschreitung der notwendige Bandbreite der Datenpakete (DP) über die verfügbare Bandbreite des Übertragungsmediums (5) zu ermitteln.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass aus den Zykluszeiten (tQ) und Entstehungszeitpunkte (tC) berechnete Deadlines (D1, D2, D3) der Datenpakete (DP) mit einer Systemzeit (t) verglichen werden, um eine Überschreitung der notwendige Bandbreite (BD) der Datenpakete (DP) über die verfügbare Bandbreite (BM) des Übertra gungsmediums (5) zu ermitteln.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die zeitunabhängigen Kriterien der Datenpakete (DP) jeweils durch eine festgelegte Kritikalität (C1, C2, C3) repräsentiert werden.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die zeitunabhängigen Kriterien der Datenpakete (DP) jeweils durch eine festgelegte Kritikalität (C1, C2, C3) repräsentiert werden.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass eine Ermittlung und ein Vergleich einer von den Datenpaketen (DP) benötigte Bandbreite und einer verfügbaren Bandbreite des Übertragungsmediums (5) vor Verfahrensschritt a), vor zugsweise vor erstmaliger Durchführung des Starts des Verfahrens durchgeführt wird.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass eine Ermittlung und ein Vergleich einer von den Datenpaketen (DP) benötigte Bandbreite (BD) und einer verfügbaren Bandbreite (BM) des Übertragungsmediums (5) vor Verfahrensschritt a), vorzugsweise vor erstmaliger Durchführung des Starts des Verfahrens durchgeführt wird.
10. Verwendung eines Verfahren nach Anspruch 1 bis 9 zur Datenübertragung auf einem Prüfstand mit einem Testsystem und einem Steuergerät eines Kraftfahrzeugs, wobei sich der Sender (3)/und oder der Empfänger (2) auf dem Testsystem und/oder dem Steuergerät befinden und vorteilhafterweise über einen Bus als Übertragungsmedium (5) verbunden sind.
10. Verwendung eines Verfahren nach Anspruch 1 bis 9 zur Datenübertragung auf einem Prüfstand mit einem Testsystem und einem Steuergerät eines Kraftfahrzeugs, wobei sich der Sender (3)/und oder der Empfänger (2) auf dem Testsystem und/oder dem Steuergerät befinden und vorteilhafterweise über einen Bus als Übertragungsmedium (5) verbunden sind.
11. Vorrichtung zum sequentiellen Übertragen von Datenpaketen (DP) von einem Sender (3) über ein Übertragungsmedium (5) an einen Empfänger (2), wobei der Sender (3) eine Mehrzahl an Datenquellen (Q1, Q2, Q3) aufweist, die jeweils simultan Datenpakete (DP) zur Übertragung bereit stellen, dadurch gekennzeichnet, dass ein Verbindungsmanager (4) vorhanden ist, der ausgestaltet ist die folgenden Verfahrensschritte durchzuführen: a) Überprüfung der von den simultan zur Übertragung bereitstehenden Datenpaketen (DP) jeweilig benötigten Bandbreite (BD), b) Vergleich der von den der simultan zur Übertragung bereitstehenden Datenpaketen (DP) zur Übertragung benötigten Bandbreite (BD) mit einer verfügbaren Bandbreite (BM) des Übertragungsmediums (5), c) Ermittlung von Echtzeitkriterien der simultan zur Übertragung bereitstehenden Datenpakete (DP), falls die benötigte Bandbreite (BD) aller simultan zur Übertragung bereitstehenden Datenpakete (DP) die verfügbare Bandbreite (BM) des Übertragungsmediums (5) nicht überschreitet, oder Ermittlung von zeitunabhängigen Kriterien der simultan zur Übertragung bereitstehenden Datenpakete (DP), falls die benötigte Bandbreite (BD) zumindest eines simultan zur Übertragung bereitstehenden Datenpakets (DP) die verfügbare Bandbreite (BM) des Übertragungsmediums (5) überschreitet, wobei die Echtzeitkriterien und zeitunabhängigen Kriterien von den zugehörigen Datenquellen (Q1, Q2, Q3) abhängigen, d) Vergleich der Echtzeitkriterien oder zeitunabhängigen Kriterien der simultan zur Übertragung bereitstehenden Datenpakete (DP), e) Bestimmung des nächsten in das Übertragungsmedium (5) einzuspeisenden Datenpakets (DP) auf Basis des Vergleichs der Echtzeitkriterien oder zeitunabhängigen Kriterien, f) Einspeisen des nächsten in das Übertragungsmedium (5) einzuspeisenden Datenpakets (DP) in das Übertragungsmedium (5). Patentansprüche
11. Vorrichtung zum sequentiellen Übertragen von Datenpaketen (DP) von einem Sender (3) über ein Übertragungsmedium (5) an einen Empfänger (2), wobei der Sender (3) eine Mehrzahl an Datenquellen (Q1, Q2, Q3) aufweist, die jeweils simultan Datenpakete (DP) zur Übertragung bereit stellen, dadurch gekennzeichnet, dass ein Verbindungsmanager (4) vorhanden ist, der ausgestaltet ist die folgenden Verfahrensschritte durchzuführen: a) Überprüfung der von den simultan zur Übertragung bereitstehenden Datenpaketen (DP) jeweilig benötigten Bandbreite, b) Vergleich der von den der simultan zur Übertragung bereitstehenden Datenpaketen (DP) zur Übertragung benötigten Bandbreite mit einer verfügbaren Bandbreite des Übertragungsmediums (5), c) Ermittlung von Echtzeitkriterien der simultan zur Übertragung bereitstehenden Datenpakete (DP), falls die benötigte Bandbreite aller simultan zur Übertragung bereitstehenden Datenpakete (DP) die verfügbare Bandbreite des Übertragungsmediums (5) nicht überschreitet, oder Ermittlung von zeitunabhängigen Kriterien der simultan zur Übertragung bereitstehenden Datenpakete (DP), falls die benötigte Bandbreite zumindest eines simultan zur Übertragung bereitstehenden Datenpakets (DP) die verfügbare Bandbreite des Übertragungsmediums (5) überschreitet, wobei die Echtzeitkriterien und zeitunabhängigen Kriterien von den zugehörigen Datenquellen (Q1, Q2, Q3) abhängigen, d) Vergleich der Echtzeitkriterien oder zeitunabhängigen Kriterien der simultan zur Übertragung bereitstehenden Datenpakete (DP), e) Bestimmung des nächsten in das Übertragungsmedium (5) einzuspeisenden Datenpakets (DP) auf Basis des Vergleichs der Echtzeitkriterien oder zeitunabhängigen Kriterien, f) Einspeisen des nächsten in das Übertragungsmedium (5) einzuspeisenden Datenpakets (DP) in das Übertragungsmedium (5).
ATA50414/2017A 2017-05-15 2017-05-15 Verfahren und Vorrichtung zum sequentiellen Übertragen von Daten aus mehreren Datenquellen AT520049B1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ATA50414/2017A AT520049B1 (de) 2017-05-15 2017-05-15 Verfahren und Vorrichtung zum sequentiellen Übertragen von Daten aus mehreren Datenquellen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ATA50414/2017A AT520049B1 (de) 2017-05-15 2017-05-15 Verfahren und Vorrichtung zum sequentiellen Übertragen von Daten aus mehreren Datenquellen

Publications (2)

Publication Number Publication Date
AT520049A1 true AT520049A1 (de) 2018-12-15
AT520049B1 AT520049B1 (de) 2019-07-15

Family

ID=64604961

Family Applications (1)

Application Number Title Priority Date Filing Date
ATA50414/2017A AT520049B1 (de) 2017-05-15 2017-05-15 Verfahren und Vorrichtung zum sequentiellen Übertragen von Daten aus mehreren Datenquellen

Country Status (1)

Country Link
AT (1) AT520049B1 (de)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030189943A1 (en) * 2002-04-08 2003-10-09 International Business Machines Corporation Priority based bandwidth allocation within real-time and non-real-time traffic streams
US7072295B1 (en) * 1999-09-15 2006-07-04 Tellabs Operations, Inc. Allocating network bandwidth
US20070002750A1 (en) * 2005-07-01 2007-01-04 Nec Laboratories America, Inc. Generic Real Time Scheduler for Wireless Packet Data Systems
EP1873979A1 (de) * 2006-06-27 2008-01-02 Samsung Electronics Co., Ltd Vorrichtung und Verfahren zur Terminierung eines Datenpakets in einem Kommunikationssystem
DE102012214671A1 (de) * 2011-08-31 2013-02-28 International Business Machines Corporation Zeitplanung von Paketen an Mobilfunk-Basisstationen

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072295B1 (en) * 1999-09-15 2006-07-04 Tellabs Operations, Inc. Allocating network bandwidth
US20030189943A1 (en) * 2002-04-08 2003-10-09 International Business Machines Corporation Priority based bandwidth allocation within real-time and non-real-time traffic streams
US20070002750A1 (en) * 2005-07-01 2007-01-04 Nec Laboratories America, Inc. Generic Real Time Scheduler for Wireless Packet Data Systems
EP1873979A1 (de) * 2006-06-27 2008-01-02 Samsung Electronics Co., Ltd Vorrichtung und Verfahren zur Terminierung eines Datenpakets in einem Kommunikationssystem
DE102012214671A1 (de) * 2011-08-31 2013-02-28 International Business Machines Corporation Zeitplanung von Paketen an Mobilfunk-Basisstationen

Also Published As

Publication number Publication date
AT520049B1 (de) 2019-07-15

Similar Documents

Publication Publication Date Title
DE112010001370B4 (de) Signalübertragungsvorrichtung für einen Aufzug
EP2795848B1 (de) Teilnehmerstation eines bussystems und verfahren zur übertragung von nachrichten zwischen teilnehmerstationen eines bussystems
DE102011122644B4 (de) Nachrichtenverlustverhinderung unter Verwendung eines Senderpuffers und Verkehrsgestaltung in durch ein Ereignis ausgelösten verteilten eingebetteten Echtzeitsystemen
EP3172871B1 (de) Zugriffsverfahren mit zugriffsschlitzen und prioritätsauflösung
DE102011122646B4 (de) Nachrichtenverlustverhinderung durch Verwendung von Sender- und Empfängerpuffern in durch ein Ereignis ausgelösten verteilten eingebetteten Echtzeitsystemen
DE10200201A1 (de) Zyklusbasiertes zeitgesteuertes Kommunikationssystem
DE102019130756A1 (de) Steuerungseinheit-Diagnosevorrichtung und Verfahren davon
EP2431873B1 (de) Kombinierte Unicast/Multicast Softwareübertragung
AT520049B1 (de) Verfahren und Vorrichtung zum sequentiellen Übertragen von Daten aus mehreren Datenquellen
EP3997580A1 (de) Verfahren und datennetzwerk zum kommunizieren von dateninhalten, insbesondere in einer aufzuganlage
EP3172869B1 (de) Verfahren zur nachbildung von laufzeiten in netzwerken, sowie entsprechendes gateway
DE10360856A1 (de) Bussystem für ein Flugzeug
EP1886433A1 (de) Redundante übertragung von datentelegrammen für die leittechnik von hgü-systemen
EP1357707A2 (de) Verfahren und Vorrichtung zur Übertragung von Nachrichten auf einem Bussystem und Bussystem
EP3599525A1 (de) Verfahren zur sicheren datenkommunikation an einer numerisch gesteuerten werkzeugmaschine
EP4070530B1 (de) Verfahren zum zyklischen übertragen von daten zwischen kommunikationsteilnehmern auf einem datenübertragungskanal und datenübertragungssystem
EP2733555B1 (de) BUS-System mit Teilnehmern, die Produzent und / oder Konsumenten von Prozesswerten sind, Vorrichtung umfassend ein BUS-System, fluidisches System mit einem BUS-System und Verfahren zum Betrieb eines BUS-Systems
DE102019106410A1 (de) Vorrichtung und Verfahren zur Datenübertragung
DE102012209093A1 (de) Teilnehmerstation für ein Bussystem und Verfahren zur Übertragung von Nachrichten zwischen Teilnehmerstationen eines Bussystems
DE102014214459B4 (de) Kollisionsfreies Medienzugriffsverfahren
DE102010036456B4 (de) Verfahren und Optimierungskontrolleinheit zur Optimierung eines Kommunikationsablaufs für ein zeitgesteuertes Kommunikationssystem in einem Kraftfahrzeug
EP4187858A1 (de) Eine sekundärsteuereinheit für ein fahrzeug mit einer primärsteuereinheit und einem datenübertragungsweg
DE102020208664A1 (de) Verfahren und Vorrichtung zum Übertragen von Daten
EP1497954B1 (de) Verfahren und vorrichtung zum auffüllen von datenabschnitten mit einem füllmuster und anschliessendem überschreiben mit information, sowie bussystem hierzu
DE102009039431B4 (de) Kollisionsverringerungsverfahren sowie Verwendung desselben