ES2372692T3 - Sistema informático distribuido cliente-servidor. - Google Patents
Sistema informático distribuido cliente-servidor. Download PDFInfo
- Publication number
- ES2372692T3 ES2372692T3 ES03002723T ES03002723T ES2372692T3 ES 2372692 T3 ES2372692 T3 ES 2372692T3 ES 03002723 T ES03002723 T ES 03002723T ES 03002723 T ES03002723 T ES 03002723T ES 2372692 T3 ES2372692 T3 ES 2372692T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- module
- packet
- flow
- client computer
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Quality & Reliability (AREA)
- Accounting & Taxation (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Multi Processors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
Abstract
Un sistema que incluye: un ordenador servidor (10) que incluye: un empaquetador (104) para generar una primera corriente de paquete que incluye un módulo de código (CM1;CM2) que representa una aplicación informática distribuida; una fuente de señales auxiliares (107) para generar un paquete de datos auxiliares; y un multiplexor (106) conectado al empaquetador (104) para recibir el primer flujo de paquete, incluyendo el módulo de código (CM1;CM2), y conectado a la fuente de datos auxiliares (107) para recibir el flujo de paquete de datos auxiliares, incluyendo los paquetes de video; teniendo el empaquetador (104) que incluir repetitivamente el módulo de código (CM1;CM2) dentro del primer flujo de paquete, y el multiplexor (106) tiene que multiplexar el primer flujo de paquete con el flujo de paquete de datos auxiliares para generar un segundo flujo de paquete.
Description
Sistema informático distribuido cliente-servidor
[0001] Esta es una solicitud divisional de EP95105803.1 publicada como EP0680185.
[0002] La presente invención se refiere a un sistema informático distribuido cliente-servidor. Dicho sistema informático puede usarse en aplicaciones multimedia de difusión.
[0003] Los primeros sistemas informáticos fueron sistemas autónomos que generalmente consistían en grandes ordenadores. Posteriormente, varios sistemas informáticos de grandes ordenadores fueron conectados, o agrupados, para tratar tareas informáticas más grandes, tales como gran cantidad de usuarios de tiempo compartido. Con la llegada de los ordenadores personales, muchos sistemas informáticos autónomos de potencia relativamente baja fueron controlados directamente por los usuarios. Poco después, esta gran cantidad de ordenadores personales se acoplaron en redes de ordenadores, facilitando recursos compartidos y capacidades de comunicación a los usuarios de los ordenadores personales individuales y entre los usuarios y los grandes ordenadores preexistentes.
[0004] Un tipo de red así incluye un ordenador central, al que se denomina servidor, el cual, generalmente, incluye una gran cantidad de memoria masiva. Los programas usados por los usuarios de la red se almacenan centralmente en la memoria masiva en el servidor. Cuando un usuario desea ejecutar un programa, el ordenador del usuario solicita que se le envíe una copia de ese programa desde el servidor. Como respuesta a esta solicitud, el servidor transfiere una copia del programa desde su memoria masiva hasta la memoria principal del ordenador personal de ese usuario, y el programa se ejecuta en ese ordenador personal. Los datos también pueden almacenarse centralmente en el servidor y ser compartidos por todos los usuarios de la red. Los datos se almacenan en la memoria masiva del servidor a la que todos los usuarios de la red pueden acceder como respuesta a una petición. El servidor también sirve como concentrador para las comunicaciones de mensajes (correo electrónico) entre los usuarios de la red. El servidor de un sistema así maneja el almacenamiento y distribución de los programas, datos y mensajes, pero no aporta ninguna potencia de procesamiento a las tareas informáticas en sí de cualquiera de los usuarios. Es decir, un usuario no puede esperar que el ordenador servidor realice cualquiera de las tareas de procesamiento del programa que se ejecuta en el ordenador personal. Aunque esas redes desempeñan una función valiosa, no se trata de sistemas informáticos distribuidos, en los que los ordenadores interconectados colaboran para ejecutar una sola tarea informática.
[0005] A fin de mejorar dichas redes, podrá configurarse la red de tal manera que un usuario de la red pueda solicitar que el servidor, u otro ordenador personal conectado a la red, ejecute un programa. A esto se le denomina ejecución remota porque un ordenador (servidor u otro ordenador personal) que se halle a una distancia del solicitante ejecuta un programa como respuesta a la petición del solicitante. En un sistema así, el programa del cual se solicita una ejecución remota se envía desde el solicitante al ordenador remoto, o se recupera del servidor como respuesta a la solicitud realizada por el ordenador remoto. Cuando se recibe el programa, éste se ejecuta. De esta manera puede conseguirse varios ordenadores para que colaboren en la ejecución de una función informática.
[0006] Recientemente ha habido programas que distribuyen las tareas informáticas en sí necesarias para ejecutar una sola función informática. Por ejemplo, en un programa de base de datos así, en el que la base de datos se almacena en la memoria masiva del servidor, si un usuario desea realizar una consulta de la base de datos, la parte del programa de gestión de la base de datos del ordenador personal del usuario generará una solicitud de consulta, que se transmite al servidor. La parte del programa de gestión de la base de datos en el servidor lleva a cabo el procesamiento de la consulta, p.ej. analizando sintácticamente la solicitud de consulta, localizando dónde residen los datos especificados en la solicitud de consulta en su dispositivo de memoria masiva, accediendo a esos datos y devolviendo los resultados al ordenador personal que los ha solicitado por medio de la red. Entonces, la parte del programa de gestión de la base de datos del ordenador personal procesa los datos recibidos del servidor, p.ej. formateándolos y mostrándolos en la pantalla o imprimiéndolos en una impresora. Mientras el servidor procesa la solicitud de consulta, el ordenador personal puede ejecutar otro procesamiento, y mientras el ordenador personal está generando la solicitud de consulta y procesando los datos resultantes recibidos del servidor, el servidor puede procesar peticiones de consulta procedentes de otros ordenadores personales.
[0007] Otros tipos de programas también son útiles para este tipo de informática distribuida, a la que se denomina informática cliente-servidor. La compartición de las tareas de procesamiento entre el ordenador personal y el servidor mejora la eficacia informática total por la red. Dichos sistemas informáticos cliente-servidor, y las redes de ejecución remota, pueden denominarse sistemas informáticos distribuidos porque varios ordenadores (el servidor y/o los respectivos ordenadores periféricos) colaboran para realizar la función informática, p.ej. la gestión de la base de datos. [0008] Recientemente se han propuesto los programas multimedia de difusión, más específicamente, los programas de televisión (TV) interactiva. Los programas de TV interactiva permitirán al espectador de un programa de televisión interactuar con ese programa. En un sistema de TV interactiva, la ubicación de la emisión central (red de TV, estudio local de TV, sistema por cable, etc.) tendrá un ordenador central, correspondiente al ordenador servidor, el cual producirá señales relacionadas con el programa de TV interactiva a transmitir simultáneamente con las señales de TV (vídeo y audio). Estas señales transportan datos que representan el programa de TV interactiva y pueden incluir órdenes, código de programa ejecutable y/o datos para el control de la interacción del espectador. Cada ubicación de espectador tendrá un ordenador, correspondiente al ordenador cliente, el cual recibirá las órdenes, código ejecutable y/o datos del ordenador central, ejecutará el código ejecutable, procesará los datos recibidos, aceptará entrada de datos del usuario y facilitará datos al usuario por medio de la pantalla de TV. La entrada de datos del usuario puede devolverse al ordenador en la ubicación de emisión, permitiendo que el usuario interactúe con el programa de TV interactiva.
[0009] La patente estadounidense 4.965.825, SIGNAL PROCESSING APPARATUS AND METHODS (Aparatos y métodos de procesamiento de señales), expedida el 23 de octubre de 1990 por Harvey y otros, describe un sistema de TV interactiva en el cual una ubicación de emisión central incluye señales que transportan órdenes, código ejecutable y datos en, por ejemplo, el intervalo de borrado vertical de la señal de televisión para que las reciban los sistemas informáticos en las ubicaciones del espectador. Un ordenador que se halle en la ubicación del espectador extrae las órdenes, código ejecutable y datos, y ejecuta el código para procesar los datos e interactuar con el usuario. Un sistema así puede compararse con la función de ejecución remota de sistemas informáticos distribuidos, descritos anteriormente, en la que el ordenador del espectador se registra en el programa de TV interactiva y es controlado por la ubicación central.
[0010] EP 0 594 353 divulga un sistema de distribución de señal, tal como sistemas de televisión de cable interactiva, donde un servidor central comunica con terminales remotos donde el servidor asigna una dirección específica a cada terminal que se haya conectado para mensajes de control y sondeos. En el caso de un sistema de televisión de cable interactiva, tal terminal es la caja descodificadora o convertidor conectado entre el sistema de cable y el televisor. Periódicamente, el servidor emite un mensaje de control que contiene una dirección provisional y sondea la dirección provisional. Después de la recepción de dicho mensaje, un convertidor recién conectado almacena la dirección provisional y responde al sondeo con un mensaje de enlace ascendente. Después de la recepción del mensaje de enlace ascendente, el servidor inserta la dirección provisional en su lista de sondeo conforme al retraso de transmisión medido al enviar el sondeo a la recepción del mensaje de enlace ascendente y selecciona una nueva dirección provisional a usar en los mensajes de control de difusión posteriores. Los mensajes de enlace ascendente retumban por el servidor y son verificados por el convertidor. Si el convertidor no puede verificar un mensaje retumbado de enlace ascendente, lo que puede ocurrir si más de un convertidor recién conectado responde al mismo mensaje de control emitido, el convertidor repite su procedimiento de inicialización para adquirir una nueva dirección. Después de que la inicialización es completa, el software del sistema puede ser descargado desde el servidor al convertidor y el convertidor colocado en servicio.
[0011] En todos los sistemas anteriores, un ordenador central controla o responde a las solicitudes de ordenadores periféricos conectados a él a través de una red, es decir, el ordenador periférico (ordenador personal) solicita la ejecución remota de un programa, solicita un fichero o mensaje de otro ordenador, o manda una solicitud de pregunta a otro ordenador. Sólo en respuesta a una solicitud proporciona el otro ordenador una respuesta, por ejemplo ejecución remota, el solicitado fichero, mensaje o datos recuperados. Además, en general, es necesario que el ordenador periférico tenga todos los recursos necesarios para ejecutar completamente, o casi completamente, el programa deseado, con el servidor actuando sólo como otro mecanismo de almacenamiento o como mucho compartiendo una parte de las tareas informáticas.
[0012] Los inventores proponen en su solicitud copendiente 95105803.1, publicada como EP 0 680 185, un sistema informático distribuido en el que un servidor produce continuamente un flujo de datos. Este flujo de datos actúa como dispositivo de dispositivo de almacenamiento masivo para los ordenadores cliente que lo reciben. Este flujo de datos incluye repetitivamente datos que representan una aplicación informática distribuida en la que el ordenador de cliente puede participar, incluyendo código y datos ejecutables. Un mecanismo de transporte, incluyendo una vía de comunicación unidireccional de alta velocidad, lleva el flujo de datos del servidor al cliente. El cliente recibe el flujo de datos, extrae los datos informáticos representativos distribuidos y ejecuta la aplicación informática distribuida.
[0013] Dicho sistema informático distribuido comprende una fuente de flujo de datos continuo incluyendo repetitivamente la representación de una aplicación informática distribuida y un ordenador cliente, recibiendo el flujo de datos, para la extracción de los datos representativos del flujo de datos de la aplicación informática distribuida, y ejecutando la aplicación informática distribuida extraída.
[0014] En dicho sistema informático distribuido, no es necesario que el sistema informático de cliente incluya todos los recursos, en particular, memoria principal y dispositivo de almacenamiento masivo, necesarios para ejecutar el programa entero. En cambio, ningún dispositivo de almacenamiento masivo es requerido debido a que el flujo de datos proporciona la función del dispositivo de dispositivo de almacenamiento masivo, y el requisito de memoria principal es modesto porque sólo es necesario almacenar en la memoria la parte del programa que se ejecuta en ese momento. Cuando la parte ejecutada en ese momento se ha completado, su espacio de memoria es liberado, y la siguiente parte ejecutada es extraída del flujo de datos, almacenada en el espacio de memoria liberada, y dicha parte inicia la ejecución.
[0015] Además, tal sistema informático distribuido permite al usuario del ordenador cliente tener la opción de participar en la tarea informática distribuida. Si se desea participar, el ordenador cliente extrae los datos que representan la aplicación informática distribuida y ejecuta la aplicación informática distribuida, como se ha descrito anteriormente. Si no se desea participar, el flujo de datos es simplemente ignorado, y el procesamiento deseado por el usuario, o ninguno en absoluto, es realizado. Tal sistema informático distribuido también permite a cada ordenador cliente participante unirse a la función informática distribuida en cualquier momento y proceder a su propio ritmo a realizar su propia función informática.
[0016] Un sistema informático distribuido así es particularmente responsable de aplicaciones de TV interactivas porque permite a un espectador sintonizar un canal de TV interactiva en cualquier momento, incorporarse a la interactividad siempre que desee (o en absoluto), y permite a todos los espectadores proceder con sus diferentes ritmos. Esto es especialmente ventajoso en un entorno cuando un anuncio interactivo, con su propio código y datos ejecutables, se puede presentar dentro de un programa interactivo, o cuando el espectador desea cambiar de canal.
[0017] Según un primer aspecto de la presente invención se proporciona un sistema, según la reivindicación 1, que incluye: un ordenador servidor que incluye: un empaquetador de forma operacional para generar una primera corriente de paquete que incluye un módulo de código que representa una aplicación informática distribuida; una fuente de datos auxiliares para generar una fuente de paquete de datos auxiliares que incluye paquetes de vídeo; y un multiplexor acoplado al empaquetador para recibir la primera corriente de paquete, que incluye el módulo de código, y acoplado a la fuente de datos auxiliares para recibir la corriente de paquete de datos auxiliares, incluyendo los paquetes de video; donde el empaquetador tiene que incluir repetitivamente el módulo de código dentro de la primera corriente de paquete, y el multiplexor tiene que multiplexar la primera corriente de paquete con la corriente de paquete de datos auxiliares para generar una segunda corriente de paquete.
[0018] Según una forma de realización preferida del primer aspecto el multiplexor es para medir el tiempo de multiplexado de la primera corriente de paquete con la corriente de paquete de datos auxiliares para generar la segunda corriente de paquete e incluye un constructor de flujo, acoplado al empaquetador, repetitivamente para presentar datos asociados con la aplicación informática distribuida al empaquetador para inclusión en la primera corriente de paquete y una fuente de aplicación, acoplada al constructor de flujo, para suministrar los datos asociados a la aplicación informática distribuida al constructor de flujo.
[0019] La fuente de aplicación incluye preferiblemente un compilador de aplicación para compilar los datos asociados a la aplicación informática distribuida y tiene que siministrar datos relacionados con transmisión de la aplicación informática distribuida al constructor de flujo, los datos relacionados con la transmisión de la aplicación informática distribuida que incluye un
índice de repetición deseado para el módulo de código en el primer flujo de datos.
[0020] El constructor de flujo es preferiblemente a constructo del módulo de código, utilizar los datos asociados a la aplicación suministrado de computación distribuida por la fuente de aplicación, y utilizando los datos asociados a la aplicación de computación distribuida, es a constructo de un módulo de datos con datos a ser procesado por código incluido en el módulo de código, y donde el empaquetador es de forma operacional a generar la primera corriente de paquete para incluyer el módulo de datos.
[0021] El sistema puede incluir un ordenador de cliente, el ordenador de cliente incluyendo un receptor de flujo de datos para recibir un flujo de datos recibido y para extraer el módulo de datos del flujo de datos recibido y una memoria para memorizar al menos una parte de un primer módulo de datos de una pluralidad de módulos de datos, como extraído del flujo de datos recibido, antes de la recepción completamente del primer módulo de datos.
El ordenador de cliente tiene que ejecutar un primer módulo de código cuando el primer módulo de datos requerido por el primer módulo de código es recibido completamente y el receptor de flujo de datos incluye un extractor de datos de paquete para extraer paquetes de datos a partir dentro del flujo de datos recibido que incluía el módulo de datos y el extractor de paquete tiene que identificar los paquetes de datos que incluyen el módulo de datos que utiliza la información de identificación incluida en los paquetes de datos.
[0022] Preferiblemente el empaquetador tiene que incluir repetitivamente el módulo de datos en la primera corriente de paquete.
[0023] Según una forma de realización el constructor de flujo, que utiliza los datos asociados a la aplicación informática distribuida, tiene que incluir un módulo de directorio que incluye una lista que identifica el código y módulo de datos como incluido en la primera corriente de paquete, y donde el empaquetador es de forma operacional a generar la primera corriente de paquete para incluyer el módulo de directorio y el empaquetador es repetitivamente para incluyer el módulo de directorio en la primera corriente de paquete.
[0024] El sistema puede incluir un ordenador de cliente, el ordenador de cliente incluyendo un receptor de flujo de datos a recibir un flujo de datos recibido y para extraer el módulo de directorio a partir del flujo de datos recibido, incluyendo una memoria para memorizar al menos un primer módulo de directorio de un conjunto de módulos de directorio, como extraído del flujo de datos recibido, antes de recibir completamente el conjunto de módulos de directorio, el conjunto de módulos de directorio especificando un código asociado de identificación de directorio y módulo de datos incluido en el flujo de datos recibido y el ordenador de cliente tiene que pedir el código asociado y módulo de datos identificado por el directorio y el receptor de flujo de datos incluye un extractor de datos de paquete para extraer paquetes de datos desde dentro del flujo de datos recibido que incluía el módulo de directorio y el extractor de paquete tiene que identificar los paquetes de datos que incluían el módulo de directorio que utiliza la información de identificación incluida en los paquetes de datos.
[0025] Preferiblemente la fuente de datos auxiliares tiene que proporcionar los paquetes de video para incluir datos codificados MPEG que representan una imagen televisiva y para proporcionar la corriente de paquete de datos auxiliares para incluir paquetes audio con datos audio digitalmente codificados.
[0026] En una alternativa el empaquetador, la fuente de datos auxiliares y el multiplexor comprenden una primera fuente, incluyendo el sistema una segunda fuente y un transporte multiplexor, el transporte multiplexor acoplado para recibir la segunda corriente de paquete desde la primera fuente y una tercera corriente de paquete de la segunda fuente, y para multiplexar la segunda corriente de paquete y la tercera corriente de paquete para transmisión por un mecanismo de transporte como una cuarta corriente de paquete y el multiplexor de transporte tiene que multiplexar por frecuencia la segunda y la tercera corrientes de paquete para transmisión sobre el mecanismo de transporte y el multiplexor de transporte tiene que multiplexar en el tiempo la segunda y la tercera corrientes de paquete para transmisión por el mecanismo de transporte.
[0027] Un reloj se puede acoplar para proporcionar datos de código de tiempo al empaquetador y la fuente de datos auxiliares, donde los datos de código de tiempo tienen que ser incluidos en cualquiera o en tanto la corriente de paquete de datos auxiliares y el primer flujo de datos de paquete.
[0028] El empaquetador puede incluir primeros paquetes en el primer flujo de datos para incluir información de identificación que indica que los primeros paquetes incluyen al menos una parte del módulo de código que representa la aplicación informática distribuida y la fuente de datos auxiliares puede incluir segundos paquetes en la corriente de paquete de datos auxiliares para incluir información de identificación que indica que los segundos paquetes incluyen datos de video.
[0029] El sistema puede incluir transceptor de datos por el que los datos son recibidos en el servidor desde un ordenador de cliente por medio de una instalación de procesamiento central y el ordenador de cliente puede acceder el servidor por medio de la instalación de procesamiento central para recuperar el módulo de código.
[0030] La instalación de tratamiento central puede ser un sistema telefónico.
[0031] El servidor puede recibir y procesar datos recibidos en el servidor desde el ordenador de cliente durante la ejecución de la aplicación informática distribuida por el ordenador de cliente y puede generar el módulo de código basado en los datos recibidos en el servidor desde el ordenador cliente o el módulo de datos basado en los datos recibidos en el servidor desde el ordenador de cliente.
[0032] El sistema puede incluir un ordenador de cliente que incluye un receptor de flujo de datos para recibir un flujo de datos recibido y para extraer el módulo de código que representa la aplicación de informática distribuida desde el flujo de datos recibido.
[0033] El ordenador de cliente puede incluir una unidad de procesamiento, la unidad de procesamiento para ejecutar la aplicación informática distribuida y una memoria para almacenar al menos una parte de un primer módulo de código de una pluralidad de módulos de código, como extraídos del flujo de datos recibido, antes de recibir completamente el primer módulo de código.
[0034] Preferiblemente el ordenador de cliente tiene que ejecutar el primer módulo de código cuando completamente recibido y la memoria tiene que almacenar al menos el primer y un segundo módulo de código de la pluralidad de módulos de código, donde el ordenador de cliente tiene que conmutar entre ejecución de los primeros y los segundos módulos de código y el receptor de flujo de datos incluye un extractor de datos de paquete para extraer paquetes de datos, desde dentro del flujo de datos recibido, que incluye el módulo de código.
[0035] El extractor de paquete puede identificar los paquetes de datos que incluía el módulo de código que utiliza la información de identificación incluida en los paquetes de datos.
[0036] Preferiblemente el receptor de flujo de datos incluye un extractor de datos auxiliares para extraer paquetes de video del flujo de datos recibido y un selector de corriente para seleccionar el flujo de datos recibido para recepción por el receptor de flujo de datos y un desmodulador para desmodular para recepción de una señal portadora modulado desde un enlace de satélite y conjunto de circuitos para demultiplexar en tiempo una pluralidad de flujos de datos portados por el portador de señal modulada.
[0037] Según un segundo aspecto de la presente invención es proporcionado un método, según la reivindicación 47, para distribuir una aplicación informática, el método incluyendo: la generación de una primera corriente de paquete que incluye repetitivamente un módulo de código que representa una aplicación informática distribuida; la generación de una corriente de paquete de datos auxiliares que incluye paquetes de video; y la multiplexación de la primera corriente de paquete con la corriente de paquete de datos auxiliares para generar una segunda corriente de paquete.
[0038] La FIGURA 1 es un diagrama en bloque de un sistema informático distribuido de acuerdo con la presente invención;
la FIGURA 2 es un diagrama en bloque de un ordenador servidor como se muestra en la FIGURA 1;
la FIGURA 3 es un diagrama de temporización que muestra los flujos de datos producidos por un ordenador servidor en un sistema informático distribuido como se muestra en la FIGURA 1;
la FIGURA 4 es un diagrama en bloque de un ordenador cliente como se muestra en la FIGURA 1
[0039] La FIGURA 1 es un diagrama en bloque de un sistema informático distribuido de acuerdo con la presente invención. En la FIGURA 1, un ordenador servidor 10, que puede incluir un gran sistema informático, se conecta a una pluralidad de ordenadores clientes 20 a través de un mecanismo de transporte 30. El ordenador servidor 10 puede conectarse a más de los tres ordenadores cliente 20 que se muestran en la Figura 1, y los ordenadores cliente 20 pueden dispersarse geográficamente de forma amplia. El ordenador cliente 22 se conecta bidireccionalmente a un ordenador local 40, a un sistema de procesamiento de datos auxiliares 50 y a una instalación de procesamiento central
60. La instalación de procesamiento central 60 se conecta bidireccionalmente al ordenador servidor 10. La instalación de procesamiento central 60 también puede conectarse a otras instalaciones diferentes del ordenador servidor 10 que se muestra en la FIGURA 1. El ordenador local 40 se conecta además bidireccionalmente a un dispositivo de almacenamiento masivo 70. El ordenador cliente 22 interactúa con un usuario 80 facilitando información al usuario a través de una pantalla visualizadora u otro dispositivo de salida (no se muestra) y aceptando información del usuario por medio de un teclado u otro dispositivo de entrada (tampoco se muestra).
[0040] Los ordenadores cliente 24 y 26 también interactúan con sus usuarios (no se muestra a fin de simplificar el dibujo). Además, los ordenadores cliente 24 y 26 se conectan bidireccionalmente a la instalación de procesamiento central 60. Sin embargo, dichos enlaces son opcionales. Los únicos requisitos para un ordenador cliente 20 es un modo de interactuar con un usuario y una conexión al mecanismo de transporte 30. Los enlaces a los ordenadores locales, sistemas de procesamiento de datos auxiliares, y la instalación de procesamiento central 60 son todos ellos opcionales y no necesariamente han de estar presentes en cada uno de los ordenadores cliente 20.
[0041] El mecanismo de transporte 30 incluye un enlace unidireccional de datos digitales de alta velocidad, tales como un enlace por satélite digital o de fibra óptica directo procedente de un servidor 10 a los ordenadores cliente 20. Los datos pueden transportarse por el sistema de transporte 30 mediante un sistema de datos por paquetes. En un sistema de este tipo, se transmite un flujo de paquetes de datos, cada uno incluyendo información de identificación que indique, entre otras cosas, el tipo de datos incluidos en el paquete y los datos en sí, por el enlace de datos. Un sistema de datos por paquetes así permite la multiplexión en el tiempo de varios flujos independientes de datos, cada uno identificado por la información de identificación en sus paquetes, dentro de un solo flujo de paquetes.
[0042] Además, es posible multiplexar una pluralidad de flujos de datos por paquetes así por los respectivos canales en el mismo medio físico (enlace radiofónico por satélite o fibra óptica) que forman el mecanismo de transporte 30. Por ejemplo, pueden modularse diferentes flujos de datos en señales portadoras que tengan diferentes frecuencias. Estas portadoras moduladas pueden transmitirse, por ejemplo, por medio de los respectivos transpondedores de un enlace por satélite. Además, si un transpondedor concreto tiene capacidad suficiente, es posible multiplexar en el tiempo varios flujos de datos de una sola portadora modulada.
[0043] Cada ordenador cliente 20 incluye un receptor de datos para seleccionar uno de los flujos de paquetes que se están transportando por el mecanismo de transporte 30, recibir el flujo de paquetes seleccionado y extraer los datos contenidos en ellos. Siguiendo con el ejemplo anterior, el receptor de datos puede incluir un demodulador sintonizable para recibir una de las respectivas portadoras moduladas del enlace por satélite. Además, el receptor de datos puede incluir un sistema de circuitos para la desmultiplexión en el tiempo de los respectivos flujos de datos que esa portadora modulada transporta.
[0044] Cuando funciona, el servidor 10 produce unos flujos de datos continuos en forma de flujo de paquetes para los ordenadores cliente 20. El servidor 10 inserta repetitivamente un paquete, o paquetes sucesivos, que contienen datos que representan la aplicación informática distribuida, incluyendo al menos un módulo de código ejecutable, en el flujo de datos. Este módulo de código contiene códigos ejecutables para los ordenadores cliente 20. Por ejemplo, el receptor de datos del ordenador cliente 22, controla continuamente los paquetes que hay en el flujo de datos del mecanismo de transporte 30. Cuando un paquete que incluye información de identificación indicando que contiene el módulo de código (o una parte del módulo de código) requerido por el ordenador cliente 22 se halla presente en el flujo de datos, el ordenador cliente 22 detecta su presencia, extrae el módulo de código (o parte del módulo de código) de ese paquete y lo almacena en la memoria principal. Cuando se ha recibido todo el módulo de código, el ordenador cliente 22 empieza a ejecutarlo.
[0045] Es posible que haya más de un módulo de código colocado en el flujo de datos continuos, cada uno de ellos incluyendo una parte diferente de la aplicación informática distribuida. Por ejemplo, es posible dividir la aplicación informática distribuida en pequeñas partes de tal manera que sólo deba ejecutarse una parte cada vez. La parte de la aplicación informática distribuida que se necesita ejecutar en la actualidad se carga en la memoria del ordenador cliente
22. Cuando esa parte completa su ejecución, entonces se extrae un módulo de código que incluye el código ejecutable para la próxima parte de la aplicación informática distribuida del flujo de datos, se almacena en memoria y se ejecuta. Cada parte se extrae del flujo de datos según necesidad. Si hay suficiente memoria en el ordenador cliente 22, es posible cargar varios módulos de código en la memoria y pasar del uno al otro sin extraerlos del flujo de datos, pero esto no es necesario. Estructurando una aplicación informática distribuida de esta forma, el tamaño de memoria requerido para el ordenador cliente 22 podrá minimizarse.
[0046] El servidor 10 también puede incluir repetitivamente un paquete o paquetes que contengan uno o más módulos de datos en el flujo de datos. Los módulos de datos contienen datos que el código ejecutable debe procesar en el módulo de código. Antes o durante la ejecución del código de un módulo de código extraído anteriormente, el ordenador cliente 22 puede necesitar acceder a los datos en el módulo o módulos de datos. Si es así, el ordenador cliente 22 controla el flujo de datos para el módulo o módulos de datos requeridos. Cuando los paquetes que contienen el módulo
o módulos de datos (o partes del módulo o módulos de datos) se hallan presentes en el flujo de datos, se extraen y el contenido se almacena en la memoria principal del ordenador cliente 22. Cuando se han recibido completamente todos los módulos de datos requeridos, el ordenador cliente 22 empieza o continúa la ejecución del código del módulo de código para procesar los datos del módulo o módulos de datos recibidos. Como ocurre con los módulos de código, es posible almacenar más de un módulo de datos en memoria, si existe suficiente memoria, en el ordenador cliente 22.
[0047] El servidor 10 puede también incluir repetitivamente en el flujo de datos un paquete o paquetes que incluyan un directorio de los módulos de código o de datos que se incluyen actualmente en el flujo de datos. El directorio incluye una lista de todos los módulos de código y datos que se hallan presentes en el flujo de datos, junto con información acerca de esos módulos. Si hay un directorio presente en el flujo de datos, entonces, antes de extraer cualquier módulo de código o de datos del flujo de datos, el ordenador cliente 22 controla el flujo de datos para el directorio. Cuando los paquetes que contiene el directorio (o partes del directorio) se hallan presentes en el flujo de datos, se extraen y sus datos se almacenan en la memoria principal del ordenador cliente 22. Cuando se ha recibido el directorio completamente, el ordenador cliente 22 evalúa las entradas contenidas en el directorio, luego solicita el primer módulo de código y/o de datos del flujo de datos y se continúa con la ejecución de la forma descrita anteriormente.
[0048] Cualquiera de los ordenadores cliente 20 puede incorporarse a la función informática distribuida representada por el flujo del paquete en cualquier momento, y cada uno de los ordenadores cliente 20 puede funcionar a su propia velocidad, generalmente como respuesta al usuario 80. Para permitir esto, el servidor 10 coloca repetitivamente el directorio y todos los módulos de código y de datos que los ordenadores cliente 20 requieran para realizar su parte de la función informática distribuida en el flujo de datos del mecanismo de transporte 30. Cuando uno de los ordenadores cliente 20 se incorpora a la función informática distribuida, éste controla el flujo de paquete seleccionado recientemente en el mecanismo de transporte 30 para el módulo de directorio, lo extrae y lo procesa como se describió anteriormente. Durante su ejecución, cuando uno de los ordenadores cliente 20 requiere un nuevo módulo de código y/o de datos, éste controla el flujo de datos del mecanismo de transporte 30 para el módulo de código y/o de datos requerido recientemente, lo extrae y lo ejecuta, si se trata de un módulo de código, o lo procesa, si se trata de un módulo de datos, de la forma descrita anteriormente.
[0049] El flujo de datos del paquete también puede incluir paquetes de datos auxiliares. El ordenador cliente 22 no requiere estos datos para la ejecución del código, aunque pueden estar relacionados con la ejecución puesto que el usuario 80 podría interactuar con el programa de ejecución del ordenador cliente 22 en base a los datos auxiliares recibidos. El receptor del flujo de datos del ordenador cliente 22 reconoce los paquetes de datos auxiliares en el flujo de datos del mecanismo de transporte 30 y los pasa directamente al procesador de datos auxiliares 50. El procesador de datos auxiliares 50 procesa sus paquetes independientemente del ordenador cliente 22. Si los datos auxiliares deben presentarse al usuario 80, el procesador de datos auxiliares 50 puede proporcionar su propio dispositivo de visualización (no se muestra) el cual puede ser compartido con el ordenador cliente 22, o el dispositivo de visualización (no se muestra) asociado con el ordenador cliente 22 puede ser compartido con el procesador de datos auxiliares 50, para facilitar una sola pantalla de información al usuario 80. El procesador de datos auxiliares 50 puede tener conexiones a otros elementos ilustrados (no se muestra), pero esto depende del tipo de datos.
[0050] Por ejemplo, en un sistema de TV interactiva, los datos auxiliares incluyen las partes vídeo y audio de la señal de televisión subyacente. Por ejemplo, los datos auxiliares incluirían paquetes de vídeo que contengan datos codificados MPEG, o del estilo MPEG, que representen los paquetes de imagen y vídeo de la televisión que contienen audio codificado digitalmente. Además, podría haber varios flujos de paquete audio diferentes que transporten los respectivos canales audio para estéreo, segundo programa de audio (SAP) o capacidad multilingüe. En un procesador de datos auxiliares 50 de un sistema de este tipo, los paquetes de vídeo se suministrarán a un decodificador MPEG (o parecido) conocido (no se muestra) que generaría señales vídeo estándar, y que se suministrarían al receptor o monitor vídeo (no se muestra) de televisión. Los paquetes audio se suministrarían a un decodificador audio conocido (no se muestra) que generaría señales audio estándar para el receptor o altavoces (no se muestra) de televisión.
[0051] En un sistema de TV interactiva de este tipo, el ordenador cliente 22 podría, como respuesta a la ejecución del módulo de código ejecutable, generar visualizaciones gráficas para ofrecer información al usuario 80. Estas visualizaciones gráficas pueden combinarse con la señal vídeo estándar desde el decodificador MPEG de manera conocida, y la imagen combinada puede visualizarse en el receptor o monitor vídeo de televisión. El ordenador cliente 22 también puede generar sonidos para ofrecer otra información al espectador. Los sonidos generados pueden combinarse, de manera conocida, con las señales audio estándar procedentes del decodificador audio, y el sonido combinado puede reproducirse por el receptor o los altavoces de televisión.
[0052] Además, pueden incluirse datos de código de tiempo en el flujo de datos del paquete auxiliar de televisión o en el flujo de datos del paquete que representa la aplicación de TV interactiva, o en ambos flujos. Esto permite la sincronización de cualquier imagen gráfica o sonidos generados por el ordenador cliente 22 con la señal de televisión procedente de los datos auxiliares. En este caso, el ordenador cliente 22 tendría acceso a los datos del código de tiempo, y controlaría la generación de la imagen gráfica y/o sonido para que tuviera lugar en un momento deseado, tal como lo indiquen los datos del código de tiempo.
[0053] En un sistema de TV interactiva de este tipo, tanto el ordenador cliente 22 como el procesador de datos auxiliares 50 pueden incluirse en un solo recinto, tal como un receptor de televisión o una caja decodificadora set-top de televisión. Un receptor de televisión, o una caja decodificadora, incluirían conectores para conectar a un ordenador local u otro equipo.
[0054] El usuario 80 aporta información al programa en funcionamiento en el ordenador cliente 22 durante su ejecución. El servidor 10 podría requerir estos datos a fin de realizar la función informática distribuida. Por ejemplo, en un sistema de TV interactiva el usuario 80 puede ofrecer información al ordenador cliente a través de una unidad de control remoto manual.
[0055] Los datos del usuario se transfieren al ordenador servidor 10 por medio de la instalación de procesamiento central 60. En una representación, se envían datos de los ordenadores cliente 20 al ordenador servidor 10 por medio de módems a través del sistema telefónico que actúa como la instalación de procesamiento central 60. El ordenador servidor 10 recibe y procesa los datos recibidos desde los ordenadores cliente 20 durante la ejecución de su parte de función informática distribuida.
[0056] El ordenador servidor 10 puede generar nuevos módulos de código y/o datos, o modificar módulos existentes, en el flujo de datos del mecanismo de transporte 30, de la manera descrita anteriormente, en base a los datos recibidos. Alternativamente, el ordenador servidor 10 puede devolver información inmediatamente a los ordenadores cliente 20 en la otra dirección por medio de la instalación de procesamiento central 60. Todos los ordenadores cliente 20 que participen en la función informática distribuida procesan la información de los módulos de código y/o de datos generados recientemente, mientras que la información transmitida del ordenador servidor 10 a los ordenadores cliente 20 a través de la instalación de procesamiento central 60 se relaciona específicamente al ordenador cliente (22, 24 ó 26) al que se ha enviado la información.
[0057] En otra representación, la instalación de procesamiento central 60 puede incluir su propio sistema informático, conectado separadamente por medio de un módem a los ordenadores cliente 20 y al ordenador servidor 10 por medio del sistema telefónico. En cualquiera de las representaciones anteriores, la instalación de procesamiento central 60 ofrece acceso a otros ordenadores o instalaciones de procesamiento (no se muestra) por medio del sistema telefónico. De este modo, si es necesaria la información de otros sistemas informáticos para realizar la función informática distribuida, tanto los ordenadores cliente 20 como el ordenador servidor 10 podrán acceder a esos sistemas informáticos a través de un módem por medio del sistema telefónico.
[0058] Un puerto de entrada/salida (E/S) del ordenador cliente 22 se conecta a un puerto correspondiente del ordenador local 40. El ordenador local 40 se da en combinación con el ordenador cliente 22. El ordenador local 40 puede ser un ordenador personal usado por el usuario 80 del ordenador cliente 22, o puede ser un ordenador más grande, o una red informática ubicada en el mismo emplazamiento que el ordenador cliente 22. Esto permite que el ordenador cliente 22 acceda a los datos de la memoria masiva acoplada 70 del ordenador personal o un ordenador en la red ubicado en el emplazamiento del ordenador cliente 22. Además, el ordenador cliente 22 podría usar la memoria masiva 70 del ordenador local 40 para almacenar datos a recuperar posteriormente. Es posible que el ordenador local 40 incluya tanto un dispositivo de salida (no se muestra), como podría ser el monitor de un ordenador, como un dispositivo de entrada (tampoco se muestra), como podría ser el teclado de un ordenador. El ordenador cliente 22 y/o el procesador de datos auxiliares 50 pueden compartir ambos dispositivos, tal como se describió anteriormente.
[0059] Por ejemplo, el sistema informático distribuido que se muestra en la FIGURA 1 puede formar parte de un sistema informático corporativo muy extendido, y el servidor 10 puede encontrarse en una ubicación central de esa corporación. El ordenador cliente 22 puede ubicarse en un lugar remoto, y el ordenador local 40 puede conectarse a la red del ordenador personal en esa ubicación. Los trabajadores de esa ubicación pueden almacenar datos compartidos (p.ej. información financiera) en el servidor conectado a esa red. La función informática distribuida puede incluir la recopilación de datos financieros locales de los ordenadores cliente en las ubicaciones remotas, el procesamiento de esos datos financieros y el retorno de los resultados financieros totales a los ordenadores cliente. En una aplicación de este tipo, el código ejecutable en el ordenador cliente 22 accede a los datos del ordenador local 40 (bien desde su memoria masiva acoplada 70 o bien a través de la red) a través del puerto E/S y los envía al ordenador servidor 10 a través de la instalación de procesamiento central 60. El ordenador servidor 10 continúa su procesamiento en base a la información recibida del ordenador cliente 22 (y otros ordenadores cliente 20), y devuelve los resultados de ese procesamiento a los ordenadores cliente 20 bien a través de la instalación de procesamiento central 60 o bien a través del flujo de datos del mecanismo de transporte 30.
[0060] En otro ejemplo, el sistema informático distribuido puede ser un sistema de televisión interactiva que emita un programa de televenta como la aplicación informática distribuida. En un caso así, los datos auxiliares transportan la parte vídeo y audio de la señal de televisión, los cuales pueden mostrar y describir los artículos que se ofrecen a la venta, y pueden incluir tanto actores en directo como gráficos sobrepuestos generados en los estudios centrales. Los módulos de código y datos que forman la aplicación de televisión interactiva pueden incluir datos sobre los productos que se ofrecerán a la venta durante este programa, o parte del programa, y el código ejecutable a interactuar con el usuario de la manera descrita a continuación.
[0061] Cuando un espectador desea pedir un artículo, se pulsa un botón en el mando a distancia del televisor. Este botón emite una señal al ordenador cliente 22 para que muestre una serie de instrucciones y menús necesarios para solicitar la información necesaria para hacer el pedido, p.ej. el número del artículo, nombre y dirección del espectador, el método de pago, el número de la tarjeta de crédito (si es necesario), etc. Estas instrucciones se generan en el ordenador cliente como gráficos que se sobreponen en la imagen de vídeo del televisor. También es posible generar una voz generada por ordenador que se combina con el audio del televisor bien como voz en off, o reemplazando el audio de televisión. El espectador responde a la instrucción facilitando la información solicitada a través del mando a distancia del televisor. Cuando la información solicitada por la visualización en pantalla y/o las instrucciones vocales han sido ingresadas por el espectador, se envían a un ordenador central a través del módem del ordenador cliente. Puede enviarse una confirmación del pedido en la otra dirección desde el ordenador central.
[0062] También es posible que el espectador pueda ingresar una vez por adelantado la información permanente sobre el espectador (es decir, el nombre, dirección, forma de pago y número de tarjeta de crédito), de manera que no es necesario solicitar esa información cada vez que se haga un pedido. La información se almacena en la memoria permanente del ordenador cliente. En un caso así, cuando se hace un pedido, esa información se recupera de la memoria permanente, se anexa al número de artículo y se transmite al ordenador central. También es posible que, por medio de códigos de tiempo u otras señales de control introducidos en el flujo de datos, el ordenador cliente sepa qué artículo se está ofreciendo a la venta en ese momento. En tal caso, el espectador podrá pedirlo con sólo pulsar un botón en el mando a distancia del televisor. Como respuesta, el ordenador cliente puede combinar la información recibida anteriormente relacionada con el artículo que se ofrece a la venta en ese momento con la información personal almacenada anteriormente relacionada con el espectador, transmitir el pedido al ordenador central y recibir a cambio la confirmación.
[0063] Puesto que los módulos de código y de datos relacionados con el programa de televenta se introducen repetitivamente en el flujo de datos, un espectador puede sintonizar con el programa en cualquier momento y participar interactivamente. De igual forma, no es necesario que el espectador participe interactivamente, sino que puede ignorar simplemente la parte interactiva del programa.
[0064] También es posible que el ordenador cliente 22 reciba información de control procedente del ordenador local 40. Por ejemplo, el usuario 80, usando el ordenador local 40, podría controlar el ordenador cliente 22 a través del puerto de E/S para seleccionar un flujo de datos deseado del mecanismo de transporte 30, y procesar el programa que se emita en ese momento en el flujo de datos, con interacción con el usuario 80 a través de los dispositivos de entrada y salida (no se muestran) conectados al ordenador local 40.
[0065] También es posible que el usuario 80 haga que el ordenador cliente 22 acceda al ordenador servidor 10 a través de la instalación de procesamiento central 60, en vez de hacerlo a través del flujo de datos del mecanismo de transporte 30, y reciba los módulos de código y de datos a través de este enlace bidireccional.
[0066] La FIGURA 2 es un diagrama en bloque que muestra un ordenador servidor 10 como se muestra en la Figura l. En la Figura 2, una fuente de código de aplicación informática distribuida y datos 101 incluye un compilador de aplicación y un módulo de gestión de software (no se muestra) y tiene un terminal de salida conectado a un terminal de entrada de un generador de flujo 102. Un terminal de salida del generador de flujo 102 se conecta a un terminal de entrada de un empaquetador de transporte 104. Un terminal de salida del empaquetador de transporte 104 se conecta a un primer terminal de entrada de un multiplexor de paquetes 106. Un terminal de salida del multiplexor de paquetes 106 se conecta a un terminal de entrada de un multiplexor de transporte 110. Un terminal de salida del multiplexor de transporte 110 se conecta al medio físico que forma el mecanismo de transporte 30 (de la FIGURA 1). Un segundo terminal de entrada del multiplexor de paquetes 106 se conecta a una fuente de paquetes de datos auxiliares 107. Un reloj 109 tiene los respectivos terminales de salida conectados a los correspondientes terminales de entrada del empaquetador de transporte 104 y fuente de datos auxiliares 107. Un transceptor de datos 103 tiene un primer terminal bidireccional conectado a la instalación de procesamiento central 60 (de la FIGURA 1) y un segundo dato bidireccional conectado al código de aplicación y fuente de datos 101.
[0067] El código de aplicación y la fuente de datos 101, el generador de flujo 102, el empaquetador de transporte 104, la fuente de datos auxiliares 107, el reloj 109 y el multiplexor de paquetes 106, combinados, forman una fuente de canal lOS para el mecanismo de transporte, ilustrado por un recuadro en líneas discontinuas. Otras fuentes de canal, incluyendo componentes parecidos a los mostrados en la fuente de canal 108 pero que no se muestran en la FIGURA 1, se representan con otro recuadro en líneas discontinuas 108a. Las otras fuentes de canal (108a) tienen terminales de salida conectados a otros terminales de entrada del multiplexor de transporte 110, y pueden tener terminales de entrada conectados a las instalaciones de procesamiento central a través de transceptores de datos.
[0068] Cuando funciona, se suministran los datos que representan el programa de aplicación informática distribuida, y los datos relacionados con la transmisión del programa por el mecanismo de transporte 30 al generador de flujo 102 desde la fuente de aplicación 101. Estos datos pueden suministrarse en forma de ficheros que contienen datos representando los módulos de código y de datos, o mediante secuencias de comandos que facilitan información sobre cómo construir los módulos de código y de datos, u otra información de este tipo. Los módulos de código y datos pueden ser constantes o pueden cambiar dinámicamente, en base a información recibida desde los ordenadores cliente 20 por medio de la instalación informática central 60 y/u otras fuentes. Los ficheros de módulos de código y datos ejecutables pueden ser generados por un programador de aplicaciones mediante un compilador, intérprete o ensamblador de forma conocida como respuesta a la programación del idioma fuente. El fichero de datos relacionado con la transmisión de los módulos incluye información tal como: las tasas de repetición deseadas para el directorio y los módulos de código y datos a incluir en el flujo de datos; el tamaño de la memoria principal en los ordenadores cliente 20 necesaria para almacenar cada módulo y ejecutar completamente el programa de aplicación; un nivel prioritario para el módulo, si se trata de un módulo de código, etc.
[0069] El generador de flujo 102 procesa los datos de la fuente de aplicación 101. Como respuesta, el generador de flujo 102 construye un módulo de directorio, dando una imagen conjunta del programa de aplicación. La información del módulo de directorio incluye, por ejemplo, la identificación de todos los módulos de código y de datos que se están transmitiendo repetitivamente en el flujo de datos, su tamaño y posiblemente otra información relacionada con esos módulos. Entonces, los datos representativos del programa de aplicación se procesan para generar los módulos de código y de datos. Los módulos de directorio, código y datos así construidos se formatean añadiendo encabezamientos de módulos y códigos de detección y/o de corrección de errores a cada módulo. También se genera un programa de transmisión. Una vez completado este procesamiento, los datos que representan el módulo de directorio y los módulos de código y datos se presentan repetitivamente al empaquetador de transporte 104 de acuerdo con el programa generado anteriormente.
[0070] El empaquetador de transporte 104 genera un flujo de paquetes que representan el módulo de directorio y los módulos de código y datos conforme se emiten desde el generador de flujo 102. Cada paquete tiene una longitud predeterminada constante, y se genera dividiendo el flujo de datos procedente del generador de flujo en grupos de bits, y añadiendo un encabezamiento de paquete con información que identifique la información contenida en el paquete, y un código de detección y/o de corrección de errores, etc., en cada grupo, de tal manera que cada paquete tiene la misma longitud predetermina. (Si no se tienen suficientes datos del generador de flujo 102 para llenar completamente un paquete, el paquete se rellena con datos nulos). Estos paquetes se multiplexan en el tiempo con los paquetes de datos auxiliares, de forma conocida, para formar un solo flujo de paquetes en el multiplexor de paquetes 106. También es posible que los paquetes generados tengan varias longitudes. En este caso, el encabezamiento del paquete para cada paquete incluirá la longitud de ese paquete. Además, los paquetes de datos del código de tiempo se colocan en los paquetes del flujo de datos y/o en los paquetes de datos auxiliares en base a los datos recibidos del reloj 109.
[0071] Las flujos de paquetes procedentes de todas las fuentes de canal (108 y 108a) se multiplexan en un solo canal de transporte, que se transmite por el mecanismo de transporte 30. Como se describió anteriormente, las flujos de paquetes pueden ser multiplexadas en frecuencias haciendo que cada flujo de paquetes module una señal portadora a una frecuencia diferente, con todas las portadoras transportadas por un enlace satélite a los ordenadores cliente 20, de forma conocida. Además, si hay suficiente capacidad en un canal portador, se podrán multiplexar en el tiempo varios flujos de paquetes y usarse para modular una sola portadora, también de forma conocida. Por ejemplo, se ha propuesto temporizar múltiples de hasta ocho flujos de datos de televisión interactiva a través de un solo enlace por satélite.
[0072] Los datos procedentes de los ordenadores cliente 20 a través de la instalación de procesamiento central 60 (de la Figura 1) se reciben en el ordenador servidor 10 por medio del transceptor de datos 103, el cual puede incluir su propio procesador (no se muestra). Si se genera una respuesta inmediata, el procesador del transceptor 103 devuelve esa respuesta a través de la instalación de procesamiento central 60 a un ordenador cliente específico (22-26), un juego específico de ordenadores cliente 20 o a todos los ordenadores cliente 20 por turno. No obstante, si se desea una respuesta común a todos los ordenadores cliente 20, el programador de aplicaciones puede enmendar los ficheros de código y de datos en la fuente de código y datos de la aplicación 101 usando el compilador de aplicaciones. Luego, el generador de flujo vuelve a procesar estos ficheros rectificados para generar otro flujo. También es posible que los ficheros de código y datos de la fuente de aplicación puedan rectificarse automática y dinámicamente (es decir, en tiempo real) como respuesta a los datos recibidos desde el transceptor 103, y que el flujo sea actualizado conforme se reciben los datos desde los ordenadores cliente 20.
[0073] La FIGURA 3 es un diagrama de temporización que muestra los flujos de datos producidos por el ordenador servidor 10 en un sistema informático distribuido como se muestra en la FIGURA 1. En la FIGURA 3 se muestra el ordenador servidor 10 produciendo simultáneamente una pluralidad de flujos de paquetes 32-38. Cada flujo de paquetes (32-38) se muestra como una banda horizontal dividida en paquetes que tienen la misma duración y número de bits. Tal como se describió arriba, es posible que el tamaño de los paquetes de un flujo de paquetes varíe con la cantidad de datos a transferir. En la FIGURA 3 puede verse que los tiempos iniciales de los paquetes no están sincronizados. Es posible sincronizar los paquetes, pero no es necesario. En la FIGURA 3, a los paquetes con datos que representan directorios se les designa DIR, a los paquetes que transmiten datos que representan los módulos de código se les designa CM, a los paquetes con datos que representan datos de módulos se les designa DM y a los paquetes con datos auxiliares se les designa AUX.
[0074] En la serie superior de paquetes 32, el paquete situado más a la izquierda contiene datos que representan un módulo de código, CM. A esto le siguen tres paquetes que contienen datos auxiliares, AUX, seguidos por otro paquete que contiene datos que representan el módulo de código, CM. En la serie de paquetes 32 puede observarse que el módulo de código se produce repetitivamente. Es posible que haya más o menos paquetes entre las repeticiones sucesivas de los paquetes de módulo de código CM. El programador puede especificar la tasa de repetición cuando se programe la aplicación, y puede variarse durante la ejecución de la aplicación.
[0075] En la siguiente serie de paquetes 34, el paquete situado más a la izquierda contiene datos auxiliares, AUX. Los dos paquetes siguientes contienen las partes respectivas de un módulo de código (CMl y CM2). El último paquete contiene datos auxiliares, AUX. En la serie de paquetes 34 puede observarse que si un módulo de código es demasiado grande como para ser incluido en un solo paquete, éste puede ser transferido por más de uno, en cuyo caso cada paquete incluirá una parte del módulo de código. Aunque en la serie de paquetes 34 se muestran los dos paquetes como si incluyeran el módulo de código (CMl y CM2), puede usarse cualquier cantidad de paquetes para transferir el módulo de código, según sea su tamaño. Los dos paquetes que transfieren el módulo de código (CMl y CM2) se transmiten repetitivamente (no se muestra) en la serie de paquetes 34, como se describió anteriormente.
[0076] En la serie de paquetes 36, el paquete situado más a la izquierda contiene datos que representan un módulo de código (CM). El siguiente paquete (DMl) es un primer paquete que contiene datos que representan un módulo de datos. El siguiente paquete contiene datos auxiliares, AUX. El siguiente paquete (DM2) es un segundo paquete que contiene el resto de datos que representan el módulo de datos. En la serie de paquetes 36 puede observarse que también puede incluirse un módulo de datos (DMl y DM2), asociado con el módulo de código (CM), en el flujo de datos. Tanto el módulo de código (CM) como el módulo de datos (DMl y DM2) se transmiten repetitivamente (no se muestra) en la serie de paquetes 36. La tasa de repetición del módulo de código (CM) puede ser diferente de la del módulo de datos (DMl y DM2), y ambas tasas pueden ser especificadas por el programador de la aplicación y variarse durante la ejecución de la aplicación.
[0077] También puede observarse que si el módulo de datos es demasiado grande como para ser incluido en un solo paquete, éste puede ser transferido por más de un paquete, en cuyo caso cada paquete incluirá una parte del módulo de datos. Aunque en la serie de paquetes 36 se muestran los dos paquetes como si incluyeran el módulo de datos (DM1 y DM2), puede usarse cualquier cantidad de paquetes para transferir el módulo de datos, según sea su tamaño. También puede observarse que los paquetes que transfieren el módulo de datos no precisan transmitirse secuencialmente, sino que pueden tener paquetes intermedios en el flujo de paquetes. Lo mismo ocurre para los paquetes múltiples que transfieren un módulo de código o módulo de directorio (no se muestra).
[0078] En la serie más inferior de paquetes 38, el paquete situado más a la izquierda contiene datos que representan el directorio (DIR). El siguiente paquete contiene datos que representan un módulo de código (CM), seguido por un paquete que contiene datos auxiliares (AUX) y un paquete que contiene datos que representan un módulo de datos (DM). En la serie del paquete 38 puede observarse todo el módulo de un directorio (DIR), un módulo de código (CM) y un módulo de datos (DM) en una soel flujo de paquetes. Las respectivas tasas de repetición de estos tres módulos pueden ser diferentes, según lo especifique el programador de la aplicación, y pueden variarse durante la ejecución de la aplicación.
[0079] La FIGURA 4 es un diagrama en bloque de un ordenador cliente 22 como se muestra en la FIGURA 1. En la FIGURA 4, el mecanismo de transporte 30 (de la FIGURA 1) se conecta a un terminal de entrada de un selector de flujo
202. Un terminal de salida de un selector de flujo 202 se conecta a los respectivos terminales de entrada de un extractor de datos auxiliares 204 y a un extractor de datos del paquete 206. Un terminal de salida del extractor de datos auxiliares 204 se conecta al procesador de datos auxiliares 50 (de la FIGURA 1). Un terminal bidireccional del extractor de datos del paquete 206 se conecta a un terminal correspondiente de un adaptador de E/S del flujo 208. Un terminal de salida de control del adaptador de E/S del flujo se conecta a un terminal correspondiente de entrada de control del selector de flujo 202. La combinación del selector de flujo 202, el extractor de datos auxiliares 204 y el extractor de datos del paquete 206 forma un receptor de flujo de datos 207 para el ordenador cliente 22, que se muestra mediante la línea discontinua de la FIGURA 4.
[0080] El adaptador de E/S de flujo 208 forma parte de una unidad de procesamiento 224 del ordenador cliente 22, que se muestra mediante una línea discontinua en la FIGURA 4. Además del adaptador de E/S de flujo 208, la unidad de procesamiento 224 incluye un procesador 210, una memoria de lectura/escritura (RAM) 212 y una memoria de sólo lectura (ROM) 214 conectados todos ellos juntos de forma conocida a través de un bus del sistema 216. Pueden tenerse otras instalaciones de entrada y salida a través del puerto de E/S 218, que se halla conectado al procesador local 40 (de la FIGURA 1); del adaptador de E/S del usuario 220, para comunicarse con el usuario 80; y del módem 222, conectado a la instalación de procesamiento central 60 (de la FIGURA 1); todos ellos conectados también al bus del sistema 216 de forma conocida. Pueden conectarse otros adaptadores (no se muestran) al bus del sistema 216 para ofrecer otras posibilidades a la unidad de procesamiento 224.
[0081] Tal como se describe más arriba, el extractor de datos auxiliares 204, el puerto de E/S 218 y el módem 222 no son necesarios en el ordenador cliente 20 de acuerdo con la presente invención. Aparecen en la FIGURA 1 y FIGURA 4 para mostrar otra funcionalidad extra opcional.
[0082] Cuando funciona, el procesador 210 de la unidad de procesamiento 224 recupera las instrucciones del programa almacenadas permanentemente en la ROM 214, o almacenadas provisionalmente en la RAM 212, Y ejecuta las instrucciones recuperadas para leer los datos de la ROM 212 y/o RAM 214, escribir los datos en la RAM 212 y/o recibir datos de fuentes externas, o suministrar datos a fuentes externas, a través del puerto de E/S 218, adaptador de E/S del usuario 220 y/o módem 222, de forma conocida. Bajo control del programa, el procesador 210 también puede solicitar un módulo de código y/o de datos del flujo de datos suministrado al ordenador cliente 22 a través del mecanismo de transporte 30 (de la Figura 1). Para recuperar estos datos, el procesador 210 ordena primero al adaptador de E/S del flujo 208 que envíe una señal de control de selección al selector de flujo 202, posiblemente como respuesta a la información facilitada por el usuario desdel adaptador de E/S del usuario 220. Entonces, el procesador 210 solicita un módulo de código o datos específico al adaptador de E/S del flujo 208. El adaptador de E/S del flujo 208 transmite esta solicitud al extractor de datos del paquete 204.
[0083] El mecanismo de transporte 30 (de la FIGURA 1) aporta toda la pluralidad de flujos de paquete (32-38 de la FIGURA 3) que transfiere al selector de flujo 202, el cual sólo pasa el flujo de paquetes seleccionado. El extractor de datos auxiliares 204 controla el flujo de paquetes seleccionado, extrae los paquetes de datos auxiliares del mismo y los entrega directamente al procesador de datos auxiliares 50 (de la Figura 1). El extractor de datos del paquete 206 controla de igual forma el flujo de paquetes seleccionado, extrae los paquetes del módulo de directorio, código y/o datos solicitados por el adaptador de E/S del flujo 208 y los entrega al adaptador de E/S del flujo 208. Los datos de los paquetes devueltos al adaptador de E/S del flujo 208 se entregan a la RAM 212. Cuando se ha recuperado todo el módulo del flujo de paquetes (que podría necesitar varios paquetes, como se describió anteriormente), el adaptador de E/S del flujo 208 notifica al procesador 210 su recepción. Entonces, el procesador 210 puede continuar la ejecución de su programa.
[0084] El flujo de datos del sistema informático distribuido que se muestra en la FIGURA 1 es parecido a un sistema de almacenamiento masivo de los sistemas de la técnica anterior. Un programa de aplicación que se ejecute en el procesador 210 pide un módulo listado en el directorio de la misma manera que ese programa pediría un fichero que contenga un módulo de código o de datos anteriormente almacenado en un dispositivo de almacenamiento masivo en un sistema de la técnica anterior. El receptor del flujo de datos 207 es parecido a un dispositivo de almacenamiento masivo, y la E/S del flujo 208 actúa de forma parecida a un adaptador de almacenamiento masivo en un sistema de la técnica anterior localizando los datos deseados, transfiriéndolos a una ubicación predeterminada (memoria intermedia de E/S) en la memoria del sistema e informando al procesador de la realización de la recuperación. Sin embargo, el adaptador de E/S del flujo 208 sólo puede recuperar código y datos del flujo de datos. No pueden ponerse datos en el flujo de datos.
[0085] Como se describió anteriormente, la aplicación de informática distribuida puede dividirse en más de un módulo de código, cada uno de ellos incluyendo un código ejecutable para una parte diferente de la aplicación de informática distribuida. Cuando se desea un módulo de código concreto, el procesador 210 solicita ese módulo de código al adaptador de E/S del flujo 208. Cuando se ha completado la ejecución de ese módulo, el procesador 210 solicita el siguiente módulo de la E/S del flujo 208. Puesto que los módulos de código y de datos se transportan repetitivamente en el flujo de datos, puede borrarse un módulo de la RAM 212 cuando no se necesite actualmente sin la necesidad de almacenarse provisionalmente, puesto que si se requiere posteriormente, podría recuperarse de nuevo del flujo de datos cuando sea necesario. Sin embargo, si la RAM 212 tiene suficiente capacidad, el procesador 210 puede solicitar al adaptador de E/S del flujo que cargue simultáneamente varios módulos de código en la RAM 212. Si puede realizarse esto, entonces el procesador 210 puede pasar de un módulo de código a otro sin esperar que el adaptador de E/S del flujo 208 los extraiga del flujo de datos.
[0086] Tal como se describió anteriormente, pueden conectarse otros adaptadores de E/S al bus del sistema 216 de forma conocida. Por ejemplo, en un sistema de TV interactiva, puede conectarse un adaptador de gráficos al bus del sistema 216. El adaptador de gráficos genera señales que representan las imágenes gráficas, de forma conocida, como respuesta a las instrucciones recibidas del procesador 210. Además, estas señales pueden combinarse con la señal vídeo estándar producida por el decodificador del vídeo (descrito arriba) en el procesador de datos auxiliares SO de un sistema de TV interactiva. Cuando se combinan la señal representativa de la imagen gráfica y la señal vídeo estándar, la señal resultante representa una imagen en la que la imagen generada por el adaptador de gráficos se sobrepone a la imagen representada por la señal vídeo de emisión. También es posible combinar selectivamente estas dos señales representativas de imagen bajo el control del procesador 210.
[0087] Un sistema de TV interactiva también puede tener un adaptador acústico conectado al bus del sistema 216. El adaptador acústico genera una señal que representa un sonido generado por ordenador (como música, voz sintetizada u otro sonido), de forma conocida, como respuesta a las instrucciones del procesador 210. Además, estas señales pueden combinarse con la señal audio estándar producida por el decodificador audio (descrito anteriormente) en el procesador de datos auxiliares SO de un sistema de TV interactiva. Cuando se combinan la señal representativa de audio y la señal audio estándar, la señal resultante representa la combinación del sonido generado por el adaptador acústico y la señal audio de emisión. También es posible combinar selectivamente estas dos señales representativas de sonido bajo el control del procesador 210.
[0088] La temporización de la generación y visualización de las señales representativas de la imagen gráfica y del sonido puede controlarse mediante la recepción de los datos del código de tiempo del flujo de datos. Esto permite que un módulo de código ejecutable sincronice la visualización de la imagen generada por el procesador y la presentación del sonido generado por el procesador al vídeo y audio de emisión. También es posible sincronizar la operación de la aplicación de TV interactiva mediante la inserción de paquetes especializados en el flujo de datos, lo que provoca una interrupción del código que se ejecute actualmente en el procesador 210. La E/S de flujo 208 supervisa la aparición de dichos paquetes especializados en el flujo de datos, y genera una interrupción, de forma conocida, para el procesador
210. El procesador 210 responde a esa interrupción, también de forma conocida, ejecutando una rutina de servicio de interrupción (ISR). Esta ISR puede usarse para sincronizar la aplicación de TV interactiva, o para otros fines.
[0089] Un ordenador cliente 22 de un sistema informático distribuido como el que se muestra en la FIGURA 1 no necesita un dispositivo de almacenamiento masivo, ni una gran cantidad de RAM 212. Un sistema así reduce el coste de un ordenador cliente, y aumenta la funcionalidad de los ordenadores cliente de coste más bajo. Además, un ordenador cliente de este tipo tiene la opción de participar en una función informática distribuida, puede incorporarse a la función informática distribuida en cualquier momento (o puede salirse y volver más tarde), y puede participar a su propio ritmo.
Claims (91)
- REIVINDICACIONES1. Un sistema que incluye:un ordenador servidor (10) que incluye:un empaquetador (104) para generar una primera corriente de paquete que incluye un módulo de código (CM1;CM2) que representa una aplicación informática distribuida;una fuente de señales auxiliares (107) para generar un paquete de datos auxiliares; yun multiplexor (106) conectado al empaquetador (104) para recibir el primer flujo de paquete, incluyendo el módulo de código (CM1;CM2), y conectado a la fuente de datos auxiliares (107) para recibir el flujo de paquete de datos auxiliares, incluyendo los paquetes de video;teniendo el empaquetador (104) que incluir repetitivamente el módulo de código (CM1;CM2) dentro del primer flujo de paquete, y el multiplexor (106) tiene que multiplexar el primer flujo de paquete con el flujo de paquete de datos auxiliares para generar un segundo flujo de paquete.
-
- 2.
- Sistema según la reivindicación 1, donde el multiplexor (106) tiene que multiplexar en el tiempo el primer flujo de paquete con el flujo de paquete de datos auxiliares para generar el segundo flujo de paquete.
-
- 3.
- Sistema según cualquiera de las reivindicaciones 1-2, que incluye un constructor de flujo (102), conectado al empaquetador (104), repetitivamente para presentar datos asociados con la aplicación informática distribuida al empaquetador (104) para inclusión dentro del primer flujo de paquete.
-
- 4.
- Sistema según la reivindicación 3, que incluye una fuente de aplicación (101), conectado al constructor de flujo (102), para suministrar los datos asociados a la aplicación de computación distribuida al constructor de flujo (102).
-
- 5.
- Sistema según la reivindicación 4, donde la fuente de aplicación (101) incluye un compilador de aplicación para compilar los datos asociados a la aplicación informática distribuida.
-
- 6.
- Sistema según cualquiera de las reivindicaciones 4-5, donde la fuente de aplicación (101) tiene que suministrar datos relacionados con la transmisión de la aplicación informática distribuida al constructor de flujo (102), incluyendo los datos relacionados con la transmisión de la aplicación informática distribuida un índice de repetición deseado para el módulo de código (CM1;CM2) en el primer flujo de datos.
-
- 7.
- El sistema según la reivindicación 3, donde el constructor de flujo (102) tiene que construir el módulo de código (CM1;CM2), que utiliza los datos asociados a la aplicación informática suministrados por la fuente de aplicación (101).
-
- 8.
- Sistema según la reivindicación 3, donde el constructor de flujo (102), utilizando los datos asociados a la aplicación informática distribuida, tiene que construir un módulo de datos que contiene datos por ser procesados por el código incluido en el módulo de código (CM1;CM2), y teniendo el empaquetador (104) que generar el primer flujo de paquete para incluir el módulo de datos.
-
- 9.
- Sistema según la reivindicación 8, donde el empaquetador (104) tiene que incluir repetitivamente el módulo de datos en el primer flujo de paquete.
-
- 10.
- Sistema según la reivindicación 8, donde el constructor de flujo (102), utilizando los datos asociados a la aplicación informática distribuida, tiene que construir un módulo de directorio que incluye una lista que identifica el código y módulo de datos como incluidos en el primer flujo de paquete, y teniendo el empaquetador (104) que generar la primera corriente de paquete para incluir el módulo de directorio.
-
- 11.
- Sistema según la reivindicación 10, teniendo el empaquetador (104) que incluir repetitivamente el módulo de directorio en el primer flujo de paquete.
-
- 12.
- Sistema según cualquiera de las reivindicaciones precedentes, donde la fuente de datos auxiliares (107) tiene que proporcionar los paquetes de video para incluir datos codificados MPEG que representan una imagen televisiva.
-
- 13.
- Sistema según cualquiera de las reivindicaciones precedentes, donde la fuente auxiliar (107) tiene que proporcionar el flujo de paquete de datos auxiliares para incluir paquetes audio con datos audio digitalmente codificados.
-
- 14.
- Sistema según cualquiera de las reivindicaciones precedentes, donde el empaquetador (104), la fuente de datos auxiliares (107) y el multiplexor (106) comprenden una primera fuente (108), incluyendo el sistema una segunda fuente (108A) y un multiplexor de transporte (110), el multiplexor de transporte (110) conectado para recibir el segundo flujo de paquete desde la primera fuente (108) y un tercer flujo de paquete de la segunda fuente (108A), y para multiplexar el segundo flujo de paquete y el tercer flujo de paquete para transmisión por un mecanismo de transporte (30) como un cuarto flujo de paquete.
-
- 15.
- Sistema según la reivindicación 14, donde el multiplexor de transporte (110) tiene que multiplexar en frecuencia el segundo y tercer flujo de paquete para transmisión por el mecanismo de transporte (30).
-
- 16.
- Sistema según la reivindicación 14, donde el multiplexor de transporte (110) tiene que multiplexar en el tiempo el segundo y tercer flujo de paquete para transmisión por el mecanismo de transporte (30).
-
- 17.
- Sistema según cualquiera de las reivindicaciones precedentes, que incluye un reloj (109) conectado para proporcionar datos de código de tiempo al empaquetador (104) y la fuente de datos auxiliares (107), teniendo los datos de código de tiempo que ser incluidos en uno o ambos flujos de paquete de datos auxiliares y el primer flujo de datos de paquete.
-
- 18.
- Sistema según cualquiera de las reivindicaciones precedentes, donde el empaquetador (104) tiene que incluir primeros paquetes en el primer flujo de datos para incluir información de identificación que indique que los primeros paquetes incluyen por lo menos una parte del módulo de código (CM1;CM2) que representa la aplicación informática distribuida.
-
- 19.
- Sistema según cualquiera de las reivindicaciones precedentes, donde la fuente de datos auxiliares (107) tiene que incluir segundos paquetes en la corriente de paquete de datos auxiliares para incluir información de identificación indicando que los segundos paquetes incluyen datos de video.
-
- 20.
- Sistema según cualquiera de las reivindicaciones precedentes, que incluye un transceptor de datos (103) por el que los datos son recibidos en el servidor (10) desde un ordenador de cliente (22) por medio de una instalación de procesamiento central (60).
-
- 21.
- Sistema según la reivindicación 20, donde el ordenador de cliente (22) tiene que acceder el servidor (10) por medio de la instalación de tratamiento central (60) para recuperar el módulo de código (CM1;CM2).
-
- 22.
- Sistema según la reivindicación 20, donde la instalación de tratamiento
central (60) es un sistema telefónico. -
- 23.
- Sistema según cualquiera de las reivindicaciones 20-22, en el que el servidor (10) recibe y procesa los datos recibidos en el servidor (10) del ordenador de cliente (22) durante ejecución de la aplicación informática distribuida por el ordenador de cliente (22).
-
- 24.
- Sistema según cualquiera de las reivindicaciones 20-23, en el que el servidor (10) genera el módulo de código (CM1 CM2) basado en los datos recibidos en el servidor (10) desde el ordenador de cliente (22).
-
- 25.
- Sistema según cualquiera de las reivindicaciones 20-24, donde el servidor (10) genera el módulo de datos en base a los datos recibidos en el servidor (10) desde el ordenador de cliente (22).
-
- 26.
- Sistema según cualquiera de las reivindicaciones precedentes, que incluye un ordenador de cliente (22), el ordenador de cliente (22) incluyendo un receptor de flujo de datos (207) para recibir un flujo de datos recibido y para extraer el módulo de código (CM1;CM2) que representa la aplicación informática distribuida desde el flujo de datos recibido.
-
- 27.
- Sistema según la reivindicación 26, en el que el ordenador de cliente (22) incluye una unidad de procesamiento (224), la unidad de procesamiento (224) para ejecutar la aplicación informática distribuida.
-
- 28.
- Sistema según cualquiera de las reivindicaciones 26-27, en el que el ordenador de cliente (22) incluye una memoria para almacenar al menos una parte de un primer módulo de código (CM1;CM2) de una pluralidad de módulo de código (CM1;CM2)s, como extraídos del flujo de datos recibido, antes de recibir completamente el primer módulo de código (CM1;CM2).
-
- 29.
- Sistema según la reivindicación 28, en el que el ordenador de cliente (22) tiene que ejecutar el primer módulo de código (CM1;CM2) cuando recibido completamente.
-
- 30.
- Sistema según la reivindicación 28, en el que la memoria tiene que almacenar al menos el primer y un segundo módulo de código (CM1;CM2) de la pluralidad de módulo de código (CM1;CM2)s, en el que el ordenador de cliente (22) tiene cambiar entre la ejecución del primer y segundo módulo de código (CM1;CM2)s.
-
- 31.
- Sistema según la reivindicación 26, donde el receptor de flujo de datos (207) incluye un extractor de datos de paquete (206) a extraer paquetes de datos, de en el flujo de datos recibido, que incluyen el módulo de código (CM1;CM2).
-
- 32.
- Sistema según la reivindicación 31, donde el extractor de paquete (206) es a identificar los paquetes de datos que incluido el módulo de código (CM1;CM2) utilización de información de identificación incluido en los paquetes de datos.
-
- 33.
- Sistema según la reivindicación 8, incluyer un ordenador de cliente (22), el ordenador de cliente (22) incluyendo un receptor de flujo de datos (207) a recibir un flujo de datos recibido y a extraer el módulo de datos del flujo de datos recibido.
-
- 34.
- Sistema según la reivindicación 33, donde el ordenador de cliente (22) incluye una memoria para almacenar al
menos una parte de un primer módulo de datos de una pluralidad de módulos de datos, como extraídos del flujo de datos recibido, antes de recibir completamente el primer módulo de datos. -
- 35.
- Sistema según la reivindicación 34, donde el ordenador de cliente (22) tiene que ejecutar un primer módulo de código (CM1;CM2) cuando el primer módulo de datos requerido por el primer módulo de código (CM1;CM2) es recibido completamente.
-
- 36.
- Sistema según la reivindicación 33, donde el receptor de flujo de datos (207) incluye un extractor de datos de paquete (206) para extraer paquetes de datos desde dentro del flujo de datos recibido que incluía el módulo de datos.
-
- 37.
- Sistema según la reivindicación 36, en el que el extractor de paquete (206) tiene que identificar los paquetes de datos que incluyen el módulo de datos que utiliza información de identificación incluida en los paquetes de datos.
-
- 38.
- Sistema según la reivindicación 10, que incluye un ordenador de cliente (22), incluyendo el ordenador de cliente (22) un receptor de flujo de datos (207) para recibir un flujo de datos recibido y para extraer el módulo de directorio del flujo de datos recibido.
-
- 39.
- Sistema según la reivindicación 38, donde el ordenador de cliente (22) incluye una memoria para almacenar al menos un primer módulo de directorio de un conjunto de módulos de directorio, como extraídos del flujo de datos recibido, antes de recibir completamente el conjunto de módulos de directorio, el conjunto de módulos de directorio especificando un código asociado de identificación de directorio y módulo de datos incluido en el flujo de datos recibido.
-
- 40.
- Sistema según la reivindicación 39, donde el ordenador de cliente (22) tiene que pedir el código asociado y módulo de datos identificado por el directorio.
-
- 41.
- Sistema según la reivindicación 38, donde el receptor de flujo de datos (207) incluye un extractor de datos de paquete (206) para extraer paquetes de datos desde dentro del flujo de datos recibido que incluía el módulo de directorio.
-
- 42.
- Sistema según la reivindicación 41, en el que el extractor de paquete (206) tiene que identificar los paquetes de datos que incluían el módulo de directorio que utiliza la información de identificación incluida en los paquetes de datos.
-
- 43.
- Sistema según cualquiera de las reivindicaciones 26-42, en el que el receptor de flujo de datos (207) incluye un extractor de datos auxiliares (204) para extraer paquetes de video del flujo de datos recibido.
-
- 44.
- Sistema según cualquiera de las reivindicaciones 26-43, donde el receptor de flujo de datos (207) incluye un selector de flujo (202) para seleccionar el flujo de datos recibido para recepción del receptor de flujo de datos (207).
-
- 45.
- Sistema según la reivindicación 44, donde el selector de flujo de datos (202) comprende un demodulador para demodular la recepción de una señal portadora modulada de un enlace de satélite.
-
- 46.
- Sistema según la reivindicación 45, donde el selector de flujo de datos (202) comprende un conjunto de circuitos para demultiplexar en el tiempo una pluralidad de flujos de datos portados por la señal portadora modulada.
-
- 47.
- Método para distribuir una aplicación informática, el método incluyendo:
generar una primera corriente de paquete que incluye repetitivamente un módulo de código (CM1;CM2) que representa una aplicación informática distribuida;generar un flujo de paquetes de datos auxiliares que incluye paquetes de vídeo; ymultiplexar el primer flujo de paquete con el segundo flujo de paquete de datos auxiliares para generar un segundo flujo de paquete. -
- 48.
- Método según la reivindicación 47, que incluye multiplexar en el tiempo la primera corriente de paquete con la corriente de paquete de datos auxiliares para generar la segunda corriente de paquete.
-
- 49.
- Método según cualquiera de las reivindicaciones 47-48, que incluye presentar repetitivamente datos asociados a la aplicación informática distribuida para inclusión en la primera corriente de paquete.
-
- 50.
- Método según la reivindicación 49, que incluye la compilación de datos asociados a la aplicación informática distribuida.
-
- 51.
- Método según cualquiera de las reivindicaciones 47-50, que incluye el suministro de datos relacionados con la transmisión de la aplicación informática distribuida, los datos relacionados con la transmisión de la aplicación informática distribuida incluyendo un índice de repetición deseado para el módulo de código (CM1;CM2) en el primer flujo de datos.
-
- 52.
- Método según la reivindicación 49, que incluye la construcción de un módulo de código (CM1;CM2) utilizando
los datos asociados a la aplicación informática distribuida. -
- 53.
- Método según la reivindicación 49, que incluye la utilización de datos asociados a la aplicación informática distribuida para construir un módulo de datos con datos por ser procesados por código incluido en el módulo de código (CM1;CM2), y la generación del primer flujo de paquete para incluir el módulo de datos.
-
- 54.
- Método según la reivindicación 53, que incluye incluir repetitivamente el módulo de datos en el primer flujo de paquete.
-
- 55.
- Método según la reivindicación 53, que incluye la utilización de datos asociados a la aplicación informática distribuida para construir un módulo de directorio que incluye una lista de módulos de datos y código incluidos en el primer flujo de paquete, y la generación del primer flujo de paquete para incluir el módulo de directorio.
-
- 56.
- Método según la reivindicación 55, que incluye incluir repetitivamente el módulo de directorio en el primer flujo de paquete.
-
- 57.
- Método según cualquiera de las reivindicaciones 47-56, que incluye el suministro de paquetes de video para incluir datos codificados MPEG que representan una imagen televisiva.
-
- 58.
- Método según cualquiera de las reivindicaciones 47-57, que incluye el suministro de flujo de paquete de datos auxiliares para incluir paquetes audio con datos audio digitalmente codificados.
-
- 59.
- Método según cualquiera de las reivindicaciones 47-48, en el que una primera fuente (108) genera el segundo flujo de paquete y una segunda fuente (108A) genera un tercer flujo de paquete, el método incluyendo la recepción del segundo flujo de paquete desde la primera fuente (108), la recepción del tercer flujo de paquete desde la segunda fuente (108A), y multiplexión del segundo flujo de paquete y el tercer flujo de paquete para transmisión por un mecanismo de transporte (30) como un cuarto flujo de paquete.
-
- 60.
- Método según la reivindicación 59, que incluye la multiplexión en frecuencias del segundo y tercer flujos de paquete para transmisión por el mecanismo de transporte (30).
-
- 61.
- Método según la reivindicación 59, que incluye la multiplexión en el tiempo del segundo y tercer flujos de paquete para transmisión por el mecanismo de transporte (30).
-
- 62.
- Método según cualquiera de las reivindicaciones 47-61, que incluye el suministro de datos de código de tiempo en cualquiera de o los dos flujos de paquete de datos auxiliares y el primer flujo de datos de paquete.
-
- 63.
- Método según cualquiera de las reivindicaciones 47-62, que incluye el suministro de primeros paquetes en el primer flujo de datos para incluir información de identificación que indica que los primeros paquetes incluyen por lo menos una parte del módulo de código (CM1;CM2) que representan la aplicación informática distribuida.
-
- 64.
- Método según cualquiera de las reivindicaciones 47-63, que incluye el suministro de segundos paquetes en el flujo de paquete de datos auxiliares para incluir información de identificación que indica que los segundos paquetes incluyen paquetes de video.
-
- 65.
- Método según cualquiera de las reivindicaciones 47-64, que incluye la recepción de datos en un servidor (10) desde un ordenador de cliente (22) por medio de una instalación de tratamiento central (60).
-
- 66.
- Método según la reivindicación 65, que incluye el acceso al servidor (10) utilizando el ordenador de cliente (22), por medio de la instalación de tratamiento central (60), para recuperar el módulo de código (CM1;CM2).
-
- 67.
- Método de cualquiera de las reivindicaciones 65-66, donde la instalación de tratamiento central (60) es un sistema telefónico.
-
- 68.
- Método según la reivindicación 65, que incluye el tratamiento de datos recibidos en el servidor (10) desde el ordenador de cliente (22) durante ejecución de la aplicación informática distribuida por el ordenador de cliente (22).
-
- 69.
- Método según la reivindicación 65, que incluye la generación del módulo de código (CM1;CM2) en el servidor
(10) basado en los datos recibidos en el servidor (10) desde el ordenador de cliente (22). -
- 70.
- Método según la reivindicación 65, que incluye la generación del módulo de datos en el servidor basado en los datos recibido en el servidor (10) desde el ordenador de cliente (22).
-
- 71.
- Método según la reivindicación 47, que incluye la recepción de un flujo de datos recibido en un ordenador de cliente (22) y la extracción del módulo de código (CM1;CM2) que representa la aplicación informática distribuida del flujo de datos recibido.
-
- 72.
- Método según la reivindicación 71, que incluye la ejecución de la aplicación informática distribuida en el ordenador de cliente (22).
-
- 73.
- Método según la reivindicación 72 donde el ordenador de cliente (22) incluye una memoria, incluyendo el método el almacenamiento de al menos una parte del módulo de código (CM1;CM2) en la memoria, como extraído del flujo de datos recibido, antes de recibir completamente el módulo de código (CM1;CM2).
-
- 74.
- Método según la reivindicación 73, que incluye la ejecución del módulo de código (CM1;CM2) cuando completamente recibido y el ordenador de cliente (22).
-
- 75.
- Método según la reivindicación 73, donde la memoria tiene que almacenar al menos un primer y un segundo módulo de código (CM1;CM2), el método incluyendo el intercambio entre la ejecución del primer y segundo módulo de código (CM1;CM2)s en el ordenador de cliente (22).
-
- 76.
- Método según la reivindicación 71, que incluye la utilización de un extractor de datos de paquete (206) para extraer paquetes de datos desde dentro del flujo de datos recibido que incluye el módulo de código (CM1;CM2).
-
- 77.
- Método según la reivindicación 76, que incluye la identificación de los paquetes de datos que incluían el módulo de código (CM1;CM2) utilizando la información de identificación incluida en los paquetes de datos.
-
- 78.
- Método según la reivindicación 53, que incluye la recepción de un flujo de datos recibido en un ordenador de cliente (22) y la extracción del módulo de datos del flujo de datos recibido.
-
- 79.
- Método según la reivindicación 78, en el que el ordenador de cliente (22) incluye una memoria, incluyendo el método el almacenamiento de al menos una parte del módulo de datos, como extraído del flujo de datos recibido, antes de recibir completamente el módulo de datos.
-
- 80.
- Método según la reivindicación 79, que incluye la ejecución de un primer módulo de código (CM1;CM2) cuando el módulo de datos requerido por el primer módulo de código (CM1;CM2) es recibido completamente.
-
- 81.
- Método según la reivindicación 78, que incluye la utilización de un extractor de datos de paquete (206) para extraer paquetes de datos desde dentro del flujo de datos recibido que incluía el módulo de datos.
-
- 82.
- Método según la reivindicación 81, que incluye la identificación de los paquetes de datos que incluyen el módulo de datos que utilizan la información de identificación incluida en los paquetes de datos.
-
- 83.
- Método según la reivindicación 55, que incluye la recepción de un flujo de datos recibido en un ordenador de cliente (22) y la extracción del módulo de directorio desde el flujo de datos recibido.
-
- 84.
- Método según la reivindicación 83 en el que el ordenador de cliente (22) incluye una memoria, el método incluyendo el almacenamiento de al menos un primer módulo de directorio de un conjunto de módulos de directorio, como extraído del flujo de datos recibido, antes de recibir completamente el conjunto de módulos de directorio, incluyendo el conjunto de módulos de directorio un código asociado de identificación de directorio y módulos de datos incluidos en el flujo de datos recibido.
-
- 85.
- Método según la reivindicación 84, que incluye la petición del código asociado y módulos de datos identificados por el directorio que utiliza el ordenador de cliente (22).
-
- 86.
- Método según la reivindicación 83, que incluye la extracción de paquetes de datos desde dentro del flujo de datos recibido que incluía el módulo de directorio.
-
- 87.
- Método según la reivindicación 86, que incluye la identificación de los paquetes de datos que incluían el módulo de directorio que utiliza la información de identificación incluida en los paquetes de datos.
-
- 88.
- Método según cualquiera de las reivindicaciones 47-87, que incluyen la extracción de paquetes de video del flujo de datos recibido.
-
- 89.
- Método según la reivindicación 71, que incluyen la selección del flujo de datos recibido para recepción por un ordenador de cliente (22).
-
- 90.
- Método según la reivindicación 89, en el que la selección incluye demodulación de una señal portadora modulada recibida desde un enlace satelital.
-
- 91.
- Método según la reivindicación 89, en el que la selección incluye la demultiplexión en el tiempo de una pluralidad de flujos de datos portados por la señal portadora modulada.
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 (1)
| Publication Number | Publication Date |
|---|---|
| ES2372692T3 true ES2372692T3 (es) | 2012-01-25 |
Family
ID=22879143
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES03002720T Expired - Lifetime ES2370166T3 (es) | 1994-04-28 | 1995-04-19 | Sistema y método para facilitar el pedido de un artículo. |
| ES95105803T Expired - Lifetime ES2232816T3 (es) | 1994-04-28 | 1995-04-19 | Sistema informatico distribuido cliente-servidor. |
| ES03002723T Expired - Lifetime ES2372692T3 (es) | 1994-04-28 | 1995-04-19 | Sistema informático distribuido cliente-servidor. |
| ES03002722T Expired - Lifetime ES2387085T3 (es) | 1994-04-28 | 1995-04-19 | Sistema informático distribuido |
Family Applications Before (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES03002720T Expired - Lifetime ES2370166T3 (es) | 1994-04-28 | 1995-04-19 | Sistema y método para facilitar el pedido de un artículo. |
| ES95105803T Expired - Lifetime ES2232816T3 (es) | 1994-04-28 | 1995-04-19 | Sistema informatico distribuido cliente-servidor. |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES03002722T Expired - Lifetime ES2387085T3 (es) | 1994-04-28 | 1995-04-19 | Sistema informático distribuido |
Country Status (13)
| Country | Link |
|---|---|
| US (2) | US5819034A (es) |
| EP (5) | EP1307022B1 (es) |
| JP (4) | JPH08166925A (es) |
| KR (1) | KR100363593B1 (es) |
| CN (4) | CN101212659A (es) |
| AT (3) | ATE518348T1 (es) |
| CA (1) | CA2145899C (es) |
| DE (1) | DE69533565T2 (es) |
| DK (1) | DK0680185T3 (es) |
| ES (4) | ES2370166T3 (es) |
| PT (3) | PT1307025E (es) |
| RU (1) | RU2142158C1 (es) |
| SG (1) | SG28257A1 (es) |
Families Citing this family (294)
| 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 |
| US6473860B1 (en) | 1994-04-07 | 2002-10-29 | Hark C. Chan | Information distribution and processing system |
| 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 |
| DE69534896T2 (de) * | 1994-10-24 | 2006-10-12 | Intel Corp., Santa Clara | Videoindexierungsprotokoll |
| DE69638071D1 (de) * | 1995-04-24 | 2009-12-24 | 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 |
| CN1311679C (zh) * | 1996-05-31 | 2007-04-18 | 松下电器产业株式会社 | 数据的发送/接收设备及发送/接收方法 |
| 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 |
| 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 |
| 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 |
| 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 |
| CN100347671C (zh) * | 1996-09-11 | 2007-11-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 |
| WO1999004561A1 (en) | 1997-07-21 | 1999-01-28 | E-Guide, Inc. | Systems and methods for displaying and recording control interfaces |
| 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 (en) * | 1997-10-03 | 1999-04-07 | CANAL+ Société Anonyme | Downloading data |
| 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 |
| KR100603677B1 (ko) * | 1998-06-19 | 2006-07-20 | 마츠시타 덴끼 산교 가부시키가이샤 | 송신방법, 방송용 수신방법, 방송용 수신장치, 수신장치 및수신방법 |
| CN1867068A (zh) | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | 交互式电视节目导视系统及其方法 |
| US8189662B2 (en) | 1999-07-27 | 2012-05-29 | Microsoft Corporation | Selection compression |
| BR9815964A (pt) * | 1998-07-27 | 2001-06-05 | Webtv Networks Inc | Processo de acesso a computador remoto, sistema servidor de computação remota, processo de transmissão de vìdeo, gerador de monitor de multi-cabeças, processos para gerar um fluxo de vìdeo compactado, de estimativa de movimento para compactação de fluxo de imagem, para mudar a detecção para compactação de fluxo de imagem, para gerar um catálogo, e de navegação na internet, programa de software para projeto de página www, software modificado por compactação para realizar pelo menos uma função e para gerar pelo menos um vìdeo, processos de controle de vìdeo, de processamento de imagem, de compactação de vìdeo, de compactação de fluxo de vìdeo assìncrona, para armazenar a taxa de enquadramento, para personalizar publicidade, de publicidade, de acúmulo de débito, de tv interativa, para alocação de largura de faixa para um fluxo de vìdeo compactado, para alocação de largura de faixa para transmitir vìdeo em um rede de cabo, para gerar uma pluralidade de vìdeos, para transmitir uma pluralidade de canais de vìdeo compactados similares, de multiplexação estatìstica de bits, para gerar uma pluralidade de fluxos de imagem não-relacionados, para gerar uma pluralidade de fluxos de áudio não-relacionados, e para produzir diferentes representações de vìdeo em uma pluralidade de locais remotos |
| US6898762B2 (en) | 1998-08-21 | 2005-05-24 | United Video Properties, Inc. | Client-server electronic program guide |
| 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 |
| 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 |
| 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 |
| 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 |
| US7930213B1 (en) | 1998-09-11 | 2011-04-19 | Rpx-Lv Acquisition Llc | Method and apparatus for completing, securing and conducting an E-commerce transaction |
| US6843417B1 (en) | 1998-09-11 | 2005-01-18 | L. V. Partners, L.P. | Aiming indicia for a bar code and method of use |
| US7392312B1 (en) | 1998-09-11 | 2008-06-24 | Lv Partners, L.P. | Method for utilizing visual cue in conjunction with web access |
| US7493384B1 (en) | 1998-09-11 | 2009-02-17 | Rpx-Lv Acquisition Llc | Controlling a PC using a tone from a cellular telephone |
| US6704864B1 (en) * | 1999-08-19 | 2004-03-09 | L.V. Partners, L.P. | Automatic configuration of equipment software |
| 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 |
| US6877032B1 (en) * | 1998-09-11 | 2005-04-05 | L.V. Partners, L.P. | Launching a web site using a portable scanner |
| US8028036B1 (en) | 1998-09-11 | 2011-09-27 | Rpx-Lv Acquisition Llc | Launching a web site using a passive transponder |
| US6829646B1 (en) * | 1999-10-13 | 2004-12-07 | L. V. Partners, L.P. | Presentation of web page content based upon computer video resolutions |
| US6791588B1 (en) | 1998-09-11 | 2004-09-14 | L.V. Partners, L.P. | Method for conducting a contest using a 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 |
| 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 |
| US7386600B1 (en) | 1998-09-11 | 2008-06-10 | Lv Partners, L.P. | Launching a web site using a personal device |
| US7010577B1 (en) | 1998-09-11 | 2006-03-07 | L. V. Partners, L.P. | Method of controlling a computer using an embedded unique code in the content of DVD media |
| 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 |
| 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 |
| US7228282B1 (en) | 1998-09-11 | 2007-06-05 | Lv Partners, L.P. | Method and apparatus for directing an existing product code to a remote location |
| 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 |
| 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 |
| US6973438B1 (en) | 1998-09-11 | 2005-12-06 | L.V. Partners, L.P. | Method and apparatus for delivering information from a remote site on a network based on statistical information |
| US6745234B1 (en) | 1998-09-11 | 2004-06-01 | Digital:Convergence Corporation | Method and apparatus for accessing a remote location by scanning an optical code |
| US6688522B1 (en) | 1998-09-11 | 2004-02-10 | L. V. Partners, L.P. | Unique bar code |
| 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 |
| 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 |
| US7536478B2 (en) | 1998-09-11 | 2009-05-19 | Rpx-Lv Acquisition Llc | Method and apparatus for opening and launching a web browser in response to an audible signal |
| US6860424B1 (en) | 1998-09-11 | 2005-03-01 | L.V. Partners, L.P. | Optical reader and use |
| US7493283B1 (en) | 1998-09-11 | 2009-02-17 | Rpx-Lv Acquisition Llc | Performing an e-commerce transaction from credit card account information retrieved from a credit card company web site |
| 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 |
| US6384744B1 (en) | 1998-09-11 | 2002-05-07 | Digital:Convergence Corp. | Method and system for data transmission from an optical reader |
| US6868433B1 (en) | 1998-09-11 | 2005-03-15 | L.V. Partners, L.P. | Input device having positional and scanning capabilities |
| US7370114B1 (en) | 1998-09-11 | 2008-05-06 | Lv Partners, L.P. | Software downloading using a television broadcast channel |
| US7392945B1 (en) | 1998-09-11 | 2008-07-01 | Lv Partners, L.P. | Portable scanner for enabling automatic commerce transactions |
| US6098106A (en) * | 1998-09-11 | 2000-08-01 | Digitalconvergence.Com Inc. | Method for controlling a computer with an audio signal |
| 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 |
| US6928413B1 (en) | 1998-09-11 | 2005-08-09 | L.V. Partners, L.P. | Method of product promotion |
| 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 |
| US7284066B1 (en) | 1998-09-11 | 2007-10-16 | Lv Partners, Lp | Method and apparatus for matching a user's use profile in commerce with a broadcast |
| 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 |
| US7191247B1 (en) | 1998-09-11 | 2007-03-13 | Lv Partners, Lp | Method for connecting a wireless device to a remote location on a network |
| 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 |
| US7159037B1 (en) | 1998-09-11 | 2007-01-02 | Lv Partners, Lp | Method and apparatus for utilizing an existing product code to issue a match to a predetermined location on a global network |
| US7117240B1 (en) | 1998-09-11 | 2006-10-03 | Lv Partners, Lp | Method and apparatus for launching a web site with non-standard control input device |
| 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 |
| US6631404B1 (en) | 1998-09-11 | 2003-10-07 | Lv Partners, L.P. | Method and system for conducting a contest using a network |
| US6636892B1 (en) * | 1998-09-11 | 2003-10-21 | Lv Partners, L.P. | Method for conducting a contest using a network |
| US6970916B1 (en) | 1998-09-11 | 2005-11-29 | L. V. Partners, L.P. | Method for conducting a contest using a network |
| US7043536B1 (en) | 1998-09-11 | 2006-05-09 | Lv Partners, L.P. | Method for controlling a computer using an embedded unique code in the content of CD media |
| 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 |
| US6961555B1 (en) | 1998-09-11 | 2005-11-01 | L.V. Partners, L.P. | System and apparatus for connecting a wireless device to a remote location on a network |
| US6526449B1 (en) | 1998-09-11 | 2003-02-25 | Digital Convergence Corporation | Method and apparatus for controlling a computer from a remote location |
| US7321941B1 (en) | 1998-09-11 | 2008-01-22 | Lv Partners, L.P. | Network routing utilizing a product code |
| 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 |
| US8712835B1 (en) | 1998-09-11 | 2014-04-29 | Rpx Corporation | Method and apparatus for linking a web browser link to a promotional offer |
| 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 |
| US7424521B1 (en) | 1998-09-11 | 2008-09-09 | Lv Partners, L.P. | Method using database for facilitating computer based access to a location on a network after scanning a barcode disposed on a product |
| US6970914B1 (en) | 1998-09-11 | 2005-11-29 | L. V. Partners, L.P. | Method and apparatus for embedding routing information to a remote web site in an audio/video track |
| 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 |
| IL145912A0 (en) * | 1999-04-15 | 2002-07-25 | Skystream Networks Inc | Data broadcast system |
| 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 |
| AU6888300A (en) * | 1999-04-30 | 2000-11-21 | 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 |
| US7222155B1 (en) | 1999-06-15 | 2007-05-22 | Wink Communications, Inc. | Synchronous updating of dynamic interactive applications |
| US7069571B1 (en) | 1999-06-15 | 2006-06-27 | Wink Communications, Inc. | Automated retirement of interactive applications using retirement instructions for events and program states |
| 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 |
| US7028327B1 (en) | 2000-02-02 | 2006-04-11 | Wink Communication | Using the electronic program guide to synchronize interactivity with broadcast programs |
| US7631338B2 (en) * | 2000-02-02 | 2009-12-08 | Wink Communications, Inc. | Interactive content delivery methods and apparatus |
| US20030097338A1 (en) * | 2000-02-03 | 2003-05-22 | Piotrowski Tony E. | Method and system for purchasing content related material |
| US6784805B2 (en) | 2000-03-15 | 2004-08-31 | Intrigue Technologies Inc. | State-based remote control system |
| 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 |
| US20020056083A1 (en) * | 2000-03-29 | 2002-05-09 | Istvan Anthony F. | System and method for picture-in-browser scaling |
| US20020060750A1 (en) * | 2000-03-29 | 2002-05-23 | Istvan Anthony F. | Single-button remote access to a synthetic channel page of specialized content |
| EP1273169B1 (en) | 2000-03-31 | 2006-06-07 | United Video Properties, Inc. | Systems and methods for reducing cut-offs in program recording |
| 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 |
| US20040111370A1 (en) * | 2000-06-27 | 2004-06-10 | Digital World Access, Inc. | Single source money management system |
| US20010056399A1 (en) * | 2000-06-27 | 2001-12-27 | Eric Saylors | Web dependent consumer financing and virtual reselling method |
| US20030074311A1 (en) * | 2001-10-16 | 2003-04-17 | Newattitude Inc. | Self-administered automatic payroll deduction |
| 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 |
| US20020013950A1 (en) * | 2000-07-25 | 2002-01-31 | Tomsen Mai-Lan | Method and system to save context for deferred transaction via interactive television |
| 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 |
| US7313802B1 (en) | 2000-07-25 | 2007-12-25 | Digeo, Inc. | Method and system to provide deals and promotions 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 |
| ATE406618T1 (de) | 2000-10-11 | 2008-09-15 | United Video Properties Inc | Systeme und verfahren zur bereitstellung von datenspeichern in servern in einem medien-auf- anfrage liefersystem |
| TW545060B (en) | 2000-10-11 | 2003-08-01 | United Video Properties Inc | Systems and methods for caching data in media-on-demand systems |
| 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 |
| US7168089B2 (en) * | 2000-12-07 | 2007-01-23 | Igt | Secured virtual network in a gaming environment |
| 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 |
| US6624388B1 (en) * | 2001-01-25 | 2003-09-23 | The Lincoln Electric Company | System and method providing distributed welding architecture |
| 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 |
| RU2239228C2 (ru) * | 2001-07-05 | 2004-10-27 | Всероссийский научно-исследовательский институт автоматики | Способ распределения времени центрального процессора между задачами в автоматизированных системах управления технологическими процессами |
| 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 |
| US20030041104A1 (en) * | 2001-08-06 | 2003-02-27 | Digeo, Inc. | System and method to provide local content and corresponding applications 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 |
| RU2310224C2 (ru) * | 2001-10-02 | 2007-11-10 | Ситрикс Системз, Инк. | Способы распределенного выполнения программы со связью по типу файла в сетях с архитектурой клиент-сервер |
| US7343487B2 (en) | 2001-10-10 | 2008-03-11 | Nokia Corporation | Datacast distribution system |
| 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 |
| US20030236823A1 (en) * | 2002-06-19 | 2003-12-25 | Robert Patzer | Information sharing groups, server and client group applications, and methods therefor |
| 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 | 中兴通讯股份有限公司 | 移动通信网络规划中小区覆盖文件的分布式处理方法 |
| US8711923B2 (en) | 2002-12-10 | 2014-04-29 | Ol2, Inc. | System and method for selecting a video encoding format based on feedback data |
| US8832772B2 (en) * | 2002-12-10 | 2014-09-09 | Ol2, Inc. | System for combining recorded application state with application streaming interactive video output |
| US9077991B2 (en) | 2002-12-10 | 2015-07-07 | Sony Computer Entertainment America Llc | System and method for utilizing forward error correction with video compression |
| US20090118019A1 (en) | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
| US10201760B2 (en) | 2002-12-10 | 2019-02-12 | Sony Interactive Entertainment America Llc | System and method for compressing video based on detected intraframe motion |
| US9108107B2 (en) * | 2002-12-10 | 2015-08-18 | Sony Computer Entertainment America Llc | Hosting and broadcasting virtual events using streaming interactive video |
| 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 |
| US8964830B2 (en) * | 2002-12-10 | 2015-02-24 | Ol2, Inc. | System and method for multi-stream video compression using multiple encoding formats |
| US9138644B2 (en) | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
| 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 |
| DE602004020069D1 (de) * | 2004-09-14 | 2009-04-30 | Fiat Ricerche | Vorrichtung und Verfahren zur Qualitätsüberwachung von Industrieprozessen |
| 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 | 映像装置及び映像ストリーミング方法 |
| 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 |
| 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 |
| US8117559B2 (en) | 2004-09-30 | 2012-02-14 | Citrix Systems, Inc. | Method and apparatus for virtualizing window information |
| 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 |
| US7680758B2 (en) | 2004-09-30 | 2010-03-16 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
| 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 | カシオ計算機株式会社 | データ出力装置、および、プログラム |
| US20060168291A1 (en) * | 2005-01-05 | 2006-07-27 | Van Zoest Alexander | Interactive multichannel data distribution system |
| WO2006074093A2 (en) * | 2005-01-05 | 2006-07-13 | Divx, Inc. | Media transfer protocol |
| 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 | キヤノン株式会社 | 画像形成装置 |
| JP4546299B2 (ja) * | 2005-03-18 | 2010-09-15 | キヤノン株式会社 | 画像形成装置 |
| JP2006256275A (ja) * | 2005-03-18 | 2006-09-28 | Canon Inc | 装置および画像形成装置 |
| 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 |
| US7620902B2 (en) * | 2005-04-20 | 2009-11-17 | Microsoft Corporation | Collaboration spaces |
| 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 |
| EP1818812B1 (en) * | 2006-01-25 | 2016-01-06 | Brandt Technologies Limited | System and method for effecting simultaneous control of remote computers |
| 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 |
| US9386327B2 (en) | 2006-05-24 | 2016-07-05 | Time Warner Cable Enterprises Llc | Secondary content insertion apparatus and methods |
| US8280982B2 (en) | 2006-05-24 | 2012-10-02 | Time Warner Cable Inc. | Personal content server 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 |
| BRPI0819170A8 (pt) * | 2007-11-08 | 2015-11-24 | Genetic Finance Holdings Ltd | Método para executar uma tarefa computacional, e, sistema de computador em rede configurado para executar uma tarefa computacional |
| 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 |
| EP2218039A4 (en) * | 2007-12-05 | 2013-06-05 | Onlive Inc | SYSTEM AND METHOD FOR VIDEO COMPRESSION BASED ON KNOWN INTRAFRAME MOVEMENT |
| 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 |
| US8099473B2 (en) | 2008-12-31 | 2012-01-17 | Apple Inc. | Variant streams for real-time or near real-time streaming |
| US8578272B2 (en) | 2008-12-31 | 2013-11-05 | Apple Inc. | Real-time or near real-time streaming |
| US8260877B2 (en) | 2008-12-31 | 2012-09-04 | Apple Inc. | Variant streams for real-time or near real-time streaming to provide failover protection |
| US8156089B2 (en) | 2008-12-31 | 2012-04-10 | Apple, Inc. | Real-time or near real-time streaming with compressed playlists |
| US8694585B2 (en) * | 2009-03-06 | 2014-04-08 | Trion Worlds, Inc. | Cross-interface communication |
| US8657686B2 (en) * | 2009-03-06 | 2014-02-25 | Trion Worlds, Inc. | Synthetic environment character data sharing |
| US8661073B2 (en) * | 2009-03-06 | 2014-02-25 | Trion Worlds, Inc. | Synthetic environment character data sharing |
| JP5695030B2 (ja) * | 2009-04-28 | 2015-04-01 | センティエント テクノロジーズ (バルバドス) リミテッド | 資産管理及び資産取引の為の分散型進化的アルゴリズム |
| 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 |
| 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 |
| US8805963B2 (en) | 2010-04-01 | 2014-08-12 | Apple Inc. | Real-time or near real-time streaming |
| US8892691B2 (en) | 2010-04-07 | 2014-11-18 | Apple Inc. | Real-time or near real-time streaming |
| WO2011149480A1 (en) | 2010-05-28 | 2011-12-01 | Hewlett-Packard Development Company, L.P. | Disabling a display refresh process |
| US8508401B1 (en) | 2010-08-31 | 2013-08-13 | Logitech Europe S.A. | Delay fixing for command codes in a remote control system |
| US8856283B2 (en) | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
| US8843586B2 (en) | 2011-06-03 | 2014-09-23 | Apple Inc. | Playlists for real-time or near real-time streaming |
| WO2012119436A1 (zh) * | 2011-09-01 | 2012-09-13 | 华为技术有限公司 | 资源迁移方法、装置及系统 |
| 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 | 阿里巴巴集团控股有限公司 | 资源调度方法及装置、支付方法及装置 |
| CN115955587A (zh) * | 2022-12-29 | 2023-04-11 | 杭州国芯科技股份有限公司 | 一种VBI Teletext数据的传输方法 |
Family Cites Families (46)
| 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 | 株式会社日立製作所 | 複合計算機システムにおけるプロセス結合方法 |
| SU1410049A1 (ru) * | 1986-10-04 | 1988-07-15 | Kharchenko Vyacheslav S | Устройство дл обмена данными |
| 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 |
| JPH01161566A (ja) * | 1987-12-18 | 1989-06-26 | Hitachi Ltd | 分散処理システムにおけるデータ処理方式 |
| 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学習方法および装置 |
| SU1566362A1 (ru) * | 1988-07-21 | 1990-05-23 | Харьковское Высшее Военное Командно-Инженерное Училище Ракетных Войск Им.Маршала Советского Союза Крылова Н.И. | Многоканальное устройство дл обмена управл ющей информацией в вычислительной системе |
| SU1571594A1 (ru) * | 1988-08-11 | 1990-06-15 | Войсковая Часть 32103 | Устройство дл обмена информацией в мультипроцессорной вычислительной системе |
| JPH02161844A (ja) * | 1988-12-14 | 1990-06-21 | Hitachi Ltd | 情報配布サービス方式 |
| 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 | 文字放送受信機 |
| AU656542B2 (en) * | 1990-10-01 | 1995-02-09 | Thomas A. Bush | Transactional processing system |
| 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. |
| CA2060630C (en) * | 1991-02-06 | 1999-02-02 | Tommy D. Greer | Method and apparatus for generating cumulative discount certificates |
| 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 DK DK95105803T patent/DK0680185T3/da active
- 1995-04-19 EP EP03002720A patent/EP1307022B1/en not_active Expired - Lifetime
- 1995-04-19 EP EP03002722.1A patent/EP1307024B2/en not_active Expired - Lifetime
- 1995-04-19 ES ES03002720T patent/ES2370166T3/es not_active Expired - Lifetime
- 1995-04-19 DE DE69533565T patent/DE69533565T2/de not_active Expired - Lifetime
- 1995-04-19 EP EP95105803A patent/EP0680185B1/en not_active Expired - Lifetime
- 1995-04-19 EP EP03002723A patent/EP1307025B1/en not_active Expired - Lifetime
- 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 AT AT03002720T patent/ATE518348T1/de active
- 1995-04-19 EP EP03002721A patent/EP1307023A3/en not_active Withdrawn
- 1995-04-19 PT PT03002723T patent/PT1307025E/pt unknown
- 1995-04-19 ES ES03002722T patent/ES2387085T3/es not_active Expired - Lifetime
- 1995-04-19 AT AT95105803T patent/ATE278285T1/de not_active IP Right Cessation
- 1995-04-19 PT PT03002720T patent/PT1307022E/pt unknown
- 1995-04-19 AT AT03002723T patent/ATE523014T1/de active
- 1995-04-19 PT PT03002722T patent/PT1307024E/pt unknown
- 1995-04-24 JP JP9888295A patent/JPH08166925A/ja active Pending
- 1995-04-25 SG SG1995000321A patent/SG28257A1/en unknown
- 1995-04-25 RU RU95106682A patent/RU2142158C1/ru active
- 1995-04-25 KR KR1019950009741A patent/KR100363593B1/ko not_active Expired - Lifetime
- 1995-04-27 CN CNA2006101019034A patent/CN101212659A/zh active Pending
- 1995-04-27 CN CN95104730A patent/CN1104691C/zh not_active Expired - Lifetime
- 1995-04-27 CN CNB031029655A patent/CN1311378C/zh not_active Expired - Lifetime
- 1995-04-27 CN CN200610093448.8A patent/CN1893648B/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 |
|---|---|---|
| ES2372692T3 (es) | Sistema informático distribuido cliente-servidor. | |
| US5113496A (en) | Bus interconnection structure with redundancy linking plurality of groups of processors, with servers for each group mounted on chassis | |
| EP0145063B1 (en) | Cable television network | |
| ES2199264T3 (es) | Procedimiento y aparato para proporcionar una guia interactiva para eventos disponibles en una red de informacion. | |
| US5191410A (en) | Interactive multimedia presentation and communications system | |
| TW488168B (en) | Method and apparatus for user-controlled selective overlay in a streaming media | |
| ES2233941T3 (es) | Transmision simultanea de señales con una señal de video convencional. | |
| US20010016942A1 (en) | Host apparatus for simulating two way connectivity for one way data streams | |
| CS286991A3 (en) | Interactive information system for home users | |
| WO2003005719A3 (en) | Method and apparatus for managing resources and multiplexing a plurality of channels in a multimedia system | |
| HK1057833A (en) | System to facilitate ordering of an item | |
| KR100715598B1 (ko) | 객체 분할을 이용한 방송 추가 정보 제공 방법 및 시스템 | |
| JP2002541595A (ja) | 電子書籍の代替的配送方法 | |
| WO2005116818A2 (fr) | Systeme operateur transformateurs | |
| CA2002646A1 (en) | Interactive multimedia presentation and communications system | |
| RU2002107426A (ru) | Способ внутриинформационного размещения рекламы, сервер для внутриинформационного размещения рекламы и средства передачи данных для внутриинформационного размещения рекламы | |
| RU2000101291A (ru) | Способ и терминал для предоставления услуг в телекоммуникационной сети |