MXPA01010584A - Method and system for targeted or universal upgrades of programming in a population of advanced set-top boxes in a cable television system - Google Patents

Method and system for targeted or universal upgrades of programming in a population of advanced set-top boxes in a cable television system

Info

Publication number
MXPA01010584A
MXPA01010584A MXPA/A/2001/010584A MXPA01010584A MXPA01010584A MX PA01010584 A MXPA01010584 A MX PA01010584A MX PA01010584 A MXPA01010584 A MX PA01010584A MX PA01010584 A MXPA01010584 A MX PA01010584A
Authority
MX
Mexico
Prior art keywords
decoder
converter
terminal
order
programming
Prior art date
Application number
MXPA/A/2001/010584A
Other languages
Spanish (es)
Inventor
Sordo Christopher S Del
Jack M Birnbaum
Christopher Poli
Ira S Lehrman
S Makofka Douglas
Thomas F Bates Iv
Original Assignee
General Instrument Corporation
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 General Instrument Corporation filed Critical General Instrument Corporation
Publication of MXPA01010584A publication Critical patent/MXPA01010584A/en

Links

Abstract

This method and system allow for the controlled upgrading of programming in a set-top terminal of a cable television system. An upgrade order is transmitted over the cable plant from the system operator to the population of set-top terminals. The upgrade order may be universal or targeted. If targeted, the upgrade order will only be implemented by a single set-top terminal or a group of terminals specified by a single or multi-cast address included with the upgrade order. If the upgrade order is for a complete upgrade, the set-top terminal will terminate, and may delete, all executing codes. This allows the terminal's boot code to automatically begin execution and acquire new upgraded programming for the terminal broadcast over the cable system. If the upgrade is partial, only specified objects are replaced.

Description

