DE60211335T2 - Echtzeitpaketisierung und Wiederübertragung in Streaming Anwendungen - Google Patents

Echtzeitpaketisierung und Wiederübertragung in Streaming Anwendungen Download PDF

Info

Publication number
DE60211335T2
DE60211335T2 DE60211335T DE60211335T DE60211335T2 DE 60211335 T2 DE60211335 T2 DE 60211335T2 DE 60211335 T DE60211335 T DE 60211335T DE 60211335 T DE60211335 T DE 60211335T DE 60211335 T2 DE60211335 T2 DE 60211335T2
Authority
DE
Germany
Prior art keywords
packet
packets
customer
layer
time
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
DE60211335T
Other languages
English (en)
Other versions
DE60211335D1 (de
Inventor
Dmitri Loguinov
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Application granted granted Critical
Publication of DE60211335D1 publication Critical patent/DE60211335D1/de
Publication of DE60211335T2 publication Critical patent/DE60211335T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • 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/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • H04L1/1877Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
    • 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/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/1066Session management
    • H04L65/1101Session protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf den Bereich der Übertragung eines Bitstroms über ein Kommunikationsmedium. Insbesondere bezieht sich die vorliegende Erfindung auf die Echtzeitübertragung digitaler Signale in Transportprotokollpakete.
  • Um codierte digitale Daten von dem einen System über ein Kommunikationsmedium zu einem anderen System zu übertragen ist es erforderlich, dass der Bitstrom als Lastdaten innerhalb des Lastteils der Transportprotokollpakete getragen wird. Dieser Prozess der Einfügung von Daten in ein Paket eines anderen Systems ist als "Einkapselung" bekannt und erfordert "Segmentierung" des Bitstroms an der Quelle in Pakete. Danach werden die segmentierten Bitströme am empfangenden Ende neu gegliedert. Auf diese Weise ermöglicht der Einkapselungsprozess, dass Mediendaten über ein Paketnetzwerk von der einen Stelle zu einer anderen übertragen werden.
  • Ein Echtzeittransportprotokoll (RTP) wird typischerweise angewandt zum Übertragen von Multimediadaten in einem Netzwerk, wie im Internet. Die Daten werden unter Anwendung einer speziellen Kompressionstechnik komprimiert und der komprimierte Datenstrom wird zur Übertragung über das Kommunikationsmedium in kleinere Pakete zerlegt. Dieser Prozess wird als "Paketierung" bezeichnet und der umgekehrt Prozess, d.h. das Zusammenfügen von Netzwerkpaketen zu einem kontinuierlichen Bytestrom, wird als "Entpaketierung" bezeichnet. Ein signifikantes Hindernis eines zuverlässigen Multimediastromes in Paketdatennetzwerken ist Paketverlust. Paketverlust tritt auf wegen einer begrenzten Pufferung und wegen begrenzter Verarbeitungsfähigkeiten von Netzwerkknoten, und in geringerem Maße, wegen Bitfehler in physikalischen Kopplungen. In 1 benutzen viele Echtzeitapplikationen, die übers Internet angewandt werden, negative Bestätigungsnachrichten, die von dem Kunden gesendet werden um zu ermitteln, ob eine Neuübertragung erforderlich ist. Wie in 1 dargestellt, sendet, wenn Paketverlust während der Übertragung auftritt, der Kunde in einer Streaming-Session eine negative Bestätigung (NACK) in Reaktion auf jedes verloren gegangene Paket. Das NACK Paket enthält die Folgenummer des Pakets, das von dem Server neu übertragen werden soll. Da der Datenstrom typischerweise vor der Übertragung vorpaketiert wird, kann der Server immer das erforderliche Paket aus dem Speicher (d.h. aus der Datei) suchen und dem Kunden abermals zusenden.
  • Papadopoulos C: "Error control for continuous media and large-scale multicast applications", August 1999 (1999-08), Dissertation, Saint Louis, Missouri (USA), URL: http://siesta.cs.wustl.edu/cs/cs/publications.html. beschreibt Verfahren und Geräte zum Übertragen eines Multimediabitstroms in Echtzeit. Es wird dabei ein Neuübertragungsschema vorgeschlagen, wobei Neuübertragung und Puffer verwendet werden zum Ermöglichen von Neuübertragung um Reisezeiten herum.
  • 2 zeigt eine herkömmliche Struktur eines paketierten Stromes, der zur Neuübertragung verwendet wird. Unter Verwendung statischer Header-Information können der Stromheader sowie Paketdaten von einer Stelle innerhalb der Datei erfasst werden. In dem vorliegenden Fall kann, mit Kenntnissen des Offsets OFFi des Pakets i innerhalb der entsprechenden Datei FILEi und der Größe Si des Pakets, der Server auf einfache Art und Weise das Paket i bei Empfang eines NACKs für das Paket i neu übertragen. Dazu braucht der Server nur die drei Sätze relatierter Information (FILEi, OFFi, Si) über jedes Paket zu kennen, die oft in einer Datei der Session mit der Bezeichnung "meta-file" gespeichert sind.
  • In dem Fall, dass der Server "Echtzeit" (d.h. "im Flug") Paketierung des Multimediastromes implementiert, wird die Unterstützung für Neuübertragung unter Anwendung dieses Verfahrens schwieriger, da jeder Strömungsheader statisch ist und sich nicht ändert, wenn der Server ihn zum Kunden hin überträgt.
  • Echtzeitpaketisierung ist beispielsweise notwendig, wenn der Server Daten von einer "live source" (d.h. direkte Fernsehübertragung) überträgt, oder wenn der Server den Strom mitten in einer Übertragung ändern muss (d.h. die Größe jedes Bildes an die verfügbare Bandbreite anpassen muss). Bei Echtzeitpaketisierung entscheidet der Server beliebig die Zusammensetzung jedes Pakets zu dem betreffenden Übertragungszeitpunkt; auf diese Weise kann der Server keineswegs die Headerinformation aus einer Folgenummer in dem von dem Kunden empfangenen NACK rekonstruieren. Auf diese Weise ist, wenn das herkömmliche Verfahren bei der Echtzeitpaketisierung angewandt wird, die Unterstützung für Neuübertragung unerreichbar, da es keine bekannte Kenntnisse über den Headerinhalt jedes gesendeten Pakets gibt. Ein weiterer Nachteil des herkömmlichen Verfahrens ist, dass der Server meistens gezwungen wird, Pakete zu übertragen, deren Größe geringer ist als die in dem betreffenden Protokoll erlaubte maximale Paketgröße. Die Folge ist verschwendete Bandbreite von entfernten Teilen der nicht verwendeten Paketlast.
  • Auf entsprechende Art und Weise gibt es ein Bedürfnis danach, ein effizienteres Verfahren und effizientere Apparatur zu schaffen zum Schaffen von Echtzeitpaketisierung zum Übertragen von Multimediadatenströmen mit einem niedrigeren Overhead und zum Erlauben der Neuübertragung verloren gegangener Pakete, während Echtzeitpaketisierung unterstützt wird.
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und ein System nach den beiliegenden Hauptansprüchen zum Unterstützen von Echtzeitpaketisierung von Multimediainformation und zur Neuübertragung verloren gegangener Multimediapakete über ein Paketnetzwerk nach den beiliegenden Hauptansprüchen.
  • Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben. Es zeigen:
  • 1 Datenströme in der UDP Kommunikationsumgebung,
  • 2 Header vorpaketierter Ströme nach einem herkömmlichen Verfahren,
  • 3 die Beziehung eines Servers und eines Kunden zu einem Paketnetzwerk nach der vorliegenden Erfindung,
  • 4 das Format der Echtzeitpaketisierung nach der vorliegenden Erfindung,
  • 5 die Struktur einer Neuübertragungsliste nach der vorliegenden Erfindung,
  • 6 ein System nach einer Ausführungsform der vorliegenden Erfindung, und
  • 7 ein Flussdiagramm der Verfahrensschritte nach der vorliegenden Erfindung.
  • In der nachfolgenden Beschreibung sind zur Erläuterung statt zur Begrenzung, bestimmte Einzelheiten beschrieben, wie die bestimmte Architektur, Schnittstellen, Techniken usw. um ein gutes Verständnis der vorliegenden Erfindung zu ermöglichen. Es dürfte aber dem Fachmann einleuchten, dass die vorliegende Erfindung auch in anderen Ausführungsformen, die von diesen spezifischen Einzelheiten abweichen, angewandt werden kann. Weiterhin ist der Deutlichkeit halber auf detaillierte Beschreibungen durchaus bekannter Anordnungen, Schaltungen und Verfahren verzichtet, damit die Beschreibung der vorliegenden Erfindung nicht durch unnötige Einzelheiten getrübt wird.
  • In 3 wird nach der Ausführungsform der vorliegenden Erfindung eine Multimediadatei in Paketen übertragen, wobei jedes Paket wenigstens einen Header und ein Informationsfeld aufweist, und zwar von einem Server 12 zu einem Kunden 14 über ein Paketnetzwerk 16. Um dies zu erreichen wird Echtzeitpaketisierung durchgeführt, wobei jedes übertragene Paket einen Header hat, der von dem Server 12 zu dem Übertragungszeitpunkt geschaffen wird. Je nach dem betreffenden angewandten Protokoll kann ein Paket eine feste oder eine variable Länge haben. Die Streamingrate von dem Server 12 kann von dem Kunden 14 auf Basis wenigstens eines vorbestimmten Bandbreitenbudgets beim Server 12 und einer geschätzten Informationsverlustrate in dem Paketnetzwerk 16 gesteuert werden.
  • 4 zeigt ein Echtzeitpaket 20, konstruiert von dem Server 12 zu dem Zeitpunkt der Übertragung nach der Ausführungsform der vorliegenden Erfindung. Das Echtzeitpaket 20 umfasst verschiedene Objekte, Objektschichten oder verschiedene Frames als Teil eines einzigen Pakets. Die Zusammensetzung jedes Pakets 20 wird von dem Server zu dem Zeitpunkt der Übertragung dynamisch durchgeführt. Das heißt, der Server 12 entscheidet, wie viele und welche Objekte, Schichten oder Frames er in ein bestimmtes Paket einfügt, sowie, welcher Prozentsatz jedes Frames zu dem Zeitpunkt der Übertragung eingefügt werden soll. Außerdem können Daten von jedem Objekt, von jeder Schicht oder von jedem Frame (kollektiv als "Subpakete" bezeichnet) ihren eigenen Subheader in dem Paket 20 enthalten, und verschiedene Subpakete eines Pakets können zu dem Übertragungszeitpunkt nach der vorliegenden Erfindung von verschiedenen Dateien herrühren. Es sei bemerkt, dass es, obschon Echtzeitpaketisierung die Struktur jedes Pakets komplizierter macht, ermöglicht wird, dass der Server 12 live Ströme überträgt, die Senderate entsprechend einem Stausteuerschema einstellt und jedes Paket bis zur maximalen erlaubten Größe füllt. Dadurch, dass jedes Paket bis maximal gefüllt wird, werden ein niedrigerer Bandbreitenoverhead und eine größere Robustheit der Paketpaarbandbreitenschätzungsverfahren (jede Paketgröße ist gleich) erreicht. Folglich schafft, anders als bei dem bekannten Verfahren, die vorliegende Erfindung eine bessere Bandbreitenbenutzung zu dem Zeitpunkt der Übertragung, da viele Frames in demselben Paket übertragen werden können.
  • Da Multimediadaten speicherintensiv sind, erfordern derartige Daten große Mengen Speicherraum zur Speicherung und zur Verwendung durch ein Computersystem. Auf diese Weise kann die Speicherung übertragener Daten in dem örtlichen Speicher des Servers teuer sein und kann die Fähigkeit begrenzen, derartige Daten zur Neuübertragung zu schaffen. Zum Reduzierender Speicheranforderungen bei der Arbeit mit dieser Art von Daten ist das Schema nach der vorliegenden Erfindung derart, dass weniger Speicherraum erforderlich ist zum Speichern von Neuübertragungsinformation und eine bessere Benutzung der Bandbreite verwirklicht werden kann. Die Implementierung der von dem Kunden 14 während einer Applikation einer Echtzeitpaketisierung beantragten Neuübertragung wird nachstehend erläutert.
  • Wie oben bereits erwähnt, wird die Schwierigkeit der Neuübertragung von Paketen, beantragt von dem Kunden 14 in einem Echtzeitpaketierungsprozess verursacht durch die Tatsache, dass der Server 12 keine Möglichkeit hat, die Headerinformation aus einer Folgenummer in einem empfangenen NACK Paket zu rekonstruieren; und diese Information ist auch nicht in der Metadatei gespeichert, da diese Information im Voraus nicht bekannt ist, weil der Server 12 die Zusammensetzung jedes Pakets dynamisch zu dem Zeitpunkt der Übertragung beliebig entscheidet. Nach der vorliegenden Erfindung ist, da der Server 12 die Zusammensetzung jedes Pakets nur dann kennt, wenn das Paket zu dem Kunden 14 übertragen worden ist, der Server 12 mit einem örtlichen Speicher (d.h. RAM) versehen um die dynamischen Werte jedes Pakets eine vorbestimmte Zeitperiode fest zu halten. Folglich ist in dem Fall, dass die Neuübertragung eines Pakets erforderlich ist, kann der Server das erforderliche Paket aus dem örtlichen Speicher erfassen.
  • Wie in 5 dargestellt, wird nach der Übertragung des Pakets i, der Server 12 die nachfolgende Information in die örtliche gekoppelte Neuübertragungsliste 30 einfügen: (1) die Übertragungszeit Ti, die die Zeit des örtlichen Taktgebers darstellt, wo der Server 12 das Paket i übertrug; (2) die Anzahl Subpakete n(i) in dem Paket i; (3) den ganzen Strömungsheader des Pakets i, als HDRi bezeichnet; (4) alle Subheader innerhalb des Pakets i (d.h. alle n(i) Subheader SubHdr1 ... SubHdrn(i), die zu dem Listenelement 30 hinzugefügt werden; (5) einen einzigartigen Identifizierer der Datei, FILE1 ... FILEn(i), für jedes Subpaket, wo das Subpaket gefunden werden kann – dies könnte ein Dateizeiger, eine Dateinummer, eine Objektnummer, eine Objektschichtnummer oder jeder beliebige andere Index sein, der einzigartig die Datei identifiziert, in dem Subpaketdaten gefunden werden können; und (6) den Offset innerhalb der entsprechenden Datei, wo die Daten für jedes Subpaket gefunden werden können, OFF1 ... OFFn(i). Alle diese sechs Elemente sind in der gekoppelten Liste 30 vorgesehen und die Elemente werden an das Ende der Liste 30 einge fügt und an der Oberseite der Liste 30 entfernt. Für aufeinander folgende übertragene Pakete kann die Liste 30 konsekutiv sein und Kopien übertragener Paketheader (oder Pakete selber) werden in einem Speicher beim Server 12 gespeichert um eine Neuübertragung zu erleichtern (im Falle einer live Videoquelle, werden ganze Pakete statt Header in der gekoppelten Liste gespeichert). Die Größe des Speichers ist vorbestimmt und ist abhängig von der Reiseverzögerung und der beabsichtigten Anzahl Neuübertragungsversuche.
  • Nach der vorliegenden Erfindung werden verloren gegangene Pakete dadurch wiederhergestellt, dass das verloren gegangene Paket unter Verwendung der Elemente der gekoppelten Liste und der entsprechenden Diskvideodateien (Diskdateien sind im Falle von live Quellen nicht anwendbar) konstruiert wird. Als Schlüsselteil der vorliegenden Erfindung basieren Neuübertragungsentscheidungen auf der Dauer dynamische Paketinformation die in dem Speicher gespeichert ist. Der Einfachheit halber wird die Lebensdauer (d.h. die maximale Haltezeit) jeder Headerinformation eines Pakets zu dem Zeitpunkt t als MH(t) bezeichnet. In der Ausführungsform der vorliegenden Erfindung wird die Dauer der Beibehaltung dynamischer Pakete beim Server 12 durch den Kunden 14 bestimmt (was nachstehend noch näher erläutert wird) und zwar auf Basis wenigstens des vorbestimmten Verzögerungsbudgets und der geschätzten Reiseverzögerung in dem Paketnetzwerk. Die bestimmte Dauer MH(t) wird danach durch den Kunden 14 zu dem Server 12 zurückbefördert. Ein Schlüsselaspekt der vorliegenden Erfindung ist das Verfahren der Ermittlung, wie lange die Kopien von Paketen, die in dem Server 12 gespeichert sind, für Neuübertragungszwecke beibehalten werden sollen.
  • Zum Unterstützen der Kommunikation des Wertes von MH von dem Kunden 14 zu dem Server 12 benutzt die vorliegende Erfindung drei Nachrichtentypen, die dem Server 12 von dem Kunden 14 aus zugesendet werden. Der erste Nachrichtentyp (MSG_STREAM) wird angewandt zum Auslösen des Streamings, wobei diese Information in allen Streamingprotokollen vorhanden ist. Der zweite Nachrichtentyp, MSG_NACK, ist ein regelmäßiger NACK Antrag zur Neuübertragung. NACK Nachrichten sind auch in allen NACK basierten Applikationen vorhanden. Der dritte Nachrichtentyp MSG_ALIVE, ist eine Wachhaltungsnachricht, die alle Ta Sekunden dem Server 12 von dem Kunden 14 zugesendet wird um anzugeben, dass der Kunde 14 nicht abgestürzt ist und immer noch Konnektivität mit dem Server hat. Die empfohlenen Werte von Ta liegen zwischen 10 und 60 Sekunden.
  • In der vorliegenden Erfindung benutzt der Server 12 den jüngsten empfangenen Wert von MH nach dem Empfang des entsprechenden Kundenpakets über jede der oben genannten Nachrichten.
  • Nachstehend folgt eine detaillierte Beschreibung des Ausführungsbeispiels der vorliegenden Erfindung zum Unterstützen von Echtzeitpaketisierung und Neuübertragung verloren gegangener Pakete.
  • Eine Ausführungsform der vorliegenden Erfindung kann als Computersoftware in Form eines Computerprogrammcodes implementiert werden, durchgeführt in einem Allzweckcomputer, wie dem Serversystem 12 und dem Kundensystem 14, dargestellt in 6. Diese spezielle Ausführungsform der vorliegenden Erfindung, dargestellt in 6, erzeugt einen codierten Multimediabitstrom und kapselt den codierten Multimediabitstrom in Pakete eines Transportprotokolls ein, überträgt danach die resultierenden Transportprotokollpakete über ein Paketnetzwerk 16. Dazu führt das Serversystem 12 ein Programm durch zum Codieren von Eingangsdatensignalen und Segmenten des codierten Multimediabitstroms in Pakete eines bestimmten Transportprotokolls zur Übertragung. Um dies zu erreichen umfasst das Serversystem 12 einen Paketierer 40, einen Paketpuffer 42, einen Paketsender 44 und einen Neuübertragungsprozessor 46, alle mit einem (nicht dargestellten) bidirektionalen Systembus zusammen mit der (nicht dargestellten) CPU gekoppelt. Das Serversystem 12 schafft eine Zweiwegdatenkommunikationskopplung über ein Paketnetzwerk 16 zu dem Kundensystem 14. Drahtlose Kopplungen sind auch möglich. In jeder derartigen Implementierung sendet und empfängt das Serversystem 12 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme tragen, die mehrere Informationstypen darstellen. Es sei bemerkt, dass die oben beschriebenen Computersysteme nur als Beispiele gegeben sind. Der Einfachheit und der Deutlichkeit halber ist auf durchaus bekannte Anordnungen, Schaltungen und Verfahren in Bezug auf diesen Typ von Systemen verzichtet. Folglich kann die Ausführungsform der vorliegenden Erfindung in jedem beliebigen Computersystem oder in jeder beliebigen Programm- oder Verarbeitungsumgebung implementiert werden.
  • In 6 paketiert das Serversystem 12 eintreffende Multimediabitströme unter Verwendung des Paketierers 40. Der Paketpuffer 14, d.h. ein Speicher mit beliebigem Zugriff (RAM) oder eine andere dynamische Speicheranordnung, ist betriebsfertig mit dem Ausgang des Paketierers 40 gekoppelt zum Speichern einer Folge von Paketen und Instruk tionen, die von der (nicht dargestellten) CPU des Serversystems 12 durchgeführt werden müssen. Der Paketpuffer 42 kann auch zur Speicherung vorübergehender Variablen oder anderer Zwischeninformation während der Durchführung von Instruktionen durch den Neuübertragungsprozessor 46. Der Neuübertragungsprozessor 46 ist mit dem Paketpuffer wirksam gekoppelt und wird zum Ordnen der Übertragung eines verloren gegangenen Pakets aus dem Paketpuffer 42 benutzt. Der Paketsender 44 überträgt die dynamischen Pakete 20, die in dem Paketpuffer 42 gespeichert sind, zu dem Kunden 14.
  • In 6 umfasst das Kundensystem einen Paketpuffer 48, einen Entpaketierer 50, einen Paketprozessor/Fehlerdetektor 52, und einen Neuübertragungsverwalter 54. Der Paketsender 44 erfasst Pakete aus dem Paketpuffer 42 in der Folge und überträgt sie zu dem Paketnetzwerk 16 mit derselben Strömungsrate wie die Pakete erzeugt werden. Jedes von dem Serversystem 12 gesendete Paket wird von dem Paketpuffer 48 empfangen, und. Abhängig von dem Codierungstyp stellt der Entpaketierer 50 die eintreffenden Pakete zu einem kontinuierlichen Bytestrom zusammen. Um dies zu bewerkstelligen extrahiert der Paketprozessor 52 die Folgenummer jedes Pakets und ermittelt, ob Pakete ggf. in der Folge eingetroffen sind. Wenn einmal ein Paketverlust detektiert wird, informiert der Paketprozessor 52 den Neuübertragungsverwalter 54 darüber, welches Paket verloren gegangen ist. Der Neuübertragungsverwalter 54, der zum Empfangen der Information über verlorene Pakete mit dem Paketprozessor 52 wirksam gekoppelt ist, sendet daraufhin Steuernachrichten zu dem Neuübertragungsverwalter 46 des Serversystems 12. Ein Typ dieser Steuernachrichten ist ein "Neuübertragungsantrag", der dem Serversystem 12 die Identität des verloren gegangenen Pakets und die Anzahl zur Neuübertragung beantragter Kopien mitteilt. Daraufhin erfasst der Neuübertragungsprozessor 46 das beantragte Paket, das in dem Paketpuffer 42 gespeichert ist, und überträgt es aufs neue.
  • 7 ist ein Flussdiagramm, das die Verfahrensschritte der Verwirklichung von Echtzeitmultimediastreaming und Neuübertragung nach der vorliegenden Erfindung illustriert. In dem Schritt 100 empfängt der Server 12 Multimediadaten und paketiert mehrere Datentypen aus den verschiedenen Schichten zu geeignet bemessenen Einheiten zur Übertragung, wie in 4 dargestellt. In dem Schritt 200 wird, nach der Paketübertragung, der Inhalt jedes Paketheaders und jedes Subheaders in einer gekoppelten Neuübertragungsliste 30 gespeichert und zwar für eine vorbestimmte Periode in einem Speichermedium. Danach erfasst, wenn ein Antrag zur Neuübertragung von dem Kunden 14 empfangen wird, der Server 12 das betreffende Paket auf Basis des gespeicherten Paketheaders und der Subheaderinformation und überträgt das ganze Paket aufs neue zu dem Kunden 14. Inzwischen ermittelt, in dem Schritt 300, der Kunde eine Schwellenzeitperiode, MH(t), die verwendet wird zum Aktualisieren des Inhaltes des Speichers.
  • In dem Verfahrensschritt 400 wird der Entfernungsprozess wie folgt durchgeführt. Für jedes Element in der gekoppelten Neuübertragungsliste 30 wird das Alter jedes Elementes i untersucht und mit dem Wert der durch den Kunden 14 bestimmten maximalen Haltezeit MH(t) verglichen, wobei t die aktuelle Zeit ist. Wenn das Alter des Elementes i, d.h. (t-Ti), wobei Ti die Zeit ist, wo das Element i in die gekoppelte Liste gebracht wurde, größer ist als MH(t), dann wird Item i aus der gekoppelten Neuübertragungsliste 30 entfern um den Speicher frei zu machen, und der Server fährt zu dem nächsten Element. Sonst wird der Entfernungsprozess beendet. Nachdem jedes Paket übertragen und zu der gekoppelten Neuübertragungsliste 30 hinzugefügt worden ist, geht der Server 12 über die Neuübertragungsliste 30 alle T Sekunden, oder alle N übertragenen Pakete (welches Verfahren der Server 12 anzuwenden auch entscheiden mag) und entfernt die Elemente mit "abgelaufenen" Zeitmarkierungen. In dem vorliegenden Fall liegen empfohlene Werte von T zwischen 100 ms und 10 Sekunden und die empfohlenen Werte von N liegen zwischen 1 und 100. Wenn der Server 12 während der Übertragung von Paketen (wie zwischen den Bursts) auf leere Perioden stößt, kann die Entfernung alter Elemente in der Neuübertragungsliste 30 während derartiger Leerperioden erfolgen.
  • Die Berechnung von MH(t), durchgeführt von dem Kunden 14, wird nachstehend erläutert. Die gekoppelte Neuübertragungsliste 30 erfordert einen bestimmten Betrag an Serverspeicherraum für jede Session, an der der Server 12 beteiligt ist. Wenn die Neuübertragungsliste 30 zu kurz ist, werden viele NACKs Pakete angeben, die bereits aus der Liste 30 entfernt worden sind und folglich wird der Server 12 die erforderliche Neuübertragung nicht durchführen. Dies wird an sich dann wieder zu einem Unterfluss von Ereignissen und zu einer schlechten Qualität des Multimediainhaltes bei dem Kunden 14 führen. Auf gleiche Weise ist eine Minimierung der Anzahl Elemente in der Neuübertragungsliste 30 während jeder Session höchst unerwünscht. Folglich führt die Tatsache, dass die Neuübertragungsliste 30 zu lang oder zu kurz gemacht wird, zu negativen Folgen.
  • Nach der vorliegenden Erfindung benutzt der Server 12 immer den jüngsten empfangenen Wert von MH als aktuellen Wert von MH(t) zu jeder Zeit t nach dem Emp fang des entsprechenden Kundenpakets. In dem vorliegenden Fall trägt das MSG_STREAM, das MSG_NACK oder das MSG_ALIVE Paket den Wert MH, der von dem Kunden 14 wie folgt berechnet wird: MH = [∀i : max{GOPi + MDi + Dbudget}] + RTT0 (1)
  • Typischerweise besteht der Multimediastrom aus mehreren Schichten. Die Schichten können zu verschiedenen Medientypen gehören (Video, Audio, Text usw.) und es kann verschiedene Schichten geben für jeden beliebigen Medientyp. In der Gleichung (1) ist GOPi die GOP-Länge ("Group of Pictures") (in Zeiteinheiten) der Schicht i (für Medien, die nicht GOPs unterstützen, ist GOPi die Dauer eines einzigen Frames oder einer Zugriffseinheit). MDi ist die maximale Decodierungsverzögerung der Schicht i. Dieser Wert wird dadurch ermittelt, dass entweder der bestehende Videostrom analysiert und die maximale Zeit berechnet wird, dass ein einziges Frame in dem Decoderpuffer bleibt, oder durch Einengung eines (möglicherweise Echtzeit-) Codierers auf ein bestimmtes Puffermodell, das gewährleistet, dass die wirkliche Decodierverzögerung den Wert MDi nicht übersteigen wird. Dbudget ust der Wert einer zusätzlichen Startverzögerung, die der Kunde plant um nach der idealen Startverzögerung einzufügen. Bei Videostreaming muss der Kunde 4 eine gewisse Zeit warten, bevor jede Schicht decodiert ist. Diese Zeit wird als ideale Startverzögerung der Schicht bezeichnet.
  • RTT0 ist die Ausgangsschätzung der Reiseverzögerung. RTT0 kann auf der Reaktionszeit des Servers auf das MSG_STREAM Paket oder auf einem festen Wert basieren. In dem letzteren Fall liegen die empfohlenen Werte zwischen 2 und 15 Sekunden. MH soll als der maximale Betrag an Zeit betrachtet werden, die der Kunde 14 braucht um jedes beliebige einzelne verloren gegangene Paket plus der Ausgangsschätzung der Reiseverzögerung. Die Rundreiseverzögerung wird der Formel hinzugefügt, weil die Wiederherstellung eines verloren gegangenen Pakets vom Gesichtspunkt des Servers RTT0 Zeiteinheiten länger bestehen kann, und zwar wegen der oft auftretenden Einwegverzögerungen.
  • Derselbe Wert von MH, gegeben durch (1) wird in allen MSG_NACK und MSG_ALIVE Paketen getragen, bis die mit Dbudget assoziierte Verzögerung vorüber ist (siehe unten). Wegen eines langen Einwegverzögerungsjitters kann es für den Kunden länger als die Dbudget Zeiteinheiten dauern, bis alle notwendigen mit dem Verzögerungsbudget assoziierten Bits empfangen werden. Folglich wird das von dem Kunden für die Schicht i eingeführte wirkliche Verzögerungsbudget als ADBi bezeichnet und kann länger dauern als der Zielwert von Dbudget. Wenn das Verzögerungsbudget vergangen ist (nachstehend näher erläutert) und die Decodierung des Stromes beginnt, tragen alle MSG_NACK und MSG_ALIVE Pakete den nachfolgenden Wert von MH: MH = [∀i : max{GOPi + MDi + ADBi}] + RTTlast (2)wobei RTTlast die jüngste Schätzung der Rundreiseverzögerung ist.
  • Nachstehend wird die Berechnung von ADBi erläutert. Es wird nun vorausgesetzt, dass das erste Paket der Schicht i von dem Kunden 14 zu dem Zeitpunkt TFi empfangen wird. Bei der vorliegenden Erfindung muss der Kunde 14 Pi Bits von der Schicht i empfangen, bevor er die Decodierung des Stromes starten wird: Pi = (ISi + Dbudget)·ri (3)wobei ri die ideale Videorate der Schicht i ist, und ISi die ideale Startverzögerung der Schicht i ist. In dem Stand der Technik wartete der Kunde 14 genau ISi + Dbudget) Zeiteinheiten nach dem Empfang des ersten Pakets von der Schicht i und signalisierte danach die Bereitschaft der i der Schicht. Aber wegen eines langen Netzwerkverzögerungsjitters ist es möglich, dass nicht alle notwendigen Bits während dieser Zeit in dem Decoderpuffer sein werden. Folglich ermöglicht das erfindungsgemäße Verfahren eine größere Variation der Einwegverzögerung und ist nach wie vor robuster, wenn über Netzwerk mit unvorhersagbaren Verzögerungen, wie das Internet angewandt.
  • Mit der oben stehenden Definition von Pi signalisiert die Schicht i ihre Bereitschaft, wenn alle Pi Bits der Schicht i von dem Kunden empfangen worden sind. Zum Schluss wird vorausgesetzt, dass TE die Zeit ist, wenn alle Schichten Bereitschaft signalisieren. Folglich wird für jede Schicht das wirkliche Verzögerungsbudget wie folgt berechnet: ADBi = TE – TFi – ISi. (4)
  • Zu dem Zeitpunkt TE, wo die Decodierung des Stromes anfängt, berechnet der Kunde 14 den Wert von MH entsprechend der Formel (2) aufs neue und sendet diesen zu dem Server. Der Kunde 14 aktualisiert den Wert von MH in (2) wenn neue Abtastwerte von RTT verfügbar werden. Folglich tragen alle neuen NACKs und Aktualisierungsnachrichten den jüngsten MH mit dem aktualisierten RTTlast.
  • Zusammenfassend: die vorliegende Erfindung schafft neue Mechanismen für Echtzeitstreaming einer Multimediadatei, die in einem Fernserver 12 gespeichert ist über ein Paketnetzwerk zu einem Multimedienkunden. Die vorliegende Erfindung erreicht signi fikante Leistungsverbesserungen, wenn in NACK-basierten Protokollen angewandt. Weil auf diese Art und Weise eine bevorzugte Ausführungsform zum Verwalten von Neuübertragung über eine digitale Kommunikationskopplung beschrieben worden ist, dürfte es dem Fachmann einleuchten, dass bestimmte Vorteile des Systems erreicht worden sind. Obenstehendes soll als ein Ausführungsbeispiel der vorliegenden Erfindung betrachtet werden.
  • Text in der Zeichnung
  • 1
    • Eintreffzeit
    • Verloren
    • Gesendete Bestätigung
    • Frame 3 hat einen Fehler
  • 2
    • Neuübertragung unter Verwendung statischer Header vorpaketierter Ströme
  • 3
    • Speicher
    • Operationssystem
    • Zugriffskopplung
    • Paketnetzwerk
    • Zugriffskopplung
    • Kundensystem
  • 4
    • Echtzeitpaketierung
  • 5
    • Zeiger zu dem nächsten Element
    • Ende
    • Struktur der gekoppelten Neuübertragungsliste
  • 6
    • Multimediabitstrom
    • Paketierer
    • Paketpuffer
    • Neuübertragungsprozessor
    • Paketsender
    • Paketnetzwerk
    • Neuübertragungsverwalter
    • Paketprozessor/Fehlerdetektor
    • Entpaketierer
    • Paketpuffer
    • Kunde
  • 7
    • 100 Jedes Paket bis maximal erlaubte Größe füllen und übertragen
    • 200 Nach der Paketübertragung den Inhalt jedes Paketheaders und jedes Subheaders in einem Speicher vorspeichern
    • 300 Den Speicher jede vorbestimmte Periode aktualisieren
    • 400 Die Paketheaderinformation entfernen, wenn die Lebensdauer des Pakets eine Schwelle übersteigt.

Claims (12)

  1. Verfahren zum Übertragen eines Multimediabitstroms in Echtzeit zwischen einem Serversystem (12) und einem Kundensystem (14) über ein Paketnetzwerk (16), wobei das Verfahren die nachfolgenden Verfahrensschritte umfasst: a) Paketisierung des genannten Multimediabitstroms zu einer Anzahl Pakete, bestehend aus Schichten entsprechend einem vorbestimmten Schema, b) Speicherung von Kopien der vielen Pakete während einer vorbestimmten Zeitperiode; und c) Entfernung jeder der Kopien der vielen Pakete, für welche die Lebensdauer der einen Kopie länger ist als die genannte vorbestimmte Zeitperiode, d) Übertragung der genannten gespeicherten Pakete nacheinander zu dem genannten Kundensystem (14); e) Sendung von Neuübertragungsanträgen zu dem genannten Server (12), wobei die genannten Neuübertragungsanträge bei Detektion eines verloren gegangenen Pakets gesendet werden, und f) Neuübertragung von Kopien verloren gegangener Pakete zu dem Kundenserver (14); dadurch gekennzeichnet, dass die genannte vorbestimmte Zeitperiode durch das genannte Kundensystem (14) aktualisiert wird, und zwar auf Basis einer Gleichung der nachfolgenden Form: MH = [∀i : max{GOPi + MDi + ADBi}] + RTTlast wobei MH die vorbestimmte Zeit ist, wobei GOPi die Schichtlänge i der Gruppe von Bildern ist, wobei MDi die maximale Decodierungsverzögerung der Schicht i ist, wobei ADBi eine wirkliche Verzögerung, eingeführt durch das genannte Kundensystem (14) für die Schicht i ist, und wobei RTTlast die letzte Schätzung der Umgangsverzögerung zwischen dem genannten Kundensystem (14) und dem genannten Serversystem (12) ist.
  2. Verfahren nach Anspruch 1, wobei der Schritt der Entfernung von Kopien das Entfernen der vielen genannten Pakete umfasst, wenn die Lebensdauer einer der Kopien der genannten Pakete größer ist als die genannte vorbestimmte Zeitperiode.
  3. Verfahren nach Anspruch 1, wobei die genannte ADBi berechnet wird, und zwar auf Basis der nachfolgenden Beziehung: ADBi = TEi – TFi – ISi,wobei TE die Zeit ist, wenn alle Schichten Signalbereitschaft haben, wobei TFi das erste Paket der Schicht i ist, das in dem genannten Kundensystem (14) empfangen worden ist, und wobei ISi die ideale Aufstartverzögerung der Schicht i ist.
  4. Kundensystem (14) zum Empfangen einer Multimediadatei in Echtzeit von einem Fern-Puffer aus einem Serversystem (12), wobei das genannte Kundensystem (14) und das genannte Serversystem (12) mit einem Paketnetzwerk verbunden sind, wobei das genannte System Folgendes umfasst: – einen Paketpuffer (48), der betriebsfähig gekoppelt ist zum Speichern eintreffender Pakete, bestehend aus Schichten, die von dem genannten Serversystem gesendet worden sind; – einen Zerleger (56) zum Zusammensetzen der genannten eintreffenden Pakete zu einem kontinuierlichen Bitstrom; – einen Paketprozessor (52) betriebsfähig gekoppelt mit dem genannten Zerleger (56) zum Detektieren verloren gegangener Pakete; und – einen Neuübertragungsverwalter (54), der mit dem genannten Paketprozessor (52) betriebsfähig gekoppelt ist, und zwar zum Senden von Neuübertragungsanträgen zu dem genannten Serversystem (12) bei Detektion der genannten verloren gegangenen Pakete, dadurch gekennzeichnet, dass eine maximale Haltezeit für Kopien der genannten eintreffenden von dem genannten Serversystem (12) zu puffernden Pakete dem genannten Serversystem (12) auf Basis der nachfolgenden Beziehung zugesendet wird: MH = [∀i : max{GOPi + MDi + ADBi}] + RTTlast,wobei MH die maximale Haltezeit ist, wobei GOPi die Schichtlänge i der Gruppe von Bildern ist, wobei MDi die maximale Decodierungsverzögerung der Schicht i ist, wobei ADBi eine wirkliche Verzögerung, eingeführt durch das genannte Kundensystem (14) für die Schicht i ist, und wobei RTTlast die letzte Schätzung der Umgangsverzögerung zwischen dem genannten Kundensystem (14) und dem genannten Serversystem (12) ist.
  5. Kundensystem nach Anspruch 4, wobei das System ein Mittel aufweist zum Berechnen der Präsentationszeit für Kopien der genannten eintreffenden Pakete in dem genannten Paketpuffer (48).
  6. Kundensystem (14) nach Anspruch 4, wobei die genannte ADBi auf Basis der nachfolgenden Beziehung berechnet wird: ADBi = TE – TFi – ISi wobei TE die Zeit ist, wenn alle Schichten Signalbereitschaft haben, wobei TFi das erste Paket der Schicht i ist, das in dem genannten Kundensystem empfangen worden ist, und wobei ISi die ideale Aufstartverzögerung der Schicht i ist.
  7. Serversystem (12) zum Übertragen einer Multimediadatei, die in dem genannten Serversystem (12) gespeichert ist zu einem Kundensystem (14), wobei das genannte Kundensystem (14) und das genannte Serversystem (12) mit einem Paketnetzwerk (16) verbunden ist, wobei das genannte Serversystem (12) Folgendes umfasst: – einen Paketierer (40) zum Paketieren eintreffender Multimediabitströme zu einer Anzahl Pakete, bestehend aus Schichten entsprechend einem vorbestimmten Schema, – einen Paketpuffer (42), der betriebsfähig mit dem Paketierer (40) gekoppelt ist, und zwar zum Speichern von Kopien der vielen Pakete während einer vorbestimmten Zeitperiode, – einen Paketsender (44), der betriebsfähig mit dem Paketpuffer (42) gekoppelt ist zum Übertragen der genannten Pakete nacheinander zu dem genannten Kundensystem (14), und – einen Neuübertragungsprozessor (46), der betriebsfähig mit dem genannten Paketpuffer (42) und mit dem genannten Paketsender (44) gekoppelt ist zur Neuübertragung von Kopien verloren gegangener Pakete zu dem genannten Kundensystem (14) bei Empfang eines Neuübertragungsantrags von dem Kundensystem, wobei der genannte Neuübertragungsprozessor (54) jede der Kopien der vielen Pakete entfernt, für welche die Lebensdauer der einen Kopie größer ist als die genannte vorbestimmte Zeitperiode, dadurch gekennzeichnet, dass die genannte vorbestimmte Zeitperiode durch das genannte Kundensystem bestimmt wird, und zwar auf Basis der nachfolgenden Beziehung: MH = [∀i : max{GOPi + MDi + ADBi}] + RTTlast wobei MH die vorbestimmte Zeit ist, wobei GOPi die Schichtlänge i der Gruppe von Bildern ist, wobei MDi die maximale Decodierungsverzögerung der Schicht i ist, wobei ADBi eine wirkliche Verzögerung, eingeführt durch das genannte Kundensystem für die Schicht i ist, und wobei RTTlast die letzte Schätzung der Umgangsverzögerung zwischen dem genannten Kundensystem und dem genannten Serversystem (12) ist.
  8. Serversystem (1) nach Anspruch 7, wobei der genannte Neuübertragungsprozessor (54) Kopien der vielen genannten Pakete entfernt, wenn die Lebensdauer einer der Kopien der genannten Pakete gröber ist als die genannte vorbestimmte Zeitperiode.
  9. Serversystem (12) nach Anspruch 7, wobei ADBi auf Basis der nachfolgenden Beziehung berechnet wird: ADBi = TE – TFi – ISi wobei TE die Zeit ist, wenn alle Schichten Signalbereitschaft haben, wobei TFi das erste Paket der Schicht i ist, das in dem genannten Kundensystem empfangen worden ist, und wobei ISi die ideale Aufstartverzögerung der Schicht i ist.
  10. System zum Streamen von Echtzeit-Multimediainformation von einem Serversystem (12) zu einem Kundensystem über ein Paketnetzwerk (16), das Folgendes umfasst: a) das genannte Serversystem (12) zum Liefern eines Multimediabitstroms durch Streaming der Echtzeit-Multimediainformation und durch Durchführung einer Neuübertragung, wobei das genannte Serversystem (12) Folgendes umfasst: – einen Paketierer (40) zur Umwandlung des genannten Multimediabitstroms zu einer Anzahl Übertragungspakete, bestehend aus Schichten, – einen Paketpuffer (42) zur Speicherung der genannten Übertragungspakete während einer vorbestimmten Zeitperiode, – einen Paketsender (44) zur Übertragung der genannten Übertragungspakete, und – einen Neuübertragungsprozessor (46) zum Auslösen einer Neuübertragung von Kopien der genannten Pakete bei Empfang eines Neuübertragungsantrags von dem genannten Kundensystem (14), wobei der genannte Neuübertragungsprozessor (46) jede der Kopien der vielen Pakete entfernt, für welche die Lebensdauer der einen Kopie größer ist als die genannte vorbestimmte Zeitperiode; b) wobei das genannte Kundensystem (12) Folgendes umfasst: – einen Paketpuffer (42) zur Speicherung der genannten Pakete des genannten Multimedia stromes, der von dem genannten Serversystem (12) empfangen worden ist – einen Zerleger (50) zum Zusammensetzen der genannten Übertragungspakete zu einem kontinuierlichen Bitstrom; – einen Paketprozessor (52), betriebsfähig gekoppelt mit dem genannten Zerleger (50) zum Detektieren verloren gegangener Pakete; und – einen Neuübertragungsverwalter (54), der mit dem genannten Paketprozessor (52) betriebsfähig gekoppelt ist, und zwar zum Senden der genannten Neuübertragungsanträge zu dem genannten Serversystem (12) bei Detektion der genannten verloren gegangenen Pakete, dadurch gekennzeichnet, dass die genannte vorbestimmte Zeitperiode durch das genannte Kundensystem bestimmt wird, und zwar auf Basis der nachfolgenden Beziehung: MH = [∀i : max{GOPi + MDi + ADBi}] + RTTlast,wobei MH die vorbestimmte Zeit ist, wobei GOPi die Schichtlänge i der Gruppe von Bildern ist, wobei MDi die maximale Decodierungsverzögerung der Schicht i ist, wobei ADBi eine wirkliche Verzögerung, eingeführt durch das genannte Kundensystem (14) für die Schicht i ist, und wobei RTTlast die letzte Schätzung der Umgangsverzögerung zwischen dem genannten Kundensystem (14) und dem genannten Serversystem (12) ist.
  11. System nach Anspruch 10, wobei der genannte Neuübertragungsprozessor (46) Kopien der vielen genannten Pakete entfernt, wenn die Lebensdauer eines der genannten Übertragungspakete größer ist als die vorbestimmte Zeitperiode.
  12. System nach Anspruch 10, wobei die genannte ADBi auf Basis der nachfolgenden Beziehung berechnet wird: ADBi = TE – TFi – ISi wobei TE die Zeit ist, wenn alle Schichten Signalbereitschaft haben, wobei TFi das erste Paket der Schicht i ist, das in dem genannten Kundensystem empfangen worden ist, und wobei ISi die ideale Aufstartverzögerung der Schicht i ist.
