MXPA01010583A - 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 - Google Patents
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 cableInfo
- Publication number
- MXPA01010583A MXPA01010583A MXPA/A/2001/010583A MXPA01010583A MXPA01010583A MX PA01010583 A MXPA01010583 A MX PA01010583A MX PA01010583 A MXPA01010583 A MX PA01010583A MX PA01010583 A MXPA01010583 A MX PA01010583A
- Authority
- MX
- Mexico
- Prior art keywords
- converter
- decoder
- terminal
- code
- platform
- Prior art date
Links
Abstract
La presente invención se refiere a un método y sistema que identifica código de programación que es apropiado para la arquitectura y capacidades de una terminal del convertidor-descodificador en un sistema de televisión por cable. El código de programación apropiado se identifica de entre una variedad de objetos de código que se difunden desde la instalación de cabezal de cable del sistema de televisión por cable. Un identificador de plataforma almacenado en la terminal del convertidor-descodificador se correlaciona con un identificador de plataforma correspondiente en un mensaje de manejo de titulación u otro mensaje indicador de descarga que especifica en dónde puede adquirir la corriente de transporte del cabezal de cable un código de objeto particular. Al adquirir el objeto correspondiente al mensaje que soporta un identificador de plataforma de correlación, la terminal del convertidor-descodificador adquiere código de programación compatible con sus atributos. Adicionalmente, el sistema de televisión por cable puede soportaróptimamente una población variada de las terminales de convertidor-descodificador.
Description
ANTECEDENTES DE IA INVENCIÓN En un sistema de televisión por cable típico, a los abonados se les proporciona con una caja o terminal del convertidor-descodificador. La terminal del convertidor-descodificador es una caja de equipo electrónico que se utiliza para conectar la televisión del abonado, y potencialmente otros equipos electrónicos, con la red por cable. La caja del convertidor-descodificador se conecta usualmente a la red por cable a través de un tomacorriente mural o axial. La caja del convertidor-descodificador es esencialmente una computadora que se programa para procesar las señales de la red por cable para proporcionar al abonado con los servicios por cable. Estos servicios de la compañía de televisión por cable típicamente incluyen acceso a un número de canales de televisión y tal vez, a una guía de programa electrónico. Los canales premium adicionales también pueden proporcionarse a los abonados con un cargo adicional. Los eventos de pago por evento y vídeo a pedido también puede proporcionarse en la red. La caja del convertidor-descodificador se programa para proporcionar estos y otros servicios al abonado. Sin embargo, los servicios de la compañía por cable no necesitan limitarse para proporcionar la programación de televisión. Algunas compañías de cable ahora están ofreciendo acceso a Internet y e-mail en sus redes de cable a velocidades mucho más rápidas que las que están disponibles en las líneas telefónicas convencionales. Se anticipa en el futuro que más y más servicios se proporcionarán en la red por cable, incluyendo, incluso servicio telefónico básico. Eventualmente, cada casa u oficina puede tener una sola conexión, mediante la red por cable, a todos los servicios de datos electrónicos. Cuando una nueva terminal del convertidor-descodificador se suma a la red por cable, ésta debe iniciarse. Para iniciar una terminal del convertidor-descodificador, la terminal debe proporcionarse con la programación requerida para permitir que funcione dentro de la red por cable específica a la cual se conecta y para proporcionar con esto los servicios para los cuales ha pagado el abonado. Adicionalmente, a medida que evoluciona la red por cable y los servicios proporcionados, la terminal del convertidor-descodificador también debe evolucionar para ser capaz de proporcionar a los abonados con todos los servicios de la red por cable. Esta evolución de la caja del convertidor-descodificador principalmente implicará cambios a la programación, o tal vez una reiniciación de la caja del convertidor-descodificador. Al mejorar el software o firmware de la caja del convertidor-descodificador, la caja puede hacerse para realizar servicios más eficientes u ofrecer nuevos servicios a medida que evoluciona la red por cable. Para poder iniciar las nuevas terminales del convertidor-descodificador y mejorar la programación en la población existente de cajas del convertidor-descodificador en una red por cable, es preferible transmitir la programación necesaria a las cajas del convertidor-descodificador mediante la red por cable misma. De otra manera, un técnico debe visitar a cada abonado para instalar o mejorar las cajas del convertidor-descodificador. Dichas instalaciones de campo y mejoramientos obviamente pueden tener gastos significantes. El cabezal de cable es la instalación de la cual el operador de red por cable difunde las señales de televisión y proporciona otros servicios en la red de cable. El software que se proporciona a la población de terminales del convertidor-descodificador pueden difundirse del cabezal de cable en la red de cable. Sin embargo, existe una variedad de problemas asociados con el inicio y el mejoramiento de las terminales del convertidor-descodificador al difundir la programación desde el cabezal de cable. Por ejemplo, con el tiempo la población de terminales del convertidor-descodificador probablemente incluirá diferentes marcas y modelos de terminales del convertidor-descodificador con diferentes capacidades. El software requerido para iniciar o mejorar cada marca y modelo de terminal del convertidor-descodificador puede ser diferente. Consecuentemente, existe una necesidad en la técnica de un método para correlacionar el código de programación adecuado con las capacidades de la terminal del convertidor-descodificador que se inicia o mejora. Adicionalmente, existe una necesidad de automatizar el proceso de inicio para eliminar o disminuir el tiempo requerido por un técnico para instalar, mejorar o reiniciar una terminal del convertidor-descodificador.
SUMARIO DE IA INVENCIÓN Es un objeto de la presente invención cumplir las necesidades antes descritas y otras. Específicamente, es un objeto de la presente invención proporcionar un método y mecanismo para correlacionar el código de programación adecuado que se difunde en la instalación de cable con las capacidades de la terminal del convertidor-descodificador que se inician o mejoran. Adicionalmente, es un objeto adicional de la presente invención automatizar el proceso de inicio para eliminar o disminuir el tiempo requerido por un técnico para instalar, mejorar, o reiniciar una terminal del convertidor-descodificador . Objetos adicionales, ventajas y características novedosas de la invención se establecerán en la descripción que sigue o pueden aprenderse por aquellos expertos en la técnica a través de la lectura de estos materiales o practicando la invención. Los objetos y ventajas de la invención pueden lograrse a través de los medios citados en las reivindicaciones anexas. Para lograr estos objetos establecidos y otros, la presente invención puede modificarse y describirse como un método para identificar un objeto de código para la descarga por una terminal del convertidor-descodificador a partir de una difusión de corriente de transporte de datos a la terminal del convertidor-descodificador en un sistema de televisión por cable en donde el objeto identificado es apropiado para la arquitectura y capacidades de la terminal del convertidor-descodificador. El método se realiza al correlacionar un identificador de plataforma almacenado en la terminal del convertidor-descodificador con un identificador de plataforma en un mensaje indicador de descarga que especifica en donde la corriente de transporte de datos puede adquirir un objeto de código particular. El identificador de plataforma se especifica a la arquitectura y capacidades de la terminal del convertidor-descodificador. Preferiblemente, el mensaje indicador de descarga es un mensaje de manejo de titulación. Antes de comparar los identificadores de plataforma, el método incluye sintonizar la corriente de transporte de datos con la terminal del convertidor-descodificador basada en la tabla de los canales de control que transportan las corrientes de transporte de datos. Después de sintonizar la corriente de transporte de datos, el método procede a recolectar los paquetes PID 1 de la corriente de transporte de datos y extraer los datos de esos paquetes en una tabla que especifica los identificadores de paquete para un grupo de mensajes del indicador de descarga que se transmiten en la corriente de transporte de datos. Con esta tabla, el método procede al adquirir sucesivamente cada uno de los mensajes indicadores de descarga listados en la tabla y extraer cada mensaje indicador de descarga de un identificador de plataforma. Esto continúa hasta que se encuentra un mensaje indicador de descarga que soporta un identificador de plataforma que correlaciona al identificador de plataforma almacenado en la terminal del convertidor-descodificador. Después de que se encuentra una correlación, el método procede a obtener los datos del indicador del mensaje indicador de descarga que tiene el identificador de plataforma que correlaciona al identificador de plataforma almacenado en la terminal del convertidor-descodificador. Los datos del indicador especifican en donde la corriente de transporte de datos puede adquirir un objeto de código particular. Ese objeto de código particular será apropiado y compatible con la terminal del convertidor-descodificador como se indica por los identificadores de plataforma correlacionados. El método entonces concluye con descargar la terminal del convertidor-descodificador al objeto de código particular especificado por los datos del indicador del mensaje indicador de descarga que contiene el identificador de plataforma que correlaciona al identificador de plataforma almacenado en la terminal del convertidor-descodificador. El objeto de código particular adquirido puede ser cualquiera de varias clases de objetos diferentes. Por ejemplo, el objeto puede ser un objeto de código de plataforma base, un objeto de código de sistema de operación o un objeto de código de aplicación residente. La presente invención también abarca el hardware necesario para realizar el método descrito en lo anterior. Por ejemplo, la presente invención abarca un sistema para la identificación de un objeto de código para la descarga por una terminal del convertidor-descodificador de una difusión de corriente de transporte de datos a la terminal del convertidor-descodificador en un sistema de televisión por cable donde el objeto identificado es apropiado para la arquitectura y capacidades de la terminal del convertidor-descodificador. Dicho sistema puede comprender mínimamente medios para obtener un primer identificador de plataforma en un mensaje indicador de descarga que especifica en donde se puede adquirir la corriente de transporte de datos de un objeto de código particular; y medios para correlacionar el primer identificador de plataforma con un segundo identificador de plataforma almacenado en la terminal del convertidor-descodificador . BREVE DESCRIPCIÓN DE LOS DIBUJOS Los dibujos anexos ilustran la presente invención y son una parte de la especificación. Junto con la siguiente descripción, los dibujos demuestran y explican los principios de la presente invención. La Figura 1 es un diagrama de bloque que ilustra las tres etapas diferentes en las cuales los diferentes paquetes de programación tienen control de la terminal del convertidor-descodificador durante el proceso de inicio de la presente invención. La Figura 2 es un diagrama de flujo que ilustra las etapas del proceso de inicio para una terminal del convertidor-descodificador de acuerdo con la presente invención. La Figura 3 es un diagrama de bloque de los diversos dispositivos de memoria y algunos objetos de código utilizados en una caja del convertidor-descodificador de acuerdo con la presente invención. La Figura 4 es un diagrama de flujo que ilustra el método de la presente invención para identificar objetos de código que se descargan que son apropiados para la arquitectura y capacidades de la terminal del convertidor-descodificador de descarga.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN: La presente invención dirige los problemas implicados en la difusión de una variedad de programación en un sistema de televisión por cable para la descarga por la población de las terminales de convertidor-descodificador conectadas a la red para iniciar o mejorar esas terminales en donde diferentes objetos de programación se difunden que son apropiados para diferentes clases específicas de terminales de convertidor-descodificador dentro de la población de terminales y cada terminal de descarga debe identificar y adquirir el objeto de programación u objetos apropiados para su arquitectura y capacidades. Este proceso incluye proporcionar esos objetos de código a las cajas de convertidor-descodificador que son necesarias para permitir que esas cajas de convertidor-descodificador funcionen dentro del sistema de cable o para mejorar la programación residente en las diferentes clases de cajas de convertidor-descodificador para proporcionar los servicios comprados por los abonados. Establecido en un amplio principio, la presente invención tiene como objetivo proporcionar una arquitectura de terminal del convertidor-descodificador que incluye un objeto de código de arranque residente. Como se muestra en la Figura 3, el objeto (302) de código de arranque reside en la terminal (300) del convertidor-descodificador, preferiblemente en la memoria (ROM) (301) de sólo lectura y puede ejecutar automáticamente e iniciar o reiniciar la terminal del convertidor-descodificador. El código de arranque preferiblemente se ejecutará automáticamente por el procesador central (321) de la terminal del convertidor-descodificador. La ejecución del código de arranque puede dispararse mediante e inmediatamente después de la conexión de la energía a la terminal del convertidor-descodificador. La presente invención puede requerir adicionalmente la conexión de la señal (322) de corriente de transporte del sistema de cable antes de que se dispare la ejecución del código de arranque. Una vez que se ejecuta el código de arranque, no se necesita requerir de acción adicional por el usuario/instalador. Además, no se requiere interacción específica entre el cabezal de cable y la terminal del convertidor-descodificador que está iniciando o arrancando. Como se describirá en detalle a continuación, el código (302) de arranque de la presente invención encontrará, descargará y comenzará automáticamente la ejecución del objeto de código de software correcto u objetos necesarios para iniciar la terminal del convertidor-descodificador. El código (302) de arranque localizará, identificará y descargará la programación requerida de entre potencialmente muchos objetos de código que pueden multiplexarse en la corriente (322) de transporte que viene de la instalación del cabezal de cable del sistema de televisión por cable. El código (302) de arranque reconoce la configuración de hardware de la terminal (300) del convertidor-descodificador en la cual reside mediante un identificador (320) codificado de ROM interno. Este identificador (320) se correlaciona contra un valor transportado en un mensaje indicador de descarga de objeto de la corriente (322) de transporte para asegurar que el código (302) de arranque obtenga y descargue los objetos apropiados a la terminal (300) del convertidor-descodificador en la cual es residente el código (302) de arranque. Funcionalmente, el código de arranque de la presente invención identificará una frecuencia de canal de control apropiada, encontrará la corriente de paquetes de datos de control dentro del canal de control, identificará y descargará el objeto correcto de entre los objetos en la corriente de transporte, verificará que el código descargado se autorice y este libre de error, e iniciará el código descargado sin ayuda directa por un técnico o intervención del cabezal de cable. El término "código de arranque" como se utiliza en la presente comprende el código mínimo necesario para lograr esta funcionalidad.
Esencialmente existen dos fases distintas de programación de una caja del convertidor-descodificador dirigida por la presente invención. La primera es la programación inicial de la caja del convertidor-descodificador. La segunda es el mejoramiento de la programación o reiniciación de la caja del convertidor-descodificador después de que la caja se ha colocado en servicio. La programación inicial de la caja del convertidor-descodificador con frecuencia se realiza por el operador del sistema de cable después de que la caja del convertidor-descodificador se ha comprado a partir de un fabricante. Debido a que cada red por cable se diseña y construye en diferentes momentos por los diferentes proveedores de servicio, cada red por cable puede tener un diseño diferente, arquitectura y uso de diferentes objetos de código. Adicionalmente, cada sistema probablemente tendrá diferentes clases de terminales de convertidor-descodificador que se instalaron en diferentes momentos y tienen diferentes arquitecturas y capacidades. Sin embargo, los servicios específicos ofrecidos pueden variar entre las redes de cable. Por lo tanto, para adaptar la caja del convertidor-descodificador para funcionar con el ambiente específico de un sistema de cable del proveedor de servicio y para proporcionar el grupo específico de servicios actualmente ofrecidos por ese proveedor de servicio particular, la caja del convertidor-descodificador debe programarse por consiguiente o "iniciarse". Adicionalmente, cada terminal debe, por lo tanto ser reprogramada periódicamente o mejorada para continuar funcionando óptimamente dentro del sistema de televisión por cable implicado. Cada vez que la programación de una terminal del convertidor-descodificador se cambia, el nuevo código debe apropiarse a la arquitectura y capacidades de esa terminal. El proceso para programar o volver a programar una terminal del convertidor-descodificador de acuerdo con la presente invención ahora se explicará. Para poder iniciar la terminal del convertidor-descodificador, es decir, aceptar y utilizar la programación inicial que reside, debe tener alguna programación de base que instruya cómo aceptar y utilizar esa programación inicial. Esta programación inicial dentro del contexto de la presente invención se le llama código de arranque. Como se describe en lo anterior, el código de arranque es un código de computadora residente en la memoria permanente de la terminal del convertidor-descodificador que se carga, preferiblemente en la memoria de sólo lectura en la fabrica y no puede cambiarse una vez que se ha desplegado la terminal. Como se muestra en la Figura 1, existen tres hileras generales o clasificaciones de programación que corren o tienen control de la terminal del convertidor-descodificador durante las diferentes etapas en la iniciación y operación de la terminal de acuerdo con la presente invención. Con referencia a la Figura 1, la primera clasificación del código es el código (1) de arranque. Mientras que corre el código (1) de arranque, la terminal del convertidor-descodificador no puede proporcionar algún servicio al abonado. La función (2) del código (1) de arranque es alcanzar la corriente de transporte de datos recibida de la instalación del cabezal de cable para localizar, adquirir y comenzar la ejecución del código (3) de plataforma base el cual es la siguiente hilera o la clasificación de programación. El código (1) de arranque se diseña para autentificar el código de plataforma base después de que se descarga el código de plataforma base. El código (1) de arranque preferiblemente volverá a autentificar el código de plataforma base cada vez que lance el objeto (3) de plataforma base. Cuando el código (3) de plataforma base se ejecuta, la ejecución del código (1) de arranque se termina y el control de la terminal del convertidor-descodificador pasa al código (3) de plataforma base. El código (3) de plataforma base puede cargarse en la fábrica. Sin embargo, bajo los principios de la presente invención, el código (3) de plataforma base se transmite preferiblemente a la terminal del convertidor-descodificador desde el cabezal de cable durante la iniciación de la terminal. Esto permite que el operador del sistema de cable se acostumbre al código (3) de plataforma base para la operación óptima en el sistema de cable específico donde se despliega la terminal del convertidor-descodificador. Preferiblemente, el código (3) de plataforma base se transmite en la instalación de cable en una corriente de transporte fuera de banda (OOB) . Sin embargo, está dentro del alcance de la presente invención que se transmita al código (3) de plataforma base en un canal de control en banda. El código (3) de plataforma base tiene dos funciones. La primera función del código (3) de plataforma base es proporcionar la capacidad básica de permitir que un abonado vea la televisión utilizando la señal del sistema de televisión por cable. La segunda función es controlar la descarga de (5) de la siguiente clasificación de objetos de código, es decir, el sistema de operación objetivo (0/S) y las aplicaciones (6) residentes. El código (3) de plataforma base, mientras permite que los abonados vean la televisión, no soporta generalmente alguna función adicional de la terminal del convertidor-descodificador. Sin embargo, el código (3) de plataforma base puede adquirir, autentificar, autorizar y ejecutar objetos de la tercera y la clasificación final de la programación (por ejemplo el O/S) (5) .
La tercera clasificación de programación, el sistema de operación y las aplicaciones (6) residentes proporcionan las funciones de la terminal del convertidor-descodificador adicionales disponibles del sistema de cable. El sistema de operación (0/S) típicamente es el código de una tercera parte (tal como inCE™ de Microsoft) que proporciona acceso, con las aplicaciones residentes, a todas las capacidades de la terminal del convertidor-descodificador autorizadas. El sistema de operación típicamente utiliza un módulo de codificación integrado adicional proporcionado por el fabricante de la terminal del convertidor-descodificador que hace interfaz el sistema de operación con el hardware particular de esa terminal del convertidor-descodificador para permitir que el sistema de operación funcione con esa terminal del convertidor-descodificador específica. Las aplicaciones residentes son programas computarizados que corren en las terminales del convertidor-descodificador bajo el sistema de operación. Las aplicaciones residentes trabajan con el sistema de operación para proporcionar las capacidades de la terminal del convertidor-descodificador que están además de mirar la televisión. La hilera nativa es un grupo específico de aplicaciones de software, incluyendo el sistema de operación y tal vez varias aplicaciones residentes, que proporcionan las funciones pretendidas de la terminal del convertidor-descodificador.
Los elementos específicos de la hilera nativa se determinan por el operador del sistema. Como se indica en las Figuras 1 y 3, el código (1, 302) de arranque preferiblemente se carga en la fábrica en la memoria de sólo lectura (ROM) de la terminal del convertidor-descodificador y se ejecuta tan pronto como se proporciona energía de CA a la terminal del convertidor-descodificador. Alternativamente, el código de arranque puede ejecutarse en respuesta a una señal (4) de restablecimiento recibida, por ejemplo del cabezal de cable, es decir, el operador de sistema. Esto permite que el operador del sistema vuelva a iniciar la terminal del convertidor-descodificador siempre que se desee. La señal (4) de restablecimiento se recibe preferiblemente por el código (3) de plataforma base el cual entonces termina la ejecución del sistema de operación y las aplicaciones (6) residentes, si se corre, y comienza la ejecución del código (1) de arranque. Alternativamente, la señal (4) de restablecimiento puede provocar que el código (3) de plataforma base termine y vuelva a cargar la hilera (6) nativa, en lugar de ejecutar el código (1) de arranque. Como se describe en lo anterior, siempre que se ejecute, el código (1) de arranque adquiere y descarga el código (2) de plataforma base. El código de plataforma base puede proporcionarse a la terminal del convertidor-descodificador en la red por cable desde el cabezal de cable o, alternativamente, puede cargarse en la fábrica junto con el código de arranque. El código (1) de arranque descargará el código (3) de plataforma base, por ejemplo, en un canal fuera de banda del cabezal de cable o, si el código de plataforma base fuera cargado en la fábrica, identificará el código (3) de plataforma base en memoria. El código (1) de arranque autentifica el código (3) de plataforma base desde cualquier fuente que se obtiene y después ejecuta el código (3) de plataforma base. El código (3) de plataforma base entonces adquiere el sistema de operación y, preferiblemente, los otros objetos de la hilera (6) nativa. El sistema de operación y los otros objetos se descargan desde el cabezal de cable en la red de cable. El código (3) de plataforma base adquirirá el sistema de operación y otros objetos cuando primero se ejecute o, mientras corra, en respuesta a un mensaje (4) de iniciación del operador de sistema. El mensaje (4) de iniciación puede proporcionarse en la red de cable. El sistema de operación y las aplicaciones (6) residentes entonces se ejecutan cuando la hilera nativa se adquiere, se autoriza y se autentifica. La Figura 2 es un diagrama de flujo que proporciona una explicación más detallada de la secuencia de iniciación de acuerdo con la presente invención. Como se muestra en la Figura 2, cuando la terminal del convertidor-descodificador primero se enciende, o una señal de restablecimiento apropiada se ha recibido, el código (229) de arranque se ejecuta. El código de arranque debe primero determinar si la caja del convertidor-descodificador tiene o debe adquirir el código de plataforma base. Para determinar esto, el código de arranque primero verifica la memoria Flash para el código de plataforma base, la última frecuencia transportadora conocida (LKC) de canal de control del cabezal de cable, y una Identificación del Proveedor de Mensaje de Manejo Titulación (201, 202) (EMM Provider ID) . Si cualquiera de las tres siguientes condiciones se descubre, el código de arranque concluirá que debe adquirir el código de plataforma base y explorará el canal fuera de banda o el canal en banda del cual puede obtenerse el código de plataforma base. El código de arranque busca adquirir (1) el código de plataforma base si no se almacenan el código de plataforma base, el último portador conocido y la ID del Proveedor de EMM en la memoria Flash, (2) el código de plataforma base en la memoria Flash equivoca una verificación de autentificación o (3) ninguna memoria volátil indica que la exploración del canal de control (probablemente un canal fuera de banda) se requiere. Si la verificación Flash determina que un objeto de código de plataforma base existe, el código de arranque procede a ejecutar el objeto de plataforma base después de la autorización apropiada y la autentificación como se describe a continuación. Si se descargan tanto la plataforma base como el O/S en Flash, el código de arranque autoriza y autentifica la plataforma base y después lanza la plataforma base y pasa el control de la terminal del convertidor-descodificador al mismo. El objeto de plataforma base, a su vez, autoriza y autentifica (A&A) el 0/S. El 0/S autentificado entonces se corre y el control pasa al 0/S. Si el código de plataforma base no se carga en la memoria Flash, el código de arranque carga la plataforma base fuera de la corriente de transporte fuera de banda (203, 204, 207) . Sin embargo, antes de que se escriba en la memoria Flash, se requiere una autentificación exitosa (206, 205) . Cuando el código de plataforma base autentificado se ejecuta, el código de arranque pasa el control a la plataforma base
(211, 228) . Si el código de plataforma base equivoca en la verificación de autentificación (205) , el código de plataforma base fallado se borra (208) y se incrementa un contador (209) que rastrea el número de intentos en adquirir y autentificar un código de plataforma base. Si el contador está debajo de un número aceptable predeterminado de intentos, el código de plataforma base nuevamente se descarga
(207) . Alternativamente, si el número aceptable de intentos por descargar el código de plataforma base se excede, la terminal del convertidor-descodificador puede señalar al cabezal de cable una llamada de servicio (210) . Bajo los principios de la presente invención, el código de arranque localiza el objeto de plataforma base que utiliza un mensaje de código de arranque o "mensaje_control_de código de arranque" que se envía periódicamente en la corriente de transporte fuera de banda (204) . El uso del mensaje_control_de código de arranque ahora se describirá en detalle. Cuando el código de arranque determina la necesidad de descargar el objeto de plataforma base, éste primero explora el canal de control. Una tabla de frecuencias portadoras posibles en las cuales el canal de control o canales se difundirán se incluye en el código de arranque. Estas frecuencias pueden estar tanto en banda como fuera de banda. El código de arranque provocará que la terminal del convertidor-descodificador sintonice cada una de estas frecuencias a su vez hasta se localice el canal de control se obtenga una inmovilización del portador. Si no se recibe algún canal de control a una frecuencia particular durante un periodo de tiempo predeterminado, la terminal del convertidor-descodificador sintonizará la siguiente frecuencia en la tabla. El canal de control es una corriente de paquetes de datos que pueden recibirse y utilizarse por la terminal del convertidor-descodificador. Para poder difundir un número de diferentes objetos simultáneamente, el cabezal de cable dividirá los objetos que se transmiten en el canal de control en paquetes. Los paquetes de los diversos objetos que se transmiten pueden entonces intercalarse o multiplexarse en tiempo juntos para que varios objetos se transmitan todos esencialmente en forma simultánea. Los paquetes para cada objeto particular tendrán un identificador de paquete común o "PID". De este modo, una terminal del convertidor-descodificador puede identificar los paquetes para el objeto que está trabajando para adquirir. Al adquirir todos los paquetes con un PID particular, el objeto completo puede entonces reensamblarse por la terminal del convertidor-descodificador a partir del conjunto de paquetes con PID particular. De acuerdo con la presente invención, una terminal del convertidor-descodificador puede iniciar en cualquier lugar en progresión para adquirir un objeto y continuar cíclicamente hasta que todos los paquetes necesarios se descargan. Por ejemplo, la terminal del convertidor-descodificador puede cargar el primer paquete que recibe con un PID X. Ese paquete puede ser un paquete de 50 de 100 marcado por PID X. La terminal entonces continúa recolectando los paquetes 51 a 100 con PID X, después 1 a 49. Con todos los paquetes 100 obtenidos, la terminal puede reensamblar el objeto en paquetes.
De particular interés para la presente invención es el potencial necesario para difundir un número de objetos simultáneamente para acomodar diferentes tipos o clases de terminales de convertidor-descodificador en la población. Cada clase de terminales de convertidor-descodificador puede necesitar una diferente versión de, por ejemplo, el código de plataforma base, el 0/S o una aplicación residente. Por lo tanto, cuando el código de arranque va a iniciar la terminal del convertidor-descodificador y debe adquirir el código de plataforma base, el código de arranque debe determinar dónde adquirir la plataforma base apropiada para la terminal del convertidor-descodificador en la cual está corriendo. El proceso para identificar el objeto correcto para descargar ahora se describirá en detalle con referencia a las Figuras 3 y 4. Como se muestra en la Figura 3, el procesador
(321) de la terminal (300) de convertidor-descodificador controla un sintonizador (323) para sintonizar un canal de control en el cual los datos y la programación están siendo difundidos por el cabezal de cable a la población de terminales de convertidor-descodificador. La caja (300) de convertidor-descodificador tendrá una tabla de frecuencias portadoras en la cual el cabezal de cable puede estar difundiendo un canal de control de datos de programación. Como se muestra en la Figura 4, el método de la presente invención puede comenzar con la terminal del convertidor-descodificador sintonizando el primer canal de control listado en esa tabla (401) . Una vez que la inmovilización del portador se logra y el canal de control está siendo recibido, el código de arranque comenzará a recolectar los paquetes de la corriente de transporte en el canal de control que se identifica como PID 1 (402) . El PID 1 se dedica al mensaje de acceso condicional en el estándar MPEG. Los paquetes de PID 1 proporcionarán el código de arranque que corre en la terminal del convertidor-descodificador con una Tabla de Acceso Condicional (CAT) de las ID del proveedor de EMM, cada uno de los cuales identifica un PID para un conjunto de paquetes en la corriente de transporte que constituye una corriente de EMM (Mensaje de Manejo de Titulación) (403, 404) . El código de arranque comenzará con la primera ID del proveedor de EMM y comenzará a cargar los paquetes desde la corriente de transporte que se marca con el PID de EMM dado por la primera ID del proveedor de EMM (405) . Los paquetes de PID de EMM que se adquieren contendrán un mensaje de código de arranque de la presente invención, el cual, a su vez, incluye un identificador de plataforma. De este modo, el Mensaje de Manejo de Titulación se extraerá de los paquetes de PID de EMM adquiridos (406) y el identificador de plataforma del EMM se extraerá (407) . Como se muestra en la Figura 3, el código (302) de arranque que se instala en la fábrica en la terminal del convertidor-descodificador también incluye un identificador (320) de plataforma que es específico para el tipo, arquitectura y capacidades de la terminal (300) en la cual el código de arranque es residente. Cuando se corre, el código de arranque intentará correlacionar el identificador de plataforma proporcionado en la fábrica con el identificador de plataforma del mensaje de código de arranque de los paquetes de PID de EMM (408, 409) . Si no se encuentra correlación, el código de arranque seleccionará la siguiente ID del Proveedor de EMM en el CAT y verificará los paquetes del PID de EMM identificados por ese descriptor de la ID del Proveedor de EMM para un mensaje de código de arranque con un identificador (410, 405) de plataforma de correlación. Esto continúa hasta que el identificador de plataforma de correlación se encuentra. Puede ser posible buscar el PID de EMM múltiple simultáneamente para reducir el tiempo de validación de EMM y el tiempo requerido para encontrar el mensaje de código de arranque de correlación. Si todas las ID del Proveedor de EMM en el CAT de PID 1 se verifican y no se encuentra correlación para el identificador (410) de plataforma, el código de arranque buscará otro canal de control en otra frecuencia portadora al regresar a la tabla de frecuencias (401) del portador. Cuando otra frecuencia con un canal de control se identifica y se busca, el código de arranque extraerá el PID 1 y repetirá el proceso antes delineado. Esto continúa hasta que se encuentra un mensaje de código de arranque con un identificador de plataforma que correlaciona el identificador de plataforma de código de arranque. Cuando el código de arranque encuentra un mensaje de código de arranque con un identificador de plataforma de correlación, el código de arranque extraerá un PID descargado (DL PID) especificado por el EMM con el identificador (411) de plataforma de correlación. El PID descargado (DL PID) es el identificador para los paquetes que transportan el objeto de código, por ejemplo, el objeto de código de plataforma base, que es apropiado para el tipo de terminal (300) del convertidor-descodificador con el identificador (320) de plataforma en el mensaje de código de arranque. El código de arranque entonces puede descargar el código de plataforma base u otro objeto de código al adquirir los paquetes con el DL PID y al reensamblar los datos en esos paquetes en el código de plataforma base. Como se entenderá por aquellos expertos en la técnica, el identificador (320) de plataforma de la presente invención puede utilizarse para verificar cualquier tipo de objeto de código para su compatibilidad con la terminal en la cual el identificador (320) es residente. La invención no se limita al uso del identificador (320) por el código (302) de arranque para localizar e identificar un código de plataforma base apropiado. El identificador (420) de plataforma de la presente invención puede utilizarse de la misma forma descrita en lo anterior, por ejemplo, por el código de plataforma base para identificar y adquirir un objeto del sistema de operación designado para la descarga de la terminal del convertidor-descodificador. El identificador (320) de plataforma también puede utilizarse para identificar otros elementos de la hilera nativa, es decir, las aplicaciones residentes, que son apropiadas para la terminal del convertidor-descodificador de descarga. Adicionalmente, el identificador (320) de plataforma de la presente invención no necesita necesariamente incorporarse en el código (302) de arranque. En lugar de ello, el identificador (320) de plataforma puede almacenarse en cualquier lugar dentro de la terminal (300) de convertidor-descodificador en donde puede tenerse acceso por los programas de ejecución que requiere que identifique los objetos de código apropiados para la descarga. Como se muestra en la Figura 2, una vez que el código de plataforma base ha sido descargado o identificado como ya residente en la memoria Flash, una verificación de autentificación (206) se realiza para verificar que el código de plataforma base ha sido recibido exacta y completamente y no ha sido alterado por una parte no autorizada. Si la plataforma base falla la verificación de autentificación, ésta se borra (208) . Un contador de carga puede entonces verificarse para determinar el número de veces que la terminal del convertidor-descodificador ha intentado adquirir un código de plataforma base válido (209) . Si el contador excede un límite predeterminado, la terminal del convertidor-descodificador puede señalar al cabezal de cable una llamada de servicio o puede indicar la necesidad de pedir una llamada de servicio al abonado (210) . Si el contador de carga no se excede, el código de arranque revertirá el proceso descrito en lo anterior y nuevamente intentará descargar el código de plataforma base (207) . Alternativamente, si el código de plataforma base es autentificado, entonces se lanza (211) . El código de plataforma base entonces determinará si la hilera nativa, incluyendo el O/S, se carga en la memoria Flash (214) . Si no es así, el código de plataforma base buscará descargar la hilera nativa. Con el código de plataforma base corriendo, el operador del sistema puede proporcionar a la terminal del convertidor-descodificador con un conjunto de "mensajes de iniciación" que proporcionan, por ejemplo, mapas de canales, tablas e información de EMM (219, 212) . Estos mensajes deben proporcionarse antes de que se cargue la hilera nativa. Los mensajes de iniciación pueden instruir a la terminal del convertidor-descodificador donde adquirir la hilera nativa. Después de que se ha descargado la hilera nativa o ya se encuentra existente en la memoria Flash, se realiza una verificación de autorización en la hilera nativa (215, 220, 224, 223) . La descarga de la hilera nativa incluirá un Mensaje de Acceso Condicional de Objeto (OCAM) que se registra por la terminal del convertidor-descodificador. La firma de autentificación y el código de autorización para el objeto de hilera nativa se proporcionan en el OCAM y se utiliza para autorizar y autentificar la hilera nativa en la forma descrita en lo siguiente. Si la verificación de autorización no es exitosa, el código de hilera nativa se borra (225, 217) y el código de plataforma base intentará nuevamente adquirir la hilera nativa (221) . Si es exitosa la verificación de autorización, la hilera nativa y cualquier aplicación residente asociada con esta, se carga y una verificación de autenticación se realiza (222) como en lo anterior si la verificación de. autentificación falla, el código descargado se borrará (217) y un contador de carga se verificará (216) para ver si otro intento por descargar el código debe hacerse o señalar una llamada de servicio (213) . . Alternativamente, si la verificación de autentificación (222, 218) es exitosa, la hilera nativa y cualquier aplicación residente asociada se ejecutarán comenzando con el 0/S (226, 227) . El código de plataforma base realiza la autorización y autentificación en el código de 0/S. Si el 0/S pasa la autorización y verifica la autentificación, el 0/S se ejecuta y el control se transfiere al 0/S. El BIOS (Software de Entrada/Salida Básico) puede realizar la autorización y la autentificación del resto de la hilera nativa (215, 224, 222) . En resumen, varias porciones del proceso de arranque incluyen un proceso de autorización y autentificación de objeto (A&A) para los objetos recientemente adquiridos o localizados. La verificación de autorización de la hilera nativa se hace dentro de la plataforma base. La autorización de la plataforma base es, a su vez realizada por el código de arranque, el cual sólo puede autentificar un objeto de plataforma base. Cuando se corre, el O/S de la hilera nativa realiza la autentificación y autorización de los objetos subsecuentemente cargados. Estas verificaciones se requieren para que, dada una interrupción en la energía, etc., el estado de autorización de la terminal pueda verificarse. Si en cualquier punto una verificación de autorización o autentificación falla, el objeto que se verifica se desactiva. La autentificación se realiza como sigue. Cuando un objeto de código se difunde en la red de cable, se asocia con un código de autorización y una firma de autentificación. Para el objeto de plataforma base, el código de autorización preferiblemente se da en un campo de id_objeto del mensaje de código de arranque. La firma de autentificación preferiblemente se da en un campo de descripción_objeto del mensaje de código de arranque. Para otros objetos, el 0/S y la hilera nativa, el código de autorización y la firma de autentificación se proporcionan en un OCAM descargado con el objeto. La firma de autentificación se calcula matemáticamente utilizando un algoritmo específico con el objeto de código mismo como la entrada para el algoritmo. La firma entonces se vuelve a calcular por la terminal del convertidor-descodificador utilizando el mismo algoritmo como entrada. Si la firma calculada por la terminal del convertidor-descodificador se correlaciona con la transmitida con el código, el código puede implementarse con la confianza de que ha sido transmitida adecuadamente, sin alteración accidental o maliciosa. La presente invención proporciona dos formas básicas para mejorar la plataforma básica en una población de terminales decodificador una vez que esas terminales se han colocado en servicio completo. Estos dos métodos de mejoramiento son (1) un mejoramiento universal de la población completa (es decir, toda la población sintonizada a una corriente de control particular) y (2) un mejoramiento objetivo de un subconjunto o subconjuntos de la población. Ambos métodos pueden hacer uso del código de arranque para realizar el mejoramiento. Un mejoramiento universal se logra al difundir una orden del cabezal de cable para todas las terminales del convertidor-descodificador en la corriente de control para borrar su objeto de plataforma base existente. El código de arranque entonces comienza a ejecutar, asume el control y realiza el procedimiento de iniciación representado en lo anterior, incluyendo volver a colocar la plataforma base borrada con una plataforma base descargada en la red de cable. Un mejoramiento objetivo aplica a una terminal sencilla o a un grupo pequeño de terminales en un canal de control dado. Cada terminal tiene una dirección de un solo destino específico y, por lo tanto, puede dirigirse por el cabezal de cable e instruirse para borrar el código de plataforma base existente y volver a iniciar con el código de mejoramiento. Alternativamente, cada terminal tiene una o más direcciones de múltiples destinos que se comparten por otras terminales en la población. Se prefieren cuatro direcciones de múltiples destinos para cada terminal. Con una dirección de múltiples destinos, el cabezal de cable puede señalar una purga de código y volver a iniciar una clase específica de terminales que comparten la dirección de múltiples destinos particular. En un mejoramiento objetivo, la plataforma base, utilizando los mensajes de descarga estándares, establece los parámetros de descarga en una base de datos de arranque en una memoria no volátil (véase la Figura 3) y permite que el código de arranque tome el control . El código de arranque entonces utiliza los parámetros para adquirir el código de plataforma base mejorado, reemplazando el código de plataforma base original. Esto se hace mientras la versión más vieja del código de plataforma base aún está girando en una ubicación indicada por el mensaje de arranque. Además de los ejemplos dados en lo anterior, un mejoramiento no necesita trastornar el código de plataforma base. En lugar de ello, el mejoramiento o la señal de restablecimiento, ya sea universal u objetivo, puede instruir a las terminales del convertidor-descodificador terminar y borrar solamente el sistema de operación (0/S), toda la hilera nativa, o una o más aplicaciones residentes particulares. El control entonces regresa al código de plataforma base el cual adquirirá y autentificará un nuevo 0/S, toda la hilera nativa, o porciones de la hilera nativa según sea necesario. De este modo, la hilara nativa (o sólo el O/S) pueden mejorarse sin requerir que el código de plataforma base se vuelva a adquirir también.
La Figura 3 ilustra cuatro unidades de memoria de una terminal (300) del convertidor-descodificador de acuerdo con la presente invención. Una unidad de memoria de sólo lectura (ROM) (301) contiene el código (302) de arranque. Una unidad (303) de memoria Flash contiene el código (304) de plataforma base y el objeto (306) O/S. A un lado de estos objetos, la memoria (305) Flash adicional está disponible. Dos punteros (307, 308) de pila designan ubicaciones absolutas en la memoria (303) Flash para el código (304, 308) de plataforma base y el 0/S (306, 307) . Es importante que estos dos objetos siempre estén localizados en la misma ubicación en la memoria (303) Flash. Una unidad (310) de memoria no volátil preferiblemente tiene ambos segmentos manejado y no manejado. El código (304) de plataforma base puede almacenar parámetros y otros datos en la porción no manejada de la unidad (310) de memoria no volátil. Finalmente, se proporciona una unidad de memoria de acceso aleatorio (RAM) (309) . Los objetos descargados tales como el código de plataforma base, el O/S, etc., pueden almacenarse en el RAM (309) hasta que se autentifique. Una vez que se completa exitosamente la autorización y la autentificación, los objetos pueden transferirse desde la RAM (309) a la unidad (303) de memoria Flash para el almacenaje a largo plazo.
La descripción precedente solamente se ha presentado para ilustrar y describir la invención. No se pretende que sea exhaustiva o limite la invención a cualquier forma precisa descrita. Muchas modificaciones y variaciones son posibles a la luz de la enseñanza anterior. La modalidad preferida se seleccionó y describió para poder explicar mejor los principios de la invención y su aplicación práctica. La descripción precedente se pretende para permitir que otros con experiencia en la técnica utilicen mejor la invención en diversas modalidades y con varias modificaciones según se adecúen al uso particular contemplado.
Claims (20)
- REIVINDICACIONES 1. un método para identificar un objeto de código para descargarse por una terminal del convertidor-descodificador a partir de una difusión de corriente de transporte de datos a la terminal del convertidor-descodificador en un sistema de televisión por cable en donde el objeto identificado es apropiado para la arquitectura y capacidades de la terminal del convertidor-descodificador, el método comprende correlacionar un identificador de plataforma almacenado en la terminal del convertidor-descodificador con un identificador de plataforma en un mensaje indicador de descarga que especifica en dónde puede adquirir la corriente de transporte de datos un objeto de código particular, en donde el identificador de plataforma se especifica a la arquitectura y capacidades de la terminal del convertidor-descodificador .
- 2. El método de la reivindicación 1, en donde el mensaje indicador de descarga es un mensaje de manejo de titulación.
- 3. El método de la reivindicación 1, que además comprende sintonizar la corriente de transporte de datos con la terminal del convertidor-descodificador, basándose en una tabla de canales de control que portan las corrientes de transporte de datos .
- 4. El método de la reivindicación 1, que además comprende recolectar los paquetes de PID 1 de la corriente de transporte de datos y extraer de la misma una tabla que especifique los identificadores de paquete para una pluralidad de mensajes indicadores de descarga que se transmiten en la corriente de transporte de datos.
- 5. El método de la reivindicación 4, que además comprende adquirir exitosamente la pluralidad de mensajes indicadores de descarga de acuerdo con la tabla y extraer los identificadores de plataforma del mismo hasta que se encuentra un mensaje indicador de descarga que soporta un identificador de plataforma que correlaciona al identificador de plataforma almacenado en la terminal del convertidor-descodificador.
- 6. El método de la reivindicación 5, que además comprende obtener los datos del indicador del mensaje indicador de descarga que tiene un identificador de plataforma que correlaciona el identificador de plataforma almacenado en la terminal del convertidor-descodificador, en donde los datos del indicador especifican en dónde puede adquirir la corriente de transporte de datos un objeto de código particular.
- 7. El método de la reivindicación 6, que además comprende descargar la terminal del convertidor-descodificador el objeto de código particular especificado or los datos del indicador del mensaje indicador de descarga que tiene un identificador de plataforma que correlaciona al identificador de plataforma almacenado en la terminal del convertidor-descodificador.
- 8. El método de la reivindicación 1, en donde el objeto de código es un objeto de código de plataforma base.
- 9. El método de la reivindicación 1, en donde el objeto de código es un objeto de código de sistema de operación.
- 10. El método de la reivindicación 1, en donde el objeto de código es un objeto de código de aplicación residente.
- 11. Un sistema para identificar un objeto de código para la descarga por una terminal del convertidor-descodificador de una difusión de corriente de transporte de datos a la terminal del convertidor-descodificador en un sistema de televisión por cable en donde el objeto identificado es apropiado para la arquitectura y capacidades de la terminal del convertidor-descodificador, el sistema comprende : medios para obtener un primer identificador de plataforma en un mensaje indicador de descarga que especifica en dónde puede adquirir la corriente de transporte de datos un objeto de código particular; y medios para correlacionar el primer identificador de plataforma con un segundo identificador de plataforma almacenado en la terminal del convertidor-descodificador, en donde el identificador de plataforma es específico para la arquitectura y capacidades de la terminal del convertidor-descodificador .
- 12. El sistema de la reivindicación 11, en donde el mensaje indicador de descarga es un mensaje de manejo de titulación.
- 13. El sistema de la reivindicación 11, que además comprende medios para sintonizar la corriente de transporte de datos con la terminal del convertidor-descodificador basándose en una tabla de canales de control que portan las corrientes de transporte de datos.
- 14. El sistema de la reivindicación 11, que además comprende : medios para recolectar los paquetes de PID 1 de la corriente de transporte de datos; y medios para extraer de los mismos una tabla que especifica identificadores de paquete para una pluralidad de mensajes indicadores de descarga que se transmiten en la corriente de transporte de datos.
- 15. El sistema de la reivindicación 14, que además comprende medios para adquirir exitosamente la pluralidad de mensajes indicadores de descarga de acuerdo con la tabla y extraer los identificadores de plataforma del mismo hasta que se encuentre un mensaje indicador de descarga que soporta un primer identificador de plataforma que correlaciona con el segundo identificador de plataforma almacenado en la terminal del convertidor-descodificador.
- 16. El sistema de la reivindicación 15, que además comprende medios para obtener los datos del mensaje indicador de descarga que tiene el primer identificador de plataforma que correlaciona al segundo identificador de plataforma almacenado en la terminal del convertidor-descodificador, en donde los datos del indicador especifican en dónde puede adquirir la corriente de transporte de datos un código de objeto particular.
- 17. El sistema de la reivindicación 16, que además comprende medios para descargar la terminal del convertidor-descodificador un objeto de código particular especificado por los datos del indicador del mensaje indicador de descarga que tiene el primer identificador de plataforma que correlaciona al segundo identificador de plataforma almacenado en la terminal del convertidor-descodificador.
- 18. El sistema de la reivindicación 11, en donde el objeto de código es un objeto de código de plataforma base.
- 19. El sistema de la reivindicación 11, en donde el código es un objeto de código de sistema de operación.
- 20. El sistema dé la reivindicación 11, en donde el objeto de código es un objeto de código de aplicación residente.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60/130,328 | 1999-04-21 | ||
US09544461 | 2000-04-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
MXPA01010583A true MXPA01010583A (es) | 2002-06-05 |
Family
ID=
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 | |
US8032917B2 (en) | Method and system for directing the download of software and firmware objects over a network such as a cable television system | |
US6813778B1 (en) | Method and system for downloading and managing the enablement of a list of code objects | |
EP2289181B1 (en) | Fast initialization of multi-mode devices | |
KR20010030926A (ko) | 데이터를 다운로딩하는 방법 | |
EP1172006B1 (en) | Method and system for targeted or universal upgrades of programming in a population of advanced set-top boxes in a cable television system | |
EP1210824B1 (en) | Method and system for automatically purging code objects being updated by download | |
CN1140113C (zh) | 管理数字电视系统中服务列表一致性的方法及该系统中的接收机 | |
EP1181824A1 (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 | |
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 | |
EP1172005A1 (en) | Automatic initialization of an advanced set-top box in a cable television system by downloading software or firmware over the cable system | |
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 | |
MXPA01010581A (es) | Metodo y sistema para localizar un canal de control y corriente de transporte de datos dentro de la señal recibida mediante una caja de convertidor-descodificador a partir de un sistema de television por cable | |
Pedlow | An Open Transport and Navigational Specification, Optionally Supporting Multiple Conditional Access Systems |