Remote program downloading system and apparatus

Abstract: For updating the entire region of the control software stored in the memory of the information terminal, the invention provides a system and apparatus for remote program downloading characterized by downloading a download process program exclusive for downloading process in a region indifferent to download process by using control software at the terminal, downloading the download process program portion of the control software to be updated by using this exclusive download process program, and finally, by using this download process program, downloading the program other than the download process program portion of the control software to be updated.

Description: Field of the Invention The present invention relates to a method and apparatus for updating software of computer applied product through a transmission channel, and more particularly to a system and apparatus for updating control software of a digital television receiver for receiving video, audio and data through wired and/or wireless digital transmission channels. Background of the Invention In a simple information terminal not provided with an auxiliary memory device, control software is stored in a ROM that is not rewritable, and to update this control software, the ROM must be replaced, which is very difficult if multiple products are present in the market. For flexible changing of control software, the so-called "program downloading system" is known, in which system the control software is stored in a RAM in stead of the ROM and transmitted from the central processing apparatus of the system through transmission channel. In this system, even if not necessary to change the software, transmission is always required when turning on the power source or when recovering from abnormal state of the terminal. To eliminate such wasteful transmission when turning on the power source, a method for storing the control software in the EEPROM in stead of the RAM is proposed (for example, "Program downloading system" in Japanese Laid-open Patent No. 6-4269). In this method, it is impossible to change the download processing portion of the control software. It is also proposed to prepare two sets of EEPROM, and download the control software for updating in a spare EEPROM while managing by the working EEPROM ("Remote software downloading system" in Japanese Laid-open Patent No. 5-158703). According to this system, if an abnormality occurs while downloading, since the working control software remains intact, it is a benefit that downloading into the spare EEPROM can be resumed, and another merit is that the download processing portion of the control software can be changed. A demerit is, however, that the cost is high because two sets of EEPROM are used. Further, concerning the digital television receiver, in order to cope with extension of functions flexibly, it is proposed to store the basic function portions of the control software in the ROM, and store the extension portions of the control software corresponding to the extended functions in the EEPROM ("Data reception processing apparatus, data reception processing method, and broadcasting method" in Japanese Laid-open Patent No. 8-195952). Branching means to a predicted extension function is prepared permanently in the basic function portions of the control software stored in the ROM, and the extended portions of the control software are downloaded in the EEPROM by using the data transmission stream contained in the digital broadcasting channel. This system is advantageous in that it is flexible to cope with predicted extensions, but as for the extension not predicted, it is necessary to change the basic functional portions stored in the ROM, which requires replacement of ROM, and hence it is not a radical solution. Reference may be made to US-A-5467286, which describes a metering unit with downloadable firmware. Firmware is downloaded to a metering unit located in a distributed power network carrying a power-related waveform, where the metering unit senses power-related parameters associated with the power-related waveform and generates and transmits data representative thereof. The metering unit is provided with a sector-erasable flash EEPROM having a first section for storing main functionality firmware and a second section for storing boot code. The boot code includes a reset portion for resetting the metering unit and a firmware update section for downloading external firmware to the first section. The firmware update section includes a writing routine for writing the external firmware to the first section. The metering unit is also provided with a volatile RAM. The external firmware is downloaded to the first section of the EEPROM by executing the firmware update section. While executing the firmware update section, the writing routine is copied to the RAM and executed therefrom to write the external firmware to the first section of the EEPROM. Reference may also be made to EP-A-0732850, which describes a functionally modifiable cable television converter system. A cable television converter with remotely modifiable functionality receives firmware downloaded over a cable television network. The integrity of the firmware is verified, and if valid, the firmware is executed to provide one or more converter functions. If the firmware is invalid, default operation software contained in ROM is executed instead of the firmware to return the converter to baseline operation. In one embodiment, the converter includes a frequency agile data receiver to receive control instructions on a first data channel and firmware on a second data channel. The receiver is forced back to the first channel if a successful firmware download does not occur on the second channel within a predetermined time period. The firmware is continuously transmitted in short segments, and the converter can continue to receive segments until all the segments of a designated firmware package have been successfully downloaded, unless the predetermined time limit expires sooner. Summary of the Invention It is hence an aim of the invention to update the entire region of control software by downloading, by using only one set of EEPROM, so as to be capable of coping with any extension of the control software including changes of basic functions. It is other aim to be capable of restoring and resuming if there is abnormality when downloading, in order to execute downloading securely, even by using a digital transmission channel of digital television broadcast using a wireless transmission which is likely to be influenced by disturbance such as noise. It is a different aim to update the control software flexibly, depending on the type of the product used by the customer, receiving trend of the customer, or contract situation of paid program of the customer. Aspects of the invention are defined in the claims. The invention provides a method of extending or changing the functions of the receiver as a result, by updating the control software stored in the memory of digital television receiver by using data signal contained in broadcast signal. First, the working control software takes out the temporary download processing program exclusive for downloading for receiving and storing data from transmitted data packets, and stored in a working region of a memory not interfering the present downloading process. When storing is over, the control is transferred to this temporary download processing program, and this temporary download processing program takes out the new download processing program for composing the stem portion of the update control software, and stores in a specified region. In consequence, the control is shifted to this new download processing program, and the new non-download processing program for composing the remaining portion of the update control software is taken out, and stores in a region once occupied by the temporary download processing program. When this storing is over, the control is returned to the update control software. In this way, the control software in the memory is updated, and the operation as the television receiver having the updated function is resumed. In the program downloading apparatus of the invention described herein, arbitrary updating is possible in all program region of the control software. Besides, at any moment of updating, since the download program for receiving data and storing data is working, it is possible to resume if there is abnormality during data reception. Moreover, the EEPROM or the like that is not erased when the power is cut off is used in the memory, it is possible to resume if the power is interrupted in the apparatus during updating. Moreover, by making use of designate information (including designation of group and non-designation) of product, user and version of program which is to be updated or in transmission in the program packet, automatic updating is enabled, and also while efficiently utilizing the digital transmission channel, the control software can be updated accurately and with propriety in small units for the group of products or users, or even for individual product or individual person. Furthermore, by returning the success or failure of downloading of program to the sender, the terminal state can be controlled at the sender side, or by returning the error statistics to the sender, it may be useful for improving the control software at the sender side. Owing to these merits, the utility is enhanced not only at the information terminals, but also in the entire system, and in particular the utility, reliability and maintainability of digital television system are enhanced, which may contribute greatly to its popularity and expansion of service. Brief Description of the Drawings Fig. 1 is an example of functional block diagram of digital television receiver. Fig. 2 is a system block diagram of a remote program downloading apparatus in embodiment 1 of the invention. Fig. 3A to 3C are explanatory diagrams showing data packet structural examples when downloading a program by the remote program downloading apparatus in embodiment 1 of the invention. Fig. 4 is an explanatory diagram showing an allocation example on flush ROM in each state during downloading of program in remote program downloading apparatus in embodiment 1 and embodiment 2 of the invention. Fig. 5A to 5C are structural examples of packets adding version information to the data packet flowing in a digital transmission channel. Fig. 6A to 6C are structural examples of packets adding version information and product information to the data packet flowing in a digital transmission channel. Fig. 7A to 7C are structural examples of packets adding version information and user information to the data packet flowing in a digital transmission channel. Fig. 8 is a system block diagram of the remote program downloading apparatus in embodiment 2 of the invention. Fig. 9A to 9C are structural examples of packets adding check sum information to the data packet flowing in a digital transmission channel. Detailed Description of the Invention Fig. 1 shows an example of functional block diagram of digital television receiver. A tuner input 10 is connected to any one of a converter for satellite broadcast, a ground wave antenna, or an input of CATV, or through a switch for changing them over, and receives a digital television signal modulated by high frequency carrier wave. A tuner 11 receives an input signal, and selects a band including a desired program, amplifies and demodulates, and delivers a digital television signal digitally modulated in the base band. This signal undergoes digital demodulation 12 and error correction 13. Consequently, if ciphered, by using a decoding key which is preliminarily stored in an IC card and given to the subscribed user, for taking into the receiver through an IC card interface 34, decoding, that is, descrambling 14 is processed, thereby obtaining a transport stream in compound structure for transmission consisting of plural packets of digitized videos, audios and data, and control data. As a matter of course, if the decoding key is not available or if the decoding key is inappropriate, due decoding cannot be done. By packet separation 15, the packet of videos, audio and data is separated from the transport stream, and the packet of videos and audios of desired program is selected, decoded and expanded by video decoding 18 and audio decoding 16, and video signal and audio signal output 17 are obtained. The transport stream may also include a data packet for transmitting various data such as key data for decoding, other characters for program list or program related information, or graphic data. The character and graphic data are taken into an MPU 30, and the character code is converted into a character pattern and the graphic data into graphic pattern in character and graphic screen generation 20, thereby generating screen signals, which are mixed with said video signal or changed over in video synthesis/changeover 20, and a video signal output 21 is obtained. From such video signal output 21 and audio signal output 17, an analog television signal may be generated to feed an analog television receiver, or the video signal output 21 may be also directly added to a display unit to display on a screen, while an sound output can be obtained from the audio signal output 17 through a sound converter or a loudspeaker. This data packet can also handle the program data described below in relation to the invention. Incidentally, when transmitting data signals at high speed, all of the transport stream may be assigned for data. There are many choices in function concerning the above band selection, demodulation of modulated carrier wave, digital demodulation, error correction, descrambling, packet separation, video and audio decoding, and generation and display method of characters and graphics, and usually the method suited to the characteristic of the program to be expected to receive by the transmitter or the broadcaster, is selected and executed. The display method may be also selected by the viewer. Of course, the best method within the restrictions in function and performance of the receiver is selected. The MPU 30, aside from the above generation of screen, also selects each one of the functions mentioned above and controls the whole on the control software in the memory 31. In Fig. 1, the flow of principal signals and data is indicated by arrow, but the control flow is omitted. The independent or integrating function with video and audio transmission in data transmission of digital television system is being tested and experimented for practical development of ISDB (integrated services digital broadcasting). For the betterment of life and culture by integration of picture, sound and data, its development is highly expected, and along with development of new functions, it gives rise to necessity of updating of the control software, including the control of combination of functional choices. [Embodiments] The updating method and apparatus of control software are described in detail by referring to embodiments. Fig. 2 is a system block diagram of a remote program downloading apparatus in embodiment 1 of the invention. In Fig. 2, reference numeral 101 is a flush ROM which is a kind of EEPROM for storing program and others, 102 is program storing means for storing a program in the flush ROM 101 in an executable format, 103 is data receiving means for receiving data packet, 104 is program acquiring means for interpreting the data packet, and reading the program control information such as program configuration address information and size information having the designated program type and the program itself into its own buffer memory, and 106 is state holding means for holding the state during downloading process of the program. Reference numeral 107 is state control means for setting and controlling the functions of the data receiving means 103, program acquiring means 104 and program storing means 102 as shown in Table 1, according to the state held by the state holding means 106. Reference numeral 108 is download starting means for changing the state held by the state holding means 106, starting the program acquiring means 104 and program storing means 102 for executing the download processing set by the state control means 107, and completing download processing upon completion of storing process of the program in a third state, and 109 is event input means for detecting a program download request from the operator through an input device such as remote controller, and requesting start to the download starting means 108. In Fig. 2, the flow of reception data and program is indicated by dotted line arrow, and the flow of main control is indicated by solid line arrow. The data receiving means 103 corresponds to the descrambling 14 or packet separation 15 for delivering the data packet to the MPU 30 in Fig. 1, the flush ROM 101 corresponds to the memory 31 in Fig. 1, and the program storing means 102, program acquiring means 104, state holding means 106, state control means 107, download starting means 108, and event input means 109 are the functions realized by the MPU 30 in Fig. 1 together with the control software in the memory 31. In addition, actually, it requires means for excluding competition of various resources in download processing during system operation, but others are omitted because they are not related to the main object of the invention. Fig. 3 is an explanatory diagram for showing a structural example of data packet when downloading the program by the remote program downloading apparatus of the invention, and Table 1 shows the relation of the state of the state holding means 107, with the download processing program to be made active and the program to be downloaded in the program acquiring means 104 and program storing means 102, to be set and controlled by the state control means 106. State control of downloading apparatus State name Download program to be made active Program to be downloaded Normal state Download processing program (of present control software) (Video, audio and data signals, etc.) Downloading process State 1 Normal download processing program (download processing program as above) Temporary download processing program (download processing program exclusive for downloading time) State 2 Temporary download processing program (download processing program exclusive for downloading time) New download processing program (of update control software) State 3 New download processing program (of update control software) New non-download processing program (of update control software) Fig. 4 is an explanatory diagram showing an allocation example of flush ROM 101 (of capacity of 1M byte) in each state during download of the program in the remote program downloading apparatus. In this example, the area from address [00000]h to address [0FFFF]h of the flush ROM 101 is a boot process program region (program for various initializing processes, and program region necessary for realizing download starting means 108, state holding means 106, and state control means 107), the area from address [10000]h to address [5FFFF]h is a download process program region (of the control software, the program necessary for realizing various functions intrinsic to the product such as digital image and other receiving processing program, and closely related download process program, that is, the program region necessary for realizing the data receiving means 103, program storing means 102, and program acquiring means 104), and the area from address [60000]h to address [FFFFF]h is a non-download process program region (of the control software, the program necessary for realizing various accessory functions for the products not closely related with the download process program such as service program and font data program, and work space). The operation is described below. First, the operator presses a key of the remote control to instruct updating of control software, that is, to instruct download, then the event input means 109 detects the request, and gives a start request to the download starting means 108. Step 1) The download starting means 108 changes the state of the state holding means 106 from the normal state to state 1 in downloading process. The state control means 107, in state 1 of the state holding means 106, sets the data receiving means 103, program acquiring means 104, and program storing means 102. That is, as shown in state 1 in Table 1 and Fig. 4, the download process program (of the present control software) stored in the download process program region is made active, and the program type of the program to be downloaded is set in the temporary download process program exclusive for downloading time (in Fig. 4, the area within thick lines indicates the active download process program, and the area within dotted line shows the program to be downloaded). Consequently, the download starting means 108 starts the program acquiring means 104. The program acquiring means 104 extracts, out of the data packet received in the data receiving means 103, a packet of which packet type shown in Fig. 3 (a) is a program packet and program type is the temporary download process program exclusive for downloading time, and reads the packet into the buffer memory. In succession, the download starting means 108 starts the program storing means 102, which stores only the program main body into the non-download process program region in the flush ROM 101 on the basis of the address information and size information in the packet read into the buffer memory. Step 2) Then, the download starting means 108 changes the state of the state holding means 106 to state 2 in downloading process. The state control means 107 sets the data receiving means 103, program acquiring means 104, and program storing means 102 on the basis of state 2 of the state holding means 106. That is, as shown in state 2 in Table 1 and Fig. 4, the temporary download process program exclusive for downloading time stored in the non-download process program region is made active, and the program type of the program to be downloaded is set in the new download process program (of update control software) for normal time. The download starting means 108 starts the program acquiring means 104. The program acquiring means 104 extracts, out of the data packet received in the data receiving means 103, a packet of which packet type shown in Fig. 3 (b) is a program packet and program type is the new download process program (of update software) for normal time, and reads the packet into the buffer memory. In succession, the download starting means 108 starts the program storing means 102, which stores the program main body read in the buffer memory into the download process program region in the flush ROM 101 on the basis of the address information and size information in the program packet. Step 3) Consequently, the download starting means 108 changes the state of the state holding means 106 to state 3 in downloading process. The state control means 107, in state 3 of the state holding means 106, sets the data receiving means 103, program acquiring means 104, and program storing means 102. That is, as shown in state 3 in Table 1 and Fig. 4, the new download process program (of the update control software) stored in the download process program region at the present moment is made active, and the program type of the program to be downloaded is set in the new non-download process program (of the update control software). Consequently, the download starting means 108 starts the program acquiring means 104. The program acquiring means 104 extracts, out of the data packet received in the data receiving means 103, a packet of which packet type shown in Fig. 3 (c) is a program packet and program type is the new non-download process program (of the update control software), and reads the packet into the buffer memory. In succession, the download starting means 108 starts the program storing means 102, which stores only the program main body into the non-download process program region in the flush ROM 101 on the basis of the address information and size information in the packet read into the buffer memory. When this storing is over, the state held in the state holding means 106 is changed to the normal state, and the update control software is started, so that a series of downloading process is completed. As described herein, in the remote program downloading apparatus in embodiment 1 of the invention, when the download starting means 108 is in state 1, the download process program is started and the temporary download process program is downloaded into the non-download process program region; in the case of state 2, the temporary download process program is started and the new download process program is downloaded into the download process program region; and in the case of state 3, the new download process program is started and the new non-download process program is downloaded. Therefore, the download process program is always present without being spoiled, if a trouble occurs during download, the download starting means 108 can resume the download process program active at the time of occurrence of trouble and continue download process. In the above explanation, the entire program is read in batch from the program acquiring means 104 into its own buffer memory, and stored in the flush ROM by the program storing mans 102, but it may be divided depending on the available vacant memory capacity or other restrictions. The transfer of the state effected by the download starting means 108 is continuous, but it may be also designed to reboot the system when transferring the state. Moreover, the layout of regions on the flush ROM 101 is fixed in the explanation, but it may be also determined dynamically depending on the address information and size information in the transmitted program packet, or by the download process program. Moreover, the state transition executed through the state holding means 106 and the state control effected by the state control means 107 may be also incorporated into the individual download process programs. In this case, at step 2), the boot process program region in Fig. 3 may be also updated. At steps 1) to 3), the program type to be downloaded is selected from the packet of which packet type is a program packet. Further, by adding necessary items in the transmitted program packet, such as the product , version of software to be updated and user, objects of updating may be selected either alone or in combination (including group designation, non-designation), and by processing the downloading for selecting and extracting the packet when any one of the transmitted information such as product information, user information, and version information of the program to be updated, or a specific combination thereof agrees with the present terminal information, and only when different from the present program version information if the version information of the transmission program itself is added, more accurate and flexible updating of the control software is realized. That is, a different control software can be presented for each product, each product group, each version number of software, every plural versions, each specific user group, or each specific individual person. Fig. 5 shows an example of packet adding only version information, Fig. 6 shows an example of packet adding version information and product information in combination, and Fig. 7 shows an example of packet adding version information and user information in combination. Moreover, as shown in the constitution in embodiment 2 in Fig. 8, by always or periodically monitoring the product information, the version information of the software or the user information included in the arriving program packet by automatic updating means 409, the download starting means 408 is started when any one of the transmitted information such as product information, user information, and version information of the program to be updated, or a specific combination thereof agrees with the present terminal information, and only when different from the present program version information if the version information of the transmission program itself is added, and by operating same as in embodiment 1, an automatic downloading apparatus not requiring user's manipulation is realized. Still more, by block inspection of the downloaded program, its validity is inspected, and the presence or absence of abnormal state may be immediately noticed to the sender through a telephone interface 36 in Fig. 1. Alternatively, by transmitting the data of block inspection result in a specific method of the program main body, in the program packet, block inspection in the same method is effected in the downloaded program, and the result is compared with the transmitted data, so that abnormality may be noticed to the sender if disagreeing. Fig. 9 shows an example of packet adding check sum information as an example of block inspection result. Furthermore, by sending back error statistics information or the like depending on the maintenance control packet sent from the sender for action state analysis of the updated control software, it may be used for improvement of the control software at the sender side. The description herein relates to the digital television receiver, but it may be applied also in updating of software stored in the memory of any general information terminal. In the program downloading apparatus of the invention described herein, all the memory region of the control software may be updated arbitrarily. At any moment of updating, since the download process program for receiving data and storing data is always working without any partial loss, it is possible to resume if there is abnormality during data reception. Besides, since the memory is the EEPROM or the like that is not erased if the power is cut off, it is possible to resume if the apparatus power source is interrupted during updating. Moreover, by making use of designation (including group designation, non-designation) of the product, user, or the version of the program to be updated or the transmission program itself, in the program packet, automatic updating is also enabled, and also by efficiently utilizing digital transmission channel, the control software can be updated accurately and with propriety in a small unit, such as product group or user group, or individual product or individual user Also by sending back success or failure of program downloading to the sender, the terminal state can be controlled at the sender side, or by sending back the error statistics to the sender, it may be useful for improvement of the control software at the sender side. Owing to these advantages, the utility is enhanced not only at the information terminals, but also in the entire system, and in particular the utility, reliability and maintainability of digital television system are enhanced, which may contribute greatly to its popularity and expansion of service.