DE60211335T 2001-06-04 2002-06-04 Echtzeitpaketisierung und Wiederübertragung in Streaming Anwendungen Expired - Fee Related DE60211335T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/873,566 US7164680B2 (en) 2001-06-04 2001-06-04 Scheme for supporting real-time packetization and retransmission in rate-based streaming applications
PCT/IB2002/001978 WO2002100067A1 (en) 2001-06-04 2002-06-04 Real-time packetization and retransmission in streaming applications
US873566 2004-06-22

Publications (2)

Publication Number Publication Date
DE60211335D1 DE60211335D1 (de) 2006-06-14
DE60211335T2 true DE60211335T2 (de) 2007-05-03

Family

ID=25361886

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60211335T Expired - Fee Related DE60211335T2 (de) 2001-06-04 2002-06-04 Echtzeitpaketisierung und Wiederübertragung in Streaming Anwendungen

Country Status (8)

Country Link
US (1) US7164680B2 (de)
EP (1) EP1397899B1 (de)
JP (1) JP2004530388A (de)
KR (1) KR20030020968A (de)
CN (1) CN1513252A (de)
AT (1) ATE326109T1 (de)
DE (1) DE60211335T2 (de)
WO (1) WO2002100067A1 (de)

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032808B2 (en) * 1997-08-08 2011-10-04 Mike Vargo System architecture for internet telephone
US7155531B1 (en) 2001-06-12 2006-12-26 Network Appliance Inc. Storage methods and apparatus for streaming media data
US6813690B1 (en) * 2001-06-12 2004-11-02 Network Appliance, Inc. Caching media data using content-sensitive identifiers
US7054911B1 (en) 2001-06-12 2006-05-30 Network Appliance, Inc. Streaming media bitrate switching methods and apparatus
US7945688B1 (en) 2001-06-12 2011-05-17 Netapp, Inc. Methods and apparatus for reducing streaming media data traffic bursts
US7076560B1 (en) 2001-06-12 2006-07-11 Network Appliance, Inc. Methods and apparatus for storing and serving streaming media data
US6742082B1 (en) 2001-06-12 2004-05-25 Network Appliance Pre-computing streaming media payload method and apparatus
FR2832010B1 (fr) * 2001-11-05 2004-01-30 Airbus France Procede de verification du comportement deterministe d'un reseau a commutation de paquet
KR100547871B1 (ko) * 2001-11-08 2006-02-01 삼성전자주식회사 이동 통신시스템의 기지국 제어기와 기지국간 패킷 데이터재전송 방법 및 장치
US6957281B2 (en) * 2002-01-15 2005-10-18 Intel Corporation Ingress processing optimization via traffic classification and grouping
US7386627B1 (en) 2002-01-29 2008-06-10 Network Appliance, Inc. Methods and apparatus for precomputing checksums for streaming media
US7412531B1 (en) * 2002-01-29 2008-08-12 Blue Coat Systems, Inc. Live stream archiving method and apparatus
US7657644B1 (en) 2002-05-10 2010-02-02 Netapp, Inc. Methods and apparatus for streaming media multicast
US7120751B1 (en) 2002-08-09 2006-10-10 Networks Appliance, Inc. Dynamic streaming buffer cache algorithm selection
US8255454B2 (en) * 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
AU2002339523A1 (en) * 2002-09-06 2004-03-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for controlling retransmissions in data streaming
JP3836077B2 (ja) * 2002-11-14 2006-10-18 松下電器産業株式会社 伝送データ構造及びそれを伝送するための方法並びに装置
WO2004046845A2 (en) * 2002-11-20 2004-06-03 Nokia Corporation System and method for data transmission and reception
CN100454284C (zh) * 2002-12-24 2009-01-21 联想(北京)有限公司 实现远程实时播放接收声音的方法及系统
US7957409B2 (en) * 2003-01-23 2011-06-07 Cisco Technology, Inc. Methods and devices for transmitting data between storage area networks
US7738493B2 (en) * 2003-01-23 2010-06-15 Cisco Technology, Inc. Methods and devices for transmitting data between storage area networks
US7991905B1 (en) 2003-02-12 2011-08-02 Netapp, Inc. Adaptively selecting timeouts for streaming media
US7827458B1 (en) * 2003-03-03 2010-11-02 Apple Inc. Packet loss error recovery
US20040250065A1 (en) * 2003-05-24 2004-12-09 Browning James V. Security software code
US7978716B2 (en) * 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US8737219B2 (en) * 2004-01-30 2014-05-27 Hewlett-Packard Development Company, L.P. Methods and systems that use information about data packets to determine an order for sending the data packets
US7966488B2 (en) * 2004-01-30 2011-06-21 Hewlett-Packard Development Company, L. P. Methods and systems that use information about encrypted data packets to determine an order for sending the data packets
GB2413237B (en) 2004-04-13 2007-04-04 Orange Personal Comm Serv Ltd Packet node, and method of operating a data packet network
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8739274B2 (en) * 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
CA2572401A1 (en) 2004-07-23 2006-02-02 Citrix Systems, Inc. A method and systems for securing remote access to private networks
US8046830B2 (en) * 2004-07-23 2011-10-25 Citrix Systems, Inc. Systems and methods for network disruption shielding techniques
US7643503B2 (en) * 2004-07-30 2010-01-05 Sony Corporation System and method for dynamically determining retransmit buffer time
US7839844B2 (en) * 2004-07-30 2010-11-23 Sony Corporation System and method for dynamically determining retransmit buffer time
US7752325B1 (en) 2004-10-26 2010-07-06 Netapp, Inc. Method and apparatus to efficiently transmit streaming media
US7620071B2 (en) * 2004-11-16 2009-11-17 Intel Corporation Packet coalescing
US7711799B2 (en) * 2004-11-22 2010-05-04 Alcatel-Lucent Usa Inc. Method and apparatus for pre-packetized caching for network servers
CN101073237B (zh) * 2004-11-30 2012-02-01 艾利森电话股份有限公司 用于传送多媒体文件的方法
US7370129B2 (en) * 2004-12-15 2008-05-06 Microsoft Corporation Retry strategies for use in a streaming environment
US9462333B2 (en) * 2010-09-27 2016-10-04 Intel Corporation Method for processing multimedia streams
US20060133513A1 (en) * 2004-12-22 2006-06-22 Kounnas Michael K Method for processing multimedia streams
US8706877B2 (en) * 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8700695B2 (en) * 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8954595B2 (en) * 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8549149B2 (en) * 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US20060200711A1 (en) * 2005-02-01 2006-09-07 Schondelmayer Adam H Network diagnostic systems and methods for processing network messages
US20060198318A1 (en) * 2005-02-01 2006-09-07 Schondelmayer Adam H Network diagnostic systems and methods for statistical triggering
US20060198312A1 (en) * 2005-02-01 2006-09-07 Schondelmayer Adam H Network diagnostic systems and methods for altering the format and bandwidth of network messages
US20060198319A1 (en) * 2005-02-01 2006-09-07 Schondelmayer Adam H Network diagnostic systems and methods for aggregated links
US7496678B2 (en) * 2005-05-11 2009-02-24 Netapp, Inc. Method and system for unified caching of media content
JP4742669B2 (ja) * 2005-05-13 2011-08-10 ソニー株式会社 送受信システム、送信装置および送信方法、受信装置および受信方法、並びにプログラム
US20060264178A1 (en) * 2005-05-20 2006-11-23 Noble Gayle L Wireless diagnostic systems
US8107822B2 (en) 2005-05-20 2012-01-31 Finisar Corporation Protocols for out-of-band communication
US7899057B2 (en) * 2006-04-28 2011-03-01 Jds Uniphase Corporation Systems for ordering network packets
US20070211696A1 (en) * 2006-03-13 2007-09-13 Finisar Corporation Method of generating network traffic
US20070038880A1 (en) * 2005-08-15 2007-02-15 Noble Gayle L Network diagnostic systems and methods for accessing storage devices
US20080075103A1 (en) * 2005-05-20 2008-03-27 Finisar Corporation Diagnostic device
US20060291452A1 (en) * 2005-06-24 2006-12-28 Motorola, Inc. Method and apparatus for providing reliable communications over an unreliable communications channel
US7580792B1 (en) 2005-10-28 2009-08-25 At&T Corp. Method and apparatus for providing traffic information associated with map requests
US8301839B2 (en) * 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7921184B2 (en) * 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US7965771B2 (en) 2006-02-27 2011-06-21 Cisco Technology, Inc. Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network
US8218654B2 (en) * 2006-03-08 2012-07-10 Cisco Technology, Inc. Method for reducing channel change startup delays for multicast digital video streams
US8213333B2 (en) 2006-07-12 2012-07-03 Chip Greel Identifying and resolving problems in wireless device configurations
US8031701B2 (en) 2006-09-11 2011-10-04 Cisco Technology, Inc. Retransmission-based stream repair and stream join
US20080075072A1 (en) * 2006-09-25 2008-03-27 Sercomm Corporation WLAN packet control protocol for video streaming
US8046656B2 (en) 2006-10-31 2011-10-25 Hewlett-Packard Development Company, L.P. Rendering and correcting data
US7937728B2 (en) * 2006-12-06 2011-05-03 International Business Machines Corporation Retrieving lost content for a scheduled program
US8526821B2 (en) 2006-12-29 2013-09-03 Finisar Corporation Transceivers for testing networks and adapting to device changes
FR2911231B1 (fr) * 2007-01-09 2009-04-24 Tdf Sa Procede de transmission/reception en temps reel de donnees par paquets entre un serveur et un terminal client, serveur et terminal correspondants
US7937531B2 (en) * 2007-02-01 2011-05-03 Cisco Technology, Inc. Regularly occurring write back scheme for cache soft error reduction
US8769591B2 (en) 2007-02-12 2014-07-01 Cisco Technology, Inc. Fast channel change on a bandwidth constrained network
US7940644B2 (en) * 2007-03-14 2011-05-10 Cisco Technology, Inc. Unified transmission scheme for media stream redundancy
US8504552B2 (en) * 2007-03-26 2013-08-06 Business Objects Software Ltd. Query based paging through a collection of values
US20080253369A1 (en) * 2007-04-16 2008-10-16 Cisco Technology, Inc. Monitoring and correcting upstream packet loss
JP5339697B2 (ja) * 2007-08-14 2013-11-13 キヤノン株式会社 送信装置、送信方法、及びコンピュータプログラム
JP4587053B2 (ja) 2007-08-28 2010-11-24 日本電気株式会社 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム
US7751362B2 (en) 2007-10-19 2010-07-06 Rebelvox Llc Graceful degradation for voice communication services over wired and wireless networks
US8782274B2 (en) 2007-10-19 2014-07-15 Voxer Ip Llc Method and system for progressively transmitting a voice message from sender to recipients across a distributed services communication network
US7751361B2 (en) * 2007-10-19 2010-07-06 Rebelvox Llc Graceful degradation for voice communication services over wired and wireless networks
US8699383B2 (en) 2007-10-19 2014-04-15 Voxer Ip Llc Method and apparatus for real-time synchronization of voice communications
US8099512B2 (en) 2007-10-19 2012-01-17 Voxer Ip Llc Method and system for real-time synchronization across a distributed services communication network
US8559319B2 (en) * 2007-10-19 2013-10-15 Voxer Ip Llc Method and system for real-time synchronization across a distributed services communication network
US8250181B2 (en) * 2007-10-19 2012-08-21 Voxer Ip Llc Method and apparatus for near real-time synchronization of voice communications
US8752102B2 (en) * 2008-01-03 2014-06-10 Microsoft Corporation Intelligent retransmission of data stream segments
US8787153B2 (en) * 2008-02-10 2014-07-22 Cisco Technology, Inc. Forward error correction based data recovery with path diversity
US8086692B2 (en) * 2008-08-27 2011-12-27 Satyam Computer Services Limited System and method for efficient delivery in a multi-source, multi destination network
US8325662B2 (en) 2008-09-17 2012-12-04 Voxer Ip Llc Apparatus and method for enabling communication when network connectivity is reduced or lost during a conversation and for resuming the conversation when connectivity improves
JP5207895B2 (ja) * 2008-09-17 2013-06-12 キヤノン株式会社 送信装置、受信装置、及び方法、プログラム
WO2011040850A1 (en) * 2009-10-02 2011-04-07 Telefonaktiebolaget Lm Ericsson (Publ) Method for retransmission using checksums for identifying lost data packets
US9168946B2 (en) * 2010-03-19 2015-10-27 Javad Gnss, Inc. Method for generating offset paths for ground vehicles
KR101458391B1 (ko) 2010-07-14 2014-11-05 한국전자통신연구원 단일 전송 채널을 통한 다중화된 패킷 스트림의 송수신 방법 및 장치
CN102355604B (zh) * 2011-09-28 2013-10-09 北京华为数字技术有限公司 媒体报文传输方法及装置
US9047417B2 (en) 2012-10-29 2015-06-02 Intel Corporation NUMA aware network interface
US10684973B2 (en) 2013-08-30 2020-06-16 Intel Corporation NUMA node peripheral switch
CN104702576B (zh) * 2013-12-09 2018-02-09 腾讯科技(深圳)有限公司 语音传输方法、装置和语音服务系统
WO2016086954A1 (en) * 2014-12-01 2016-06-09 Sony Corporation Transmission protection
US10158487B2 (en) * 2015-07-16 2018-12-18 Cisco Technology, Inc. Dynamic second factor authentication for cookie-based authentication
US20170093728A1 (en) 2015-09-25 2017-03-30 Fsa Technologies, Inc. Data flow prioritization system and method
US10171777B2 (en) * 2015-12-31 2019-01-01 Amazon Technologies, Inc. Streaming and storing video content captured by an audio/video recording and communication device
JP6533761B2 (ja) * 2016-05-18 2019-06-19 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
CN109379620B (zh) * 2018-11-28 2021-02-05 广州四三九九信息科技有限公司 音视频缓冲方法和装置
CN112788666A (zh) * 2019-11-11 2021-05-11 瑞昱半导体股份有限公司 无线通信装置以及无线通信方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222061A (en) * 1991-10-31 1993-06-22 At&T Bell Laboratories Data services retransmission procedure
US5519704A (en) * 1994-04-21 1996-05-21 Cisco Systems, Inc. Reliable transport protocol for internetwork routing
JPH07322248A (ja) * 1994-05-30 1995-12-08 Matsushita Electric Ind Co Ltd 動画像データの伝送方法および伝送装置
US5768533A (en) * 1995-09-01 1998-06-16 National Semiconductor Corporation Video coding using segmented frames and retransmission to overcome channel errors
US5768527A (en) * 1996-04-23 1998-06-16 Motorola, Inc. Device, system and method of real-time multimedia streaming
JP3825099B2 (ja) * 1996-09-26 2006-09-20 富士通株式会社 映像データ転送方式およびビデオサーバ装置
US5918002A (en) * 1997-03-14 1999-06-29 Microsoft Corporation Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network
US6629318B1 (en) * 1998-11-18 2003-09-30 Koninklijke Philips Electronics N.V. Decoder buffer for streaming video receiver and method of operation

Also Published As

Publication number Publication date
EP1397899A1 (de) 2004-03-17
JP2004530388A (ja) 2004-09-30
DE60211335D1 (de) 2006-06-14
US20020181506A1 (en) 2002-12-05
CN1513252A (zh) 2004-07-14
KR20030020968A (ko) 2003-03-10
WO2002100067A1 (en) 2002-12-12
EP1397899B1 (de) 2006-05-10
ATE326109T1 (de) 2006-06-15
US7164680B2 (en) 2007-01-16

Similar Documents

Publication Publication Date Title
DE60211335T2 (de) Echtzeitpaketisierung und Wiederübertragung in Streaming Anwendungen
DE60020672T2 (de) Verfahren und Vorrichtung zur Wiederholung der Videodatenrahmen mit Prioritätsstufen
DE60110303T2 (de) Verfahren und Vorrichtung zur Paketübertragung mit Paketenkopfkompression
DE69938094T2 (de) Paketwiederübertragungskontrolle mit Prioritätsinformationen
CN107231328B (zh) 实时视频传输方法、装置、设备及系统
DE69931215T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
DE69934092T2 (de) Dekoderpufferspeicher für einen empfänger von videodatenströmen und methode
DE60017356T2 (de) Datenübertragung über ein unzuverlässiges Netz
DE69930992T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
US5918002A (en) Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network
CN113271316B (zh) 多媒体数据的传输控制方法和装置、存储介质及电子设备
CN101945427B (zh) 一种高效的流媒体传输方法
DE60314106T2 (de) Datenstruktur für ein datenübertragungssystem
DE112006002677T5 (de) Verfahren und Vorrichtung für RTP-Ausgabe-Streaming unter Verwendung von komplementären Richtungsdateien
CN106416179A (zh) 实现扩展传输控制功能的传输加速器
WO2019214550A1 (zh) 报文传输方法及装置、系统、存储介质、电子装置
US20160080450A1 (en) Backfill of video stream
CN101867453A (zh) 一种rtp抗丢包的方法
Singh et al. Comparison of multiple-description coding and layered coding based on network simulations
Liao WebCanal: a multicast Web application
DE60108472T2 (de) Datenvorrichtung und datenempfangsvorrichtung
Heybey Video coding and the application level framing protocol architecture
CN101277270A (zh) 流媒体数据的传输方法及系统
DE60025541T2 (de) Verfahren und Vorrichtung zur auf Kanalzustand basierten Wiederholung von Datenpaketen
EP3507987A1 (de) Verfahren zur übertragung von echtzeitbasierten digitalen videosignalen in netzwerken

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee