DE10327545B4 - Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten - Google Patents

Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten Download PDF

Info

Publication number
DE10327545B4
DE10327545B4 DE10327545A DE10327545A DE10327545B4 DE 10327545 B4 DE10327545 B4 DE 10327545B4 DE 10327545 A DE10327545 A DE 10327545A DE 10327545 A DE10327545 A DE 10327545A DE 10327545 B4 DE10327545 B4 DE 10327545B4
Authority
DE
Germany
Prior art keywords
data
data packets
packet type
real
packets
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.)
Expired - Lifetime
Application number
DE10327545A
Other languages
English (en)
Other versions
DE10327545A1 (de
Inventor
Ingo Volkening
Roland Harend
Robert Morelj
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.)
Intel Corp
Original Assignee
Infineon Technologies 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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10327545A priority Critical patent/DE10327545B4/de
Priority to US10/545,917 priority patent/US7969982B2/en
Priority to PCT/EP2004/006080 priority patent/WO2004112341A2/de
Priority to CNB2004800169796A priority patent/CN100544311C/zh
Publication of DE10327545A1 publication Critical patent/DE10327545A1/de
Application granted granted Critical
Publication of DE10327545B4 publication Critical patent/DE10327545B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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/35Flow control; Congestion control by embedding flow control information in regular packets, e.g. piggybacking

Abstract

