ES2253222T3 - Procedimiento y sistema de actualizaciones de programacion especificas o universales en un conjunto de decodificadores avanzados en un sistema de television por cable. - Google Patents

Procedimiento y sistema de actualizaciones de programacion especificas o universales en un conjunto de decodificadores avanzados en un sistema de television por cable.

Info

Publication number
ES2253222T3
ES2253222T3 ES00925986T ES00925986T ES2253222T3 ES 2253222 T3 ES2253222 T3 ES 2253222T3 ES 00925986 T ES00925986 T ES 00925986T ES 00925986 T ES00925986 T ES 00925986T ES 2253222 T3 ES2253222 T3 ES 2253222T3
Authority
ES
Spain
Prior art keywords
cited
code
decoder
terminal
initialization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES00925986T
Other languages
English (en)
Inventor
Christopher Poli
Christopher S. Del Sordo
Jack M. Birnbaum
Douglas S. Makofka
Thomas F. Bates, Iv
Ira S. Lehrman
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.)
Arris Technology Inc
Original Assignee
Arris Technology Inc
General Instrument Corp
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 Arris Technology Inc, General Instrument Corp filed Critical Arris Technology Inc
Application granted granted Critical
Publication of ES2253222T3 publication Critical patent/ES2253222T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4432Powering on the client, e.g. bootstrap loading using setup parameters being stored locally or received from the server
    • 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/45Management 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/4508Management of client data or end-user data
    • H04N21/4516Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available
    • 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/45Management 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/454Content or additional data filtering, e.g. blocking advertisements
    • 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/45Management 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/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • 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/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)

Abstract

Un procedimiento para controlar una actualización de programación en al menos un terminal decodificador (300) conectado a un sistema de televisión por cable, un terminal decodificador (300) de dicho al menos un terminal decodificador (300) con una configuración de hardware, comprendiendo el procedimiento: almacenamiento de un código de inicialización (302) en el terminal decodificador citado (300); transmisión de una pluralidad de códigos de base en una señal de secuencia de transporte (322) del sistema de televisión por cable citado; identificación de un código de base específico del terminal decodificador (304), identificando el código de inicialización citado (302) el código de base específico citado (304) de la pluralidad de códigos de base citados; recuperación del código de base específico citado (304), recuperando el terminal decodificador citado (300) el código de base específico citado (304) de la pluralidad de códigos de base citados en la configuración de hardware citada; en el que el código de base específico citado (304) permite a un usuario del terminal decodificador citado (300) ver emisiones usando la señal citada (322) desde el sistema de televisión por cable citado; transmisión de uno de un sistema operativo (O/S) y una aplicación residente (6) en la señal de secuencia de transporte citada (322), transmitiendo el sistema de televisión citado uno del sistema operativo citado (O/S) y una aplicación residente citada; y carga de un sistema operativo citado (O/S) y de la aplicación residente citada (6) en el terminal decodificador citado (300), ejecutándose el código de base citado (304) para controlar la carga de uno del sistema operativo citado (O/S) y aplicación residente citada (6).

Description

Procedimiento y sistema de actualizaciones de programación específicas o universales en un conjunto de decodificadores avanzados en un sistema de televisión por cable.
Solicitudes relacionadas
La presente solicitud reivindica prioridad de una solicitud anterior de patente provisional de EE.UU. titulada "Sistema de Gestión de Actualización e Inicialización de Software y Firmware y Procedimiento para un Decodificador Avanzado en un Sistema de Televisión por Cable," n° de serie 60/130.328, presentada el 21 de abril de 1999.
Campo de la invención
La presente invención está relacionada con el campo de la actualización de la programación, es decir, software y firmware, en un conjunto de terminales decodificadores conectados a un sistema de televisión por cable. Más concretamente, la presente invención tiene como objeto proporcionar un procedimiento y un sistema con los que el operador del sistema de televisión por cable pueda hacer efectiva a distancia una actualización universal de la programación del terminal decodificador o una actualización específica de la programación en un terminal decodificador o en un grupo definido de terminales decodificadores.
Antecedentes de la invención
En un sistema de televisión por cable convencional, se proporciona a los abonados un decodificador o terminal decodificador. El terminal decodificador es un módulo de equipamiento electrónico usado para conectar la televisión del abonado, y otros equipamientos electrónicos potenciales, a la red por cable. El decodificador suele estar conectado a la red por cable mediante una salida mural coaxial.
El decodificador es esencialmente un ordenador programado para procesar las señales de la red por cable y proporcionar al abonado los servicios del cable. Estos servicios del operador de telecomunicaciones por cable incluyen generalmente acceso a un número de canales de televisión y, tal vez, una guía electrónica de programas. También pueden proporcionarse al abonado canales premium adicionales mediante una tarifa adicional. Asimismo, se pueden proporcionar la visión de acontecimientos de pago (pay-per-view) y pedidos de vídeo a través de la red por cable. El decodificador está programado para proporcionar estos y otros servicios a los abonados.
Sin embargo, los servicios del operador de telecomunicaciones por cable no deberían limitarse a proporcionar la programación de la televisión. Algunos operadores por cable están ofreciendo actualmente acceso a Internet y correo electrónico a través de sus redes por cable a unas velocidades más rápidas que las disponibles en las líneas de teléfono convencionales. Se prevé en un futuro que se proporcionarán más y más servicios mediante la red por cable, incluyendo incluso el servicio básico de telefonía. Finalmente, cada hogar u oficina tendrá una conexión individual, a través de la red por cable, a todos los servicios de datos electrónicos.
Cuando se añade un terminal decodificador nuevo a la red por cable, debe inicializarse. Para inicializar un terminal decodificador, éste debe estar equipado con la programación requerida que le permita funcionar en la red por cable específica a la que está conectado y de este modo proporcionar los servicios por los que el abonado ha pagado. Además, a medida que la red por cable y los servicios proporcionados evolucionan, también debe evolucionar el terminal decodificador para poder proporcionar a los abonados todos los servicios de la red por cable. Esta evolución del decodificador implicará en primer lugar cambios en la programación, o tal vez una reinicialización, del decodificador. Al actualizar el soft- o firmware del decodificador, puede hacerse que el módulo funcione con más eficacia u ofrezca nuevos servicios a medida que evoluciona la red por cable.
En el documento W097/30549 y la patente de EE.UU. N° 5.440.632; para inicializar los nuevos terminales decodificadores o actualizar la programación en el conjunto de decodificadores existente en una red por cable, es preferible transmitir la programación necesaria a los decodificadores a través de la propia red por cable. De lo contrario, un técnico debe visitar a cada abonado para instalar o actualizar los decodificadores. Obviamente, estas instalaciones y actualizaciones sobre el terreno significarían un gasto considerable. El nodo central es la instalación desde la que el operador de la red por cable emite las señales de televisión y proporciona otros servicios mediante la red por cable. Se podría emitir el software que se proporciona al conjunto de terminales decodificadores desde el nodo central a través de la red por cable.
En consecuencia, la técnica necesita un procedimiento y un sistema que permitan al operador del sistema de televisión por cable controlar un conjunto de terminales decodificadores para una programación actualizada adecuadamente aceptada y transmitida a través del sistema de televisión por cable. Además, debemos remarcar que, probablemente, con el tiempo el conjunto de terminales decodificadores llegará a incluir diferentes modelos y marcas de terminales decodificadores con distintas funciones. El software requerido para actualizar cada modelo y marca de terminal decodificador será por tanto diferente. En consecuencia, la técnica necesita un procedimiento para inicializar una actualización de estos terminales decodificadores específicos que requieren una actualización y para encontrar el código de programación adecuado a las funciones de estos terminales decodificadores en proceso de actualización.
Resumen de la invención
La presente invención tiene como objeto cubrir las necesidades descritas anteriormente y otras. Concretamente, la presente invención tiene como objeto proporcionar un procedimiento y un sistema que permitan a un operador de sistema de televisión por cable controlar un conjunto de terminales decodificadores para una programación actualizada adecuadamente aceptada y transmitida a través del sistema de televisión por cable. Además, otro objeto de la presente invención es proporcionar un procedimiento y un sistema para inicializar una actualización sólo de estos terminales decodificadores específicos que requieren una actualización y para encontrar el código de programación adecuado a las funciones de estos terminales decodificadores en proceso de actualización.
Otros objetos, ventajas y características nuevas de esta invención se expondrán en la descripción que sigue o los expertos en la materia pueden aprenderlos con la lectura de este material o poniendo en práctica la invención. Pueden lograrse los objetos y ventajas de la invención mediante los medios enumerados en las reivindicaciones adjuntas.
Para alcanzar los objetos manifestados y otros, la presente invención puede realizarse y describirse como un procedimiento y un sistema para controlar una actualización de programación en al menos un terminal decodificador conectado a un sistema de televisión por cable, como se define en las reivindicaciones independientes 1 y 9 con formas de realización preferidas tratadas en las reivindicaciones dependientes correspondientes.
El procedimiento para controlar una actualización de programación en al menos un terminal decodificador conectado a un sistema de televisión por cable, en el que al menos un terminal decodificador (300) de dicho al menos un terminal decodificador (300) tiene una configuración de hardware, comprende: almacenaje del código de inicialización en el citado terminal decodificador.
Transmisión de una pluralidad de códigos de base en una señal de secuencia de transporte (322) del sistema de televisión por cable. Identificación de un código de base específico del terminal decodificador, identificando este código específico de inicialización el código base de la pluralidad de los códigos bases. Recuperación del código de base específico, recuperando el terminal decodificador el código de base específico de la pluralidad de códigos de base basados en la configuración del hardware. En el que el código de base específico permite al usuario de dicho terminal decodificador ver las emisiones usando la señal del sistema de televisión por cable.
Transmisión de un sistema operativo y una aplicación residente en la señal de secuencia de transporte, transmitiendo el sistema de televisión el sistema operativo y la aplicación residente (6). Carga de uno del sistema operativo y la aplicación residente citados en el terminal decodificador, ejecutándose el código de base para controlar uno de la carga del sistema operativo y la aplicación_residente.
La presente invención también comprende el sistema físico y el hardware necesarios para implementar el procedimiento descrito anteriormente. Por ejemplo, la presente invención también comprende un sistema para actualizar la programación de forma controlada en un conjunto de terminales decodificadores conectados a un sistema de televisión por cable que incluye;(1) medios para transmitir una orden de actualización y una programación actualizada a los terminales decodificadores a través del sistema de televisión por cable; (2) medios para recibir la orden de actualización y la programación actualizada en cada terminal decodificador; y, en cada terminal decodificador, (3) medios para controlar la descarga y la implementación de la programación actualizada por el terminal decodificador de acuerdo con la orden de actualización.
Breve descripción de los dibujos
Los dibujos adjuntos ilustran la presente invención y forman parte de la memoria descriptiva. Junto a la siguiente descripción, los dibujos muestran y explican los principios de la presente invención.
La Fig. 1 es un diagrama de bloque que ilustra las tres fases distintas en las que diferentes paquetes de programación controlan el terminal decodificador durante el proceso de inicialización de esta invención.
La Fig. 2 es un organigrama que ilustra los pasos del procedimiento de inicialización para un terminal decodificador según la presente invención.
La Fig. 3 es un diagrama de bloque de los distintos dispositivos de memoria y algunos objetos de códigos usados en un módulo decodificador según la presente invención.
La Fig. 4 es un organigrama que ilustra el procedimiento de actualización universal o específica de la programación en terminales decodificadores en un sistema de cable por televisión según la presente invención.
Descripción detallada de la invención
La presente invención trata los problemas que atañen a la actualización de la programación en los módulos decodificadores existentes o a la inicialización de nuevos módulos decodificadores que usan el código de programación emitido a través de la red por cable. Como resultado, los módulos decodificadores siempre tienen los objetos de códigos necesarios para permitir que esos terminales decodificadores funcionar óptimamente en el sistema de cable y suministrar los servicios adquiridos por los abonados.
Como se ha manifestado en el principio general, la presente invención tiene como objeto suministrar una arquitectura de terminal decodificador que incluya un objeto de código de inicialización residente. Como se muestra en la Fig.3, el objeto de código de inicialización (302) reside en el terminal decodificador (300), preferentemente en la memoria de sólo lectura (ROM) (301) y puede ejecutar e inicializar o reinicializar automáticamente el terminal decodificador. Preferentemente, el código de inicialización será ejecutado por el procesador central (321) del terminal decodificador. Puede activarse la ejecución del código de inicialización e inmediatamente seguir la conexión de potencia al terminal decodificador. Además, la presente invención puede requerir conexión de la señal de secuencia de transporte (322) del sistema de cable a un sintonizador (323) controlado por el procesador (321) antes de que se active la ejecución del código de inicialización. Una vez que el código de inicialización ya se está ejecutando, no se requieren más acciones por parte del usuario / instalador. Además, no se requiere interacción específica entre el nodo central y el terminal decodificador que se está inicializando.
Como se describirá detalladamente a continuación, el código de inicialización de la presente invención encontrará, descargará y empezará automáticamente la ejecución del objeto u objetos de código del software adecuado necesarios para inicializar o reinicializar el terminal decodificador. El código de inicialización localizará, identificará y descargará la programación requerida entre varios objetos de código potenciales que pueden ser multiplexados en la secuencia de transporte procedente de la instalación del nodo central del sistema de televisión por cable. El código de inicialización reconoce la configuración del hardware del terminal decodificador en el que reside a través de una ROM interna, un Flash protegido u otro identificador codificado de memoria no volátil. Este identificador se contrasta con un valor implícito en un mensaje de localizador de descarga de objeto de la secuencia de transporte para asegurar que el código de inicialización obtiene y descarga objetos apropiados para el terminal decodificador en el que reside.
Funcionalmente, el código de inicialización de la presente invención identificará una frecuencia de canal de control adecuada, encontrará la secuencia de paquetes de datos de control en este canal de control, identificará y descargará el objeto adecuado entre los objetos de la secuencia de transporte, comprobará que el código descargado está autorizado y no contiene errores, y empezará el código descargado sin ayuda directa de un técnico o la intervención del nodo central. El término "código de inicialización" como se usa en esta invención comprende el código mínimo que se necesita para cumplir esta función.
Esta invención trata esencialmente dos fases distintas de programación de un módulo decodificador. La primera es la programación inicial del módulo decodificador. La segunda es la actualización de la programación o reinicialización del módulo decodificador tras su puesta en servicio.
La programación inicial del módulo decodificador la realiza normalmente el operador del sistema por cable después de haber adquirido el módulo decodificador a un fabricante. Como cada red por cable se diseña y construye en momentos diferentes y por suministradores de servicio diferentes, cada red por cable puede tener un diseño, una arquitectura y objetos de código diferentes. Además, los servicios específicos ofrecidos pueden variar según las redes por cable. Así pues, para adaptar el módulo decodificador al funcionamiento en el entorno específico de un sistema por cable de un suministrador de servicio y para proporcionar el grupo de servicios específicos ofrecidos actualmente por un suministrador de servicio en concreto, debe programarse o "inicializarse" el módulo decodificador de acuerdo con ello.
A continuación se explica el proceso de inicialización de un terminal decodificador según la presente invención. Para inicializar un terminal decodificador, es decir, que éste acepte y utilice la programación inicial que recibe, debe tener alguna programación básica que le enseñe cómo aceptar y usar esta programación inicial. Esta programación básica en el contexto de la presente invención se llama código de inicialización. Como se ha descrito anteriormente, el código de inicialización es un código del ordenador residente en la memoria permanente del terminal decodificador que se carga en fábrica, preferentemente en la memoria sólo de lectura, y no puede cambiarse una vez que el terminal ha sido instalado.
Como se muestra en la Fig. 1, según la presente invención existen tres clasificaciones o grados generales de programación que hacen funcionar o controlan el terminal decodificador durante diferentes fases de la inicialización y funcionamiento del terminal. En cuanto a la Fig. 1, el primer tipo de código es el código de inicialización (1). El código de inicialización se sitúa preferentemente en la memoria sólo de lectura del terminal decodificador, pero también puede estar alojado en la memoria Flash. Mientras se ejecuta el código de inicialización (1), el terminal decodificador no puede proporcionar ningún servicio al abonado. La función (2) del código de inicialización (1) consiste en buscar la secuencia de transporte de datos recibido desde la instalación del nodo central para localizar, adquirir y empezar la ejecución del código de plataforma de base (3) que es el siguiente grado o clasificación de programación.
El código de inicialización (1) está diseñado para autentificar el código de plataforma de base después de que éste se haya descargado. El código de inicialización (1) reautentificará preferentemente el código de plataforma de base cada vez que lance el objeto de plataforma de base (3). Cuando se está ejecutando el código de plataforma de base (3), ya se ha terminado la ejecución del código de inicialización (1) y el control del terminal decodificador pasa al código de plataforma de base (3).
Según los principios de la presente invención, el código de plataforma de base (3) se transmite al terminal decodificador desde el nodo central del cable durante la inicialización del terminal. Esto permite al operador del sistema por cable personalizar el código de plataforma de base (3) para un funcionamiento óptimo en el sistema por cable específico en el que el terminal decodificador está instalado. Preferentemente, el código de plataforma de base (3) se transmite a través de la planta de cable en una secuencia de transporte fuera de banda (00B). Sin embargo, en el ámbito de la presente invención para el código de plataforma de base (3) está previsto que se transmita en un canal de control en la banda.
El código de plataforma de base (3) tiene dos funciones. La primera función del código de plataforma de base (3) es proporcionar la función básica de permitir al abonado ver la televisión usando la señal del sistema de televisión por cable. La segunda función es controlar la descarga (5) de la siguiente clasificación de objetos de código, es decir, el sistema operativo específico (O/S) y las aplicaciones residentes (6). Mientras permite a los abonados ver la televisión, el código de plataforma de base (3) no admite ninguna función adicional del terminal decodificador. No obstante, el código de plataforma de base (3) puede adquirir, autentificar, autorizar y ejecutar objetos de la tercera y última clasificación de programación (por ejemplo, el O/S) (5).
La tercera clasificación de programación, el sistema operativo y las aplicaciones residentes (6), proporciona las funciones adicionales del terminal decodificador disponibles en el sistema por cable. El sistema operativo (O/S) es normalmente un código de una tercera parte (como WinCET^{TM} de Microsoft) que proporciona acceso, con las aplicaciones residentes, a todas las funciones autorizadas del terminal decodificador. Normalmente, el sistema operativo utiliza un módulo de código implantado adicional suministrado por el fabricante del terminal decodificador que interconecta el sistema operativo con el hardware concreto de este terminal decodificador para permitir que el sistema operativo funcione con este terminal decodificador específico.
Las aplicaciones residentes son programas de ordenador que hacen funcionar el terminal decodificador según el sistema operativo. Las aplicaciones residentes trabajan con el sistema operativo para proporcionar las funciones del terminal decodificador que se añaden a la de ver la televisión. La suite integrada es un grupo específico de aplicaciones de software, incluyendo el sistema operativo y tal vez varias aplicaciones residentes, que proporciona la funciones pretendidas por el terminal decodificador. Los elementos específicos de la suite integrada están determinados por el operador del sistema.
Como se indica en las Figs. 1 y 3, el código de inicialización (1) se carga en fábrica preferentemente en la memoria de sólo lectura (ROM) del terminal decodificador y se ejecuta tan pronto como llega la potencia de CA al terminal decodificador. Si no, el código de inicialización puede ejecutarse en respuesta a una señal de reinicialización (4) recibida, por ejemplo, del nodo central, es decir, del operador del sistema. Esto permite al operador del sistema reinicializar el terminal decodificador cuando se desee.
La señal de reinicialización (4) se recibe preferentemente a través del código de plataforma de base (3), que finaliza, si está en proceso, la ejecución del sistema operativo y las aplicaciones residentes (6) y empieza la ejecución del código de inicialización. O bien la señal de reinicialización (4) puede hacer que el código de plataforma de base (3) termine y recargar la suite integrada (6) en lugar de ejecutar el código de inicialización (1).
Como se ha descrito anteriormente, una vez ejecutado, el código de inicialización (1) adquiere y carga el código de plataforma de base (3). Puede proporcionarse el código de plataforma de base al terminal decodificador a través de la red por cable desde el nodo central o bien puede cargarse en fábrica junto con el código de inicialización. Preferentemente, el código de plataforma de base puede almacenarse en la memoria Flash (303) como se muestra en la Fig. 3. El código de inicialización (1) descargará el código de plataforma base (3), por ejemplo, a través de un canal fuera de banda desde el nodo central o bien, si el código de plataforma de base ha sido cargado en fábrica, identificará el código de plataforma de base (3) en la memoria. El código de inicialización (1) autentifica el código de plataforma de base (3) obtenido desde cualquier fuente y ejecuta después el código de plataforma de base (3).
El código de plataforma de base (3) adquiere entonces el sistema operativo y, preferentemente, los otros objetos de la suite integrada (6). El sistema operativo y los otros objetos se descargan desde el nodo central a través de la red por cable. El código de plataforma de base (3) adquirirá el sistema operativo y otros objetos cuando se hayan ejecutado por primera vez o, mientras se ejecuten, en respuesta a un mensaje de inicialización (4) del operador del sistema. El mensaje de inicialización (4) puede suministrarse a través de la red por cable. El sistema operativo y las aplicaciones residentes (6) se ejecutan entonces cuando se ha adquirido, autorizado y autentificado la suite integrada.
La Fig. 2 es un organigrama que proporciona una explicación más detallada sobre la secuencia de inicialización según la presente invención. Como se muestra en la Fig. 2, se ejecuta el código de inicialización (229) cuando se pone en marcha el terminal decodificador por primera vez o cuando se ha recibido una señal de reinicialización apropiada. El código de inicialización debe determinar primero si el módulo decodificador ya tiene o debe adquirir el código de plataforma de base. Para determinarlo, primero el código de inicialización comprueba la memoria flash para el código de plataforma de base, la última frecuencia portadora conocida (LKC) del canal de control del nodo central, y una Identificación del Proveedor del Mensaje de Gestión de Derechos (201, 202).
Si se descubre alguna de las tres condiciones siguientes, el código de inicialización llegará a la conclusión de que debe adquirir el código de plataforma de base y buscará el canal fuera de banda o el canal en la banda desde el que puede obtenerse el código de plataforma de base. El código de inicialización intenta adquirir el código de plataforma de base si (1) el código de plataforma de base, la última portadora conocida y el Identificador de Proveedor EMM no están almacenados en la memoria Flash, (2) el código de plataforma base en la memoria Flash falla en la comprobación de autentificación o (3) la memoria no volátil indica que se requiere una búsqueda para el canal de control (probablemente un canal fuera de banda).
Si el Flash determina que existe un objeto de código de plataforma de base, el código de inicialización procede a ejecutar este objeto de plataforma de base después de autorizarlo y autentificarlo como se describe a continuación. Si ambos, la plataforma de base y el sistema operativo (O/S), están cargados en Flash, el código de inicialización autoriza y autentifica la plataforma de base y entonces lanza la plataforma de base y pasa el control del terminal decodificador a ésta. El objeto de plataforma de base, a su vez, autoriza y autentifica (A&A) el O/S. El O/S autentificado se pone en marcha y el control pasa al O/S.
Si el código de la plataforma de base no está cargado en la memoria Flash, el código de inicialización carga la plataforma de base fuera de la secuencia de transporte fuera de banda (203, 204, 207). Sin embargo, antes de escribirse en la memoria Flash, se requiere una autentificación correcta (206, 205). Cuando se ha ejecutado el código de plataforma de base autentificado, el código de inicialización pasa el control a la plataforma de base (211, 228). Si el código de plataforma de base falla en la comprobación de autentificación (205), se suprime el código de plataforma de base erróneo (208) y se incrementa un contador (209) que sigue la pista al número de intentos para adquirir y autentificar un código de plataforma de base. Si el contador está por debajo de un predeterminado número aceptable de intentos, se vuelve a descargar el código de plataforma de base (207). Alternativamente, si se supera el número aceptable de intentos para descargar el código de plataforma de base, el terminal decodificador hará una señal al nodo central para una llamada de servicio (210).
Según los principios de esta invención, el código de inicialización localiza el objeto de plataforma de base usando un mensaje del código de inicialización o "mensaje de control del código de inicialización" que se envía periódicamente por la secuencia de transporte fuera de banda (204). A continuación se describirá con detalle el uso del mensaje de control del código de inicialización.
Cuando el código de inicialización determina la necesidad de descargar el objeto de plataforma de base, primero busca el canal de control. El código de inicialización incluye un cuadro de posibles frecuencias portadoras a las que está emitiendo el canal o canales de control. Estas frecuencias pueden ser fuera de banda o en la banda. El código de inicialización hará que el terminal decodificador sintonice estas frecuencias una por una hasta localizar el canal de control y obtener un bloqueo de portadora. Si una frecuencia concreta no recibe el canal de control durante un periodo determinado de tiempo, el terminal decodificador sintonizará la siguiente frecuencia del cuadro. También se puede mover a través de un intervalo de frecuencias o rastrear un intervalo de frecuencias para encontrar el canal de control en lugar de moverse a través de un cuadro de frecuencias.
El canal de control es una secuencia de paquetes de datos que el terminal decodificador puede recibir y usar. Para emitir un número de objetos diferentes de forma simultánea, el nodo central dividirá los objetos para transmitirlos a través del canal de control en paquetes. Los paquetes de los diversos objetos en transmisión pueden intercalarse o multiplexarse en el tiempo juntos, así todos estos objetos diversos se transmiten esencialmente de forma simultánea. Los paquetes para cada objeto en particular tendrán un común identificador de paquete o "PID". De esta manera, un terminal decodificador puede identificar los paquetes a través del objeto que está tratando de adquirir. Al adquirir todos los paquetes con un PID concreto, el terminal decodificador puede reunir el objeto completo del conjunto de paquetes con este PID en
particular.
Según la presente invención, un terminal decodificador puede empezar en cualquier parte de la evolución a adquirir un objeto e ir envolviendo hasta que se hayan descargado todos los paquetes necesarios. Por ejemplo, el terminal decodificador puede cargar el primer paquete que recibe con un PID X. Este paquete puede contener 50 de 100 paquetes marcados con el PID X. Entonces el terminal sigue recopilando los paquetes de 51 a 100 con el PID X, después del 1 al 49. Con todos estos paquetes en su poder, el terminal puede volver a reunir el objeto dividido en paquetes.
El nodo central puede necesitar emitir un número de objetos de forma simultánea porque puede haber distintas clases o tipos de terminales decodificadores en el conjunto. Cada clase de terminal decodificador puede necesitar una versión diferente de código de plataforma de base, de O/S o de aplicación residente, por ejemplo. Por tanto, cuando el código de inicialización va a inicializar el terminal decodificador y debe adquirir el código de plataforma de base, el código de inicialización debe determinar dónde adquirir la plataforma de base adecuada al terminal decodificador en el que está funcionando.
De esta manera, una vez que se haya logrado el bloqueo de portadora y se esté recibiendo el canal de control, el código de inicialización empezará a recopilar paquetes identificados con el PID 1 de la secuencia de transporte en el canal de control. El PID 1 está dedicado al mensaje de acceso condicional en la norma MPEG. Los paquetes del PID 1 proporcionarán al código de inicialización que funciona en el terminal decodificador un Cuadro de Acceso Condicional (CAT) de descriptores de EMM, de los que cada uno identifica un PID para un conjunto de paquetes en la secuencia de transporte que constituye una secuencia de EMM (Mensaje de Gestión de Derechos).
El código de inicialización empezará con el primer descriptor de EMM y comenzará a cargar paquetes de la secuencia de transporte marcados con el PID de EMM dado por el descriptor de EMM. Los paquetes de PID de EMM que se adquieran contendrán el mensaje del código de inicialización de la presente invención, que, a su vez, incluirá un identificador de plataforma.
El código de inicialización, instalado en fábrica en el terminal decodificador, también incluirá un identificador de plataforma específico al tipo de terminal en el que reside el código de inicialización. Cuando se esté ejecutando, el código de inicialización intentará compatibilizar el identificador de plataforma suministrado en fábrica con el identificador de plataforma del mensaje de código de inicialización de los paquetes del PID de EMM.
Si no se encuentra ninguna coincidencia, el código de inicialización seleccionará el siguiente descriptor de EMM en el CAT y comprobará los paquetes del PID de EMM identificados por este descriptor de EMM para un mensaje de código de inicialización con un identificador de plataforma coincidente. Y seguirá así hasta que se encuentre el identificador de plataforma coincidente (203). Es posible buscar múltiples PIDs de EMM simultáneamente para reducir el tiempo de comprobación del EMM y el tiempo requerido para encontrar el mensaje de código de inicialización coincidente.
Si se comprueban todos los descriptores de EMM en el CAT de PID 1 y no se encuentra ningún identificador de plataforma coincidente, el código de inicialización buscará otro canal de control en otra frecuencia portadora volviendo al cuadro de frecuencias portadoras. Cuando se identifica y bloquea otra frecuencia con un canal de control, el código de inicialización extraerá el PID 1 y repetirá el proceso subrayado anteriormente. Y así hasta que se encuentre un mensaje de código de inicialización con un identificador de plataforma que coincida con el identificador de plataforma del código de inicialización.
Cuando el código de inicialización encuentre un mensaje de código de inicialización con un identificador de plataforma coincidente, el código de inicialización extraerá un PID descargado (DL PID) especificado en el mensaje de código de inicialización coincidente. El PID descargado (DL PID) es el identificador para los paquetes que cargan el objeto de código, por ejemplo, el objeto de código de plataforma de base, que es más adecuado para el tipo de terminal decodificador con el identificador de plataforma en el mensaje de código de inicialización. El código de inicialización puede descargar entonces el objeto de código de plataforma de base adquiriendo los paquetes con el DL PID y reunir los datos en estos paquetes en el código de plataforma de base.
Como se muestra en la Fig. 2, una vez que se ha descargado o identificado como residente en la memoria Flash el código de plataforma de base, se realiza una comprobación de autentificación (206) para comprobar que el código de plataforma de base se ha recibido de forma completa y precisa y que no ha sido alterado por partes no autorizadas.
Si la plataforma de base falla en la comprobación de autentificación, se suprime (208). Entonces puede comprobarse un contador de carga para determinar el número de veces que el terminal decodificador ha intentado adquirir un código de plataforma de base válido (209). Si el contador sobrepasa un límite predeterminado, el terminal decodificador hará señal al nodo central para una llamada de servicio o indicará al abonado la necesidad de solicitar una llamada de servicio (210). Si no se ha sobrepasado el contador, el código de inicialización revertirá al procedimiento descrito anteriormente e intentará descargar de nuevo el código de plataforma de base (207).
O bien, si se autentifica el código de plataforma de base, éste se lanza (211). Entonces el código de plataforma de base determinará si la suite integrada, incluyendo el O/S, está cargada en la memoria Flash (214). Si no es así, el código de plataforma de base intentará descargar la suite integrada.
Con el código de plataforma de base en funcionamiento, el operador del sistema debe proporcionar al terminal decodificador un conjunto de "mensajes de inicialización" que suministran, por ejemplo, mapas de canales, cuadros e información de EMM (219, 212). Estos mensajes deberían suministrarse antes de cargar la suite integrada. Los mensajes de inicialización deben mostrar al terminal decodificador dónde adquirir la suite integrada.
Después de descargarse la suite integrada, o si ya se ha encontrado la que existía en la memoria Flash, se realiza una comprobación de autorización en la suite integrada (215, 220), 224, 223). La descarga de la suite integrada incluirá un Mensaje de Acceso Condicional de Objeto (OCAM) que registrará el terminal decodificador. La firma de autentificación y el código de autorización para el objeto de la suite integrada están disponibles en el OCAM y se usan para autorizar y autentificar la suite integrada de la forma descrita a continuación.
Si la comprobación de autorización falla, se suprimirá el código de la suite integrada (225, 217) y el código de plataforma de base no intentará adquirir la suite integrada (221) hasta que pase la autorización. Si la comprobación de autorización se realiza con éxito, se carga la suite integrada y cualquier aplicación residente asociada y se realiza una comprobación de autentificación (222). Como antes, si la comprobación de autentificación falla, se suprimirá el código descargado (217) y se comprobará un contador de carga o temporizador (216) para ver si debería hacerse otro intento de descarga de código o señalarse una llamada de servicio (213).
Alternativamente, si la comprobación de autentificación (222, 218) se realiza con éxito, la suite integrada y cualquier aplicación residente asociada se ejecutarán al mismo tiempo que el O/S (226, 227). El código de plataforma de base realiza la autorización y autentificación en el código del O/S. Si el O/S pasa la comprobación de autorización y autentificación, se ejecuta el O/S y el control pasa al O/S. El BIOS (Software básico de entrada/salida) debe realizar la autorización y autentificación del resto de la suite integrada (215, 224, 222).
En resumen, varias partes del procedimiento de inicialización incluyen un procedimiento de autorización y autentificación de objeto (A&A) para objetos recientemente adquiridos o localizados. La comprobación de autorización de la suite integrada se realiza en la plataforma de base. A su vez, la autorización y/o autentificación de la plataforma de base es realizada por el código de inicialización, el único que puede autentificar un objeto de plataforma de base. Mientras se ejecuta, el O/S de la suite integrada realiza la autentificación y autorización de los objetos cargados subsiguientes. Se requieren estas comprobaciones para que, en caso de interrupción de alimentación, etc., pueda comprobarse el estado de autorización del terminal. Si en algún momento falla la comprobación de autorización y autentificación, se inutiliza el objeto que se está comprobando.
La autentificación se lleva a cabo de la siguiente manera. Cuando se emite un objeto de código a través de la red por cable, se asocia a un código de autorización y una firma de autentificación. Para el objeto de plataforma de base, el identificador de código se da preferentemente en un campo de id_objeto del mensaje de código de inicialización. La firma de autentificación se da preferentemente en un campo de descripción_objeto del mensaje de código de inicialización. Para otros objetos, como el O/S y la suite integrada, el código de autorización y la firma de autentificación están disponibles en un OCAM descargado de forma independiente al objeto.
La firma de autentificación se calcula matemáticamente usando un algoritmo específico con el propio objeto de código como entrada de datos para el algoritmo. Entonces el terminal decodificador vuelve a calcular la firma usando el mismo algoritmo y el código descargado como entrada de datos. Si la firma calculada por el terminal decodificador coincide con la firma trasmitida con el código, puede implementarse el código con la seguridad de que ha sido transmitido adecuadamente, sin alteración involuntaria o intencionada.
La Fig. 3 ilustra cuatro unidades de memoria de un terminal decodificador (300) según esta invención. Una unidad de memoria de sólo lectura (ROM) (301) contiene el código de inicialización (302). Una unidad de memoria flash (303) contiene el código de plataforma de base (304) y el objeto de O/S (306). Aparte de estos objetos, está disponible una memoria flash adicional (305). Dos punteros de pila (307, 308) designan localizaciones absolutas en la memoria Flash (303) para el código de plataforma de base (304, 308) y el O/S (306, 307). Es importante que estos dos objetos estén completamente localizados en Flash (303).
Una unidad de memoria no volátil (310) tiene preferentemente un segmento gestionado y uno no gestionado. El código de plataforma de base (304) debe almacenar parámetros y otros datos en la misma proporción que la unidad de memoria no volátil (310).
Finalmente, se proporciona una unidad de memoria de acceso aleatorio (RAM) (309). Los objetos descargados como el código de plataforma de base, el O/S, etc., deben almacenarse en la RAM (309) hasta que se autentifiquen. Una vez que se han completado la autorización y la autentificación, pueden transferirse los objetos de la RAM (309) a la unidad de memoria Flash (303) para un almacenaje a largo plazo.
La presente invención proporciona dos maneras básicas de actualizar la plataforma básica en un conjunto de terminales decodificadores una vez que estos terminales están en pleno servicio. Como se ilustra en la Fig. 4, estos dos procedimientos de actualización son (1) una actualización universal de todo el conjunto (es decir, todo el conjunto sintonizado en una secuencia de control concreta) y (2) una actualización específica de un subgrupo o varios subgrupos del conjunto. Ambos procedimientos pueden utilizar el código de inicialización para realizar la actualización.
Como se muestra en la Fig. 4, el operador del sistema transmite una orden de actualización del nodo central del cable al conjunto de terminales decodificadores que reciben la señal del nodo central a través de la red por cable (401). Todos los terminales sintonizados en el canal de control en el que se emite la orden de actualización recibirán la orden (402).
Cada terminal decodificador determinará en primer lugar si la orden de actualización es universal o específica (403). Una orden de actualización universal hará que todos los terminales decodificadores que la reciben efectúen la actualización específica. Si la orden de actualización es universal, cada terminal decodificador determinará entonces si la orden es para actualización completa o específica (404). Una actualización completa requerirá que el terminal decodificador actualice toda la programación excepto el código de inicialización inalterable, es decir, el objeto de la plataforma de base y la suite integrada, incluyendo el objeto del sistema operativo y las aplicaciones residentes. Una actualización parcial sólo requiere que el terminal decodificador sustituya uno o más elementos de la suite integrada, es decir, el objeto del sistema operativo y/o una o más aplicaciones residentes.
Si se señala una actualización completa, el terminal decodificador determinará el código de la suite integrada y de la plataforma de base (407). El terminal decodificador también puede suprimir los objetos terminados. En ausencia de otra programación de ejecución, el terminal decodificador reejecutará automáticamente el código de inicialización desde la ROM. Entonces el código de inicialización asume el control y realiza el procedimiento de inicialización subrayado anteriormente, incluyendo la sustitución de la plataforma de base y la suite integrada con objetos de código actualizados descargados a través de la red por cable como se ha descrito anteriormente.
Si la actualización ordenada es parcial en lugar de completa, uno o más elementos de la suite integrada serán sustituidos o se añadirá un nuevo elemento a la suite integrada. Si se deben sustituir elementos existentes de la suite integrada, el terminal decodificador finalizará, y puede suprimir, estos elementos específicos (410).
Si se debe sustituir el sistema operativo, el código de plataforma de base asumirá el control del terminal en la finalización del sistema operativo existente. Entonces el código de plataforma de base cargará un nuevo sistema operativo actualizado desde la red por cable como se ha descrito anteriormente (411). Esto también puede incluir la recarga o la actualización de algunas de las aplicaciones residentes de la suite integrada.
O bien, si se deben sustituir una o más aplicaciones residentes o se debe añadir una nueva aplicación residente, el sistema operativo, en lugar del código de plataforma de base, debe controlar la descarga, la autentificación y la autorización de los nuevos objetos de códigos como se ha descrito anteriormente.
Una actualización específica se refiere a un terminal individual o a un grupo pequeño de terminales en un canal de control concreto. Cada terminal tiene una dirección única específica y puede, por tanto, ser dirigido por el nodo central y enseñado para actualizar completa o parcialmente su programación. Alternativamente, cada terminal tiene una o más direcciones múltiples compartidas con otros terminales del conjunto. Es preferible que haya cuatro direcciones múltiples para cada terminal. Con una dirección múltiple, el nodo central puede señalar una actualización o reinicialización de código para una clase específica de terminales que compartan esta dirección múltiple en concreto.
Como se muestra en la Fig. 4, cuando haya recibido una orden de actualización específica, el terminal decodificador extraerá la información de dirección del terminal de la orden de actualización específica (405). Si la información de dirección de la orden de actualización coincide con la dirección única o alguna dirección múltiple del terminal decodificador receptor, este terminal aceptará e implementará la orden de actualización (406). Entonces el terminal determina si la orden de actualización es completa o parcial (404) y el procedimiento de actualización se inicia como se ha subrayado anteriormente.
De esta manera, el sistema operativo puede controlar de forma muy eficaz y flexible la actualización de la programación en el conjunto de terminales conectados al sistema de televisión por cable.
La precedente descripción se ha presentado únicamente para ilustrar y describir la invención. No se pretende ser exhaustivo o limitar la invención a una forma descrita precisa. Se pueden realizar modificaciones y variaciones a la luz de las enseñanzas anteriores.
La forma de realización preferida se ha escogido y descrito para explicar mejor los principios de la invención y su aplicación práctica. La descripción precedente pretende permitir a otros expertos en la materia utilizar mejor la invención en distintas descripciones y con varias modificaciones, apropiadas al uso concreto contemplado, estando definida la invención en las reivindicaciones anexas.

