[go: up one dir, main page]

DE69405976T2 - Datenflu steuerung durch lastbewertung des netzes - Google Patents

Datenflu steuerung durch lastbewertung des netzes

Info

Publication number
DE69405976T2
DE69405976T2 DE69405976T DE69405976T DE69405976T2 DE 69405976 T2 DE69405976 T2 DE 69405976T2 DE 69405976 T DE69405976 T DE 69405976T DE 69405976 T DE69405976 T DE 69405976T DE 69405976 T2 DE69405976 T2 DE 69405976T2
Authority
DE
Germany
Prior art keywords
data
video
delivery system
presentation
media data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69405976T
Other languages
English (en)
Other versions
DE69405976D1 (de
Inventor
Paul R. Westminster Ma 01473 Kerr
Jeffrey L. Lexington Ma 02173 Kleiman
Blake E. Lexington Ma 02173 Nelson
Oliver K. Sudbury Ma 01473 Tavakoli
Premkumar North Andover Ma 01845 Uppaluru
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.)
Micro Focus Software Inc
Original Assignee
Novell Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/013,009 external-priority patent/US5719786A/en
Application filed by Novell Inc filed Critical Novell Inc
Application granted granted Critical
Publication of DE69405976D1 publication Critical patent/DE69405976D1/de
Publication of DE69405976T2 publication Critical patent/DE69405976T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Television Signal Processing For Recording (AREA)
  • Information Transfer Between Computers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Prostheses (AREA)
  • Small-Scale Networks (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Paper (AREA)
  • Excavating Of Shafts Or Tunnels (AREA)
  • Communication Control (AREA)

Description

  • Verteilte Computersysteme und die Netzwerk-Infrastruktur, welche sie einsetzen, haben in den vergangenen Jahren beträchtliche Fortschritte gemacht. Allerdings wird der Gesamtdurchsatz dieser Systeme momentan optimiert, für die Übertragung und Verarbeitung von Daten, die geringe Anforderungen bezüglich der Bandbreite stellen, und keine Zeitabhängigkeit aufweist. Wenn bei Anwendungen versucht wird, vorhandene Infrastrukturen dazu zu verwenden, Daten zu liefern und anzuzeigen, die eine ständig hohe Datendurchsatzrate mit Zeitabhängigkeit erfordern, beispielsweise digitalisierte Video- und Audiodaten, so ist die Infrastruktur häufig nicht dazu fähig, die Anforderungen der Anwendung ununterbrochen zu erfüllen. Insbesondere wenn Anwendungen, die auf Multitasking-Desktopsystemen laufen, versuchen, auf zeitkritische Daten aus lokalen oder Großbereichs-Netzwerken zuzugreifen, und die Daten an dem Desktopsystem anzuzeigen, wird die Präsentation der Daten häufig schwerwiegend beeinträchtigt, infolge der Begrenzungen des Systems.
  • Verteilte Systeme können eine begrenzte Fähigkeit aufweisen, die Daten in der ordnungsgemäßen Abfolge und zum erforderlichen Zeitpunkt zu liefern, oder können eine begrenzte Fähigkei.t aufweisen, die Daten, sobald sie empfangen wurden, zum erforderlichen Zeitpunkt zu verarbeiten und darzustellen.
  • Datenlieferung
  • Anwendungen, welche einen Zugriff und/oder eine Anzeige zeitkritischer, aufeinanderfolgender Daten mit hoher Datenrate durchführen, stellen eine wesentliche Anforderung für die Leistung üblicher, vorhandener Netzwerke dar. Daßdie Daten zeitkritisch sind, werden sie nutzlos für die Anwendung, wenn sie zu spät ankommen. Die hohe Datenrate kann die verfügbare Bandbreite des Netzwerkes überschreiten, wodurch verhindert wird, daß sämtliche Daten zum erforderlichen Zeitpunkt geliefert werden. Infolge der aufeinanderfolgenden und zeitabhängigen Art der Daten müssen diese, selbst wenn sie verbraucht sind, der Anwendung für eine ordnungsgemäße Verarbeitung zugeliefert werden.
  • Das liefernde Netzwerk stellt gewöhnlich eine Ressource dar, die von mehreren Benutzern gemeinsam genutzt wird. Insoweit kann irgendein Benutzer auf eine Bandbreite beschränkt sein, die wesentlich kleiner ist als jene, welche das Netzwerk zur Verfügung stellen kann. Darüber hinaus kann die für irgendeinen Benutzer verfügbare Bandbreite von einen Zeitbetrag zum nächsten wesentlich schwanken. Dies tritt auf, wenn andere Anwendungen und andere Schaltungsknoten die gemeinsam genutzte Ressource stärker oder weniger stark nutzen. Diese Einschränkungen und Schwankungen verhindern das Liefern sämtlicher Daten an deren Ziel, in der erforderlichen Zeit, auf ununterbrochene Art und Weise.
  • Kein vorhandenes System geht das Problem der Liefereinschränkungen an. Vorhandene Lösungen vermeiden das Problem dadurch, daß (1) spezielle Lieferhardware erforderlich ist, (2) Lösungen auf nicht verteilte Umgebungen beschränkt sind, oder (3) zugelassen wird, daß die Datendarstellung auf chaotische Weise beeinträchtigt wird.
  • Die US-A-4 771 391 (Blasbalg) beschreibt ein Datenliefersystem für ein Netzwerk, bei welchem die Paketlänge zur Übertragung von Daten entsprechend der Datenflußrate in dem Netzwerk eingestellt wird. Eine starke Belastung eines Netzwerks ruft Verzögerungen hervor, wenn die verschiedenen Schaltungsknoten bezüglich der Steuerung des Netzwerks zur Übertragung von Signalen miteinander konkurieren. Eine Datenquelle in dem in dem Blasbalg-Dokument beschriebenen System hält die Stabilität des Netzwerks dadurch aufrecht, daß die Flußrate der Information auf dem Netzwerk überwacht wird, und entsprechend die Paketlänge für auf dem Netzwerk übertragene Daten eingestellt wird. Daher ist das Systen von Blasbalg so ausgelegt, daß die Durchsatzrate bei minimaler Verzögerungszeit maximiert wird.
  • Obwohl in dem Blasbalg-System die Paketlänge eingestellt wird, muß man hierbei berücksichtigen, daß sämtliche Daten, die darauf warten, auf dem Netzwerk übertragen zu werden, schließlich übertragen werden. Die Daten werden unabhängig von ihrem Typ übertragen. Nur die Paketlänge ändert sich.
  • Weiterhin wird darauf hingewiesen, daß ein Quellenknoten in dem Blasbalg-Systen die Überwachung der Netzwerkeigenschaften durchführt (also der Informationsflußrate) und die Paketlänge entsprechend einstellt. Die Ressourcen, die an dem Empfangsknoten verfügbar sind, werden nicht überwacht, und beeinflussen nicht die Leistung des Blasbalg-Systems.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung ist im Patentanspruch 1 angegeben, und stellt ein Datenliefersystem zur Verfügung, welches als adaptive Ratenskalierung bezeichnet wird, und Vorgehensweisen zur Bewertung verfügbarer Lieferressourcen einsetzt, um den Datenfluß zu verfügbaren Lieferressourcen einzustellen, und den Datenfluß an die verfügbare Bandbreite auf nichtstatistische Weise anzupassen. Durch Überwachung der Lieferratentrends und der Schwankungen ist die vorliegende Erfindung dazu fähig, die Daten semantisch zu verstärken, die Datenliefererfordernisse - auf nicht-statistische Weise - auf innerhalb verfügbarer Grenzen zu verringern, und den Mechanismus für verteilte Liefersoftware so einzustellen, daß die verfügbaren Ressourcen am besten genutzt werden.
  • Allgemein stellt gemäß einer Zielrichtung die Erfindung ein System zur Anderung des Volumens von Daten dar, die auf einem Kommunikationsmedium geliefert werden. Die Erfindung besteht aus einem Datenverbraucher und einem Datenproduzenten, die über ein Datenkommunikationsmedium kommunizieren. Der Datenverbraucher mißt die Nutzung des Datenkommunikationsmediums und die Nutzung des Datenverbrauchers und erzeugt einen Skalierungsparameter, welcher die Belastung des Systems repräsentiert. Der Datenverbraucher übermittelt den Skalierparaneter an den Datenproduzenten über das Datenkommunikationsmedium. Der Datenproduzent stellt dann das Volumen der Daten, die über das Kommunikationsmedium übertragen werden, entsprechend dem Skalierparaneter ein.
  • Bei bevorzugten Ausführungsformen stellt der genannte Datenproduzent einen Fileserver dar, und ist der Datenverbraucher eine Workstation. Das Datenkommunikationsmedium ist ein Computernetzwerk. Bei anderen bevorzugten Ausführungsformen stellen der Datenproduzent und der Datenverbraucher ein einzelnes computersystem dar.
  • Bei weiteren bevorzugten Ausführungsformen ist der Datenverbraucher zusätzlich dazu ausgebildet, übertragane Daten zu empfangen, und die Daten zeitweilig in einem Puffer zu speichern. Der Datenverbraucher ändert die Puffergröße entsprechend dem angegebenen Skalierparameter.
  • Bei anderen bevorzugten Ausführungsformen erzeugt der Datenproduzent zwei Arten von Daten. Die ersten Daten werden mit festem Volumen geliefert, und die zweiten Daten werden mit variablem Volumen geliefert. Der Datenproduzent ändert das Volumen der zweiten Daten entsprechend dem angegebenen Skalierparameter, der von dem Datenverbraucher empfangen wird.
  • Bei anderen bevorzugten Ausführungsformen stellen die ersten Daten Audiodaten und die zweiten Daten Videodaten dar. Das Volumen der Videodaten, die von dem Datenproduzenten geliefert werden, ändert sich entsprechend dem Skalierparameter, der von dem Datenverbraucher empfangen wird.
  • Bei anderen bevorzugten Ausführungsformen erzeugt der. Datenproduzent mehr als zwei Arten an Daten. Der Datenproduzent liefert jeden Datentyp mit einen Volumen, welches individuell für jeden Datentyp festgelegt wird. Der Datenproduzent ändert individuell das Volumen jedes Datentyps entsprechend dem angegebenen Skalierparameter, der von den Datenkonsumenten empfangen wird.
  • Bei anderen bevorzugten Ausführungsformen werden Mehrfachströme (mehrere Fälle) jedes Datentyps von dem Datenproduzenten über das Kommunikationsmedium an den Datenverbrauqher übermittelt.
  • Weitere Zielrichtungen, Merkmale und Vorteile der Erfindung sind in der nachstehenden Beschreibung und den Patentansprüchen angegeben.
  • Kurzbeschreibung der Zeichnungen
  • Fig. 1 zeigt schematisch den Aufbau der vorliegenden Erfindung.
  • Beschreibung einer bevorzugten Ausführungsform Verarbeitung/Darstellung von Daten
  • Bei Multitasking-Workstations stellen die Bestandteile des Systems gemeinsam genutzte Ressourcen dar. Mehrere Anwendungen oder Tasks können sich für dieselbe CPU, denselben Bus, dasselbe Video-Untersystem, Audio-Untersystem usw. ändern. Die verfügbaren Ressourcen jedes Untersystems können nicht ausreichend sein, dessen Verantwortung zu erfüllen. Wenn beispielsweise eine Workstation unfähig ist, Videodaten ebenso wirksam wie Audiodaten zu verarbeiten und anzuzeigen, so kann möglicherweise ein Synchronisationsverlust auftreten.
  • Vorhandene Anwendungen ignorieren entweder derartige Situationen, oder versuchen, sie dadurch zu bewältigen, daß sie feststellen, daß ein oder mehrere Untersysteme in kritischer Weise zurückgefallen ist bzw. sind, und versucht wird, dadurch aufzuschließen, daß das Untersystem beschleunigt wird. Diese Vorgehensweise kann zu einem statistischen Verlust von Daten führen, welche "inzwischen veraltet sind".
  • Die vorliegende Erfindung, die als adaptives Ratenskalieren bezeichnet wird, verwendet Vorgehensweisen zur Bewertung von Verarbeitungs- und AnzeigeRessourcen und zur Einstellung des Datenflusses auf die verfügbare Bandbreite auf nichtstatistische Weise. Die Erfindung stellt fest, welche Ressourcen am wahrscheinlichsten für die Verarbeitung und die Anzeige von Daten verfügbar sind. Nur Daten, die in der betreffenden Zeit verarbeitet und dargestellt werden können, werden an die Workstation geliefert. Die Anmeldung muß nicht mit veralteten Daten umgehen. Durch Überwachung der Trends für die Lieferrate und für die Verarbeitungsrate und der Schwankungen kann der adaptive Ratenskalierungsvorgang gemäß der Erfindung die verfügbaren Ressourcen bestimmen, semantisch die Daten verstärken, die Daten verringern, welche eine Verarbeitung benötigen, und sie - auf nicht-statistische Weise - so anzeigen, daß sie innerhalb verfügbarer Grenzen liegen, und den Vorgang mit verteilter Liefersoftware so einstellen, daß die verfügbaren Ressourcen am besten genutzt werden.
  • Synchronisation von Audio und Video
  • Digitalisierte Audio- und Videodaten sind dynamische Datenarten mit Attributen (entweder implizit oder explizit) bezüglich der zeitlichen Darstellung. Darüber hinaus ist die Darstellung von Audio- und Videodaten zum Zwecke der Synchronisation eng gekoppelt. Digitale Video- und Audiodatenströme weisen in Bezug auf ihre Darstellung Echtzeiteinschränkungen auf. Die Ströme sind normalerweise durchgehend und reichen von Ausschnitten von 30 Sekunden über zweistündige Filme bis zu durchgehenden Lieferübertragungen. Sie verbrauchen zwischen 1 MBit/Sekunde bis 4 MBit/Sekunde an Speicherkapazität und/oder Übertragungsbandbreite, abhängig von der Komprimierungstechnik.
  • Die synchronisierte Darstellung digitaler Audio- und Videodaten wird häufig dadurch erzielt, daß Audio- und Videodaten in dem Speichercontainer oder während des Eingabevorgangs von Lieferdaten verschachtelt werden. Eine Einheit für Video (beispielsweise ein Rahmen) wird einer Einheit für Video (dem entsprechenden Ausschnitt von 33 ms) körperlich im Speicher zugeordnet. Das Darstellungssystem holt Stücke verschachtelter Audio-Videodaten mit einer Sammelrate, die an die Darstellungsrate angepaßt ist, und übergibt diese Stücke verschachtelter Audio/Videodaten mit einer Sammelrate, welche an die Darstellungsrate angepaßt ist, und übergibt diese Stücke an das Darstellungs/Dekoder- Untersystem entweder verschachtelt oder mit aufgehobener Verschachtelung. Synchronisation zwischen Audio- und Video wird durch die anfängliche Verschachtelung im Speicher und die Darstellung der Information mit der nominellen Darstellungsrate erzielt. Die Synchronisation wird dadurch erzielt, daß abwechselnd die Audio- und Videoeinheiten den digitalen Video- und digitalen Audio-Untersystemen nach dem Round-Robin-Verfahren übergeben werden.
  • Die Verschachtelung kann eine feine Verschachtelung sein (eine einzelne Videodarstellungseinheit und eine ausreichende Anzahl an Audioproben zum Füllen einer entsprechenden Darstellungsdauer in wiederholter Weise), oder eine gröbere Verschachtelung (mehr als eine Videodarstellungseinheit, und dann die ausreichende Anzahl an Audioproben, um eine entsprechende Darstellungsdauer wiederholt zu füllen). Die Verschachtelung kann so grob werden, daß sie aus sämtlichen Videodarstellungseinheiten hintereinander besteht, gefolgt von sämtlichen Audiostücken mit entsprechender Dauer (oder die Anordnung kann so sein, daß auf alle Audiostücke alle Videostücke folgen). Abhängig von der Unterteilung der Verschachtelung kann eine für die Anzeige der dynamischen Daten verantwortliche Anwendung auswählen, die Quelle für die dynamischen Daten einmal oder mehrfach zu öffnen, für ein wirksames Zurückholen und eine wirksame Anzeige.
  • Wenn die dynamischen Daten fein verschachtelt sind, (beispielsweise ein Videodarstellungsstück für ein entsprechendes Stück an Audiodaten mit gleicher zeitlicher Dauer), öffnet die Anzeigeanwendung gemeinsam die Datenquelle einmal, erhält die Video- und Audiodaten auf verschachtelte Weise, und trennt die Video- und Audiodaten auf die geeigneten Anzeigesysteme (Video- oder Audio) zur geeigneten Darstellungszeit auf.
  • Wenn die dynamischen Daten gröber verschachtelt sind, kann der Abstand zwischen zwei Stücken eines vorgegebenen Stromtyps größer sein als die Dauer der Daten, die in einem. vorgegebenen Stück des Stroms enthalten sind. Anders ausgedrückt kann beim Arbeiten mit grob verschachtelten Video- und Audiodaten das Ziehen aufeinanderfolgender Stücke von Videodaten durch das System und deren Bearbeitung länger dauern, als die Summe der Darstellungszeiten des Audiostückes beträgt, welches zwischen die Videosequenzen geschaltet ist.
  • Durch mehrfaches Öffnen der Datei kann die Anwendung eine Sitzung als Zugriff auf den Audiostrom und eine andere Sitzung als Zugriff auf den Videostrom interpretieren. Die auf den Audiostrom zugreifende Sitzung wird zu Beginn des ersten Audiostückes angeordnet, liest die in dem Stück enthaltenen Audiodaten, und wird dann zu Beginn des nächsten Audiostückes angeordnet, indem in der Datei bis zu Beginn des nächsten Audiostückes in Vorwärtsrichtung gesucht wird. Die Sitzung mit dem Videostrom erhält die Videodaten auf entsprechende Weise. Sie setzt sich auf den Beginn des ersten Videostückes, liest sämtliche aufeinanderfolgenden Videostücke, und überspringt dann die verschachtelten Audiodaten durch einen Suchlauf zum Beginn des nächsten darauffolgenden Videostückes.
  • Implizierter Datenzeittakt
  • Wenn die Medienquelle die Darstellungsrate der Daten festlegt, welche sie wiedergibt, muß die Quelle keine Darstellungszeit oder Darstellungsdauer für jedes diskrete Darstellungsstück an Daten aufweisen. Die Darstellungszeit und die Darstellungsdauer sind implizit, und lassen sich von der Anwendung unter Verwendung folgender Formeln einfach ermitteln.
  • Presentation_Time = Presentation_Rate*Presentation_Unit-Number;
  • Presentation_Duration = 1/Presentation_Rate;
  • ("Presentation": Darstellung; "Time": Zeit; "Rate": Rate; "Unit": Einheit; "Number": Nummer)
  • Wenn die Netzwerkbandbreite nicht ausreichend ist, zeitabhängige Daten an den Klienten ausreichend wirksam zu übertragen, daß der Klient die Daten verarbeiten und anzeigen kann, so werden die Daten vor der Anzeige veraltet. Entsprechend werden die Daten veraltet, wenn das System keine ausreichenden Fähigkeiten zur Verarbeitung und Anzeige von Daten zur impliziten Darstellungszeit aufweist. Ein Endbenutzer erhält unterschiedliche Ergebnisse abhängig davon, wie die Anwendung mit veralteten Daten umgeht.
  • Verspätete Lieferung von Daten
  • Wenn das Netzwerk nicht dazu fähig ist, Daten an den Klienten vor der impliziten Darstellungszeit der Daten zu liefern, so hat die Anwendung in dieser Beziehung zwei Optionen. Der Klient kann anhalten und auf die Ankunft der erforderlichen Daten warten. Dies stellt einen Zustand des Datenhungers dar. Datenhunger kann Audiounterbrechungen (Tonausfall) hervorrufen, da für das Audio-Untersystem momentan keine Daten verfügbar sind. Er kann auch zu Videoschwankungen führen, da beim Video eine vorherige Darstellung länger als über die Dauer der implizierten Darstellung auf dem Bildschirm bleibt, während auf die Ankunft neuer Daten gewartet wird. Der Klient kann stattdessen die Wahl treffen, sich in dem zeitlichen Datenstrom weiter vom an einer Position anzuordnen, an welcher die Daten erneut zeitlich relevant sind. Dies stellt einen Zustand des Datenausfalls dar. Datenmengen werden übersprungen bei dem Versuch, die zeitliche Integrität aufrechtzuerhalten. Infolge gegenseitiger Abhängigkeiten zwischen den Einheiten der Medienströme kann der Vorschub beträchtlich sein, der zur Erzielung der Datenintegrität erforderlich ist. Beispielsweise verwenden zahlreiche Komprimierungsverfahren eine Vollrahmen/Differenzrahmen-Abhängigkeit. Jede Differenzrahmendekodierung hängt von sämtlichen Rahmen ab, die ihr vorausgehen, einschließlich bis zum vorherigen Vollrahmen. Um die Datenintegrität zu erreichen muß die Anwendung eine neue Positionierung bis zu einem der darauffolgenden Vollrahmen durchführen. Da Vollrahmen durch zahlreiche Differenzrahmen getrennt sein können, kann auch die zeitliche Umorientierung beträchtlich sein.
  • Verspätete Verarbeitung/Darstellung von Daten
  • Wenn der Klient nicht dazu fähig ist, die Daten zur implizierten Darstellungszeit zu verarbeiten (zu dekodieren) und bereitzustellen (darzustellen), so überschreitet die Darstellungszeit der Daten die Systemzeit, und die Daten werden veraltet. Wenn dies auftritt, reagiert die Anwendung üblicherweise auf eine von drei Arten und Weisen. Sie kann auswählen, die Daten zu verarbeiten, jedoch vermeiden, die Daten zu übergeben. Auf Systemen, die Daten schneller verarbeiten als übergeben können, führt dies dazu, daß nur minimale Datenverluste auftreten (möglicherweise eine gelegentliche Darstellungseinheit). Diese Lösung arbeitet nur auf derartigen Systemen ordentlich, welche VerarbeitungsRessourcen aufweisen, die zur Verarbeitung sämtlicher Audio- und Videodaten ausreichend sind, jedoch keine ausreichenden Ressourcen zur Übergabe der Videodaten aufweist. Wenn der Klient nicht dazu fähig ist, die Audiooder Videodaten zu verarbeiten, oder unfähig ist, die Audiodaten zu übergeben, wird der Klient dazu gezwungen, die Situation auf eine der folgenden Arten und Weisen zu bereinigen.
  • Der Klient kann anhalten und darauf warten, daß die erforderlichen Daten verarbeitet und/oder übergeben werden. Wie vorher stellt dies den Zustand des Datenhungers dar, und kann daher erneut Audiounterbrechungen (Tonausfälle) hervorrufen, dä dem Audio-Untersystem bis zum momentanen Zeitpunkt Daten fehlen. Dies kann auch zu Videoschwankungen führen, da beim Video eine vorherige Darstellung länger auf dem Bildschirm bleibt als die implizite Darstellungsdauer, während darauf gewartet wird, daß neue Daten verarbeitet werden.
  • Wie vorher kann stattdessen der Klient auswählen, sich selbst weiter vom in dem zeitlichen Datenstrom an einem Ort anzuordnen, an welchem die Daten erneut zeitlich relevant sind. Dies ist ein Zustand des Datenausfalls. Datenmengen werden übersprungen bei dem Versuch, die zeitliche Integrität aufrechtzuerhalten. Infolge gegenseitiger Abhängigkeiten von Einheiten der Medienströme können die Vorschübe zur Erzielung der Datenintegrität beträchtlich sein. Beispielsweise verwenden viele Komprimierungsverfahren eine Vollrahmen/Differenzrahmen-Abhängigkeit. Jede Differenzrahmendekodierung hängt von sämtlichen Rahmen vor ihr ab, bis einschließlich zum vorhergehenden Vollrahmen. Um die Datenintegrität zu erzielen muß die Anwendung eine Neuorientierung auf einen der folgenden Vollrahmen durchführen. Da Vollrahmen durch zahlreiche Differenzrahmen getrennt sein können, kann auch die zeitliche Umorientierung beträchtlich sein.
  • Ressourcenverfügbarkeitsschwankungen - Lieferungs (Netzwerk) - Ressourcen
  • In den letzten vergangenen Jahren erfolgte eine Wegbewegung beim Computereinsatz in Firmen von zentralisierten Rechnerarchitekturen, welche Großcomputersysteme oder selbständige Systeme auf Desktopbasis darstellen, zur verteilten Berechnung hin, bei welcher mehrere Server und Desktop-Systeme gemeinsam Ressourcen über Lokalnetzwerke oder Großbereichsnetzwerke nutzen. Die Klienten/Server-Architektur und die Architektur mit gleichrangigen Rechnern stellen übliche Beispiele für das Modell mit verteilter Berechnung dar.
  • Häufig wird das Netzwerk selbst eine gemeinsam genutzte Ressource unter Teilnehmern in dem verteilten Berechnungsmodell. Wenn eine Anwendung die Netzwerkbandbreite zur Erzielung eines Tasks wie beispielsweise einer Datenbewegung nutzt, ist für andere Teilnehmer der verteilten Umgebung weniger freie Bandbreite verfügbar.
  • Wenn Teilnehmer die geteilte Netzwerkumgebung mehr oder weniger stark benutzen, können die für jeweils einen bestimmten Teilnehmer verfügbaren Ressourcen stark schwanken. Dies ist relativ unwesentlich für Teilnehmer, wenn ihre Daten nicht zeitkritisch sind, da sich die statistischen Schwankungen über längere Zeiträume ausmitteln.
  • Zeitkritische Daten, die von ständig hohen Datenraten abhängen, können durch diese Schwankungen negativ beeinflußt werden. Wenn auf dem Netzwerk nur eine unzureichende Bandbreite verfügbar ist, kann die Lieferung der Daten nach der Darstellungszeit der Daten auftreten. Unter diesen Umständen sind die Daten für das System wenig nützlich.
  • Ressourcenverfügbarkeitsschwankungen - Workstation(Klienten)-Ressourcen
  • Tasks, die auf Klienten-Workstationen liegen, die unter Multitasking-Betriebssystemen laufen, oder SystemRessourcen haben, können auch unter veralteten Daten leiden, infolge der Unfähigkeit, smtliche Daten vor der Darstellungszeit der Daten zu vearbeiten und zu liefern. Anders ausgedrückt kann die Zeit, welche das System dazu benötigt, ein Stück an Daten zu dekomprimieren ünd zu übergeben, die Darstellungszeit des vorherigen Datenstücks überschreiten. Dies kann infolge unzureichender GesamtRessourcen in der Workstation auftreten (die CPU oder das Video-Untersystem ist zu langsam), oder deswegen, weil Ressourcen von anderen Tasks genutzt werden (beispielsweise eine CPU, welche andere Tasks bedient).
  • Zeitkritische Daten, die von ständig hohen Datendarstellungsraten abhängen, können durch diese Schwankungen negativ beeinflußt werden. Wenn unzureichende Ressourcen auf der Klienten-Workstation zur Verarbeitung und Übergabe der Daten verfügbar sind, kann die Anzeige der Daten nach der den Daten zugeordneten Darstellungszeit auftreten. Es ist möglich, daß Daten eine Klienten-Workstation vor der den Daten zugeordneten Darstellungszeit erreichen, jedoch die Workstation nicht dazu fähig ist, die Daten vor der Darstellungszeit zu verarbeiten und zu übergeben.
  • Kontinuierliche Datenlieferung (Streaming)
  • Es ist möglich, dadurch das Ausmaß der Empfindlichkeit auf Ressourcenschwankungen zu glätten, daß eine kontinuierliche Datenlieferung von dem Produzenten der Daten zum Interpreten der Daten durchgeführt wird. Wie voranstehend erwähnt neigen Schwankungen von SystemRessourcen (sowohl Netzwerk als Workstation) dazu, über größere Zeitbeträge ausgeglichen zu werden. Liefert man Daten von dem Produzenten der Medien an den Interpreten wesentlich vor der Darstellungszeit für die Daten, kann das System in gewissem Ausmaß die Auswirkungen von Ressourcenschwankungen minimalisieren. Durch zeitliche Steuerung auf solche Weise, daß die Daten dem Empfänger einen bestimmten Zeitbetrag (beispielsweise eine Sekunde) vor der den Daten zugeordneten Darstellungszeit zugeführt werden, kann das System eine Ressourcensperre bis zu einer Dauer von einer Sekunde auffangen.
  • Zu beachten ist, daß der Nachteil des Ressourcenmangels additiv ist. Wenn beispielsweise so geplant wird, daß ein Paket eine Sekunde vor seiner Darstellungszeit an die Workstation geliefert wird, und eine Übertragungssperre über eine halbe Sekunde vorgenommen wird, so weist das nächste Paket, da es daraufhin geliefert wird, ein Lieferfenster von annähernd einer halben Sekunde auf.
  • Klientenvorauslese-Cache-Speicher
  • Um die kontinuierliche Datenlieferung von Daten zu unterstützen, ordnet der Klient lokale Ressourcen zu, um kontinuierlich gelieferte Daten zu speichern, vor der Anforderung durch die Verarbeitungs/Lieferanwendungen. Die vorliegende Erfindung ordnet die lokalen Speicherressourcen von dem Systemspeicher für maximale Leistung zu. Allerdings ist es auch möglich, daß die Architektur andere lokale Speichermedien dazu einsetzt, Verzögerungen und Schwankungen des Liefernetzwerks auszugleichen. Bei der Zuordnung lokaler Speicherressourcen gibt es Abbildungsfunktionen von der gewünschten zeitlichen Tiefe der Speicherung auf physikalische Speicheranforderungen.
  • Sei TSD (Temporal Storage Depth) die zeitliche Speichertiefe, welche das System für die Vorauslese-Cache-Speicherung wünscht, welche die kontinuierliche Datenlieferung unterstützt. Sei MBR (Maximum Bit Rate) die maximale Bitrate, mit welcher die Daten an die Klienten-Workstation geliefert werden können, die während der Einrichtung der Sitzung festgelegt wird. Sei NPS (Network Packet Size) die Netzwerkpaketgröße, die während der Einrichtung des Systems festgelegt wird. Seien PSR (Physical Storage Ressources) die physikalischen Speicherressourcen, die für den Klienten erforderlich sind, und sei PPSR ein Zeiger auf PSR. PSR kann von dem System unter Verwendung des Laufzeitaufrufes in der Sprache C zugeordnet werden:
  • pPSR = alloc(MBR*TSD/NPS,NPS)
  • Hierdurch wird physikalischer Speicher zur Verfügung gestellt, der dazu ausreicht, den zeitlichen Vorauslese- Cache-Speicher mit der maximalen Bitrate zu speichern, welche das System für die gegebene Sitzung liefert. Es wird darauf hingewiesen, daß dann, wenn während einer bestimmten Sitzung auf mehrere Dateien zugegriffen wird, der Klient eine erneute Berechnung von PSR durchführen muß, wenn MBR für eine folgende Datei größer ist als die Datei, auf die momentan zugegriffen wird.
  • Audio-Priorität
  • Die menschliche Tonwamehmung ist äußerst empfindlich und erfordert eine glatte und durchgehende Darstellung der Audioproben mit stabiler Rate. Allerdings ist die menschliche Wahrnehmung äußerst tolerant gegenüber glatten Anderungen der Videoqualität und der Rahmenrate, wobei typischerweise eine Bewegung wahrgenommen wird, obwohl eine starke Variation der Qualität des Bildes und seiner Darstellungsrahmenrate auftritt. Versuchsergebnisse zeigen, daß Menschen eine Bewegung wahrnehmen, wenn die Darstellungsrahmenrate zwischen 15 und 30 Rahmen/Sekunde liegt. Selbst bei niedrigeren Rahmenraten stellen wir immer noch Bewegung fest, obwohl die Artefakte stärker bemerkt werden können.
  • Durch Setzung von Prioritäten für das Zurückholen, die Übertragung, und die Darstellung von Audiodaten gegenüber Videodaten innerhalb einer Netzwerkberechnungsumgebung ohne Synchronisationsverlust kann ein digitales Videomanagementsystem optimal die verfügbaren Ressourcen für das Berechnen, die Komprimierung, und das Netzwerk einsetzen, während eine akzeptable Darstellung von Audio und Video aufrechterhalten bleibt.
  • Erfindungsgemäße Architektur
  • Die Architektur definiert Klienten/Server-Sitzungsmanagementprotokolle und Strommanagementprotokolle für den Zugriff, das Zurückholen und Darstellen dynamischer Datenarten, beispielsweise Video und Audio, über existierende lokale und Großbereichsnetzwerke.
  • Die vorliegende Erfindung stellt ein leistungsfähiges System für die Zuordnung von Ressourcen und die Trendvorhersage zur Verfügung, welches dynamisch Datenraten und Lieferkonfigurationen an verfügbare BerechnungsRessourcen und die Kommunikationsbandbreite anpassen kann, während eine akzeptable Darstellung synchronisierter Video- und Audiodaten aufrechterhalten bleibt. Die Erfindung stellt transparent eine adaptive Ratenskalierung für jede Anwendung unter Einsatz von Anwendungsprogrammierschnittstellen nach dem Industriestandard zur Verfügung, um auf Information über ein Netzwerk von einem. Videoserver zuzugreifen.
  • Digitale Videodaten können in üblichen Computerdateien auf Datei-Servern gespeichert sein, oder in Echtzeit von Analogvideoquellen erzeugt und über lokale und Weitbereichs- Paketnetzwerke verfügbar gemacht werden. Der Zugriff auf digitale Videodaten kann nach Wunsch erfüllen, wie bei dem Zurückholen und Darstellen aus einer gespeicherten Datei, oder nach Plan, wie beim Einspeisen in einen Sendekanal oder beim Abzapfen aus diesem.
  • Ein Videosystem, welches die Erfindung nutzt, stellt zur Verfügung:
  • Kontrolle für Klienten/Serverzugriff, Steuerung, und Management zur Bereitstellung dynamischer Daten von einem Video-Server oder eine Video- Einspeisungsvorrichtung
  • Stromdatentransportprotokolle, welche ein Vorauslesen im Strom, eine Priorität von Audiodaten gegenüber Videodaten, und semantische Verstärkung dynamischer Daten gestatten
  • Bewertung von Ressourcen, die zum Liefern und Darstellen dynamischer Daten auf Multitasking-Systemen in einem Netzwerk verfügbar sind
  • Dynamische Klienten/Server-Rückkopplungsprotokolle, welche eine adaptive Handhabung von BerechnungsRessourcen und der Kommunikationsbandbreite gestatten
  • Dynamische Einstellungen bei Liefer- und Darstellungsbauteilen auf der Grundlage verfügbarer Ressourcen innerhalb des Systems.
  • In Figur 1 sind diese Aufgaben auf drei Funktions- Untersysteme verteilt - einen Medienproduzenten 12, eine Ressourcenzuordnungsvorrichtung 22, und einen Medieninterpreten 24. In Zusammenarbeit sind diese Module dazu fähig, die Ressourcenverfügbarkeit des Systems zu bestimmen und vorherzusagen, Raten an Daten zu begrenzen, die geliefert und verarbeitet werden, und zwar auf Niveaus, mit welchen das System fertigwerden kann, und das Liefersystem dynamisch abzuändern, um die Leistung auf der Grundlage momentaner Raten zu optimieren.
  • Jede der Funktionen des Medienproduzenten 12, der Ressourcenzuordnungsvorrichtung 22 und des Medieninterpreten 24 kann durch Hardware oder Software verwirklicht werden, unter Verwendung von Standardvorgehensweisen, wie Fachleuten auf diesem Gebiet deutlich sein wird. Die Anhänge A, B, C, D und E zeigen ein Schema von Pseudocodes zur Implementierung dieser Funktionen. Die Kodierung der Pseudocode- Verfahrensschritte als Computerbefehle, die zur Ausführung des beschriebenen Szenariums geeignet sind, ist für Durchschnittsfachleute auf dem Gebiet der Programmierung in der Sprache C verständlich.
  • Medienproduzent
  • Der Medienproduzent 12 ist ein Softwaremodul, welches für die dynamische Erzeugung von Audio/Videoinformation verantwortlich ist, welche semantische Information außerhalb des Bandes enthält. Der Medienproduzent liegt auf einem Videoserver (Datenquelle) 10. Er ist verantwortlich für wirksamen Zugriff, wirksame grammatische Zerlegung, Skalierung, und semantische Anreicherung von Audio/Videoinformation. Der Medienproduzent 12 führt die Übersetzung zwischen der Darstellung angehängter Rohdaten und der semantisch erhöhten dynamischen Computerdarstellung von Audio/Videodaten durch, die möglicherweise auf eine niedrigere Videodatenrate skaliert sind, auf der Grundlage von Trendinformation, die von einer Klienten-Workstation (Datenverbraucher) 20 geliefert wird.
  • Medieninterpret
  • Der Medieninterpret 24 ist ein Softwaremodul, welches dafür verantwortlich ist, geeignete Mediendaten an Anwendungen zu liefern, die an unterstützten Anwendungsprogrammierschnittstellen hängen, beispielsweise der Media Control Interface (Mediensteuerschnittstelle) der Microsoft Corporation, Redmond, Washington. Er ist ebenfalls verantwortlich für die Reaktion auf Datenanforderungen von der Anwendung entsprechend der semantisch erhöhten Information, die vpn dem Medienproduzent 12 erzeugt wird. Im Betrieb des Systems paßt der Medieninterpret 24 dynamisch seine Konfiguration und seine Operationen in Reaktion auf Information an, die von einer Ressourcenzuordnungsvorrichtung 22 (nachstehend genauer erläutert) geliefert wird. Infolge der beträchtlichen Schwankungen, die bei heutigen komplizierten Berechnungsumgebungen auftreten (Multitasking- Betriebssystemen, gemeinsam genutzte lokale und Großbereichsnetzwerke, verteilte Berechnungslösungen, usw.), und der Anforderungen, welchen diese Systeme infolge einer hohen Datenrate, und der zeitabhängigen Lieferung und Anzeige von Daten genügen müssen, muß ein System ständig Einstellungen durchführen, um den wirksamsten hohen Leistungspegel mit verfügbaren Ressourcen sicherzustellen.
  • Res sourcenzuordnungsvorrichtung
  • Die Ressourcenzuordnungsvorrichtung 22 ist ein Softwaremodul, welches für die dynamische Analyse von Ressourcenverfügbarkeitstrends des Systems und für die Bereitstellung dieser Information an den Medieninterpreten 24 und den Medienproduzenten 12 verantwortlich ist. Die Ressourcenzuordungsvorrichtung 22 verwendet Vorgehensweisen 26 und 28 zur Bewertung der Bandbreite, die auf dem Kommunikationsmedium 30 (lokales oder Weitbereichsnetzwerk) und der Klienten-Workstation (Datenkonsument) 20 verfügbar ist. Unter Verwendung der erhaltenen Information in Bezug auf die Verfügbarkeit (oder den Mangel) von Ressourcen bestimmt die Ressourcenzuordnungsvorrichtung 22 Ressourcenverfügbarkeitstrends (deren Richtung und Größe), und teilt dem Medieninterpreten 24 und dem Medienproduzenten 12 Anderungen 32 mit, die zur Aufrechterhaltung einer aktzeptierbaren Systemleistung erforderlich sind.
  • Der Medienproduzent 12 und der Medieninterpret 24 stellen eine äußerst wirksame Erzeugung und Lieferung zeitabhängiger Daten 34 und 36 mit hoher Bandbreite während der Wiedergabe und der Anzeige dynamischer Datentypen zur Verfügung. Die Ressourcenzuordnungsvorrichtung 22 kann asynchron die Belastung des Systems 28 feststellen und den Datenfluß beeinflussen, nimmt jedoch an dem Datenfluß selbst nicht teil. Darüber hinaus wird der Datenfluß mit minimalen Pufferkopien zwischen der Platte oder dem Netzwerk- Untersystem und der Hardware zur Handhabung der dynamischen Datenart durchgeführt.
  • Diese Architektur ist sehr gut auf die meisten modernen Betriebssysteme übertragbar, welche Multitasking mit und ohne Vorgriff sowie einen Betriebsablauf mit Prioritäten oder nach dem "Round-Robin-System" unterstützen. Die Architektur gestattet darüber hinaus ein selektives Ausladen des Medienproduzenten 12 und/oder des Medieninterpreten 24 an einen speziellen Coprozessor für ein wirksames Datenmanagement. D.ie stark dezentralisierte Architektur läßt sich einfach an sämtliche LAN- und WAN-Kommunikationsmedien 30 anpassen.
  • Verhaltensmodell
  • Die bevorzugte Ausführungsform der vorliegenden Erfindung besteht momentan aus den Modulen des Medienproduzenten 12, des Medieninterpreten 24 und der Ressourcenzuordnungsvorrichtung 22.
  • Der Medienproduzent 12 liegt auf dem entfernten Video-Server 10 und ist dafür verantwortlich, die gespeicherten Videodateien handzuhaben, die dynamischen Daten durch zusätliche semantische Information anzureichern, Datenraten dadurch einzustellen, daß glatt Videodaten aus dem Strom entfernt werden, entsprechend Trends, die von dem Modul der Ressourcenzuordnungsvorrichtung 22 festgestellt werden, und die dynamischen Daten 34 und 36 über das Netzwerk an den Medieninterpreten 12 zu liefern.
  • Der Medieninterpret 24 liegt bei dem Klienten (Datenverbraucher) 20 und stellt Ressourcentrendinformation 32 für den Medienproduzenten 12 zur Verfügung, unter Verwendung von Klienten/Server-Sitzungsmanagementprotokollen und von Ressourcenverfügbarkeitsinformation, die von dem Modul der Ressourcenzuordnungsvorrichtung 22 zur Verfügung gestellt werden.
  • Die Ressourcenzuordnungsvorrichtung 22 befindet sich bei dem Klienten (Datenverbraucher) 20. Es verwendet direkte und indirekte Ressourcenermittlungsverfahren 26 und 28, um die Größe und Richtung von Ressourcenverfügbarkeitstrends festzustellen. Werte, welche die Trends repräsentieren, werden an den Medienproduzenten 12 geliefert, und dem Medieninterpreten 24 auf Anforderung zugeführt.
  • Klienten/ Server-Sitzungsmanagementprotokolle
  • Der Video-Server teilt seine Dienste über ein Standard- Netzwerkprotokoll mit. Bei einer üblichen Netzwerk- Softwareumgebung, beispielsweise der Netware der Novell Inc. Provo, Utah, ist dieses Protokoll das Dienstankündigungsprotokoll (Service Advertisement Protocol) (SAP). Jeder Video-Server ist verantwortlich für einen Namensraum der Medienquellen, die er ankündigt.
  • Wenn eine Anwendung eine Datei öffnet (beispielsweise eine Datei mit verschachtelten Audio/Videodaten (AVI)) in einem Microsoft-Video für die Windows-Umgebung der Microsoft Corporation, Redmond, Washington) aufgrund eines Namens, um auf den Inhalt der Datei zuzugreifen, erzeugt die Video- Klientensoftware einen Medieninterpreten für den intelligenten Zugriff auf die in der Datei enthaltenen Daten und zum Liefern der Daten an die momentane Anwendung. Der Medieninterpret öffnet eine oder mehrere Sitzungen mit dem Medienproduzenten auf der Grundlage des Namens der Datei, auf welche das Anwendungsprogramm zuzugreifen wünscht. Der Medieninterpret erzeugt weiterhin einen Fall der Ressourcenzugriffsvorrichtung, welche eine ständige Bewertung der SystemRessourcen einleitet, die für das Liefern und die Darstellung dynamischer Daten verfügbar sind.
  • Während der Einrichtung der Sitzung oder Sitzungen tauschen der Medienproduzent und der Medieninterpret Informationen aus, welche die Optimierung der Paketgröße ermöglichen, des Zustands der Klientenanwendung, der maximalen Datenrate, welche der Klient akzeptieren wird, und des Startwertes, der für die adaptive Ratenskalierung für die Sitzung verwendet werden soll.
  • Darüber hinaus ordnet der Medieninterpret eine Speichergröße zu, die dazu ausreicht, eine endliche zeitliche Menge dynamischer Daten zwischenzuspeichern, welche der mit MCI verträglichen Anwendung geliefert wird. Der Medieninterpret erzeugt eine Sitzung mit dem Medienproduzenten und leitet eine Medienvorausleseoperation ein, in welcher der Medienproduzent damit beginnt, Daten von dem Server zum Klienten herüberzuschicken.
  • Skalierung der Datenrate
  • Häufig verwenden Filmvideodatenkodierverfahren einen Vollrahmen/Differenzrahmen-Algorithmus. Ein Vol lrahmen enthält sämtliche Daten, gewöhnlich in komprimierter Form, die dazu erforderlich sind, den vorgegebenen Rahmen auf dem Anzeigegerät darzustellen. Ein Differenzrahmen enthält in komprimierter Form sämtliche Information, die dazu erforderlich ist, einen Rahmen in Bezug auf einen vorherigen Rahmen darzustellen. Anders ausgedrückt weist der Vollrahmen vollständige Daten auf, und ist eigenständig. Ein Differenzrahmen enthält nur die Anderungen zwischen einem Bezugsrahmen und sich selbst. Ein Differenzrahmen ist abhängig von sämtlichen vorhergehenden Rahmen, einschließlich bis zum vorherigen Vollrahmen.
  • Wenn Videofilme ein anderes Kodierschema als das Vollrahmen/Differenzrahmen-Schema verwenden, dann ist daher jeder Rahmen eigenständig und daher ein Vollrahmen.
  • Die vorliegende Erfindung verstärkt semantisch Videodatenströme, damit Null-Videorahmen durch die Liefer-, Bearbeitungs- und Darstellungsphasen der Wiedergabe hindurchgehen können, um so die effektive Datenrate des Mediumstroms zu verringern. Durch vorauseilende Verringerung der Datenrate auf der Grundlage von Ressourcentrends, wie sie von der Ressourcenzuordnungsvorrichtung festgestellt werden, kann das System auch glatt Videodatenraten so verringern, daß sie innerhalb der Grenzen der SystemRessourcen bleiben.
  • Wenn er die Quelle grammatisch zerlegt, welche den Mediumstrom oder die Medienströme enthält (die momentane Implementierung verwendet das verschachtelte Audio/Video- Dateiformat), kann der Medienproduzent Vollrahmen und Differenzrahmen in dem Videostrom identifizieren. Auf der Grundlage von Ressourcentrends, die von der Klienten- Workstation mitgeteilt werden (Richtung und Größe), ändert der Medienproduzent die Menge an Videodaten, welche an den Klienten geliefert wird. Bestenfalls entfernt der Medienproduzent keine Daten aus dem Videostrom und wird dieser mit der Rate wiedergegeben, mit welcher er ursprünglich aufgenommen wurde. Schlimmstenfalls entfernt der Medienproduzent sämtliche Videodaten, und wird nur Audiomformation an die Klienten-Workstation geliefert.
  • Wenn Videodaten entfernt werden, beispielsweise durch Einsetzen von Nult-Daten-Stücken in das AVI-Dateiformat, muß der Medienproduzent innerhalb der Einschränkungen der Vollrahmen/Differenzrahmen-Kodierung arbeiten. Der Medienproduzent beginnt am hinteren Ende einer Sequenz von Differenzrahmen und arbeitet sich rückwärts durch die Sequenz hindurch, wobei er die Videodaten durch Null-Stücke ersetzt, bis die geeignete Verringerung der effektiven Datenrate erzielt ist. Für niedrige Skalierungsraten kann es nur erforderlich sein, daß der Medienproduzent den letzten Differenzrahmen aus einer Sequenz entfernt, um die gewünschte Datenrate zu erzielen. Eine stärkere Skalierung kann das Entfernen mehrerer Differenzrahmen von dem Ende einer Sequenz aus Differenzrahmen erfordern. Eine starke Skalierung kann das Entfernen einer gesamten Sequenz von Differenzrahmen und des vorhergehenden Vollrahmens erfordern, um die erforderliche Verringerung der Datenrate zu erzielen.
  • AVI-Dateiformat
  • Die vorliegende Erfindung wurde so implementiert, daß sie mit Daten arbeitet, die mit dem AVI-Dateiformat (Audio Video Interleaved, audio/videoverschachtelt) verträglich sind. Eine AVI-Datei besteht aus Vorspanninformation, die variable Aspekte der Daten der Datei beschreiben (beispielsweise den Verschachtelungsfaktor, Arten enthaltener Ströme, usw.), möglicherweise einem Index in die Datei zur Optimierung der Positionierung, und Datenströmen, die als Stücke organisiert sind.
  • Das Stück ist die grundlegende Organisationseinheit innerhalb der Datei. Jedes Stück enthält ein Hinweissymbol, welches die Art des Stroms identifiziert, zu welcher die Daten in dem Stück gehören, die Abmessungen des Stückes, und die aktuellen Daten für das Stück.
  • Streuung/Sammeln
  • Das voranstehend geschilderte Netzwerkbetriebssystem Novell NetWare , auf welchem die bevorzugte Ausführungsform der vorliegenden Erfindung implementiert ist, verwendet eine Fähigkeit, die als Streuung/Sammeln bekannt ist. Wenn Daten auf das Netzwerk bewegt werden, um einem anderen Knoten zugeführt zu werden, kann der sendende Task an die Netzwerkschnittstelle eine Liste von Speicheradressen und der Länge der Daten an jeder Adresse übergeben. Die Netzwerkschnittstellenschicht sammelt dann die Information, die an den Adressen liegt, und stellt die Daten zu einem Paket zusammen, für den Transport zu dem Empfangsknoten.
  • Wenn Daten von einem Netzwerkpaket empfangen werden, kann der Empfangsknoten an die Netzwerkschnittstellenschicht eine Liste der Adressen und der Länge des verfügbaren Speichers an jeder Adresse übergeben. Die Netzwerkschnittstelle streut hintereinander die Daten, die in dem Paket enthalten sind, welches vom Sender an den verfügbaren Speicher an der Adresse geschickt wird. Die Netzwerkschnittstellenschicht füllt zuerst den Speicher an der ersten Adresse, dann den Speicher an der zweiten Adresse, uws., bis das gesamte Paket geliefert wurde, oder nach Maßgabe der Streuungsliste kein Speicher mehr verfügbar ist.
  • Der Medienproduzent nutzt die Sammelfunktion von Netware dazu, Videostücke, für welche festgestellt wurde, daß.sie entfallen müssen, um die erforderliche Bitrate zu erzielen, durch Null Videomformation außerhalb des Bandes zu ersetzen. Durch Bezugnahme auf die Null-Stücke vermeidet der Medienproduzent das Erfordernis, die aktuelle Quelle abzuändern, so daß andere Sitzungen dieselbe Quelle mit potentiell unterschiedlichen Datenarten nutzen können.
  • Bei der Übertragung auf Netzwerkbetriebssysteme, welche Streuungs/Sammelfähigkeiten nicht unterstützen, kann die vorliegende Erfindung diese Verantwortungen übernehmen.
  • Null-Stück-Einfügung
  • Wie voranstehend geschildert besteht das AVI-Dateiformat aus mehreren Stücken von Daten. Jedes Stück weist ein Hinweissymbol auf, welches angibt, wie die Dateneinheit interpretiert werden soll (beispielsweise Videodaten oder Audiodaten). Der Medienproduzent verringert die Datenrate, die an den Medienproduzenten geliefert wird, durch Ersetzen der großen Menge an Videodaten durch eine sehr kleine Menge an semantischer Information, welche Null-Daten für das Darstellungssystem darstellt.
  • Für ein Videostück, welches entfallen soll, ändert der Medienproduzent die Stückgröße so ab, daß sie gleich Null ist. Hierdurch wird in der Auswirkung ein Videostück ohne Abmessungen erzeugt. Dies verringert die effektive Bitrate im Ausmaß der Abmessungen des entfernten Videostücks. Diese Funktion wird durch den Pseudocode im Anhang A erläutert.
  • Um den Medieninterpreten in Kenntnis zu setzen, daß eine Informationsmenge aus dem Datenstrom entfernt wurde, verwendet der Medienproduzent "Abfallstücke". Die momentane Version der Erfindung wurde so implementiert, daß sie AVI- Dateien verarbeitet und sie an Anwendungen liefert, die mit MCI verträglich sind. Das AVI-Dateiformat unterstützt einen Datenstücktyp, der als "Abfallstück" bekannt ist. Das Abfallstück wird häufig dazu verwendet, Speichermedien abzufedern, um die Ausrichtung zu optimieren. Jede Anwendung, die einen Konsumenten von Daten im AVI-Format darstellt, muß Abfallstücke verstehen und weiß, daß sie nicht interpretiert werden sollen.
  • Der Medienproduzent verwendet Abfallstücke dazu, um dem Medieninterpreten mitzuteilen, welche Daten aus dem Datenstrom entfernt wurden. Dies erlaubt es dem Medieninterpreten, wenn dies von einer Anwendung gefordert wird, Daten zu positionieren oder auf diese zuzugreifen, die von dem Medienproduzenten entfernt wurden, um Daten für die Anwendung in sinnvoller Weise zu erzeugen.
  • Ressourcenzuordnung
  • Die vorliegende Erfindung unterscheidet sich von vorhandenen Lösungen auf mehrere Arten und Weisen.
  • 1. Die Erfindung ist bei der Zuordnung verfügbarer Ressourcen voreilend. Vorhandene Lösungen stellen nur fest, wenn Daten veraltet geworden sind. Bestenfalls versuchen sie dann, die Situation dadurch zu bereinigen, daß (potentiell) große Datensequenzen entfallen oder übersprungen werden, bis die zeitliche Integrität wieder hergestellt ist. Dies erfolgt in statistischen Intervallen infolge der chaotischen Schwingungen der SystemRessourcen. Die Erfindung ist vorauseilend bezüglich der Beurteilung, welche Ressourcen für das Liefern, die Verarbeitung und die Darstellung von Daten verfügbar sein werden. Sie verhindert das Liefern von Daten, welche das System vor der sich ergebenden Darstellungszeit nicht handhaben könnte. Dies stellt eine erheblich glattere Degeneration der Datenrate zur Verfügung.
  • 2. Die Erfindung beurteilt ständig die Bandbreite, die für die Lieferung von Daten über das Netzwerk verfügbar ist. Durch die Kenntnis der Soll-Darstellungsrate und Ermittlung der Netzwerklieferrate kann die Erfindung Ressourcenschwankungentrends für die gemeinsam genutzte NetzwerkRessource ermitteln, und entsprechend handeln.
  • 3. Die Erfindung beurteilt ständig VerarbeitungsRessourcen, die dem system zur Verfügung stehen. Durch Kenntnis der Soll-Darstellungsrate und Ermittlung der Systemverarbeitungsbelastung kann die Erfindung Ressourcenschwankungentrends für die gemeinsam genutzte VerarbeitungsRessource feststellen, und entsprechend handeln.
  • 4. Unter Verwendung ermittelter Werte, welche die Richtung und die Größe von Ressourcentrends angeben, kann die Erfindung semantisch den Videodatenstrom durch Information außerhalb des Bandes ändern, um die Videodatenrate auf glatte Art und Weise zu verringern.
  • Bewertung der Netzwerklieferung
  • In Kenntnis der erwarteten zeitlichen Datenrate (wieviele Darstellungseinheiten eines bestimmten Stroms pro Zeiteinheit das System bearbeiten sollte) kann das Ressourcenzuordnungsvorrichtungsmodul feststellen, ob das System die Rate überholt oder hinter diese zurückfällt, mit welcher Daten über das Netzwerk geliefert werden.
  • Der Vorauslese-Cache-Zwischenspeicher, welchen der Medieninterpret auf der Klienten-Workstation aufrechterhält, erhält Information von der Netzwerkschicht und liefert die Daten etwas später an die Darstellungsanwendung. Die Ressourcenzuordnungsvorrichtung untersucht die Anzahl an Darstellungseinheiten, welche in den Cache-Speicher aus dem Netzwerk hineingelangen, und die Anzahl an Darstellungseinheiten, welche den Cache-Speicher zur Anwendung hin am anderen Ende verlassen. Dies erlaubt es der Ressourcenzuordnungsvorrichtung, festzustellen, ob Daten an den Klienten schneller oder langsamer geliefert werden, als die Anmeldung die Daten verbraucht.
  • Da das Netzwerk keine Daten an die Klienten-Workstation liefern kann, wenn der Cache-Speicher voll ist, muß ein ordnungsgemäßes Berechnen der verfügbaren NetzwerkRessourcen auch berücksichtigen, ob der Vorauslese-Cache-Speicher voll ist. Dies erfolgt durch Normierung der Anzahl an Einheiten in dem Cache-Speicher bezüglich der Anzahl an Einheiten, die man im Optimalfall gern in dem Cache-Speicher haben würde.
  • Die Erfindung, wie sie momentan implementiert wird, ermittelt eine Transportmetrik (TM) zur Darstellung der auf dem gemeinsam genutzten Netzwerk verfügbaren Ressourcen. Die Transportmetrik erhält man dadurch, daß die momentane zeitliche Tiefe des Vorauslesepuffers durch die gewünschte zeitliche Tiefe des Puffers normiert wird.
  • TransportMetric = Currenttemporaldepth/Targettemporaldepth* 100
  • (TransportMetric = momentane zeitliche Tiefe/zeitliche Solltiefe*100)
  • Die TransportMetric wird als Eingabe für eine Abbildungsfunktion verwendet, um einen relativen Skalierungswert zu erhalten, der an den Server zurückgeschickt werden kann. Der zurückgeschickte Wert ist eine Zahl mit 8 Bit und Vorzeichen, die im Bereich von -128 bis +127 liegt. Die Größe der Zahl gibt an, wieviele 128stel der momentanen Datenrate zur Einstellung des Flusses verwendet werden. Das Vorzeichen des Skalierungsfaktors gibt die Richtung der Anderung an. Eine negative Zahl bedeutet weniger Daten (höhere Skalierung), und eine positive Zahl bedeutet, daß mehr Daten gesendet werden sollen (geringere Skalierung). Die nachstehende Tabelle erläutert die Abbildung von einer TransportMetric auf einen Skalierungsfaktor.
  • Wenn beispielsweise der Vorauslese-Cache-Speicherpuffer eine zeitliche Tiefe von mehr als 90 % des Sollwerts und weniger als 110 % des Sollwerts aufweist, befindet sich das System im stabilen Zustand. Keine Skalierungseinstellungen sind infolge der NetzwerkRessourcen erforderlich, und Null wird als Netzwerkskalierungswert zurückgeschickt. Wenn die zeitliche Tiefe des Vorauslese-Cache-Speichers zwischen 60 % und 70 % der gewünschten Tiefe liegt, wird ein Skalierungsfaktor von -6 zurückgeschickt. Der Wert von -6 teilt dem Medienproduzenten mit, die Datenrate durch 6/128 der momentanen Datenrate zu verringern.
  • Wenn NR die neue Rate bezeichnet, CR die momentane Rate, und SF den Skalierungsfaktor, der von der Tabelle zurückgeschickt wird, berechnet der Medienproduzent die neue Datenrate unter Verwendung folgender Formel:
  • NR = CR * (1 + SF / 128)
  • Da unterschiedliche Produktions- und Transportmechanismen bestimmte Eigenschaften (beispielsweise unterschiedliche Ausbreitungsverzögerungen) aufweisen, wird die Bestimmung der Einstellung der Datenratensaklierung infolge von. NetzwerkRessourcen als Nachschlagetabelle abstrahiert. Dies gestattet es dem System, sich an Umgebungen anzupassen, die unterschiedliche Eigenschaften aufweisen, nämlich durch Abänderung der. Tabelle, statt den Code zu ändern. Andere Verfahren können zur Bereitstellung entsprechender Funktionen eingesetzt werden, beispielsweise die Verwendung einer Funktion zur Ermittlung der Skalierungswerte. Der Skalierungswert muß nicht eine prozentuale Anderung der momentanen Datenrate angeben, sondern kann auch tatsächlich direkt eine absolute Datenrate angeben.
  • Eine Tabelle wird bei der momentanen Implementierung der Erfindung dazu verwendet, einen Skalierungswert auf der Grundlage von NetzwerkRessourcen zu erhalten. Die Tabelle gestattet die Abbildung der normierten zeitlichen Einheiten in der Leitung auf einen Netzwerkskalierungsparameter, der den Ressourcentrendänderungsvektor darstellt. Die Verwendung der Tabelle gestattet es der Medienzuordnungsvorrichtung, einen Netzwerkskalierungsparameter (Ressourcentrend, also Richtung und Größe) auf der Grundlage der Änderung der Anzahl normierter zeitlicher Einheiten zu ermitteln, die in dem Cache-Speicher liegen, verglichen mit der Anzahl normierter zeitlicher Einheiten, die in dem Cache-Speicher während des letzten Zeitbetrages lagen. Diese Funktion wird durch den Pseudocode erläutert, der im Anhang B aufgeführt ist.
  • Ermittlung von Verarbeitungs- und DarstellungsRessourcen
  • Die Ermittlung von Verarbeitungs- und DarstellungsRessourcentrends wird kontinuierlich von der Ressourcenzuordnungsvorrichtung durchgeführt. Das Ziel in einem einzelnen oder Multitasking-System besteht darin, soviele Verarbeitungs- und DarstellungsRessourcen wie möglich zu nutzen, ohne die Gesamtsystemleistung negativ zu beeinflussen. Anders ausgedrückt gibt es eine Obergrenze für die Ressourcenverfügbarkeit (Berechnungszyklen, Datenbewegungsbandbreite, Bildanzeige, usw.), welche dann, wenn sie überschritten wird, die Gesamtleistung des Systems verschlechtert. Die vorliegende Erfindung ist dazu fähig, die Ressourcenverfügbarkeitsobergrenze innerhalb der Microsoft Windows-Betriebssystemumgebung festzustellen und zu quantifizieren, weiche zum Treiben des adaptiven Ratenskalierungsvorgangs verwendet werden kann. Die Erfassung und Quantifizierung der Ressourcenobergrenze ist leicht auf andere Betriebssysteme übertragbar.
  • Microsoft Windows ist ein Betriebssystem auf Nachrichtenbasis. Innerhalb des Nachrichtenübertragungsprotokolls gibt es Nachrichten mit unterschiedlichen Prioritäten, beispielsweise Zeitgebernachrichten oder Malnachrichten. Diese Nachrichten werden nur an Anwendungen geliefert, wenn keine anderen Nachrichten in der Nachrichtenwarteschlange der Anmeldung vorhanden sind. Der Empfang einer Zeitgebernachricht bedeutet:
  • Der Task weist keine ausstehenden Nachrichten von anderen Tasks oder dem System selbst auf. Er muß daher keine Ereignisse verarbeiten.
  • Der Task ist nicht damit beschäftigt, ein vorheriges Ereignis zu verarbeiten.
  • Es läuft kein anderer Task.
  • Wenn der Task eine Zeitgebernachricht empfängt kann er annehmen, daß nichts Bedeutendes in dem System passiert. Anders ausgedrückt befindet sich der Task beinahe im Leerlauf, und haben alle anderen Tasks SystemRessourcen freigegeben, damit andere Tasks laufen können.
  • Die vorliegende Erfindung stellt die Klienten-Workstation- Ressourcenverfügbarkeit auf der Grundlage der Frequenzabweichung des Empfangs von Nachrichten mit niedriger Priorität fest. Für diese Implementierung verwendet die Erfindung die Abweichung der Frequenz, mit welcher eine Zeitgebernachricht empfangen wird, von der Frequenz von Zeitgeberereignissen, welche der Task von dem System anforderte. Jedesmal, wenn eine Zeitgebernachricht empfangen wird, wird ein Ereigniszähler schrittweise erhöht. In diskreten Intervallen untersucht das Ressourcenzuordnungsvorrichtungsmodul die Frequenz der Zeitgeberereignisse und vergleicht sie mit den erwarteten Frequenzen.
  • Da die Zeitgebernachricht eine niedrigere Priorität als alle anderen Ereignisse aufweist (mit der Ausnahme von Malnachrichten) in der Microsoft Windows-Umgebung, tritt die Ankunft von Zeitgerbernachrichten bei einem vorgegebenen Task mit einer erforderlichen Frequenz mit niedriger Frequenz auf, wenn das System stark belastet ist. Im Gegensatz, wenn das System nur leicht belastet ist, entspricht der Empfang an Zeijtgebernachrichten der Frequenz, welche der Task angefordert hat. Durch Verfolgung der Abweichung des Empfangs der Zeitgebernachricht von der angeforderten Frequenz, und durch Untersuchung der Abweichung, kann der adaptive Ratenskalierungsvorgang die Systembelastung quantifizieren.
  • Die Erfindung, wie sie momentan implementiert ist, ermittelt eine Klientenmetric (CM) zur Angabe der auf dem gemeinsam genutzten Netzwerk verfügbaren Ressourcen. Die Klientenmetric erhält man durch Normierung der Frequenz an Zeitgeberereignissen durch die geforderte Frequenz an Zeitgeberereignissen.
  • ClientMetric = Actualfrequency/Requestedfrequency*100
  • (Klientenmetric = aktuelle Frequenz/geforderte Frequenz*100)
  • Die Klientenmetric wird als Eingabewert für eine Abbildungsfunktion verwendet, um einen relativen Skalenwert zu erhalten, der an den Server zurückgeschickt werden kann. Der zurückgeschickte Wert ist eine Zahl mit 8 Bit und Vorzeichen, die im Bereich von -128 bis +127 liegt. Die Größe der Zahl gibt an, mit wievielen 128stel der momentanen Datenrate der Fluß eingestellt wird. Das Vorzeichen des Skalenfaktors gibt die Richtung der Änderung an. Eine negative Zahl bedeutet, daß weniger Daten gesendet werden sollen (höhere Skalierung), und eine positive Zahl, daß mehr Daten gesendet werden sollen (geringere Skalierung). Die nachstehende Tabelle erläutert die Abbildung von der KlientenMetric auf den Skalenfaktor.
  • Wenn beispielsweise die empfangene Anzahl an Zeitgebernachrichten größer als 325 und kleiner als 475 ist, so befindet sich das Klientensystem auf dem gewünschten Belastungspegel und daher im stabilen Zustand. Infolge der KlientenRessourcen sind keine Skalierungseinstellungen erforderlich, und wird der Wert von Null als der Klientenskalierungsfaktor zurückgeschickt. Wenn die Anzahl an Zeitgeberereignissen zwischen 100 und 275 liegt, wird ein Skalierungsfaktor von -6 zurückgeschickt. Der Wert von -6 teilt dem Medienproduzenten mit, daß die Datenrate durch 6/128 der momentanen Datenrate verringert werden soll.
  • Wenn NR die neue Rate bezeichnet, CR die momentane Rate, und SF den Skalierungsfaktor, der von der Tabelle zurückgeschickt wird, so berechnet der Medienproduzent die neue Datenrate unter Verwendung folgender Formel:
  • NR = CR * (1 + SF / 128)
  • Unter Verwendung der Frequenz von Zeitgeberereignissen als Nachschlagewert in einer Abbildungstabelle kann die Ressourcenzuordnungsvorrichtung einen Klientenskalierungsvektor ermitteln, welchen der adaptive Ratenskalierungsvorgang dazu verwenden kann, die Datenrate abzuändern, welche der Medienproduzent an die Klienten- Workstation liefert. Es können andere Verfahren zur Bereitstellung entsprechender Funktionen verwendet werden, beispielsweise die. Verwendung einer Funktion zur Ermittlung der Skalierungswerte. Der Skalierungswert muß nicht eine prozentuale Änderung der momentanen Datenrate angeben, sondern kann stattdessen auch direkt eine absolute Datenrate angeben.
  • Bei der momentanen Implementierung der Erfindung wird eine Tabelle dazu verwendet, einen Skalierungswert auf der Grundlage von KlientenRessourcen zu erhalten. Die Tabelle gestattet die Abbildung des Zeitgebernachrichtenzählwertes auf einen Klientenskalierungsparameter, welcher den Ressourcentrendänderungsvektor angibt. Die Verwendung der Tabelle erlaubt es der Medienzuordnungsvorrichtung, einen Klientenskalierungsparameter (Ressourcentrend, nämlich Richtung und Größe) festzustellen, auf der Grundlage der Änderung der Anzahl an Zeitgebernachrichten, die über einen Zeitraum empfangen wurden. Diese Funktion wird durch den Pseudocode erläutert, der im Anhang C aufgeführt ist.
  • Änderung des Cache-Zwischenspeichers
  • Wenn der Medienproduzent das Ausmaß der Skalierung erhöht oder verringert, weist der Medieninterpret potentiell mehr oder weniger zeitliche Einheiten in einem Vorauslese-Cache- Zwischenspeicher mit vorgegebenen physikalischen Abmessungen auf. Wenn der Cache-Zwischenspeicher zuerst zugeordnet wird, ist seine Größe dazu ausreichend, eine Anzahl an zeitlichen Einheiten bei der maximalen Datenrate zu halten, mit welcher geliefert wird.
  • Während des Betriebs des Systems kann der adaptive Ratenskalierungsvorgang den Medienproduzenten anweisen, vorauseilend die Datenrate zurückzuskalieren. Der Medienproduzent führt dies durch Ersetzen vorhandener Videorahmen durch Null-Rahmen durch. Da die Daten, die zur Darstellung eines Null-Rahmens erforderlich sind&sub1; erheblich weniger sind als die Videodaten, die hierdurch ersetzt werden (potentiell um mehrere Größenordnungen), stellt der Vorauslese-Cache-Zwischenspeicher auf der Klienten- Workstation eine zeitliche Tiefe dar, die wesentlich größer ist als gewünscht.
  • Ein Wachstum der zeitlichen Tiefe in dem Cache- Zwischenspeicher beeinträchtigt den adaptiven Ratenskalierungsvorgang negativ. Dies liegt daran, daß dann, wenn die zeitliche Tiefe des Cache-Zwischenspeichers zunimmt, auch die Ausbreitungsverzögerung der Datenratenänderung zunimmt. Da Daten nicht entfernt werden, sobald sie einmal von dem Medienproduzenten erzeugt wurden, müssen sämtliche Daten innerhalb des kontinuierlich Daten liefernden Cache- Zwischenspeichers verbraucht werden, bevor von dem Medienproduzenten mit geänderter Rate erzeugte Daten das System stabilisieren können.
  • Es ist möglich, daß die zeitliche Tiefe in solchem Ausmaß wächst, daß sie Schwingungen in den Anforderungen nach einer adaptiven Ratenskalierung mit einer Größe hervorruft, daß die Systemleistung in größerem Ausmaß gestört wird als durch die Schwingungen, die ein System normalerweise infolge von Schwankungen von SysteirtRessourcen erfährt. Jede Vorschrift für adaptive Ratenskalierung, welche eine vorauslesende, kontinuierliche Datenlieferung von Medien auf Zeitbasis verwendet, muß dynamisch die physikalischen Ressourcen einstellen, die für das Vorauslese-Cache- Zwischenspeichersystem zugeordnet werden.
  • Die vorliegende Erfindung modifiziert dynamisch die physikalischen Ressourcen, die dem Cache-Zwischenspeicher zugeordnet werden, um eine zeitliche Tiefe innerhalb einer maximalen positiven Abweichung und einer maximalen negativen Abweichung von der Soll-Zeittiefe aufrechtzuerhalten. Diese Funktion wird durch das im Anhang D aufgeführte Pseudocodeprogramm erläutert.
  • Durch Aufrechterhaltung des vorauslesenden, kontinuierlich Daten liefernden Cache-Zwischenspeichers als Warteschlange, die aus mehreren Gruppen von Puffern besteht, welche die gleiche Größe aufweisen wie die maximale Paketgröße, die von dem Netzwerk verwendet wird, werden die nachstehenden Ziele erreicht.
  • Das Kopieren von Daten wird minimalisiert. Der Cache- Zwischenspeichermechanismus sorgt dafür, daß ein freier Puffer für die Netzwerkschnittstelle (Eingabe zum Cache- Zwischenspeicher) verfügbar wird, der ausreichende Abmessungen hat, um ein Netzwerkdatenpaket zu halten. Wenn das Datenpaket in den Speicherraum des Medieninterpreten kopiert wird, wird es direkt in die Warteschlange kopiert. Da eine Kopie erfolgen muß, um die Daten von dem Transport in den Speicher zu befördern, haben wir so die Daten in die geeignete Position der Warteschlange eingefügt, ohne daß eine zusätzliche Kopie erforderlich wurde.
  • Die Datenwarteschlange ist segmentiert, damit die Ressourcenzuordnungsvorrichtung das Ausmaß an physikalischen Ressourcen, die verfügbar sind, dadurch verringern kann, daß sie Puffer aus dem Vorauslese- Cache-Zwischenspeicher entfernt und sie in einer Leerlaufwarteschlange parkt. Da der von der Erfindung verwendete adaptive Ratenskalierungsvorgang die Mediendatenrate verringert, verringert er auch die physikalischen Ressourcen, die für den Vorauslese-Cache- Zwischenspeicher mit kontinuierlicher Datenlieferung verfügbar sind, so daß die zeitliche Tiefe des Cache- Zwischenspeichers ausreichend nahe an der gewünschten Tiefe bleibt. Wenn Ressourcen für das Liefern und Verarbeiten von Medienströmen verfügbar werden, kann die Ressourcenzuordnungsvorrichtung Puffer von der geparkten Warteschlange zur Cache-Zwischenspeicherwarteschlange bewegen.
  • Ressourcenausgleich
  • Der Vorgang des Lieferns, Verarbeitens und Darstellens zeitkritischer Daten kann nur mit einer Rate erfolgen, die durch die langsamste Verbindung in dem Vorgang begrenzt ist. Im Falle des adaptiven Ratenskalierungsvorgangs ist der Datenratenänderungsvektor, der von der Klienten-Workstation an den Medienproduzenten geschickt wird, der niedrigere der Werte, die für NetzwerkRessourceneinschränkungen und für Klientenverarbeitungsres sourceneinschränkungen erhalten werden. Diese Funktion wird durch den im Anhang E aufgeführten Pseudo code erläutert.
  • In Bezug sowohl auf die Patentansprüche als auch die Beschreibung der bevorzugten Ausführungsformen stellt eine Datenquelle 10 ein Computersystem dar, welches die Funktion des Medienproduzenten zur Verfügung stellt. Der Ausdruck Tidatenverbraucheril betrifft ein Computersystem, welches die Funktionen der Ressourcenzuordnungsvorrichtung und des Medieninterpreten zur Verfügung stellt.

