ES2558682T3 - Sistema para administrar datos en un sistema informático distribuido - Google Patents

Sistema para administrar datos en un sistema informático distribuido Download PDF

Info

Publication number
ES2558682T3
ES2558682T3 ES05740347.9T ES05740347T ES2558682T3 ES 2558682 T3 ES2558682 T3 ES 2558682T3 ES 05740347 T ES05740347 T ES 05740347T ES 2558682 T3 ES2558682 T3 ES 2558682T3
Authority
ES
Spain
Prior art keywords
module
application
data
directory
modules
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.)
Active
Application number
ES05740347.9T
Other languages
English (en)
Inventor
Pierre Willard
Alain Delpuch
Steven J. Szymanski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OpenTV Inc
Original Assignee
OpenTV Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by OpenTV Inc filed Critical OpenTV Inc
Application granted granted Critical
Publication of ES2558682T3 publication Critical patent/ES2558682T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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/23614Multiplexing of additional data and video streams
    • H04N21/23617Multiplexing of additional data and video streams by inserting additional data into a data carousel, e.g. inserting software modules into a DVB carousel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • H04N21/4349Demultiplexing of additional data and video streams by extracting from data carousels, e.g. extraction of software modules from a DVB carousel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Systems (AREA)

Abstract

Método para administrar datos en un sistema informático distribuido, dicho método que comprende: recibir datos de un primer módulo que identifica una pluralidad de módulos para el uso por una aplicación ejecutable, dicho primer módulo que comprende un módulo de directorio principal que identifica módulos para el uso por la aplicación ejecutable; recibir dicha pluralidad de módulos; recibir datos adicionales que corresponden con dicha aplicación ejecutable, donde dichos datos adicionales identifican menos que toda dicha pluralidad de módulos e identifican una actualización que se debe hacer en uno o varios de dicho primer módulo y dicha pluralidad de módulos, y donde dichos datos adicionales comprenden un módulo de directorio delta que corresponde a dicho módulo de directorio principal, dicho directorio delta incluye un identificador que indica una versión a la que dicho directorio principal se actualiza en respuesta a la realización de dicha actualización identificada por dicho directorio delta; y realizar dicha actualización.

Description

imagen1
imagen2
imagen3
imagen4
imagen5
imagen6
imagen7
imagen8
CRC 53. El segmento de datos 52 del módulo de directorio puede ser como se ha descrito anteriormente. El segmento de datos 52 del resto de los módulos pueden contener cualquier tipo de datos, tales como código de aplicación o datos brutos. El segmento CRC 53 de cada uno de los módulos se usa para el control de errores y se computa para todos los datos 52 del módulo 51. Cada uno de los módulos 51 puede incluir además un identificador único. Antes de que los módulos 51 sean transmitidos, éstos son formateados en unidades de transmisión 54. Cada una de las unidades de transmisión 54 contiene información de cabecera 55, que identifica únicamente esa unidad de transmisión 54 en la corriente de unidades de transmisión, y datos 56 que comprenden una parte del módulo que está siendo transmitido. La cabecera 55 contiene información tal como la ID del módulo, la compensación de módulo y su tamaño, que permite que las unidades de transmisión 54 sean reconstruidas en un módulo completo 51. La cabecera 55 puede indicar además qué tipo de datos 52 se incluye en la unidad de transmisión 54. Por ejemplo, en una forma de realización, la cabecera 55 puede incluir un ID especial (por ejemplo, un ID de valor cero) que identifica el módulo como directorio. Las unidades de transmisión 54 que comprenden un módulo particular 51 se pueden intercalar con otras unidades de transmisión 54 en una corriente de transmisión. En la forma de realización mostrada, la última unidad de transmisión 54 para un módulo 51 lleva el CRC 53.
[0044] El formato de las unidades de transmisión 54 depende generalmente del medio de transmisión, pero típicamente emplea una serie de paquetes. En una forma de realización, los paquetes son de una longitud fija (el último paquete pueden ser relleno para obtener la longitud apropiada). El primer paquete 58 de la serie lleva la información de cabecera para la unidad de transmisión 54. Este paquete de cabecera 58 es un paquete especial que puede generar una interrupción en una unidad central de procesamiento (CPU) del dispositivo receptor y que contiene información para permitir que la CPU determine si el módulo 51 debería ser decodificado y dónde éste debería ser cargado en la memoria.
[0045] La Fig. 7 ilustra una de muchas formas de realización posibles de un módulo de directorio 500. En la forma de realización mostrada, el módulo de directorio 500 incluye una cabecera 510, datos de módulo de aplicación 520A- 520Z, y datos de certificado y firma 530. La cabecera de módulo de directorio 510 incluye un ID de aplicación, un campo que indica el tipo de aplicación (por ejemplo, ventana emergente de publicidad, juego interactivo, relacionada con el deporte, indicador de bolsa, relacionada con el tiempo, o cualquier otra categoría adecuada), la cantidad de memoria requerida para memorizar y ejecutar la aplicación, el número de módulos contenidos en la aplicación, y un campo que puede incluir datos de seguridad tales como datos de autenticación. En una forma de realización, el ID de aplicación puede incluir una indicación 501 de que un módulo es un módulo de directorio y también puede incluir una indicación 502 que indica la versión del directorio. Como se ha indicado anteriormente, en una forma de realización la cabecera 510 puede incluir un ID especial separado del ID de aplicación que identifica el módulo como directorio. Se observará que los campos enumerados anteriormente, y los que siguen, son meramente ilustrativos. Se puede incluir información diferente como resulte apropiado. Por ejemplo, el módulo de directorio 500 también puede incluir datos a los que se accede por una aplicación durante la ejecución.
[0046] Además de la cabecera 510, el módulo de directorio 500 incluye datos para cada uno de los módulos en la aplicación correspondiente. Por ejemplo, los datos para cada módulo pueden incluir un ID de transmisión, un ID de módulo, nombre de módulo, número de versión, longitud de módulo, requisitos de memoria, etcétera. En una forma de realización, el ID de transmisión y/o ID de módulo se puede utilizar para identificar los datos del módulo correspondiente dentro de un flujo de difusión. La sección de datos para cada módulo también puede incluir un campo para datos de seguridad relacionados con el módulo respectivo. Alternativamente, estos datos se pueden incluir con la información de directorio más general en el primer campo de información de seguridad. Además de lo dicho anteriormente, varias formas de realización puede permitir la ejecución de la aplicación antes de la recepción de todos los módulos identificados por un módulo de directorio correspondiente. En dichas formas de realización, el módulo de directorio también puede incluir una indicación que identifica un subconjunto de los módulos ("módulos de precarga") que son requeridos antes de que pueda comenzar la ejecución de una aplicación correspondiente. Por ejemplo, cada módulo identificado por el módulo de directorio también puede incluir una indicación en cuanto a si el módulo es o no es un módulo de precarga.
[0047] En una forma de realización, el nombre de módulo puede comprender una cadena ASCII que se puede usar en el código de aplicación para hacer referencia al módulo correspondiente.
10
imagen9
por el módulo de directorio correspondiente 620. Se observa que el dibujo de la Fig. 9 no está destinado a ser limitativo o comprensivo de ninguna manera. Más bien, la Fig. 9 describe varias características únicamente para fines de discusión. Los expertos en la técnica apreciarán que la Fig. 9 es meramente una representación de resumen destinada a ayudar en la discusión y que numerosas formas de realización alternativas son posibles y se contemplan.
[0052] En el ejemplo de la Fig. 9, el módulo de directorio 620 también proporciona una función de mapeo para una aplicación. En una forma de realización, un mapa 630 está configurado para mapear identificadores referenciados en la el/los código/datos de aplicación 610 en una ubicación particular. Por ejemplo, el módulo 650B incluye más instrucciones de programa. Una instrucción 640 incluye una referencia para un objeto identificado como "fondo". En este ejemplo, "fondo" puede referirse a un objeto cuyo contenido es dinámico. Debido a que el contenido es dinámico, la adquisición del objeto "fondo" puede ser requerida durante el tiempo de ejecución. Además, la ubicación del objeto "fondo" no se puede conocer al mismo tiempo que la aplicación es escrita. Consecuentemente, en vez de utilizar un identificador de ubicación particular en el código de aplicación, un identificador de resumen ("fondo") se referencia en el código de aplicación. Este identificador puede luego ser aplicado a la ubicación real del objeto correspondiente a tiempo de ejecución. Por ejemplo, "fondo" se puede aplicar a un ID de paquete particular, ID de tabla, ID de extensión, etc.
[0053] En una forma de realización, el contenido y procesamiento de datos (por ejemplo, módulos) pueden ser controlados exclusivamente, o principalmente, por un distribuidor de contenidos. De esta manera, el distribuidor puede mantener el control sobre el contenido recibido por el espectador. Por ejemplo, una aplicación recibida por un receptor se puede configurar para mostrar anuncios publicitarios. Al mantener el control sobre el contenido, el distribuidor puede ser capaz de seleccionar una publicidad particular para que se muestre en pantalla basándose en un perfil de espectador dado. Además, el mantener tal control puede permitir que el distribuidor para asegurar un nivel particular de integridad operativa. Por ejemplo, el mismo distribuidor que transmite una aplicación particular a un espectador también puede asegurar que cualquier recurso requerido por esa aplicación también esté disponible. Si una aplicación requiere una imagen de fondo particular para fines de visualización en la pantalla, el distribuidor puede asegurar que la imagen requerida está disponible en el flujo de difusión, o a través de un canal de comunicaciones alternativas, cuando sea necesario. Al permitir al distribuidor controlar el contenido del directorio 620 y/o su mapa 630, el distribuidor es capaz no sólo de controlar el contenido devuelto por la referencia "fondo", sino también la ubicación de este contenido. Por ejemplo, la ubicación del contenido puede estar en una ubicación particular en el flujo de difusión, en una ubicación indicada por un Localizador de Recursos Uniforme (URL), o en otro lugar.
[0054] A diferencia de las formas de realización donde un distribuidor tiene un control exclusivo o primario sobre la gestión de datos, las formas de realización alternativas pueden incluir una aplicación que está ella misma configurada para administrar directorios, actualizaciones, revisiones, y/o mapeo de datos. Por ejemplo, una propia aplicación se puede configurar para obtener actualizaciones a su código y/o datos. En una forma de realización, una aplicación se puede configurar para que acceda a un sitio o ubicación que luego indica que hay disponible una revisión o actualización de la aplicación. En respuesta, la aplicación puede realizar la revisión o actualización al iniciar una solicitud para el transporte de la revisión o actualización. Una aplicación puede luego actualizar el código y/o datos utilizando sus propios mecanismos de autentificación/verificación. De forma alternativa, una aplicación se puede configurar para utilizar los mecanismos de autentificación/verificación del sistema subyacente. Además, una aplicación puede utilizar su propio listado de módulos y números de versión y se puede configurar para utilizar su propia versión de directorios delta para actualizaciones y modificaciones. Cualquier combinación de las anteriores se puede utilizar como apropiada. Debe entenderse que mientras la discusión anterior describe tanto la gestión de datos del distribuidor y la gestión de datos de la aplicación, un sistema puede incorporar cualquier combinación de los dos.
[0055] Como se utiliza en este caso, el "sistema" subyacente generalmente se refiere a las partes del hardware y/o software dentro de un dispositivo receptor que son no directamente accesible por aplicaciones ordinarias sin permiso del distribuidor u operador del sistema televisivo. Por ejemplo, el sistema subyacente puede incluir un sistema operativo del dispositivo receptor y/o middleware, regiones seleccionadas de memoria u otro almacenamiento, un subsistema de acceso condicional, etcétera. Como ejemplo, una aplicación puede tener permiso para leer ubicaciones determinadas dentro de espacio de memoria del sistema a través de llamadas de sistema predeterminadas, pero no puede escribir a tales ubicaciones. Los expertos en la técnica apreciarán los métodos varios para proteger recursos de sistema de aplicaciones de nivel de usuario.
12
imagen10
imagen11
Durante la ejecución de la aplicación, el sistema puede continuar recibiendo paquetes de programa de la señal transmitida. En una forma de realización, se examinan cabeceras de paquete para números de versión. Si el número de versión para un módulo particular cambia, el nuevo módulo se puede procesar y sustituir por el módulo correspondiente previo.
[0065] Como se ha mencionado anteriormente, solo un subconjunto de módulos de aplicación puede ser requerido antes de que se inicie la ejecución de la aplicación. Por ejemplo, un módulo de directorio puede indicar qué módulos de una aplicación son requeridos antes de ejecutar la aplicación. En dicha forma de realización, la ejecución de la aplicación se puede iniciar al recibir y verificar los módulos requeridos (bloque de decisión 566). Cuando se requieren todos los módulos para la ejecución, una indicación explícita de que todos módulos son requeridos puede ser proporcionada. De forma alternativa, si ninguna indicación con relación a un subconjunto particular de módulos se proporciona, se puede asumir que todos los módulos son requeridos para la ejecución.
[0066] Como se ha observado la secuencia de eventos representada en la Fig. 11 está destinada a ser ilustrativa sólo. Actividades varias se pueden llevar a cabo en una secuencia diferente, y algunas actividades pueden ser realizadas u ocurrir al mismo tiempo. Por ejemplo, la Fig. 11 ilustra el hashing de cada módulo de aplicación (bloque 562) como se recibe. No obstante, formas de realización alternativas puede llevar a cabo dicho hashing después de que se reciban todos los módulos. Los módulos de verificación tal como se han recibido, en lugar de esperar hasta que todos han sido recibidos, pueden servir para reducir la tardanza de la puesta en marcha de la aplicación. Además, la Fig. 11 ilustra que un módulo de aplicación se puede descartar (bloque 574) si no es verificado (bloque 564). En tal caso, la recuperación del módulo descartado se retomará, por lo general. Mientras que el módulo descartado es otra vez recuperado, la verificación (bloque 564) de otros módulos que ya ha sido recuperados puede continuar en paralelo a la recuperación del módulo previamente descartado. Numerosas tales alternativas son posibles y son contempladas.
[0067] Se observa además que los módulos recibidos pueden corresponder a una aplicación ya en ejecución. Por ejemplo, después de la recepción de un subconjunto de módulos requeridos para la ejecución, una aplicación de ejecución puede recibir módulos adicionales identificados por un módulo de directorio correspondiente. Alternativamente, una aplicación de ejecución puede por sí misma generar solicitudes para módulos. De cualquier manera, los módulos recibidos pueden corresponder a una aplicación ya en ejecución y se pueden usar para actualizar código o datos de aplicación existentes. Como se utiliza en este documento, "actualizar" código o datos de aplicación puede significar complementar código
o datos de aplicación existentes con datos adicionales, eliminar código o datos existentes, o revisar código o datos existentes.
[0068] En términos generales, en las formas de realización aquí descritas, los directorios delta son descritos como que incluyen datos que se utilizan para actualizar un módulo de directorio correspondiente. Por ejemplo, si una versión revisada de un módulo de aplicación módulo está disponible, un directorio delta se puede utilizar para actualizar el módulo de directorio que corresponde con esa aplicación con datos que identifican el módulo de aplicación revisado. Después de la actualización del módulo de directorio, el módulo de aplicación revisado puede luego ser obtenido. En dicha forma de realización, el directorio delta no incluye él mismo el módulo de aplicación revisado no indica de otra forma qué revisiones están presentes en el módulo de aplicación revisado. En lugar de eso, el directorio delta solo identifica cambios hechos a la aplicación indirectamente mediante la identificación de cambios hechos en el módulo de directorio correspondiente. No obstante, cabe señalar que en otras formas de realización, un directorio delta pueden él mismo ser usado paran transportar parte o todo el contenido de cambios. Por ejemplo, si un módulo de aplicación revisado se ha vuelto disponible, un módulo de directorio delta puede identificar cambios en un módulo de directorio correspondiente e incluir el contenido de las revisiones también. Tales revisiones pueden luego ser directamente aplicadas a un módulo de aplicación existente en lugar de obtener un módulo de aplicación nuevo en su totalidad. Además, formas de realización alternativas pueden incluir directorios delta que incluyen revisiones para código y/o datos de aplicación, pero no actualizan un módulo de directorio correspondiente. Cualquier combinación de los métodos y mecanismos descritos aquí es posible y se contempla.
[0069] En una forma de realización, después del tratamiento de un módulo de directorio delta, el módulo de directorio delta se puede descartar después de que los datos indicados hayan sido actualizados. Por ejemplo, en referencia a la Fig. 9, si la ubicación del objeto "fondo" fue cambiada por un distribuidor, se puede
15
imagen12
Las solicitudes de datos extraídos se pueden recibir a través del canal posterior 26, Internet 60, o de otro modo. En varias formas de realización, el tratamiento y transmisión de datos por la estación de difusión 16 se pueden realizar con componentes de hardware, componentes de software, o cualquier combinación adecuada de hardware y software. Por ejemplo, en una forma de realización, el mecanismo de tratamiento 200 puede comprender un procesador multiuso configurado para ejecutar instrucciones de programa diseñadas para desempeñar unas o más de las formas de realización aquí descritas.
[0075] Como se ha indicado anteriormente, el uso de directorios delta puede servir para reducir el tratamiento overhead en los dispositivos receptores. No obstante, también se observa que el uso de directorios delta también puede simplificar la tarea de producción de actualizaciones en el lado de la difusión. Por ejemplo, cuando un distribuidor (o otro "enviador" ) detecta que se requiere un cambio en un directorio, puede comúnmente ser requerido que el distribuidor genere un directorio principal completamente nuevo para la transmisión. Como cada directorio principal puede ser relativamente grande, y también puede estar "firmado" con una o varias claves que no están fácilmente disponibles, actualizar el contenido del directorio a tiempo real (o casi) puede ser prácticamente imposible. En cambio, la generación y transmisión de un directorio delta pueden generalmente ser realizadas en mucho menos tiempo que el que llevaría generar y transportar un directorio principal nuevo.
[0076] Mientras que la descripción mencionada anteriormente describe una fuente de contenido interactivo como que está en una estación de difusión 16, en una forma de realización alternativa la base de datos 230 y mecanismo de tratamiento de contenido 200 pueden residir en la ubicación de un operador de comunicaciones de red 17. Un ejemplo de tal forma de realización alternativa puede ser una estación de cable que introduce contenido interactivo en una señal difusión antes de su transmisión. Numerosas tales alternativas son posibles y se contemplan.
[0077] Pasando ahora a la Fig. 13, se muestra una forma de realización de un dispositivo receptor 1012. Mientras que la Fig. 13 ilustra el cliente 1012 en forma de un decodificador de señales digitales 1012, el dispositivo 1012 puede comprender otros dispositivos también. En términos generales, el cliente 1012 está configurado para recibir una primera señal 1070, tal como una señal de difusión, y transportar una segunda señal 1080, tal como a una pantalla o dispositivo de grabación. Mientras que el cliente 1012 es mostrado acoplado a un dispositivo de almacenamiento masivo externo 1018, tal almacenamiento puede ser interno al propio cliente 1012. El cliente 1012 incluye una unidad de control 1030, extremo frontal 1026, canal de regreso 1038, fase de transporte 1028, y fase AV 1034. También está representada en la Fig. 13 una memoria 1090 que incluye SO y/o middleware 1044, gestor de módulo 1036, y aplicación(es) 1042. También se muestran interfaces E/S 1040 y 1041, y módulo(s) de acceso condicional (AC) 1032. La interfaz E/S 1040 puede estar configurada para detectar interacción de usuario a través de un control remoto, teclado, u otro dispositivo. La interfaz E/S 1041 puede comprender circuitos tales como una interfaz ethernet u otra interfaz de red configurada para proporcionar comunicación bidireccional a Internet, una red interna, u otros. La unidad de control 1030 puede comprender un microprocesador, memoria (por ejemplo, RAM), y otros componentes que son necesarios para desempeñar tareas informáticas de fines generales. En una forma de realización, las aplicaciones 1042, el SO/middleware 1044, el gestor de módulo 1036, y el/los módulo(s) AC 1032 comprenden un código que se puede almacenar en un dispositivo de memoria del descodificador 1012. Adicionalmente, el/los módulo(s) AC 1032 puede(n) comprender software de sistema configurado para controlar el acceso a programas o servicios particulares que son accesibles por el descodificador 1012.
[0078] En términos generales, el cliente 1012 es operable para recibir y descomprimir señales que pueden incluir datos digitales. Las señales descomprimidas se pueden convertir en señales analógicas tales como señales de formato PAL, SECAM, o NTSC para pantallas televisivas, o pueden estar en formato digital para ser usadas por un dispositivo con una pantalla digital. Como se muestra en la Fig. 13, el dispositivo 1012 incluye circuitos de extremo frontal 1026 operables para recibir, audio vídeo, y otros datos de una señal recibida 1070. La señal recibida 1070 se alimenta al cliente 1012 en el extremo frontal 1026, que puede comprender un convertidor de análogo a digital (A/D) y sintonizador/desmoduladores (no mostrados). El extremo frontal 1026 puede seleccionar y pasar una frecuencia particular, desmodularla y convertir señales analógicas a un formato digital. Mientras que los datos analógicos se pueden convertir en datos digitales, como se ha indicado anteriormente, una señal recibida puede comprender datos digitales que pueden no requerir tal conversión. La salida digitalizada puede luego ser conducida a una fase de transporte 1028 que procesa aún más los datos,
17
imagen13
imagen14
Además, se pueden combinar distintos componentes representados en el cliente 1012 de la Fig. 13, como la colocación de la integración de dispositivo de almacenamiento 1018 dentro de cliente 1012. Numerosas alternativas son posibles y se contemplan.
[0088] Como se ha mencionado anteriormente, uno o varios componentes del método y mecanismo descrito anteriormente puede(n) comprender hardware y/o software. En las formas de realización en las que los componentes comprenden software, las instrucciones de programa que forman los componentes se pueden transmitir o almacenar en un medio accesible informático. Numerosos tipos de medios que están configurados para memorizar instrucciones de programa están disponibles e incluyen discos duros, disquetes, CD-ROM, DVD, memorias flash, ROM programables (PROM), memorias de acceso aleatorio (RAM), y varias otros formas de almacenamiento volátil o no volátil. Aún otras formas de medios configurados para transmitir instrucciones de programa para el acceso por un dispositivo informático incluyen enlaces de comunicación terrestre y no terrestre tales como enlaces de red, inalámbricos, y enlaces por satélite en los que se pueden transmitir señales eléctricas, electromagnéticas, ópticas o digitales. Así, varias formas de realización puede incluir además la recepción, envío o almacenamiento de instrucciones y/o datos implementados conforme a la descripción precedente sobre un medio accesible informático.
[0089] Debe entenderse que las formas de realización anteriores se destinan a ser ilustrativas sólo. Por ejemplo, las varias características aquí descritas se pueden combinar de diferentes formas que las explícitamente discutidas. Además, los métodos y mecanismos aquí discutidos se pueden aplicar a sistemas diferentes de los sistemas de televisión interactiva. Por ejemplo, otros sistemas distribuidos de tratamiento, informática, teléfono, información, y red pueden utilizar los métodos y mecanismos aquí descritos. A todos tales sistemas se puede hacer referencia generalmente como sistemas informáticos. Numerosas configuraciones alternativas son posibles y se contemplan.
20

