ES2232816T3 - Sistema informatico distribuido cliente-servidor. - Google Patents

Sistema informatico distribuido cliente-servidor.

Info

Publication number
ES2232816T3
ES2232816T3 ES95105803T ES95105803T ES2232816T3 ES 2232816 T3 ES2232816 T3 ES 2232816T3 ES 95105803 T ES95105803 T ES 95105803T ES 95105803 T ES95105803 T ES 95105803T ES 2232816 T3 ES2232816 T3 ES 2232816T3
Authority
ES
Spain
Prior art keywords
data
module
computer
train
distributed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES95105803T
Other languages
English (en)
Inventor
Kuriacose Joseph
Vincent Dureau
Ansley Wayne Jessup, Jr.
Alain Delpuch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OpenTV Inc
Original Assignee
OpenTV Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22879143&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2232816(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by OpenTV Inc filed Critical OpenTV Inc
Application granted granted Critical
Publication of ES2232816T3 publication Critical patent/ES2232816T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content 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/26266Content 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/47815Electronic shopping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating 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 Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (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 informático distribuido que comprende una fuente de tren de datos (10) adaptada simultáneamente para producir una pluralidad de trenes de datos continuos, insertar repetitivamente datos que representan una aplicación informática distribuida al menos en una de la pluralidad de trenes de datos continuos, e incluir un módulo de directorio en al menos una de la pluralidad de trenes de datos continuos, el módulo de directorio incluyendo información relacionada con la aplicación informática distribuida.

Description

Sistema informático distribuido cliente-servidor.
El presente invento se refiere a un sistema informático distribuido cliente-servidor. Dicho sistema informático puede usarse en aplicaciones multimedia de difusión.
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.
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 petición, 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.
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.
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 petición 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 petición de consulta, localizando dónde residen los dados 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.
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.
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.
La patente estadounidense 4.965.825, "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 el intervalo de borrado vertical, por ejemplo, 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.
La patente estadounidense 5.251.301, "Control remoto del ordenador mediante señal de vídeo", expedida el 5 de octubre de 1993 por Gary M. Cook, describe un sistema para el uso simultáneo de una señal de vídeo, para proporcionar una imagen de vídeo, y datos informáticos. Las señales de datos, representativas de los datos informáticos, se utilizan para sustituir señales digitales representativas de los pixeles de vídeo en un extremo transmisor. Una señal digital, así modificada, vuelve a convertirse en una señal analógica, transmitida a un receptor, el cual muestra entonces una imagen vídeo correspondiente a la señal modificada, y también extrae los datos informáticos de manera que estos datos puedan facilitarse a un ordenador. Por consiguiente, el ordenador puede ser controlado por los datos informáticos, conforme se representa una imagen vídeo.
En todos los sistemas anteriores, un ordenador central controla o responde a las peticiones 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 envía una petición de consulta a otro ordenador. El otro ordenador sólo proporciona una respuesta, p.ej. una ejecución remota, el fichero solicitado, mensaje o datos recuperados, cuando ha habido una solicitud. Además, en general, se requiere que el ordenador periférico posea todos los recursos necesarios para ejecutar completamente, o casi completamente, el programa deseado, con el servidor actuando únicamente como otro mecanismo de almacenamiento o como máximo compartiendo una parte de las tareas informáticas.
Los inventores aquí proponen un sistema informático distribuido en el cual un ordenador servidor produzca continuamente datos. El tren de datos actúa como un dispositivo de memoria masiva para que los reciban los ordenadores cliente. Este tren de datos incluye repetitivamente datos que representan una aplicación informática distribuida en la cual el ordenador cliente puede participar, incluyendo código ejecutable y datos. Un mecanismo de transporte, incluyendo una ruta de comunicación unidireccional de alta velocidad, transmite el tren de datos del servidor al cliente. El cliente recibe el tren de datos, extrae los datos representativos informáticos distribuidos y ejecuta la aplicación informática distribuida.
De acuerdo con un aspecto del presente invento se proporciona un sistema informático distribuido que comprende una fuente de tren de datos adaptada simultáneamente para producir una pluralidad de trenes de datos continuos, insertar repetitivamente al menos una de la pluralidad de trenes de datos continuos, e incluir un módulo de directorio en al menos una de la pluralidad de trenes de datos continuos, el módulo de directorio incluyendo información relacionada con la aplicación informática distribuida.
Preferentemente, se adapta la fuente para introducir dichos datos en cada una de las pluralidades de trenes de datos continuos, y para incluir un módulo de directorio en cada una de las pluralidades de trenes de datos continuos; y también comprende un ordenador cliente (20), incluyendo un receptor de datos adaptado para seleccionar uno de los muchos trenes de datos continuos, extraer (206) los datos que representan la aplicación informática distribuida de la seleccionada de entre la pluralidad de trenes de datos continuos, y ejecutar (224) la aplicación informática distribuida.
De acuerdo con un segundo aspecto del invento, se proporciona un ordenador cliente (22) para usar en un sistema informático distribuido, caracterizándose el ordenador cliente (22) porque posee: un terminal de entrada (30), adaptado selectivamente para recibir uno de los muchos trenes de datos continuos, el seleccionado de entre la pluralidad de trenes de datos continuos incluyendo repetitivamente datos que representan una aplicación informática distribuida y un módulo de directorio; un receptor de tren de datos (207), conectado al terminal de entrada (30) y adaptado para recibir el tren de datos continuos seleccionado de entre la pluralidad de trenes de datos continuos y extraer (206) los datos que representan la aplicación informática distribuida; y una unidad de procesamiento (224), conectada al receptor del tren de datos, adaptada para recibir y ejecutar (210) la aplicación informática distribuida; en el cual, el receptor del tren de datos (207) también está adaptado para extraer el módulo de directorio del tren de datos continuos seleccionado de entre la pluralidad de trenes de datos continuos y para extraer los datos que representan la aplicación informática distribuida del tren de datos continuos seleccionado de entre la pluralidad de trenes de datos continuos como respuesta a la información existente en el módulo de directorio extraído.
En un sistema informático distribuido de acuerdo con el invento, el sistema informático cliente no necesita incluir todos los recursos, en particular, la memoria principal y la memoria masiva, necesarios para ejecutar todo el programa. En su lugar, no se requiere memoria masiva porque el tren de datos ejerce la función de dispositivo de memoria masiva, y el requisito de memoria principal es moderado porque sólo la parte del programa que se ejecuta actualmente necesita almacenarse en memoria. Cuando la parte que se ejecuta actualmente se completa, su espacio de memoria queda libre y la siguiente parte de ejecución es extraída del tren de datos, es almacenada en el espacio de memoria libre y esa parte empieza su ejecu-
ción.
Además, un sistema informático distribuido de acuerdo con el presente invento 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 tal como se describió anteriormente. Si no se desea participar, simplemente se ignora el tren de datos y tiene lugar el procesamiento deseado por el usuario, o ninguno de hecho. Un sistema informático distribuido de este tipo también permite que cada ordenador cliente participante se incorpore a la función informática distribuida en cualquier momento y siga su propio ritmo en la realización de su propia función informática.
Un sistema informático distribuido de acuerdo con el presente invento es especialmente adecuado para las aplicaciones de TV interactiva porque permite a un espectador sintonizar un canal de TV interactiva en cualquier momento e incorporarse a la interactividad cuando lo desee (o no hacerlo para nada), y permite que todos los espectadores avancen a su ritmo diferente. Esto es especialmente ventajoso en un entorno en el que puede presentarse un anuncio interactivo, con su código ejecutable y datos propios, en un programa interactivo, o cuando el espectador desea cambiar de canal.
Breve descripción de los dibujos
En el dibujo:
la Figura 1 es un diagrama en bloque de un sistema informático distribuido de acuerdo con el presente invento;
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 trenes 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.
La Figura 1 es un diagrama en bloque de un sistema informático distribuido de acuerdo con el presente invento. 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).
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 el encontrar una forma 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.
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 tren 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 trenes independientes de datos, cada una identificada por la información de identificación en sus paquetes, dentro de un solo tren de paquetes.
Además, es posible multiplexar una pluralidad de trenes 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 trenes 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 trenes de datos de una sola portadora modulada.
Cada ordenador cliente 20 incluye un receptor de datos para seleccionar una de las trenes de paquetes que se están transportando por el mecanismo de transporte 30, recibir el tren 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 trenes de datos que esa portadora modulada transporta.
Cuando funciona, el servidor 10 produce unos trenes de datos continuos en forma de tren 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 tren 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 tren 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 tren 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.
Es posible que haya más de un módulo de código colocado en el tren 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 tren de datos, se almacena en memoria y se ejecuta. Cada parte se extrae del tren 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.
El servidor 10 también puede incluir repetitivamente un paquete o paquetes que contengan uno o más módulos de datos en el tren 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 tren 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 tren 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.
El servidor 10 puede también incluir repetitivamente en el tren 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 tren de datos. El directorio incluye una lista de todos los módulos de código y datos que se hallan presentes en el tren de datos, junto con información acerca de esos módulos. Si hay un directorio presente en el tren de datos, entonces, antes de extraer cualquier módulo de código o de datos del tren de datos, el ordenador cliente 22 controla el tren de datos para el directorio. Cuando los paquetes que contiene el directorio (o partes del directorio) se hallan presentes en el tren 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 datos del tren de datos y se continúa con la ejecución de la forma descrita anteriormente.
Cualquiera de los ordenadores cliente 20 puede incorporarse a la función informática distribuida representada por el tren 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 tener esto en cuenta, 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 tren 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 tren 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 tren 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.
El tren 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 tren de datos del ordenador cliente 22 reconoce los paquetes de datos auxiliares en el tren 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.
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 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 trenes 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.
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.
Además, pueden incluirse datos de código de tiempo en el tren de datos del paquete auxiliar de televisión o en el tren de datos del paquete que representa la aplicación de TV interactiva, o en ambos trenes. 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.
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 acoplar a un ordenador local u otro equipo.
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.
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.
El ordenador servidor 10 puede generar nuevos módulos de código y/o datos, o modificar módulos existentes, en el tren 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.
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.
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.
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 tren de datos del mecanismo de transporte 30.
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.
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 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.
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 tren 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 solo 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.
Puesto que los módulos de código y de datos relacionados con el programa de televenta se introducen repetitivamente en el tren 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.
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 tren de datos deseado del mecanismo de transporte 30, y procesar el programa que se emita en ese momento en el tren 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.
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 tren 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.
La Figura 2 es un diagrama en bloque que muestra un ordenador servidor 10 como se muestra en la Figura 1. 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.
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 108 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.
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 tren 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.
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 tren 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.
El empaquetador de transporte 104 genera un tren 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 tren 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 una soel tren 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 tren de datos y/o en los paquetes de datos auxiliares en base a los datos recibidos del reloj 109.
Las trenes 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 trenes de paquetes pueden ser multiplexadas en frecuencias haciendo que cada tren 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 trenes 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 trenes de datos de televisión interactiva a través de un solo enlace por satélite.
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.
La Figura 3 es un diagrama de temporización que muestra los trenes 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 trenes de paquetes 32-38. Cada tren 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 tren 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.
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.
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 (CM1 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 (CM1 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 (CM1 y CM2) se transmiten repetitivamente (no se muestra) en la serie de paquetes 34, como se describió anteriormente.
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 (DM1) 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 (DM1 y DM2), asociado con el módulo de código (CM), en el tren de datos. Tanto el módulo de código (CM) como el módulo de datos (DM1 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 (DM1 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.
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 tren 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).
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 tren 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.
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 tren 202. Un terminal de salida de un selector de tren 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 de el tren 208. Un terminal de salida de control del adaptador de E/S de el tren se conecta a un terminal correspondiente de entrada de control del selector de tren 202. La combinación del selector de tren 202, el extractor de datos auxiliares 204 y el extractor de datos del paquete 206 forma un receptor de tren de datos 207 para el ordenador cliente 22, que se muestra mediante la línea discontinua de la Figura 4.
El adaptador de E/S de el tren 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 el tren 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.
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 el presente invento. Aparecen en la Figura 1 y Figura 4 para mostrar otra funcionalidad extra opcional.
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 tren 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 tren 208 que envíe una señal de control de selección al selector de tren 202, posiblemente como respuesta a la información facilitada por el usuario desde el 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 de el tren 208. El adaptador de E/S del tren 208 transmite esta petición al extractor de datos del paquete 204.
El mecanismo de transporte 30 (de la Figura 1) aporta toda la pluralidad de trenes de paquete (32-38 de la Figura 3) que transfiere al selector de tren 202, el cual solo pasa el tren de paquetes seleccionada. El extractor de datos auxiliares 204 controla el tren 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 tren de paquetes seleccionado, extrae los paquetes del módulo de directorio, código y/o datos solicitados por el adaptador de E/S del tren 208 y los entrega al adaptador de E/S del tren 208. Los datos de los paquetes devueltos al adaptador de E/S del tren 208 se entregan a la RAM 212. Cuando se ha recuperado todo el módulo del tren de paquetes (que podría necesitar varios paquetes, como se describió anteriormente), el adaptador de E/S del tren 208 notifica al procesador 210 su recepción. Entonces, el procesador 210 puede continuar la ejecución de su programa.
El tren 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 tren de datos 207 es parecido a un dispositivo de almacenamiento masivo, y la E/S del tren 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 tren 208 sólo puede recuperar código y datos del tren de datos. No pueden ponerse datos en el tren de
datos.
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 tren 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 tren 208. Puesto que los módulos de código y de datos se transportan repetitivamente en el tren 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 tren 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 tren 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 tren 208 los extraiga del tren de datos.
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 50 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.
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 50 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.
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 tren 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 tren de datos, lo que provoca una interrupción del código que se ejecute actualmente en el procesador 210. La E/S de tren 208 supervisa la aparición de dichos paquetes especializados en el tren 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.
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 (20)

1. Un sistema informático distribuido que comprende una fuente de tren de datos (10) adaptada simultáneamente para producir una pluralidad de trenes de datos continuos, insertar repetitivamente datos que representan una aplicación informática distribuida al menos en una de la pluralidad de trenes de datos continuos, e incluir un módulo de directorio en al menos una de la pluralidad de trenes de datos continuos, el módulo de directorio incluyendo información relacionada con la aplicación informática distribuida.
2. El sistema informático distribuido según la reivindicación 1, en el cual, dicha fuente se adapta para introducir dichos datos en cada una de las pluralidades de trenes de datos continuos, y para incluir un módulo de directorio en cada una de las pluralidades de trenes de datos continuos; y también comprende un ordenador cliente (20), incluyendo un receptor de datos adaptado para seleccionar uno de los muchos trenes de datos continuos, extraer (206) los datos que representan la aplicación informática distribuida de la seleccionada de entre la pluralidad de trenes de datos continuos, y ejecutar (224) la aplicación informática distribuida.
3. El sistema informático según la reivindicación 2, el cual también se caracteriza por tener un procesador de datos auxiliares (50), en el que se adapta la fuente de tren de datos (10) para producir la pluralidad de trenes de datos continuos a fin de incluir datos auxiliares; y se adapta el ordenador cliente (20) para extraer los datos auxiliares del tren seleccionado de entre la pluralidad de trenes de datos y para aportar los datos auxiliares al procesador de datos auxiliares (50).
4. El sistema informático según la reivindicación 3, el cual se caracteriza por adaptarse la fuente de tren de datos (10) para producir la pluralidad de trenes de datos en forma de una serie de paquetes; incluyendo un primer paquete que incluye los datos que representan la aplicación informática distribuida, información de identificación indicando que el primer paquete contiene datos que representan la aplicación informática distribuida, un segundo paquete que contiene los datos auxiliares e información de identificación indicando que el segundo paquete contiene los datos auxiliares.
5. El sistema informático según la reivindicación 2, que también se caracteriza por un procesador de datos auxiliares (50); en el cual, se adapta la fuente del tren de datos (10) para producir la pluralidad de trenes de datos continuos que también incluyen datos auxiliares; y se adapta el ordenador cliente (20) para extraer los datos auxiliares del tren de datos seleccionado de entre la pluralidad de trenes de datos continuos y entregar los datos auxiliares extraídos al procesador de datos auxiliares (50).
6. El sistema informático según la reivindicación 2, el cual se caracteriza por adaptarse la fuente del tren de datos (10) para producir la pluralidad de trenes de datos continuos en forma de una serie de paquetes (32-38) incluyendo: un primer paquete (CM) que contiene datos que representan un módulo de código ejecutable e información de identificación indicando que el primer paquete contiene los datos que representan el módulo de código ejecutable; un segundo paquete (DM) que contiene datos que representan un módulo de datos e información de identificación indicando que el segundo paquete contiene datos que representan el módulo de datos; y un tercer paquete (AUX) que contiene datos auxiliares e información de identificación indicando que el tercer paquete contiene los datos auxiliares.
7. El sistema informático según la reivindicación 6, el cual se caracteriza por adaptarse la fuente del tren de datos (10) para producir la pluralidad de trenes de datos continuos también para incluir el módulo de directorio para que incluya información relacionada con el módulo de código; y se adapta el ordenador cliente (20) primero para extraer el módulo de directorio del tren de datos seleccionado de entre la pluralidad de trenes de datos continuos, luego extraer el módulo de código como respuesta a la información relacionada con el módulo de código en el módulo de directorio extraído, y ejecutar el módulo de código extraído.
8. El sistema informático según la reivindicación 2, que se caracteriza por adaptarse la fuente del tren de datos (10) para producir la pluralidad de trenes de datos continuos como una serie de paquetes (32-38) incluyendo: un primer paquete (CM) que contiene datos que representan un módulo de código ejecutable e información de identificación indicando que el primer paquete contiene los datos que representan el módulo de código ejecutable; un segundo paquete (DM) que contiene datos que representan un módulo de datos e información de identificación indicando que el segundo paquete contiene datos que representan el módulo de datos; un tercer paquete (DIR) que contiene datos que representan un módulo de directorio e información de identificación indicando que el tercer paquete contiene los datos que representan el módulo de directorio; y un cuarto paquete (AUX) que contiene datos auxiliares e información de identificación indicando que el cuarto paquete contiene los datos auxiliares.
9. El sistema informático según la reivindicación 8, el cual se caracteriza por adaptarse la fuente del tren de datos (10) para producir la pluralidad de trenes de datos continuos que también incluyen el módulo de datos y el módulo de directorio - el módulo de directorio conteniendo información relacionada con el módulo de datos; y también se adapta el ordenador cliente (20) para extraer el módulo de datos de entre el tren seleccionado de la pluralidad de trenes de datos continuos como respuesta a la información relacionada con el módulo de datos en el módulo de directorio y para ejecutar el módulo de código para procesar el módulo de datos extraído.
10. Un ordenador cliente (22) para usar en un sistema informático distribuido, el ordenador cliente (22) comprendiendo un terminal de entrada (30), que se adapta selectivamente para recibir uno de los muchos trenes de datos continuos, el seleccionado de entre la pluralidad de trenes de datos continuos incluyendo repetitivamente datos que representan una aplicación informática distribuida y un módulo de directorio; un receptor de tren de datos (207), conectado al terminal de entrada (30) y adaptado para recibir el tren de datos continuos seleccionado de entre la pluralidad de trenes de datos continuos y extraer (206) los datos que representan la aplicación informática distribuida; y una unidad de procesamiento (224), conectada al receptor del tren de datos, adaptada para recibir y ejecutar (210) la aplicación informática distribuida; en la cual, el receptor del tren de datos (207) también está adaptado para extraer el módulo de directorio del tren de datos continuos seleccionado de entre la pluralidad de trenes de datos continuos y para extraer los datos que representan la aplicación informática distribuida del tren de datos continuos seleccionado de entre la pluralidad de trenes de datos continuos como respuesta a la información existente en el módulo de directorio extraído.
11. El ordenador cliente según la reivindicación 10, el cual se caracteriza por el hecho de que la unidad de procesamiento (224) comprende un bus del sistema (216); memoria de lectura/escritura (212), conectada al bus del sistema; un adaptador de entrada/salida del tren de datos (208), conectado entre el receptor del tren de datos (207) y el bus del sistema (216) adaptado para recibir los datos que representan la aplicación informática distribuida extraída del receptor del tren de datos (207), y para almacenar los datos que representan la aplicación informática distribuida extraída en la memoria de lectura/escritura (212); y un procesador (210), conectado al bus del sistema (216) adaptado para ejecutar la aplicación informática distribuida.
12. El ordenador cliente según la reivindicación 10 u 11, el cual se caracteriza por adaptarse el terminal de entrada (30) para recibir el tren seleccionado de entre la pluralidad de trenes de datos como una serie de paquetes que contienen paquetes que transmiten los datos que representan la aplicación informática distribuida; y el receptor del tren de datos (207) comprende un extractor de datos del paquete (206), conectado al terminal de entrada (30), que se adapta para extraer los paquetes que transmiten los datos que representan la aplicación informática distribuida.
13. El ordenador cliente según la reivindicación 12, que se caracteriza por el hecho de que la serie de paquetes del tren de datos también incluye paquetes que transportan datos auxiliares; el ordenador cliente (32) también incluye un procesador de datos auxiliares; y el receptor del tren de datos (207) incluye un extractor de paquetes de datos auxiliares, conectado al procesador de datos auxiliares y adaptado para extraer los paquetes que transportan los datos auxiliares desde el tren de datos y para entregar los paquetes que transportan los datos auxiliares al procesador de datos auxiliares.
14. El ordenador cliente según la reivindicación 13, el cual se caracteriza por el hecho de que el sistema informático distribuido es un sistema de televisión interactiva, y los datos auxiliares son vídeo y audio de televisión.
15. El ordenador cliente de las reivindicaciones 10 a 14, el cual se caracteriza por adaptarse el terminal de entrada (30) para recibir la pluralidad de trenes de datos continuos, cada uno de ellos incluyendo datos que representan una aplicación informática distribuida respectiva; y el receptor del tren de datos (207) comprende un selector de tren de datos (202), conectado al terminal de entrada (30) y adaptado para producir el tren seleccionado de entre la pluralidad de trenes de datos como respuesta a las señales de control recibidas de la unidad de procesamiento (224); y un extractor de datos representativos informáticos distribuidos, conectado entre el selector del tren de datos (202) y la unidad de procesamiento (224) adaptado para extraer los datos que representan la aplicación informática distribuida del tren seleccionado de entre la pluralidad de trenes de datos.
16. El ordenador cliente según la reivindicación 15, el cual se caracteriza por el hecho de que el selector del tren de datos (202) incluye un terminal de entrada del control de selección y se adapta para producir el tren seleccionado de entre la pluralidad de trenes de datos como respuesta a una señal de control en el terminal de entrada del control de selección; la unidad de procesamiento (224) comprendiendo un bus del sistema (216); memoria de lectura/escritura (212), conectada al bus del sistema (216); un adaptador de entrada/salida del tren de datos (208), conectado entre el receptor del tren de datos (207) y el bus del sistema (216), adaptado para recibir los datos extraídos que representan la aplicación informática distribuida del receptor del tren de datos (207), y para almacenar los datos que representan la aplicación informática distribuida en la memoria de lectura/ escritura (212), y que tiene un terminal de salida de control conectado al terminal de entrada del control de selección del selector del tren de datos (202), adaptado para producir la señal de control de selección; y un procesador (210), conectado al bus del sistema (216), adaptado para controlar el dispositivo de entrada/salida del tren de datos a fin de generar una señal de control de selección eligiendo el tren seleccionado de entre la pluralidad de trenes de datos, y para ejecutar la aplicación informática distribuida.
17. El ordenador cliente de las reivindicaciones 10 a 14, el cual se caracteriza por adaptarse el terminal de entrada (30) para recibir los datos representativos de la aplicación informática distribuida incluyendo un módulo de código ejecutable; se adapta el receptor del tren de datos (207) para extraer el módulo de código ejecutable; y se adapta la unidad de procesamiento para ejecutar el módulo de código extraído.
18. El ordenador cliente según la reivindicación 17, el cual se caracteriza por adaptarse el terminal de entrada (30) para recibir los datos que representan la aplicación informática distribuida y el módulo de directorio que contiene información relacionada con el módulo de código ejecutable; y se adapta el receptor del tren de datos (207) primero para extraer el módulo de directorio del tren de datos; se adapta la unidad de procesamiento para procesar la información relacionada con el módulo de código ejecutable en el módulo de directorio; se adapta el receptor del tren de datos (207) para extraer el módulo de código ejecutable del tren de datos en base a la información relacionada con el módulo de código ejecutable en el módulo de directorio extraído; y se adapta la unidad de procesamiento para ejecutar el módulo de código ejecutable
extraído.
19. El ordenador cliente según la reivindicación 18, en el cual los datos representativos de la aplicación informática distribuida también incluyen un módulo de datos y el módulo de directorio también contiene información relacionada con el módulo de datos del ordenador cliente, el cual se caracteriza por adaptarse la unidad de procesamiento (210) para procesar la información relacionada con el módulo de datos en el módulo de directorio; se adapta el receptor del tren de datos (207) para extraer el módulo de datos del tren de datos en base a la información relacionada con el módulo de datos del módulo de directorio extraído; y se adapta la unidad de procesamiento para ejecutar el módulo de código extraído para procesar los datos extraídos.
20. El ordenador cliente de las reivindicaciones 10 a 14, en el cual se divide la aplicación informática distribuida en una pluralidad de módulos, representando partes de la aplicación, caracterizándose por el hecho de que la unidad de procesamiento se adapta para almacenar sólo los módulos necesarios para ejecutar la parte actual de la aplicación de entre dicha pluralidad de módulos.
ES95105803T 1994-04-28 1995-04-19 Sistema informatico distribuido cliente-servidor. Expired - Lifetime ES2232816T3 (es)

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
ES2232816T3 true ES2232816T3 (es) 2005-06-01

Family

ID=22879143

Family Applications (4)

Application Number Title Priority Date Filing Date
ES03002722T Expired - Lifetime ES2387085T3 (es) 1994-04-28 1995-04-19 Sistema informático distribuido
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.

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES03002722T Expired - Lifetime ES2387085T3 (es) 1994-04-28 1995-04-19 Sistema informático distribuido
ES03002720T Expired - Lifetime ES2370166T3 (es) 1994-04-28 1995-04-19 Sistema y método para facilitar el pedido de un artículo.

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES03002723T Expired - Lifetime ES2372692T3 (es) 1994-04-28 1995-04-19 Sistema informático distribuido cliente-servidor.

Country Status (13)

Country Link
US (2) US5819034A (es)
EP (5) EP1307024B2 (es)
JP (4) JPH08166925A (es)
KR (1) KR100363593B1 (es)
CN (4) CN1893648B (es)
AT (3) ATE518348T1 (es)
CA (1) CA2145899C (es)
DE (1) DE69533565T2 (es)
DK (1) DK0680185T3 (es)
ES (4) ES2387085T3 (es)
PT (3) PT1307024E (es)
RU (1) RU2142158C1 (es)
SG (1) SG28257A1 (es)

Families Citing this family (264)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963916A (en) * 1990-09-13 1999-10-05 Intouch Group, Inc. Network apparatus and method for preview of music products and compilation of market data
US6275268B1 (en) 1993-09-09 2001-08-14 United Video Properties, Inc. Electronic television program guide with remote product ordering
US7991347B1 (en) 1994-04-07 2011-08-02 Data Innovation Llc System and method for accessing set of digital data at a remote site
USRE44685E1 (en) 1994-04-28 2013-12-31 Opentv, Inc. Apparatus for transmitting and receiving executable applications as for a multimedia system, and method and system to order an item using a distributed computing system
US5819034A (en) 1994-04-28 1998-10-06 Thomson Consumer Electronics, Inc. Apparatus for transmitting and receiving executable applications as for a multimedia system
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US7181758B1 (en) 1994-07-25 2007-02-20 Data Innovation, L.L.C. Information distribution and processing system
US5838906A (en) * 1994-10-17 1998-11-17 The Regents Of The University Of California Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
AU4364296A (en) * 1994-10-24 1996-05-15 Intel Corporation Video indexing protocol
EP2154890B1 (en) * 1995-04-24 2012-10-24 United Video Properties, Inc. Electronic television program guide schedule system and method with remote product ordering
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
CN1179565C (zh) * 1996-05-31 2004-12-08 松下电器产业株式会社 数据通信系统和数据发送设备及数据接收设备
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
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
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
WO1998011723A1 (fr) * 1996-09-11 1998-03-19 Matsushita Electric Industrial Co., Ltd. Appareil de reception/d'execution de programme pouvant commencer l'execution d'un programme meme lorsque seulement une partie du programme est reçue, et emetteur de programme destine a cet appareil
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
AU733993B2 (en) 1997-07-21 2001-05-31 Rovi Guides, Inc. Systems and methods for displaying and recording control interfaces
US5960411A (en) * 1997-09-12 1999-09-28 Amazon.Com, Inc. Method and system for placing a purchase order via a communications network
US7222087B1 (en) 1997-09-12 2007-05-22 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
CN1311938A (zh) * 1998-06-19 2001-09-05 松下电器产业株式会社 数据发送及接收的方法与装置以及程序记录媒体
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
US8189662B2 (en) 1999-07-27 2012-05-29 Microsoft Corporation Selection compression
IL141104A0 (en) * 1998-07-27 2002-02-10 Webtv Networks Inc Remote computer access
US6898762B2 (en) 1998-08-21 2005-05-24 United Video Properties, Inc. Client-server electronic program guide
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
US6704864B1 (en) * 1999-08-19 2004-03-09 L.V. Partners, L.P. Automatic configuration of equipment software
US7792696B1 (en) 1998-09-11 2010-09-07 RPX-LV Acquisition, LLC Method and apparatus for allowing a broadcast to remotely control a computer
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
US6631404B1 (en) 1998-09-11 2003-10-07 Lv Partners, L.P. Method and system for conducting a contest using a network
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
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
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
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
US6829646B1 (en) * 1999-10-13 2004-12-07 L. V. Partners, L.P. Presentation of web page content based upon computer video resolutions
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
US6098106A (en) * 1998-09-11 2000-08-01 Digitalconvergence.Com Inc. Method for controlling a computer with an audio signal
US8028036B1 (en) 1998-09-11 2011-09-27 Rpx-Lv Acquisition Llc Launching a web site using a passive transponder
US7386600B1 (en) 1998-09-11 2008-06-10 Lv Partners, L.P. Launching a web site using a personal device
US8712835B1 (en) 1998-09-11 2014-04-29 Rpx Corporation Method and apparatus for linking a web browser link to a promotional offer
US6745234B1 (en) * 1998-09-11 2004-06-01 Digital:Convergence Corporation Method and apparatus for accessing a remote location by scanning an optical code
US6791588B1 (en) * 1998-09-11 2004-09-14 L.V. Partners, L.P. Method for conducting a contest using a network
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
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
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
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
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
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
US6758398B1 (en) 1998-09-11 2004-07-06 L.V. Partners, L.P. Optical reader with ultraviolet wavelength capability
US6629133B1 (en) 1998-09-11 2003-09-30 Lv Partners, L.P. Interactive doll
US7191247B1 (en) 1998-09-11 2007-03-13 Lv Partners, Lp Method 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
US6384744B1 (en) 1998-09-11 2002-05-07 Digital:Convergence Corp. Method and system for data transmission from an optical reader
US7392945B1 (en) 1998-09-11 2008-07-01 Lv Partners, L.P. Portable scanner for enabling automatic commerce transactions
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
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
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
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
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
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
US6636892B1 (en) 1998-09-11 2003-10-21 Lv Partners, L.P. Method for conducting a contest using 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
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
US6688522B1 (en) 1998-09-11 2004-02-10 L. V. Partners, L.P. Unique bar code
US6868433B1 (en) 1998-09-11 2005-03-15 L.V. Partners, L.P. Input device having positional and scanning capabilities
US7930213B1 (en) 1998-09-11 2011-04-19 Rpx-Lv Acquisition Llc Method and apparatus for completing, securing and conducting an E-commerce transaction
US7533064B1 (en) 1998-10-07 2009-05-12 Paypal Inc. E-mail invoked electronic commerce
US6360275B1 (en) 1998-10-29 2002-03-19 Shanghai Wonders Information Co., Ltd. System and method for transmitting and receiving data in a network
US7694319B1 (en) 1998-11-02 2010-04-06 United Video Properties, Inc. Interactive program guide with continuous data stream and client-server data supplementation
US6859799B1 (en) 1998-11-30 2005-02-22 Gemstar Development Corporation Search engine for video and graphics
WO2000064177A1 (en) * 1999-04-15 2000-10-26 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
EP1177674A4 (en) * 1999-05-10 2004-12-08 Samsung Electronics Co Ltd DIGITAL FLOW ADVERTISING SUB-GROUPS
KR100654430B1 (ko) * 1999-05-20 2006-12-07 삼성전자주식회사 데이터를 브로드캐스팅하는 디지털 방송 시스템에서 어플리케이션을 처리하는 장치 및 방법
US7069571B1 (en) 1999-06-15 2006-06-27 Wink Communications, Inc. Automated retirement of interactive applications using retirement instructions for events and program states
US7222155B1 (en) 1999-06-15 2007-05-22 Wink Communications, Inc. Synchronous updating of dynamic interactive applications
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
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
AU2001229644A1 (en) 2000-01-27 2001-08-07 Suzanne M. Berberet 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
US8531276B2 (en) 2000-03-15 2013-09-10 Logitech Europe S.A. State-based remote control system
US20010033243A1 (en) 2000-03-15 2001-10-25 Harris Glen Mclean Online remote control configuration system
US20020060750A1 (en) * 2000-03-29 2002-05-23 Istvan Anthony F. Single-button remote access to a synthetic channel page of specialized content
US20020056083A1 (en) * 2000-03-29 2002-05-09 Istvan Anthony F. System and method for picture-in-browser scaling
EP1273169B1 (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
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
US20040111370A1 (en) * 2000-06-27 2004-06-10 Digital World Access, Inc. Single source money management system
US7613790B2 (en) * 2000-07-13 2009-11-03 Biap Systems, Inc. Apparatus for and method of executing customized interactive computing services in a broadband network environment
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
US7103908B2 (en) * 2000-07-25 2006-09-05 Diego, Inc. Method and system to save context for deferred transaction via interactive television
US7313802B1 (en) 2000-07-25 2007-12-25 Digeo, Inc. Method and system to provide deals and promotions via an interactive video casting system
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
AU2002211570A1 (en) 2000-10-11 2002-04-22 United Video Properties, Inc. Systems and methods for caching data in media-on-demand systems
CN100397899C (zh) * 2000-10-11 2008-06-25 联合视频制品公司 提供数据存储到点播媒体传递系统中服务器上的系统和方法
US20020103810A1 (en) * 2000-10-19 2002-08-01 Kobi Menachemi Dynamic building of applications
US6889384B1 (en) 2000-11-08 2005-05-03 The Directv Group, Inc. Simplified interactive user interface for multi-video channel navigation
US6917627B1 (en) 2000-11-21 2005-07-12 The Directv Group, Inc. Hybrid satellite communications system
US20020091761A1 (en) * 2001-01-10 2002-07-11 Lambert James P. Technique of generating a composite media stream
US20020138500A1 (en) * 2001-01-12 2002-09-26 General Instrument Corporation Virtual streaming in a carousel file system
US20020152467A1 (en) * 2001-02-12 2002-10-17 Rosario Fiallos Automated generation of conditional access packets for IRD upgrades via radio frequency software download in satellite television systems
US20020175991A1 (en) * 2001-02-14 2002-11-28 Anystream, Inc. GPI trigger over TCP/IP for video acquisition
JP4291467B2 (ja) * 2001-03-01 2009-07-08 株式会社ソニー・コンピュータエンタテインメント エンタテインメント装置、メニュー表示方法および情報記録媒体
US20040117427A1 (en) * 2001-03-16 2004-06-17 Anystream, Inc. System and method for distributing streaming media
US20100027430A1 (en) * 2001-04-30 2010-02-04 Netwitness Corporation Apparatus and Method for Network Analysis
WO2002088968A1 (en) * 2001-04-30 2002-11-07 Ctx Corporation Apparatus and method for network analysis
DE60225010T2 (de) * 2001-06-13 2009-03-05 OpenTV, Inc., San Francisco Verfahren und vorrichtung zur verbesserten erfassung und überwachung von ereignisinformationstabellenteilen
KR100425681B1 (ko) * 2001-07-23 2004-04-03 엘지전자 주식회사 디에스엠-씨씨 기반 장치의 에이피아이 구현 장치 및 방법
US7154916B2 (en) * 2001-07-26 2006-12-26 The Directv Group, Inc. Method for real-time insertion of auxiliary data packets into DSS bitstream in the presence of one or more service channels
US20030056218A1 (en) * 2001-08-06 2003-03-20 Digeo, Inc. System and method to provide 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
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
US20040031052A1 (en) * 2002-08-12 2004-02-12 Liberate Technologies Information platform
AU2003268273B2 (en) * 2002-08-30 2007-07-26 Opentv, Inc Carousel proxy
CN100450256C (zh) * 2002-10-28 2009-01-07 中兴通讯股份有限公司 移动通信网络规划中小区覆盖文件的分布式处理方法
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
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
US9108107B2 (en) * 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
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
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
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
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
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US20060051059A1 (en) 2004-09-08 2006-03-09 Krakirian Haig H Video recorder having user extended and automatically extended time slots
EA005455B1 (ru) * 2003-05-05 2005-02-24 Виктор Александрович Мамонтов Способ программирования устройств дистанционного управления
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US20050071240A1 (en) * 2003-09-26 2005-03-31 Ewald Stephen A. System and method for purchasing linked with broadcast media
JP2005216140A (ja) * 2004-01-30 2005-08-11 Fujitsu Ten Ltd 発注確認装置および発注確認方法
FR2871639A1 (fr) * 2004-06-11 2005-12-16 Thomson Licensing Sa Procede de gestion de programmes auxiliaires et recepteur et systeme correspondants
US8086575B2 (en) 2004-09-23 2011-12-27 Rovi Solutions Corporation Methods and apparatus for integrating disparate media formats in a networked media system
JP2006094415A (ja) * 2004-09-27 2006-04-06 Toshiba Corp 映像装置及び映像ストリーミング方法
US7680758B2 (en) 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
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
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
US8095940B2 (en) 2005-09-19 2012-01-10 Citrix Systems, Inc. Method and system for locating and accessing resources
US8806533B1 (en) 2004-10-08 2014-08-12 United Video Properties, Inc. System and method for using television information codes
US20060112177A1 (en) * 2004-11-24 2006-05-25 Microsoft Corporation Method and system for controlling access to presence information on a peer-to-peer basis
JP4487761B2 (ja) * 2004-12-21 2010-06-23 カシオ計算機株式会社 データ出力装置、および、プログラム
US7664872B2 (en) * 2005-01-05 2010-02-16 Divx, Inc. Media transfer protocol
US20060168291A1 (en) * 2005-01-05 2006-07-27 Van Zoest Alexander Interactive multichannel data distribution system
US20060200745A1 (en) * 2005-02-15 2006-09-07 Christopher Furmanski Method and apparatus for producing re-customizable multi-media
JP4478598B2 (ja) * 2005-03-18 2010-06-09 キヤノン株式会社 画像形成装置
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
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
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
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
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
US8607287B2 (en) 2005-12-29 2013-12-10 United Video Properties, Inc. Interactive media guidance system having multiple devices
US9681105B2 (en) 2005-12-29 2017-06-13 Rovi Guides, Inc. Interactive media guidance system having multiple devices
US8280843B2 (en) * 2006-03-03 2012-10-02 Microsoft Corporation RSS data-processing object
US7979803B2 (en) * 2006-03-06 2011-07-12 Microsoft Corporation RSS hostable control
US8280982B2 (en) 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
US9386327B2 (en) 2006-05-24 2016-07-05 Time Warner Cable Enterprises Llc Secondary content insertion apparatus and methods
US8024762B2 (en) 2006-06-13 2011-09-20 Time Warner Cable Inc. Methods and apparatus for providing virtual content over a network
KR100823282B1 (ko) * 2006-09-29 2008-04-21 삼성전자주식회사 데이터 방송 애플리케이션을 수신, 저장 및 실행하기 위한방법 및 장치
US7653661B2 (en) * 2006-12-29 2010-01-26 Sap Ag Monitoring connection between computer system layers
CN101231731B (zh) * 2007-01-25 2015-10-21 运软网络科技(上海)有限公司 一种应用虚拟化在公网上的通用商务方法及其迷你服务器
US8181206B2 (en) 2007-02-28 2012-05-15 Time Warner Cable Inc. Personal content server apparatus and methods
US9104962B2 (en) * 2007-03-06 2015-08-11 Trion Worlds, Inc. Distributed network architecture for introducing dynamic content into a synthetic environment
US8898325B2 (en) * 2007-03-06 2014-11-25 Trion Worlds, Inc. Apparatus, method, and computer readable media to perform transactions in association with participants interacting in a synthetic environment
US7801888B2 (en) 2007-03-09 2010-09-21 Microsoft Corporation Media content search results ranked by popularity
US20090019492A1 (en) 2007-07-11 2009-01-15 United Video Properties, Inc. Systems and methods for mirroring and transcoding media content
WO2009029956A2 (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
AU2008323758B2 (en) * 2007-11-08 2012-11-29 Sentient Technologies (Barbados) Limited Distributed network for performing complex algorithms
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
TW200943964A (en) * 2007-12-05 2009-10-16 Onlive Inc System and method for compressing video based on detected intraframe motion
US9503691B2 (en) 2008-02-19 2016-11-22 Time Warner Cable Enterprises Llc Methods and apparatus for enhanced advertising and promotional delivery in a network
US8327402B1 (en) 2008-07-15 2012-12-04 United Video Properties, Inc. Methods and devices for presenting an interactive media guidance application
US8626863B2 (en) * 2008-10-28 2014-01-07 Trion Worlds, Inc. Persistent synthetic environment message notification
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US8578272B2 (en) 2008-12-31 2013-11-05 Apple Inc. Real-time or near real-time streaming
US20100169458A1 (en) 2008-12-31 2010-07-01 David Biderman Real-Time or Near Real-Time Streaming
US8156089B2 (en) 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists
US8260877B2 (en) 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
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
AU2010241594B2 (en) * 2009-04-28 2015-05-21 Sentient Technologies (Barbados) Limited Distributed evolutionary algorithm for asset management and trading
US8090797B2 (en) 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US8214515B2 (en) 2009-06-01 2012-07-03 Trion Worlds, Inc. Web client data conversion for synthetic environment interaction
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US9014546B2 (en) 2009-09-23 2015-04-21 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
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
CN102238179B (zh) 2010-04-07 2014-12-10 苹果公司 实时或准实时流传输
CN102906718B (zh) * 2010-05-28 2016-05-25 惠普发展公司,有限责任合伙企业 禁用显示刷新过程
US8508401B1 (en) 2010-08-31 2013-08-13 Logitech Europe S.A. Delay fixing for command codes in a remote control system
US8843586B2 (en) 2011-06-03 2014-09-23 Apple Inc. Playlists for real-time or near real-time streaming
US8856283B2 (en) 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
JP2014522033A (ja) * 2011-09-01 2014-08-28 華為技術有限公司 リソースマイグレーションのための方法、装置及びシステム
US8805418B2 (en) 2011-12-23 2014-08-12 United Video Properties, Inc. Methods and systems for performing actions based on location-based rules
RU2498396C1 (ru) * 2012-02-22 2013-11-10 Вадим Александрович Питов Способ осуществления коммуникаций и виртуальных путешествий
US9609374B2 (en) 2012-06-27 2017-03-28 Rovi Guides, Inc. System and methods for automatically obtaining cost-efficient access to a media content collection
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
US9674563B2 (en) 2013-11-04 2017-06-06 Rovi Guides, Inc. Systems and methods for recommending content
US10430429B2 (en) 2015-09-01 2019-10-01 Cognizant Technology Solutions U.S. Corporation Data mining management server
JP6649085B2 (ja) * 2015-12-28 2020-02-19 日本テレビ放送網株式会社 分散コンピューティングシステム、放送局、サーバ及び分散コンピューティング方法
CN106897872A (zh) * 2016-12-08 2017-06-27 阿里巴巴集团控股有限公司 资源调度方法及装置、支付方法及装置

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3602891A (en) * 1969-03-10 1971-08-31 Univ Washington Continuous transmission computer and multiple receiver system
US3803491A (en) * 1971-05-26 1974-04-09 Tocom Communications system
US3891792A (en) * 1974-06-25 1975-06-24 Asahi Broadcasting Television character crawl display method and apparatus
US4528589A (en) * 1977-02-14 1985-07-09 Telease, Inc. Method and system for subscription television billing and access
US4264925A (en) * 1979-08-13 1981-04-28 Michael J. Freeman Interactive cable television system
US4323922A (en) * 1979-12-17 1982-04-06 Oak Industries Inc. Television coding system with channel level identification
US4965825A (en) * 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
CA1177558A (en) 1982-04-15 1984-11-06 Groupe Videotron Ltee. (Le) Cable network data transmission system
NL8303991A (nl) * 1983-11-18 1985-06-17 Nl Standard Electric Mij B V Kabeltelevisienetwerk.
JPS6149574A (ja) * 1984-08-16 1986-03-11 Sony Corp プログラムの伝送方法
JP2585535B2 (ja) * 1986-06-02 1997-02-26 株式会社日立製作所 複合計算機システムにおけるプロセス結合方法
US4780758A (en) 1987-04-30 1988-10-25 Gte Government Systems Corporation Telecommunication system with burst and continuous audio signals
IT1211278B (it) * 1987-09-02 1989-10-12 Olivetti & Co Spa Sistema di trasmissione e o ricezione di programmi per calcolatori e o dati attraverso il teletext
JPH01221944A (ja) * 1988-03-01 1989-09-05 Nippon Hoso Kyokai <Nhk> データ信号送出装置
US5117354A (en) * 1988-05-24 1992-05-26 Carnes Company, Inc. Automated system for pricing and ordering custom manufactured parts
US5251301A (en) * 1988-05-27 1993-10-05 Pc Connection, Inc. Computer remote control through a video signal
US5191573A (en) * 1988-06-13 1993-03-02 Hair Arthur R Method for transmitting a desired digital video or audio signal
JPH0627967B2 (ja) * 1988-06-17 1994-04-13 株式会社エスシーシー Cai学習方法および装置
US4994908A (en) 1988-12-23 1991-02-19 Scientific-Atlanta, Inc. Interactive room status/time information system
US5003591A (en) 1989-05-25 1991-03-26 General Instrument Corporation Functionally modifiable cable television converter system
AU628753B2 (en) * 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
JPH04127688A (ja) * 1990-09-18 1992-04-28 Fujitsu General Ltd 文字放送受信機
WO1992006438A1 (en) * 1990-10-01 1992-04-16 Bush Thomas A 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.
MX9200483A (es) * 1991-02-06 1992-08-01 Catalina Marketing Int Sistema y metodo para generar certificaciones de descuetnos acumulativos.
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
US5559548A (en) * 1994-05-20 1996-09-24 Davis; Bruce System and method for generating an information display schedule for an electronic program guide
US5635978A (en) * 1994-05-20 1997-06-03 News America Publications, Inc. Electronic television program guide channel system and method

Also Published As

Publication number Publication date
RU2142158C1 (ru) 1999-11-27
EP0680185A3 (en) 2002-05-02
EP1307024B1 (en) 2012-06-13
JPH08166925A (ja) 1996-06-25
JP2009169971A (ja) 2009-07-30
CN1117620A (zh) 1996-02-28
EP1307023A3 (en) 2006-06-28
CN1516032A (zh) 2004-07-28
CA2145899C (en) 2004-10-26
CN101212659A (zh) 2008-07-02
EP1307022A3 (en) 2006-06-28
CN1104691C (zh) 2003-04-02
DE69533565T2 (de) 2006-02-23
DE69533565D1 (de) 2004-11-04
EP0680185B1 (en) 2004-09-29
EP1307023A2 (en) 2003-05-02
EP1307022A2 (en) 2003-05-02
KR100363593B1 (ko) 2003-02-11
EP1307024A3 (en) 2006-06-28
CN1893648B (zh) 2014-03-26
PT1307022E (pt) 2011-11-08
US5819034A (en) 1998-10-06
EP1307024A2 (en) 2003-05-02
ATE518348T1 (de) 2011-08-15
ES2370166T3 (es) 2011-12-13
CN1311378C (zh) 2007-04-18
CN1893648A (zh) 2007-01-10
ATE278285T1 (de) 2004-10-15
EP1307025B1 (en) 2011-08-31
RU95106682A (ru) 1997-01-20
ES2372692T3 (es) 2012-01-25
EP1307022B1 (en) 2011-07-27
ES2387085T3 (es) 2012-09-13
ATE523014T1 (de) 2011-09-15
EP1307024B2 (en) 2016-01-06
DK0680185T3 (da) 2004-10-25
EP0680185A2 (en) 1995-11-02
JP2011028759A (ja) 2011-02-10
JP2012123833A (ja) 2012-06-28
US5915090A (en) 1999-06-22
PT1307025E (pt) 2011-12-16
SG28257A1 (en) 1996-04-01
CA2145899A1 (en) 1995-10-29
EP1307025A2 (en) 2003-05-02
KR950033885A (ko) 1995-12-26
EP1307025A3 (en) 2006-06-28
PT1307024E (pt) 2012-08-13

Similar Documents

Publication Publication Date Title
ES2232816T3 (es) Sistema informatico distribuido cliente-servidor.
US20020038257A1 (en) Apparatus for transmitting and receiving executable applications as for a multimedia system
JP4187394B2 (ja) ストリーミング・メディアでのユーザによって制御される選択的オーバーレイのための方法および装置
JP3662384B2 (ja) 情報提供方法及びこれに用いる情報提供、受信装置
ES2207635T3 (es) Sistema de informacion domestico interactivo.
JP3636797B2 (ja) デマンドアクセス情報提供システム、およびこれに用いる情報配信装置、中継配信装置、並びに利用者端末装置
JP2002541594A (ja) 電子書籍の代替的配送システム
EP1110394A4 (en) DUAL SENSE CONNECTIVITY SIMULATION FOR MULTIPLE GAME DATA TRAIN
JP2002501346A (ja) 一方向データ・ストリームに対し双方向接続をシミュレートする携帯通信装置
EP0145063A2 (en) Cable television network
US20040177161A1 (en) System and method for distributing digital data services over existing network infrastructure
JP2002541595A (ja) 電子書籍の代替的配送方法
US7454774B2 (en) Self-service multiple-director remote production and programme broadcasting server device and television network
EA004380B1 (ru) Универсальная система и способы цифрового вещания
Swann Technology investment and multimarket entry
Monzo-Sanchez et al. MMUP: Multimedia and Multiservice Universal Platform
KR20010078671A (ko) 인터넷을 통한 경마 중계 방법