Claims (12)

1. Un procedimiento para controlar una actualización de programación en al menos un terminal decodificador (300) conectado a un sistema de televisión por cable, un terminal decodificador (300) de dicho al menos un terminal decodificador (300) con una configuración de hardware, comprendiendo el procedimiento:
almacenamiento de un código de inicialización (302) en el terminal decodificador citado (300);
transmisión de una pluralidad de códigos de base en una señal de secuencia de transporte (322) del sistema de televisión por cable citado;
identificación de un código de base específico del terminal decodificador (304), identificando el código de inicialización citado (302) el código de base específico citado (304) de la pluralidad de códigos de base citados;
recuperación del código de base específico citado (304), recuperando el terminal decodificador citado (300) el código de base específico citado (304) de la pluralidad de códigos de base citados en la configuración de hardware citada;
en el que el código de base específico citado (304) permite a un usuario del terminal decodificador citado (300) ver emisiones usando la señal citada (322) desde el sistema de televisión por cable citado;
transmisión de uno de un sistema operativo (O/S) y una aplicación residente (6) en la señal de secuencia de transporte citada (322), transmitiendo el sistema de televisión citado uno del sistema operativo citado (O/S) y una aplicación residente citada; y
carga de un sistema operativo citado (O/S) y de la aplicación residente citada (6) en el terminal decodificador citado (300), ejecutándose el código de base citado (304) para controlar la carga de uno del sistema operativo citado (O/S) y aplicación residente citada (6).
2. El procedimiento de la reivindicación 1, en el que una pluralidad de terminales decodificadores (300) están conectados a la señal de secuencia de transporte citada (322) del sistema de televisión por cable citado, adaptándose cada terminal decodificador (300) de la pluralidad de terminales decodificadores citados (300) para realizar la citada etapa de recuperación del código de base específico citado (304) de la pluralidad de códigos de base citados, y la etapa de recuperación citada de uno del sistema operativo citado (O/S) y aplicación residente citada (6).
3. El procedimiento de la reivindicación 1, que comprende además:
autentificación del código de base específico citado (304), autentificando el código de inicialización citado (302) el código de base específico citado (304).
4. El procedimiento de la reivindicación 1, que comprende además:
la ejecución del código de inicialización citado (302) finaliza al ejecutar el código de base específico citado (304).
5. El procedimiento de la reivindicación 1, en el que la señal de secuencia de transporte citada (322) es una secuencia de transporte fuera de banda, siendo transmitida la pluralidad de códigos de base citados por la citada secuencia de transporte fuera de banda.
6. El procedimiento de la reivindicación 1, en el que la señal de secuencia de transporte citada (322) es una secuencia de transporte en la banda, siendo transmitida la pluralidad de códigos de base citados por la citada secuencia de transporte en la banda.
7. Un sistema para controlar una actualización de programación en al menos un terminal decodificador (300) conectado a un sistema de televisión por cable, al menos un terminal decodificador (300) de dicho al menos un terminal decodificador (300) tiene una configuración de hardware y código de inicialización, incluyendo la citada configuración de hardware un procesador (321), teniendo el sistema de televisión por cable citado un transmisor, el sistema para controlar una actualización de código de inicialización (302), un código de base (304), y un sistema operativo (O/S) y una aplicación residente (6),
en el que el citado sistema de televisión por cable comprende medios para transmitir una pluralidad de códigos de base en la señal de secuencia de transporte citada (322), y para transmitir uno del sistema operativo citado (O/S) y aplicación residente citada (6) en la señal de secuencia de transporte citada (322);
en el que el terminal decodificador citado comprende los medios para almacenar el código de inicialización citado (302) en el terminal decodificador citado (300),y medios para ejecutar el código de inicialización citado para identificar un código de base específico de terminal decodificador (304) de dicha pluralidad de códigos de base para recepción por parte del terminal decodificador citado (300) y recuperar el código de base específico citado (304) de la pluralidad de códigos de base citados, siendo recuperado el código de base específico citado (304) por el terminal decodificador citado (300) basado en la configuración de hardware citada;
y en el que el terminal decodificador citado comprende además los medios para ejecutar el código de base específico citado (304), permitir a un usuario del citado terminal decodificador (300) ver emisiones usando la señal citada (322) desde el sistema de televisión por cable citado y controlar la carga del sistema operativo citado (O/S) y la aplicación residente citada (6) en el terminal decodificador citado (300).
8. El sistema para controlar una actualización de programación de la reivindicación 7, en el que una pluralidad de terminales decodificadores (300) están conectados a la señal de secuencia de transporte citada (322) desde el sistema de televisión por cable citado, adaptándose cada terminal decodificador (300) de la citada pluralidad de terminales decodificadores (300) para realizar la citada etapa de recuperación del código de base específico citado (304) de la pluralidad citada de códigos de base, y la citada etapa de recuperación del sistema operativo citado (O/S) y la aplicación residente citada (6).
9. El sistema para controlar una actualización de programación de la reivindicación 7, en el que el código de inicialización citado (302) autentifica el código de base específico citado (304).
10. El sistema para controlar una actualización de programación de la reivindicación 7, en el que la ejecución del código de inicialización citado (302) finaliza en la ejecución del código de base específico citado (304).
11. El sistema para controlar una actualización de programación de la reivindicación 7, en el que la señal de secuencia de transporte citada (322) es una secuencia de transporte fuera de banda, transmitiéndose la pluralidad citada de códigos de base por la citada secuencia de transporte fuera de banda.
12. El sistema para controlar una actualización de programación de la reivindicación 7, en el que la señal de secuencia de transporte citada (322) es una secuencia de transporte en la banda, transmitiéndose la pluralidad citada de códigos de base por la citada secuencia de transporte en la banda.
ES00925986T 1999-04-21 2000-04-14 Procedimiento y sistema de actualizaciones de programacion especificas o universales en un conjunto de decodificadores avanzados en un sistema de television por cable. Expired - Lifetime ES2253222T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US545678 1983-10-25
US13032899P 1999-04-21 1999-04-21
US130328P 1999-04-21
US54567800A 2000-04-07 2000-04-07

Publications (1)

Publication Number Publication Date
ES2253222T3 true ES2253222T3 (es) 2006-06-01

Family

ID=26828381

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00925986T Expired - Lifetime ES2253222T3 (es) 1999-04-21 2000-04-14 Procedimiento y sistema de actualizaciones de programacion especificas o universales en un conjunto de decodificadores avanzados en un sistema de television por cable.

Country Status (10)

Country Link
EP (1) EP1172006B1 (es)
JP (1) JP2002542736A (es)
CN (1) CN1355996A (es)
AU (1) AU770984B2 (es)
BR (1) BR0009903A (es)
CA (1) CA2370764A1 (es)
DE (1) DE60025599T2 (es)
ES (1) ES2253222T3 (es)
TW (1) TW480887B (es)
WO (1) WO2000064178A1 (es)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6199901A (en) * 2000-06-15 2001-12-24 Fastcom Technology S.A. Method for self-modification of audio-visual data
US6839846B2 (en) * 2001-01-03 2005-01-04 Intel Corporation Embedding digital signatures into digital payloads
FR2845493A1 (fr) 2002-10-04 2004-04-09 Canal Plus Technologies Logiciel embarque et procede d'authentification de celui-ci
CN100395699C (zh) * 2002-12-31 2008-06-18 北京中视联数字系统有限公司 一种机顶盒软件更新的方法
US7500092B2 (en) 2003-01-17 2009-03-03 International Business Machines Corporation Hardware abstraction for set-top box operating systems
GB2424811B (en) 2003-06-17 2006-12-06 Accenture Global Services Gmbh Method and system for selectively distributing data to a set of network devices
JP2005115781A (ja) * 2003-10-09 2005-04-28 Mobile Hoso Kk ソフトウェア提供方法、ソフトウェア提供システム、端末装置及びソフトウェア取得方法
CN100364263C (zh) * 2003-11-11 2008-01-23 华为技术有限公司 一种下一代网络终端的运营维护方法
WO2005073845A2 (en) * 2004-01-28 2005-08-11 Koninklijke Philips Electronics, N.V. Use loader for signaling the system software update service
KR100725387B1 (ko) 2004-08-24 2007-06-08 삼성전자주식회사 데이터 방송에서의 전송 코드 세트 시그널링 방법 및 장치
KR100866581B1 (ko) * 2007-04-19 2008-11-03 주식회사 드리머 디스크 매체 재생 장치 기반 데이터 애플리케이션 제공방법 및 이를 실현시키기 위한 프로그램을 기록한 컴퓨터로판독 가능한 기록 매체
KR20100050098A (ko) * 2008-11-05 2010-05-13 삼성전자주식회사 영상처리장치 및 그 제어 방법
CN102082965B (zh) * 2010-10-15 2012-12-19 福建新大陆通信科技股份有限公司 一种保障机顶盒升级成功的方法
US11036488B2 (en) 2019-08-12 2021-06-15 International Business Machines Corporation System and method for optimal hierarchical upgrade time prediction

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440632A (en) * 1992-12-02 1995-08-08 Scientific-Atlanta, Inc. Reprogrammable subscriber terminal
US5734589A (en) * 1995-01-31 1998-03-31 Bell Atlantic Network Services, Inc. Digital entertainment terminal with channel mapping
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5951639A (en) * 1996-02-14 1999-09-14 Powertv, Inc. Multicast downloading of software and data modules and their compatibility requirements
US6049830A (en) * 1997-05-13 2000-04-11 Sony Corporation Peripheral software download of a broadcast receiver
EP0907285A1 (en) * 1997-10-03 1999-04-07 CANAL+ Société Anonyme Downloading data

Also Published As

Publication number Publication date
DE60025599T2 (de) 2006-08-24
CA2370764A1 (en) 2000-10-26
AU770984B2 (en) 2004-03-11
EP1172006B1 (en) 2006-01-18
JP2002542736A (ja) 2002-12-10
EP1172006A1 (en) 2002-01-16
AU4459600A (en) 2000-11-02
WO2000064178A1 (en) 2000-10-26
TW480887B (en) 2002-03-21
DE60025599D1 (de) 2006-04-06
BR0009903A (pt) 2002-03-12
CN1355996A (zh) 2002-06-26

Similar Documents

Publication Publication Date Title
CA2382509C (en) Method and system for identifying and downloading appropriate software or firmware specific to a particular model of set-top box in a cable television system
ES2253222T3 (es) Procedimiento y sistema de actualizaciones de programacion especificas o universales en un conjunto de decodificadores avanzados en un sistema de television por cable.
ES2265466T3 (es) Descarga de datos.
ES2792349T3 (es) Inicialización rápida de dispositivos multimodo
US8185890B2 (en) Method and device for implementing a downloadable software delivery system
TW476224B (en) Method and system for directing the download of software and firmware objects over a network such as a cable television system
HUP0100358A2 (hu) Eljárás adatok letöltésére vevő és dekódoló berendezésbe, továbbá vevő és dekódoló berendezés, továbbá átviteli rendszer, ezek kombinációja, valamint jeladatok vevő és dekódoló berendezésbe töltésére
EP1766974A1 (en) Method for authenticating and executing an application program
KR20060066173A (ko) 방송 및 수신 시스템, 및 수신기
JP2006079611A (ja) ソフトウェア用のパッチを供給する方法
US20060274898A1 (en) Key table and authorization table management
KR100564709B1 (ko) 호스트용 인터페이스 모듈 및 디코더
CN110806883A (zh) 一种固件的安全升级方法、装置及计算机可读介质
ES2213349T3 (es) Metodo y dispositivo de configuracion.
CN103037255B (zh) 一种cam卡自动适配方法
US20070172059A1 (en) Digital cable television broadcasting receiver
ES2264082T3 (es) Metodo para inicializar un docodificador digital y decodificador para llevar a cabo dicho metodo.
CA2370214A1 (en) Automatic initialization of an advanced set-top box in a cable television system by downloading software or firmware over the cable system
CA2371144A1 (en) Method and system for locating a control channel and data transport stream within the signal received by a set-top box from a cable television system
EP1624691A1 (en) Forcing an action in a terminal
MXPA01010582A (es) Iniciacion automatica de una caja de convertidor-descodificador avanzada en un sistema de television por cable al descargar software o firmware en el sistema de cable
MXPA01010584A (es) Metodo y sistema para mejoramientos objetivos o universales de la programacion en una poblacion de cajas del convertidor -descodificador avanzadas en un sistema de television por cable
MXPA01010583A (es) Metodo y sistema para identificar y descargar software o firmware apropiado especifico a un modelo particular de caja del convertidor-descodificador en un sistema de television por cable
ES2927798T3 (es) Procedimiento de determinación de una lista de identificadores de canales a mostrar en un servicio de visualización
AU776683B2 (en) Method of downloading of data to an MPEG receiver/decoder and MPEG transmission system for implementing the same