DE69533565T2 - Verteiltes Computersystem - Google Patents
Verteiltes Computersystem Download PDFInfo
- Publication number
- DE69533565T2 DE69533565T2 DE69533565T DE69533565T DE69533565T2 DE 69533565 T2 DE69533565 T2 DE 69533565T2 DE 69533565 T DE69533565 T DE 69533565T DE 69533565 T DE69533565 T DE 69533565T DE 69533565 T2 DE69533565 T2 DE 69533565T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- module
- data stream
- computer
- stream
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26266—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for determining content or additional data repetition rate, e.g. of a file in a DVB carousel according to its importance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4351—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/47815—Electronic shopping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
Description
- Die vorliegende Erfindung betrifft ein verteiltes Client-Server-Computersystem. Ein derartiges Computersystem kommt in Fernseh-Multimedia-Anwendungen zur Anwendung.
- Frühe Computersysteme waren unabhängige Systeme, die im Allgemeinen aus Großrechnern bestanden. Später wurden mehrere Großrechnersysteme zur Handhabung von größeren Computeraufgaben, wie beispielsweise einer großen Anzahl von Teilnehmern, eng verbunden oder aneinander angeschlossen. Mit dem Erscheinen von PCs wurde eine große Anzahl von unabhängigen Computersystemen mit relativ geringer Leistung direkt von den Benutzern gesteuert. Bald wurde diese große Anzahl von PCs zu Computernetzen zusammengekoppelt, wodurch den Benutzern der einzelnen PCs sowie zwischen den Benutzern und den bereits bestehenden Großrechnern gemeinsame Ressourcen und Kommunikationsmöglichkeiten bereitgestellt wurden.
- Eine Form eines derartigen Netzes umfasst einen Zentralcomputer, genannt Server, der im Allgemeinen eine große Menge an Massenspeicher umfasst. Programme, die von den Netzbenutzern verwendet werden, werden in dem Massenspeicher im Server zentral gespeichert. Wenn ein Benutzer ein Programm laufen lassen möchte, fordert der Computer des Benutzers das Senden einer Kopie dieses Programms vom Server zu dem Computer an. Als Reaktion auf diese Anfrage überträgt der Server eine Kopie des Programms aus seinem Massenspeicher zum Hauptspeicher des PCs dieses Benutzers und das Programm wird auf dem PC ausgeführt. Ebenfalls können Daten zentral in dem Server gespeichert und von allen Benutzern im Netz gemeinsam benutzt werden. Die Daten werden im Massenspeicher des Servers gespeichert und sind allen Netzbenutzern als Reaktion auf eine Anfrage zugänglich. Der Server dient ebenfalls als Verkehrskonzentrierungseinheit zur Nachrichtenübermittlung (elektronische Post) zwischen den Netzbenutzern. Der Server handhabt in einem derartigen System die Speicherung und Verteilung der Programme, Daten und Nachrichten, steuert jedoch keine Verarbeitungsleistung zu den tatsächlichen Computeraufgaben eines der Benutzer bei. Das heißt, ein Benutzer kann nicht erwarten, dass der Server-Computer eine der Verarbeitungsaufgaben des Programms ausführt, das auf dem PC ausgeführt wird. Während derartige Netze eine wertvolle Funktion ausführen, sind sie keine verteilten Computersysteme, bei denen miteinander verbundene Computer zusammenarbeiten, um eine einzige Computeraufgabe auszuführen.
- Bei einer Verbesserung derartiger Netze kann das Netz in einer solchen Weise konfiguriert sein, dass ein Benutzer in dem Netz anfordern kann, dass der Server oder ein anderer PC, der an das Netz angeschlossen ist, ein Programm ausführt. Dies wird Fernausführung genannt, da ein Computer (ein Server oder ein anderer PC), der sich von dem Anfrager entfernt befindet, als Reaktion auf eine Anfrage von dem Anfrager ein Programm ausführt. Bei einem derartigen System wird das Programm, für das eine Fernausführung angefordert wird, entweder von dem Anfrager zu dem Ferncomputer gesendet, oder es wird als Reaktion auf eine Anfrage durch den Ferncomputer vom Server abgerufen. Wenn das Programm empfangen wird, wird es ausgeführt. Auf diese Weise können mehrere Computer eingetragen werden, um an der Ausführung einer Computerfunktion mitzuwirken.
- Neuerdings gibt es Programme, die die tatsächlichen Computeraufgaben, die zur Ausführung einer einzelnen Computerfunktion notwendig sind, verteilen. Wenn beispielsweise in einem solchen Datenbankprogramm, bei dem die Datenbank im Massenspeicher des Servers gespeichert ist, ein Benutzer eine Abfrage der Datenbank machen möchte, erzeugt der Abschnitt des Datenbank-Managementprogramms auf dem PC dieses Benutzers eine Abfrageanfrage, die an den Server weitergeleitet wird. Der Abschnitt des Datenbank-Managementprogramms auf dem Server führt die Abfrageverarbeitung aus, z.B. syntaktische Analyse der Abfrageanfrage, Feststellen, wo sich die in der Abfrageanfrage spezifizierten Daten in seiner Massenspeichervorrichtungbefinden, Zugseifen auf diese Daten und Senden der Ergebnisse über das Netz zurück zu dem anfragenden PC. Der Abschnitt des Datenbank-Managementprogramms auf dem PC verarbeitet daraufhin die vorn Server empfangenen Daten, z.B. durch Formatieren und Anzeigen der Daten auf dem Bildschirm oder Ausdrucken der Daten auf einem Drucker. Während der Server die Abfrageanfrage verarbeitet, ist der PC für die Ausführung anderer Verarbeitungsvorgänge frei, und während der PC die Abfrageanfrage erzeugt und die vom Server empfangenen resultierenden Daten verarbeitet, ist der Server frei, Abfrageanfragen von anderen PCs zu verarbeiten.
- Andere Arten von Programmen können ebenfalls an diese Art von verteiltem Computerbetrieb, genannt Client-Server-Computerbetrieb, angepasst werden. Indem die Verarbeitungsaufgaben zwischen dem PC und dem Server aufgeteilt werden, wird die Gesamteffizienz des Computerbetriebs im ganzen Netz verbessert. Solche Client-Server-Computersysteme und Fernausführungsnetze können verteilte Computersysteme genannt werden, da mehrere Computer (der Server und/oder die jeweiligen peripheren Computer) zusammenarbeiten, um die Computerfunktion, z.B. das Datenbank-Management, auszuführen.
- In jüngster Zeit sind Fernseh-Multimediaprogramme, insbesondere interaktive Fernseh- (TV-)Programme, vorgeschlagen worden. Interaktive TV-Programme ermöglichen einem Zuschauer eines Fernsehprogramms, mit diesem Programm interaktiv zu kommunizieren. Bei einem interaktiven TV-System weist die zentrale Fernsehsendeposition (TV-Netz, örtliches TV-Studio, Kabelsystem usw.) einen Zentralrechner auf, der dem Server-Computer entspricht und Signale erzeugt, die das interaktive TV-Programm betreffen, das gleichzeitig mit den TV-(Video- und Audio-) Signalen gesendet werden soll. Diese Signale tragen Daten, die das interaktive TV-Progamm darstellen, und können Befehle, ausfühbaren Programmcode und/oder Daten zur Steuerung des Zuschauerdialogs umfassen. Jede Zuschauerposition verfügt über einen Computer, der dem Client-Computer entspricht und die Befehle, ausführbaren Code und/oder Daten vom Zentralcomputer empfängt, den ausführbaren Code ausführt, die empfangenen Daten verarbeitet, Eingaben vom Benutzer annimmt und dem Benutzer mit Hilfe des Fernsehbildschirms Daten bereitstellt. Die Eingaben vom Benutzer können zum Computer an der Fernsehsendeposition zurückgesendet werden, wodurch der Benutzer einen Dialog mit dem interaktiven Fernsehprogramm führen kann.
- US-Patent Nr. 4,965,825 SIGNAL PROCESSING APPARATUS AND METHODS, ausgegeben am 23.Okt. 1990 an Harvey et al., beschreibt ein interaktives TV-System, bei dem eine zentrale Fernsehsendeposition signaltragende Befehle, ausführbaren Code und Daten in beispielsweise der Bildaustastlücke des Fernsehsignals für den Empfang durch die Computersysteme an den Zuschauerpositionen umfasst. Ein Computer an der Zuschauerposition blendet die Befehle, ausführbaren Code und Daten aus und führt den Code aus, um die Daten zu verarbeiten und mit dem Benutzer einen Dialog zu führen. Ein solches System ist dahingehend mit der Fernausführungsfunktion von verteilten Computersystemen, die oben beschrieben wurden, vergleichbar, dass der Computer des Zuschauers in dem interaktiven Fernsehprogramm aufgelistet ist und von des zentralen Position gesteuert wird.
- US-Patent Nr. 5,251,301 „COMPUTER REMOTE CONTROL THROUGH VIDEO SIGNAL", ausgegeben am 5. Oktober 1993 an Gary M. Cook, beschreibt ein System zur gleichzeitigen Nutzung eines Videosignals, um ein Videobild und Computerdaten bereitzustellen. Datensignale, die die Computerdaten darstellen, werden für den Ersatz von digitalen Signalen verwendet, die Videopixel am Übertragungsende darstellen. Ein auf diese Weise modifiziertes digitales Signal wird in ein analoges Signal zurück umgewandelt und zu einem Empfänger gesendet, der daraufhin ein Videobild anzeigt, das dem modifizierten Signal entspricht, und der ebenfalls die Computerdaten ausblendet, so dass diese Daten einem Computer bereitgestellt werden können. Der Computer kann dementsprechend durch die Computerdaten gesteuert werden, während ein Videobild angezeigt wird.
- Bei allen oben genannten Systemen steuert ein Zentralcomputer periphere Computer, die mit ihm über ein Netz verbunden sind, oder er antwortet auf Anfragen von peripheren Computern. D.h., dass der periphere Computer (PC) eine Fernausführung eines Programms oder eine Datei oder Nachricht von einem anderen Computer anfordert oder eine Abfrageanfrage zu einem anderen Computer sendet. Nur als Reaktion auf eine Anfrage stellt der andere Computer eine Antwort bereit, z.B. eine Fernausführung, die angeforderte Datei, Nachricht oder abgerufene Daten. Zusätzlich muss der periphere Computer im Allgemeinen über alle Ressourcen verfügen, die zur vollständigen oder nahezu vollständigen Ausführung des gewünschten Programms erforderlich sind, wobei der Server lediglich als ein weiterer Speichermechanismus arbeitet oder höchstens an einem Teil der Computeraufgaben teilnimmt.
- Die Erfinder schlagen hierin ein verteiltes Computersystem vor, bei dem ein Server-Computer fortwährend einen Datenstrom erzeugt. Dieser Datenstrom wirkt als Massenspeichervorrichtung für die Client-Computer, die ihn empfangen. Dieser Datenstrom umfasst wiederholt Daten, die eine verteilte Computeranwendung darstellen, an der der Client-Computer teilnehmen kann, einschließlich ausführbaren Codes und Daten. Ein Transportmechanismus, der einen Hochgeschwindigkeitseinwegkommunikationspfad umfasst, trägt den Datenstrom vom Server zum Client. Der Client empfängt den Datenstrom, blendet die Daten aus, die die verteilte Computeroperation darstellen, und führt die verteilte Computeranwendung aus.
- Gemäß einem Gesichtspunkt der vorliegenden Erfindung wird ein verteiltes Computersystem bereitgestellt, das Folgendes umfasst: eine Datenstromquelle, die gleichzeitig dafür ausgelegt ist, eine Vielzahl kontinuierlicher Datenströme zu erzeugen, wiederkehrend Daten, die eine verteilte Computeranwendung darstellen, in mindestens einen Datenstrom der Vielzahl kontinuierlicher Datenströme einzufügen und ein Verzeichnismodul in mindestens einen Datenstrom der Vielzahl kontinuierlicher Datenströme einzufügen, wobei das Verzeichnismodul Informationen enthält, die die verteilte Computeranwendung betreffen.
- Vorzugsweise ist die Quelle dafür ausgelegt, die Daten in jeden Datenstrom der Vielzahl kontinuierlicher Datenströme einzufügen und ein Verzeichnismodul in jeden Datenstrom der Vielzahl kontinuierlicher Datenströme einzufügen; und des Weiteren ist ein Client-Computer
20 inbegriffen, der einen Datenempfänger enthält, der dafür ausgelegt ist, einen Datenstrom der Vielzahl kontinuierlicher Datenströme auszuwählen, um die Daten, die die verteilte Computeranwendung darstellen, aus dem ausgewählten Datenstrom der Vielzahl kontinuierlicher Datenströme auszublenden206 , und um die verteilte Computeranwendung auszuführen224 . - Gemäß einem zweiten Gesichtspunkt der Erfindung ist ein Client-Computer
22 zur Verwendung in einem verteilten Computersystem bereitgestellt, wobei der Client-Computer22 durch Folgendes gekennzeichnet ist: eine Eingangsklemme30 , die selektiv dafür ausgelegt ist, einen Datenstrom einer Vielzahl kontinuierlicher Datenströme zu empfangen, wobei der ausgewählte Datenstrom der Vielzahl kontinuierlicher Datenströme wiederkehrend Daten umfasst, die eine verteilte Computeranwendung und ein Verzeichnismodul darstellen; einen Datenstromempfänger207 , der mit der Eingangsklemme30 verbunden ist und dafür ausgelegt ist, den ausgewählten Datenstrom der Vielzahl kontinuierlicher Datenströme zu empfangen und die Daten auszublenden206 , die die verteilte Computeranwendung darstellen; und eine Verarbeitungseinheit224 , die mit dem Datenstromempfänger verbunden und dafür ausgelegt ist, die verteilte Computeranwendung zu empfangen und auszuführen210 ; wobei der Datenstromempfänger207 des Weiteren dafür ausgelegt ist, das Verzeichnismodul aus dem ausgewählten Datenstrom der Vielzahl kontinuierlicher Datenströme auszublenden und als Reaktion auf Informationen in dem ausgeblendeten Verzeichnismodul die Daten, die die verteilte Computeranwendung darstellen, aus dem ausgewählten Datenstrom der Vielzahl kontinuierlicher Datenströme auszublenden. - In einem verteilten Computersystem gemäß der Erfindung braucht das Client-Computersystem nicht alle Ressourcen zu umfassen, insbesondere einen Hauptspeicher und einen Massenspeicher, die zur Ausführung des gesamten Programms erforderlich sind. Stattdessen ist kein Massenspeicher erforderlich, da der Datenstrom die Funktion der Massenspeichervorrichtung bereitstellt, und die Anforderung an den Hauptspeicher ist gering, da nur der gegenwärtig ausgeführte Anteil des Programms im Speicher gespeichert zu werden braucht. Wenn der gegenwärtig ausgeführte Anteil beendet ist, wird dessen Speicherplatz gelöscht und der nächste ausführende Anteil wird aus dem Datenstrom ausgeblendet und im freien Speicherplatz gespeichert, und dieser Anteil beginnt mit der Ausführung.
- Darüber hinaus bietet ein verteiltes Computersystem gemäß der vorliegenden Erfindung dem Benutzer des Client-Computers die Option, an der verteilten Computeraufgabe teilzunehmen. Wenn gewünscht ist, teilzunehmen, blendet der Client-Computer die Daten aus, die die verteilte Computeranwendung darstellen, und führt die verteilte Computeranwendung wie oben beschieben aus. Wenn nicht gewünscht ist, teilzunehmen, wird der Datenstrom einfach ignoriert und es wird die vom Benutzer gewünschte Verarbeitung oder überhaupt keine Verarbeitung ausgeführt. Ein solches verteiltes Computersystem ermöglicht des Weiteren jedem teilnehmenden Client-Computer, jederzeit an der verteilten Computerfunktion teilzunehmen und bei der Ausführung seiner eigenen Computerfunktionen mit der eigenen Geschwindigkeit fortzufahren.
- Ein verteiltes Computersystem gemäß der vorliegenden Erfindung ist besonders für interaktive TV-Anwendungen geeignet, weil es einem Zuschauer ermöglicht, jederzeit einen interaktiven TV-Kanal zu empfangen, an der Interaktivität teilzunehmen, wann gewünscht (oder auch nicht teilzunehmen), und weil es allen Zuschauern ermöglicht, mit ihren unterschiedlichen Geschwindigkeiten fortzufahren. Dies ist insbesondere in einer Umgebung vorteilhaft, in der eine interaktive Werbung mit ihrem eigenen ausführbaren Code und ihren eigenen ausführbaren Daten in dem interaktiven Programm präsentiert wird oder wenn der Zuschauer den Kanal wechseln möchte.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- In den Zeichnungen ist:
-
1 ein Blockdiagramm eines verteilten Computersystems gemäß der vorliegenden Erfindung; -
2 ein Blockdiagramm eines Server-Computers, wie in1 veranschaulicht; -
3 ein Zeitablaufplan, der die Datenströme veranschaulicht, die von einem Server-Computer in einem verteilten Computersystem, das in1 veranschaulicht ist, erzeugt werden; -
4 ein Blockdiagramm eines Client-Computers, wie in1 veranschaulicht. -
1 ist ein Blockdiagramm eines verteilten Computersystems gemäß der vorliegenden Erfindung. In1 ist ein Server-Computer10 , der ein großes Computersystem umfassen kann, mit Hilfe eines Transportmechanismus30 mit einer Vielzahl von Client-Computern20 gekoppelt. Der Server-Computer10 kann mit mehr als den drei Client-Computern20 , die in1 veranschaulicht sind, gekoppelt sein und die Client-Computer20 können geografisch weit voneinander entfernt sein. Der Client-Computer22 ist mit einem lokalen Computer40 , einem Hilfsdatenverarbeitungssystem50 und einer Zentralverarbeitungseinrichtung60 bidirektional gekoppelt. Die Zentralverarbeitungseinrichtung60 ist mit dem Server-Computer10 bidirektional gekoppelt. Die Zentralverarbeitungseinrichtung60 kann ebenfalls mit Einrichtungen gekoppelt sein, die von dem Server-Computer10 , der in1 veranschaulicht ist, verschieden sind. Der lokale Computer40 ist des Weiteren mit einer Massenspeichervorrichtung70 bidirektional gekoppelt. Der Client-Computer22 kommuniziert mit einem Benutzer80 , indem er dem Benutzer Informationen mit Hilfe eines Anzeigebildschirms oder einer anderen Ausgabevorrichtung (nicht gezeigt) bereitstellt und indem er Informationen vom Benutzer mit Hilfe einer Tastatur oder einer anderen Eingabevorrichtung (ebenfalls nicht gezeigt) annimmt. - Die Client-Computer
24 und26 kommunizieren ebenfalls mit ihren Benutzern (zur Vereinfachung der Zeichnung nicht gezeigt). Zusätzlich sind die Client-Computer24 und26 mit der Zentralverarbeitungseinrichtung60 bidirektional gekoppelt. Solche Verknüpfungen sind jedoch optional. Die einzigen Anforderungen an jeden Client-Computer20 sind eine Möglichkeit der Kommunikation mit einem Benutzer und eine Verbindung mit dem Transportmechanismus30 . Verknüpfungen zu lokalen Computern, Hilfsdatenverarbeitungssystemen und der Zentralverarbeitungseinrichtung60 sind allesamt optional und brauchen nicht in jedem der Client-Computer20 vorhanden zu sein. - Der Transportmechanismus
30 umfasst eine unidirektionale Hochgeschwindigkeits-Digitaldatenverknüpfung, wie beispielsweise eine direkte Lichtleitfaser- oder digitale Satellitenverknüpfung vom Server10 zu den Client-Computern20 . - Die Daten können über das Transportsystem
30 mit Hilfe eines Paketdatensystems übertragen werden. Bei einem solchen System wird ein Strom von Datenpaketen, die jeweils Identifikationsinformationen enthalten, die unter anderem den Typ der Daten, die in diesem Paket enthalten sind, sowie die tatsächlichen Daten angeben, durch die Datenverknüpfung übertragen. Ein solches Paketdatensystem ermöglicht verschiedene unabhängige Datenströme, die jeweils durch Identifikationsinformationen in ihren Paketen identifiziert sind, um innerhalb eines einzelnen Paketstroms zeitmultiplexiert zu werden. - Zusätzlich ist es möglich, eine Vielzahl solcher Paketdatenströme auf demselben physikalischen Medium (Lichtleitfaser oder Satellitenfunkverknüpfung), das den Transportmechanismus
30 darstellt, über entsprechende Kanäle zu multiplexieren. Beispielsweise können unterschiedliche Datenströme auf Trägersignalen mit unterschiedlichen Frequenzen moduliert werden. Diese modulierten Träger können beispielsweise über entsprechende Transponder auf einer Satellitenverknüpfung übertragen werden. Wenn ein bestimmter Transponder über ausreichende Kapazität verfügt, ist es des Weiteren möglich, mehrere Datenströme auf einem einzelnen modulierten Träger zu zeitmultiplexieren. - Die Client-Computer
20 umfassen jeweils einen Datenempfänger, der einen der Paketströme, die über den Transportmechanismus30 übertragen werden, auswählt, den ausgewählten Paketstrom empfängt und die darin enthaltenen Daten ausblendet. Gemäß dem oben genannten Beispiel kann der Datenempfänger einen abstimmbaren Demodulator für den Empfang eines der jeweiligen modulierten Träger von der Satellitenverknüpfung umfassen. Zusätzlich kann der Datenempfänger eine Schaltung zur Zeitmultiplexierung der jeweiligen Datenströme umfassen, die von dem modulierten Träger getragen werden. - Bei Betrieb erzeugt der Server
10 einen fortlaufenden Datenstrom in Form eines Paketstroms für die Client-Computer20 . Der Server10 fügt wiederholt ein Paket oder aufeinanderfolgende Pakete in den Datenstrom ein, die Daten enthalten, die die verteilte Computeranwendung darstellen, einschließlich mindestens eines ausführbaren Codemoduls. Dieses Codemodul enthält ausführbaren Code für die Client-Computer20 . Der Datenempfänger, der sich beispielsweise im Client-Computer22 befindet, überwacht fortwährend die Pakete in dem Datenstrom auf dem Transportmechanismus30 . Wenn ein Paket, das Identifikationsinformationen enthält, die anzeigen, dass es das Codemodul (oder einen Teil des Codemoduls) enthält, das von dem Client-Computer22 benötigt wird, in dem Datenstrom vorhanden ist, erfasst der Client-Computer22 dessen Vorhandensein, blendet das Codemodul (oder den Teil des Codemoduls) aus diesem Paket aus und speichert es im Hauptspeicher. Wenn das Codemodul vollständig empfangen wurde, beginnt der Client-Computer22 mit dessen Ausführung. - Es kann mehr als ein Codemodul in dem fortlaufenden Datenstrom angeordnet sein, von denen jedes einen unterschiedlichen Teil der verteilten Computeranwendung enthält. Beispielsweise ist es möglich, die verteilte Computeranwendung auf eine Weise in kleine Abschnitte zu unterteilen, dass zu einem Zeitpunkt jeweils nur ein Abschnitt ausgeführt zu werden braucht. Der Abschnitt der verteilten Computeranwendung, der gegenwärtig ausgeführt werden muss, wird in den Speicher des Client-Computers
22 geladen. Wenn die Ausführung dieses Abschnitts beendet ist, wird ein Codemodul, das den ausführbaren Code für den nächsten Abschnitt der verteilten Computeranwendung enthält, aus dem Datenstrom ausgeblendet, im Speicher gespeichert und ausgeführt. Jeder Abschnitt wird nach Bedarf aus dem Datenstrom ausgeblendet. Wenn im Client-Computer22 ausreichend Speicherplatz zur Verfügung steht, ist es möglich, mehrere Codemodule in den Speicher zu laden und zwischen diesen hin- und herzuschalten, ohne sie aus dem Datenstrom auszublenden, jedoch ist dies nicht notwendig. Durch die Strukturierung einer verteilten Computeranwendung in dieser Weise kann die erforderliche Speicherplatzgröße des Client-Computers22 minimiert werden. - Der Server
10 kann ebenfalls ein oder mehrere Pakete in den Datenstrom einfügen, die ein oder mehrere Datenmodule enthalten. Die Datenmodule enthalten Daten, die von dem ausführbaren Code in dem Codemodul verarbeitet werden sollen. Vor oder während der Ausführung des Codes von einem zuvor ausgeblendeten Codemodul kann der Client-Computer22 möglicherweise Zugriff auf die Daten in dem Datenmodul oder in den Datenmodulen anfordern. Falls dies der Fall ist, überwacht der Client-Computer22 den Datenstrom in Bezug auf das erforderliche Datenmodul oder die erforderlichen Datenmodule. Wenn Pakete, die das Datenmodul oder die Datenmodule (oder Abschnitte des Datenmoduls oder der Datenmodule) enthalten, in dem Datenstrom vorhanden sind, werden sie ausgeblendet und der Inhalt im Hauptspeicher des Client-Computers22 gespeichert. Wenn alle erforderlichen Datenmodule vollständig empfangen wurden, beginnt der Client-Computer22 mit der Ausführung des Codes von dem Codemodul oder er fährt mit der Ausführung fort, um die Daten von dem empfangenen Datenmodul oder den empfangenen Datenmodulen zu verarbeiten. Wie im Fall der Codemodule ist es möglich, dass mehr als ein Datenmodul im Speicher gespeichert wird, wenn im Client-Computer22 ausreichend Speicherplatz vorhanden ist. - Der Server
10 kann weiterhin wiederholt ein oder mehrere Pakete in den Datenstrom einfügen, die ein Verzeichnis der Code- und Datenmodule, die gegenwärtig im Datenstrom enthalten sind, enthalten. Das Verzeichnis enthält eine Liste aller Code- und Datenmodule, die in dem Datenstrom vorhanden sind, sowie Informationen über diese Module. Wenn ein Verzeichnis in dem Datenstrom vorhanden ist, überwacht der Client-Computer22 den Datenstrom in Bezug auf das Verzeichnis, bevor er Code- oder Datenmodule aus dem Datenstrom ausblendet. Wenn Pakete, die das Verzeichnis (oder Abschnitte des Verzeichnisses) enthalten, in dem Datenstrom vorhanden sind, werden sie ausgeblendet und ihre Daten im Hauptspeicher des Client-Computers22 gespeichert. Wenn das Verzeichnis vollständig empfangen wurde, bewertet der Client-Computer22 die Einträge im Verzeichnis und fordert daraufhin das erste Code- und/oder Datenmodul von dem Datenstrom an, und die Ausführung fährt wie oben beschrieben fort. - Jeder Client-Computer
20 kann an der verteilten Computerfunktion, die durch den Paketstrom dargestellt ist, jederzeit teilnehmen und jeder Client-Computer20 kann im Allgemeinen als Reaktion auf den Benutzer80 mit seiner eigenen Geschwindigkeit betrieben werden. Um dies zu ermöglichen, ordnet der Server10 wiederholt das Verzeichnis und alle Code- und Datenmodule, die die Client-Computer20 benötigen könnten, um ihren Abschnitt der verteilten Computerfunktion auszuführen, in dem Datenstrom des Transportmechanismus30 an. - Immer wenn einer der Client-Computer
20 an der verteilten Computerfunktion teilnimmt, überwacht erden neu ausgewählten Paketstrom auf dem Transportmechanismus30 in Bezug auf das Verzeichnismodul, blendet es aus und verarbeitet es wie oben beschrieben. Immer wenn einer der Client-Computer20 das neue Code- und/oder Datenmodul benötigt, überwacht er während der Ausführung den Datenstrom auf dem Transportmechanismus30 in Bezug auf das neue benötigte Code- und/oder Datenmodul, blendet es aus und führt es entweder aus, wenn es ein Codemodul ist, oder er verarbeitet es, wenn es ein Datenmodul ist, wie oben beschrieben. - Der Paketdatenstrom kann ebenfalls Hilfsdatenpakete enthalten. Diese Daten werden vom Client-Computer
22 nicht für die Ausführung des Codes benötigt, obwohl sie mit der Ausführung in Zusammenhang stehen können, weil der Benutzer80 möglicherweise basierend auf den empfangenen Hilfsdaten mit dem auf dem Client-Computer22 ausgeführten Programm kommuniziert. Der Datenstromempfänger im Client-Computer22 erkennt die Hilfsdatenpakete im Datenstrom auf dem Transportmechanismus30 und sendet sie direkt zum Hilfsdatenprozessor50 . Der Hilfsdatenprozessor50 verarbeitet seine Pakete unabhängig vom Client-Computer22 . Wenn die Hilfsdaten dem Benutzer80 angezeigt werden müssen, kann der Hilfsdatenprozessor50 seine eigene Anzeigevorrichtung (nicht gezeigt) bereitstellen, die gemeinsam mit dem Client-Computer22 genutzt werden kann, oder die Anzeigevorrichtung (nicht gezeigt), die zum Client-Computer22 gehört, kann mit dem Hilfsdatenprozessor50 gemeinsam genutzt werden, um dem Benutzer80 eine einzelne Informationsanzeige bereitzustellen. Der Hilfsdatenprozessor50 kann über Verknüpfungen zu anderen veranschaulichten Elementen (nicht gezeigt) verfügen, jedoch ist dies vom Datentyp abhängig. - Bei einem interaktiven TV-System umfassen die Hilfsdaten beispielsweise die Video- und Audioanteile des zugrundeliegenden Fernsehsignals. Beispielsweise würden die Hilfsdaten Videopakete, die MPEG oder MPEG-ähnliche Daten enthalten, codierte Daten, die das Fernsehbild darstellen, und Audiopakete, die digital codierte Audiodaten enthalten, umfassen. Des Weiteren können möglicherweise mehrere unterschiedliche Audiopaketströme vorhanden sein, die die jeweiligen Audiokanäle für Stereo, ein zweites Audioprogramm (SAP) oder eine Mehrsprachenfunktion tragen. Bei einem Hilfsdatenprozessor
50 in einem solchen System würden die Videopakete einem bekannten MPEG-Decodierer (oder einem ähnlichen Decodierer) (nicht gezeigt) bereitgestellt, der Standard-Videosignale erzeugen würde, die einem Fernsehempfänger oder Videomonitor (nicht gezeigt) bereitgestellt würden. Die Audiopakete würden einem bekannten Audio-Decodierer (nicht gezeigt) bereitgestellt, der Standard-Audiosignale fair den Fernsehempfänger oder Lautsprecher (nicht gezeigt) erzeugen würde. - Bei einem solchen interaktiven TV-System kann der Client-Computer
22 als Reaktion auf die Ausführung des ausführbaren Codemoduls grafische Anzeigen erzeugen, um dem Benutzer80 Informationen bereitzustellen. - Diese grafischen Anzeigen können mit dem Standard-Videosignal von dem MPEG-Decodierer in bekannter Weise kombiniert werden und das kombinierte Bild kann auf dem Fernsehempfänger oder Videomonitor angezeigt werden. Der Client-Computer
22 kann ebenfalls Klänge erzeugen, um dem Zuschauer andere Informationen zu bieten. Die erzeugten Klänge können in bekannter Weise mit den Standard-Audiosignalen von dem Audio-Decodierer kombiniert werden und der kombinierte Klang kann über den Fernsehempfänger oder die Lautsprecher wiedergegeben werden. - Des Weiteren können Zeitcodedaten entweder im Fernsehhilfspaketdatenstrom oder im Paketdatenstrom, der die interaktive TV-Anwendung darstellt, oder in beiden Strömen enthalten sein. Dies ermöglicht die Synchronisation von Grafikbildern oder Klängen, die vom Client-Computer
22 erzeugt werden, mit dem Fernsehsignal von den Hilfsdaten. In diesem Fall hat der Client-Computer22 Zugriff auf die Zeitcodedaten und steuert die Erzeugung des Grafikbildes und/oder des Klanges, die zur gewünschten Zeit gemäß der Bereitstellung von den Zeitcodedaten stattfinden sollen. - Bei einem solchen interaktiven TV-System können sowohl der Client-Computer
22 als auch der Hilfsdatenprozessor50 in einem einzelnen Gehäuse, wie beispielsweise einem Fernsehempfänger oder einem Fernsehaufsatz-Decodierer, enthalten sein. Ein Fernsehempfänger oder ein Decodierer würde Anschlüsse zum Anschließen an einen lokalen Computer oder eine andere Ausrüstung umfassen. - Der Benutzer
80 stellt dem Programm, das auf dem Client-Computer22 ausgeführt wird, während dessen Ausführung Eingaben bereit. Diese Daten können für den Server10 erforderlich sein, um die verteilte Computerfunktion durchzuführen. Bei einem interaktiven TV-System kann der Benutzer80 dem Client-Computer beispielsweise über eine Handfernbedienungseinheit Eingaben bereitstellen. - Die Benutzerdaten werden über die Zentralverarbeitungseinrichtung
60 zum Server-Computer10 übertragen. Bei einer Ausführungsform werden Daten von den Client-Computern20 über Modems durch das Telefonsystem, das als Zentralverarbeitungseinrichtung60 dient, zum Server-Computer10 gesendet. Der Server-Computer10 empfängt und verarbeitet die Daten, die er von den Client-Computern20 während der Ausführung seines Teils der verteilten Computerfunktion empfangen hat. - Der Server-Computer
10 kann in einer Weise, die unten beschrieben wird, basierend auf den empfangenen Daten neue Code- und/oder Datenmodule in dem Datenstrom auf dem Transportmechanismus30 erzeugen oder bestehende Code- und/oder Datenmodule modifizieren. Alternativ kann der Server-Computer10 in der anderen Richtung durch die Zentralverarbeitungseinrichtung60 unmittelbar Informationen zu den Client-Computern20 zurückleiten. Die Informationen in neu erzeugten Code- und/oder Datenmodulen werden von allen Client-Computern20 , die an der verteilten Computerfunktion teilnehmen, verarbeitet, während Informationen, die vom Server-Computer10 durch die Zentralverarbeitungseinrichtung60 zu den Client-Computern20 geleitet werden, spezifisch mit dem Client-Computer22 ,24 ,26 , zu dem die Informationen gesendet wurden, in Bezug stehen. - Bei einer anderen Ausführungsform kann die Zentralverarbeitungseinrichtung
60 ihr eigenes Computersystem umfassen, das separat mit Hilfe eines Modems durch das Telefonsystem sowohl mit den Client-Computern20 als auch dem Server-Computer10 verbunden ist. In beiden oben genannten Ausführungsformen stellt die Zentralcomputereinrichtung60 über das Telefonsystem Zugriff auf andere Computer oder Verarbeitungseinrichtungen (nicht gezeigt) bereit. Wenn Informationen von anderen Computersystemen benötigt werden, um die verteilte Computerfunktion durchzuführen, kann somit über Modem durch das Telefonsystem entweder mit Hilfe der Client-Computer20 oder des Server-Computers10 auf diese Computersysteme zugegriffen werden. - Ein Eingabe-Ausgabe-Anschluss (E-A-Anschluss) am Client-Computer
22 ist mit einem entsprechenden Anschluss am lokalen Computer40 gekoppelt. Der lokale Computer40 ist zusammen mit dem Client-Computer22 angeordnet. Der lokale Computer40 kann ein PC sein, der vom Benutzer80 des Client-Computers22 benutzt wird, oder er kann ein größerer Computer oder ein Computernetz sein, das am selben Ort wie der Client-Computer22 angeordnet ist. Dies ermöglicht dem Client-Computer22 , auf Daten in dem angeschlossenen Massenspeicher70 des PCs oder eines Computers im Netz, der am Ort des Client-Computers22 angeordnet ist, zuzugreifen. Zusätzlich kann der Client-Computer22 den Massenspeicher70 des lokalen Computers40 zur Speicherung von Daten, die später abgerufen werden sollen, verwenden. Es ist wahrscheinlich, dass der lokale Computer40 sowohl eine Ausgabevorrichtung (nicht gezeigt), wie beispielsweise einen Computermonitor, als auch eine Eingabevorrichtung (ebenfalls nicht gezeigt), wie beispielsweise eine Computertastatur, umfasst. Beide Vorrichtungen können wie oben beschrieben gemeinsam von dem Client-Computer22 und/oder dem Hilfsdatenprozessor50 genutzt werden. - Beispielsweise kann das verteilte Computersystem, das in
1 veranschaulicht ist, Teil eines ausgedehnten Firmen-Computersystems sein und der Server10 kann an einer zentralen Stelle der Firma angeordnet sein. Der Client-Computer22 kann an einer entfernten Stelle angeordnet sein und der lokale Computer40 kann mit dem PC-Netz an dieser Stelle gekoppelt sein. Angestellte an dieser Stelle können gemeinsam genutzte Daten (z.B. finanzielle Informationen) in dem Server, der mit dem Netz verbunden ist, speichern. Die verteilte Computerfunktion kann Folgendes umfassen: Sammeln von lokalen finanziellen Daten von den Client-Computern an den entfernt gelegenen Stellen, Verarbeitung der finanziellen Daten und Zurücksenden der finanziellen Gesamtergebnisse zu den Client-Computern. Bei einer solchen Anwendung greift der ausführbare Code, der auf dem Client-Computer22 ausgeführt wird, durch den E-A-Anschluss auf die Daten vom lokalen Computer40 zu (entweder von seinem angeschlossenen Massenspeicher70 oder durch das Netz) und sendet sie durch die Zentralverarbeitungseinrichtung60 zum Server-Computer10 . - Der Server-Computer
10 fährt mit seiner Verarbeitung fort, die auf den Informationen basiert, die vom Client-Computer22 (und anderen Client-Computern20 ) empfangen werden, und sendet die Ergebnisse dieser Verarbeitung entweder durch die Zentralverarbeitungseinrichtung60 oder über den Datenstrom auf dem Transportmechanismus30 zu den Client-Computern20 zurück. - In einem anderen Beispiel kann das verteilte Computersystem ein interaktives Fernsehsystem sein, das eine Heimeinkauf-Show als verteilte Computeranwendung sendet. In einem solchen Fall tragen die Hilfsdaten den Video- und Audioanteil des Fernsehsignals, der die Artikel, die zum Kauf angeboten werden, zeigt und beschreibt, und können sowohl Live-Schauspieler sowie überlagerte Grafiken, die im zentralen Studio erzeugt werden, umfassen. Code- und Datenmodule, die die interaktive Fernsehanwendung darstellen, können in der unten gezeigten Weise Daten über die Produkte, die während dieser Show zum Verkauf angeboten werden, oder einen Teil der Show sowie ausführbaren Code zur Kommunikation mit dem Benutzer umfassen.
- Wenn ein Zuschauer einen Artikel bestellen möchte, wird auf der Fernsehfernbedienung ein Knopf gedrückt. Dieser Knopf signalisiert dem Client-Computer
22 , eine Rehe von Befehlen und Menüs anzuzeigen, die für die Anforderung der Informationen nötig sind, die für die Aufgabe der Bestellung nötig sind, z.B. die Artikelnummer, Name und Adresse des Zuschauers, Zahlungsweise, Kreditkartennummer (falls nötig) usw. Diese Informationen werden im Client-Computer als Grafiken erzeugt, die das Fernsehvideobild überlagern. Es kann auch eine vom Computer erzeugte Stimme erzeugt werden und mit dem Fernsehaudiosignal kombiniert werden, entweder durch Stimmüberlagerung oder durch Ersetzen des Fernsehaudiosignals. Der Zuschauer reagiert auf den Befehl, indem er die angeforderten Informationen über die Fernsehfernbedienung bereitstellt. Wenn die Informationen, die von der Anzeige auf dem Bildschirm und/oder den Stimmanweisungen angefordert wurden, vom Zuschauer eingegeben wurden, werden sie über das Modem, das sich in dem Client-Computer befindet, zu einem zentralen Computer gesendet. Es kann eine Bestellbestätigung vom Zentralcomputer in die andere Richtung gesendet werden. - Es ist ebenfalls möglich, dass permanente Informationen über den Zuschauer (d.h. Name, Adresse, Zahlungsweise und Kreditkartennummer) vom Zuschauer nur einmal im Voraus eingegeben werden, so dass es nicht nötig ist, diese Informationen jedes Mal anzufordern, wenn eine Bestellung aufgegeben wird. Die Informationen werden in einem permanenten Speicher im Client-Computer gespeichert. Wenn eine Bestellung aufgegeben wird, werden diese Informationen in einem solchen Fall aus dem permanenten Speicher abgerufen, der Artikelnummer hinzugefügt und zum Zentralcomputer übertragen. Es ist des Weiteren mit Hilfe von Zeitcodes oder anderen Befehlen, die in den Datenstrom eingefügt werden, möglich, dass der Client-Computer weiß, welcher Artikel gegenwärtig zum Verkauf angeboten wird. In einem solchen Fall ist der Zuschauer in der Lage, diesen zu bestellen, indem er einfach einen Knopf auf der Fernsehfernbedienung drückt. Als Reaktion kann der Client-Computer die zuvor empfangenen Informationen, die zu dem Artikel in Bezug stehen, der gegenwärtig zum Verkauf angeboten wird, mit den zuvor gespeicherten persönlichen Informationen hinsichtlich des Zuschauers kombinieren, die Bestellung zum Zentralcomputer senden und die Bestätigung als Antwort erhalten.
- Da die Code- und Datenmodule, die mit dem Heimeinkaufsprogramm in Bezug stehen, wiederholt in den Datenstrom eingefügt werden, kann ein Zuschauer das Programm jederzeit wählen und ist in der Lage, interaktiv teilzunehmen. Entsprechend ist es nicht nötig, dass der Zuschauer interaktiv teilnimmt, sondern er kann den interaktiven Teil der Show einfach ignorieren.
- Es ist ebenfalls möglich, dass der Client-Computer
22 Steuerinformationen von dem lokalen Computer40 empfangt. Beispielsweise könnte der Benutzer80 , der den lokalen Computer40 verwendet, den Client-Computer22 über den E-A-Anschluss so steuern, dass dieser einen gewünschten Datenstrom der Datenströme auf dem Transportmechanismus30 auswählt und das Programm, das gegenwärtig auf dem Datenstrom gesendet wird, verarbeitet, wobei durch die Eingabe- und Ausgabevorrichtungen (nicht gezeigt), die mit dem lokalen Computer40 verbunden sind, mit dem Benutzer80 kommuniziert wird. - Der Benutzer
80 kann des Weiteren den Client-Computer22 veranlassen, anstatt über den Datenstrom auf dem Transportmechanismus30 über die Zentralverarbeitungseinrichtung60 auf den Server-Computer10 zuzugreifen und Code- und Datenmodule über diese bidirektionale Verknüpfung zu empfangen. -
2 ist ein Blockdiagramm, das einen Server-Computer10 , wie in1 veranschaulicht, darstellt. In2 umfasst eine Quelle von verteiltem Computeranwendungscode und verteilten Computeranwendungsdaten101 einen Anwendungskompilierer und ein Software-Managementmodul (nicht gezeigt) und verfügt über eine Ausgangsklemme, die mit einer Eingangsklemme eines Datenflussaufstellers102 gekoppelt ist. Eine Ausgangsklemme des Datenflussaufstellers102 ist mit einer Eingangsklemme einer Transportpaketiervorrichtung104 gekoppelt. Eine Ausgangsklemme der Transportpaketiervorrichtung104 ist mit einer ersten Eingangsklemme eines Paketmultiplexers106 gekoppelt. Eine Ausgangsklemme des Paketmultiplexers106 ist mit einer Eingangsklemme eines Transportmultiplexers110 gekoppelt. Eine Ausgangsklemme des Transportmultiplexers110 ist mit dem physikalischen Medium gekoppelt, das den Transportmechanismus30 (aus1 ) bildet. Eine zweite Eingangsklemme des Paketmultiplexers106 ist mit einer Quelle von Hilfsdatenpaketen107 gekoppelt. Ein Taktgeber109 weist jeweilige Ausgangsklemmen auf, die mit entsprechenden Eingangsklemmen der Transportpaketiervorrichtung104 und der Hilfsdatenquelle107 gekoppelt sind. Ein Datensendeempfänger103 weist eine erste bidirektionale Klemme, die mit der Zentralverarbeitungseinrichtung60 (aus1 ) gekoppelt ist, und zweite bidirektionale Daten auf, die mit der Anwendungscode- und -datenquelle101 gekoppelt sind. - Die Anwendungscode- und -datenquelle
101 , der Datenflussaufsteller102 , die Transportpaketiervorrichtung104 , die Hilfsdatenquelle107 , der Taktgeber109 und der Paketmultiplexer106 bilden in Kombination eine Kanalquelle108 für den Transportmechanismus, der durch einen gestrichelten Kasten veranschaulicht ist. Andere Kanalquellen, einschließlich ähnlicher Komponenten wie die in der Kanalquelle108 , die jedoch in1 nicht gezeigt sind, sind durch einen anderen gestrichelten Kasten108a dargestellt. Die anderen Kanalquellen108a weisen Ausgangsklemmen auf, die mit anderen Eingangsklemmen des Transportmultiplexers110 gekoppelt sind, und können Eingangsklemmen aufweisen, die durch Datensendeempfänger mit den Zentralverarbeitungseinrichtungen gekoppelt sind. - Bei Betrieb werden Daten, die das verteilte Computeranwendungsprogramm darstellen, und Daten, die auf die Übertragung des Programms über den Transportmechanismus
30 bezogen sind, dem Flussaufsteller102 von der Anwendungsquelle101 zugestellt. Diese Daten können entweder in Form von Dateien, die Daten enthalten, die die Code- und Datenmodule darstellen, oder durch Skripts zugestellt werden, die Informationen, wie die Code- und Datenmodule zu konstruieren sind, und andere derartige Informationen bereitstellen. Die Code- und Datenmodule können konstant sein oder sich dynamisch verändern, basierend auf Eingaben, die von den Client-Computern20 über die zentrale Computereinrichtung60 und/oder andere Quellen empfangen werden. Die ausführbaren Code- und Datenmoduldateien können von einem Kompilierer, Interpretierer oder Assembler in einer bekannten Weise als Reaktion auf Quellsprachenprogrammierung von einem Anwendungsprogrammierer erzeugt werden. Die Datendatei, die die Übertragung der Module betrifft, enthält Informationen wie beispielsweise die gewünschten Wiederholungsgeschwindigkeiten für das Verzeichnis und die Code- und Datenmodule, die in den Datenstrom eingeschlossen werden sollen; die Größe des Hauptspeichers in den Client-Computern20 , die zur Speicherung jedes Moduls und zur vollständigen Ausführung des Anwendungsprogramms erforderlich ist; ein Prioritätsniveau für das Modul, wenn es ein Modul ist, usw. - Der Datenflussaufsteller
102 verarbeitet die Daten aus der Anwendungsquelle101 . Als Reaktion darauf konstruiert der Datenflussaufsteller102 ein Verzeichnismodul, das ein Gesamtbild des Anwendungsprogramms ergibt. Die Informationen in dem Verzeichnismodul umfassen z.B. die Identifikation sämtlicher Code- und Datenmodule, die wiederholt in dem Datenstrom gesendet werden, ihre Größe und möglicherweise andere Informationen, die diese Module betreffen. Daraufhin werden die für das Anwendungsprogramm repräsentativen Daten verarbeitet, um die Code- und Datenmodule zu erzeugen. Das Verzeichnis und die Code- und Datenmodule, die so konstruiert sind, werden formatiert, indem Modulanfangsblöcke und Fehlererfassungs- und/oder Korrekturcode zu jedem Modul hinzugefügt werden. Ebenfalls wird ein Sendeplan erzeugt. Nachdem diese Verarbeitung abgeschlossen ist, werden die Daten, die das Verzeichnismodul darstellen, und die Code- und Datenmodule gemäß dem zuvor erzeugten Plan wiederholt der Transportpaketiervorrichtung104 bereitgestellt. - Die Transportpaketiervorrichtung
104 erzeugt einen Strom von Paketen, die das Verzeichnismodul und die Code- und Datenmodule darstellen, wenn sie von dem Datenflussaufsteller102 ausgesendet werden. Jedes Paket weist eine konstante vorherbestimmte Länge auf und wird erzeugt, indem der Datenstrom von dem Datenflussaufsteller in Gruppen von Bits unterteilt und ein Paketanfangsblock mit Informationen, die die Informationen identifizieren, die in dem Paket enthalten sind, und ein Fehlererfassungs- und/oder Korrekturcode usw. zu jeder Gruppe hinzugefügt werden, so dass jedes Paket dieselbe vorherbestimmte Länge aufweist. (Wenn nicht genügend Daten von dem Datenflussaufsteller102 vorliegen, um ein Paket vollständig zu füllen, wird das Paket mit Leerdaten aufgefüllt.) Diese Pakete werden in einer bekannten Weise mit den Hilfsdatenpaketen zeitmultiplexiert, um einen einzigen Paketstrom in dem Paketmultiplexer106 zu bilden. Es ist ebenfalls möglich, dass die erzeugten Pakete variierende Längen aufweisen. In diesem Fall enthält der Paketanfangsblock für jedes Paket die Länge dieses Pakets. Zusätzlich werden basierend auf Daten, die vom Taktgeber109 empfangen werden, Zeitcodedatenpakete in den Datenstrompaketen und/oder den Hilfsdatenpaketen angeordnet. - Paketströme aus sämtlichen Kanalquellen (
108 ,108a ) werden zu einem einzigen Transportkanal multiplexiert, der durch den Transportmechanismus30 übertragen wird. Wie oben beschrieben können die Paketströme frequenzmultiplexiert sein, indem jeder Paketstrom ein Trägersignal bei einer unterschiedlichen Frequenz moduliert, wobei alle Träger in einer bekannten Weise durch eine Satellitenverknüpfung zu den Client-Computern20 befördert werden. Wenn ausreichend Kapazität in einem Trägerkanal vorhanden ist, können zudem mehrere Paketströme, ebenfalls in einer bekannten Weise, statistisch zeitmultiplexiert und zur Modulation eines einzelnen Trägers verwendet werden. Zum Beispiel ist vorgeschlagen worden, bis zu acht interaktive Fernsehdatenströme durch eine einzige Satellitenverknüpfung zu multiplexieren. - Es werden Daten aus den Client-Computern
20 über die Zentralverarbeitungseinrichtung60 (aus1 ) von dem Datensendeempfänger103 am Server-Computer empfangen, der seinen eigenen Prozessor (nicht gezeigt) umfassen kann. Wenn eine unmittelbare Reaktion erzeugt wird, gibt der Prozessor des Sendeempfängers103 diese Reaktion über die Zentralverarbeitungseinrichtung60 an einen spezifischen Client-Computer (22 –26 ), einen spezifischen Satz der Client-Computer20 oder an sämtliche Client-Computer20 ihrerseits zurück. Wenn jedoch eine gemeinsame Antwort an alle Client-Computer20 gewünscht ist, kann der Anwendungsprogrammierer die Code- und Datendateien in der Anwendungscode- und Datenquelle101 unter Verwendung des Anwendungskompilierers abwandeln. Diese abgeänderten Dateien werden daraufhin von dem Datenflussaufsteller verarbeitet, um wiederum einen anderen Strom zu erzeugen. Es ist des Weiteren möglich, die Code- und Datendateien in der Anwendungsquelle101 als Reaktion auf Daten, die vom Sendeempfänger103 empfangen werden, automatisch und dynamisch (d.h. in Echtzeit) abzuwandeln und den Strom zu aktualisieren, wenn die Daten von den Client-Computern20 empfangen werden. -
3 ist ein Zeitablaufplan, der die Datenströme veranschaulicht, die von dem Server-Computer10 in einem verteilten Computersystem erzeugt werden, wie in1 veranschaulicht. In3 ist der Server-Computer10 gezeigt, wie er gleichzeitig eine Vielzahl von Paketströmen32 –38 erzeugt. Jeder Paketstrom (32 –38 ) ist als ein horizontales Band gezeigt, das in Pakete mit derselben Dauer und Anzahl von Bits unterteilt ist. Wie oben beschrieben ist es möglich, dass die Größe der Pakete innerhalb jedes Paketstroms mit der Menge an zu befördernden Daten variiert. Aus3 ist ersichtlich, dass die Startzeiten der Pakete nicht synchronisiert sind. Es ist möglich, die Pakete zu synchronisieren, jedoch ist es nicht notwendig. In3 sind Pakete, die Daten befördern, die Verzeichnisse darstellen, mit DIR bezeichnet, Pakete, die Daten befördern, die Codemodule darstellen, sind mit CM bezeichnet, Pakete, die Daten befördern, die Datenmodule darstellen, sind mit DM bezeichnet, und Pakete, die Hilfsdaten befördern, sind mit AUX bezeichnet. - In der oberen Reihe der Pakete
32 enthält das Paket, das sich ganz links befindet, Daten, die ein Codemodul CM darstellen. Dies wird gefolgt von drei Paketen, die Hilfsdaten AUX enthalten, gefolgt von einem anderen Paket, das Daten enthält, die das Codemodul CM darstellen. Aus der Reihe von Paketen32 ist ersichtlich, dass das Codemodul wiederholt erzeugt wird. Es können mehr oder weniger Pakete zwischen aufeinanderfolgenden Wiederholungen des Codemodulpakets CM vorliegen. Die Wiederholungsgeschwindigkeit kann vom Programmierer spezifiziert werden, wenn die Anwendung programmiert wird, und kann während der Ausführung der Anwendung variiert werden. - In der nächsten Reihe von Paketen
34 enthält das Paket, das sich ganz links befindet, Hilfsdaten AUX. Die nächsten beiden Pakete enthalten entsprechende Abschnitte eines Codemoduls (CM1, CM2). Das letzte Paket enthalt Hilfsdaten AUX. Aus der Reihe von Paketen34 ist ersichtlich, dass ein Codemodul, wenn es zu groß ist, um in einem einzigen Paket enthalten zu sein, von mehr als einem Paket befördert werden kann, wobei jedes Paket einen Abschnitt des Codemoduls enthält. Obwohl die Reihe von Paketen34 derart veranschaulich ist, dass zwei Pakete in der Reihe von Paketen34 das Codemodul (CM1, CM2) enthalten, kann abhängig von dessen Größe jede Anzahl von Paketen verwendet werden, um das Codemodul zu befördern. Die beiden Pakete, die das Codemodul (CM1, CM2) befördern, werden in der Reihe von Paketen34 wiederholt gesendet (nicht gezeigt), wie oben beschrieben. - In der Reihe von Paketen
36 enthält das Paket, das sich ganz links befindet, Daten, die ein Codemodul (CM) darstellen. Das nächste Paket (DM1) ist ein erstes Paket, das Daten enthält, die ein Datenmodul darstellen. Das nächste Paket enthält Hilfsdaten AUX. Das nächste Paket (DM2) ist ein zweites Paket, das die restlichen Daten enthält, die das Datenmodul darstellen. Aus der Reihe von Paketen36 ist ersichtlich, dass ein Datenmodul (DM1, DM2), das zu dem Codemodul (CM) gehört, ebenfalls in dem Paketstrom enthalten sein kann. Sowohl das Codemodul (CM) als auch das Datenmodul (DM1, DM2) werden wiederholt in der Reihe von Paketen36 gesendet (nicht gezeigt). Die Wiederholungsgeschwindigkeit des Codemoduls (CM) kann sich von der des Datenmoduls (DM1, DM2) unterscheiden und beide Geschwindigkeiten können von dem Anwendungsprogrammierer spezifziert und während der Ausführung der Anwendung variiert werden. - Des Weiteren ist ersichtlich, dass das Datenmodul, wenn es zu groß ist, um in einem einzigen Paket enthalten zu sein, von mehr als einem Paket befördert werden kann, wobei jedes Paket einen Abschnitt des Datenmoduls enthält. Obwohl die Reihe von Paketen derart veranschaulicht ist, dass zwei Pakete in der Reihe von Paketen
36 das Datenmodul (DM1, DM2) enthalten, kann abhängig von dessen Größe jede Anzahl von Paketen verwendet werden, um das Datenmodul zu befördern. Des Weiteren ist ersichtlich, dass die Pakete, die das Datenmodul befördern, nicht sequenziell befördert zu werden brauchen, sondern teilnehmende Pakete in dem Paketstrom aufweisen können. Dasselbe gilt für mehrere Pakete, die ein Codemodul oder ein Verzeichnismodul (nicht gezeigt) befördern. - In der untersten Reihe von Paketen
38 enthält das Paket, das sich ganz links befindet, Daten, die das Verzeichnis (DIR) darstellen. Das nächste Paket enthält Daten, die ein Codemodul (CM) darstellen, gefolgt von einem Paket, das Hilfsdaten (AUX) enthält, und einem Paket, das Daten enthält, die ein Datenmodul (DM) darstellen. In der Reihe von Paketen38 sind sowohl ein Verzeichnismodul (DIR), ein Codemodul (CM) als auch ein Datenmodul (DM) in einem einzigen Paketstrom zu sehen. Die jeweiligen Wiederholungsgeschwindigkeiten dieser drei Module können verschieden sein, wie von dem Programmierer der Anwendung spezifiziert, und sie können während der Ausführung der Anwendung variiert werden. -
4 ist ein Blockdiagramm eines Client-Computers22 , wie in1 veranschaulicht. In4 ist der Transportmechanismus30 (aus1 ) mit einer Eingangsklemme eines Stromselektors202 gekoppelt. Eine Ausgangsklemme des Stromselektors202 ist mit entsprechenden Eingangsklemmen eines Hilfsdatenausblenders204 und eines Paketdatenausblenders206 gekoppelt. Eine Ausgangsklemme des Hilfsdatenausblenders204 ist mit dem Hilfsdatenprozessor50 (aus1 ) gekoppelt. Eine bidirektionale Klemme des Paketdatenausblenders206 ist mit einer entsprechenden Klemme eines E-A-Stromadapters208 gekoppelt. Eine Steuerausgangsklemme des E-A-Stromadapters208 ist mit einer entsprechenden Steuereingangsklemme des Stromselektors202 gekoppelt. Die Kombination aus Stromselektor202 , Hilfsdatenausblender204 und Paketdatenausblender206 bildet einen Datenstromempfänger207 für den Client-Computer22 , der durch eine gestrichelte Linie in4 veranschaulicht ist. - Der E-A-Stromadapter
208 bildet einen Teil einer Verarbeitungseinheit224 im Client-Computer22 , wie durch eine gestrichelte Linie in4 veranschaulicht. Zusätzlich zu dem E-A-Stromadapter208 umfasst die Verarbeitungseinheit224 einen Prozessor210 , einen Schreib-Lesespeicher (RAM)212 und einen Festwertspeicher (ROM)214 , die in einer bekannten Weise über einen Systembus216 aneinander gekoppelt sind. Es sind weitere Eingabe- und Ausgabeeinrichtungen bereitgestellt, und zwar durch einen E-A-Anschluss218 , der mit dem örtlichen Prozessor40 (aus1 ) gekoppelt ist; einen E-A-Adapter220 zur Kommunikation mit dem Benutzer80 ; und ein Modem222 , das mit der Zentralverarbeitungseinrichtung60 (aus1 ) gekoppelt ist; alle diese sind in einer bekannten Weise ebenfalls mit dem Systembus216 gekoppelt. Andere Adapter (nicht gezeigt) können mit dem Systembus216 gekoppelt sein, um der Verarbeitungseinheit224 andere Fähigkeiten bereitzustellen. - Wie oben beschrieben, sind der Hilfsdatenausblender
204 , der E-A-Anschluss218 und das Modem222 in einem Client-Computer20 gemäß der vorliegenden Erfindung nicht erforderlich. Sie sind in1 und4 veranschaulicht, um eine optionale zusätzliche Funktionalität zu zeigen. - Bei Betrieb ruft der Prozessor
210 der Verarbeitungseinheit224 Programmanweisungen ab, die dauerhaft im ROM214 oder vorübergehend im RAM212 gespeichert sind und führt die abgerufenen Anweisungen aus, um Daten aus dem ROM212 und/oder dem RAM214 zu lesen, Daten in den RAM212 zu schreiben und/oder Daten über den E-A-Anschluss218 , den Benutzer-E-A-Adapter220 und/oder das Modem222 in einer bekannten Weise aus außerhalb liegenden Quellen abzurufen oder diesen zuzustellen. Unter Programmsteuerung kann der Prozessor210 ebenfalls ein Code- und/oder Datenmodul aus dem Datenstrom, der dem Client-Computer22 über den Transportmechanismus30 (aus1 ) zugestellt wird, anfordern. Um diese Daten abzurufen, weist der Prozessor210 zuerst den E-A-Stromadapter208 an, möglicherweise als Reaktion auf eine Benutzereingabe vom Benutzer-E-A-Adapter220 ein Auswahlsteuersignal zum Stromselektor202 zu senden. Daraufhin gibt der Prozessor210 eine Anfrage für ein spezifisches Code- oder Datenmodul an den E-A-Stromadapter208 aus. Der E-A-Stromadapter208 leitet diese Anfrage an den Paketdatenausblender204 weiter. - Der Transportmechanismus
30 (aus1 ) führt die gesamte Vielzahl von Paketströmen (32 –38 aus3 ), die er befördert, dem Stromselektor202 zu, der nur den ausgewählten Paketstrom weiterleitet. Der Hilfsdatenausblender204 überwacht den ausgewählten Paketstrom, extrahiert die Hilfsdatenpakete daraus und stellt sie direkt dem Hilfsdatenprozessor50 (aus1 ) zur Verfügung. Der Paketdatenausblender206 überwacht ebenso den ausgewählten Paketstrom, extrahiert die Verzeichnis-, Code- und/oder Datenmodulpakete, die vom E-A-Stromadapter208 angefragt werden, und führt sie dem E-A-Stromadapter208 zu. Die Daten in den Paketen, die zum E-A-Stromadapter208 zurückgeführt werden, werden dem RAM212 zur Verfügung gestellt. Wenn das gesamte Modul aus dem Paketstrom abgerufen worden ist (was mehrere Pakete erfordern kann, wie oben beschrieben), wird der Prozessor210 von dem E-A-Stromadapter208 über dessen Empfang benachrichtigt. Der Prozessor210 kann daraufhin die Ausführung seines Programms fortsetzen. - Der Datenstrom in einem verteilten Computersystem, das in
1 veranschaulicht ist, entspricht einem Massenspeichersystem bei Systemen des Stands der Technik. Ein Anwendungsprogramm, das auf dem Prozessor210 ausgeführt wird, macht in derselben Weise, wie ein derartiges Programm eine Anfrage für eine Datei machen würde, die ein Code- oder Datenmodul enthält, das bei einem System des Stands der Technik zuvor in einer Massenspeichervorrichtung gespeichert war, eine Anfrage für ein Modul, das im Verzeichnis aufgeführt ist. Der Datenstromempfänger207 entspricht einer Massenspeichervorrichtung und der E-A-Stromadapter208 wirkt in ähnlicher Weise auf einen Massenspeicheradapter bei einem System des Stands der Technik, indem er die gewünschten Daten auffindet, sie zu einem vorherbestimmten Ort (E-A-Puffer) im Systemspeicher sendet und den Prozessor über den Abschluss des Abrufs informiert. Jedoch kann der E-A-Stromadapter208 nur Code und Daten aus dem Datenstrom abrufen; es können keine Daten in den Datenstrom geschrieben werden. - Wie oben beschrieben, kann die verteilte Computeranwendung in mehr als ein Codemodul unterteilt weiden, von denen jedes ausführbaren Code für einen anderen Abschnitt der verteilten Computeranwendung enthält. Wenn ein bestimmtes Codemodul gewünscht wird, fordert der Prozessor
210 das Codemodul vom E-A-Stromadapter208 an. Wenn die Ausführung dieses Moduls abgeschlossen ist, fordert der Prozessor210 das nächste Modul vom E-A-Stromadapter208 an. Da Code- und Datenmodule wiederholt im Datenstrom befördert werden, kann ein Modul aus dem RAM212 gelöscht werden, wenn es gegenwärtig nicht benötigt wird, ohne dass es vorübergehend gespeichert werden muss, denn wenn es später gewünscht wird, kann es, wenn es benötigt wird, wiederum aus dem Datenstrom abgerufen werden. Wenn jedoch der RAM212 über eine ausreichende Kapazität verfügt, kann der Prozessor210 das gleichzeitige Laden mehrerer Codemodule in den RAM212 vom E-A-Stromadapter anfordern. Wenn dies erfolgen kann, dann kann der Prozessor210 zwischen Codemodulen hin- und herschalten, ohne darauf zu warten, dass der E-A-Stromadapter208 sie aus dem Datenstrom ausblendet. - Wie oben beschrieben, können andere E-A-Adapter in einer bekannten Weise mit dem Systembus
216 gekoppelt werden. Zum Beispiel kann in einem interaktiven TV-System ein Grafikadapter mit dem Systembus216 gekoppelt werden. Der Grafikadapter erzeugt in bekannter Weise als Reaktion auf Anweisungen vom Prozessor210 Signale, die grafische Bilder darstellen. Des Weiteren können diese Signale mit dem Standard-Videosignal kombiniert werden, das vom Video-Decodierer (oben beschrieben) in dem Hilfsdatenprozessor50 eines interaktiven TV-Systems erzeugt wird. Wenn das für das grafische Bild repräsentative Signal und das Standard-Videosignal kombiniert werden, stellt das resultierende Signal ein Bild dar, bei dem das von dem Grafikadapter erzeugte Bild über das Bild gelegt wird, das von dem Fernseh-Videosignal dargestellt wird. Es ist ebenfalls möglich, diese beiden Signale, die das Bild darstellen, unter der Steuerung des Prozessors210 wahlweise zu kombinieren. - Ein interaktives TV-System kann ebenfalls einen Audioadapter umfassen, der mit dem Systembus
216 gekoppelt ist. Der Audioadapter erzeugt in einer bekannten Weise als Reaktion auf Anweisungen vom Prozessor210 ein Signal, das einen computererzeugten Klang (wie beispielsweise Musik, synthetisierte Stimme oder einen anderen Klang) darstellt. Des Weiteren können diese Signale mit dem Standard-Audiosignal kombiniert werden, das vom Audio-Decodierer (oben beschrieben) in dem Hilfsdatenprozessor50 eines interaktiven TV-Systems erzeugt wird. Wenn das Signal, das den Klang darstellt und das Standard-Audiosignal kombiniert werden, stellt das resultierende Signal die Kombination aus dem von dem Audioadapter erzeugten Klang und dem Fernseh-Audiosignal dar. Es ist ebenfalls möglich, diese beiden Signale, die den Klang darstellen, unter der Steuerung des Prozessors210 selektiv zu kombinieren. - Die zeitliche Abstimmung der Erzeugung und Anzeige des grafischen Bildsignals und des Signals, das den Klang darstellt, können durch den Empfang der Zeitcodedaten von dem Datenstrom gesteuert werden. Dies ermöglicht, dass ein ausführbares Codemodul die Anzeige von prozessorerzeugtem Bild und die Darstellung von prozessorerzeugtem Klang mit dem Fernseh-Video- und -Audiosignal synchronisiert. Es ist des Weiteren möglich, den Betrieb der interaktiven TV-Anwendung durch Einführen spezialisierter Pakete in den Datenstrom zu synchronisieren, die eine Unterbrechung des Codes verursachen, der gegenwärtig im Prozessor
210 ausgeführt wird. Der E-A-Stromadapter208 überwacht den Datenstrom für solche spezialisierten Pakete und erzeugt in bekannter Weise eine Unterbrechung für den Prozessor210 . Der Prozessor210 reagiert ebenfalls in einer bekannten Weise durch Ausführen eines Unterbrechungsbehandlungsprogramms (ISR) auf diese Unterbrechung. Dieses ISR kann für die Synchronisierung der interaktiven TV-Anwendung oder andere Zwecke verwendet werden. - Ein Client-Computer
22 in einem verteilten Computersystem, wie in1 veranschaulicht, benötigt weder eine Massenspeichervorrichtung noch eine große Menge RAM212 . Ein derartiges System verringert die Kosten eines Client-Computers und erhöht die Funktionalität der Client-Computer mit den niedrigeren Kosten. Zudem verfügt ein derartiger Client-Computer über die Option der Teilnahme an einer verteilten Computerfunktion, kann jederzeit an der verteilten Computerfunktion teilnehmen (oder die Teilnahme unterbrechen und später zurückkehren) und kann seiner eigenen Geschwindigkeit gemäß teilnehmen.
Claims (20)
- Verteiltes Computersystem, das eine Datenstromquelle (
10 ) umfasst, die gleichzeitig dafür ausgelegt ist, eine Vielzahl kontinuierlicher Datenströme zu erzeugen, wiederkehrend Daten, die eine verteilte Computeranwendung darstellen, in mindestens einen Datenstrom der Vielzahl kontinuierlicher Datenströme einzufügen und ein Verzeichnismodul in mindestens einen Datenstrom der Vielzahl kontinuierlicher Datenströme einzufügen, wobei das Verzeichnismodul Informationen enthält, die die verteilte Computeranwendung betreffen. - Verteiltes Computersystem nach Anspruch 1, wobei die Quelle dafür ausgelegt ist, die Daten in jeden Datenstrom der Vielzahl kontinuierlicher Datenströme einzufügen und ein Verzeichnismodul in jeden Datenstrom der Vielzahl kontinuierlicher Datenströme einzufügen; und das des Weiteren einen Client-Computer (
20 ) umfasst, der einen Datenempfänger enthält, der dafür ausgelegt ist, einen Datenstrom der Vielzahl kontinuierlicher Datenströme auszuwählen, um die Daten, die die verteilte Computeranwendung darstellen, aus dem ausgewählten Datenstrom der Vielzahl kontinuierlicher Datenströme auszublenden (206 ), und um die verteilte Computeranwendung auszuführen (224 ). - Computersystem nach Anspruch 2, das des Weiteren durch einen Hilfsdatenprozessor (
50 ) gekennzeichnet ist; wobei: die Datenstromquelle (10 ) dafür ausgelegt ist, die Vielzahl kontinuierlicher Datenströme so zu erzeugen, dass sie des Weiteren Hilfsdaten enthalten; und der Client-Computer (20 ) dafür ausgelegt ist, die Hilfsdaten aus dem ausgewählten Datenstrom der Vielzahl von Datenströmen auszublenden und die Hilfsdaten dem Hilfsdatenprozessor (50 ) zuzuführen. - Computersystem nach Anspruch 3, dadurch gekennzeichnet, dass: die Datenstromquelle (
10 ) dafür ausgelegt ist, die Vielzahl von Datenströmen in Form einer Reihe von Pakten zu erzeugen; einschließlich eines ersten Pakets, das die Daten enthält, die die verteilte Computeranwendung darstellen, Identifikationsinformationen, die darauf hinweisen, dass das erste Paket Daten enthält, die die verteilte Computeranwendung darstellen, eines zweiten Pakets, das die Hilfsdaten enthält, und Identifikationsinfonmationen, die darauf hinweisen, dass das zweite Paket die Hilfsdaten enthält. - Computersystem nach Anspruch 2, das des Weiteren durch einen Hilfsdatenprozessor (
50 ) gekennzeichnet ist, wobei: die Datenstromquelle (10 ) dafür ausgelegt ist, die Vielzahl kontinuierlicher Datenströme zu erzeugen, die des Weiteren Hilfsdaten enthalten; und der Client-Computer (20 ) dafür ausgelegt ist, die Hilfsdaten aus dem ausgewählten Datenstrom der Vielzahl kontinuierlicher Datenströme auszublenden und die ausgeblendeten Hilfsdaten dem Hilfsdatenprozessor (50 ) zuzuführen. - Computersystem nach Anspruch 2, dadurch gekennzeichnet, dass: die Datenstromquelle (
10 ) dafür ausgelegt ist, die Vielzahl kontinuierlicher Datenströme in Form einer Reihe von Paketen (32 –38 ) zu erzeugen, einschließlich: eines ersten Pakets (CM), das Daten, die ein ausführbares Codemodul darstellen, und Identifikationsinformationen enthält, die anzeigen, dass das erste Paket die Daten enthält, die das ausführbare Codemodul darstellen; eines zweiten Pakets (DM), das Daten, die ein Datenmodul darstellen, und Identifikationsinformationen enthält, die darauf hinweisen, dass das zweite Paket Daten enthält, die das Datenmodul darstellen; und eines dritten Pakets (AUX), das Hilfsdaten und Identifikationsinformationen enthält, die anzeigen, dass das dritte Paket die Hilfsdaten enthält. - Computersystem nach Anspruch 6, dadurch gekennzeichnet, dass: die Datenstromquelle (
10 ) dafür ausgelegt ist, die Vielzahl kontinuierlicher Datenströme so zu erzeugen, dass sie des Weiteren das Verzeichnismodul umfassen, um Informationen zu enthalten, die das Codemodul betreffen; und dass der Client-Computer (20 ) dafür ausgelegt ist, zuerst das Verzeichnismodul aus dem ausgewählten Datenstrom der Vielzahl kontinuierlicher Datenströme auszublenden, daraufhin das Codemodul als Reaktion auf die Informationen bezüglich des Codemoduls in dem ausgeblendeten Verzeichnismodul auszublenden und das ausgeblendete Codemodul auszuführen. - Computersystem nach Anspruch 2, dadurch gekennzeichnet, dass: die Datenstromquelle (
10 ) dafür ausgelegt ist, die Vielzahl kontinuierlicher Datenströme als Reihe von Paketen (32 –38 ) zu erzeugen, einschließlich: eines ersten Pakets (CM), das Daten, die ein ausführbares Codemodul darstellen, und Identifikationsinformationen enthält, die anzeigen, dass das erste Paket die Daten enthält, die das ausführbare Codemodul darstellen; eines zweiten Pakets (DM), das Daten, die ein Datenmodul darstellen, und Identifikationsinformationen enthält, die anzeigen, dass das zweite Paket die Daten enthält, die das Datenmodul darstellen; eines dritten Pakets (DIR), das Daten, die ein Verzeichnismodul darstellen, und Identifikationsinformationen enthält, die anzeigen, dass das dritte Paket die Daten enthält, die das Verzeichnismodul darstellen; und eines vierten Pakets (AUX), das Hilfsdaten und Identifikationsinformationen enthält, die anzeigen, dass das vierte Paket die Hilfsdaten enthält. - Computersystem nach Anspruch 8, dadurch gekennzeichnet, dass: die Datenstromquelle (
10 ) dafür ausgelegt ist, die Vielzahl kontinuierlicher Datenströme zu erzeugen, die des Weiteren das Datenmodul und das Verzeichnismodul umfassen, wobei das Verzeichnismodul Informationen enthält, die das Datenmodul betreffen; und dass der Client-Computer (20 ) des Weiteren dafür ausgelegt ist, als Reaktion auf die Informationen bezüglich des Datenmoduls in dem Verzeichnismodul das Datenmodul aus dem ausgewählten Datenstrom der Vielzahl kontinuierlicher Datenströme auszublenden und das Codemodul auszuführen, um das ausgeblendete Datenmodul zu verarbeiten. - Client-Computer (
22 ) zur Verwendung in einem verteilten Computersystem, wobei der Client-Computer (22 ) Folgendes umfasst: eine Eingangsklemme (30 ), die selektiv dafür ausgelegt ist, einen Datenstrom einer Vielzahl kontinuierlicher Datenströme zu empfangen, wobei der ausgewählte Datenstrom der Vielzahl kontinuierlicher Datenströme wiederkehrend Daten umfasst, die eine verteilte Computeranwendung und ein Verzeichnismodul darstellen; einen Datenstromempfänger (207 ), der mit der Eingangsklemme (30 ) verbunden ist und dafür ausgelegt ist, den ausgewählten Datenstrom der Vielzahl kontinuierlicher Datenströme zu empfangen und die Daten auszublenden (206 ), die die verteilte Computeranwendung darstellen; und eine Verarbeitungseinheit (224 ), die mit dem Datenstromempfänger verbunden und dafür ausgelegt ist, die verteilte Computeranwendung zu empfangen und auszuführen (210 ); wobei der Datenstromempfänger (207 ) des Weiteren dafür ausgelegt ist, das Verzeichnismodul aus dem ausgewählten Datenstrom der Vielzahl kontinuierlicher Datenströme auszublenden und als Reaktion auf Informationen in dem ausgeblendeten Verzeichnismodul die Daten, die die verteilte Computeranwendung darstellen, aus dem ausgewählten Datenstrom der Vielzahl kontinuierlicher Datenströme auszublenden. - Client-Computer nach Anspruch 10, dadurch gekennzeichnet, dass die Verarbeitungseinheit (
224 ) Folgendes umfasst: eine Systembusleitung (216 ); einen Schreib-/Lesespeicher (212 ), der mit der Systembusleitung verbunden ist; einen Datenstromeingabe-/-ausgabeadapter (208 ), der zwischen dem Datenstromempfänger (207 ) und der Systembusleitung (216 ) angeschlossen ist und dafür ausgelegt ist, die Daten, die die ausgeblendete verteilte Computeranwendung darstellen, aus dem Datenstromempfänger (207 ) zu empfangen, und die Daten, die die ausgeblendete verteilte Computeranwendung darstellen, in dem Schreib-/Lesespeicher (212 ) zu speichern; und einen Prozessor (210 ), der mit der Systembusleitung (216 ) verbunden und dafür ausgelegt ist, die verteilte Computeranwendung auszuführen. - Client-Computer nach Anspruch 10 oder 11, dadurch gekennzeichnet, dass: die Eingangsklemme (
30 ) dafür ausgelegt ist, den ausgewählten Datenstrom der Vielzahl von Datenströmen als eine Reihe von Paketen zu empfangen, die Pakete enthalten, die die Daten befördern, die die verteilte Computeranwendung darstellen; und dass der Datenstromempfänger (207 ) eine Paketdatenmaske (206 ) umfasst, die mit der Eingangsklemme (30 ) verbunden und dafür ausgelegt ist, die Pakete auszublenden, die die Daten befördern, die die verteilte Computeranwendung darstellen. - Client-Computer nach Anspruch 12, dadurch gekennzeichnet, dass: die Reihe von Paketen in dem Datenstrom des Weiteren Pakete umfasst, die Hilfsdaten befördern; der Client-Computer (
32 ) des Weiteren einen Hilfsdatenprozessor umfasst; und der Datenstromempfänger (207 ) eine Hilfsdatenmaske umfasst, die mit dem Hilfsdatenprozessor verbunden und dafür ausgelegt ist, die Pakete, die die Hilfsdaten befördern, aus dem Datenstrom auszublenden, und die Pakete, die die Hilfsdaten befördern, dem Hilfsdatenprozessor zuzuführen. - Client-Computer nach Anspruch 13, dadurch gekennzeichnet, dass das verteilte Computersystem ein interaktives Fernsehsystem ist und die Hilfsdaten Fernseh-Videodaten und Fernseh-Audiodaten sind.
- Client-Computer nach Anspruch 10 bis 14, dadurch gekennzeichnet, dass: die Eingangsklemme (
30 ) dafür ausgelegt ist, die Vielzahl kontinuierlicher Datenströme zu empfangen, wobei jeder der Datenströme Daten umfasst, die eine entsprechende verteilte Computeranwendung darstellen; und dass der Datenstromempfänger (207 ) Folgendes umfasst: einen Datenstromselektor (202 ), der mit der Eingangsklemme (30 ) verbunden und dafür ausgelegt ist, als Reaktion auf Steuersignale von des Verarbeitungseinheit (224 ) den ausgewählten Datenstrom der Vielzahl von Datenströmen zu erzeugen; und eine Maske für die repräsentativen Daten der verteilten Computer[anwendung], die zwischen dem Datenstromselektor (202 ) und der Verarbeitungseinheit (224 ) angeschlossen und dafür ausgelegt ist, die Daten, die die verteilte Computeranwendung darstellen, aus dem ausgewählten Datenstrom der Vielzahl von Datenströmen auszublenden. - Client-Computer nach Anspruch 15, dadurch gekennzeichnet, dass: der Datenstromselektor (
202 ) eine Auswahlsteuereingangsklemme umfasst und dafür ausgelegt ist, als Reaktion auf ein Steuersignal an der Auswahlsteuereingangsklemme den ausgewählten Datenstrom der Vielzahl von Datenströmen zu erzeugen; die Verarbeitungseinheit (224 ) Folgendes umfasst: eine Systembusleitung (216 ); einen Schreib-/Lesespeicher (212 ), der mit der Systembusleitung (216 ) verbunden ist; einen Datenstromeingabe-/-ausgabeadapter (208 ), der zwischen dem Datenstromempfänger (207 ) und des Systembusleitung (216 ) angeschlossen und dafür ausgelegt ist, die ausgeblendeten Daten, die die verteilte Computeranwendung darstellen, von dem Datenstromempfänger (207 ) zu empfangen, und die Daten, die die verteilte Computeranwendung darstellen, in dem Schreib-/Lesespeicher (212 ) zu speichern, und der eine Steuerausgangsklemme aufweist, die mit der Auswahlsteuereingangsklemme des Datenstromselektors (202 ) verbunden ist, welcher dafür ausgelegt ist, das Auswahlsteuersignal zu erzeugen; und einen Prozessor (210 ), der mit der Systembusleitung (216 ) verbunden und dafür ausgelegt ist, die Datenstromeingabe-/-ausgabevorrichtung zu steuern, um ein Auswahlsteuersignal zu erzeugen, das den ausgewählten Datenstrom der Vielzahl von Datenströmen auswählt, und um die verteilte Computeranwendung auszuführen. - Client-Computer nach Anspruch 10 bis 14, dadurch gekennzeichnet, dass: die Eingangsklemme (
30 ) dafür ausgelegt ist, die repräsentativen Daten der verteilten Computeranwendung, einschließlich eines ausführbaren Codemoduls, zu empfangen; der Datenstromempfänger (207 ) dafür ausgelegt ist, das ausführbare Codemodul auszublenden; und die Verazbeitungseinheit dafür ausgelegt ist, das ausgeblendete Codemodul auszuführen. - Client-Computer nach Anspruch 17, dadurch gekennzeichnet, dass: die Eingangsklemme (
30 ) dafür ausgelegt ist, die Daten, die die verteilte Computeranwendung darstellen, und das Verzeichnismodul, das Informationen bezüglich des ausführbazen Codemoduls enthält, zu empfangen; und dass der Datenstromempfänger (207 ) dafür ausgelegt ist, zuerst das Verzeichnismodul aus dem Datenstrom auszublenden; die Verarbeitungseinheit dafür ausgelegt ist, die Informationen bezüglich des ausführbaren Codemoduls im Verzeichnismodul zu verarbeiten; der Datenstromempfänger (207 ) dafür ausgelegt ist, das ausführbare Codemodul aus dem Datenstrom basierend auf den Informationen bezüglich des ausführbaren Codemoduls in dem ausgeblendeten Verzeichnismodul auszublenden; und die Verarbeitungseinheit dafür ausgelegt ist, das ausgeblendete ausführbare Codemodul auszuführen. - Client-Computer nach Anspruch 18, wobei die repräsentativen Daten der verteilten Computeranwendung des Weiteren ein Datenmodul umfassen und das Verzeichnismodul des Weiteren Informationen bezüglich des Datenmoduls des Client-Computers umfasst, dadurch gekennzeichnet, dass: die Verarbeitungseinheit (
210 ) dafür ausgelegt ist, Informationen bezüglich des Datenmoduls im Verzeichnismodul zu verarbeiten; der Datenstromempfänger (207 ) dafür ausgelegt ist, das Datenmodul aus dem Datenstrom basierend auf den Informationen bezüglich des Datenmoduls in dem ausgeblendeten Verzeichnismodul auszublenden; und die Verarbeitungseinheit dafür ausgelegt ist, das ausgeblendete Codemodul auszuführen, um die ausgeblendeten Daten zu verarbeiten. - Client-Computer nach Anspruch 10 bis 14, wobei die verteilte Computeranwendung in eine Vielzahl von Modulen unterteilt ist, die Abschnitte der Anwendung darstellen, dadurch gekennzeichnet, dass die Verarbeitungseinheit dafür ausgelegt ist, nur Module der Vielzahl von Modulen zu speichern, die zur Ausführung des aktuellen Abschnitts der Anwendung notwendig sind.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US233908 | 1994-04-28 | ||
US08/233,908 US5819034A (en) | 1994-04-28 | 1994-04-28 | Apparatus for transmitting and receiving executable applications as for a multimedia system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69533565D1 DE69533565D1 (de) | 2004-11-04 |
DE69533565T2 true DE69533565T2 (de) | 2006-02-23 |
Family
ID=22879143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69533565T Expired - Lifetime DE69533565T2 (de) | 1994-04-28 | 1995-04-19 | Verteiltes Computersystem |
Country Status (13)
Country | Link |
---|---|
US (2) | US5819034A (de) |
EP (5) | EP1307022B1 (de) |
JP (4) | JPH08166925A (de) |
KR (1) | KR100363593B1 (de) |
CN (4) | CN1893648B (de) |
AT (3) | ATE518348T1 (de) |
CA (1) | CA2145899C (de) |
DE (1) | DE69533565T2 (de) |
DK (1) | DK0680185T3 (de) |
ES (4) | ES2232816T3 (de) |
PT (3) | PT1307025E (de) |
RU (1) | RU2142158C1 (de) |
SG (1) | SG28257A1 (de) |
Families Citing this family (264)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5963916A (en) * | 1990-09-13 | 1999-10-05 | Intouch Group, Inc. | Network apparatus and method for preview of music products and compilation of market data |
US6275268B1 (en) | 1993-09-09 | 2001-08-14 | United Video Properties, Inc. | Electronic television program guide with remote product ordering |
US7991347B1 (en) | 1994-04-07 | 2011-08-02 | Data Innovation Llc | System and method for accessing set of digital data at a remote site |
USRE44685E1 (en) | 1994-04-28 | 2013-12-31 | Opentv, Inc. | Apparatus for transmitting and receiving executable applications as for a multimedia system, and method and system to order an item using a distributed computing system |
US5819034A (en) | 1994-04-28 | 1998-10-06 | Thomson Consumer Electronics, Inc. | Apparatus for transmitting and receiving executable applications as for a multimedia system |
US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US7181758B1 (en) | 1994-07-25 | 2007-02-20 | Data Innovation, L.L.C. | Information distribution and processing system |
US5838906A (en) * | 1994-10-17 | 1998-11-17 | The Regents Of The University Of California | Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document |
WO1996013124A1 (en) * | 1994-10-24 | 1996-05-02 | Intel Corporation | Video indexing protocol |
EP2265019B1 (de) * | 1995-04-24 | 2013-12-11 | United Video Properties, Inc. | Vorrichtung und Verfahren zur elektronischen Fernsehprogrammzeitplanung mit Warenfernbestellung |
US6769128B1 (en) | 1995-06-07 | 2004-07-27 | United Video Properties, Inc. | Electronic television program guide schedule system and method with data feed access |
US7917922B1 (en) * | 1995-06-08 | 2011-03-29 | Schwab Barry H | Video input switching and signal processing apparatus |
US20020056136A1 (en) * | 1995-09-29 | 2002-05-09 | Wistendahl Douglass A. | System for converting existing TV content to interactive TV programs operated with a standard remote control and TV set-top box |
US6189030B1 (en) | 1996-02-21 | 2001-02-13 | Infoseek Corporation | Method and apparatus for redirection of server external hyper-link references |
US7099316B1 (en) * | 1996-02-29 | 2006-08-29 | Tomich John L | Photonic home area network |
US5940073A (en) * | 1996-05-03 | 1999-08-17 | Starsight Telecast Inc. | Method and system for displaying other information in a TV program guide |
KR100506515B1 (ko) | 1996-05-31 | 2005-09-26 | 마츠시타 덴끼 산교 가부시키가이샤 | 데이터통신시스템과데이터송신장치및데이터수신장치 |
US6141693A (en) * | 1996-06-03 | 2000-10-31 | Webtv Networks, Inc. | Method and apparatus for extracting digital data from a video stream and using the digital data to configure the video stream for display on a television set |
US8601050B2 (en) | 1996-06-12 | 2013-12-03 | Michael Carringer | System and method for generating a modified web page by inline code insertion in response to an information request from a client computer |
US9130765B1 (en) * | 1996-06-12 | 2015-09-08 | Michael Carringer | System and method for generating a modified web page by inline code insertion in response to an information request from a client computer |
US6266709B1 (en) * | 1996-07-01 | 2001-07-24 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server failure reporting process |
US6424991B1 (en) * | 1996-07-01 | 2002-07-23 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server communication framework |
KR100513128B1 (ko) * | 1996-09-11 | 2005-09-07 | 마츠시타 덴끼 산교 가부시키가이샤 | 프로그램 수신장치 |
US6058443A (en) * | 1997-02-18 | 2000-05-02 | Advanced Micro Devices, Inc. | System for partitioning PC chipset functions into logic and port integrated circuits |
US6209028B1 (en) | 1997-03-21 | 2001-03-27 | Walker Digital, Llc | System and method for supplying supplemental audio information for broadcast television programs |
US20050097594A1 (en) | 1997-03-24 | 2005-05-05 | O'donnell Frank | Systems and methods for awarding affinity points based upon remote control usage |
US8769598B2 (en) * | 1997-03-24 | 2014-07-01 | Logitech Europe S.A. | Program guide on a remote control |
US6356948B1 (en) * | 1997-03-28 | 2002-03-12 | Aspect Communications Corp | Method and apparatus for managing data |
US9113122B2 (en) | 1997-04-21 | 2015-08-18 | Rovi Guides, Inc. | Method and apparatus for time-shifting video and text in a text-enhanced television program |
US6233253B1 (en) * | 1997-05-23 | 2001-05-15 | Thomson Licensing S.A. | System for digital data format conversion and bit stream generation |
JPH114417A (ja) * | 1997-06-12 | 1999-01-06 | Toshiba Corp | ビット・ストリーム情報表示方法、ビット・ストリーム情報作成方法及び記録媒体 |
GB9715228D0 (en) * | 1997-07-18 | 1997-09-24 | Sertway Limited | Communications system and method |
JP4062577B2 (ja) | 1997-07-21 | 2008-03-19 | ジェムスター ディベロプメント コーポレイション | 表示及び記録制御インタフェースのためのシステム及び方法 |
US7222087B1 (en) | 1997-09-12 | 2007-05-22 | Amazon.Com, Inc. | Method and system for placing a purchase order via a communications network |
US5960411A (en) * | 1997-09-12 | 1999-09-28 | Amazon.Com, Inc. | Method and system for placing a purchase order via a communications network |
EP0907285A1 (de) * | 1997-10-03 | 1999-04-07 | CANAL+ Société Anonyme | Datenfernladung |
US6016141A (en) | 1997-10-06 | 2000-01-18 | United Video Properties, Inc. | Interactive television program guide system with pay program package promotion |
US6263385B1 (en) | 1997-10-20 | 2001-07-17 | Advanced Micro Devices, Inc. | PC parallel port structure partitioned between two integrated circuits interconnected by a serial bus |
FR2770711A1 (fr) * | 1997-11-04 | 1999-04-30 | Philips Electronics Nv | Methode de communication entre des terminaux repartis et une station centrale |
FR2778300A1 (fr) * | 1998-04-29 | 1999-11-05 | Thomson Multimedia Sa | Procede de lecture de donnees informatiques permettant de composer des images de synthese et dispositif mettant en oeuvre le procede |
US6609144B1 (en) | 1998-05-04 | 2003-08-19 | Matsushita Electric Industrial Co., Ltd. | Program reception/execution apparatus that can commence execution of a machine program having only received the program in part, and a program transmission apparatus that enables such execution |
US8813137B2 (en) * | 1998-05-08 | 2014-08-19 | Qualcomm Incorporated | Apparatus and method for decoding digital image and audio signals |
AU4169099A (en) * | 1998-06-19 | 2000-01-05 | Matsushita Electric Industrial Co., Ltd. | Data transmitting/receiving method and device, and program recorded medium |
CN1867068A (zh) | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | 交互式电视节目导视系统及其方法 |
US8189662B2 (en) * | 1999-07-27 | 2012-05-29 | Microsoft Corporation | Selection compression |
IL141104A0 (en) * | 1998-07-27 | 2002-02-10 | Webtv Networks Inc | Remote computer access |
US6898762B2 (en) | 1998-08-21 | 2005-05-24 | United Video Properties, Inc. | Client-server electronic program guide |
US6791588B1 (en) | 1998-09-11 | 2004-09-14 | L.V. Partners, L.P. | Method for conducting a contest using a network |
US6845388B1 (en) * | 1998-09-11 | 2005-01-18 | L. V. Partners, L.P. | Web site access manual of a character string into a software interface |
US7379901B1 (en) | 1998-09-11 | 2008-05-27 | Lv Partners, L.P. | Accessing a vendor web site using personal account information retrieved from a credit card company web site |
US6829650B1 (en) | 1998-09-11 | 2004-12-07 | L. V. Partners, L.P. | Method and apparatus for opening and launching a web browser in response to an audible signal |
US7792696B1 (en) | 1998-09-11 | 2010-09-07 | RPX-LV Acquisition, LLC | Method and apparatus for allowing a broadcast to remotely control a computer |
US6643692B1 (en) | 1998-09-11 | 2003-11-04 | Lv Partners, L.P. | Method for controlling a computer using an embedded unique code in the content of video tape media |
US6704864B1 (en) * | 1999-08-19 | 2004-03-09 | L.V. Partners, L.P. | Automatic configuration of equipment software |
US6829646B1 (en) * | 1999-10-13 | 2004-12-07 | L. V. Partners, L.P. | Presentation of web page content based upon computer video resolutions |
US6594705B1 (en) | 1998-09-11 | 2003-07-15 | Lv Partners, L.P. | Method and apparatus for utilizing an audibly coded signal to conduct commerce over the internet |
US7191247B1 (en) | 1998-09-11 | 2007-03-13 | Lv Partners, Lp | Method for connecting a wireless device to a remote location on a network |
US6823388B1 (en) | 1998-09-11 | 2004-11-23 | L.V. Parners, L.P. | Method and apparatus for accessing a remote location with an optical reader having a programmable memory system |
US7392945B1 (en) | 1998-09-11 | 2008-07-01 | Lv Partners, L.P. | Portable scanner for enabling automatic commerce transactions |
US6708208B1 (en) | 1998-09-11 | 2004-03-16 | L.V. Partners, L.P. | Unique bar code for indicating a link between a product and a remote location on a web network |
US6701354B1 (en) | 1998-09-11 | 2004-03-02 | L. V. Partners, L.P. | Method for interconnecting two locations over a network in response to using a tool |
US6757715B1 (en) * | 1998-09-11 | 2004-06-29 | L.V. Partners, L.P. | Bar code scanner and software interface interlock for performing encrypted handshaking and for disabling the scanner in case of handshaking operation failure |
US6636896B1 (en) * | 1998-09-11 | 2003-10-21 | Lv Partners, L.P. | Method and apparatus for utilizing an audibly coded signal to conduct commerce over the internet |
US6792452B1 (en) | 1998-09-11 | 2004-09-14 | L.V. Partners, L.P. | Method for configuring a piece of equipment with the use of an associated machine resolvable code |
US6098106A (en) * | 1998-09-11 | 2000-08-01 | Digitalconvergence.Com Inc. | Method for controlling a computer with an audio signal |
US7818423B1 (en) | 1998-09-11 | 2010-10-19 | RPX-LV Acquisition, LLC | Retrieving personal account information from a web site by reading a credit card |
US6631404B1 (en) | 1998-09-11 | 2003-10-07 | Lv Partners, L.P. | Method and system for conducting a contest using a network |
US6758398B1 (en) * | 1998-09-11 | 2004-07-06 | L.V. Partners, L.P. | Optical reader with ultraviolet wavelength capability |
US6384744B1 (en) | 1998-09-11 | 2002-05-07 | Digital:Convergence Corp. | Method and system for data transmission from an optical reader |
US6622165B1 (en) | 1998-09-11 | 2003-09-16 | Lv Partners, L.P. | Method and apparatus for allowing a remote site to interact with an intermediate database to facilitate access to the remote site |
US7900224B1 (en) | 1998-09-11 | 2011-03-01 | Rpx-Lv Acquisition Llc | Method and apparatus for utilizing an audible signal to induce a user to select an E-commerce function |
US7386600B1 (en) | 1998-09-11 | 2008-06-10 | Lv Partners, L.P. | Launching a web site using a personal device |
US6615268B1 (en) | 1998-09-11 | 2003-09-02 | Lv Partners, L.P. | Method for controlling a computer using an embedded unique code in the content of dat media |
US6826592B1 (en) | 1998-09-11 | 2004-11-30 | L.V. Partners, L.P. | Digital ID for selecting web browser and use preferences of a user during use of a web application |
US7440993B1 (en) | 1998-09-11 | 2008-10-21 | Lv Partners, L.P. | Method and apparatus for launching a web browser in response to scanning of product information |
US6629133B1 (en) | 1998-09-11 | 2003-09-30 | Lv Partners, L.P. | Interactive doll |
US6701369B1 (en) | 1998-09-11 | 2004-03-02 | L.V. Partners, L.P. | Method and apparatus for accessing a remote location by sensing a machine-resolvable code |
US8712835B1 (en) | 1998-09-11 | 2014-04-29 | Rpx Corporation | Method and apparatus for linking a web browser link to a promotional offer |
US6745234B1 (en) | 1998-09-11 | 2004-06-01 | Digital:Convergence Corporation | Method and apparatus for accessing a remote location by scanning an optical code |
US6697949B1 (en) * | 1998-09-11 | 2004-02-24 | L.V. Partner, L.P. | Method and apparatus for controlling a user's pc through an audio-visual broadcast to archive information in the users pc |
US6754698B1 (en) | 1998-09-11 | 2004-06-22 | L. V. Partners, L.P. | Method and apparatus for accessing a remote location with an optical reader having a dedicated memory system |
US8028036B1 (en) | 1998-09-11 | 2011-09-27 | Rpx-Lv Acquisition Llc | Launching a web site using a passive transponder |
US6636892B1 (en) * | 1998-09-11 | 2003-10-21 | Lv Partners, L.P. | Method for conducting a contest using a network |
US6526449B1 (en) | 1998-09-11 | 2003-02-25 | Digital Convergence Corporation | Method and apparatus for controlling a computer from a remote location |
US6836799B1 (en) | 1998-09-11 | 2004-12-28 | L.V. Partners, L.P. | Method and apparatus for tracking user profile and habits on a global network |
US6725260B1 (en) * | 1998-09-11 | 2004-04-20 | L.V. Partners, L.P. | Method and apparatus for configuring configurable equipment with configuration information received from a remote location |
US6688522B1 (en) | 1998-09-11 | 2004-02-10 | L. V. Partners, L.P. | Unique bar code |
US6868433B1 (en) | 1998-09-11 | 2005-03-15 | L.V. Partners, L.P. | Input device having positional and scanning capabilities |
US7930213B1 (en) | 1998-09-11 | 2011-04-19 | Rpx-Lv Acquisition Llc | Method and apparatus for completing, securing and conducting an E-commerce transaction |
US7533064B1 (en) | 1998-10-07 | 2009-05-12 | Paypal Inc. | E-mail invoked electronic commerce |
US6360275B1 (en) | 1998-10-29 | 2002-03-19 | Shanghai Wonders Information Co., Ltd. | System and method for transmitting and receiving data in a network |
US7694319B1 (en) | 1998-11-02 | 2010-04-06 | United Video Properties, Inc. | Interactive program guide with continuous data stream and client-server data supplementation |
US6859799B1 (en) | 1998-11-30 | 2005-02-22 | Gemstar Development Corporation | Search engine for video and graphics |
RU2001130759A (ru) * | 1999-04-15 | 2003-07-20 | Скайстрим Нетворкс Инк. (Us) | Система радиовещания данных |
DE60039861D1 (de) * | 1999-04-20 | 2008-09-25 | Samsung Electronics Co Ltd | Werbeverwaltungssystem für digitale videoströme |
US7016951B1 (en) | 1999-04-30 | 2006-03-21 | Mantech Ctx Corporation | System and method for network security |
WO2000068811A1 (en) * | 1999-04-30 | 2000-11-16 | Network Forensics, Inc. | System and method for capturing network data and identifying network events therefrom |
JP2002544609A (ja) | 1999-05-10 | 2002-12-24 | エクスパンス ネットワークス インコーポレイティッド | ディジタル・ストリームのための広告サブグループ |
KR100654430B1 (ko) * | 1999-05-20 | 2006-12-07 | 삼성전자주식회사 | 데이터를 브로드캐스팅하는 디지털 방송 시스템에서 어플리케이션을 처리하는 장치 및 방법 |
US7634787B1 (en) | 1999-06-15 | 2009-12-15 | Wink Communications, Inc. | Automatic control of broadcast and execution of interactive applications to maintain synchronous operation with broadcast programs |
US7069571B1 (en) | 1999-06-15 | 2006-06-27 | Wink Communications, Inc. | Automated retirement of interactive applications using retirement instructions for events and program states |
US7222155B1 (en) | 1999-06-15 | 2007-05-22 | Wink Communications, Inc. | Synchronous updating of dynamic interactive applications |
US8434113B1 (en) * | 1999-10-06 | 2013-04-30 | Tvworks, Llc | Electronic commerce using streaming media |
US6530084B1 (en) * | 1999-11-01 | 2003-03-04 | Wink Communications, Inc. | Automated control of interactive application execution using defined time periods |
US6985589B2 (en) * | 1999-12-02 | 2006-01-10 | Qualcomm Incorporated | Apparatus and method for encoding and storage of digital image and audio signals |
GB2357922A (en) * | 1999-12-07 | 2001-07-04 | Sony Service Ct | Optimising a data carousel |
US6226739B1 (en) * | 1999-12-14 | 2001-05-01 | International Business Machines Corporation | Method and computer program for distributing software to a personal palm-type device through a global software distribution package transmittable over the world wide web |
US7720712B1 (en) | 1999-12-23 | 2010-05-18 | Amazon.Com, Inc. | Placing a purchase order using one of multiple procurement options |
US20020178442A1 (en) * | 2001-01-02 | 2002-11-28 | Williams Dauna R. | Interactive television scripting |
US6496802B1 (en) | 2000-01-07 | 2002-12-17 | Mp3.Com, Inc. | System and method for providing access to electronic works |
US8584182B2 (en) | 2000-01-27 | 2013-11-12 | Time Warner Cable Enterprises Llc | System and method for providing broadcast programming, a virtual VCR, and a video scrapbook to programming subscribers |
US7631338B2 (en) * | 2000-02-02 | 2009-12-08 | Wink Communications, Inc. | Interactive content delivery methods and apparatus |
US7028327B1 (en) | 2000-02-02 | 2006-04-11 | Wink Communication | Using the electronic program guide to synchronize interactivity with broadcast programs |
US20030097338A1 (en) * | 2000-02-03 | 2003-05-22 | Piotrowski Tony E. | Method and system for purchasing content related material |
US20010033243A1 (en) | 2000-03-15 | 2001-10-25 | Harris Glen Mclean | Online remote control configuration system |
US8531276B2 (en) | 2000-03-15 | 2013-09-10 | Logitech Europe S.A. | State-based remote control system |
US6784805B2 (en) | 2000-03-15 | 2004-08-31 | Intrigue Technologies Inc. | State-based remote control system |
US20020060750A1 (en) * | 2000-03-29 | 2002-05-23 | Istvan Anthony F. | Single-button remote access to a synthetic channel page of specialized content |
US20020056083A1 (en) * | 2000-03-29 | 2002-05-09 | Istvan Anthony F. | System and method for picture-in-browser scaling |
EP1273169B1 (de) | 2000-03-31 | 2006-06-07 | United Video Properties, Inc. | Systeme und verfahren zur verminderung von unterbrechungen in programmaufnahmen |
US6687735B1 (en) * | 2000-05-30 | 2004-02-03 | Tranceive Technologies, Inc. | Method and apparatus for balancing distributed applications |
US20040148625A1 (en) | 2000-04-20 | 2004-07-29 | Eldering Charles A | Advertisement management system for digital video streams |
US7360231B2 (en) * | 2000-05-01 | 2008-04-15 | The Directv Group, Inc. | System for obtaining data regarding customer use of interactive television |
US7181759B2 (en) * | 2000-05-26 | 2007-02-20 | Bigband Networks, Inc. | System and method for providing interactivity for end-users over digital broadcast channels |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US20050211765A1 (en) * | 2000-06-27 | 2005-09-29 | Digital World Access, Inc. | Money management network |
US20010056399A1 (en) * | 2000-06-27 | 2001-12-27 | Eric Saylors | Web dependent consumer financing and virtual reselling method |
US20040111370A1 (en) * | 2000-06-27 | 2004-06-10 | Digital World Access, Inc. | Single source money management system |
US7613790B2 (en) * | 2000-07-13 | 2009-11-03 | Biap Systems, Inc. | Apparatus for and method of executing customized interactive computing services in a broadband network environment |
US7194754B2 (en) * | 2000-07-25 | 2007-03-20 | Digeo, Inc. | Method and system to defer transactions conducted via interactive television |
US7313802B1 (en) | 2000-07-25 | 2007-12-25 | Digeo, Inc. | Method and system to provide deals and promotions via an interactive video casting system |
US20020056109A1 (en) * | 2000-07-25 | 2002-05-09 | Tomsen Mai-Lan | Method and system to provide a personalized shopping channel VIA an interactive video casting system |
US7103908B2 (en) * | 2000-07-25 | 2006-09-05 | Diego, Inc. | Method and system to save context for deferred transaction via interactive television |
JP2002092366A (ja) * | 2000-09-11 | 2002-03-29 | Nec Corp | Cpu時間売買方法及びcpu時間売買システムにおける管理サーバ |
US6766376B2 (en) | 2000-09-12 | 2004-07-20 | Sn Acquisition, L.L.C | Streaming media buffering system |
US7103906B1 (en) | 2000-09-29 | 2006-09-05 | International Business Machines Corporation | User controlled multi-device media-on-demand system |
FR2814892B1 (fr) * | 2000-10-04 | 2003-02-21 | At Sky | Systeme permettant d'utiliser un ordinateur comme serveur pour televiseurs |
CA2425482C (en) | 2000-10-11 | 2015-12-01 | United Video Properties, Inc. | Systems and methods for caching data in media-on-demand systems |
EP1986435B1 (de) | 2000-10-11 | 2020-01-22 | Rovi Guides, Inc. | Systeme und Verfahren zur Bereitstellung von Datenspeicherplatz auf Servern in einem On-Demand-Medienausgabesystem |
US20020103810A1 (en) * | 2000-10-19 | 2002-08-01 | Kobi Menachemi | Dynamic building of applications |
US6889384B1 (en) | 2000-11-08 | 2005-05-03 | The Directv Group, Inc. | Simplified interactive user interface for multi-video channel navigation |
US6917627B1 (en) | 2000-11-21 | 2005-07-12 | The Directv Group, Inc. | Hybrid satellite communications system |
US20020091761A1 (en) * | 2001-01-10 | 2002-07-11 | Lambert James P. | Technique of generating a composite media stream |
US20020138500A1 (en) * | 2001-01-12 | 2002-09-26 | General Instrument Corporation | Virtual streaming in a carousel file system |
US20020152467A1 (en) * | 2001-02-12 | 2002-10-17 | Rosario Fiallos | Automated generation of conditional access packets for IRD upgrades via radio frequency software download in satellite television systems |
US20020175991A1 (en) * | 2001-02-14 | 2002-11-28 | Anystream, Inc. | GPI trigger over TCP/IP for video acquisition |
JP4291467B2 (ja) * | 2001-03-01 | 2009-07-08 | 株式会社ソニー・コンピュータエンタテインメント | エンタテインメント装置、メニュー表示方法および情報記録媒体 |
US20040117427A1 (en) * | 2001-03-16 | 2004-06-17 | Anystream, Inc. | System and method for distributing streaming media |
US20100027430A1 (en) * | 2001-04-30 | 2010-02-04 | Netwitness Corporation | Apparatus and Method for Network Analysis |
US7634557B2 (en) * | 2001-04-30 | 2009-12-15 | Netwitness Corporation | Apparatus and method for network analysis |
DE60225010T2 (de) * | 2001-06-13 | 2009-03-05 | OpenTV, Inc., San Francisco | Verfahren und vorrichtung zur verbesserten erfassung und überwachung von ereignisinformationstabellenteilen |
KR100425681B1 (ko) * | 2001-07-23 | 2004-04-03 | 엘지전자 주식회사 | 디에스엠-씨씨 기반 장치의 에이피아이 구현 장치 및 방법 |
US7154916B2 (en) * | 2001-07-26 | 2006-12-26 | The Directv Group, Inc. | Method for real-time insertion of auxiliary data packets into DSS bitstream in the presence of one or more service channels |
WO2003015393A2 (en) * | 2001-08-06 | 2003-02-20 | Digeo Inc. | Providing content and applicatons via carousel transmission to thin-client interactive television terminals |
US6996564B2 (en) * | 2001-08-13 | 2006-02-07 | The Directv Group, Inc. | Proactive internet searching tool |
US7343487B2 (en) | 2001-10-10 | 2008-03-11 | Nokia Corporation | Datacast distribution system |
AU2002349979A1 (en) * | 2001-10-16 | 2003-04-28 | Newattitude Inc. (Dba Digital World Access, Inc.) | Self-administered automatic payroll deduction |
US20040072584A1 (en) * | 2002-03-01 | 2004-04-15 | Kern Ronald J. | Wireless distribution of multimedia content |
US7844994B2 (en) * | 2002-03-22 | 2010-11-30 | The Directv Group, Inc. | System and method for persistent storage of common user information for interactive television using a centrally located repository |
US20040031052A1 (en) * | 2002-08-12 | 2004-02-12 | Liberate Technologies | Information platform |
WO2004021138A2 (en) * | 2002-08-30 | 2004-03-11 | Wink Communications, Inc. | Carousel proxy |
CN100450256C (zh) * | 2002-10-28 | 2009-01-07 | 中兴通讯股份有限公司 | 移动通信网络规划中小区覆盖文件的分布式处理方法 |
US20090118019A1 (en) | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
US9138644B2 (en) | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
US9077991B2 (en) | 2002-12-10 | 2015-07-07 | Sony Computer Entertainment America Llc | System and method for utilizing forward error correction with video compression |
US8964830B2 (en) * | 2002-12-10 | 2015-02-24 | Ol2, Inc. | System and method for multi-stream video compression using multiple encoding formats |
US9108107B2 (en) * | 2002-12-10 | 2015-08-18 | Sony Computer Entertainment America Llc | Hosting and broadcasting virtual events using streaming interactive video |
US8711923B2 (en) | 2002-12-10 | 2014-04-29 | Ol2, Inc. | System and method for selecting a video encoding format based on feedback data |
US10201760B2 (en) | 2002-12-10 | 2019-02-12 | Sony Interactive Entertainment America Llc | System and method for compressing video based on detected intraframe motion |
US8832772B2 (en) * | 2002-12-10 | 2014-09-09 | Ol2, Inc. | System for combining recorded application state with application streaming interactive video output |
US9314691B2 (en) | 2002-12-10 | 2016-04-19 | Sony Computer Entertainment America Llc | System and method for compressing video frames or portions thereof based on feedback information from a client device |
FR2849704A1 (fr) * | 2003-01-02 | 2004-07-09 | Thomson Licensing Sa | Dispositifs et procedes de decision conditionnelle d'execution de services recus et de constitution de messages d'informations associes a des services, et produits associes |
US7493646B2 (en) | 2003-01-30 | 2009-02-17 | United Video Properties, Inc. | Interactive television systems with digital video recording and adjustable reminders |
US7231404B2 (en) | 2003-01-31 | 2007-06-12 | Nokia Corporation | Datacast file transmission with meta-data retention |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US20060051059A1 (en) | 2004-09-08 | 2006-03-09 | Krakirian Haig H | Video recorder having user extended and automatically extended time slots |
EA005455B1 (ru) * | 2003-05-05 | 2005-02-24 | Виктор Александрович Мамонтов | Способ программирования устройств дистанционного управления |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US20050071240A1 (en) * | 2003-09-26 | 2005-03-31 | Ewald Stephen A. | System and method for purchasing linked with broadcast media |
JP2005216140A (ja) * | 2004-01-30 | 2005-08-11 | Fujitsu Ten Ltd | 発注確認装置および発注確認方法 |
FR2871639A1 (fr) * | 2004-06-11 | 2005-12-16 | Thomson Licensing Sa | Procede de gestion de programmes auxiliaires et recepteur et systeme correspondants |
US8086575B2 (en) | 2004-09-23 | 2011-12-27 | Rovi Solutions Corporation | Methods and apparatus for integrating disparate media formats in a networked media system |
JP2006094415A (ja) * | 2004-09-27 | 2006-04-06 | Toshiba Corp | 映像装置及び映像ストリーミング方法 |
US8117559B2 (en) | 2004-09-30 | 2012-02-14 | Citrix Systems, Inc. | Method and apparatus for virtualizing window information |
US7680758B2 (en) | 2004-09-30 | 2010-03-16 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
US8171479B2 (en) | 2004-09-30 | 2012-05-01 | Citrix Systems, Inc. | Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers |
US7853947B2 (en) | 2004-09-30 | 2010-12-14 | Citrix Systems, Inc. | System for virtualizing access to named system objects using rule action associated with request |
US7752600B2 (en) | 2004-09-30 | 2010-07-06 | Citrix Systems, Inc. | Method and apparatus for providing file-type associations to multiple applications |
US8095940B2 (en) | 2005-09-19 | 2012-01-10 | Citrix Systems, Inc. | Method and system for locating and accessing resources |
US8806533B1 (en) | 2004-10-08 | 2014-08-12 | United Video Properties, Inc. | System and method for using television information codes |
US20060112177A1 (en) * | 2004-11-24 | 2006-05-25 | Microsoft Corporation | Method and system for controlling access to presence information on a peer-to-peer basis |
JP4487761B2 (ja) * | 2004-12-21 | 2010-06-23 | カシオ計算機株式会社 | データ出力装置、および、プログラム |
US7664872B2 (en) * | 2005-01-05 | 2010-02-16 | Divx, Inc. | Media transfer protocol |
US20060168291A1 (en) * | 2005-01-05 | 2006-07-27 | Van Zoest Alexander | Interactive multichannel data distribution system |
US20060200745A1 (en) * | 2005-02-15 | 2006-09-07 | Christopher Furmanski | Method and apparatus for producing re-customizable multi-media |
JP4478598B2 (ja) * | 2005-03-18 | 2010-06-09 | キヤノン株式会社 | 画像形成装置 |
JP2006256275A (ja) * | 2005-03-18 | 2006-09-28 | Canon Inc | 装置および画像形成装置 |
JP4546299B2 (ja) * | 2005-03-18 | 2010-09-15 | キヤノン株式会社 | 画像形成装置 |
US9973817B1 (en) | 2005-04-08 | 2018-05-15 | Rovi Guides, Inc. | System and method for providing a list of video-on-demand programs |
DE102006018238A1 (de) | 2005-04-20 | 2007-03-29 | Logitech Europe S.A. | System und Verfahren zur adaptiven Programmierung einer Fernbedienung |
US9104773B2 (en) * | 2005-06-21 | 2015-08-11 | Microsoft Technology Licensing, Llc | Finding and consuming web subscriptions in a web browser |
US8661459B2 (en) | 2005-06-21 | 2014-02-25 | Microsoft Corporation | Content syndication platform |
US20070079342A1 (en) | 2005-09-30 | 2007-04-05 | Guideworks, Llc | Systems and methods for managing local storage of on-demand content |
US20070083620A1 (en) * | 2005-10-07 | 2007-04-12 | Pedersen Bradley J | Methods for selecting between a predetermined number of execution methods for an application program |
US8131825B2 (en) | 2005-10-07 | 2012-03-06 | Citrix Systems, Inc. | Method and a system for responding locally to requests for file metadata associated with files stored remotely |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US7813963B2 (en) | 2005-12-27 | 2010-10-12 | The Pen | Interactive electronic desktop action method and system for executing a transaction |
US9681105B2 (en) | 2005-12-29 | 2017-06-13 | Rovi Guides, Inc. | Interactive media guidance system having multiple devices |
US8607287B2 (en) | 2005-12-29 | 2013-12-10 | United Video Properties, Inc. | Interactive media guidance system having multiple devices |
US8280843B2 (en) * | 2006-03-03 | 2012-10-02 | Microsoft Corporation | RSS data-processing object |
US7979803B2 (en) * | 2006-03-06 | 2011-07-12 | Microsoft Corporation | RSS hostable control |
US8280982B2 (en) | 2006-05-24 | 2012-10-02 | Time Warner Cable Inc. | Personal content server apparatus and methods |
US9386327B2 (en) | 2006-05-24 | 2016-07-05 | Time Warner Cable Enterprises Llc | Secondary content insertion apparatus and methods |
US8024762B2 (en) | 2006-06-13 | 2011-09-20 | Time Warner Cable Inc. | Methods and apparatus for providing virtual content over a network |
KR100823282B1 (ko) * | 2006-09-29 | 2008-04-21 | 삼성전자주식회사 | 데이터 방송 애플리케이션을 수신, 저장 및 실행하기 위한방법 및 장치 |
US7653661B2 (en) * | 2006-12-29 | 2010-01-26 | Sap Ag | Monitoring connection between computer system layers |
CN101231731B (zh) * | 2007-01-25 | 2015-10-21 | 运软网络科技(上海)有限公司 | 一种应用虚拟化在公网上的通用商务方法及其迷你服务器 |
US8181206B2 (en) | 2007-02-28 | 2012-05-15 | Time Warner Cable Inc. | Personal content server apparatus and methods |
US9104962B2 (en) * | 2007-03-06 | 2015-08-11 | Trion Worlds, Inc. | Distributed network architecture for introducing dynamic content into a synthetic environment |
US8898325B2 (en) * | 2007-03-06 | 2014-11-25 | Trion Worlds, Inc. | Apparatus, method, and computer readable media to perform transactions in association with participants interacting in a synthetic environment |
US7801888B2 (en) | 2007-03-09 | 2010-09-21 | Microsoft Corporation | Media content search results ranked by popularity |
US20090019492A1 (en) | 2007-07-11 | 2009-01-15 | United Video Properties, Inc. | Systems and methods for mirroring and transcoding media content |
US20090064247A1 (en) * | 2007-08-31 | 2009-03-05 | Jacked, Inc. | User generated content |
US20090100357A1 (en) * | 2007-10-11 | 2009-04-16 | Alessio Signorini | Systems and methods for visually selecting information |
US8171483B2 (en) | 2007-10-20 | 2012-05-01 | Citrix Systems, Inc. | Method and system for communicating between isolation environments |
CN106095570A (zh) * | 2007-11-08 | 2016-11-09 | 思腾科技(巴巴多斯)有限公司 | 执行复杂算法的分布式网络 |
US20090133078A1 (en) | 2007-11-16 | 2009-05-21 | United Video Properties, Inc | Systems and methods for automatically purchasing and recording popular pay programs in an interactive media delivery system |
WO2009073827A1 (en) * | 2007-12-05 | 2009-06-11 | Onlive, Inc. | System and method for compressing video based on detected intraframe motion |
US9503691B2 (en) | 2008-02-19 | 2016-11-22 | Time Warner Cable Enterprises Llc | Methods and apparatus for enhanced advertising and promotional delivery in a network |
US8327402B1 (en) | 2008-07-15 | 2012-12-04 | United Video Properties, Inc. | Methods and devices for presenting an interactive media guidance application |
US8626863B2 (en) * | 2008-10-28 | 2014-01-07 | Trion Worlds, Inc. | Persistent synthetic environment message notification |
US10063934B2 (en) | 2008-11-25 | 2018-08-28 | Rovi Technologies Corporation | Reducing unicast session duration with restart TV |
US8260877B2 (en) | 2008-12-31 | 2012-09-04 | Apple Inc. | Variant streams for real-time or near real-time streaming to provide failover protection |
US8099476B2 (en) | 2008-12-31 | 2012-01-17 | Apple Inc. | Updatable real-time or near real-time streaming |
US8156089B2 (en) | 2008-12-31 | 2012-04-10 | Apple, Inc. | Real-time or near real-time streaming with compressed playlists |
US8578272B2 (en) | 2008-12-31 | 2013-11-05 | Apple Inc. | Real-time or near real-time streaming |
US8657686B2 (en) * | 2009-03-06 | 2014-02-25 | Trion Worlds, Inc. | Synthetic environment character data sharing |
US8694585B2 (en) * | 2009-03-06 | 2014-04-08 | Trion Worlds, Inc. | Cross-interface communication |
US8661073B2 (en) * | 2009-03-06 | 2014-02-25 | Trion Worlds, Inc. | Synthetic environment character data sharing |
WO2010127039A1 (en) * | 2009-04-28 | 2010-11-04 | Genetic Finance (Barbados) Limited | Distributed evolutionary algorithm for asset management and trading |
US8090797B2 (en) | 2009-05-02 | 2012-01-03 | Citrix Systems, Inc. | Methods and systems for launching applications into existing isolation environments |
US8214515B2 (en) | 2009-06-01 | 2012-07-03 | Trion Worlds, Inc. | Web client data conversion for synthetic environment interaction |
US9166714B2 (en) | 2009-09-11 | 2015-10-20 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
US9014546B2 (en) | 2009-09-23 | 2015-04-21 | Rovi Guides, Inc. | Systems and methods for automatically detecting users within detection regions of media devices |
US8805963B2 (en) | 2010-04-01 | 2014-08-12 | Apple Inc. | Real-time or near real-time streaming |
US8560642B2 (en) | 2010-04-01 | 2013-10-15 | Apple Inc. | Real-time or near real-time streaming |
GB201105502D0 (en) | 2010-04-01 | 2011-05-18 | Apple Inc | Real time or near real time streaming |
WO2011127312A1 (en) | 2010-04-07 | 2011-10-13 | Apple Inc. | Real-time or near real-time streaming |
EP2577476A4 (de) * | 2010-05-28 | 2014-08-27 | Hewlett Packard Development Co | Deaktivierung eines anzeigeaktualisierungsverfahrens |
US8508401B1 (en) | 2010-08-31 | 2013-08-13 | Logitech Europe S.A. | Delay fixing for command codes in a remote control system |
US8843586B2 (en) | 2011-06-03 | 2014-09-23 | Apple Inc. | Playlists for real-time or near real-time streaming |
US8856283B2 (en) | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
CN102369511B (zh) * | 2011-09-01 | 2013-08-28 | 华为技术有限公司 | 资源迁移方法、装置及系统 |
US8805418B2 (en) | 2011-12-23 | 2014-08-12 | United Video Properties, Inc. | Methods and systems for performing actions based on location-based rules |
RU2498396C1 (ru) * | 2012-02-22 | 2013-11-10 | Вадим Александрович Питов | Способ осуществления коммуникаций и виртуальных путешествий |
US9609374B2 (en) | 2012-06-27 | 2017-03-28 | Rovi Guides, Inc. | System and methods for automatically obtaining cost-efficient access to a media content collection |
US20140282786A1 (en) | 2013-03-12 | 2014-09-18 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing and uploading content to personalized network storage |
US9674563B2 (en) | 2013-11-04 | 2017-06-06 | Rovi Guides, Inc. | Systems and methods for recommending content |
US10430429B2 (en) | 2015-09-01 | 2019-10-01 | Cognizant Technology Solutions U.S. Corporation | Data mining management server |
JP6649085B2 (ja) * | 2015-12-28 | 2020-02-19 | 日本テレビ放送網株式会社 | 分散コンピューティングシステム、放送局、サーバ及び分散コンピューティング方法 |
CN106897872A (zh) * | 2016-12-08 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 资源调度方法及装置、支付方法及装置 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3602891A (en) * | 1969-03-10 | 1971-08-31 | Univ Washington | Continuous transmission computer and multiple receiver system |
US3803491A (en) * | 1971-05-26 | 1974-04-09 | Tocom | Communications system |
US3891792A (en) * | 1974-06-25 | 1975-06-24 | Asahi Broadcasting | Television character crawl display method and apparatus |
US4528589A (en) * | 1977-02-14 | 1985-07-09 | Telease, Inc. | Method and system for subscription television billing and access |
US4264925A (en) * | 1979-08-13 | 1981-04-28 | Michael J. Freeman | Interactive cable television system |
US4323922A (en) * | 1979-12-17 | 1982-04-06 | Oak Industries Inc. | Television coding system with channel level identification |
US4965825A (en) * | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
CA1177558A (en) † | 1982-04-15 | 1984-11-06 | Groupe Videotron Ltee. (Le) | Cable network data transmission system |
NL8303991A (nl) * | 1983-11-18 | 1985-06-17 | Nl Standard Electric Mij B V | Kabeltelevisienetwerk. |
JPS6149574A (ja) * | 1984-08-16 | 1986-03-11 | Sony Corp | プログラムの伝送方法 |
JP2585535B2 (ja) * | 1986-06-02 | 1997-02-26 | 株式会社日立製作所 | 複合計算機システムにおけるプロセス結合方法 |
US4780758A (en) † | 1987-04-30 | 1988-10-25 | Gte Government Systems Corporation | Telecommunication system with burst and continuous audio signals |
IT1211278B (it) * | 1987-09-02 | 1989-10-12 | Olivetti & Co Spa | Sistema di trasmissione e o ricezione di programmi per calcolatori e o dati attraverso il teletext |
JPH01221944A (ja) * | 1988-03-01 | 1989-09-05 | Nippon Hoso Kyokai <Nhk> | データ信号送出装置 |
US5117354A (en) * | 1988-05-24 | 1992-05-26 | Carnes Company, Inc. | Automated system for pricing and ordering custom manufactured parts |
US5251301A (en) * | 1988-05-27 | 1993-10-05 | Pc Connection, Inc. | Computer remote control through a video signal |
US5191573A (en) * | 1988-06-13 | 1993-03-02 | Hair Arthur R | Method for transmitting a desired digital video or audio signal |
JPH0627967B2 (ja) * | 1988-06-17 | 1994-04-13 | 株式会社エスシーシー | Cai学習方法および装置 |
US4994908A (en) † | 1988-12-23 | 1991-02-19 | Scientific-Atlanta, Inc. | Interactive room status/time information system |
US5003591A (en) † | 1989-05-25 | 1991-03-26 | General Instrument Corporation | Functionally modifiable cable television converter system |
AU628753B2 (en) * | 1990-08-14 | 1992-09-17 | Digital Equipment Corporation | Method and apparatus for implementing server functions in a distributed heterogeneous environment |
JPH04127688A (ja) * | 1990-09-18 | 1992-04-28 | Fujitsu General Ltd | 文字放送受信機 |
EP0551433B1 (de) * | 1990-10-01 | 2001-05-09 | BUSH, Thomas A. | Transaktionsverarbeitungssystem |
US5129080A (en) * | 1990-10-17 | 1992-07-07 | International Business Machines Corporation | Method and system increasing the operational availability of a system of computer programs operating in a distributed system of computers |
GB2249416B (en) * | 1990-12-31 | 1994-08-17 | Ruego Dev Co | A data processing system. |
NZ241520A (en) * | 1991-02-06 | 1995-07-26 | Catalina Marketing Int | Retail purchasing: discounts accumulated and printout produced |
US5168356A (en) * | 1991-02-27 | 1992-12-01 | General Electric Company | Apparatus for segmenting encoded video signal for transmission |
DE69210303T2 (de) * | 1991-05-23 | 1996-11-14 | Hitachi Ltd | Breitbildschirmfernsehempfänger mit Bildseitenverhältnisumwandlungsfunktion und Verfahren zur Darstellung eines vergrösserten Abschnittes |
US5343239A (en) * | 1991-11-20 | 1994-08-30 | Zing Systems, L.P. | Transaction based interactive television system |
JPH05197732A (ja) * | 1991-12-16 | 1993-08-06 | Sofuto Banku Kk | 情報販売端末装置のインタフェース |
US5371550A (en) * | 1991-12-25 | 1994-12-06 | Casio Computer Co., Ltd. | Television receiver with auto-tuning system |
US5299197A (en) * | 1992-02-11 | 1994-03-29 | Roger Schlafly | Communications packet server protocol |
US5642515A (en) * | 1992-04-17 | 1997-06-24 | International Business Machines Corporation | Network server for local and remote resources |
FR2694423B1 (fr) * | 1992-07-30 | 1994-12-23 | France Telecom | Dispositif de contrôle de la puissance de sortie des diodes laser. |
US5373288A (en) * | 1992-10-23 | 1994-12-13 | At&T Corp. | Initializing terminals in a signal distribution system |
US5440632A (en) * | 1992-12-02 | 1995-08-08 | Scientific-Atlanta, Inc. | Reprogrammable subscriber terminal |
US5600364A (en) * | 1992-12-09 | 1997-02-04 | Discovery Communications, Inc. | Network controller for cable television delivery systems |
US5548532A (en) * | 1994-04-28 | 1996-08-20 | Thomson Consumer Electronics, Inc. | Apparatus and method for formulating an interactive TV signal |
US5819034A (en) | 1994-04-28 | 1998-10-06 | Thomson Consumer Electronics, Inc. | Apparatus for transmitting and receiving executable applications as for a multimedia system |
US5635978A (en) * | 1994-05-20 | 1997-06-03 | News America Publications, Inc. | Electronic television program guide channel system and method |
US5559548A (en) * | 1994-05-20 | 1996-09-24 | Davis; Bruce | System and method for generating an information display schedule for an electronic program guide |
-
1994
- 1994-04-28 US US08/233,908 patent/US5819034A/en not_active Ceased
-
1995
- 1995-03-30 CA CA002145899A patent/CA2145899C/en not_active Expired - Lifetime
- 1995-04-19 PT PT03002723T patent/PT1307025E/pt unknown
- 1995-04-19 ES ES95105803T patent/ES2232816T3/es not_active Expired - Lifetime
- 1995-04-19 ES ES03002723T patent/ES2372692T3/es not_active Expired - Lifetime
- 1995-04-19 ES ES03002720T patent/ES2370166T3/es not_active Expired - Lifetime
- 1995-04-19 PT PT03002720T patent/PT1307022E/pt unknown
- 1995-04-19 EP EP03002720A patent/EP1307022B1/de not_active Expired - Lifetime
- 1995-04-19 EP EP03002721A patent/EP1307023A3/de not_active Withdrawn
- 1995-04-19 EP EP95105803A patent/EP0680185B1/de not_active Expired - Lifetime
- 1995-04-19 AT AT03002720T patent/ATE518348T1/de active
- 1995-04-19 AT AT03002723T patent/ATE523014T1/de active
- 1995-04-19 EP EP03002723A patent/EP1307025B1/de not_active Expired - Lifetime
- 1995-04-19 DE DE69533565T patent/DE69533565T2/de not_active Expired - Lifetime
- 1995-04-19 DK DK95105803T patent/DK0680185T3/da active
- 1995-04-19 AT AT95105803T patent/ATE278285T1/de not_active IP Right Cessation
- 1995-04-19 PT PT03002722T patent/PT1307024E/pt unknown
- 1995-04-19 EP EP03002722.1A patent/EP1307024B2/de not_active Expired - Lifetime
- 1995-04-19 ES ES03002722T patent/ES2387085T3/es not_active Expired - Lifetime
- 1995-04-24 JP JP9888295A patent/JPH08166925A/ja active Pending
- 1995-04-25 RU RU95106682A patent/RU2142158C1/ru active
- 1995-04-25 SG SG1995000321A patent/SG28257A1/en unknown
- 1995-04-25 KR KR1019950009741A patent/KR100363593B1/ko not_active IP Right Cessation
- 1995-04-27 CN CN200610093448.8A patent/CN1893648B/zh not_active Expired - Lifetime
- 1995-04-27 CN CN95104730A patent/CN1104691C/zh not_active Expired - Lifetime
- 1995-04-27 CN CNA2006101019034A patent/CN101212659A/zh active Pending
- 1995-04-27 CN CNB031029655A patent/CN1311378C/zh not_active Expired - Lifetime
-
1997
- 1997-03-18 US US08/819,274 patent/US5915090A/en not_active Expired - Lifetime
-
2009
- 2009-04-20 JP JP2009101935A patent/JP2009169971A/ja active Pending
-
2010
- 2010-08-20 JP JP2010185225A patent/JP2011028759A/ja active Pending
-
2012
- 2012-02-23 JP JP2012037961A patent/JP2012123833A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69533565T2 (de) | Verteiltes Computersystem | |
DE69830202T2 (de) | Hostgerät zur struktur einer zweiwegverbindung in einwegdatenströmen | |
DE69731549T2 (de) | Interaktivität mit audiovisueller programmierung | |
DE69637230T2 (de) | Transportkodierer für einen Paketstrom und Verfahren zu dessen Betrieb | |
DE69831179T2 (de) | Tragbare vorrichtung zur simulation von bidirektionellen verbindungen für ein-direktionelle datenströme | |
DE69722910T2 (de) | Vorrichtung zur Anzeige von Bildern und Daten | |
DE3614361C2 (de) | ||
DE60122569T2 (de) | Einheitlich verteilte architektur für mehrpunktbildkonferenz und interaktive rundfunksysteme | |
DE69837194T2 (de) | Methode und system zur netzwerkverwendungserfassung | |
DE60131050T2 (de) | Verfahren und System für Datenkommunikation | |
DE69926074T2 (de) | Proxy zur steuerung von video-auf-anfrage-anbietern | |
DE69733580T2 (de) | Senden und Empfangen von Fernsehprogrammen und anderen Daten | |
DE3820425A1 (de) | Digitales interaktives nachrichtensystem | |
US20020038257A1 (en) | Apparatus for transmitting and receiving executable applications as for a multimedia system | |
DE19503762A1 (de) | Dynamische Signalzusammensetzung | |
DE69732061T2 (de) | Datenverarbeitungssystem und -verfahren | |
DE60303948T2 (de) | Synchronisationssystem und verfahren für audiovisuelle programme | |
DE60307896T2 (de) | Verfahren zum hervorbringen einer liste von inhalten in einermit einem nationalen netzwerk verbundenen einrichtung und mit dem verfahrenassoziierte einrichtung | |
EP0913974B1 (de) | Verfahren zur Erstellung von Sendeplänen für Multi Media Daten | |
DE10320889B3 (de) | Verfahren und Vorrichtung zum Erzeugen und Senden eines Fernsehprogrammes über Ip-basierte Medien, im speziellen das Internet | |
DE602005005709T2 (de) | Verfahren und System zur Übertragung von Broadcast relatierten Daten auf ein mobiles Endgerät | |
EP2012449A1 (de) | System und Verfahren zum Breitstellen eines interaktiven Rundfunkprogramms | |
DE69937601T2 (de) | Informationsserver | |
DE69914349T2 (de) | Verfahren und vorrichtung zur verwaltung von dienstedaten in einem fernsehsystem | |
EP2120394B1 (de) | Verfahren zum Übertragen von Daten in einem hybriden Netzwerk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |