DE602004012370T2 - Verfahren für das nahtlose Aufteilen und Verketten eines Datenstromes in Echtzeit - Google Patents

Verfahren für das nahtlose Aufteilen und Verketten eines Datenstromes in Echtzeit Download PDF

Info

Publication number
DE602004012370T2
DE602004012370T2 DE602004012370T DE602004012370T DE602004012370T2 DE 602004012370 T2 DE602004012370 T2 DE 602004012370T2 DE 602004012370 T DE602004012370 T DE 602004012370T DE 602004012370 T DE602004012370 T DE 602004012370T DE 602004012370 T2 DE602004012370 T2 DE 602004012370T2
Authority
DE
Germany
Prior art keywords
data
data stream
storage
storage medium
identifier
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
DE602004012370T
Other languages
English (en)
Other versions
DE602004012370D1 (de
Inventor
Wolfgang Klausberger
Meinolf Blawat
Stefan Kubsch
Hui Dr. Li
Dietmar Hepper
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of DE602004012370D1 publication Critical patent/DE602004012370D1/de
Application granted granted Critical
Publication of DE602004012370T2 publication Critical patent/DE602004012370T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • 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/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10666Ring buffers, e.g. buffers wherein an iteratively progressing read or write pointer moves back to the beginning of the buffer when reaching the last storage cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10944Real-time recording or reproducing, e.g. for ensuring seamless playback of AV data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • G11B2220/412Distributed storage methods, i.e. the system may autonomously determine for a storage device that provides enough storage capacity for recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Sachgebiet der Erfindung
  • Die Erfindung bezieht sich auf ein Verfahren zur Verteilten Speicherung und Wiedergewinnung von Datenströmen. Insbesondere bezieht sie sich auf nahtlose Echtzeit-Aufspaltung und Verkettung von Datenströmen, z. B. Multimedia-Datenströmen.
  • Hintergrund
  • Multimedia-Heim-Netzwerke werden oft dazu verwendet, Datenströme zu verarbeiten, die Audio-, Video- und andere Daten enthalten. Dies schließt die Aufzeichnung und Wiedergabe großer Datenmengen ein. Üblicherweise wird ein Datenstrom, der eine Einheit wie einen Videofilm oder eine Audiospur enthält, als einzelne Datei gehandhabt und als solche gespeichert. Intern werden diese Ströme oft in Pakete strukturiert, wie zum Beispiel für digitales Video (DV), oder in der MPEG-2-Norm. Je nach der Norm können diese Pakete eine unterschiedliche Länge haben, z. B. 188 Bytes für MPEG-2.
  • Während die Datenmengen ebenso wie die verfügbare Speicherkapazität drastisch zunehmen, ist das Organisieren des Speicherbereichs für den Benutzer eine lästige Aufgabe. Es gibt verschiedene automatische Lösungen, wie z. B. Speicherbereichs-Netzwerke, die dazu dienen, Speichervorrichtungen von anderen Vorrichtungen zu trennen und damit allen angeschlossenen Daten erzeugenden oder Daten verbrauchenden Geräten Speicherkapazität anbieten. Solche Verfahren werden als verteilte Speicherung bezeichnet, da sie automatisch eine Datei, die auf irgendeiner der angeschlossenen Speichervorrichtungen gespeichert werden soll, verteilen und später finden und wiedergewinnen können. In solchen Syste men braucht der Benutzer üblicherweise nicht in Einzelheiten zu wissen, wo ein bestimmter Inhalt gespeichert wird. Um verschiedene Typen von Anwendungspaketen handhaben zu können, legen verteilte Speichersysteme für Multimedia-Netzwerke oft die Anwendungspakete in Paketbehälter zur Speicherung ab, wie es z. B. für die DVD-Strom-Aufzeichnungsnorm „DVD Specification for Rewritable/Rerecordable Discs, Teil 5, Strom-Aufzeichnung, Mai 2000" definiert ist. Um eine richtige Echtzeit-Wiedergabe zu ermöglichen, werden den Anwendungspaketen Zeitstempel (ATS) zugeordnet.
  • Verteilte Speicherverfahren können auch bei Heim-Netzwerken angewendet werden, die dazu neigen, bequeme automatische Lager für verschiedene Arten von Daten zu werden. Das System kann ohne jeglichen Benutzereingriff autonom nach einer Speichervorrichtung Ausschau halten, die genug Speicherkapazität für eine Aufzeichnung zur Verfügung stellen kann. Für die Anwendung, z. B. Video-Aufzeichnung, ist dieses Verhalten des Speichersystems üblicherweise transparent.
  • Wenn jedoch Echtzeit-Stromdaten aufgezeichnet werden sollen, ist es im allgemeinen nicht möglich, im voraus die Größe des Datenstroms und damit den benötigten Speicherbereich zu kennen. Daher ist eine Speicherbereichs-Verwaltung schwierig, so dass eine Aufzeichnung von Echtzeit-Daten üblicherweise beendet wird, wenn die ausgewählte Speichervorrichtung voll ist.
  • Die Architektur von verteilten Speichersystemen wie Netzwerken im Allgemeinen kann entweder auf Client-Server- oder Peer-zu-Peer-(P2P)-Prinzipien beruhen. P2P-Netzwerke benötigen keine zentrale Netzwerksorganisation, da die Knoten oder Peers üblicherweise unmittelbar miteinander kommunizieren. Dienste und Betriebsmittel, wie z. B. der Speicherbereich, können gemeinsam genutzt werden, so dass dem Benutzer zahlreiche verbesserte Funktionen angeboten werden.
  • EP 1 211 688 offenbart ein Informations-Aufzeichnungsgerät, das eine Mehrzahl von Aufzeichnungsflächen handhabt. Wenn die verbleibende Kapazität einer ersten Aufzeichnungsfläche unterhalb eines Schwellwertes liegt, wird eine parallele Aufzeichnung eines Datenteils auf einer Festplatte ausgeführt, bis eine neue Aufzeichnungsfläche vorgesehen wird. Wenn die aktuelle Aufzeichnung beendet ist, wird der Datenteil in einem Nachverarbeitungsschritt auf die neue Aufzeichnungsfläche aufgezeichnet.
  • EP 0 942 416 zeigt die Aufzeichnung von Daten in der restlichen Aufzeichnungskapazität von Aufzeichnungsträgern, wobei eine von mehreren Discs für die Aufzeichnung auf der Basis ihrer Restkapazität und einer Berechnung des benötigten Disc-Raumes entsprechend einer bekannten Aufzeichnungszeit ausgewählt wird.
  • US 6,134,596 A offenbart zeitliches Einplanen von Netzwerk-Betriebsmitteln zum Abspielen von mehreren Dateien, um so eine nahtlose Wiedergabe von Daten aus einer Mehrzahl von aufgezeichneten Medien zwecks Entwirrung (declustering) zu ermöglichen. Ein Zeitplaner unterhält einen Netzwerks-Zeitplan, der eine relative Ordnung von Übertragungszeiten durch Instruieren der geeigneten Daten-Server vorsieht, um Daten zu lesen und zu liefern, wenn sich die geplante Zeit nähert.
  • Zusammenfassung der Erfindung
  • Ein verteiltes Speichersystem für Multimedia-Heim-Netzwerke sollte in der Lage sein, Echtzeit-Aufzeichnung von Datenströmen zu unterstützen. Da wegen der Natur von Echtzeit-Aufzeichnung die Länge einer aufgezeichneten Datei oder eines Datenstroms zur Aufzeichnungszeit nicht bekannt ist, besteht die Gefahr, dass die ausgewählte Speichervorrichtung voll ist, bevor der Datenstrom vollständig gespeichert ist. In diesem Fall kann der restliche Teil des Datenstroms auf einer anderen Speichervorrichtung gespeichert werden. Jedenfalls benötigt die Auswahl und Aktivierung der anderen Speichervorrichtung Zeit, die ein Echtzeitverhalten behindert.
  • Der Erfindung liegt die Aufgabe zugrunde, einen Datenstrom nahtlos bei der Aufzeichnung in Portionen (chunks) aufzuspalten und die Portionen in Echtzeit auf verschiedene angeschlossene Speichervorrichtungen zu verteilen, so dass die Portionen nahtlos wieder in Echtzeit für die Wiedergabe des Stroms verkettet werden können.
  • Ein Verfahren zur Lösung dieser Aufgabe ist im Anspruch 1 offenbart. Eine Vorrichtung, die dieses Verfahren zur Speicherung verwendet, ist im Anspruch 9 offenbart. Ein Verfahren zur Wiedergewinnung der Teile eines Datenstroms aus verschiedenen Speichermedien ist im Anspruch 3 offenbart. Eine Vorrichtung, die das Verfahren zur Wiedergewinnung verwendet, ist im Anspruch 10 offenbart.
  • Gemäß der Erfindung werden Metadata-Etiketten und Zwischenspeicher verwendet, um eine nahtlose Echtzeit-Aufzeichnung und Verkettung von Daten in einem verteilten Speicherumfeld zu ermöglichen. Wenn die maximale Kapazität einer Speicher vorrichtung erreicht wird, während auf sie ein Datenstrom aufgezeichnet wird, ermöglicht es das erfindungsgemäße Verfahren, den Strom aufzuspalten und den Rest auf einer anderen Speichervorrichtung zu speichern. Zu diesem zweck kann die auf dem Aufzeichnungs-Speicherknoten und auf den anderen Speicherknoten eines Netzwerks verfügbare Speicherkapazität überwacht werden.
  • Während ein Datenstrom auf einer ersten Speichervorrichtung aufgezeichnet wird und die verfügbare Speicherkapazität dieser Vorrichtung an eine Grenze kommt, sendet sie eine Anforderung nach mehr Speicherraum an eine oder mehrere andere Speichervorrichtungen in dem Netzwerk, empfängt sie eine oder mehr Antworten von den anderen Speichervorrichtungen und wählt auf der Basis dieser Antworten eine andere Speichervorrichtung aus, die geeignet ist, die Aufzeichnung später fortzusetzen, nachdem die gegenwärtig aktive Speichervorrichtung voll ist. Wenn der verbleibende freie Speicherbereich der ersten Vorrichtung unter einem Schwellwert ist, erhält die andere Speichervorrichtung eine Benachrichtigung und startet die Zwischenspeicherung der strömenden Daten in einem Zwischenspeicher parallel zu der ersten Speichervorrichtung. Wenn die erste Speichervorrichtung voll ist, das heißt, dass sie keine weiteren Pakete speichern kann, sendet sie der zweiten Vorrichtung eine Benachrichtigung, die einen Identifizierer enthält, der das letzte, von der ersten Vorrichtung gespeicherte Paket definiert. Bei Empfang dieser Benachrichtigung identifiziert die zweite Vorrichtung das erste Paket, das sie zu speichern hat und überträgt dieses Startpaket und die nachfolgenden Datenpakete aus ihrem Zwischenspeicher zu ihrem Speicherbereich. Somit kann sie die Aufzeichnung des Datenstroms fortsetzen.
  • Vorteilhafterweise verhindert das Verfahren einen Datenverlust und damit eine wahrnehmbare Unterbrechung bei der Wiedergabe des Stroms.
  • Der Prozess der Auswahl einer anderen Speichervorrichtung zur Fortsetzung der Aufzeichnung kann auf irgendwelchen Parametern beruhen, wie z. B. freier Speicherkapazität, möglicher Aufzeichnungsgeschwindigkeit oder Art des Inhalts.
  • In gleicher Weise werden für die Wiedergabe des vollständigen Datenstroms die verschiedenen Portionen verkettet. Die erste Portion, die den Beginn des Stroms enthält, wird als solche durch ein Metadata-Etikett markiert. Diese Markierung kann explizit oder implizit durch Spezifizieren keines Vorgängers sein. Das Metadata-Etikett enthält auch einen Identifizierer, z. B. einen Zeitstempelwert oder UUID des letzten Anwendungspakets, das in der zugehörigen Datenportion enthalten ist. Es kann auch einen Identifizierer der Speichervorrichtung enthalten, die die nächste Portion hält, und einen Identifizierer der nächsten oder vorherigen Portion oder beide, z. B. PlaycellUUID. Während die erste Portion von der Speichervorrichtung gelesen und für die Wiedergabe zwischengespeichert wird, wird ihr Metadata-Etikett ausgewertet, und es wird eine Nachricht wenigstens zur nächsten Speichervorrichtung gesendet, die das letzte Paket der ersten Portion und die nächste Portion identifiziert. Nach Feststellung der zweiten Speichervorrichtung, dass sie die angeforderte Portion hat, z. B. mit dem PlaycellUUID, überwacht sie die von der ersten Vorrichtung auf der gemeinsamen Datenverbindung wiedergegebenen Datenpakete, und wenn sie das letzte Paket feststellt, beginnt sie die Wiedergabe der Pakete der zweiten Portion. Je nach Län ge der einzelnen Datenportionen kann die zweite Vorrichtung die Nachricht früh genug empfangen, um die ersten Pakete ihrer Datenportion im voraus zu lesen und sie in einem Zwischenspeicher zwischenzuspeichern, so dass die Wiedergabe ohne Verzögerung durch die Daten-Wiedergewinnung aus dem zweiten Speichermedium beginnen kann. Alternativ kann die zu der zweiten Vorrichtung gesendete Nachricht den Identifizierer der gegenwärtig wiedergegebenen Portion, z. B. seinen PlaycellUUID, enthalten, und das Metadata-Etikett der zweiten, auf der zweiten Vorrichtung gespeicherten Portion enthält den identifizierer der vorhergehenden Portion. Wenn die Identifizierer gleich sind, ist die zweite Portion die nächste wiederzugebende Portion nach dem letzten Paket der ersten Portion, das von seinem ATS festgestellt wurde.
  • Somit kann ein Echtzeit-Datenstrom in Datenportionen aufgespalten werden, die in verschiedenen Vorrichtungen gespeichert werden können, und die für die Wiedergabe nahtlos verkettet werden können. Um solche verketteten Ströme in einem verteilten Speichersystem zu handhaben, umfasst das erfindungsgemäße Verfahren die Beschreibung der gesamten Folge von Datenportionen durch Metadata-Descriptoren, die automatisch durch das zentralisierte verteilte System erzeugt und dann den Datenportionen als Navigationsdaten zugeordnet werden, so dass eine verknüpfte Liste von Datenportionen erzeugt wird. Gemäß der Erfindung enthalten die Metadata-Descriptoren für jede Portion mindestens alle Informationen, die für die Rekonstruktion des ursprünglichen Stroms erforderlich sind, z. B. für die Wiedergabe der Daten. Die Metadata-Descriptoren enthalten wenigstens die folgenden Informationen: einen Identifizierer für den Datenstrom, zu dem die Datenportionen gehören, einen Identifizierer für die vorangehende Datenportion, falls eine vor handen ist, einen Identifizierer für die nachfolgende Datenportion, falls eine vorhanden ist, und einen Identifizierer für das letzte Paket. Ferner kann es nützlich sein, die folgenden Informationen in den Metadata-Descriptoren zu speichern: Identifizierer für die Speichervorrichtung, von der erwartet wird, dass sie die vorangehende/nachfolgende Portion, Datum und Zeit der Aufzeichnung, Titel des Datenstroms, und Zeitstempel des ersten und/oder des letzten Pakets, z. B. ATS hält. Diese Metadata-Descriptoren können hierarchisch sein, z. B. wenn die portionsbezogenen Metadata-Descriptoren sich auf einen anderen, strombezogenen Metadata-Descriptor beziehen.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Unteransprüchen, der folgenden Beschreibung und den Zeichnungen offenbart.
  • Kurze Beschreibung der Zeichnungen
  • Ausführungsbeispiele der Erfindung werden nachfolgend anhand der beigefügten Zeichnungen beschrieben. In den Zeichnungen stellen dar:
  • 1 verteilte Stromobjekte, die durch Metadata-Descriptoren verknüpft sind;
  • 2 das Modell eines verteilten Speichersystems im Aufzeichnungsfall;
  • 3 ein Messaging- und Zwischenspeicher-Szenarium bei nahtlosem Umschalten von einer Speichervorrichtung auf eine andere bei der Aufzeichnung;
  • 4 das Modell eines verteilten Speichersystems im Wiedergabefall;
  • 5 ein Messaging- und Zwischenspeicher-Szenarium bei nahtlosem Umschalten von einer Speichervorrichtung zu einer anderen bei der Wiedergabe;
  • 6 das Modell eines verteilten Speichersystems im Wiedergabefall, bei dem alle Portionen über einen Knoten geleitet werden; und
  • 7 das Modell eines verteilten Speichersystems im Wiedergabefall mit einem Eingangs-Zwischenspeicher an einem Knoten ohne Speicherung.
  • Ausführliche Beschreibung der Erfindung
  • Die folgende Beschreibung von Ausführungsbeispielen des erfindungsgemäßen Verfahrens beruht auf der DVD-Stromaufzeichnungs-Norm, aber das Verfahren kann ebenso für Daten gemäß jeder anderen Norm für Stromaufzeichnung verwendet werden. 1 zeigt ein Ausführungsbeispiel der Erfindung, das ein verteiltes Speichersystem ist, das verteilte Stromobjekte speichert, die durch Metadata-Descriptoren verknüpft sind. In diesem Fall sind zwei Knoten N1, N2 in die Speicherung eines Datenstroms einbezogen, der aus mehreren Einheiten SOBU#1, ... SOBU#j besteht, und der in zwei Datenportionen 18, 19 aufgespalten ist. Die DVD-Stromaufzeichnungs-Norm definiert Stromobjekte (SOB), die aus Stromobjekt-Einheiten (SOBU) mit einer Länge von 64 kB bestehen, jede als Behälter für Anwendungspakete mit variabler Länge. In 1 zeichnet eine erste Speichervorrichtung N1 einen Strom 18 auf, der SOBUs SOBU#1, ... SOBU#i- 1 enthält, solange sie einen Speicherbereich verfügbar hat. Während der Aufzeichnung erzeugt sie auch und speichert eine Informationsdatei 12, die sich auf das Stromobjekt 18 bezieht und die Playlists und Playcells, die mit den eindeutigen Labels PlaycellUUID1, PlaycellUUID2 bezeichnet sind, und andere Navigations-Informationen 14, z. B. für das Programm, enthält. Die Informationsdatei 12 enthält auch eine Zuordnungsliste (MAPL) 16 für Navigationszwecke. In der MAPL werden die Ankunftszeit-Intervalle für jede SOBU festgehalten. Sie dient zur Umwandlung dieser Zeiten in die Adressen der entsprechenden SOBU, die das Anwendungspaket mit der vorgeschriebenen Paket-Ankunftszeit enthält. Playlists enthalten Start- und Endzeit von einer oder mehreren Playcells. Ferner wird ein Metadata-Descriptor 10 erzeugt und der Informationsdatei 12 bzw. dem Stromobjekt 18 hinzugefügt. Zunächst enthält der Metadata-Descriptor 10 das Playcell-Label PlaycellUUID1.
  • Während die erste Speichervorrichtung N1 aufzeichnet, können andere angeschlossene Speichervorrichtungen auf verfügbare Speicherkapazität überwacht werden. Alternativ kann zum Beispiel ein Broadcast-Nachricht an alle angeschlossenen Speichervorrichtungen gesendet werden, die einen Speicherbereich anfordern. Eine dieser Speichervorrichtungen N2 wird als potentieller Nachfolger der gegenwärtig aktiven Vorrichtung N1 ausgewählt. Wenn dann die Speicherkapazitätsgrenze der ersten Speichervorrichtung N1 erreicht wird, während der Strom weiterläuft, wird die andere Speichervorrichtung N2 aktiviert, um die Aufzeichnung des Stroms fortzusetzen. Diese Vorrichtung N2 erhält eine Benachrichtigung über die ATS des letzten Anwendungspakets, das in der ersten Speichervorrichtung N1 gespeichert war, das in der letzten gespeicherten Einheit SOBU#i-1 enthalten ist. Die zweite Speichervorrichtung N2 setzt die Speicherung des Stroms in einem anderen Stromobjekt 19 fort, das aus den Einheiten SOBU#i, ..., SOBU#j besteht, die auf die von der ersten Vorrichtung N1 gespeicherte letzte Einheit SOBU#i-1 folgen, wobei dieses Stromobjekt 19 die anschließenden Anwendungspakete enthält. Die zweite Speichervorrichtung erzeugt für dieses Stromobjekt 19 eine Informationsdatei 13, die eine MAPL 17 und Identifizierer 15 und einen Metadata-Descriptor 11 enthält. Der Metadata-Descriptor 11 enthält nicht nur die Playcell-Labels PlaycellUUID1, PlaycellUUID2, sondern auch einen Zeiger zu dem Metadata-Descriptor 10 der anderen Speichervorrichtung N1, die die vorhergehende Datenportion speichert, d. h. das Stromobjekt 18. In gleicher Weise wird der Metadata-Descriptor 10 in der ersten Speichervorrichtung N1 aktualisiert, so dass er einen Zeiger zu der zweiten Speichervorrichtung N2 enthält.
  • Bei einer Ausführungsform der Erfindung können die Metadata-Descriptoren 10, 11 auch detaillierte Informationen darüber enthalten, wo das vorangehende und/oder nachfolgende SOB gespeichert ist, d. h. Adresse, Dateiname oder Pfadname.
  • Ein Erfordernis für das verteilte Speichersystem ist die automatische Selbstorganisation der Dateiaufspaltung, wenn die Speicherkapazitätsgrenze eines Knotens erreicht wird. In P2P-Netzwerken wird für diese Aufgabe ein selbstgesteuerter Austausch von Nachrichten zwischen den Knoten verwendet. 2 zeigt ein vereinfachtes Modell eines verteilten Speichersystems mit zwei Speicherknoten N1, N2 und einem getrennten Knoten N3 für den Eingangs-Dienst IS für den Fall der Aufzeichnung. Beispielsweise wird angenommen, dass die Knoten Peers in einem P2P-Netzwerk sind, so dass die Bus-Verbindungen zwischen den nachfolgend erwähnten Knoten virtuelle Verbindungen sind, die dieselbe physikalische Verbindung verwenden. Daten werden z. B. über einen Hochfrequenz-Empfänger RFR empfangen. Ein Eingangs-Dienst IS, z. B. ein Dekodierer, zieht in dem Empfängerknoten N3 die Anwendungspakete heraus, erfasst Zeitstempel und verteilt die Pakete auf einem Anwendungspaket-Bus APB auf die Speicherknoten N1, N2. Die Speicherknoten N1, N2 sind mit Schnittstellen zu dem Anwendungspaket-Bus APB, Eingangs-Zwischenspeichern IB1, IB2 und Stromaufzeichnungs-Einheiten SRU1, SRU2 ausgestattet, die Navigations-Informationen der strömenden Daten erzeugen und die Anwendungspakete in strömende Pakete gemäß der verwendeten Stromaufzeichnungs-Norm packen, z. B. SOBUs für die DVD-Stromaufzeichnungs-Norm. Die Stromaufzeichnungs-Einheiten SRU1, SRU2 in jedem Speicherknoten können auf Speichermedien D1, D2 zugreifen, z. B. optische Discs oder Festplatten, wo sie die strömenden Pakete speichern können. Die Knoten N1 ... N3 haben Nachrichten-Steuereinheiten MC1 ... MC3, die mit einem gemeinsamen Steuernachrichten-Bus CMB verbunden sind, so dass die Knoten Steuernachrichten austauschen, und somit gegebenenfalls eine Aufzeichnung und Dateiaufspaltung organisieren können.
  • Gemäß der DVD-Stromaufzeichnungs-Norm müssen jedem Anwendungspaket Zeitinformationen hinzugefügt werden, um die richtige Echtzeit-Wiedergabe von gespeicherten Transportpaketen zu ermöglichen. Diese Erfassung der Anwendungs-Zeitstempel (ATS) kann z. B. durch den Eingangs-Dienst IS ausgeführt werden, der einen Transportstrom von dem Empfänger RFR empfängt und dekodiert. Die Eingangspuffer IB1, IB2 der Speicherknoten N1, N2 dienen zur Überbrückung des Zeitrahmens zur Umschaltung von einem Knoten zu einem anderen, wenn eine Dateiaufspaltung notwendig wird. Obwohl in
  • 2 nicht dargestellt, kann es auch von Vorteil sein, jedes transparente Netzwerkprotokoll für den Anwendungspaket-Bus APB zu verwenden, indem Fehlerkorrektur-Daten oder dergleichen hinzugefügt werden.
  • Ferner werden Steuernachrichten zwischen den beiden Speicherknoten N1, N2 ausgetauscht, die Identifizierer oder UUIDs der erzeugten Playcells enthalten. Diese UUIDs dienen zur Beschreibung der Aufspaltung des Stroms und werden in den Metadata-Descriptor des Stromobjekts bei dem betroffenen Knoten geschrieben. Der Metadata-Descriptor wird bei diesem Beispiel auf demselben Medium gespeichert wie das Stromobjekt. Wenn die oben erwähnte DVD-Stromaufzeichnungs-Norm verwendet wird, kann das private Anwendungs-Datenfeld als Behälter für die Metadata-Descriptoren verwendet werden.
  • Ein in 3 gezeigtes Zwischenspeicher-Szenario erläutert das Umschalten von einem Knoten zu einem anderen im Fall der Aufzeichnung eines Stroms. Bei diesem beispielsweisen Szenario ist die Zwischenspeicherung eines Datenstroms in einem Eingangs-Zwischenspeicher zunächst bei einem ersten Knoten Node_A zu einer Zeit t0 begonnen worden. Die Eingangs-Zwischenspeicher-Füllung Vin–Vout nimmt zu, bis zur Zeit t1 die Aufzeichnung von zwischengespeicherten Daten auf einem Massen-Speichermedium beginnt. Die Entleerung des Zwischenspeichers und die Aufzeichnung der zwischengespeicherten Daten erfolgt üblicherweise schneller als der Empfang und die Zwischenspeicherung neuer Daten, so dass die Zwischenspeicher-Füllung um einen Durchschnittswert schwankt, aber für diesen vereinfachten Fall wird angenommen, dass die Zwischenspeicher-Füllung konstant bleibt. Der Speicherknoten Node_A überwacht seine eigene freie Spei cherkapazität. Wenn er zur Zeit t2 bemerkt, dass seine Kapazität bald erreicht wird, sendet der Knoten Node_A eine Nachricht mit einem „Aufruf nach freier Kapazität" an einige oder alle anderen anbeschlossenen Knoten. Ein zweiter Knoten Node_B wird als Nachfolger gewählt. In P2P-Netzwerken kann dies in einem Verhandlungsprozess erfolgen. In anderen Fällen kann eine andere Einheit, z. B. ein Haupt-Server, einen Nachfolgeknoten auswählen. Wenn der zweite Knoten Node_B ausgewählt wird und zur Zeit t3 benachrichtigt wird, beginnt er, den Eingangsstrom in seinem Eingangs-Zwischenspeicher als Bereitschaftsknoten parallel zu dem aktiven Speicherknoten Node_A zwischenzuspeichern. Da die zwischengespeicherten Daten in dem Bereitschaftsknoten Node_B noch nicht aufgezeichnet werden, nimmt die Zwischenspeicher-Füllung zu. Wenn der Zwischenspeicher zur Zeit t4 nahezu voll ist, bevor eine „Voll"-Nachricht von dem aktiven Knoten Node_A empfangen wird, können die ältesten zwischengespeicherten Daten überschrieben werden, wie z. B. in einem Ring-Zwischenspeicher. Während dieser Zeit ist die Zwischenspeicher-Füllung konstant, da der Puffer voll oder nahezu voll bleibt.
  • Wenn der erste Knoten Node_A über keine freie Speicherkapazität mehr verfügt, stoppt er die Aufzeichnung und sendet eine „Voll"-Nachricht an den Bereitschaftsknoten Node_B zur Zeit t5. Diese Nachricht enthält den Anwendungs-Zeitstempel(ATS)-Wert des letzten aufgezeichneten Anwendungspakets. Nach einiger Zeit, zur Zeit t6, hat der Bereitschaftsknoten Node_B diese Nachricht empfangen und seine Speicherkonfiguration beendet. Von nun an wird er als der aktive Knoten betrachtet. Er wertet die in der Nachricht enthaltene ATS aus und beginnt die Aufzeichnung von zwischengespeicherten Anwendungspaketen, die einen höheren ATS als der in der Nachricht enthaltene ATS hat. Andere Anwendungspakete werden fallen gelassen.
  • Der Aufzeichnungsprozess enthält das Lesen der Anwendungspakete aus dem Eingangs-Zwischenspeicher, ihr Verpacken in Strom-(streaming)Pakete gemäß der angewendeten Streaming-Norm und das Schreiben der Strom-Pakete auf das Speichermedium, z. B. eine Disc. Somit nimmt die Zwischenspeicher-Füllung ab, bis sie zu einer Zeit t7 einen Durchschnitts-Pegel erreicht hat, wie oben beschrieben. Dieser Pegel kann z. B. programmiert oder durch Hardware definiert werden. Die Größe des Eingangspuffers Bmax muss ausreichend zur Überbrückung der Zeit zwischen der Sendung der „Voll"-Nachricht des ersten Knotens Node_A zur Zeit t5 und dem Beginn der Aufzeichnung des zweiten Knotens Node_B zur Zeit t6 sein. Diese Zeit enthält auch die erwähnte Benachrichtigung und die Vorbereitung und Konfiguration des Aufzeichnungsprozesses bei dem zweiten Knoten Node_B. Der Zwischenspeicher muss alle Anwendungspakete halten können, die während dieses Zeitrahmens empfangen werden.
  • Für eine kontinuierliche Wiedergabe der in einem verteilten Speichersystem gespeicherten Streaming-Daten sind Ausgangs-Zwischenspeicher erforderlich, um den Zeitschlitz zu überbrücken, wenn zwischen den Knoten umgeschaltet wird. 4 zeigt ein vereinfachtes Modell eines verteilten Speichersystems für den Wiedergabefall mit zwei Speicherknoten N1, N2 und einem Knoten N3 für den Anzeige-Dienst DS, z. B. einen Monitor. Die Speicherknoten N1, N2 sind mit Schnittstellen für den Anwendungspaket-Bus APB, Ausgangs-Zwischenspeichern OB1, OB2, Zwischenspeicher-Steuereinheiten BCU1, BCU2 und Wiedergabe-Einheiten PU1, PU2 ausgerüstet, die mit Speichermedien D1, D2 verbunden sind. Die Wiedergabe-Einheiten PU1, PU2 wandeln die Streaming-Pakete, die von den Speichermedien D1, D2 gelesen werden, in Anwendungspakete zurück. Ferner enthalten alle Knoten Nachrichten-Steuereinheiten MC1 ... MC3, die Steuernachrichten auf einem Steuernachrichten-Bus CMB austauschen können. Die Ausgangs-Zwischenspeicher OB1, OB2 haben zwei Funktionen: erstens die kontinuierliche Lieferung von Anwendungs-Paketdaten bei Umschaltung zwischen den Knoten, und zweitens die Anpassung der Datenrate, die von den Wiedergabe-Einheiten PU1, PU2 zugeführt wird, an die erforderlichen Anwendungspaket-Datenrate. Wenn z. B. Daten, die von dem Speichermedium D1 auf einem ersten Knoten N1 gelesen werden, wiedergegeben werden, dann kann ein Metadata-Etikett, das der entsprechenden Playlist zugeordnet ist, anzeigen, dass der Strom nicht vollständig auf diesem Medium D1 gespeichert ist, sondern eine nachfolgende Portion desselben Stroms auf einem anderen Knoten N2 gespeichert ist. Das Metadata-Etikett hält auch den ATS des letzten gespeicherten Anwendungspakets und einen Identifizierer der anderen Playcell. Es kann auch detailliertere Informationen darüber enthalten, wo die Daten gespeichert sind.
  • Während der erste Knoten N1 seine Datenportion auf einer gemeinsamen Verbindung wiedergibt, z. B. dem Anwendungspaket-Bus APB, sendet die Nachrichten-Steuereinheit MC1 eine Nachricht an die Nachrichten-Steuereinheit MC2 der anderen Knoten, die die Vorbereitung für die Wiedergabe des entsprechenden aufeinanderfolgenden Datenstroms fordert. Bei Empfang dieser Nachricht kann der andere Knoten N2 mit dem Lesen der Daten von seinem Speichermedium D2 beginnen und die Anwendungspakete in seinem Ausgangs-Zwischenspeicher OB2 zwischenspeichern, bis die Nachrichten-Steuereinheit MC2 eine „Leer"-Nachricht von dem aktiven Knoten N1 emp fängt. Wenn die aktive Wiedergabe-Einheit PU1 ihr letztes Anwendungspaket in ihren Ausgangs-Zwischenspeicher OB1 geschrieben hat, sendet der aktive Knoten N1 eine „Leer"-Nachricht an den anderen Knoten N2. Bei Empfang dieser Nachricht wird der andere Knoten N2 der aktive Knoten. Dann überwacht der zweite Knoten N2 die ATSs der Anwendungspakete auf dem Bus APB unter Verwendung seiner Zwischenspeicher-Steuereinheit BCU2. Wenn das letzte Paket festgestellt wird, aktiviert die Zwischenspeicher-Steuereinheit BCU2 den Ausgangs-Zwischenspeicher OB2, seine Inhalte auf dem Bus APB auszugeben, und sie aktiviert auch die Wiedergabe-Einheit PU2, um mehr Daten aus dem Speichermedium D2 in den Ausgangs-Zwischenspeicher OB2 zu lesen.
  • Ein in 5 gezeigtes Zwischenspeicher-Szenario erklärt für verteilte Stromaufzeichnung die Umschaltung von einem Knoten zu einem anderen im Falle der Wiedergabe-Operation. Die Wiedergabe eines Stroms hat zunächst bei einem ersten Knoten Node_A zur Zeit t0 begonnen. Je nach der verwendeten Zwischenspeicher-Füllstrategie kann ein schneller Disc-Leseprozess zu einem burstartigen Datenverhalten führen, das als variable Zwischenspeicherfüllung bezeichnet wird, bevor der Zwischenspeicher einen quasi stabilen Zustand zur Zeit t1 erreicht. Aufgrund der erwähnten Daten-Bursts schwankt die Pufferfüllung immer um diesen quasi stabilen Zustand herum, wie oben erwähnt wurde. Aus dem Metadata-Descriptor, der die Stromaufspaltung charakterisiert, weiß der erste Knoten Node_A oder kann dies durch eine Anfrage herausfinden, welcher andere Knoten Node_B der Nachfolgeknoten ist, der den nächsten Teil der streaming-Daten hält. Zur Zeit t2 wurde das letzte Paket gelesen und bei dem aktiven Knoten Node_A zwischengespeichert, und er sendet eine „Anforderung des Nachfolgerknotens"-Nachricht an den ande ren Knoten Node_B einschließlich dem Zeitstempel-Wert des letzten Anwendungspakets. Der Nachfolgerknoten Node_B empfängt die Nachricht, bereitet den Wiedergabeprozess vor und startet die Zwischenspeicher-Anwendungspakete zur Zeit t3. Die Füllung seines Ausgangs-Zwischenspeichers OB2 nimmt von jetzt an zu. Um eine nahtlose Wiedergabe zu erzielen, wenn zwischen den Knoten umgeschaltet wird, liest der Nachfolgerknoten Node_B aus dem Anwendungspaket-Bus APB die von dem aktiven Knoten Node_A gesendeten Anwendungspakete und wertet die Zeitstempel aus. Die Zwischenspeicher-Steuereinheit BCU2 vergleicht diese ATSs mit der ATS von der „Anforderung eines Nachfolgerknotens"-Nachricht. Wenn diese Zeitstempel gleich sind, was bedeutet, dass der Ausgangs-Zwischenspeicher OB1 des ersten Knotens Node_A zur Zeit t4 leer ist, beginnt der Ausgangs-Zwischenspeicher OB2 seine Pakete zu dem Bus APB nach dem Ende des aktuellen Pakets zu übertragen, so dass der Anzeige-Dienst DS in dem Anzeigeknoten N3 die Anwendungspakete nahtlos von den zwei Speicherknoten N1, N2 empfängt. Die Größe der Ausgangs-Zwischenspeicher OB1, OB2 wird so berechnet, dass die Zeit für die Benachrichtigung und die Konfiguration des Wiedergabeprozesses in dem Nachfolgeknoten überbrückt werden kann.
  • Nachfolgend werden zwei weitere Ausführungsformen der Erfindung beschrieben, die Lösungen für nahtlose Wiedergabe von verteilten Portionen eines Stroms sind.
  • 6 zeigt das Modell eines vereinfachten verteilten Speichersystems für Wiedergabe mit zwei Speicherknoten N1, N2 und einem Knoten N3 für den Anzeige-Dienst. Entsprechend kann dieses Modell auch für die Aufzeichnung verwendet werden. In diesem Modell werden alle Teile des Stroms über ei nen Knoten N1 geleitet, und nur eine Zwischenspeicher-Steuereinheit BCU1 ist aktiv. Nur dieser Knoten steuert die nahtlose Wiedergabe des Stroms, während der andere Knoten N2 seine Anwendungspakete nicht zu dem Anwendungspaket-Bus APB sendet, sondern zu der aktiven Zwischenspeicher-Steuereinheit BCU1. Wie oben erwähnt, ist im Fall von P2P-Netzwerken dieser virtuelle Erweiterungs-Bus XB dieselbe physikalische Verbindung.
  • In ähnlicher Weise zeigt 7 ein weiteres Modell eines vereinfachten verteilten Speichersystems für Wiedergabe mit zwei Speicherknoten N1, N2 und einem Knoten N3 für den Anzeige-Dienst. In diesem Modell wird die Zwischenspeicherung bei dem Anzeige-Dienstknoten N3 ausgeführt, der die nahtlose Wiedergabe des Stroms steuert. Bei dieser Lösung ist es erforderlich, Daten bei dem speicherlosen Knoten zwischenzuspeichern. Eine Nachrichten-Steuereinheit MC3 bei dem Anzeige-Dienstknoten N3 empfängt eine Nachricht von dem aktiven Speicherknoten N1, die den ATS ihres letzten Anwendungspakets anzeigt. Eine Zwischenspeicher-Steuereinheit BCU3 überwacht die Zeitstempel der zwischengespeicherten Anwendungspakete, und wenn der Empfang des letzten Paketes aus dem aktiven Speicherknoten N1 festgestellt wurde, wird eine Nachricht zu der Nachricht-Steuereinheit MC2 des Nachfolgerknotens N2 gesendet, der seinerseits beginnt, Anwendungspakete aus seinem Speichermedium D2 wiederzugewinnen und sie zum Eingangs-Zwischenspeicher IB3 des Anzeige-Dienstknotens N3 zu senden. Der Eingangs-Zwischenspeicher IB3 muss genug Anwendungspakete halten können, um die erforderliche Benachrichtigungs- und Daten-Wiedergewinnungszeit zu überbrücken.
  • Das erfindungsgemäße Verfahren kann auch in Systemen verwendet werden, bei denen eine monotone Reihe von Zahlen, z. B. Sequenznummern anstatt von Zeitstempeln für die Identifizierung von Anwendungs-Datenpaketen verwendet wird. In diesem Fall müssen die Zahlen lang genug sein, um eine Fehlinterpretation nach einem Umlauf (wrap-around), z. B. 32 Bit wie für TCP/IP-Pakete zu verhindern.
  • Bei einer Ausführungsform der Erfindung befinden sich die verschiedenen Speichervorrichtungen innerhalb derselben Vorrichtung, z. B. mehrere Festplatten oder andere magnetische Discs, innerhalb eines Multimedia-Recorders.
  • Bei einer Ausführungsform der Erfindung kann die Aufzeichnung so erfolgen, dass die zweite Speichervorrichtung keine Nachrichten darüber erhält, wenn eine Zwischenspeicherung von Daten beginnen soll. Statt dessen speichert sie die Eingangsdaten fortlaufend. In diesem Fall reicht es aus, eine Nachricht zu empfangen, die das erste zwischengespeicherte Anwendungspaket, das gespeichert werden soll, identifiziert.
  • Bei einer Ausführungsform der Erfindung enthält der Metadata-Descriptor einen Identifizierer für die Speichervorrichtung, von der erwartet wird, dass sie die vorangehende und/oder nachfolgende Portion hält.
  • Bei einer Ausführungsform der Erfindung kann der Metadata-Descriptor auch detaillierte Informationen darüber enthalten, wo die vorhergehende und/oder nachfolgende Portion gespeichert ist, z. B. Adresse, Dateiname oder Pfadname.
  • Bei einer Ausführungsform der Erfindung kann der Datenstrom nicht nur aufgespalten werden, wenn das erste Speichermedium voll ist, sondern auch aus anderen Gründen, z. B. Aufzeichnungsproblemen in der ersten Speichervorrichtung.
  • Das erfindungsgemäße Verfahren ist zur Speicherung und Wiedergewinnung von allen Datenströmen geeignet, die aus identifizierbaren Einheiten, wie Paketen mit Identifizierern, auf mehreren Speichervorrichtungen zusammengesetzt sind. Ferner kann die Daten-Wiedergewinnung jeden Zweck haben, z. B. Kopieren, Kodieren, Übertragung oder Wiedergabe.

Claims (10)

  1. Verfahren zur Speicherung eines ankommenden Datenstroms, der aus identifizierbaren Dateneinheiten besteht, umfassend die Schritte: – Speichern eines ersten Teils des Datenstroms (18) auf einem ersten Speichermedium (D1) in einer ersten Speichervorrichtung (N1), und Erstellen und Speichern eines ersten Datensatzes (10), der dem ersten Teil des Datenstroms (18) zugeordnet ist, wobei der Datensatz (10) einen Identifizierer (PlaycellUUID1) für den ersten Teil des Datenstroms enthält; – Senden einer Anforderung für einen Speicherbereich von der ersten Speichervorrichtung (N1) zu einer oder mehreren anderen Speichervorrichtungen, um Daten von der einen oder den mehreren anderen Speichervorrichtungen zu empfangen; – Empfangen einer oder mehrerer Antworten von der einen oder den mehreren anderen Speichervorrichtungen in der ersten Speichervorrichtung (N1); – Wählen einer zweiten Speichervorrichtung (N2) aus der einen oder den mehreren anderen Speichervorrichtungen, von der die Antwort empfangen wurde; – wenn der verbleibende freie Speicherbereich der ersten Vorrichtung (N1) unter einem Schwellwert liegt, Zwischenspeichern des ankommenden Datenstroms auf dem zweiten Speichermedium (IB2) parallel zu der ersten Speichervorrichtung (N1) in der ausgewählten zweiten Speichervorrichtung (N2); – wenn die erste Speichervorrichtung (N1) voll ist, Senden (CMB) eines Identifizierers für die letzte Dateneinheit (SOBU#i-1), die auf dem ersten Speichermedium (D1) gespeichert ist, von der ersten Speichervorrichtung (N1) zu der zweiten Speichervorrichtung (N2) und Speichern des Identifizierers zusammen mit dem ersten Datensatz (10) in der ersten Speichervorrichtung (N1); – Feststellen in dem zweiten Speichermedium (IB2) in der zweiten Speichervorrichtung (N2) des Identifizierers für die letzte Dateneinheit (SOBU#i-1), die auf dem ersten Speichermedium (D1) in dem gespeicherten Datenstrom gespeichert ist; – auf die Feststellung hin, Speichern eines zweiten Teils des Datenstroms (19), der nachfolgende Dateneinheiten enthält, auf einem dritten Speichermedium (D2) in der zweiten Speichervorrichtung (N2), und Erstellen und Speichern eines zweiten Datensatzes (11), der dem zweiten Teil des Datenstroms (19) zugeordnet ist, wobei der Datensatz (11) einen Identifizierer (PlaycellUUID2) für den zweiten Teil des Datenstroms enthält; und – Speichern wenigstens eines der Identifizierer (PlaycelllUUID1, PlaycellUUID2) zusammen mit dem anderen Datensatz (10, 11) in der anderen Speichervorrichtung (N1, N2).
  2. Verfahren nach Anspruch 1, bei dem der Schritt der Auswahl einer zweiten Speichervorrichtung (N2) aus der einen oder den mehreren anderen Speichervorrichtungen auf freier Speicherkapazität, möglicher Auf zeichnungsgeschwindigkeit oder Art von zu speicherndem Inhalt beruht.
  3. Verfahren zum Wiedergewinnen aufeinanderfolgender Teile eines zusammenhängenden Datenstroms aus einer Mehrzahl von Speichervorrichtungen, wobei der Datenstrom aus identifizierbaren Dateneinheiten, wie Paketen, besteht, umfassend die Schritte: – Wiedergewinnung eines ersten Teils des Datenstroms aus einer ersten Speichervorrichtung (N1) und seine Übertragung auf einem Ausgangs-Bus (APB); – Wiedergewinnung eines dem ersten Teil des Datenstroms zugeordneten Datensatzes (10) in der ersten Speichervorrichtung (N1), wobei der Datensatz einen ersten und einen zweiten Identifizierer enthält, von denen der erste ein Identifizierer (PlaycellUUID1) für den ersten Teil des Datenstroms oder ein Identifizierer (PlaycellUUID2) für einen zweiten Teil des Datenstroms ist, und von denen der zweite ein Identifizierer für die letzte, in dem ersten Teil des Datenstroms enthaltenen Dateneinheit ist; – Senden (CMB) des ersten und zweiten Identifizierers von der ersten Speichervorrichtung (N1) zu der anderen der Mehrzahl von Speichervorrichtungen; – Feststellen in einer zweiten Speichervorrichtung (N2), dass der von dem empfangenen ersten Identifizierer (PlaycellUUID1, PlaycellUUID2) identifizierte zweite Teil des Datenstroms für die Wiedergewinnung aus einem Speichermedium (D2) verfügbar ist; – Wiedergewinnung wenigstens des Beginns des zweiten Teils des Datenstroms aus einem Speichermedium (D2) in der zweiten Speichervorrichtung (N2) und sein Zwischenspeichern auf einem anderen Aufzeichnungsmedium (OB2); – Überwachen der Ausgangsverbindung (APB) der ersten Speichervorrichtung (N1) in der zweiten Speichervorrichtung (N2); – Feststellen in der zweiten Speichervorrichtung (N2) auf der Basis der Überwachung (N2), wenn die letzte Dateneinheit des ersten Teils des Datenstroms auf der Ausgangsverbindung (APB) übertragen wird; und – bei der Feststellung Lesen des zweiten Teils des Datenstroms aus dem anderen Speichermedium (OB2) und Übertragen von ihm auf der Ausgangsverbindung (APB).
  4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem der Datensatz (10) der dem ersten Teil des Datenstroms zugeordnet ist, ferner einen Identifizierer für eine zweite Speichervorrichtung (N2) enthält.
  5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem die Speichermedien Speicher (IB1, IB2, OB1, OB2) und optische oder magnetische Discs umfassen.
  6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Speichervorrichtungen (N1, N2) Knoten in einem Netzwerk sind.
  7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die identifizierbaren Daten-Einheiten eine monotone Reihe von numerischen Werten oder Zeitstempeln enthalten.
  8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die von der ersten (N1) zu der zweiten Speicher vorrichtung (N2) gesendete Nachricht Informationen über den Speicherort des zweiten Teils des Datenstroms enthält.
  9. Vorrichtung zur Speicherung eines Datenstroms, die ein Knoten in einem dezentralisierten Netzwerk ist, wobei der Datenstrom aus identifizierbaren Dateneinheiten zusammengesetzt ist, umfassend; – ein erstes Speichermedium (IB2), das ein Speicher ist, zur Zwischenspeicherung eines Teils des empfangenen Datenstroms bei Empfang einer Mitteilung; – Mittel (SRU2) zur Übertragung von aus dem ersten Speichermedium (IB2) gelesenen Daten zu einem zweiten Speichermedium (D2); – Mittel (MC2) zum Empfang einer Anforderung eines Speicherbereichs von einem anderen Knoten in dem dezentralisierten Netzwerk, zur Beantwortung der Anforderung und zum Empfang eines Identifizierers für die letzte, in dem anderen Knoten gespeicherte Dateneinheit von dem anderen Knoten, wobei die Mittel (MC2) auch in der Lage sind, eine Anforderung eines Speicherbereichs an einen oder mehrere Knoten in dem dezentralisierten Netzwerk zu senden, wenn der verbleibende freie Speicherbereich auf dem zweiten Speichermedium (D2) unter einem Schwellwert ist, Antworten von einer Mehrzahl von verschiedenen Vorrichtungen zu empfangen, und auf der Basis der Auswertung der Antworten eine der antwortenden Vorrichtungen auszuwählen; – Mittel zur Feststellung, ob die von dem empfangenen Identifizierer identifizierte Dateneinheit in dem ersten Speichermedium (IB2) gespeichert wird; – Mittel, um bei Feststellung der von dem empfangenen Identifizierer identifizierten Daten die Übertragung von der Dateneinheit folgenden Dateneinheit von dem ersten (IB2) zu dem zweiten Speichermedium (D2) auszulösen; und – Mittel zum Erstellen und Speichern eines dem Datenstrom zugeordneten Datensatzes (11), der einen Identifizierer (PlaylistUUID) für den Datenstrom, einen Identifizierer für die letzte, in dem zweiten Speichermedium (D2) gespeicherte Dateneinheit, und einen Identifizierer eines in dem anderen Knoten gespeicherten Datenstroms enthält.
  10. Vorrichtung zur Wiedergewinnung eines Teils eines Datenstroms, die ein Knoten in einem dezentralisierten Netzwerk ist, wobei der Datenstrom aus identifizierbaren Dateneinheiten zusammengesetzt ist, umfassend: – Mittel (PU2) zum Lesen von Daten aus einem ersten Speichermedium (D2); – ein zweites Speichermedium (UB2), das ein Speicher ist; – Mittel (MC2) zum Empfang eines ersten Identifizierers für einen ersten Teil des in dem anderen Knoten gespeicherten Datenstroms und eines zweiten Identifizierers für die letzte in dem ersten Teil des Datenstroms enthaltene Dateneinheit von einem anderen Knoten in dem dezentralisierten Netzwerk; – Mittel zur Übertragung von aus dem anderen Speichermedium (D2) gelesenen Daten zu dem zweiten Speichermedium (OB2), wobei die Mittel zunächst den Beginn der aus dem ersten Speichermedium ge lesenen Daten zu dem zweiten Speichermedium (OB2) bei der Feststellung übertragen, dass der zweite Teil des von dem empfangenen ersten Identifizierer identifizierten Datenstroms für die Wiedergewinnung aus dem ersten Speichermedium (D2) verfügbar ist; – Mittel (IB2) zum Empfang von Daten von einer Datenverbindung (APB); – Mittel (BCU2) zur Überwachung der von der Datenverbindung (APB) empfangenen Daten, zur Feststellung, ob die letzte, in dem ersten Teil des Datenstroms enthaltene Dateneinheit auf der Datenverbindung (APB) empfangen wird, und bei der Feststellung, zur Auslösung der Übertragung von Dateneinheiten von dem zweiten (D2) zu dem ersten Speichermedium (OB2); und – Mittel zur Ausgabe von Dateneinheiten von dem ersten (OB2) Speichermedium zu der Datenverbindung (APB).
DE602004012370T 2003-08-21 2004-05-07 Verfahren für das nahtlose Aufteilen und Verketten eines Datenstromes in Echtzeit Expired - Lifetime DE602004012370T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03018986A EP1508862A1 (de) 2003-08-21 2003-08-21 Verfahren für das nahtlose Aufteilen und Verketten eines Datenstromes in Echtzeit
EP03018986 2003-08-21

Publications (2)

Publication Number Publication Date
DE602004012370D1 DE602004012370D1 (de) 2008-04-24
DE602004012370T2 true DE602004012370T2 (de) 2009-04-02

Family

ID=34042883

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004012370T Expired - Lifetime DE602004012370T2 (de) 2003-08-21 2004-05-07 Verfahren für das nahtlose Aufteilen und Verketten eines Datenstromes in Echtzeit

Country Status (7)

Country Link
EP (2) EP1508862A1 (de)
JP (1) JP4657652B2 (de)
KR (1) KR101012187B1 (de)
CN (1) CN1585027B (de)
DE (1) DE602004012370T2 (de)
MY (1) MY137663A (de)
TW (1) TWI345410B (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5265920B2 (ja) * 2004-12-06 2013-08-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複数の記憶媒体にインターラクティブ性を拡張する方法と装置
EP2182464B1 (de) * 2008-11-04 2018-04-04 Amadeus S.A.S. Verfahren und System zum Speichern und Abrufen von Informationen
CN101770504B (zh) * 2009-12-29 2012-08-29 成都市华为赛门铁克科技有限公司 数据存储、读取方法及设备
US10061791B2 (en) * 2013-10-30 2018-08-28 Microsoft Technology Licensing, Llc Data management for connected devices
US10657087B2 (en) * 2018-05-31 2020-05-19 Toshiba Memory Corporation Method of out of order processing of scatter gather lists

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07220388A (ja) * 1994-01-28 1995-08-18 Sony Corp 記録情報再生方法及び装置
US5583868A (en) * 1994-07-25 1996-12-10 Microsoft Corporation Method and system for combining data from multiple servers into a single continuous data stream using a switch
US5712976A (en) * 1994-09-08 1998-01-27 International Business Machines Corporation Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes
JP3100307B2 (ja) * 1995-03-14 2000-10-16 日本ビクター株式会社 圧縮データ連続再生システム
US6134590A (en) * 1996-04-16 2000-10-17 Webtv Networks, Inc. Method and apparatus for automatically connecting devices to a local network
JP3640114B2 (ja) * 1996-11-27 2005-04-20 ソニー株式会社 データ記録再生装置および方法
US6134596A (en) * 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
JP3788677B2 (ja) * 1997-11-14 2006-06-21 富士通株式会社 連続録画システム及び方法並びに長時間録画プログラムを記録したコンピュータ読み取り可能な記録媒体
EP0942416B1 (de) * 1998-03-10 2003-11-12 Matsushita Electric Industrial Co., Ltd. Vorrichtung und Verfahren zur Aufzeichnung von Daten in der Restaufnahmekapazität von Datenträgern
JP3627503B2 (ja) * 1998-03-31 2005-03-09 日本ビクター株式会社 撮像装置
JPH11339447A (ja) * 1998-05-29 1999-12-10 Sony Corp 記録再生装置
JP2001086462A (ja) * 1999-09-17 2001-03-30 Sharp Corp 動画像記録装置及び動画像再生装置
JP2001093226A (ja) * 1999-09-21 2001-04-06 Sony Corp 情報通信システムおよび方法、ならびに、情報通信装置および方法
JP2002176609A (ja) * 2000-08-25 2002-06-21 Matsushita Electric Ind Co Ltd データ受信再生方法及びデータ受信再生装置
JP3677205B2 (ja) * 2000-11-08 2005-07-27 株式会社東芝 複数記録面対応の情報記録装置及び複数記録面対応の情報記録方法
JP2003051176A (ja) * 2001-08-07 2003-02-21 Matsushita Electric Ind Co Ltd 映像記録再生装置および映像記録再生方法

Also Published As

Publication number Publication date
EP1531408A3 (de) 2006-01-04
KR20050020691A (ko) 2005-03-04
TW200511832A (en) 2005-03-16
EP1508862A1 (de) 2005-02-23
MY137663A (en) 2009-02-27
EP1531408A2 (de) 2005-05-18
DE602004012370D1 (de) 2008-04-24
JP2005071373A (ja) 2005-03-17
JP4657652B2 (ja) 2011-03-23
CN1585027A (zh) 2005-02-23
TWI345410B (en) 2011-07-11
KR101012187B1 (ko) 2011-02-07
CN1585027B (zh) 2012-03-21
EP1531408B1 (de) 2008-03-12

Similar Documents

Publication Publication Date Title
DE69933285T2 (de) Netzwerk und informationsdarstellung mittels objekte
US7480441B2 (en) Method for seamless real-time splitting and concatenating of a data stream
DE69834080T2 (de) Verfahren zur verteilten Bearbeitung von Video-Clips über ein Telekommunikationsnetz
US8615602B2 (en) Method and device for recording or playing back a data stream
DE602006000171T2 (de) Verfahren zum Zuordnen einer Priorität zu einer Datenübertragung in einem Netzwerk und Netzwerksknoten, der das Verfahren verwendet
DE69534861T2 (de) Netzwerkvideoanbietersystem
DE60213297T2 (de) Multimediadatenübertragung durch vorwärtsgerichtetes Streamen
DE69632442T2 (de) Verfahren zur Wiedergabe von Multimediadaten und Multimediadatenserversystem
DE69633578T2 (de) Verfahren und Vorrichtung zum rastergenauen Zugriff auf digitale audiovisuelle Information
US20100115121A1 (en) Method and an apparatus for data recording and streaming
US8667158B2 (en) Video splitting and distributed placement scheme for clustered video servers
DE102005008745B4 (de) Audio-/Videokomponentenvernetzungssystem und -verfahren
CN104394380A (zh) 视频监控管理系统以及视频监控录像的回放方法
DE69731995T2 (de) Informationsübertragungsverfahren und -vorrichtung
WO2008148268A1 (fr) Procédé et système de mise en place d'un mode de lecture de découpage de trame de multimédia à la demande dans un réseau poste à poste
GB2437621A (en) Dynamic allocation of storage capacity in a networked video recording system
DE602004012370T2 (de) Verfahren für das nahtlose Aufteilen und Verketten eines Datenstromes in Echtzeit
DE69633808T2 (de) Interaktives Video-auf-Abrufsystem mit Paketübertragung über eine ATM-Fernmeldeleitung
DE102005008725B4 (de) Audio-/Videokomponentenvernetzungssystem und-Verfahren
DE69924264T2 (de) Verfahren zur adressierung einer bitstromaufzeichnung
DE60004577T2 (de) Wiedergabegerät für aufgezeichnete Informationen
EP1198097A2 (de) Virtuelles Speichergerät für ein digitales Hausnetz
JP2009151838A (ja) データ処理装置及びデータ処理方法
DE60307072T2 (de) Aufzeichnungsvorrichtung, aufzeichnungsverfahren, und programm
JP6862323B2 (ja) 映像収録装置及び映像収録方法

Legal Events

Date Code Title Description
8364 No opposition during term of opposition