DE69733199T2 - Verfahren und audio-server-system für ein unzuverlässiges netzwerk - Google Patents

Verfahren und audio-server-system für ein unzuverlässiges netzwerk Download PDF

Info

Publication number
DE69733199T2
DE69733199T2 DE69733199T DE69733199T DE69733199T2 DE 69733199 T2 DE69733199 T2 DE 69733199T2 DE 69733199 T DE69733199 T DE 69733199T DE 69733199 T DE69733199 T DE 69733199T DE 69733199 T2 DE69733199 T2 DE 69733199T2
Authority
DE
Germany
Prior art keywords
audio sequence
subscriber
audio
data rate
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69733199T
Other languages
English (en)
Other versions
DE69733199D1 (de
Inventor
J. William BOLOSKY
P. Steven LEVI
D. Mark VAN ANTWERP
Yoram Bernet
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of DE69733199D1 publication Critical patent/DE69733199D1/de
Application granted granted Critical
Publication of DE69733199T2 publication Critical patent/DE69733199T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • 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)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren in einem kontinuierlichen Medienserversystem zum Senden einer Audio-Sequenz an einen Abonnenten und ein entsprechendes kontinuierliches Medienserversystem und ein computerlesbares Medium.
  • Das Internet ist eine Zusammenschaltung vieler kleinerer Netzwerke. Jedes Netzwerk überträgt Daten in der Form von Paketen und verwendet die allgemein bekannte Technik der Paketvermittlung. Das für eine derartige Funktionalität verwendete Protokoll ist das Internetprotokoll. Da die Anzahl der das Internet nutzenden Personen ständig zunimmt, nimmt die Anzahl der über das Internet bereitgestellten Dienste, wie z. B. Electronic Mail, ebenfalls zu, um mit dem Bedarf Schritt zu halten. Somit ist es erwünscht, neue Dienste zur Anwendung in dem Internet bereitzustellen. Jedoch muss bei der Erzeugung eines neuen Dienstes zur Verwendung in dem Internet ein wichtiges Problem gelöst werden. Dieses besteht darin, dass das Internet eine hohe Paketverlustrate aufweist, und somit jeder neue Dienst so implementiert werden muss, dass dieses Problem überwunden wird.
  • WO 96/17457 schlägt ein Abrufaudio-(Audio-On-Demand)-Kommunikationssystem vor, welches eine Echtzeitwiedergabe von Audiodaten bereitstellt, die über Telefonleitungen oder andere Kommunikationsverbindungen übertragen werden. Einer oder mehrere Audioserver enthalten Speicherbänke, welche komprimierte Audiodaten speichern. Auf die Anforderung eines Benutzers an einem Abonnenten-PC überträgt ein Audioserver die komprimierten Audiodaten über die Kommunikationsverbindung an den Abonnenten-PC. Der Abonnenten-PC empfängt und dekomprimiert die übertragenen Audiodaten langsamer als in Echtzeit unter Verwendung der Verarbeitungsleistung der CPU innerhalb des Abonnenten-PC.
  • WO 96/17306 beschreibt ein verbessertes System und ein Verfahren zum Bereitstellen von Multimediadaten in einem verknüpften System. Die vorliegende Erfindung stellt eine Plattform einer verteilten Client/Server-Rechenleistung und einen Zugriff auf Daten über asymmetrische Echtzeitnetzwerke bereit. Ein Dienstmechanismus ermöglicht, dass An wendungen so aufgeteilt werden, dass sich Client-Vorrichtungen, d. h., Set-Top-Boxen, Persönliche Digitale Assistenten usw. auf die Repräsentation fokussieren können, während Back-End-Dienste, die in einem verteilten Serverkomplex ablaufen, einen Zugriff auf Daten über eine Nachrichtenübertragung über eine abstrahierte Schnittstelle bereitstellen.
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System bereitzustellen, welche eine Datenkommunikation bereitstellen, die gegen mögliche Störungen auf dem Kommunikationskanal toleranter ist.
  • Diese Aufgabe wird durch den Gegenstand der Ansprüche 1, 9 und 10 gelöst.
  • Bevorzugte Ausführungsformen sind Gegenstand der abhängigen Ansprüche.
  • Das hierin beschriebene Audioserversystem sendet Audio-Sequenzen und gemischte Audio- und Standbild-Sequenzen über das Internat an Abonnenten. Das Internet ist ein unzuverlässiges Netzwerk dahingehend, dass es eine hohe Paketverlustrate aufweist. Obwohl das Internet eine hohe Paketverlustrate aufweist, stellt das Audioserversystem für die Anwendung ein fehlertolerantes Dateiformat zur Verfügung, um die Auswirkung des Paketverlustes zu reduzieren, und das Audiosystem erlaubt die Verwendung von Datenströmen mit variabler Rate, um so die Anzahl der Paketverluste zu reduzieren.
  • Um die hohen Paketverlustraten des Internets zu überwinden, ermöglicht das Audioserversystem die Paketgröße einer Datei zu dem Zeitpunkt zu spezifizieren, an dem die Datei auf die Platte geschrieben wird. Eine Spezifikation der Paketgröße vor einer Übertragung ermöglicht, dass die Datei anhand einer beliebigen Anzahl allgemein bekannter Fehlerkorrekturverfahren, wie z. B. Paritäts-Codierung, codiert wird. Die Verwendung eines derartigen Fehlerkorrekturverfahrens ermöglicht die Rekonstruktion eines verlorenen Paketes so, so dass der Audiostrom durch den Paketverlust unbeeinflusst bleibt. Mit anderen Worten, durch die Verwendung des Fehlerkorrekturverfahrens kann ein Abonnent ein verlorenes Paket aus den Inhalten der Pakete rekonstruieren, die empfangen wurden.
  • Die von dem Audioserversystem gesendeten Audio- und gemischten Audioströme haben typischerweise variierende Datenraten. Obwohl einige herkömmliche Serversysteme Audio- und gemischte Audiodaten senden könnten, würden alle Daten mit derselben Datenrate (d. h., mit der maximalen Datenrate) gesendet werden, was zu einer Serverleerlaufzeit führt. D. h., die herkömmlichen Systeme senden die Daten als Datenblöcke über eine reservierte feste Zeitdauer und Blöcke mit einer kleinen Datenrate erfordern weniger als die reservierte Zeitmenge zum Senden der Daten. Somit ist in dieser Situation das herkömmliche Serversystem nach dem Senden der Daten für die anschließende Zeitdauer im Leerlauf. Obwohl das eine Leerlaufzeit erfahrende Serversystem selbst kein Problem darstellt, muss, um eine derartige Leerlaufzeit zu erfahren, das Serversystem die Daten mit einer schnelleren Rate als beabsichtigt gesendet haben, was manchmal als ein Senden eines Datenbündels bezeichnet wird. Das Senden eines Datenbündels kann den Empfänger der Daten überfordern, wenn er keine ausreichende Pufferkapazität hat, und dadurch zu einem Datenverlust führen. Ferner führt das Senden eines Datenbündels manchmal zu einer Datenverlustzunahme durch das Internet, da das Internet eine unzureichende Pufferkapazität besitzen kann. Natürlich ist es erwünscht, derartige Datenverluste zu verhindern. Das hierin beschriebene Audioserversystem hat die Fähigkeit, Ströme mit variablen Datenraten zu senden, um so eine Serverleerlaufzeit zu verhindern, was einen Datenverlust verringert. Das Audioserversystem stellt diese Fähigkeit bereit, indem die Datenrate zu dem Zeitpunkt spezifiziert wird, an dem die Datei auf die Festplatte geschrieben wird, und dann die Daten mit dieser Rate übertragen werden.
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung werden hierin nachstehend unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • 1 ist eine Blockdarstellung eines Audioserversystems einer bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 2 ist eine detailliertere Blockdarstellung der Audiostation von 1.
  • 3 ist ein Flussdiagramm, das eine Übersicht aus höherer Ebene über die durch das Audioserversystem durchgeführten Schritte bereitstellt.
  • 4 ist ein Flussdiagramm, das detaillierter darstellt, wie Audio-Sequenzen in dem Audioserversystem gespeichert werden.
  • 5A stellt eine Datenstruktur bereit, die von dem Audioserversystem für jede Audio-Sequenz aufrechterhalten wird.
  • 5B stellt ein Fehlerkorrekturverfahren dar, das von dem Audioserversystem angewendet wird.
  • 6 ist ein Diagramm, das die Planung der Bandbreite in einem System mit drei Festplatten durch das Audioserversystem darstellt.
  • 7 ist ein Flussdiagramm, das die Schritte darstellt, die zum Lokalisieren einer Bandbreiteneinheit durchgeführt werden, die der Bedienung einer Abonnentenanforderung durch das Audioserversystem zuzuweisen ist.
  • 8 ist ein Diagramm, das eine Beispieldatenstruktur darstellt, die von dem Audioserversystem aufrechterhalten wird.
  • Die bevorzugte Ausführungsform der vorliegenden Erfindung sendet Audio-Sequenzen und Mischaudio- und Standbildsequenzen (hierin nachstehend "Mischaudio" bezeichnet) über das Internet an Abonnenten. Obwohl das Internet eine hohe Paketverlustrate besitzt, ermöglicht die bevorzugte Ausführungsform die Verwendung eines fehlertoleranten Dateiformates, um den Effekt des Paketverlustes zu verhindern, und die bevorzugte Ausführungsform ermöglicht auch die Verwendung von Datenströmen mit variabler Rate, um so die Anzahl der Paketverluste zu reduzieren. Das in der vorliegenden Offenbarung beschriebene System ist als das Audioserversystem bekannt. Das Audioserversystem ist ein Typ eines kontinuierlichen Medienserversystems, in welchem Daten an einen Verbraucher mit einer garantierten Rate gesendet werden. Unter Verwendung des Audioserversystems kann ein Abonnent entweder eine Audio-Sequenz oder eine Mischaudio-Sequenz anfordern und das Audioserversystem sendet die angeforderte Sequenz an den Abonnenten mit einer garantierten Rate.
  • Um über das Internet eingesetzt zu werden, muss das Audioserversystem die hohen Paketverluste des Internets berücksichtigen. Insbesondere kann das Internet zwischen 1 von 10 bis 1 von 3 Paketen verlieren. Zum Überwinden dieses Problems ermöglicht das Audioserversystem, dass die Paketgröße einer Datei zu dem Zeitpunkt spezifiziert wird, an dem die Datei auf die Festplatte geschrieben wird. Eine Spezifizierung der Paketgröße vor der Übertragung ermöglicht die Codierung der Datei gemäß einer beliebigen Anzahl allgemein bekannter Fehlerkorrekturverfahren, wie z. B. der Paritäts-Codierung, welche nachstehend weiter diskutiert wird. Die Verwendung eines derartigen Fehlerkorrekturverfahrens ermöglicht die Rekonstruktion eines verlorenen Paketes so, dass der Audiostrom durch den Paketverlust unbeeinflusst bleibt. Mit anderen Worten, durch die Anwendung eines Fehlerkorrekturverfahrens kann ein Abonnent ein verlorenes Paket aus den Inhalten der Pakete rekonstruieren, die empfangen wurden.
  • Die von dem Audioserversystem gesendeten Audio- und Mischaudioströme weisen typischerweise variierende Datenraten auf. Obwohl einige herkömmliche Serversysteme Audio- und Mischaudiodaten senden könnten, würden alle Daten mit derselben (d. h., mit der maximalen Datenrate) Datenrate gesendet werden, was zu einer Serverleerlaufzeit führt. D. h., das herkömmliche Serversystem sendet die Daten als Datenblöcke über eine reservierte feste Zeitdauer und Blöcke mit einer niedrigen Datenrate erfordern weniger als die reservierte Zeitmenge zum Senden der Daten. Somit wartet in dieser Situation nach dem Senden der Daten das herkömmliche Serversystem im Leerlauf auf die nächste Zeitperiode. Obwohl das eine Leerlaufzeit erfahrende Serversystem selbst kein Problem darstellt, muss, um eine derartige Leerlaufzeit zu erfahren, das Serversystem die Daten mit einer schnelleren Rate als beabsichtigt gesendet haben, was manchmal als ein Senden eines Datenbündels bezeichnet wird. Das Senden eines Datenbündels kann den Empfänger der Daten überfordern, wenn er keine ausreichende Pufferkapazität hat, und dadurch zu einem Datenverlust führen. Ferner führt das Senden eines Datenbündels manchmal zu einer Datenverlustzunahme durch das Internet, da das Internet eine unzureichende Pufferkapazität besitzen kann. Natürlich ist es erwünscht, derartige Datenverluste zu verhindern. Das hierin beschriebene Audioserversystem hat die Fähigkeit, Ströme mit variablen Datenraten zu senden, um so eine Serverleerlaufzeit zu verhindern, was einen Datenverlust verringert. Das nachstehend beschriebene Audioserversystem hat die Fähigkeit Ströme mit variablen Datenraten zu senden, um so die Serverleerlaufzeit zu verhindern, welche einen Datenverlust bewirkt. Das Audioserversy stem stellt diese Fähigkeit bereit, indem die Datenrate zu dem Zeitpunkt spezifiziert wird, an dem die Datei auf die Festplatte geschrieben wird, und dann die Daten mit dieser Rate übertragen werden.
  • Das Audioserversystem ist in 1 dargestellt. Das Audioserversystem ist ein System, in welchem Abonnenten zu jedem Zeitpunkt das Abhören spezieller Audio-Sequenzen (oder das Abhören und Betrachten von Audio-Sequenzen) anfordern können, die aus der Audiostation 10 übertragen werden. Die Audiostation 10 überträgt die Daten für die Audio-Sequenzen über das Internet 12 an die Abonnenten 14. Alternativ könnten anstelle des Internets andere geeignete Verbindungsmechanismen verwendet werden. Die Audiostation 10 macht bevorzugt eine große Anzahl unterschiedlicher Audio- oder Mischaudio-Sequenzen verfügbar, die an die Abonnenten 14 übertragen werden können und in Echtzeit sowohl abgehört als auch betrachtet werden können. Zur Verdeutlichung wird hierin nachstehend die Beschreibung des Audioserversystems lediglich unter Bezugnahme auf Audio-Sequenzen bereitgestellt, obwohl auch beabsichtigt ist, dass Mischaudio-Sequenzen ebenfalls verwendet werden könnten. Mit anderen Worten, die nachstehend beschriebene Verarbeitung wird bezüglich Audio-Sequenzen beschrieben, ist jedoch in gleicher Weise auf Mischaudio-Sequenzen abwendbar. Zusätzlich wird der Fachmann auf diesem Gebiet erkennen, dass andere Daten durch das Audioserversystem der bevorzugten Ausführungsform, einschließlich Videodaten und anderer Formen von Multimediadaten verwendet werden können.
  • In dem Audioserversystem ist die Auswahl einer von einem Abonnenten abzuhörenden Audio-Sequenz nicht vorgeplant. Statt dessen wird die Auswahl nach Bedarf des Abonnenten geplant. Ein Abonnent muss nicht eine Audio-Sequenz wählen, die andere Abonnenten ebenfalls abhören; statt dessen kann der Abonnent irgendeine beliebige von den verfügbaren Audio-Sequenzen auswählen. Ferner wählt jeder Abonnent, wann er den Beginn des Abhörens einer Audio-Sequenz wünscht. Eine Anzahl unterschiedlicher Abonnenten 14 kann gleichzeitig unterschiedliche Abschnitte derselben Audio-Sequenz abhören. Ein Abonnent kann auswählen, wo in einer Folge er mit dem Abhören beginnen möchte und kann das Abhören einer Folge beenden, bevor die gesamte Sequenz abgespielt worden ist.
  • 2 ist eine Blockdarstellung, die die Audiostation 10 detaillierter darstellt. Die Audiostation 10 enthält eine Steuerung 16, die für die Planung der Übertragung von Audio-Sequenzen an Abonnenten 14 (1) verantwortlich ist. Die Steuerung 16 steuert mehrere Untersysteme 18A, 18B und 18C und ist für die Planung und Leitung der Ausgabe aus den Untersystemen an die Abonnenten 14 verantwortlich. Die Steuerung kann doppelt vorgesehen werden, um eine Reservesteuerung bereitzustellen, die die Fehlertoleranz des Systems vergrößert. Obwohl in 2 nur drei Untersysteme dargestellt sind, wird der Fachmann auf diesem Gebiet erkennen, dass es in den meisten Fällen günstiger ist, eine größere Anzahl von Untersystemen zu verwenden. Nur drei Untersysteme sind in 2 für Zwecke der Vereinfachung und Verdeutlichung dargestellt.
  • Jedes Untersystem 18A, 18B und 18C enthält einen Mikroprozessor 20A, 20B und 20C, der für die Steuerung entsprechender Paare von Speichervorrichtungen (22A, 24A), (22B, 24B) und (22C, 24C) verantwortlich ist. Die Daten für die Audio-Sequenzen, die den Abonnenten 14 zur Verfügung stehen, sind in den Speichervorrichtungen 22A, 24A, 22B, 24B, 22C und 24C gespeichert. Jedes Untersystem 18A, 18B und 18C muss nicht zwei Speichervorrichtungen enthalten, sondern jedes System kann eine oder mehrere Speichervorrichtungen enthalten oder kann alternativ mehr als zwei Speichervorrichtungen enthalten. Die Mikroprozessoren 20A, 20B und 20C sind dafür verantwortlich, mit der Steuerung 16 zusammenzuarbeiten, um die Daten für die in den Speichervorrichtungen gespeicherten Audio-Sequenzen an die Abonnenten 14 zu übertragen.
  • Die Speichervorrichtungen 22A, 22B, 22C, 24A, 24B und 24C können beispielsweise Magnetplattenlaufwerke oder optische Plattenlaufwerke sein. Der Fachmann auf diesem Gebiet wird erkennen, dass jede geeignete Speichervorrichtung zum Speichern der Daten für die Audio-Sequenzen verwendet werden kann. Beispielsweise können RAM, Masken-ROM, EPROM und Flash-EPROMs zum Speichern der Audio-Sequenzen in der vorliegenden Erfindung verwendet werden.
  • 3 ist ein Flussdiagramm von durch die bevorzugte Ausführungsform der vorliegenden Erfindung ausgeführten Schritten. Zu Beginn werden Audio-Sequenzen über die Speichervorrichtungen 22A, 22B, 22C, 24A, 24B und 24C (2) des Audioserversystems (Schritt 42 in 3) verteilt gespeichert (d. h. gestript). Mehrere Kopien einer Audio-Sequenz können in der Audiostation 10 gespeichert sein. Dieser Schritt wird wahr scheinlich nur einmal für jede Kopie einer in dem Audiosystem 10 gespeicherten Audio-Sequenz durchgeführt und wird nicht für jeden Abonnenten wiederholt. Die Motivation für das Striping der Daten der Audio-Sequenzen besteht in der Erhöhung des Wirkungsgrades, mit welcher die Daten durch die Speichervorrichtungen in einer begrenzten Zeit ausgegeben werden, und in dem Ausgleichen von Belastungsanforderungen an jede Speichervorrichtung.
  • 4 ist ein Flussdiagramm, das die durch das Audioserversystem zum Striping der Audio-Sequenzen über die Speichervorrichtungen 22A, 22B, 22C, 24A, 24B und 24C (d. h. zum Ausführen des Schrittes 42 von 3) durchgeführten Schritte darstellt. Der erste ausgeführte Schritt dient zum Speichern der Datenrate und der Paketgröße für jede Audio-Sequenz in einer dieser Audio-Sequenz zugeordneten Datenstruktur (Schritt 53). Der Administrator des Audioserversystems kennt die Rate, mit welcher die Audio-Sequenz abgespielt werden sollte und spezifiziert diese Rate als die Datenrate (z. B. 8 kb/s). Die Datenrate identifiziert die minimale Rate, mit welcher die Audio-Sequenz gesendet werden sollte. Obwohl die Audio-Sequenz schneller gesendet werden könnte, würde das langsamere Senden der Audio-Sequenz als mit der Datenrate die Qualität ihrer Wiedergabe negativ (d. h. der Ton würde verzerrt werden) beeinflussen. Die Paketgröße wird von dem Administrator in einer nachstehend beschriebenen Weise spezifiziert, um so die Verwendung eines Fehlerkorrekturverfahrens zu ermöglichen. Sowohl die Datenrate als auch die Paketgröße werden in der in 5A dargestellten Datenstruktur gespeichert. In 5A ist die Datenstruktur 500 für eine spezielle als Bezug 502 bezeichnete Audio-Sequenz dargestellt. Der Bezug 502 auf die Audio-Sequenz kann beispielsweise der Titel eines Liedes sein. Der angegebenen Audio-Sequenz ist eine Datenrate 504 und eine Paketgröße 506 zugeordnet. Die Datenraten 504 spezifiziert die Rate, mit welcher die Audio-Sequenz abgespielt werden sollte (d. h., an den Abonnenten gesendet werden sollte). Die Paketgröße 506 spezifiziert die maximale Datenmenge, die in einem an den Abonnenten über das Internet 12 gesendeten Paket enthalten sein sollte. Die Verwendung einer derartigen Paketgröße 506 ermöglicht es, dass die Paketgröße vor der Übertragung bekannt ist, was die Verwendung eines Fehlerkorrekturverfahrens bei der Audio-Sequenz ermöglicht. Ein Fachmann auf diesem Gebiet wird erkennen, dass die Datenstruktur 500 jede andere Information enthalten kann, die für die Audio-Sequenz relevant ist, wie z. B. die Größe der Audio-Sequenz.
  • In einer alternativen Ausführungsform könnten die Datenrate und die Paketgröße durch den Abonnenten spezifiziert und mit der Anforderung für eine Audio-Sequenz gesendet werden. Indem man dem Abonnenten ermöglicht, die Datenrate anzugeben, kann der Abonnenten in der Lage sein, die Daten schneller in Situationen zu erhalten, in welchen er ausreichende Pufferkapazitäten besitzt und er weiß, dass das Internet nicht die erhöhte Datenrate beeinträchtigt. Indem man dem Abonnenten ermöglicht, die Paketgröße zu spezifizieren, kann der Abonnenten dynamisch größere oder kleinere Paketgrößen anfordern, wenn er weiß, dass das Netzwerk mit einer neuen Größe besser arbeiten würde. Durch Spezifizieren einer größeren Paketgröße als ein Mehrfaches der ursprünglichen Paketgröße oder einer kleineren Paketgröße als ein geradzahliger Anteil der ursprünglichen Paketgröße können die Fehlerkorrekturaspekte des Audioserversystems weiter realisiert werden.
  • Nach dem Speichern der Datenrate und der Paketgröße wird die Audio-Sequenz unter Verwendung eines Fehlerkorrekturverfahrens so codiert, dass der Verlust von einem oder mehreren Paketen während der Übertragung über das Internet 12 durch den Abonnenten toleriert werden kann (Schritt 54). D. h., unter Verwendung einer Anzahl von allgemein bekannten Fehlerkorrekturverfahren kann der Abonnent die Inhalte der verlorenen Pakete aus den Paketen rekonstruieren, die empfangen wurden. Ein Beispiel eines derartigen Fehlerkorrekturverfahrens ist das allgemein bekannte Verfahren der Paritäts-Codierung. Ein Paritäts-Codierungsverfahren setzt voraus, dass ein Paritätspaket nach einer festen Anzahl von Datenpaketen gesendet wird. Beispielsweise sendet ein Paritäts-Codierungsverfahren mit vier Datenpaketen überträgt vier Datenpakete, gefolgt von einem Paritätspaket, das ausreichend Information enthält, dass es in der Lage ist, die Inhalte von einem beliebigen der vier Datenpakete zu rekonstruieren. Die Verwendung von vier Datenpaketen ist lediglich veranschaulichend und ein Fachmann auf diesem Gebiet wird erkennen, dass entweder mehr oder wenig Datenpakete verwendet werden können. Bei der Codierung der Daten gemäß dem Paritäts-Codierungsverfahren wird die Audio-Sequenz in eine Anzahl von Paketen unterteilt, wobei jedes Paket eine Menge an Daten enthält, die äquivalent zu einer Paketgröße 506 sind. Für alle aufeinander folgenden vier Datenpakete wird ein Paritätspaket erzeugt, dessen Bits eine Exklusiv-Oder-Verknüpfung der Bits in den vier Datenpaketen darstellen. D. h., alle Bits in den vier Datenpaketen mit derselben Bitposition werden einer Exklusiv-Oder-Verknüpfung unterzogen und das Ergebnis dieser Bool'schen Operation wird an der ent sprechenden Bitstelle in dem Paritätspaket gespeichert. Das Paritäts-Codierungsverfahren ist in 5B dargestellt, welche darstellt, dass die vier Datenpakete 508, 510, 512 und 504 einer Exklusiv-Oder-Verknüpfung 516 unterzogen werden, um das Paritätspaket 518 zu erzeugen. Bei Verwendung dieses Paritäts-Codierungsverfahrens kann, wenn während der Übertragung der vier Datenpakete 508, 510, 512 und 514 und des Paritätspaketes 518 ein Fehler dergestalt auftreten würde, dass das Datenpaket 508 nicht bei dem Abonnenten ankommen würde, dessen Inhalte rekonstruiert werden. Eine derartige Rekonstruktion erfolgt, indem die Datenpakete 510, 512 und 514 einer Exklusiv-Oder-Verknüpfung unterzogen werden, was zu den Inhalten des Datenpaketes 508 führt. Das Paritäts-Codierungsverfahren trägt dazu bei, die signifikanten Paketverluste des Internets 12 zu überwinden.
  • Zusätzlich zu der Paritäts-Codierung könnten weitere Codierungsverfahren verwendet werden, welche die Auswirkung eines verlorenen Paketes verringern würden. D. h., wenn ein Standbild gesendet wird, können die Daten in einer solchen Weise paketisiert werden, welche die empfangenen Daten brauchbar beläßt. Beispielsweise würde, wenn das Standbild so paketisiert werde, dass jedes Paket einen quadratischen Bereich des Bildes speichern würde, wenn ein Paket verloren wird, das empfangene Bild ein offensichtliches Loch aufweisen. Es können jedoch andere Codierungsverfahren verwendet werden, um diesen Effekt zu verringern. Beispielsweise könnte, wenn das Standbild mit zwölf Paketen zu senden wäre, jedes Paket die Daten für jede zwölfte Pixelzeile enthalten. Daher wäre, wenn ein Paket verloren geht, das empfangene Bild immer noch brauchbar, wobei der Verlust kaum erkennbar ist. Ferner kann der Abonnent ein System haben, das die in den fehlenden Zeilen enthaltenen Daten abschätzt, was den Datenverlust sogar noch weniger merkbar macht. Ein Fachmann auf diesem Gebiet wird erkennen, dass es zahlreiche weitere Codierungsverfahren gibt, die angewendet werden könnten, um die Auswirkung verlorener Daten in Verbindung mit dem Audioserversystem der bevorzugten Erfindung zu verringern.
  • Nach dem Codieren der Daten werden die Daten als ein zusammenhängender Strom von Daten behandelt, obwohl dieser eine Anzahl von Datenpaketgruppen und zugeordneter Paritätspakete repräsentiert. Dieser zusammenhängende Strom von Daten wird dann als eine Anzahl sequentieller Blöcke betrachtet. Die Blockgröße ist variabel, wobei jedoch ein Block typischerweise 64 Kilobyte bis 4 Megabyte an Daten enthält. Die Blockgröße ist durch einen oberen Grenzwert begrenzt, die nicht überschritten werden kann. Diese sequentiellen Blöcke werden dann über die Speichervorrichtungen aller Untersysteme 18A, 18B und 18C in den Schritten 55 bis 58 gestript. Der erste Block einer Audio-Sequenz wird auf einer angegebenen Speichervorrichtung gespeichert (Schritt 55). Wie vorstehend erwähnt, dürfte es erkennbar sein, dass mehr als nur eine Kopie einer Audio-Sequenz über die Speichervorrichtungen gestript sein können. Somit können mehrere als nur die eine Speichervorrichtung vorhanden sein, auf welcher jeder Block der Audio-Sequenz gespeichert ist. Nachdem der erste Block der Audio-Sequenz auf der angegebenen Speichervorrichtung gespeichert worden ist, erfolgt eine Ermittlung, ob alle Datenblöcke für die Audio-Sequenz bereits auf den Speichervorrichtungen gespeichert worden sind (Schritt 56). Falls nicht, wird der nächste Datenblock für die Audio-Sequenz auf einer nächsten Speichervorrichtung in einer vorbestimmten Reihenfolge der Speichervorrichtungen gespeichert (Schritt 58). Jeder von den aufeinander folgenden Blöcken von Daten für die Audio-Sequenz wird auf einer nächsten Speichervorrichtung in der vorbestimmten Reihenfolge gespeichert. Die Schritte 56 und 58 werden dann wiederholt, bis alle Daten für die Audio-Sequenz über den Speichervorrichtungen gespeichert worden sind. Die vorbestimmte Reihenfolge kehrt wieder zu dem Beginn zurück, wenn das Ende der Folge erreicht ist. Als eine Folge dieses Prozesses werden die Daten für die Audio-Sequenz über die Speichervorrichtungen hinweg gestript. Die in 4 dargestellten Schritte werden für jede Audio-Sequenz durchgeführt, die in dem Audioserversystem der bevorzugten Ausführungsform der vorliegenden Erfindung gespeichert ist.
  • Nach dem Abschluss des Schrittes 42 in 3 der Speicherung der Audio-Sequenz empfängt die Audiostation 10 eine Abonnentenanforderung zum Abhören einer Audio-Sequenz (Schritt 44). In der alternativen Ausführungsform werden als Teil dieses Schrittes sowohl die Datenrate als auch die Paketgröße von dem Abonnent empfangen und in der Datenstruktur 500 gespeichert. Als Reaktion auf die Abonnentenanforderung ermittelt das Audioserversystem, wie die verfügbare Ausgabebandbreite auszunutzen ist, um die Anforderung des Abonnenten zu erfüllen. Bandbreite, wie sie in diesem Zusammenhang verwendet wird, soll sich auf eine Eingangs/Ausgangs-Kapazität (für einen festen Zeitrahmen) von Speichervorrichtungen beziehen, welche Daten für die Audio-Sequenzen enthalten. Das Audioserversystem wird bezüglich einer Implementation beschrieben, welche die Ausgabebandbreite (d. h., das Lesen von Daten aus den Speichervor richtungen, die Audio-Sequenzen enthalten) beschrieben, wobei jedoch der Fachmann auf diesem Gebiet erkennen wird, dass die vorliegende Erfindung ebenso auf die Eingabebandbreite (d. h. das Schreiben von Audio-Sequenzdaten auf die Speichervorrichtungen) angewendet werden kann. Der erste Schritt zur Ausnutzung der verfügbaren Bandbreite ist die Ermittlung des Laufwerks, auf welchem der Anfangsblock der abzuhörenden Audio-Sequenz gespeichert ist (Schritt 46). Wenn der Abonnent der Audio-Sequenz von Beginn der Sequenz an abhört, ist der Anfangsblock der erste Block in der Sequenz. Wenn jedoch der Abonnent die Audio-Sequenz ab einem Zwischenpunkt abhören möchte, ist der Anfangsblock der erste Block der, den der Abonnent hören möchte. Das Audioserversystem führt eine (nachstehend detaillierter beschriebene) Aufzeichnung der Speichervorrichtungen, auf welchen jeder der verfügbaren Audio-Sequenzen beginnt und besitzt insgesamt eine ausreichende Kenntnis, um den von dem Abonnent abzuhörenden Anfangsblock zu lokalisieren. Diese Information wird verwendet, um den Schritt 46 von 3 auszuführen.
  • Sobald die Speichervorrichtung, die den Anfangsblock der angeforderten abzuhörenden Audio-Sequenz enthält, identifiziert worden ist (d. h., Schritt 46), findet das Audioserversystem die nächste freie Bandbreiteneinheit, die verwendet werden kann, um die Daten der angeforderten Audio-Sequenz an den anfordernden Abonnenten zu übertragen (Schritt 48). Die Bandbreiteneinheit ist die Zuordnungseinheit von Bandbreite des Audioserversystems. Eine Planung für jede Speichervorrichtung erfolgt auf einer Spalte von Zeitschlitzen. Jede Spalte enthält eine Anzahl von Zeitschlitzen in einer Folge, die sich wiederholt. Jeder Zeitschlitz ist eine begrenzte Zeitperiode die für die Speichervorrichtung zur Ausgabe eines Datenblocks ausreicht. Eine Bandbreiteneinheit umfasst einen Zeitschlitz aus jeder Spalte von Zeitschlitzen. Jeder Zeitschlitz in der Bandbreiteneinheit ist einer unterschiedlichen Speichervorrichtung zugeordnet, die einen Datenblock einer Audio-Sequenz ausgibt. Da die Datenblöcke über die Speichervorrichtungen gestript sind, werden aufeinander folgende Datenblöcke aus der vorbestimmten Reihenfolge von Speichervorrichtungen während der Folge der Zeitschlitze der Bandbreiteneinheit ausgelesen. Die Zeitschlitze werden durch die Mikroprozessoren 20A, 20B und 20C oder andere geeignete Mechanismen erzeugt (2).
  • Die Bezeichnungen einer Spalte von Zeitschlitzen und einer Bandbreiteneinheit kann möglicherweise am besten durch ein Beispiel erklärt werden. Abonnenten werden mit tels einer Bandbreiteneinheit geplant. Mit anderen Worten, ihnen wird derselbe numerierte Zeitschlitz in jeder Spalte zugeteilt. 6 stellt die Planung von sieben Abonnenten für drei Speichervorrichtungen (z. B. Platte 0, Platte 1 und Platte 2) dar. Die in 6 dargestellten Rechtecke sind Zeitschlitze. Die Nummern 1 bis 7 in 6 entsprechen dem Zeitschlitz in den entsprechenden Spalten 0, 1 und 2. Zeitschlitze einer gemeinsamen Bandbreiteneinheit haben alle dieselbe Nummer. Die Spalten 0, 1 und 2 sind alle zeitlich relativ zueinander (d. h., in der Zeiteinheit in 6) versetzt, wobei jedoch jede Spalte dieselbe Folge von Zeitschlitzen hat. Wie man in 6 sehen kann, bedient das Plattenlaufwerk 0 jeden von den Abonnenten in Reihenfolge beginnend mit dem Abonnenten, welchem bereits die logische Einheit der Bandbreite 1 zugewiesen ist. In dem Beispiel von 1 enthält die Bandbreiteneinheit die mit 1 in den Spalten 0, 1 und 2 bezeichneten Zeitschlitze. Während des Schlitzes 1 der Spalte 0 beginnt das Plattenlaufwerk 0 mit der Ausgabe eines Datenblocks für eine Audio-Sequenz an einen ersten Abonnenten, dem die Bandbreiteneinheit 1 zugewiesen ist. Eine Zeiteinheit später gibt das Plattenlaufwerk 1 den nächsten Datenblock an den ersten Abonnent während des Zeitschlitzes 1 der Spalte 1 aus. Ferner gibt bei der Zeiteinheit 2 das Plattenlaufwerk 2 den nächsten Datenblock für die Audio-Sequenz an den Abonnenten während des Zeitschlitzes 1 der Spalte 2 aus. Die vorbestimmte Folge der Speichervorrichtung in diesem Beispiel ist das Festplattenlaufwerk 0, das Festplattenlaufwerk 1 und das Festplattenlaufwerk 2, wobei die Folge von dem Festplattenlaufwerk 2 zu dem Festplattenlaufwerk 0 zurückkehrt. Wie vorstehend erwähnt, findet das Audioserversystem im Schritt 48 von 3 die nächste freie Bandbreiteneinheit, die einem Abonnenten zugewiesen werden kann, um die gewünschte Audio-Sequenz an den Abonnenten zu senden. Insbesondere findet das Audioserversystem den nächsten freien Zeitschlitz auf der Speichervorrichtung, der den abzuhörenden Anfangsblock der Audio-Sequenz enthält. Die Planung in den anderen Spalten folgt in einem verriegelten Schritt mit der Planung der Spalte für diese Speichervorrichtung.
  • 7 ist ein Flussdiagramm der von dem Audioserversystem durchgeführten Schritte, um die nächste freie Bandbreiteneinheit im Schritt 48 zu finden. Vor einer Vertiefung in die Schritte von 7 ist es hilfreich, zuerst eine Datenstruktur einzuführen, die von dem System geführt wird, um die Überwachung der Bandbreiteneinheiten zu unterstützen. Insbesondere führt die bevorzugte Ausführungsform eine Datenstruktur 68, wie z. B. ein Array, eine lineare Liste oder einen Baum (8) für jede von den logischen Band breiteneinheiten in dem System. Ein Eintrag wird in der Datenstruktur 68 für jede von den Bandbreiteneinheiten erzeugt. Die Datenstruktur kann in einem Speicher oder in irgendwelchen anderen Vorrichtungen gespeichert sein. In dem in 8 dargestellten Beispiel gibt es 16 Bandbreiteneinheiten. Jeder Eintrag enthält entweder einen Zeiger auf den Abonnenten, der momentan der Bandbreiteneinheit zugewiesen ist, oder einen Null-Zeiger, welcher anzeigt, dass die Bandbreiteneinheit noch nicht zugewiesen worden ist. Diese Struktur kann alternativ als eine Speicherung einer Zuweisung von Zeitschlitzen an Abonnenten betrachtet werden, da jede Spalte von Zeitschlitzen derselben Reihenfolge folgt.
  • Gemäß Darstellung in 7 besteht der erste Schritt des Findens einer freien Bandbreiteneinheit in dem Durchführen einer Berechnung, um die erste Bandbreiteneinheit zu bestimmen, die als nächste bei dem gegebenen aktuellen Zeitrahmen verwendet werden kann. Es liegt eine inhärente Verzögerung vor, wann eine freie Bandbreiteneinheit gefunden wird, und wann die freie logische Bandbreiteneinheit tatsächlich zum Ausgeben von Daten verwendet werden kann, welche bei der Ermittlung berücksichtigt werden muss. Im Schritt 60 von 7 berücksichtigt die vorliegende Erfindung die Taktgranularität, die Kommunikationsverzögerung zwischen den Mikroprozessoren 20A, 20B und 20C und die Verzögerung für Datenblöcke, die zum Lokalisieren der nächsten Bandbreiteneinheit, die berücksichtigt werden sollte, zu lesen sind. Wenn diese Berechnung durchgeführt ist, ermittelt das Audioserversystem die erste Bandbreiteneinheit, die dazu verwendet werden kann, die angeforderte Audio-Sequenz an den Abonnenten auszugeben (wenn die Bandbreiteneinheit noch nicht zugewiesen ist). Die gefundene Bandbreiteneinheit wird überprüft und es wird ermittelt, ob die Bandbreiteneinheit frei ist (Schritt 62). Somit wird im Schritt 62 von 7 die Datenstruktur 68 für die gefundene Bandbreiteneinheit überprüft, um zu ermitteln, ob sie einen Null-Eintrag enthält. Wenn der Eintrag für die gefundene Bandbreiteneinheit einen Null-Eintrag enthält, ist die gefundene Bandbreiteneinheit frei und wird verwendet (Schritt 66). Andererseits wird, wenn die gefundene Bandbreiteneinheit nicht frei ist (sie enthält einen Zeiger auf einen Abonnenten), der Eintrag für die nächste Bandbreiteneinheit überprüft, um zu ermitteln, ob sie frei ist (Schritt 64). Mit anderen Worten, der Eintrag für die nächste Bandbreiteneinheit der in der Datenstruktur 68 (8) gespeicherten Folge wird überprüft. Der Schritt 62 wird dann wie vorstehend beschrieben wiederholt. Dieser Prozess wird wiederholt, bis eine freie Bandbreiteneinheit gefunden ist. Durch Anwendung dieses Lö sungsweges stellt das Audioserversystem sicher, dass jeder freie Abschnitt der verfügbaren Bandbreite einem Abonnenten ohne übermäßige Verzögerung zugewiesen werden kann.
  • Sobald die freie Bandbreiteneinheit gefunden ist, wird dem Abonnenten die freie Bandbreiteneinheit zugewiesen und die Datenblöcke der Audio-Sequenz werden in der Sequenz übertragen (Schritt 50 in 3). Die Blöcke werden in eine Anzahl von Paketen unterteilt, wobei jedes Paket nicht mehr als die in dem Eintrag der Paketgröße 506 der Datenstruktur 500 spezifizierte Datenmenge enthält, und die Pakete werden durch das Audioserversystem mit der spezifizierten Datenrate 504 übertragen. Typischerweise enthält jedes Paket eine von der Paketgröße 506 spezifizierte Datenmenge, mit der Ausnahme, dass das letzte Paket der Audio-Sequenz weniger enthalten kann. Der Zyklus wird wiederholt, bis die gesamten Daten ausgegeben sind, oder bis der Benutzer ein Ende des Abhörens der Audio-Sequenz anfordert. Es dürfte sich verstehen, dass die Planung so dynamisch sein kann, dass im Zeitverlauf die Benutzer in das System eintreten und dieses verlassen können und dass die Benutzer Audio-Sequenzen starten und das Abhören beenden können. Ferner dürfte man erkennen, dass die Schritte 44, 46, 48 und 50 auf vom Abonnenten abhängig durchgeführt werden. Somit empfängt der Abonnent die gewünschten Daten.
  • Der Fachmann auf diesem Gebiet wird erkennen, dass die vorliegende Erfindung auch auf das Schreiben von Daten auf Speichervorrichtungen von Abonnenten oder anderen Datenquellen aus angewendet werden kann. Dieselben Schritte der Unterteilung der Planung in Bandbreiteneinheiten werden durchgeführt und während der zugewiesenen Zeitschlitze Daten auf die Speichervorrichtungen geschrieben, statt aus den Speichervorrichtungen ausgelesen.
  • Nachdem die vorliegende Erfindung unter Bezugnahme auf ihre bevorzugte Ausführungsform beschrieben wurde, dürfte der Fachmann auf diesem Gebiet erkennen, dass verschiedene Änderungen in Form und Detail durchgeführt werden können. Beispielsweise können andere Speichermedien und unterschiedliche Mengen von Speichermedien verwendet werden. Zusätzlich kann die Folge von Speichervorrichtungen von der dargestellten abweichen. Außerdem können Lösungswege zum Überwachen der Zuweisung von Bandbreiteneinheiten, welche sich von der vorstehend beschriebenen li nearen Liste unterscheiden, angewendet werden. Zusätzlich ist der Lösungsweg der vorliegenden Erfindung auch zum Garantieren einer Eingangsbandbreite anwendbar.

Claims (15)

  1. Verfahren in einem kontinuierlichen Medienserversystem, mit dem eine Audio-Sequenz so an einen Abonnenten gesendet wird, dass Übertragungsfehler verringert werden, wobei das kontinuierliche Medienserversystem eine Vielzahl von Speichervorrichtungen (22A22C, 24A24C) hat und das Verfahren die folgenden Schritte umfasst: Striping (42, 5558) der Audio-Sequenz als eine Gruppe von Blöcken über die Vielzahl von Speichervorrichtungen; Einrichten eines Übertragungskanals über das Übertragungsmedium, wobei der Übertragungskanal Datenübertragung mit einer vorgegebenen Datenrate unterstützt, Einrichten (53) einer angeforderten Datenrate zum Senden von Blöcken der Audio-Sequenz zu dem Abonnenten über das Übertragungsmedium; und effektives Senden (50) von Blöcken der Audio-Sequenz von den Speichervorrichtungen zu dem Abonnenten über das Übertragungsmedium mit der angeforderten Datenrate, so dass die Audio-Sequenz während einer Dauer gesendet wird, die länger ist als angesichts der von dem Übertragungskanal unterstützten Datenrate erforderlich.
  2. Verfahren nach Anspruch 1, wobei die angeforderte Datenrate von einem Administrator angefordert wird.
  3. Verfahren nach Anspruch 1, wobei die angeforderte Datenrate von dem Abonnenten angefordert wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die angeforderte Datenrate ein Zeitmaß darstellt, das der Abonnent benötigt, um die Audio-Sequenz abzuspielen.
  5. Verfahren nach einem der Ansprüche 1 bis 4, das des Weiteren den Schritt des Kodierens (54) der Audio-Sequenz in einem fehlertoleranten Format vor dem Striping (42, 5558) der Audio-Sequenz einschließt.
  6. Verfahren nach einem der Ansprüche 1 bis 5, das des Weiteren die folgenden Schritte einschließt: Striping einer zweiten Audiosequenz über die Vielzahl von Speichervorrichtung; Feststellen, dass die zweite Audiosequenz über das Übertragungsmedium mit einer zweiten Datenrate zu dem Abonnenten zu senden ist, wobei sich die zweite Datenrate von der Datenrate unterscheidet; und Senden der zweiten Audio-Sequenz von den Speichervorrichtungen zu dem Abonnenten über das Übertragungsmedium mit der angeforderten Datenrate.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei das kontinuierliche Medienserversystem mit dem Abonnenten (14) über ein Internet (12) verbunden ist und wobei der Schritt des Sendens (50) der Audio-Sequenz das Senden der Audio-Sequenz zu dem Abonnenten über das Internet einschließt.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei das kontinuierliche Medienserversystem ein Standbild hat und wobei der Schritt des Sendens (50) der Audio-Sequenz das Senden des Standbildes zu dem Abonnenten (14) einschließt.
  9. Computerlesbares Medium, dessen Inhalt ein kontinuierliches Medienserversystem, das eine Vielzahl von Speichervorrichtungen (22A, 22C, 24A, 24C) aufweist, veranlasst, eine erste Audio-Sequenz zu einem ersten Abonnenten (14) und eine zweite Audio-Sequenz zu einem zweiten Abonnenten zu senden, indem die folgenden Schritte durchgeführt werden: Striping (42, 5558) der ersten Audio-Sequenz über die Vielzahl von Speichervorrichtungen; Striping (42, 55–-58) der zweiten Audio-Sequenz über die Vielzahl von Speichervorrichtungen; Bereitstellen eines Übertragungskanals über ein Übertragungsmedium, wobei der Übertragungskanal Datenübertragung mit einer vorgegebenen Rate unterstützt; Empfangen einer ersten Anforderung von dem ersten Abonnenten für die erste Audio-Sequenz; Bestimmen (48) einer ersten Datenrate, mit der die erste Audio-Sequenz zu senden ist, wobei die erste Datenrate niedriger ist als die vorgegebene Rate des Übertragungskanals; Senden (50) der ersten Audio-Sequenz von den Speichervorrichtungen zu dem ersten Abonnenten mit der ersten Datenrate über den Übertragungskanal; Empfangen einer zweiten Anforderung von dem zweiten Abonnenten für die zweite Audio-Sequenz; Bestimmen (48) einer zweiten Datenrate, mit der die zweite Audio-Sequenz zu senden ist, wobei sich die zweite Datenrate von der ersten Datenrate unterscheidet und niedriger ist als die vorgegebene Rate des Übertragungskanals; und Senden (50) der zweiten Audio-Sequenz von der Speichervorrichtung zu dem zweiten Abonnenten mit der zweiten Datenrate.
  10. Kontinuierliches Medienserversystem, das umfasst: eine Vielzahl von Speichervorrichtungen (22A22C, 24A24C) zum Speichern einer Audio-Sequenz; und einen Server (10), der mit einem paketvermittelten Netzwerk (12) verbunden ist, das zum Senden der Audio-Sequenz zu einem Abonnenten (14) als eine Vielzahl von Paketen einzusetzen ist, wobei der Server die Fähigkeit besitzt, Audio-Sequenzen mit variablen Datenraten über das paketvermittelte Netzwerk zu senden, und das Serversystem des Weiteren umfasst: eine erste Komponente, die Striping der Audio-Sequenz über die Speichervorrichtungen durchführt; eine zweite Komponente, die eine angeforderte Datenrate einrichtet, die eine Rate angibt, mit der die Striping unterzogene Audio-Sequenz zu dem Abonnenten zu senden ist und die niedriger ist als eine vorgegebene Datenrate, die von dem paketvermittelten Netzwerk unterstützt wird, und die eine Paketgröße empfängt, die eine maximale Menge an Daten in jedem Paket angibt, und die eine Anforderung von dem Abonnenten für die Audio-Sequenz empfängt; und eine dritte Komponente, die die Striping unterzogene Audio-Sequenz so in die Pakete unterteilt, dass jedes Paket eine Menge an Daten enthält, die äquivalent zu der Paketgröße oder geringer ist als diese, und die die Pakete mit der angeforderten Datenrate über das paketvermittelte Netzwerk zu dem Abonnenten sendet, so dass die Audio-Sequenz während einer Zeitdauer gesendet wird, die länger ist als angesichts der von dem paketvermittelten Netzwerk unterstützten Datenrate erforderlich.
  11. Kontinuierlicher Medienserver nach Anspruch 10, wobei die Paketgröße von einem Abonnenten empfangen wird.
  12. Kontinuierlicher Medienserver nach Anspruch 10, wobei die Datenrate von dem Abonnenten angefordert wird.
  13. Kontinuierliches Medienserversystem nach Anspruch 10, wobei ein Standbild gespeichert ist und mit der Striping unterzogenen Audio-Sequenz gesendet wird.
  14. Kontinuierliches Medienserversystem nach Anspruch 10, wobei das paketvermittelte Netzwerk ein Internet (12) ist.
  15. Kontinuierliches Medienserversystem nach Anspruch 10, wobei die erste Komponente die Audio-Sequenz unter Verwendung eines Paritäts-Kodierverfahrens kodiert, bevor sie die Audio-Sequenz Striping unterzieht.
