JPH1153193A - Remotely downloadable terminal device, downloading method applied to loader program that same terminal device has, and recording medium where same loader program is recorded - Google Patents

Remotely downloadable terminal device, downloading method applied to loader program that same terminal device has, and recording medium where same loader program is recorded

Info

Publication number
JPH1153193A
JPH1153193A JP10154887A JP15488798A JPH1153193A JP H1153193 A JPH1153193 A JP H1153193A JP 10154887 A JP10154887 A JP 10154887A JP 15488798 A JP15488798 A JP 15488798A JP H1153193 A JPH1153193 A JP H1153193A
Authority
JP
Japan
Prior art keywords
divided area
software
stored
loader program
bank
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10154887A
Other languages
Japanese (ja)
Other versions
JP4084461B2 (en
Inventor
Toshiya Mori
俊也 森
Takashi Kakiuchi
隆志 垣内
Tetsuji Maeda
哲司 前田
Hisayuki Kino
久行 喜納
Yoshiyuki Miyabe
義幸 宮部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP15488798A priority Critical patent/JP4084461B2/en
Publication of JPH1153193A publication Critical patent/JPH1153193A/en
Application granted granted Critical
Publication of JP4084461B2 publication Critical patent/JP4084461B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To enrich a software group without any increase in production cost by dividing a memory for software storage into areas and performing revision by the divided areas. SOLUTION: In respective banks of a program group storage part 5, software modules are decentralized and stored. Here, the respective banks are EEPROMs 51 to 54 and have free areas at their end parts. Thus, the software group is stored in the banks and revised, bank by bank. Therefore, a RAM used as a buffer for downloading bank data needs to have only one bank and hardware which can withstand abnormality occurrence during the revision is reduced in scale. Further, master and back-up loader programs are arranged in two banks, so when one loader program is started, the loader program itself can be revised.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、有線、無線の通信
媒体を用いたサービスシステムに用いられる端末装置、
その端末装置が備えるローダプログラムに適用されるダ
ウンロード方法、そのローダプログラムを記録した記録
媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a terminal device used in a service system using a wired or wireless communication medium,
The present invention relates to a download method applied to a loader program provided in the terminal device, and a recording medium recording the loader program.

【0002】[0002]

【従来の技術】有線、無線の通信媒体を用いた放送サー
ビス事業は、近年産業界の熱い注目を浴びている。中で
もデジタル衛星放送、デジタルCATVの注目度は群を抜い
ており、今後の様々な事業展開が期待される。このよう
な現状の一方、サービス事業の主催者を悩ませるのは
『端末装置のメンテナンス』である。ここでいう端末装
置は、様々なソフトウェアを実装することにより、高度
にインテリジェント化されたものであり、これのメンテ
ナンスとは、これらソフトウェアのバグ修正や仕様変更
等を行うことをいう。バグ修正や仕様変更は、ソフトウ
ェアのバージョンアップによりなされるのが通常である
が、端末装置が多くの家庭に普及する程そのバージョン
アップが困難になることはいうまでもない。
2. Description of the Related Art In recent years, a broadcasting service business using a wired or wireless communication medium has received a lot of attention from the industrial world. Among them, digital satellite broadcasting and digital CATV have attracted much attention, and various business developments are expected in the future. On the other hand, it is "maintenance of the terminal device" that bothers the organizer of the service business. The terminal device referred to here is highly intelligent by implementing various software, and the maintenance of the terminal device means performing bug correction or specification change of the software. Bug fixes and specification changes are usually made by software version upgrades, but it goes without saying that version upgrades become more difficult as terminal devices become more popular.

【0003】多くの家庭に普及した端末装置を一律にバ
ージョンアップするには、通信媒体を介してホスト局が
最新バージョンのソフトウェアモジュールを送信し、こ
れを端末装置に受信させて利用させればよい。端末装置
がパーソナルコンピュータタイプであり、ハードディス
ク装置と、ハードディスク装置上の領域をディレクトリ
単位、ファイル単位でアクセスするファイルシステムと
を備えている場合、いわゆるインストール処理によりバ
ージョンアップは実現される。具体的にいうと、先ずホ
スト局は最新バージョンのソフトウェアと、これをイン
ストールするためのインストーラソフトとを送信する。
端末装置がこれらの最新バージョンとインストーラとを
受信すると、インストーラソフトは、上記ハードディス
ク装置に新規ディレクトリを作成し、作成したディレク
トリに最新バージョンを格納する(ここで旧バージョン
のソフトウェアモジュールが格納されていたディレクト
リに最新バージョンが格納される場合もある。)。
In order to uniformly upgrade a terminal device that has become widespread in many homes, a host station may transmit the latest version of a software module via a communication medium, and the terminal device may receive and use the latest software module. . When the terminal device is a personal computer type and includes a hard disk device and a file system for accessing an area on the hard disk device in directory units and file units, version upgrade is realized by so-called installation processing. Specifically, first, the host station transmits the latest version of software and installer software for installing the latest version.
When the terminal device receives the latest version and the installer, the installer software creates a new directory on the hard disk device and stores the latest version in the created directory (where the software module of the old version was stored. The latest version may be stored in the directory.)

【0004】ここで留意せねばならないのは、上記のよ
うな放送サービス事業において用いられる端末装置は、
多くの家庭に低価格で提供されることを念頭においてい
るため、EEPROM等にソフトウェアモジュールを直接格納
して利用しているタイプ、いわゆるマイコンシステムタ
イプに構成されることが一般的であり、ファイルシステ
ムはおろか、ハードディスク装置すら備えていない(こ
こでEEPROMの『EEP』とは、electrically erasable a
nd programmable の略であり、記憶内容の電気的な消
去と、記憶内容の再書き込みとが可能なROMであ
る。)。そのため、バージョンアップを行う場合にファ
イル単位、ディレクトリ単位にソフトウェアモジュール
をアクセスすることは不可能である。
[0004] It should be noted here that the terminal devices used in the broadcasting service business as described above are:
Because it is intended to be provided to many homes at low prices, it is common to use a so-called microcomputer system type in which software modules are directly stored and used in EEPROM or the like. Needless to say, it does not even have a hard disk drive (here, "EEP" in EEPROM means electrically erasable a
Abbreviation for nd programmable, a ROM that can electrically erase stored contents and rewrite stored contents. ). Therefore, it is impossible to access the software module in file units or directory units when upgrading.

【0005】ではどのようにソフトウェアモジュールを
バージョンアップするかというと、端末装置において直
接EEPROM等に格納されているソフトウェアモジュールに
対して、いわゆるリモートダウンロードを行うのであ
る。一般にダウンロードとは、二次記憶に記憶されてい
るデータのうち一部のものを取り出して一次記憶の内部
領域に書き込む処理をいい、リモートダウンロードと
は、端末装置内に備えられたメモリデバイスを一次記憶
と想定し、通信サービスのホスト局内に設置されたハー
ドディスク装置等を二次記憶と想定したダウンロードを
いう。リモートダウンロードを実現するにあたってホス
ト局は、二次記憶に記憶されているデータのうち、一部
のものを読み出して端末装置へと送信する。端末装置
は、これを受信してこれに含まれているプログラム及び
データの解析を行い、誤り検出処理等を行った後に一次
記憶内の空き領域に書き込んでゆく(ここでいう空き領
域とは、一次記憶内の領域のうち、既にソフトウェアモ
ジュールにより占有されている領域以外をいう。)。
In order to upgrade the software module, what is called a remote download is directly performed on the software module stored in the EEPROM or the like in the terminal device. Generally, downloading refers to a process of extracting a part of data stored in a secondary storage and writing the data to an internal area of a primary storage, and remote downloading refers to a process in which a memory device provided in a terminal device is primarily stored. This is a download in which a hard disk device or the like installed in a communication service host station is assumed to be secondary storage, assuming storage. In realizing the remote download, the host station reads a part of the data stored in the secondary storage and transmits it to the terminal device. The terminal device receives the data, analyzes the program and data included in the data, performs error detection processing and the like, and writes the data in the free space in the primary storage (the free space referred to here is A region other than the region already occupied by the software module among the regions in the primary storage.)

【0006】端末装置における以上の処理は、端末装置
内に実装されているプロセッサが、端末装置内部のEEPR
OMに記録されたローダプログラムの手順を実行すること
によりなされる。原則としてリモートダウンロードは、
端末装置内のプロセッサがローダプログラムに従って、
以上の処理を行えば良いのであるが、受信した最新バー
ジョンのソフトウェアモジュールを旧バージョン上に直
接書き込むのは余りにも危険である。何故なら、最新バ
ージョンを上書きしている途中に端末装置の電源が断た
れると、一次記憶における新バージョンアップと旧バー
ジョンアップとが双方とも不完全な状態となり、その何
れもが事実上稼動不能となるからである。このように最
新バージョンの上書き途中での電源断に備えるべく、旧
バージョンのバックアップを確保しておくことは必要不
可欠となる。
[0006] The above processing in the terminal device is performed by the processor mounted in the terminal device by the EEPROM in the terminal device.
This is performed by executing the procedure of the loader program recorded in the OM. In principle, remote download is
The processor in the terminal device according to the loader program,
Although the above processing may be performed, it is too dangerous to write the received latest version of the software module directly on the old version. Because if the power of the terminal device is cut off while overwriting the latest version, both the new version upgrade and the old version upgrade in the primary storage will be incomplete, and neither of them will be practically inoperable This is because In this way, it is indispensable to secure a backup of the old version in order to prepare for a power failure during the overwriting of the latest version.

【0007】では、旧バージョンソフトウェアモジュー
ルについてバックアップはどれだけ必要であるかである
が、旧バージョンソフトウェアモジュールのバックアッ
プは、原則として、端末装置の一次記憶に格納されてい
る全てのソフトウェアモジュールについて必要とされ
る。その理由は、最新バージョンのメモリサイズと、旧
バージョンのメモリサイズに差違が発生した場合、端末
装置は既に書き込まれている他のソフトウェアモジュー
ルの旧バージョンの占有領域を余計に上書きしてしまう
からである。例えば端末装置の一次記憶において先頭ア
ドレスから順にソフトウェアモジュールの旧バージョン
#1,#2,#3,#4,#5が書き込まれており、これらのソフトウ
ェアモジュールの最新バージョンをこの一次記憶に上書
きしようとしているものとする。ここでソフトウェアモ
ジュール#1の最新バージョンのメモリサイズが、その旧
バージョンのメモリサイズを大きく上回っている場合、
旧バージョンのソフトウェアモジュール#1の占有領域は
おろか、ソフトウェアモジュール#1に続いて記録されて
いるソフトウェアモジュール#2,#3の旧バージョンの占
有領域さえも上書きしてしまう。このようにソフトウェ
アモジュール#2,#3の占有領域が上書きされた状態で、
電源断等の異常が発生すれば、ソフトウェアモジュール
#2,#3の一部は上書きにより一次記憶上に現存しないの
で、次回の端末装置の起動が行えない場合が発生し得
る。
[0007] In the above, how much backup is required for the old version software module is required. In principle, backup of the old version software module is necessary for all software modules stored in the primary storage of the terminal device. Is done. The reason is that if there is a difference between the memory size of the latest version and the memory size of the old version, the terminal device will overwrite the occupied area of the old version of another software module already written. is there. For example, old versions of software modules in the primary storage of the terminal device in order from the top address
Assume that # 1, # 2, # 3, # 4, and # 5 have been written, and that the latest versions of these software modules are to be overwritten on the primary storage. Here, if the memory size of the latest version of software module # 1 is significantly larger than the memory size of the old version,
Not only the occupied area of the software module # 1 of the old version but also the occupied area of the old version of the software modules # 2 and # 3 recorded after the software module # 1 is overwritten. With the occupied areas of software modules # 2 and # 3 overwritten in this way,
If an error such as a power failure occurs, the software module
Since some of # 2 and # 3 do not exist in the primary storage due to overwriting, it may happen that the terminal cannot be started next time.

【0008】リモートダウンロードの途中で端末装置の
電源が断たれた場合でも、端末装置の起動を完全に行う
ため、マイコンシステムタイプの端末装置には以下の二
点の設計制約が与られてきた。第1の設計制約とは、端
末装置に実装されるソフトウェアモジュール群の総サイ
ズの二倍の規模のメモリチップを実装して、一方を旧バ
ージョンアップのソフトウェアモジュール群のバックア
ップに用い、他方を新バージョンのソフトウェアモジュ
ール群のメモリライトに用いることである。即ち、新バ
ージョンのソフトウェアの格納時に電源断が発生して
も、旧バージョンのソフトウェアにより端末装置が起動
できるようにしておくのである。
[0008] Even if the power of the terminal device is cut off during the remote download, the following two design restrictions have been imposed on the microcomputer system type terminal device in order to completely start the terminal device. The first design constraint is that a memory chip having a size twice as large as the total size of the software modules mounted on the terminal device is mounted, and one is used as a backup for the software modules of the old version upgrade, and the other is used as a backup It is used for memory write of a software module group of a version. That is, even if a power failure occurs when storing a new version of software, the terminal device can be started by the old version of software.

【0009】第2の設計制約とは、ソフトウェアのうち
ダウンロード用のローダプログラムはバージョンアップ
の対象としない、即ち、ローダプログラムをダウンロー
ドの対象外とすることをいう。これらの設計制約を遵守
して作成された従来の端末装置の一例を図19に示す。
本端末装置はプログラムやデータからなるソフトウェア
を格納し、一次記憶として用いられるメインEEPROM81
と、バージョンアップ用のEEPROM82と、ローダプログ
ラムを格納したROM83と、ローダプログラムを実行
するプログラム実行部84とから構成される。本装置を
起動すると、プログラム実行部84はブートROMに格
納されたブートプログラムに従って、メインEEPROM81
に格納されたプログラムを実行する。プログラムの実行
中、放送によりソフトウェアモジュール群の最新バージ
ョンが転送されると、ローダプログラムは転送された最
新バージョンのソフトウェアをバージョンアップ用のEE
PROM82に順次格納する。
The second design constraint means that the download loader program in the software is not to be upgraded, that is, the loader program is not to be downloaded. FIG. 19 shows an example of a conventional terminal device created in compliance with these design constraints.
This terminal device stores software consisting of programs and data, and a main EEPROM 81 used as primary storage.
, An upgrade EEPROM 82, a ROM 83 storing a loader program, and a program execution unit 84 for executing the loader program. When the apparatus is started, the program execution unit 84 executes the main EEPROM 81 according to the boot program stored in the boot ROM.
Execute the program stored in. During the execution of the program, if the latest version of the software module group is transmitted by broadcasting, the loader program updates the transmitted latest version of the software to the EE for version upgrade.
The data is sequentially stored in the PROM 82.

【0010】バージョンアップが正常終了すれば、バー
ジョンアップ用のEEPROM82に格納された最新バージョ
ンのプログラムを起動するよう切り換え処理を行う。バ
ージョンアップが異常終了すれば、メインEEPROM81に
格納されたプログラムを再度起動し、バージョンアップ
を再試行する。
When the version upgrade ends normally, a switching process is performed to activate the latest version of the program stored in the version upgrade EEPROM 82. If the version upgrade ends abnormally, the program stored in the main EEPROM 81 is restarted and the version upgrade is retried.

【0011】[0011]

【発明が解決しようとする課題】ところで上記従来の端
末装置は現在使用しているバージョンのプログラムをそ
のままEEPROMにバックアップしておくため、アプリケ−
ションプログラムの総データサイズの二倍のEEPROMを実
装せねばならない。これは『端末装置の起動保証』を満
たすためやむをえないことだが、その代償として端末一
台当たりのハードウェア規模が大きくなり生産コストが
増大してしまう。この従来構成において生産コストを安
くするためには、どうしても総ソフトウェアサイズを低
減せざるを得ず、生産コスト増大という障壁により端末
装置におけるソフトウェアの充実化が阻まれてしまう。
In the conventional terminal device, since the program of the currently used version is backed up in the EEPROM as it is, an application program is used.
An EEPROM that is twice the total data size of the application program must be implemented. This is unavoidable in order to satisfy the “guarantee of terminal device startup”, but at the cost of increasing the hardware scale per terminal and increasing the production cost. In order to reduce the production cost in this conventional configuration, the total software size must be reduced, and the enrichment of the software in the terminal device is hindered by the increase in the production cost.

【0012】更に従来の端末装置はローダプログラムの
バグ修正、仕様変更の必要性が生じた場合、大掛かりな
ROM交換を実施せねばならない。即ち、放送サービス
を運営する放送会社は、放送サービスに加盟している家
庭にサービスマンを派遣し、無償でROM交換を行うの
である。しかしこのようなROM交換は、サービス事業
の主催者に多大な人件費の負担を強いるものであり、放
送サービスの運営基盤を揺るがしかねない事態を招いて
しまう。本発明の第1の目的は、、生産コストの増大を
伴わずにソフトウェア群の充実化を図ることができる端
末装置を提供することである。
Further, in the conventional terminal device, when a bug of the loader program needs to be corrected or the specification needs to be changed, a large-scale ROM replacement must be performed. In other words, a broadcasting company that operates a broadcasting service dispatches a serviceman to a home that is a member of the broadcasting service and exchanges ROMs free of charge. However, such ROM replacement imposes a large labor burden on the service business organizer, and may cause a situation in which the operating base of the broadcast service may be shaken. A first object of the present invention is to provide a terminal device capable of enriching a software group without increasing production cost.

【0013】第2の目的は、タブー視されていたローダ
プログラムのバージョンアップをも可能とする端末装置
を提供することである。
A second object of the present invention is to provide a terminal device capable of upgrading the version of a loader program viewed as a taboo.

【0014】[0014]

【課題を解決するための手段】上記第1、第2の目的を
達成するため本発明は、端末装置であって、固有のバン
クアドレスが割り当てられたn個(nは2以上の整数)の分
割領域を有しており、各分割領域に1以上のソフトウェ
アモジュールが配置された配置済み領域と、バージョン
アップ時におけるソフトウェアモジュールのデータサイ
ズの増加分を見込んだ空き領域とを設けた第1メモリ
と、前記n個の分割領域のうち、一つのものと同じメモ
リ容量を有する第2メモリと、分割領域の何れかに配置
されている1以上のソフトウェアモジュールの最新バー
ジョンを格納したコンテンツ部と、ソフトウェアモジュ
ールの格納先を示す格納先バンクアドレスを格納したヘ
ッダ部とからなる送信データがホスト局から送信される
と、これを受信する受信手段と、受信した送信データの
ヘッダ部を分離して、コンテンツ部に含まれている最新
バージョンソフトウェアモジュールを第2メモリに蓄積
する分離手段と、分離されたヘッダ部からコンテンツ部
の格納先を示す格納先バンクアドレスを検出する検出手
段と、第2メモリに蓄積されたコンテンツ部から最新バ
ージョンのソフトウェアモジュールを順次読み出して、
検出された格納先バンクアドレスが割り当てられた分割
領域に配置する配置手段とを備えることを特徴としてい
る。
In order to achieve the first and second objects, the present invention relates to a terminal device, comprising n (n is an integer of 2 or more) to which a unique bank address is assigned. A first memory having a divided area, in which an arranged area in which one or more software modules are arranged in each divided area, and a free area in which an increase in the data size of the software module at the time of version upgrade is provided A second memory having the same memory capacity as one of the n divided areas, and a content section storing the latest version of one or more software modules arranged in any of the divided areas; When transmission data including a header section storing a storage destination bank address indicating a storage destination of the software module is transmitted from the host station, the reception section receives the transmission data. And a separating unit that separates a header portion of the received transmission data and stores the latest version software module included in the content portion in the second memory, and indicates a storage destination of the content portion from the separated header portion. Detecting means for detecting the storage destination bank address; and sequentially reading out the latest version of the software module from the content section stored in the second memory,
Arranging means for arranging in the divided area to which the detected storage destination bank address is assigned.

【0015】[0015]

【発明の実施の形態】以下、図面を参照しながら端末装
置の実施形態について説明する。端末装置は、放送サー
ビスAに加盟した家庭に設置される端末である。放送サ
ービスAでは、名作映画,人気ドラマ,スポーツ,教養等様
々なジャンルのTV番組が衛星を介して放送される。放
送サービスAによるTV番組は地上波を用いたものと比
べて多チャンネル且つ高画質であり、端末装置10はこ
れらの番組をTV受像機に表示させるためのチューナ、デ
コーダを備えている。これらのチューナ、デコーダの他
に端末装置10は様々なインテリジェント機能を実現し
ている点は注目に値する。そのインテリジェント機能に
は、週刊,月刊の放送予定表(一般にElectoric Program
Guide(EPG)と呼ばれる。)の表示、視聴料金の課金、ヘ
ッドラインニュースの表示、オンラインクイズ、テレビ
ショッピング、ゲーム、カラオケ等があり、操作者との
対話性を重視した構成になっている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of a terminal device will be described with reference to the drawings. The terminal device is a terminal installed in a home that has joined the broadcast service A. In the broadcasting service A, TV programs of various genres, such as masterpiece movies, popular dramas, sports, and culture, are broadcast via satellites. The TV programs provided by the broadcasting service A have more channels and higher image quality than those using terrestrial waves, and the terminal device 10 includes a tuner and a decoder for displaying these programs on a TV receiver. It is noteworthy that the terminal device 10 realizes various intelligent functions in addition to these tuners and decoders. Its intelligent features include weekly and monthly broadcast schedules (generally Electoric Program
It is called Guide (EPG). ), Billing of viewing fee, display of headline news, online quiz, TV shopping, games, karaoke, etc., and the configuration emphasizes the interactivity with the operator.

【0016】端末装置10の構成を図1に示す。図1に
示すように端末装置10はCSチューナ1、TSデコーダ
2、AVデコーダ3、ダウンロード用RAM4、プログラム
群格納部5、プロセッサ6、ブートROM7により構成さ
れる。本装置は、家庭内に設置され、TV受像機、ビデ
オデッキに接続されて用いられる。CSチューナ1は、π
/4QPSK(Quadrature Phase Shift Keying)変調方
式の放送波をCSアンテナが受信すると、これを復調し、
MPEG2に規定されたトランスポートパケットを得てTSデ
コーダ2に出力する。TSデコーダ2は、CSチューナ1が
出力したトランスポートパケットを四系統のエレメンタ
リストリームに分離する。四系統のエレメンタリストリ
ームとは、ビデオストリーム、オーディオストリーム、
PCRストリーム、プライベートストリームであり、この
うちビデオストリーム、オーディオストリーム、PCRス
トリームをAVデコーダ3に出力し、プライベートストリ
ームをダウンロード用RAM4に格納する。ビデオストリ
ーム、オーディオストリーム、PCRストリームは、TV番
組を構成するものであり、プライベートストリームは、
インテリジェント機能のメンテナンスのために用いられ
る。
FIG. 1 shows the configuration of the terminal device 10. As shown in FIG. 1, the terminal device 10 includes a CS tuner 1, a TS decoder 2, an AV decoder 3, a download RAM 4, a program group storage 5, a processor 6, and a boot ROM 7. This apparatus is installed in a home and used by being connected to a TV receiver and a VCR. CS tuner 1 is π
When the CS antenna receives a broadcast wave of / 4QPSK (Quadrature Phase Shift Keying) modulation, it demodulates it and
The transport packet specified in MPEG2 is obtained and output to the TS decoder 2. The TS decoder 2 separates the transport packet output by the CS tuner 1 into four elementary streams. The four elementary streams are video streams, audio streams,
The video stream, the audio stream, and the PCR stream are output to the AV decoder 3, and the private stream is stored in the download RAM 4. The video stream, audio stream, and PCR stream constitute a TV program.
Used for maintenance of intelligent functions.

【0017】四系統のエレメンタリストリームの構成を
図2(a)に示す。ビデオストリームは、PID(パケッ
ト識別子(Packet IDentification)の略語であ
る。)、ビデオデータ、CRC(巡回冗長符号の略語であ
る。)からなり、オーディオストリームは、PID、オーデ
ィオデータ、CRCからなる。PCR(Program Clock Refer
ence:プログラム時刻基準参照値)ストリームは、PID、P
CRデータ、CRCからなり、プライベートストリームは、P
ID、プログラムヘッダ(図中のPrgHeaderのことを意味
する。)、バンクデータ、CRCからなる。PIDは、TSデコ
ーダ2がエレメンタリストリームを分離する際、分離す
べきエレメンタリストリームをAVデコーダ3、ダウンロ
ード用RAM4の何れに出力するかを判定する際に用いら
れる。
FIG. 2A shows the structure of the four elementary streams. The video stream is composed of PID (abbreviation of Packet IDentification), video data, and CRC (abbreviation of cyclic redundancy code), and the audio stream is composed of PID, audio data, and CRC. PCR (Program Clock Refer
stream: PID, P
It consists of CR data and CRC, and the private stream is P
It consists of ID, program header (means PrgHeader in the figure), bank data, and CRC. The PID is used when the TS decoder 2 separates an elementary stream to determine which of the AV decoder 3 and the download RAM 4 outputs the elementary stream to be separated.

【0018】バンクデータとは、放送サービスの放送局
側が送信したソフトウェア群であって、一バンクのメモ
リにまとめて格納することを求めているものをいう。本
実施形態においてバンクとは、端末装置が実装している
メモリのうち、ひとまとまりの分割領域を意味する。プ
ログラムヘッダとは、バンクデータと共にプライベート
ストリームとして送信される情報でありその一例を図2
(b)に示す。図中の『プログラム名』は、そのバンク
データの名称を示し、『データサイズ』は、バンクデー
タがどの程度のデータサイズを有するかを示し、『バン
クナンバー』はバンクデータの格納先となるバンクアド
レスを示す。『バージョン情報』は当該バンクデータが
作成された日時、或は、最後に更新された日を示す。
The bank data is a group of software transmitted by the broadcasting station side of the broadcasting service, which is required to be collectively stored in a memory of one bank. In the present embodiment, a bank refers to a set of divided areas in a memory mounted on a terminal device. The program header is information transmitted as a private stream together with the bank data.
(B). In the figure, "program name" indicates the name of the bank data, "data size" indicates the data size of the bank data, and "bank number" indicates the bank where the bank data is stored. Indicates an address. "Version information" indicates the date and time when the bank data was created or the date when the bank data was last updated.

【0019】AVデコーダ3は、PCRストリームに従っ
て、ビデオストリーム及びオーディオストリームを映像
信号に復号し、テレビに出力する。ダウンロード用RAM
4は、SIMMタイプのDRAM又はEEPROMであり、TSデコーダ
2が分離したプライベートストリームを格納する。プロ
グラム群格納部5は、n個のバンクからなり、各バンク
に複数のソフトウェアモジュールを分散して格納してい
る(図1では、n=4であり、第1バンク、第2バン
ク、第3バンク、第4バンクからなる。)。各バンクは
複数のEEPROMのチップ51〜54(以降、EEPROM51〜EEPR
OM54と呼ぶ。)であり、その格納容量はダウンロード
用RAM4とほぼ同規模である。プログラム群格納部5に
より記憶されるソフトウェアモジュールとは、データ、
プログラム等の複数種別のソフトウェアを一律にモジュ
ール化したものをいう。
The AV decoder 3 decodes a video stream and an audio stream into a video signal according to the PCR stream, and outputs the video signal to a television. Download RAM
Reference numeral 4 denotes a SIMM type DRAM or EEPROM, which stores a private stream separated by the TS decoder 2. The program group storage unit 5 is composed of n banks, and a plurality of software modules are distributed and stored in each bank (in FIG. 1, n = 4, the first bank, the second bank, and the third bank). And a fourth bank). Each bank has a plurality of EEPROM chips 51-54 (hereinafter referred to as EEPROM 51-EEPR
Called OM54. ), And the storage capacity is almost the same as that of the download RAM 4. The software modules stored by the program group storage unit 5 include data,
This refers to the uniform modularization of multiple types of software such as programs.

【0020】これらのEEPROM51〜EEPROM54は共に、
共通の第2バス9に接続されている。EEPROM51〜EEPR
OM54の内部領域は、論理アドレスが割り当てられるこ
とにより、プロセッサ6によりダイレクトにアクセスさ
れる。また各バンクには固有のバンクアドレスが割り当
てられおり、上記の論理アドレスは、バンクアドレス
と、各バンクの内部領域を指示するオフセットアドレス
との組みによって表現される。図4は、EEPROM51〜EE
PROM54のメモリイメージを示す図である。本図におい
て論理アドレス000000から論理アドレス0FFFFFまではバ
ンクアドレス=01にてアクセスされ、論理アドレス10000
0から論理アドレス1FFFFFまではバンクアドレス=02にて
アクセスされる。
These EEPROMs 51 to 54 are
It is connected to a common second bus 9. EEPROM 51-EEPR
The internal area of the OM 54 is directly accessed by the processor 6 by assigning a logical address. Each bank is assigned a unique bank address, and the logical address is represented by a combination of a bank address and an offset address indicating an internal area of each bank. FIG. 4 shows EEPROMs 51 to EE
FIG. 3 is a diagram showing a memory image of a PROM 54. In this figure, logical address 000000 to logical address 0FFFFF are accessed with bank address = 01, and logical address 10000
Access from 0 to the logical address 1FFFFF is made at the bank address = 02.

【0021】バンク1には、ソフトウェアモジュール#1
〜#10が格納されており、バンク2には、先頭部から順
にソフトウェアモジュール#11〜#20が格納されている。
これらのソフトウェアモジュールは、バンクの終端部が
空き領域になるように、バンクの先頭から順に格納され
ている。バンク終端部が空き領域になるように格納して
いるのは、バージョンアップをバンク毎に行うためであ
る。例えばバンク1において格納されているソフトウェ
アモジュールを最新バージョンにバージョンアップしよ
うとしているものとする。ここでソフトウェアモジュー
ル#1〜#10の最新バージョンのメモリサイズが、その旧
バージョンのメモリサイズを大きく上回っている場合、
旧バージョンのソフトウェアモジュール#1〜#10の占有
領域を上書きしてしまうが、バンク1の終端部に空き領
域が存在するため、バンク2におけるソフトウェアモジ
ュール#11〜#20の占有領域までも上書きしてしまうこと
はない。
Bank 1 contains software module # 1
To # 10, and software modules # 11 to # 20 are stored in the bank 2 in order from the head.
These software modules are stored in order from the top of the bank so that the end of the bank becomes an empty area. The reason that the bank end portion is stored so as to be an empty area is to upgrade the version for each bank. For example, it is assumed that the software module stored in the bank 1 is going to be upgraded to the latest version. Here, if the memory size of the latest version of software modules # 1 to # 10 is significantly larger than the memory size of the old version,
Although the occupied area of the software modules # 1 to # 10 of the old version is overwritten, the occupied area of the software modules # 11 to # 20 in the bank 2 is also overwritten because there is an empty area at the end of the bank 1. It won't.

【0022】このようにEEPROM51〜EEPROM54は、終
端部に空き領域を配しているため、後続する論理アドレ
スに位置するバンクに格納されているソフトウェアモジ
ュールの占有領域を上書きすることなく、自身が格納し
ているソフトウェアモジュールを最新バージョンに上書
きすることができる。図3(a)は、ソフトウェアモジ
ュールのフォーマットの一例である。ソフトウェアモジ
ュールは、モジュールヘッダと、ソフトウェア実体部
と、CRCとからなる。モジュールヘッダの一例を図3
(b)に示す。モジュールヘッダは『プログラム名』
『プログラムサイズ』『バンクナンバー』『バージョン
情報』とからなる。『プログラム名』は当該ソフトウェ
アモジュールは放送局側によりどのような名称が命名さ
れているかを示し、『プログラムサイズ』は当該ソフト
ウェアモジュールがどの程度のデータサイズを有するか
を示す。『バンクナンバー』は当該ソフトウェアモジュ
ールが格納されるバンクのバンクアドレスを示し、『バ
ージョン情報』は当該バンクデータが作成された日時、
或は、最後に更新された日を示す。
As described above, since the EEPROMs 51 to 54 have an empty area at the end thereof, the EEPROMs 51 to 54 do not overwrite the occupied area of the software module stored in the bank located at the succeeding logical address, and store the software module itself. You can overwrite the software module you are using with the latest version. FIG. 3A shows an example of the format of the software module. A software module includes a module header, a software entity, and a CRC. Figure 3 shows an example of a module header
(B). Module header is "Program name"
It consists of "program size", "bank number", and "version information". The "program name" indicates what name the software module is named by the broadcasting station, and the "program size" indicates how much data size the software module has. “Bank number” indicates the bank address of the bank in which the software module is stored, “version information” indicates the date and time when the bank data was created,
Alternatively, it indicates the date of last update.

【0023】本図におけるソフトウェアモジュールは、
何れも『リロケータブル』いう性質を有する点で共通し
ている。『リロケータブル』とは、『メモリ空間のどの
領域に配されても動作可能』という意味である。ソフト
ウェアモジュールが『リロケータブル』であるのは、放
送サービスの主催者がプログラム群格納部5における各
ソフトウェアモジュールの配置を動的に変化させること
を望んでいるからである(尚、上述したバンクデータ
は、一バンクに格納すべき複数のソフトウェアモジュー
ルからなる。即ち、図3(a)のフォーマットを有する
ソフトウェアモジュールが複数配されてなる。)。
The software modules in FIG.
They are common in that they have the property of “relocatable”. “Relocatable” means “operable in any area of the memory space”. The reason why the software module is “relocatable” is that the organizer of the broadcasting service desires to dynamically change the arrangement of each software module in the program group storage unit 5 (note that the above-described bank data is , A plurality of software modules to be stored in one bank, that is, a plurality of software modules having the format shown in FIG.

【0024】ソフトウェアモジュールは、オペレーティ
ングシステムを構成するものと、アプリケ−ションプロ
グラムとに大別される。これは端末装置10は、『オペ
レーティングシステムを基盤にして各種アプリケ−ショ
ンプログラムを動作させる』という汎用コンピュ−タに
見受けられるソフトウェアの管理構造を備えていること
を意味する。図5は、プログラム群格納部5に配置され
ている複数のソフトウェアモジュールがどのような内容
であるかを示す説明図である。図5に示すように、プロ
グラム群格納部5には、フォントデータ、ビットマップ
データ、グラフィックデータ等様々な種類のソフトウェ
アモジュールが格納されている。本図のソフトウェアモ
ジュールのうち、オペレーティングシステムの構成要素
の代表的なソフトウェアモジュールは、カーネル11、
ローダプログラム12、ローダプログラム22である。
Software modules are broadly divided into those constituting an operating system and application programs. This means that the terminal device 10 has a software management structure found on general-purpose computers, such as "run various application programs based on an operating system". FIG. 5 is an explanatory diagram showing what the contents of a plurality of software modules arranged in the program group storage unit 5 are. As shown in FIG. 5, the program group storage unit 5 stores various types of software modules such as font data, bitmap data, and graphic data. Among the software modules in the figure, the representative software modules of the components of the operating system are kernel 11,
The loader program 12 and the loader program 22.

【0025】カーネル11は、端末装置10のインテリ
ジョント機能のうち、基盤的な処理を行う。基盤的な処
理には、電源投入直後の各ソフトウェアモジュールの正
常判定、ローダプログラムの起動がある。ローダプログ
ラム12は、マスターのローダプログラムであり第1バ
ンクに格納されている(図5上では、"マスター"を原本
と表記している。以降の図でも"マスター"の表記に
は、"原本"を用いる。)。本実施形態におけるローダプ
ログラムはプログラム群格納部5に格納されているソフ
トウェアモジュールのうち、アプリケ−ションプログラ
ムに分類されるものを起動するための処理を行う。それ
と共に、プログラム群格納部5に格納されているバンク
データをバージョンアップするためのダウンロード処理
を行う。
The kernel 11 performs basic processing among the intelligent functions of the terminal device 10. Fundamental processing includes normality determination of each software module immediately after power-on, and activation of a loader program. The loader program 12 is a master loader program and is stored in the first bank (in FIG. 5, "master" is described as an original. In the following drawings, "master" is also used as an "original"). "Is used.) The loader program according to the present embodiment performs processing for activating software modules stored in the program group storage unit 5 that are classified as application programs. At the same time, download processing for upgrading the bank data stored in the program group storage unit 5 is performed.

【0026】ローダプログラム12により行われるダウ
ンロード処理の代表的なものには、誤り検出処理、フラ
グメンテーションの解消処理等がある。誤り検出処理と
は、受信したプライベートストリームのバンクデータに
ビット化け等が発生している場合、CRC等を用いてこれ
を検出する処理をいう。もしこの検出処理により、正常
なバンクデータであることが判明すれば、このバンクデ
ータをその格納先のバンクに格納するが、誤りが検出さ
れれば、このバンクデータの再取得を行う。ここでデジ
タル衛星放送の放送局が所定の周期でプライベートスト
リームを送信している場合、ローダプログラム12はそ
の周期を待って、プライベートストリームを再取得し、
再度誤り検出を試みる。
Typical download processing performed by the loader program 12 includes error detection processing, fragmentation elimination processing, and the like. The error detection process refers to a process for detecting, when a garbled bit or the like occurs in the bank data of the received private stream, using a CRC or the like. If it is determined by this detection processing that the bank data is normal, the bank data is stored in the storage destination bank. If an error is detected, the bank data is reacquired. Here, when the broadcasting station of the digital satellite broadcast transmits the private stream at a predetermined cycle, the loader program 12 waits for the cycle and reacquires the private stream,
Attempt error detection again.

【0027】フラグメンテーション解消処理とは、最新
バージョンのソフトウェアモジュールのメモリサイズが
旧バージョンのソフトウェアモジュールのメモリサイズ
を大きく上回ったために、旧バージョンのソフトウェア
モジュールが占有していたメモリ領域に最新バージョン
のソフトウェアモジュールを上書きできない場合に、既
にメモリに書き込まれているソフトウェアモジュールを
前後に移動させて、最新バージョンのソフトウェアモジ
ュールを書き込むだけメモリサイズの空き領域を確保す
る処理と、逆に最新バージョンのソフトウェアモジュー
ルのメモリサイズが旧バージョンのソフトウェアモジュ
ールのメモリサイズを下回ったために空き領域が生じる
場合に、このようなメモリサイズの差違のために生じた
空き領域を既にメモリに書き込まれているソフトウェア
モジュールを前後に移動させることにより詰める処理と
からなる。
Fragmentation elimination processing means that the memory size of the latest version of the software module is significantly larger than the memory size of the old version of the software module, and the latest version of the software module is stored in the memory area occupied by the old version of the software module. If it is not possible to overwrite the software module, the software module already written in the memory is moved back and forth to secure the free area of the memory size just to write the latest version of the software module, and conversely, the memory of the latest version of the software module If free space is created because the size is smaller than the memory size of the software module of the previous version, the free space created due to such a difference in memory size is already saved. Comprising a processing to pack by moving the software modules written in re back and forth.

【0028】新規に受信したバンクデータに対しては、
以上の処理を施すのが必須であるため、ローダプログラ
ム12のダウンロードは概して長い期間を要するといわ
れる。ローダプログラム22は、ローダプログラム12
と同様の処理を行うローダプログラムであって、ローダ
プログラム12とは別のバンク(第2バンク)にバック
アップとして格納されているものである(図5上では、
バックアップを"控え"と表記している。以降図でも"バ
ックアップ"の表記には、"控え"を用いる。)。プロセ
ッサ6は、プログラム群格納部5内の領域のうち、読み
出し先アドレスを指示するプログラムカウンタと、ソフ
トウェアモジュールを構成する機械語命令のうち、当該
アドレスに位置するものを読み出す読み出し回路、読み
出された命令を解読する解読器、命令の解読結果に従っ
て算術演算を行う算術演算器を備え、第1バス19に接
続されたダウンロードRAM4、ブートROM7をアクセスす
ると共に、プログラム群格納部5に格納されているソフ
トウェアモジュールのうちアプリケーションプログラム
に分類されるものを実行する。
For newly received bank data,
Since it is essential to perform the above processing, it is generally said that downloading the loader program 12 requires a long period of time. The loader program 22 includes the loader program 12
This is a loader program that performs the same processing as that described above, and is stored as a backup in a bank (second bank) different from the loader program 12 (in FIG. 5,
Backups are marked as "copy". Hereinafter, "backup" is also used in the figure for "backup". ). The processor 6 reads out a program counter for designating a read destination address in a region in the program group storage 5 and a readout circuit for reading out a machine language instruction constituting the software module located at the address. A decoding unit that decodes the instruction, and an arithmetic operation unit that performs an arithmetic operation according to the result of decoding the instruction. The download RAM 4 and the boot ROM 7 connected to the first bus 19 are accessed and stored in the program group storage unit 5. Executes software modules that are classified as application programs among the existing software modules.

【0029】ブートROM7には、端末装置10の電源投
入時にプロセッサ6がブートストラップを行うためのブ
ートプログラムが格納されている。MMU8は、第2バス
9と接続されたEEPROM51〜EEPROM54の実アドレス
と、それらに対応する論理アドレスとを対応づけてお
り、プロセッサ6が読出先アドレスを第1バス19に出
力すると、当該読出先アドレスを論理アドレスとして解
釈してそれに対応する実アドレスを第2バス9に出力す
る。MMU8は、第1バス19と、EEPROM51〜EEPROM5
4との間に介在しているため、EEPROM51〜EEPROM54
はプロセッサ6がアクセスすることができるリニアなア
ドレス空間に割り付けられる。
The boot ROM 7 stores a boot program for the processor 6 to perform bootstrap when the power of the terminal device 10 is turned on. The MMU 8 associates the real addresses of the EEPROMs 51 to 54 connected to the second bus 9 with the corresponding logical addresses. When the processor 6 outputs the read destination address to the first bus 19, The address is interpreted as a logical address, and the corresponding real address is output to the second bus 9. The MMU 8 has a first bus 19 and EEPROMs 51 to 5
4 between the EEPROM 51 and the EEPROM 54
Are allocated to a linear address space accessible by the processor 6.

【0030】図8及び図9は、電源投入直後のカーネル
11の処理と、ローダプログラム12によるダウンロー
ド処理とを示したフロ−チャ−トである。操作者が端末
装置10の電源を投入すると、CSチューナ1は、π/4Q
PSKにより変調されたディジタル衛星放送の放送波を復
調して、MPEG2に規定されたトランスポートパケットを
TSデコーダ2に出力する。TSデコーダ2は、出力された
トランスポートパケットを四系統のビデオストリーム、
オーディオストリーム、PCRストリーム、プライベート
ストリームに分離する。AVデコーダ3は、PCRストリー
ムに従って、ビデオストリーム及びオーディオストリー
ムを映像信号に復号し、テレビ受像機に出力する。これ
によりテレビ受像機には、放送サービスにおけるTV番
組が表示され、操作者は名作映画,人気ドラマ,スポー
ツ,教養等様々なジャンルのTV番組を視聴することが
できる。
FIGS. 8 and 9 are flowcharts showing the processing of the kernel 11 immediately after power-on and the download processing by the loader program 12. When the operator turns on the power of the terminal device 10, the CS tuner 1
Demodulates the digital satellite broadcast wave modulated by PSK and converts the transport packet specified in MPEG2
Output to TS decoder 2. The TS decoder 2 converts the output transport packets into four video streams,
Separate into audio stream, PCR stream and private stream. The AV decoder 3 decodes the video stream and the audio stream into a video signal according to the PCR stream, and outputs the video signal to the television receiver. As a result, the TV set displays the TV program in the broadcasting service, and the operator can watch TV programs of various genres such as a masterpiece movie, a popular drama, sports, and culture.

【0031】このような動作の一方で、プロセッサ6が
内蔵しているプログラムカウンタにブートROM7の先頭
アドレスが設定される。先頭アドレスが設定されると、
プロセッサ6はブートROM7に格納されているブートプ
ログラムに従い、ブートストラップを行う。ブートスト
ラップを行うと、プロセッサ6が有するプログラムカウ
ンタは図8に示すカーネル11のフロ−チャ−トの先頭
ステップにセットされる。先ずプロセッサ6は、ステッ
プS1において各バンクに配されているソフトウェアモ
ジュールのCRCをチェックする。チェックの結果が異常
があれば、ステップS2においてプロセッサ6は、ソフ
トウェアモジュール読み出しの再試行等然るべきエラー
処理を行うが、全て正常ならステップS3に移行し、ロ
ーダプログラムが複数のバンクに存在するかを判定す
る。単数であれば選択の余地がないのでそのバンクのロ
ーダプログラムを起動するが、ローダプログラム12及
びローダプログラム22のように複数存在する場合は、
各ソフトウェアモジュールが有しているバージョン情報
を参照して複数バンクに格納されているローダプログラ
ムのうち、最新のものを起動する。つまりバージョン情
報が新しいものを優先して起動するのである。
On the other hand, the start address of the boot ROM 7 is set in the program counter incorporated in the processor 6 during such an operation. Once the start address is set,
The processor 6 performs bootstrap according to a boot program stored in the boot ROM 7. When the bootstrap is performed, the program counter of the processor 6 is set to the first step of the flowchart of the kernel 11 shown in FIG. First, the processor 6 checks the CRC of the software module allocated to each bank in step S1. If the result of the check is abnormal, in step S2, the processor 6 performs an appropriate error process such as retry of reading the software module. judge. If there is only one, there is no room for selection, so the loader program of that bank is started.
The latest one of the loader programs stored in a plurality of banks is started by referring to the version information of each software module. In other words, the version information with the newest is given priority and activated.

【0032】図4の一例において、マスター側のローダ
プログラム12が新しいものとすると、プロセッサ6の
プログラムカウンタは、ローダプログラム12の先頭ア
ドレスに設定され、プロセッサ6の処理はカーネル11
からローダプログラム12へと分岐する。ローダプログ
ラム12を逐次実行することにより、プロセッサ6は各
種アプリケ−ションプログラムを起動するための処理を
開始する。これらの処理と並行して、プロセッサ6は図
9のフロ−チャ−トに示されているダウンロード処理を
開始する。ステップS11では、プロセッサ6はダウン
ロード用RAM4を参照してプライベートストリームが新
規に格納されたか否かの監視を行う。未格納である限
り、プロセッサ6はステップS11の処理を延々と繰り
返す。ここで図12(a)に示すように、ダウンロード
用RAM4に第nバンク宛のバンクデータが格納されると
(ハッチング部参照)、ステップS12に移行し、新規
に格納されたプライベートストリームのCRCチェックを
行う。チェックの結果異常であればステップS11に移
行するが、正常であれば、ステップS13において、プ
ライベートストリームに含まれているプログラムヘッダ
を参照して、そのヘッダ内のバージョン情報を識別する
ことにより、新規プライベートストリームにバンクデー
タの最新版が格納されているかを判定する。
In the example of FIG. 4, if the master loader program 12 is new, the program counter of the processor 6 is set to the start address of the loader program 12, and the processing of the processor 6 is performed by the kernel 11
To the loader program 12. By sequentially executing the loader program 12, the processor 6 starts processing for activating various application programs. In parallel with these processes, the processor 6 starts the download process shown in the flowchart of FIG. In step S11, the processor 6 refers to the download RAM 4 and monitors whether a private stream is newly stored. As long as the data is not stored, the processor 6 repeats the processing of step S11 endlessly. Here, as shown in FIG. 12A, when the bank data addressed to the n-th bank is stored in the download RAM 4 (see the hatched portion), the process proceeds to step S12, where the CRC of the newly stored private stream is checked. I do. If the result of the check is abnormal, the process proceeds to step S11. If the result is normal, in step S13, the version information in the header is identified by referring to the program header included in the private stream, and the new information is identified. It is determined whether the latest version of the bank data is stored in the private stream.

【0033】最新版が格納されていれば、ステップS1
4においてプライベートストリームのプログラムヘッダ
を参照し、当該バンクデータがどのバンクを格納先に指
定しているかを認識する。格納バンクの認識後、ステッ
プS15において、起動中のローダプログラムが置かれ
ているバンクアドレスを認識する。これらのバンクアド
レスを認識すると、ステップS16においてプライベー
トストリームに含まれていたバンクデータの格納先バン
クと、起動中ローダプログラムが存在するバンクとが一
致するかを判定する。図12(a)の一例の場合、マス
ターのローダプログラムは第1バンクに存在し、ダウン
ロード用RAM4に蓄積されたプライベートストリーム内
のバンクデータは第nバンクを格納先に指定しているの
で、両バンクは一致せず、ステップS6に移行する。ス
テップS6では、プロセッサ6はバンクデータを複数の
ソフトウェアモジュールに分割し、ステップS8では、
プロセッサ6は分割された個々のソフトウェアモジュー
ルを第nバンクが占めている領域内に書き込む。
If the latest version is stored, step S1
In step 4, referring to the program header of the private stream, it is recognized which bank is specified by the bank data as the storage destination. After the recognition of the storage bank, in step S15, the bank address where the activated loader program is located is recognized. When these bank addresses are recognized, it is determined in step S16 whether the storage bank of the bank data included in the private stream matches the bank in which the activated loader program exists. In the example of FIG. 12A, the master loader program exists in the first bank, and the bank data in the private stream stored in the download RAM 4 specifies the n-th bank as the storage destination. Since the banks do not match, the process proceeds to step S6. In step S6, the processor 6 divides the bank data into a plurality of software modules, and in step S8,
The processor 6 writes each divided software module into the area occupied by the n-th bank.

【0034】ここでの書き込みは、ダウンロードとは異
なり、誤り検出処理、フラグメンテーション解消処理等
を実行しなくてもよく、単にメモリからメモリへのベタ
コピーを行えば良いので短期間で済む。コピーが行われ
る短期間において端末装置の電源が断たれる可能性は少
なく、バンクnのバージョンアップは短期間に完遂す
る。書き込みが行われると、第nバンクに格納されてい
るバンクデータは、図12(b)に示すように最新版に
バージョンアップされる。第nのバージョンアップ後、
図13(a)に示すように、ダウンロード用RAM4に第
1バンク宛のバンクデータを含むプライベートストリー
ムが格納されたとする。新規のプライベートストリーム
が格納されるとステップS11がYesとなりステップS
12に移行する。プロセッサ6はステップS12におい
て新規に格納されたプライベートストリームのCRCチェ
ックを行い、ステップS13においてバンクデータの最
新版が格納されているかを判定した後、ステップS14
においてプライベートストリームのプログラムヘッダを
参照し、当該バンクデータが第1バンクを格納先に指定
していることを認識する。認識後、ステップS15にお
いて、起動中ローダプログラムが配置されているバンク
を認識する。
Unlike writing, writing here does not require execution of error detection processing, fragmentation elimination processing, and the like, and requires only a short copy from memory to memory. It is unlikely that the power of the terminal device will be cut off in a short period during which copying is performed, and the version upgrade of bank n will be completed in a short time. When the writing is performed, the bank data stored in the n-th bank is upgraded to the latest version as shown in FIG. After the nth version upgrade,
As shown in FIG. 13A, it is assumed that a private stream including bank data addressed to the first bank is stored in the download RAM 4. If a new private stream is stored, step S11 becomes Yes and step S11
It moves to 12. The processor 6 performs a CRC check on the newly stored private stream in step S12, and determines in step S13 whether the latest version of the bank data is stored.
, Refers to the program header of the private stream and recognizes that the bank data specifies the first bank as the storage destination. After the recognition, in step S15, the bank in which the active loader program is located is recognized.

【0035】両バンクを認識した後、ステップS16に
おいてバンクデータの格納先バンクと、起動中ローダプ
ログラムが配置されているバンクとが一致するかを判定
する。ここで格納先が第1バンクであるので、プライベ
ートストリームに含まれていたバンクデータの格納先バ
ンクと、起動中ローダプログラムが存在するバンクとが
一致することになり、ステップS16がYesとなってス
テップS17に移行する。ステップS17では、カーネ
ル11へと分岐する。分岐後、第2バンクに格納されて
いるローダプログラムのモジュールヘッダを参照し、ヘ
ッダ内のバージョン情報を最新の日時に改竄して、ステ
ップS18に移行する。ステップS18では、バージョ
ン情報の改竄に伴い、CRCの書き換えを実行する。CRCを
書き換えた後、ステップS19においてプロセッサ6の
リセットを行う。
After recognizing both banks, it is determined in step S16 whether the bank where the bank data is to be stored matches the bank in which the loader program being started is located. Here, since the storage destination is the first bank, the storage destination bank of the bank data included in the private stream matches the bank in which the activated loader program exists, and the result in step S16 becomes Yes. Move to step S17. In step S17, the process branches to the kernel 11. After the branch, referring to the module header of the loader program stored in the second bank, falsify the version information in the header to the latest date and time, and proceed to step S18. In step S18, the CRC is rewritten according to the falsification of the version information. After rewriting the CRC, the processor 6 is reset in step S19.

【0036】ここでバージョン情報の改竄を行いリセッ
トを行うことは、第2バンクに格納されたバックアップ
のローダプログラム22をプロセッサ6に再起動させる
ことを意味する。何故なら、リセットにより端末装置1
0を再起動すると、図13(b)に示すようにカーネル
11はバージョン情報が新しいローダプログラムを選択
するからである(図8のフロ−チャ−トのステップS4
を参照)。以降、この過程を順を追って説明する。プロ
セッサ6がリセットされると、プロセッサ6が有するプ
ログラムカウンタは、ブートROM7の先頭アドレスに設
定される。このように設定されると、プロセッサ6はブ
ートROM7に格納されているブートプログラムに従い、
再度ブートストラップを行って、ステップS1において
各バンクに配されているソフトウェアモジュールのCRC
をチェックする。全て正常ならステップS3に移行し
て、ローダプログラムが複数のバンクに存在するかを判
定し、ステップS4において各ソフトウェアモジュール
が有しているバージョン情報を参照して複数バンクに格
納されているローダプログラムのうち、最新のものを起
動する。ここでローダプログラム12と、ローダプログ
ラム22のバージョン情報を比較すると、バックアップ
側のローダプログラム22は最新の日時に書き換えられ
たので、プロセッサ6のプログラムカウンタは、ローダ
プログラム22の先頭アドレスに設定され、プロセッサ
6の処理はカーネル11からローダプログラム22へと
分岐する。
Here, the alteration by resetting the version information means that the processor 6 restarts the backup loader program 22 stored in the second bank. Because the terminal device 1 is reset
This is because the kernel 11 selects a loader program whose version information is new as shown in FIG.
See). Hereinafter, this process will be described step by step. When the processor 6 is reset, the program counter of the processor 6 is set to the start address of the boot ROM 7. When set as described above, the processor 6 follows the boot program stored in the boot ROM 7 and
The bootstrap is performed again, and the CRC of the software module allocated to each bank is determined in step S1.
Check. If everything is normal, the process proceeds to step S3, where it is determined whether the loader program exists in a plurality of banks. Start the latest one. When the version information of the loader program 12 is compared with the version information of the loader program 22, the backup loader program 22 is rewritten to the latest date and time. The processing of the processor 6 branches from the kernel 11 to the loader program 22.

【0037】ローダプログラム22を逐次実行すること
により、プロセッサ6は各種アプリケ−ションプログラ
ムを起動するための処理を開始する。これらの処理と並
行して、プロセッサ6はカーネル11の場合と同様、図
9のフロ−チャ−トに示されているダウンロード処理を
開始する。ステップS11では、プロセッサ6はダウン
ロード用RAM4を参照してプライベートストリームが新
規に格納されたか否かの監視を行うが、既にダウンロー
ド用RAM4に第1バンク宛のバンクデータが格納されてい
るので、ステップS12において新規に格納されたプラ
イベートストリームのCRCチェックを行い、ステップS
13において新規プライベートストリームにバンクデー
タの最新版が格納されているかを判定した後、ステップ
S14においてプライベートストリームのプログラムヘ
ッダを参照し、当該バンクデータがどのバンクを格納先
に指定しているかを認識する。格納バンクの認識後、ス
テップS15において、起動中のローダプログラムが置
かれているバンクを認識する。これらのバンクを認識す
ると、ステップS16においてプライベートストリーム
に含まれていたバンクデータの格納先バンクと、起動中
ローダプログラムが存在するバンクとが一致するかを判
定する。
By sequentially executing the loader program 22, the processor 6 starts processing for activating various application programs. In parallel with these processes, the processor 6 starts the download process shown in the flowchart of FIG. In step S11, the processor 6 monitors whether the private stream is newly stored by referring to the download RAM 4, but since the download RAM 4 has already stored the bank data addressed to the first bank, the process proceeds to step S11. In step S12, a CRC check of the newly stored private stream is performed, and step S12 is performed.
After it is determined in step S13 whether the latest version of the bank data is stored in the new private stream, in step S14, the program header of the private stream is referred to recognize which bank the bank data specifies as a storage destination. . After the recognition of the storage bank, in step S15, the bank where the activated loader program is located is recognized. When these banks are recognized, it is determined in step S16 whether the storage bank of the bank data included in the private stream matches the bank in which the activated loader program exists.

【0038】この場合起動しているのは、バージョン情
報が最新の日時に改竄されたローダプログラム22であ
るので、両バンクは一致せずステップS6に移行する。
ステップS6では、プロセッサ6はバンクデータを複数
のソフトウェアモジュールに分割し、ステップS8で
は、プロセッサ6は分割された個々のソフトウェアモジ
ュールを第1バンクが占めている領域内に書き込む。書
き込みが行われると、第1バンクに格納されているバン
クデータは、図13(c)に示すように最新版にバージ
ョンアップされる。 この最新版バンクデータは、最新
版のローダプログラムを含んでいるので、ローダプログ
ラムも同時にバージョンアップされたことになる。
In this case, since what is running is the loader program 22 whose version information has been falsified at the latest date and time, the two banks do not match, and the process proceeds to step S6.
In step S6, the processor 6 divides the bank data into a plurality of software modules, and in step S8, the processor 6 writes the divided individual software modules in an area occupied by the first bank. When writing is performed, the bank data stored in the first bank is upgraded to the latest version as shown in FIG. Since the latest version of the bank data includes the latest version of the loader program, the loader program is also upgraded at the same time.

【0039】以上のように本実施形態によれば、ソフト
ウェアモジュール群を複数のバンクに格納し、バンク単
位でバージョンアップを行うので、バンクデータのダウ
ンロードのためのバッファに用いるRAMがバンク一個分
の規模で済む。故にバージョンアップ途中の異常発生に
耐え得るハードウェアをより小規模に実現できる。その
ため、生産コスト増大という代償無しにソフトウェアモ
ジュールの充実化を実現できる。加えて、2つのバンク
にマスター、バックアップのローダプログラムをそれぞ
れ配置するので、一方をバージョンアップしたい場合
は、他方を起動するという制御を行うことができる。こ
のように何れかの一方のローダプログラムの起動によ
り、ローダプログラム自体のバージョンアップが可能と
なる。
As described above, according to the present embodiment, the software module group is stored in a plurality of banks, and the version is upgraded in units of banks. On scale. Therefore, hardware that can withstand the occurrence of an abnormality during the version upgrade can be realized in a smaller scale. Therefore, the software modules can be enhanced without the cost of increasing the production cost. In addition, since the master and backup loader programs are respectively arranged in the two banks, if one version is to be upgraded, it is possible to control the activation of the other. As described above, by starting one of the loader programs, the version of the loader program itself can be upgraded.

【0040】サービスマンの派遣等多大な人件費の負担
を伴うROM交換を行うこと無しにバージョンアップが
実現できるので、ローダプログラムのバグ修正、仕様変
更等が容易になる。尚、ローダプログラムのバージョン
アップには、別バンクに格納されたローダプログラムを
起動する処理と、再起動処理とが伴うので、バンク1の
バージョンアップは、低頻度であるのが望ましい。バン
ク1のバージョンアップ頻度を低くするには、高い頻度
でのバージョンアップが必要なソフトウェアモジュール
を、ローダプログラムが格納されているバンクに以外に
配置するのが賢明である。特に、MPEGストリームの復号
処理に関する処理を行うソフトウェアモジュールや、週
刊,月刊の放送予定表の表示を行うソフトウェアモジュ
ールは、更新の頻度が高いといわれるので、これらのソ
フトウェアモジュールはローダプログラムとは別のバン
クに格納するのが望ましい。
Since the version upgrade can be realized without performing ROM replacement which involves a large labor cost such as dispatch of a serviceman, bug correction and specification change of the loader program can be easily performed. It should be noted that since the upgrade of the loader program involves a process of activating the loader program stored in another bank and a reboot process, it is desirable that the upgrade of the bank 1 be performed at a low frequency. In order to reduce the frequency of version upgrade of the bank 1, it is advisable to place software modules that need to be upgraded at a high frequency in a bank other than the bank where the loader program is stored. In particular, software modules that perform processing related to MPEG stream decoding processing and software modules that display weekly and monthly broadcast schedules are said to be updated frequently, so these software modules are separate from the loader program. It is desirable to store in a bank.

【0041】また、本実施形態ではソフトウェアモジュ
ールのモジュールヘッダに記載された『バンク』を参照
して各ソフトウェアモジュールをどのバンクに配置する
かを決定したが、これらソフトウェアモジュールがどの
ような頻度で更新されたかを示す統計値を計算し、計算
した統計値に基づいて各バンクにおけるソフトウェアモ
ジュールの配置を決定し直してもよい。 (第2実施形態)第2実施形態は、バックアップのロー
ダプログラムを用いないローダバンクのバージョンアッ
プを実現する構成である(ローダバンクとは、マスター
のローダプログラムが配置されているバンクのことをい
う。)。本実施形態においてバックアップローダプログ
ラムを用いないのは、ROMの利用効率を向上させるた
めである。即ちローダプログラムをマスターのみにし
て、第1実施形態においてバックアップのローダプログ
ラムが占めていた領域に別のソフトウェアモジュールを
配置するのである。
Further, in the present embodiment, in which bank each software module is arranged is determined with reference to the "bank" described in the module header of the software module. It is also possible to calculate a statistic that indicates whether or not the software module has been allocated in each bank based on the calculated statistic. (Second Embodiment) The second embodiment is a configuration for realizing version upgrade of a loader bank without using a backup loader program (a loader bank is a bank in which a master loader program is arranged). .). The reason why the backup loader program is not used in the present embodiment is to improve the use efficiency of the ROM. That is, the loader program is used only as the master, and another software module is arranged in the area occupied by the backup loader program in the first embodiment.

【0042】但し、第2実施形態におけるローダバンク
バージョンアップの実現には前提条件がある。その前提
条件とは、ローダバンク以外のバンクの中に復帰可能バ
ンクが存在することである。復帰可能バンクとは、バン
クデータが定期的に配信されるため、或は、要求信号の
送信によりバンクデータの送信を放送局側に指示できる
等の理由のより格納内容の復帰が可能であり、たとえ格
納内容が破壊されても支障がないバンクをいう。図10
は、第2実施形態におけるローダプログラムのフロ−チ
ャ−トであり、バックアップのローダプログラムを起動
せずに、ローダバンクバージョンアップを行うよう構成
されている。図14(a)〜Dの説明図を用いて、本フ
ロ−チャ−トによるローダバンクのバージョンアップが
行われる一連の過程を説明する。図14(a)は当該一
連の過程の初期状態である。本初期状態では、第1バン
クがローダバンクに割り当てられ、第2バンクが復帰可
能バンクに割り当てられている。またダウンロード用RA
M4には、ローダバンク用のバンクデータの最新版が既
に蓄積されている。
However, there is a prerequisite for realizing the loader bank upgrade in the second embodiment. The precondition is that a recoverable bank exists in banks other than the loader bank. The resumable bank means that the stored contents can be restored because the bank data is regularly distributed or the transmission of the request signal can instruct the broadcasting station to transmit the bank data. A bank that does not cause any trouble even if the stored contents are destroyed. FIG.
Is a flowchart of the loader program in the second embodiment, which is configured to upgrade the loader bank without activating the backup loader program. A series of processes for upgrading the loader bank according to this flowchart will be described with reference to the explanatory diagrams of FIGS. FIG. 14A shows an initial state of the series of processes. In the initial state, the first bank is assigned to the loader bank, and the second bank is assigned to the recoverable bank. RA for download
The latest version of the bank data for the loader bank is already stored in M4.

【0043】このように最新版が蓄積されると、プロセ
ッサ6は図9のステップS11〜ステップS14までの
処理と同様の処理を行う。即ち、ステップS11におい
てダウンロード用RAM4内にプライベートストリームが
新規に格納されたかを監視し、もし格納されていれば、
ステップS12において新規に格納されたプライベート
ストリームのCRCチェックを行って、正常ならばステッ
プS13において新規プライベートストリームにはバン
クデータの最新版が格納されているかを判定する。最新
版が既に格納されているなら、ステップS14において
バンクデータ最新版の格納先を認識する。ステップS1
4の実行後、ステップS22に移行すると、プロセッサ
6はダウンロード用RAM4に新規に格納されたバンクデ
ータの格納先バンクがローダバンクであるかを判定す
る。
When the latest version is thus stored, the processor 6 performs the same processing as the processing from step S11 to step S14 in FIG. That is, in step S11, it is monitored whether a private stream is newly stored in the download RAM 4, and if it is stored,
In step S12, a CRC check of the newly stored private stream is performed, and if it is normal, it is determined in step S13 whether or not the latest version of the bank data is stored in the new private stream. If the latest version has already been stored, the storage location of the latest bank data version is recognized in step S14. Step S1
After the execution of step 4, the process proceeds to step S22, where the processor 6 determines whether the storage destination bank of the bank data newly stored in the download RAM 4 is a loader bank.

【0044】もし格納先がローダバンクであれば、本来
ならバンクデータの最新版を第1バンクに書き込むべき
ところであるが、ステップS23においてプロセッサ6
は、別バンクに新規のバンクデータを書き込む。その別
バンクとは復帰可能バンクのことであり、ダウンロード
用RAM4内のバンクデータが復帰可能バンクに書き込ま
れることになる。尚、この書き込み処理を行うにあたっ
ては、図9のステップS6〜ステップS8の処理が順次
実行される。即ち、ステップS6では、プロセッサ6は
バンクデータを複数のソフトウェアモジュールに分割
し、ステップS8では、プロセッサ6は分割された個々
のソフトウェアモジュールを復帰可能バンクが占めてい
る領域内に書き込むのである。
If the storage destination is the loader bank, the latest version of the bank data should be originally written in the first bank.
Writes new bank data to another bank. The other bank is a restorable bank, and the bank data in the download RAM 4 is written to the restorable bank. In performing this writing process, the processes of steps S6 to S8 in FIG. 9 are sequentially performed. That is, in step S6, the processor 6 divides the bank data into a plurality of software modules, and in step S8, the processor 6 writes each of the divided software modules in the area occupied by the recoverable bank.

【0045】復帰可能バンクに新規のバンクデータが書
き込まれると、ステップS24においてローダバンクを
旧ローダバンクに変更し、復帰可能バンクを新ローダバ
ンクに変更する。図14(b)は、ローダバンクバージ
ョンアップの一連の過程のうち、ステップS24の処理
を終えた状態を示す。本図では、第1バンク及び第2バ
ンクに新旧のローダバンクのバンクデータが格納されて
いることがわかる。この状態でプロセッサ6は、ステッ
プS25においてリセットを行う。図14(b)の状態
でリセットを行うことは、新ローダバンクに格納された
最新版ローダプログラムをプロセッサ6に実行させるこ
とを意味する。何故なら、リセットにより端末装置10
を再起動すると、カーネル11はバージョン情報が新し
い新ローダバンクのローダプログラムを選択するからで
ある(図8のフロ−チャ−トのステップS4を参照)。
When new bank data is written in the recoverable bank, the loader bank is changed to the old loader bank and the recoverable bank is changed to the new loader bank in step S24. FIG. 14B shows a state in which the processing of step S24 has been completed in a series of steps of the loader bank version upgrade. In this figure, it can be seen that the first bank and the second bank store the bank data of the old and new loader banks. In this state, the processor 6 performs a reset in step S25. Resetting in the state of FIG. 14B means that the processor 6 executes the latest version loader program stored in the new loader bank. Because the terminal device 10
Is restarted, the kernel 11 selects the loader program of the new loader bank whose version information is new (see step S4 in the flowchart of FIG. 8).

【0046】新ローダバンクのローダプログラムが起動
されると、プロセッサ6は図9のステップS11〜ステ
ップS14までの処理と同様の処理を行う。即ち、ステ
ップS11においてダウンロード用RAM4内にプライベ
ートストリームが新規に格納されたかを監視する。ここ
で放送局によるバンクデータの定期配信が行われ、図1
4(c)に示すように、ダウンロード用RAM4に第2バ
ンク宛の最新版のバンクデータを含むプライベートスト
リームが格納されたとする。旧復帰可能バンクである第
2バンク用のバンクデータが格納されると、ステップS
12において新規に格納されたプライベートストリーム
のCRCチェックを行って、正常ならばステップS13に
おいて新規プライベートストリームにはバンクデータの
最新版が格納されているかを判定する。格納されている
なら、バンクデータ最新版の格納先バンクを認識する。
ステップS14の実行後、ステップS22に移行する
と、プロセッサ6はダウンロード用RAM4に新規に格納
されたバンクデータの格納先バンクが旧ローダバンクで
あるかを判定する。新規バンクデータの格納先は復帰可
能バンクであるので、ステップS22がNoとなりステッ
プS26に移行する。
When the loader program of the new loader bank is started, the processor 6 performs the same processing as the processing of steps S11 to S14 in FIG. That is, in step S11, it is monitored whether a private stream is newly stored in the download RAM 4. Here, the broadcasting station regularly distributes bank data, and FIG.
4C, it is assumed that a private stream including the latest version of bank data addressed to the second bank is stored in the download RAM 4. When the bank data for the second bank, which is the old recoverable bank, is stored, step S
In step 12, the CRC of the newly stored private stream is checked, and if it is normal, it is determined in step S13 whether the new private stream stores the latest version of the bank data. If it is stored, the destination bank of the latest bank data is recognized.
After the execution of step S14, when the process proceeds to step S22, the processor 6 determines whether the storage bank of the bank data newly stored in the download RAM 4 is the old loader bank. Since the storage destination of the new bank data is the resumable bank, step S22 is No and the process proceeds to step S26.

【0047】ステップS26ではプロセッサ6は、ダウ
ンロード用RAM4に格納されたバンクデータの格納先が
復帰可能バンクであるかを判定する。もし復帰可能バン
クならば、ステップS27に移行して、格納先の復帰可
能バンクは新ローダバンクに更新されたかを判定する。
未更新ならばステップS29に移行してダウンロード用
RAM4内のバンクデータを復帰可能バンクに書き込んで
処理を終える。しかし図14の一例では、復帰可能バン
クである第2バンクは、図14(b)の中間状態におい
て新ローダバンクに更新されているので、ステップS2
7がYesとなりステップS28に移行する。
In step S26, the processor 6 determines whether the storage destination of the bank data stored in the download RAM 4 is a recoverable bank. If the bank is a recoverable bank, the process proceeds to step S27, and it is determined whether the storage bank of the storage destination is updated to a new loader bank.
If not updated, move to step S29 for download
The processing is completed by writing the bank data in the RAM 4 to the recoverable bank. However, in the example of FIG. 14, since the second bank, which is the resumable bank, has been updated to the new loader bank in the intermediate state of FIG.
7 is Yes, and the routine goes to Step S28.

【0048】ステップS28では、ステップS24にお
いて旧ローダバンクに更新された第1バンクを復帰可能
バンクに更新する。このように更新されると、第1バン
クが復帰可能バンクになり、第2バンクがローダバンク
になる。第1バンクを復帰可能バンクに更新した後、プ
ロセッサ6はダウンロード用RAM4に格納されていたバ
ンクデータを復帰可能バンクに更新された第1バンクに
書き込む。図14(d)は、プロセッサ6が図10のフ
ロ−チャ−トに従ってバージョンアップを行った後の最
終状態である。本図において、第2バンクがローダバン
クに更新され、第1バンクが復帰可能バンクに更新され
つつも、両バンクのバンクデータがバージョンアップさ
れていることがわかる。
In step S28, the first bank updated to the old loader bank in step S24 is updated to a recoverable bank. When updated in this manner, the first bank becomes a recoverable bank, and the second bank becomes a loader bank. After updating the first bank to the restorable bank, the processor 6 writes the bank data stored in the download RAM 4 to the first bank updated to the restorable bank. FIG. 14D shows the final state after the processor 6 has upgraded the version according to the flowchart of FIG. In this figure, it can be seen that while the second bank is updated to a loader bank and the first bank is updated to a recoverable bank, the bank data of both banks is upgraded.

【0049】以上のように本実施形態によれば、ローダ
バンクの最新版が送信された場合、バンクデータの最新
版を復帰可能バンクに書き込み、古いローダプログラム
が配置されているバンクを復帰可能バンクに割り当てる
ので、マスターのローダプログラムのみを用いてローダ
バンクのバンクデータをバージョンアップすることがで
きる。このような処理により、端末装置10に配置され
るローダプログラムをマスターのみにすることができ、
バックアップのローダプログラムの代わりに別のソフト
ウェアモジュールを配置することができる。 (第3実施形態)第3実施形態は、ソフトウェアモジュ
ール単位のバージョンアップを実現する。図6は第3実
施形態において放送局が送信するプライベートストリー
ムの構成を示す図である。本プライベートストリームが
第1実施形態に示したものと異なるのは、別々のバンク
に格納すべきn本のソフトウェアモジュールが一本のプ
ライベートストリームに多重されている点である。
As described above, according to the present embodiment, when the latest version of the loader bank is transmitted, the latest version of the bank data is written to the recoverable bank, and the bank in which the old loader program is located is replaced with the recoverable bank. , The bank data of the loader bank can be upgraded using only the master loader program. By such processing, the loader program arranged in the terminal device 10 can be set to only the master,
Another software module can be placed in place of the backup loader program. (Third Embodiment) The third embodiment realizes version upgrade in software module units. FIG. 6 is a diagram showing a configuration of a private stream transmitted by a broadcasting station in the third embodiment. This private stream differs from that shown in the first embodiment in that n software modules to be stored in different banks are multiplexed into one private stream.

【0050】第3実施形態における端末装置10の内部
を図7に示す。本構成が図1に示したものと異なるの
は、ダウンロード用RAM4が、最新モジュール用RAM13
及びバンクデータコピー用RAM14に置き換えられてい
る点である。最新モジュール用RAM13は、複数のソフ
トウェアモジュールが多重されたプライベートストリー
ムをTSデコーダ2が分離すると、これを格納する。バン
クデータコピー用RAM14は、ソフトウェアモジュール
の差し替え作業のためにバンクデータを展開するための
メモリである。ソフトウェアモジュールの差し替えと
は、最新モジュール用RAM13に最新版のソフトウェア
モジュールが格納されると、バンクに格納されていたバ
ンクデータをこのバンクデータコピー用RAM14へと読
み出し、読み出されたバンクデータが含んでいる複数の
ソフトウェアモジュールのうち、何れかのソフトウェア
モジュールを最新モジュール用RAM13に格納された最
新版に置き換え、置換後の内容を元のバンクに書き込む
作業をいう。
FIG. 7 shows the inside of the terminal device 10 according to the third embodiment. This configuration differs from that shown in FIG. 1 in that the download RAM 4 is replaced with the latest module RAM 13.
And a bank data copy RAM 14. When the TS decoder 2 separates a private stream in which a plurality of software modules are multiplexed, the latest module RAM 13 stores the private stream. The bank data copy RAM 14 is a memory for expanding bank data for replacing software modules. The replacement of the software module means that when the latest version of the software module is stored in the latest module RAM 13, the bank data stored in the bank is read out to the bank data copy RAM 14, and the read bank data is included. Out of the plurality of software modules, the software module is replaced with the latest version stored in the latest module RAM 13, and the replaced contents are written to the original bank.

【0051】図11はソフトウェアモジュール単位でバ
ージョンアップを行うように構成されたローダプログラ
ムの処理手順を示すフロ−チャ−トであり、図15
(a)〜D、図16(a)〜Cは、ローダプログラムに
よるソフトウェアモジュールバージョンアップの過程を
示す説明図である。図15(a)は、ソフトウェアモジ
ュールバージョンアップの一連の過程のうち、初期状態
を示す。本図において、モジュール_A11.old、モジュー
ル_A12.old、モジュール_A13.old・・・・は第1バンクのソ
フトウェアモジュールを示す。モジュール_B11.old、モ
ジュール_B12.old、モジュール_B13.old・・・・は第2バン
クのソフトウェアモジュールを示す。これらのモジュー
ルは何れも『old』という名称が与えられているが、こ
れはソフトウェアモジュールは全て『旧版』という前提
を意味する。q13にはモジュール_A13.new、モジュー
ル_B15.newという2本のソフトウェアモジュールが格納
されていることがわかる。これらは2本のプライベート
ストリームを用いて送信されたソフトウェアモジュール
の最新版である。
FIG. 11 is a flowchart showing a processing procedure of a loader program configured to upgrade the software module unit.
(A) to (D) and FIGS. 16 (a) to (C) are explanatory diagrams showing a process of upgrading a software module by a loader program. FIG. 15A shows an initial state in a series of processes for upgrading a software module. In the figure, module_A11.old, module_A12.old, module_A13.old... Indicate software modules of the first bank. Module_B11.old, module_B12.old, module_B13.old... Indicate software modules of the second bank. Each of these modules is given the name "old", which means that all software modules are "old". It can be seen that two software modules, module_A13.new and module_B15.new, are stored in q13. These are the latest versions of software modules sent using two private streams.

【0052】端末装置10に電源が投入されるとプロセ
ッサ6は、図11のフロ−チャ−トのステップS31に
おいてq13内にプライベートストリームが新規に格納
されたかの監視を開始する。格納されたとすると、ステ
ップS31がYesとなり、ステップS32に移行する。
ステップS32では、最新モジュール用RAM13に新規
に格納されたプライベートストリームのCRCチェックを
行い、もし正常であれば、最新モジュール用RAM13に
新規に格納されたプライベートストリームに含まれてい
るn本の最新版ソフトウェアモジュールを取得する。取
得後、ステップS34において変数iの初期設定を行
う。変数iとは、最新モジュール用RAM13に格納されて
いるn本のソフトウェアモジュールを個別に指示する変
数であり、これを『1』に設定することは、最新モジュ
ール用RAM13に格納されている複数のソフトウェアモ
ジュールのうち、先頭のものを以降の処理対象に設定し
たことを意味する。
When the terminal device 10 is turned on, the processor 6 starts monitoring whether a private stream is newly stored in q13 in step S31 of the flowchart of FIG. If it is stored, step S31 becomes Yes and the process moves to step S32.
In step S32, a CRC check of the private stream newly stored in the latest module RAM 13 is performed, and if normal, the n latest versions included in the private stream newly stored in the latest module RAM 13 are checked. Get a software module. After the acquisition, the variable i is initialized in step S34. The variable i is a variable that individually designates the n software modules stored in the latest module RAM 13, and setting this to “1” means that a plurality of software modules stored in the latest module RAM 13 This means that the first one of the software modules has been set as a subsequent processing target.

【0053】ステップS35では、q13内のi本目ソ
フトウェアモジュールのバージョン情報を取得し、ステ
ップS36では、i本目ソフトウェアモジュールを含む
プライベートストリームにおけるモジュールヘッダを参
照し、当該ヘッダ内のバージョン情報に含まれているバ
ンクナンバーkを認識する。最新モジュール用RAM13に
おいて先頭にはモジュール_A13.newが存在し、このモジ
ュール_A13.newのモジュールヘッダは、第1バンクを格
納先に指定したバンクナンバーを有するので、第1バン
クが格納先として認識される。認識後、ステップS37
においてバンクナンバー1のROMに格納されているバンク
データを差替作業用RAM14に書き込む。図15(b)
は、ステップS37の処理を経た後の第1中間状態を示
している。本図においてバンクデータコピー用RAM14
には、第1バンクに格納されていたモジュール_A11.old
〜モジュール_A16.oldがそのまま格納されていることが
わかる。
In step S35, the version information of the i-th software module in q13 is obtained, and in step S36, the module header in the private stream including the i-th software module is referred to and included in the version information in the header. Recognize the current bank number k. In the latest module RAM 13, module_A13.new exists at the beginning, and the module header of module_A13.new has a bank number that designates the first bank as a storage destination. Be recognized. After recognition, step S37
, The bank data stored in the ROM of bank number 1 is written into the replacement work RAM 14. FIG. 15 (b)
Indicates a first intermediate state after the processing in step S37. In this figure, the bank data copy RAM 14
Contains the module _A11.old stored in the first bank
It can be seen that ~ module_A16.old is stored as it is.

【0054】バンクデータコピー用RAM14にバンクデ
ータを書き込んだ後、ステップS38では、バンクデー
タコピー用RAM14に転送されたバンクデータに含まれ
る対応するソフトウェアモジュールを、最新モジュール
用RAM13に格納されたi本目最新版を用いて差し替え
る。図15(c)は、ステップS38の処理を経た後の
第2中間状態を示している。図15(b)では、モジュ
ール_A11.old〜モジュール_A16.oldが格納されていた
が、図15(c)では、バンクデータコピー用RAM14
のソフトウェアモジュールのうちモジュール_A13.oldの
みがモジュール_A13.newに置き換えられている。この置
き換えにより、モジュール_A13.oldが最新版に差し替え
られたバンクデータがバンクデータコピー用RAM14に
得られたことがわかる。
After writing the bank data in the bank data copy RAM 14, in step S 38, the corresponding software module contained in the bank data transferred to the bank data copy RAM 14 is stored in the i-th module stored in the latest module RAM 13. Replace with the latest version. FIG. 15C shows the second intermediate state after the processing in step S38. In FIG. 15B, module_A11.old to module_A16.old are stored, but in FIG.
Only module_A13.old is replaced by module_A13.new among the software modules of. By this replacement, it can be seen that bank data in which module_A13.old has been replaced with the latest version has been obtained in the bank data copy RAM 14.

【0055】このようにソフトウェアモジュールの最新
版を含んだバンクデータがバンクデータコピー用RAM1
4に得られると、ステップS39においてプロセッサ6
は差替後ソフトウェアモジュールを差替作業用RAMから
バンクナンバーk(=1)のROMに書き込む。図15(d)
は、ステップS38の処理を経た後の第3中間状態を示
している。図15(c)では、モジュール_A13.oldが最
新版に差し替えられたバンクデータがバンクデータコピ
ー用RAM14に格納されていたが、図15(d)では、
この最新版ソフトウェアモジュールを含むバンクデータ
が第1バンクに書き込まれている。この書き込みによ
り、モジュール_A13.oldが最新版に差し替えられたバン
クデータが第1バンクに得られたことがわかる。以上に
より、1本目の最新版についての処理を終えると、ステ
ップS40において変数iがn本であるかを判定した後、
もし変数iがnでないなら、ステップS41に移行して、
変数iをインクリメントする。インクリメント後、ステ
ップS35に再度に移行する。
As described above, the bank data including the latest version of the software module is stored in the bank data copy RAM 1.
4 is obtained in step S39.
Writes the software module after replacement from the replacement work RAM to the ROM of the bank number k (= 1). FIG. 15D
Indicates a third intermediate state after the processing in step S38. In FIG. 15C, the bank data in which module_A13.old has been replaced with the latest version is stored in the bank data copy RAM 14, but in FIG.
The bank data including the latest software module is written in the first bank. This writing indicates that the bank data in which module_A13.old has been replaced with the latest version has been obtained in the first bank. As described above, when the processing for the first latest version is completed, it is determined whether the variable i is n in step S40.
If the variable i is not n, the process proceeds to step S41,
Increment the variable i. After the increment, the process returns to step S35.

【0056】ステップS35では、ダウンロード用RAM
4内の2本目ソフトウェアモジュールのバージョン情報
を取得し、ステップS36では、2本目ソフトウェアモ
ジュールのモジュールヘッダを参照し、当該ヘッダ内の
バージョン情報に含まれているバンクナンバーkを認識
する。最新モジュール用RAM13においてモジュール_A1
3.newの次には、モジュール_B15.newが存在し、このモ
ジュール_B15.newのヘッダは、第2バンクを格納先に指
定したバンクナンバーを有するので、第2バンクが格納
先として認識される。認識後、ステップS37において
バンクナンバーk(=2)のROMに格納されているバンクデー
タを差替作業用RAM14に書き込む。図16(a)は、
ステップS37の処理を経た後の第4中間状態を示して
いる。本図においてバンクデータコピー用RAM14に
は、第2バンクに格納されていたモジュール_B11.old〜
モジュール_B16.oldがそのまま格納されていることがわ
かる。
In step S35, the download RAM
4, the version information of the second software module is obtained. In step S36, the bank number k included in the version information in the header is recognized by referring to the module header of the second software module. Module_A1 in the latest module RAM 13
After 3.new, there is a module_B15.new, and the header of this module_B15.new has a bank number that designates the second bank as a storage destination, so the second bank is recognized as a storage destination. Is done. After the recognition, the bank data stored in the ROM of the bank number k (= 2) is written into the replacement work RAM 14 in step S37. FIG. 16 (a)
It shows a fourth intermediate state after the processing of step S37. In this figure, the bank data copy RAM 14 stores the module_B11.old ~ stored in the second bank.
It can be seen that module_B16.old is stored as it is.

【0057】バンクデータコピー用RAM14にバンクデ
ータを書き込んだ後、ステップS38では、バンクデー
タコピー用RAM14に転送されたバンクデータに含まれ
る対応するソフトウェアモジュールを、最新モジュール
用RAM13に格納された2本目最新版を用いて差し替え
る。図16(b)は、ステップS38の処理を経た後の
第5中間状態を示している。図16(a)では、モジュ
ール_B11.old〜モジュール_B16.oldが格納されていた
が、図16(b)では、バンクデータコピー用RAM14
のソフトウェアモジュールのうちモジュール_B15.oldの
みがモジュール_B15.newに置き換えられている。この置
き換えにより、モジュール_B15.oldが最新版に差し替え
られたバンクデータがバンクデータコピー用RAM14に
得られたことがわかる。
After writing the bank data in the bank data copy RAM 14, in step S 38, the corresponding software module contained in the bank data transferred to the bank data copy RAM 14 is stored in the second module stored in the latest module RAM 13. Replace with the latest version. FIG. 16B shows the fifth intermediate state after the processing in step S38. In FIG. 16A, module_B11.old to module_B16.old are stored, but in FIG.
Only module_B15.old is replaced by module_B15.new among the software modules of. By this replacement, it can be seen that bank data in which module_B15.old has been replaced with the latest version has been obtained in the bank data copy RAM 14.

【0058】このようにソフトウェアモジュールの最新
版を含んだバンクデータがバンクデータコピー用RAM1
4に得られると、ステップS39においてプロセッサ6
は差替後バンクデータを差替作業用RAMからバンクナン
バーk(=2)のROMに書き込む。図16(c)は、ステップ
S38の処理を経た後の最終状態を示している。図16
(b)では、モジュール_B14が最新版に差し替えられた
モジュール_B11.old〜モジュール_B16.oldがバンクデー
タコピー用RAM14に格納されていたが、図16(c)
では、これが第1バンクに書き込まれている。この書き
込みにより、モジュール_B15.oldが最新版に差し替えら
れたバンクデータが第2バンクに得られたことがわか
る。
As described above, the bank data including the latest version of the software module is stored in the bank data copy RAM 1.
4 is obtained in step S39.
Writes the bank data after replacement from the replacement work RAM to the ROM of the bank number k (= 2). FIG. 16C shows the final state after the processing in step S38. FIG.
In (b), module_B11.old to module_B16.old in which module_B14 has been replaced with the latest version are stored in bank data copy RAM 14, but FIG.
Then, this is written in the first bank. By this writing, it is understood that bank data in which module_B15.old has been replaced with the latest version has been obtained in the second bank.

【0059】2本目の最新版についての処理を終える
と、ステップS40において変数iがn本であるかを判定
する。n=2であるので、本フロ−チャ−トの処理を終
える。以上のように本実施形態によれば、バージョンア
ップが必要なソフトウェアモジュールのみを放送局が送
信し、端末装置10は送信されたこれらのソフトウェア
モジュールを適宜受信して、これを用いてソフトウェア
モジュールの差し替えを行う。バンクに格納済みのバン
クデータの総入れ替えを行う場合と比較して、バージョ
ンアップに要する時間が短くて良いので、端末装置10
によるバージョンアップをより短時間で完了させること
ができる。
When the processing for the second latest version is completed, it is determined in step S40 whether the number of variables i is n. Since n = 2, the processing of this flowchart ends. As described above, according to the present embodiment, the broadcasting station transmits only software modules that need to be upgraded, and the terminal device 10 appropriately receives the transmitted software modules, and uses the received software modules to update the software modules. Replace. As compared with the case where the bank data stored in the bank is totally replaced, the time required for the version upgrade can be shorter, and
Can be completed in a shorter time.

【0060】(第4実施形態)第4実施形態は、端末装
置単体ではリモートバージョンアップが不可能である
が、スマートカード15を装填することによりリモート
バージョンアップが可能となる端末装置に関する。第4
実施形態における端末装置の内部構成を図17に示す。
図17において端末装置内にはプログラム群格納部5に
代えてソフトウェア格納用ROM16及びカードスロット
17が第2バス9と接続されており、ブートROM7に代
えてブートROM18が接続されている。スマートカード
15は、その内部に第1実施形態〜第3実施形態におい
て第2バス9と接続されていたEEPROM51〜EEPROM54
をその内部に備えたメモリカードであり、そのコネクタ
や筐体、電気特性等は例えばPCMCIA規格に準拠して設計
されている。
(Fourth Embodiment) The fourth embodiment relates to a terminal device that cannot be remotely upgraded by a single terminal device, but can be remotely upgraded when a smart card 15 is inserted. 4th
FIG. 17 shows the internal configuration of the terminal device in the embodiment.
In FIG. 17, a software storage ROM 16 and a card slot 17 are connected to the second bus 9 in place of the program group storage unit 5 in the terminal device, and a boot ROM 18 is connected in place of the boot ROM 7. The smart card 15 includes EEPROMs 51 to 54 connected to the second bus 9 in the first to third embodiments.
The connector, the housing, the electrical characteristics, and the like are designed in accordance with, for example, the PCMCIA standard.

【0061】ソフトウェア格納用ROM16は、ローダプ
ログラム及びカーネルを備え、端末装置におけるソフト
ウェア関連の処理が完遂できるように構成されている。
これらのソフトウェアモジュールが第1実施形態〜第3
実施形態に格納されていたソフトウェアモジュール群と
異なるのは、ソフトウェア格納用ROM16にすrされて
いるソフトウェアモジュールはリモートバージョンアッ
プが不可能な点である。カードスロット17は、端末装
置がスマートカード15を装填するために備えられ、こ
こにスマートカード15が装填されると、スマートカー
ド15内のEEPROM51〜EEPROM54が第2バス9と接続
された状態となり、プロセッサ6によりアクセスされ得
る。
The software storage ROM 16 includes a loader program and a kernel, and is configured so that software-related processing in the terminal device can be completed.
These software modules correspond to the first to third embodiments.
The difference from the software module group stored in the embodiment is that the software module stored in the software storage ROM 16 cannot be remotely upgraded. The card slot 17 is provided for the terminal device to load the smart card 15, and when the smart card 15 is loaded therein, the EEPROM 51 to the EEPROM 54 in the smart card 15 are connected to the second bus 9, It can be accessed by the processor 6.

【0062】ブートROM18は、端末装置の電源投入時
にカードスロット17におけるカード装填状態をチェッ
クし、カードスロット17にスマートカード15が挿入
されていない場合、ソフトウェア格納用ROM16に格納
されたソフトウェアモジュールを順次プロセッサ6に実
行させるようブートストラップを行い、カードスロット
17にスマートカード15が挿入されている場合、スマ
ートカード15内のEEPROM51〜EEPROM54に格納され
たソフトウェアモジュールを順次プロセッサ6に実行さ
せるようブートストラップを行う。以上のように本実施
形態によれば、リモートバージョンアップを行なえる体
勢が整っていない時期に製造され、販売された端末装置
であっても、カードスロット17が備えられてさえいれ
ば、外付けのスマートカード15を装填することにより
第1実施形態と同様のリモートバージョンアップを行う
ことができる。
The boot ROM 18 checks the card loaded state in the card slot 17 when the power of the terminal device is turned on. If the smart card 15 is not inserted in the card slot 17, the boot ROM 18 sequentially reads the software modules stored in the software storage ROM 16. When the smart card 15 is inserted into the card slot 17, the bootstrap is performed so that the processor 6 executes the software modules stored in the EEPROMs 51 to 54 in the smart card 15 sequentially. Do. As described above, according to the present embodiment, even if the terminal device is manufactured and sold at a time when it is not ready for remote version upgrade, as long as the terminal device is provided with the card slot 17, the external device can be connected to the external device. By installing the smart card 15 of this embodiment, the remote version upgrade similar to the first embodiment can be performed.

【0063】(第5実施形態)第5実施形態は、スマー
トカード15を装填することによりローダプログラムの
バージョンアップが可能となる端末装置に関する。第5
実施形態における端末装置の内部構成を図18に示す。
図18において端末装置内にはEEPROM51に代えてカー
ドスロット17が第2バス9と接続されており、ブート
ROM7に代えてブートROM18が接続されている。本実施
形態においてスマートカード15は、その内部に第1実
施形態〜第3実施形態において第2バス9と接続されて
いたEEPROM51が備えられている。EEPROM52は、ロー
ダプログラム及びカーネルを備え、EEPROM52〜EEPROM
53だけで端末装置におけるソフトウェア関連の処理が
完遂できるように構成されている。
(Fifth Embodiment) The fifth embodiment relates to a terminal device capable of upgrading a loader program by loading a smart card 15. Fifth
FIG. 18 shows the internal configuration of the terminal device in the embodiment.
In FIG. 18, a card slot 17 is connected to the second bus 9 instead of the EEPROM 51 in the terminal device.
A boot ROM 18 is connected instead of the ROM 7. In the present embodiment, the smart card 15 includes therein an EEPROM 51 connected to the second bus 9 in the first to third embodiments. The EEPROM 52 includes a loader program and a kernel.
The configuration is such that software-related processing in the terminal device can be completed with only 53.

【0064】ブートROM18は、端末装置の電源投入時
にカードスロット17におけるカード装填状態をチェッ
クし、カードスロット17にスマートカード15が挿入
されていない場合、EEPROM52に格納されたローダプロ
グラム及びカーネルを順次プロセッサ6に実行させるよ
うブートストラップを行い、カードスロット17にスマ
ートカード15が挿入されている場合、スマートカード
15内のEEPROM51に格納されたローダプログラム及び
カーネルを順次プロセッサ6に実行させるようブートス
トラップを行う。EEPROM51内のローダプログラム-カ
ーネルがプロセッサ6により実行されれば、第1実施形
態同様、EEPROM51の最新バージョンのソフトウェアモ
ジュールがダウンロード用ROM4に格納された場合に、E
EPROM52に格納されたローダプログラムを起動し、EEP
ROM52に従って最新バージョンのソフトウェアモジュ
ールをEEPROM51に格納させることができる。
The boot ROM 18 checks the loaded state of the card in the card slot 17 when the terminal device is turned on. When the smart card 15 is inserted in the card slot 17, the bootstrap is performed so that the processor 6 sequentially executes the loader program and the kernel stored in the EEPROM 51 in the smart card 15. . If the loader program-kernel in the EEPROM 51 is executed by the processor 6, as in the first embodiment, when the latest version of the software module of the EEPROM 51 is stored in the download ROM 4, E
Activate the loader program stored in EPROM 52 and execute EEP
According to the ROM 52, the latest version of the software module can be stored in the EEPROM 51.

【0065】以上のように本実施形態によれば、リモー
トバージョンアップを行なえる体勢が整っていない時期
に製造され、販売された端末装置であっても、カードス
ロット17が備えられてさえいれば、外付けのスマート
カード15を装填することにより第1実施形態と同様の
リモートバージョンアップを行うことができる。尚、第
4実施形態及び第5実施形態において、リモートバージ
ョンアップのためのソフトウェアモジュールをPCMCIA規
格準拠のスマートカード15により端末装置に提供した
が、この提供用のカードは他の規格に準拠して設計され
たものであってもよい。また、スマートカード15でな
くても書き換え可能な記録媒体ならば他のものを用いて
もよい。例えば書き換え可能な記録媒体ならDVD-RAM等
の相変化型光ディスクであってもよい。この場合、端末
装置にはカードスロット17に代えてディスクドライブ
機構を設け、ここにソフトウェアモジュール群を記録し
たDVD-RAMを装填して第4実施形態、第5実施形態と同
様の処理を行う。
As described above, according to the present embodiment, even if the terminal device is manufactured and sold at a time when the remote version upgrade is not ready, as long as the card slot 17 is provided. By installing an external smart card 15, remote version upgrade similar to that of the first embodiment can be performed. In the fourth and fifth embodiments, the software module for remote version upgrade is provided to the terminal device by the smart card 15 compliant with the PCMCIA standard. However, the card for this provision is based on another standard. It may be designed. Further, other than the smart card 15, any other rewritable recording medium may be used. For example, a rewritable recording medium may be a phase-change optical disk such as a DVD-RAM. In this case, the terminal device is provided with a disk drive mechanism in place of the card slot 17, in which a DVD-RAM storing a software module group is loaded, and the same processing as in the fourth and fifth embodiments is performed.

【0066】上記実施形態に基づいて説明してきたが、
現状において最善の効果が期待できるシステム例として
提示したに過ぎない。本発明は、その要旨を逸脱しない
範囲で変更実施することができる。端末装置の起動保証
を実現するシステムであればどのようなシステムに適用
できることはいうまでもない。以下(a)(b)(c)
・・・・に示すような変更実施が可能である。 (a)バンクデータが転送されると直ちにバージョンア
ップが行なわれる例を示したが、バンクデータをRAM
上に一時記憶し、操作者が終了ボタンまたは電源ボタン
を入力した際に上記バージョンアップの処理を行なって
もよい。
Although the description has been given based on the above embodiment,
It is only presented as an example of a system that can be expected to have the best effect at present. The present invention can be modified and implemented without departing from the gist thereof. It goes without saying that the present invention can be applied to any system as long as the system guarantees the activation of the terminal device. The following (a) (b) (c)
The following changes can be made. (A) In the above example, the version is updated immediately after the bank data is transferred.
The version upgrade process may be performed by temporarily storing the information on the top of the screen and when the operator inputs the end button or the power button.

【0067】(b)プログラムヘッダ、モジュールヘッ
ダには他のデータ構成を用いてもよい。例えば、バンク
データのヘッダ部分に各プログラムの名前、各バージョ
ン、各開始相対アドレス、各サイズ等を記録した構成で
もよい。 (c)プログラムヘッダに格納先バンクを記録し、ロー
ダプログラムがこれをチェックすることにより格納先バ
ンクを決定していたが、他の方法で行なってもよい。例
えば、プログラム名、バージョン名等に従って、バンク
の特定を行なってもよい。 (d)放送サービスをデジタル衛星放送を一例にして説
明したが、デジタルCATV等、他の放送サービスの端末装
置に本発明の構成が適用されることはいうまでもない。
(B) Other data structures may be used for the program header and module header. For example, a configuration in which the name of each program, each version, each relative start address, each size, and the like may be recorded in the header portion of the bank data. (C) The storage destination bank is recorded in the program header, and the loader program checks the storage destination bank to determine the storage destination bank. However, another method may be used. For example, a bank may be specified according to a program name, a version name, or the like. (D) The broadcasting service has been described by taking digital satellite broadcasting as an example. However, it goes without saying that the configuration of the present invention is applied to terminal devices of other broadcasting services such as digital CATV.

【0068】[0068]

【発明の効果】以上説明してきたように本発明によれ
ば、端末装置であって、固有のバンクアドレスが割り当
てられたn個(nは2以上の整数)の分割領域を有してお
り、各分割領域に1以上のソフトウェアモジュールが配
置された配置済み領域と、バージョンアップ時における
ソフトウェアモジュールのデータサイズの増加分を見込
んだ空き領域とを設けた第1メモリと、前記n個の分割
領域のうち、一つのものと同じメモリ容量を有する第2
メモリと、分割領域の何れかに配置されている1以上の
ソフトウェアモジュールの最新バージョンを格納したコ
ンテンツ部と、ソフトウェアモジュールの格納先を示す
格納先バンクアドレスを格納したヘッダ部とからなる送
信データがホスト局から送信されると、これを受信する
受信手段と、受信した送信データのヘッダ部を分離し
て、コンテンツ部に含まれている最新バージョンソフト
ウェアモジュールを第2メモリに蓄積する分離手段と、
分離されたヘッダ部からコンテンツ部の格納先を示す格
納先バンクアドレスを検出する検出手段と、第2メモリ
に蓄積されたコンテンツ部から最新バージョンのソフト
ウェアモジュールを順次読み出して、検出された格納先
バンクアドレスが割り当てられた分割領域に配置する配
置手段とを備えるように構成されているので、ソフトウ
ェア格納のためのメモリを複数の領域に分割し、バージ
ョンアップを分割領域毎に行う。これによりバージョン
アップ時にダウンロードされたソフトウェアを一時記憶
するためのメモリが分割領域一個分で済む。バンク数が
n個であると、従来メモリの実装量がプログラム量の二
倍だったのに対して、本発明では、メモリの実装量が
(1+1/n)倍になる。
As described above, according to the present invention, a terminal device has n (n is an integer of 2 or more) divided areas to which a unique bank address is assigned, A first memory provided with an arranged area in which one or more software modules are arranged in each divided area, a free area in consideration of an increase in the data size of the software module at the time of version upgrade, and the n divided areas Of the second having the same memory capacity as one
Transmission data including a memory, a content section storing the latest version of one or more software modules arranged in any of the divided areas, and a header section storing a storage destination bank address indicating a storage location of the software module is transmitted. Receiving means for receiving the data transmitted from the host station, separating means for separating the header part of the received transmission data and storing the latest version software module included in the content part in the second memory,
Detecting means for detecting a storage destination bank address indicating a storage location of the content portion from the separated header portion; and sequentially reading out the latest version of the software module from the content portion stored in the second memory, and detecting the detected storage destination bank. Since it is configured to include an arrangement means for arranging in a divided area to which an address is assigned, a memory for storing software is divided into a plurality of areas, and a version upgrade is performed for each divided area. As a result, the memory for temporarily storing the software downloaded at the time of the version upgrade is sufficient for one divided area. The number of banks
When the number is n, the mounting amount of the memory is twice the amount of the program in the related art, whereas in the present invention, the mounting amount of the memory is (1 + 1 / n) times.

【0069】故にバージョンアップ途中の異常発生に耐
え得るハードウェアをより小規模に実現できる。そのた
め、生産コスト増大という代償無しにソフトウェアモジ
ュールの充実化を実現できる。格納先バンク以外に格納
されているソフトウェアモジュールを上書きすることな
く、ダイレクトに最新バージョンソフトウェアモジュー
ルをメモリに書き込めるので、高い安全性を維持しなが
ら短期間に端末装置におけるバージョンアップを行なう
ことができる。
Therefore, it is possible to realize a smaller-scale hardware that can withstand the occurrence of an abnormality during the version upgrade. Therefore, the software modules can be enhanced without the cost of increasing the production cost. The latest version software module can be directly written to the memory without overwriting the software module stored in the storage bank other than the storage destination bank. Therefore, the version in the terminal device can be upgraded in a short time while maintaining high security.

【0070】また上記構成において、前記メモリにおけ
るn個の分割領域のうち、第1分割領域にはローダプロ
グラムのマスターが配置されると共に、第2分割領域に
はローダプログラムのバックアップが配置され、前記配
置手段は検出手段により検出されたバンクアドレスが第
1分割領域以外の分割領域を指示していれば、第1分割
領域に配置されているマスターのローダプログラムに従
って、第2メモリに蓄積された最新バージョンを第1分
割領域以外の分割領域に配置する第1配置制御部と、検
出手段により検出されたバンクアドレスが第1分割領域
を指示していれば、第2分割領域に配置されているバッ
クアップのローダプログラムに従って、第2メモリに蓄
積された最新バージョンを第1分割領域に配置する第2
配置制御部とを備えるように構成しても良く、このよう
に構成すれば、2つの分割領域にマスター、バックアッ
プのローダプログラムをそれぞれ配置するので、一方を
バージョンアップしたい場合は、他方を起動するという
制御を行うことができる。このように何れかの一方のロ
ーダプログラムの起動により、ローダプログラム自体の
バージョンアップが可能となる。サービスマンの派遣等
多大な人件費の負担を伴うROM交換を行うこと無しに
バージョンアップが実現できるので、ローダプログラム
のバグ修正、仕様変更等が容易になる。
In the above configuration, of the n divided areas in the memory, a master of the loader program is arranged in the first divided area, and a backup of the loader program is arranged in the second divided area. If the bank address detected by the detecting unit indicates a divided area other than the first divided area, the arranging means according to the loader program of the master arranged in the first divided area, stores the latest data stored in the second memory. A first arrangement control unit for arranging the version in a divided area other than the first divided area; and a backup arranged in the second divided area if the bank address detected by the detecting means indicates the first divided area. Allocating the latest version stored in the second memory in the first divided area according to the second loader program.
The configuration may include an arrangement control unit. With this arrangement, the master and backup loader programs are arranged in the two divided areas, respectively. Therefore, if one of them needs to be upgraded, the other is started. Control can be performed. As described above, by starting one of the loader programs, the version of the loader program itself can be upgraded. Since the version upgrade can be realized without performing a ROM exchange that involves a large labor burden such as dispatching a serviceman, it is easy to fix a bug in the loader program and change specifications.

【0071】また上記構成において、前記メモリにおけ
るn個の分割領域のうち、第1分割領域にはローダプロ
グラムのマスターが配置され、前記配置手段は検出手段
により検出されたバンクアドレスにより指示される分割
領域が第1分割領域以外の分割領域であれば、第1分割
領域に配置されているローダプログラムに従って、第2
メモリに蓄積された最新バージョンを第1分割領域以外
の分割領域に配置する第1配置制御部と、検出手段によ
り検出されたバンクアドレスにより指示される分割領域
が第1分割領域であれば、第1分割領域に配置されてい
るローダプログラムに従って、第2メモリに蓄積された
最新バージョンを配置手段における第1分割領域とは異
なる第2分割領域に配置する第2配置制御部と、第2分
割領域への配置が行われると、第2配置制御部による配
置以前に第2分割領域に配置されていた1以上のソフト
ウェアモジュールが第2メモリに蓄積されたかを監視す
る監視部と、以前に配置されていた1以上のソフトウェ
アモジュールの最新バージョンが第2メモリに蓄積され
ると、第2分割領域に配置されているローダプログラム
に従って、第2メモリに蓄積された1以上のソフトウェ
アモジュールを第1分割領域に配置する第3配置制御部
とを備えるように構成しても良く、この構成によれば、
分割領域に格納されているソフトウェア群の最新版が送
信された場合、当該最新版を第2分割領域に書き込むの
で、端末装置に配置されるローダプログラムをマスター
のみにすることができ、バックアップのローダプログラ
ムの代わりに別のソフトウェアを配置することができ
る。
Further, in the above configuration, a master of the loader program is arranged in the first divided area among the n divided areas in the memory, and the arranging means is divided by the bank address detected by the detecting means. If the area is a divided area other than the first divided area, the second area is set according to the loader program arranged in the first divided area.
A first arrangement control unit for arranging the latest version stored in the memory in a divided area other than the first divided area; and a first divided area designated by the bank address detected by the detecting means, A second arrangement control unit for arranging the latest version stored in the second memory in a second divided area different from the first divided area in the arrangement means according to a loader program arranged in the one divided area; When the arrangement is performed, the monitoring unit that monitors whether one or more software modules arranged in the second divided area before the arrangement by the second arrangement control unit is stored in the second memory, When the latest version of the one or more software modules has been stored in the second memory, the second memo is stored in accordance with the loader program located in the second divided area. One or more software modules stored be configured to include a third arrangement control unit to place the first divided area may, according to this configuration,
When the latest version of the software group stored in the divided area is transmitted, the latest version is written in the second divided area, so that the loader program arranged in the terminal device can be used only as the master, and the backup loader can be used. Other software can be placed in place of the program.

【0072】また上記構成において、送信データのヘッ
ダ部は、複数のバンクアドレスを有し、各バンクアドレ
スは、コンテンツ部に含まれている各ソフトウェアモジ
ュールの格納先を示しており、前記端末装置は前記n個
の分割領域のうち、一つのものと同じメモリ容量を有す
る第3メモリを備え、前記配置手段は送信データのコン
テンツ部にソフトウェアモジュールの最新バージョンが
配置されれば、何れかのソフトウェアを取り出す取出部
と、検出手段により検出されたバンクアドレスにより指
示された分割領域に配置されている複数のソフトウェア
モジュールを第3メモリに配置する第1配置制御部と、
第3メモリ内に配置された複数のソフトウェアモジュー
ルの一部を、第2メモリから取り出された最新バージョ
ンに差し替える差替部と、第3メモリ内の分割領域の複
数のソフトウェアモジュールが差し替えられると、差替
後の第3メモリの内容を識別された分割領域に配置する
第2配置制御部と、第2メモリの内容が分割領域に配置
されると、別のソフトウェアモジュールを取り出させる
取出制御部とを備えるように構成しても良く、この構成
によれば、バージョンアップが必要なソフトウェアモジ
ュールのみを放送局が送信し、端末装置は送信されたこ
れらのソフトウェアモジュールを適宜受信して、これを
用いてソフトウェアの差し替えを行う。分割領域に格納
済みのソフトウェアの総入れ替えを行う場合と比較し
て、バージョンアップに要する時間が短くて良いので、
端末装置によるバージョンアップをより短時間で完了さ
せることができる。
In the above configuration, the header part of the transmission data has a plurality of bank addresses, each bank address indicates a storage destination of each software module included in the content part, and A third memory having the same memory capacity as one of the n divided areas is provided, and the arranging unit executes any software if the latest version of the software module is arranged in the content part of the transmission data. A take-out unit to take out, a first arrangement control unit to arrange a plurality of software modules arranged in a divided area specified by a bank address detected by the detection means in a third memory;
When the replacement unit that replaces a part of the plurality of software modules arranged in the third memory with the latest version extracted from the second memory and the plurality of software modules in the divided area in the third memory are replaced, A second arrangement control unit for arranging the contents of the third memory after replacement in the identified divided area, and an extraction control unit for fetching another software module when the contents of the second memory are arranged in the divided area. According to this configuration, the broadcast station transmits only the software modules that need to be upgraded, and the terminal device appropriately receives the transmitted software modules and uses the software modules. To replace the software. Compared with the case of replacing all software stored in the divided area, the time required for version upgrade can be shorter,
The version upgrade by the terminal device can be completed in a shorter time.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本実施形態におけるリモートダウンロードシス
テムの端末装置の構成を示す図である。
FIG. 1 is a diagram illustrating a configuration of a terminal device of a remote download system according to an embodiment.

【図2】(a)TSデコーダ2が復号するエレメンタリ−
ストリームの構成を示す図である。 (b)プログラムヘッダの構成を示す図である。
FIG. 2 (a) Elementary decoding by TS decoder 2
FIG. 3 is a diagram illustrating a configuration of a stream. FIG. 3B is a diagram illustrating a configuration of a program header.

【図3】(a)ソフトウェアモジュールの構成を示す図
である。 (b)モジュールヘッダの構成を示す図である。
FIG. 3A illustrates a configuration of a software module. FIG. 3B is a diagram illustrating a configuration of a module header.

【図4】第1バンク〜第2バンクにどのようなソフトウ
ェアモジュールが格納されているかを示す図である。
FIG. 4 is a diagram showing what software modules are stored in a first bank and a second bank.

【図5】第1バンク〜第2バンクにどのようなソフトウ
ェアモジュールが格納されているかを示す図である。
FIG. 5 is a diagram showing what software modules are stored in a first bank and a second bank.

【図6】第3実施形態におけるプライベートストリーム
の構成を示す図である。
FIG. 6 is a diagram showing a configuration of a private stream in a third embodiment.

【図7】第3実施形態における端末装置10の構成を示
す図である。
FIG. 7 is a diagram illustrating a configuration of a terminal device 10 according to a third embodiment.

【図8】第1実施形態におけるカーネルの処理内容を示
すフロ−チャ−トである。
FIG. 8 is a flowchart showing processing contents of a kernel in the first embodiment.

【図9】第1実施形態におけるローダプログラムの処理
内容を示すフロ−チャ−トである。
FIG. 9 is a flowchart showing processing contents of a loader program in the first embodiment.

【図10】第2実施形態におけるローダプログラムの処
理内容を示すフロ−チャ−トである。
FIG. 10 is a flowchart showing processing contents of a loader program in the second embodiment.

【図11】第3実施形態におけるローダプログラムの処
理内容を示すフロ−チャ−トである。
FIG. 11 is a flowchart showing processing contents of a loader program in a third embodiment.

【図12】第nバンク宛のバンクデータが第1実施形態
におけるローダプログラムによりどのようにROMに格
納されるかを示す説明図である。
FIG. 12 is an explanatory diagram showing how bank data addressed to the n-th bank is stored in the ROM by the loader program in the first embodiment.

【図13】第1バンク宛のバンクデータが第1実施形態
におけるローダプログラムによりどのようにROMに格
納されるかを示す説明図である。
FIG. 13 is an explanatory diagram showing how bank data addressed to the first bank is stored in the ROM by the loader program according to the first embodiment.

【図14】第1バンク宛のバンクデータが第2実施形態
におけるローダプログラムによりどのようにROMに格
納されるかを示す説明図である。
FIG. 14 is an explanatory diagram showing how bank data addressed to a first bank is stored in a ROM by a loader program according to a second embodiment.

【図15】各バンク宛のソフトウェアモジュールが第3
実施形態におけるローダプログラムによりどのようにR
OMに格納されるかを示す説明図である。
FIG. 15 shows that the software module addressed to each bank is the third.
How the loader program in the embodiment
It is explanatory drawing which shows whether it is stored in OM.

【図16】各バンク宛のソフトウェアモジュールが第3
実施形態におけるローダプログラムによりどのようにR
OMに格納されるかを示す説明図である。
FIG. 16 shows that the software module addressed to each bank is the third.
How the loader program in the embodiment
It is explanatory drawing which shows whether it is stored in OM.

【図17】第4実施形態における端末装置10の構成を
示す図である。
FIG. 17 is a diagram illustrating a configuration of a terminal device 10 according to a fourth embodiment.

【図18】第5実施形態における端末装置10の構成を
示す図である。
FIG. 18 is a diagram illustrating a configuration of a terminal device 10 according to a fifth embodiment.

【図19】従来の端末装置の構成を示す図である。FIG. 19 is a diagram showing a configuration of a conventional terminal device.

【符号の説明】[Explanation of symbols]

1 チューナ 2 TSデコーダ 3 MPEGデコーダ 5 プログラム群格納部 6 プロセッサ 10 端末装置 11 カーネル 12 ローダプログラム 22 ローダプログラム DESCRIPTION OF SYMBOLS 1 Tuner 2 TS decoder 3 MPEG decoder 5 Program group storage part 6 Processor 10 Terminal device 11 Kernel 12 Loader program 22 Loader program

───────────────────────────────────────────────────── フロントページの続き (72)発明者 喜納 久行 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 宮部 義幸 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 ──────────────────────────────────────────────────の Continuing on the front page (72) Inventor Hisayuki Kino 1006 Kazuma Kadoma, Osaka Prefecture Matsushita Electric Industrial Co., Ltd.

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】 端末装置であって、 固有のバンクアドレスが割り当てられたn個(nは2以上の
整数)の分割領域を有しており、各分割領域に1以上の
ソフトウェアモジュールが配置された配置済み領域と、
バージョンアップ時におけるソフトウェアモジュールの
データサイズの増加分を見込んだ空き領域とを設けた第
1メモリと、 前記n個の分割領域のうち、一つのものと同じメモリ容
量を有する第2メモリと、 分割領域の何れかに配置されている1以上のソフトウェ
アモジュールの最新バージョンを格納したコンテンツ部
と、ソフトウェアモジュールの格納先を示す格納先バン
クアドレスを格納したヘッダ部とからなる送信データが
ホスト局から送信されると、これを受信する受信手段
と、 受信した送信データのヘッダ部を分離して、コンテンツ
部に含まれている最新バージョンソフトウェアモジュー
ルを第2メモリに蓄積する分離手段と、 分離されたヘッダ部からコンテンツ部の格納先を示す格
納先バンクアドレスを検出する検出手段と、 第2メモリに蓄積されたコンテンツ部から最新バージョ
ンのソフトウェアモジュールを順次読み出して、検出さ
れた格納先バンクアドレスが割り当てられた分割領域に
配置する配置手段と を備えることを特徴とする端末装置。
1. A terminal device, comprising n (n is an integer of 2 or more) divided areas to which a unique bank address is assigned, wherein one or more software modules are arranged in each divided area. Placed area,
A first memory provided with a free area in anticipation of an increase in the data size of the software module at the time of version upgrade; a second memory having the same memory capacity as one of the n divided areas; Transmission data including a content section storing the latest version of one or more software modules arranged in any of the areas and a header section storing a storage destination bank address indicating a storage location of the software module is transmitted from the host station. Then, receiving means for receiving the data, a separating means for separating the header part of the received transmission data and storing the latest version software module included in the content part in the second memory, and a separated header Detecting means for detecting a storage destination bank address indicating a storage destination of the content part from the part; 2 sequentially reads the latest version of the software module from the stored content portion in the memory, the terminal apparatus characterized by comprising an arrangement means for arranging the divided region detected storage destination bank address is assigned.
【請求項2】 前記メモリにおけるn個の分割領域のう
ち、第1分割領域にはローダプログラムのマスターが配
置されると共に、第2分割領域にはローダプログラムの
バックアップが配置され、 前記配置手段は検出手段により検出されたバンクアドレ
スが第1分割領域以外の分割領域を指示していれば、第
1分割領域に配置されているマスターのローダプログラ
ムに従って、第2メモリに蓄積された最新バージョンを
第1分割領域以外の分割領域に配置する第1配置制御部
と、 検出手段により検出されたバンクアドレスが第1分割領
域を指示していれば、第2分割領域に配置されているバ
ックアップのローダプログラムに従って、第2メモリに
蓄積された最新バージョンを第1分割領域に配置する第
2配置制御部とを備えることを特徴とする請求項1記載
の端末装置。
2. A loader program master is arranged in a first divided area of the n divided areas in the memory, and a backup of the loader program is arranged in a second divided area. If the bank address detected by the detecting means points to a divided area other than the first divided area, the latest version stored in the second memory is updated according to the master loader program arranged in the first divided area. A first arrangement control unit arranged in a divided area other than the one divided area; and a backup loader program arranged in the second divided area if the bank address detected by the detecting means indicates the first divided area. And a second arrangement control unit for arranging the latest version stored in the second memory in the first divided area according to The terminal device according to claim 1.
【請求項3】 前記第1分割領域においてローダプログ
ラムのマスターと共に配置されているソフトウェアモジ
ュールは、他の分割領域に配置されているソフトウェア
モジュールよりもバージョンアップの頻度が低いことを
特徴とする請求項2記載の端末装置。
3. The software module arranged together with the master of the loader program in the first divided area has a lower frequency of upgrading than the software modules arranged in other divided areas. 3. The terminal device according to 2.
【請求項4】 前記メモリにおけるn個の分割領域のう
ち、第1分割領域にはローダプログラムのマスターが配
置され、 前記配置手段は検出手段により検出されたバンクアドレ
スにより指示される分割領域が第1分割領域以外の分割
領域であれば、第1分割領域に配置されているローダプ
ログラムに従って、第2メモリに蓄積された最新バージ
ョンを第1分割領域以外の分割領域に配置する第1配置
制御部と、 検出手段により検出されたバンクアドレスにより指示さ
れる分割領域が第1分割領域であれば、第1分割領域に
配置されているローダプログラムに従って、第2メモリ
に蓄積された最新バージョンを配置手段における第1分
割領域とは異なる第2分割領域に配置する第2配置制御
部と、 第2分割領域への配置が行われると、第2配置制御部に
よる配置以前に第2分割領域に配置されていた1以上の
ソフトウェアモジュールの最新バージョンが第2メモリ
に蓄積されたかを監視する監視部と、 以前に配置されていた1以上のソフトウェアモジュール
の最新バージョンが第2メモリに蓄積されると、第2分
割領域に配置されているローダプログラムに従って、第
2メモリに蓄積された1以上のソフトウェアモジュール
を第1分割領域に配置する第3配置制御部とを備えるこ
とを特徴とする請求項1記載の端末装置。
4. A master of a loader program is arranged in a first divided area of the n divided areas in the memory, and the arranging means is a divided area designated by a bank address detected by a detecting means. If the divided area is other than the one divided area, the first arrangement control unit arranges the latest version stored in the second memory in the divided area other than the first divided area according to the loader program arranged in the first divided area. If the divided area indicated by the bank address detected by the detecting means is the first divided area, the latest version stored in the second memory is arranged according to the loader program arranged in the first divided area. A second arrangement control unit that is arranged in a second divided area different from the first divided area, and when the arrangement in the second divided area is performed, the second arrangement A monitoring unit that monitors whether the latest version of one or more software modules placed in the second divided area before the placement by the control unit is stored in the second memory; and a monitoring unit that monitors one or more software modules that were placed before. When the latest version is stored in the second memory, a third arrangement control unit that arranges one or more software modules stored in the second memory in the first divided area according to a loader program arranged in the second divided area. The terminal device according to claim 1, comprising:
【請求項5】 前記第1分割領域においてローダプログ
ラムのマスターと共に配置されているソフトウェアモジ
ュールは、他の分割領域に配置されているソフトウェア
モジュールよりもバージョンアップの頻度が低いことを
特徴とする請求項4記載の端末装置。
5. The software module arranged together with the master of the loader program in the first divided area has a lower frequency of upgrading than the software modules arranged in other divided areas. 5. The terminal device according to 4.
【請求項6】送信データのコンテンツ部は、ソフトウェ
アモジュールの最新バージョンを複数有し、ヘッダ部
は、複数のバンクアドレスを有し、各バンクアドレス
は、コンテンツ部に含まれている各ソフトウェアモジュ
ールの格納先を示しており、 前記端末装置は前記n個の分割領域のうち、一つのもの
と同じメモリ容量を有する第3メモリを備え、 前記配置手段は送信データのコンテンツ部にソフトウェ
アモジュールの最新バージョンが配置されれば、何れか
のソフトウェアを取り出す取出部と、 検出手段により検出されたバンクアドレスにより指示さ
れた分割領域に配置されている複数のソフトウェアモジ
ュールを第3メモリに配置する第1配置制御部と、 第3メモリ内に配置された複数のソフトウェアモジュー
ルの一部を、第2メモリから取り出された最新バージョ
ンに差し替える差替部と、 第3メモリ内の分割領域の複数のソフトウェアモジュー
ルが差し替えられると、差替後の第3メモリの内容を識
別された分割領域に配置する第2配置制御部と、 第2メモリの内容が分割領域に配置されると、別のソフ
トウェアモジュールを取り出させる取出制御部とを備え
ることを特徴とする請求項1記載の端末装置。
6. The contents section of the transmission data has a plurality of latest versions of the software modules, the header section has a plurality of bank addresses, and each bank address is associated with each software module included in the contents section. The terminal device includes a third memory having the same memory capacity as one of the n divided areas, and the arranging means includes a latest version of a software module in a content part of transmission data. Is arranged, a take-out unit for taking out any software, and a first arrangement control for arranging a plurality of software modules arranged in the divided area specified by the bank address detected by the detection means in the third memory And a part of the plurality of software modules arranged in the third memory in a second memo. A replacement unit that replaces the latest version taken out of the third memory; and a second unit that, when a plurality of software modules in the divided area in the third memory are replaced, places the replaced contents of the third memory in the identified divided area. 2. The terminal device according to claim 1, further comprising an arrangement control unit, and an extraction control unit configured to extract another software module when the contents of the second memory are arranged in the divided area.
【請求項7】 m本のソフトウェアを分散して格納して
いるn個(m≧n≧2)の分割領域から構成され、その
うち2個の分割領域にローダプログラムのマスターと、
バックアップとを配しているメモリと、何れかの分割領
域に格納されているソフトウェア群の最新バージョンを
含む通信データを受信する受信部と、受信したソフトウ
ェア群の最新バージョンを蓄積するバッファと、受信部
が通信データの受信を開始すると、ローダプログラムの
マスターを実行する実行部とを備える端末装置に用いら
れるローダプログラムに適用されるダウンロード方法で
あって、 バッファに蓄積されたソフトウェア群がどの分割領域に
格納されているソフトウェア群の最新バージョンである
かを識別する識別ステップと、 識別された分割領域は、実行中のローダプログラムが配
された分割領域か否かを判定する判定ステップと、 実行中のローダプログラムが配された分割領域でなけれ
ば、識別された格納先にバッファ内のソフトウェア群を
書き込む書込ステップと、 実行中のローダプログラムが配された分割領域であれ
ば、別分割領域に配されたバックアップのローダプログ
ラムを実行部に起動する起動ステップとを備えることを
特徴とするダウンロード方法。
7. It is composed of n (m ≧ n ≧ 2) divided areas storing m pieces of software in a distributed manner, wherein two divided areas include a master of a loader program,
A memory for storing a backup, a receiving unit for receiving communication data including the latest version of the software group stored in any of the divided areas, a buffer for storing the latest version of the received software group, And an execution unit that executes a master of the loader program when the unit starts receiving the communication data. A download method applied to a loader program used in a terminal device including: An identification step for identifying whether or not the latest version of the software group stored in the software is stored; a determination step for determining whether the identified divided area is a divided area in which a loader program being executed is allocated; If it is not a divided area where the loader program of A writing step of writing a software group; and a starting step of starting a backup loader program arranged in another divided area to the execution unit if the divided area is provided with the executing loader program. How to download.
【請求項8】 前記通信データは、最新バージョンの格
納先となる分割領域を指示する格納先情報を含み、 前記識別ステップは、 バッファにソフトウェア群が蓄積されると、受信した通
信データに含まれている格納先情報を認識する第1認識
サブステップを有し、 前記判定ステップは、 格納先情報が認識されると、現在実行部により実行され
ているローダプログラムがどのメモリ分割領域に配され
ているものであるかを認識する第2認識サブステップ
と、 第1認識サブステップにより認識された格納先メモリ
と、第2認識サブステップにより認識された分割領域と
が一致するか否かを判定する判定サブステップとを備え
ることを特徴とする請求項7記載のダウンロード方法。
8. The communication data includes storage location information indicating a divided area in which a latest version is to be stored. The identification step is included in received communication data when a software group is accumulated in a buffer. A first recognition sub-step of recognizing the storage location information stored in the memory. In the determination step, when the storage location information is recognized, the loader program currently being executed by the execution unit is allocated to any of the memory divided areas. A second recognition sub-step of recognizing whether or not the storage area is recognized by the first recognition sub-step, and determining whether the divided area recognized by the second recognition sub-step matches the storage area. The download method according to claim 7, further comprising a determination sub-step.
【請求項9】 m本のソフトウェアを分散して格納して
いるn個(m≧n≧2)の分割領域から構成され、その
うち1個の分割領域にローダプログラムのマスターを配
しているメモリと、何れかの分割領域に格納されている
ソフトウェア群の最新バージョンを含む通信データを受
信する受信部と、受信したソフトウェア群の最新バージ
ョンを蓄積するバッファと、受信部が通信データの受信
を開始すると、ローダプログラムのマスターを実行する
実行部とを備える端末装置において用いられるローダプ
ログラムに適用されるダウンロード方法であって、 バッファに蓄積されたソフトウェア群がどの分割領域に
格納されているソフトウェア群の最新バージョンである
かを識別する識別ステップと、 識別された分割領域は、実行中のローダプログラムが配
された分割領域か否かを判定する第1判定ステップと、 格納先が実行中のローダプログラムが配された分割領域
であれば(以下、この分割領域を旧ローダ分割領域とい
う。)、別の分割領域(以下、この分割領域を新ローダ
分割領域という。)にバッファ内のソフトウェア群に書
き込む第1書込ステップと、 新ローダ分割領域に書き込まれたソフトウェア群に含ま
れているローダプログラムを再起動する起動ステップ
と、 ローダプログラムが再起動されると、新ローダ分割領域
において以前格納されていたソフトウェア群がバッファ
に蓄積されたかを判定する第2判定ステップと、 以前格納されていたソフトウェア群がバッファに蓄積さ
れると、これらのソフトウェア群を旧ローダ分割領域に
書き込む第2書込ステップとを備えることを特徴とする
ダウンロード方法。
9. A memory comprising n (m.gtoreq.n.gtoreq.2) divided areas in which m pieces of software are stored in a distributed manner, wherein a master of a loader program is arranged in one of the divided areas. And a receiving unit that receives communication data including the latest version of the software group stored in any of the divided areas, a buffer that stores the latest version of the received software group, and the receiving unit starts receiving communication data. Then, a download method applied to a loader program used in a terminal device having an execution unit that executes a master of the loader program, wherein the software group stored in the buffer is stored in any divided area of the software group The identification step for identifying the latest version and the identified divided area are performed by the executing loader program. A first determination step of determining whether or not the storage area is a divided area in which a loader program being executed is allocated (hereinafter, this divided area is referred to as an old loader divided area). A first writing step of writing the software group in the buffer into another divided area (hereinafter, this divided area is referred to as a new loader divided area); and a loader included in the software group written in the new loader divided area. A startup step of restarting the program; a second determination step of determining whether the software group previously stored in the new loader divided area has been stored in the buffer when the loader program is restarted; A second writing step of writing the software group into the old loader divided area when the software group is accumulated in the buffer. How to download characterized the door.
【請求項10】 m本のソフトウェアを分散して格納し
ているn個(m≧n≧2)の分割領域から構成され、そ
のうち2個の分割領域にローダプログラムのマスター
と、バックアップとを配しているメモリと、通信データ
であって、何れかの分割領域に格納されているソフトウ
ェアの最新バージョンを含むものを受信する受信部と、
受信したソフトウェア群の最新バージョンを蓄積する第
1バッファと、何れかの分割領域に格納されているソフ
トウェア群を格納し得る第2バッファと、受信部が通信
データの受信を開始すると、ローダプログラムのマスタ
ーを実行する実行部とを備える端末装置に用いられるロ
ーダプログラムに適用されるダウンロード方法であっ
て、 バッファにソフトウェアの最新バージョンが複数蓄積さ
れれば、何れかのソフトウェアを取り出す取出ステップ
と、 取り出された最新バージョンソフトウェアがどの分割領
域に格納されているソフトウェアの最新バージョンであ
るかを識別する識別ステップと、 識別された分割領域に格納されているソフトウェア群を
第2バッファに書き込む第1書込ステップと、 第2バッファ内に書き込まれると分割領域のソフトウェ
ア群の一部を、第1バッファ内の最新バージョンを用い
て差し替える差替ステップと、 第2バッファ内の分割領域のソフトウェア群が差し替え
られると、差替後の第2バッファの内容を分割領域に書
き込む第2書込ステップと、 第2バッファの内容が分割領域に書き込まれると、別の
ソフトウェアモジュールを取り出させる制御ステップと
を備えることを特徴とするダウンロード方法。
10. A system comprising n (m ≧ n ≧ 2) divided areas storing m pieces of software in a distributed manner, wherein a master of a loader program and a backup are allocated to two of the divided areas. And a receiving unit that receives communication data, which includes the latest version of software stored in any of the divided areas,
A first buffer for storing the latest version of the received software group, a second buffer for storing a software group stored in any of the divided areas, and a loader program when the receiving unit starts receiving communication data. A download method applied to a loader program used for a terminal device having an execution unit for executing a master, wherein if a plurality of latest versions of software are accumulated in a buffer, an extraction step of extracting any software, An identification step for identifying in which divided area the latest version software is the latest version of software stored in the divided area; and a first writing for writing the software group stored in the identified divided area to the second buffer Step and split area when written in the second buffer Replacing the part of the software group in the area using the latest version in the first buffer; and replacing the software group in the divided area in the second buffer, the contents of the replaced second buffer are replaced. A download method, comprising: a second writing step of writing to a divided area; and a control step of taking out another software module when the contents of the second buffer are written to the divided area.
【請求項11】 m本のソフトウェアを分散して格納し
ているn個(m≧n≧2)の分割領域から構成され、そ
のうち2個の分割領域にローダプログラムのマスター
と、バックアップとを配しているメモリと、何れかの分
割領域に格納されているソフトウェア群の最新バージョ
ンを含む通信データを受信する受信部と、受信したソフ
トウェア群の最新バージョンを蓄積するバッファと、受
信部が通信データの受信を開始すると、ローダプログラ
ムのマスターを実行する実行部とを備える端末装置に用
いられるローダプログラムを記録した記録媒体であっ
て、 バッファに蓄積されたソフトウェア群がどの分割領域に
格納されているソフトウェア群の最新バージョンである
かを識別する識別ステップと、 識別された分割領域は、実行中のローダプログラムが配
された分割領域か否かを判定する判定ステップと、 実行中のローダプログラムが配された分割領域でなけれ
ば、識別された格納先にバッファ内のソフトウェア群を
書き込む書込ステップと、 実行中のローダプログラムが配された分割領域であれ
ば、別分割領域に配されたローダプログラムを実行部に
起動する起動ステップとを備えることを特徴とする記録
媒体。
11. A loader program master and a backup are allocated to two divided areas, wherein n divided areas (m ≧ n ≧ 2) storing m pieces of software in a distributed manner. A receiving unit for receiving communication data including the latest version of the software group stored in any of the divided areas; a buffer for storing the latest version of the received software group; Is a recording medium that stores a loader program used in a terminal device including an execution unit that executes a master of the loader program, in which divided area the software group stored in the buffer is stored. The identification step for identifying the latest version of the software group and the identified divided area are executed by the loader program being executed. A determining step of determining whether or not the program is a divided area in which a loader program is being executed; and a writing step of writing a software group in a buffer to an identified storage destination if the executing loader program is not a divided area. A starting step of starting the loader program arranged in another divided area in the execution section if the divided area is arranged with the executing loader program.
【請求項12】 前記通信データは、最新バージョンの
格納先となる分割領域を指示する格納先情報を含み、 前記識別ステップは、 バッファにソフトウェア群が蓄積されると、受信した通
信データに含まれている格納先情報を認識する第1認識
サブステップを有し、 前記判定ステップは、 格納先情報が認識されると、現在実行部により実行され
ているローダプログラムがどのメモリ分割領域に配され
ているものであるかを認識する第2認識サブステップ
と、 第1認識サブステップにより認識された格納先メモリ
と、第2認識サブステップにより認識された分割領域と
が一致するか否かを判定する判定サブステップと、 を備えることを特徴とする請求項11記載の記録媒体。
12. The communication data includes storage location information indicating a divided area for storing a latest version. The identification step is included in received communication data when a software group is accumulated in a buffer. A first recognition sub-step of recognizing the storage location information stored in the memory. In the determination step, when the storage location information is recognized, the loader program currently being executed by the execution unit is allocated to any of the memory divided areas. A second recognition sub-step of recognizing whether or not the storage area is recognized by the first recognition sub-step, and determining whether the divided area recognized by the second recognition sub-step matches the storage area. The recording medium according to claim 11, comprising: a determination sub-step.
【請求項13】 m本のソフトウェアを分散して格納し
ているn個(m≧n≧2)の分割領域から構成され、そ
のうち1個の分割領域にローダプログラムのマスターを
配しているメモリと、何れかの分割領域に格納されてい
るソフトウェア群の最新バージョンを含む通信データを
受信する受信部と、受信したソフトウェア群の最新バー
ジョンを蓄積するバッファと、受信部が通信データの受
信を開始すると、ローダプログラムのマスターを実行す
る実行部とを備える端末装置において用いられるローダ
プログラムを記録した記録媒体であって、 バッファに蓄積されたソフトウェア群がどの分割領域に
格納されているソフトウェア群の最新バージョンである
かを識別する識別ステップと、 識別された分割領域は、実行中のローダプログラムが配
された分割領域か否かを判定する第1判定ステップと、 格納先が実行中のローダプログラムが配された分割領域
であれば(以下、この分割領域を旧ローダ分割領域とい
う。)、別の分割領域(以下、この分割領域を新ローダ
分割領域という。)にバッファ内のソフトウェア群に書
き込む第1書込ステップと、 新ローダ分割領域に書き込まれたソフトウェア群に含ま
れているローダプログラムを再起動する起動ステップ
と、 ローダプログラムが再起動されると、新ローダ分割領域
において以前格納されていたソフトウェア群がバッファ
に蓄積されたかを判定する第2判定ステップと、 以前格納されていたソフトウェア群がバッファに蓄積さ
れると、これらのソフトウェア群を旧ローダ分割領域に
書き込む第2書込ステップとを備えることを特徴とする
記録媒体。
13. A memory comprising n (m ≧ n ≧ 2) divided areas storing m pieces of software in a distributed manner, wherein a master of a loader program is arranged in one of the divided areas. And a receiving unit that receives communication data including the latest version of the software group stored in any of the divided areas, a buffer that stores the latest version of the received software group, and the receiving unit starts receiving communication data. Then, the storage medium storing the loader program used in the terminal device including the execution unit that executes the master of the loader program, wherein the software group stored in the buffer is the latest software group stored in any divided area The identification step for identifying whether the version is a version, and the identified divided area are allocated by the executing loader program. A first determining step of determining whether the divided area is a divided area where the loader program being executed is allocated (hereinafter, this divided area is referred to as an old loader divided area). A first writing step of writing a software group in a buffer into a divided area (hereinafter, this divided area is referred to as a new loader divided area), and reloading a loader program included in the software group written in the new loader divided area. A startup step for starting; a second determination step for determining whether the software group previously stored in the new loader divided area has been accumulated in the buffer when the loader program is restarted; and a software group previously stored. A second writing step of writing the software group into the old loader divided area when the software group is accumulated in the buffer. Recording medium according to.
【請求項14】 m本のソフトウェアを分散して格納し
ているn個(m≧n≧2)の分割領域から構成され、そ
のうち2個の分割領域にローダプログラムのマスター
と、バックアップとを配しているメモリと、通信データ
であって、何れかの分割領域に格納されているソフトウ
ェアの最新バージョンを含むものを受信する受信部と、
受信したソフトウェア群の最新バージョンを蓄積する第
1バッファと、何れかの分割領域に格納されているソフ
トウェア群を格納し得る第2バッファと、受信部が通信
データの受信を開始すると、ローダプログラムのマスタ
ーを実行する実行部とを備える端末装置に用いられるロ
ーダプログラムを記録した記録媒体であって、 前記ローダプログラムは、 バッファにソフトウェアの最新バージョンが複数蓄積さ
れれば、何れかのソフトウェアを取り出す取出ステップ
と、 取り出された最新バージョンソフトウェアがどの分割領
域に格納されているソフトウェアの最新バージョンであ
るかを識別する識別ステップと、 識別された分割領域に格納されているソフトウェア群を
第2バッファに書き込む第1書込ステップと、 第2バッファ内に書き込まれると分割領域のソフトウェ
ア群の一部を、第1バッファ内の最新バージョンを用い
て差し替える差替ステップと、 第1バッファ内の分割領域のソフトウェア群が差し替え
られると、差替後のバッファの内容を分割領域に書き込
む第2書込ステップと、 バッファの内容が分割領域に書き込まれると、別のソフ
トウェアモジュールを取り出させる制御ステップとを備
えることを特徴とする記録媒体。
14. A storage system comprising n (m ≧ n ≧ 2) divided areas storing m pieces of software in a distributed manner, of which a loader program master and a backup are allocated to two divided areas. And a receiving unit that receives communication data, which includes the latest version of software stored in any of the divided areas,
A first buffer for storing the latest version of the received software group, a second buffer for storing a software group stored in any of the divided areas, and a loader program when the receiving unit starts receiving communication data. A storage medium storing a loader program used for a terminal device having an execution unit for executing a master, wherein the loader program extracts one of the software when a plurality of latest versions of the software are accumulated in a buffer. Step, an identification step of identifying which of the divided areas the extracted latest version software is the latest version of software stored in, and writing a software group stored in the identified divided area to the second buffer A first writing step and writing in a second buffer When the software group of the divided area in the first buffer is replaced, a replacement step of replacing a part of the software group of the divided area by using the latest version in the first buffer when the software is replaced. A recording medium, comprising: a second writing step of writing contents to a divided area; and a control step of taking out another software module when the contents of a buffer are written to the divided area.
JP15488798A 1997-06-05 1998-06-03 Terminal device capable of remote download, download method applied to a loader program provided in the terminal device, and recording medium recording the loader program Expired - Lifetime JP4084461B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15488798A JP4084461B2 (en) 1997-06-05 1998-06-03 Terminal device capable of remote download, download method applied to a loader program provided in the terminal device, and recording medium recording the loader program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP14806797 1997-06-05
JP9-148067 1997-06-05
JP15488798A JP4084461B2 (en) 1997-06-05 1998-06-03 Terminal device capable of remote download, download method applied to a loader program provided in the terminal device, and recording medium recording the loader program

Publications (2)

Publication Number Publication Date
JPH1153193A true JPH1153193A (en) 1999-02-26
JP4084461B2 JP4084461B2 (en) 2008-04-30

Family

ID=26478411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15488798A Expired - Lifetime JP4084461B2 (en) 1997-06-05 1998-06-03 Terminal device capable of remote download, download method applied to a loader program provided in the terminal device, and recording medium recording the loader program

Country Status (1)

Country Link
JP (1) JP4084461B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003522481A (en) * 2000-02-04 2003-07-22 サイエンティフィック−アトランタ, インコーポレイテッド Set-top cable television control device and method for maintaining and updating set-top receiver operating system software, including boot loader software and code version table
JP2007073069A (en) * 2000-05-17 2007-03-22 Fujitsu Ltd Computer, automatic resource application processing program, and computer-readable record medium with the same recorded therein
JP2013546250A (en) * 2010-10-28 2013-12-26 トムソン ライセンシング Method for non-volatile memory redistribution for information storage
JP2014142799A (en) * 2013-01-24 2014-08-07 Hitachi Ltd Information processing device, information processing method, and server
CN109508534A (en) * 2017-09-14 2019-03-22 厦门雅迅网络股份有限公司 Prevent method, the embedded system attacked that degrade by software
WO2023276532A1 (en) * 2021-06-29 2023-01-05 株式会社デンソー Onboard communication system, center device, vehicle-side system, and method for verifying update data of onboard communication

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003522481A (en) * 2000-02-04 2003-07-22 サイエンティフィック−アトランタ, インコーポレイテッド Set-top cable television control device and method for maintaining and updating set-top receiver operating system software, including boot loader software and code version table
JP2007073069A (en) * 2000-05-17 2007-03-22 Fujitsu Ltd Computer, automatic resource application processing program, and computer-readable record medium with the same recorded therein
JP2013546250A (en) * 2010-10-28 2013-12-26 トムソン ライセンシング Method for non-volatile memory redistribution for information storage
JP2014142799A (en) * 2013-01-24 2014-08-07 Hitachi Ltd Information processing device, information processing method, and server
CN109508534A (en) * 2017-09-14 2019-03-22 厦门雅迅网络股份有限公司 Prevent method, the embedded system attacked that degrade by software
WO2023276532A1 (en) * 2021-06-29 2023-01-05 株式会社デンソー Onboard communication system, center device, vehicle-side system, and method for verifying update data of onboard communication

Also Published As

Publication number Publication date
JP4084461B2 (en) 2008-04-30

Similar Documents

Publication Publication Date Title
EP0887729B1 (en) Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program
KR100611515B1 (en) Information processing device, information processing method and computer program providing medium
US7774820B2 (en) Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software
US7425992B2 (en) Method and apparatus for upgrading a television system
US6343379B1 (en) Receiver and program updating method
AU744517B2 (en) Computer memory organization
NO331878B1 (en) Procedure for transferring and downloading a replacement version of resident software, and corresponding receiver / decoder
JP4279902B2 (en) Digital television broadcast receiving apparatus and digital television broadcast receiving program acquisition method
US6915383B2 (en) Receiver apparatus and method
CN101365047A (en) Method for realizing machine card separation of digital television set-top box
US6895463B2 (en) Method and apparatus for efficiently running an execution image using volatile and non-volatile memory
EP1019809A2 (en) Apparatus and method for upgrading a computer system operating system
US20020116701A1 (en) Information processing apparatus and method, recording medium, storage medium, and program
KR100253229B1 (en) Digital broadcasting receiver and down loading method thereof
JP4084461B2 (en) Terminal device capable of remote download, download method applied to a loader program provided in the terminal device, and recording medium recording the loader program
JP2005531846A (en) Software download to receiver
KR20010076555A (en) Device and method for program upgrade of receiver
JP2000350185A (en) Control program transmission method and method for downloading control program
KR20050033850A (en) A system and method for providing information, an apparatus and method for recording contents and computer program therefor
JP2005050097A (en) Information processor, information processing method, program, and storage medium
KR20010076449A (en) A software upgrade method and apparatus of digital television
KR100698276B1 (en) Method and Apparatus for software upgrade in Digital receiver
KR20000076411A (en) Computer memory organization
KR20060094657A (en) Unique information managing method for broadcasting receiver supporting conditional access system
JP2006039890A (en) Information processor and information update method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050602

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080215

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140222

Year of fee payment: 6

EXPY Cancellation because of completion of term