DE10327545A1 - Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten - Google Patents
Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten Download PDFInfo
- Publication number
- DE10327545A1 DE10327545A1 DE10327545A DE10327545A DE10327545A1 DE 10327545 A1 DE10327545 A1 DE 10327545A1 DE 10327545 A DE10327545 A DE 10327545A DE 10327545 A DE10327545 A DE 10327545A DE 10327545 A1 DE10327545 A1 DE 10327545A1
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/35—Flow control; Congestion control by embedding flow control information in regular packets, e.g. piggybacking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
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 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 18. 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. Insbesondere kann der zweite Datenpfad einen Hauptprozessor umfassen, während bei dem ersten Datenpfad eine Verarbeitung der Datenpakete beispielsweise durch Koprozessoren erfolgen kann.
- 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 kann dabei durch eine Prozessoreinheit, insbesondere durch einen Koprozessor, erfolgen. 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 aus1 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 Paketkoprozessor1 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 Koprozessor2 das Datenpaket verarbeiten und beispielsweise die Sprachdaten über einen Datenpfad e an eine nachgeordnete Einheit4 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 Koprozessor2 Datenpakete an den Hauptprozessor3 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 Koprozessoren1 und2 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 Headerparameter5 einmal von der Hauptprozessoreinheit3 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 Ethernetheaderparameter5A , welche Parameter einer Ethernetverbindung beispielsweise in einem LAN beinhalten, IP-Headerparameter5B , welche Informationen über die Verbindung zu einem IP-Netzwerk wie dem Internet beinhalten, und UDP-Headerparameter5C , welche Informationen über das "User Datagram"-Protokoll, welches typischerweise zum Versenden von Sprachdaten benutzt wird, enthält. Diese Headerparameter5 werden über die beiden Teile des zweiten Datenpfades c, d an die Koprozessoren1 und2 geschickt und dort zu Referenzzwecken abgespeichert. Ein Datenpaket6 , welches über den Datenpfad a empfangen wird, enthält ebenfalls derartige Headerparameter6A ,6B ,6C und zudem die eigentlichen Daten6D , im Fall von Sprachdaten RTP("Real Time Protocol")-Echtzeitsprachdaten. - Die Headerparameter
6A ,6B ,6C werden mit den entsprechenden abgespeicherten Headerparametern5A ,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 Datenpaket6 als erster Datenpakettyp klassifiziert und über den ersten Datenpfad b and den weiteren Koprozessor2 weitergegeben. Dieser kann die Klassifizierung noch fortführen, insbesondere beim Verarbeiten der Daten. Falls sich bei der Klassifizierung in dem Paketkoprozessor1 oder in dem Sprachkoprozessor2 ergeben sollte, dass es sich nicht um Sprachdaten handelt, wird das Datenpaket an den Hauptprozessor3 übergeben. Andernfalls wird es von dem Sprachkoprozessor2 verarbeitet. - In
3 ist diese Klassifizierung anhand eines Flussdiagramms detailliert dargestellt. In einem ersten Schritt7 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 Schritt8 übergegangen, wenn nein (N), wird zu Schritt13 übergegangen, in dem das entsprechende Datenpaket an die Hauptprozessoreinheit3 übergeben wird. - Im nächsten Schritt
8 wird überprüft, ob im Ethernetheader6A der richtige Verbindungstyp, beispielsweise IP, für die jeweilige Verbindung angegeben ist. Falls ja, wird zu Schritt9 übergegangen, falls nein, wiederum zu Schritt13 . - 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 Schritt13 übergegangen. Diese ersten drei Klassifizierungsschritte7 bis9 werden beispielsweise in dem Paketkoprozessor1 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 Sprachkoprozessor2 zur weiteren Behandlung übergeben. Dort wird in Schritt10 überprüft, ob das Protokoll des empfangenen Datenpakets ein UDP-Protokoll ist. Falls nein, wird zu Schritt14 übergegangen, was bedeutet, dass das Datenpaket wiederum an den Hauptprozessor3 übergeben wird. Falls ja, wird zu Schritt11 ü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 Schritt14 übergegangen. Falls ja, wird in Schritt12 das Datenpaket verarbeitet und gegebenenfalls die verarbeiteten Daten an die in1 gezeigte nachgeordnete Einheit4 zur weiteren Verarbeitung und zur Sprachausgabe weitergegeben. Die Aufteilung der Schritte7 bis11 zwischen dem Paketkoprozessor1 und dem Sprachkoprozessor2 ist dabei prinzipiell beliebig. - In der nachgeordneten Einheit
4 kann dabei beispielsweise die tatsächliche Verarbeitung der Sprachdaten vorgenommen werden, während im Sprachkoprozessor2 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 Koprozessoren1 ,2 und dem Zentralprozessor3 genauer dargestellt. - Dabei umfasst der Paketkoprozessor
1 einen Paketspeicher15 mit einer Liste von Deskriptoren151 ,152 , ... bis15N . Jeder dieser Deskriptoren151 ,152 , ...15N enthält einen Zeiger25 auf einen Speicherbereich20 ,21 in einem Speicherelement19 , 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 Speicherbereichen20 ,21 abgespeichert, wobei im vorliegenden Beispiel die Speicherbereiche20 mit eingegangenen Datenpaketen belegt sind, während der Speicherbereich21 noch frei ist. Ist ein Datenpaket vollständig empfangen und in einem entsprechenden Speicherbereich20 abgespeichert, wird dies dem Paketkoprozessor1 beispielsweise durch einen Interrupt mitgeteilt. Der Paketkoprozessor1 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 Hauptspeicher3 ü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 Hauptprozessor3 dem Paketkoprozessor1 einen neuen freien Speicherbereich21 zu, so dass in der Liste in dem Paketspeicher15 immer genügend Deskriptoren und Zeiger auf freie Speicherbereiche zur Verfügung stehen (Pfeil h). Die Kommunikation im Paketkoprozessor1 wird dabei durch eine Einheit16 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 Sprachprozessor2 ist dabei analog zum Paketkoprozessor1 eine Einheit17 zur Kommunikation vorgesehen. Weiterhin enthält der Sprachkoprozessor2 eine gespeicherte Liste18 mit Deskriptoren181 ,182 , ...,18M , welche wiederum Zeiger25 auf dem Sprachkoprozessor2 zugeordnete Speicherbereiche23 ,24 enthalten. Die Speicherbereiche23 enthalten dabei bereits vom Paketkoprozessor1 als Sprachdatenpakete eingestufte Pakete, während der Speicherbereich24 noch frei ist. Erhält der Sprachkoprozessor2 nun wie oben beschrieben einen Deskriptor bzw. Zeiger auf ein neues Sprachdatenpaket, schickt er im Gegenzug einen Zeiger25 auf einen freien Speicherabschnitt an den Paketkoprozessor1 zurück (Pfeil f). Wenn, wie in3 bei den Schritten10 und11 möglich, der Sprachkoprozessor bemerkt, dass es sich bei dem Datenpaket um kein Sprachdatenpaket handelt, wird der Zeiger auf das Datenpaket an den Hauptprozessor3 ü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 (24)
- Verfahren zur Verarbeitung von Datenpaketen (
6 ), welche Echtzeitdatenpakete umfassen, dadurch gekennzeichnet, dass 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. - Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der zweite Datenpakettyp Datenpaketen mit Steuer- oder Signalinformationen zugeordnet ist.
- 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.
- 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. - Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Datenpakete (
6 ) anhand eines Ports, auf dem sie empfangen werden, klassifiziert werden. - Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Datenpakete (
6 ) anhand einer in den Datenpaketen enthaltenen Netzadresse klassifiziert werden. - 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. - 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. - Verfahren nach einem der vorhergehenden Ansprüche, 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. - Verfahren nach Anspruch 9, dadurch gekennzeichnet, 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. - Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die zweite Prozessoreinheit (
3 ) eine Hauptprozessoreinheit und die ersten und dritten Prozessoreinheiten (1 ,2 ) Koprozessoreinheiten sind. - Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die Hauptprozessoreinheit (
3 ) den Koprozessoreinheiten (1 ,2 ) Speicherbereiche zum Speichern von Datenpaketen zuweist. - Verfahren nach Anspruch 11 oder 12, 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. - 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.
- 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.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Datenpakete (
6 ) über ein IP-Übertragungsnetzwerk empfangen werden. - Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Echtzeitdatenpakete Sprachdaten umfassen.
- Vorrichtung zur Verarbeitung von Datenpaketen (
6 ), welche Echtzeitdatenpakete umfassen, gekennzeichnet durch 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. - Vorrichtung nach Anspruch 18, dadurch gekennzeichnet, dass der zweite Datenpfad (c, d) eine Hauptprozessoreinheit (
3 ) umfasst. - Vorrichtung nach Anspruch 18 oder 19, dadurch gekennzeichnet, dass der erste Datenpfad (b) eine erste Koprozessoreinheit (
2 ) zum Verarbeiten der Datenpakete des ersten Datenpakettyps umfasst. - Vorrichtung nach einem der Ansprüche 18 bis 20, dadurch gekennzeichnet, dass die Mittel zur Klassifizierung der Datenpakete eine zweite Koprozessoreinheit (
1 ) umfassen. - Vorrichtung nach Anspruch 19, 20 und 21, 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. - Vorrichtung nach Anspruch 22, 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. - Vorrichtung nach einem der Ansprüche 18 bis 23, dadurch gekennzeichnet, dass die Vorrichtung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 17 ausgestaltet ist.
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 |
PCT/EP2004/006080 WO2004112341A2 (de) | 2003-06-18 | 2004-06-04 | 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 |
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 true DE10327545A1 (de) | 2005-01-13 |
DE10327545B4 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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6577631B1 (en) | 1998-06-10 | 2003-06-10 | Merlot Communications, Inc. | Communication switching module for the transmission and control of audio, video, and computer data over a single network fabric |
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 | パケット伝送方法および装置 |
US7546125B2 (en) * | 2005-10-03 | 2009-06-09 | Divitas Networks, Inc. | Enhancing user experience 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 |
-
2003
- 2003-06-18 DE DE10327545A patent/DE10327545B4/de not_active Expired - Lifetime
-
2004
- 2004-06-04 WO PCT/EP2004/006080 patent/WO2004112341A2/de active Application Filing
- 2004-06-04 US US10/545,917 patent/US7969982B2/en not_active Expired - Fee Related
- 2004-06-04 CN CNB2004800169796A patent/CN100544311C/zh not_active Expired - Lifetime
Patent Citations (1)
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 |
---|---|
CN1809995A (zh) | 2006-07-26 |
CN100544311C (zh) | 2009-09-23 |
WO2004112341A3 (de) | 2005-03-31 |
DE10327545B4 (de) | 2005-12-01 |
WO2004112341A2 (de) | 2004-12-23 |
US20070165637A1 (en) | 2007-07-19 |
US7969982B2 (en) | 2011-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69429575T2 (de) | Netzwerkstation mit mehreren netzwerkadressen | |
DE60120790T2 (de) | Methode und gerät zum durchsuchen von tabellen in hoher geschwindigkeit | |
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 | |
DE69811622T2 (de) | Verfahren und Vorrichtung zur Bandbreitenverwaltung in einem Datenübertragungsnetz | |
DE69129952T2 (de) | Vorrichtung zur Paketübermittlungsregulierung | |
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 | |
WO2020108998A1 (de) | Verteilerknoten, automatisierungsnetzwerk und verfahren zum übertragen von telegrammen | |
DE112015007093B4 (de) | Kommunikationsvorrichtung und kommunikationsverfahren | |
DE10327545B4 (de) | Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten | |
DE10045205A1 (de) | Verfahren zum Aufbau von Verbindungen mit vorgegebener Dienstgüte für ein paketorientiertes Kommunikationsnetz mit einem Resourcenmanager | |
DE60313026T2 (de) | Verfahren und gerät zur verteilung von datenpaketen von einem computer zu einem clustersystem | |
DE60207687T2 (de) | Verfahren und vorrichtung zum klassifizieren von abfrageknoten | |
EP1623559B1 (de) | Verfahren zum datenaustausch zwischen netzelementen in netzwerken mit verschiedenen adressbereichen | |
DE102019125545B3 (de) | Datenübertragungsverfahren, segment-telegramm und automatisierungskommunikationsnetzwerk | |
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 | |
DE102019207579A1 (de) | Verfahren und Vorrichtung zum Überwachen von Datenaustausch in einem Kommunikationssystem | |
EP3758310A1 (de) | Verfahren zur datenkommunikation, netzwerksteuereinrichtung, netzwerk, computerprogramm und computerlesbares medium | |
EP1358735B1 (de) | Einheit zur verteilung und verarbeitung von datenpaketen | |
DE69107727T2 (de) | Verfahren und Anordnung zur Verbindung von lokalen Netzen. | |
DE102017223568A1 (de) | Verfahren zur Steigerung einer Netzwerkressourcennutzung und Bereitstellung genügender Service-Qualität | |
EP3590235B1 (de) | Datenübertragungsverfahren und automatisierungskommunikationsnetzwerk |
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 |