Verfahren zur Verarbeitung von Datenpaketen (6), welche Echtzeitdatenpakete umfassen,
wobei die Datenpakete (6) in zumindest einen ersten Datenpakettyp, welcher Echtzeitdatenpaketen zugeordnet ist, und einen dazu unterschiedlichen zweiten Datenpakettyp klassifiziert werden,
dass die Datenpakete des ersten Datenpakettyps über einen ersten Datenpfad (b) verarbeitet werden, und
dass die Datenpakete des zweiten Datenpakettyps über einen zweiten (c, d) Datenpfad verarbeitet werden,
dadurch gekennzeichnet,
dass die Datenpakete (6) des ersten Datenpakettyps über den ersten Datenpfad (6) an eine erste Prozessoreinheit (2) zum Verarbeiten der Echtzeitdatenpakete übertragen werden, und
dass die Datenpakete des zweiten Datenpakettyps über den zweiten Datenpfad (c, d) an eine zweite Prozessoreinheit (3) zum Verarbeiten übertragen werden, und
dass die Datenpakete zumindest teilweise in einer dritten Prozessoreinheit (1) klassifiziert und abhängig von der Klassifizierung an die erste Prozessoreinheit (2) oder die zweite Prozessoreinheit (3) übertragen werden.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur Verarbeitung von Datenpaketen, welche Echtzeitdatenpakete umfassen. Insbesondere bezieht sie sich auf ein Verfahren und eine Vorrichtung zur Verarbeitung von Echtzeitdatenpaketen mit Sprach- oder ähnlichen Kommunikationsdaten, welche über ein IP-Netzwerk übertragen werden.
  • Der Übertragung von Echtzeitdaten über Kommunikationsnetzwerke wie beispielsweise dem Internet kommt eine zunehmende Bedeutung zu. Bekanntestes Beispiel hierfür sind so genannte Voice-over-IP-Anwendungen, bei der beispielsweise Sprachdaten übertragen werden, so dass ein Gespräch über das Netzwerk möglich wird. Neben Sprachdaten können derartige Echtzeitdaten auch Videodaten oder dergleichen umfassen.
  • Herkömmliche Vorrichtungen zum Empfangen oder Senden derartiger Daten benutzen einen einzelnen Datenpfad über einen Hauptprozessor der Vorrichtung. Dieser Hauptprozessor verarbeitet demnach diese Echtzeitdaten. Er ist jedoch auch für eine Vielzahl von anderen Aufgaben und Datenverarbeitungen zuständig, welche in der jeweiligen Vorrichtung, beispielsweise einem Mikrocomputer, anfallen.
  • Daher sind derartige Vorrichtungen von der Geschwindigkeit und Datenverarbeitungskapazität dieses einzelnen Hauptprozessors abhängig. Überlastung des Hauptprozessors kann zu Problemen wie dem Verlust von Datenpaketen, Jitter, Laufzeitschwankungen oder anderen Verzögerungen führen. Dies führt beispielsweise im Fall von Sprachdaten zu einer Verringerung der Qualität der Übertragung und kann schlimmstenfalls zu einem Aussetzen oder einer Unterbrechung der Verbindung führen.
  • Herkömmlicherweise wird durch Verwendung zusätzlicher Protokolle in den Datenpaketen den Echtzeitdatenpaketen eine höhere Priorität bei der Verarbeitung zugewiesen. Dies kann, wie in der DE 100 58 524 A1 erläutert, realisiert werden, indem einem physikalischen Kommunikationskanal ein logischer Kommunikationskanal für echtzeitkritische Daten, welcher mit hoher Priorität bearbeitet wird, und ein logischer Kommunikationskanal für nicht echtzeitkritische Daten zugewiesen wird. Dies löst jedoch das prinzipielle Problem einer möglichen Überlastung des Hauptprozessors nicht und führt zumindest zu einer verzögerten Verarbeitung der übrigen Datenpakete. Zudem ist mit dieser Vorgehensweise ein relativ hoher Verarbeitungs- und Implementierungsaufwand verbunden.
  • Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren bzw. eine Vorrichtung bereitzustellen, womit die Verarbeitung von Echtzeitdaten mit großer Zuverlässigkeit ermöglicht wird, was zu einer verbesserten Qualität der Verbindung ("Quality of Service", QoS) führt.
  • Diese Aufgabe wird gelöst durch ein Verfahren nach Anspruch 1 bzw. eine Vorrichtung nach Anspruch 16. Die Unteransprüche definieren jeweils bevorzugte oder vorteilhafte Ausführungsbeispiele des Verfahrens bzw. der Vorrichtung.
  • Erfindungsgemäß wird vorgeschlagen, zur Verarbeitung von Datenpaketen, welche Echtzeitdatenpakete umfassen, die Datenpakete in zumindest einen ersten Datenpakettyp, welcher Echtzeitdatenpakete umfasst bzw. diesen zugeordnet ist, und einen zweiten Datenpakettyp zu klassifizieren und die Datenpakete des ersten Datenpakettyps über einen ersten Datenpfad und die Datenpakete des zweiten Datenpakettyps über einen zweiten Datenpfad zu verarbeiten. Der zweite Datenpakettyp kann dabei Datenpakete mit Steuer- oder Signalinformationen, insbesondere betreffend die jeweilige Verbindung, umfassen.
  • Bevorzugt weist der erste Datenpfad eine geringere Verzögerung bei der Verarbeitung oder Übertragung der Datenpakete auf als der zweite Datenpfad. Der zweite Datenpfad weist eine zweite Prozessoreinheit, insbesondere einen Hauptprozessor auf, während der erste Datenpfad eine erste Prozessoreinheit zur Verarbeitung der Datenpakete, beispielsweise einen Koprozessor, aufweist.
  • Damit wird der Hauptprozessor entlastet, und die Echtzeitdatenpakete können über den ersten Datenpfad mit geringer Verzögerung verarbeitet werden.
  • Zur Klassifizierung der Daten können Verbindungsdaten für den Austausch von Echtzeitdatenpaketen mit einer Kommunikationseinrichtung gespeichert werden und die Datenpakete als Datenpakete des ersten Datenpakettyps klassifiziert werden, wenn mindestens ein Teil der Verbindungsdaten des Datenpakets mit den gespeicherten Verbindungsdaten übereinstimmt. Dabei wird ausgenutzt, dass sich derartige Verbindungsdaten im Laufe einer Verbindung nicht oder nur wenig ändern und somit eine Klassifizierung der Datenpakete ermöglichen.
  • Derartige Verbindungsdaten können eine Netzadresse eines Absenders der Datenpakete oder auch ein Port, auf dem die Datenpakete empfangen werden, sein. Die Klassifizierung der Daten erfolgt dabei zumindest teilweise durch eine dritte Prozessoreinheit, insbesondere durch einen Koprozessor. Die Speicherverwaltung wird dabei bevorzugt von einer Hauptprozessoreinheit übernommen.
  • Vorteilhafterweise wird eine Auslastung oder Verfügbarkeit des ersten Datenpfades überwacht, und Pakete des ersten Datenpakettyps werden zur Verarbeitung ausnahmsweise über den zweiten Datenpfad übertragen, wenn die Auslastung des ersten Datenpfades einen vorgegebenen Wert übersteigt bzw. der erste Datenpfad nicht verfügbar ist. Somit wird eine Redundanz geschaffen, und bei Störungen oder Ausfällen des hauptsächlich für die Echtzeitdatenpakete vorgesehenen ersten Datenpfades kann der zweite Datenpfad benutzt werden, was eine verlässlichere Verbindung ermöglicht.
  • Die Echtzeitdatenpakete umfassen beispielsweise Sprachdaten, so dass die Erfindung insbesondere für "Voice over IP"-Anwendungen geeignet ist.
  • Die Erfindung wird im Folgenden unter Bezugnahme auf die beigefügte Zeichnung anhand bevorzugter Ausführungsbeispiele näher erläutert. Es zeigen:
  • 1 ein Blockschaltbild eines Ausführungsbeispiels einer erfindungsgemäßen Vorrichtung,
  • 2 eine Veranschaulichung für eine Klassifizierung von Datenpaketen anhand von Verbindungsdaten,
  • 3 ein Flussdiagramm, welches ein Ausführungsbeispiel für die erfindungsgemäße Klassifizierung von Datenpaketen zeigt, und
  • 4 ein Blockdiagramm, welches eine mögliche Speicherverwaltung der erfindungsgemäßen Vorrichtung aus 1 darstellt.
  • In 1 ist ein Ausführungsbeispiel für eine erfindungsgemäße Vorrichtung in Form eines Blockschaltbilds dargestellt. Das Ausführungsbeispiel behandelt dabei den Empfang von Datenpaketen aus einem (nicht dargestellten) Kommunikationsnetzwerk wie beispielsweise dem Internet. Eine entsprechende Vorrichtung wäre auch für das Senden von Daten möglich.
  • Eingehende Datenpakete, welche Echtzeitdatenpakete umfassen, werden dabei über einen Datenpfad a empfangen und an einen Koprozessor 1, im Folgenden als Paketkoprozessor bezeichnet, geleitet. In diesem Paketkoprozessor 1 werden die eingehenden Datenpakete untersucht und in zumindest zwei Datenpakettypen klassifiziert, wobei Echtzeitdatenpakete dem ersten Datenpakettyp zugeordnet werden. Andere Datenpakete, welche beispielsweise Steuersignale für eine Verbindung, über die die Datenpakete empfangen werden, umfasst, werden einem zweiten Datenpakettyp zugeordnet. Auf geeignete Kriterien für diese Klassifizierung wird nachfolgend noch näher eingegangen.
  • Datenpakete des ersten Datenpakettyps, also Echtzeitdatenpakete wie beispielsweise Datenpakete mit Sprachdaten, werden über einen ersten Datenpfad b an einen weiteren Koprozessor 2 zur Verarbeitung geschickt, im Fall von Sprachdaten ein Sprachkoprozessor. Dieser kann nochmals überprüfen, ob es sich tatsächlich um die gewünschten Echtzeitdaten handelt. Wenn dies der Fall ist, kann der Koprozessor 2 das Datenpaket verarbeiten und beispielsweise die Sprachdaten über einen Datenpfad e an eine nachgeordnete Einheit 4 zur Verarbeitung und Ausgabe dieser Sprachdaten weiterleiten.
  • Datenpakete des zweiten Datenpakettyps werden über einen ersten Teil c eines zweiten Datenpfades an einen Hauptprozessor 3 ("Central Processing Unit", CPU) zur Verarbeitung weitergeleitet. Dieser zweite Datenpfad kann einen zweiten Teil d beinhalten, mit denen auch der weitere Koprozessor 2 Datenpakete an den Hauptprozessor 3 schicken kann, wenn erkannt wird, dass es sich nicht um die gewünschten Echtzeitdatenpakete handelt.
  • Mittels des ersten Datenpfades b können somit eingehende Echtzeitdatenpakete ohne Zuhilfenahme des Hauptprozessors 3 allein von den Koprozessoren 1 und 2 verarbeitet werden. Dies entlastet zum einen den Hauptprozessor und ermöglicht zum anderen eine schnellere Verarbeitung der Daten und somit eine Verringerung von Verzögerungen im Datenfluss, da der erste Datenpfad b nur für diese Echtzeitdatenpakete verwendet wird.
  • Zusätzlich kann die Verfügbarkeit des ersten Datenpfads b überwacht werden. Wenn sich herausstellt, dass der erste Datenpfad b beispielsweise wegen Überlastung oder wegen einer Unterbrechung nicht verfügbar ist, können auch Datenpakete des ersten Datenpakettyps, also Echtzeitdatenpakete, über den zweiten Datenpfad c zur Hauptprozessoreinheit und dann weiter über die Pfade d und e zur nachgeordneten Einheit 4 geleitet werden. Damit ist ein Funktionieren des Systems auch für den Fall sichergestellt, dass der erste Datenpfad b nicht verfügbar ist (Redundanz).
  • In 2 ist beispielhaft die Klassifizierung von Datenpaketen anhand von so genannten Headerparametern, d.h. Parametern, welche Informationen über eine Verbindung in einem Kommunikationsnetzwerk beinhalten, dargestellt. Derartige Headerparameter werden in einem Datenpaket den eigentlichen Daten vorangestellt und bleiben im Verlauf einer Verbindung im Wesentlichen unverändert. Wenn eine Verbindung beispielsweise zum Empfangen von Sprachdaten initialisiert wird, werden diese Headerparameter 5 einmal von der Hauptprozessoreinheit 3 festgelegt.
  • Beim Einrichten der Verbindung wird dabei in einer Vorrichtung, welche beispielsweise nach dem H.323-Standard arbeitet, von dem Hauptprozessor 3 folgende Schritte ausgeführt:
    • 1. Registrierung, Zulassung und Status (Registration, Admission and Status, RAS). Dabei registriert sich ein H.323-Client bei einer Verwaltungseinheit (Gatekeeper), welcher für die entsprechende Netzwerkzone zuständig ist (beispielsweise durch ein IP-Multicast mittels eines UDP("User Datagram Protocol")-Protokolls) und bittet um Erlaubnis für die Einrichtung der Verbindung.
    • 2. Dann wird eine TCP("Transmission Control Protocol")-Verbindung an den entsprechenden (den angerufenen) H.323-Server aufgebaut. Der Aufbau eines Anrufs wird über ein H.225.0-Protokoll (ähnlich einem Q.931-Anrufaufbau) über die TCP-Verbindung bewerkstelligt.
    • 3. Der Aufbau der logischen Kanäle zwischen Anrufer und Angerufenem erfolgt dann wiederum über TCP gemäß dem H.245-Standard.
  • Im vorliegenden Beispiel beinhalten die dabei generierten Headerparameter 5 Ethernetheaderparameter 5A, welche Parameter einer Ethernetverbindung beispielsweise in einem LAN beinhalten, IP-Headerparameter 5B, welche Informationen über die Verbindung zu einem IP-Netzwerk wie dem Internet beinhalten, und UDP-Headerparameter 5C, welche Informationen über das "User Datagram"-Protokoll, welches typischerweise zum Versenden von Sprachdaten benutzt wird, enthält. Diese Headerparameter 5 werden über die beiden Teile des zweiten Datenpfades c, d an die Koprozessoren 1 und 2 geschickt und dort zu Referenzzwecken abgespeichert. Ein Datenpaket 6, welches über den Datenpfad a empfangen wird, enthält ebenfalls derartige Headerparameter 6A, 6B, 6C und zudem die eigentlichen Daten 6D, im Fall von Sprachdaten RTP("Real Time Protocol")-Echtzeitsprachdaten.
  • Die Headerparameter 6A, 6B, 6C werden mit den entsprechenden abgespeicherten Headerparametern 5A, 5B, 5C verglichen. Wenn die Parameter derart übereinstimmen, dass sichergestellt werden kann, dass die Daten aus der entsprechenden Verbindung zum Empfangen von Sprachdaten stammen, wird das Datenpaket 6 als erster Datenpakettyp klassifiziert und über den ersten Datenpfad b and den weiteren Koprozessor 2 weitergegeben. Dieser kann die Klassifizierung noch fortführen, insbesondere beim Verarbeiten der Daten. Falls sich bei der Klassifizierung in dem Paketkoprozessor 1 oder in dem Sprachkoprozessor 2 ergeben sollte, dass es sich nicht um Sprachdaten handelt, wird das Datenpaket an den Hauptprozessor 3 übergeben. Andernfalls wird es von dem Sprachkoprozessor 2 verarbeitet.
  • In 3 ist diese Klassifizierung anhand eines Flussdiagramms detailliert dargestellt. In einem ersten Schritt 7 wird überprüft, ob der Port, auf dem das Datenpaket empfangen wurde, der für die jeweilige Verbindung zum Empfangen von Sprachdaten vorgesehene Port ist. Dies ist insbesondere dann wichtig, wenn mehrere Verbindungen gleichzeitig aktiv sind. Wenn ja (J), wird zum nächsten Schritt 8 übergegangen, wenn nein (N), wird zu Schritt 13 übergegangen, in dem das entsprechende Datenpaket an die Hauptprozessoreinheit 3 übergeben wird.
  • Im nächsten Schritt 8 wird überprüft, ob im Ethernetheader 6A der richtige Verbindungstyp, beispielsweise IP, für die jeweilige Verbindung angegeben ist. Falls ja, wird zu Schritt 9 übergegangen, falls nein, wiederum zu Schritt 13.
  • In Schritt 9 wird überprüft, ob die Ziel-IP-Adresse des empfangenen Datenpakets mit der entsprechenden für die Verbindung vorgesehenen IP-Adresse übereinstimmt. Falls nein, wird wiederum zu Schritt 13 übergegangen. Diese ersten drei Klassifizierungsschritte 7 bis 9 werden beispielsweise in dem Paketkoprozessor 1 durchgeführt. Sie erlauben eine Klassifizierung auf niedriger Ebene, indem nur elementare Kommunikationsparameter überprüft werden.
  • Falls sich bei Schritt 9 eine Übereinstimmung ergibt, wird das Datenpaket an den Sprachkoprozessor 2 zur weiteren Behandlung übergeben. Dort wird in Schritt 10 überprüft, ob das Protokoll des empfangenen Datenpakets ein UDP-Protokoll ist. Falls nein, wird zu Schritt 14 übergegangen, was bedeutet, dass das Datenpaket wiederum an den Hauptprozessor 3 übergeben wird. Falls ja, wird zu Schritt 11 übergegangen. Hier wird überprüft, ob der UDP-Port der Port für Sprachdatenempfang ist. Dies wird benutzt, um zwischen so genannten RAS("Registration, Admission and Status")- und Sprachdatenpaketen zu unterscheiden. Falls nein, wird wiederum zu Schritt 14 übergegangen. Falls ja, wird in Schritt 12 das Datenpaket verarbeitet und gegebenenfalls die verarbeiteten Daten an die in 1 gezeigte nachgeordnete Einheit 4 zur weiteren Verarbeitung und zur Sprachausgabe weitergegeben. Die Aufteilung der Schritte 7 bis 11 zwischen dem Paketkoprozessor 1 und dem Sprachkoprozessor 2 ist dabei prinzipiell beliebig.
  • In der nachgeordneten Einheit 4 kann dabei beispielsweise die tatsächliche Verarbeitung der Sprachdaten vorgenommen werden, während im Sprachkoprozessor 2 im Wesentlichen das UDP-Protokoll abgearbeitet wird.
  • Insgesamt verarbeitet bei einer derartigen Vorrichtung der Hauptprozessor 3 dabei die entsprechenden Anwendungsprotokollstapel (H.323 USW), die TCP-Verbindung, die Internetverbindung und die Schnittstellen zum Netzwerk (Ethernet, ATM etc.). Die Koprozessoren verarbeiten zur Klassifizierung nur einen reduzierten Teil des Protokollstapels, beispielsweise Teile des Internet (IP)-Protokolls, des "User Datagram"-Protokolls (UDP) und der Netzwerkschnittstelle (z.B. Ethernet). Die eigentlichen Sprach- oder anderen Echtzeitdaten (RTP-Daten) werden beispielsweise von einer dem zweiten Koprozessor nachgeordneten Einheit verarbeitet.
  • In 4 ist die Speicherverwaltung und die Übergabe der Datenpakete zwischen den Koprozessoren 1, 2 und dem Zentralprozessor 3 genauer dargestellt.
  • Dabei umfasst der Paketkoprozessor 1 einen Paketspeicher 15 mit einer Liste von Deskriptoren 151, 152, ... bis 15N. Jeder dieser Deskriptoren 151, 152, ... 15N enthält einen Zeiger 25 auf einen Speicherbereich 20, 21 in einem Speicherelement 19, beispielsweise einem SDRAM. Die Liste von Deskriptoren ist einer (nicht dargestellten) DMA("Direct Memory Access")-Einheit, welche die Daten in Empfang nimmt, bekannt. Eingehende Pakete werden in den entsprechenden Speicherbereichen 20, 21 abgespeichert, wobei im vorliegenden Beispiel die Speicherbereiche 20 mit eingegangenen Datenpaketen belegt sind, während der Speicherbereich 21 noch frei ist. Ist ein Datenpaket vollständig empfangen und in einem entsprechenden Speicherbereich 20 abgespeichert, wird dies dem Paketkoprozessor 1 beispielsweise durch einen Interrupt mitgeteilt. Der Paketkoprozessor 1 klassifiziert das Datenpaket dann wie oben beschrieben. Wenn das Datenpaket als zweiter Datenpakettyp klassifi ziert wird, d.h. kein Echtzeitdatenpaket ist, wird das Datenpaket an den Hauptspeicher 3 übergeben, wie durch Pfeil g angedeutet. Dies geschieht beispielsweise, indem der zugehörige Deskriptor mit dem Zeiger auf den entsprechenden Speicherbereich übergeben wird. Im Gegenzug weist der Hauptprozessor 3 dem Paketkoprozessor 1 einen neuen freien Speicherbereich 21 zu, so dass in der Liste in dem Paketspeicher 15 immer genügend Deskriptoren und Zeiger auf freie Speicherbereiche zur Verfügung stehen (Pfeil h). Die Kommunikation im Paketkoprozessor 1 wird dabei durch eine Einheit 16 durchgeführt.
  • Falls es sich hingegen um ein Datenpaket des ersten Datenpakettyps, also um ein Echtzeitdatenpaket handelt, wird der entsprechende Zeiger auf das Datenpaket an den Sprachkoprozessor 2 übergeben, wie durch Pfeil e dargestellt. Im Sprachprozessor 2 ist dabei analog zum Paketkoprozessor 1 eine Einheit 17 zur Kommunikation vorgesehen. Weiterhin enthält der Sprachkoprozessor 2 eine gespeicherte Liste 18 mit Deskriptoren 181, 182, ..., 18M, welche wiederum Zeiger 25 auf dem Sprachkoprozessor 2 zugeordnete Speicherbereiche 23, 24 enthalten. Die Speicherbereiche 23 enthalten dabei bereits vom Paketkoprozessor 1 als Sprachdatenpakete eingestufte Pakete, während der Speicherbereich 24 noch frei ist. Erhält der Sprachkoprozessor 2 nun wie oben beschrieben einen Deskriptor bzw. Zeiger auf ein neues Sprachdatenpaket, schickt er im Gegenzug einen Zeiger 25 auf einen freien Speicherabschnitt an den Paketkoprozessor 1 zurück (Pfeil f). Wenn, wie in 3 bei den Schritten 10 und 11 möglich, der Sprachkoprozessor bemerkt, dass es sich bei dem Datenpaket um kein Sprachdatenpaket handelt, wird der Zeiger auf das Datenpaket an den Hauptprozessor 3 übergeben und im Gegenzug ein Zeiger auf einen freien Speicherbereich erhalten, wie durch die Pfeile i und j dargestellt.
  • Zu beachten ist, dass dabei bei der durch die Pfeile e und f angedeuteten Kommunikation lediglich Zeiger auf Speicherbereiche ausgetauscht werden, welche zuvor vom Hauptprozessor den jeweiligen Koprozessoren zugeordnet wurden. Die Koprozessoren können demnach nicht selbstständig Speicherbereiche freigeben, sondern erhalten eine gewisse Liste von Speicherbereichen von dem Hauptprozessor 3 zugewiesen.
  • Wie aus der vorhergehenden Beschreibung hervorgeht, entsprechen die in 4 gezeigten Pfeile e, f einer Kommunikation über den ersten Datenpfad b, während die Pfeile g, h einer Kommunikation über den ersten Teil c des zweiten Datenpfads und die Pfeile i, j einer Kommunikation über den zweiten Teil d des zweiten Datenpfads entsprechen.
  • Es sei nochmals darauf hingewiesen, dass diese genaue Ausführung der Speicherverwaltung lediglich ein Beispiel darstellt. Auch andere Architekturen sind hier möglich. Zudem ist die vorliegende Erfindung nicht auf die Übertragung von Sprachdaten beschränkt, sondern es können auch andere Echtzeitdaten wie beispielsweise Videodaten übertragen werden. Denkbar wären beispielsweise auch Daten zur Echtzeitsteuerung oder -überwachung.