DE69733199T 1996-06-19 1997-06-19 Verfahren und audio-server-system für ein unzuverlässiges netzwerk Expired - Lifetime DE69733199T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US667095 1996-06-19
US08/667,095 US6118790A (en) 1996-06-19 1996-06-19 Audio server system for an unreliable network
PCT/US1997/010759 WO1997049224A1 (en) 1996-06-19 1997-06-19 Audio server system for an unreliable network

Publications (2)

Publication Number Publication Date
DE69733199D1 DE69733199D1 (de) 2005-06-09
DE69733199T2 true DE69733199T2 (de) 2005-11-10

Family

ID=24676763

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69733199T Expired - Lifetime DE69733199T2 (de) 1996-06-19 1997-06-19 Verfahren und audio-server-system für ein unzuverlässiges netzwerk

Country Status (5)

Country Link
US (1) US6118790A (de)
EP (1) EP0906687B1 (de)
JP (1) JP3910644B2 (de)
DE (1) DE69733199T2 (de)
WO (1) WO1997049224A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199076B1 (en) * 1996-10-02 2001-03-06 James Logan Audio program player including a dynamic program selection controller
US6445717B1 (en) * 1998-05-01 2002-09-03 Niwot Networks, Inc. System for recovering lost information in a data stream
ES2342357T3 (es) * 2000-12-15 2010-07-06 British Telecommunications Public Limited Company Transmision y recepcion de material de audio y/o video.
AU2002220927B2 (en) * 2000-12-15 2006-03-16 British Telecommunications Public Limited Company Transmission and reception of audio and/or video material
EP1215663A1 (de) * 2000-12-15 2002-06-19 BRITISH TELECOMMUNICATIONS public limited company Kodierung von Audiosignalen
GB0030706D0 (en) * 2000-12-15 2001-01-31 British Telecomm Delivery of audio and or video material
US7161939B2 (en) * 2001-06-29 2007-01-09 Ip Unity Method and system for switching among independent packetized audio streams
US7016348B2 (en) * 2001-08-28 2006-03-21 Ip Unity Method and system for direct access to web content via a telephone
US20040177167A1 (en) * 2003-03-04 2004-09-09 Ryuichi Iwamura Network audio systems
JP4506185B2 (ja) * 2004-02-06 2010-07-21 ソニー株式会社 受信装置および方法、並びにプログラム
US8863277B2 (en) 2004-04-07 2014-10-14 Fortinet, Inc. Systems and methods for passing network traffic content
US7380157B2 (en) * 2004-10-27 2008-05-27 Pillar Data Systems, Inc. Staggered writing for data storage systems
US7199706B2 (en) * 2005-02-22 2007-04-03 Sony Corporation PLC intercom/monitor
US11991088B2 (en) * 2020-11-04 2024-05-21 Rajeshwar PATIL System and method for congestion management in computer networks
US20220321737A1 (en) * 2022-06-13 2022-10-06 Romany Fouad Mansour System for data seclusion in image and audio files

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0647066A3 (de) * 1993-09-30 1996-08-14 Toshiba Kk Gerät und System zur Konvertierung von Paketen.
US5610841A (en) * 1993-09-30 1997-03-11 Matsushita Electric Industrial Co., Ltd. Video server
US5473362A (en) * 1993-11-30 1995-12-05 Microsoft Corporation Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling
DE69525556T2 (de) * 1994-03-21 2002-09-12 Avid Technology Inc Gerät und Verfahren ausgeführt auf einem Rechner für Echtzeit Multimedia Datenübertragung in einer verteilten Rechneranordnung
JPH07336375A (ja) * 1994-06-14 1995-12-22 Hitachi Ltd データ転送システム
US5754773A (en) * 1994-06-16 1998-05-19 Lucent Technologies, Inc. Multimedia on-demand server having different transfer rates
US5553063A (en) * 1994-09-12 1996-09-03 Dickson; William D. Voice over data communication system
WO1996017306A2 (en) * 1994-11-21 1996-06-06 Oracle Corporation Media server
US5793980A (en) * 1994-11-30 1998-08-11 Realnetworks, Inc. Audio-on-demand communication system
CA2139081C (en) * 1994-12-23 1999-02-02 Alastair Gordon Unified messaging system and method
KR19990072122A (ko) * 1995-12-12 1999-09-27 바자니 크레이그 에스 실시간 영상 전송 방법 및 장치

