ES2379347T3 - Método y sistema para emular un servidor HTTP a través de un carrusel de difusión - Google Patents
Método y sistema para emular un servidor HTTP a través de un carrusel de difusión Download PDFInfo
- Publication number
- ES2379347T3 ES2379347T3 ES03754762T ES03754762T ES2379347T3 ES 2379347 T3 ES2379347 T3 ES 2379347T3 ES 03754762 T ES03754762 T ES 03754762T ES 03754762 T ES03754762 T ES 03754762T ES 2379347 T3 ES2379347 T3 ES 2379347T3
- Authority
- ES
- Spain
- Prior art keywords
- resource
- carousel
- broadcast
- route
- point
- 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
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/16—Arrangements for broadcast or for distribution of identical information repeatedly
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/20—Arrangements for broadcast or distribution of identical information via plural systems
- H04H20/24—Arrangements for distribution of identical information via broadcast system and non-broadcast system
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
- H04N21/23617—Multiplexing of additional data and video streams by inserting additional data into a data carousel, e.g. inserting software modules into a DVB carousel
-
- 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/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management e.g. creating a master electronic programme guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- 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/4782—Web browsing, e.g. WebTV
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
- H04N7/165—Centralised control of user terminal ; Registering at central
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/26—Arrangements for switching distribution systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H2201/00—Aspects of broadcast communication
- H04H2201/30—Aspects of broadcast communication characterised by the use of a return channel, e.g. for collecting users' opinions, for returning broadcast space/time information or for requesting data
- H04H2201/37—Aspects of broadcast communication characterised by the use of a return channel, e.g. for collecting users' opinions, for returning broadcast space/time information or for requesting data via a different channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/09—Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
- H04H60/11—Arrangements for counter-measures when a portion of broadcast information is unavailable
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Método para emular un servidor de publicación en una red de difusión, el método comprendiendo: - recibir una señal de difusión por medio de una ruta de difusión (52) desde un carrusel de difusión (50), la señal de difusión incluyendo un directorio de carrusel (112) que identifica recursos que están disponibles por medio de la ruta de difusión (52); - precargar al menos parte de los recursos en una memoria de un receptor de televisión; - recibir una solicitud para un recurso de un programa de aplicación, donde el programa de aplicación se ejecuta en el televisor (54); - si el recurso solicitado está en la memoria, recuperar el recurso de la memoria y proporcionarlo al programa de aplicación; en caso negativo, - acceder al directorio de carrusel (112) para recibir la solicitud, y buscar en el directorio del carrusel accedido (112) para determinar si el recurso solicitado está disponible por medio de la ruta de difusión (52); - obtener del recurso por medio de la ruta de difusión (52), para determinar si el recurso está disponible por medio de la ruta de difusión (52); y - obtener el recurso de una ruta punto a punto (58) si el recurso no está disponible en la ruta de difusión (52) .
Description
Método y sistema para emular un servidor HTTP a través de un carrusel de difusión
Campo de la invención [0001] Esta invención se refiere generalmente al campo de la televisión interactiva. Más específicamente, se refiere a un método y sistema para enviar y recibir recursos en un sistema de televisión interactiva.
Antecedentes de la invención [0002] En un entorno de difusión, tal como televisión interactiva, un servidor de difusión define generalmente un conjunto de recursos para ser difundidos por una ruta de difusión. La ruta de difusión es típicamente unidireccional, y los recursos son difundidos a uno o más receptores. Un receptor de televisión interactiva comúnmente se conecta a una televisión u otro dispositivo de visualización, que puede en última instancia mostrar los recursos a un usuario. El receptor puede también comunicar con el servidor de difusión o con otros dispositivos usando una ruta punto a punto, y la ruta punto a punto se puede utilizar para recuperar recursos que no están disponibles en la ruta de difusión típicamente más rápida.
[0003] Un tipo de recurso que se puede utilizar en un entorno de televisión interactiva es un recurso de lenguaje de marcado de hipertexto ("HTML", por sus siglas en inglés). Aplicaciones de HTLM pueden estar compuestas de varios recursos referenciados a través de identificadores únicos, tal como un localizador uniforme de recursos ("URL", por sus siglas en inglés) o un identificador uniforme de recursos ("URI", por sus siglas en inglés). Estos identificadores señalan recursos, tal como un servidor u otro ordenador, sobre los que se puede almacenar la aplicación de HTLM.
[0004] Una aplicación puede ser autorizada en un lenguaje de programación, por ejemplo HTLM y Javascript, y publicada para un destinatario usando un servidor de protocolo de transferencia de hipertexto ("HTTP", por sus siglas en inglés). Un componente de software, tal como un navegador, puede recibir la aplicación y mostrar los recursos de la aplicación. Para dar un recurso de HTLM, el navegador de HTLM establece típicamente una conexión con el servidor indicado por un identificador, tal como un URL (por ejemplo) y carga el recurso. El esquema de comunicación entre el navegador de HTLM y el servidor de la aplicación es generalmente un esquema punto a punto, donde el navegador de HTLM establece una conexión bidireccional con el servidor. Este esquema puede contrastar con la ruta de difusión unidireccional en un entorno de televisión interactiva.
[0005] Un ejemplo de una aplicación que la televisión digital ha hecho posible es la televisión interactiva. En un servicio de televisión interactiva, un navegador de HTLM puede intervenir en un dispositivo de televisión digital. Una aplicación es luego restituida sobre una pantalla conectada al dispositivo de televisión digital por establecimiento de una conexión con el servidor que publica la aplicación. Aunque está previsto para uso televisivo, el entorno de televisión digital basado en un navegador de HTLM no proporciona muchas de las ventajas de un entorno de difusión.
[0006] Una manera de proporcionar recursos HTTP en un entorno de difusión es usando el protocolo de transmisión de hipertexto unidireccional ("UHTTP", por sus siglas en inglés). UHTTP proporciona un método para difundir y almacenar localmente recursos. En UHTTP, un servidor UHTTP carga el caché local del receptor enviando datos hasta que el caché se llena o hasta que todos los datos han sido enviados. Un inconveniente de UHTTP es que la cantidad de datos que se puede transmitir a un receptor se limita a las capacidades de almacenamiento locales del receptor. Muchos receptores de televisión interactiva usados habitualmente tienen una capacidad de memoria limitada. La estrategia de ocultamiento local usada para UHTTP para manipular recursos HTTP puede limitar por lo tanto de forma desfavorable la eficiencia de los receptores de televisión interactiva de poca memoria.
[0007] Además, receptores de televisión interactiva pueden requerir recursos por medio de, bien rutas punto a punto o bien de difusión. Sistemas UHTTP, no obstante, requieren que una aplicación use una sintaxis específica para solicitudes de recursos desde rutas de difusión. La sintaxis usada para solicitudes en las rutas de difusión difiere de la sintaxis para solicitudes de recursos en rutas punto a punto. Esta diferencia en la sintaxis puede resultar en un receptor de televisión interactiva que solicite un recurso sobre la ruta de difusión que no está disponible en la ruta de difusión.
[0008] Por lo tanto, existe una necesidad de un sistema nuevo y mejorado y un método para enviar y recibir recursos en un entorno de televisión interactiva.
[0009] El documento WO00/62547 A1 divulga un sistema de televisión interactiva que comprende una estación de difusión para transmitir datos tales como páginas web a una pluralidad de estaciones receptoras. Datos de mayor demanda se transmiten por difusión usando un carrusel de datos. Datos de menor demanda se transmiten por conexiones punto a punto (ct. resumen). Las estaciones receptoras hacen solicitudes a las estaciones de difusión por medio de la conexión punto a punto (ct. página 5, línea 1). La estación de difusión está dispuesta para recuperar páginas web desde un servidor web (página 4, líneas 25-30). Selecciona el canal de transmisión a las estaciones receptoras de acuerdo con un número de solicitudes reales o anticipadas (ct. página 5, último párrafo; página 4, segundo párrafo). Los receptores son receptores de señales digitales como ordenadores personales típicos, que comprenden un microprocesador y un código de sistema operativo (ct. página 7, líneas 11-17). Los STBs no tienen en cuenta si han solicitado datos de mucha o poca demanda. Por lo tanto, cada STB tiene que controlar su sintonizador y su módem para los datos solicitados (ct. página 7, líneas 22-26).
[0010] El documento WO00/39947 divulga un sistema para la difusión de módulos de datos en una forma de carrusel a
un descodificador de señales digitales. Un carrusel de datos de nivel superior lleva al menos un mensaje de directorio
que incluye nombres de módulos para todos los otros módulos en éste o cualquier otro carrusel de datos (ct. página 4, I.
20-22). Mensajes de directorio son periódicamente recibidos por el STB (ct. p. 7, I. 1-6). Cuando una aplicación que
funciona en el STB pide recuperar un módulo en el carrusel de datos, registra esta solicitud en un director de interés en
el STB que mantiene una lista de módulos solicitados (ct. p. 6, I. 15-18). Cuando un mensaje de directorio se recibe por
el STB, verifica los intereses registrados y elimina de la lista de intereses registrados aquellos que ya no existen o que
han sido actualizados (ct. página 12, l. 1-6).
[0011] El documento WO00/07361 divulga un sistema de televisión digital en el que páginas web de HTLM y un mapa
de control son transmitidos usando un carrusel de datos. El mapa de control contiene las ubicaciones de las páginas de
HTLM en el carrusel (ct. resumen) para permitir al espectador navegar entre las páginas HTLM.
Resumen
[0012] En un aspecto de la presente invención, se proporciona un método para procesar las solicitudes de recursos en
un sistema de televisión interactiva. Un módulo de interfaz puede ser ejecutado en un receptor de televisión interactiva.
El módulo de interfaz puede recibir una solicitud para un recurso desde un programa de aplicación. El módulo de
interfaz puede determinar si el recurso está disponible en una ruta de transmisión o una ruta punto a punto, y puede
convertir la solicitud recibida del programa de aplicación en un formato usado para la ruta de transmisión o la ruta punto
a punto. El módulo de interfaz puede obtener el recurso desde la ruta de transmisión o la ruta punto a punto, y éste
puede proporcionar el recurso al programa de aplicación.
[0013] Estos al igual que otros aspectos y ventajas de la presente invención se volverán evidentes para los expertos en
la técnica con la lectura de la siguiente descripción detallada, con referencia apropiada a los dibujos anexos.
Breve descripción de los dibujos
[0014] Una forma de realización ejemplar de la presente invención está descrita aquí con referencia a los dibujos,
donde:
la Figura 1 es una arquitectura ejemplar para un sistema de televisión interactiva;
la Figura 2 muestra una división de una aplicación de televisión interactiva en módulos;
la Figura 3 muestra un orden ejemplar para transmitir los módulos de la figura 2 a un receptor de televisión interactiva
por medio de una ruta de transmisión;
la Figura 4 muestra un sistema de televisión interactiva ejemplar que usa un administrador del carrusel;
la Figura 5 muestra el administrador del carrusel usado en el sistema de televisión interactiva de la figura 4;
la Figura 6 es un organigrama de un proceso ejemplar para construir un carrusel de transmisión;
la Figura 7 muestra un diagrama de bloques que ilustra un módulo de interfaz que funciona en un receptor de televisión
interactiva;
la Figura 8 es un organigrama de un proceso ejemplar para obtener un recurso que usa el módulo de interfaz de la
figura 7 y
la Figura 9 es un organigrama de otro proceso ejemplar para obtener un recurso que usa el módulo de interfaz de la
figura 7.
Descripción detallada de formas de realización ejemplares
Arquitectura de televisión interactiva
[0015] La televisión interactiva proporciona una vía para transmitir contenido interactivo a una televisión. Sistemas de
televisión interactivos pueden proporcionar texto, audio, video, recursos de protocolo de transmisión de hipertexto
("HTTP"), u otro contenido a una televisión, y puede también recibir entrada de un usuario de televisión.
[0016] La Figura 1 representa una arquitectura ejemplar para un sistema de televisión interactiva 62. Un servidor de
transmisión 50 envía información a lo largo de una ruta de transmisión 52 a un receptor de televisión interactiva 54. El
servidor de transmisión 50 puede ser cualquier ordenador u otro tipo de servidor capaz de enviar información a lo largo
de un enlace de datos. El servidor de transmisión 50 contiene preferiblemente un procesador y memoria. El procesador
ejecuta programas, que se pueden almacenar en la memoria. Adicionalmente, la memoria contiene el contenido para
ser transmitido a lo largo de la ruta de transmisión 52 al receptor de televisión interactiva 54.
[0017] La ruta de transmisión 52 puede ser cualquier tipo de enlace de datos y puede llevar datos en una variedad de
diferentes formatos. En una forma de realización preferida, la ruta de transmisión 52 es una ruta de transmisión de
televisión por cable usada para transmitir señales de televisión por cable desde un proveedor de televisión por cable a
una televisión 56. Los datos transmitidos a lo largo de la ruta de transmisión 52 pueden usar los mismos protocolos de
señalización que se usan para la transmisión de señales de televisión por cable a lo largo de la ruta.
[0018] En otra forma de realización, la ruta de transmisión 52 comprende un sistema inalámbrico de transmisión directa
por satélite. Una señal se envía de forma inalámbrica por un satélite a una antena parabólica, u otro receptor, conectado
a la televisión 56. Una vez recibido por la antena parabólica, la señal puede viajar a través de un enlace de datos a la
televisión 56 o al receptor de televisión interactiva 54. En otra forma de realización, la ruta de transmisión 52 puede ser
parte de una red inalámbrica de telecomunicaciones. Por ejemplo, una o más antenas terrestres se pueden utilizar para enviar señales sobre la ruta de transmisión a la televisión. Por supuesto, puede también ser posible usar combinaciones de métodos de transmisión inalámbricos y por cable para el envío de datos en la ruta de transmisión 52.
[0019] El receptor de televisión interactiva 54 se conecta a la ruta de transmisión 52 de un sistema de televisión interactiva, y éste recibe señales de televisión interactivas enviadas a lo largo de la ruta de transmisión 52. El receptor de televisión interactiva 54 contiene comúnmente un procesador y memoria. El receptor de televisión interactiva 54 es capaz de ejecutar programas almacenados en su memoria, y es capaz de ejecutar los programas recibidos a lo largo de la ruta de transmisión 52 del servidor de transmisión 50. En una forma de realización preferida, el receptor de televisión interactiva 54 incluye un descodificador de señales digitales de un tipo que es bien conocido en la técnica, conectado a la televisión 56. No obstante, otro dispositivo conectado a la televisión 56, tal como un ordenador, una consola de juegos, u otro dispositivo programable, puede funcionar como el receptor de televisión interactiva 54. Mientras que el receptor de televisión interactiva 54 se ilustra como un componente separado de la televisión 56, en una forma de realización alternativa toda o parte de la funcionalidad del receptor de televisión interactiva 54 se puede integrar en la televisión 56. En otra forma de realización, la funcionalidad del receptor de televisión interactiva 54 se puede distribuir a través de más de un componente conectado a la televisión 56.
[0020] El receptor de televisión interactiva 54 se conecta a la televisión 56 y proporciona una interfaz entre el servidor de transmisión 50 y la televisión 56. El receptor de televisión interactiva 54, por ejemplo, puede pasar señales de televisión por cable directamente a la televisión 56, que permitirían la vista común de señales de televisión por cable. El receptor de televisión interactiva 54, no obstante, puede recibir y procesar señales de televisión interactiva enviadas desde el servidor de transmisión 50.
[0021] El receptor de televisión interactiva 54, por ejemplo, puede convertir las señales de televisión interactiva en un formato entendido por la televisión 56. Por ejemplo, las señales de televisión interactiva enviadas desde el servidor de transmisión 50 pueden necesitar ser descomprimidas o descodificadas. El receptor de televisión interactiva 54 puede realizar la descodificación y descompresión para recuperar las señales originales, y puede realizar otro procesamiento en estas señales. El receptor de televisión interactiva 54 manda el contenido de televisión interactiva que ha sido convertido en un formato apropiado para visualizar, a la televisión 56 para su visualización. Un usuario puede luego ver el contenido de televisión interactiva visualizado en la televisión 56.
[0022] El receptor de televisión interactiva 54 puede adicionalmente contener dispositivos de entrada. Por ejemplo, puede contener un teclado, ratón u otros dispositivos para permitir que un usuario interactúe con la televisión 56 y el receptor de televisión interactiva 54. Usando los dispositivos de entrada, el usuario puede, por ejemplo, responder a los datos visualizados en la televisión 56. Las selecciones del usuario pueden utilizarse para dirigir interactivamente el contenido visualizado en la televisión 56, proporcionando así un sistema de televisión interactiva.
[0023] En un ejemplo, el sistema de televisión interactiva proporciona una sesión de navegación web a un usuario. El receptor de televisión interactiva 54 se conecta a Internet 60 a través del servidor de transmisión 50, y el receptor de televisión interactiva 54 ejecuta un navegador apropiado. El receptor de televisión interactiva 54 recibe el contenido de Internet desde Internet 60 por medio del servidor de transmisión 50. El receptor de televisión interactiva 54 luego usa el navegador para mostrar el contenido de Internet en la televisión 56. Un usuario puede usar el teclado, ratón u otro dispositivo de entrada, para navegar por diferentes páginas web o enlaces, interactuando así con la televisión 56.
[0024] En un sistema de televisión interactiva la ruta de transmisión 52 es típicamente unidireccional, aunque se pueden utilizar rutas de transmisión bidireccionales en los sistemas de televisión interactiva. La ruta de transmisión 52 puede ser la misma ruta usada para suministrar servicios de televisión por cable, y los servicios de televisión por cable son generalmente unidireccionales. En un sistema de televisión por cable, se envían señales desde un servidor de televisión por cable a la televisión 56. Durante la transmisión desde el servidor de televisión por cable a la televisión 56, las señales de televisión por cable pueden pasar a través de enrutadores, repetidores u otros dispositivos de la red. Puesto que un sistema de televisión por cable no requiere información de retorno desde la televisión 56, los elementos de la red son comúnmente configurados para soportar sólo la comunicación unidireccional. Por lo tanto, los datos no pueden ser enviados "de vuelta" a través de las líneas de televisión por cable al servidor de transmisión 50.
[0025] Las señales en un sistema de transmisión directa por satélite se transmiten desde una torre de transmisión a un satélite y luego en última instancia se reciben por una antena parabólica, u otro dispositivo, conectado a una televisión
56. La antena parabólica es también generalmente equipada para recibir sólo señales del satélite y no transmitir señales al satélite. Asimismo, el satélite no está configurado para recibir señales transmitidas desde varios abonados.
[0026] Para permitir la comunicación bidireccional en un sistema de televisión interactiva 62, el receptor de televisión interactiva 54 usa una ruta punto a punto 58, también llamada una ruta de retorno. La ruta punto a punto 58 es típicamente diferente de la ruta de difusión 52. La ruta punto a punto 58 puede ser cualquier número de enlaces de datos, pero comúnmente la ruta punto a punto 58 es una línea de teléfono, módem de cable u otro enlace bidireccional. La ruta punto a punto 58 podría también ser un enlace inalámbrico, tal como una interfaz con una red celular.
[0027] La ruta punto a punto 58 se conecta con el receptor de televisión interactiva 54. Como se representa en la figura 1, la ruta punto a punto 58 se conecta a Internet 60. Esto puede realizarse, por ejemplo, por conexión a un Proveedor de Servicio de Internet ("ISP") a través de una línea de teléfono. El ISP puede sucesivamente proporcionar conectividad a Internet 60. Una vez conectado a Internet 60, el receptor de televisión interactiva 54 puede acceder a otros dispositivos también conectados a Internet 60. Por ejemplo, el receptor de televisión interactiva 54 puede comunicar con un proveedor de servicios 64 conectado a Internet 60. El receptor de televisión interactiva 54 puede enviar un mensaje por medio de la ruta punto a punto 58 a Internet 60, donde el mensaje es en última instancia dirigido al proveedor de servicios 64.
[0028] Asimismo, el receptor de televisión interactiva 54 puede comunicar con el servidor de transmisión 50 por medio de Internet 60 o por medio de otra red conectada, así formando un enlace de comunicación bidireccional entre el servidor de transmisión 50 y el receptor de televisión interactiva 54. El servidor de transmisión 50 envía preferiblemente información al receptor de televisión interactiva 54 por medio de la ruta de difusión 52, debido a que la ruta de difusión es comúnmente más rápida que la ruta punto a punto 58. El receptor de televisión interactiva 54 puede enviar información al servidor de transmisión 50 usando la ruta punto a punto 58.
[0029] Mientras que la Figura 1 ilustra la conexión de ruta punto a punto 58 a Internet 60, se puede también conectar a otra red o directamente al servidor de transmisión 50. Luego, el receptor de televisión interactiva 54 puede comunicar con los otros dispositivos enlazados al receptor de televisión interactiva 54 por medio de la ruta punto a punto 58. En otra forma de realización, la ruta punto a punto 58 puede ser la misma que la ruta de difusión 52.
Carrusel de difusión [0030] El servidor de difusión 50 puede enviar contenido de televisión interactiva al receptor de televisión interactiva 54 por medio de la ruta de difusión 52 usando un constructo de flujo de datos de ahora en adelante referido como un carrusel. Un receptor de televisión interactiva 54 puede incluir una memoria que puede utilizarse para memorizar contenido televisivo interactivo enviado desde el servidor de difusión 50; no obstante, la memoria se puede limitar en un receptor de televisión interactiva 54. Por lo tanto, el receptor de televisión interactiva 54 no puede ser capaz de memorizar en su memoria una aplicación de televisión entera interactiva o una pieza entera de contenido de televisión interactiva. El servidor de difusión 50 puede sin embargo enviar el contenido de televisión interactiva a pesar de la memoria limitada en el receptor de televisión interactiva 54 usando un carrusel.
[0031] El carrusel se puede implementar como una corriente de datos dividida para ser transmitida al receptor de televisión interactiva 54 en ciclos regulares. La transmisión cíclica, o periódica, de los datos permite al receptor de televisión interactiva 54 recuperar cualquier dato no habitualmente en la memoria en el tiempo de ciclo del carrusel. Es decir, el receptor de televisión interactiva 54 no necesita memorizar un programa entero ya que las partes que no encajan en la memoria limitada están disponibles durante la transmisión cíclica del carrusel. El receptor de televisión interactiva 54 puede recuperar, memorizar y visualizar el contenido televisivo extrayendo las partes de datos del carrusel.
[0032] En un proceso ejemplar para formar un carrusel, el servidor de difusión 50 primero determina qué datos deberían ser enviados al receptor de televisión interactiva 54. Los datos pueden ser una aplicación para ser ejecutada en el receptor de televisión interactiva 54, pueden ser páginas web para una sesión de navegación web o pueden ser muchos otros tipos de datos o contenido soportados por el sistema de televisión interactiva 62. El servidor de difusión 50 luego divide los datos en módulos. Los módulos son partes de datos generalmente más pequeños para ser transmitidos al receptor de televisión interactiva 54 por medio de la ruta de difusión 52. Además de dividir los datos en módulos, el servidor de difusión 50 forma adicionalmente un directorio del carrusel 112. El directorio del carrusel 112 incluye un listado de los módulos del carrusel. El directorio del carrusel 112 permite una aplicación de televisión interactiva para determinar a qué parte del carrusel acceder para obtener el recurso. Las direcciones del carrusel identifican la ubicación de recursos en el carrusel.
[0033] Los módulos se envían al receptor de televisión interactiva 54, y el receptor de televisión interactiva 54 puede memorizar los módulos para el uso en el sistema de televisión interactiva 62. Como la memoria disponible en el receptor de televisión interactiva 54 puede ser limitada, los módulos son continuamente enviados al receptor de televisión interactiva 54 en una forma giratoria. Cuando se necesite, el receptor de televisión interactiva 54 puede recuperar un módulo de la ruta de difusión, y éste puede sobrescribir uno o más módulos previamente recibidos con el módulo recibido más recientemente.
[0034] Enviando los módulos de esta manera, el receptor de televisión interactiva 54 puede memorizar sólo una parte de los módulos en cualquier tiempo dado, pero todavía tienen acceso a los otros módulos. Cuando el receptor de televisión interactiva 54 necesita acceder a un módulo que no está en la memoria, sólo tiene que esperar un rato antes de que el módulo se envíe como una parte de las transmisiones rotativas continuas del carrusel. Esto puede reducir la cantidad de memoria necesitada en el receptor de televisión interactiva 54 para alojar grandes aplicaciones.
[0035] La Figura 2 muestra una división ejemplar de una aplicación de televisión interactiva en seis módulos 100, 102, 104, 106, 108, 110. Cada módulo puede incluir una o más partes de la aplicación. Cada módulo puede soportar cantidades diferentes de información, y, por lo tanto, los módulos pueden diferir en tamaño. Además de llevar parte de una aplicación de televisión interactiva, un módulo puede contener información de control, información de cabecera, u otros datos. Por supuesto, una aplicación de televisión interactiva se puede dividir en un número superior o inferior de módulos, y un módulo de televisión interactiva puede llevar una o más aplicaciones de televisión interactivas parciales o completas. Además de los seis módulos de datos 100, 102, 104,106,108,110, un directorio de carrusel 112 es también creado. El directorio de carrusel 112 puede incluir un listado general de la división de la aplicación de televisión interactiva en los seis módulos de datos 100, 102,104,106,108,110.
[0036] La Figura 3 muestra un orden ejemplar para módulos de transmisión en el carrusel al receptor de televisión interactiva 54 por medio de la ruta de difusión 52. Primero, el directorio de carrusel 112 se transmite al receptor de televisión interactiva 54. Después, el módulo_1 100 y módulo_2 102 se transmiten al receptor de televisión interactiva
54. Luego, el directorio de carrusel 112 es retransmitido, y el módulo_3 104 y módulo_4 106 son transmitidos. Nuevamente, el directorio de carrusel 112 se retransmite y el módulo_5 108 y módulo_6 110 son transmitidos. Después de la transmisión del módulo 6 110, el ciclo empieza a repetirse con la transmisión del directorio de carrusel 112 y el módulo_1 100. El orden descrito en la Figura 3 es meramente ilustrativo en la naturaleza, y otros órdenes de transmisión pueden también ser usados.
[0037] Mientras que el receptor de televisión interactiva 54 puede tener memoria suficiente para memorizar todos los módulos en una aplicación de televisión interactiva, frecuentemente el tiempo de su memoria se limita y éste puede sólo ser capaz de memorizar una parte de los módulos de carrusel 100, 102, 104, 106, 108, 110. Por ejemplo, un receptor de televisión interactiva 54 puede recibir el carrusel descrito en la Figura 3, y el receptor de televisión interactiva 54 puede tener suficiente memoria para memorizar sólo tres módulos simultáneamente.
[0038] Para alojar la memoria limitada del receptor de televisión interactiva 54, los módulos de carrusel pueden ser continuamente transmitidos al receptor de televisión interactiva 54. Cuando una aplicación que se ejecuta en el receptor de televisión interactiva necesita un módulo, ésta puede obtener el módulo del carrusel. El módulo puede después ser almacenado en la memoria. De forma similar, cuando la aplicación necesita otro módulo, ésta puede obtener el módulo del carrusel y memorizar el módulo en su memoria. Por lo tanto, los módulos se pueden obtener y almacenar por el receptor de televisión interactiva 54 en el orden en el que se solicitan por la aplicación.
[0039] Finalmente, el receptor de televisión interactiva 54 puede obtener un módulo del carrusel, no obstante, puede no tener memoria suficiente para memorizar el módulo recién obtenido. En este caso, el receptor de televisión interactiva 54 puede eliminar uno o varios otros módulos en su memoria. Por ejemplo, el receptor de televisión interactiva 54 puede eliminar el módulo más antiguo almacenado en esta memoria. En otro ejemplo, el receptor de televisión interactiva 54 puede eliminar un módulo que ya no es necesitado por el programa de aplicación. En otro ejemplo, el receptor de televisión interactiva 54 puede usar un criterio diferente para determinar qué módulo eliminar. Como los módulos en el carrusel pueden ser de diferentes tamaños, el receptor de televisión interactiva 54 puede eliminar más de un módulo para despejar el módulo recién obtenido. Una vez que el receptor de televisión interactiva 54 puede despejar el módulo recién recibido, éste se puede almacenar en la memoria y ser accedido por el programa de aplicación.
Gestor del carrusel [0040] La Figura 4 muestra un sistema de televisión interactiva ejemplar usando un director de carrusel. Un carrusel puede utilizarse para transmitir un servicio en un sistema de televisión interactiva 212. Un servicio es generalmente una recogida de recursos. Un recurso puede ser cualquier número de diferentes objetos de datos, tal como un objeto de datos que se puede identificar por un indicador uniforme de recursos ("URI", por sus siglas en inglés) o un localizador uniforme de recursos ("URL", por sus siglas en inglés). Los localizadores uniformes de recursos son descritos con más detalle en Internet Engineering Task Force Request For Comment 1738, "Uniform Resource Locators (URL)", Berners-Lee et al., Diciembre 1994. Los indicadores uniformes de recursos son descritos con más detalle en IETF RFC 2396.
[0041] Por ejemplo, un servicio puede estar en una revista on-line. La revista puede incluir una variedad de diferentes recursos, tal como artículos múltiples. Cada artículo puede incluir además ficheros de audio, ficheros de video u otro contenido. Los artículos se pueden almacenar en línea, por ejemplo, como páginas de lenguaje de marcación de hipertexto ("HTML", por sus siglas en inglés). Por supuesto, otro lenguaje de enlace, tal como HTLM extensible ("XHTML"), lenguaje meta de sitio web ("WML", por sus siglas en inglés) puede también ser usado. Otros recursos pueden ser almacenados usando formatos diferentes, tal como grupo conjunto de expertos en fotografía ("JPEG", por sus siglas en inglés), grupo de expertos en imágenes en movimiento ("MPEG", por sus siglas en inglés), MP3 o cualquier cantidad de otros formatos disponibles. Los recursos se pueden formatear en un página, tal como una página web, que puede proporcionar una recogida de recursos que constituye un único espacio coherente de interacción y visualización. La página puede ella misma ser un recurso, y un servicio puede incluir más de una página.
[0042] Un servicio, tal como la revista on-line, puede ser accedido desde, y a veces almacenado por, un proveedor de servicios 204. El proveedor de servicio 204 se puede conectar al servidor de difusión 50 a través de Internet 60, como se muestra en la Figura 5. Alternativamente, el proveedor de servicio 204 se puede conectar a un trabajo de intranet u otra red que también se conecta al servidor de difusión 50. Proveedores de servicio múltiples 202, 204, 206, 208 pueden interactuar con el servidor de difusión 50 a través de una o más redes. Adicionalmente, cada proveedor de servicio 202, 204, 206, 208 puede memorizar más de un servicio.
[0043] Un director de carrusel 210 preferiblemente funciona en el servidor de difusión 50. El gestor de carrusel 210 se ocupa de generar y transmitir carruseles, que se forman a partir de servicios disponibles por los proveedores de servicio 202, 204, 206, 208. Mientras que el director de carrusel 210 puede manejar servicios creados usando una variedad de diferentes formatos, en una forma de realización preferida el gestor de carrusel 210 se ocupa de generar y transmitir servicios creados en HTLM.
[0044] La Figura 5 ilustra una descripción más detallada del gestor de carrusel 210, que puede ser usada para construir un carrusel de difusión. El gestor de carrusel 210 interactúa con un proveedor de servicios 204 por medio de Internet 60, aunque esto puede realizarse a través de otro tipo de red u otro tipo de conexión. Un cargador 250 en el gestor de carrusel 210 interactúa con el proveedor de servicio 204, y éste recibe un servicio de un proveedor de servicio. Por ejemplo, puede recibir el servicio HTTP del proveedor de servicio 204. El servicio puede ser, por ejemplo, la revista online creada usando HTLM. Por supuesto, el cargador 250 puede obtener otros servicios sin HTTP. Por ejemplo, el cargador 250 puede obtener recursos identificados por un URI o URL, o puede obtener recursos a través de aplicaciones tal como el protocolo de transferencia de ficheros ("FTP", por sus siglas en inglés). El gestor de carrusel 210 puede luego formar el servicio en un carrusel de difusión usando una norma de difusión. El carrusel de difusión puede después ser transmitido al receptor de televisión interactiva 54.
[0045] La Figura 6 es un organigrama de un proceso ejemplar que se puede utilizar para construir un carrusel de difusión. En el paso 350, el administrador de carrusel puede obtener un servicio de un proveedor de servicio. Luego, en el paso 352, el administrador de carrusel puede obtener una política de difusión del proveedor de servicio. Después, el administrador de carrusel puede crear un carrusel de difusión usando la política de difusión obtenida del proveedor de servicio, mostrado en el paso 354. Luego, el carrusel puede ser difundido al receptor de televisión interactiva, mostrado en el paso 356.
[0046] Con referencia continua a la Figura 5, el cargador 250 puede también determinar una política de difusión para el servicio. La política de difusión generalmente define qué recursos serán difundidos al receptor de televisión interactiva 54 sobre la ruta de difusión y qué recursos sólo estarán disponibles para el receptor de televisión interactiva 54 sobre la ruta punto a punto 58. Varios factores diferentes se pueden considerar en desarrollo de la política de difusión, y la política de difusión se puede formar en una variedad de maneras diferentes.
[0047] La ruta de difusión 52 soporta generalmente un ancho de banda amplio, y, por lo tanto, puede ser capaz de soportar el envío de grandes cantidades de datos; no obstante, el receptor de televisión interactiva 54 puede tener memoria limitada. Para alojar el almacenamiento limitado del receptor de televisión interactiva 54, los datos son continuamente enviados al receptor de televisión interactiva 54 en el carrusel. Para obtener datos que habitualmente no están en la memoria, el receptor de televisión interactiva 54 puede esperar a que el carrusel haga un ciclo a través de módulo que retiene los datos. Colocando grandes cantidades de datos en el carrusel para ser enviado al receptor de televisión interactiva 54, el receptor de televisión interactiva 54 puede tener que esperar más tiempo para que el carrusel haga un ciclo a través de los módulos para recibir un módulo que no está habitualmente en su memoria. Por lo tanto, puede ser deseable limitar la cantidad de datos colocados en el carrusel y enviados al receptor de televisión interactiva 54 por medio de la ruta de difusión 52.
[0048] El cargador HTTP 250 usa la política de difusión en una variedad de diferentes maneras. En una forma de realización ejemplar, el proveedor de servicio 204 puede enviar al cargador 250 una política de difusión para ser usada para formar el carrusel. Por ejemplo, el proveedor de servicio 204 puede enviar al cargador 250 un fichero de definición de canal, que se puede usar como la política de difusión. Como se conoce en la técnica, un fichero de definición de canal puede ser un formato específico para identificar una recogida de recursos. El fichero de definición de canal se puede crear por el proveedor de servicio 204, y puede ser asociado con el servicio. Para formar el fichero de definición de canal, el proveedor de servicio 204 puede indicar recursos que son más probables de ser accedidos por el receptor de televisión interactiva 54. Estos recursos, tal y como se define por el fichero de definición de canal, se puede colocar en el carrusel y enviar al receptor de televisión interactiva 54 por medio de la ruta de difusión 52. Los recursos menos accedidos, no obstante, se pueden reservar para la ruta de punto de punto a punto 58. El fichero de definición de canal es de naturaleza meramente ilustrativa, y otros formatos se pueden utilizar para especificar la política de difusión.
[0049] Volviendo al ejemplo de revista on-line, el proveedor de servicio 204 puede especificar un fichero de definición de canal que identifica recursos determinados para colocar en el carrusel. Estos pueden ser, por ejemplo, el índice de la revista on-line, titular de portada, artículos característicos u otros recursos populares. Recursos menos vistos se pueden reservar para la ruta punto a punto 58. Formando el carrusel para incluir recursos comúnmente accedidos, el proveedor de servicio 204 puede limitar el tamaño del carrusel de difusión. Esto puede aumentar la velocidad con la cual el receptor de televisión interactiva 154 puede acceder a los recursos del carrusel. Adicionalmente, un carrusel más pequeño puede reducir la tensión en el sistema de televisión interactiva que se puede provocar enviando continuamente grandes cantidades de datos.
[0050] En otra forma de realización ejemplar de uso de la política de difusión, el administrador de carrusel 210 puede memorizar un fichero de política de difusión 254. El fichero de política de difusión 254 se puede usar conjuntamente con la política de difusión proporcionada por el proveedor de servicio 204 para crear el carrusel. El cargador 250 puede usar el fichero de política de difusión 254 y la política de difusión del proveedor de servicio en una variedad de vías.
[0051] En un ejemplo, la política de difusión del proveedor de servicio puede especificar una lista de recursos para ser colocada en el carrusel. El fichero de política de difusión 254, no obstante, puede ajustar un límite máximo para el tamaño del carrusel. El tamaño definido por el fichero de política de difusión 254 puede ser un número máximo de recursos, un número máximo de bits físicos usado para los recursos, u otra medida. Si las especificaciones de política de difusión del proveedor de servicio no excede el límite máximo establecido por el fichero de política de difusión 254, entonces el cargador 250 puede simplemente usar la política de difusión del proveedor de servicio para crear el carrusel. No obstante, si la política de difusión del proveedor de servicio especifica una cantidad de recursos que excede el límite de tamaño establecido por el fichero de política de difusión del cargador 254, entonces el cargador 250 puede limitar además los recursos colocados en el carrusel. Esto puede realizarse usando muchos métodos diferentes.
[0052] En un ejemplo, la política de difusión del proveedor de servicio puede definir adicionalmente una prioridad de los recursos. El cargador 250 puede entonces usar esta prioridad para determinar qué recursos colocar en el carrusel. En otro ejemplo, el cargador 250 puede definir una prioridad para tipos de recursos. Por ejemplo, las páginas de HTLM pueden recibir una mayor prioridad que los ficheros JPEG. Por lo tanto, para imponer el límite de tamaño máximo del carrusel, el cargador 250 puede eliminar ficheros JPEG de los recursos definidos por la política de difusión del proveedor de servicio. En otro ejemplo, el cargador 250 puede de forma arbitraria eliminar contenido hasta que los límites de tamaño máximo son logrados. Existen también otras vías para imponer el límite de tamaño máximo, y éstas pueden también ser usadas.
[0053] El fichero de política de difusión 254 puede especificar limitaciones o restricciones distintas de un tamaño máximo. Por ejemplo, el fichero de política de difusión del cargador 254 puede restringir ciertos tipos de recursos, tales como ficheros. Por ejemplo, podría especificar que ningún fichero de MPEG se deben colocar en el carrusel, o puede colocar restricciones similares en otros tipos de ficheros. Adicionalmente, el fichero de política de difusión 254 puede colocar restricciones en tamaño o cantidades de ciertos tipos de ficheros. Otras limitaciones pueden también ser usadas.
[0054] En otro tipo de prioridad, la política de difusión puede especificar índices de ciclos para recursos en el carrusel. Por ejemplo, la política de difusión puede especificar que ciertos módulos deberían ser ciclados en el carrusel más frecuentemente que otros recursos. Esto puede permitir que estos módulos sean accedidos más rápidamente. Ya que los módulos serían ciclados en el carrusel más frecuentemente que otros, un receptor de televisión interactiva tendría que esperar una cantidad de tiempo más corta antes de que el carrusel se cicle al módulo. Por lo tanto, el tiempo de espera para obtener el módulo puede ser reducido.
[0055] Estos ejemplos no se destinan a ser exhaustivos. Muchos otros factores se pueden considerar para la creación de una política de difusión. Adicionalmente, existen muchas otras vías para que interactúen la política de difusión del proveedor de servicio y el fichero de política de difusión 254, y éstas pueden también ser usadas.
[0056] Además de usar una política de difusión, el cargador 250 puede también realizar la negociación del contenido. Un recurso puede tener representaciones múltiples. El constructor de carrusel 252 puede realizar la negociación del contenido con el proveedor de servicio 204 y el receptor de televisión interactiva 54 para determinar una representación de recurso apropiada para usar en la construcción del carrusel. Por ejemplo, el proveedor de servicio puede especificar una página HTLM, y esta página HTLM puede tener representaciones múltiples correspondientes a diferentes versiones de HTLM que fueron usadas para crear la página. En otro ejemplo, un recurso de video o audio puede estar disponible en diferentes formatos. Por supuesto, muchas otras representaciones existen para recursos y éstas pueden también ser usadas para realizar la negociación del contenido.
[0057] Un receptor de televisión interactiva 54 puede no ser capaz de soportar cualquiera de las representaciones múltiples. Alternativamente, el receptor de televisión interactiva 54 puede ser capaz de soportar una o más de las representaciones múltiples. Por ejemplo, un recurso puede ser un fichero de imagen. El fichero de imagen puede ser almacenado en múltiples representaciones, tales como JPEG y mapa de bits. El receptor de televisión interactiva 54, no obstante, puede sólo soportar imágenes de mapas de bits. Por lo tanto, el receptor de televisión interactiva 54 puede no ser capaz de mostrar debidamente la representación JPEG de la imagen. Mediante la realización de la negociación de contenido entre el receptor de televisión interactiva 54 y el proveedor de servicio 204, el constructor de carrusel 252 puede seleccionar una representación apropiada para un recurso cuando están disponibles representaciones múltiples. Por ejemplo, el administrador de carrusel 210 puede determinar que el recurso está disponible en las representaciones JPEG y de mapa de bits. Adicionalmente, el administrador de carrusel 210 puede determinar que el programa de aplicación solicitante soporta sólo imágenes de mapa de bits. Entonces, el administrador de carrusel 210 puede obtener la representación de mapa de bits del proveedor de servicio 204 para usar en el carrusel.
[0058] Un método para realizar negociación de contenido se especifica en la norma HTTP 1.1. HTTP 1.1 se describe con más detalle en Internet Engineering Task Force Request For Comment 2616, "Hypertext Transfer Protocol - HTTP/1.1", Fielding et al., Junio 1999, que se incorpora aquí por referencia en su totalidad. Por supuesto, otros métodos pueden también ser usados para realizar la negociación del contenido.
[0059] Una vez que el constructor de carrusel 252 obtiene los recursos para ser colocados en el carrusel, por ejemplo recibiéndolos del cargador 250, el constructor del carrusel 252 puede entonces construir el carrusel. Esto puede realizarse usando un formato de carrusel soportado apropiadamente. Por ejemplo, cada recurso puede ser puesto dentro de un módulo de transporte e insertado en el carrusel por el constructor de carrusel 252. Para un recurso HTTP, por ejemplo, el módulo puede preferiblemente incluir el cuerpo de recursos HTTP y cabeceras de recursos HTTP. El carrusel se puede distribuir a través de múltiples rutas. Como se conoce en la técnica, una ruta puede ser una corriente de difusión elemental.
[0060] Además de construir el carrusel, el constructor de carrusel 252 puede también construir un directorio de carrusel
256. El directorio de carrusel 256 se puede enviar al receptor de televisión interactiva 54 como una parte del carrusel, y esto puede especificar los recursos disponibles en los diferentes módulos del carrusel. El directorio de carrusel 256 puede especificar los recursos disponibles en el carrusel usando una variedad de diferentes métodos. En una forma de realización ejemplar, el directorio del carrusel 256 puede especificar los recursos usando un esquema de direccionamiento del carrusel. Así, el directorio de carrusel 256 puede proporcionar un mapa entre una dirección del módulo de carrusel del recurso y la dirección física del recurso. Otras vías pueden también ser usadas para identificar recursos en el carrusel y para identificar el módulo que lleva un recurso particular.
[0061] El constructor de carrusel 252 puede también construir un índice URI 258. El índice URI 258 puede ser, por ejemplo, una estructura de datos que soporta la información sobre recursos en el carrusel. El índice URI 258 puede incluir un mapa entre una dirección de carrusel del recurso y el del recurso URI u otro identificador único. Por ejemplo, el índice URI 258 puede proporcionar un mapa entre un URI que identificaba el recurso y su ubicación en el carrusel. En otro ejemplo, un recurso puede ser identificado usando un URL, y el índice URI 258 puede proporcionar un mapa entre la dirección URL y la del carrusel del recurso. El índice URI 258 puede utilizarse para proporcionar un mapa entre un recurso URI o URL y la dirección del carrusel del recurso. Luego, el directorio del carrusel 256 puede utilizarse para resolver adicionalmente la dirección de carrusel en la dirección física del recurso en el carrusel.
[0062] Por supuesto, el índice URI 258 podría también proporcionar un mapa más directo. Por ejemplo, el índice URI 258 podría proporcionar un mapa entre un recurso URI y la dirección física del recurso en el carrusel. De forma similar, el índice URI 258 podría proporcionar un mapa entre un URL del recurso, u otro identificador, y la dirección física del recurso en el carrusel. Usando este mapa directo, un recurso identificado por un URI, URL u otro identificador podría ser directamente resuelto a una dirección física usando el índice URI 258. Esto puede eliminar el paso intermedio del uso del directorio de carrusel 256 para resolver una dirección del módulo en una dirección física.
[0063] El carrusel proporciona un conjunto de recursos al receptor de televisión interactiva 54. Los recursos en el carrusel pueden ser periódicamente actualizados según la política de difusión para el carrusel. Los recursos se pueden adicionar y quitar del carrusel, y los recursos se pueden actualizar para proporcionar al receptor de televisión interactiva 54 una versión más actual del recurso. Los cambios en los recursos del carrusel pueden también desencadenar un cambio correspondiente en el directorio del carrusel 256 y el índice URI 258. El directorio del carrusel 256 y el índice URI 258 se pueden actualizar para reflejar la composición cambiada del carrusel.
[0064] Mientras es posible actualizar el directorio del carrusel 256 y el índice URI 258 para reflejar cambios en el carrusel, también puede usarse un índice URI adicional o directorio del carrusel adicional. El índice URI adicional puede reflejar sólo los cambios para el índice URI 258. De forma similar, el directorio del carrusel adicionalmente puede reflejar sólo los cambios al directorio del carrusel 256. Estas actualizaciones más pequeñas pueden después ser usadas junto con el directorio del carrusel 256 y el índice URI 258 para reflejar la composición actual del carrusel.
[0065] En un ejemplo de actualización de los recursos en el carrusel, un recurso puede ser actualizado o eliminado del carrusel cuando espire el recurso. El administrador de carrusel HTTP 210 generalmente difunde recursos que han sido asignados para difundir por el proveedor de servicios 204 o por el cargador 250. El cargador 250 puede también asegurar que el carrusel usa los recursos más actuales. El proveedor de servicio 204 puede especificar información de caducidad para los recursos. Esto puede realizarse a través de la política de difusión, tal como haciendo una entrada para un recurso particular, o la información de caducidad se puede especificar en un recurso mismo. Por ejemplo, una página de HTLM puede especificar información de caducidad.
[0066] En una forma de realización ejemplar, el cargador 250 puede usar el "Modelo de Caducidad Especificado por el Servidor" HTTP 1.1 para evitar que los recursos en el carrusel queden obsoletos. El cargador 250 puede también usar otro modelo para determinar tiempos de caducidad de recursos. Si el cargador 250 determina que un recurso es obsoleto, lo quita del carrusel.
[0067] Por ejemplo, una aplicación que funciona en el receptor de televisión interactiva 54 puede obtener un recurso del carrusel, pero la aplicación puede querer determinar si tiene la versión más actual del recurso. La aplicación puede usar el directorio del carrusel 256 para computar una cabecera de cálculo de edad. El directorio del carrusel 256 se puede utilizar para proporcionar un mecanismo de activación para proporcionar información de actualización en tiempo real en los recursos soportados por el carrusel, determinando así si la aplicación tiene la versión actual del recurso soportada por el carrusel.
[0068] Además de proporcionar una aplicación receptora de televisión interactiva con la versión más actual de los recursos, las caducidades de los recursos pueden utilizarse para mantener los recursos en el carrusel. Cuando un recurso caduca, el cargador 250 puede obtener una versión más actual del recurso del proveedor de servicio 204. El cargador 250 puede proporcionar el recurso actualizado al constructor de carrusel 252, que luego reemplaza la versión obsoleta del recurso en el carrusel con la versión actualizada. Luego, como el carrusel es transmitido, el receptor de televisión interactiva 54 recibe el recurso actualizado. En una forma de realización alternativa, el recurso actualizado no está colocado en el carrusel. El receptor de televisión interactiva 54 puede sólo obtener el recurso actualizado de la ruta punto a punto 58.
[0069] Si una versión más actual del recurso no está disponible, entonces el cargador 250 puede dar la instrucción al constructor de carrusel 252 de que elimine el recurso del carrusel. El constructor de carrusel 252 puede luego por consiguiente actualizar el índice URI 258. El recurso puede entonces no estar ya disponible sobre la ruta de difusión 52.
Módulo de interfaz [0070] La Figura 7 muestra un diagrama de bloques que ilustra un módulo de interfaz 300 que se puede usar en el receptor de televisión interactiva 54. El módulo de interfaz puede ejecutarse en el receptor de televisión interactiva 54, y esto puede servir como una interfaz para un programa de aplicación 302 para solicitar datos del sistema de televisión interactiva. El módulo de interfaz 300 puede recibir una solicitud de recurso desde el programa de aplicación 302. El módulo de interfaz 300 puede luego decidir si obtener el recurso de la ruta de difusión 52 o de la ruta punto a punto 58. Si la solicitud no está ya en un formato soportado, el módulo de interfaz 300 puede traducir la solicitud del programa de aplicación 302 en un formato soportado por la ruta usada para obtener el recurso.
[0071] El programa de aplicación 302 puede ejecutarse en el receptor de televisión interactiva 54. El receptor de televisión interactiva 54 puede ejecutar un módulo de interfaz. El módulo de interfaz puede proporcionar el programa de aplicación 302 con las interfaces del programa de aplicación necesarias ("APIs") para permitir al programa de aplicación 302 cargar un recurso desde el carrusel o desde la ruta punto a punto 58. Como se conoce en la técnica, una API puede ser un conjunto de funciones usado por un programa para comunicar con otro programa, con el sistema operativo o con otros servicios.
[0072] El programa de aplicación 302 podría obtener datos directamente del carrusel enviando una solicitud de datos apropiada desde el carrusel. En la respuesta, el programa de aplicación 302 podría recibir los datos solicitados, que fueron enviados en el carrusel por medio de la ruta de difusión 52. Alternativamente, el programa de aplicación 302 podría obtener datos enviando una solicitud a través de la ruta punto a punto 58 a un proveedor de servicio 64. Entonces, el proveedor de servicio 64 puede provocar que los datos sean enviados al receptor de televisión interactiva 54 a lo largo de la ruta punto a punto 58. No obstante, el formato para solicitar datos desde la ruta de difusión 52 puede diferir del formato para solicitar datos desde la ruta punto a punto 58.
[0073] El módulo de interfaz 300 puede ejecutarse en el receptor de televisión interactiva 54 y servir como interfaz entre el programa de aplicación 302 y las dos rutas de datos 52, 58. El módulo de interfaz 300 puede recibir una solicitud de datos desde el programa de aplicación 302 que se ejecuta en el receptor de televisión interactiva 54. La solicitud de datos al módulo de interfaz 300 puede estar en un formato constante que se puede usar para solicitar un recurso desde la ruta de difusión 52 o la ruta punto a punto 58. El módulo de interfaz 300 puede procesar la solicitud de datos del programa de aplicación 302 para determinar si obtener los datos desde la ruta de difusión 52 o desde la ruta punto a punto 58. Entonces, si es necesario, el módulo de interfaz 300 puede reformatear la solicitud de datos a la sintaxis requerida para la ruta de difusión 52 o la ruta punto a punto 58.
[0074] La Figura 8 es un organigrama de un proceso ejemplar que puede utilizarse para obtener un recurso. En el paso 400, el módulo de interfaz puede recibir una solicitud para un recurso desde un programa de aplicación. Luego, en el paso 402, el módulo de interfaz puede recibir un carrusel de difusión, que incluye un módulo de índice. El módulo de interfaz puede luego buscar el módulo de índice para determinar si el recurso está disponible en el carrusel de difusión, mostrado en el paso 404. Si el recurso está disponible en el carrusel de difusión, se puede proporcionar al programa de aplicación. Si, no obstante, el recurso no está disponible en el carrusel de difusión, entonces se puede obtener de la ruta punto a punto, mostrada en el paso 406.
[0075] La Figura 9 es un organigrama de otro proceso ejemplar que puede utilizarse para obtener un recurso. En el paso 450, el módulo de interfaz puede recibir una solicitud para un recurso desde un programa de aplicación. En el paso 452, el módulo de interfaz puede buscar un índice para determinar si el recurso está disponible en el carrusel. El módulo de índice se puede transmitir al módulo de interfaz en el carrusel. Luego, en el paso 454, el módulo de interfaz determina que el recurso no está disponible en el carrusel. En el paso 456, el módulo de interfaz pide el recurso desde la ruta punto a punto. Luego, en el paso 458, el módulo de interfaz recibe el recurso desde la ruta punto a punto. Finalmente, el módulo de interfaz proporciona el recurso al programa de aplicación solicitante, mostrado en el paso 460.
[0076] Con referencia continuada a la Figura 7, el módulo de interfaz 300 recibe una solicitud de recurso desde el programa de aplicación 302. La solicitud de recurso puede identificar el recurso por su URI o por otro identificador. La solicitud al módulo de interfaz 300 puede estar en un formato estándar, independientemente de la fuente del recurso. En una forma de realización, la solicitud de datos es formateada usando la sintaxis para obtener el recurso desde la ruta de difusión 52. En otra forma de realización, la solicitud de datos es formateada usando la sintaxis para obtener el recurso desde la ruta punto a punto 58. En otra forma de realización, la solicitud de datos es formateada usando otro formato entendido por el módulo de interfaz 300.
[0077] El módulo de interfaz 300 recibe la solicitud de datos y determina qué recurso ha sido solicitado. Luego, el módulo de interfaz 300 puede usar el índice URI 258 para determinar si ese recurso está disponible a través de la ruta de difusión 52. Por ejemplo, el módulo de interfaz 300 puede buscar el índice URI 258 basado en el URI del recurso solicitado. Si el recurso está disponible en la ruta de difusión 52, el índice URI 258 puede proporcionar un mapa entre el URI del recurso y su dirección de carrusel o su ubicación física. Luego, usando el mapa, el módulo de interfaz 300 puede obtener el recurso del carrusel y proporcionarlo al programa de aplicación 302.
[0078] Si, no obstante, el índice URI 258 no memoriza un mapa entre el URI y una dirección de carrusel, entonces el módulo de interfaz 300 puede determinar que el recurso no está disponible en la ruta de difusión 52. Luego, el módulo de interfaz 300 puede solicitar el recurso desde la ruta punto a punto 58. Al solicitar el recurso desde la ruta punto a punto 58, el módulo de interfaz 300 puede usar el protocolo para solicitar recurso desde esta ruta. Y, este protocolo puede diferir del protocolo usado para solicitar recursos desde la ruta de difusión 52. Así, una vez que el módulo de interfaz 300 determina qué ruta usar para solicitar el recurso, el módulo de interfaz 300 puede usar el protocolo apropiado para esta ruta.
[0079] El módulo de interfaz 300 puede proporcionar una manera sin interrupciones para obtener recursos de la ruta de difusión 52 o la ruta punto a punto 58. El programa de aplicación 302 puede solicitar un recurso usando una sintaxis constante, independientemente del origen del recurso. El uso de la única sintaxis para solicitar recursos puede proporcionar diferentes beneficios. En un ejemplo de un beneficio, el uso de la única sintaxis puede eliminar la necesidad de un programador de aplicaciones para determinar dónde habrá un recurso disponible. Puesto que el programador de aplicaciones usa una sintaxis constante para solicitar recursos, el programador de aplicaciones no deberá diferenciarse en el código entre las fuentes posibles del recurso. En el momento de codificar la aplicación, no es necesario conocer si el recurso estará disponible a través de la ruta de difusión 52 o a través de la ruta punto a punto
58. Cuando la aplicación es ejecutada, el módulo de interfaz 300 recibe la solicitud de recurso. Si el recurso está disponible en la ruta de difusión 52, el módulo de interfaz 300 recupera el recurso del carrusel.
[0080] No obstante, si el recurso no está disponible en la ruta de difusión 52, el módulo de interfaz 300 puede obtener el recurso a través de la ruta punto a punto 58 usando un protocolo para obtener recursos por medio de la ruta punto a punto 58. El uso del módulo de interfaz 300 para permitir que un recurso solicitado sea obtenido desde la ruta de difusión 52 o desde la ruta de punto a punto 58 puede reducir errores de programación, que ocurrirían al solicitar un recurso solamente desde una ubicación donde éste no está disponible. El módulo de interfaz 300 puede también reducir necesariamente el uso de la ruta punto a punto 58 (p. ej., donde el programador de aplicación no está seguro si el recurso estará disponible en la ruta de difusión 52 y elige obtener el recurso desde la ruta punto a punto 58) para obtener recursos que de otra manera estarían disponibles en la ruta de difusión más rápida 52.
[0081] En otro ejemplo de un beneficio, el módulo de interfaz 300 puede también permitir al carrusel ser continuamente actualizado sin afectar de forma adversa al programa de aplicación 302. Por ejemplo, un recurso caducado puede ser eliminado del carrusel. Sin el módulo de interfaz 300, eliminar un recurso del carrusel puede causar un error de programación, debido a que el recurso solicitado por el programa de aplicación 302 ya no estaría disponible en la ruta de difusión 52. El módulo de interfaz 300, no obstante, puede ocuparse de convertir la solicitud desde la sintaxis de difusión a la sintaxis punto a punto. La solicitud para el recurso quitado es enviada por medio de la ruta punto a punto 58 y la versión actual del recurso se obtiene desde la ruta punto a punto 58. Esto proporciona al programa de aplicación 302 la versión actual del recurso en vez de la versión caducada que estaba previamente en el carrusel.
[0082] El módulo de interfaz 300 puede también controlar el índice URI 258 para detectar cambios en el carrusel, tal como cuando los recursos son agregados o eliminados del carrusel. Además de controlar el índice URI 258, el módulo de interfaz 300 podría también controlar el índice URI suplementario 258. El índice URI suplementario 258 puede reflejar los cambios del carrusel hechos después de la creación del índice URI original 258, y esto puede proporcionar al módulo de interfaz 300 un método simple y eficaz para detectar cambios en el carrusel. De forma similar, el módulo de interfaz 300 podría detectar cambios en el carrusel controlando el directorio de carrusel 256. Cambios en el carrusel podrían también ser rápidamente y eficazmente detectados usando el directorio de carrusel suplementario.
[0083] Además de ocuparse de las solicitudes de recursos, el módulo de interfaz 300 puede también soportar la precarga de recursos. En un tipo de precarga, el programa de aplicación 302 puede acceder a un recurso, tal como una página HTLM. La página HTLM puede comprender una variedad de otros subrecursos. Mientras el programa de aplicación 302 puede habitualmente acceder a una parte de los subrecursos, el módulo de interfaz 300 puede precargar el resto de los subrecursos que forman la página HTLM. Luego, si el programa de aplicación 302 más tarde intenta acceder a otros subrecursos, los subrecursos son fácilmente disponibles sin tener que ser solicitados de una de las rutas de transporte.
[0084] En otro tipo de precarga, la página HTLM puede incluir enlaces a varios otros recursos. El módulo de interfaz 300 puede precargar los recursos enlazados, así obteniendo los recursos enlazados antes de que estos sean solicitados por el programa de aplicación 302. Una vez recuperados, los recursos se pueden almacenar en la memoria del receptor de televisión interactiva. Luego, si el programa de aplicación 302 pide uno de los recursos en la memoria, éste se puede recuperar de la memoria y proporcionar al programa de aplicación 302. El recurso se puede proporcionar al programa de aplicación 302 sin tener que gastar el tiempo para recuperar el recurso de una de las vías de transmisión.
[0085] En una forma de realización ejemplar, el módulo de interfaz 300 sólo precarga los recursos enlazados que están disponibles a través de la ruta de difusión 52. Desde el servidor de difusión 50 periódicamente se cicla a través del carrusel para enviar los recursos al receptor de televisión interactiva 54, y como ningún ancho de banda adicional sería usado en la ruta de difusión 52 para obtener los recursos, el módulo de interfaz 300 puede obtener esos recursos sin enlentecer el índice de transmisión de datos en la ruta de difusión 52. Esto puede también ser hecho con sólo una cantidad mínima de procesamiento extra por el receptor de televisión interactiva 54. Si el programa de aplicación 302 pide posteriormente los recursos por medio de un enlace en la página de HTLM, el módulo de interfaz 300 puede rápidamente proporcionar los recursos precargados sin tener que esperar a que el carrusel se cicle a través de los recursos solicitados.
[0086] Si el programa de aplicación 302 no solicita los recursos precargados, entonces se pueden quitar de la memoria. Por ejemplo, si el programa de aplicación 302 navega a una nueva página HTLM, el módulo de interfaz 300 puede eliminar los recursos precargados de la página antigua. El módulo de interfaz 300 puede luego precargar recursos para la nueva página HTLM, y los recursos recién precargados pueden sobrescribir los recursos precargados para la página antigua. Otros procesos pueden también ser usados para eliminar recursos precargados no usados.
[0087] En otra forma de realización ejemplar, el módulo de interfaz 300 puede precargar recursos que están sólo disponibles a través de la ruta punto a punto 58. Los recursos pueden ser solicitados por el módulo de interfaz 300, que luego los recibe sobre la ruta punto a punto 58. Los recursos se pueden almacenar por el módulo de interfaz 300 en el receptor de televisión interactiva 54 y recuperar rápidamente si la aplicación pide el recurso por medio de un enlace en la página HTLM actual. Como los recursos no serían comúnmente enviados sobre la ruta punto a punto 58, se consume ancho de banda extra para obtener los recursos sobre la ruta punto a punto 58. Esto puede atrasar el índice de transmisión de datos total en la ruta punto a punto 58 y afectar de forma adversa a otras aplicaciones que usan esa ruta. En otra forma de realización, el módulo de interfaz puede precargar recursos que están disponibles sobre la ruta de difusión 52 y la ruta punto a punto 58. Otras variaciones son posibles, y éstas pueden también ser usadas.
[0088] Se debería entender que los programas, procesos, métodos y aparato descritos aquí no están relacionados o limitados a cualquier tipo particular de ordenador o aparato de red (hardware o software), a menos que se indique lo contrario. Varios tipos de ordenador multiuso o especializado se pueden utilizar con o realizar operaciones conforme a las instrucciones descritas aquí. Mientras que varios elementos de las formas de realización preferidas han sido descritos como siendo implementados en el software, en otras formas de realización se pueden usar en implementaciones de hardware o de firmware alternativamente, y viceversa.
[0089] Vista la amplia variedad de formas de realización para las que se pueden aplicar los principios de la presente invención, se debe entender que las formas de realización ilustradas son únicamente ejemplares, y no deberían ser interpretadas como limitadoras del alcance de la presente invención.
[0090] Por ejemplo, los pasos de los diagramas de flujo pueden tomarse en secuencias distintas de aquellas descritas, y más, menos u otros elementos se pueden utilizar en los diagramas de bloque.
Claims (26)
- REIVINDICACIONES1. Método para emular un servidor de publicación en una red de difusión, el método comprendiendo:
- -
- recibir una señal de difusión por medio de una ruta de difusión (52) desde un carrusel de difusión (50), la señal de difusión incluyendo un directorio de carrusel (112) que identifica recursos que están disponibles por medio de la ruta de difusión (52);
- -
- precargar al menos parte de los recursos en una memoria de un receptor de televisión;
- -
- recibir una solicitud para un recurso de un programa de aplicación, donde el programa de aplicación se ejecuta en el televisor (54);
- -
- si el recurso solicitado está en la memoria, recuperar el recurso de la memoria y proporcionarlo al programa de aplicación; en caso negativo,
- -
- acceder al directorio de carrusel (112) para recibir la solicitud, y buscar en el directorio del carrusel accedido (112) para determinar si el recurso solicitado está disponible por medio de la ruta de difusión (52); - obtener del recurso por medio de la ruta de difusión (52), para determinar si el recurso está disponible por medio de la ruta de difusión (52); y - obtener el recurso de una ruta punto a punto (58) si el recurso no está disponible en la ruta de difusión (52).
-
- 2.
- Método según la reivindicación 1, donde el programa de aplicación se configura para solicitar recursos que son obtenibles por medio de la ruta de difusión (52) o la ruta punto a punto (58) usando una sintaxis constante.
-
- 3.
- Método según la reivindicación 1, que comprende además: obtención del recurso de un servidor HTTP, un servidor FTP o un servidor de ficheros.
-
- 4.
- Método según la reivindicación 1, donde la señal de difusión comprende un carrusel de módulos, y donde el directorio del carrusel (112) que identifica recursos que están disponibles por medio de la ruta de difusión (52) comprende un directorio que asocia uno o más recursos identificados a un carrusel de difusión correspondiente (50).
-
- 5.
- Método según la reivindicación 2, donde la sintaxis constante está seleccionada del grupo que consiste en: una primera sintaxis específicamente formateada para obtener recursos por medio de la ruta de difusión usando un primer protocolo; una segunda sintaxis específicamente formateada para obtener recursos por medio de la ruta punto a punto usando un segundo protocolo; y una tercera sintaxis que no está específicamente formateada para obtener recursos por medio de la ruta de difusión o la ruta punto a punto.
-
- 6.
- Método según la reivindicación 5, donde la sintaxis constante es la primera sintaxis, y donde el método además comprende: determinar si el recurso solicitado no está disponible por medio de la ruta de difusión; convertir la solicitud a una respuesta en una solicitud que utiliza el segundo protocolo; y enviar la solicitud convertida del recurso por medio de la ruta punto a punto.
-
- 7.
- Método según la reivindicación 4, donde la solicitud identifica el recurso usando un URI, donde una ubicación de los recursos en el carrusel es identificada usando una dirección física, y donde el índice proporciona un mapa entre el URI y la dirección física.
-
- 8.
- Método según la reivindicación 4, donde la solicitud identifica el recurso usando un URI, donde el recurso puede ser obtenido del carrusel usando una dirección de carrusel lógica, donde el índice proporciona un mapa entre el URI y la dirección lógica, y donde la obtención del recurso además comprende: la búsqueda del índice para determinar la dirección lógica del recurso; y obtención del recurso del carrusel usando la dirección de carrusel lógica.
-
- 9.
- Método según la reivindicación 8, donde la obtención del recurso del carrusel usando la dirección de carrusel lógica comprende: buscar un segundo índice para determinar una dirección física para el recurso, donde el segundo índice proporciona un mapa entre la dirección lógica y la dirección física del carrusel; y obtener del recurso del carrusel usando la dirección física.
-
- 10.
- Método según la reivindicación 1, donde el recurso es creado usando un lenguaje de hiperenlace.
-
- 11.
- Método según la reivindicación 10, donde el lenguaje de hiperenlace es HTLM, XHTML o WML.
-
- 12.
- Método según la reivindicación 10, donde el recurso incluye al menos un enlace que identifica un segundo recurso, el método comprendiendo además: la precarga del segundo recurso.
-
- 13.
- Método según la reivindicación 1, donde la red de difusión es una red de cable, una red satelital o una red de televisión interactiva.
-
- 14.
- Método según la reivindicación 1, donde el televisor comprende una caja descodificadora, una consola de juego, un ordenador, o un receptor de televisión interactiva.
-
- 15.
- Método según la reivindicación 1, donde el servidor de publicación comprende un servidor HTTP.
-
- 16.
- Sistema de televisión interactiva comprendiendo: un carrusel de difusión (50) configurado para transportar una señal de difusión por medio de una ruta de difusión (52); un proveedor de servicio configurado para transportar recursos por medio de una ruta punto a punto (58); y un televisor (54), donde el televisor (54) se acopla al carrusel de difusión (50) por medio de la ruta de difusión (52) y se acopla al proveedor de servicio por medio de la ruta punto a punto (58); donde el televisor (54) está configurado para: precargar al menos parte de los recursos en la memoria del receptor de televisión; recibir el directorio de carrusel (112) por medio de la señal de difusión que identifica recursos que están disponibles por medio de la ruta de difusión (52); recibir una solicitud para un recurso de un programa de aplicación que se ejecuta en el receptor de televisión (54); solicitar a la memoria que recupere el recurso y si no está disponible, acceder al directorio del carrusel (112), y buscar el directorio del carrusel para determinar si el recurso está disponible por medio de la ruta de difusión (52); obtener el recurso por medio de la ruta de difusión (52), para determinar si el recurso está disponible por medio de la ruta de difusión; y obtener el recurso por medio de la ruta de punto a punto (58), para determinar si el recurso no está disponible por medio de la ruta de difusión (52).
-
- 17.
- El sistema según la reivindicación 16, donde el software de aplicación se configura para solicitar recursos que son obtenibles por medio de la ruta de difusión (52) o la ruta punto a punto (58) usando una sintaxis constante.
-
- 18.
- Sistema según la reivindicación 16, donde la señal de difusión comprende un carrusel de módulos, y donde los datos que identifican los recursos que están disponibles por medio de la ruta de difusión (52) comprenden un directorio del carrusel (112) que asocia uno o más recursos identificados a un carrusel de difusión correspondiente (50) en el que la solicitud del recurso sobre la ruta punto a punto (58) comprende: solicitar al recurso sobre la ruta punto a punto (58) usando un segundo protocolo.
-
- 19.
- Sistema según la reivindicación 17, donde la sintaxis constante es seleccionada del grupo que consiste en: una primera sintaxis específicamente formateada para obtener recursos por medio de la ruta de difusión (52) usando un primer protocolo; una segunda sintaxis específicamente formateada para obtener recursos por medio de la ruta punto a punto (58) usando un segundo protocolo; y una tercera sintaxis que no está específicamente formateada para obtener recursos por medio de la ruta de difusión (52) o la ruta punto a punto (58).
-
- 20.
- Sistema según la reivindicación 19, donde la sintaxis constante es la primera sintaxis, y donde el método además comprende: determinar si el recurso solicitado no está disponible por medio de la ruta de difusión (52); convertir la solicitud de un recurso en una solicitud que utiliza el segundo protocolo; y enviar la solicitud convertida para el recurso al proveedor de servicio por medio de la ruta punto a punto (58).
-
- 21.
- Sistema según la reivindicación 16, donde el proveedor de servicio almacena una pluralidad de diferentes representaciones del recurso, y donde la solicitud del recurso sobre la ruta punto a punto (58) del proveedor de servicio comprende: realizar la negociación de contenido con el proveedor de servicio para seleccionar una de la pluralidad de representaciones.
-
- 22.
- Sistema según la reivindicación 16, donde el televisor comprende una caja descodificadora, receptor de televisión interactiva, un ordenador, o una consola de juegos.
-
- 23.
- Receptor de televisión interactiva (54) que comprende: un procesador; un medio de almacenamiento de datos; y un módulo de interfaz (300), donde el almacenamiento de datos almacena recursos recibidos desde un carrusel de difusión; donde para recibir una solicitud de un recurso, el módulo de interfaz (300) es configurado para: solicitar a la memoria que recupere el recurso y si no está disponible, acceder a un directorio del carrusel (112) que identifica los recursos que están disponibles por medio de una ruta de difusión (52); determinar si el recurso solicitado está disponible por medio de la ruta de difusión (52) buscando el directorio (112); obtener el recurso por medio de la ruta de difusión (52), para determinar si el recurso está disponible por medio de la ruta de difusión (52); y obtener el recurso por medio de una ruta de punto a punto (58), para determinar si el recurso no está disponible por medio de la ruta de difusión (52).
-
- 24.
- Receptor de televisión interactiva (54) según la reivindicación 23, donde la solicitud se genera en el receptor de televisión (54).
-
- 25.
- Receptor de televisión interactiva (54) según la reivindicación 24, donde la solicitud se genera por un programa de aplicación configurado para solicitar recursos que son obtenibles por medio de la ruta de difusión (52) o ruta de punto a punto (58) usando una sintaxis constante.
-
- 26.
- Medio legible por ordenador conteniendo las instrucciones almacenadas para hacer que una unidad central de procesamiento ejecute el método de cualquiera de las reivindicaciones 1 a 15.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US251603 | 1999-02-17 | ||
| US10/251,603 US7065780B2 (en) | 2002-09-20 | 2002-09-20 | Method and system for emulating and HTTP server through a broadcast carousel |
| PCT/US2003/029513 WO2004028119A2 (en) | 2002-09-20 | 2003-09-18 | Method and system for emulating an http server through a broadcast carousel |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2379347T3 true ES2379347T3 (es) | 2012-04-25 |
Family
ID=31992778
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES03754762T Expired - Lifetime ES2379347T3 (es) | 2002-09-20 | 2003-09-18 | Método y sistema para emular un servidor HTTP a través de un carrusel de difusión |
Country Status (7)
| Country | Link |
|---|---|
| US (2) | US7065780B2 (es) |
| EP (1) | EP1550310B2 (es) |
| JP (1) | JP2006500826A (es) |
| AT (1) | ATE543276T1 (es) |
| AU (1) | AU2003272574B2 (es) |
| ES (1) | ES2379347T3 (es) |
| WO (1) | WO2004028119A2 (es) |
Families Citing this family (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7016992B2 (en) * | 2000-08-17 | 2006-03-21 | Matsushita Electric Industrial Co., Ltd. | Electronic mail system |
| US8413205B2 (en) * | 2001-09-19 | 2013-04-02 | Tvworks, Llc | System and method for construction, delivery and display of iTV content |
| US20040221319A1 (en) * | 2002-12-06 | 2004-11-04 | Ian Zenoni | Application streamer |
| US7565677B1 (en) | 2003-04-21 | 2009-07-21 | Microsoft Corporation | Method and apparatus for managing a data carousel |
| US7450600B2 (en) | 2003-04-21 | 2008-11-11 | Microsoft Corporation | Method and apparatus for managing a data carousel |
| US7523145B2 (en) | 2004-04-22 | 2009-04-21 | Opentv, Inc. | System for managing data in a distributed computing system |
| KR100629434B1 (ko) * | 2004-04-24 | 2006-09-27 | 한국전자통신연구원 | 음성/그래픽 입출력이 가능한 멀티모달 웹기반 데이터방송처리 장치 및 그 방법과 그를 이용한 멀티모달 웹기반데이터방송 수신 시스템 및 그 방법 |
| US7590922B2 (en) * | 2004-07-30 | 2009-09-15 | Nokia Corporation | Point-to-point repair request mechanism for point-to-multipoint transmission systems |
| US20080320536A1 (en) * | 2004-09-16 | 2008-12-25 | Kim Yong-Ho | System and Method for Providing Personalized Datat Broadcasting Service, User Terminal and Method for Using Personalized Data Broadcasting Service, and Data Broadcasting Application Structure Therefor |
| US8112548B2 (en) | 2004-09-28 | 2012-02-07 | Yahoo! Inc. | Method for providing a clip for viewing at a remote device |
| US20060190981A1 (en) * | 2004-10-07 | 2006-08-24 | Visiware | Carousel technology for interactive television |
| US20060168624A1 (en) * | 2004-11-22 | 2006-07-27 | John Carney | Method and system for delivering enhanced TV content |
| US20060117355A1 (en) * | 2004-11-29 | 2006-06-01 | Vincent Dureau | Pushing content in a two-way network |
| US20060184989A1 (en) * | 2005-02-11 | 2006-08-17 | Biap Systems, Inc. | Interacting with Internet applications via a broadband network on electronic input/output devices |
| US8201205B2 (en) * | 2005-03-16 | 2012-06-12 | Tvworks, Llc | Upstream bandwidth management methods and apparatus |
| CA2607860A1 (en) * | 2005-06-06 | 2006-12-14 | Matsushita Electric Industrial Co., Ltd. | Recording and reproduction apparatus |
| US20070110035A1 (en) * | 2005-11-14 | 2007-05-17 | Broadcom Corporation, A California Corporation | Network nodes cooperatively routing traffic flow amongst wired and wireless networks |
| EP1798928A1 (en) * | 2005-12-16 | 2007-06-20 | Alcatel Lucent | A packet based media delivery system with community channel manager |
| DE102006008471A1 (de) * | 2006-02-23 | 2007-08-30 | Siemens Ag | Verfahren zum Übertragen einer Änderung eines statischen Objekts mit einem Änderungsobjekt in einem Datenverteildienst, sowie Sender und Empfänger |
| US8170584B2 (en) | 2006-06-06 | 2012-05-01 | Yahoo! Inc. | Providing an actionable event in an intercepted text message for a mobile device based on customized user information |
| US7873703B2 (en) * | 2006-06-30 | 2011-01-18 | International Business Machines Corporation | Method and apparatus for broadcasting information |
| EP2036307A1 (en) * | 2006-06-30 | 2009-03-18 | International Business Machines Corporation | A method and apparatus for caching broadcasting information |
| DE102007026222A1 (de) * | 2006-10-31 | 2008-05-08 | Siemens Ag | Verfahren zur Übertragung von Szene-daten in einem unidirektionalen Datenübertragungssystem |
| US8326997B2 (en) * | 2006-11-15 | 2012-12-04 | Opentv, Inc. | Data retrieval in a two-way network |
| KR101576943B1 (ko) | 2006-12-01 | 2015-12-15 | 에이치에스엔아이 엘엘씨 | 향상된 대화형 텔레비전 프로세싱 방법 및 시스템 |
| US7913920B2 (en) * | 2006-12-20 | 2011-03-29 | Palo Alto Research Center Incorporated | Document processing devices, systems and methods thereof |
| FR2912027B1 (fr) * | 2007-01-26 | 2009-04-10 | Nptv Sa | Unites de chargement pour la transmission de donnees multimedia sur un reseau de diffusion |
| US20090031341A1 (en) * | 2007-07-24 | 2009-01-29 | General Instrument Corporation | Method and apparatus for reducing the number of control messages transmitted by a set top terminal in an sdv system |
| GB2452315B (en) * | 2007-08-31 | 2012-06-06 | Sony Corp | A distribution network and method |
| US8316150B2 (en) | 2007-10-31 | 2012-11-20 | Time Warner Cable Inc. | System and method for remotely accessing cablecard |
| US20100138875A1 (en) * | 2007-11-30 | 2010-06-03 | Johnson Gerard C | Method and system for improved interactive television processing |
| US10721533B2 (en) | 2007-11-30 | 2020-07-21 | Hsni, Llc | Method and system for displaying and updating electronic information on a display device |
| US20110162023A1 (en) * | 2009-12-30 | 2011-06-30 | Marcus Kellerman | Method and system for providing correlated advertisement for complete internet anywhere |
| US11323337B2 (en) | 2011-09-27 | 2022-05-03 | Comcast Cable Communications, Llc | Resource measurement and management |
| US10142121B2 (en) | 2011-12-07 | 2018-11-27 | Comcast Cable Communications, Llc | Providing synchronous content and supplemental experiences |
| US8875099B2 (en) * | 2011-12-22 | 2014-10-28 | International Business Machines Corporation | Managing symbolic links in documentation |
| US9106557B2 (en) | 2013-03-13 | 2015-08-11 | Comcast Cable Communications, Llc | Scheduled transmission of data |
| WO2017002455A1 (ja) * | 2015-07-01 | 2017-01-05 | ソニー株式会社 | 送信装置及び送信方法、並びに受信装置及び受信方法 |
| CN105578252A (zh) * | 2015-12-20 | 2016-05-11 | 天脉聚源(北京)科技有限公司 | 一种互动电视系统的互动信息配置的方法及装置 |
Family Cites Families (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5615066B2 (es) † | 1974-06-13 | 1981-04-08 | ||
| US5666293A (en) | 1994-05-27 | 1997-09-09 | Bell Atlantic Network Services, Inc. | Downloading operating system software through a broadcast channel |
| US5805154A (en) | 1995-12-14 | 1998-09-08 | Time Warner Entertainment Co. L.P. | Integrated broadcast application with broadcast portion having option display for access to on demand portion |
| US6025837A (en) * | 1996-03-29 | 2000-02-15 | Micrsoft Corporation | Electronic program guide with hyperlinks to target resources |
| US5903816A (en) | 1996-07-01 | 1999-05-11 | Thomson Consumer Electronics, Inc. | Interactive television system and method for displaying web-like stills with hyperlinks |
| US5929850A (en) | 1996-07-01 | 1999-07-27 | Thomson Consumer Electronices, Inc. | Interactive television system and method having on-demand web-like navigational capabilities for displaying requested hyperlinked web-like still images associated with television content |
| US6018764A (en) | 1996-12-10 | 2000-01-25 | General Instrument Corporation | Mapping uniform resource locators to broadcast addresses in a television signal |
| US6177930B1 (en) * | 1997-03-28 | 2001-01-23 | International Business Machines Corp. | System and method for enabling a user to move between cyclically transmitted image streams |
| US6317885B1 (en) * | 1997-06-26 | 2001-11-13 | Microsoft Corporation | Interactive entertainment and information system using television set-top box |
| US6594699B1 (en) * | 1997-10-10 | 2003-07-15 | Kasenna, Inc. | System for capability based multimedia streaming over a network |
| US6185585B1 (en) | 1997-12-16 | 2001-02-06 | Corporate Media Partners | System and method for distribution and navigation of internet content |
| US6538701B1 (en) * | 1998-02-17 | 2003-03-25 | Gemstar Development Corporation | Simulated pip window in EPG |
| US6459427B1 (en) | 1998-04-01 | 2002-10-01 | Liberate Technologies | Apparatus and method for web-casting over digital broadcast TV network |
| US6427238B1 (en) | 1998-05-29 | 2002-07-30 | Opentv, Inc. | Module manager for interactive television system |
| US6038319A (en) | 1998-05-29 | 2000-03-14 | Opentv, Inc. | Security model for sharing in interactive television applications |
| CN1319304A (zh) * | 1998-07-29 | 2001-10-24 | 利博莱脱技术,莫康姆分部,股份有限公司 | 具有同步的万维网内容的数字电视系统 |
| US6675385B1 (en) * | 1998-10-21 | 2004-01-06 | Liberate Technologies | HTML electronic program guide for an MPEG digital TV system |
| US6446262B1 (en) * | 1998-10-26 | 2002-09-03 | Two Way Tv Limited | Broadcasting interactive applications |
| US6164975A (en) * | 1998-12-11 | 2000-12-26 | Marshall Weingarden | Interactive instructional system using adaptive cognitive profiling |
| US20020091816A1 (en) * | 1998-12-23 | 2002-07-11 | Altan J. Stalker | Broadcast data access system for multimedia clients in a broadcast network architecture |
| EP1024661A3 (en) † | 1999-01-27 | 2002-07-17 | Hughes Electronics Corporation | Pictographic electronic program guide |
| US6658661B1 (en) * | 1999-03-29 | 2003-12-02 | Hughes Electronics Corporation | Carousel bit mask system and method |
| AU4211100A (en) | 1999-04-09 | 2000-11-14 | Opentv, Inc. | Bandwidth management on a hybrid point to point broadcast |
| CN1178508C (zh) * | 1999-06-07 | 2004-12-01 | 松下电器产业株式会社 | 数据收发系统及其方法 |
| US6785902B1 (en) * | 1999-12-20 | 2004-08-31 | Webtv Networks, Inc. | Document data structure and method for integrating broadcast television with web pages |
| US6539030B1 (en) * | 2000-02-07 | 2003-03-25 | Qualcomm Incorporated | Method and apparatus for providing configurable layers and protocols in a communications system |
| EP1148730A3 (en) * | 2000-03-31 | 2003-10-08 | Matsushita Electric Industrial Co., Ltd. | Data broadcast apparatus for controlling presentation timing of additional data with high precision |
| US6804708B1 (en) * | 2000-06-29 | 2004-10-12 | Scientific-Atlanta, Inc. | Media-on-demand flexible and adaptive architecture |
| US20020138500A1 (en) * | 2001-01-12 | 2002-09-26 | General Instrument Corporation | Virtual streaming in a carousel file system |
| BR0206974A (pt) * | 2001-02-02 | 2004-03-09 | Opentv Inc | Método e aparelho para compilar uma linguagem interativa para televisão interativa |
| GB0111008D0 (en) * | 2001-05-04 | 2001-06-27 | Koninkl Philips Electronics Nv | Recording of interactive applications |
| EP1470715A4 (en) * | 2001-12-28 | 2010-11-17 | Pegasus Dev Corp | BROADBAND-DIRECT-TO-HOME-RUNDSENDESATELLITENCOMMUNICATION SYSTEM AND METHOD |
| US8028250B2 (en) * | 2004-08-31 | 2011-09-27 | Microsoft Corporation | User interface having a carousel view for representing structured data |
-
2002
- 2002-09-20 US US10/251,603 patent/US7065780B2/en not_active Expired - Lifetime
-
2003
- 2003-09-18 AU AU2003272574A patent/AU2003272574B2/en not_active Ceased
- 2003-09-18 ES ES03754762T patent/ES2379347T3/es not_active Expired - Lifetime
- 2003-09-18 AT AT03754762T patent/ATE543276T1/de active
- 2003-09-18 WO PCT/US2003/029513 patent/WO2004028119A2/en not_active Ceased
- 2003-09-18 EP EP03754762.7A patent/EP1550310B2/en not_active Expired - Lifetime
- 2003-09-18 JP JP2004538243A patent/JP2006500826A/ja active Pending
-
2004
- 2004-04-28 US US10/833,835 patent/US20040205826A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| WO2004028119A2 (en) | 2004-04-01 |
| EP1550310A4 (en) | 2010-04-07 |
| US20040205826A1 (en) | 2004-10-14 |
| EP1550310A2 (en) | 2005-07-06 |
| US20040060068A1 (en) | 2004-03-25 |
| AU2003272574B2 (en) | 2008-01-10 |
| JP2006500826A (ja) | 2006-01-05 |
| AU2003272574A1 (en) | 2004-04-08 |
| EP1550310B2 (en) | 2017-10-18 |
| WO2004028119A3 (en) | 2004-11-04 |
| US7065780B2 (en) | 2006-06-20 |
| ATE543276T1 (de) | 2012-02-15 |
| EP1550310B1 (en) | 2012-01-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2379347T3 (es) | Método y sistema para emular un servidor HTTP a través de un carrusel de difusión | |
| ES2231839T3 (es) | Correlacion de localizadores uniformes de recursos con direcciones de radiodifusion en una señal de television. | |
| JP6502380B2 (ja) | Mmt及びdashを使用するブロードキャスト及びブロードバンドハイブリッドサービス | |
| US8407260B2 (en) | Method and apparatus for caching broadcasting information | |
| US8824676B2 (en) | Streaming video to cellular phones | |
| AU2010294783B2 (en) | Method and device for providing complementary information | |
| US12537984B2 (en) | Method of video downloading, method of video transmission, terminal device, server and storage medium | |
| KR101356836B1 (ko) | 브라우저 상에서 실행되는 서비스의 정보를 공유하는 방법, 장치 및 시스템 | |
| CN104065678A (zh) | 一种基于嵌入式浏览器的双模数据接收和访问方法 | |
| WO2010149814A1 (es) | Dispositivo, procedimiento y sistema para generar eventos audiovisuales adicionales | |
| CN101426001B (zh) | 一种通过移动多媒体数据广播实现网页浏览的方法和系统 | |
| KR20060129769A (ko) | 파일 전송 방식을 통한 교통 정보의 송수신 방법 및 장치 | |
| JP2005108057A (ja) | コンテンツ取得システム、ブラウザ装置及びそれに用いるコンテンツダウンロード方法並びにそのプログラム | |
| JP4844350B2 (ja) | 放送受信機、ダウンロードデータ取得方法及びそのプログラム | |
| KR100753291B1 (ko) | Dmb 단말기에서 방송 웹 서비스를 선택적으로 제공받는방법 | |
| KR100737134B1 (ko) | Epg 데이터 서비스 제공 시스템 및 방법 | |
| CN119676526A (zh) | 直播处理方法、装置及终端设备 | |
| JP2004215055A (ja) | 情報処理システム、サーバ装置およびカメラ | |
| CN113141535A (zh) | 流媒体数据处理方法、装置及电子设备 | |
| KR20150075783A (ko) | 스트리밍 데이터에 대응하는 영상 데이터를 tv 디바이스로 전송하는 방법 및 디바이스 | |
| CN119520426A (zh) | 数据处理方法、电子设备、存储介质及计算机程序产品 | |
| KR20190016494A (ko) | 수신 장치, 송신 장치 및 데이터 처리 방법 | |
| JP2009070203A (ja) | ダウンロード実行方法 |