Claims (20)

  1. Verfahren zur Verarbeitung von Datenpaketen (6), welche Echtzeitdatenpakete umfassen, wobei die Datenpakete (6) in zumindest einen ersten Datenpakettyp, welcher Echtzeitdatenpaketen zugeordnet ist, und einen dazu unterschiedlichen zweiten Datenpakettyp klassifiziert werden, dass die Datenpakete des ersten Datenpakettyps über einen ersten Datenpfad (b) verarbeitet werden, und dass die Datenpakete des zweiten Datenpakettyps über einen zweiten (c, d) Datenpfad verarbeitet werden, dadurch gekennzeichnet, dass die Datenpakete (6) des ersten Datenpakettyps über den ersten Datenpfad (6) an eine erste Prozessoreinheit (2) zum Verarbeiten der Echtzeitdatenpakete übertragen werden, und dass die Datenpakete des zweiten Datenpakettyps über den zweiten Datenpfad (c, d) an eine zweite Prozessoreinheit (3) zum Verarbeiten übertragen werden, und dass die Datenpakete zumindest teilweise in einer dritten Prozessoreinheit (1) klassifiziert und abhängig von der Klassifizierung an die erste Prozessoreinheit (2) oder die zweite Prozessoreinheit (3) übertragen werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der zweite Datenpakettyp Datenpaketen mit Steuer- oder Signalinformationen zugeordnet ist.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der erste Datenpfad (b) eine geringere Verzögerung bei der Verarbeitung von Datenpaketen als der zweite Datenpfad (c, d) aufweist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass Verbindungsdaten (5A, 5B, 5C) für den Austausch von Echtzeitdatenpaketen mit einer Kommunikationseinrichtung gespeichert werden und die Datenpakete (6) als Datenpakete des ersten Datenpakettyp klassifiziert werden, wenn mindestens ein Teil der Verbindungsdaten (6A, 6B, 6C) der Datenpakete (6) mit den gespeicherten Verbindungsdaten (5A, 5B, 5C) übereinstimmt.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Datenpakete (6) anhand eines Ports, auf dem sie empfangen werden, klassifiziert werden.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Datenpakete (6) anhand einer in den Datenpaketen enthaltenen Netzadresse klassifiziert werden.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Datenpakete (6) als Echtzeitdatenpakete klassifiziert wird, wenn sie ein für die Übertragung von Echtzeitdaten vorgesehenes Protokoll enthalten.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Datenpakete (6) als Echtzeitdatenpakete klassifiziert werden, wenn das für die Übertragung von Echtzeitdaten vorgesehene Protokoll auf einen Echtzeitdatenport für den Empfang dieser Datenpakete verweist.
  9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die zweite Prozessoreinheit (3) eine Hauptprozessoreinheit und die ersten und dritten Prozessoreinheiten (1, 2) Koprozessoreinheiten sind.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die Hauptprozessoreinheit (3) den Koprozessoreinheiten (1, 2) Speicherbereiche zum Speichern von Datenpaketen zuweist.
  11. Verfahren nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass die Klassifizierung zeitlich in mehreren Stufen (7, 8, 9, 10, 11) erfolgt und nach jeder Stufe die Datenpakete (6) zum Verarbeiten an die Hauptprozessoreinheit (3) übertragen werden, wenn sie als Datenpakete des zweiten Datenpakettyps klassifiziert worden sind.
  12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine Verfügbarkeit des ersten Datenpfades (b) geprüft wird, und dass die als Datenpakete des ersten Datenpakettyps klassifizierte Datenpakete zur Verarbeitung über den zweiten Datenpfad (c, d) übertragen werden, wenn die Verfügbarkeit des ersten Datenpfades (b) unzureichend ist.
  13. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine Auslastung des ersten Datenpfades (b) gemessen wird und die als Datenpakete des ersten Datenpakettyps klassifizierte Datenpakete zur Verarbeitung über den zweiten Datenpfad (c, d) übertragen werden, wenn die Auslastung des ersten Datenpfades einen vorgegebenen Wert übersteigt.
  14. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Datenpakete (6) über ein IP-Übertragungsnetzwerk empfangen werden.
  15. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Echtzeitdatenpakete Sprachdaten umfassen.
  16. Vorrichtung zur Verarbeitung von Datenpaketen (6), welche Echtzeitdatenpakete umfassen, umfassend Mittel (1) zur Klassifizierung der Datenpakete (6), welche derart ausgestaltet sind, dass sie die Datenpakete in zumindest einen ersten Datenpakettyp, welcher Echtzeitdatenpaketen zugeordnet ist, und einen dazu unterschiedlichen zweiten Datenpakettyp klassifizieren, einen ersten Datenpfad (b) zur Verarbeitung der Datenpakete des ersten Datenpakettyps, und einen zweiten Datenpfad (c, d) zur Verarbeitung der Datenpakete des zweiten Datenpakettyps, dadurch gekennzeichnet, dass der zweite Datenpfad (c, d) eine zweite Prozessoreinheit (3) umfasst, dass der erste Datenpfad (b) eine erste Prozessoreinheit (2) zum Verarbeiten der Datenpakete des ersten Datenpakettyps umfasst, und dass die Mittel zur Klassifizierung der Datenpakete eine dritte Prozessoreinheit (1) umfassen.
  17. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass die zweite Prozessoreinheit (3) eine Hauptprozessoreinheit und die ersten und dritten Prozessoreinheiten (1, 2) Koprozessoreinheiten sind.
  18. Vorrichtung nach Anspruch 16 und 17, dadurch gekennzeichnet, dass die erste Koprozessoreinheit (2) über den ersten Datenpfad (b) mit der ersten Koprozessoreinheit (1) und über den zweiten Datenpfad (b, c) mit der zweiten Koprozessoreinheit (1) verbunden ist.
  19. Vorrichtung nach Anspruch 18, dadurch gekennzeichnet, dass sowohl die erste (2) als auch die zweite (1) Koprozessoreinheit derart ausgestaltet sind, dass sie Mittel zur Klassifizierung der Datenpakete (6) in zumindest den ersten Datenpakettyp und den zweiten Datenpakettyp umfassen, wobei die Klassifizierungen in der ersten Koprozessoreinheit (2) und in der zweiten Koprozessoreinheit (1) anhand unterschiedlicher Kriterien erfolgen, und dass die ersten und zweiten Koprozessoreinheiten (1, 2) derart ausgestaltet sind, dass sie Datenpakete des zweiten Datenpakettyps an die Hauptprozessoreinheit (3) zur Verarbeitung übergeben.
  20. Vorrichtung nach einem der Ansprüche 16 bis 19, dadurch gekennzeichnet, dass die Vorrichtung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 15 ausgestaltet ist.
