DE102010018376B4 - Dynamische Pufferung und Synchronisation verwandter Medienströme in Paketnetzwerken - Google Patents

Dynamische Pufferung und Synchronisation verwandter Medienströme in Paketnetzwerken Download PDF

Info

Publication number
DE102010018376B4
DE102010018376B4 DE102010018376.8A DE102010018376A DE102010018376B4 DE 102010018376 B4 DE102010018376 B4 DE 102010018376B4 DE 102010018376 A DE102010018376 A DE 102010018376A DE 102010018376 B4 DE102010018376 B4 DE 102010018376B4
Authority
DE
Germany
Prior art keywords
packet
packets
buffer
read
buffer memory
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 - Fee Related
Application number
DE102010018376.8A
Other languages
English (en)
Other versions
DE102010018376A1 (de
Inventor
Paul Roller Michaelis
David S. Mohler
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.)
Avaya Inc
Original Assignee
Avaya Inc
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 Avaya Inc filed Critical Avaya Inc
Publication of DE102010018376A1 publication Critical patent/DE102010018376A1/de
Application granted granted Critical
Publication of DE102010018376B4 publication Critical patent/DE102010018376B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities

Abstract

Verfahren, umfassend: (a) Empfang, an einem gemeinsamen Empfangsknoten, eines ersten und eines zweiten Pakets, wobei das erste und das zweite Paket gemeinsame Paketdauern sowie gemeinsame Zeitstempel und/oder Sequenznummern haben, wobei das erste Paket in einem ersten Medienstrom empfangen wird und das zweite Paket in einem zweiten, unterschiedlichen Medienstrom empfangen wird; (b) Schreiben, durch einen Prozessor, des ersten Pakets in einen ersten Pufferspeicher; (c) Schreiben, durch den Prozessor, des zweiten Pakets in einen zweiten Pufferspeicher; und (d) Auswählen, durch ein Steuermodul, welches der beiden Pakete gelesen werden soll, wobei nur entweder das erste oder das zweite Paket verwendet wird, um eine Lücke in einem Datenstrom zu füllen, wobei das erste Paket über ein paketvermitteltes Netzwerk übertragen wird und das zweite Paket über ein leitungsvermitteltes Netzwerk übertragen wird, wobei das erste Paket aus einer ersten, zu dem ersten Pufferspeicher korrespondierenden Warteschlange ausgelesen wird und das zweite Paket nicht aus einer zweiten, zu dem zweiten Pufferspeicher korrespondierenden Warteschlange ausgelesen wird und wobei das zweite Paket im Wesentlichen zur selben Zeit, da das erste Paket aus der ersten Warteschlange ausgelesen wird, aus der zweiten Warteschlange entfernt wird, und wobei das erste und das zweite Paket gemeinsame Quell- und Zieladressenpaare haben, wobei eine Nutzinformation des ersten Pakets einen ersten Komprimierungsgrad hat, eine Nutzinformation des zweiten Pakets einen zweiten Komprimierungsgrad hat, wobei der erste Komprimierungsgrad geringer ist als der zweite Komprimierungsgrad und wobei die Art der Nutzinformation des ersten und des zweiten Pakets dieselbe ist.