Claims (15)

1. Datenliefersystem mit:
einem Datenkommunikationsmedium (30);
einer an das Datenkommunikationsmedium angeschlossene Datenquelle (10) zum Liefern von Daten an das Datenkommunikationsmedium;
einer Datenabnehmereinrichtung (20), die an das Datenkommunikationsmedium angeschlossen ist, wobei die Datenabnehmereinrichtung von der Datenquelle gelieferte Daten durch das Datenkommunikationsmedium empfängt, dadurch gekennzeichnet, daß
die Datenabnehmereinrichtung (20) so ausgebildet ist, daß sie einen dynamischen Skalierparameter berechnet, welcher die Belastung des Systems repräsentiert, auf der Grundlage zumindest einer vorbestimmten variablen Eigenschaft in Bezug auf die Belastung des Systems, und den dynamischen Skalierparameter an die Datenquelle (10) übermittelt,
und daß die Datenquelle (10) so ausgebildet ist, daß sie selektiv einen Anteil der Daten wegfallen läßt, die hierdurch über das Datenkommunikationsmedium (30) an die Datenabnehmereinrichtung (20) entsprechend dem dynamischen Skalierparameter geliefert werden,
wodurch der Umfang der Daten, die durch das Datenkommunikationsmedium geliefert werden, entsprechend der Belastung des Systems variiert werden kann.
2. Datenliefersystem nach Anspruch 1, bei welchem die Datenabnehmereinrichtung (20) so ausgebildet ist, daß sie den dynamischen Skalierparameter entsprechend einer Datenlieferrate durch das Datenkommunikationsmedium (30) berechnet.
3. Datenliefersystem nach Anspruch 1, bei welchem die Datenabnehmereinrichtung (20) so ausgebildet ist, daß sie den dynamischen Skalierparameter entsprechend einer Kapazitätseigenschaft der Datenabnehrnereinrichtung berechnet.
4. Datenliefersystem nach Anspruch 1, bei welchem die Datenabnehmereinrichtung (20) so ausgebildet ist, daß sie den dynamischen Skalierparameter entsprechend einer Datenlieferrate durch das Datenkommunikationsmedium (30) berechnet, und entsprechend der Verfügbarkeit von Ressourcen der Datenabnehmereinrichtung.
5. Datenliefersystem nach Anspruch 1, bei welchem der dynamische Skalierparameter auf der Häufigkeit von Zeitgebernachrichten beruht, die von der Datenabnehmereinrichtung empfangen werden.
6. Datenliefersystem nach einem der Ansprüche 1 bis 5, bei welchem die von der Datenquelle gelieferten Daten eine erste und eine zweite Art von Daten umfassen, wobei die erste Datenart mit festem Umfang und die zweite Datenart mit variablem Umfang geliefert wird, und die Datenabnehmereinrichtung so ausgebildet ist, daß sie den dynamischen Skalierparameter entsprechend dem Synchronisationszustand zwischen den beiden Arten von Daten bestimmt, wodurch die erste und die zweite Art von Daten dadurch synchronisiert werden, daß selektiv Anteile der zweiten Datenart entfernt werden.
7. Datenliefersystem nach einem der Ansprüche 1 bis 5, bei welchem die von der Datenquelle (10) gelieferten Daten synchronisierte Videodaten (36) und Audiodaten (34) umfassen.
8. Datenliefersystem nach Anspruch 7, bei welchem die Datenquelle (10) so ausgebildet ist, daß sie nur Videodaten entsprechend dem dynamischen Skalierparameter wegfallen
9. Datenliefersystem nach Anspruch 8, bei welchem die Videodaten (36) in einem Vollrahmen-/Differenzrahmenformat komprimiert sind, und bei welchem die Datenquelle so ausgebildet ist, daß sie nur Differenzrahmen bei den Videodaten wegfallen läßt.
10. Datenliefersystem nach Anspruch 8, bei welchem die Videodaten (36) in einem Vollrahmen-/Differenzrahmenformat komprimiert sind, und wobei die Datenquelle so ausgebildet ist, daß sie nur hintere Differenzrahmen in einer Folge von Differenzrahmen auf der Grundlage eines bestimmten Vollrahmens wegfallen läßt.
11. Datenliefersystem nach Anspruch 8, bei welchem die Videodaten (36) in einem Vollrahmen-/Differenzrahmenformat komprimiert sind, und wobei die Datenquelle so ausgebildet ist, daß sie einen Vollrahmen und alle zugehörigen Differenzrahmen wegfallen läßt.
12. Datenliefersystem nach einem der Ansprüche 8 bis 11, bei welchem die Datenquelle (10) so ausgebildet ist, daß sie die Videodaten dadurch wegfallen läßt, daß sie die weggefallenen Videodaten durch Nullrahmen ersetzt.
13. Datenliefersystem nach Anspruch 1, bei welchem die Datenabnehmereinrichtung (10) einen Vorablesecachespeicher aufweist, der so ausgebildet ist, daß er zeitweilig Daten speichert, die von der Datenquelle durch das Datenkommunikationsmedium empfangen werden.
14. Datenliefersystem nach Anspruch 13, bei welchem der Skalierparameter entsprechend der Menge an Daten bestimmt wird, die in dem Vorablesecachespeicher gespeichert sind.
15. Datenliefersystem nach Anspruch 13, bei welchem die Kapazität des Cachepeichers sich entsprechend dem Skalierparamter ändert.
DE69405976T 1993-02-03 1994-02-02 Datenflu steuerung durch lastbewertung des netzes Expired - Lifetime DE69405976T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/013,009 US5719786A (en) 1993-02-03 1993-02-03 Digital media data stream network management system
US16440793A 1993-12-08 1993-12-08
PCT/US1994/001171 WO1994018771A1 (en) 1993-02-03 1994-02-02 Flow control by evaluating network load

