Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
1998-06-04
2001-03-27
Hafiz, Tariq R. (Department: 2762)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S152000
Reexamination Certificate
active
06209127
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a terminal device in a service system using a cable or wireless communication medium, a download method of a loader program in the terminal device, and a storage medium storing the loader program.
2. Description of the Prior Art
In recent years, broadcast service business using cable or wireless communication mediums has received much attention in industry. In particular, digital satellite broadcasting and digital CATV (Community Antenna Television System) have captured much of the spotlight for their huge potential for development.
On the other hand, there is a difficulty in maintenance of terminal devices. The terminal devices referred to here are highly intelligent terminals containing various types of software modules, so that the maintenance of the terminal devices includes bug fixing and specification changes for these software modules.
Usually, bug fixing and specification changes are carried out by upgrading the software modules. However, as more and more households use such terminal devices, it becomes increasingly difficult for a broadcast station to upgrade the software modules.
In order to uniformly upgrade software modules in each terminal device, it is necessary for a host station to transmit the new version of the software modules to each terminal device via a communication medium. If a terminal device is a personal computer-type device equipped with a hard disc device and a file system for accessing areas on the hard disc device in units of directories and files, the software upgrade can be achieved by installation. More specifically, the host station first transmits an installer software module and the new version of software modules to each terminal device. In each terminal device, the installer software module creates a new directory on the hard disc and stores the new version (the new version may instead be stored in a directory which stored the old version).
However, in order to be widely distributed at low cost, standard terminal devices used for broadcast services are generally composed of a microcomputer system type which has neither a hard disc device nor a file system. In the microcomputer system type, software modules are directly stored in a memory such as an EEPROM (Electrically Erasable and Programmable ROM which is capable of electrically erasing and rewriting storage contents). Accordingly, it is impossible to access a software module in units of directories and files when upgrading the software module.
In these terminal devices, the software modules stored in the EEPROM or the like are upgraded by remote download.
In general, download is a process of writing data stored in a secondary storage into a primary storage. In a remote download, the primary storage is a memory in each terminal device and the secondary storage is a hard disc device in the host station.
In the remote download process, the host station transmits data in the secondary storage to each terminal device. Each terminal device analyzes the received data and performs error detection and other processing, before writing it into a free area of the primary storage (here, the free area is an area which is not occupied by other software modules).
The above process in the terminal device is performed by a processor executing a loader program which is stored in the EEPROM of the terminal device.
Here, it is not safe for the terminal device to write the new version of the software module received from the host station directly over the old version. If power to the terminal device is cut off during the overwriting, both the new and old versions in the primary storage will be incomplete and inoperable. Thus, it is necessary to save a backup copy of the old version in case of power disconnection during the overwriting.
In order to backup the old version of a software module, it is necessary to copy all software modules stored in the primary storage of the terminal device for the following reason. When a new software module has a memory size larger than its old version, it will be written into not only an area occupied by its old version but also an area occupied by other software modules. Suppose software modules
1
-
5
which have been written in sequence starting from the first address of the primary storage are to be upgraded. If the new version of software module
1
has a memory size larger than its old version, it will be written not only over its old version but also over software modules
2
and
3
. As a result, software modules
2
and
3
will be erased from the primary storage. If power to the terminal device is cut off at this stage, it may not be possible to restart the terminal device.
In order to avoid malfunctions caused by disruptions to the power supply during the remote download, the following two design constraints are given for conventional microcomputer system-type terminal device.
The first design constraint is that a terminal device should be provided with two memory chips which each have a capacity equal to the total size of software modules stored in the terminal device, one memory chip for backup of old software modules and the other memory chip for writing new software modules. By doing so, even when the power is cut off during the writing of the new software modules, the terminal device can be restarted using the backup copy of the old software modules.
The second design constraint is that the loader program for download is not to be upgraded.
FIG. 1
shows an example of a conventional terminal device constructed in accordance with the above constraints. In the figure, the terminal device includes a main EEPROM
81
as a primary storage which stores software modules containing programs and data, an upgrade EEPROM
82
, a ROM
83
storing a loader program, and a program execution unit
84
for executing the loader program.
When the terminal device is started, the program execution unit
84
executes the programs stored in the main EEPROM
81
in accordance with a boot program stored in a boot ROM. On receiving new software modules from the host station during the program execution, the program execution unit
84
successively stores them into the upgrade EEPROM
82
.
On completing the upgrade, the program execution unit
84
switches to start the new programs stored in the upgrade EEPROM
82
. If, on the other hand, the upgrade fails, the program execution unit
84
starts the programs stored in the main EEPROM
81
again and retries the upgrade.
In order to save backup copies of all software modules, each terminal device must be equipped with EEPROMs which are twice as large as the total size of the software modules. Though this is necessary for ensuring that terminal devices can always be started, it causes increases in the hardware scale and the production cost of each terminal device. The total software size included in a conventional terminal device has to be limited in order to suppress production cost, which means that advanced software functioning must be sacrificed.
Also, an extensive process of exchanging a ROM is necessary for each conventional terminal device when bug fixing and specification changes have to be done on the loader program. In such a case, the broadcast company must send its service personnel to each customer to exchange the ROM without charge. The labor cost resulting from such a service places a tremendous burden on the company.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a terminal device which can execute advanced software without increasing the production cost.
It is another object of the present invention to provide a terminal device in which it is possible to upgrade a loader program.
The above object can be fulfilled by a terminal device that includes: a first memory having n areas which are each given a unique bank address, n being an integer that is no less than 2, wherein each area is composed of an occupied area storing at least one software module and a free area which is used when a data size of the sof
Kakiuchi Takashi
Kino Hisayuki
Maeda Tetsuji
Miyabe Yoshiyuki
Mori Toshiya
Hafiz Tariq R.
Matsushita Electrical Industrial Co., Ltd
Price and Gess
Vo Ted T.
LandOfFree
Terminal device capable of remote download, download method... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Terminal device capable of remote download, download method..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Terminal device capable of remote download, download method... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2526390