Description

  • QUERVERWEIS AUF EINE VERWANDTE ANMELDUNG
  • Es wird verwiesen auf die am 29. Januar 2009 eingereichte US-Patentanmeldung Nr. 12/361,950 mit dem Titel ”System und Verfahren zur Angabe eines Ersatzpakets”.
  • BEREICH
  • Die Erfindung betrifft allgemein die Steuerung von Pufferspeichern und insbesondere die Steuerung von Jitter-Puffern in paketierten Kommunikationen. Entsprechende Systeme und Verfahren sind dem Fachmann aus der EP 1 168 714 A2 , der US 2008/0 037 567 A1 , der US 2006/0 140 221 A1 , der US 2008/0 310 398 A1 , der US 2007/0 177 579 A1 und der EP 1 936 888 A1 bekannt.
  • HINTERGRUND
  • Paketvermittelte Telekommunikationsnetze sind gekennzeichnet durch Verkehr, wie zum Beispiel Sprache, Video und/oder Text, der in Stücke, so genannte Pakete, unterteilt ist. Paket-Kommunikationen verwenden eine statistische Multiplex- oder dynamische Bandbreitenzuweisung, bei der ein physikalischer Kommunikationskanal in eine Anzahl von Kanälen oder Strömen mit variabler Bitrate aufgeteilt wird. Am Zielende werden diese Pakete anhand ihrer Paketnummern und anderer statistischer Faktoren wieder zusammengesetzt.
  • Paketvermittelter Verkehr unterliegt Fragen der Dienstgüte (Quality of Service = QoS), wie zum Beispiel Verzögerung, Jitter, ausgelassene Pakete, nicht ordnungsgemäße Weitersendung und/oder Fehler durch Paketbeschädigung. Zum Beispiel wird in einem typischen Voice over Internet Protocol(”VoIP”)-System der Sprachstrom einer ersten Person von einem ersten Gateway digitalisiert, komprimiert und in Pakete codierter binärer Daten unterteilt. Die Pakete werden über ein virtuelles privates Netz (”VPN”) oder ein ungeregeltes oder öffentliches Netz gesendet, welches sie mit bei jedem Paket variierenden Verzögerungaufkommen an einen Gateway der Gegenstelle weitersendet. Der Gateway der Gegenstelle ordnet die empfangenen Pakete um, dekomprimiert (oder, was dasselbe ist, decodiert) dann die codierten binären Daten und liefert somit einen kontinuierlichen Audio-Strom an eine zweite Person. Der Audio-Strom ist eine leicht verzögerte Kopie des Audio-Stroms der ersten Person. In dem Beispiel wird die QoS vermindert durch Verzerrungen, die eingeleitet werden zum Beispiel durch die Gesamtverzögerung vom Sprechereignis bis zum Hörempfang, durch Ausfälle und andere Artefakte, die darauf zurückzuführen sind, dass Pakete zu früh (aufgrund unterschiedlicher Transitpfadlänge) oder zu spät (zum Beispiel aufgrund von Netzüberlastung und/oder unterschiedlicher Pfadlänge) eintreffen, um korrekt in den Audio-Strom aufgenommen zu werden, durch totalen Paketverlust, Pufferspeicherüberlauf und andere Faktoren. Die QoS-Probleme verstärken sich bei einer Multimedia-Konferenz, bei der eine isochrone (zeitlich gleichmäßig gesteuerte) Weitersendung verschiedener Arten von Verkehr, wie zum Beispiel Sprache und Video, sichergestellt sein muss.
  • Es wurde eine Reihe von Techniken entwickelt, um verschiedene Faktoren, welche die QoS nachteilig beeinflussen, zu steuern. Zu diesen Techniken gehören Jitter-Puffer, das ReSerVation-Protokoll (”RSVP”), das Differential Services(DiffServ)-Protokoll, redundante Übertragung (wie sie zum Beispiel in RFC-2198 spezifiziert ist), Laufzeitzuweisungsalgorithmen (wie zum Beispiel Weighted Fair Queuing (”WFQ”)), klassenbasierte Warteschlangenbildung, Überlastungsvermeidungsmechanismen (wie zum Beispiel Random Early Detection (”RED”) und Weighted Random Early Detection (”WRED”)) und Ähnliches.
  • Ein Jitter-Puffer ist ein Hardware-Gerät oder ein Software-Prozess, der den durch Übertragungsverzögerungen hervorgerufenen Jitter verringert. Wenn der Jitter-Puffer Pakete empfängt, schreibt er diese in der Reihenfolge ihres Eintreffens in einen Speicher. Die Pakete werden so bald wie möglich in der richtigen Reihenfolge ausgelesen, das heißt, die Pakete werden sequenziell neu geordnet, wenn sie ungeordnet sind, und werden anhand des lokalen Takts, der den Leserzeiger steuert, zeitlich neu festgelegt. Der maximale Netto-Jitter, dem ein Entjitter-Puffer entgegenwirken kann, ist gleich der Pufferungsverzögerung, die vor dem Beginn des Abspielens des Medienstroms eingeleitet wurde. Ohne einen Jitter-Puffer zur Glättung der Übertragung können Daten verlorengehen, was im Falle von Sprachsignalen zu einem wahrnehmbar zerhackten Audio-Strom führt.
  • Die Größe des Jitter-Puffers kann für die vom Zuhörer wahrgenommene Qualität des Audio-Stroms von Bedeutung sein. Ein großer Pufferspeicher ermöglicht zwar, dass weniger Pakete verlorengehen, er kann jedoch eine große Verzögerung in den ausgegebenen Audio-Strom einleiten. Im Gegensatz dazu kann ein kleiner Jitter-Puffer, der eine kleinere Verzögerung in den ausgegebenen Audio-Strom einleitet, einen erheblichen Paketverlust verursachen. Die Qualität der Verbindung verschlechtert sich, wenn der Netz-Jitter die Größe des Jitter-Puffers übersteigt. Dementsprechend wird typischerweise ein Jitter-Puffer von mittlerer Kapazität oder ein Jitter-Puffer von variabler Kapazität eingesetzt.
  • Zwar sind Einfach-Pufferspeicher üblich, jedoch wurden für Sprachkommunikationen Dual-Pufferspeicher nach dem Stand der Technik eingesetzt. In einer Implementierung wurden in einem Port-Netz Dual-Pufferspeicher von statischer Kapazität eingesetzt, um eine dynamische Bandbreitenzuweisung zu bewirken. Einer der Pufferspeicher entsprach Time Division Multiplexed(”TDM”)-Daten (die nicht mit einem Zeitstempel versehen waren), und der andere entsprach Paketdaten. Es wurde angenommen, dass die TDM-Daten implizit synchronisiert und immer geordnet waren, und sie wurden bevorzugt vor den Paketdaten erfasst. Somit wurden die TDM-Daten nicht aufgrund von Jitter oder Wartezeit umgeordet. Jeder Pufferspeicher hatte Lese- und Schreibzeiger, um den Pufferspeicherzustand zu verwalten. Ein Pop-Zeiger ermöglichte eine sequenzielle Neuordnung der Pakete, die ungeordnet eintrafen. Ein Controller steuerte die TDM-Daten bevorzugt an, wenn der nächste sequenzielle Speicherstandort solche TDM-Daten besaß. Wann immer der TDM-Pufferspeicher nicht belegt war, wurde nach Bedarf aus dem Paketdaten-Pufferspeicher ausgelesen, um Daten für angesteuerte Speicherstandorte, die keine TDM-Daten hatten, bereitzustellen.
  • Trotz dieser Techniken bleiben QoS-Fragen am Gegenstellen-Gateway ein Problem.
  • ZUSAMMENFASSUNG
  • Diese und andere Erfordernisse werden von den verschiedenen Ausführungsformen und Konfigurationen der vorliegenden Erfindung angesprochen. Die vorliegende Erfindung betrifft allgemein die Verwendung zweier oder mehrerer Pufferspeicher, um Paket-Jitter, Wartezeit, Verlust, und/oder Synchronisation wirksamer und effektiver zu verwalten.
  • In einer ersten Ausführungsform wird ein Verfahren angegeben, das folgende Schritte aufweist:
    • (a) Empfang, an einem gemeinsamen Empfangsknoten, eines ersten und eines zweiten Pakets, wobei das erste und das zweite Paket gemeinsame Paketdauern sowie gemeinsame Zeitstempel und/oder Sequenznummern haben, wobei das erste Paket in einem ersten Medienstrom empfangen wird und das zweite Paket in einem zweiten, unterschiedlichen Medienstrom empfangen wird;
    • (b) Schreiben, durch einen Prozessor, des ersten Pakets in einen ersten Pufferspeicher;
    • (c) Schreiben, durch den Prozessor, des zweiten Pakets in einen zweiten Pufferspeicher; und
    • (d) Auswählen, durch ein Steuermodul, welches der beiden Pakete gelesen werden soll, wobei nur entweder das erste oder das zweite Paket verwendet wird, um eine Lücke in einem Datenstrom zu füllen,
    wobei das erste Paket über ein paketvermitteltes Netzwerk übertragen wird und das zweite Paket über ein leitungsvermitteltes Netzwerk übertragen wird, wobei das erste Paket aus einer ersten, zu dem ersten Pufferspeicher korrespondierenden Warteschlange ausgelesen wird und das zweite Paket nicht aus einer zweiten, zu dem zweiten Pufferspeicher korrespondierenden Warteschlange ausgelesen wird und wobei das zweite Paket im Wesentlichen zur selben Zeit, da das erste Paket aus der ersten Warteschlange ausgelesen wird, aus der zweiten Warteschlange entfernt wird, und wobei das erste und das zweite Paket gemeinsame Quell- und Zieladressenpaare haben, wobei eine Nutzinformation des ersten Pakets einen ersten Komprimierungsgrad hat, eine Nutzinformation des zweiten Pakets einen zweiten Komprimierungsgrad hat, wobei der erste Komprimierungsgrad geringer ist als der zweite Komprimierungsgrad und wobei die Art der Nutzinformation des ersten und des zweiten Pakets dieselbe ist.
  • In einer zweiten Ausführungsform wird ein System angegeben, umfassend:
    einen Eingang, der dazu dient, ein erstes und ein zweites Paket zu empfangen, wobei das erste und das zweite Paket gemeinsame Paketdauern sowie gemeinsame Zeitstempel und/oder Sequenznummern haben, wobei das erste Paket in einem ersten Medienstrom empfangen wird und das zweite Paket in einem zweiten, unterschiedlichen Medienstrom empfangen wird;
    einen Prozessor, der dazu dient, das erste Paket in einen ersten Pufferspeicher zu schreiben und das zweite Paket in einen zweiten Pufferspeicher zu schreiben; und
    ein Steuermodul, das dazu dient, zu ermitteln, welches der beiden Pakete gelesen werden soll, wobei nur entweder das erste oder das zweite Paket verwendet wird, um eine Lücke in einem Datenstrom zu füllen, wobei das erste Paket über ein paketvermitteltes Netzwerk übertragen wird und das zweite Paket über ein leitungsvermitteltes Netzwerk übertragen wird, wobei das erste Paket aus dem ersten Pufferspeicher ausgelesen wird und das zweite Paket nicht aus dem zweiten Pufferspeicher ausgelesen wird und wobei das zweite Paket im Wesentlichen zur selben Zeit, da das erste Paket aus dem ersten Puffer ausgelesen wird, aus dem zweiten Puffer entfernt wird, und
    wobei das erste und das zweite Paket gemeinsame Quell- und Zieladressenpaare haben, wobei eine Nutzinformation des ersten Pakets einen ersten Komprimierungsgrad hat, eine Nutzinformation des zweiten Pakets einen zweiten Komprimierungsgrad hat, und wobei die Art der Nutzinformation des ersten und des zweiten Pakets dieselbe ist, und.
  • In einer Konfiguration nimmt ein Konvergenzpunkt gleichzeitig mehrfache Realtime Transmission Protocol(”RTP”)-Ströme an, die über unterschiedliche Leitwege zu jenem Ziel transportiert wurden. Für jeden der Paketströme hat der Konvergenzpunkt einen separaten Pufferspeicherplatz. Der Konvergenzpunkt hat einen Steuermechanismus, der die Header-Informationen der Pakete prüft, insbesondere die Zeitstempel und Medienbeschreiber, der bevorzugt das Paket mit der besseren Qualität ansteuert, wenn Pakettypen mit demselben Zeitstempel dieselben Grundinformationen enthalten, aber unterschiedliche Qualität besitzen (z. B. G.711 gegenüber G.729 Audio), der die Zeitstempel der Pakete verwendet, um die Präsentation von Medien zu synchronisieren oder zu koordinieren, wenn Pakettypen unterschiedliche Medien repräsentieren (wie zum Beispiel G.711 Audio und H.264 Video oder G.711 Audio und RFC-4103 Text), und der anhand des Medienstromtyps bevorzugt intelligente Kompromisse zwischen QoS und Isosynchronität macht.
  • In einer Konfiguration ermöglichen mehrfache separate Speicheranordnungen mit Steuerlogik oder eine einzige Speicheranordnung mit Steuerlogik dynamische Partitionen innerhalb der Anordnung. Zum Beispiel könnte die Anordnung Schreibzeiger zum Schreiben der Medienströme in den Speicher, Lesezeiger zum Auslesen der Medienströme und einen ”Pop”-Zeiger, der in der Lage ist, ungeordnete Pakete sequenziell neu zu ordnen, haben. Die Steuerlogik prüft die Paketnummer, den Medientyp und andere statistische Informationen und sourct die Pakete an andere Digital Signal Processor(”DSP”)-Schaltungen, wie zum Beispiel nachgeschaltete Codecs, nachgeschaltete Paketverlustverschleierungsalgorithmen, und Ähnliches. Die Schaltungen und die Speicheranordnung könnten in einer programmierbaren Logikanordnung, wie zum Beispiel einer Field Programmable Gate Array (”FGPA”), einem Mikrocontroller mit Speicher oder kundenspezifischem Silizium, physikalisch zusammengefasst sein, oder sie könnten aus handelsüblichen Logik- und Speichergeräten gefertigt sein. Sie könnten die Steuerung in der Hardware, Software oder, was am wahrscheinlichsten ist, einer Kombination von beiden, implementieren.
  • Die Speicheranordnung kann als Jitter-Puffer arbeiten und Aktionen, die mit mehrfachen Strömen in Bezug auf QoS und Isosynchronität durchgeführt werden, optimieren. Diese Medienströme können aus identischen Informationen bestehen, die unterschiedlich codiert sind und über unterschiedliche Netzwerke gesendet werden, mit der Absicht, eine einzige perfekte oder nahezu perfekte Gruppe von Paketen für einen einzelnen Informationsstrom zu gewinnen. Alternativ könnten diese Medienströme mehrfache Ströme, wie zum Beispiel Sprache und Video, sein, die eine Synchronisation erfordern, um einen Zeitversatz zu vermeiden. Eine weitere Variante könnten mehrfache Medienströme sein, die eine Koordination erfordern, wie zum Beispiel Sprache und Text. Durch Einsatz einer zugeordneten Steuerlogik können intelligente Entscheidungen hinsichtlich Qualität und Synchronisation getroffen werden. Dies steht im Gegensatz zu herkömmlichen Systemen, in denen an unterschiedlichen Punkten im Netzwerk oft Kompromisse gemacht werden und eine Verbesserung der QoS die Synchronisation negativ beeinflussen kann.
  • Die vorliegende Erfindung kann je nach der besonderen Konfiguration eine Reihe von Vorteilen bieten. Die Erfindung kann Probleme mit der Isosynchronität auf einem akzeptablen Niveau halten oder vollständig beseitigen und eine relativ hohe Praxisqualität für den Endanwender aufrechterhalten. Sie kann eine relativ hohe Dienstgüte (”QoS”) in paketvermittelten Netzwerken, insbesondere bei VoIP-Kommunikationen, aufrechterhalten. Sie kann sowohl die Qualität als auch die Zuverlässigkeit einer Medienübertragung durch Verwendung mehrfacher Übertragungen identisch codierter oder abwechselnd codierter Medienströme verbessern, wobei jede der beiden Möglichkeiten angewandt werden kann, um einen übertragenen Medienstrom ausreichend zu regenerieren. Sie kann die Qualität mehrfacher, paketbasierter Medienströme verbessern und/oder diese für eine gleichzeitige oder zumindest koordinierte Weitersendung synchronisieren. Sie kann Jitter und unkorrektes Paketsequenzialisieren verringern oder beseitigen und die Synchronisation mehrfacher, paketbasierter Medienströme wiederherstellen und, je nach den betreffenden Medien, eines von beiden wesentlich optimieren.
  • Diese und weitere Vorteile gehen aus der hierin enthaltenen Offenlegung der Erfindung(en) hervor.
  • Die Ausdrücke ”ein oder mehrere” und ”und/oder” sind offene Begriffe, die sowohl verbindend als auch trennend angewandt werden. Zum Beispiel bedeutet der Ausdruck ”A und/oder B und/oder C” nur A allein, nur B allein, nur C allein, A und B zusammen, A und C zusammen, B und C zusammen oder A, B und C zusammen.
  • Der Begriff ”eine” Entität bezieht sich auf eine oder mehrere jener Entität. Demzufolge können die Begriffe ”ein” ”ein oder mehrere” und ”und/oder” hier gegeneinander austauschbar verwendet werden. Ferner ist zu beachten, dass die Begriffe ”umfassen”, ”aufweisen” und ”haben” gegeneinander austauschbar verwendet werden können.
  • Der Begriff ”automatisch” und seine Abwandlungen, wie sie hier verwendet werden, beziehen sich auf jeglichen Prozess oder Vorgang, der während seiner Durchführung ohne wesentliche Eingabe durch einen Menschen erfolgt. Ein Prozess oder Vorgang kann jedoch auch dann automatisch sein, wenn für seine Durchführung eine wesentliche oder unwesentliche Eingabe durch einen Menschen, die er vor seiner Durchführung erhalten hat, verwendet wird. Eine Eingabe durch einen Menschen gilt als wesentlich, wenn die Eingabe Einfluss darauf hat, wie der Prozess oder Vorgang durchgeführt wird. Eine Eingabe durch einen Menschen, welche der Durchführung des Prozesses oder Vorgangs zustimmt, gilt nicht als ”wesentlich”.
  • ”Durchschnittlicher Paketversatz” ist ein gleitender Durchschnitt des zeitlichen Versatzes zwischen (1) der zeitlichen Position, die einem eintreffenden Paket im Pufferspeicher zugewiesen wird, und (2) der Front des Pufferspeichers (das Paket, das aktuell seriell ausgegeben wird).
  • ”Durchschnittliche Paketvarianz” ist ein Parameter, der die Schwankung bei Paketverzögerung oder Jitter misst. Die durchschnittliche Paketvarianz ist allgemein ein gleitender Durchschnitt der Varianz in der Eintreffzeit der Pakete.
  • Ein ”Pufferspeicher” ist eine Routine oder ein Speicher, der verwendet wird, um eine Differenz in einer Durchflussleistung von Daten oder einer Eintreffenszeit von Ereignissen zu kompensieren, wenn Daten von einem Gerät (dem Eingabegerät) zu einem anderen Gerät (dem Ausgabegerät) übertragen werden. Ein Jitter-Puffer ist ein spezialisierter Typ von Pufferspeicher, der Jitter kompensiert oder beseitigt.
  • Der Begriff ”computer-lesbares Medium”, wie er hier verwendet wird, bezieht sich auf jegliches materielles Speicher- und/oder Übertragungs-Medium, das daran beteiligt ist, einem Prozessor Befehle zur Ausführung zu erteilen. Ein solches Medium kann viele Formen annehmen, einschließlich, ohne jedoch darauf beschränkt zu sein, nichtflüchtige Medien, flüchtige Medien und Übertragungs-Medien. Zu den nichtflüchtigen Medien gehören zum Beispiel NVRAM oder Magnet- oder optische Platten. Zu den flüchtigen Medien gehören dynamische Speicher, wie z. B. Arbeitsspeicher. Zu den gängigen Formen computer-lesbarer Medien gehören zum Beispiel Floppy Disks, Disketten, Festplatten, Magnetbänder oder jegliche anderen magnetischen Medien, magnetisch-optische Medien, CD-ROMs, jegliche anderen optischen Medien, Lochkarten, Lochstreifen, jegliche anderen körperlichen Medien mit Lochmustern, RAMs, PROMs und EPROMs, FLASH-EPROMs, Festkörper-Medien wie Speicherkarten, jegliche anderen Speicher-Chips oder -Kassetten, Trägerwellen, wie im Folgenden beschrieben, oder jegliche anderen Medien, die ein Computer auslesen kann. Ein digitaler Dateianhang einer E-Mail oder eines anderen in sich geschlossenen Datenarchivs oder einer Menge von Archiven gilt als einem körperlichen Speichermedium gleichwertiges Verteilungsmedium. Ist das computer-lesbare Medium als Datenbank konfiguriert, so ist zu verstehen, dass die Datenbank jegliche Art von Datenbank sein kann, wie zum Beispiel relational, hierarchisch, objektorientiert und/oder Ähnliches. Folglich gilt, dass die Erfindung ein körperliches Speichermedium oder Verteilungsmedium und nach dem Stand der Technik anerkannte Äquivalente und Nachfolgemedien, in denen die Softwareimplementierungen der vorliegenden Erfindung gespeichert sind, aufweist.
  • Die Begriffe ”ermitteln” und ”berechnen” und ihre Abwandlungen, wie sie hier verwendet werden, werden gegeneinander austauschbar verwendet und beinhalten jegliche Art von Methodologie, Prozess, mathematischer Operation oder Technik.
  • Der Begriff ”Jitter” ist eine unerwünschte Laufzeitschwankung eines übertragenen digitalen Signals.
  • Der Begriff ”Modul”, wie er hier verwendet wird, bezieht sich auf jegliche bekannte oder später entwickelte Hardware, Software, Firmware, künstliche Intelligenz, Fuzzy-Logik oder Kombination von Hardware und Software, die in der Lage ist, die jenem Element zugeordnete Funktionalität auszuführen. Außerdem ist zu beachten, dass die Erfindung zwar anhand von Ausführungsbeispielen beschrieben wird, dass jedoch einzelne Aspekte der Erfindung gesondert beansprucht werden können.
  • Ein ”Zeiger” ist eine Identifizierer, wie zum Beispiel ein Datenelement, das auf den Standort eines anderen Datenelements hinweist. Der Wert des Zeigers oder Zeigerwert, ist im Allgemeinen eine Speicheradresse des lokalisierten Datenelements.
  • Die vorstehenden Ausführungen sind eine vereinfachte Zusammenfassung der Erfindung, um das Verständnis einiger Aspekte der Erfindung zu erreichen. Diese Zusammenfassung ist weder ein umfassender noch ein erschöpfender Überblick über die Erfindung und ihre verschiedenen Ausführungsformen. Sie soll weder Schlüssel- oder kritische Elemente der Erfindung kennzeichnen noch den Umfang der Erfindung umreißen, sondern ausgewählte Konzepte der Erfindung in vereinfachter Form präsentieren, als Einführung in die weiter unten dargelegte ausführlichere Beschreibung. Man wird verstehen, dass weitere Ausführungsformen der Erfindung möglich sind, bei denen ein oder mehrere der weiter oben dargelegten oder weiter unten ausführlich beschriebenen Merkmale, allein oder in Kombination, verwendet werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm eines Systems gemäß einer ersten Ausführungsform; und
  • 2 ist ein Ablaufplan gemäß der ersten Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Mit Bezug auf 1 wird eine erste Ausführungsform der Erfindung beschrieben.
  • Das System 100 umfasst einen Sendeknoten 104, der über ein erstes und (optional) ein zweites Netzwerk 108 bzw. 112 mit einem Empfangsknoten 116 in Kommunikation steht. Der Empfangsknoten 116 umfasst eine Anzahl von Komponenten, einschließlich eines ersten und eines zweiten Pufferspeichers 120 bzw. 124, eines Entpaketierers 128, eines Decodierers 132, eines Verarbeitungsmoduls 136, eines Netzwerkzustandsmoduls 140 und eines Steuermoduls 144, die alle mittels eines Busses 148 in Kommunikation stehen. Man wird verstehen, dass in einer Vollduplex-Kommunikationssitzung beide Knoten Pakete senden und empfangen und deshalb beide diese Komponenten besitzen.
  • Der Sendeknoten 104 und der Empfangsknoten 116 können eine Vielzahl von Kommunikationsgeräten sein. Zu den beispielhaften Kommunikationsgeräten gehören Voice over Internet Protocol(”VoIP”)-Geräte (wie zum Beispiel IP-Softphones und -Hardphones), Schalter, Medien-Server, Router, Session Border Controllers und Gateways (z. B. Sicherheits- und Port-Gateways). Üblicherweise ist die Kommunikation software-gesteuert und beinhaltet einen Mehrzweck-Mikroprozessor; es kann jedoch auch ein spezialisierter Digital Signal Processor (”DSP”) verwendet werden.
  • Das erste und das zweite Netzwerk 108 bzw. 112 sind üblicherweise beide paketvermittelt; es können jedoch ein oder beide Netzwerke leitungsvermittelt sein. In einer Konfiguration werden unterschiedliche Paketkommunikationspfade nur im ersten Netzwerk 108 verwendet. In einer anderen Konfiguration werden unterschiedliche, Signalkommunikationspfade über sowohl das erste als auch das zweite Netzwerk 108 bzw. 112 angewandt.
  • Der erste und der zweite Pufferspeicher 120 bzw. 124 besitzen eine Anzahl von Steckplätzen oder adressierten Speicherplätzen 120-1, 120-2, 120-3, 120-4, ... bzw. 124-1, 124-2, 124-3, 124-4..., um Daten, üblicherweise Sprach- oder Video-Daten, für ein späteres Auslesen zu empfangen, zu speichern und (durch einen Zeitstempel und/oder eine Paketnummer) sequenziell richtig zu ordnen. Die Pufferspeicher 120 und 124 können je nach Konfiguration ein Hardware-Gerät oder ein Software-Prozess sein, wobei ein Software-Prozess bevorzugt wird. In einer Konfiguration sind einer oder beide des ersten und des zweiten Pufferspeichers 120 bzw. 124 dynamisch und adaptiv, da sie eine variable Kapazität haben. Der erste und der zweite Pufferspeicher 120 bzw. 124 befinden sich in einer verwalteten Speicherzuweisung unter der Steuerung des (weiter unten erörterten) Steuermoduls 144. Der zugewiesene Speicher kann jede geeignete Art von aufzeichenbarem und lesbarem Medium sein. Die Pufferspeicher können je nach Konfiguration einen partitionierten gemeinsamen Speicher oder getrennte Speicher haben. Eine andere gleichwertige Alternative wäre ein dedizierter Speicherblock oder -register unter der Steuerung des Moduls 144.
  • Für die Verwaltung der Pufferspeicher wird eine Anzahl von Zeigern eingesetzt. Sowohl der erste als auch der zweite Pufferspeicher 120 bzw. 124 hat ein entsprechendes Paar von Lese- und Schreibzeigern 152a, b bzw. 156a, b. Der Lesezeiger zeigt auf ein zuletzt gelesenes Paket oder einen Abschnitt davon, während der Schreibzeiger auf ein zuletzt geschriebenes oder aufgezeichnetes Paket oder einen Abschnitt davon zeigt. Zwar wird das gesamte Paket, einschließlich Header, Trailer und Nutzinformation des Pakets, normalerweise in einen Pufferspeichersteckplatz geschrieben, jedoch schreibt eine alternative Konfiguration nur ausgewählte Teile des Pakets in den Steckplatz. Ein Beispiel wäre die Nutzinformation und üblicherweise auch die Paketsequenznummer oder der Zeitstempel. Ein (nicht abgebildeter) Leseprozess liest den Steckplatzinhalt, während ein (nicht abgebildeter) Schreibprozess den Inhalt in den jeweiligen Steckplatz schreibt. Zusätzlich zu den Lese- und Schreibzeigern 152 bzw. 156 zeigen die Pop-Zeiger 160a, b auf jeglichen Speicherplatz, der außer Sequenz ist und der benötigt wird, um ungeordnete Pakete innerhalb des ersten und des zweiten Pufferspeichers 120 bzw. 124 sequenziell neu zu ordnen. Einen Pop-Zeiger kann man sich vorstellen als entweder einen nicht sequenziellen Lesezeiger (wobei der Zeiger auf das nächste ungeordnete Paket in einer Paketsequenz zeigt) oder alternativ als einen Zurück-zur-Sequenz-Lesezeiger (der auf das letzte geordnete Paket in einer nicht sequenziellen Anordnung von Paketen zeigt). Bei der vorliegenden Erfindung kann der Pop-Zeiger auf beide Arten verwendet werden.
  • Der Entpaketierer 128 empfängt neu geordnete Pakete von dem einen des ersten und des zweiten Pufferspeichers 120 bzw. 124, auf die der Lesezeiger 152a, b aktuell zeigt, und entfernt Header und Trailer des Pakets aus dem Paket. Falls die Nutzinformation komprimiert ist, wird sie anschließend an den Decodierer 132 geleitet. In einer Konfiguration wird das entsprechend zeitgestempelte und/oder sequenznummerierte Paket im anderen Pufferspeicher aus dem Pufferspeicher entfernt und verworfen.
  • Der Decodierer 132 dekomprimiert die Nutzinformation. Der Decodierer kann jeder geeignete Dekomprimierungsalgorithmus sein. Man wird verstehen, dass durch die Komprimierung die Bandbreite oder die Anzahl der zur Codierung einer Information oder eines Signals benötigten Bits reduziert werden kann, typischerweise durch Beseitigung langer Folgen identischer Bits oder von Bits, die sich in aufeinanderfolgenden Abtastungspausen (z. B. Video-Frames oder Stille) nicht ändern. Es kann jegliche Komprimierungsebene angewandt werden. Beispiele für Komprimierungsalgorithmen sind MPEG-2 (Video), MPEG-4 (Video), H.264 (Video), RFC-4103 (Text), G.711 (Audio), G.723.1 (Audio), G.729 (Audio) und Ähnliches.
  • Das Verarbeitungsmodul 136 verarbeitet die dekomprimierte Nutzinformation für die gewünschte Anwendung. Für Audio-Nutzinformationen rekonvertiert das Modul 136 die Audio-Segmente in einen Audio-(Sprach-)Strom für einen Hörer. Das Modul 136 kann je nach Konfiguration eine Konvertierung von digital in analog oder umgekehrt durchführen. Das Modul 136 kann auch durch psychoakustisch transparentes oder minimal intrusives Füllen (Datenerhöhung) oder Dezimierung Maskenvarianten durchführen. Um Audio-Daten zu erhöhen, ist es vorteilhaft, codierte Pakete selektiv zu duplizieren, entsprechend den Pausen zwischen den Wörtern und/oder stabilen Vokalklängen. Weitere ähnliche Techniken sind nach dem Stand der Technik ebenfalls bekannt. Für Video-Nutzinformationen kann das Modul 136 auch je nach Konfiguration eine Konvertierung von digital in analog oder umgekehrt durchführen. Das Modul 136 kann auch verwendet werden, um ein Kennzeichen eines Video-Strom zu ändern, wie zum Beispiel Verflechtung, Display-Auflösung, Seitenverhältnis, Farbraum und Bits pro Pixel, Video-Qualität, Bitrate und Format.
  • Das Netzwerkzustandsmodul 140 ermittelt mit Hilfe einer geeigneten Technik einen Zustand des ersten und/oder des zweiten Netzwerks 108, 112. Der Netzwerkzustand kann mit Hilfe einer Anzahl von Parametern, einschließlich Zugriffspriorität, Band breitenverfügbarkeit, Jitter, Paketverlust, Wartezeit, Telefonnetzqualität, Zellenfehlerrate, Zellenblockfehlerrate, Zellenverlustrate, Zellenübertragungsverzögerung, mittlere Zellenübertragungsverzögerung, Streuung der Zellenverzögerung, durchschnittlicher Paketversatz, durchschnittliche Paketvarianz oder Ähnliches quantifiziert werden. Der Netzwerkzustand kann durch passive Techniken, wie zum Beispiel Beobachtung der Kennzeichen der eintreffenden Pakete und/oder der Pufferspeicher, sowie durch andere aktive (intrusive oder nicht intrusive) Techniken, wie zum Beispiel Verwendung von Netzwerk-Probes und das Senden und Empfangen von Ping-Paketen, ermittelt werden.
  • Das Steuermodul 144 steuert nicht nur, auf welchen der beiden Pufferspeicher der Pop-Zeiger 160 zeigt, sondern auch die Kapazität sowohl des ersten als auch des zweiten Pufferspeichers. Man wird verstehen, das die Pufferspeicherkapazität mit Hilfe jeglicher geeigneten Metrik, wie zum Beispiel Zählen der Pakete, Zeiteinheiten (Millisekunden) und Ähnliches ausgedrückt werden kann.
  • Bei der Steuerung der durch die Lesezeiger 152a, b angesteuerten Pufferspeicher legt das Steuermodul 144 auch fest, welcher der zwei Pufferspeicher unkomprimierte Daten oder eine niedrigere Ebene komprimierter Daten enthält (wobei der komprimierte oder geringer komprimierte Pufferspeicher bevorzugt wird), ob ein bestimmtes Paket in der Paketsequenz im bevorzugten Pufferspeicher eingetroffen ist oder nicht (wenn ein Paket noch nicht eingetroffen ist und ausgelesen werden soll, wird das Paket aus dem weniger bevorzugten Pufferspeicher ausgelesen), und den Netzwerkzustand des für die Übertragung von Paketen in den jeweiligen Pufferspeicher verwendeten Kommunikationspfades (wobei der Kommunikationpfad mit einer höheren Dienstgüte (”QoS”) bevorzugt wird). In einer Konfiguration sendet der Sendeknoten 104 einen ausgewählten Video- oder Audio-Frame unter Verwendung der ersten und der zweiten Komprimierungsebene und desselben Zeitstempels oder derselben Paketsequenznummer und Quell- und Zieladressenpaare über das erste Netzwerk 108. Ein erstes Paket mit der ersten Komprimierungsebene wird im ersten Pufferspeicher gespeichert, und das zweite im zweiten Pufferspeicher. Der Pufferspeicher mit der niedrigeren Komprimierungsebene wird vorzugsweise als Paketquelle verwendet, wobei der andere Pufferspeicher für Pakete, die sich nicht im bevorzugten Pufferspeicher befinden, verwendet wird. In einer weiteren Konfiguration haben das erste und das zweite Paket dieselbe Komprimierungsebene (oder keine Komprimierung) und werden über unterschiedliche Netzwerke oder über dieselben Netzwerke, aber über unterschiedliche Kommunikationspfade gesendet. Die Pakete haben dieselbe Quelladresse und Paketsequenznummer und/oder denselben Zeitstempel. Empfängt ein Zwischen-Router die beiden Pakete, welche dieselbe Quelladresse und Paketsequenznummer und/oder denselben Zeitstempel haben, sendet der Router die Pakete weiter auf unterschiedlichen Pfaden (oder über unterschiedliche Router-Schnittstellen). Dies erfolgt dadurch, dass jeder Router über einen ausgewählten Zeitraum im Speicher eine Auflistung von Feldern von zuvor aufgetretenen Paket-Headern verwaltet.
  • In jeder der beiden Konfigurationen können die Pakete, obwohl sie gemeinsam Nutzinformationen haben, die über einen gemeinsamen Zeitraum (z. B. 20 Millisekunden) extrahiert werden, dieselbe (duplizierte) Nutzinformation haben oder auch nicht. Zum Beispiel könnnen das erste und das zweite Paket dieselbe oder unterschiedliche Arten von Mediennutzinformationen (z. B. dieselben oder unterschiedliche Medienbeschreiber) haben; das heißt, das erste und das zweite Paket können denselben Frame von Audio-Daten oder gemeinsam zeitgestempelte Frames von Audio- und Video-Daten (die synchronisiert werden müssen, wenn sie einem Anwender präsentiert werden) haben.
  • In einer Konfiguration, in der die Nutzinformation dupliziert wird, ist der Sendeknoten 104 ein VoIP-Gerät (ein Hardphone oder Softphone), und der Sendeknoten 104 überträgt dieselbe Menge von Informationen (entweder Steuersignale und/oder Leistungsmetriken im Falle des RealTime Control Protocol (RTCP) oder Audio-Informationen im Falle des RealTime Transfer Protocol (RTCP)) über ein leitungsvermitteltes erstes Netzwerk 108 (vorzugsweise über ein Zellularnetz) und ein paketvermitteltes zweites Netzwerk 112. Die erste, über das erste Netzwerk 108 gesendete Menge von Paketen wird komprimiert, während eine zweite, über das zweite Netzwerk 112 gesendete Menge von Paketen nicht komprimiert wird. Der zweite Pufferspeicher 124 (der die zweite Menge von Paketen enthält) ist der bevorzugte Pufferspeicher für die angesteuerte Menge von Informationen, während der erste Pufferspeicher 120 (der die erste Menge von Paketen enthält) verwendet wird, wenn ein gegebenes Element der Menge von Informationen zum Zeitpunkt des Auslesens aus dem zweiten Pufferspeicher 124 fehlt.
  • In einer Konfiguration, in der die Nutzinformation nicht dupliziert wird, empfängt der Sendeknoten 104 sowohl Sprach- als auch Video-Ströme, entsprechend einer gemeinsamen Menge von auftretenden Elementen (z. B. einer Multimedia-Telefonverbindung, einer Multimedia-Aufzeichnung oder eines Live-Filmens oder einer Präsentation und Ähnliches). Zu jedem Audio-Frame wird aus einem gemeinsamen Ereignis über denselben Zeitraum ein entsprechender Video-Frame erzeugt. Die erste Menge von Paketen enthält Nutzinformationen aus dem Audio-Strom, während die zweite Menge von Paketen Nutzinformationen aus dem Video-Strom enthält. Am Empfangsknoten 116 wird die Größe des ersten und des zweiten Pufferspeichers 120 bzw. 124 geändert, so dass die Zeit zum Lesen entsprechender Paare von Audio- und Video-Informationen den Verlust eines Frames von Informationen aufgrund von Paket-Jitter oder Wartezeit wesentlich minimiert. Dies kann dazu führen, dass der erste und der zweite Pufferspeicher 120 bzw. 124 unterschiedliche Kapazitäten haben, was hauptsächlich von den relativen Zuständen des ersten und des zweiten Netzwerks 108 bzw. 112 abhängt. Die Notwendigkeit, die erste und die zweite Menge von Paketen zu synchronisieren, ist wichtiger als die Wartezeit, die dem Anwender durch eine verzögerte Präsentation entsteht. Zwar wird dieses Beispiel mit Bezug auf Audio und Video erörtert, es versteht sich jedoch, dass es gleichermaßen auf jegliche Kombination von Text, Video und/oder Audio anwendbar ist.
  • Bei der Steuerung der Kapazität des jeweiligen Pufferspeichers berücksichtigt das Steuermodul 144 eine Anzahl von Faktoren. Zu diesen Faktoren gehören zum Beispiel der Netzwerkzustand des Netzwerks, über das die Pakete für einen angesteuerten Pufferspeicher übertragen werden (eine geringere QoS benötigt grundsätzlich eine größere Pufferspeichergröße als eine höhere QoS), die Größe der im angesteuerten Pufferspeicher zu speichernden Pakete (Nutzinformationen mit einer höheren Komprimierungsebene benötigen zu ihrer Speicherung weniger Speicher als Nutzinformationen mit einer niedrigeren Komprimierungsebene), die Pufferspeicherbelegung des angesteuerten Pufferspeichers, die vom Entpaketierer 128, vom Decodierer 132 (manche Komprimierungsalgorithmen, wie zum Beispiel G.729, benötigen mehr Verarbeitung zur Dekomprimierung als andere, wie zum Beispiel G.711), und/oder vom Verarbeitungsmodul 136 (insbesondere eine Video-Verarbeitung kann erhebliche Verzögerungen bei der Verarbeitung von Video-Paketen einleiten, was es erforderlich macht, die Audio-Pakete länger im Pufferspeicher zu halten) eingeleitete Paketverarbeitungswartezeit, den verfügbaren (maximalen) Speicher für den angesteuerten Pufferspeicher, die maximale Wartezeit, die das Verarbeitungsmodul 136 tolerieren kann, um den Erfordernissen des Anwenders oder der Anwendung zu genügen (manche Anwendungen, wie zum Beispiel VoIP, erfordern niedrigere Wartezeitebenen als andere, wie zum Beispiel Bildverarbeitung), die Art der für den Kommunikationspfad des angesteuerten Pufferspeichers verwendeten Medien (leitungsvermittelte Netzwerke haben grundsätzlich kürzere Wartezeiten und einen geringeren Paketverlust als paketvermittelte Netzwerke), ob die Nutzinformation für gemeinsam zeitgestempelte oder nummerierte Pakete vom ersten und vom zweiten Pufferspeicher dupliziert wird (Anwendungen, die duplizierte Nutzinformationen beinhalten, können grundsätzlich kürzere Wartezeiten/weniger Jitter als nicht duplizierte Nutzinformationen tolerieren), ob die Nutzinformationen für gemeinsam zeitgestempelte oder nummerierte Pakete im ersten und im zweiten Pufferspeicher aus unterschiedlichen Medienarten bestehen oder unterschiedliche Medienbeschreiber (z. B. einen Audio-Frame und einen dazugehörigen Video-Frame) haben, ob die Nutzinformationen aus Steuersignalisierungs- oder Trägerdaten bestehen (Steuersignale, wie zum Beispiel Dual Tone Multi-Frequency(”DTMF”)-Signale, müssen mit dem entsprechenden Audio-Strom synchronisiert werden), die Art der Nutzinformation im angesteuerten Pufferspeicher (z. B. erfordert ein VoIP-Gespräch mit kürzeren und häufigeren Änderungen der Sprecher grundsätzlich kürzere Wartezeiten/weniger Jitter). Man wird verstehen, dass der erste und der zweite Pufferspeicher dynamisch eingestellt werden können, um dieselbe oder unterschiedliche Kapazitäten zu haben.
  • Der Betrieb des Empfangsknotens 116 wird nun mit Bezug auf 2 erörtert.
  • Bei Schritt 200 ermittelt das Netzwerkzustandsmodul 140 einen Zustand des ersten und/oder des zweiten Netzwerks 200. In einer Konfiguration vergleicht der Empfangsknoten den aktuellen Netzwerkzustand mit dem/den aktuellen Wert(en) für den Netzwerkzustand aus der letzten Netzwerkzustandsermittlung. Hat einer oder mehrere der Werte nicht mindestens ein angesteuertes Änderungsaufkommen, werden die nachfolgenden Schritte 204, 208 und 212 nicht durchgeführt.
  • Bei Schritt 204 ermittelt das Steuermodul 144 einen aktuellen Zustand des ersten und des zweiten Pufferspeichers 120 bzw. 124. Der Pufferspeicherzustand berücksichtigt hauptsächlich die Pufferspeicherkapazität, die Positionen des Lese-, Schreib- und/oder Pop-Zeigers und die Nummern und/oder Orte leerer Steckplätze 120-1, 120-2, 120-3, 120-4, 124-1, 124-2, 124-3, 124-4, ... In einer Konfiguration ermittelt das Steuermodul 144 ferner einen aktuellen Zustand des Entpaketierers 128 und/oder des Decodierers 132 und/oder des Verarbeitungsmoduls 136.
  • Bei Schritt 208 empfängt das Steuermodul 144 den aktuellen Netzwerkzustand vom Netzwerkzustandsmodul 140 und ermittelt anhand von Regeln und Richtlinien und der verschiedenen aktuellen Zustände die eventuell erforderlichen Änderungen am ersten und am zweiten Pufferspeicher 120 bzw. 124. Wie erwähnt, gehören zu den möglichen Änderungen die Positionen der Pop-Zeiger 160a, b, der Lesezeiger 152a, b und der Schreibzeiger 156a, b sowie die Kapazitäten des ersten und des zweiten Pufferspeichers 120 bzw. 124.
  • Bei Schritt 212 rekonfiguriert das Steuermodul 144 den ersten und den zweiten Pufferspeicher 120 bzw. 124, wie durch Schritt 208 ermittelt.
  • Die beispielhaften Systeme und Verfahren dieser Erfindung wurden mit Bezug auf eine Simplex-Netzwerkarchitektur beschrieben. Um jedoch die Beschreibung der vorliegenden Erfindung nicht unnötig kompliziert zu machen, wird eine Reihe bekannter Strukturen und Geräte darin ausgelassen. Diese Auslassung ist nicht als Einschränkung des Umfangs der beanspruchten Erfindung auszulegen. Spezielle Einzelheiten werden dargelegt, um ein Verständnis der vorliegenden Erfindung zu erzielen. Es ist jedoch zu verstehen, dass die vorliegende Erfindung auf verschiedene Arten betrieben werden kann, die über die hier dargelegten speziellen Einzelheiten hinausgehen.
  • Ferner zeigen die hier veranschaulichten Ausführungsbeispiele zwar die verschiedenen Komponenten des zusammengestellten Systems, es können jedoch bestimmte Komponenten des Systems fern, an entfernten Abschnitten eines verteilten Netzes, wie zum Beispiel einem LAN und/oder dem Internet, oder in einem dedizierten System untergebracht sein. Somit ist zu verstehen, dass die Komponenten des Systems in einem oder mehreren Geräten, wie zum Beispiel einem Gateway oder Schalter, kombiniert sein können, oder auf einem bestimmten Knoten eines verteilten Netzes, wie zum Beispiel einem analogen und/oder digitalen Kommunikationsnetz, einem paketvermittelten Netzwerk oder einem leitungsvermittelten Netzwerk, zusammengestellt sein können. Aus der vorhergehenden Beschreibung ist zu verstehen, dass aus Gründen der Recheneffizienz die Komponenten des Systems an jeglichem Ort in einem verteilten Netz von Komponenten angeordnet sein können, ohne den Betrieb des Systems zu beeinträchtigen. Zum Beispiel können die verschiedenen Komponenten in einem Schalter, wie zum Beispiel einem Nebenstellenanlagen- und Medien-Server, einem Gateway, in einem oder mehreren Kommunikationsgeräten, in den Räumlichkeiten eines oder mehrerer Anwender oder in einer Kombination dessen untergebracht sein. In ähnlicher Weise können ein oder mehrere Funktionsabschnitte des Systems zwischen einem oder mehreren Telekommunikationsgerät(en) und einem dazugehörigen Rechengerät verteilt sein.
  • Ferner ist zu verstehen, dass die verschiedenen Links, welche die Elemente verbinden, drahtgebundene oder drahtlose Links oder jegliche Kombination davon oder jegliche sonstigen bekannten oder später entwickelten Element(e) sein können, die in der Lage sind, Daten an die und von den verbundenen Elementen zu liefern und/oder zu kommunizieren. Diese drahtgebundenen oder drahtlosen Links können auch gesicherte Links sein und können in der Lage sein, verschlüsselte Informationen zu kommunizieren. Als Links verwendete Übertragungsmedien können zum Beispiel jegliche geeigneten Träger für elektrische Signale, einschließlich Koaxialkabel, Kupferdrähte und Lichtwellenleiter sein, und sie können die Form von Schall- oder Lichtwellen, wie zum Beispiel derjenigen, die bei Funkwellen- und Infrarot-Datenkommunikationen erzeugt werden, annehmen.
  • Außerdem wurden die Ablaufdiagramme zwar mit Bezug auf einen bestimmten Ablauf von Ereignissen erörtert und veranschaulicht, es ist jedoch zu verstehen, dass Änderungen, Hinzufügungen und Auslassungen an diesem Ablauf erfolgen können, ohne den Betrieb der Erfindung wesentlich zu beeinträchtigen.
  • Es kann eine Anzahl von Variationen und Abänderungen der Erfindung verwendet werden. Es wäre möglich, einige Merkmale der Erfindung bereitzustellen, ohne andere bereitzustellen. Zum Beispiel ist in einer alternativen Ausführungsform das duale Puffersystem dem Verarbeitungsmodul nachgeschaltet. Die duale Pufferspeicherarchitektur ist einem ressourcen-intensiven Verarbeitungsmodul vor- oder nachgeschaltet, wie zum Beispiel einem Bild- oder Video-Prozessor, der, verglichen mit einem Audio-Prozessor, eine erhebliche Verarbeitungs-Wartezeit einleitet. Zum Beispiel ist das Upscaling zur Maximierung der Auflösung ressourcen-intensiv, und der digitale Signal-Prozessor kann bei fehlender Pufferung durch Überabtastung mathematische Fehler einleiten. Auf diese Weise können Pakete mit unterschiedlichen Nutzinformationsarten erfolgreich synchronisiert werden.
  • In einer weiteren alternativen Ausführungsform kann das duale Puffersystem verwendet werden, um die Synchronisation aufrechtzuerhalten, wenn ein Ausfall in einem leitungsvermittelten Netzwerk, wie zum Beispiel einem Time Division Multiplexed(”TDM”)-Kanal, auftritt und das Kommunikationssystem ein Failover zu einem paketvermittelten Netzwerk vornimmt.
  • In einer weiteren alternativen Ausführungsform kann das duale Puffersystem verwendet werden, um Steuersignale mit Trägerpaketen zu synchronisieren.
  • In einer weiteren Ausführungsform können die Systeme und Verfahren dieser Erfindung implementiert sein zusammen mit einem Spezial-Computer, einem programmierten Mikroprozessor oder Mikrocontroller und einem oder mehreren peripheren integrierten Schaltelementen, einem ASIC oder anderen integrierten Schaltkreis, einem digitalen Signalprozessor, einem festverdrahteten elektronischen oder logischen Schaltkreis, wie zum Beispiel einem diskrete-Elemente-Schaltkreis, einem programmierbaren Logikgerät oder Gattermatrix, wie zum Beispiel einem PLD, PLA, FPGA, PAL, Spezial-Computer, jeglichem vergleichbaren Mittel, oder Ähnlichem. Grundsätzlich kann jedes/können alle Gerät(e) oder Mittel, die in der Lage sind, die hier veranschaulichte Methodologie zu implementieren, verwendet werden, um die verschiedenen Aspekte dieser Erfindung zu implementieren. Zu der beispielhaften Hardware, die für die vorliegende Erfindung verwendet werden kann, gehören Computer, Handapparate, Telefone (z. B. Mobil-, internetfähige, digitale, analoge, hybride und andere Telefone), sowie andere nach dem Stand der Technik bekannte Hardware. Einige dieser Geräte beinhalten Prozessoren (z. B. einen einzelnen oder mehrere Mikroprozessoren), einen Speicher, einen batteriegepufferten Speicher, Eingabegeräte und Ausgabegeräte. Ferner können auch alternative Softwareimplementierungen einschließlich, ohne jedoch darauf beschränkt zu sein, verteilter Verarbeitung oder komponenten-/objekt-verteilter Verarbeitung, paralleler Verarbeitung oder virtueller Maschinenverarbeitung gebaut werden, um die hier beschriebenen Verfahren zu implementieren.
  • In einer weiteren Ausführungsform können die beschriebenen Verfahren ohne Weiteres implementiert werden zusammen mit Software, die Objekt- oder objektorientierte Software-Entwicklungsumgebungen verwendet, welche einen portablen Quell-Code liefern, der auf einer Vielzahl von Computer- oder Arbeitsstations-Plattformen verwendet werden kann. Alternativ kann das beschriebene System ganz oder teilweise in Hardware, die Standard-Logikschaltkreise oder ein VLSI-Design verwendet, implementiert werden. Ob für die Implementierung der Systeme gemäß dieser Erfindung Software oder Harware verwendet wird, ist abhängig von den Geschwindigkeits- und/oder Effizienzerfordernissen des Systems, der speziellen Funktion und den verwendeten speziellen Software- oder Hardware-Systemen oder Mikroprozessor- oder Mikrocomputersystemen.
  • In einer weiteren Ausführungsform können die beschriebenen Verfahren teilweise in Software implementiert werden, die auf einem Speichermedium gespeichert werden kann und auf einem programmierten Allzweck-Computer unter Mitwirkung eines Controllers und eines Speichers, einem Spezial-Computer, einem Mikroprozessor oder Ähnlichem läuft. In diesen Fällen können die Systeme und Verfahren dieser Erfindung implementiert werden als ein in einen PC eingebettetes Programm, wie zum Beispiel ein Applet-, JAVA®- oder CGI-Script, als eine auf einem Server oder einer Computer-Arbeitsstation residente Ressource, als eine in ein dediziertes Messsystem oder eine Systemkomponente eingebettete Routine, oder Ähnliches. Das System kann auch implementiert werden, indem das System und/oder das Verfahren physikalisch in ein Software- und/oder Hardware-System eingebracht wird.
  • Zwar beschreibt die vorliegende Erfindung die in den Ausführungsformen implementierten Komponenten und Funktionen mit Bezug auf bestimmte Normen und Protokolle, die Erfindung ist jedoch nicht auf solche Normen und Protokolle beschränkt. Es existieren weitere ähnliche, hier nicht erwähnte Normen und Protokolle, die als in der vorliegenden Erfindung enthalten gelten. Darüberhinaus werden die hier erwähnten Normen und Protokolle und weitere ähnliche, hier nicht erwähnte Normen und Protokolle regelmäßig durch schnellere oder effizientere Äquivalente, welche im Wesentlichen dieselben Funktionen haben, ersetzt. Solche Ersatznormen und -protokolle, welche dieselben Funktionen haben, gelten als in der vorliegenden Erfindung enthaltene Äquivalente.
  • Die vorliegende Erfindung umfasst in verschiedenen Ausführungsformen, Konfigurationen und Aspekten im Wesentlichen die hier gezeigten und beschriebenen Komponenten, Verfahren, Prozesse, Systeme und/oder Geräte, einschließlich verschiedener Ausführungsformen, Unterkombinationen und Untermengen davon. Der Fachmann wird, nachdem er die vorliegende Beschreibung verstanden hat, wissen, wie die vorliegende Erfindung herzustellen und zu verwenden ist. Die vorliegende Erfindung umfasst in verschiedenen Ausführungsformen, Konfigurationen und Aspekten die Bereitstellung von Geräten und Prozessen, bei Nichtvorhandensein von hier nicht gezeigten und/oder beschriebenen Elementen, oder in verschiedenen Ausführungsformen, Konfigurationen oder Aspekten davon, einschließlich bei Nichtvorhandensein von Elementen, wie sie eventuell in früheren Geräten oder Prozessen, z. B. zur Verbesserung der Leistung, Erzielung von Bedienerfreundlichkeit und/oder Senkung der Implementierungskosten verwendet wurden.
  • Die vorstehende Erörterung der Erfindung wurde zum Zweck der Veranschaulichung und Beschreibung dargelegt. Die vorstehenden Ausführungen sollen die Erfindung nicht auf die hier beschriebene Form oder Formen beschränken. In der vorstehenden ausführlichen Beschreibung sind zum Beispiel verschiedene Merkmale der Erfindung in ein oder mehreren Ausführungsformen, Konfigurationen oder Aspekten gruppiert, um die Beschreibung knapper zu halten. Die Merkmale der Ausführungsformen, Konfigurationen oder Aspekte der Erfindung können in alternativen anderen Ausführungsformen, Konfigurationen oder Aspekten als den weiter oben erörterten kombiniert werden. Diese Methode der Beschreibung ist nicht so auszulegen, dass sie eine Absicht wiedergibt, dass die beanspruchte Erfindung mehr Merkmale als die ausdrücklich in jedem Anspruch genannten erfordert. Vielmehr liegen, wie die folgenden Ansprüche zeigen, die erfinderischen Aspekte in weniger als allen Merkmalen einer einzelnen vorstehend beschriebenen Ausführungsform, Konfiguration oder Aspekt. Somit werden die folgenden Ansprüche hiermit in diese ausführliche Beschreibung mit aufgenommen, wobei jeder Anspruch für sich allein als eine separate bevorzugte Ausführungsform der Erfindung steht.
  • Außerdem enthält die Beschreibung der Erfindung zwar die Beschreibung einer oder mehrerer Ausführungsformen, Konfigurationen oder Aspekte und bestimmter Variationen und Abwandlungen, jedoch umfasst der Bereich der Erfindung weitere Variationen, Kombinationen und Abwandlungen, wie sie z. B. im Rahmen der Fähigkeiten und Kenntnisse des Fachmanns liegen, nachdem er diese Beschreibung verstanden hat. Es ist beabsichtigt, Rechte zu erlangen, welche alternative Ausführungsformen, Konfigurationen oder Aspekte im zulässigen Ausmaß beinhalten, einschließlich Strukturen, Funktionen, Bereiche oder Schritte, die zu den beanspruchten alternativ, gegen sie austauschbar und/oder mit ihnen gleichwertig sind, unabhängig davon, ob diese alternativen, austauschbaren und/oder gleichwertigen Strukturen, Funktionen, Bereiche oder Schritte hier beschrieben sind oder nicht, und ohne die Absicht, zugunsten der Allgemeinheit auf einen patentierbaren Gegenstand zu verzichten.

