DE69934292T2 - Informationsserver und Verfahren zur Anordnung von Karussellinformation - Google Patents

Informationsserver und Verfahren zur Anordnung von Karussellinformation Download PDF

Info

Publication number
DE69934292T2
DE69934292T2 DE1999634292 DE69934292T DE69934292T2 DE 69934292 T2 DE69934292 T2 DE 69934292T2 DE 1999634292 DE1999634292 DE 1999634292 DE 69934292 T DE69934292 T DE 69934292T DE 69934292 T2 DE69934292 T2 DE 69934292T2
Authority
DE
Germany
Prior art keywords
carousel
file
data
information server
dsmcc
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
DE1999634292
Other languages
English (en)
Other versions
DE69934292D1 (de
Inventor
Sony Service Ctr. Rademakers (Europe) NV, Philip
Sony Service Center Cuypers (Europe) N.V., Ludo
Sony Service Center Wasowski (Europe) NV, Maciek
Andre Sony Service Center Heughebaert (Europe) NV
Sony Service Center Baraniuk (Europe) NV, Monika
Sony Service Center Mitchell (Europe) N.V., Joe
c/o Sony Service Center Aerts (Europe) N.V, Ives
Sony Service Center Lejeune (Europe) NV, Stephane
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.)
Sony Europe Belgium NV
Original Assignee
Sony Service Center Europe NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Service Center Europe NV filed Critical Sony Service Center Europe NV
Application granted granted Critical
Publication of DE69934292D1 publication Critical patent/DE69934292D1/de
Publication of DE69934292T2 publication Critical patent/DE69934292T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

  • Die vorliegende Erfindung betrifft einen Informationsserver und ein Verfahren zur Anordnung von Karussellinformation, insbesondere wenn eine zusätzliche Datei aus einer Folge einer Transportstromrepräsentation eines Datei-Karussells eingefügt und wobei die Art des Karussells definiert werden kann.
  • Es wurde vorgeschlagen einen Informationsserver zum Bereitstellen von Information in ausgewählten Kanälen eines Transportstroms bereitzustellen. Zum Beispiel können verschiedene Datendateien in spezifischen Kanälen eines Transportstroms derart bereitgestellt werden, um Videodaten und dergleichen zu senden.
  • Es wird nun vorgeschlagen, dass eine Anzahl verschiedener Datendateien in einer Abfolge in der Art eines Karussells übertragen werden können. Jedoch würdigt die vorliegende Anwendung die Notwendigkeit einer gewissen Flexibilität des Inhalts der Seiten des Karussells. Insbesondere ist es nach vorliegender Erfindung vorgeschlagen, dass es möglich sein sollte eine Datei in ein anderweitig vorbestimmtes Karussell einzufügen. Unglücklicherweise ist es durch eine Wirkungsweise der Übertragung, welche von den original Karussell-Dateien zur Nutzladung für den Transportstrom auftritt, nicht möglich lediglich zusätzliche Nutzladungs-Information einzufügen ohne den Gesamttransportstrom zu unterbrechen.
  • Die US 5,805,825 beschreibt ein asymmetrisches Kommunikationsprotokoll, das eine halbzuverlässige Übertragung mit verbesserter Verfügbarkeit bereitstellt. Die Nachrichten werden einem Ablaufplanungs-Sender zugeführt, welcher die Daten für eine spezifizierte Zeitperiode wiederholt erneut sendet. Mehrfachnachrichten werden in einem Datei-Karussell mit jeder Nachricht, die mit jedem Umlauf des Karussells übertragen wird, angeordnet. Die Nachrichten werden entfernt so wie sie überholt sind. Die Clients, die der Sendung später beitreten, setzen fort zu den Daten im Karussell Zugang zu haben.
  • Nach vorliegender Erfindung ist ein Verfahren zum Ausgeben der Dateien eines Datei-Karussells bereitgestellt, wobei das Verfahren aufweist:
    Definieren jeder Seite des Karussells mit einem Referenznamen;
    Definieren einer oder mehreren Dateiadressen für jeden Referenznamen;
    Zuordnen einer Eigenschaft zu jedem Referenznamen, um die Art der Ausgabe zu definieren; und
    sequentielles Referenzieren zu den Seiten des Karussells und Ausgeben der durch die Adressen identifizierten Dateien entsprechend den Eigenschaften, die mit den jeweiligen Seiten assoziiert sind.
  • Nach vorliegender Erfindung ist auch ein Informationsserver für die Ausgabe der Dateien eines Datei-Karussells bereitgestellt, wobei der Informationsserver umfasst:
    ein Register für die Definition jeder Seite des Karussells mit einem Referenznamen, für die Definition einer oder mehreren Dateiadressen für jeden Referenznamen und für die Zuteilung einer Eigenschaft zu jedem Referenznamen, um die Art der Ausgabe für diese Seite zu definieren; und
    einen Karussellerzeuger für eine sequenzielle Referenzierung auf die Seiten des Karussells und für die Ausgabe der Dateien, die durch die Adressen entsprechend den Eigenschaften identifiziert sind, die mit den jeweiligen Seiten assoziiert sind.
  • Auf diese Weise kann ein Benutzer den Aufbau eines Datei-Karussells einfach definieren.
  • Vorzugsweise beinhalten die Eigenschaften eine normale Eigenschaft für die Anzeige, dass nur die durch die Adresse angesprochene Datei für die zugehörige Seite für jede Runde des Karussells ausgegeben wird und eine zyklische Eigenschaft für die Anzeige beinhalten, dass für jede Runde des Karussells eine fortlaufend folgende Datei von den Dateiadressen, die für die zugehörende Seite gelistet sind, ausgegeben wird.
  • Die Eigenschaften können auch eine unverzügliche Eigenschaft beinhalten, die für die Anzeige vorgesehen sind, dass die durch die Dateiadresse adressierte Datei nicht nur dann ausgegeben wird, wenn das Karussell den zugehörenden Referenznamen erreicht, sondern dass die durch die Dateiadresse adressierte Datei für diesen zugehörigen Referenznamen ebenso ausgegeben wird, wann immer der Inhalt der Dateiadresse aktualisiert wird.
  • Auf diese Weise kann jede Seite des Karussells einfach definiert werden, nicht nur in Bezug auf ihren Inhalt, sondern auch bezüglich wie es bei jeder Umlaufrunde des Karussells ausgegeben wird.
  • Die vorliegende Erfindung wird aus der nachfolgenden Beschreibung, die nur auf Beispielsbasis angegeben ist, mit den beigefügten Zeichnungen klarer verstanden, in welchen:
  • 1 ein sendendes Netzwerk darstellt, in welchem die vorliegende Erfindung beherbergt werden kann;
  • 2 den Play-Out-Abschnitt eines Informationsservers darstellt, in welchem die vorliegende Erfindung beherbergt werden kann;
  • 3 eine Anordnung des Informationsservers darstellt, in welchem die vorliegende Erfindung beherbergt werden kann;
  • 4A und B einen Informationsserver darstellen, in welchem die vorliegende Erfindung beherbergt werden kann;
  • 5 ein Objekt/Datei-Karussell darstellt;
  • 6 eine Anreihung von angenommenen Zeitschlitzen zum Bestimmen der Priorität von Datenvorgängen darstellt;
  • 7 den Aufbau von DVB-Abschnitten von Dateien darstellt; und
  • 8 eine Abhängigkeitsanordnung für die Datenübertragungen darstellt.
  • Die folgende Beschreibung betrifft einen Informationsserver, auf den die vorliegende Erfindung angewendet werden kann. Insbesondere ist eine Aufbauanordnung für einen DVB-konformen Datenserver, genannt Informationsserver, der fähig ist DVB-konforme Transportströme zu erzeugen, die die DSMCC-Daten und die Objekt-Karusselle enthalten. Zusätzlich ist der Informationsserver zum Unterstützen der dynamischen Aktualisierung des Inhalts im Inneren eines DSMCC-Daten- und Objekt-Karussells vorgesehen, während es ausströmt.
  • 1 zeigt einen Teil eines DVB-Systems, in welchem der Informationsserver beherbergt ist. Jedoch sollte es geschätzt werden, dass der Informationsserver auch in anderen DVB-Netzwerken beherbergt werden kann, zum Beispiel verkabelten und terrestrischen, und kann auch in anderen Nicht-DVB-Netzwerken beherbergt werden.
  • Ein Play-Out-Abschnitt 2 kann eine Anzahl von Video/Audio-Quellen 4, wie auch von Live-Quellen 6 beherbergen. Die Daten von diesen Quellen, beispielsweise in Form von MPEG2-Transportstrompaketen, werden in einen Multiplexer 8 eingespeist und von dem Play-Out-Abschnitt 2 ausgegeben. Der gemultiplexte Datenstrom wird in einen Modulator 10 zur Übertragung eingespeist, in diesem Beispiel von einem Satellit 12. Das Signal wird dann von der Konfigurationsbox 14 eines Fernsehers 16 empfangen.
  • Die Signale von einer Anzahl von anderen Modulatoren 10', 10'' etc. können zusammen eingespeist und zum Satellit 12 übertragen werden.
  • In diesem System ist es auch möglich einen Informationsserver 18 bereitzustellen. Genau wie die Video/Audio-Quellen 4, 6, stellt der Informationsserver 18 die Daten bereit, beispielsweise in Form von MPEG2-Transportstrompaketen, dem Multiplexer 8 zum Einfügen in den Datenstrom für die Übertragung. Der Informationsserver kann verwendet werden jegliche Arten von Daten zu senden, aber insbesondere MHEG5-Anwendungen, HTML-Seiten, Java-Anwendungen; IRD-Software-Aktualisierungen und andere Datendienste in Form von DSMCC-Objekten auf Datei-Karussellen. Wie dargestellt, ist der Informationsserver 18 mit einem Host 20 ausgestattet, welcher zum Steuern des Verhaltens des Informationsservers 18 benutzt wird, zusammen mit dem Inhalt und der Art der Datenausgabe des Informationsservers 18.
  • Der Informationsserver 18 wird durch den Hostcomputer gesteuert, der einiges Steuernetzwerk verwendet, solches wie TCP/IP über das Ethernet. Die erzeugten Transportströme werden über eine Art Strömungsnetzwerk heraus gespielt, solches wie Ethernet, DVB ASI, DVB LVDS oder ATM zu den Empfängern (PC's, STB's etc.).
  • 2 stellt die gesamte Aufbauarchitektur des Informationsservers dar.
  • Ein API-Server 22 empfängt die Steuerungssignale und die Daten von einem externen Hostrechner. Die Daten werden zu einer Speichereinheit 24 für eine nachfolgende Wiedergewinnung übertragen. Zumindest ein Stromgenerator 26 ist für die Ausgabe eines MPEG2-Datenstroms vorgesehen. Somit empfängt der API-Server im Betrieb die Daten, beispielsweise eine Serie von Bildern, und überträgt die Daten dieser Bilder zum Speicher 24. Jeder von den Stromgeneratoren 26 erzeugt, gesteuert von dem API-Server 22, einen Datenstrom, basierend auf einer Beschreibung des Karussells. Insbesondere empfängt der API-Server 22 die Steuerung von einem externen Hostrechner und, umgekehrt, steuert geeignet die Stromgeneratoren 26. Wie später beschrieben wird, können die Stromgeneratoren 24 derartige Karussellerzeuger aufweisen, um die Daten von dem Speicher 24 in korrekter Reihenfolge zu übertragen.
  • Die Zweckbestimmung des API-Servers ist eine Software-Schnittstelle bereitzustellen, die ferntechnisch einem Hostcomputer (z.B. einem PC) über TCP/IP zugänglich ist. Die Software-Schnittstelle ist unter Verwendung eines RPC-Protokolls realisiert und versorgt den Benutzer des Informationsservers mit einem Satz von Software-Abstraktionen, die dem Benutzter ermöglichen Objekt- und Datei-Karusselle in einer Weise zu definieren, die unabhängig von dem Transportbitstrom ist, die aber eher auf die konzeptionelle Aufbauanordnung der Karusselle fokussiert ist, angefangen von dem Inhalt, der durch die Karusselle gesendet werden muss.
  • Zusätzlich verwaltet der API-Server die Inhaltdaten, welche auf der Inhaltplatte des Informtionsservers vorhanden sind.
  • Von einem architekurtechnischen Gesichtspunkt aus, ist der API-Server als ein Einzel-Thread-Prozess realisiert, der zwei Hauptmodule enthält: eine „RPC-Schicht" und eine „API-Implementierung". Die „RPC-Schicht" verwaltet die Steuernetzwerkverbindung mit einem oder mehreren Hostcomputern. Jede Verbindung wir eine Sitzung (Session) genannt. Sie empfängt die RPC-Anfragen von der Hostcomputer-Sitzung, erstellt eine serielle Reihenfolge der Anfragen, prüft ob sie gültig sind, entordnet die Daten (Argumente) für die Anfragen, ruft einen geeigneten Eingangspunkt in der „API-Implementierung" auf, empfängt das Ergebnis (oder den Fehler) von der API-Implementierung, ordnet die empfangenen Ergebnisse in eine RPC-Antwort ein und sendet schließlich die Antwort zurück zum Hostcomputer. Die API-Implementierung stellt einen Satz von Funktionen bereit, die die Funktionalität des Informationsservers API umsetzen. Sie interagiert mit der Inhaltplatte, liest/schreibt Daten in diese Platte und prüft die Gültigkeit der Argumente von jedem API-Anruf.
  • Die Übertragung der Ströme von den Stromgeneratoren 26 zum Multiplexer des Play-Out-Abschnitts 2 kann eine Anzahl verschiedener Formen annehmen. Es wird vorgeschlagen, dass die Strömung als eine separate Einheit dem Informationsserver bereitzustellen sei. Somit kann die Strömung ausgewählt werden aus, beispielsweise, DVB-ASI via einer PRISM-Schaltung (wie durch Sony Digital Network Solutions Japan produziert), DVB-LVDS, ATM oder das Ethernet.
  • Es wird vorgeschlagen, dass der Informationsserver als ein standardisierter 4U 19 Zoll Rack-Schrankeinbau bereitgestellt wird. Das Steuernetzwerk zwischen dem Hostcomputer und dem Informationsserver kann, zum Beispiel, Ethernet oder ATM sein.
  • 3 zeigt wie ein Hostcomputer verwendet werden kann, um beliebige Anzahl von Informationsservern zu steuern, wobei jeder eine Anzahl von Strömen produziert.
  • 4 zeigt weitere Details des Informationsservers mit Bezug zu nur einem Stromgenerator. Der API-Server 22 enthält das RPC (Remote Procedure Call) Protokoll. das den Zugang zu den API's durch den Hostcomputer ermöglicht. Es ist auch möglich, dass die Steuer-API's mit IIOP laufen können, da dies populärer wird. Somit empfängt der API-Server 22 die Daten und die Steuerung von dem entfernten Hostcomputer. Der API-Server 22 läuft auch unter einer Betriebssystem-Abstraktionsschicht oder OSAL. Das ist vorgesehen, um dem Informationsserver zu ermöglichen unter einer Anzahl verschiedener Betriebssysteme zu laufen. Insbesondere ist es, um den Informationsserver anzupassen auf verschiedenen Betriebssystemen zu laufen, nur notwendig die OSAL auszutauschen.
  • Der Stromgenerator 26 ist befähigt rohe Transportstromdaten auszugeben. Insbesondere unter der Anweisung des API-Servers 22 ruft der Stromgenerator 26 die Daten von dem Speicher 24 lediglich ab und gibt sie ohne jegliches Wissen über deren Inhalt aus. Jedoch ist es auch beabsichtigt, dass der Stromgenerator 26 befähigt sein soll Karusselle aufzubauen, zum Beispiel die DSMCC-Objekt-Karusselle und DSMCC-Daten-Karusselle. Daher beinhaltet der Stromgenerator 26 zumindest einen Karussellerzeuger 28.
  • 4B stellt einen Stromgenerator dar. Der Stromgenerator ist für die dynamische Bildung des Transport-Bitstroms zuständig, angefangen mit der konzeptionellen Beschreibung des Daten/Objekt-Karussells. Die Aufbauarchitektur des Stromgenerators besteht aus einer Anzahl von im Wettbewerb zueinander laufenden Threads. Es gibt folgende Threads:
    • 1. SGMain: dieser Thread ist zuständig für die Kommunikation mit dem API-Server. Er empfängt Anweisungen von dem API-Server ein Objekt-Karussell zu starten oder zu stoppen, ein Karussell aus einem laufenden Strom fallen zu lassen oder etwas von dem Inhalt im Inneren eines laufenden Stroms zu aktualisieren. Zusätzlich ist der SGMain-Thread auch für die Verwaltung anderer Threads zuständig. Das verwirklicht das Starten/Stoppen dieser Threads und die Steuerung derer Synchronisation.
    • 2. Karussellerzeuger (CB): dieser Thread ist zuständig zum Aufbauen der (binären) DSMCC-Abschnitte, die das Objekt-Karussell bilden. Der CB-Thread empfängt die Karussellbeschreibung von dem SGMain-Thread. Sobald die DSMCC-Abschnitte aufgebaut sind, werden sie als Payloads dem Mux-Thread geliefert (siehe unten). Der CB-Thread kommuniziert auch mit dem SI-Thread, um die korrekte Serviceinformation in die Tabellen einzufügen, die durch den SI-Thread verwaltet werden.
    • 3. SI: dieser Thread ist für die Erzeugung und Aktualisierung der Serviceinformations(SI)-Tabellen zuständig. Er baut dynamisch die MPEG2-Abschnitte auf, die diese SI-Tabellen ausmachen, und liefert die Abschnitte dem Mux-Thread als Payloads. Gegenwärtig werden zwei Tabellen durch den SI-Thread verwaltet: PAT und PMT. Der CB-Thread [SI-Tread] empfängt Anfragen von dem CB-Thread, um die Programmnummern in dem PMT zu reservieren, die PID's für das Karussell zu reservieren und Beschreibungen für den PMT hinzuzufügen oder zu löschen, die benötigt werden, um das Karussell zu identifizieren.
    • 4. Mux: dieser Thread empfängt Payloads von dem CB- und SI-Thread und multiplext den Payload in die MPEG2-Transport-Strompakete. Zusätzlich kommuniziert der Mux-Thread mit dem physikalischen Vorrichtungstreiber, um die Transport-Strompakete über die physikalische Schnittstelle Ethernet, ASI, ATM heraus zu pumpen.
  • Jede Komponente in dem Stromgenerator (SGMain, SI, Karussellerzeuger, Mux) ist ein separater Thread, der gleichzeitig mit den anderen Threads läuft. Der SI, Karussellerzeuger arbeiten in einem „Push/Schiebe" Betriebsmodus. Sie berechnen Teile des Transport-Bitstroms und schieben sie voran zum Mux. Der Mux-Thread arbeitet in einem „Pull/Zug" Betriebsmodus. Sobald die Daten entweder von dem SI oder von den Karussellerzeuger verfügbar sind, zieht er diese Daten aus und startet das Multiplexen der Payloads in die Transport-Strompakete.
  • Jeder Karussellerzeuger 28 ist befähigt ein Karussell von Informationen aufzubauen, beispielsweise, wie in 5 dargestellt. Der Karussellerzeuger baut die Transport-Stromdaten geeignet zum Übertragen in einer Rotation einer Serie von DSMCC-Dateien auf. Zum Beispiel kann jede Seite, wie in 5 dargestellt, MHEG- oder HTML-Dateien oder Java-Anwendungen aufweisen. Als ein Ergebnis beinhaltet der durch den Stromgenerator produzierte Strom jede von diesen Seiten der Reihe nach.
  • Es ist für den Karussellerzeuger auch möglich Unter-Karusselle aufzubauen, derart dass bei jeder Rotation des Hauptkarussells von Seiten eine spezifische Seite selbst durch eine Serie von Unter-Seiten rotiert.
  • Da jeder Ausgabe-Strom eine Anzahl verschiedener Karusselle enthalten kann, kann auch eine Anzahl verschiedener Karussellerzeuger 28 bereitgestellt werden. Der Multiplexer/Verpacker 30 ordnet die Daten von verschiedenen Karussellerzeugern 28 in den Ausgabestrom ein.
  • Wie in 4A und B gezeigt, benutzt der Stromgenerator 26 auch die Betriebssystem-Abstraktionsschicht. Außerdem benutzt er eine Treiber-Abstraktionsschicht. Auf diese Weise, wie mit dem Betriebssystem, kann der Ausgabetreiber ohne einer Änderung des Gesamtaufbaus des Informationsservers geändert werden. Statt dessen ist es lediglich notwendig die Treiberausführung zu ändern.
  • Der Treiber 32 liefert die Transport-Stromdaten zu einer DVB-Kodierschaltung.
  • Jeder von den Karussellerzeugern 28 kann mit seinen eigenen Daten operieren, wobei der Multiplexer die Ablaufkoordination zwischen den verschiedenen Karussellen des Transportstroms handhabt.
  • Die Karussellerzeuger haben effektiv deren eigene Speicher. In der Tat, nachdem die Seiten des Karussells aus den Daten von dem Speicher 24 aufgebaut sind, können die Transport-Stromdaten dieser Seiten durch die Karussellerzeuger gespeichert werden. Auf diese Weise, wenn eine Seite eines Karussells unter der Anweisung des API-Servers von dem Hostcomputer geändert wird, kann es unnötig sein die Daten des ganzen Karussells neu zu berechnen, sondern nur der von geänderten Seiten. Sogar wenn die Daten einer Seite abhängig von anderen Seiten sind, wird es vorgeschlagen eine Abhängigkeitsstruktur derart einzugliedern, dass, noch einmal, es notwendig ist die Daten für die Seiten, welche eine Änderung erfordern und nicht für alle Seiten neu zu berechnen.
  • Jeder Karussellerzeuger 28 liest den Inhalt und Inhaltsbeschreibungen, setzt die DSMCC-Objekt-Karusselle zusammen und bereitet geeignete DSI, DII oder DDB-Abschnitte vor.
  • Der SI-Tabellen-Manager 34 ist zum Verwalten der PAT/PMT-Abschnitte, Programmnummern und PID's vorgesehen. Der Multiplexer/Verpacker 30 ist zum Aufspalten der Abschnitte in Pakete und zum Zusammensetzen der Pakete in die Schlitze für den Treiber 32 vorgesehen.
  • Wie oben erwähnt, beinhaltet der Informationsserver vorzugsweise eine Betriebssystem-Abstraktionsschicht OSAL. Das kann eine objektorientierte, C++ basierende Klassenbibliothek sein. Die OSAL wird vorgeschlagen, die eine API-Abstraktion bereitstellt, die einige von den wichtigsten Betriebssystem-Diensten abstrahiert, die durch verschiedene Betriebssysteme wie Windows 95, Windows NT, UNIX, LINUX etc. angeboten werden. Es wird vorgeschlagen, dass die OSAL Abstraktionen für die Threads, Semaphore, Dateien, Dateiordner, Prozessoren, Dateisystem unabhängige Pfadnamen und Interprozess-Nachrichten-Warteschlangen bereitstellt.
  • Die OSAL-Thread-Abstraktion unterstützt die Erschaffung und Vernichtung unabhängiger Ausführungs-Einheiten innerhalb des Adressraums eines einzelnen Prozesses. Die Thread-Ablaufplanung folgt einem einfachen Prioritätsschema, das auf einer diskreten Anzahl von Prioritätsklassen basiert.
  • Die OSAL-Semaphor-Abstraktion unterstützt den Intra-Prozess, gebundene und ungebundene Zähler-Semaphore und die verknüpften Warte/Signal Vorgänge, die zum Synchronisieren des Ausführungszustands verschiedener Threads benutzt werden können.
  • Die OSAL-Daten/Datenordner-Abstraktionen stellen ein einfaches virtuelles Dateisystem mit einer hierarchischen Ordnerstruktur und Lese/Ausführe Datei/Dateiordner Erlaubnisszuteilungen. Die Dateisystem unabhängigen Pfadnamen stellen ein Operationssystem unabhängiges Namenschema bereit, das auf verschiedene physikalische Dateisystem-Anordnungen abgebildet werden kann. Vorgänge werden zum Erzeugen/Löschen von Dateien, Lesen/Schreiben von Byte-Folgen von/in Dateien, Positionieren auf einer spezifischen Bytenummer und Abfragen der Größe einer Datei bereitgestellt. Vorgänge an einem Ordner beinhalten Erzeugen/Löschen und Wiederholung an den bestimmenden Dateien/Dateiordnern.
  • Die OSAL-Prozess-Abstraktion kann das Konzept virtueller Adressräume und Kode/Daten-Segmente unterstützen, die benötigt werden ein Teil des Adressraums zu sein. Vorgänge können bereitgestellt werden, um einen Prozess zu Starten/Stoppen und seinen Status (laufend, beendet) abzufragen.
  • Die OSAL-Warteschlangen-Abstraktion kann ein Mittel zum Ausführen der Inter/Prozesskommunikation bereitstellen, die auf den Byte orientierten, erst-rein-erstraus Nachrichten-Warteschlangen basieren. Vorgänge können bereitgestellt werden, um Bytestrings variabler Länge in oder aus der Warteschlange einzufügen oder abzufragen und die Gesamtanzahl von in jeder Warteschlange verfügbaren Nachrichten/Bytes zu überprüfen.
  • Jede von den OSAL-Abstraktionen kann durch eine unterschiedliche, streng geschriebene C++ Handle-Klasse unterstützt werden. Die Handle-Klassen liefern eine objektorientierte Sicht auf die Betriebssystem-Abstraktionen. Dank den streng geschriebenen Anwendungen, die im oberen Bereich von OSAL geschrieben sind, profitiert die API von der stringenten Überprüfung zur Übersetzungszeit (Kompilierungszeit). Instanzen von Handle-Klassen repräsentieren Betriebssystem abhängige Einheiten und Betriebssystem-Dienste werden als Methoden der Handle-Klassen repräsentiert. Die Umsetzung der Handle-Klassen ist leichgewichtig, effizient und übertragbar quer über alle Plattformen, die den ANSI C++ Standard unterstützen, weil sie eine Tieflevel-API verwendet, deren Ausführung Betriebssystem (Windows 95, Windows NT, Unix) spezifisch ist. In den meisten Fällen bildet die Tieflevel-API direkt auf die Dienste ab, die durch das darunter liegende Betriebssystem unterstützt sind, so dass der durch die OSAL erzeugter Overhead minimal ist.
  • Die OSAL-Klassenbibliothek und API können verwendet werden, um eine Quer-Plattform-Ausführung eines DVB-konformen Datensendeservers zu bilden, der die Lieferung von HTML-, Java-, MHEG-Anwendungen und anderer Daten via DSMCC-Objekt- und Datei-Karusselle unterstützt. Die Thread-Abstraktion kann benutzt werden (a) mehrfache Threads, die den Bitstrom des DSMCC-Objekt-Karussells aus den Inhaltdaten erzeugen, (b) einen Thread, der zur Erzeugung der DVB-Service-Information abgeleitet wird, und (c) einen Thread, der die DSMCC-Abschnitte und Tabellendaten in die Transportstrompakete multiplext, zu unterstützen. Die Semaphor-Abstraktion wird benutzt die Synchronisation zwischen diesen Threads zu verwirklichen. Die Datei- und Ordner-Abstraktionen werden benutzt den Zugang zum durchgehenden Inhalt auf dem Dateisystem des Servers zu verwirklichen. Die Prozess-Abstraktion wird benutzt einen Prozess, der für die Netzwerk-Kommunikation reserviert wird und einen anderen Prozess, der das Erzeugen der ausgehenden Transportströme des Servers handhabt, umzusetzen. Die Reihen-Abstraktion wird verwendet, um die Kommunikation zwischen dem Netzwerk-Stapelspeicher und der Erzeugung des Bitstroms umzusetzen. Mit Hilfe der OSAL-Klassenbibliothek und der API läuft der Datensende-Serveranwendungs-Kode unmodifiziert auf jedem von den Betriebssystemen, auf dem die OSAL derzeit unterstützt wird.
  • Wie oben erklärt, kann jeder Stromgenerator 26 eine Anzahl von Karussellerzeugern 28 haben. Es kann oft gewünscht sein, dass die Seiten eines Karussells öfter übertragen werden sollen, als die Seiten eines anderen Karussells. Um das zu tun kann der Multiplexer/Verpacker 30 in den Transportstrom Pakete eines Karussells öfter als andere einbringen. Anhand eines Beispiels, wenn es nur zwei Karusselle gibt und das eine die dreifache Gewichtung des anderen hat, teilt beim Füllen der Transportstrom-Pakete der Multiplexer/Verpacker 75% der Gewichtung dem einen Karussell zu und wird drei Pakete mit den Daten von diesem Karussell für jeden einen Paket füllen, der mit den Daten des anderen Karussells gefüllt wird.
  • Unglücklicherweise ist dieses System rein rechnerisch teuer, wenn Änderungen an der Art der Daten gemacht werden, die im Transportstrom übertragen werden. Zum Beispiel, für das oben angegebene Beispiel, wenn ein drittes Karussell mit einer gleichen Wichtigkeit wie das Karussell von unterer Wichtigkeit, das bereits verwendet wird, hinzugefügt wird, dann muss das System neu berechnen, dass den drei Karussellen jeweils 60%, 20% und 20% der Übertragungszeit gegeben werden soll. Mit anderen Worten, wann immer die Wichtigkeit des Karussells geändert wird oder Karusselle hinzugefügt oder gelöscht werden, muss die Zuteilung der Proportionen, die durch den Multiplexer/Verpacker 30 ausgeführt wird, neu berechnet werden.
  • In dem Informationsserver wird ein neuer Algorithmus zum Ablaufplanen der Pakete vorgeschlagen.
  • Mit Bezug auf 6 wird eine Datenanreihung zum Zuteilen der Proportionen der Wichtigkeit verschiedener Datenquellen dargestellt.
  • Sie ist als eine Serie von angenommenen Zeitschlitzen t eingerichtet. Jeder Zeitschlitz der Anreihung erlaubt die Registrierung einer oder mehrerer Datenquellen, beispielsweise Karusselle, der Rohdaten von dem Speicher 24 etc.. Bei der Zuteilung einer relativen Priorität zu jeder Datenquelle, die auf der angenommenen Frequenz basiert, können für verschiedene Datenquellen die Prioritäten einfach gesetzt werden.
  • Im dargestellten Beispiel ist der Datenquelle 1 die Priorität „4" zugeteilt worden und deshalb kommt sie alle vier angenommene Zeitschlitze vor. In gleicher Weise ist der Datenquelle 2 eine Priorität von „3" gegeben und der Datenquelle 3 eine Priorität von „2" gegeben worden. Der Multiplexer/Verpacker 30 bildet dann die MPEG-Pakete durch eine sequentielle Abfolge der Datenquellen, die entlang der Anreihung genannt sind, wobei jegliche leeren angenommenen Zeitschlitze ignoriert werden. Zum Beispiel, wenn man den in 6 dargestellten Datenquellen folgt, füllt er ein Paket mit Daten der Datenquelle 1, dann ein Paket mit den Daten der Datenquelle 2, dann ein Paket mit den Daten der Datenquelle 3, dann ein Paket mit den Daten der Datenquelle 1 etc.. Auf diese Weise werden die Daten der Datenquelle 1 drei mal übertragen für alle viermalige Übertragung der von der Datenquelle 2 und für alle sechsmalige Übertragung der von der Datenquelle 3.
  • Bei der Verwendung der Anreihung, wie oben beschrieben, wird keine Neuberechnung erforderlich, wenn Datenquellen hinzugefügt oder gelöscht werden oder wenn die Priorität einer Datenquelle geändert wird. Zum Beispiel, wenn die Datenquelle 3 entfernt wird, wird die relative Priorität zwischen den Datenquellen 1 und 2 beibehalten. In gleicher Weise, wenn eine vierte Datenquelle mit einer sehr hohen Priorität übertragen wird, zum Beispiel Zuteilung „1", dann sogar obwohl die Datenquellen 1, 2 und 3 alle mit der halben Frequenz übertragen werden, als vorher, bleiben deren relative Prioritäten und Frequenzen die gleichen. Somit ist das System der Prioritätssetzung der Datenvorgänge rein rechnerisch effizienter gemacht.
  • Bei der Benutzung dieses Systems in den Stromgeneratoren 26 des beschriebenen Informationsservers ist es dann einfach verschiedenen Datenquellen Bandbreiten zuzuteilen, solchen wie den verschiedenen Karussellerzeugern 28. Jedoch ist es gleichermaßen auf die Zuteilung der Prozessorzeit einer CPU anwendbar. Insbesondere können verschiedenen Aufgaben/Aufträgen, die eine Ausführung erfordern, die Prioritäten zugeteilt werden, auf die gleiche Weise, wie die Bandbreite zugeteilt wird.
  • Es wird vorgeschlagen, dass die Fähigkeit Ressourcen zu erhalten, beispielsweise die Prozessausführung oder die Bandbreite, nicht nur auf einer proportionalen Teilung der Ressourcen zu basieren braucht, sondern auch auf einer Latenzzeit des anfänglichen Zugangs. Mit anderen Worten, einige Prozesse können ein dringenderes Handeln erfordern, als andere. Zum Beispiel, die niedrige Latenzzeit-Zuteilung der CPU-Prozesszeit ist wichtig für die Sicherstellung eines reibungslosen Betriebs der Multimedien-Anwendungen. Wo zwei Prozessen, beispielsweise einer Textverarbeitung und einer Videoanzeige, eine vorbestimmte Proportion der Prozessorzeit zugeteilt wird, kann es immer noch so sein, dass es wichtiger ist der Videoanzeige einen schnelleren Zugang zur Prozessausführung zu gewähren.
  • Um diesem Bedarf Rechnung zu tragen, kann jedem Ressourcen-Verbraucher oder Datenvorgang ein zusätzlicher Parameter zugeordnet werden, ob dies eine Datenprozessausführung oder Datenübertragung ist. Dieser Parameter wird beabsichtigt die Latenz des Ressourcenzugangs zu definieren.
  • Deshalb wird jeder Ressource oder einem Datenvorgang ein Latenzwert gegeben, derart, dass eine Anzahl von Ressource-Verbrauchern verglichen werden kann, um zu bestimmen welcher zuerst durchgeführt werden soll oder, auf die gleiche Weise, eine Anzahl von Ressource-Verbrauchern kann verglichen werden, um zu sehen welcher zuerst übertragen werden soll. Im Falle des oben diskutierten Informationsservers, wenn es ein sehr wichtiges Stück von Information gibt, welches so schnell wie möglich übertragen und empfangen werden soll, kann der geeigneten Datenquelle ein sehr hoher Latenzwert vergeben werden, derart, dass diese Daten so schnell wie möglich durch den Multiplexer/Verpacker 30 in den Datenstrom eingefügt werden.
  • In den oben beschriebenen Karussellerzeugern 28 bildet jeder Karussellerzeuger eine Vielzahl von DVB-Abschnitten zum Beliefern des Multiplexers/Verpackers 30. Diese Abschnitte beinhalten die Daten, die das Karussell von diesem spezifischen Karussellerzeuger repräsentieren. Es ist gewünscht, dass der Informationsserver oder der Karussellerzeuger selbst fähig sein soll eine oder mehrere Seiten innerhalb seines Karussells zu ändern oder auszutauschen. Jedoch, wie oben erklärt, wenn ein Karussellerzeuger 28 ein geeignetes Karussell aus den Daten im Speicher 24 aufgebaut hat, werden diese Daten nicht neu berechnet, sondern lediglich für eine zyklische Übertragung gespeichert. Um eine Seite oder eine Datei im Karussell zu ändern ist es möglich alle Daten für dieses Karussell neu zu berechnen. Jedoch kann das in einer unerwünschten Verzögerung resultieren, bevor das neue Karussell übertragen wird.
  • 7 zeigt den Prozess der Datenumsetzung, der durch den Karussellerzeuger durchgeführt wird. Die Datendateien haben Kopfabschnitte, die innen hinzugefügt werden, um BIOP's als einen Teil eines DSMCC-Objekt-Karussells zu bilden. Diese sind dann zusammen gruppiert, um die Module für das DSMCC-Daten-Karussell zu bilden, welche dann der Reihe nach in DVB-Abschnitte zum Passieren zum Multiplexer aufgeteilt werden.
  • Wie anzuerkennen ist, wenn die Datei 1 geändert wird, dann wird der BIOP der Datei 1 auch geändert, zusammen mit den resultierenden Modulen und Abschnitten. Jedoch werden die BIOP's der Dateien 2 und 3 unverändert bleiben. Deshalb ist es nach einer Änderung an der Datei 1 nicht notwendig für den Karussellerzeuger die BIOP's der Dateien 2 und 3 neu zu berechnen.
  • Um dem Karussellerzeuger 28 zu ermöglichen die unnötige Berechnung zu vermeiden, wird ein Abhängigkeitsmechanismus vorgeschlagen. Durch die Verwendung von diesem Mechanismus ist es möglich die Bitstrom-Repräsentation eines DSMCC-Objekt-Karussells durch Verwendung von Aktualisierungen nur seiner bildenden Bestandteile, d.h. Dateien, Dateiordner etc.. schnell zu aktualisieren.
  • Die Abhängigkeits-Struktur wird im Karussellerzeuger durch eine Serie von Knoten und Zeigern eingerichtet. Insbesondere besteht das Abhängigkeits-Netzwerk aus zwei Typen von Einheiten, nämlich aus (a) den Abhängigkeitsknoten, die die Zeiger, genannt Inhalts-Referenzen, in die spezifischen Unterteile der Bitstrom-Repräsentation des DSMCC-Objekt-Karussells speichern, und (b) den Abhängigkeits-Verknüpfungen, die anzeigen, wie ein Satz von Inhalts-Referenzen verwendet wird einen anderen Satz von Inhalts-Referenzen zu berechnen. Die Abhängigkeits-Knoten selbst kommen in zwei Typen vor, nämlich (1) Primärknoten, die die Inhalts-Referenzen auf die bildenden Bestandteile (z.B. die DSMCC-Datei und Ordner-Objekte) eines DSMCC-Objekt-Karussells enthalten und (2) berechnete Knoten, die die Übertragungen auf die anderen Inhalts-Referenzen anderer Knoten beinhalten. Eine Übertragung ist auf einen Satz von Inhalts-Referenzen und Ergebnissen in einem Satz neuer Inhalts-Referenzen angepasst, die auf die neuen Teile des DSMCC-Objekt-Karussell-Bitstroms zeigen.
  • Da ein Karussellerzeuger die geeigneten Daten aufbaut, werden die Abhängigkeits-Verknüpfungen so gespeichert, um anzugeben wie ein Teil des DSMCC-Objekt-Karussell-Bitstroms (z.B. ein Modul) zu einem anderen Stück des Bitstroms (z.B. der komprimierten Entsprechung des gleichen Moduls) führt. Die Abhängigkeits-Verknüpfungen werden eingerichtet, wenn die Übertragungen durch die berechneten Knoten des Abhängigkeits-Netzwerks ausgeführt werden. Insbesondere wenn eine Übertragung eines Abhängigkeitsknotens die Inhalts-Referenzen verwendet, die mit einem anderen Knoten verknüpft sind (entweder ein Primärknoten oder ein berechneter Knoten) wird eine Abhängigkeit zwischen dem benutzten Knoten und dem einen, der die Übertragung berechnet, eingerichtet. Eine Abhängigkeits-Verknüpfung wird mit Bezug auf den verwendeten Knoten gespeichert, wobei sie den Knoten anzeigt, für den sie benutzt wurde.
  • Die Abhängigkeits-Verknüpfungen erlauben dem Abhängigkeitsmechanismus schnell den Satz von Übertragungen zu bestimmen, die neu anzupassen sind, um einen neuen Bitstrom neu zu berechnen, wenn bildende Bestandteile des Objekt-Karussells sich ändern, d.h. wenn die Daten der Primärknoten sich verändern.
  • Wenn eine Aktualisierung ausgeführt wird, werden einige von DSMCC-Datei- und Ordner-Objekten verändert. Als ein Ergebnis werden auch die Primärknoten, die diese Änderungen betreffen, verändert. Für diese Primärknoten, für welche eine Änderung eingetreten ist, werden die Abhängigkeits-Verknüpfungen, die mit diesen Primärknoten verknüpft sind, verfolgt, um jegliche resultierende berechnete Knoten zu markieren. Dort wo ein berechneter Knoten erreicht wird, wird die Abhängigkeits-Verknüpfung dieses berechneten Knotens verwendet, um sich wieder vorwärts zu jeglichen weiteren berechneten Knoten zu bewegen. Alle berechneten Knoten, welche auf diese Weise erreicht werden, werden gelöscht, zusammen mit jeglichen Vorwärts-Abhängigkeits-Verknüpfungen. Als ein Resultat hat das Abhängigkeits-Netzwerk bestimmte verknüpfte berechnete Knoten leer. Der Karussellerzeuger wiederholt deshalb den Original-Berechnungsprozess für jene berechneten Knoten, welche nun leer sind. Als ein Ergebnis, wenn die berechneten Knoten deren Übertragungen neu anwenden, um einen neuen Satz von Inhalts-Referenzen neu zu berechnen, werden die Abhängigkeits-Verknüpfungen erneut von den Knoten eingerichtet, auf die sie sich bezogen haben.
  • Dort wo die Primärknoten nicht verändert oder berechnete Knoten nicht gelöscht worden sind, kann dann ein nacheinander folgend berechneter Knoten lediglich zurück auf die unveränderten Primär- oder berechnete Knoten Bezug nehmen. Deshalb, wenn ein berechneter Knoten nur auf die unveränderten Primär- oder berechnete Knoten bezogen ist, kann er direkt verwendet werden, ohne seine Übertragung neu anzuwenden. Solange wie die Inhalts-Referenzen, von denen das Ergebnis abhängt, sich nicht ändern, kann das Ergebnis in einem aktualisierten Bitstrom direkt neu verwendet werden, ohne es neu berechnet zu haben. Da die Teile eines Karussells, welche nicht durch eine Aktualisierung betroffen sind, bereits in dem Abhängigkeits-Netzwerk gespeichert sind, erlaubt das Abhängigkeits-Netzwerk die schnelle Aktualisierung des Inhalts eines DSMCC-Objekt-Karussells.
  • Auf diese Weise kann der Abhängigkeitsmechanismus verwendet werden, um Bitstrom-Repräsentationen von DSMCC-Abschnitten auszubilden, die die Objekt-Karusselle ausmachen. Die Bitstrom-Repräsentationen bestehen aus einer Liste von Inhalts-Referenzen, die auf verschiedene Abschnitte zeigen. Die Inhalts-Referenzen werden zum Multiplexer durchgepasst, der die DSMCC-Abschnitte in einen MPEG-Transportstrom verpackt. Der Mechanismus kann verwendet werden, um die modifizierten DSMCC-Abschnitte neu zu berechnen, wenn die bildenden Teile des DSMCC-Objekt-Karussells (z.B. Dateien und Ordner) sich ändern. Es ist auch möglich die Technik auf die DSMCC-Datei-Karusselle anzuwenden.
  • Das ist in 8 dargestellt. Insbesondere bei einer Veränderung des Primärknotens n4 und einer Bezugnahme auf die Abhängigkeits-Verknüpfung ist es offensichtlich, dass der Inhalt des berechneten Knotens n7 auch geändert werden muss. Bei der Bezugnahme auf die Abhängigkeits-Verknüpfung für den berechneten Knoten n7 ist es dann auch klar, dass der Inhalt des berechneten Knotens n8 auch geändert werden muss. Mit dem gelöschten Inhalt der berechneten Knoten n7 und n8 und mit dem Primärknoten n4, der die neuen Inhalts-Referenzen enthält, wird der berechnete Knoten n7 mit Hilfe der Inhalts-Referenzen der Primärknoten n4 und n5 neu berechnet. Die Inhalts-Referenzen für den berechneten Knoten n8 können dann aus den Inhalts-Referenzen der berechneten Knoten n6 und n7 neu berechnet werden. Es wird gesehen, dass in diesem Prozess es nicht notwendig ist die Inhalts-Referenzen für den berechneten Knoten n6 neu zu berechnen.
  • Für jeden Stromgenerator 26 des Informationsservers ist es wünschenswert eine weitere Flexibilität bei der Aktualisierung der DSMCC-Datei-Objekte, die durch den Transportstrom zu übertragen sind, bereitzustellen.
  • Wie oben diskutiert, beinhaltet dieser Stromgenerator 26 einen oder mehrere Karussellerzeuger 28 und einen Multiplexer/Verpacker 30 zum Ausbauen des resultierenden MPEG-Transportstroms. Außerdem wird das Abhängigkeits-Netzwerk in den Prozess der Berechnung der erforderlichen DSMCC-Abschnitte eines DSMCC-Objekt-Karussells, genannt Payloads, die den Bitstrom auf dem DSMCC-Level bilden eingebaut.
  • Es ist erwünscht ein „heißes Einfügen" der DSMCC-Datei-Objekte bereitzustellen. Das ist ein so schnell wie mögliches Außerband-Einfügen eines DSMCC-Datei-Objektes in den gesendeten Bitstrom.
  • Wie oben erklärt, sobald die erforderlichen DSMCC-Abschnitte eines DSMCC-Objekt-Karussells für ein Karussell berechnet worden sind, werden sie lediglich gespeichert und zyklisch neu übertragen. Es wäre deshalb nicht erwünscht lediglich ein DSMCC-Datei-Objekt in die Objekte des Karussells heiß einzufügen, da der Bitstrom des DSMCC-Levels dann neu kalkuliert werden müsste. Andererseits, wird das bloße Einfügen der DSMCC-Abschnitte für ein heißes Einfügen in den bereits eingerichteten Bitstrom wahrscheinlich die Übertragung des DSMCC-Objekt-Karussells beschädigen.
  • Der Multiplexer durchläuft wiederholend eine Schleife durch die Listte der berechneten Payloads und spaltet die Payloads dynamisch in die MPEG2-Transportstrom-Pakete für die Übertragung auf. Um das „heiße Einfügen" der DSMCC-Datei-Objekte zu ermöglichen werden „Einfügungspunkte" innerhalb der Payload-Liste des kompletten Satzes von DSMCC-Abschnitten für das Objekt-Karussell definiert. Diese „Einfügungspunkte" sind Stellenmarkierer dafür, wo der Multiplexer zusätzliche Payloads für ein Außerband-DSMCC-Datei-Objekt sicher einfügen kann.
  • Somit ist der Payload für die Außerband-Aktualisierung berechnet und zum Multiplexer durchgeleitet. Der Multiplexer wartet dann bis der nächste markierte „Einfügungspunkt" verfügbar wird und lügt dann den Außerband-Payload ein. Der Effekt hiervon ist die Übertragung der restlichen Karusselldaten zu verzögern, aber nicht mit seinem Inhalt störend zu interagieren.
  • Wie oben erwähnt, ist es auch wünschenswert eine zyklische Aktualisierung eines einzelnen DSMCC-Datei-Objektes bereitzustellen. Mit anderen Worten, für jede Umlaufrunde der Karussell-Sendung kann eine verschiedene Version einer speziofischen DSMCC-Datei übertragen werden.
  • Mit Bezug auf das oben beschriebene Abhängigkeits-Netzwerk wird die zyklische Aktualisierung durch einen separaten Knoten im Abhängigkeits-Netzwerk erreicht, der verwendet wird die Payloads für jede Version der DSMCC-Objekte zu berechnen. Die komplette Liste der Payloads wird dem Multiplexer präsentiert, aber diese Liste ist intern in einer solchen Weise organisiert, dass sie den nächsten Payload-Wert liefert, wann immer der Multiplexer ihn im nächsten Zyklus des Objekt-Karussells anfordert. Dieser Mechanismus ist extrem effizient, da anstatt der Berechnung einer aktualisierten Version des DSMCC-Objektes für jede Karussellumlaufrunde ein Zeiger lediglich den passenden Payload anzeigt.
  • Es ist wünschenswert, dass die Auswahl der DSMCC-Datei-Objekte mit Bezug auf die Sendeordnung, Sendefrequenz und heiße Aktualisierung durch den Benutzer verwirklicht wird. Um das zu tun wird vorgeschlagen, dass die Daten auf die Art der unten angegebenen Tabelle eingeben werden. Tabelle 1
    Figure 00200001
  • Wie zu sehen ist, besteht die Tabelle aus drei Spalten. Die erste Spalte listet den Referenznamen eines DSMCC-Datei-Objektes auf, wie er durch den Empfänger der Sendung gehandhabt wird. Die komplette Liste der Referenznamen bildet den virtuellen Namenraum, den der Empfänger handhabt. Die zweite Spalte spezifiziert die Eigenschaft der Einheit, die durch den Referenznamen referenziert ist. Es wird vorgeschlagen drei Eigenschaften, nämlich normal, zyklisch und unverzüglich bereitzustellen. Das wird unten beschrieben. Die dritte Spalte spezifiziert eine Liste von Vollnamen, mit anderen Worten, einen physikalischen Dateinamen.
  • Die Eigenschaft „normal" meint, dass die referenzierte Seite immer die gelistete Datei ausgeben wird. Andererseits, für die Eigenschaft „zyklisch", kann die Tabelle mehr als einen Vollnamen enthalten, derart dass in jedem Karussellzyklus der nächste für diese Seite gelistete Vollname eingeschlossen wird. Die Eigenschaft „unverzüglich" hat normalerweise die gleiche Wirkung, wie „normal" darin, dass eine einzelne Datei für diese Seite übertragen wird. Jedoch, wenn eine referenzierte Seite die Eigenschaft „unverzüglich" hat, wird, sobald eine Aktualisierung für diese Seite empfangen ist, die Seite als ein „heißes Einfügen" eingefügt, aber wird dann bis zu ihrer normalen Position in dem Karussell nicht wieder erscheinen.
  • Für das oben angegeben Beispiel definiert die Karussell-Konfigurations-Tabelle ein logisches Karussell, bestehend aus 3 Seiten, genannt: Seite 1, Seite 2, Seite 3. Die Sendeordnung wird durch die erste Spalte definiert, d.h. – Seite 1 – Seite 2 – Seite 3 – Seite 2 und dann zurück zur Seite 1. Jedoch für die zyklischen Seiten in jedem Zyklus des Karussells wird die nächste Einheit von der Liste der Vollnamen (dritte Spalte) genommen werden. Folglich wird von dem inhaltlichen Gesichtpunkt aus die Karussellordnung sein: /sports/intro-/news/einheit 1-/Glücksspiel/Pferde-/news/einheit 5-/sports/intro-/news/einheit 2-Glücksspiel/Pferde-/news/einheit 6-/sports/intro-/news/einheit 3-/Glücksspiel/Pferde-/news/einheit 5-/sports/intro-/news/einheit 4-/Glücksspiel/Pferde-/news/einheit 6...
  • Der Eingabe der Daten für die Karussell-Konfigurations-Tabelle folgend berechnet ein geeigneter Karussellerzeuger den erforderlichen DSMCC-Abschnitt entsprechend dem oben diskutierten Abhängigkeits-Netzwerk. Insbesondere werden die Seiten, die durch die Referenznamen definiert sind, als Primärknoten ausgewählt. Wenn eine Seite als zyklisch zu sein definiert ist, dann wählt der Karussellerzeuger äquivalente Duplikat-Seiten, die jedem Objekt des Zyklus entsprechen. Der Karussellerzeuger berechnet dann geeignete Module für die Seiten. Vorzugsweise, beim Berechnen der Module, werden die äquivalenten zyklischen Seiten separaten Modulen derart zugewiesen, dass jede zyklische Neuberechnung bei einem Minimum gehalten wird. In gleicher Weise werden Seiten, die die Eigenschaft „unverzüglich" haben, separaten Modulen zugeordnet, um so deren Einfügen, wenn notwendig zu verbessern.