Also Published As

Publication number Publication date
EP0906687A1 (de) 1999-04-07
JP2001526007A (ja) 2001-12-11
DE69733199D1 (de) 2005-06-09
EP0906687B1 (de) 2005-05-04
WO1997049224A1 (en) 1997-12-24
JP3910644B2 (ja) 2007-04-25
US6118790A (en) 2000-09-12

Similar Documents

Publication Publication Date Title
DE69733199T2 (de) Verfahren und audio-server-system für ein unzuverlässiges netzwerk
DE69930127T2 (de) Kostengünstiger, skalierbarer medienserver mit offener architektur
DE69738061T2 (de) MPEG Paketenkopfkomprimierung für Fernsehmodems
DE69832247T2 (de) Auf einem verteilten Internet- Protokollen basierte Echtzeit- Multimedia- Datenströmungs- Architektur
DE60216918T2 (de) Verfahren und computersystem zur auswahl eines randservercomputers
DE602004010571T2 (de) Vorrichtung und Verfahren zur Lastverteilung in einem Blade-Server unter Verwendung von freier Bandbreite auf der Verbindung
DE60222846T2 (de) Verfahren, Vorrichtung und Datenstruktur, die die mehrfache Kanaldatenstromübertragung ermöglicht
DE69834080T2 (de) Verfahren zur verteilten Bearbeitung von Video-Clips über ein Telekommunikationsnetz
DE69823168T2 (de) Verfahren und gerät zur kodierung und formatierung von daten eines videoprogramms zur erzeugung sich mehrfach überlappender darstellungen des videoprogramms
DE69821050T2 (de) Datenstromdifferenzierungssystem für Endgerätemulator
DE69630428T2 (de) Steuerung von Multicastdatensendungen
DE60111039T2 (de) Speichersystem das aus mehreren speichergeräten besteht, mit verschiedenen fehlertoleranten verfahren
DE602004006042T2 (de) Skalierbares und fehlerfestes Verwalten von digitalen Rechten für skalierbares Medium
DE60123396T2 (de) Diskzuordnungssystem mit umordnung einer begrenzten anzahl von anforderungen
DE19635116C2 (de) Verfahren zur Videokommunikation
DE69732281T2 (de) Puffergrösse minimierendes Verfahren zur Übertragung komprimierter Bilddaten
DE602004004436T2 (de) Vorrichtung, Verfahren und Verarbeitungsprogramm zum Empfangen und Wiedergeben von Daten
DE19807076A1 (de) Datenbereitstellungsystem
DE60125061T2 (de) Kodierung von audiosignalen
DE69731995T2 (de) Informationsübertragungsverfahren und -vorrichtung
EP0946056A1 (de) Verfahren zum Erhöhen der Speicherkapazität für Serviceinformation in einem Empfäger für digitale TV-Sendungen
WO2006010689A1 (de) Codier- und decodierverfahren, sowie codier- und decodiervorrichtungen mit einem zweistufigen fehlerschutzverfahren
DE69633808T2 (de) Interaktives Video-auf-Abrufsystem mit Paketübertragung über eine ATM-Fernmeldeleitung
EP1122954B1 (de) Verfahren und Vorrichtung zum Übertragen von Dateneinheiten eines Datenstroms
DE69737962T2 (de) Netzwerkvideoserver

Legal Events

Date Code Title Description
8364 No opposition during term of opposition