Claims (7)

  1. Verfahren, umfassend: (a) Empfang, an einem gemeinsamen Empfangsknoten, eines ersten und eines zweiten Pakets, wobei das erste und das zweite Paket gemeinsame Paketdauern sowie gemeinsame Zeitstempel und/oder Sequenznummern haben, wobei das erste Paket in einem ersten Medienstrom empfangen wird und das zweite Paket in einem zweiten, unterschiedlichen Medienstrom empfangen wird; (b) Schreiben, durch einen Prozessor, des ersten Pakets in einen ersten Pufferspeicher; (c) Schreiben, durch den Prozessor, des zweiten Pakets in einen zweiten Pufferspeicher; und (d) Auswählen, durch ein Steuermodul, welches der beiden Pakete gelesen werden soll, wobei nur entweder das erste oder das zweite Paket verwendet wird, um eine Lücke in einem Datenstrom zu füllen, wobei das erste Paket über ein paketvermitteltes Netzwerk übertragen wird und das zweite Paket über ein leitungsvermitteltes Netzwerk übertragen wird, wobei das erste Paket aus einer ersten, zu dem ersten Pufferspeicher korrespondierenden Warteschlange ausgelesen wird und das zweite Paket nicht aus einer zweiten, zu dem zweiten Pufferspeicher korrespondierenden Warteschlange ausgelesen wird und wobei das zweite Paket im Wesentlichen zur selben Zeit, da das erste Paket aus der ersten Warteschlange ausgelesen wird, aus der zweiten Warteschlange entfernt wird, und wobei das erste und das zweite Paket gemeinsame Quell- und Zieladressenpaare haben, wobei eine Nutzinformation des ersten Pakets einen ersten Komprimierungsgrad hat, eine Nutzinformation des zweiten Pakets einen zweiten Komprimierungsgrad hat, wobei der erste Komprimierungsgrad geringer ist als der zweite Komprimierungsgrad und wobei die Art der Nutzinformation des ersten und des zweiten Pakets dieselbe ist.
  2. System, umfassend: einen Eingang, der dazu dient, ein erstes und ein zweites Paket zu empfangen, wobei das erste und das zweite Paket gemeinsame Paketdauern sowie gemeinsame Zeitstempel und/oder Sequenznummern haben, wobei das erste Paket in einem ersten Medienstrom empfangen wird und das zweite Paket in einem zweiten, unterschiedlichen Medienstrom empfangen wird; einen Prozessor, der dazu dient, das erste Paket in einen ersten Pufferspeicher zu schreiben und das zweite Paket in einen zweiten Pufferspeicher zu schreiben; und ein Steuermodul, das dazu dient, zu ermitteln, welches der beiden Pakete gelesen werden soll, wobei nur entweder das erste oder das zweite Paket verwendet wird, um eine Lücke in einem Datenstrom zu füllen, wobei das erste Paket über ein paketvermitteltes Netzwerk übertragen wird und das zweite Paket über ein leitungsvermitteltes Netzwerk übertragen wird, wobei das erste Paket aus dem ersten Pufferspeicher ausgelesen wird und das zweite Paket nicht aus dem zweiten Pufferspeicher ausgelesen wird und wobei das zweite Paket im Wesentlichen zur selben Zeit, da das erste Paket aus dem ersten Puffer ausgelesen wird, aus dem zweiten Puffer entfernt wird, und wobei das erste und das zweite Paket gemeinsame Quell- und Zieladressenpaare haben, wobei eine Nutzinformation des ersten Pakets einen ersten Komprimierungsgrad hat, eine Nutzinformation des zweiten Pakets einen zweiten Komprimierungsgrad hat, und wobei die Art der Nutzinformation des ersten und des zweiten Pakets dieselbe ist, und.
  3. System gemäß Anspruch 2, bei dem das Steuermodul dazu dient, einen Zeitpunkt zu bestimmen, zu dem das erste Paket aus dem ersten Pufferspeicher gelesen wird.
  4. System gemäß Anspruch 3, bei dem das erste und das zweite Paket unterschiedliche Arten von Mediennutzinformationen haben.
  5. System gemäß Anspruch 2, wobei die Nutzinformationen des ersten und des zweiten Pakets unterschiedliche Komprimierungsebenen haben und bei dem das erste und das zweite Paket eine gemeinsame Art von Mediennutzinformation haben.
  6. System gemäß Anspruch 2, bei dem das Steuermodul die Größe des ersten und/oder des zweiten Pufferspeichers ändert, solange der erste und/oder der zweite Pufferspeicher belegt ist, wobei die Änderung der Größe eine Funktion eines Status des Netzwerks, über das die ersten und/oder zweiten Pakete übertragen werden, und/oder einer Bearbeitungszeit für das erste und/oder zweite Paket und/oder relativer Belegungen des ersten und zweiten Pufferspeichers und/oder zeitlich veränderlicher Benutzeranforderungen und/oder zeitlich veränderlicher Anwendungsanforderungen ist.
  7. Computer-lesbares Medium, das mit Befehlen codiert ist, die, wenn sie ausgeführt werden, die Schritte von Anspruch 1 durchführen, und wobei das computerlesbare Medium mit dem Prozessor in Kommunikation steht.