Publications (2)

Publication Number Publication Date
DE69405976D1 DE69405976D1 (de) 1997-11-06
DE69405976T2 true DE69405976T2 (de) 1998-01-29

Family

ID=26684310

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69405976T Expired - Lifetime DE69405976T2 (de) 1993-02-03 1994-02-02 Datenflu steuerung durch lastbewertung des netzes
DE69406650T Expired - Lifetime DE69406650T2 (de) 1993-02-03 1994-02-02 Multimediaverteilungssystem

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69406650T Expired - Lifetime DE69406650T2 (de) 1993-02-03 1994-02-02 Multimediaverteilungssystem

Country Status (7)

Country Link
EP (2) EP0682833B1 (de)
JP (4) JP2846956B2 (de)
AT (2) ATE160066T1 (de)
AU (2) AU6695594A (de)
CA (2) CA2155353C (de)
DE (2) DE69405976T2 (de)
WO (2) WO1994018776A2 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452435A (en) * 1993-03-31 1995-09-19 Kaleida Labs, Inc. Synchronized clocks and media players
SG34287A1 (en) 1994-10-28 1996-12-06 Hitachi Ltd Input-output circuit recording apparatus and reproduction apparatus for digital video signal
EP1534020A3 (de) 1995-04-27 2005-06-01 Hitachi, Ltd. Verfahren und Vorrichtung zum Empfang und/oder Wiedergabe von digitales Signal
IL115263A (en) * 1995-09-12 1999-04-11 Vocaltec Ltd System and method for distributing multi-media presentations in a computer network
JP2842831B2 (ja) * 1996-03-27 1999-01-06 日本電気エンジニアリング株式会社 データパケット伝送装置および方法
US5991836A (en) * 1997-05-02 1999-11-23 Network Computing Devices, Inc. System for communicating real time data between client device and server utilizing the client device estimating data consumption amount by the server
US6574211B2 (en) 1997-11-03 2003-06-03 Qualcomm Incorporated Method and apparatus for high rate packet data transmission
US7184426B2 (en) 2002-12-12 2007-02-27 Qualcomm, Incorporated Method and apparatus for burst pilot for a time division multiplex system
US9118387B2 (en) 1997-11-03 2015-08-25 Qualcomm Incorporated Pilot reference transmission for a wireless communication system
DE19853665B4 (de) * 1998-11-20 2005-06-30 Siemens Ag Fahrzeugkommunikationssystem und Verfahren zum Austausch von Daten in einem Kraftfahrzeug
JP4008162B2 (ja) 1999-08-18 2007-11-14 富士通株式会社 通信方法、及び通信装置
AU2002222311A1 (en) * 2000-10-20 2002-04-29 Eyeball.Com Network Inc. Network virtual games
US7068683B1 (en) 2000-10-25 2006-06-27 Qualcomm, Incorporated Method and apparatus for high rate packet data and low delay data transmissions
US6973098B1 (en) 2000-10-25 2005-12-06 Qualcomm, Incorporated Method and apparatus for determining a data rate in a high rate packet data wireless communications system
US7683903B2 (en) 2001-12-11 2010-03-23 Enounce, Inc. Management of presentation time in a digital media presentation system with variable rate presentation capability
GB2372676A (en) * 2001-02-21 2002-08-28 Ericsson Telefon Ab L M Preventing overload in a telecommunications system
JP3703759B2 (ja) * 2001-11-30 2005-10-05 株式会社東芝 移動体端末の制御方法および移動体端末
DE10354556B4 (de) 2002-11-25 2008-10-09 Samsung Electronics Co., Ltd., Suwon Vorrichtung und Verfahren zum Anzeigen von Bildern in einem mobilen Endgerät
JP4789401B2 (ja) 2003-06-25 2011-10-12 トヨタ自動車株式会社 コンテンツ配信システム
US7882510B2 (en) 2003-08-06 2011-02-01 Microsoft Corporation Demultiplexer application programming interface
US7881335B2 (en) 2007-04-30 2011-02-01 Sharp Laboratories Of America, Inc. Client-side bandwidth allocation for continuous and discrete media
US8811200B2 (en) 2009-09-22 2014-08-19 Qualcomm Incorporated Physical layer metrics to support adaptive station-dependent channel state information feedback rate in multi-user communication systems
US8082313B2 (en) 2009-10-26 2011-12-20 International Business Machines Corporation Efficient utilization of read-ahead buffer by partitioning read-ahead buffer in correspondence with selectors
JP5660983B2 (ja) 2011-06-28 2015-01-28 トヨタ自動車株式会社 コンテンツ配信システム
US10990289B2 (en) 2018-09-28 2021-04-27 Seagate Technology Llc Data storage systems using time-based read ahead
US10990402B1 (en) 2019-12-18 2021-04-27 Red Hat, Inc. Adaptive consumer buffer
US11595457B2 (en) * 2021-04-05 2023-02-28 Arris Enterprises Llc System and method for dynamic adjustment of content streaming rates

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5067074A (en) * 1989-10-27 1991-11-19 At&T Bell Laboratories Control of overload in communications networks

Also Published As

Publication number Publication date
WO1994018771A1 (en) 1994-08-18
JP2002033771A (ja) 2002-01-31
CA2155353C (en) 2000-10-24
CA2155354A1 (en) 1994-08-18
ATE160066T1 (de) 1997-11-15
JP2846956B2 (ja) 1999-01-13
EP0682833B1 (de) 1997-10-01
AU6695594A (en) 1994-08-29
JP3523217B2 (ja) 2004-04-26
JPH09511623A (ja) 1997-11-18
JPH08509847A (ja) 1996-10-15
WO1994018776A3 (en) 1994-10-13
AU6132194A (en) 1994-08-29
CA2155354C (en) 2001-04-17
CA2155353A1 (en) 1994-08-18
DE69405976D1 (de) 1997-11-06
EP0682833A1 (de) 1995-11-22
JP2002033998A (ja) 2002-01-31
DE69406650T2 (de) 1998-03-05
EP0683951A1 (de) 1995-11-29
EP0683951B1 (de) 1997-11-05
JP3523218B2 (ja) 2004-04-26
WO1994018776A2 (en) 1994-08-18
ATE158909T1 (de) 1997-10-15
DE69406650D1 (de) 1997-12-11

Similar Documents

Publication Publication Date Title
DE69405976T2 (de) Datenflu steuerung durch lastbewertung des netzes
DE69812338T2 (de) Video auf anfrage mit videorecorderähnlichen funktionen
DE60213297T2 (de) Multimediadatenübertragung durch vorwärtsgerichtetes Streamen
DE69604251T2 (de) Informationsanbietergerät, um selektives Spielen von Multimediainformationen durch interaktive Eingabe zu ermöglichen, basierend auf einer angezeigten Hypertextinformation
DE60016784T2 (de) Planung von speicherzugriffen für raten-garantierte und nicht-raten-garantierte anforderungen
DE69902831T2 (de) Nutzungsplanung für eine Platte und nicht-lineare Video-Editiersysteme
DE69509523T2 (de) Server für digitale videodaten für eine vielzahl von anwendern in synchrongruppen
DE60123396T2 (de) Diskzuordnungssystem mit umordnung einer begrenzten anzahl von anforderungen
DE69604299T2 (de) Unterstützung für video-auf-anfrage durch versetzte datenströme
DE69433047T2 (de) Verfahren und Anordnung zur Zuteilung von Systembetriebsmitteln, um die Dienstqualität zu sichern
DE10296790B4 (de) Verfahren zur Präsentation von Medienobjekten, Multimediapräsentationssystem sowie Computerprogrammprodukt und dessen Verwendung
DE602004012540T2 (de) Videocodierer und videocodierungsverfahren
DE60005205T2 (de) Vorrichtung und verfahren zur zusammensetzung eines mediaspeichersystems
DE69504551T2 (de) Gruppierende Planungsweisen zur Erzeugung von VCR-Steuerfunktionen eines Videoservers
DE69919474T2 (de) Automatische Anpassung der Qualität von Bilddaten um die Antwortzeiten eines Web-Servers zu reduzieren
DE60112103T2 (de) Verfahren und Vorrichtung zur effizientes Verringerung von graphischen Anzeigedaten für ihre Übertragung mittels eines Übertragungsprotokolls für niedrige Bandbreiten
DE69611808T2 (de) Planungsverfahren für Videos in einem Video-on-Demand-System und Video-on-Demand-System geeignet zur Ausführung dieses Verfahrens
DE60218358T2 (de) Verfahren und Vorrichtung zur Datenübertragung
DE10344017A1 (de) Server, Client, Vorrichtung und Verfahren zum Streamen von Multimediadaten und Netzwerkbandbreitenmessverfahren
DE69515484T2 (de) Vorgezogener datenzugriff für script-basierte multimediasysteme
DE20222026U1 (de) Vorrichtung mit Decodierer zur verbesserten Referenzcodierung
EP1678871B1 (de) Verfahren zur übertragung von daten
DE602004009176T2 (de) Dienstverwaltung durch verwendung mehrerer dienstort-manager
DE69733199T2 (de) Verfahren und audio-server-system für ein unzuverlässiges netzwerk
DE602004011211T2 (de) Verfahren zur anpassung der dienstortplazierung auf der basis von aus dienstknoten empfangenen neueren daten und aktionen des dienstortsmanagers

Legal Events

Date Code Title Description
8364 No opposition during term of opposition