Claims (1)

  1. imagen1
    imagen2
ES05740347.9T 2004-04-22 2005-04-22 Sistema para administrar datos en un sistema informático distribuido Active ES2558682T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US829558 2001-04-09
US10/829,558 US7523145B2 (en) 2004-04-22 2004-04-22 System for managing data in a distributed computing system
PCT/US2005/013924 WO2005106644A2 (en) 2004-04-22 2005-04-22 A system for managing data in a distributed computing system

Publications (1)

Publication Number Publication Date
ES2558682T3 true ES2558682T3 (es) 2016-02-08

Family

ID=35137744

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05740347.9T Active ES2558682T3 (es) 2004-04-22 2005-04-22 Sistema para administrar datos en un sistema informático distribuido

Country Status (6)

Country Link
US (1) US7523145B2 (es)
EP (1) EP1738254B1 (es)
JP (1) JP4719215B2 (es)
AU (1) AU2005238949B2 (es)
ES (1) ES2558682T3 (es)
WO (1) WO2005106644A2 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006031084A1 (en) * 2004-09-16 2006-03-23 Electronics And Telecommunications Research Institute System and method for providing personalized data broadcasting service, user terminal and method for using personalized data broadcasting service, and data beoadcasting application structure therefor
WO2006064473A1 (en) * 2004-12-13 2006-06-22 Koninklijke Philips Electronics N.V. Bypass dsmcc middleware via section filter mechanism
US20090118020A1 (en) * 2005-08-25 2009-05-07 Koivisto Ari M Method and device for sending and receiving game content including download thereof
JP2007097653A (ja) * 2005-09-30 2007-04-19 Fujinon Corp 内視鏡診断システム
KR100727993B1 (ko) * 2005-10-04 2007-06-14 삼성전자주식회사 데이터 풀 방식을 이용한 데이터 푸시 서비스 방법 및시스템
KR20080005693A (ko) * 2006-07-10 2008-01-15 엘지전자 주식회사 데이터 방송 신호, 이를 처리하는 방법 및 수신하는 장치
GB0616135D0 (en) * 2006-08-14 2006-09-20 British Telecomm Application controller
KR101513890B1 (ko) * 2008-06-13 2015-04-21 삼성전자주식회사 어플리케이션에 대한 시청 제한 정보 송수신 방법 및 장치
US8737916B2 (en) * 2008-07-21 2014-05-27 Samsung Electronics Co., Ltd. Metadata display control method and system for broadcast receiver
US8339514B2 (en) * 2008-09-03 2012-12-25 Sony Corporation Modular flexible software architecture for TV
KR101892634B1 (ko) * 2011-12-22 2018-08-29 삼성전자주식회사 전자 장치, cas 시스템 및 그 제어 방법
EP2896226B1 (en) * 2012-09-11 2017-02-15 Telefonaktiebolaget LM Ericsson (publ) Application mobility in distributed cloud environment
US9609050B2 (en) 2013-01-31 2017-03-28 Facebook, Inc. Multi-level data staging for low latency data access
US10223431B2 (en) * 2013-01-31 2019-03-05 Facebook, Inc. Data stream splitting for low-latency data access
EP3080725B1 (en) * 2013-12-12 2020-06-10 Mobile Iron, Inc. Application synchronization
US9652468B2 (en) * 2013-12-17 2017-05-16 Annapurna Labs Ltd. In-band de-duplication
US20160315866A1 (en) * 2015-04-27 2016-10-27 Telefonaktiebolaget L M Ericsson (Publ) Service based intelligent packet-in mechanism for openflow switches
US11025724B2 (en) * 2017-07-24 2021-06-01 Facebook, Inc. Transport of control data in proxy-based network communications

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003591A (en) 1989-05-25 1991-03-26 General Instrument Corporation Functionally modifiable cable television converter system
US5440632A (en) 1992-12-02 1995-08-08 Scientific-Atlanta, Inc. Reprogrammable subscriber terminal
KR100289174B1 (ko) 1992-12-09 2001-05-02 마크 홀린저 케이블 텔레비젼 전달 시스템을 위한 세트 탑 터미날
JP3115157B2 (ja) * 1993-06-29 2000-12-04 三菱電機株式会社 ソフトウェア配布サービス方式
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
US5548532A (en) 1994-04-28 1996-08-20 Thomson Consumer Electronics, Inc. Apparatus and method for formulating an interactive TV signal
US5539920A (en) 1994-04-28 1996-07-23 Thomson Consumer Electronics, Inc. Method and apparatus for processing an audio video interactive signal
US5867205A (en) 1994-11-14 1999-02-02 Intel Corporation Method and apparatus for controlling video/audio and channel selection for a communication signal based on textual information indicative of channel contents of a signal
US5619250A (en) 1995-02-19 1997-04-08 Microware Systems Corporation Operating system for interactive television system set top box utilizing dynamic system upgrades
US5694596A (en) * 1995-05-25 1997-12-02 Kangaroo, Inc. On-line database updating network system and method
US5625693A (en) 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US5805825A (en) 1995-07-26 1998-09-08 Intel Corporation Method for semi-reliable, unidirectional broadcast information services
US5729743A (en) 1995-11-17 1998-03-17 Deltatech Research, Inc. Computer apparatus and method for merging system deltas
US5951639A (en) 1996-02-14 1999-09-14 Powertv, Inc. Multicast downloading of software and data modules and their compatibility requirements
US5929849A (en) 1996-05-02 1999-07-27 Phoenix Technologies, Ltd. Integration of dynamic universal resource locators with television presentations
US6157411A (en) 1996-06-14 2000-12-05 Intel Corporation Method and apparatus for compiling a repository of entertainment system data from multiple sources
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
KR100287137B1 (ko) * 1997-04-11 2001-04-16 윤종용 휴대형 정보 단말기의 버전 관리방법
US6381748B1 (en) 1997-05-02 2002-04-30 Gte Main Street Incorporated Apparatus and methods for network access using a set top box and television
US6317885B1 (en) 1997-06-26 2001-11-13 Microsoft Corporation Interactive entertainment and information system using television set-top box
US6442598B1 (en) 1997-10-27 2002-08-27 Microsoft Corporation System and method for delivering web content over a broadcast medium
US6446204B1 (en) 1997-10-31 2002-09-03 Oracle Corporation Method and apparatus for implementing an extensible authentication mechanism in a web application server
US6230322B1 (en) * 1997-11-05 2001-05-08 Sony Corporation Music channel graphical user interface
US6374268B1 (en) 1998-04-14 2002-04-16 Hewlett-Packard Company Methods and systems for an incremental file system
US6427238B1 (en) * 1998-05-29 2002-07-30 Opentv, Inc. Module manager for interactive television system
US6148081A (en) * 1998-05-29 2000-11-14 Opentv, Inc. Security model for interactive television applications
US6038319A (en) * 1998-05-29 2000-03-14 Opentv, Inc. Security model for sharing in interactive television applications
US6604236B1 (en) * 1998-06-30 2003-08-05 Iora, Ltd. System and method for generating file updates for files stored on read-only media
US20020091816A1 (en) * 1998-12-23 2002-07-11 Altan J. Stalker Broadcast data access system for multimedia clients in a broadcast network architecture
GB0016061D0 (en) * 2000-06-30 2000-08-23 Koninkl Philips Electronics Nv Efficient recording of object carousels
EP1337917A4 (en) * 2000-11-17 2009-04-08 Hewlett Packard Development Co SYSTEM AND METHOD FOR UPDATING AND DISTRIBUTING INFORMATION
JP2002342100A (ja) * 2001-05-17 2002-11-29 Matsushita Electric Ind Co Ltd ファームウェアの書き換え方法
AU2003234144B2 (en) * 2002-04-19 2008-12-04 Opentv, Inc. Supporting common interactive television functionality through presentation engine syntax
US20040010524A1 (en) * 2002-07-12 2004-01-15 Wallace Michael W. Efficient method and system for delivering resources in broadcast environment
US7065780B2 (en) 2002-09-20 2006-06-20 Opentv, Inc. Method and system for emulating and HTTP server through a broadcast carousel
JP3985737B2 (ja) * 2003-06-20 2007-10-03 ソニー株式会社 ソフトウェア更新システムと電子機器およびソフトウェア更新方法

Also Published As

Publication number Publication date
EP1738254A4 (en) 2011-09-07
EP1738254A2 (en) 2007-01-03
WO2005106644A3 (en) 2008-01-03
AU2005238949B2 (en) 2009-09-10
US20050240631A1 (en) 2005-10-27
EP1738254B1 (en) 2015-10-21
WO2005106644A2 (en) 2005-11-10
AU2005238949A1 (en) 2005-11-10
JP2008500606A (ja) 2008-01-10
JP4719215B2 (ja) 2011-07-06
US7523145B2 (en) 2009-04-21

Similar Documents

Publication Publication Date Title
ES2558682T3 (es) Sistema para administrar datos en un sistema informático distribuido
US9933274B2 (en) Determining location information using a location data point provided by a computing device
RU2712130C1 (ru) Способ и устройство обработки файла на основе обновления с патчем, конечное устройство и носитель информации
ES2379347T3 (es) Método y sistema para emular un servidor HTTP a través de un carrusel de difusión
ES2699406T3 (es) Aparatos y procedimientos para recuperar/descargar contenido en un dispositivo de comunicación
EP2919440B1 (en) Advertisement processing method and device
US20120324482A1 (en) Methods, apparatuses and computer program products for provisioning applications to in vehicle infotainment systems with secured access
EP3018609B1 (fr) Procédé de chargement de fichier en mémoire vive dans un appareil électronique et appareil électronique associé
US8452834B2 (en) Information processing apparatus, program, and information processing system
WO2013133916A1 (en) Tiers of data storage for web applications and browser extensions
JP5358539B2 (ja) 携帯端末、データ配信サーバ、データ配信システム、およびデータ配信方法
US20180115599A1 (en) Searching content associated with multiple applications
KR102128088B1 (ko) 전자 장치의 방송 채널 정보 공유 방법 및 그 전자 장치
JP2005352907A (ja) 移動通信端末及びデータアクセス制御方法
JP2005222547A (ja) コンテンツ著作権保護のためのdrm管理方法及びその装置
KR20140026970A (ko) 전자 기기의 콘텐트 공유 방법 및 그 전자 기기
KR101597843B1 (ko) 기능 레벨들을 어드레싱하는 컨텐츠 관리
JP2004171258A (ja) パーミッショントークン管理システム及びプログラム
ES2899920T3 (es) Preservación de tasa de bits y de segmentación para la presentación de contenido
EP3385872B1 (en) Anti-counterfeiting method, device, storage medium and apparatus based on invalid map data
ES2753024T3 (es) Navegación diferida
US7516197B1 (en) Control content transmission method and storage-based broadcasting system
JP2010009441A (ja) コンテンツ配信方法、および、コンテンツ配信システム
WO2016133180A1 (ja) データ処理プログラム及びデータ処理システム
CN117828672A (zh) 细粒度动态授权的访问控制与高并发处理方法及装置