DE102010018376.8A 2009-04-27 2010-04-26 Dynamische Pufferung und Synchronisation verwandter Medienströme in Paketnetzwerken Expired - Fee Related DE102010018376B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/430,697 2009-04-27
US12/430,697 US8094556B2 (en) 2009-04-27 2009-04-27 Dynamic buffering and synchronization of related media streams in packet networks

Publications (2)

Publication Number Publication Date
DE102010018376A1 DE102010018376A1 (de) 2011-01-05
DE102010018376B4 true DE102010018376B4 (de) 2016-08-25

Family

ID=42992020

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010018376.8A Expired - Fee Related DE102010018376B4 (de) 2009-04-27 2010-04-26 Dynamische Pufferung und Synchronisation verwandter Medienströme in Paketnetzwerken

Country Status (4)

Country Link
US (1) US8094556B2 (de)
KR (1) KR101461697B1 (de)
CN (1) CN101873255B (de)
DE (1) DE102010018376B4 (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8457300B2 (en) * 2004-02-12 2013-06-04 Avaya Inc. Instant message contact management in a contact center
US7674096B2 (en) * 2004-09-22 2010-03-09 Sundheim Gregroy S Portable, rotary vane vacuum pump with removable oil reservoir cartridge
US8879464B2 (en) 2009-01-29 2014-11-04 Avaya Inc. System and method for providing a replacement packet
US8238335B2 (en) 2009-02-13 2012-08-07 Avaya Inc. Multi-route transmission of packets within a network
JP4888515B2 (ja) * 2009-04-16 2012-02-29 住友電気工業株式会社 動的帯域割当装置及び方法とponシステムの局側装置
US8553849B2 (en) 2009-06-17 2013-10-08 Avaya Inc. Personal identification and interactive device for internet-based text and video communication services
US8391320B2 (en) * 2009-07-28 2013-03-05 Avaya Inc. State-based management of messaging system jitter buffers
TWI410870B (zh) * 2010-03-26 2013-10-01 Novatek Microelectronics Corp 電腦系統架構
US8442228B2 (en) * 2010-04-06 2013-05-14 MicroTechnologies LLC Multi-class switching system and associated method of use
US9762648B2 (en) * 2010-04-08 2017-09-12 Koninklijke Philips N.V. Patient monitoring over heterogeneous networks
US9401099B2 (en) * 2010-05-11 2016-07-26 AI Squared Dedicated on-screen closed caption display
US8856682B2 (en) 2010-05-11 2014-10-07 AI Squared Displaying a user interface in a dedicated display area
US20120002103A1 (en) * 2010-07-01 2012-01-05 Samsung Electronics Co., Ltd. Method and apparatus for providing quality of service for wireless video transmission using multi-band operation
US8837277B2 (en) * 2011-06-01 2014-09-16 Cisco Technology, Inc. Source routing convergence in constrained computer networks
US20130142332A1 (en) * 2011-12-06 2013-06-06 Andrés Ramos Voice and screen capture archive and review process using phones for quality assurance purposes
CN103532821B (zh) * 2012-07-02 2018-02-13 腾讯科技(深圳)有限公司 一种即时通讯软件音频传输延时对比测试方法及设备
US9094739B2 (en) 2012-10-31 2015-07-28 Unicorn Government, Inc. Internet protocol switching system and associated method of use
US9417922B2 (en) 2012-12-03 2016-08-16 Cutting Edge Consulting Associates, Inc. Systems and methods for protecting an identity in network communications
US9565139B2 (en) 2013-03-15 2017-02-07 Comcast Cable Communications, Llc Remote latency adjustment
JP5517381B1 (ja) * 2013-09-30 2014-06-11 レゾネッツ合同会社 揺らぎ吸収装置、通信装置、及び制御プログラム
JP6252112B2 (ja) * 2013-11-06 2017-12-27 富士通株式会社 パケット処理装置、パケット処理方法、および、パケット処理システム
US10484447B2 (en) * 2014-12-24 2019-11-19 Ribbon Communications Operating Company, Inc. Methods and apparatus for communicating delay information and minimizing delays
US10860979B2 (en) 2015-02-17 2020-12-08 Nice Ltd. Device, system and method for summarizing agreements
US9948578B2 (en) * 2015-04-14 2018-04-17 Qualcomm Incorporated De-jitter buffer update
US20150381695A1 (en) * 2015-05-08 2015-12-31 Bandwidth.Com, Inc. Bonding of Multiple Concurrent Data Streams Among Multiple Devices
EP3304462A1 (de) * 2015-06-02 2018-04-11 Liveperson Inc. Dynamische kommunikationswegleitung auf basis von konsistenzgewichtung und wegleitungsregeln
US9692709B2 (en) 2015-06-04 2017-06-27 Oracle International Corporation Playout buffering of encapsulated media
US9929879B2 (en) 2015-06-09 2018-03-27 Oracle International Corporation Multipath support of real-time communications
EP3190730A1 (de) * 2016-01-06 2017-07-12 Nxp B.V. Empfangene weg verzögerung mechanismus
US10572460B2 (en) * 2016-02-11 2020-02-25 Pure Storage, Inc. Compressing data in dependence upon characteristics of a storage system
GB201614356D0 (en) * 2016-08-23 2016-10-05 Microsoft Technology Licensing Llc Media buffering
US10541933B2 (en) * 2016-11-10 2020-01-21 Disney Enterprises, Inc. Systems and methods for aligning frames of a digital video content in IP domain
EP3340497A1 (de) 2016-12-22 2018-06-27 Nxp B.V. Fehlerverdeckung mit redundanten datenströme
EP3340498B1 (de) 2016-12-22 2022-07-13 Nxp B.V. Empfangspfadqualitätsinformationen
US10516650B2 (en) * 2017-09-13 2019-12-24 Netabstraction, Inc. Dynamic, user-configurable virtual private network
US11176956B2 (en) * 2018-03-28 2021-11-16 Qualcomm Incorproated Application directed latency control for wireless audio streaming
CN112385186B (zh) * 2018-07-03 2022-08-09 华为技术有限公司 用于对数据包进行排序的设备和方法
US11195543B2 (en) * 2019-03-22 2021-12-07 Clear Peaks LLC Systems, devices, and methods for synchronizing audio
CN112398790B (zh) * 2019-08-15 2021-11-19 华为技术有限公司 通信方法、装置和计算机可读存储介质
CN111669645B (zh) * 2020-06-12 2021-09-07 腾讯科技(深圳)有限公司 视频的播放方法、装置、电子设备及存储介质
US20220021629A1 (en) * 2020-07-19 2022-01-20 Mellanox Technologies, Ltd. Coalescing packets based on hints generated by network adapter
CN112905324B (zh) * 2021-02-10 2023-01-10 山东英信计算机技术有限公司 一种基于电路状态的解压缩方法、系统及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1168714A2 (de) * 2000-06-27 2002-01-02 Rockwell Electronic Commerce Corporation, Corporation of the State of Delaware Packetnetzwerk mit redundanten Kanälen
US20060140221A1 (en) * 2004-12-27 2006-06-29 Kabushiki Kaisha Toshiba Reproduction apparatus and decoding control method
US20070177579A1 (en) * 2006-01-27 2007-08-02 Avaya Technology Llc Coding and packet distribution for alternative network paths in telecommunications networks
US20080037567A1 (en) * 2006-08-11 2008-02-14 Samsung Electronics Co.; Ltd Method and apparatus for guaranteeing quality of service in a residential ethernet system
EP1936888A1 (de) * 2006-12-20 2008-06-25 Honeywell International Inc. Sich an den Abstand anpassendes Leitwegprotokoll
US20080310398A1 (en) * 2007-06-14 2008-12-18 Mukul Jain Call priority based on audio stream analysis

Family Cites Families (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2154108B (en) 1984-02-07 1987-06-03 Communications Patents Ltd Broadcasting system
US5035252A (en) * 1990-12-14 1991-07-30 Mondre Steven J Nicotine-containing dental floss
US5539447A (en) * 1992-09-28 1996-07-23 Fujitsu Limited Optical scanning unit and image forming apparatus using the same with rotating lever attached to a cover for light emission and prevention
DE4326771A1 (de) * 1993-08-10 1995-02-16 Philips Patentverwaltung Übertragungssystem
DE4437136A1 (de) * 1994-10-18 1996-04-25 Philips Patentverwaltung Übertragungssystem mit einem Regelkreis
US5619514A (en) * 1994-12-29 1997-04-08 Lucent Technologies Inc. In-place present state/next state registers
US5768594A (en) * 1995-07-14 1998-06-16 Lucent Technologies Inc. Methods and means for scheduling parallel processors
KR100253868B1 (ko) * 1995-11-13 2000-05-01 니시무로 타이죠 불휘발성 반도체기억장치
US5745425A (en) * 1996-08-29 1998-04-28 Lucent Technologies Inc. Reliable backup memory
US20070026852A1 (en) * 1996-10-02 2007-02-01 James Logan Multimedia telephone system
US6574216B1 (en) * 1997-03-11 2003-06-03 Verizon Services Corp. Packet data network voice call quality monitoring
DE69733685T2 (de) 1997-04-01 2006-05-18 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren und System zur gesicherten Datenübertragung
US6434606B1 (en) * 1997-10-01 2002-08-13 3Com Corporation System for real time communication buffer management
US6381645B1 (en) * 1997-12-08 2002-04-30 Siemens Information And Communication Networks, Inc. Method of implementing push techniques in conventional web browsers
US6170075B1 (en) * 1997-12-18 2001-01-02 3Com Corporation Data and real-time media communication over a lossy network
US6901241B2 (en) 1998-02-11 2005-05-31 Telefonaktiebolaget L M Ericsson (Publ) System, method and apparatus for secure transmission of confidential information
US6141788A (en) * 1998-03-13 2000-10-31 Lucent Technologies Inc. Method and apparatus for forward error correction in packet networks
US6243836B1 (en) * 1998-08-17 2001-06-05 Lucent Technologies, Inc. Apparatus and method for circular buffering on an on-chip discontinuity trace
US6650637B1 (en) * 1998-12-14 2003-11-18 Lucent Technologies Inc. Multi-port RAM based cross-connect system
US6260071B1 (en) * 1999-01-04 2001-07-10 Cisco Technology, Inc. Method and apparatus for automatic routing of circuit switched data connections based upon stored behavorial information
US6452950B1 (en) * 1999-01-14 2002-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive jitter buffering
US6823047B1 (en) * 1999-12-16 2004-11-23 Nortel Networks Limited Voice messaging system
US6690675B1 (en) * 1999-12-30 2004-02-10 At&T Corp. User programmable fail-proof IP hotline/warm-line
GB2358558B (en) * 2000-01-18 2003-10-15 Mitel Corp Packet loss compensation method using injection of spectrally shaped noise
US6769027B1 (en) * 2000-01-31 2004-07-27 Avaya Technology Corp. System and method for using multi-headed queues for bookmarking in backup/recover scenarios
US6775293B1 (en) * 2000-06-30 2004-08-10 Alcatel Canada Inc. Method and apparatus for monitoring buffer contents in a data communication system
US7020773B1 (en) * 2000-07-17 2006-03-28 Citrix Systems, Inc. Strong mutual authentication of devices
US6862298B1 (en) * 2000-07-28 2005-03-01 Crystalvoice Communications, Inc. Adaptive jitter buffer for internet telephony
US6879582B1 (en) * 2000-09-29 2005-04-12 Lucent Technologies Inc. Media terminal adapter-cellular transceiver (MTA-CT)
GB2368227B (en) * 2000-10-17 2003-12-10 Hewlett Packard Co Contact center
US6914899B2 (en) * 2001-01-30 2005-07-05 Estara, Inc. Caller identification and voice/data synchronization for internet telephony and related applications
US6845129B2 (en) * 2001-01-31 2005-01-18 Lucent Technologies Inc. Controlling a video-buffer-verifier buffer using an MPEG-like encoder
WO2002085030A1 (en) * 2001-04-11 2002-10-24 Cyber Operations, Llc System and method for preconditioning analog video signals
ATE353503T1 (de) * 2001-04-24 2007-02-15 Nokia Corp Verfahren zum ändern der grösse eines zitlerpuffers zur zeitausrichtung, kommunikationssystem, empfängerseite und transcoder
EP1407583B1 (de) * 2001-07-17 2009-06-03 Alcatel Internetworking, Inc. Inband-nachrichtensynchronisierung für eine verteilte paketvermittlung mit gemeinsam benutztem speicher
US6977948B1 (en) * 2001-08-13 2005-12-20 Utstarcom, Inc. Jitter buffer state management system for data transmitted between synchronous and asynchronous data networks
US8416925B2 (en) * 2005-06-29 2013-04-09 Ultratec, Inc. Device independent text captioned telephone service
US7386115B2 (en) * 2002-01-10 2008-06-10 Michael Peters Combined caller and agent endpoint manager
US7289493B1 (en) * 2002-02-21 2007-10-30 Telecontinuity, Inc. System and method for providing location independent voice communications continuity through disasters
US6985853B2 (en) * 2002-02-28 2006-01-10 Broadcom Corporation Compressed audio stream data decoder memory sharing techniques
US7352766B2 (en) * 2002-03-12 2008-04-01 Alcatel Lucent High-speed memory having a modular structure
DE10211740A1 (de) 2002-03-14 2003-10-16 Agfeo Gmbh & Co Kg Verfahren zur Umschaltung einer leitungsvermittelten Verbindungsleitung und Adapter zur Durchführung des Verfahrens
FR2841071B1 (fr) * 2002-06-13 2004-12-10 Cit Alcatel Procede de mise a disposition dynamique d'un terminal raccorde a un reseau de communications public, de services offerts par un reseau de communications prive
US6763226B1 (en) * 2002-07-31 2004-07-13 Computer Science Central, Inc. Multifunctional world wide walkie talkie, a tri-frequency cellular-satellite wireless instant messenger computer and network for establishing global wireless volp quality of service (qos) communications, unified messaging, and video conferencing via the internet
JP4131154B2 (ja) * 2002-09-19 2008-08-13 富士ゼロックス株式会社 通信端末装置及びその制御方法
US8520519B2 (en) * 2002-09-20 2013-08-27 Broadcom Corporation External jitter buffer in a packet voice system
US7359979B2 (en) * 2002-09-30 2008-04-15 Avaya Technology Corp. Packet prioritization and associated bandwidth and buffer management techniques for audio over IP
US7630409B2 (en) * 2002-10-21 2009-12-08 Lsi Corporation Method and apparatus for improved play-out packet control algorithm
US7606928B2 (en) * 2003-03-21 2009-10-20 Nokia Corporation Method and device for controlling receiver buffer fullness level in multimedia streaming
US6914964B1 (en) * 2003-04-01 2005-07-05 Richard C. Levine System and method for establishing automatic multipoint network connections in a communications environment
US7426271B2 (en) 2003-04-25 2008-09-16 Palo Alto Research Center Incorporated System and method for establishing secondary channels
JP3840202B2 (ja) * 2003-05-20 2006-11-01 キヤノン株式会社 通信端末、通信端末の制御方法、および通信端末の制御プログラム
FR2857540A1 (fr) * 2003-07-11 2005-01-14 France Telecom Procedes et dispositifs d'evaluation de delais de transmission et de traitement d'un signal de parole recu dans un terminal relie a un reseau de paquets
EP1515506A1 (de) 2003-09-09 2005-03-16 Alcatel Verfahren zum Aufbauen von einer Paketdatenübermittlungssitzung zwischen Anschlussanordnungen eines Paketdatennetzwerks und einer Nebenstellenanlage dafür
FR2860121A1 (fr) * 2003-09-23 2005-03-25 France Telecom Procede d'etablissement d'un transfert de donnees entre deux dispositifs de communication et dispositif associe
US7626975B2 (en) * 2003-11-05 2009-12-01 Telefonaktiebolaget Lm Ercisson (Publ) Method of synchronizing broadcast streams in multiple soft handoff sectors
US7215959B2 (en) * 2003-12-15 2007-05-08 International Business Machines Corporation Cellular to 802.11 voice roaming utilizing SIP signaling
US7385985B2 (en) * 2003-12-31 2008-06-10 Alcatel Lucent Parallel data link layer controllers in a network switching device
US7457242B2 (en) * 2004-02-12 2008-11-25 Avaya, Inc. System for transmitting high quality speech signals on a voice over internet protocol network
WO2005084128A2 (en) * 2004-03-04 2005-09-15 Outsmart Ltd. Integration of packet and cellular telephone networks
US20060007915A1 (en) * 2004-07-09 2006-01-12 Andrew Frame Connecting a VOIP phone call using a shared POTS line
US20060062371A1 (en) * 2004-09-23 2006-03-23 Vanderheiden Gregg C Method and apparatus for associating an alternate access device with a telephone
US20060083199A1 (en) * 2004-10-15 2006-04-20 Yang Jianhao M System, method, and device for handing off between voice over internet protocol over wireless access sessions and CDMA circuit switched voice sessions
US7496750B2 (en) * 2004-12-07 2009-02-24 Cisco Technology, Inc. Performing security functions on a message payload in a network element
US7477653B2 (en) * 2004-12-10 2009-01-13 Microsoft Corporation Accelerated channel change in rate-limited environments
EP1681844A1 (de) 2005-01-17 2006-07-19 Aevoe incorporated Verfahren zum Aufbau einer Telefon-Kommunikation mittels eines Web-Telefones mit Modulen für Internet- und PSTN-Verbindungen
US7558529B2 (en) * 2005-01-24 2009-07-07 Broadcom Corporation Earpiece/microphone (headset) servicing multiple incoming audio streams
US20060203805A1 (en) * 2005-03-08 2006-09-14 Avaya Technology Corp. Quality-of-service assurance for IP telephony
US20060251051A1 (en) * 2005-03-22 2006-11-09 Bhatt Yogesh B Adapter for accessing cellular services from a non-cellular device
US7668914B2 (en) * 2005-03-28 2010-02-23 Alcatel Lucent Milestone synchronization in broadcast multimedia streams
US7583660B2 (en) * 2005-04-19 2009-09-01 At&T Corp. Method and apparatus for enabling peer-to-peer communication between endpoints on a per call basis
US20060256772A1 (en) * 2005-05-12 2006-11-16 Yahoo! Inc. Selecting a network for routing real-time audio
US20060274724A1 (en) 2005-06-02 2006-12-07 Agere Systems Inc. Method of providing a parallel voice and data connection with a call center and a device for the same
US7852815B2 (en) 2005-07-05 2010-12-14 Research In Motion Limited Voice synchronization during call handoff
US7764713B2 (en) * 2005-09-28 2010-07-27 Avaya Inc. Synchronization watermarking in multimedia streams
US8107385B2 (en) * 2005-09-29 2012-01-31 Avaya Inc. Evaluating quality of service in an IP network with cooperating relays
EP1946293A1 (de) * 2005-11-07 2008-07-23 Telefonaktiebolaget L M Ericsson (PUBL) Verfahren und anordnung in einem mobiltelekommunikationsnetz
US7626994B2 (en) * 2005-11-14 2009-12-01 Broadcom Corporation Multiple node applications cooperatively managing a plurality of packet switched network pathways
US20070110034A1 (en) * 2005-11-14 2007-05-17 Broadcom Corporation, A California Corporation Pathways analysis and control in packet and circuit switched communication networks
US20070147399A1 (en) * 2005-11-15 2007-06-28 Arcsoft (Shanghai) Technology Company, Ltd Using Secondary Channels to Communicate IP Addresses for Point-To-Point Communication
US7702947B2 (en) * 2005-11-29 2010-04-20 Bea Systems, Inc. System and method for enabling site failover in an application server environment
US8315624B2 (en) * 2005-12-30 2012-11-20 Vtech Telecommunications Limited System and method for communicating over a data network or the PSTN using a hybrid cordless telephone device
US7787377B2 (en) * 2006-02-03 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) Selective redundancy for Voice over Internet transmissions
TWI305101B (en) * 2006-03-10 2009-01-01 Ind Tech Res Inst Method and apparatus for dynamically adjusting playout delay
JP4744332B2 (ja) * 2006-03-22 2011-08-10 富士通株式会社 ゆらぎ吸収バッファ制御装置
TW201108689A (en) * 2006-04-12 2011-03-01 Interdigital Tech Corp Method for radio resource control requested codec rate control for VoIP
EP2014020B1 (de) 2006-04-28 2014-12-24 BlackBerry Limited Wlan- und wwan-verbindungsmigrationsverfahren und vorrichtungen
EP2033361B1 (de) 2006-05-17 2015-10-07 Audinate Pty Limited Senden und empfangen von medienpaketströmen
US7894578B2 (en) * 2006-06-02 2011-02-22 Verizon Business Global Llc E911 location services for users of text device relay services
DE102006027708B3 (de) 2006-06-14 2008-02-07 Siemens Ag Verfahren zur Optimierung einer Kommunikationsverbindung in einem paketvermittelten Sprachdatennetzwerk
US8553526B2 (en) * 2006-09-28 2013-10-08 Qualcomm Incorporated Methods and apparatus for determining quality of service in a communication system
US20080165708A1 (en) * 2007-01-08 2008-07-10 Avaya Technology Llc Multimedia conferencing method and signal
US9661112B2 (en) * 2007-02-22 2017-05-23 International Business Machines Corporation System and methods for providing server virtualization assistance
GB0705325D0 (en) * 2007-03-20 2007-04-25 Skype Ltd Method of transmitting data in a communication system
GB0705329D0 (en) * 2007-03-20 2007-04-25 Skype Ltd Method of transmitting data in a communication system
US8619642B2 (en) * 2007-03-27 2013-12-31 Cisco Technology, Inc. Controlling a jitter buffer
US20080298336A1 (en) * 2007-05-31 2008-12-04 Sridhar Gollamudi macro-diversity technique for multicast transmission in a wireless communication system
US8160112B2 (en) * 2007-09-17 2012-04-17 Cisco Technology, Inc. Buffering a media stream
US8520663B2 (en) * 2008-02-26 2013-08-27 At&T Intellectual Property I, L. P. Systems and methods to select peered border elements for an IP multimedia session based on quality-of-service
US8281369B2 (en) * 2008-03-12 2012-10-02 Avaya Inc. Method and apparatus for creating secure write-enabled web pages that are associated with active telephone calls
US7873727B2 (en) * 2008-03-13 2011-01-18 Board Of Regents, The University Of Texas Systems System and method for evaluating streaming multimedia quality

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1168714A2 (de) * 2000-06-27 2002-01-02 Rockwell Electronic Commerce Corporation, Corporation of the State of Delaware Packetnetzwerk mit redundanten Kanälen
US20060140221A1 (en) * 2004-12-27 2006-06-29 Kabushiki Kaisha Toshiba Reproduction apparatus and decoding control method
US20070177579A1 (en) * 2006-01-27 2007-08-02 Avaya Technology Llc Coding and packet distribution for alternative network paths in telecommunications networks
US20080037567A1 (en) * 2006-08-11 2008-02-14 Samsung Electronics Co.; Ltd Method and apparatus for guaranteeing quality of service in a residential ethernet system
EP1936888A1 (de) * 2006-12-20 2008-06-25 Honeywell International Inc. Sich an den Abstand anpassendes Leitwegprotokoll
US20080310398A1 (en) * 2007-06-14 2008-12-18 Mukul Jain Call priority based on audio stream analysis

Also Published As

Publication number Publication date
CN101873255B (zh) 2014-05-28
US20100271944A1 (en) 2010-10-28
DE102010018376A1 (de) 2011-01-05
KR101461697B1 (ko) 2014-11-17
US8094556B2 (en) 2012-01-10
KR20100118088A (ko) 2010-11-04
CN101873255A (zh) 2010-10-27

Similar Documents

Publication Publication Date Title
DE102010018376B4 (de) Dynamische Pufferung und Synchronisation verwandter Medienströme in Paketnetzwerken
DE60118269T2 (de) Verfahren und Vorrichtung zur Synchronisierung und Übertragung von Echtzeit-Medieninhalt in einem Paketnetz
CN113225598B (zh) 移动端音视频同步的方法、装置、设备及存储介质
EP1283611A2 (de) Verfahren zur Synchronisierung eines Kommunikationssystems über ein paketorientiertes Datennetz
CN105900436A (zh) 通信设备、通信数据生成方法、以及通信数据处理方法
US11368634B2 (en) Audio stream and video stream synchronous switching method and apparatus
CN106688213A (zh) 路由器结构
AU2002310383B2 (en) Dynamic latency management for IP telephony
EP2938085B1 (de) Verfahren und vorrichtung zur übermittlung von kodierten mediendaten
AU2002310383A1 (en) Dynamic latency management for IP telephony
DE102014100628B4 (de) Bussystem und Verfahren zur Übertragung von Daten in Echtzeit
DE102010003248B4 (de) Verfahren und Vorrichtung zur Verarbeitung von Daten in einem Netzwerk eines Fahrzeugs
DE60106284T2 (de) Netzwerkübertragungeinheit mit übertragungsprioritäten und zugehöriges Verfahren
EP3096525A1 (de) Kommunikationsvorrichtung, kommunikationsdatenerzeugungsverfahren und kommunikationsdatenverarbeitungsverfahren
CN113573003A (zh) 一种基于弱网的音视频实时通信方法、装置以及设备
EP3029870A1 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm
DE60311991T2 (de) Kommunikationssystem zur sendung von ungleichartigen daten über ein synchrones netzwerk
DE102006036562B4 (de) Verfahren und System zum Übertragen aufeinander bezogener Datenströme oder/und zum Synchronisieren aufeinander bezogener Datenströme
DE60033780T2 (de) Ablaufplanung mit verschiedenen zeit-intervallen
DE60304178T2 (de) Kommunikationssystem zum senden von daten verschiedenen typs und länge über kanäle eines lokal synchronisierten busses
JP7284266B2 (ja) オーディオストリーム切り替え方法および装置
CN117857802A (zh) 视频流编码控制及传输方法、装置、终端设备和存储介质
DE102010005682B4 (de) Verfahren und Vorrichtung zur Verarbeitung von Daten in einem Fahrzeug
DE102006002061B4 (de) Verfahren zum Empfangen, zum Senden sowie zum Übertragen, Sende- sowie Empfangsanordnung und System aus Sende- und Empfangsanordnung
Kouvelas A combined network, system and user based approach to improving the quality of multicast audio

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029020000

Ipc: H04L0065000000

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee