ES2387085T3 - Sistema informático distribuido - Google Patents
Sistema informático distribuido Download PDFInfo
- Publication number
- ES2387085T3 ES2387085T3 ES03002722T ES03002722T ES2387085T3 ES 2387085 T3 ES2387085 T3 ES 2387085T3 ES 03002722 T ES03002722 T ES 03002722T ES 03002722 T ES03002722 T ES 03002722T ES 2387085 T3 ES2387085 T3 ES 2387085T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- client
- application
- server
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26266—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for determining content or additional data repetition rate, e.g. of a file in a DVB carousel according to its importance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4351—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/47815—Electronic shopping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (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
Sistema que incluye:un transceptor (103), acoplado a una instalación de procesamiento central (6 5 0), adaptado para recibir datos decliente desde los clientes (20) acoplados a la instalación de procesamiento central (60); yun servidor (10), acoplado al transceptor (103), adaptado para generar un primer flujo de datos y (10) para insertardatos de aplicación, que representan una aplicación informática distribuida, en el primer flujo de datos y para entregarel primer flujo de datos a los clientes (20) vía un mecanismo de transporte (30),donde el servidor (10) se adapta para recibir datos de cliente del transceptor (103), y, si se desea una respuestacomún para todos los clientes, para modificar los datos de aplicación insertados en el primer flujo de datos, en base alos datos de cliente y para entregar el primer flujo a todos los clientes.
Description
Sistema informático distribuido
[0001] El presente documento se trata de una solicitud divisional de EP 95 105 803.1 publicada como EP 0 680 185.
[0002] La presente invención se refiere a un sistema informático distribuido cliente-servidor. Dicho sistema informático puede usarse en aplicaciones multimedia de difusión.
[0003] Los primeros sistemas informáticos fueron sistemas autónomos, que consistían generalmente en ordenadores centrales. Más tarde, varios sistemas informáticos de ordenadores centrales fueron conectados, o agrupados, para tratar tareas informáticas más grandes, tales como un gran número de usuarios de tiempo compartido. Con la llegada de los ordenadores personales, un gran número de 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 conectaron en redes de ordenadores, proporcionando recursos compartidos y capacidades de comunicación a los usuarios de los ordenadores individuales personales y entre esos usuarios y los ordenadores centrales preexistentes.
[0004] Un tipo de red así incluye un ordenador central, al que se denomina servidor, el cual, generalmente, incluye una gran cantidad de memoria masiva. Los programas usados por los usuarios de la red se almacenan centralmente en la memoria masiva en el servidor. Cuando un usuario desea ejecutar un programa, el ordenador del usuario solicita que se le envíe un copia de ese programa desde el servidor. Como respuesta a esta solicitud, el servidor transfiere un copia del programa desde su memoria masiva a la memoria principal del ordenador personal de ese usuario, y el programa se ejecuta en ese ordenador personal. Los datos también se pueden almacenar centralmente en el servidor y ser compartidos por todos los usuarios de la red. Los datos se almacenan en la memoria masiva del servidor, a la que todos los usuarios de la red pueden acceder como respuesta a una petición. El servidor también sirve como concentrador para las comunicaciones de mensajes (correo electrónico) entre los usuarios de la red. El servidor de un sistema así maneja el almacenamiento y distribución de los programas, datos y mensajes, pero no aporta ninguna potencia de procesamiento a las tareas informáticas en sí de cualquiera de los usuarios. Es decir, un usuario no puede esperar que el ordenador servidor realice cualquiera de las tareas de procesamiento del programa que se ejecuta en el ordenador personal. Aunque esas redes desempeñan una función valiosa, no se trata de sistemas informáticos distribuidos, en los que los ordenadores interconectados colaboran para ejecutar una sola tarea informática.
[0005] A fin de mejorar tales redes, la red se puede configurar 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 una 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 una solicitud del ordenador remoto. Cuando el programa se recibe, éste se ejecuta. De esta manera se pueden conseguir varios ordenadores para que colaboren en la ejecución de una función informática.
0006] Recientemente ha habido programas que distribuyen las tareas informáticas en sí necesarias para ejecutar una sola función informática. Por ejemplo, en un programa de base de datos así, en el que la base de datos se almacena en la memoria masiva del servidor, si un usuario desea realizar una consulta de la base de datos, la parte del programa de gestión de la base de datos del ordenador personal del usuario generará una solicitud de pregunta, 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, por ejemplo, analizando sintácticamente la solicitud de consulta, localizando dónde residen los datos específicos 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, por ejemplo, formateándolos y mostrándolos en la pantalla o imprimiéndolos en una impresora. Mientras el servidor procesa la solicitud de consulta, el ordenador personal puede ejecutar otro procesamiento, y mientras el ordenador personal está generando la solicitud de consulta y procesando los datos resultantes recibidos del servidor, el servidor puede procesar peticiones de consulta procedentes de otros ordenadores personales.
[0007] Otros tipos de programas son también ú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 eficiencia 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, por ejemplo, la gestión de la base de datos.
[0008] Recientemente se han propuesto los programas multimedia de difusión, más específicamente, los programas de televisión (TV) interactiva. Los programas de TV interactiva permitirán al espectador de un programa de televisión interactuar con ese programa. En un sistema de TV interactiva, la ubicación de la emisión central (red de TV, estudio local de TV, sistema por cable, etc.) tendrá un ordenador central, correspondiente al ordenador servidor, el cual producirá señales relacionadas con el programa de TV interactiva a transmitir simultáneamente con las señales de TV (vídeo y audio). Estas señales llevan 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, que recibirá las órdenes, código ejecutable y/o datos del ordenador central, ejecutará el código ejecutable, procesará los datos recibidos, aceptará entrada del usuario y proporcionará datos al usuario mediante la pantalla de TV. La entrada de datos del usuario puede devolverse al ordenador en la ubicación de emisión, permitiendo que el usuario interactúe con el programa de TV interactiva.
[0009] La patente estadounidense 4,965,825,SIGNAL PROCESSING. APPARATUS AND METHODS (Aparatos y métodos de procesamiento de señales), expedida el 23 de octubre de 1990 por Harvey y otros, describe un sistema de TV interactiva en el cual una ubicación de emisión incluye señales que transportan órdenes, código ejecutable y datos en, por ejemplo, el intervalo de borrado vertical de la señal de televisión para que las reciban los sistemas informáticos en las ubicaciones del espectador. Un ordenador que se halle en la ubicación del espectador extrae las órdenes, código ejecutable y datos y ejecuta el código para procesar los datos e interactuar con el usuario. Una sistema así puede compararse con la función de ejecución remota de sistemas informáticos distribuidos, descritos anteriormente, en la que el ordenador del espectador se registra en el programa de TV interactiva, y es controlado por la ubicación central.
[0010] El documento US 5 299 197 divulga un método para la transmisión interactiva de información de un ordenador a otros a través de canales de comunicaciones. Un servidor informático manda paquetes asincrónicos de datos en base a solicitudes de terminales remotos. Los paquetes se interpretan de manera que permiten la transmisión eficiente de textos, imágenes, menús, ficheros y programas.
[0011] El documento WO 92/06438 divulga un sistema de procesamiento transaccional que se usa conjuntamente con una fuente de transmisión. El sistema permite una autorización en tiempo real de pagos para la pluralidad de productos y servicios hechos disponibles por la fuente de transmisión. Un menú de vídeo se envía a un receptor que representa una lista de los productos y servicios disponibles. El receptor contiene un lector de tarjetas de crédito o débito y transmite la información financiera de la cuenta, así como la selección del menú vía un módem a un procesador de pago. El proceso de pago verifica la selección del programa y la información de la cuenta y transmite una señal de autorización al vendedor o proveedor del servicio. El procesador de pago verificaría la información financiera de la cuenta y la autorización de pago siguiente a un institución financiera. El vendedor, a su vez, manda el producto seleccionado al consumidor al recibir el pago de la institución financiera.
[0012] El documento WO 93/10605 divulga un sistema de televisión interactiva basado en la transacción que incluye un sistema de inserción para la inserción en una forma de realización preferida de información interactiva codificada en el intervalo de borrado vertical de una señal de televisión estándar. La señal es recibida y decodificada por un sistema de decodificado que incluye un decodificador set-top que manda una señal infrarroja a un dispositivo portátil. El espectador que usa el dispositivo portátil puede interactuar con un juego, deportes, o programa educativo o evento u otra presentación de televisión. El sistema incluye un lenguaje de instrucciones de nivel alto patentado y un conjunto patentado de tablas PIU que se mantienen en la memoria no volátil del dispositivo de mano. Las tablas PIU almacenan la transacción de los varios eventos presentados en televisión. Las tablas PIU permiten que los distintos eventos sean divididos en varias transacciones. Así, para un evento deportivo con anuncios publicitarios intercalados, varias tablas PIU serían usadas para almacenar una colección de transacciones usada para el evento principal y tablas PIU adicionales son usadas para almacenar transacciones para cada uno de los distintos anuncios publicitarios intercalados.
[0013] En todos los sistemas anteriores, un ordenador central controla o responde a las solicitudes de ordenadores periféricos conectados a éste a través de una red, es decir, el ordenador periférico (ordenador personal) solicita la ejecución remota de un programa, solicita un fichero o mensaje de otro ordenador, o manda una solicitud de consulta a otro ordenador. Sólo en respuesta a una solicitud proporciona el otro ordenador una respuesta, por ejemplo, ejecución remota, el solicitado fichero, mensaje o datos recuperados. Además, en general, es necesario que el ordenador periférico tenga todos los recursos necesarios para ejecutar completamente, o casi completamente, el programa deseado, con el servidor actuando sólo como otro mecanismo de almacenamiento, o como mucho compartiendo una parte de las tareas informáticas.
[0014] Los inventores proponen en su solicitud correspondiente 95 105 803.1 publicada como EP 0 680 185 un sistema informático distribuido en el que un servidor produce continuamente un flujo de datos. Este flujo de datos actúa como dispositivo de almacenamiento masivo para los ordenadores cliente que lo reciben. Este flujo de datos incluye repetitivamente datos que representan una aplicación informática distribuida en el que el ordenador de cliente puede participar, incluyendo código y datos ejecutables. Un mecanismo de transporte, incluyendo una vía de comunicación unidireccional de alta velocidad, lleva el flujo de datos del servidor al cliente. El cliente recibe el flujo de datos, extrae los datos informáticos representativos distribuidos y ejecuta la aplicación informática distribuida.
[0015] Dicho sistema informático distribuido comprende una fuente de flujo de datos continuo incluyendo repetitivamente la representación de una aplicación informática distribuida y un ordenador cliente, recibiendo el flujo de datos, para la extracción de los datos representativos del flujo de datos de la aplicación informática distribuida, y ejecutando la aplicación informática distribuida extraída.
[0016] En dicho sistema informático distribuido no es necesario que el sistema informático de cliente incluya todos los recursos, en particular, memoria principal y dispositivo de almacenamiento masivo, necesarios para ejecutar el programa entero. En cambio, ningún dispositivo de almacenamiento masivo es requerido debido a que el flujo de datos proporciona la función del dispositivo de almacenamiento masivo, y el requisito de memoria principal es modesto porque sólo es necesario almacenar en la memoria la parte del programa que se ejecuta en ese momento. Cuando la parte ejecutada en ese momento se ha completado, su espacio de memoria es liberado, y la siguiente parte ejecutada es extraída del flujo de datos, almacenada en el espacio de memoria liberada, y dicha parte inicia la ejecución.
[0017] Además, tal sistema informático distribuido permite al usuario del ordenador cliente tener la opción de participar en la tarea informática distribuida. Si se desea para participar, el ordenador cliente extrae los datos que representan la aplicación informática distribuida y ejecuta la aplicación informática distribuida, como se ha descrito anteriormente. Si no se desea participar, el flujo de datos es simplemente ignorado, y el procesamiento deseado por el usuario, o ninguno en absoluto, es realizado. Tal sistema informático distribuido también permite a cada ordenador cliente participante unir la función informática distribuida en cualquier momento y proceder a su propio ritmo a realizar su propia función informática.
[0018] Un sistema informático distribuido así es particularmente responsable de aplicaciones de TV interactivas porque permite a un espectador sintonizar un canal de TV interactiva en cualquier momento, incorporarse a la interactividad siempre que lo desee (o en absoluto), y permite a todos los espectadores proceder con sus diferentes ritmos. Esto es especialmente ventajoso en un entorno cuando un anuncio interactivo, con su propio código y datos ejecutables, se puede presentar dentro de un programa interactivo, o cuando un espectador desea cambiar canal.
[0019] Según un primer aspecto de la presente invención se proporciona un sistema que incluye: un transceptor, acoplado a una instalación de procesamiento central, adaptado para recibir datos de cliente de clientes conectados a la instalación de procesamiento central; y un servidor, conectado al transceptor, adaptado para generar un primer flujo de datos y para insertar datos de aplicación, representando una aplicación informática distribuida, en el primer flujo de datos y para entregar el primer flujo de datos a los clientes vía un mecanismo de transporte, donde el servidor se adapta para recibir datos de cliente del transceptor, y, si se desea una respuesta común para todos los clientes, para modificar los datos de aplicación, insertados en el primer flujo de datos, en base a los datos de cliente y para entregar el primer flujo a todos los clientes.
[0020] Preferiblemente el servidor inserta repetitivamente los datos de aplicación en el primer flujo de datos y los datos de cliente incluyen datos de usuario introducidos en un programa de ejecución en el cliente y los datos de usuario se introducen al programa de ejecución en el cliente a través de una unidad de control remoto.
[0021] Según una forma de realización, los datos de aplicación incluyen módulos de datos que contienen datos que han de ser procesados por la aplicación informática distribuida e incluyen la generación de nuevos módulos de datos que han de ser incluidos en los datos de aplicación o modificando los módulos de datos existentes que deben ser incluidos en los datos de aplicación.
[0022] Los datos de aplicación pueden incluir módulos de código y la modificación de la aplicación y la modificación de los datos de aplicación incluye la generación de nuevos módulos de código que han de ser incluidos en los datos de aplicación o modificar módulos de código existentes que han de ser incluidos en los datos de aplicación.
[0023] Preferiblemente la modificación de los datos de aplicación ocurre automática y dinámicamente en respuesta a los datos de cliente recibidos en el servidor desde el transceptor.
[0024] La instalación de procesamiento central puede ser un sistema telefónico donde los datos de cliente se transfieren al servidor vía módems.
[0025] Preferiblemente la instalación de procesamiento central proporciona un enlace bidireccional y el mecanismo de transporte incluye un enlace de datos numéricos que incluye al menos uno de un grupo que incluye un enlace de fibra óptica y un enlace digital por satélite.
[0026] Según una forma de realización, el mecanismo de transporte entrega el primer flujo de datos a una pluralidad de clientes y proporciona un enlace unidireccional.
[0027] Según un segundo aspecto de la presente invención se proporciona un método que incluye:
recibir datos de cliente en un servidor (10) desde los clientes (20), acoplado a una instalación de procesamiento central; en el servidor, generar un primer flujo de datos e insertar los datos de aplicación, representando una aplicación informática distribuida, en un primer flujo de datos y entregar el primer flujo de datos a los clientes vía un mecanismo de transporte,
donde, si se desea una respuesta común para todos los clientes, modificar en el servidor los datos de aplicación insertados en el primer flujo de datos, en base a los datos de cliente y entregar el primer flujo a todos los clientes.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0028]
La FIGURA 1 es un diagrama en bloque de un sistema informático distribuido;
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 ilustra los flujos de datos producidos por un ordenador servidor en un sistema informático distribuido como se muestra en la FIGURA 1;
La FIGURA 4 es un diagrama en bloque de un ordenador cliente como se muestra en la FIGURA 1.
[0029] La FIGURA 1 es un diagrama en bloque de un sistema informático distribuido según la presente invención. En la FIGURA 1, un ordenador servidor 10, que puede incluir un gran sistema informático, se conecta a una pluralidad de ordenadores clientes 20 a través de un mecanismo de transporte 30. El ordenador servidor 10 puede conectarse a más de los tres ordenadores cliente 20 que se muestran en la Figura 1, y los ordenadores cliente 20 pueden dispersarse geográficamente de forma amplia. El ordenador cliente 22 se conecta bidireccionalmente a un ordenador local 40, a un sistema de procesamiento de datos auxiliares 50 y a una instalación de procesamiento central 60. La instalación de procesamiento central 60 se conecta bidireccionalmente al ordenador servidor 10. La instalación de procesamiento central 60 puede también conectarse a otras instalaciones diferentes del ordenador servidor 10 ilustrado 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 proporcionando 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).
[0030] 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 cualquier ordenador cliente 20 es un modo de interactuar con un usuario, y una conexión al mecanismo de transporte 30. Los enlaces a los ordenadores locales, sistemas de procesamiento de datos auxiliares, y la instalación de procesamiento central 60 son todos ellos opcionales, y no necesitan estar presentes en cada uno de los ordenadores cliente 20.
[0031] El mecanismo de transporte 30 incluye un enlace unidireccional de datos digitales de alta velocidad, tales como un enlace de fibra óptica directo o un enlace digital por satélite procedente de un servidor 10 a los ordenadores cliente
20. Los datos transportarse por el sistema de transporte 30 mediante un sistema de datos por paquetes. En un sistema de este tipo, un flujo de paquetes de datos, cada uno incluyendo información de identificación que indique, entre otras cosas, el tipo de datos contenido en el paquete y los datos reales, se transmite a través del enlace de datos. Un sistema de datos por paquetes de este tipo permite varios flujos independientes de datos, cada uno identificado por la información de identificación en sus paquetes, para ser multiplexados en tiempo dentro de un solo flujo de paquetes.
[0032] Además, es posible multiplexar una pluralidad de flujos de datos por paquetes así por los respectivos canales en el mismo medio físico (enlace radiofónico por satélite o fibra óptica) que forman el mecanismo de transporte 30. Por ejemplo, diferentes flujos de datos se pueden modular en señales portadoras con frecuencias diferentes. Estas portadoras moduladas pueden transmitirse, por ejemplo, por medio de los respectivos transpondedores en un enlace por satélite. Además, si un transpondedor concreto tiene capacidad suficiente, es posible multiplexar en el tiempo varios flujos de datos en una sola portadora modulada.
[0033] Cada ordenador cliente 20 incluye un receptor de datos para seleccionar uno de los flujos de paquetes que se transportan por el mecanismo de transporte 30, recibir el flujo de paquetes seleccionado y extraer los datos contenidos en ellos. Siguiendo 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 los respectivos flujos de datos que esa portadora modulada transporta.
[0034] Cuando funciona, el servidor 10 produce un flujo de datos continuo en forma de flujo de paquetes para los ordenadores cliente 20. El servidor 10 inserta repetitivamente un paquete, o paquetes sucesivos, que contienen datos que representan la aplicación informática distribuida, incluyendo al menos un módulo de código ejecutable, en el flujo de datos. Este módulo de código contiene códigos ejecutables para los ordenadores cliente 20. Por ejemplo, el receptor de datos del ordenador cliente 22, controla continuamente los paquetes que hay en el flujo de datos del mecanismo de transporte 30. Cuando un paquete que incluye información de identificación indicando que contiene el módulo de código (o una parte del módulo de código) requerido por el ordenador cliente 22 se halla presente en el flujo de datos, el ordenador cliente 22 detecta su presencia, extrae el módulo de código (o parte del módulo de código) de ese paquete y lo almacena en la memoria principal. Cuando el módulo de código se recibe completamente, el ordenador cliente 22 empieza a ejecutarlo.
[0035] Es posible que haya más de un módulo de código colocado en el flujo de datos continuo, 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 partes pequeñas 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 ha completado su ejecución, entonces se extrae un módulo de código que incluye el código ejecutable para la próxima parte de la aplicación informática distribuida del flujo de datos, se almacena en la memoria y se ejecuta. Cada parte es extraída del flujo de datos según se necesite. 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 manera, se puede minimizar el tamaño de memoria requerido para el ordenador cliente 22.
[0036] El servidor 10 puede también incluir repetitivamente un paquete o paquetes con uno o más módulos de datos en el flujo de datos. Los módulos de datos contienen datos que el código ejecutable debe procesar en el módulo de código. Antes o durante la ejecución del código de un módulo de código extraído previamente, el ordenador cliente 22 puede requerir acceso a los datos en el módulo o módulos de datos. Si es así, el ordenador cliente 22 controla el flujo de datos para el módulo de datos o módulos requeridos. Cuando los paquetes que contienen el módulo o módulos de datos (o partes del módulo o módulos de datos) están presentes en el flujo de datos, se extraen y los contenidos se almacenan en la memoria principal del ordenador cliente 22. Cuando se han recibido completamente todos los módulos de datos requeridos, el ordenador cliente 22 inicia o continúa la ejecución del código del módulo del 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 la memoria, si existe memoria suficiente en el ordenador cliente 22.
[0037] El servidor 10 puede también incluir repetitivamente en el flujo de datos un paquete o paquetes con un directorio de los módulos de código o de datos que se incluyen actualmente en el flujo de datos. El directorio incluye una lista de todos los módulos de código o de datos que están presentes en el flujo de datos, junto con información sobre esos módulos. Si hay un directorio presente en el flujo de datos, entonces, antes de extraer cualquier módulo de código o de datos del flujo de datos, el ordenador cliente 22 controla el flujo de datos para el directorio. Cuando los paquetes que contiene el directorio (o partes del directorio) están presentes en el flujo de datos, se extraen, y sus datos se almacenan en la memoria principal del ordenador cliente 22. Cuando se ha recibido el directorio completamente, el ordenador cliente 22 evalúa las entradas contenidas en el directorio, luego solicita el primer módulo de código y/o datos del flujo de datos y se continúa con la ejecución como se ha descrito anteriormente.
[0038] Cualquiera de los ordenadores cliente 20 puede incorporarse a la función informática distribuida representada por el flujo de paquete en cualquier momento, y cada uno de los ordenadores cliente 20 puede funcionar a su propia velocidad, generalmente como respuesta al usuario 80. Para permitir esto, el servidor 10 coloca repetitivamente el directorio y todos los módulos de código y de datos que los ordenadores cliente 20 requieran para realizar su parte de la función informática distribuida en el flujo de datos del mecanismo de transporte 30. Siempre que uno de los ordenadores cliente 20 se incorpora la función informática distribuida, éste controla el flujo de paquete seleccionado recientemente en el mecanismo de transporte 30 para el módulo de directorio, lo extrae y lo procesa como se describe arriba. Durante su ejecución, cuando uno de los ordenadores cliente 20 requiere un nuevo módulo de código y/o de datos, éste controla el flujo de datos del mecanismo de transporte 30 para el módulo de código y/o de datos requerido recientemente, lo extrae y lo ejecuta, si es un módulo de código, o lo procesa si es un módulo de datos, como se ha descrito anteriormente.
[0039] El flujo de datos del paquete puede también incluir paquetes de datos auxiliares. El ordenador cliente 22 no requiere esos 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 de flujo de datos del ordenador cliente 22 reconoce los paquetes de datos auxiliares en el flujo de datos del mecanismo de transporte 30 y los pasa directamente al procesador de datos auxiliares 50. El procesador de datos auxiliares 50 procesa sus paquetes independientemente del ordenador cliente 22. Si los datos auxiliares se deben presentar al usuario 80, el procesador de datos auxiliares 50 puede proporcionar su propio dispositivo de visualización (no se muestra) que se puede compartir 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 proporcionar una única 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.
[0040] Por ejemplo, en un sistema de TV interactiva, los datos auxiliares incluyen las partes vídeo y audio de la señal de televisión subyacente. Por ejemplo, los datos auxiliares incluirían paquetes de vídeo que contengan datos codificados MPEG, o, del estilo MPEG que representen los paquetes de imagen televisiva y paquetes que contienen audio codificado digitalmente. Además, podría haber varios flujos de paquete audio diferentes que transporten los respectivos canales audio para estéreo, segundo programa de audio (SAP) o capacidad multilingüe. En un procesador de datos auxiliares 50 de un sistema de este tipo, los paquetes de vídeo se suministrarán a un decodificador MPEG (o similar) conocido (no se muestra) que generaría señales de vídeo estándar, y que se suministrarían a un receptor o monitor de 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 televisivo o altavoces (no se muestra).
[0041] En un sistema de TV interactiva de este tipo, el ordenador cliente 22 podría, en 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 se pueden combinar 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 puede también generar sonidos para ofrecer otra información al espectador. Los sonidos generados puede combinarse, de manera conocida, con las señales audio estándar procedentes del decodificador audio, y el sonido combinado puede reproducirse a través del receptor de televisión o altavoces.
[0042] Además, pueden incluirse datos de código de tiempo en el flujo de datos del paquete auxiliar de televisión o en el flujo de datos del paquete que representa la aplicación de TV interactiva, o en ambos flujos. Esto permite la sincronización de cualquier imagen gráfica o sonidos generados por el ordenador cliente 22 con la señal de televisión procedente de los datos auxiliares. En este caso, el ordenador cliente 22 tendría acceso a los datos del código de tiempo, y controlaría la generación de la imagen gráfica y/o sonido para que tuviera lugar en un momento deseado, tal como lo indiquen los datos de código de tiempo.
[0043] En un sistema de TV interactiva como este, el ordenador cliente 22 y el procesador de datos auxiliares 50 se pueden incluirse en un solo recinto, tal como un receptor de televisión o caja decodificadora set-top de televisión. Un receptor de televisión, o caja decodificadora incluirían conectores para conectar a un ordenador local u otro equipo.
[0044] 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 efectuar 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.
[0045] Los datos del usuario se transfieren al ordenador de 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.
[0046] El ordenador servidor 10 puede generar nuevos módulos de código y/o datos, o modificar, módulos ya existentes, en el flujo de datos del mecanismo de transporte 30, de la manera descrita anteriormente, en base a los datos recibidos. Alternativamente, el ordenador servidor 10 puede devolver inmediatamente información a los ordenadores cliente 20 en la otra dirección a través 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.
[0047] 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.
[0048] 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 más tarde. 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.
[0049] Por ejemplo, el sistema informático distribuido ilustrado en la Figura 1 puede formar parte de un sistema informático corporativo muy extendido, y el servidor 10 se puede localizar a una ubicación central de esta corporación. El ordenador cliente 22 se puede localizar a una ubicación remota, y el ordenador local 40 se puede conectar a la red del ordenador personal en esa ubicación. Los trabajadores de esa ubicación pueden almacenar datos compartidos (p. ej. información financiera) en el servidor conectado a esa red. La función informática distribuida puede incluir la recopilación de datos financieros locales de los ordenadores cliente en las ubicaciones remotas, el procesamiento de esos datos financieros y el retorno de los resultados financieros totales a los ordenadores cliente. En una aplicación de este tipo, el código ejecutable en el ordenador cliente 22 accede a los datos del ordenador local 40 (bien desde su memoria masiva acoplada 70 o bien a través de la red) a través del puerto E/S y los envía al ordenador servidor 10 a través de la instalación de procesamiento central 60. El ordenador servidor 10 continúa su procesamiento en base a la información recibida del ordenador cliente 22 (y otros ordenadores cliente 20), y devuelve los resultados de ese procesamiento a los ordenadores cliente 20 bien a través de la instalación de procesamiento central 60 o bien a través del flujo de datos del mecanismo de transporte 30.
[0050] 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.
[0051] Cuando un espectador desea pedir un artículo, se pulsa un botón en el mando a distancia del televisor. Este botón emite una señal al ordenador cliente 22 para que muestre una serie de instrucciones y menús necesarios para solicitar la información necesaria para hacer el pedido, p.ej. el número del artículo, nombre y dirección del espectador, el método de pago, el número de la tarjeta de crédito (si es necesario), etc. Estas instrucciones se generan en el ordenador cliente como gráficos que se sobreponen en la imagen de vídeo del televisor. También es posible generar una voz generada por ordenador que se combina con el audio del televisor bien como voz en off, o reemplazando el audio de televisión. El espectador responde a la instrucción facilitando la información solicitada a través del mando a distancia del televisor. Cuando la información solicitada por la visualización en pantalla y/o las instrucciones vocales han sido ingresadas por el espectador, se envían a un ordenador central a través del módem del ordenador cliente. Puede enviarse una confirmación del pedido en la otra dirección desde el ordenador central.
[0052] También es posible que el espectador pueda ingresar una vez por adelantado la información permanente sobre el espectador (es decir, el nombre, dirección, forma de pago y número de tarjeta de crédito), de manera que no es necesario solicitar esa información cada vez que se haga un pedido. La información se almacena en la memoria permanente del ordenador cliente. En un caso así, cuando se hace un pedido, esa información se recupera de la memoria permanente, se anexa al número de artículo y se transmite al ordenador central. También es posible que, por medio de códigos de tiempo u otras señales de control introducidos en el flujo de datos, el ordenador cliente sepa qué artículo se está ofreciendo a la venta en ese momento. En tal caso, el espectador podrá pedirlo con sólo pulsar un botón en el mando a distancia del televisor. Como respuesta, el ordenador cliente puede combinar la información recibida anteriormente relacionada con el artículo que se ofrece a la venta en ese momento con la información personal almacenada anteriormente relacionada con el espectador, transmitir el pedido al ordenador central y recibir a cambio la confirmación.
[0053] Puesto que los módulos de código y de datos relacionados con el programa de televenta se introducen repetitivamente en el flujo de datos, un espectador puede sintonizar con el programa en cualquier momento y participar interactivamente. De igual forma, no es necesario que el espectador participe interactivamente, sino que puede ignorar simplemente la parte interactiva del programa.
[0054] También es posible que el ordenador cliente 22 reciba información de control procedente del ordenador local 40. Por ejemplo, el usuario 80, usando el ordenador local 40, podría controlar el ordenador cliente 22 a través del puerto de E/S para seleccionar un flujo de datos deseado del mecanismo de transporte 30, y procesar el programa que se emita en ese momento en el flujo de datos, con interacción con el usuario 80 a través de los dispositivos de entrada y salida (no se muestran) conectados al ordenador local 40.
[0055] También es posible que el usuario 80 haga que el ordenador cliente 22 acceda al ordenador servidor 10 a través de la instalación de procesamiento central 60, en vez de hacerlo a través del flujo de datos del mecanismo de transporte 30, y reciba los módulos de código y de datos a través de este enlace bidireccional.
[0056] 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.
[0057] 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.
[0058] Cuando funciona, se suministran los datos que representan el programa de aplicación informática distribuida, y los datos relacionados con la transmisión del programa por el mecanismo de transporte 30 al generador de flujo 102 desde la fuente de aplicación 101. Estos datos pueden suministrarse en forma de ficheros que contienen datos representando los módulos de código y de datos, o mediante secuencias de comandos que facilitan información sobre cómo construir los módulos de código y de datos, u otra información de este tipo. Los módulos de código y datos pueden ser constantes
o pueden cambiar dinámicamente, en base a información recibida desde los ordenadores cliente 20 por medio de la instalación informática central 60 y/u otras fuentes. Los ficheros de módulos de código y datos ejecutables pueden ser generados por un programador de aplicaciones mediante un compilador, intérprete o ensamblador de forma conocida como respuesta a la programación del idioma fuente. El fichero de datos relacionado con la transmisión de los módulos incluye información tal como: las tasas de repetición deseadas para el directorio y los módulos de código y datos a incluir en el flujo de datos; el tamaño de la memoria principal en los ordenadores cliente 20 necesaria para almacenar cada módulo y ejecutar completamente el programa de aplicación; un nivel prioritario para el módulo, si se trata de un módulo de código, etc.
[0059] 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 son repetitivamente transmitidos en el flujo de datos, su tamaño y posiblemente otra Información relacionada con esos módulos. Entonces, los datos representativos del programa de aplicación se procesan para generar los módulos de código y de datos. Los módulos de directorio, código y datos así construidos se formatean añadiendo encabezamientos de módulos y códigos de detección y/o de corrección de errores a cada módulo. También se genera un programa de transmisión. Una vez completado este procesamiento, los datos que representan el módulo de directorio y los módulos de código y datos se presentan repetitivamente al empaquetador de transporte 104 de acuerdo con el programa generado anteriormente.
[0060] El empaquetador de transporte 104 genera un flujo de paquetes que representan el módulo de directorio y los módulos de código y datos conforme se emiten desde el generador de flujo 102. Cada paquete tiene una longitud predeterminada constante, y se genera dividiendo el flujo de datos procedente del generador de flujo en grupos de bits, y añadiendo un encabezamiento de paquete con información que identifique la información contenida en el paquete, y un código de detección y/o de corrección de errores, etc., en cada grupo, de tal manera que cada paquete tiene la misma longitud predetermina. (Si no se tienen suficientes datos del generador de flujo 102 para llenar completamente un paquete, el paquete se rellena con datos nulos). Estos paquetes se multiplexan en el tiempo con los paquetes de datos auxiliares, de forma conocida, para formar un solo flujo de paquetes en el multiplexor de paquetes 106. También es posible que los paquetes generados tengan varias longitudes. En este caso, el encabezamiento del paquete para cada paquete incluirá la longitud de ese paquete. Además, los paquetes de datos del código de tiempo se colocan en los paquetes del flujo de datos y/o en los paquetes de datos auxiliares en base a los datos recibidos del reloj 109.
[0061] Las flujos de paquetes procedentes de todas las fuentes de canal (108 y 108a) se multiplexan en un solo canal de transporte, que se transmite por el mecanismo de transporte 30. Como se describió anteriormente, las flujos de paquetes pueden ser multiplexadas en frecuencias haciendo que cada flujo de paquetes module una señal portadora a una frecuencia diferente, con todas las portadoras transportadas por un enlace satélite a los ordenadores cliente 20, de forma conocida. Además, si hay suficiente capacidad en un canal portador, se podrán multiplexar en el tiempo varios flujos de paquetes y usarse para modular una sola portadora, también de forma conocida. Por ejemplo, se ha propuesto temporizar múltiples de hasta ocho flujos de datos de televisión interactiva a través de un solo enlace por satélite.
[0062] 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 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 101 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.
[0063] La FIGURA 3 es un diagrama de temporización que muestra los flujos de datos producidos por el ordenador servidor 10 en un sistema informático distribuido como se muestra en la FIGURA 1. En la FIGURA 3 se muestra el ordenador servidor 10 produciendo simultáneamente una pluralidad de flujos de paquetes 32-38. Cada flujo de paquetes (32-38) se muestra como una banda horizontal dividida en paquetes que tienen la misma duración y número de bits. Tal como se describió arriba, es posible que el tamaño de los paquetes de un flujo de paquetes varíe con la cantidad de datos a transferir. En la FIGURA 3 puede verse que los tiempos iniciales de los paquetes no están sincronizados. Es posible sincronizar los paquetes, pero no es necesario. En la FIGURA 3, a los paquetes con datos que representan directorios se les designa DIR, a los paquetes que transmiten datos que representan los módulos de código se les designa CM, a los paquetes con datos que representan datos de módulos se les designa DM y a los paquetes con datos auxiliares se les designa AUX.
[0064] 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.
[0065] 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.
[0066] En la serie de paquetes 36, el paquete situado más a la izquierda contiene datos que representan un módulo de código (CM). El siguiente paquete (DMl) es un primer paquete que contiene datos que representan un módulo de datos. El siguiente paquete contiene datos auxiliares, AUX. El siguiente paquete (DM2) es un segundo paquete que contiene el resto de datos que representan el módulo de datos. En la serie de paquetes 36 puede observarse que también puede incluirse un módulo de datos (DMl y DM2), asociado con el módulo de código (CM), en el flujo de datos. Tanto el módulo de código (CM) como el módulo de datos (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.
[0067] También puede observarse que si el módulo de datos es demasiado grande como para ser incluido en un solo paquete, éste puede ser transferido por más de un paquete, en cuyo caso cada paquete incluirá una parte del módulo de datos. Aunque en la serie de paquetes 36 se muestran los dos paquetes como si incluyeran el módulo de datos (DM1 y DM2), puede usarse cualquier cantidad de paquetes para transferir el módulo de datos, según sea su tamaño. También puede observarse que los paquetes que transfieren el módulo de datos no precisan transmitirse secuencialmente, sino que pueden tener paquetes intermedios en el flujo de paquetes. Lo mismo ocurre para los paquetes múltiples que transfieren un módulo de código o módulo de directorio (no se muestra).
[0068] 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 un sólo flujo de paquetes. Las respectivas tasas de repetición de estos tres módulos pueden ser diferentes, según lo especifique el programador de la aplicación, y pueden variarse durante la ejecución de la aplicación.
[0069] La FIGURA 4 es un diagrama en bloque de un ordenador cliente 22 como se muestra en la FIGURA 1. En la FIGURA 4, el mecanismo de transporte 30 (de la FIGURA 1) se conecta a un terminal de entrada de un selector de flujo
202. Un terminal de salida de un selector de flujo 202 se conecta a los respectivos terminales de entrada de un extractor de datos auxiliares 204 y a un extractor de datos del paquete 206. Un terminal de salida del extractor de datos auxiliares 204 se conecta al procesador de datos auxiliares 50 (de la FIGURA 1). Un terminal bidireccional del extractor de datos del paquete 206 se conecta a un terminal correspondiente de un adaptador de E/S del flujo 208. Un terminal de salida de control del adaptador 208 de E/S del flujo se conecta a un terminal correspondiente de entrada de control del selector de flujo 202. La combinación del selector de flujo 202, el extractor de datos auxiliares 204 y el extractor de datos del paquete 206 forma un receptor de flujo de datos 207 para el ordenador cliente 22, que se muestra mediante la línea discontinua de la FIGURA 4.
[0070] El adaptador de E/S de flujo 208 forma parte de una unidad de procesamiento 224 del ordenador cliente 22, que se muestra mediante una línea discontinua en la FIGURA 4. Además del adaptador de E/S de flujo 208, la unidad de procesamiento 224 incluye un procesador 210, una memoria de lectura/escritura (RAM) 212 y una memoria de sólo lectura (ROM) 214 conectados todos ellos juntos de forma conocida a través de un bus del sistema 216. Pueden tenerse otras instalaciones de entrada y salida a través del puerto de E/S 218, que se halla conectado al procesador local 40 (de la FIGURA 1); del adaptador de E/S del usuario 220, para comunicarse con el usuario 80; y del módem 222, conectado a la instalación de procesamiento central 60 (de la FIGURA 1); todos ellos conectados también al bus del sistema 216 de forma conocida. Pueden conectarse otros adaptadores (no se muestran) al bus del sistema 216 para ofrecer otras posibilidades a la unidad de procesamiento 224.
[0071] Tal como se describe más arriba, el extractor de datos auxiliares 204, el puerto de E/S 218 y el módem 222 no son necesarios en el ordenador cliente 20 de acuerdo con la presente invención. Aparecen en la FIGURA 1 y FIGURA 4 para mostrar otra funcionalidad extra opcional.
[0072] Cuando funciona, el procesador 210 de la unidad de procesamiento 224 recupera las instrucciones del programa almacenadas permanentemente en la ROM 214, o almacenadas provisionalmente en la RAM 212, Y ejecuta las instrucciones recuperadas para leer los datos de la ROM 212 y/o RAM 214, escribir los datos en la RAM 212 y/o recibir datos de fuentes externas, o suministrar datos a fuentes externas, a través del puerto de E/S 218, adaptador de E/S del usuario 220 y/o módem 222, de forma conocida. Bajo control del programa, el procesador 210 también puede solicitar un módulo de código y/o de datos del flujo de datos suministrado al ordenador cliente 22 a través del mecanismo de transporte 30 (de la Figura 1). Para recuperar estos datos, el procesador 210 ordena primero al adaptador de E/S del flujo 208 que envíe una señal de control de selección al selector de flujo 202, posiblemente como respuesta a la información facilitada por el usuario desdel adaptador de E/S del usuario 220. Entonces, el procesador 210 solicita un módulo de código o datos específico al adaptador de E/S del flujo 208. El adaptador de E/S del flujo 208 transmite esta solicitud al extractor de datos del paquete 204.
[0073] El mecanismo de transporte 30 (de la FIGURA 1) aporta toda la pluralidad de flujos de paquete (32-38 de la FIGURA 3) que transfiere al selector de flujo 202, el cual sólo pasa el flujo de paquetes seleccionado. El extractor de datos auxiliares 204 controla el flujo de paquetes seleccionado, extrae los paquetes de datos auxiliares del mismo y los entrega directamente al procesador de datos auxiliares 50 (de la Figura 1). El extractor de datos del paquete 206 controla de igual forma el flujo de paquetes seleccionado, extrae los paquetes del módulo de directorio, código y/o datos solicitados por el adaptador de E/S del flujo 208 y los entrega al adaptador de E/S del flujo 208. Los datos de los paquetes devueltos al adaptador de E/S del flujo 208 se entregan a la RAM 212. Cuando se ha recuperado todo el módulo del flujo de paquetes (que podría necesitar varios paquetes, como se describió anteriormente), el adaptador de E/S del flujo 208 notifica al procesador 210 su recepción. Entonces, el procesador 210 puede continuar la ejecución de su programa.
[0074] El flujo de datos del sistema informático distribuido que se muestra en la FIGURA 1 es parecido a un sistema de almacenamiento masivo de los sistemas de la técnica anterior. Un programa de aplicación que se ejecute en el procesador 210 pide un módulo listado en el directorio de la misma manera que ese programa pediría un fichero que contenga un módulo de código o de datos anteriormente almacenado en un dispositivo de almacenamiento masivo en un sistema de la técnica anterior. El receptor del flujo de datos 207 es parecido a un dispositivo de almacenamiento masivo, y la E/S del flujo 208 actúa de forma parecida a un adaptador de almacenamiento masivo en un sistema de la técnica anterior localizando los datos deseados, transfiriéndolos a una ubicación predeterminada (memoria intermedia de E/S) en la memoria del sistema e informando al procesador de la realización de la recuperación. Sin embargo, el adaptador de E/S del flujo 208 sólo puede recuperar código y datos del flujo de datos. No pueden ponerse datos en el flujo de datos.
[0075] Como se describió anteriormente, la aplicación de informática distribuida puede dividirse en más de un módulo de código, cada uno de ellos incluyendo un código ejecutable para una parte diferente de la aplicación de informática distribuida. Cuando se desea un módulo de código concreto, el procesador 210 solicita ese módulo de código al adaptador de E/S del flujo 208. Cuando se ha completado la ejecución de ese módulo, el procesador 210 solicita el siguiente módulo de la E/S del flujo 208. Puesto que los módulos de código y de datos se transportan repetitivamente en el flujo de datos, puede borrarse un módulo de la RAM 212 cuando no se necesite actualmente sin la necesidad de almacenarse provisionalmente, puesto que si se requiere posteriormente, podría recuperarse de nuevo del flujo de datos cuando sea necesario. Sin embargo, si la RAM 212 tiene suficiente capacidad, el procesador 210 puede solicitar al adaptador de E/S del flujo que cargue simultáneamente varios módulos de código en la RAM 212. Si puede realizarse esto, entonces el procesador 210 puede pasar de un módulo de código a otro sin esperar que el adaptador de E/S del flujo 208 los extraiga del flujo de datos.
[0076] Tal como se describió anteriormente, pueden conectarse otros adaptadores de E/S al bus del sistema 216 de forma conocida. Por ejemplo, en un sistema de TV interactiva, puede conectarse un adaptador de gráficos al bus del sistema 216. El adaptador de gráficos genera señales que representan las imágenes gráficas, de forma conocida, como respuesta a las instrucciones recibidas del procesador 210. Además, estas señales pueden combinarse con la señal vídeo estándar producida por el decodificador del vídeo (descrito arriba) en el procesador de datos auxiliares SO de un sistema de TV interactiva. Cuando se combinan la señal representativa de la imagen gráfica y la señal vídeo estándar, la señal resultante representa una imagen en la que la imagen generada por el adaptador de gráficos se sobrepone a la imagen representada por la señal vídeo de emisión. También es posible combinar selectivamente estas dos señales representativas de imagen bajo el control del procesador 210.
[0077] Un sistema de TV interactiva también puede tener un adaptador acústico conectado al bus del sistema 216. El adaptador acústico genera una señal que representa un sonido generado por ordenador (como música, voz sintetizada u otro sonido), de forma conocida, como respuesta a las instrucciones del procesador 210. Además, estas señales pueden combinarse con la señal audio estándar producida por el decodificador audio (descrito anteriormente) en el procesador de datos auxiliares SO de un sistema de TV interactiva. Cuando se combinan la señal representativa de audio y la señal audio estándar, la señal resultante representa la combinación del sonido generado por el adaptador acústico y la señal audio de emisión. También es posible combinar selectivamente estas dos señales representativas de sonido bajo el control del procesador 210.
[0078] La temporización de la generación y visualización de las señales representativas de la imagen gráfica y del sonido puede controlarse mediante la recepción de los datos del código de tiempo del flujo de datos. Esto permite que un módulo de código ejecutable sincronice la visualización de la imagen generada por el procesador y la presentación del sonido generado por el procesador al vídeo y audio de emisión. También es posible sincronizar la operación de la aplicación de TV interactiva mediante la inserción de paquetes especializados en el flujo de datos, lo que provoca una interrupción del código que se ejecute actualmente en el procesador 210. La E/S de flujo 208 supervisa la aparición de dichos paquetes especializados en el flujo de datos, y genera una interrupción, de forma conocida, para el procesador
5 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.
[0079] 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
10 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 (40)
- REIVINDICACIONES
- 1.
- Sistema que incluye:
un transceptor (103), acoplado a una instalación de procesamiento central (60), adaptado para recibir datos de cliente desde los clientes (20) acoplados a la instalación de procesamiento central (60); y un servidor (10), acoplado al transceptor (103), adaptado para generar un primer flujo de datos y (10) para insertar datos de aplicación, que representan una aplicación informática distribuida, en el primer flujo de datos y para entregar el primer flujo de datos a los clientes (20) vía un mecanismo de transporte (30), donde el servidor (10) se adapta para recibir datos de cliente del transceptor (103), y, si se desea una respuesta común para todos los clientes, para modificar los datos de aplicación insertados en el primer flujo de datos, en base a los datos de cliente y para entregar el primer flujo a todos los clientes. -
- 2.
- Sistema según la reivindicación 1, donde el servidor (10) inserta repetitivamente los datos de aplicación en el primer flujo de datos.
-
- 3.
- Sistema según cualquiera de las reivindicaciones precedentes, donde los datos de cliente incluyen datos de usuario introducidos en un programa que se ejecuta en el cliente (20).
-
- 4.
- Sistema según la reivindicación 3, donde los datos de usuario se introducen en el programa que se ejecuta en el cliente (20) a través de un mando a distancia.
-
- 5.
- Sistema según cualquiera de las reivindicaciones precedentes, donde los datos de aplicación incluyen módulos de datos que contienen datos que han de ser procesados por la aplicación informática distribuida.
-
- 6.
- Sistema según la reivindicación 5, donde la modificación de los datos de aplicación incluye la generación de nuevos módulos de datos que han de ser incluidos en los datos de aplicación.
-
- 7.
- Sistema según la reivindicación 5, donde la modificación de los datos de aplicación incluye la modificación de módulos de datos existentes que han de ser incluidos en los datos de aplicación.
-
- 8.
- Sistema según cualquiera de las reivindicaciones precedentes, donde los datos de aplicación incluyen módulos de código.
-
- 9.
- Sistema según la reivindicación 8, donde la modificación de los datos de aplicación incluye la generación de nuevos módulos de código que han de ser incluidos en los datos de aplicación.
-
- 10.
- Sistema según la reivindicación 8, donde la modificación de los datos de aplicación incluye la modificación de módulos de código existentes que han de ser incluidos en los datos de aplicación.
-
- 11.
- Sistema según cualquiera de las reivindicaciones precedentes, donde la modificación de los datos de aplicación se efectúa automática y dinámicamente en respuesta a los datos de cliente recibidos en el servidor (10) desde el transceptor (103).
-
- 12.
- Sistema según cualquiera de las reivindicaciones precedentes, donde la instalación de procesamiento central (60) es un sistema telefónico.
-
- 13.
- Sistema según la reivindicación 12, donde los datos de cliente se transfieren al servidor (10) vía un módem a través del sistema telefónico.
-
- 14.
- Sistema según cualquiera de las reivindicaciones precedentes, donde la instalación de procesamiento central proporciona un enlace bidireccional.
-
- 15.
- Sistema según cualquiera de las reivindicaciones precedentes, donde el mecanismo de transporte (30) incluye un enlace de datos digital.
-
- 16.
- Sistema según la reivindicación 15, donde el enlace de datos digital incluye al menos uno de entre un grupo que incluye un enlace de fibra óptica y un enlace digital por satélite.
-
- 17.
- Sistema según cualquiera de las reivindicaciones precedentes, donde el mecanismo de transporte (30) entrega el primer flujo de datos a una pluralidad de clientes.
-
- 18.
- Sistema según cualquiera de las reivindicaciones precedentes, donde el mecanismo de transporte (20) proporciona un enlace unidireccional.
-
- 19.
- Sistema según cualquiera de las reivindicaciones precedentes, donde el transceptor (103) es para generar y devolver una respuesta a los datos de cliente.
-
- 20.
- Sistema según la reivindicación 19, donde la respuesta se devuelve al menos a un cliente específico (10) de una pluralidad de clientes.
-
- 21.
- Método que incluye :
recibir datos de cliente en un servidor (10) desde clientes (20), conectado a una instalación de procesamiento central (60); en el servidor (10), generar un primer flujo de datos e insertar datos de aplicación, que representan una aplicación informática distribuida, en el primer flujo de datos y entregar el primer flujo de datos a clientes (20) vía un mecanismo de transporte (30), donde, si se desea una respuesta común para todos los clientes, modificar en el servidor los datos de aplicación insertados en el primer flujo de datos, en base a los datos de cliente y entregar el primer flujo a todos los clientes. -
- 22.
- Método según la reivindicación 21, que incluye, en el servidor (10), la inserción repetitiva de datos de aplicación en el primer flujo de datos.
-
- 23.
- Método según las reivindicaciones 21-22, donde los datos de cliente comprenden datos de usuario introducidos en un programa que se ejecuta en el cliente (20).
-
- 24.
- Método según la reivindicación 23, donde los datos de usuario se introducen en el programa que se ejecuta en el cliente (20) a través de un mando a distancia.
-
- 25.
- Método según cualquiera de las reivindicaciones 21-24, donde los datos de aplicación incluyen módulos de datos con datos que han de ser procesados por la aplicación informática distribuida.
-
- 26.
- Método según la reivindicación 25, donde la modificación de los datos de aplicación incluye la generación de nuevos módulos de datos que han de ser incluidos en los datos de aplicación.
-
- 27.
- Método según la reivindicación 25, donde la modificación de los datos de aplicación incluye la modificación de módulos de datos existentes que han de ser incluidos en los datos de aplicación.
-
- 28.
- Método según cualquiera de las reivindicaciones 21-27, donde los datos de aplicación incluyen módulos de código.
-
- 29.
- Método según la reivindicación 28, donde la modificación de los datos de aplicación incluye la generación de nuevos módulos de código que han de ser incluidos en los datos de aplicación.
-
- 30.
- Método según la reivindicación 28, donde la modificación de los datos de aplicación incluye la modificación de módulos de código existentes que han de ser incluidos en los datos de aplicación.
-
- 31.
- Método según cualquiera de las reivindicaciones 21-30, donde la modificación de los datos de aplicación se efectúa automática y dinámicamente en respuesta a los datos de cliente recibidos en el servidor (10) desde el transceptor (103).
-
- 32.
- Método según cualquiera de las reivindicaciones 21-31, donde la instalación de procesamiento central (60) es un sistema telefónico.
-
- 33.
- Método según la reivindicación 32, que incluye la transferencia de los datos de cliente al servidor (10) vía módems a través del sistema telefónico.
-
- 34.
- Método según cualquiera de las reivindicaciones 21-33, donde la instalación de procesamiento central (60) proporciona un enlace bidireccional.
-
- 35.
- Método según cualquiera de las reivindicaciones 21-34, donde el mecanismo de transporte (30) incluye un enlace de datos digital.
-
- 36.
- Método según la reivindicación 35, donde el enlace de datos digital incluye al menos uno de un grupo que incluye
una enlace directo de fibra óptica y un enlace digital por satélite. -
- 37.
- Método según cualquiera de las reivindicaciones 21-36, que incluye la entrega del primer flujo de datos a una
pluralidad de clientes utilizando el mecanismo de transporte (30). 5 - 38. Método según cualquiera de las reivindicaciones 21-37, donde el mecanismo de transporte (30) proporciona un enlace unidireccional.
- 39. Método según cualquiera de las reivindicaciones 21-38, que incluye el uso de un transceptor (103) que genera y 10 devuelve una respuesta a los datos de cliente vía la instalación de procesamiento central (60).
- 40. Método según la reivindicación 39, que incluye devolver la respuesta al menos a un cliente específico (10) de una pluralidad de clientes.
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 |
|---|---|
| ES2387085T3 true ES2387085T3 (es) | 2012-09-13 |
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 |
| 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. |
| 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 (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| 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. |
| ES03002720T Expired - Lifetime ES2370166T3 (es) | 1994-04-28 | 1995-04-19 | Sistema y método para facilitar el pedido de un artículo. |
Country Status (13)
| Country | Link |
|---|---|
| US (2) | US5819034A (es) |
| EP (5) | EP0680185B1 (es) |
| JP (4) | JPH08166925A (es) |
| KR (1) | KR100363593B1 (es) |
| CN (4) | CN1893648B (es) |
| AT (3) | ATE278285T1 (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 (294)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5963916A (en) * | 1990-09-13 | 1999-10-05 | Intouch Group, Inc. | Network apparatus and method for preview of music products and compilation of market data |
| US6275268B1 (en) | 1993-09-09 | 2001-08-14 | United Video Properties, Inc. | Electronic television program guide with remote product ordering |
| US6473860B1 (en) | 1994-04-07 | 2002-10-29 | Hark C. Chan | Information distribution and processing system |
| US7991347B1 (en) | 1994-04-07 | 2011-08-02 | Data Innovation Llc | System and method for accessing set of digital data at a remote site |
| USRE44685E1 (en) | 1994-04-28 | 2013-12-31 | Opentv, Inc. | Apparatus for transmitting and receiving executable applications as for a multimedia system, and method and system to order an item using a distributed computing system |
| US5819034A (en) | 1994-04-28 | 1998-10-06 | Thomson Consumer Electronics, Inc. | Apparatus for transmitting and receiving executable applications as for a multimedia system |
| US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
| US7181758B1 (en) | 1994-07-25 | 2007-02-20 | Data Innovation, L.L.C. | Information distribution and processing system |
| US5838906A (en) * | 1994-10-17 | 1998-11-17 | The Regents Of The University Of California | Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document |
| WO1996013124A1 (en) * | 1994-10-24 | 1996-05-02 | Intel Corporation | Video indexing protocol |
| EP1467566B1 (en) * | 1995-04-24 | 2009-11-11 | 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 |
| US6469753B1 (en) * | 1996-05-03 | 2002-10-22 | Starsight Telecast, Inc. | Information system |
| EP0810790A3 (en) * | 1996-05-31 | 1999-10-20 | Matsushita Electric Industrial Co., Ltd. | Data communication system, data transmitting apparatus, and data receiving apparatus |
| US6141693A (en) * | 1996-06-03 | 2000-10-31 | Webtv Networks, Inc. | Method and apparatus for extracting digital data from a video stream and using the digital data to configure the video stream for display on a television set |
| US8601050B2 (en) | 1996-06-12 | 2013-12-03 | Michael Carringer | System and method for generating a modified web page by inline code insertion in response to an information request from a client computer |
| US9130765B1 (en) * | 1996-06-12 | 2015-09-08 | Michael Carringer | System and method for generating a modified web page by inline code insertion in response to an information request from a client computer |
| US6266709B1 (en) * | 1996-07-01 | 2001-07-24 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server failure reporting process |
| US6424991B1 (en) * | 1996-07-01 | 2002-07-23 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server communication framework |
| KR100513128B1 (ko) * | 1996-09-11 | 2005-09-07 | 마츠시타 덴끼 산교 가부시키가이샤 | 프로그램 수신장치 |
| US6058443A (en) * | 1997-02-18 | 2000-05-02 | Advanced Micro Devices, Inc. | System for partitioning PC chipset functions into logic and port integrated circuits |
| US6209028B1 (en) | 1997-03-21 | 2001-03-27 | Walker Digital, Llc | System and method for supplying supplemental audio information for broadcast television programs |
| US20050097594A1 (en) | 1997-03-24 | 2005-05-05 | O'donnell Frank | Systems and methods for awarding affinity points based upon remote control usage |
| US8769598B2 (en) * | 1997-03-24 | 2014-07-01 | Logitech Europe S.A. | Program guide on a remote control |
| US6356948B1 (en) * | 1997-03-28 | 2002-03-12 | Aspect Communications Corp | Method and apparatus for managing data |
| US9113122B2 (en) | 1997-04-21 | 2015-08-18 | Rovi Guides, Inc. | Method and apparatus for time-shifting video and text in a text-enhanced television program |
| US6233253B1 (en) * | 1997-05-23 | 2001-05-15 | Thomson Licensing S.A. | System for digital data format conversion and bit stream generation |
| JPH114417A (ja) * | 1997-06-12 | 1999-01-06 | Toshiba Corp | ビット・ストリーム情報表示方法、ビット・ストリーム情報作成方法及び記録媒体 |
| GB9715228D0 (en) * | 1997-07-18 | 1997-09-24 | Sertway Limited | Communications system and method |
| CN1941863B (zh) | 1997-07-21 | 2011-06-29 | 骏升发展(美国)有限公司 | 在电子节目导视中向用户显示目标广告的方法 |
| 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-05-07 | Philips Electronics Nv | Methode de communication entre des terminaux repartis et une station centrale |
| FR2778300A1 (fr) * | 1998-04-29 | 1999-11-05 | Thomson Multimedia Sa | Procede de lecture de donnees informatiques permettant de composer des images de synthese et dispositif mettant en oeuvre le procede |
| US6609144B1 (en) | 1998-05-04 | 2003-08-19 | Matsushita Electric Industrial Co., Ltd. | Program reception/execution apparatus that can commence execution of a machine program having only received the program in part, and a program transmission apparatus that enables such execution |
| US8813137B2 (en) * | 1998-05-08 | 2014-08-19 | Qualcomm Incorporated | Apparatus and method for decoding digital image and audio signals |
| AU4169099A (en) * | 1998-06-19 | 2000-01-05 | Matsushita Electric Industrial Co., Ltd. | Data transmitting/receiving method and device, and program recorded medium |
| CN1867068A (zh) | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | 交互式电视节目导视系统及其方法 |
| BR9815964A (pt) * | 1998-07-27 | 2001-06-05 | Webtv Networks Inc | Processo de acesso a computador remoto, sistema servidor de computação remota, processo de transmissão de vìdeo, gerador de monitor de multi-cabeças, processos para gerar um fluxo de vìdeo compactado, de estimativa de movimento para compactação de fluxo de imagem, para mudar a detecção para compactação de fluxo de imagem, para gerar um catálogo, e de navegação na internet, programa de software para projeto de página www, software modificado por compactação para realizar pelo menos uma função e para gerar pelo menos um vìdeo, processos de controle de vìdeo, de processamento de imagem, de compactação de vìdeo, de compactação de fluxo de vìdeo assìncrona, para armazenar a taxa de enquadramento, para personalizar publicidade, de publicidade, de acúmulo de débito, de tv interativa, para alocação de largura de faixa para um fluxo de vìdeo compactado, para alocação de largura de faixa para transmitir vìdeo em um rede de cabo, para gerar uma pluralidade de vìdeos, para transmitir uma pluralidade de canais de vìdeo compactados similares, de multiplexação estatìstica de bits, para gerar uma pluralidade de fluxos de imagem não-relacionados, para gerar uma pluralidade de fluxos de áudio não-relacionados, e para produzir diferentes representações de vìdeo em uma pluralidade de locais remotos |
| US8189662B2 (en) | 1999-07-27 | 2012-05-29 | Microsoft Corporation | Selection compression |
| US6898762B2 (en) | 1998-08-21 | 2005-05-24 | United Video Properties, Inc. | Client-server electronic program guide |
| US7930213B1 (en) | 1998-09-11 | 2011-04-19 | Rpx-Lv Acquisition Llc | Method and apparatus for completing, securing and conducting an E-commerce transaction |
| US6704864B1 (en) | 1999-08-19 | 2004-03-09 | L.V. Partners, L.P. | Automatic configuration of equipment software |
| US6791588B1 (en) * | 1998-09-11 | 2004-09-14 | L.V. Partners, L.P. | Method for conducting a contest using a network |
| US6928413B1 (en) | 1998-09-11 | 2005-08-09 | L.V. Partners, L.P. | Method of product promotion |
| 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 |
| US7043536B1 (en) | 1998-09-11 | 2006-05-09 | Lv Partners, L.P. | Method for controlling a computer using an embedded unique code in the content of CD media |
| US6961555B1 (en) | 1998-09-11 | 2005-11-01 | L.V. Partners, L.P. | System and apparatus for connecting a wireless device to a remote location on a network |
| 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 |
| 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 |
| US7284066B1 (en) | 1998-09-11 | 2007-10-16 | Lv Partners, Lp | Method and apparatus for matching a user's use profile in commerce with a broadcast |
| US6970914B1 (en) | 1998-09-11 | 2005-11-29 | L. V. Partners, L.P. | Method and apparatus for embedding routing information to a remote web site in an audio/video track |
| US6829650B1 (en) | 1998-09-11 | 2004-12-07 | L. V. Partners, L.P. | Method and apparatus for opening and launching a web browser in response to an audible signal |
| US6631404B1 (en) | 1998-09-11 | 2003-10-07 | Lv Partners, L.P. | Method and system for conducting a contest using a network |
| US7386600B1 (en) | 1998-09-11 | 2008-06-10 | Lv Partners, L.P. | Launching a web site using a personal device |
| US7493384B1 (en) | 1998-09-11 | 2009-02-17 | Rpx-Lv Acquisition Llc | Controlling a PC using a tone from a cellular telephone |
| US7392312B1 (en) | 1998-09-11 | 2008-06-24 | Lv Partners, L.P. | Method for utilizing visual cue in conjunction with web access |
| US6629133B1 (en) | 1998-09-11 | 2003-09-30 | Lv Partners, L.P. | Interactive doll |
| US7228282B1 (en) | 1998-09-11 | 2007-06-05 | Lv Partners, L.P. | Method and apparatus for directing an existing product code to a remote location |
| US7370114B1 (en) | 1998-09-11 | 2008-05-06 | Lv Partners, L.P. | Software downloading using a television broadcast channel |
| US7424521B1 (en) | 1998-09-11 | 2008-09-09 | Lv Partners, L.P. | Method using database for facilitating computer based access to a location on a network after scanning a barcode disposed on a product |
| 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 |
| US7536478B2 (en) | 1998-09-11 | 2009-05-19 | Rpx-Lv Acquisition Llc | Method and apparatus for opening and launching a web browser in response to an audible signal |
| US6970916B1 (en) | 1998-09-11 | 2005-11-29 | L. V. Partners, L.P. | Method for conducting a contest using a network |
| US8712835B1 (en) | 1998-09-11 | 2014-04-29 | Rpx Corporation | Method and apparatus for linking a web browser link to a promotional offer |
| US6860424B1 (en) | 1998-09-11 | 2005-03-01 | L.V. Partners, L.P. | Optical reader and use |
| 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 |
| US7392945B1 (en) | 1998-09-11 | 2008-07-01 | Lv Partners, L.P. | Portable scanner for enabling automatic commerce transactions |
| US6843417B1 (en) | 1998-09-11 | 2005-01-18 | L. V. Partners, L.P. | Aiming indicia for a bar code and method of use |
| US7493283B1 (en) | 1998-09-11 | 2009-02-17 | Rpx-Lv Acquisition Llc | Performing an e-commerce transaction from credit card account information retrieved from a credit card company web site |
| 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 |
| 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 |
| US7117240B1 (en) | 1998-09-11 | 2006-10-03 | Lv Partners, Lp | Method and apparatus for launching a web site with non-standard control input device |
| US7792696B1 (en) | 1998-09-11 | 2010-09-07 | RPX-LV Acquisition, LLC | Method and apparatus for allowing a broadcast to remotely control a computer |
| US6098106A (en) * | 1998-09-11 | 2000-08-01 | Digitalconvergence.Com Inc. | Method for controlling a computer with an audio signal |
| US6745234B1 (en) | 1998-09-11 | 2004-06-01 | Digital:Convergence Corporation | Method and apparatus for accessing a remote location by scanning an optical code |
| US6526449B1 (en) | 1998-09-11 | 2003-02-25 | Digital Convergence Corporation | Method and apparatus for controlling a computer from a remote location |
| US6688522B1 (en) | 1998-09-11 | 2004-02-10 | L. V. Partners, L.P. | Unique bar code |
| US7191247B1 (en) | 1998-09-11 | 2007-03-13 | Lv Partners, Lp | Method for connecting a wireless device to a remote location on a network |
| US7321941B1 (en) | 1998-09-11 | 2008-01-22 | Lv Partners, L.P. | Network routing utilizing a product code |
| 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 |
| 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 |
| US6973438B1 (en) | 1998-09-11 | 2005-12-06 | L.V. Partners, L.P. | Method and apparatus for delivering information from a remote site on a network based on statistical information |
| 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 |
| US8028036B1 (en) * | 1998-09-11 | 2011-09-27 | Rpx-Lv Acquisition Llc | Launching a web site using a passive transponder |
| 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 |
| 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 |
| 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 |
| US6868433B1 (en) | 1998-09-11 | 2005-03-15 | L.V. Partners, L.P. | Input device having positional and scanning capabilities |
| 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 |
| 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 |
| US6636892B1 (en) * | 1998-09-11 | 2003-10-21 | Lv Partners, L.P. | Method for conducting a contest using a network |
| 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 |
| 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 |
| US6829646B1 (en) * | 1999-10-13 | 2004-12-07 | L. V. Partners, L.P. | Presentation of web page content based upon computer video resolutions |
| US6758398B1 (en) | 1998-09-11 | 2004-07-06 | L.V. Partners, L.P. | Optical reader with ultraviolet wavelength capability |
| 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 |
| 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 |
| 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 |
| US7010577B1 (en) | 1998-09-11 | 2006-03-07 | L. V. Partners, L.P. | Method of controlling a computer using an embedded unique code in the content of DVD media |
| US6384744B1 (en) | 1998-09-11 | 2002-05-07 | Digital:Convergence Corp. | Method and system for data transmission from an optical reader |
| US7159037B1 (en) | 1998-09-11 | 2007-01-02 | Lv Partners, Lp | Method and apparatus for utilizing an existing product code to issue a match to a predetermined location on a global network |
| 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 |
| JP2004500739A (ja) * | 1999-04-15 | 2004-01-08 | スカイストリーム・コーポレイション | データブロードキャスト |
| 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 | ADVERTISING SUB-GROUPS FOR DIGITAL FLOWS |
| KR100654430B1 (ko) * | 1999-05-20 | 2006-12-07 | 삼성전자주식회사 | 데이터를 브로드캐스팅하는 디지털 방송 시스템에서 어플리케이션을 처리하는 장치 및 방법 |
| US7634787B1 (en) | 1999-06-15 | 2009-12-15 | Wink Communications, Inc. | Automatic control of broadcast and execution of interactive applications to maintain synchronous operation with broadcast programs |
| US7069571B1 (en) | 1999-06-15 | 2006-06-27 | Wink Communications, Inc. | Automated retirement of interactive applications using retirement instructions for events and program states |
| US7222155B1 (en) | 1999-06-15 | 2007-05-22 | Wink Communications, Inc. | Synchronous updating of dynamic interactive applications |
| US8434113B1 (en) * | 1999-10-06 | 2013-04-30 | Tvworks, Llc | Electronic commerce using streaming media |
| US6530084B1 (en) * | 1999-11-01 | 2003-03-04 | Wink Communications, Inc. | Automated control of interactive application execution using defined time periods |
| US6985589B2 (en) * | 1999-12-02 | 2006-01-10 | Qualcomm Incorporated | Apparatus and method for encoding and storage of digital image and audio signals |
| GB2357922A (en) * | 1999-12-07 | 2001-07-04 | Sony Service Ct | Optimising a data carousel |
| US6226739B1 (en) * | 1999-12-14 | 2001-05-01 | International Business Machines Corporation | Method and computer program for distributing software to a personal palm-type device through a global software distribution package transmittable over the world wide web |
| US7720712B1 (en) | 1999-12-23 | 2010-05-18 | Amazon.Com, Inc. | Placing a purchase order using one of multiple procurement options |
| US20020178442A1 (en) * | 2001-01-02 | 2002-11-28 | Williams Dauna R. | Interactive television scripting |
| US6496802B1 (en) | 2000-01-07 | 2002-12-17 | Mp3.Com, Inc. | System and method for providing access to electronic works |
| US8584182B2 (en) | 2000-01-27 | 2013-11-12 | Time Warner Cable Enterprises Llc | System and method for providing broadcast programming, a virtual VCR, and a video scrapbook to programming subscribers |
| US7028327B1 (en) | 2000-02-02 | 2006-04-11 | Wink Communication | Using the electronic program guide to synchronize interactivity with broadcast programs |
| US7631338B2 (en) * | 2000-02-02 | 2009-12-08 | Wink Communications, Inc. | Interactive content delivery methods and apparatus |
| US20030097338A1 (en) * | 2000-02-03 | 2003-05-22 | Piotrowski Tony E. | Method and system for purchasing content related material |
| US6784805B2 (en) | 2000-03-15 | 2004-08-31 | Intrigue Technologies Inc. | State-based remote control system |
| US20010033243A1 (en) | 2000-03-15 | 2001-10-25 | Harris Glen Mclean | Online remote control configuration system |
| US8531276B2 (en) | 2000-03-15 | 2013-09-10 | Logitech Europe S.A. | State-based remote control system |
| US20020056083A1 (en) * | 2000-03-29 | 2002-05-09 | Istvan Anthony F. | System and method for picture-in-browser scaling |
| US20020060750A1 (en) * | 2000-03-29 | 2002-05-23 | Istvan Anthony F. | Single-button remote access to a synthetic channel page of specialized content |
| AU2001250056B2 (en) | 2000-03-31 | 2006-05-25 | Rovi Guides, 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 |
| 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 |
| US20050211765A1 (en) * | 2000-06-27 | 2005-09-29 | Digital World Access, Inc. | Money management network |
| US20040111370A1 (en) * | 2000-06-27 | 2004-06-10 | Digital World Access, Inc. | Single source money management system |
| 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 |
| US7313802B1 (en) | 2000-07-25 | 2007-12-25 | Digeo, Inc. | Method and system to provide deals and promotions via an interactive video casting system |
| US20020056109A1 (en) * | 2000-07-25 | 2002-05-09 | Tomsen Mai-Lan | Method and system to provide a personalized shopping channel VIA an interactive video casting system |
| US7103908B2 (en) * | 2000-07-25 | 2006-09-05 | Diego, Inc. | Method and system to save context for deferred transaction via interactive television |
| US7194754B2 (en) * | 2000-07-25 | 2007-03-20 | Digeo, Inc. | Method and system to defer transactions conducted via interactive television |
| JP2002092366A (ja) * | 2000-09-11 | 2002-03-29 | Nec Corp | Cpu時間売買方法及びcpu時間売買システムにおける管理サーバ |
| US6766376B2 (en) | 2000-09-12 | 2004-07-20 | Sn Acquisition, L.L.C | Streaming media buffering system |
| US7103906B1 (en) | 2000-09-29 | 2006-09-05 | International Business Machines Corporation | User controlled multi-device media-on-demand system |
| FR2814892B1 (fr) * | 2000-10-04 | 2003-02-21 | At Sky | Systeme permettant d'utiliser un ordinateur comme serveur pour televiseurs |
| CN101707693B (zh) | 2000-10-11 | 2017-04-26 | 乐威指南公司 | 提供数据存储到点播媒体传递系统中服务器上的系统和方法 |
| EP1327357A2 (en) | 2000-10-11 | 2003-07-16 | United Video Properties, Inc. | Systems and methods for caching data in media-on-demand systems |
| US20020103810A1 (en) * | 2000-10-19 | 2002-08-01 | Kobi Menachemi | Dynamic building of applications |
| US6889384B1 (en) | 2000-11-08 | 2005-05-03 | The Directv Group, Inc. | Simplified interactive user interface for multi-video channel navigation |
| US6917627B1 (en) | 2000-11-21 | 2005-07-12 | The Directv Group, Inc. | Hybrid satellite communications system |
| US7168089B2 (en) * | 2000-12-07 | 2007-01-23 | Igt | Secured virtual network in a gaming environment |
| US20020091761A1 (en) * | 2001-01-10 | 2002-07-11 | Lambert James P. | Technique of generating a composite media stream |
| US20020138500A1 (en) * | 2001-01-12 | 2002-09-26 | General Instrument Corporation | Virtual streaming in a carousel file system |
| US6624388B1 (en) * | 2001-01-25 | 2003-09-23 | The Lincoln Electric Company | System and method providing distributed welding architecture |
| US20020152467A1 (en) * | 2001-02-12 | 2002-10-17 | Rosario Fiallos | Automated generation of conditional access packets for IRD upgrades via radio frequency software download in satellite television systems |
| US20020175991A1 (en) * | 2001-02-14 | 2002-11-28 | Anystream, Inc. | GPI trigger over TCP/IP for video acquisition |
| JP4291467B2 (ja) * | 2001-03-01 | 2009-07-08 | 株式会社ソニー・コンピュータエンタテインメント | エンタテインメント装置、メニュー表示方法および情報記録媒体 |
| US20040117427A1 (en) * | 2001-03-16 | 2004-06-17 | Anystream, Inc. | System and method for distributing streaming media |
| US20100027430A1 (en) * | 2001-04-30 | 2010-02-04 | Netwitness Corporation | Apparatus and Method for Network Analysis |
| WO2002088968A1 (en) * | 2001-04-30 | 2002-11-07 | Ctx Corporation | Apparatus and method for network analysis |
| ES2302828T5 (es) * | 2001-06-13 | 2016-05-13 | Opentv, Inc. | Procedimiento y aparato para la adquisición y la monitorización mejoradas de secciones de tabla de información de evento |
| RU2239228C2 (ru) * | 2001-07-05 | 2004-10-27 | Всероссийский научно-исследовательский институт автоматики | Способ распределения времени центрального процессора между задачами в автоматизированных системах управления технологическими процессами |
| KR100425681B1 (ko) * | 2001-07-23 | 2004-04-03 | 엘지전자 주식회사 | 디에스엠-씨씨 기반 장치의 에이피아이 구현 장치 및 방법 |
| US7154916B2 (en) * | 2001-07-26 | 2006-12-26 | The Directv Group, Inc. | Method for real-time insertion of auxiliary data packets into DSS bitstream in the presence of one or more service channels |
| WO2003015394A2 (en) * | 2001-08-06 | 2003-02-20 | Digeo, Inc. | System and method to provide local content and corresponding applications via carousel transmission |
| US6996564B2 (en) * | 2001-08-13 | 2006-02-07 | The Directv Group, Inc. | Proactive internet searching tool |
| RU2310224C2 (ru) * | 2001-10-02 | 2007-11-10 | Ситрикс Системз, Инк. | Способы распределенного выполнения программы со связью по типу файла в сетях с архитектурой клиент-сервер |
| US7343487B2 (en) | 2001-10-10 | 2008-03-11 | Nokia Corporation | Datacast distribution system |
| US20040072584A1 (en) * | 2002-03-01 | 2004-04-15 | Kern Ronald J. | Wireless distribution of multimedia content |
| US7844994B2 (en) * | 2002-03-22 | 2010-11-30 | The Directv Group, Inc. | System and method for persistent storage of common user information for interactive television using a centrally located repository |
| US20030236823A1 (en) * | 2002-06-19 | 2003-12-25 | Robert Patzer | Information sharing groups, server and client group applications, and methods therefor |
| US20040031052A1 (en) * | 2002-08-12 | 2004-02-12 | Liberate Technologies | Information platform |
| WO2004021138A2 (en) * | 2002-08-30 | 2004-03-11 | Wink Communications, Inc. | Carousel proxy |
| CN100450256C (zh) * | 2002-10-28 | 2009-01-07 | 中兴通讯股份有限公司 | 移动通信网络规划中小区覆盖文件的分布式处理方法 |
| US9108107B2 (en) * | 2002-12-10 | 2015-08-18 | Sony Computer Entertainment America Llc | Hosting and broadcasting virtual events using 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 |
| US8711923B2 (en) | 2002-12-10 | 2014-04-29 | Ol2, Inc. | System and method for selecting a video encoding format based on feedback data |
| US9077991B2 (en) | 2002-12-10 | 2015-07-07 | Sony Computer Entertainment America Llc | System and method for utilizing forward error correction with video compression |
| US9138644B2 (en) | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
| US20090118019A1 (en) | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
| US9314691B2 (en) | 2002-12-10 | 2016-04-19 | Sony Computer Entertainment America Llc | System and method for compressing video frames or portions thereof based on feedback information from a client device |
| US8964830B2 (en) * | 2002-12-10 | 2015-02-24 | Ol2, Inc. | System and method for multi-stream video compression using multiple encoding formats |
| 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 |
| US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
| US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
| US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
| US20060051059A1 (en) | 2004-09-08 | 2006-03-09 | Krakirian Haig H | Video recorder having user extended and automatically extended time slots |
| EA005455B1 (ru) * | 2003-05-05 | 2005-02-24 | Виктор Александрович Мамонтов | Способ программирования устройств дистанционного управления |
| US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
| US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
| US20050071240A1 (en) * | 2003-09-26 | 2005-03-31 | Ewald Stephen A. | System and method for purchasing linked with broadcast media |
| JP2005216140A (ja) * | 2004-01-30 | 2005-08-11 | Fujitsu Ten Ltd | 発注確認装置および発注確認方法 |
| FR2871639A1 (fr) * | 2004-06-11 | 2005-12-16 | Thomson Licensing Sa | Procede de gestion de programmes auxiliaires et recepteur et systeme correspondants |
| DE602004020069D1 (de) * | 2004-09-14 | 2009-04-30 | Fiat Ricerche | Vorrichtung und Verfahren zur Qualitätsüberwachung von Industrieprozessen |
| US8086575B2 (en) | 2004-09-23 | 2011-12-27 | Rovi Solutions Corporation | Methods and apparatus for integrating disparate media formats in a networked media system |
| JP2006094415A (ja) * | 2004-09-27 | 2006-04-06 | Toshiba Corp | 映像装置及び映像ストリーミング方法 |
| US7680758B2 (en) | 2004-09-30 | 2010-03-16 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
| US7752600B2 (en) | 2004-09-30 | 2010-07-06 | Citrix Systems, Inc. | Method and apparatus for providing file-type associations to multiple applications |
| US8117559B2 (en) | 2004-09-30 | 2012-02-14 | Citrix Systems, Inc. | Method and apparatus for virtualizing window information |
| 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 |
| US8095940B2 (en) | 2005-09-19 | 2012-01-10 | Citrix Systems, Inc. | Method and system for locating and accessing resources |
| 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 |
| US8806533B1 (en) | 2004-10-08 | 2014-08-12 | United Video Properties, Inc. | System and method for using television information codes |
| US20060112177A1 (en) * | 2004-11-24 | 2006-05-25 | Microsoft Corporation | Method and system for controlling access to presence information on a peer-to-peer basis |
| JP4487761B2 (ja) * | 2004-12-21 | 2010-06-23 | カシオ計算機株式会社 | データ出力装置、および、プログラム |
| US20060168291A1 (en) * | 2005-01-05 | 2006-07-27 | Van Zoest Alexander | Interactive multichannel data distribution system |
| US7664872B2 (en) * | 2005-01-05 | 2010-02-16 | Divx, Inc. | Media transfer protocol |
| US20060200745A1 (en) * | 2005-02-15 | 2006-09-07 | Christopher Furmanski | Method and apparatus for producing re-customizable multi-media |
| JP4546299B2 (ja) * | 2005-03-18 | 2010-09-15 | キヤノン株式会社 | 画像形成装置 |
| JP4478598B2 (ja) * | 2005-03-18 | 2010-06-09 | キヤノン株式会社 | 画像形成装置 |
| JP2006256275A (ja) * | 2005-03-18 | 2006-09-28 | Canon Inc | 装置および画像形成装置 |
| US9973817B1 (en) | 2005-04-08 | 2018-05-15 | Rovi Guides, Inc. | System and method for providing a list of video-on-demand programs |
| DE102006018238A1 (de) | 2005-04-20 | 2007-03-29 | Logitech Europe S.A. | System und Verfahren zur adaptiven Programmierung einer Fernbedienung |
| US7620902B2 (en) * | 2005-04-20 | 2009-11-17 | Microsoft Corporation | Collaboration spaces |
| US8661459B2 (en) | 2005-06-21 | 2014-02-25 | Microsoft Corporation | Content syndication platform |
| US9104773B2 (en) * | 2005-06-21 | 2015-08-11 | Microsoft Technology Licensing, Llc | Finding and consuming web subscriptions in a web browser |
| US20070079342A1 (en) | 2005-09-30 | 2007-04-05 | Guideworks, Llc | Systems and methods for managing local storage of on-demand content |
| US20070083620A1 (en) * | 2005-10-07 | 2007-04-12 | Pedersen Bradley J | Methods for selecting between a predetermined number of execution methods for an application program |
| US8131825B2 (en) | 2005-10-07 | 2012-03-06 | Citrix Systems, Inc. | Method and a system for responding locally to requests for file metadata associated with files stored remotely |
| US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
| US7813963B2 (en) | 2005-12-27 | 2010-10-12 | The Pen | Interactive electronic desktop action method and system for executing a transaction |
| US9681105B2 (en) | 2005-12-29 | 2017-06-13 | Rovi Guides, Inc. | Interactive media guidance system having multiple devices |
| US8607287B2 (en) | 2005-12-29 | 2013-12-10 | United Video Properties, Inc. | Interactive media guidance system having multiple devices |
| EP1818812B1 (en) * | 2006-01-25 | 2016-01-06 | Brandt Technologies Limited | System and method for effecting simultaneous control of remote computers |
| US8280843B2 (en) * | 2006-03-03 | 2012-10-02 | Microsoft Corporation | RSS data-processing object |
| US7979803B2 (en) * | 2006-03-06 | 2011-07-12 | Microsoft Corporation | RSS hostable control |
| US9386327B2 (en) | 2006-05-24 | 2016-07-05 | Time Warner Cable Enterprises Llc | Secondary content insertion apparatus and methods |
| US8280982B2 (en) | 2006-05-24 | 2012-10-02 | Time Warner Cable Inc. | Personal content server apparatus and methods |
| US8024762B2 (en) | 2006-06-13 | 2011-09-20 | Time Warner Cable Inc. | Methods and apparatus for providing virtual content over a network |
| KR100823282B1 (ko) * | 2006-09-29 | 2008-04-21 | 삼성전자주식회사 | 데이터 방송 애플리케이션을 수신, 저장 및 실행하기 위한방법 및 장치 |
| US7653661B2 (en) * | 2006-12-29 | 2010-01-26 | Sap Ag | Monitoring connection between computer system layers |
| CN101231731B (zh) * | 2007-01-25 | 2015-10-21 | 运软网络科技(上海)有限公司 | 一种应用虚拟化在公网上的通用商务方法及其迷你服务器 |
| US8181206B2 (en) | 2007-02-28 | 2012-05-15 | Time Warner Cable Inc. | Personal content server apparatus and methods |
| US9104962B2 (en) * | 2007-03-06 | 2015-08-11 | Trion Worlds, Inc. | Distributed network architecture for introducing dynamic content into a synthetic environment |
| US8898325B2 (en) * | 2007-03-06 | 2014-11-25 | Trion Worlds, Inc. | Apparatus, method, and computer readable media to perform transactions in association with participants interacting in a synthetic environment |
| US7801888B2 (en) | 2007-03-09 | 2010-09-21 | Microsoft Corporation | Media content search results ranked by popularity |
| US20090019492A1 (en) | 2007-07-11 | 2009-01-15 | United Video Properties, Inc. | Systems and methods for mirroring and transcoding media content |
| US20090064247A1 (en) * | 2007-08-31 | 2009-03-05 | Jacked, Inc. | User generated content |
| US20090100357A1 (en) * | 2007-10-11 | 2009-04-16 | Alessio Signorini | Systems and methods for visually selecting information |
| US8171483B2 (en) | 2007-10-20 | 2012-05-01 | Citrix Systems, Inc. | Method and system for communicating between isolation environments |
| BRPI0819170A8 (pt) * | 2007-11-08 | 2015-11-24 | Genetic Finance Holdings Ltd | Método para executar uma tarefa computacional, e, sistema de computador em rede configurado para executar uma tarefa computacional |
| US20090133078A1 (en) | 2007-11-16 | 2009-05-21 | United Video Properties, Inc | Systems and methods for automatically purchasing and recording popular pay programs in an interactive media delivery system |
| EP2218039A4 (en) * | 2007-12-05 | 2013-06-05 | Onlive Inc | SYSTEM AND METHOD FOR VIDEO COMPRESSION BASED ON KNOWN INTRAFRAME MOVEMENT |
| US9503691B2 (en) | 2008-02-19 | 2016-11-22 | Time Warner Cable Enterprises Llc | Methods and apparatus for enhanced advertising and promotional delivery in a network |
| US8327402B1 (en) | 2008-07-15 | 2012-12-04 | United Video Properties, Inc. | Methods and devices for presenting an interactive media guidance application |
| US8626863B2 (en) * | 2008-10-28 | 2014-01-07 | Trion Worlds, Inc. | Persistent synthetic environment message notification |
| US10063934B2 (en) | 2008-11-25 | 2018-08-28 | Rovi Technologies Corporation | Reducing unicast session duration with restart TV |
| US8156089B2 (en) | 2008-12-31 | 2012-04-10 | Apple, Inc. | Real-time or near real-time streaming with compressed playlists |
| US8578272B2 (en) | 2008-12-31 | 2013-11-05 | Apple Inc. | Real-time or near real-time streaming |
| US20100169458A1 (en) | 2008-12-31 | 2010-07-01 | David Biderman | Real-Time or Near Real-Time Streaming |
| US8260877B2 (en) | 2008-12-31 | 2012-09-04 | Apple Inc. | Variant streams for real-time or near real-time streaming to provide failover protection |
| US8694585B2 (en) * | 2009-03-06 | 2014-04-08 | Trion Worlds, Inc. | Cross-interface communication |
| US8661073B2 (en) * | 2009-03-06 | 2014-02-25 | Trion Worlds, Inc. | Synthetic environment character data sharing |
| US8657686B2 (en) * | 2009-03-06 | 2014-02-25 | Trion Worlds, Inc. | Synthetic environment character data sharing |
| JP5695030B2 (ja) * | 2009-04-28 | 2015-04-01 | センティエント テクノロジーズ (バルバドス) リミテッド | 資産管理及び資産取引の為の分散型進化的アルゴリズム |
| US8090797B2 (en) | 2009-05-02 | 2012-01-03 | Citrix Systems, Inc. | Methods and systems for launching applications into existing isolation environments |
| US8214515B2 (en) | 2009-06-01 | 2012-07-03 | Trion Worlds, Inc. | Web client data conversion for synthetic environment interaction |
| US9166714B2 (en) | 2009-09-11 | 2015-10-20 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
| US9014546B2 (en) | 2009-09-23 | 2015-04-21 | Rovi Guides, Inc. | Systems and methods for automatically detecting users within detection regions of media devices |
| US8560642B2 (en) | 2010-04-01 | 2013-10-15 | Apple Inc. | Real-time or near real-time streaming |
| US8805963B2 (en) | 2010-04-01 | 2014-08-12 | 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 |
| US8892691B2 (en) | 2010-04-07 | 2014-11-18 | Apple Inc. | Real-time or near real-time streaming |
| US9299311B2 (en) | 2010-05-28 | 2016-03-29 | Hewlett Packard Enterprise Development Lp | Disabling a display refresh process |
| US8508401B1 (en) | 2010-08-31 | 2013-08-13 | Logitech Europe S.A. | Delay fixing for command codes in a remote control system |
| US8856283B2 (en) | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
| US8843586B2 (en) | 2011-06-03 | 2014-09-23 | Apple Inc. | Playlists for real-time or near real-time streaming |
| 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 | 阿里巴巴集团控股有限公司 | 资源调度方法及装置、支付方法及装置 |
| CN115955587B (zh) * | 2022-12-29 | 2026-05-19 | 杭州国芯微电子股份有限公司 | 一种VBI Teletext数据的传输方法 |
Family Cites Families (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3602891A (en) * | 1969-03-10 | 1971-08-31 | Univ Washington | Continuous transmission computer and multiple receiver system |
| US3803491A (en) * | 1971-05-26 | 1974-04-09 | Tocom | Communications system |
| US3891792A (en) * | 1974-06-25 | 1975-06-24 | Asahi Broadcasting | Television character crawl display method and apparatus |
| US4528589A (en) * | 1977-02-14 | 1985-07-09 | Telease, Inc. | Method and system for subscription television billing and access |
| US4264925A (en) * | 1979-08-13 | 1981-04-28 | Michael J. Freeman | Interactive cable television system |
| US4323922A (en) * | 1979-12-17 | 1982-04-06 | Oak Industries Inc. | Television coding system with channel level identification |
| US4965825A (en) * | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
| CA1177558A (en) † | 1982-04-15 | 1984-11-06 | Groupe Videotron Ltee. (Le) | Cable network data transmission system |
| NL8303991A (nl) * | 1983-11-18 | 1985-06-17 | Nl Standard Electric Mij B V | Kabeltelevisienetwerk. |
| JPS6149574A (ja) * | 1984-08-16 | 1986-03-11 | Sony Corp | プログラムの伝送方法 |
| JP2585535B2 (ja) * | 1986-06-02 | 1997-02-26 | 株式会社日立製作所 | 複合計算機システムにおけるプロセス結合方法 |
| SU1410049A1 (ru) * | 1986-10-04 | 1988-07-15 | Kharchenko Vyacheslav S | Устройство дл обмена данными |
| US4780758A (en) † | 1987-04-30 | 1988-10-25 | Gte Government Systems Corporation | Telecommunication system with burst and continuous audio signals |
| IT1211278B (it) * | 1987-09-02 | 1989-10-12 | Olivetti & Co Spa | Sistema di trasmissione e o ricezione di programmi per calcolatori e o dati attraverso il teletext |
| JPH01161566A (ja) * | 1987-12-18 | 1989-06-26 | Hitachi Ltd | 分散処理システムにおけるデータ処理方式 |
| JPH01221944A (ja) * | 1988-03-01 | 1989-09-05 | Nippon Hoso Kyokai <Nhk> | データ信号送出装置 |
| US5117354A (en) * | 1988-05-24 | 1992-05-26 | Carnes Company, Inc. | Automated system for pricing and ordering custom manufactured parts |
| US5251301A (en) * | 1988-05-27 | 1993-10-05 | Pc Connection, Inc. | Computer remote control through a video signal |
| US5191573A (en) * | 1988-06-13 | 1993-03-02 | Hair Arthur R | Method for transmitting a desired digital video or audio signal |
| JPH0627967B2 (ja) * | 1988-06-17 | 1994-04-13 | 株式会社エスシーシー | Cai学習方法および装置 |
| SU1566362A1 (ru) * | 1988-07-21 | 1990-05-23 | Харьковское Высшее Военное Командно-Инженерное Училище Ракетных Войск Им.Маршала Советского Союза Крылова Н.И. | Многоканальное устройство дл обмена управл ющей информацией в вычислительной системе |
| SU1571594A1 (ru) * | 1988-08-11 | 1990-06-15 | Войсковая Часть 32103 | Устройство дл обмена информацией в мультипроцессорной вычислительной системе |
| JPH02161844A (ja) * | 1988-12-14 | 1990-06-21 | Hitachi Ltd | 情報配布サービス方式 |
| US4994908A (en) † | 1988-12-23 | 1991-02-19 | Scientific-Atlanta, Inc. | Interactive room status/time information system |
| US5003591A (en) † | 1989-05-25 | 1991-03-26 | General Instrument Corporation | Functionally modifiable cable television converter system |
| AU628753B2 (en) * | 1990-08-14 | 1992-09-17 | Digital Equipment Corporation | Method and apparatus for implementing server functions in a distributed heterogeneous environment |
| JPH04127688A (ja) * | 1990-09-18 | 1992-04-28 | Fujitsu General Ltd | 文字放送受信機 |
| DK0551433T3 (da) * | 1990-10-01 | 2001-07-30 | Thomas A Bush | Transaktionsbehandlingssystem |
| US5129080A (en) * | 1990-10-17 | 1992-07-07 | International Business Machines Corporation | Method and system increasing the operational availability of a system of computer programs operating in a distributed system of computers |
| GB2249416B (en) * | 1990-12-31 | 1994-08-17 | Ruego Dev Co | A data processing system. |
| NZ241520A (en) * | 1991-02-06 | 1995-07-26 | Catalina Marketing Int | Retail purchasing: discounts accumulated and printout produced |
| US5168356A (en) * | 1991-02-27 | 1992-12-01 | General Electric Company | Apparatus for segmenting encoded video signal for transmission |
| EP0514819B1 (en) * | 1991-05-23 | 1996-05-01 | Hitachi, Ltd. | Wide-screen television receiver with aspect ratio conversion function and method of displaying a magnified range |
| 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 |
| US5819034A (en) | 1994-04-28 | 1998-10-06 | Thomson Consumer Electronics, Inc. | Apparatus for transmitting and receiving executable applications as for a multimedia system |
| US5548532A (en) * | 1994-04-28 | 1996-08-20 | Thomson Consumer Electronics, Inc. | Apparatus and method for formulating an interactive TV signal |
| 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 |
-
1994
- 1994-04-28 US US08/233,908 patent/US5819034A/en not_active Ceased
-
1995
- 1995-03-30 CA CA002145899A patent/CA2145899C/en not_active Expired - Lifetime
- 1995-04-19 AT AT95105803T patent/ATE278285T1/de not_active IP Right Cessation
- 1995-04-19 PT PT03002722T patent/PT1307024E/pt unknown
- 1995-04-19 ES ES03002722T patent/ES2387085T3/es not_active Expired - Lifetime
- 1995-04-19 EP EP95105803A patent/EP0680185B1/en not_active Expired - Lifetime
- 1995-04-19 EP EP03002721A patent/EP1307023A3/en not_active Withdrawn
- 1995-04-19 ES ES95105803T patent/ES2232816T3/es not_active Expired - Lifetime
- 1995-04-19 PT PT03002720T patent/PT1307022E/pt unknown
- 1995-04-19 PT PT03002723T patent/PT1307025E/pt unknown
- 1995-04-19 DK DK95105803T patent/DK0680185T3/da active
- 1995-04-19 EP EP03002720A patent/EP1307022B1/en not_active Expired - Lifetime
- 1995-04-19 EP EP03002723A patent/EP1307025B1/en not_active Expired - Lifetime
- 1995-04-19 AT AT03002720T patent/ATE518348T1/de active
- 1995-04-19 ES ES03002723T patent/ES2372692T3/es not_active Expired - Lifetime
- 1995-04-19 AT AT03002723T patent/ATE523014T1/de active
- 1995-04-19 ES ES03002720T patent/ES2370166T3/es not_active Expired - Lifetime
- 1995-04-19 EP EP03002722.1A patent/EP1307024B2/en not_active Expired - Lifetime
- 1995-04-19 DE DE69533565T patent/DE69533565T2/de not_active Expired - Lifetime
- 1995-04-24 JP JP9888295A patent/JPH08166925A/ja active Pending
- 1995-04-25 KR KR1019950009741A patent/KR100363593B1/ko not_active Expired - Lifetime
- 1995-04-25 SG SG1995000321A patent/SG28257A1/en unknown
- 1995-04-25 RU RU95106682A patent/RU2142158C1/ru active
- 1995-04-27 CN CN200610093448.8A patent/CN1893648B/zh not_active Expired - Lifetime
- 1995-04-27 CN CNB031029655A patent/CN1311378C/zh not_active Expired - Lifetime
- 1995-04-27 CN CNA2006101019034A patent/CN101212659A/zh active Pending
- 1995-04-27 CN CN95104730A patent/CN1104691C/zh not_active Expired - Lifetime
-
1997
- 1997-03-18 US US08/819,274 patent/US5915090A/en not_active Expired - Lifetime
-
2009
- 2009-04-20 JP JP2009101935A patent/JP2009169971A/ja active Pending
-
2010
- 2010-08-20 JP JP2010185225A patent/JP2011028759A/ja active Pending
-
2012
- 2012-02-23 JP JP2012037961A patent/JP2012123833A/ja active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2370166T3 (es) | Sistema y método para facilitar el pedido de un artículo. | |
| USRE44685E1 (en) | 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 | |
| TW488168B (en) | Method and apparatus for user-controlled selective overlay in a streaming media | |
| EP1053642B1 (en) | A host apparatus for simulating two way connectivity for one way data streams | |
| JP4169180B2 (ja) | 一方向データ・ストリームに対し双方向接続をシミュレートする携帯通信装置 | |
| ES2199264T3 (es) | Procedimiento y aparato para proporcionar una guia interactiva para eventos disponibles en una red de informacion. | |
| US20140096159A1 (en) | Encapsulated, streaming media automation and distribution system | |
| JP2001160072A (ja) | ストリーミング媒体における制御された追加の選択的オーバーレイの動的配信の方法および装置 | |
| JP2012054964A (ja) | 電子書籍の代替的配送システム | |
| PL186146B1 (pl) | Sposób nadawania programu telewizyjnego cyfrowegoi układ do nadawania programu telewizyjnego cyfrowego | |
| US7707605B2 (en) | Data transmission method and system of same, information processing method and system of same, data transmitter, signal processor, content data processing method, and data serving method | |
| JP2002262258A (ja) | コンテンツ配信システムおよびそれに用いるサーバーおよびそれに用いるクライアント端末およびコンテンツ配信方法およびその方法をコンピュータに実行させるためのプログラムを記録した記録媒体 | |
| JP2012054965A (ja) | 電子書籍の代替的配送方法 | |
| HK1057833A (en) | System to facilitate ordering of an item | |
| JP2001286681A (ja) | ネットワークゲームシステム、ネットワークゲーム方法、ネットワークゲーム配信方法およびネットワークゲーム利用方法 | |
| JP2001147943A (ja) | 統計データを使用したストリーミング媒体の動的ターゲット化の方法および装置 | |
| TW535434B (en) | Universal STB architectures and control methods | |
| RU2002107426A (ru) | Способ внутриинформационного размещения рекламы, сервер для внутриинформационного размещения рекламы и средства передачи данных для внутриинформационного размещения рекламы |