JP2004326287A - プログラム遠隔更新システム - Google Patents
プログラム遠隔更新システム Download PDFInfo
- Publication number
- JP2004326287A JP2004326287A JP2003117967A JP2003117967A JP2004326287A JP 2004326287 A JP2004326287 A JP 2004326287A JP 2003117967 A JP2003117967 A JP 2003117967A JP 2003117967 A JP2003117967 A JP 2003117967A JP 2004326287 A JP2004326287 A JP 2004326287A
- Authority
- JP
- Japan
- Prior art keywords
- module
- verification
- post
- program
- update
- 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.)
- Abandoned
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
【課題】プログラム更新処理を実行した直後に新プログラムの動作検証を行うプログラム遠隔更新システムを提供することにより、システムの信頼性を確保すると共に、検証処理の柔軟性を向上することを目的とする。
【解決手段】ホスト100(配信用コンピュータ)がサービス提供処理を実行する新モジュール305bを配信し、端末300が制御プログラム305の旧モジュール305aをホスト100により配信された新モジュール305bに更新し、更新した新モジュール305bの動作検証処理を実行し、動作検証処理でエラーを検出した時にエラー対処処理を実行する。
【選択図】 図5
【解決手段】ホスト100(配信用コンピュータ)がサービス提供処理を実行する新モジュール305bを配信し、端末300が制御プログラム305の旧モジュール305aをホスト100により配信された新モジュール305bに更新し、更新した新モジュール305bの動作検証処理を実行し、動作検証処理でエラーを検出した時にエラー対処処理を実行する。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
本発明は、CPU、主メモリやフラッシュメモリ等の不揮発性の記憶装置、一つ以上の外部通信インタフェースから構成される組込み機器(以下、端末と呼ぶ)と、該端末用の制御プログラムを生成・配信するホストと、両者を接続する通信ネットワークと、から構成されるプログラム遠隔更新システムに関するものである。
【0002】
【従来の技術】
これまで、端末用の制御プログラムはROM(Read Only Memory)やフラッシュメモリ等の不揮発性の記憶媒体に格納され、製品出荷後その構成は固定のものとされてきた。しかし、近年端末ソフトウェアのオープン化やネットワーク化が進展し、様々な情報処理技術が採用されており、その規模や複雑さが増している。このため、携帯電話のように製品出荷後にソフトウェア不具合が発見される事例もあり、通信ネットワークを介して改修ソフトウェアの更新を行うことで、端末の品質向上とソフトウェア保守の効率化を図ることが求められている。
【0003】
また、情報処理技術の進歩に追随するため、共通ソフトウェアを新しいものに進化させていくことで、端末の付加価値向上を図ることも求められていくと予想される。このように、製品出荷後に制御プログラムの部分更新を行い、その構成を変更するプログラム遠隔更新システムの必要性が増してきている。これまでに、BSデジタル放送受信機やインターネット電話におけるソフトウェア・ダウンロード・サービスの実用化の例がある。
【0004】
プログラム遠隔更新システムでは、プログラム更新実行の結果、端末の品質が低下することや、最悪の場合自力での復旧が困難となる事態を避けることが特に重要となる。このため、従来のプログラム遠隔更新システムには、端末側で受信した新プログラムの正当性をチェックしたり、更新実行に伴って新プログラムの正常動作をチェックするものがある(特許文献1)。
【0005】
次に、特許文献1の従来のプログラム遠隔更新システムについて説明する。
図24は、従来のプログラム検証システムの構成図である。本システムは、例えばコンビニエンス・ストア内に設置される情報端末によるマルチメディア情報提供サービスに適用される。情報提供装置20は無線通信路51または優先通信路52を介して、音楽や映画、ゲームソフトウェア等のマルチメディア情報をネットワークサーバ30に配信する。店舗内に設置されるネットワークサーバ30では、ブラウザ等の出力処理プログラムが動作しており、専用線で接続されたクライアント端末60にマルチメディア情報を出力する。また、クライアント端末60は、ユーザ操作によりマルチメディア情報の提供サービスを受け付ける。
【0006】
次に検証動作について説明する。ネットワークサーバ30で動作している出力処理プログラムを更新または追加する場合、情報提供装置20内の記憶装置23に格納されている新しい出力処理プログラムと動作確認用サンプルデータを送信装置21から送信する。ネットワークサーバ30では、受信装置31でこれを受信し、新しい出力処理プログラムがインストールされる。該出力処理プログラムは該サンプルデータを用いて実行され、その動作結果が記憶装置33に格納される。全てのサンプルデータについて動作結果が得られると、その結果情報はネットワーク送受信装置35から情報提供装置20に返信される。
【0007】
情報提供装置20では、インターネット送受信装置24でこれを受信する。そして、情報制御装置22において、記憶装置23に格納された解析プログラムを用いて結果情報が解析される。この解析結果から、新しい出力処理プログラムの動作が正常かどうかを、メンテナンス技術者が判断する。正常と判断された場合は、記憶装置23に格納されたマルチメディア情報が送信装置21から送信される。ネットワークサーバ30では、受信装置31でこれを受信し、新しい出力処理プログラムによるマルチメディア情報提供サービスの運用を再開する。一方、先の解析結果から、異常と判断された場合は、メンテナンス技術者によって出力処理プログラムの修正が行われる。
【0008】
その後、再び新しい出力処理プログラムと動作確認用サンプルデータを送信装置21から送信する。ネットワークサーバ30では、受信装置31でこれを受信し、修正された出力処理プログラムが再インストールされる。先ほどと同様に動作確認が行われ、正常と判断されるまで出力処理プログラムの修正が繰り返される。
【0009】
以上のように、ネットワークサーバ30で動作している出力処理プログラムを更新または追加する場合、情報提供装置20では新しい出力処理プログラムと合わせて動作確認用サンプルデータを送信し、ネットワークサーバ30では該サンプルデータを用いて新しい出力処理プログラムを実行するため、新しい出力処理プログラムの修正内容に応じた動作確認用サンプルデータを添付することができる。また、該サンプルデータによる動作結果を情報提供装置20に返信し、解析プログラムによる結果情報の解析と技術者による判定を行うため、店舗に赴いてクライアント端末60を操作する必要がなく、保守コストを削減することができる。
【0010】
【特許文献1】
特開2001−256201号公報
【0011】
【発明が解決しようとする課題】
従来のプログラム検証システムでは、新しい出力処理プログラムと合わせて動作確認用サンプルデータを送信することで、新しい出力処理プログラムの修正内容に応じた動作確認用サンプルデータを添付することができるものの、出力処理プログラムの更新または追加処理を行う際に、毎回必ず動作確認用サンプルデータを添付しなければならないため、送信する総ファイルサイズが大きくなる。また、動作確認に対する検証処理を情報提供装置20側で行うことで、クライアント端末60で操作する必要はなくなるものの、技術者による判定を含むため、サービスの運用停止時間が長くなる。さらに、動作結果が正常と判断されるまで出力処理プログラムの修正が繰り返されるが、その間動作不良部分を含む出力処理プログラムがインストールされた状態のままであり、ネットワークサーバ30の動作信頼性が低下するという問題点があった。
【0012】
本発明は上記のような問題点を解決するためになされたもので、更新処理を実行する前に不適合プログラムを排除するための正当性検証を行う前検証手段と、更新処理を実行した直後に新プログラムの動作検証を行う後検証手段を設け、特に各検証手段における検証処理(内容)を登録するテーブルをプラグイン構造にすることで、端末の種別やプログラム構成に合わせて検証処理を柔軟に変更できるようにする。さらに、後検証の登録テーブルでは、各動作検証処理に対応するエラー対処処理を定義、登録できるようにし、動作検証の結果エラーを検出した場合、自動的にエラー対処処理を実行するようにする。エラー対処処理の一例として旧プログラムへの復元実行が考えられる。これにより、プログラム遠隔更新システムの信頼性を確保すると共に、検証処理の柔軟性を向上することを目的とする。
【0013】
【課題を解決するための手段】
この発明に係るプログラム遠隔更新システムは、サービス提供処理を実行する新モジュールを含む転送ファイルを配信する配信用コンピュータと、
サービス提供処理を実行するモジュールにより構成された制御プログラムと、前記制御プログラムの前記モジュールを前記配信用コンピュータにより配信された前記転送ファイルの前記新モジュールに更新するプログラム更新実行手段と、前記プログラム更新実行手段により更新された前記新モジュールの動作検証処理を実行する後検証モジュールと、前記動作検証処理でエラーを検出した時にエラー対処処理を実行する対処モジュールとを有する端末と、を備えたものである。
【0014】
【発明の実施の形態】
実施の形態1.
図1は、本発明の実施の形態1のプログラム遠隔更新システムの構成図である。
図において、100は配信用コンピュータであるホスト、101はCPU、102は記憶装置、103は外部通信インタフェース、104は主メモリ、105は端末用の新モジュールの生成と配信処理を行う配信マネージャ、106は端末用の制御プログラムを生成するプログラム生成手段、107は新モジュールにヘッダ情報を付加して転送ファイルを生成する転送ファイル生成手段、108は転送ファイルを更新対象の端末へ配信する転送ファイル配信手段である。
【0015】
200はホストと端末を接続する通信ネットワークであり、例えば有線通信ではインターネットや専用回線で用いられるIP(Internet Protocol)ネットワーク、Ethernet(登録商標)やUSB(Universal Serial Bus)等の通信規格に基づくローカル・ネットワークを、無線通信では携帯電話網を利用したネットワーク、放送機器や車載機器で用いられる衛星通信ネットワーク、無線LANやBluetooth(登録商標)等の通信規格に基づくローカル・ネットワークを想定する。
【0016】
300はプログラム更新対象となる組込み機器である端末、301は外部通信インタフェース、302は記憶装置、303はCPU、304は主メモリ、305は端末サービスを提供する制御プログラム、305aは制御プログラムを構成する機能単位であり現在実行中の旧モジュール、305bは旧モジュールを改変した新モジュールである。ここで、旧モジュール305a、新モジュール305bは、制御プログラム305中の個々の部分プログラムであり、それぞれ旧部分プログラム、新部分プログラムを示すものである。
【0017】
306は新モジュールの更新処理を行う更新マネージャ、307は通信ネットワークを介して送信される転送ファイルの受信処理を行う転送ファイル受信手段、308は転送ファイル内から新モジュールを取り出し予約領域に配置するプログラム配置手段、309は制御プログラム内の旧モジュールから新モジュールへの更新処理を行うプログラム更新実行手段、310は後検証プラグインテーブルに登録されている後検証モジュールの起動と検証エラーを検出した時に対応する対処モジュールの起動を行う後検証手段、311は新モジュールの動作検証処理を行う後検証モジュール、312は動作検証の結果エラーを検出した時のエラー対処処理を行う対処モジュール、313は後検証モジュールと対処モジュールの登録、変更、および削除が可能なプラグイン構造を持つ後検証プラグインテーブルである。ここで、後検証モジュール311と対処モジュール312は主メモリ304上に記憶されているものである。
【0018】
400は、端末300と基本構成は同じであるが、型番・搭載ハードウェア資源量・搭載しているプログラムの構成やバージョン等がそれぞれ異なる可能性のある端末群である。
【0019】
図2は、後検証プラグインテーブル313の構成図である。
図において、313aは更新モジュール識別子、313bは後検証モジュールの登録、変更、削除を行うための後検証モジュールへのポインタ、313cは対処モジュールの登録、変更、削除を行うための対処モジュールへのポインタ、313dは前記三つ組から構成される後検証プラグインテーブル・エントリである。
ここで、後検証モジュールへのポインタ313bは後検証モジュール311の配置アドレスを、対処モジュールへのポインタ313cは対処モジュール312の配置アドレスを示すものである。
【0020】
ここで、後検証プラグインテーブル313は、更新モジュール識別子313aと、この更新モジュール識別子313aに対応し、後検証モジュール311にアクセスし主メモリ304上に記憶された後検証モジュール311を呼び出すことができる後検証モジュールへのポインタ313bと、この更新モジュール識別子313aに対応し、対処モジュール312にアクセスし主メモリ304上に記憶された対処モジュール312を呼び出すことができる後検証モジュールへのポインタ313bと、の三つ組から構成された後検証プラグインテーブル・エントリ313dが複数登録されているものである。
なお、本実施の形態1では、製品出荷時に後検証モジュールと対処モジュールの登録が確定しているものとする。
【0021】
図3は、転送ファイルのヘッダの構成図である。
図において、314は転送ファイルのヘッダ、314aは転送ファイルであることを示すマジックナンバ、314bは更新モジュール識別子情報、314cは新モジュール305bのバージョン情報、314dは新モジュール305bのサイズ情報、314eは新モジュール305bの予約配置アドレス情報、314fは転送ファイルのヘッダのサイズである。
【0022】
次に動作について説明する。
図4は、ホスト100側の配信マネージャ105と端末300側の更新マネージャ306と間の処理シーケンスを示す図である。
図を用いて、プログラム遠隔更新の処理内容を説明する。まずホスト100側で端末300用の制御プログラム305の障害改修や機能追加等の理由により、新モジュール305bを生成した場合、通常ローカル環境で機能試験を実施する。その結果、新モジュール305bがリリース可能と判断されたら、配信マネージャ105はステップS1で、端末300や端末群400に対してプログラム更新要求を発行する。この時、新モジュール305bの識別子とサイズ情報を送付する。
【0023】
端末300側の更新マネージャ306はステップS2で、プログラム配置手段308を通じて新モジュール305bの配置可能領域を予約し、予約配置アドレス情報を返信する。この時、さらに端末資源構成情報やプログラム管理情報も返信する。再び、配信マネージャ105ではステップS3で、返信された情報に照らして新モジュール305bの配信要否(または可否)を判定する。判定の結果、配信しない端末300に対しては、以後何も行われない。
【0024】
次に、ステップS4でプログラム生成手段106において、制御プログラム305が新たに生成される。この制御プログラム305の生成においては、ホスト100の記憶装置102に格納されている制御プログラム305を構成する既存モジュール群と、先に返信された予約配置アドレス情報から、新モジュール305bのアドレス解決処理が行なわれ、このアドレス解決処理がされることにより制御プログラム305の生成が行なわれる。
【0025】
ステップS5で転送ファイル生成手段107において、新たに生成された制御プログラム305から、アドレス解決済みの新モジュール305bを抜き出し、ヘッダ314を付加して転送ファイルを生成する。ヘッダ314内には、新モジュール305bのバージョン情報314c、サイズ314d、予約配置アドレス314e等の情報を設定する。ステップS6で転送ファイル配信手段108が、配信対象の端末300や端末群400に対して、転送ファイルを配信する。
【0026】
端末300側の更新マネージャ306はステップS7で、転送ファイルの受信、配置と、更新実行を行う。更新マネージャ306によるこの部分の処理については、このあとで説明する。ステップS8で、更新処理が正常終了したか、更新処理途中でのエラー発生または新モジュール305bの動作不良により更新処理が異常終了したかの処理結果の通知を行う。最後に、配信マネージャ105はステップS9で、配信履歴を記録して、一連の処理を終了する。
【0027】
図5は、更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、更新マネージャ306の処理を説明する。本処理は図4のステップS7の詳細に関するものである。
更新マネージャ306は、ステップS10で配信マネージャ105からのプログラム更新要求を待って休止しており、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。ステップS11で転送ファイル受信手段307がホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS12で転送ファイル受信手段307が転送ファイルのヘッダ314から新モジュール305bのバージョン情報314cをチェックする。
【0028】
ステップS13でプログラム配置手段308において、ヘッダ314の予約配置アドレス情報314eに従って新モジュール305bをメモリ配置する。ここで、新モジュール305bは主メモリ304上の空き領域にメモリ配置される。ステップS14でプログラム更新実行手段309において、制御プログラム305の旧モジュール305aから新モジュール305bへリンクを切り替えることにより旧モジュール305aから新モジュール305bへの更新を行う。
【0029】
その後、ステップS15で後検証手段310において、新モジュール305bと一致する後検証プラグインテーブル・エントリ313d内の更新モジュール識別子313aを検索する。一致する後検証プラグインテーブル・エントリ313dが見つかったら、ステップS16で、後検証モジュールへのポインタ313bから、登録されている後検証モジュール311を呼出し、後検証モジュール311に動作検証処理を実行させる。即ち、ステップS16で、後検証手段310が後検証モジュールへのポインタ313bにアクセスし、主メモリ上に記憶されている後検証モジュール311を呼出し、後検証モジュール311に動作検証処理を実行させる。
【0030】
後検証モジュール311の動作検証処理の内容としては、例えば特定のデータ値のチェックや特定の引数値での関数呼出しに対する戻り値のチェック等が考えられる。ステップS17で、後検証モジュール311の実行結果を判定し、正常の場合は再びステップS15に戻り、更新モジュール識別子313aの一致するエントリがなくなるまで動作検証処理を順に行う。
【0031】
一方、ステップS17でエラーを検出した場合、ステップS18で、対処モジュールへのポインタ313cから、登録されている対処モジュール312を呼出し、対処モジュール312にエラー対処処理を実行させる。
対処モジュール312の処理内容としては、例えばプログラム更新実行手段309に対する旧モジュール305aへの復元要求の発行やエラーの黙認(無視)等が考えられる。最後に、動作検証の結果が正常の場合も異常終了の場合も、ステップS19で更新処理の結果通知を行い、再びステップS10で次回のプログラム更新要求を待って休止する。
【0032】
以上のように本実施の形態によれば、端末300側に後検証プラグインテーブル313と後検証手段310を設けて、新モジュール305bに対する動作検証を行うための汎用的な機構を提供しているので、異なるソフトウェア・プラットホームへの適用が容易(他のOSへの移植が容易)であると共に、更新した新モジュールの動作検証処理を実行するのでプログラム更新を行なうプログラム遠隔更新システムの信頼性を確保することができる。
【0033】
また、特に、後検証プラグインテーブル313に関して、後検証モジュール311とエラー検出時の対処モジュール312をそれぞれ登録、変更、削除できる構造にしているので、製品出荷時に端末300の種別や更新モジュール毎に動作検証項目を選択的に設定でき、検証処理の柔軟性の向上とユーザ負担の軽減を図ることができる。さらに、後検証モジュール311と対処モジュール312が連動して動作するので、端末300のサービス停止時間を短くできると共に、品質の低下を抑えることができる。
【0034】
実施の形態2.
実施の形態1ではプログラム更新実行手段309において新モジュール305bの更新を行った直後に、後検証手段310において動作検証を行なうようにした動的更新方式を対象としたものであるが、本実施の形態ではシステム再起動を伴う静的更新方式を対象とし、新たにシステム再起動後に動作検証を行うことを指示する後検証実行フラグを追加し、システム再起動を挟んで後検証手段310における動作検証を行う場合について説明する。ここで、動的更新方式とはシステムを再起動することなしに新モジュールの更新、新モジュールの動作検証をしたものであり、静的更新方式とはシステム再起動後に動作検証を行うものである。
【0035】
図6は、実施の形態2における端末300の構成図であり、図1と同一符号は同一又は相当部分を示し説明を省略する。
図において、315はシステム再起動後に動作検証の実行を指示する後検証実行フラグである。
【0036】
次に動作について説明する。
図7は、実施の形態2における更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、システム再起動を挟んだ更新マネージャ306の処理を説明する。端末300側においてシステムが起動し、更新マネージャ306が動作を開始すると、まずステップS20で後検証実行フラグ315が設定されているかチェックする。通常は設定されていないので、ステップS10で配信マネージャ105からのプログラム更新要求を待って休止する。そして、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。
【0037】
ステップS11で転送ファイル受信手段において、ホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS12で転送ファイルのヘッダ314から新モジュール305bのバージョン情報314cをチェックする。ステップS13でプログラム配置手段308において、ヘッダ314の予約配置アドレス314dに従って新モジュール305bをメモリ配置すると共に、記憶装置302に配置する。ステップS14でプログラム更新実行手段309において、制御プログラム305の旧モジュール305aから新モジュール305bへリンクを切り替えることにより更新を行う。
【0038】
ステップS21で、記憶手段である記憶装置302に後検証実行フラグ315を設定し、システム再起動後もこの設定状態が記憶保存されるようにする。ステップS22で、システム再起動が実行され、システムが再起動すると、再び更新マネージャ306が動作を開始し、ステップS20で後検証手段310が記憶装置302に後検証実行フラグ315が設定されているかチェックする。
【0039】
ステップS20で後検証実行フラグ315が設定されている時は、ステップS15で後検証手段310において、新モジュール305bと一致する更新モジュール識別子313aを検索する。一致する後検証プラグインテーブル・エントリ313dが見つかったら、ステップS16で、後検証モジュールへのポインタ313bから、登録されている後検証モジュール311を呼出し、後検証モジュール311に動作検証処理を実行させる。
【0040】
ステップS17で、後検証モジュール311の実行結果を判定し、正常の場合は再びステップS15に戻り、更新モジュール識別子313aの一致するエントリがなくなるまで動作検証処理を順に行う。一方、ステップS17でエラーを検出した場合、ステップS18で、対処モジュールへのポインタ313cから、登録されている対処モジュール312を呼出し、対処モジュール312にエラー対処処理を実行させる。
動作検証の結果が正常の場合も異常終了の場合も、ステップS19で更新処理の結果通知を行う。最後に、ステップS23で後検証実行フラグ315の設定をクリアし、再びステップS10で次回のプログラム更新要求を待って休止する。
【0041】
以上のように本実施の形態によれば、端末300側の記憶装置302上に後検証実行フラグ315を設けて、新モジュール305bの更新処理を行ったあと、後検証実行フラグ315を設定してからシステム再起動し、システム再起動後に後検証実行フラグ315の設定を検出して新モジュール305bの動作検証を行うようにしているので、新モジュール305bの更新を反映するためにシステム再起動を伴う静的更新方式の場合であっても、プログラム遠隔更新システムの信頼性を確保することができる。
【0042】
実施の形態3.
本実施の形態では、後検証プラグインテーブル・エントリ313d内に新たに後検証条件識別子を設けて、後検証手段310で、更新モジュール識別子313aに加え、後検証条件識別子と一致する後検証プラグインテーブル・エントリ313dを検索する場合について説明する。
【0043】
図8は、実施の形態3の後検証プラグインテーブル313の構成図であり、図2と同一符号は同一又は相当部分を示し説明を省略する。
図において、313eは更新モジュールに関する動作検証内容を識別する後検証条件識別子である。例えば、更新モジュール内の外部インタフェース関数毎に識別子を定義したり、動作検証内容の種別に応じてグルーピングして識別子を定義することが考えられる。
【0044】
次に動作について説明する。
図9は、更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、更新マネージャ306の処理を説明する。更新マネージャ306はステップS10で配信マネージャ105からのプログラム更新要求を待って休止しており、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。
【0045】
ステップS11で転送ファイル受信手段において、ホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS12で転送ファイルのヘッダ314から新モジュール305bのバージョン情報314cをチェックする。ステップS13でプログラム配置手段308において、ヘッダ314の予約配置アドレス314dに従って新モジュール305bをメモリ配置すると共に、記憶装置302に配置する。ステップS14でプログラム更新実行手段309において、制御プログラム305の旧モジュール305aから新モジュール305bへリンクを切り替えることにより更新を行う。
【0046】
その後、ステップS24で後検証手段310において、転送ファイルのヘッダ314から新モジュール305bと一致する後検証プラグインテーブル・エントリ313d内の更新モジュール識別子313aを検索した上で、さらに後検証条件識別子313eを検索する。両条件に一致する後検証プラグインテーブル・エントリ313dが見つかったら、ステップS16で、後検証モジュールへのポインタ313bから、登録されている後検証モジュール311を呼出し、後検証モジュール311に動作検証処理を実行させる。
【0047】
後検証モジュール311の処理内容としては、例えば特定のデータ値のチェックや特定の引数値での関数呼出しに対する戻り値のチェック等が考えられる。ステップS17で、後検証モジュール311の実行結果を判定し、正常の場合は再びステップS15に戻り、更新モジュール識別子313aの一致するエントリがなくなるまで動作検証処理を順に行う。
【0048】
一方、ステップS17でエラーを検出した場合、ステップS18で、対処モジュールへのポインタ313cから、登録されている対処モジュール312を呼出し実行する。最後に、動作検証の結果が正常の場合も異常終了の場合も、ステップS19で更新処理の結果通知を行い、再びステップS10で次回のプログラム更新要求を待って休止する。
【0049】
以上のように本実施の形態によれば、後検証プラグインテーブル・エントリ313d内に更新モジュール識別子313aに加え後検証条件識別子313eを設けて、この識別子に一致する動作検証だけを選択して実行する、即ち後検証プラグインテーブル・エントリ313d内に後検証条件識別子313eが設けられているエントリの後検証モジュールへのポインタ313bの後検証モジュール311に動作検証処理を実行するようにしているので、今回の改変内容に関連する動作検証項目だけを検証するなど絞り込みを行うことができ、検証処理の効率性を向上することができる。
【0050】
実施の形態4.
本実施の形態では、製品出荷後にホスト100側の配信マネージャ105から新モジュール305bの配信とは別に、転送ファイル内に後検証モジュール311および対処モジュール312を添付して配信し、更新マネージャ306内に新たに後検証プラグインテーブル管理手段を設けて、後検証モジュール311および対処モジュール312の追加、変更、削除を行う場合について説明する。
【0051】
図10は、実施の形態4における端末300の主メモリ304の構成図であり、図1と同一符号は同一又は相当部分を示し説明を省略する。
図において、316は後検証プラグインテーブル313への後検証モジュール311および対処モジュール312の追加、変更、削除を行う後検証プラグインテーブル管理手段である。
【0052】
図11は、実施の形態4における転送ファイルのヘッダ314の構成図であり、図3と同一符号は同一部分を示し説明を省略する。
図において、314gは転送ファイルに含まれるモジュール構成を示す添付モジュール構成フラグ、314hは後検証モジュールセットの添付数、314iは後検証モジュール#1の識別子、314jは後検証モジュール#1のサイズ、314kは後検証モジュール#1の予約配置アドレス、314lは対処モジュール#1の識別子、314mは対処モジュール#1のサイズ、314nは対処モジュール#1の予約配置アドレス、314oは前記六つ組から構成される後検証モジュールセットである。
【0053】
次に動作について説明する。
図12は、実施の形態4における更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、更新マネージャ306の処理を説明する。更新マネージャ306はステップS10で配信マネージャ105からのプログラム更新要求を待って休止しており、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。
【0054】
ステップS11で転送ファイル受信手段において、ホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS25で、転送ファイルのヘッダ314内の添付モジュール構成フラグ314gを参照して、転送ファイル内に後検証モジュールセット314oが添付されているかチェックする。もし添付されていないなら、以降は実施の形態1と同じであり、ステップS12へ進む。
また、ステップS26で後検証モジュールセット314oが添付されているなら、ステップS27で後検証プラグインテーブル管理手段316において、ヘッダ314内の後検証モジュールセットの添付数314hが最後のエントリに至るまでの間、後検証モジュールセット314oの情報に基づき、後検証モジュール311および対処モジュール312の登録処理を行う。
【0055】
また、ステップS27で後検証プラグインテーブル管理手段316において、後検証モジュール311および対処モジュール312をそれぞれ予約配置アドレス314kおよび同314nにメモリ配置すると共に、記憶装置302に配置したあと、それぞれの予約配置アドレス情報を後検証プラグインテーブル313の後検証モジュールへのポインタ313bおよび対処モジュールへのポインタ313cに設定する。
【0056】
なお、端末300側のシステムプログラムに動的リンク手段が装備されている場合は、ステップS27で後検証プラグインテーブル管理手段316において、動的リンク手段を介して決定された再配置アドレスを、後検証プラグインテーブル313の後検証モジュールへのポインタ313bおよび対処モジュールへのポインタ313cに設定する。
【0057】
次に、ステップS27で、最後の後検証モジュールセット314oに対する登録処理が終了したら、ステップS28で、再びヘッダ314内の添付モジュール構成フラグ314gを参照して、転送ファイル内に新モジュール305bが添付されているかチェックする。もし添付されていないなら、ステップS19で更新処理の結果通知を行い、今回の処理は終了する。また、新モジュール305bが添付されているなら、以降は実施の形態1と同じであり、ステップS12へ進む。ステップS12以降については、省略する。
【0058】
以上のように本実施の形態によれば、転送ファイル内に後検証モジュール311および対処モジュール312を添付して配信し、更新マネージャ306内に新たに後検証プラグインテーブル管理手段316を設けて、後検証モジュール311および対処モジュール312の追加、変更、削除を行うようにしているので、制御プログラム305の構成や機能の変更に合わせて動作検証内容を常に最適な状態に維持することができ、プログラム遠隔更新システムの信頼性を向上することができる。
【0059】
実施の形態5.
本実施の形態では、新たに前検証手段と前検証プラグインテーブルを設けて、転送ファイルを受信した直後に、新モジュール305bの正当性検証処理を行う場合について説明する。
【0060】
図13は、実施の形態5における端末300の主メモリ304の構成図であり、図1と同一符号は同一又は相当部分を示し説明を省略する。
図において、317は前検証プラグインテーブルに登録されている前検証モジュールの起動を行う前検証手段、318は新モジュールの正当性検証処理を行う前検証モジュール、319は前検証モジュールの登録、変更、および削除が可能なプラグイン構造を持つ前検証プラグインテーブルである。
【0061】
図14は、前検証プラグインテーブル319の構成図である。
図において、319aは更新モジュール識別子、319bは前検証モジュールの登録、変更、削除を行うための前検証モジュールへのポインタ、319cは前記二つ組から構成される前検証プラグインテーブル・エントリである。なお、本実施の形態5では、製品出荷時に前検証モジュールの登録が確定しているものとする。
【0062】
次に動作について説明する。
図15は、実施の形態5における更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、更新マネージャ306の処理を説明する。更新マネージャ306はステップS10で配信マネージャ105からのプログラム更新要求を待って休止しており、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。
【0063】
ステップS11で転送ファイル受信手段において、ホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS29で前検証手段において、新モジュール305bと一致する更新モジュール識別子313aと一致する前検証プラグインテーブル・エントリ319c内の更新モジュール識別子319aを検索する。
【0064】
一致する前検証プラグインテーブル・エントリ319cが見つかったら、ステップS30で、前検証モジュールへのポインタ319bに登録されている前検証モジュール318を呼出し、前検証モジュール318に正当性検証処理を実行させる。ステップS31で、前検証モジュール318の実行結果を判定し、正常の場合は再びステップS29に戻り、更新モジュール識別子319aの一致するエントリがなくなるまで正当性検証処理を順に行う。
【0065】
一方、ステップS31でエラーを検出した場合、ステップS19へ進み、更新処理の結果通知を行い、再びステップS10で次回のプログラム更新要求を待って休止する。また、ステップS29で、最後の正当性検証まで正常結果を得た場合、以降は実施の形態1と同じであり、ステップS13へ進む。ステップS13以降については、省略する。
【0066】
以上のように本実施の形態によれば、端末300側に前検証プラグインテーブル319と前検証手段317を設けて、新モジュール305bに対する正当性検証を行うための汎用的な機構を提供しているので、異なるソフトウェア・プラットホームへの適用が容易であると共に、更新前に更新モジュールの動作検証処理を実行するのでプログラム更新を行なうプログラム遠隔更新システムの信頼性を確保することができる。
【0067】
また、前検証プラグインテーブル319に関して、前検証モジュール318を登録、変更、削除できる構造にしているので、製品出荷時に端末300の種別や更新モジュール毎に正当性検証項目を設定でき、検証処理の柔軟性の向上とユーザ負担の軽減を図ることができる。
【0068】
実施の形態6.
本実施の形態では、製品出荷後にホスト100側の配信マネージャ105から新モジュール305bの配信とは別に、転送ファイル内に前検証モジュール318を添付して配信し、更新マネージャ306内に新たに前検証プラグインテーブル管理手段を設けて、前検証モジュール318の追加、変更、削除を行う場合について説明する。
【0069】
図16は、実施の形態6における端末300の主メモリ304の構成図であり、図1と同一符号は同一又は相当部分を示し説明を省略する。
図において、320は前検証プラグインテーブル319への前検証モジュール318の追加、変更、削除を行う前検証プラグインテーブル管理手段である。
【0070】
図17は、実施の形態6における転送ファイルのヘッダ314の構成図であり、図3と同一符号は同一又は相当部分を示し説明を省略する。
図において、314pは前検証モジュールセットの添付数、314qは前検証モジュール#1の識別子、314rは前検証モジュール#1のサイズ、314sは前検証モジュール#1の予約配置アドレス、314tは前記三つ組から構成される前検証モジュールセットである。
【0071】
次に動作について説明する。
図18は、実施の形態6における更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、更新マネージャ306の処理を説明する。更新マネージャ306はステップS10で配信マネージャ105からのプログラム更新要求を待って休止しており、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。
【0072】
ステップS11で転送ファイル受信手段において、ホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS25で、転送ファイルのヘッダ314内の添付モジュール構成フラグ314gを参照して、転送ファイル内に前検証モジュールセット314tが添付されているかチェックする。もし添付されていないなら、以降は実施の形態5と同じであり、ステップS29へ進む。
また前検証モジュールセット314tが添付されているなら、ステップS32で前検証プラグインテーブル管理手段320において、ヘッダ314内の前検証モジュールセットの添付数314pが最後のエントリに至るまでの間、前検証モジュールセット314tの情報に基づき、前検証モジュール312の登録処理を行う。
【0073】
ステップS33で前検証プラグインテーブル管理手段320において、前検証モジュール318を予約配置アドレス314sにメモリ配置すると共に、記憶装置302に配置したあと、予約配置アドレス情報を前検証プラグインテーブル319の前検証モジュールへのポインタ319bに設定する。なお、端末300側のシステムプログラムに動的リンク手段が装備されている場合は、ステップS33で前検証プラグインテーブル管理手段320において、動的リンク手段を介して決定された再配置アドレスを、前検証プラグインテーブル319の前検証モジュールへのポインタ319bに設定する。
【0074】
次に、ステップS32で、最後の前検証モジュールセット314tに対する登録処理が終了したら、ステップS34で、再びヘッダ314内の添付モジュール構成フラグ314gを参照して、転送ファイル内に新モジュール305bが添付されているかチェックする。もし添付されてないなら、ステップS19で更新処理の結果通知を行い、今回の処理は終了する。また、新モジュール305bが添付されているなら、以降は実施の形態5と同じであり、ステップS29へ進む。ステップS29以降については、省略する。
【0075】
以上のように本実施の形態によれば、転送ファイル内に前検証モジュール318を添付して配信し、更新マネージャ306内に新たに前検証プラグインテーブル管理手段320を設けて、前検証モジュール318の追加、変更、削除を行うようにしているので、制御プログラム305の構成や機能の変更に合わせて正当性検証内容を常に最適な状態に維持することができ、プログラム遠隔更新システムの信頼性を向上することができる。
【0076】
実施の形態7.
本実施の形態では、新たにホスト100側の配信マネージャ105に検証モジュール・ベータベース管理手段と検証モジュール集積手段を設けて、新モジュール305bと新モジュール305bに対応する後検証モジュール311と対処モジュール312とによる組、または新モジュール305bと新モジュール305bに対応する前検証モジュール318とによる組を自動的に集積して、転送ファイルを生成する場合について説明する。
【0077】
図19は、実施の形態7におけるホスト100の構成図であり、図1と同一符号は同一又は相当部分を示し説明を省略する。
図において、109は新モジュール305bと新モジュール305bに対応する後検証モジュール311と対処モジュール312とによる複数の組、または新モジュール305bと新モジュール305bに対応する前検証モジュール318とによる複数の組を管理するための検証モジュール・データベース管理手段、110は新モジュール305bに対応する後検証モジュール311と対処モジュール312とによる組、または新モジュール305bに対応する前検証モジュール318を集積する前検証モジュール集積手段、111は新モジュール305bと新モジュール305bに対応する後検証モジュール311と対処モジュール312とによる複数の組、または新モジュール305bと新モジュール305bに対応する前検証モジュール318とによる複数の組からなる一覧情報を保持する検証モジュール・データベースである。
【0078】
図20は、検証モジュール・データベース111の構成図である。
図において、111aは更新モジュール識別子、111bは更新モジュール・バージョン番号、111cは更新モジュールのバージョン毎に対応する前検証モジュール識別子の一覧、111dは更新モジュールのバージョン毎に対応する後検証モジュール識別子の一覧、111eは前記四つ組から構成される検証モジュール・データベース・エントリである。
【0079】
次に動作について説明する。
図21は、実施の形態7における配信マネージャ105の処理手順を示すフローチャートである。
図を用いて、配信マネージャ105の処理を説明する。ホスト100側で端末300用の制御プログラム305の障害改修や機能追加等の理由により、新モジュール305bを生成した場合、通常ローカル環境で機能試験を実施する。この時の機能試験の一部は後検証モジュール311とし、またこの時のバージョン情報の組合せ等の動作条件は前検証モジュール318とし、プログラム開発者は、検証モジュール・データベース管理手段109を通じて、前検証モジュール識別子の一覧111cまたは後検証モジュール識別子の一覧111dに登録する。
【0080】
ローカル環境での機能試験の結果、新モジュール305bがリリース可能と判断されたら、配信マネージャ105はステップS1で、端末300や端末群400に対してプログラム配信要求を発行する。この時、新モジュール305bの識別子とサイズ情報を送付する。ステップS3で、端末300側の更新マネージャ306からの応答により、予約配置アドレス情報のほか、端末資源構成情報やプログラム管理情報を受信する。ステップS3で、返信された情報に照らして新モジュール305bの配信要否(または可否)を判定する。判定の結果、配信しない端末300に対しては、以後何も行われない。
【0081】
次に、ステップS35で検証モジュール集積手段110において、検証モジュール・データベース111から新モジュール305bに合致する更新モジュール識別子111aおよび更新モジュール・バージョン番号111bのエントリを検索し、前検証モジュール識別子の一覧111cまたは後検証モジュール識別子の一覧111dから対応するモジュール群を集積する。次に、ステップS4でプログラム生成手段106において、ホスト100の記憶装置102に格納されている制御プログラム305を構成する既存モジュール群と、先に返信された予約配置アドレス情報から、新モジュール305bのアドレス解決処理を行う。ステップS5で転送ファイル生成手段107において、新たに生成された制御プログラム305から、アドレス解決済みの新モジュール305bを抜き出し、ヘッダ314を付加して転送ファイルを生成する。
【0082】
さらに、転送ファイル内には、集積した後検証モジュール311と対処モジュール312の組または前検証モジュール318を含め、ヘッダ314内の添付モジュール構成フラグ314gにその旨を設定する。ステップS6で転送ファイル配信手段108において、配信対象の端末300や端末群400に対して、転送ファイルを配信する。最後に、配信マネージャ105はステップS9で、更新マネージャ306からの結果通知を受けて、配信履歴を記録して、一連の処理を終了する。
【0083】
以上のように本実施の形態によれば、ホスト100側に検証モジュール・データベース111と検証モジュール・データベース管理手段109と検証モジュール集積手段110を設けて、新モジュール305bに対応する後検証モジュール311と対処モジュール312とによる組、または新モジュール305bに対応する前検証モジュール318を自動的に集積して、転送ファイルを生成するようにしているので、転送ファイルに検証モジュールを添付する際の誤り混入を防ぎ、ユーザの負担を軽減することができ、プログラム遠隔更新システムの安全性を向上することができる。
【0084】
実施の形態8.
本実施の形態では、新たに端末300側の更新マネージャ306に検証モジュールロード手段と検証モジュールアンロード手段を設けて、ホスト100側の配信マネージャ105から転送ファイルを受信した時に記憶装置302内の検証モジュールをロードし、更新処理が終了したあとに検証モジュールをアンロードする場合について説明する。
【0085】
図22は、実施の形態8における端末300の構成図であり、図13と同一符号は同一又は相当部分を示し説明を省略する。
図において、321は記憶装置302に格納されている後検証モジュール311と前検証モジュール318とによる検証モジュールをロードし前検証プラグインテーブル319および後検証プラグインテーブル313のエントリ内に検証モジュールの配置情報を登録するための検証モジュールロード手段、322は前検証プラグインテーブル319および後検証プラグインテーブル313に登録されている検証モジュールをアンロードするための検証モジュールアンロード手段、323は新モジュール305bの更新モジュール識別子に対応する後検証モジュール311と対処モジュール312の組または前検証モジュール318の一覧を保持する検証モジュール・データベースである。
なお、検証モジュール・データベース323内の構成は、図20に示したホスト100側の検証モジュール・データベース111と同様とする。
【0086】
次に動作について説明する。
図23は、実施の形態8における更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、更新マネージャ306の処理を説明する。更新マネージャ306はステップS10で配信マネージャ105からのプログラム更新要求を待って休止しており、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。
【0087】
ステップS11で転送ファイル受信手段において、ホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS36で検証モジュールロード手段321において、転送ファイル・ヘッダ314内の更新モジュール識別子314bをキーとして、記憶装置302内の検証モジュール・データベース323を検索し、一致するエントリが見つかったら、検証モジュールをロードし、前検証プラグインテーブル319および後検証プラグインテーブル313のエントリ内に検証モジュールの配置情報を登録する。
【0088】
ステップS29以降の処理は、実施の形態5と同じであり、新モジュール305bに対する前検証、メモリ配置、更新実行、および後検証までを行う。最後に、ステップS19で更新処理の結果通知を行ったあと、ステップS37で検証モジュールアンロード手段322において、前検証プラグインテーブル319および後検証プラグインテーブル313に登録されている検証モジュールへのポインタをクリアし、検証モジュールをメモリ上から削除する。そして、再びステップS10で次回のプログラム更新要求を待って休止する。
【0089】
以上のように本実施の形態によれば、端末300側に検証モジュール・データベース323と検証モジュールロード手段321と検証モジュールアンロード手段322を設けて、転送ファイルを受信した時に検証モジュール・データベース323を検索し、更新モジュール識別子314bに合致する検証モジュールをロードし、また更新処理が終了したあとに該検証モジュールをアンロードするようにしているので、プログラム更新要求がない時は更新モジュールをメモリ配置する必要がなく、端末300側のメモリ資源の使用量を低く抑えることができる。
【0090】
【発明の効果】
この発明は、以上説明したように、配信用コンピュータがサービス提供処理を実行する新モジュールを配信し、端末が制御プログラムのモジュールを配信用コンピュータにより配信された新モジュールに更新し、更新した新モジュールの動作検証処理を実行し、動作検証処理でエラーを検出した時にエラー対処処理を実行することにより、プログラム更新を行なうプログラム遠隔更新システムの信頼性を確保することができる。
【図面の簡単な説明】
【図1】実施の形態1のプログラム遠隔更新システムの構成図。
【図2】実施の形態1における後検証プラグインテーブル313の構成図。
【図3】実施の形態1における転送ファイルのヘッダの構成図。
【図4】実施の形態1における配信マネージャ105と更新マネージャ306と間の処理シーケンスを示す図。
【図5】実施の形態1における更新マネージャ306の処理手順を示すフローチャート。
【図6】実施の形態2における端末300の構成図。
【図7】実施の形態2における更新マネージャ306の処理手順を示すフローチャート。
【図8】実施の形態3における後検証プラグインテーブル313の構成図。
【図9】実施の形態3における更新マネージャ306の処理手順を示すフローチャート。
【図10】実施の形態4における端末300の主メモリ304の構成図。
【図11】実施の形態4における転送ファイルのヘッダ314の構成図。
【図12】実施の形態4における更新マネージャ306の処理手順を示すフローチャート。
【図13】実施の形態5における端末300の主メモリ304の構成図。
【図14】実施の形態5における前検証プラグインテーブル319の構成図。
【図15】実施の形態5における更新マネージャ306の処理手順を示すフローチャート。
【図16】実施の形態6における端末300の主メモリ304の構成図。
【図17】実施の形態6における転送ファイルのヘッダ314の構成図。
【図18】実施の形態6における更新マネージャ306の処理手順を示すフローチャート。
【図19】実施の形態7におけるホスト100の構成図。
【図20】実施の形態7における検証モジュール・データベース111の構成図。
【図21】実施の形態7における配信マネージャ105の処理手順を示すフローチャート。
【図22】実施の形態8における端末300の構成図。
【図23】実施の形態8における更新マネージャ306の処理手順を示すフローチャート。
【図24】従来のプログラム検証システムの構成図。
【符号の説明】
100 ホスト(配信ホスト)、101 CPU、102 記憶装置、103外部通信インタフェース、104 主メモリ、105、106 プログラム生成手段、107 転送ファイル生成手段、108 転送ファイル配信手段、200 通信ネットワーク、300 端末、301 外部通信インタフェース、302 記憶装置、303 CPU、304 主メモリ、305 制御プログラム、305a 旧モジュール、305b 新モジュール、306 更新マネージャ、307 転送ファイル受信手段、308 プログラム配置手段、309 プログラム更新実行手段、310 後検証手段、311 後検証モジュール、312 対処モジュール、313 後検証プラグインテーブル。
【発明の属する技術分野】
本発明は、CPU、主メモリやフラッシュメモリ等の不揮発性の記憶装置、一つ以上の外部通信インタフェースから構成される組込み機器(以下、端末と呼ぶ)と、該端末用の制御プログラムを生成・配信するホストと、両者を接続する通信ネットワークと、から構成されるプログラム遠隔更新システムに関するものである。
【0002】
【従来の技術】
これまで、端末用の制御プログラムはROM(Read Only Memory)やフラッシュメモリ等の不揮発性の記憶媒体に格納され、製品出荷後その構成は固定のものとされてきた。しかし、近年端末ソフトウェアのオープン化やネットワーク化が進展し、様々な情報処理技術が採用されており、その規模や複雑さが増している。このため、携帯電話のように製品出荷後にソフトウェア不具合が発見される事例もあり、通信ネットワークを介して改修ソフトウェアの更新を行うことで、端末の品質向上とソフトウェア保守の効率化を図ることが求められている。
【0003】
また、情報処理技術の進歩に追随するため、共通ソフトウェアを新しいものに進化させていくことで、端末の付加価値向上を図ることも求められていくと予想される。このように、製品出荷後に制御プログラムの部分更新を行い、その構成を変更するプログラム遠隔更新システムの必要性が増してきている。これまでに、BSデジタル放送受信機やインターネット電話におけるソフトウェア・ダウンロード・サービスの実用化の例がある。
【0004】
プログラム遠隔更新システムでは、プログラム更新実行の結果、端末の品質が低下することや、最悪の場合自力での復旧が困難となる事態を避けることが特に重要となる。このため、従来のプログラム遠隔更新システムには、端末側で受信した新プログラムの正当性をチェックしたり、更新実行に伴って新プログラムの正常動作をチェックするものがある(特許文献1)。
【0005】
次に、特許文献1の従来のプログラム遠隔更新システムについて説明する。
図24は、従来のプログラム検証システムの構成図である。本システムは、例えばコンビニエンス・ストア内に設置される情報端末によるマルチメディア情報提供サービスに適用される。情報提供装置20は無線通信路51または優先通信路52を介して、音楽や映画、ゲームソフトウェア等のマルチメディア情報をネットワークサーバ30に配信する。店舗内に設置されるネットワークサーバ30では、ブラウザ等の出力処理プログラムが動作しており、専用線で接続されたクライアント端末60にマルチメディア情報を出力する。また、クライアント端末60は、ユーザ操作によりマルチメディア情報の提供サービスを受け付ける。
【0006】
次に検証動作について説明する。ネットワークサーバ30で動作している出力処理プログラムを更新または追加する場合、情報提供装置20内の記憶装置23に格納されている新しい出力処理プログラムと動作確認用サンプルデータを送信装置21から送信する。ネットワークサーバ30では、受信装置31でこれを受信し、新しい出力処理プログラムがインストールされる。該出力処理プログラムは該サンプルデータを用いて実行され、その動作結果が記憶装置33に格納される。全てのサンプルデータについて動作結果が得られると、その結果情報はネットワーク送受信装置35から情報提供装置20に返信される。
【0007】
情報提供装置20では、インターネット送受信装置24でこれを受信する。そして、情報制御装置22において、記憶装置23に格納された解析プログラムを用いて結果情報が解析される。この解析結果から、新しい出力処理プログラムの動作が正常かどうかを、メンテナンス技術者が判断する。正常と判断された場合は、記憶装置23に格納されたマルチメディア情報が送信装置21から送信される。ネットワークサーバ30では、受信装置31でこれを受信し、新しい出力処理プログラムによるマルチメディア情報提供サービスの運用を再開する。一方、先の解析結果から、異常と判断された場合は、メンテナンス技術者によって出力処理プログラムの修正が行われる。
【0008】
その後、再び新しい出力処理プログラムと動作確認用サンプルデータを送信装置21から送信する。ネットワークサーバ30では、受信装置31でこれを受信し、修正された出力処理プログラムが再インストールされる。先ほどと同様に動作確認が行われ、正常と判断されるまで出力処理プログラムの修正が繰り返される。
【0009】
以上のように、ネットワークサーバ30で動作している出力処理プログラムを更新または追加する場合、情報提供装置20では新しい出力処理プログラムと合わせて動作確認用サンプルデータを送信し、ネットワークサーバ30では該サンプルデータを用いて新しい出力処理プログラムを実行するため、新しい出力処理プログラムの修正内容に応じた動作確認用サンプルデータを添付することができる。また、該サンプルデータによる動作結果を情報提供装置20に返信し、解析プログラムによる結果情報の解析と技術者による判定を行うため、店舗に赴いてクライアント端末60を操作する必要がなく、保守コストを削減することができる。
【0010】
【特許文献1】
特開2001−256201号公報
【0011】
【発明が解決しようとする課題】
従来のプログラム検証システムでは、新しい出力処理プログラムと合わせて動作確認用サンプルデータを送信することで、新しい出力処理プログラムの修正内容に応じた動作確認用サンプルデータを添付することができるものの、出力処理プログラムの更新または追加処理を行う際に、毎回必ず動作確認用サンプルデータを添付しなければならないため、送信する総ファイルサイズが大きくなる。また、動作確認に対する検証処理を情報提供装置20側で行うことで、クライアント端末60で操作する必要はなくなるものの、技術者による判定を含むため、サービスの運用停止時間が長くなる。さらに、動作結果が正常と判断されるまで出力処理プログラムの修正が繰り返されるが、その間動作不良部分を含む出力処理プログラムがインストールされた状態のままであり、ネットワークサーバ30の動作信頼性が低下するという問題点があった。
【0012】
本発明は上記のような問題点を解決するためになされたもので、更新処理を実行する前に不適合プログラムを排除するための正当性検証を行う前検証手段と、更新処理を実行した直後に新プログラムの動作検証を行う後検証手段を設け、特に各検証手段における検証処理(内容)を登録するテーブルをプラグイン構造にすることで、端末の種別やプログラム構成に合わせて検証処理を柔軟に変更できるようにする。さらに、後検証の登録テーブルでは、各動作検証処理に対応するエラー対処処理を定義、登録できるようにし、動作検証の結果エラーを検出した場合、自動的にエラー対処処理を実行するようにする。エラー対処処理の一例として旧プログラムへの復元実行が考えられる。これにより、プログラム遠隔更新システムの信頼性を確保すると共に、検証処理の柔軟性を向上することを目的とする。
【0013】
【課題を解決するための手段】
この発明に係るプログラム遠隔更新システムは、サービス提供処理を実行する新モジュールを含む転送ファイルを配信する配信用コンピュータと、
サービス提供処理を実行するモジュールにより構成された制御プログラムと、前記制御プログラムの前記モジュールを前記配信用コンピュータにより配信された前記転送ファイルの前記新モジュールに更新するプログラム更新実行手段と、前記プログラム更新実行手段により更新された前記新モジュールの動作検証処理を実行する後検証モジュールと、前記動作検証処理でエラーを検出した時にエラー対処処理を実行する対処モジュールとを有する端末と、を備えたものである。
【0014】
【発明の実施の形態】
実施の形態1.
図1は、本発明の実施の形態1のプログラム遠隔更新システムの構成図である。
図において、100は配信用コンピュータであるホスト、101はCPU、102は記憶装置、103は外部通信インタフェース、104は主メモリ、105は端末用の新モジュールの生成と配信処理を行う配信マネージャ、106は端末用の制御プログラムを生成するプログラム生成手段、107は新モジュールにヘッダ情報を付加して転送ファイルを生成する転送ファイル生成手段、108は転送ファイルを更新対象の端末へ配信する転送ファイル配信手段である。
【0015】
200はホストと端末を接続する通信ネットワークであり、例えば有線通信ではインターネットや専用回線で用いられるIP(Internet Protocol)ネットワーク、Ethernet(登録商標)やUSB(Universal Serial Bus)等の通信規格に基づくローカル・ネットワークを、無線通信では携帯電話網を利用したネットワーク、放送機器や車載機器で用いられる衛星通信ネットワーク、無線LANやBluetooth(登録商標)等の通信規格に基づくローカル・ネットワークを想定する。
【0016】
300はプログラム更新対象となる組込み機器である端末、301は外部通信インタフェース、302は記憶装置、303はCPU、304は主メモリ、305は端末サービスを提供する制御プログラム、305aは制御プログラムを構成する機能単位であり現在実行中の旧モジュール、305bは旧モジュールを改変した新モジュールである。ここで、旧モジュール305a、新モジュール305bは、制御プログラム305中の個々の部分プログラムであり、それぞれ旧部分プログラム、新部分プログラムを示すものである。
【0017】
306は新モジュールの更新処理を行う更新マネージャ、307は通信ネットワークを介して送信される転送ファイルの受信処理を行う転送ファイル受信手段、308は転送ファイル内から新モジュールを取り出し予約領域に配置するプログラム配置手段、309は制御プログラム内の旧モジュールから新モジュールへの更新処理を行うプログラム更新実行手段、310は後検証プラグインテーブルに登録されている後検証モジュールの起動と検証エラーを検出した時に対応する対処モジュールの起動を行う後検証手段、311は新モジュールの動作検証処理を行う後検証モジュール、312は動作検証の結果エラーを検出した時のエラー対処処理を行う対処モジュール、313は後検証モジュールと対処モジュールの登録、変更、および削除が可能なプラグイン構造を持つ後検証プラグインテーブルである。ここで、後検証モジュール311と対処モジュール312は主メモリ304上に記憶されているものである。
【0018】
400は、端末300と基本構成は同じであるが、型番・搭載ハードウェア資源量・搭載しているプログラムの構成やバージョン等がそれぞれ異なる可能性のある端末群である。
【0019】
図2は、後検証プラグインテーブル313の構成図である。
図において、313aは更新モジュール識別子、313bは後検証モジュールの登録、変更、削除を行うための後検証モジュールへのポインタ、313cは対処モジュールの登録、変更、削除を行うための対処モジュールへのポインタ、313dは前記三つ組から構成される後検証プラグインテーブル・エントリである。
ここで、後検証モジュールへのポインタ313bは後検証モジュール311の配置アドレスを、対処モジュールへのポインタ313cは対処モジュール312の配置アドレスを示すものである。
【0020】
ここで、後検証プラグインテーブル313は、更新モジュール識別子313aと、この更新モジュール識別子313aに対応し、後検証モジュール311にアクセスし主メモリ304上に記憶された後検証モジュール311を呼び出すことができる後検証モジュールへのポインタ313bと、この更新モジュール識別子313aに対応し、対処モジュール312にアクセスし主メモリ304上に記憶された対処モジュール312を呼び出すことができる後検証モジュールへのポインタ313bと、の三つ組から構成された後検証プラグインテーブル・エントリ313dが複数登録されているものである。
なお、本実施の形態1では、製品出荷時に後検証モジュールと対処モジュールの登録が確定しているものとする。
【0021】
図3は、転送ファイルのヘッダの構成図である。
図において、314は転送ファイルのヘッダ、314aは転送ファイルであることを示すマジックナンバ、314bは更新モジュール識別子情報、314cは新モジュール305bのバージョン情報、314dは新モジュール305bのサイズ情報、314eは新モジュール305bの予約配置アドレス情報、314fは転送ファイルのヘッダのサイズである。
【0022】
次に動作について説明する。
図4は、ホスト100側の配信マネージャ105と端末300側の更新マネージャ306と間の処理シーケンスを示す図である。
図を用いて、プログラム遠隔更新の処理内容を説明する。まずホスト100側で端末300用の制御プログラム305の障害改修や機能追加等の理由により、新モジュール305bを生成した場合、通常ローカル環境で機能試験を実施する。その結果、新モジュール305bがリリース可能と判断されたら、配信マネージャ105はステップS1で、端末300や端末群400に対してプログラム更新要求を発行する。この時、新モジュール305bの識別子とサイズ情報を送付する。
【0023】
端末300側の更新マネージャ306はステップS2で、プログラム配置手段308を通じて新モジュール305bの配置可能領域を予約し、予約配置アドレス情報を返信する。この時、さらに端末資源構成情報やプログラム管理情報も返信する。再び、配信マネージャ105ではステップS3で、返信された情報に照らして新モジュール305bの配信要否(または可否)を判定する。判定の結果、配信しない端末300に対しては、以後何も行われない。
【0024】
次に、ステップS4でプログラム生成手段106において、制御プログラム305が新たに生成される。この制御プログラム305の生成においては、ホスト100の記憶装置102に格納されている制御プログラム305を構成する既存モジュール群と、先に返信された予約配置アドレス情報から、新モジュール305bのアドレス解決処理が行なわれ、このアドレス解決処理がされることにより制御プログラム305の生成が行なわれる。
【0025】
ステップS5で転送ファイル生成手段107において、新たに生成された制御プログラム305から、アドレス解決済みの新モジュール305bを抜き出し、ヘッダ314を付加して転送ファイルを生成する。ヘッダ314内には、新モジュール305bのバージョン情報314c、サイズ314d、予約配置アドレス314e等の情報を設定する。ステップS6で転送ファイル配信手段108が、配信対象の端末300や端末群400に対して、転送ファイルを配信する。
【0026】
端末300側の更新マネージャ306はステップS7で、転送ファイルの受信、配置と、更新実行を行う。更新マネージャ306によるこの部分の処理については、このあとで説明する。ステップS8で、更新処理が正常終了したか、更新処理途中でのエラー発生または新モジュール305bの動作不良により更新処理が異常終了したかの処理結果の通知を行う。最後に、配信マネージャ105はステップS9で、配信履歴を記録して、一連の処理を終了する。
【0027】
図5は、更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、更新マネージャ306の処理を説明する。本処理は図4のステップS7の詳細に関するものである。
更新マネージャ306は、ステップS10で配信マネージャ105からのプログラム更新要求を待って休止しており、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。ステップS11で転送ファイル受信手段307がホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS12で転送ファイル受信手段307が転送ファイルのヘッダ314から新モジュール305bのバージョン情報314cをチェックする。
【0028】
ステップS13でプログラム配置手段308において、ヘッダ314の予約配置アドレス情報314eに従って新モジュール305bをメモリ配置する。ここで、新モジュール305bは主メモリ304上の空き領域にメモリ配置される。ステップS14でプログラム更新実行手段309において、制御プログラム305の旧モジュール305aから新モジュール305bへリンクを切り替えることにより旧モジュール305aから新モジュール305bへの更新を行う。
【0029】
その後、ステップS15で後検証手段310において、新モジュール305bと一致する後検証プラグインテーブル・エントリ313d内の更新モジュール識別子313aを検索する。一致する後検証プラグインテーブル・エントリ313dが見つかったら、ステップS16で、後検証モジュールへのポインタ313bから、登録されている後検証モジュール311を呼出し、後検証モジュール311に動作検証処理を実行させる。即ち、ステップS16で、後検証手段310が後検証モジュールへのポインタ313bにアクセスし、主メモリ上に記憶されている後検証モジュール311を呼出し、後検証モジュール311に動作検証処理を実行させる。
【0030】
後検証モジュール311の動作検証処理の内容としては、例えば特定のデータ値のチェックや特定の引数値での関数呼出しに対する戻り値のチェック等が考えられる。ステップS17で、後検証モジュール311の実行結果を判定し、正常の場合は再びステップS15に戻り、更新モジュール識別子313aの一致するエントリがなくなるまで動作検証処理を順に行う。
【0031】
一方、ステップS17でエラーを検出した場合、ステップS18で、対処モジュールへのポインタ313cから、登録されている対処モジュール312を呼出し、対処モジュール312にエラー対処処理を実行させる。
対処モジュール312の処理内容としては、例えばプログラム更新実行手段309に対する旧モジュール305aへの復元要求の発行やエラーの黙認(無視)等が考えられる。最後に、動作検証の結果が正常の場合も異常終了の場合も、ステップS19で更新処理の結果通知を行い、再びステップS10で次回のプログラム更新要求を待って休止する。
【0032】
以上のように本実施の形態によれば、端末300側に後検証プラグインテーブル313と後検証手段310を設けて、新モジュール305bに対する動作検証を行うための汎用的な機構を提供しているので、異なるソフトウェア・プラットホームへの適用が容易(他のOSへの移植が容易)であると共に、更新した新モジュールの動作検証処理を実行するのでプログラム更新を行なうプログラム遠隔更新システムの信頼性を確保することができる。
【0033】
また、特に、後検証プラグインテーブル313に関して、後検証モジュール311とエラー検出時の対処モジュール312をそれぞれ登録、変更、削除できる構造にしているので、製品出荷時に端末300の種別や更新モジュール毎に動作検証項目を選択的に設定でき、検証処理の柔軟性の向上とユーザ負担の軽減を図ることができる。さらに、後検証モジュール311と対処モジュール312が連動して動作するので、端末300のサービス停止時間を短くできると共に、品質の低下を抑えることができる。
【0034】
実施の形態2.
実施の形態1ではプログラム更新実行手段309において新モジュール305bの更新を行った直後に、後検証手段310において動作検証を行なうようにした動的更新方式を対象としたものであるが、本実施の形態ではシステム再起動を伴う静的更新方式を対象とし、新たにシステム再起動後に動作検証を行うことを指示する後検証実行フラグを追加し、システム再起動を挟んで後検証手段310における動作検証を行う場合について説明する。ここで、動的更新方式とはシステムを再起動することなしに新モジュールの更新、新モジュールの動作検証をしたものであり、静的更新方式とはシステム再起動後に動作検証を行うものである。
【0035】
図6は、実施の形態2における端末300の構成図であり、図1と同一符号は同一又は相当部分を示し説明を省略する。
図において、315はシステム再起動後に動作検証の実行を指示する後検証実行フラグである。
【0036】
次に動作について説明する。
図7は、実施の形態2における更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、システム再起動を挟んだ更新マネージャ306の処理を説明する。端末300側においてシステムが起動し、更新マネージャ306が動作を開始すると、まずステップS20で後検証実行フラグ315が設定されているかチェックする。通常は設定されていないので、ステップS10で配信マネージャ105からのプログラム更新要求を待って休止する。そして、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。
【0037】
ステップS11で転送ファイル受信手段において、ホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS12で転送ファイルのヘッダ314から新モジュール305bのバージョン情報314cをチェックする。ステップS13でプログラム配置手段308において、ヘッダ314の予約配置アドレス314dに従って新モジュール305bをメモリ配置すると共に、記憶装置302に配置する。ステップS14でプログラム更新実行手段309において、制御プログラム305の旧モジュール305aから新モジュール305bへリンクを切り替えることにより更新を行う。
【0038】
ステップS21で、記憶手段である記憶装置302に後検証実行フラグ315を設定し、システム再起動後もこの設定状態が記憶保存されるようにする。ステップS22で、システム再起動が実行され、システムが再起動すると、再び更新マネージャ306が動作を開始し、ステップS20で後検証手段310が記憶装置302に後検証実行フラグ315が設定されているかチェックする。
【0039】
ステップS20で後検証実行フラグ315が設定されている時は、ステップS15で後検証手段310において、新モジュール305bと一致する更新モジュール識別子313aを検索する。一致する後検証プラグインテーブル・エントリ313dが見つかったら、ステップS16で、後検証モジュールへのポインタ313bから、登録されている後検証モジュール311を呼出し、後検証モジュール311に動作検証処理を実行させる。
【0040】
ステップS17で、後検証モジュール311の実行結果を判定し、正常の場合は再びステップS15に戻り、更新モジュール識別子313aの一致するエントリがなくなるまで動作検証処理を順に行う。一方、ステップS17でエラーを検出した場合、ステップS18で、対処モジュールへのポインタ313cから、登録されている対処モジュール312を呼出し、対処モジュール312にエラー対処処理を実行させる。
動作検証の結果が正常の場合も異常終了の場合も、ステップS19で更新処理の結果通知を行う。最後に、ステップS23で後検証実行フラグ315の設定をクリアし、再びステップS10で次回のプログラム更新要求を待って休止する。
【0041】
以上のように本実施の形態によれば、端末300側の記憶装置302上に後検証実行フラグ315を設けて、新モジュール305bの更新処理を行ったあと、後検証実行フラグ315を設定してからシステム再起動し、システム再起動後に後検証実行フラグ315の設定を検出して新モジュール305bの動作検証を行うようにしているので、新モジュール305bの更新を反映するためにシステム再起動を伴う静的更新方式の場合であっても、プログラム遠隔更新システムの信頼性を確保することができる。
【0042】
実施の形態3.
本実施の形態では、後検証プラグインテーブル・エントリ313d内に新たに後検証条件識別子を設けて、後検証手段310で、更新モジュール識別子313aに加え、後検証条件識別子と一致する後検証プラグインテーブル・エントリ313dを検索する場合について説明する。
【0043】
図8は、実施の形態3の後検証プラグインテーブル313の構成図であり、図2と同一符号は同一又は相当部分を示し説明を省略する。
図において、313eは更新モジュールに関する動作検証内容を識別する後検証条件識別子である。例えば、更新モジュール内の外部インタフェース関数毎に識別子を定義したり、動作検証内容の種別に応じてグルーピングして識別子を定義することが考えられる。
【0044】
次に動作について説明する。
図9は、更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、更新マネージャ306の処理を説明する。更新マネージャ306はステップS10で配信マネージャ105からのプログラム更新要求を待って休止しており、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。
【0045】
ステップS11で転送ファイル受信手段において、ホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS12で転送ファイルのヘッダ314から新モジュール305bのバージョン情報314cをチェックする。ステップS13でプログラム配置手段308において、ヘッダ314の予約配置アドレス314dに従って新モジュール305bをメモリ配置すると共に、記憶装置302に配置する。ステップS14でプログラム更新実行手段309において、制御プログラム305の旧モジュール305aから新モジュール305bへリンクを切り替えることにより更新を行う。
【0046】
その後、ステップS24で後検証手段310において、転送ファイルのヘッダ314から新モジュール305bと一致する後検証プラグインテーブル・エントリ313d内の更新モジュール識別子313aを検索した上で、さらに後検証条件識別子313eを検索する。両条件に一致する後検証プラグインテーブル・エントリ313dが見つかったら、ステップS16で、後検証モジュールへのポインタ313bから、登録されている後検証モジュール311を呼出し、後検証モジュール311に動作検証処理を実行させる。
【0047】
後検証モジュール311の処理内容としては、例えば特定のデータ値のチェックや特定の引数値での関数呼出しに対する戻り値のチェック等が考えられる。ステップS17で、後検証モジュール311の実行結果を判定し、正常の場合は再びステップS15に戻り、更新モジュール識別子313aの一致するエントリがなくなるまで動作検証処理を順に行う。
【0048】
一方、ステップS17でエラーを検出した場合、ステップS18で、対処モジュールへのポインタ313cから、登録されている対処モジュール312を呼出し実行する。最後に、動作検証の結果が正常の場合も異常終了の場合も、ステップS19で更新処理の結果通知を行い、再びステップS10で次回のプログラム更新要求を待って休止する。
【0049】
以上のように本実施の形態によれば、後検証プラグインテーブル・エントリ313d内に更新モジュール識別子313aに加え後検証条件識別子313eを設けて、この識別子に一致する動作検証だけを選択して実行する、即ち後検証プラグインテーブル・エントリ313d内に後検証条件識別子313eが設けられているエントリの後検証モジュールへのポインタ313bの後検証モジュール311に動作検証処理を実行するようにしているので、今回の改変内容に関連する動作検証項目だけを検証するなど絞り込みを行うことができ、検証処理の効率性を向上することができる。
【0050】
実施の形態4.
本実施の形態では、製品出荷後にホスト100側の配信マネージャ105から新モジュール305bの配信とは別に、転送ファイル内に後検証モジュール311および対処モジュール312を添付して配信し、更新マネージャ306内に新たに後検証プラグインテーブル管理手段を設けて、後検証モジュール311および対処モジュール312の追加、変更、削除を行う場合について説明する。
【0051】
図10は、実施の形態4における端末300の主メモリ304の構成図であり、図1と同一符号は同一又は相当部分を示し説明を省略する。
図において、316は後検証プラグインテーブル313への後検証モジュール311および対処モジュール312の追加、変更、削除を行う後検証プラグインテーブル管理手段である。
【0052】
図11は、実施の形態4における転送ファイルのヘッダ314の構成図であり、図3と同一符号は同一部分を示し説明を省略する。
図において、314gは転送ファイルに含まれるモジュール構成を示す添付モジュール構成フラグ、314hは後検証モジュールセットの添付数、314iは後検証モジュール#1の識別子、314jは後検証モジュール#1のサイズ、314kは後検証モジュール#1の予約配置アドレス、314lは対処モジュール#1の識別子、314mは対処モジュール#1のサイズ、314nは対処モジュール#1の予約配置アドレス、314oは前記六つ組から構成される後検証モジュールセットである。
【0053】
次に動作について説明する。
図12は、実施の形態4における更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、更新マネージャ306の処理を説明する。更新マネージャ306はステップS10で配信マネージャ105からのプログラム更新要求を待って休止しており、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。
【0054】
ステップS11で転送ファイル受信手段において、ホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS25で、転送ファイルのヘッダ314内の添付モジュール構成フラグ314gを参照して、転送ファイル内に後検証モジュールセット314oが添付されているかチェックする。もし添付されていないなら、以降は実施の形態1と同じであり、ステップS12へ進む。
また、ステップS26で後検証モジュールセット314oが添付されているなら、ステップS27で後検証プラグインテーブル管理手段316において、ヘッダ314内の後検証モジュールセットの添付数314hが最後のエントリに至るまでの間、後検証モジュールセット314oの情報に基づき、後検証モジュール311および対処モジュール312の登録処理を行う。
【0055】
また、ステップS27で後検証プラグインテーブル管理手段316において、後検証モジュール311および対処モジュール312をそれぞれ予約配置アドレス314kおよび同314nにメモリ配置すると共に、記憶装置302に配置したあと、それぞれの予約配置アドレス情報を後検証プラグインテーブル313の後検証モジュールへのポインタ313bおよび対処モジュールへのポインタ313cに設定する。
【0056】
なお、端末300側のシステムプログラムに動的リンク手段が装備されている場合は、ステップS27で後検証プラグインテーブル管理手段316において、動的リンク手段を介して決定された再配置アドレスを、後検証プラグインテーブル313の後検証モジュールへのポインタ313bおよび対処モジュールへのポインタ313cに設定する。
【0057】
次に、ステップS27で、最後の後検証モジュールセット314oに対する登録処理が終了したら、ステップS28で、再びヘッダ314内の添付モジュール構成フラグ314gを参照して、転送ファイル内に新モジュール305bが添付されているかチェックする。もし添付されていないなら、ステップS19で更新処理の結果通知を行い、今回の処理は終了する。また、新モジュール305bが添付されているなら、以降は実施の形態1と同じであり、ステップS12へ進む。ステップS12以降については、省略する。
【0058】
以上のように本実施の形態によれば、転送ファイル内に後検証モジュール311および対処モジュール312を添付して配信し、更新マネージャ306内に新たに後検証プラグインテーブル管理手段316を設けて、後検証モジュール311および対処モジュール312の追加、変更、削除を行うようにしているので、制御プログラム305の構成や機能の変更に合わせて動作検証内容を常に最適な状態に維持することができ、プログラム遠隔更新システムの信頼性を向上することができる。
【0059】
実施の形態5.
本実施の形態では、新たに前検証手段と前検証プラグインテーブルを設けて、転送ファイルを受信した直後に、新モジュール305bの正当性検証処理を行う場合について説明する。
【0060】
図13は、実施の形態5における端末300の主メモリ304の構成図であり、図1と同一符号は同一又は相当部分を示し説明を省略する。
図において、317は前検証プラグインテーブルに登録されている前検証モジュールの起動を行う前検証手段、318は新モジュールの正当性検証処理を行う前検証モジュール、319は前検証モジュールの登録、変更、および削除が可能なプラグイン構造を持つ前検証プラグインテーブルである。
【0061】
図14は、前検証プラグインテーブル319の構成図である。
図において、319aは更新モジュール識別子、319bは前検証モジュールの登録、変更、削除を行うための前検証モジュールへのポインタ、319cは前記二つ組から構成される前検証プラグインテーブル・エントリである。なお、本実施の形態5では、製品出荷時に前検証モジュールの登録が確定しているものとする。
【0062】
次に動作について説明する。
図15は、実施の形態5における更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、更新マネージャ306の処理を説明する。更新マネージャ306はステップS10で配信マネージャ105からのプログラム更新要求を待って休止しており、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。
【0063】
ステップS11で転送ファイル受信手段において、ホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS29で前検証手段において、新モジュール305bと一致する更新モジュール識別子313aと一致する前検証プラグインテーブル・エントリ319c内の更新モジュール識別子319aを検索する。
【0064】
一致する前検証プラグインテーブル・エントリ319cが見つかったら、ステップS30で、前検証モジュールへのポインタ319bに登録されている前検証モジュール318を呼出し、前検証モジュール318に正当性検証処理を実行させる。ステップS31で、前検証モジュール318の実行結果を判定し、正常の場合は再びステップS29に戻り、更新モジュール識別子319aの一致するエントリがなくなるまで正当性検証処理を順に行う。
【0065】
一方、ステップS31でエラーを検出した場合、ステップS19へ進み、更新処理の結果通知を行い、再びステップS10で次回のプログラム更新要求を待って休止する。また、ステップS29で、最後の正当性検証まで正常結果を得た場合、以降は実施の形態1と同じであり、ステップS13へ進む。ステップS13以降については、省略する。
【0066】
以上のように本実施の形態によれば、端末300側に前検証プラグインテーブル319と前検証手段317を設けて、新モジュール305bに対する正当性検証を行うための汎用的な機構を提供しているので、異なるソフトウェア・プラットホームへの適用が容易であると共に、更新前に更新モジュールの動作検証処理を実行するのでプログラム更新を行なうプログラム遠隔更新システムの信頼性を確保することができる。
【0067】
また、前検証プラグインテーブル319に関して、前検証モジュール318を登録、変更、削除できる構造にしているので、製品出荷時に端末300の種別や更新モジュール毎に正当性検証項目を設定でき、検証処理の柔軟性の向上とユーザ負担の軽減を図ることができる。
【0068】
実施の形態6.
本実施の形態では、製品出荷後にホスト100側の配信マネージャ105から新モジュール305bの配信とは別に、転送ファイル内に前検証モジュール318を添付して配信し、更新マネージャ306内に新たに前検証プラグインテーブル管理手段を設けて、前検証モジュール318の追加、変更、削除を行う場合について説明する。
【0069】
図16は、実施の形態6における端末300の主メモリ304の構成図であり、図1と同一符号は同一又は相当部分を示し説明を省略する。
図において、320は前検証プラグインテーブル319への前検証モジュール318の追加、変更、削除を行う前検証プラグインテーブル管理手段である。
【0070】
図17は、実施の形態6における転送ファイルのヘッダ314の構成図であり、図3と同一符号は同一又は相当部分を示し説明を省略する。
図において、314pは前検証モジュールセットの添付数、314qは前検証モジュール#1の識別子、314rは前検証モジュール#1のサイズ、314sは前検証モジュール#1の予約配置アドレス、314tは前記三つ組から構成される前検証モジュールセットである。
【0071】
次に動作について説明する。
図18は、実施の形態6における更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、更新マネージャ306の処理を説明する。更新マネージャ306はステップS10で配信マネージャ105からのプログラム更新要求を待って休止しており、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。
【0072】
ステップS11で転送ファイル受信手段において、ホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS25で、転送ファイルのヘッダ314内の添付モジュール構成フラグ314gを参照して、転送ファイル内に前検証モジュールセット314tが添付されているかチェックする。もし添付されていないなら、以降は実施の形態5と同じであり、ステップS29へ進む。
また前検証モジュールセット314tが添付されているなら、ステップS32で前検証プラグインテーブル管理手段320において、ヘッダ314内の前検証モジュールセットの添付数314pが最後のエントリに至るまでの間、前検証モジュールセット314tの情報に基づき、前検証モジュール312の登録処理を行う。
【0073】
ステップS33で前検証プラグインテーブル管理手段320において、前検証モジュール318を予約配置アドレス314sにメモリ配置すると共に、記憶装置302に配置したあと、予約配置アドレス情報を前検証プラグインテーブル319の前検証モジュールへのポインタ319bに設定する。なお、端末300側のシステムプログラムに動的リンク手段が装備されている場合は、ステップS33で前検証プラグインテーブル管理手段320において、動的リンク手段を介して決定された再配置アドレスを、前検証プラグインテーブル319の前検証モジュールへのポインタ319bに設定する。
【0074】
次に、ステップS32で、最後の前検証モジュールセット314tに対する登録処理が終了したら、ステップS34で、再びヘッダ314内の添付モジュール構成フラグ314gを参照して、転送ファイル内に新モジュール305bが添付されているかチェックする。もし添付されてないなら、ステップS19で更新処理の結果通知を行い、今回の処理は終了する。また、新モジュール305bが添付されているなら、以降は実施の形態5と同じであり、ステップS29へ進む。ステップS29以降については、省略する。
【0075】
以上のように本実施の形態によれば、転送ファイル内に前検証モジュール318を添付して配信し、更新マネージャ306内に新たに前検証プラグインテーブル管理手段320を設けて、前検証モジュール318の追加、変更、削除を行うようにしているので、制御プログラム305の構成や機能の変更に合わせて正当性検証内容を常に最適な状態に維持することができ、プログラム遠隔更新システムの信頼性を向上することができる。
【0076】
実施の形態7.
本実施の形態では、新たにホスト100側の配信マネージャ105に検証モジュール・ベータベース管理手段と検証モジュール集積手段を設けて、新モジュール305bと新モジュール305bに対応する後検証モジュール311と対処モジュール312とによる組、または新モジュール305bと新モジュール305bに対応する前検証モジュール318とによる組を自動的に集積して、転送ファイルを生成する場合について説明する。
【0077】
図19は、実施の形態7におけるホスト100の構成図であり、図1と同一符号は同一又は相当部分を示し説明を省略する。
図において、109は新モジュール305bと新モジュール305bに対応する後検証モジュール311と対処モジュール312とによる複数の組、または新モジュール305bと新モジュール305bに対応する前検証モジュール318とによる複数の組を管理するための検証モジュール・データベース管理手段、110は新モジュール305bに対応する後検証モジュール311と対処モジュール312とによる組、または新モジュール305bに対応する前検証モジュール318を集積する前検証モジュール集積手段、111は新モジュール305bと新モジュール305bに対応する後検証モジュール311と対処モジュール312とによる複数の組、または新モジュール305bと新モジュール305bに対応する前検証モジュール318とによる複数の組からなる一覧情報を保持する検証モジュール・データベースである。
【0078】
図20は、検証モジュール・データベース111の構成図である。
図において、111aは更新モジュール識別子、111bは更新モジュール・バージョン番号、111cは更新モジュールのバージョン毎に対応する前検証モジュール識別子の一覧、111dは更新モジュールのバージョン毎に対応する後検証モジュール識別子の一覧、111eは前記四つ組から構成される検証モジュール・データベース・エントリである。
【0079】
次に動作について説明する。
図21は、実施の形態7における配信マネージャ105の処理手順を示すフローチャートである。
図を用いて、配信マネージャ105の処理を説明する。ホスト100側で端末300用の制御プログラム305の障害改修や機能追加等の理由により、新モジュール305bを生成した場合、通常ローカル環境で機能試験を実施する。この時の機能試験の一部は後検証モジュール311とし、またこの時のバージョン情報の組合せ等の動作条件は前検証モジュール318とし、プログラム開発者は、検証モジュール・データベース管理手段109を通じて、前検証モジュール識別子の一覧111cまたは後検証モジュール識別子の一覧111dに登録する。
【0080】
ローカル環境での機能試験の結果、新モジュール305bがリリース可能と判断されたら、配信マネージャ105はステップS1で、端末300や端末群400に対してプログラム配信要求を発行する。この時、新モジュール305bの識別子とサイズ情報を送付する。ステップS3で、端末300側の更新マネージャ306からの応答により、予約配置アドレス情報のほか、端末資源構成情報やプログラム管理情報を受信する。ステップS3で、返信された情報に照らして新モジュール305bの配信要否(または可否)を判定する。判定の結果、配信しない端末300に対しては、以後何も行われない。
【0081】
次に、ステップS35で検証モジュール集積手段110において、検証モジュール・データベース111から新モジュール305bに合致する更新モジュール識別子111aおよび更新モジュール・バージョン番号111bのエントリを検索し、前検証モジュール識別子の一覧111cまたは後検証モジュール識別子の一覧111dから対応するモジュール群を集積する。次に、ステップS4でプログラム生成手段106において、ホスト100の記憶装置102に格納されている制御プログラム305を構成する既存モジュール群と、先に返信された予約配置アドレス情報から、新モジュール305bのアドレス解決処理を行う。ステップS5で転送ファイル生成手段107において、新たに生成された制御プログラム305から、アドレス解決済みの新モジュール305bを抜き出し、ヘッダ314を付加して転送ファイルを生成する。
【0082】
さらに、転送ファイル内には、集積した後検証モジュール311と対処モジュール312の組または前検証モジュール318を含め、ヘッダ314内の添付モジュール構成フラグ314gにその旨を設定する。ステップS6で転送ファイル配信手段108において、配信対象の端末300や端末群400に対して、転送ファイルを配信する。最後に、配信マネージャ105はステップS9で、更新マネージャ306からの結果通知を受けて、配信履歴を記録して、一連の処理を終了する。
【0083】
以上のように本実施の形態によれば、ホスト100側に検証モジュール・データベース111と検証モジュール・データベース管理手段109と検証モジュール集積手段110を設けて、新モジュール305bに対応する後検証モジュール311と対処モジュール312とによる組、または新モジュール305bに対応する前検証モジュール318を自動的に集積して、転送ファイルを生成するようにしているので、転送ファイルに検証モジュールを添付する際の誤り混入を防ぎ、ユーザの負担を軽減することができ、プログラム遠隔更新システムの安全性を向上することができる。
【0084】
実施の形態8.
本実施の形態では、新たに端末300側の更新マネージャ306に検証モジュールロード手段と検証モジュールアンロード手段を設けて、ホスト100側の配信マネージャ105から転送ファイルを受信した時に記憶装置302内の検証モジュールをロードし、更新処理が終了したあとに検証モジュールをアンロードする場合について説明する。
【0085】
図22は、実施の形態8における端末300の構成図であり、図13と同一符号は同一又は相当部分を示し説明を省略する。
図において、321は記憶装置302に格納されている後検証モジュール311と前検証モジュール318とによる検証モジュールをロードし前検証プラグインテーブル319および後検証プラグインテーブル313のエントリ内に検証モジュールの配置情報を登録するための検証モジュールロード手段、322は前検証プラグインテーブル319および後検証プラグインテーブル313に登録されている検証モジュールをアンロードするための検証モジュールアンロード手段、323は新モジュール305bの更新モジュール識別子に対応する後検証モジュール311と対処モジュール312の組または前検証モジュール318の一覧を保持する検証モジュール・データベースである。
なお、検証モジュール・データベース323内の構成は、図20に示したホスト100側の検証モジュール・データベース111と同様とする。
【0086】
次に動作について説明する。
図23は、実施の形態8における更新マネージャ306の処理手順を示すフローチャートである。
図を用いて、更新マネージャ306の処理を説明する。更新マネージャ306はステップS10で配信マネージャ105からのプログラム更新要求を待って休止しており、ホスト100側の配信マネージャ105からプログラム更新要求があると、起床して応答する。
【0087】
ステップS11で転送ファイル受信手段において、ホスト100側の配信マネージャ105が配信した転送ファイルを受信する。ステップS36で検証モジュールロード手段321において、転送ファイル・ヘッダ314内の更新モジュール識別子314bをキーとして、記憶装置302内の検証モジュール・データベース323を検索し、一致するエントリが見つかったら、検証モジュールをロードし、前検証プラグインテーブル319および後検証プラグインテーブル313のエントリ内に検証モジュールの配置情報を登録する。
【0088】
ステップS29以降の処理は、実施の形態5と同じであり、新モジュール305bに対する前検証、メモリ配置、更新実行、および後検証までを行う。最後に、ステップS19で更新処理の結果通知を行ったあと、ステップS37で検証モジュールアンロード手段322において、前検証プラグインテーブル319および後検証プラグインテーブル313に登録されている検証モジュールへのポインタをクリアし、検証モジュールをメモリ上から削除する。そして、再びステップS10で次回のプログラム更新要求を待って休止する。
【0089】
以上のように本実施の形態によれば、端末300側に検証モジュール・データベース323と検証モジュールロード手段321と検証モジュールアンロード手段322を設けて、転送ファイルを受信した時に検証モジュール・データベース323を検索し、更新モジュール識別子314bに合致する検証モジュールをロードし、また更新処理が終了したあとに該検証モジュールをアンロードするようにしているので、プログラム更新要求がない時は更新モジュールをメモリ配置する必要がなく、端末300側のメモリ資源の使用量を低く抑えることができる。
【0090】
【発明の効果】
この発明は、以上説明したように、配信用コンピュータがサービス提供処理を実行する新モジュールを配信し、端末が制御プログラムのモジュールを配信用コンピュータにより配信された新モジュールに更新し、更新した新モジュールの動作検証処理を実行し、動作検証処理でエラーを検出した時にエラー対処処理を実行することにより、プログラム更新を行なうプログラム遠隔更新システムの信頼性を確保することができる。
【図面の簡単な説明】
【図1】実施の形態1のプログラム遠隔更新システムの構成図。
【図2】実施の形態1における後検証プラグインテーブル313の構成図。
【図3】実施の形態1における転送ファイルのヘッダの構成図。
【図4】実施の形態1における配信マネージャ105と更新マネージャ306と間の処理シーケンスを示す図。
【図5】実施の形態1における更新マネージャ306の処理手順を示すフローチャート。
【図6】実施の形態2における端末300の構成図。
【図7】実施の形態2における更新マネージャ306の処理手順を示すフローチャート。
【図8】実施の形態3における後検証プラグインテーブル313の構成図。
【図9】実施の形態3における更新マネージャ306の処理手順を示すフローチャート。
【図10】実施の形態4における端末300の主メモリ304の構成図。
【図11】実施の形態4における転送ファイルのヘッダ314の構成図。
【図12】実施の形態4における更新マネージャ306の処理手順を示すフローチャート。
【図13】実施の形態5における端末300の主メモリ304の構成図。
【図14】実施の形態5における前検証プラグインテーブル319の構成図。
【図15】実施の形態5における更新マネージャ306の処理手順を示すフローチャート。
【図16】実施の形態6における端末300の主メモリ304の構成図。
【図17】実施の形態6における転送ファイルのヘッダ314の構成図。
【図18】実施の形態6における更新マネージャ306の処理手順を示すフローチャート。
【図19】実施の形態7におけるホスト100の構成図。
【図20】実施の形態7における検証モジュール・データベース111の構成図。
【図21】実施の形態7における配信マネージャ105の処理手順を示すフローチャート。
【図22】実施の形態8における端末300の構成図。
【図23】実施の形態8における更新マネージャ306の処理手順を示すフローチャート。
【図24】従来のプログラム検証システムの構成図。
【符号の説明】
100 ホスト(配信ホスト)、101 CPU、102 記憶装置、103外部通信インタフェース、104 主メモリ、105、106 プログラム生成手段、107 転送ファイル生成手段、108 転送ファイル配信手段、200 通信ネットワーク、300 端末、301 外部通信インタフェース、302 記憶装置、303 CPU、304 主メモリ、305 制御プログラム、305a 旧モジュール、305b 新モジュール、306 更新マネージャ、307 転送ファイル受信手段、308 プログラム配置手段、309 プログラム更新実行手段、310 後検証手段、311 後検証モジュール、312 対処モジュール、313 後検証プラグインテーブル。
Claims (9)
- サービス提供処理を実行する新モジュールを含む転送ファイルを配信する配信用コンピュータと、
サービス提供処理を実行するモジュールにより構成された制御プログラムと、前記制御プログラムの前記モジュールを前記配信用コンピュータにより配信された前記転送ファイルの前記新モジュールに更新するプログラム更新実行手段と、前記プログラム更新実行手段により更新された前記新モジュールの動作検証処理を実行する後検証モジュールと、前記動作検証処理でエラーを検出した時にエラー対処処理を実行する対処モジュールとを有する端末と、
を備えたことを特徴とするプログラム遠隔更新システム。 - 前記端末は、更新モジュール識別子と前記後検証モジュールへのポインタと前記対処モジュールへのポインタとにより構成されたエントリが複数登録された後検証プラグインテーブルと、前記後検証プラグインテーブルから前記新モジュールと一致する更新モジュール識別子が確認された時に前記後検証モジュールへのポインタから前記後検証モジュールを呼出し前記動作検証処理を実行させ、又前記動作検証処理でエラーを検出した時に前記対処モジュールへのポインタから前記対処モジュールを呼出し前記エラー対処処理を実行させる後検証手段と、を備えたことを特徴とする請求項1記載のプログラム遠隔更新システム。
- 前記端末は、システム再起動後に前記動作検証処理の実行を指示する後検証実行フラグが記憶された記憶手段を備え、
前記後検証手段は、システム再起動後に前記記憶手段に前記後検証実行フラグが記憶されている時には、前記後検証モジュールへのポインタから前記後検証モジュールを呼出し前記動作検証処理を実行させ、又前記動作検証処理でエラーを検出した時には、前記対処モジュールへのポインタから前記対処モジュールを呼出し前記エラー対処処理を実行させることを特徴とする請求項2記載のプログラム遠隔更新システム。 - 前記後検証プラグインテーブルは、前記エントリに後検証条件識別子が付加され、
前記後検証手段は、前記後検証プラグインテーブルから前記新モジュールと一致する後検証条件識別子が確認された時に前記後検証モジュールへのポインタから前記後検証モジュールを呼出し前記動作検証処理を実行させることを特徴とする請求項3記載のプログラム遠隔更新システム。 - 前記配信用コンピュータは、前記後検証モジュールと前記対処モジュールとを添付した前記転送ファイルを配信し、
前記端末は、前記配信用コンピュータにより配信された前記転送ファイルの前記後検証モジュールと前記対処モジュールとを登録すると共に、前記後検証モジュールと前記対処モジュールとの登録先アドレス情報を前記後検証プラグインテーブルの前記後検証モジュールへのポインタと前記対処モジュールへのポインタとにそれぞれ設定する後検証プラグインテーブル管理手段を備えたことを特徴とする請求項4記載のプログラム遠隔更新システム。 - 前記端末は、前記新モジュールの正当性検証処理を実行する前検証モジュールと、更新モジュール識別子と前記前検証モジュールへのポインタとにより構成されたエントリが複数登録された前検証プラグインテーブルと、前記前検証プラグインテーブルから前記新モジュールと一致する更新モジュール識別子が確認された時に前記前検証モジュールへのポインタから前検証モジュールを呼出し前記正当性検証処理を実行させる前検証手段と、を備えたことを特徴とする請求項5記載のプログラム遠隔更新システム。
- 前記配信用コンピュータは、前記前検証モジュールを添付した前記転送ファイルを配信し、
前記端末は、前記配信用コンピュータにより配信された前記転送ファイルの前記前検証モジュールを登録すると共に、前記前検証モジュールの登録先アドレス情報を前記前検証プラグインテーブルの前記前検証モジュールへのポインタに設定する前検証プラグインテーブル管理手段を備えたことを特徴とする請求項6記載のプログラム遠隔更新システム。 - 前記配信用コンピュータは、前記新モジュールと前記新モジュールに対応する前記後検証モジュールと前記対処モジュールとによる複数の組、または前記新モジュールと前記新モジュールに対応する前記前検証モジュールとによる複数の組からなる一覧情報を保持する検証モジュールデータベースと、前記検証モジュールデータベースから前記新モジュールに対応する前記後検証モジュールと前記対処モジュールとによる組、または前記新モジュールに対応する前記前検証モジュールを集積する検証モジュール集積手段とを備え、前記検証モジュール集積手段により集積された前記新モジュールに対応する前記後検証モジュールと前記対処モジュールとによる組、または前記新モジュールに対応する前記前検証モジュールを前記転送ファイルに含め前記端末に配信することを特徴とする請求項7記載のプログラム遠隔更新システム。
- 前記端末は、前記後検証モジュールと前記前検証モジュールとによる検証モジュールが格納された検証モジュールデータベースと、前記配信用コンピュータにより配信された前記新モジュールに対応する前記検証モジュールを前記検証モジュールデータベースからロードし、前記後検証プラグインテーブルと前記前検証プラグインテーブルに前記検証モジュールのエントリを登録する検証モジュールロード手段と、前記プログラム更新実行手段による前記新モジュールへの更新が終了すると、前検証プラグインテーブルと前記後検証プラグインテーブルに設定された前記検証モジュールをアンロードする検証モジュールアンロード手段と、を備えたことを特徴とする請求項7記載のプログラム遠隔更新システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003117967A JP2004326287A (ja) | 2003-04-23 | 2003-04-23 | プログラム遠隔更新システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003117967A JP2004326287A (ja) | 2003-04-23 | 2003-04-23 | プログラム遠隔更新システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004326287A true JP2004326287A (ja) | 2004-11-18 |
Family
ID=33497651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003117967A Abandoned JP2004326287A (ja) | 2003-04-23 | 2003-04-23 | プログラム遠隔更新システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004326287A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008293258A (ja) * | 2007-05-24 | 2008-12-04 | Hitachi Omron Terminal Solutions Corp | リモートメンテナンスシステム |
JP2011128702A (ja) * | 2009-12-15 | 2011-06-30 | Sharp Corp | 画像形成装置及びこれに用いるファームウェアのアップデート方法 |
JP2013517565A (ja) * | 2010-01-12 | 2013-05-16 | グーグル インコーポレイテッド | オペレーティングシステム自動更新手順 |
JP2015512535A (ja) * | 2012-03-31 | 2015-04-27 | インテル・コーポレーション | システム変更後におけるコンピューティング装置の適切な動作を確認するための方法及びシステム |
US9904531B2 (en) | 2013-10-18 | 2018-02-27 | Fujitsu Limited | Apparatus and method for installing vehicle correction program |
JP2018055646A (ja) * | 2016-09-30 | 2018-04-05 | 株式会社日立製作所 | 計算機システム、計算機システムによるソフトウェアの送信管理方法、そのためのプログラム、及び、記録媒体 |
JP2021005338A (ja) * | 2019-06-27 | 2021-01-14 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
-
2003
- 2003-04-23 JP JP2003117967A patent/JP2004326287A/ja not_active Abandoned
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008293258A (ja) * | 2007-05-24 | 2008-12-04 | Hitachi Omron Terminal Solutions Corp | リモートメンテナンスシステム |
JP2011128702A (ja) * | 2009-12-15 | 2011-06-30 | Sharp Corp | 画像形成装置及びこれに用いるファームウェアのアップデート方法 |
JP2013517565A (ja) * | 2010-01-12 | 2013-05-16 | グーグル インコーポレイテッド | オペレーティングシステム自動更新手順 |
JP2015512535A (ja) * | 2012-03-31 | 2015-04-27 | インテル・コーポレーション | システム変更後におけるコンピューティング装置の適切な動作を確認するための方法及びシステム |
US9904531B2 (en) | 2013-10-18 | 2018-02-27 | Fujitsu Limited | Apparatus and method for installing vehicle correction program |
JP2018055646A (ja) * | 2016-09-30 | 2018-04-05 | 株式会社日立製作所 | 計算機システム、計算機システムによるソフトウェアの送信管理方法、そのためのプログラム、及び、記録媒体 |
JP2021005338A (ja) * | 2019-06-27 | 2021-01-14 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP7282616B2 (ja) | 2019-06-27 | 2023-05-29 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7991988B2 (en) | Communication device and firmware update method thereof | |
US7334162B1 (en) | Dynamic distribution of test execution | |
US7937697B2 (en) | Method, system and computer program for distributing software patches | |
US20090094450A1 (en) | Firmware image update and management | |
US8954949B2 (en) | Smart patch delivery system | |
US8855627B2 (en) | System and method for enhanced diagnostics on mobile communication devices | |
US20080228902A1 (en) | Configuring processing entities according to their roles in a data processing system with a distributed architecture | |
CN109086069A (zh) | 一种后台服务无缝升级方法及其装置 | |
CN110209416A (zh) | 应用软件更新方法、装置、终端及存储介质 | |
CN103200271A (zh) | Arm服务器及其自动化安装系统的方法 | |
CN106886422A (zh) | 软件升级方法及装置、电子设备 | |
JP2013235504A (ja) | ソフトウェア配信システム、ソフトウェア配信方法 | |
JP2004326287A (ja) | プログラム遠隔更新システム | |
CN104793998B (zh) | 终端系统资源管理方法及装置 | |
CN110147246A (zh) | 空间下载技术的版本检查方法及装置、存储介质和终端 | |
CN117056115B (zh) | 应用程序的修复方法和装置、存储介质及电子设备 | |
CN110333884A (zh) | 软件升级方法、分布式系统及装置 | |
CN103455750A (zh) | 一种嵌入式设备的高安验证方法及装置 | |
CN111984287A (zh) | 设备升级方法及系统 | |
CN106909410A (zh) | 一种用于服务器系统的更新方法以及服务器系统 | |
KR20050120235A (ko) | 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법 | |
CN115951919A (zh) | 操作系统的升级方法、装置、电子设备及存储介质 | |
CN112199104B (zh) | 一种软件升级方法、装置、电子设备和存储介质 | |
CN108810143A (zh) | 一种客户端负载均衡挂载虚拟ip的方法、系统及装置 | |
CN111414181B (zh) | 网络产品的服务升级方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20090305 |