METHOD AND SYSTEM FOR OBJECTIVE OR UNIVERSAL IMPROVEMENTS OF PROGRAMMING IN A POPULATION OF ADVANCED CONVERTER-DECODER BOXES IN A TELEVISION SYSTEM BY CABLE RELATED APPLICATIONS This application claims priority of a prior North American provisional patent application entitled "Software and Firmware Initialization and Upgrade Management System and Method for Advanced Set-Top Box in a Cable Television System," No. Series 60 / 130,328, filed on 21 April 1999 FIELD OF THE INVENTION The present invention relates to the field of programming update, ie software or firmware, in a population of converter-decoder terminals connected to a cable television system. More particularly, the present invention aims to provide a method and system for which the cable television system can remotely carry out a universal improvement of the programming of the converter-decoder terminal or an objective improvement of the programming in one of a defined group of terminals of the converter-decoder. ^^ yj ^ fü ^^ j ^ BACKGROUND OF THE INVENTION In a typical cable television system, subscribers are provided with a box or terminal of the converter-decoder. The converter-decoder terminal is a box of electronic equipment that is used to connect the subscriber's television, and potentially other electronic equipment, to the cable network. The converter-decoder box is usually connected to the wired network through a wall or axial outlet. The converter-decoder box is essentially a computer that is programmed to process signals from the cable network to provide the subscriber with cable services. These services of the cable television company typically include access to a number of television channels and perhaps, an electronic program guide. Additional premium channels can also be provided to subscribers at an additional charge. Pay-per-event and video-on-demand events can also be provided on the network. The converter-decoder box is programmed to provide these and other services to the subscriber. However, cable company services do not need to be limited to provide television programming. Some cable companies are now offering Internet access and e-mail on their cable networks at speeds much faster than those available on conventional telephone lines. It is anticipated in the future that more and more services will be provided on the cable network, including, even basic telephone service. Eventually, each house or office can have a single connection, through the cable network, to all electronic data services. When a new terminal of the converter-decoder is added to the wired network, it must be started. To initiate a terminal of the converter-decoder, the terminal must be provided with the programming required to allow it to operate within the specific cable network to which it is connected and to provide with this the services for which the subscriber has paid. Additionally, as the cable network evolves and the services provided, the converter-decoder terminal must also evolve to be able to provide subscribers with all the services of the cable network. This evolution of the converter-decoder box will mainly involve changes to the programming, or perhaps a reset of the converter-decoder box; By improving the software or firmware of the converter-decoder box, the box can be made to perform more efficient services or offer new services as the cable network evolves. To be able to start the new terminals of the converter-decoder and to improve the programming in the existing population of boxes of the converter-decoder in a cable network, it is preferable to transmit the necessary programming to the boxes of the converter-decoder via the cable network itself. Otherwise, a technician must visit each subscriber to install or upgrade the boxes of the converter-decoder. Such field installations and improvements obviously can have significant expenses. The cable head is the installation from which the cable network operator broadcasts television signals and provides other services in the cable network. The software that is provided to the terminal population of the converter-decoder can be spread from the cable head in the cable network. Accordingly, there is a need in the art for a method and system that allows a cable television system operator to control a population of converter-decoder terminals to properly accept the enhanced programming transmitted in the cable television system. Additionally, it should be noted that over time the terminal population of the converter-decoder will probably come with different brands and terminal models of the converter-decoder with different capacities. The software required to improve each make and model terminal of the converter-decoder can therefore be different. Consequently, there is a need in the art for a method to initiate an enhancement of only those specific converter-decoder terminals that require improvement and to correlate the appropriate programming code to the capabilities of these converter-decoder terminals that are improved.
SUMMARY OF THE INVENTION It is an object of the present invention to meet the needs described above and others. Specifically, it is an object of the present invention to provide a method and system that allows a cable television system operator to control a population of converter-decoder terminals to adequately accept enhanced programming transmitted in the cable television system. Additionally, it is a further object of the present invention to provide a method and system for initiating an upgrade of only these specific converter-decoder terminals that require improvement and to correlate the appropriate programming code to the capabilities of those converter-decoder terminals. that are improved.
Additional objects, advantages and novel features of the invention will be set forth in the description that follows or can be learned by those skilled in the art through reading these materials or practicing the invention. The objects and advantages of the invention can be achieved through the means cited in the appended claims. In order to achieve these stated and other objectives, the present invention can be modified and described as a method for controlling an improvement of programming in the terminal population of the converter-decoder connected to a cable television system. More specifically, the method of the present invention is performed by downloading and implementing improved programming that is transmitted in the cable television system to the terminal population of the converter-decoder, where one, some or all of the terminals of the converter-decoder perform the download and implementation of the enhanced programming in response to an improvement order transmitted in the cable television system to the converter-decoder terminals. To optimally control the acceptance and implementation of the schedule, the method of the present invention may include specifying in the order of improvement whether the order is universal or objective. If the order is specified as universal, the method continues with all the terminals of the converter-decoder in the population that receives the order of improvement that downloads and implements the improved programming. Alternatively, if the order is specified as an objective, the method continues by specifying a terminal or groups of terminals that are to correspond to the order of improvement when downloading and implementing the improved programming. Consequently, each terminal of the converter-decoder will compare a target specification transmitted with the upgrade order to a corresponding specification or group of specifications that is stored in that terminal of the converter-decoder. Under the method of the present invention, the download and implementation of the enhanced programming will be performed by any terminal of the converter-decoder in which the target specification transmitted with the upgrade order correlates any corresponding specification stored in that terminal of the converter-decoder. The method of the present invention also preferably includes specifying in the order of improvement whether the order is complete or partial. If the order of improvement is specified as complete, the terminal of the converter-decoder executes the order of improvement that will end executing the programming in the terminal of the converter-decoder and will automatically execute the start code stored in each terminal. The executing boot code then performs the download and implementation of the enhanced programming. The method also preferably includes identifying with the executing boot code, the improved programming for the download that is appropriate to that converter-decoder terminal which is improved by correlating a platform identifier stored in that terminal of the converter-decoder with an identifier of platform in a download indicator message specifying where a data transport stream will acquire the enhanced programming of that terminal of the converter-decoder. Alternatively, if the improvement order is specified as partial, the method of the present invention continues by specifying one or more elements of a native row of the converter-decoder terminals that are updated or added. In response, the method concludes by replacing or adding one or more elements of the native row specified by the breeding order. The present invention also encompasses the physical system and hardware necessary to implement the method described in the foregoing. For example, the present invention also encompasses a system for the controlled improvement of programming in a population of converter-decoder terminals connected to a cable television system that includes; (1) means for transmitting an order of improvement and improved programming to the terminals of the converter-decoder in the cable television system (2) means for receiving the order of improvement and the improved programming in each of the terminals of the converter- decoder; and, at each terminal of the converter-decoder, (3), means for controlling the download and implementation of the enhanced programming for that terminal of the converter-decoder in accordance with the order of improvement.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings illustrate the present invention and are a part of the specification. Together with the following description, the drawings demonstrate and explain the principles of the present invention. Figure 1 is a block diagram illustrating the three different stages in which the different programming packets have control of the converter-decoder terminal during the startup process of the present invention. Figure 2 is a flow chart illustrating the steps of the start process for a converter-decoder terminal according to the present invention. Figure 3 is a block diagram of the various memory devices and some code objects used in a converter-decoder box according to the present invention. Figure 4 is a flow chart illustrating the method for universally and specifically improving the terminal programming of the converter-decoder in a cable television system in accordance with the present invention.
DETAILED DESCRIPTION OF THE INVENTION The present invention addresses the problems involved in the improvement of programming in existing converter-decoder boxes or initiation of new converter-decoder boxes using the broadcasting of programming code in the cable network. As a result, the converter-decoder boxes always have the necessary code objects to allow those converter-decoder boxes to function optimally within the cable system and provide the services purchased by the subscribers. Established in a broad principle, the present invention aims to provide a terminal architecture of the converter-decoder that includes a resident boot code object. As shown in Figure 3, the boot code object (302) resides in the terminal (300) of the converter-decoder, preferably in the read-only memory (ROM) (301) and can automatically execute and start or restart the terminal of the converter-decoder. The start code will preferably be executed automatically by the central processor (321) of the converter-decoder terminal. The execution of the start code can be triggered by and immediately after the connection of the power to the terminal of the converter-decoder. The present invention may additionally require the connection of the transport current signal (322) of the cable system to a tuner (323) controlled by the processor (321) before the execution of the start code is triggered. Once the boot code is executed, no additional action by the user / installer is required. In addition, no specific interaction is required between the cable head and the terminal of the converter-decoder that is starting or starting. As will be described in detail below, the startup code of the present invention will find, download and automatically start the execution of the correct software code object or objects necessary to start the converter-decoder terminal. The boot code will locate, identify and download the required programming from among potentially many code objects that can be multiplexed into the transport stream that comes from the installation of the cable head of the cable television system. The boot code recognizes the hardware configuration of the converter-decoder terminal in which it resides by means of an internal ROM encoded identifier. This identifier is correlated against a value conveyed in an object download indicator message of the transport stream to ensure that the boot code obtains and downloads the appropriate objects to the converter-decoder terminal in which the boot code is resident. . Functionally, the start code of the present invention will identify an appropriate control channel frequency, find the stream of control data packets within the control channel, identify and download the correct object from among the objects in the transport stream, verify that the downloaded code is authorized and free of error, and will initiate the downloaded code without direct help from a technician or intervention of the cable head. The term "boot code" as used herein comprises the minimum code necessary to achieve this functionality.
Essentially there are two distinct phases of programming a converter-decoder box directed by the present invention. The first is the initial programming of the converter-decoder box. The second is the improvement of the programming or reset of the converter-decoder box after the box has been placed in service. The initial programming of the converter-decoder box is often performed by the cable system operator after the converter-decoder box has been purchased from a manufacturer. Because each cable network is designed and built at different times by different service providers, each cable network can have a different design, architecture, and code objects. In addition, the specific services offered may vary between cable networks. Therefore, to adapt the converter-decoder box to operate with the specific environment of a cable system of the service provider and to provide the specific group of services currently offered by that particular service provider, the converter box-decoder it must be programmed accordingly or "started". The process of initiating a converter-decoder terminal according to the present invention will now be explained. In order to start a terminal of the converter-decoder, ie accept and use the initial programming it receives, it must have some basic programming that instructs how to accept and use that initial programming. This basic programming within the context of the present invention is called the boot code. As described above, the boot code is the computer code resident in the permanent memory of the converter-decoder terminal that is loaded, preferably in the read-only memory, in the factory and can not be changed once the terminal has been deployed. As shown in Figure 1, there are three general rows or programming classifications that run or have control of the converter-decoder terminal during the different stages in the initiation and operation of the terminal according to the present invention. With reference to Figure 1, the first classification of the code is the start code (1). The boot code is preferably located in the read-only memory of the converter-decoder terminal, but can alternatively be downloaded into Flash memory. While the start code (1) is running, the terminal of the converter-decoder can not provide any service to the subscriber. The function (2) of the start code (1) is to reach the data transport current received from the installation of the cable head to locate, acquire and start the execution of the base platform code (3) which is the next row or programming classification. The boot code (1) is designed to authenticate the base platform code after the base platform code is downloaded. The boot code (1) will preferably reauthenticate the base platform code each time it launches the base platform object (3). When the base platform code (3) is executed, the execution of the start code (1) is terminated and the control of the converter-decoder terminal passes to the base platform code (3). The base platform code (3) can be loaded at the factory. However, under the principles of the present invention, the base platform code (3) is preferably transmitted to the terminal of the decoder-converter from the cablehead during initiation of the terminal. This allows the cable system operator to become accustomed to the base platform code (3) for optimal operation in the specific cable system where the converter-decoder terminal is deployed. Preferably, the base platform code (3) is transmitted in the cable installation in an out-of-band transport stream (OOB). However, it is within the scope of the present invention that it is transmitted to the base platform code (3) in a band control channel. The base platform code (3) has two functions. The first function of the base platform code (3) is to provide the basic capability of allowing a subscriber to watch television using the signal from the cable television system. The second function is to control the download of (5) from the following classification of code objects, that is, the target operation system (O / S) and the resident applications (6). The base platform code (3), while allowing subscribers to watch television, generally does not support any additional function of the converter-decoder terminal. However, the base platform code (3) can acquire, authenticate, authorize and execute objects of the third and the final classification of the programming (for example 0 / S) (5). The third programming classification, the operating system and the resident applications (6) provide the additional functions of the converter-decoder terminal available from the cable system. The operating system (O / S) is typically the code of a third party (such as Microsoft's inCE ™) that provides access, with resident applications, to all the capabilities of the authorized converter-decoder terminal. The operation system typically uses an additional integrated coding module provided by the manufacturer of the converter-decoder terminal that interfaces the operating system with the particular hardware of that converter-decoder terminal to allow the operating system to operate with that terminal of the specific converter-decoder. The resident applications are computer programs that run in the terminals of the converter-decoder under the operating system. The resident applications work with the operating system to provide the capabilities of the converter-decoder terminal that are in addition to watching television. The native row is a specific group of software applications, including the operating system and perhaps several resident applications, which provide the intended functions of the converter-decoder terminal. The specific elements of the native row are determined by the system operator. As indicated in Figures 1 and 3, the boot code (1) is preferably loaded at the factory into the read-only memory (ROM) of the converter-decoder terminal and is executed as soon as AC power is provided. to the terminal of the converter-decoder.
.. *. * * ... *. * * ^. Alternatively, the start code can be executed in response to a received reset signal (4), for example from the cable head, i.e., the system operator. This allows the system operator to re-start the converter-decoder terminal whenever it is desired. The reset signal (4) is preferably received by the base platform code (3) which then terminates the execution of the operating system and the applications (6) residents, if it is run, and start the execution of the boot code (1). Alternatively, the reset signal (4) may cause the base platform code (3) to terminate and reload the native row (6) instead of executing the start code (1).
As described above, whenever it is executed, the boot code (1) acquires and downloads the base platform code (3). The base platform code can be provided to the converter-decoder terminal in the wired network from the cable head or, alternatively, it can be loaded in the factory together with the start code. The base platform code is preferably stored in the Flash memory (303) as shown in Figure 3. The boot code (1) will download the base platform code (3), for example, on a channel out of band of the cable head or, if the code of MáühMiüáij. base platform outside loaded in the factory, will identify the base platform code (3) in memory. The boot code (1) authenticates the base platform code (3) from any source that is obtained and then executes the base platform code (3). The base platform code (3) then acquires the operation system and, preferably, the other objects of the native row (6). The operating system and the other objects are discharged from the cable head in the cable network. The base platform code (3) will acquire the operation system and other objects when it first runs or, while running, in response to a system operator initiation message (4). The initiation message (4) can be provided in the cable network. The operation system and the resident applications (6) are then executed when the native row is acquired, authorized and authenticated. Figure 2 is a flow chart that provides a more detailed explanation of the initiation sequence according to the present invention. As shown in Figure 2, when the terminal of the converter-decoder first turns on, or an appropriate reset signal has been received, the start code (229) is executed. The boot code must first determine if the converter-decoder box has or should acquire the base platform code. To determine this, the boot code first checks the Flash memory for the base platform code, the last known conveyor frequency (LKC) of control channel of the cable head, and a Identification of the Title Management Message Provider (201, 202). If any of the following three conditions is discovered, the boot code will conclude that it must acquire the base platform code and scan the out-of-band or band-channel from which the base-platform code can be obtained. The boot code seeks to acquire (1) the base platform code if the base platform code, the last known carrier and the EMM Provider ID in the Flash memory are not stored, (2) the base platform code in the Flash Memory misses an authentication check or (3) no volatile memory indicates that scanning the control channel (probably an out-of-band channel) is required. If the Flash verification determines that a base platform code object exists, the boot code proceeds to execute the base platform object after appropriate authorization and authentication as described below. If both the base platform and the O / S are downloaded in Flash, the boot code authorizes and authenticates the base platform and then launches the base platform and passes the control of the converter-decoder terminal to it. The base platform object, in turn, authorizes and authenticates (A & A) the O / S. The authenticated O / S is then run and control passes to the O / S. If the base platform code is not loaded into Flash memory, the boot code loads the base platform out of the out-of-band transport stream (203, 204, 207). However, before it is written to Flash memory, successful authentication is required (206, 205). When the authenticated base platform code is executed, the boot code passes control to the base platform (211, 228). If the base platform code fails in authentication verification (205), the failed base code is deleted (208) and a counter (209) is incremented which tracks the number of attempts to acquire and authenticate a base platform code . If the counter is below a predetermined acceptable number of attempts, the base platform code is again downloaded (207). Alternatively, if the acceptable number of attempts to download the base platform code is exceeded, the converter-decoder terminal may signal a service call (210) to the cablehead. Under the principles of the present invention, the boot code locates the base platform object that uses a boot code message or "boot code control message" that is periodically sent in the out-of-band transport stream (204) . The use of the boot_code_control message will now be described in detail. When the boot code determines the need to download the base platform object, it first scans the control channel. A table of possible carrier frequencies in which the control channel or channels will be broadcast is included in the start code. These frequencies can be both in band and out of band. The start code will cause the terminal of the converter-decoder to tune each of these frequencies in turn until the control channel is located so that the carrier is immobilized. If no control channel is received at a particular frequency for a predetermined period of time, the converter-decoder terminal will tune to the next frequency in the table. It is also possible to stagger through a frequency range or to sweep a frequency range to find the control channel as opposed to staggering through a frequency table. The control channel is a stream of data packets that can be received and used by the terminal of the converter-decoder. In order to be able to broadcast a number of different objects simultaneously, the cable head will divide the objects that are transmitted in the control channel in packets. The packets of the various objects that are transmitted can then be interleaved or multiplexed in time together so that several objects are all transmitted essentially essentially simultaneously. Packages for each particular object will have a common packet identifier or "PID". In this way, a terminal of the converter-decoder can identify the packets for the object that it is working to acquire. When acquiring all the packages with a particular PID, the complete object can then be reassembled by the terminal of the converter-decoder from the set of packages with a particular PID. According to the present invention, a converter-decoder terminal can start anywhere in progression to acquire an object and continue cyclically until all the necessary packets are downloaded. For example, the terminal of the converter-decoder can load the first packet it receives with a PID X. That packet can be a pack of 50 of 100 marked by PID X. The terminal then continues to collect packets 51 to 100 with PID X, then 1 to 49. With all the packets 100 obtained, the terminal can reassemble the object into packets. The cable head can broadcast a number of objects simultaneously since there may be different types or classes of terminals of the converter-decoder in the population. Each class of converter-decoder terminals may need a different version of, for example, the base platform code, the O / S or a resident application. Therefore, when the boot code will start the terminal of the converter-decoder and must acquire the base-platform code, the start code must determine where to acquire the appropriate base platform for the terminal of the decoder-converter in which it is installed. running In this way, once the carrier is immobilized and the control channel is being received, the start code will start to collect the transport stream packets in the control channel that is identified with PID 1. The PID 1 is dedicated to the conditional access message in the MPEG standard. The PID packets 1 will provide the boot code that runs in the converter-decoder terminal with a Conditional Access Table (CAT) of the EMM Provider IDs each of which identifies a PID for a set of packets in the transport stream that constitutes an EMM stream (Titration Management Message). The start code will start with the first EMM and start the transport stream load packets that are marked with the EMM PID given by the first EMM descriptor. The EMM PID packets that are acquired will contain the boot code message of the present invention which, in turn, includes a platform identifier. The boot code that is installed in the factory at the converter-decoder terminal will also include a platform identifier that is specific to the type of terminal in which the startup code is resident. When running, the boot code will attempt to correlate the platform identifier provided in the factory with the platform identifier of the boot code message of the EMM PID packets. If no correlation is found, the boot code will select the next EMM Provider ID on the CAT and verify the EMM PID packets identified by that EMM Supplier ID descriptor for a boot code message with an identifier of correlation platform. This continues until the correlation platform identifier is found (203). It may be possible to search the multiple EMM PID simultaneously to reduce the EMM validation time and the time required to find the correlation start code message. If all the EMM descriptors in the PID 1 CAT are verified and no correlation is found for the platform identifier, the start code will look for another control channel on another carrier frequency when returning to the carrier frequency table. When another frequency with a control channel is identified and searched, the start code will extract PID 1 and repeat the process outlined above. This continues until a start code message with a platform identifier that correlates the start code platform identifier is encountered. When the boot code encounters a boot code message with a correlation platform identifier, the boot code will extract a downloaded PID (DL PID) specified by the correlation start code message. The downloaded PID (DL PID) is the identifier for the packets carrying the code object, for example, the base platform code object, which is appropriate for the terminal type of the decoder-converter with the platform identifier in the boot code message. The boot code can then download the base platform code object by acquiring the packets with the DL PID and by reassembling the data in those packets in the base platform code. As shown in Figure 2, once the base platform code has been downloaded or identified as already resident in the Flash memory, an authentication check (206) is performed to verify that the base platform code has been received accurately. and completely and has not been altered by an unauthorized party. If the base platform fails authentication verification, it is deleted (208). A load counter can then be checked to determine the number of times the terminal of the converter-decoder has attempted to acquire a valid base platform code (209). If the counter exceeds a predetermined limit, the terminal of the converter-decoder may signal to the cable head a service call or may indicate the need to request a service call to the subscriber (210). If the load counter is not exceeded, the boot code will revert the process described in the above and will again attempt to download the base platform code (207). Alternatively, if the base platform code is authenticated, then it is launched (211). The base platform code will then determine whether the native row, including the O / S, is loaded into the Flash memory (214). If not, the base platform code will look to download the native row. With the base platform code running, the system operator can provide the converter-decoder terminal with a set of "initiation messages" which provide, for example, channel maps, tables and EMM information (219, 212) . These messages must be provided before the native row is loaded. The initiation messages can instruct the terminal of the converter-decoder where to acquire the native row. After the native row has been downloaded or is already in the Flash memory, an authorization check is made in the native row (215, 220, 224, 223). The download of the native row will include an Object Conditional Access Message (OCAM) that is recorded by the converter-decoder terminal. The authentication signature and the authorization code for the native row object are provided in the OCAM and used to authorize and authenticate the native row in the manner described in the following. If the authorization check is not successful, the native row code is erased (225, 217) and the base platform code will again try to acquire the native row (221). If the authorization check is successful, the native row and any resident application associated with it, is loaded and an authentication check is performed (222) as in the above if the authentication verification fails, the downloaded code will be erased (217) and a load counter will be checked (216) to see if another attempt to download the code should be made or signal a service call (213).
Alternatively, if the authentication verification (222, 218) is successful, the native row and any associated resident applications will be executed starting with the O / S (226, 227). The base platform code performs authorization and authentication in the O / S code. If the O / S passes the authorization and verifies the authentication, the O / S is executed and the control is transferred to the O / S. The BIOS (Basic Input / Output Software) can perform the authorization and authentication of the rest of the native row (215, 224, 222). In summary, several portions of the boot process include an object authorization and authentication process (A &ampA) for recently acquired or located objects. The authorization check of the native row is done within the base platform. The authorization and / or authentication of the base platform is, in turn, performed by the boot code, which can only authenticate a base platform object. When running, the O / S of the native row performs the authentication and authorization of the subsequently loaded objects. These checks are required so that, given an interruption in power, etc., the authorization status of the terminal can be verified. If at any point an authorization or authentication check fails, the object that is verified is deactivated. Authentication is done as follows. When a code object is broadcast on the cable network, it is associated with an authorization code and an authentication signature. For the base platform object, the code identifier is preferably given in a field of object_id of the boot code message. The authentication signature is preferably given in a description_object field of the boot code message. For other objects, the O / S and the native row, the authorization code and the authentication signature are provided in a downloaded OCAM independent of the object. The authentication signature is calculated mathematically using a specific algorithm with the same code object as the entry for the algorithm. The signature is then recalculated by the terminal of the converter-decoder using the same algorithm as input. If the signature calculated by the converter-decoder terminal is correlated with the one transmitted with the code, the code can be implemented with the confidence that it has been transmitted appropriately, without accidental or malicious alteration. Figure 3 illustrates four memory units of a converter-decoder terminal (300) according to the present invention. One memory unit (ROM) (301) Fc ^ ri ^^^ U **, read only contains the boot code (302). A flash memory unit (303) contains the base platform code (304) and the O / S object (306). On one side of these objects, additional flash memory is available (305). Two stack pointers (307, 308) designate absolute locations in the flash memory (303) for the base platform code (304, 308) and the O / S (306, 307). It is important that these two objects can be located absolutely in the flash memory (303). A non-volatile memory unit (310) preferably has a handled segment and a non-driven segment. The base platform code (304) may store parameters and other data in any portion of the non-volatile memory unit (310). Finally, a random access memory unit (RAM) (309) is provided. The downloaded objects such as the base platform code, the O / S, etc., can be stored in the RAM (309) until they are authenticated. Once the authorization and authentication is completed successfully, the objects can be transferred from the RAM (309) to the Flash memory unit (303) for long-term storage. The present invention provides two basic ways to improve the basic platform in a population of decoder terminals once those terminals have been placed in full service. As illustrated in Figure 4, these two methods of improvement are (1) a universal improvement of the entire population (ie, the entire population tuned to a particular control stream) and (2) an objective improvement of a subset or subsets of the population. Both methods can make use of the boot code to perform the improvement. As shown in Figure 4, the system operator transmits an order to upgrade the cable head to the terminal population of the converter-decoder that receives the signal from that cable head in the cable network (401). All the converter-decoder terminals tuned to the control channel in which the upgrade order is broadcast will receive the command (402). Each terminal of the converter-decoder will first determine whether the upgrade order is universal or objective (403). An order of universal improvement will cause all the terminals of the converter-decoder that receive it to carry out the specific improvement. If the order of improvement is universal, each terminal of the converter-decoder will then determine whether the order is for a complete or partial improvement (404). A complete upgrade requires that the converter-decoder terminal improve all programming except the immutable boot code, ie the base platform object and the native row, including the operating system object and recent applications. A partial enhancement merely requires that the converter-decoder terminal replace one or more elements of the native row, i.e. the operation system object and / or one or more resident applications. If a complete improvement is signaled, the converter-decoder terminal will terminate the native row and base platform code (407). The terminal of the converter-decoder can also erase the finished objects. In the absence of the other executing programming, the converter-decoder terminal will automatically re-execute the ROM boot code. The boot code then takes over and performs the initiation procedure outlined in the foregoing, including replacing the base platform and the native row with improved code objects downloaded into the cable network as described above. If the orderly improvement is partial rather than complete, one or more elements of the native row will be replaced or a new element will be added to the native row. If the existing elements of the native row will be replaced, the converter-decoder terminal will end, and can erase, those specific elements (410). If the operating system is being replaced, the base platform code will assume control of the terminal with the termination of the existing operating system. The base platform code will then load a new, improved operation system of the cable network as described in the above (411). This may also include the download and improvement of some or all of the resident applications of the native row. Alternatively, if one or more resident applications are being replaced or a new resident application is being added, the operating system, the base platform code location, can control the download, authentication and authorization of the new code objects as described. in the above. An objective improvement applies to a single terminal or to a small group of terminals in a given control channel. Each terminal has a specific single destination address and, therefore, can be routed through the cable head and instructed to fully or partially improve its programming. Alternatively, each terminal has one or more addresses of multiple destinations that are shared by other terminals in the population. Four addresses of multiple destinations are preferred for each terminal. With a multi-destination address, the cable head • * Mt "-. ** •» * & **.., »,." - **,. ^^. ^ Can signal a code purge and re-start a specific class of terminals that share the address Multi-destination of particular destinations As shown in Figure 4, after a target improvement order has been received, the terminal of the converter-decoder will extract the address information from the terminal of the target improvement order (405). the address information of the upgrade order in relation to the addresses of multiple destinations or of a single destination of the terminal of the receiving converter-decoder, that terminal will accept and implement the order (406) of improvement.The terminal then determines if the order of improvement is complete or partial (404) and the process of improvement proceeds as outlined in the foregoing, in this way, the system operator can control very flexibly and effectively the improvement of programming in the connection of the converter-decoder terminals connected to the cable television system. The foregoing description has been presented only to illustrate and describe the invention. It is not intended to be exhaustive or limit the invention to any precise form described. Many modifications and variations are possible in light of the previous teaching. The preferred modality was selected and described IfeaülUí to better explain the principles of the invention and its practical application. The foregoing description is intended to enable others skilled in the art to better utilize the invention in various embodiments and with various modifications as appropriate to the particular use contemplated. ^^^

Claims (20)

  1. CLAIMS 1. A method for controlling a programming improvement in a population of converter-decoder terminals connected to a cable television system, the method comprising, with one or more of the converter-decoder terminals, downloading and implementing the programming Improved that is transmitted in the cable television system to the population determined from the converter-decoder, the download and implementation that is performed in response to an improvement order transmitted in the cable television system to the terminals of the converter-decoder . The method of claim 1, further comprising specifying in the order improvement whether the order is universal or objective. 3. The method of claim 2, wherein if the order is specified as universal, the method comprises performing the download and implementation with all the terminals of the converter-decoder in the population receiving the order of improvement. The method of claim 2, wherein if the command is specified as a target, the method further comprises specifying a terminal or group of terminals that will correspond to the upgrade order when performing the download and implementation of the enhanced schedule. 5. The method of claim 4, further comprising: comparing a target specification transmitted with the upgrade order to a corresponding specification or group of specifications that is stored in each terminal of the converter-decoder; and performing the download and implementation of the enhanced programming if the target specification transmitted with the upgrade order correlates any corresponding specification stored in that terminal of the converter-decoder. 6. The method of claim 1, further comprising specifying in the order of improvement whether the order is complete or partial. The method of claim 6, further comprising, if the breeding order is specified as complete, terminating all the programming that is executed in a terminal of the decoder-converter that receives the breeding order and automatically executing a start code from that terminal, where the boot code then performs the download and implementation of the enhanced programming. The method of claim 7, further comprising, with the boot code, identifying the improved timing for the download that is appropriate to that converter-decoder terminal which is improved by correlating a platform identifier stored in that converter terminal. - Decoder to a platform identifier in a download indicator message specifying where a data transport stream will acquire the enhanced programming of that terminal of the converter-decoder. The method of claim 6, further comprising, if the breeding order is specified as partial, specifying one or more elements of a native row that will be improved or added. The method of claim 9, further comprising replacing or adding one or more elements of the native row in response to and in accordance with the breeding order. 11. A system for improving programming in a population of converter-decoder terminals connected to a cable television system, the system comprising: means for transmitting an improvement order and improved programming to the converter-decoder terminals in the cable television system; means for receiving the order of improvement and improved programming in each of the terminals of the converter-decoder; Y - ** in each terminal of the converter-decoder, means for controlling the download and implementation of the improved programming by that terminal of the converter-decoder in accordance with the order of improvement. 12. The system of claim 11, which also includes means to specify in the order of improvement if the order is universal or objective. The system of claim 12, wherein, if the order is specified as universal, means to control the implementation download of the enhanced programming in each terminal of the decoder-receiver that receives the order of improvement that will download and implement the programming improved The system of claim 12, wherein, if the command is specified as an objective, the system further comprises means for specifying a terminal or groups of terminals that will respond to the upgrade order by downloading and implementing the enhanced schedule. The system of claim 14, further comprising, at each terminal of the converter-decoder means for comparing a target specification transmitted with the upgrade order to a corresponding specification or group of specifications that is stored in that terminal of the converter-decoder; wherein the means for controlling the download and implementation of the enhanced programming that downloads and implements the enhanced programming if the target specification transmitted with the enhancement order correlates any corresponding specification stored in that terminal of the converter-decoder. 16. The system of claim 11, further comprising means for specifying in the order of improvement whether the order is complete or partial. The system of claim 16, further comprising, if the breeding order is specified as complete, means for terminating the execution of programming in a terminal of the converter-decoder that receives the order of improvement and automatically executing a start code from that terminal, where the boot code then performs the download and implementation of the enhanced programming. The system of claim 17, further comprising means for identifying the improved timing for the download that is appropriate to that converter-decoder terminal which is improved by correlating a platform identifier stored in that terminal of the converter-decoder to a platform identifier in a download indicator message specifying where a data transport stream will acquire the enhanced programming of that terminal of the converter-decoder. The system of claim 18, further comprising, if the breeding order is specified as partial, means for specifying one or more elements of a native row that will be improved or added. The system of claim 19, wherein the means for controlling the download and implementation of the enhanced schedule replaces or adds one or more elements of the native row according to the order of improvement. RESL i. ! This < _-, _ and sist - • "-, allows the controlled improvement of programming in a terminal of the converter-decoder of a cable television system. operator cable G sisi-.ma to the terminal board of the converter-decoder The order of improvement can be universal or objective.If it is objective, the order of improvement will only be implemented by a single terminal of the converter-decoder or a group of specific terminals by a single or multiple destinations address included with the upgrade order If the upgrade order is for a complete upgrade, the converter-decoder terminal will terminate and can erase all the execution codes. that the start code of the terminal begins automatically to execute and to acquire new improved programming for the diffusion of the terminal in the cable system. is partial, only specific objects are replaced.
MXPA/A/2001/010584A 1999-04-21 2001-10-19 Method and system for targeted or universal upgrades of programming in a population of advanced set-top boxes in a cable television system MXPA01010584A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60/130,328 1999-04-21
US09/545,678 2000-04-07

Publications (1)

Publication Number Publication Date
MXPA01010584A true MXPA01010584A (en) 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
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
US9749179B2 (en) Fast initialization of multi-mode devices
KR20010030926A (en) Downloading data
JP2005209195A (en) Embedded system using binary position information and remote software downloading method therein
EP1980105A1 (en) Method for updating the firmware of a security module
EP1210824B1 (en) Method and system for automatically purging code objects being updated by download
MXPA01010584A (en) Method and system for targeted or universal upgrades of programming in a population of advanced set-top boxes in a cable television system
EP1172005A1 (en) Automatic initialization of an advanced set-top box in a cable television system by downloading software or firmware over the cable system
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
MXPA01010582A (en) Automatic initialization of an advanced set-top box in a cable television system by downloading software or firmware over the cable system
MXPA01010583A (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
KR20060049034A (en) Forcing an action in a terminal
MXPA01010581A (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
Pedlow An Open Transport and Navigational Specification, Optionally Supporting Multiple Conditional Access Systems
KR20100045266A (en) A method for processing ota in set-top box