DE10327545A 2003-06-18 2003-06-18 Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten Expired - Lifetime DE10327545B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE10327545A DE10327545B4 (de) 2003-06-18 2003-06-18 Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten
US10/545,917 US7969982B2 (en) 2003-06-18 2004-06-04 Method and device for processing real-time data
PCT/EP2004/006080 WO2004112341A2 (de) 2003-06-18 2004-06-04 Verfahren und vorrichtung zur verarbeitung von echtzeitdaten
CNB2004800169796A CN100544311C (zh) 2003-06-18 2004-06-04 实时数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10327545A DE10327545B4 (de) 2003-06-18 2003-06-18 Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten

Publications (2)

Publication Number Publication Date
DE10327545A1 DE10327545A1 (de) 2005-01-13
DE10327545B4 true DE10327545B4 (de) 2005-12-01

Family

ID=33520712

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10327545A Expired - Lifetime DE10327545B4 (de) 2003-06-18 2003-06-18 Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten

Country Status (4)

Country Link
US (1) US7969982B2 (de)
CN (1) CN100544311C (de)
DE (1) DE10327545B4 (de)
WO (1) WO2004112341A2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100428738C (zh) * 2005-09-21 2008-10-22 华为技术有限公司 无连接的分组交换通信系统
JP5381194B2 (ja) * 2009-03-16 2014-01-08 富士通株式会社 通信プログラム、中継ノード、および通信方法
US8787381B2 (en) * 2011-06-08 2014-07-22 Broadcom Corporation Quality of service, battery lifetime, and latency in wireless communication devices
CN102984285A (zh) * 2011-09-07 2013-03-20 启碁科技股份有限公司 通信装置、数据处理方法及路由模块
US20150261721A1 (en) * 2014-03-13 2015-09-17 Lantiq Deutschland Gmbh Flow control between processing devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10058524A1 (de) * 2000-11-24 2002-06-13 Siemens Ag System und Verfahren zur parallelen Übertragung von echtzeitkritischen und nicht echtzeitkritischen Daten über schaltbare Datennetze, insbesondere Ethernet

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570890B1 (en) 1998-06-10 2003-05-27 Merlot Communications Method for the transmission and control of audio, video, and computer data over a single network fabric using ethernet packets
US6584108B1 (en) * 1998-09-30 2003-06-24 Cisco Technology, Inc. Method and apparatus for dynamic allocation of multiple signal processing resources among multiple channels in voice over packet-data-network systems (VOPS)
US6449650B1 (en) * 1999-02-01 2002-09-10 Redback Networks Inc. Methods and apparatus for deploying quality of service policies on a data communication network
US6594268B1 (en) * 1999-03-11 2003-07-15 Lucent Technologies Inc. Adaptive routing system and method for QOS packet networks
US6678246B1 (en) * 1999-07-07 2004-01-13 Nortel Networks Limited Processing data packets
EP1069736B1 (de) * 1999-07-15 2012-09-05 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Ablaufplanung und Zulassungskontrolle von Paketdatenverkehr
US6570849B1 (en) * 1999-10-15 2003-05-27 Tropic Networks Inc. TDM-quality voice over packet
US6901052B2 (en) * 2001-05-04 2005-05-31 Slt Logic Llc System and method for policing multiple data flows and multi-protocol data flows
US7362707B2 (en) * 2001-07-23 2008-04-22 Acme Packet, Inc. System and method for determining flow quality statistics for real-time transport protocol data flows
US6904040B2 (en) * 2001-10-05 2005-06-07 International Business Machines Corporaiton Packet preprocessing interface for multiprocessor network handler
US20030152065A1 (en) * 2002-02-08 2003-08-14 Institute For Information Industry Integrated IP network telephone distributor with switching and routing functions
US7385997B2 (en) * 2002-04-08 2008-06-10 International Business Machines Corporation Priority based bandwidth allocation within real-time and non-real-time traffic streams
KR100608904B1 (ko) * 2003-12-18 2006-08-04 한국전자통신연구원 서비스 품질 보장을 위한 시스템 및 방법
TWI241807B (en) * 2004-03-02 2005-10-11 Hon Hai Prec Ind Co Ltd System and method for network quality of service
JP4570981B2 (ja) * 2005-02-23 2010-10-27 株式会社エヌ・ティ・ティ・ドコモ 移動通信システムおよびパケットデータ転送制御方法
JP2006261935A (ja) * 2005-03-16 2006-09-28 Nec Corp パケット伝送方法および装置
US20070091848A1 (en) * 2005-10-03 2007-04-26 Snehal Karia Reducing data loss during handoffs in wireless communication
US7649886B2 (en) * 2005-11-21 2010-01-19 Motorola, Inc. Method and system for processing incoming packets in a communication network
US7668161B2 (en) * 2006-07-27 2010-02-23 Cisco Technology, Inc. Classifying data packet protocol values

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10058524A1 (de) * 2000-11-24 2002-06-13 Siemens Ag System und Verfahren zur parallelen Übertragung von echtzeitkritischen und nicht echtzeitkritischen Daten über schaltbare Datennetze, insbesondere Ethernet

