(57)【特許請求の範囲】
【請求項１】
センター装置と端末装置とを備えたリモートプログラムダウンロードシステムであって、
前記センター装置は、
第１の情報処理装置で作成した最新のプログラムと第２の情報処理装置で抽出した特定バージョンのプログラムと最新プログラムとの差分データとを保持するデータ保持手段と、
前記端末装置からプログラムのバージョン情報を取得するバージョン取得手段と、
取得したバージョン情報と前記データ保持手段に保持している差分データの差分元となるプログラムのバージョンとが一致するものがあれば当該プログラムの差分データを選択し、一致するものがなければ最新のプログラムを選択するデータ選択手段と、
選択された差分データ又は最新のプログラムを前記端末装置へ送信するデータ送信手段と、
を具備し
前記第１の情報処理装置は、
複数のソフトウェアモジュールが静的にリンクされるプログラムを生成する情報処理装置であって、ソフトウェアモジュール間の静的なリンクの依存関係に基づいて各ソフトウェアモジュールの配置順序を指定するソフトウェアモジュール順序指定手段と、指定された配置順序でソフトウェアモジュールの配置を行なうプログラムリンク手段と、を備え
前記第２の情報処理装置は、
前記第１の情報処理装置で作成した新旧２世代のプログラムデータをアドレスの順に比較する比較手段と、比較結果に基づいて最初に内容が異なったアドレスを検出し、新しい世代のプログラムデータから前記検出アドレス以降のプログラムデータを前記差分データとして抽出する抽出手段と、を備え
前記端末装置は、
前記第１の情報処理装置で作成したプログラムの格納された不揮発性メモリと、
前記センター装置の前記データ送信手段から送信された前記差分データを用いて前記不揮発性メモリに格納されたプログラムの前記検出されたアドレス以降の部分を更新する不揮発性メモリ更新手段と、
を具備し、
前記センター装置から前記端末装置へ前記最新のプログラム又は前記差分データがダウンロードされるリモートプログラムダウンロードシステム。
【請求項２】
前記センター装置の前記データ選択手段が差分データを選択した場合は、前記センター装置の前記データ送信手段が前記新旧２世代のプログラムデータを比較したときに初めて内容が異なったアドレスを差分データと共に送信し、
前記センター装置の前記データ選択手段が最新のプログラムを選択した場合は、前記センター装置の前記データ送信手段が当該最新のプログラムの先頭アドレスを最新のプログラムと共に送信することを特徴とする請求項１記載のリモートプログラムダウンロードシステム。
【請求項３】
前記端末装置の前記不揮発性メモリがフラッシュＲＯＭであり、前記新旧２世代のプログラムデータを比較したときに初めて内容が異なったアドレスがフラッシュＲＯＭのセクターの途中である場合に、前記端末装置の前記不揮発性メモリ更新手段が、前記フラッシュＲＯＭに格納されている前記アドレスまでのプログラムデータと前記差分データを合わせて当該セクターを更新することを特徴とする請求項１記載のリモートプログラムダウンロードシステム。
【請求項４】
前記端末装置の前記不揮発性メモリに格納されたプログラムの更新開始位置となるアドレスは前記差分データ又は前記最新のプログラムデータと共に前記センター装置から前記端末装置へ送られてくることを特徴とする請求項１記載のリモートプログラムダウンロードシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル伝送路を介してネットワークに接続された製品のソフトウェアの書換えをリモートで行うリモートプログラムダウンロードシステム、情報処理装置、センター装置及び端末装置に関するものである。
【０００２】
【従来の技術】
デジタル衛星放送に代表されるデジタル放送に対応したデジタル放送受信機は、デジタル化された映像音声信号を扱い、また、番組編成データを扱って電子番組ガイドを表示するなどコンピュータ的な処理を行なうため、内部的にはソフトウエアが実行されている。デジタル放送では、放送内容をデジタル化して伝送するため、放送内容だけでなくコンピュータで扱えるデータをすべて伝送することができる。このため、デジタル放送のデジタル放送受信機は装置自身の新しいソフトウェアを放送を介して受け取り、現在実行しているソフトウェアそのものを新しいソフトウェアに置き換えることが各家庭に設置された状態のままで可能である。この放送を介したリモートダウンロードの手法がいくつか提案されている。例えば特開平１１−１０２２８７号公報にリモートダウンロードについてバージョンの管理に主眼を置き説明されている。
【０００３】
近年、デジタル放送受信機を介したオンラインショッピングや電子メールなど電話回線を利用したサービスが検討されており、これまでの放送という一方的な通信手段だけでなく電話という双方向の通信手段がデジタル放送受信機に備わろうとしている。
【０００４】
双方向通信手段を介したリモートダウンロードの方法を適用したシステムとして銀行のオンラインシステム等が開発されている。例えば、特開２０００−３３０７７９号公報には、銀行のオンラインシステムにおいて通信時間短縮のために更新部分のみをダウンロードするパッチ方法が提案されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、デジタル放送受信機のような家庭用機器の場合、オンラインシステムのように各端末の管理者がセンターと密接に連絡を取り合っている状況と異なり、リモートダウンロード時にデジタル放送受信機の電源が供給されていなかったり、通信回線に接続されていないといった事態が頻繁に発生する。そのため、リモートダウンロードの対象となるデジタル放送受信機において実行されている現行ソフトウェアのバージョンが数多く存在することとなり、センター側で管理すべきパッチ情報の数が膨大になるという課題が発生している。
【０００６】
本発明は以上のような問題点に鑑みてなされたものであり、センター側で管理すべきパッチ情報を合理的な数に抑え、かつ、全端末との通信時間を短縮可能な情報処理装置、センター装置及び端末装置並びにリモートプログラムダウンロードシステムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、プログラムを構成する複数のモジュール間の依存関係順にモジュールを配置することによってプログラムデータを作成する。
【０００８】
また本発明は、作成された２つのバージョンのプログラムデータをアドレスの先頭から比較し、最初にデータが異なったアドレスとそのアドレス以降のデータを抽出して差分データを作成する。
【０００９】
さらに本発明は、センター装置に最新のプログラム全体データと少なくとも１つの差分データを保持し、端末装置内のプログラムのバージョン情報に応じて、プログラム全体データあるいは差分データを送出し、端末装置では受け取ったデータを用いてプログラムを更新する。
【００１０】
【発明の実施の形態】
本発明の第１の態様は、複数のソフトウェアモジュールが静的にリンクされるプログラムを生成する情報処理装置であって、ソフトウェアモジュール間の依存関係に基づいて各ソフトウェアモジュールの配置順序を指定するソフトウェアモジュール順序指定手段と、指定された配置順序でソフトウェアモジュールの配置を行なうプログラムリンク手段と、を備えた情報処理装置である。
【００１１】
これにより、ソフトウェアモジュール間の依存関係に基づいて各ソフトウェアモジュールの配置順序を定めているので、バージョンアップによりソフトウェアモジュールの一部が変更されたとしても全体に与える影響が最小限になるようにソフトウェアモジュールを配置することができる。
【００１２】
本発明の第２の態様は、第１の態様の情報処理装置において、前記ソフトウェアモジュール順序指定手段は、ソフトウェアモジュール間の依存度の小さい方から順にソフトウェアモジュールの配置順序を指定するものである。
【００１３】
これにより、他のモジュールへの依存度の小さいモジュールから順に配置を行うことにより、プログラムデータの変更部分をプログラムデータの後半部分に集中させることができ、変更部分のサイズを小さくすることができる。
【００１４】
本発明の第３の態様は、新旧２世代のプログラムデータをアドレスの順に比較する比較手段と、比較結果に基づいて最初に内容が異なったアドレスを検出し、新しい世代のプログラムデータから前記検出アドレス以降のプログラムデータを差分データとして抽出する抽出手段と、を備える情報処理装置である。
【００１５】
これにより、従来のパッチ作成に比べて、少ない手順で小さいサイズのプログラム更新用のデータを生成できる。
【００１６】
本発明の第４の態様は、第１、２の態様の情報処理装置で作成した最新のプログラムと第３の態様の情報処理装置で抽出した特定バージョンのプログラムと最新プログラムとの差分データとを保持するデータ保持手段と、端末装置からプログラムのバージョン情報を取得するバージョン取得手段と、取得したバージョン情報と前記データ保持手段に保持している差分データの差分元となるプログラムのバージョンとが一致するものがあれば当該プログラムの差分データを選択し、一致するものがなければ最新のプログラムを選択するデータ選択手段と、選択された差分データ又は最新のプログラムを前記端末装置へ送信するデータ送信手段と、を具備したセンター装置である。
【００１７】
このように構成されたセンター装置によれば、端末装置のバージョンとデータ保持手段に保持している差分データの差分元となるプログラムのバージョンとが一致するものがあれば当該プログラムの差分データを端末装置へ送信し、一致するものがなければ最新のプログラムを端末装置へ送信するので、常に最新のプログラム全体を端末装置へ送信する場合に比べてダウンロードに要する通信時間を短縮できる。また、特定バージョンに対する差分データのみをセンター装置に保持し、そのバージョン以外については最新のプログラム全体を端末装置へ送信するので、センター装置に保持すべき差分データの数を抑制することができる。特に、多数の端末装置にダウンロードされているバージョンについて差分データを保持すればセンター装置に保持すべき差分データの数を大幅に抑制することができる。
【００１８】
本発明の第５の態様は、第４の態様のセンター装置において、前記データ選択手段が差分データを選択した場合は、前記新旧２世代のプログラムデータと比較したときに初めて内容が異なったアドレスを差分データと共に送信し、前記データ選択手段が最新のプログラムを選択した場合は、当該最新のプログラムの先頭アドレスを最新のプログラムと共に送信するものとした。
【００１９】
これにより、プログラム全体をダウンロードするときも差分データだけをダウンロードするときであっても、端末装置では送られてきたアドレス以降を更新すればよいので、プログラム全体がダウンロードされたときも差分データのみを更新する場合と同様の手順で更新でき、端末装置における更新処理の簡略化を図ることができる。
【００２０】
本発明の第６の態様は、プログラムの格納された不揮発性メモリと、最新のプログラムデータのうち前記不揮発性メモリに格納されているバージョンのプログラムデータと比較して初めて内容が異なるアドレス以降のプログラムデータを最新のプログラムデータから抽出してなる差分データを用いて、前記不揮発性メモリに格納されたプログラムの前記アドレス以降の部分を更新する不揮発性メモリ更新手段と、を備える端末装置である。
【００２１】
このように構成された端末装置によれば、常にプログラム全体を更新するのではなく差分データにて更新が行われるので、プログラムダウンロードに要する通信時間を短縮できる。
【００２２】
本発明の第７の態様は、第６の態様の端末装置において、前記不揮発性メモリがフラッシュＲＯＭであり、前記新旧２世代のプログラムデータと比較したときに初めて内容が異なったアドレスがフラッシュＲＯＭのセクターの途中である場合に、前記フラッシュＲＯＭに格納されている前記アドレスまでのプログラムデータと前記プログラムデータ差分を合わせて当該セクターを更新するものである。
【００２３】
これにより、プログラムの記憶媒体としてフラッシュＲＯＭを用いた場合、セクター単位で読み書きを実行するフラッシュＲＯＭに対して、プログラム更新開始位置に依らずセクター単位で更新を行うことができる。
【００２４】
本発明の第８の態様は、第６、第７の態様の端末装置において、前記不揮発性メモリに格納されたプログラムの更新開始位置となるアドレスは差分データ又は最新のプログラムデータと共にセンター装置から送られてくるものである。
【００２５】
これにより、端末装置では最新のプログラムデータによって全体を更新する場合であっても通知されたアドレスから更新するので、差分データでの更新と同じ手順でプログラム全体の更新も実現できることから、端末装置での更新手続を簡略化できる。
【００２６】
本発明の第９の態様は、第４、第５の態様のセンター装置と第６、第７、第８の態様の端末装置とを備え、前記センター装置から前記端末装置へ最新のプログラム又は差分データをダウンロードすることを特徴とするリモートプログラムダウンロードシステムである。
【００２７】
以下、本発明の実施の形態について図面を用いて具体的に説明する。
【００２８】
図１は本発明の一実施の形態に係るリモートプログラムダウンロードシステムの全体構成を示す図である。本実施の形態に係るリモートプログラムダウンロードシステムは、プログラムモジュール配置装置１００、プログラム差分抽出装置１１０、センター装置１２０及び端末装置１３０から構成されている。
【００２９】
プログラムモジュール配置装置１００は、モジュール入力手段１０１、モジュール配置手段１０２、配置順序指定手段１０３、プログラム出力手段１０４から構成されている。モジュール入力手段１０１は、外部からモジュールを受け取る部分である。モジュール配置手段１０２は、モジュール入力手段１０１から与えられるモジュールを、配置順序指定手段１０３から得た配置順序情報に基づいてメモリ空間上の所定アドレスにモジュールを格納して一連のプログラムを完成させる部分である。配置順序指定手段１０３は、モジュール間の依存関係に基づいて決められたモジュールの配置順序情報を保持する部分である。プログラム出力手段１０４は、モジュール配置手段１０２により完成させたプログラムを、端末装置１３０に対する初期プログラムデータ、又はプログラム差分抽出装置１１０に対する端末装置１３０更新用のプログラムデータとして出力する部分である。
【００３０】
プログラム差分抽出装置１１０は、プログラム入力手段１１１、差分抽出手段１１２、差分データ出力手段１１３から構成される。プログラム入力手段１１１は、プログラムモジュール配置装置１００から出力された２世代のプログラムを受け取る部分である。差分抽出手段１１２は、プログラム入力手段１１１が受け取った２世代のプログラム間の差分データを生成する部分である。差分データ出力手段１１３は、差分データをセンター装置１２０に出力する部分である。
【００３１】
センター装置１２０は、データ保持手段１２１、通信手段１２２、バージョン取得手段１２３、データ選択手段１２４、データ送出手段１２５から構成される。データ保持手段１２１は、プログラムモジュール配置装置１００によって生成されたプログラムデータと、プログラム差分抽出装置１１０によって生成された複数の差分データとを保持する。通信手段１２２は、端末装置１３０と所定のプロトコルに従って通信を行う部分である。バージョン取得手段１２３は、通信手段１２２を介して端末装置１３０から現在のプログラムデータのバージョン情報を取得する部分である。データ選択手段１２４は、バージョン取得手段１２３が取得した端末装置１３０のバージョンに応じて、データ保持手段１２１に保持されている複数のデータのうち一つを選択する部分である。データ送出手段１２５は、データ選択手段１２４で選択されたデータをデータ保持手段１２１から取出し、通信手段１２２を介して端末装置１３０へ送信する処理を実行する部分である。
【００３２】
端末装置１３０は、フラッシュＲＯＭ１３１、通信手段１３２、バージョン通知手段１３３、データ取得手段１３４、フラッシュＲＯＭ更新手段１３５から構成されている。フラッシュＲＯＭ１３１は、プロラムモジュール配置装置１００によって生成されたプログラムデータを格納する不揮発性メモリである。通信手段１３２は、センター装置１２０と所定のプロトコルに従って通信を行う部分である。バージョン通知手段１３３は、センター装置１２０との通信手段１３２を介した通信によって現在のプログラムのバージョンをセンター側に通知する部分である。データ取得手段１３４は、センター装置１２０から通信手段１３２を介してデータ取得する処理得を実行する部分である。フラッシュＲＯＭ更新手段１３５は、データ取得手段１３４が取得したデータに基づいてフラッシュＲＯＭ１３１を更新する処理を実行する部分である。
【００３３】
なお、図１には端末装置１３０が１つだけ図示されているが、複数の端末装置１３０に対応可能であり、個々の端末装置１３０とセンター装置１２０とは電話等の通信回線によって接続されている。
【００３４】
次に、本実施の形態に係るリモートプログラムダウンロードシステムの動作について説明する。まず、プログラムモジュール配置装置１００について、図１、図２、図３、図４、図５を用いて説明する。
【００３５】
図２はプログラムモジュール配置装置１００が取り扱うプログラムのモジュール間の依存関係を示す相関図の例である。モジュール間の依存とは、関数の呼び出しや変数の参照を指し、あるモジュールＡが別のモジュールＢ内の関数を呼び出していたり、変数を参照している場合にモジュールＡはモジュールＢに依存している。
【００３６】
図２によれば、ブートモジュール２０１は他のどのモジュールにも依存せず、ＯＳモジュール２０２はブートモジュール２０１に依存している。描画モジュール２０３はＯＳモジュール２０２に依存している。また、アプリモジュール２０４はＯＳモジュール２０２と描画モジュール２０３に依存している。
【００３７】
図２のモジュール間の依存関係を元に作成した配置順序指定情報３００が図３に示されている。図２に示すモジュール間の依存関係にしたがって図３の配置順序が決定されている。配置順序指定手段１０３は、モジュール間の依存関係に基づいて定められた配置順序指定情報３００を保持している。
【００３８】
以下、プログラムモジュール配置装置１００の動作を説明する。図４はモジュール配置手段１０２のプログラムの配置手順を示すフローチャートであり、図５はプログラムモジュール配置装置１００によって生成されるプログラムの配置図である。
【００３９】
ステップ４０１において、モジュール配置手段１０２は、プログラムモジュールの配置に際して配置順序指定手段１０３内の配置順序情報３００により先頭に配置するよう指定されているブートモジュール２０１（順序１）をモジュール入力手段１０１より読み出す。
【００４０】
次にステップ４０２において、ステップ４０１で読み出したモジュールデータを、その先頭データがプログラム配置用のメモリ空間における先頭アドレスに格納されるように配置する。
【００４１】
次にステップ４０３において、対象モジュールが配置順序情報３００の最後に達したかどうか判定する。配置順序情報３００の最後に達している場合、配置は完了する。配置順序情報３００の最後に達していない場合、ステップ４０４に移る。
【００４２】
ステップ４０４において、配置順序情報３００を参照して次に配置すべきモジュールを特定し、そのモジュールデータをモジュール入力手段１０１より読み出し、ステップ４０２に移る。ステップ４０２では、直前に配置が完了したモジュールの最後尾アドレスの次アドレスに、今回読み出したモジュールの先頭データが格納されるようにモジュールを配置する。
【００４３】
配置順序情報３００の最後に達するまで、ステップ４０２、ステップ４０３、ステップ４０４が繰り返され、配置順序情報３００の最後のモジュール（順序４）に達すると配置が完了する。
【００４４】
ここで、一般的にプログラムに組み込まれたあるモジュールに変更があると、モジュール内で参照する関数や変数のアドレスが変更することにより、当該モジュールに依存しているモジュール内部で前記関数や変数を参照する部分にも変更が及ぶ。また、静的にリンクされるプログラムでは前方に配置されたモジュールに変更がある場合、後続のモジュールのアドレスが変更になるため、変更個所ができるだけ後方にあるとプログラムデータ全体の変更部分が小さくなる。
【００４５】
本実施の形態のように、他のモジュールへの依存度の小さいモジュールから順に配置を行なうことによって、プログラムデータの変更部分をプログラムデータの後半部分に集中させ、変更部分のサイズを小さくすることができる。
【００４６】
次に、プログラム差分抽出装置１１０の動作について、図１、図６、図８を用いて説明する。図６は、プログラムモジュール配置装置１００により生成された新旧２世代のプログラムの配置状態と、プログラム差分抽出装置１１０によって生成されたその差分データの配置状態とを示している。この例では描画モジュールの後半部分よりデータが異なっている。図８は差分抽出手段１１２のフローチャートである。
【００４７】
ステップ８０１において、調査アドレスをプログラムデータの先頭の０x００００に設定する。
【００４８】
次にステップ８０２において、旧世代プログラム６００と新世代プログラム６１０の調査アドレスの内容を比較する。比較の結果、一致する場合、ステップ８１１に移り、調査アドレスがデータの最後に達したかどうか判定する。
【００４９】
ステップ８１１において調査アドレスがデータの最後に達している場合、ステップ８２１に移り、差分がないため、差分抽出不要という形で動作を完了する。
【００５０】
ステップ８１１において、調査アドレスがデータの最後に達していない場合、ステップ８１２に移り、調査アドレスを１増加してステップ８０２に戻る。
【００５１】
ステップ８０２において調査アドレスの内容比較の結果、不一致となるまで、ステップ８０２、ステップ８１１、ステップ８１２を繰り返す。図６の例では、調査アドレスが、０x８０００になるまで、ステップ８０２、ステップ８１１、ステップ８１２を繰り返す。
【００５２】
ステップ８０２において調査アドレスの内容比較の結果、不一致となると、ステップ８０３に移る。ステップ８０３において、調査アドレスを差分先頭アドレスとして保存する。
【００５３】
次にステップ８０４において、新世代プログラム６１０の調査アドレス以降のデータを取り出し、その取出したデータで差分プログラムデータ６５０を生成し、差分抽出を完了する。
【００５４】
これにより、プログラムモジュール配置装置１００によって生成される２世代のプログラムデータから、プログラム差分抽出装置１１０によって差分抽出を行なうことにより、従来のパッチ作成に比べ、少ない手順で小さいサイズのプログラム更新用のデータを生成することができる。
【００５５】
特に、多数の端末装置１３０が持つバージョンに対して上述した方法で最新のプログラムデータに対する差分データを作成し、それ以外のバージョン又は所定数以下の端末装置１３０しか持たないバージョンについては敢えて差分データは作成しないものとする。これにより、プログラムモジュール配置装置１００が作成した最新のプログラムデータ及びプログラム差分抽出装置１１０が作成した差分データを保持するセンター装置１２０において、全てのバージョンに対する差分データを保持する場合に比べて、最も効率的な数のプログラム及び差分データを保持させることができる。
【００５６】
次に、端末装置１３０とセンター装置１２０の動作について、図１、図７、図９、図１０、図１１を用いて説明する。図７はデータ保持手段１２１に保持されている複数のデータの管理情報７００のテーブルであり、図９はデータ選択手段１２４によるデータ選択のフローチャートである。また、図１０はデータ送出手段１２５によって送出されるデータのフォーマットであり、図１１はフラッシュＲＯＭ更新手段１３５によるフラッシュＲＯＭ更新のフローチャートである。
【００５７】
プログラムの更新を行う場合、ステップ９０１において、センター装置１２０ではバージョン取得手段１２３が通信手段１２２を介して端末装置１３０に対し、バージョン情報を問い合わせる。この問い合わせに対し、端末装置１３０はバージョン通知手段１３３によって端末プログラムのバージョンを返答する。この返答を受けて、バージョン取得手段１２３は端末プログラムのバージョンを取得する。
【００５８】
次にステップ９０２において、データ選択手段１２４が、データ保持手段１２１内のデータ管理情報７００の差分元バージョンと、ステップ９０１で得た端末プログラムのバージョン情報とを比較し、差分プログラムデータが存在するかどうか判定する。
【００５９】
差分プログラムデータが存在する場合、ステップ９１１に移り、該当する差分プログラムデータを送出データとして選択する。図７の例では、端末バージョンがＶ２.０の場合、ステップ９１１に移り、新世代とＶ２.０との差分データである差分プログラムデータ７０１が送出データとして選択される。
【００６０】
ステップ９０２において、差分プログラムデータが存在しない場合、ステップ９０３に移り、新世代プログラムの全体データ７０２が送出データとして選択される。
【００６１】
次にセンター装置１２０は、データ送出手段１２５によってプログラム更新用のデータを端末装置１３０に送出する。データ送出手段１２５とデータ取得手段１３４との間のデータのフォーマットは、図１０のように差分先頭アドレス１００１と、差分データサイズ１００２と、差分プログラムデータ１００３とからなっている。
【００６２】
端末装置１３０は、データ取得手段１３４によってデータを受け取ると、フラッシュＲＯＭ更新手段１３５によって、図１１のフローチャートに従ってフラッシュＲＯＭの内容を更新する。
【００６３】
まず、ステップ１１０１において、フラッシュＲＯＭ更新手段１３５により差分先頭アドレス１００１を更新アドレスとする。
【００６４】
次にステップ１１０２において、更新アドレスがフラッシュＲＯＭ１３１のセクターの先頭を指すかどうか判定する。
【００６５】
更新アドレスがフラッシュＲＯＭ１３１のセクターの先頭を指す場合、ステップ１１０６に移る。一方、更新アドレスがフラッシュＲＯＭ１３１のセクターの先頭ではない場合、ステップ１１０３に移り、更新アドレスを含むセクターの先頭から更新アドレスの直前までのデータを退避する。
【００６６】
次にステップ１１０４において、ステップ１１０３で退避したデータと差分データ１００３とを連結して、新たに差分データとする。
【００６７】
次にステップ１１０５において、更新アドレスが含まれるセクターの先頭アドレスを新たに更新アドレスとする。
【００６８】
次にステップ１１０６において更新アドレス以降のセクターを消去し、ステップ１１０７において更新アドレス以降のセクターに差分データを書き込み、フラッシュＲＯＭ１３１の更新を完了する。
【００６９】
本実施の形態によれば、様々なバージョンのプログラムを持つ複数の端末装置１３０に対して、多数の端末装置１３０が持つプログラムの各バージョンに対しては差分データを送出し、それ以外のバージョンに対しては最新のプログラムデータ全体を送出することにより、様々なバージョンのプログラムに対する全ての差分データを保持するのに比べてセンター側で保持しておくべき更新データのサイズを小さくすることができ、さらに、全ての端末装置１３０に最新のプログラムデータ全体を送出するのに比べて全ての端末装置１３０とセンター装置１２０とが通信する時間を短縮することができる。
【００７０】
また、差分データを受信した場合とプログラムデータ全体を受信した場合とで端末装置上の更新手順を共通化することによって、少ない手順で端末プログラムの更新を実行することができる。
【００７１】
なお、上記プログラムモジュール配置装置１００において、モジュール入力手段１０１、モジュール配置手段１０２、配置順序指定手段１０３、プログラム出力手段１０４の各機能ブロックはＤＳＰ等の専用回路で実現でき、又はＣＰＵがプログラムを実行することにより各機能ブロックと同等の機能を実現するようにしてもよい。特に、コンピュータに、ソフトウェアモジュール間の依存関係に基づいて各ソフトウェアモジュールの配置順序を指定するステップと、指定された配置順序でソフトウェアモジュールの配置を行なうステップとを実行させるプログラムを、プログラムモジュール配置装置１００にインストールしてＣＰＵが実行するように構成することもできる。又、そのプログラムは記録媒体に記録して配布するようにしてもよい。
【００７２】
また、プログラム差分抽出装置１１０において、プログラム入力手段１１１、差分抽出手段１１２、差分データ出力手段１１３の各機能ブロックはＤＳＰ等の専用回路で実現でき、又はＣＰＵがプログラムを実行することにより各機能ブロックと同等の機能を実現するようにしてもよい。特に、コンピュータに、新旧２世代のプログラムデータをアドレスの順に比較するステップと、比較結果に基づいて最初に内容が異なったアドレスを検出するステップと、新しい世代のプログラムデータから前記検出アドレス以降のプログラムデータを差分データとして抽出するステップとを実行させるプログラムを、プログラム差分抽出装置１１０にインストールしてＣＰＵが実行するように構成することもできる。又、そのプログラムは記録媒体に記録して配布するようにしてもよい。
【００７３】
また、センター装置１２０において、通信手段１２２、バージョン取得手段１２３、データ選択手段１２４の各機能ブロックはＤＳＰ等の専用回路で実現でき、又はＣＰＵがプログラムを実行することにより各機能ブロックと同等の機能を実現するようにしてもよい。特に、コンピュータに、端末装置１３０からプログラムのバージョン情報を取得するステップと、取得したバージョン情報とデータ保持手段１２１に保持している差分データの差分元となるプログラムのバージョンとが一致するものがあれば当該プログラムの差分データを選択し、一致するものがなければ最新のプログラムを選択するステップと、選択された差分データ又は最新のプログラムを端末装置１３０へ送信するステップと、を実行させるプログラムを、センター装置１２０にインストールしてＣＰＵが実行するように構成することもできる。又、そのプログラムは記録媒体に記録して配布するようにしてもよい。
【００７４】
また、端末装置１３０において、通信手段１３２、バージョン通知手段１３３、データ取得手段１３４、フラッシュＲＯＭ更新手段１３５の各機能ブロックはＤＳＰ等の専用回路で実現でき、又はＣＰＵがプログラムを実行することにより各機能ブロックと同等の機能を実現するようにしてもよい。特に、コンピュータに、最新のプログラムデータとフラッシュＲＯＭ１３１に格納されているバージョンのプログラムデータと比較して初めて内容が異なるアドレス以降のプログラムデータを最新のプログラムデータから抽出して得られた差分データを用いて、フラッシュＲＯＭ１３１に格納されたプログラムの前記アドレス以降の部分を更新するステップと、を実行させるプログラムを、端末装置１３０にインストールしてＣＰＵが実行するように構成することもできる。又、そのプログラムは記録媒体に記録して配布するようにしてもよい。
【００７５】
【発明の効果】
以上のように本発明によれば、センター側で管理すべきパッチ情報を合理的な数に抑え、かつ、全端末との通信時間を短縮可能な情報処理装置、センター装置及び端末装置並びにリモートプログラムダウンロードシステムを提供できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係るリモートプログラムダウンロードシステムの全体構成図
【図２】プログラムのモジュール間依存相関図
【図３】上記一実施の形態での配置順序指定手段に保持されたモジュール配置順序指定情報を示す図
【図４】上記一実施の形態でのプログラムモジュール配置装置によるプログラムモジュールの配置手順のフロー図
【図５】上記一実施の形態でのモジュール配置手段によるプログラム配置図
【図６】上記一実施の形態でのプログラム差分抽出装置における新旧２世代のプログラム配置図及び差分データ配置図
【図７】上記一実施の形態でのセンター装置におけるデータ保持手段の格納情報のデータ構成図
【図８】上記一実施の形態でのプログラム差分抽出装置における新旧プログラムの差分抽出手順のフロー図
【図９】上記一実施の形態でのセンター装置における送出データ選択手順のフロー図
【図１０】上記一実施の形態でのセンター装置における送出データのフォーマットを示す図
【図１１】上記一実施の形態での端末装置におけるプログラム更新手順のフロー図
【符号の説明】
１００  プログラムモジュール配置装置
１０１  モジュール入力手段
１０２  モジュール配置手段
１０３  配置順序指定手段
１０４  プログラム出力手段
１１０  プログラム差分抽出装置
１１１  プログラム入力手段
１１２  差分抽出手段
１１３  差分データ出力手段
１２０  センター装置
１２１  データ保持手段
１２２  通信手段
１２３  バージョン取得手段
１２４  データ選択手段
１２５  データ送出手段
１３０  端末装置
１３１  フラッシュＲＯＭ
１３２  通信手段
１３３  バージョン通知手段
１３４  データ取得手段
１３５  フラッシュＲＯＭ更新手段
【図１】
0004827310.tif 000002
【図２】
0004827310.tif 000003
【図３】
0004827310.tif 000004
【図４】
0004827310.tif 000005
【図５】
0004827310.tif 000006
【図６】
0004827310.tif 000007
【図７】
0004827310.tif 000008
【図８】
0004827310.tif 000009
【図９】
0004827310.tif 000010
【図１０】
0004827310.tif 000011
【図１１】
0004827310.tif 000012