Claims: A remote program downloading method characterized; by first downloading a temporary download process program exclusive for download process in a memory region indifferent to download process by using control software stored in a terminal memory; then downloading the download process program portion of the update control software to be updated by using said exclusive temporary download process program; and finally downloading the program other than the download process program portion of the update control software to be updated by using said download process program of the update control software. A method of operating same as in claim 1 by instructions of an operator. A remote program downloading apparatus comprising: data receiving means (103; 403) for receiving a data packet transmitted from a transmitter of a transmission side system through a digital transmission channel; program acquiring means (104; 404) for interpreting said data packet, and reading the program having a designated program type with its control information such as configuration address information or size information into a buffer memory; program storing means (102; 402) for storing the main body of said program in a memory in an executable format; state holding means (106; 406) for holding the state during download process of the program; state control means (107; 407) for setting said data receiving means, said program acquiring means and said program storing means, according said state; in the case of first state, taking out a temporary download process program exclusive for downloading time and storing it in a specified region of said memory, by using the download process program of control software of the terminal, in the case of second state, taking out a new download process program that is a download process program portion of the update control software to be updated and storing it in a specified region, by using said temporary download program exclusive for downloading time, and in the case of third state, taking out a new non-download process program other than the new down load process program of the update control software to be updated and storing it into a specified region, by using said new download process program, and; download starting means (108; 408) for changing the state held by said state holding means to the first state in downloading process when accepting starting request, starting said program acquiring means, starting said download process program set in said program acquiring means by said state control means, reading the program set by said state control means into the buffer memory, and starting said program storing means, storing said program in the memory, and after the storing process, transferring to the second state if the state of the state setting means is the first state, to the third state if it is the second state, or to the normal state then completing the state of the downloading process if in the third state. The remote program downloading apparatus of claim 3, further comprising event input means (109) for detecting a program download request from the operator through an input device, and giving a start request to said download starting means. The remote program downloading method of claim 1, wherein download processing is done automatically when any one of then information of the program being transmitted which are the product information, user information and version information of the program to be update, or a specific combinations thereof coincides with the present terminal information, and only when different from the present program version information if the version information of the transmission program itself is added. The remote program downloading apparatus of claim 3, further comprising; automatic updating means (409) for starting said program acquiring means always or periodically to acquire program control information, detecting the program download request from the transmission side system when any one of the product information, user information, and version information of the program to be update or a specific combination in the program control information coincides with said one or said combination of the product information of the apparatus, the user information registered and controlled in the user information registration means, and the version in which the version information of the program to be updated is presently stored, and only when different from the version information of the presently stored program if the version information of the transmission program is given and giving a start request automatically to the download starting means. The remote program downloading method of claim 1, wherein the validity of the downloaded program is verified at the end of downloading process, and this result is transmitted to the transmission side system. The remote program downloading apparatus of claim 3, further comprising; verification result transmitting means (30, 36) for verifying the validity of the downloaded program at the end of the downloading process by the download starting means, and transmitting the result of verification to the transmission side system. The remote program downloading method of claim 1, wherein maintenance control from the transmission side system is executed, and this result is transmitted to the transmission side system. The remote program downloading apparatus of claim 3, further comprising; maintenance control means (30, 36) for interpreting the data packet if the data packet received by the data receiving means is a data packet for maintenance control, controlling the maintenance, and transmitting the result to the transmission side system.

Inventors: MAEDA TETSUJI, TANAKA HIROFUMI, YASUTAKE KOICHI, MAEDA, TETSUJI, TANAKA, HIROFUMI, YASUTAKE, KOICHI
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1998
Main classification: G06F9
IPC codes: G06T5, G06F13, G06F9, H04N5