Also Published As

Publication number Publication date
WO2004112341A2 (de) 2004-12-23
US7969982B2 (en) 2011-06-28
US20070165637A1 (en) 2007-07-19
CN100544311C (zh) 2009-09-23
CN1809995A (zh) 2006-07-26
WO2004112341A3 (de) 2005-03-31
DE10327545A1 (de) 2005-01-13

Similar Documents

Publication Publication Date Title
DE69830491T2 (de) Cut-through -durchschaltung und paketfilterung in einem rechnersystem
EP2882144B1 (de) Verfahren und Filteranordnung zum Filtern von über einen seriellen Datenbus eines Kommunikationsnetzwerks in einem Teilnehmer des Netzwerks eingehenden Nachrichten
DE69927457T2 (de) Verfahren und Vorrichtung zur Cache-Speicherung von Informationen im Netzwerk
EP1133112B1 (de) Verfahren zum Verteilen einer Datenverkehrslast eines Kommunikationsnetzes und Kommunikationsnetz zur Realisierung des Verfahrens
WO2018099736A9 (de) Verfahren für ein kommunikationsnetzwerk und elektronische kontrolleinheit
DE60303384T2 (de) Lastausgleich in datennetzwerken
EP4005163A1 (de) Übertragung von datenpaketen
DE102019210229A1 (de) Verfahren und Vorrichtung zur Analyse dienste-orientierter Kommunikation
DE10327545B4 (de) Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten
EP1317820B1 (de) Verfahren zum aufbau von verbindungen mit vorgegebener dienstgüte für ein paketorientiertes kommunikationsnetz mit einem resourcenmanager
DE60206720T2 (de) Methode und Vorrichtung zur Paketübertragung in einem Netzwerk mit Überwachung von unzulässigen Paketen
WO2020108998A1 (de) Verteilerknoten, automatisierungsnetzwerk und verfahren zum übertragen von telegrammen
DE69925380T2 (de) Vorrichtung und verfahren zur verarbeitung einer paketsequenz
DE102019125545B3 (de) Datenübertragungsverfahren, segment-telegramm und automatisierungskommunikationsnetzwerk
EP1623559B1 (de) Verfahren zum datenaustausch zwischen netzelementen in netzwerken mit verschiedenen adressbereichen
DE60109027T2 (de) Verfahren und system zur steuerung von datenströmen in teil-datenstrom-bündeln von computernetzwerken
EP1180888B1 (de) Verfahren zum Aufbauen einer Datenverbindung zwischen einer ersten und einer zweiten Recheneinheit und Vorrichtung zum Austauschen von Daten
EP1358735B1 (de) Einheit zur verteilung und verarbeitung von datenpaketen
EP3758310A1 (de) Verfahren zur datenkommunikation, netzwerksteuereinrichtung, netzwerk, computerprogramm und computerlesbares medium
DE102019207579A1 (de) Verfahren und Vorrichtung zum Überwachen von Datenaustausch in einem Kommunikationssystem
EP3518470A1 (de) Verfahren zur daten-kommunikation in einem insbesondere industriellen netzwerk, vorrichtung zur durchführung des verfahrens, computerprogramm sowie computerlesbares medium
EP3590235B1 (de) Datenübertragungsverfahren und automatisierungskommunikationsnetzwerk
DE102017223568A1 (de) Verfahren zur Steigerung einer Netzwerkressourcennutzung und Bereitstellung genügender Service-Qualität
EP1825643A1 (de) Aggregation der inter-domain ressourcen-signalisierung
EP4170977A1 (de) Verfahren zum überwachen eines datennetzwerks in einem kraftfahrzeug sowie switchvorrichtung und kraftfahrzeug

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

R081 Change of applicant/patentee

Owner name: LANTIQ DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE

Effective date: 20110325

Owner name: LANTIQ BETEILIGUNGS-GMBH & CO. KG, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE

Effective date: 20110325

R081 Change of applicant/patentee

Owner name: INTEL CORP., SANTA CLARA, US

Free format text: FORMER OWNER: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

Owner name: LANTIQ BETEILIGUNGS-GMBH & CO. KG, DE

Free format text: FORMER OWNER: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

R082 Change of representative

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R081 Change of applicant/patentee

Owner name: INTEL CORP., SANTA CLARA, US

Free format text: FORMER OWNER: LANTIQ BETEILIGUNGS-GMBH & CO. KG, 85579 NEUBIBERG, DE

R082 Change of representative
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029020000

Ipc: H04L0065000000

R071 Expiry of right