Claims (4)

  1. Informationsserver (18) für die Ausgabe der Dateien eines Datei-Karussells, wobei der Informationsserver umfasst: ein Register für die Definition jeder Seite des Karussells mit einem Referenznamen, für die Definition einer oder mehreren Dateiadressen für jeden Referenznamen und für die Zuteilung einer Eigenschaft zu jedem Referenznamen, um die Art der Ausgabe für diese Seite zu definieren; und einen Karussellerzeuger (28) für eine sequenzielle Referenzierung auf die Seiten des Karussells und für die Ausgabe der Dateien, die durch die Adressen entsprechend den Eigenschaften identifiziert sind, die mit den zugehörenden Seiten assoziiert sind.
  2. Informationsserver nach Anspruch 1, wobei die Eigenschaften eine normale Eigenschaft für die Anzeige darüber, dass nur eine durch eine Adresse angesprochene Datei für die zugehörige Seite für jede Runde des Karussells ausgegeben wird und eine Zyklus-Eigenschaft für die Anzeige darüber beinhalten, dass für jede Runde des Karussells eine fortlaufend in den Dateiadressen folgende Datei, die für die zugehörende Seite gelistet sind, ausgegeben wird.
  3. Informationsserver nach Anspruch 2, wobei die Eigenschaften eine unverzügliche Eigenschaft beinhalten, die für die Anzeige darüber vorgesehen wird, dass die durch die Dateiadresse adressierte Datei nicht nur dann ausgegeben ist, wenn das Karussell den zugehörenden Referenznamen erreicht, sondern dass die durch die Dateiadresse adressierte Datei für diesen zugehörenden Referenznamen ebenso ausgegeben ist, wann immer der Inhalt der Dateiadresse aktualisiert wird.
  4. Verfahren für die Ausgabe von Dateien eines Datei-Karussells, wobei das Verfahren beinhaltet: Definieren jeder Seite des Karussells mit einem Referenznamen; Definieren einer oder mehreren Dateiadressen für jeden Referenznamen; Zuordnen einer Eigenschaft zu jedem Referenznamen, um die Art der Ausgabe zu definieren; und sequentielles Referenzieren zu den Seiten des Karussells und Ausgeben der durch die Adressen identifizierten Dateien entsprechend den Eigenschaften, die mit den jeweiligen Seiten assoziiert sind.
DE1999634292 1999-01-21 1999-01-21 Informationsserver und Verfahren zur Anordnung von Karussellinformation Expired - Lifetime DE69934292T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP19990300441 EP1022909B1 (de) 1999-01-21 1999-01-21 Informationsserver und Verfahren zur Anordnung von Karussellinformation

Publications (2)

Publication Number Publication Date
DE69934292D1 DE69934292D1 (de) 2007-01-18
DE69934292T2 true DE69934292T2 (de) 2007-06-28

Family

ID=8241197

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1999634292 Expired - Lifetime DE69934292T2 (de) 1999-01-21 1999-01-21 Informationsserver und Verfahren zur Anordnung von Karussellinformation

Country Status (2)

Country Link
EP (1) EP1022909B1 (de)
DE (1) DE69934292T2 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1492351A1 (de) * 2003-06-27 2004-12-29 Sony NetServices GmbH Methode und System zur Übertragung und zum Empfangen von Vordergrund/Hintergrund segmentierten Bildern in DVB/MHP Systemen
US8694678B2 (en) 2008-11-10 2014-04-08 Telefonaktiebolaget L M Ericsson (Publ) Method of providing data to a client
CN103945257B (zh) * 2008-11-10 2017-08-25 艾利森电话股份有限公司 向客户端提供数据的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5010553A (en) * 1988-12-05 1991-04-23 Compuquest, Inc. High speed, error-free data transmission system and method
US5805825A (en) * 1995-07-26 1998-09-08 Intel Corporation Method for semi-reliable, unidirectional broadcast information services
EP0854650A3 (de) * 1997-01-17 2001-05-02 NOKIA TECHNOLOGY GmbH Verfahren zur Adressierung eines Dienstes in einem digitalen Videorundfunksystem

Also Published As

Publication number Publication date
EP1022909A1 (de) 2000-07-26
EP1022909B1 (de) 2006-12-06
DE69934292D1 (de) 2007-01-18

Similar Documents

Publication Publication Date Title
DE69535402T2 (de) Einrichtung und Verfahren zur Segmentierung und zeitlichen Synchronisierung der Übertragung von Multimediadaten
DE69533565T2 (de) Verteiltes Computersystem
DE69918571T2 (de) Verfahren und vorrichtung zur lieferung von in einem transportstrom eingebetteten bytekodes
DE69734064T2 (de) Anordnung und verfahren zur dynamischen bandbreitenzuordnung in einem paketstromkodierer
DE69733622T2 (de) System und Verfahren zum zeitnahen Liefern von digitalen Informationen unter Verwendung einer Fragmentierung und Sequenzierung, um die mittlere Bandbreite unddie Spitzenbandbreite zu verringern
DE68926567T2 (de) Nachrichten- und Bildschirmübertragung für Rechner in einem mehrsprachigen Netzwerk
DE69926074T2 (de) Proxy zur steuerung von video-auf-anfrage-anbietern
DE69535646T2 (de) Vorrichtung und Verfahren zum Formulieren eines interaktiven Signales
DE69925254T2 (de) Verfahren und vorichtung zur mediendatenübertragung
DE69727443T2 (de) Breitbanderweitertes Rechnerkommunikationssystem
DE69533981T2 (de) Multimedia-multiplexvorrichtung und verfahren mit dynamischer paketsegmentierung
DE69936570T2 (de) Verfahren und vorrichtung zur mediendatenübertragung
DE69924732T2 (de) Quellknoten fuer ein breitbandnetzwerk mit atm zellen
DE69926689T2 (de) Vorrichtung und Methode zur Übertragung von Information, Vorrichtung und Methode zum Empfang von Information, Vorrichtung zur Bereitstellung eines computerlesbaren Programms und Fernsehübertragungssystem
DE602004008139T2 (de) Vorrichtung und Verfahren zur kontinuierlichen Übertragung von MPEG-Datenströmen unter Verwendung eines adaptiven Modulationsablaufplanschemas
DE60310639T2 (de) Konsistente anpassung digitaler datengrössen ("digital item") in mpeg-21 multimedia-systemen
DE60314688T2 (de) Effizientes Verfahren und System zum Senden von Ressourcen in der Sendetechnik
EP0946056A1 (de) Verfahren zum Erhöhen der Speicherkapazität für Serviceinformation in einem Empfäger für digitale TV-Sendungen
DE69932312T2 (de) Informationsserver und Verfahren zur Herstellung von einem Transportstrom
DE19503762A1 (de) Dynamische Signalzusammensetzung
DE69934292T2 (de) Informationsserver und Verfahren zur Anordnung von Karussellinformation
DE69930468T2 (de) Verfahren und Vorrichtung zur Prioritätsverwaltung für Datenverarbeitung
DE69937601T2 (de) Informationsserver
DE69733617T2 (de) Protokoll verarbeitungsgerät für datenstromverarbeitung
JP4128939B2 (ja) データカルーセルプロトコルを利用するdaseデータ放送システムにおいてアプリケーションリソースを表すモジュール情報を伝送する方法及びその装置

Legal Events

Date Code Title Description
8364 No opposition during term of opposition