JP2005284902A - 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム - Google Patents

端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム Download PDF

Info

Publication number
JP2005284902A
JP2005284902A JP2004100234A JP2004100234A JP2005284902A JP 2005284902 A JP2005284902 A JP 2005284902A JP 2004100234 A JP2004100234 A JP 2004100234A JP 2004100234 A JP2004100234 A JP 2004100234A JP 2005284902 A JP2005284902 A JP 2005284902A
Authority
JP
Japan
Prior art keywords
update
program
computer
update program
terminal device
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.)
Pending
Application number
JP2004100234A
Other languages
English (en)
Inventor
Masazo Nakagawa
雅三 中川
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.)
NET CONSCIOUS KK
Original Assignee
NET CONSCIOUS KK
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 NET CONSCIOUS KK filed Critical NET CONSCIOUS KK
Priority to JP2004100234A priority Critical patent/JP2005284902A/ja
Publication of JP2005284902A publication Critical patent/JP2005284902A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】低コストで、障害から容易に復旧し、更新プログラム自体も更新できる遠隔更新の技術を提供する。
【解決手段】二つの更新プログラムの一方が、応用ソフトウェアと他方の更新プログラムを所定の通信手段経由のダウンロードにより更新する。更新中の電源断などの事故による予期せぬ停止で更新が失敗したり、更新でダウンロードした新しいプログラムに障害があっても、更新処理を行った側の古い更新プログラムが無傷で残るため再度起動時等にこれにより更新をやり直すことができる。更新プログラム自体も更新可能となる。更新プログラムの更新は二段階で行い、すなわち、新しい更新プログラムは、その更新プログラム自体を前記通信手段経由で更新することにより正常動作を確認する。
【選択図】 図1

Description

本発明は、各種端末装置の制御プログラムについて、低コストで、障害から容易に復旧し、更新プログラム自体も更新できる遠隔更新の技術に関する。
近年、情報処理及び通信技術の発達に伴い、制御プログラムを使った各種のネットワーク機器等の情報処理装置や自動販売機などの端末装置について、遠隔更新(リモートアップデート)の技術が提案されている。これは、端末装置が、遠隔の運用拠点にあるホスト装置から、新しいプログラムと書き換え指令を通信回線で受信し、制御プログラムを更新するものである。このような遠隔更新により、一部の設定ファイルなどの小さな保守に留まらず、リモート保守のための通信モジュール(例えば、TCP/IPモジュールなど)を含む、システムの大部分を書き換えようとする場合、次のリスクがある。
第一は、予期せぬ停止による障害である。すなわち、書き換え途中に停電などによって装置が停止すると、制御プログラムが上書き途中となって破壊され装置が正常に動作しなくなることがあり、遠隔地からは復旧不能になることが多い。
第二は、新しいプログラムの障害で、これは、新たに書き換えた制御プログラムに障害があって装置が正常に動作しなくなる場合である。テスト済みの制御プログラムで書き換えた場合でも、装置やネットワークの設定状態によって発生するような障害の場合、実際の装置に適用してみてはじめて障害が顕在化し、それにより遠隔地からは復旧不能になることがある。
上記のようなリスクに対し、従来では、特許文献1のように、新しいプログラムをフラッシュRAMの予備領域にいったん受信後、そこからメイン領域にコピーすることで、予期せぬ停止による制御プログラムの破壊を避ける提案(「予備領域からのコピー」と呼ぶ)があった。また、特許文献2のように、制御プログラムを二重化して現用と予備用を並存させ、予備用を書き換えて障害が発生すれば現用に戻すことで信頼性を確保する提案(「制御プログラムの二重化」と呼ぶ)もあった。
特開2003−122590 特開平3−33959
しかし、予備領域からのコピー(特許文献1)では、予期せぬ停止による障害は回避できるが、メイン領域を上書きするためプログラムを旧バージョンには戻せず、新しいプログラムの障害には対処できなかった。
また、制御プログラムの二重化(特許文献2)には、次のような問題点があった。第一に、ソフトウェアの受信・更新を行う更新プログラム自体は更新対象にできない限界があるため、更新プログラム自体の障害や、ネットワークプロトコルやホスト計算機の変更に対処できなかった。第二に、一般的にソフトウェアが正常に動作するかどうかの判断は非常に困難であるが、特許文献2では、更新されたソフトウェアが正常に動作するか検出する手段が記述されておらず(特に第5図のステップ4−7)、信頼性が不十分であった。第三に、更新対象となるソフトウェア全体の二重化を要するため、ソフトウェアを記録するための記憶装置の大容量化が必須で、コスト高となる問題もあった。
本発明は、上記のような従来技術の課題を解決するもので、その目的は、低コストで、障害から容易に復旧し、更新プログラム自体も更新できる遠隔更新の技術を提供することである。また、本発明の他の目的は、更新される新しい更新プログラムが正常に動作するか確実に検出する遠隔更新の技術を提供することである。
上記の目的を達成するため、本発明の一態様では(請求項1,11,21)、端末装置、その制御方法又は制御プログラムのいずれか一つにおいて、応用ソフトウェアと、二つの更新プログラムと、を用いる場合に、前記更新プログラムは、前記端末装置のコンピュータを制御することにより、前記応用ソフトウェア及び他方の更新プログラムを所定の通信手段経由のダウンロードにより更新することを特徴とする。
本発明の他の態様では(請求項2,12,22)、それぞれ更新プログラムを格納するための二つの記憶領域と、応用ソフトウェアの記憶領域と、を用いる端末装置、その制御方法又は制御プログラムのいずれか一つにおいて、前記二つの記憶領域の少なくとも一方に格納された更新プログラムが、前記端末装置のコンピュータを制御することにより、予め決められた更新条件が成立したことを判定し、この判定を受けてその更新条件に応じて前記応用ソフトウェア又は前記二つの記憶領域の他方に格納すべき新しい更新プログラムについて、所定の通信手段経由でダウンロードし該当する記憶領域に書き込むことで更新し、起動選択プログラムが、前記端末装置のコンピュータを制御することにより、前記二つの記憶領域のいずれかに格納された更新プログラム又は前記応用ソフトウェアを選択して実行する、ことを特徴とする。
また、本発明をホスト装置、その制御方法又は制御プログラムに関する観点から捉えれば(請求項31,34,37)、ホスト装置のコンピュータを制御することにより、所定の通信手段経由で、所定の端末装置からのダウンロード要求に応じて新しい更新プログラム又は応用ソフトウェアをホスト装置が提供するホスト装置、その制御方法又は制御プログラムのいずれか一つにおいて、ホスト装置が提供するその更新プログラムは、前記端末装置においてそれぞれ更新プログラムを格納するための二つの記憶領域の少なくとも一方に格納され、前記端末装置のコンピュータを制御することにより、予め決められた更新条件が成立したことを判定し、この判定を受けてその更新条件に応じて前記端末装置の応用ソフトウェア又は前記二つの記憶領域の他方に格納すべき新しい更新プログラムについて、前記所定の通信手段経由でホスト装置からダウンロードし該当する記憶領域に書き込むことで更新するものであることを特徴とする。
本発明では、二重化した更新プログラムの一方に、他方の更新と、応用ソフトウェアの更新を行わせるので、更新中の電源断などの事故による予期せぬ停止で更新が失敗したり、更新でダウンロードした新しいプログラムに障害があっても、更新処理を行った側の古い更新プログラムが無傷で残るため再度起動時等にこれにより更新をやり直すことができる。このため、予期せぬ停止やプログラムの障害にも対応可能となり復旧不能が回避できて信頼性が向上し、更新プログラム自体も更新可能となって運用の柔軟性が増し、応用ソフトウェアの二重化のための余分な記憶容量も不要となってコストも低減される。なお、端末装置の工場出荷や据付直後の状態では、少なくとも一つの更新プログラムだけあれば、他方の領域の更新プログラムや応用ソフトウェアは、その更新プログラムが更新と同じ要領で新規ダウンロードし書込みすることで用意することができる。
本発明の他の態様では(請求項3,13,23)、さらに、前記新しい更新プログラムは、前記コンピュータを制御することにより、その更新プログラム自体を前記通信手段経由で更新することにより正常動作を確認することを特徴とする。
また、本発明をホスト装置、その制御方法又は制御プログラムに関する観点で捉えれば(請求項32,35,38)、前記更新プログラムは、前記新しい更新プログラムとして最初に実行されるとき、前記コンピュータを制御することにより、その更新プログラム自体を前記通信手段経由で更新することにより正常動作を確認するものであることを特徴とする。
また、本発明は、以上のような端末装置とホスト装置と備えたことを特徴とする遠隔更新システム(請求項33)、以上のような端末装置の制御方法とホスト装置の制御方法とを組み合わせることを特徴とする遠隔更新方法(請求項36)、以上のような端末装置の制御プログラムとホスト装置の制御プログラムとを組み合わせることを特徴とする遠隔更新プログラム(請求項39)としても把握可能である。
これらの態様では、さらに、新しい更新プログラムが自分自身を更新することにより、少なくとも自分自身を更新できるだけの正しい動作を容易かつ確実に確認可能となり、この際に更新プログラムの障害が判明しても古い方の更新プログラムにより、後で、障害を修正したものに再度更新し直すことができる。
本発明の他の態様では(請求項4,14,24)、さらに、前記各記憶領域はコンピュータの補助記憶域上に構成し、現用の前記更新プログラム及び前記起動選択プログラムが、前記コンピュータを制御することにより、前記新しい更新プログラムを前記補助記憶域から読み出して前記コンピュータの主記憶域上に仮起動させ、仮起動した新しい更新プログラムが、前記コンピュータを制御することにより、前記通信手段を用いて補助記憶域上の自身のファイルを新しいファイルに更新し、前記更新に成功すると、前記新しい更新プログラム及び前記起動選択プログラムが、前記コンピュータを制御することにより、その新しいファイルから新しい更新プログラムを正式起動させることを特徴とする。
これらの態様では、さらに、いったん更新された更新プログラムのファイルをHDDなどの補助記憶域からRAMなどの主記憶域上に、フラグを用いた起動制御情報などで仮起動させるので、補助記憶域上のその更新プログラム自体のファイルを円滑容易に更新でき、かつ、その失敗の場合は現用の更新プログラムに容易に戻ることができる。
本発明の他の態様では(請求項5,15,25)、前記起動選択プログラムが、前記コンピュータを制御することにより、前記二つの記憶領域について起動対象と更新対象を切り換える切換情報と、前記二つの各記憶領域について少なくとも起動許可/更新失敗/初回更新済のいずれかを示す各起動許可設定フラグと、を起動制御情報として用いることによりいずれかの更新プログラムを起動し、起動されている前記更新プログラムが、前記コンピュータを制御することにより、他方の更新プログラムを更新対象として更新するときは、当該他方の前記起動許可設定フラグを更新失敗にセットし、新しい更新プログラムをダウンロードして該当する前記記憶領域へ書き込み、その成功時は当該他方の前記起動許可設定フラグを初回更新済にセットして前記起動選択プログラムを起動し、前記起動選択プログラムが、前記コンピュータを制御することにより、起動許可設定フラグが初回更新済の更新プログラムがあるときはその新しい更新プログラムを起動し、ないときは前記切換情報の示す更新プログラムを起動し、起動された新しい更新プログラムが、前記コンピュータを制御することにより、その更新プログラム自体の起動許可設定フラグを更新失敗にセットし、当該新しい更新プログラムをダウンロードして上書きし、その成功時はその起動許可設定フラグを起動許可にセットし、起動されている前記更新プログラムが、前記コンピュータを制御することにより、前記応用ソフトウェアを更新するときは、応用ソフトウェアに対応して設けられた更新フラグを未更新にセットし、応用ソフトウェアをダウンロードして該当記憶領域に書き込み、その成功時は更新フラグを更新済にセットし、起動されている前記更新プログラムが、前記コンピュータを制御することにより、前記更新フラグが更新済の場合に、前記応用ソフトウェアを実行することを特徴とする。
これらの態様では、さらに、切換情報や起動許可設定フラグなどの起動制御情報により、二度の更新により二段階的に行われる更新プログラムの更新を含め、状態に応じた起動対象の選択と起動の制御を簡潔確実なアルゴリズムで容易に実装可能となる。
本発明の他の態様では(請求項6,16,26)、さらに、前記切換情報は、更新プログラムの新しさを示すプログラム番号であり、前記起動選択プログラムは、前記コンピュータを制御することにより、二つの更新プログラムの起動許可設定フラグがいずれも起動許可である場合、プログラム番号が大きい方の更新プログラムを起動することを特徴とする。
これらの態様では、それぞれの更新プログラムのプログラム番号を更新ごとにバージョン番号などにしたがって増大させ、それを比較するという単純なアルゴリズムでどちらを起動すべきか確実容易に判定可能となる。なお、他の変形例として、プログラム番号を十分大きな初期値から減少させて小さい方を選択したり、文字コードやアルファベットを用いる例も本発明の範囲に属する。
本発明の他の態様では(請求項7,17,27)、前記更新プログラム又は前記更新プログラムを起動する起動選択プログラムを、端末装置のリブート後に実行することを特徴とする。
これらの態様では、ハードウェア設定などの実行履歴がリセットされたシステムのリブート後の状態で、新しい更新プログラムが自分自身を更新して正常動作を確認検証できるので、実行履歴によって発生しなくなる障害があったとしてもそれまでの実行履歴に左右されることなく検証時に確実に検出できる。
本発明の他の態様では(請求項8,18,28)、さらに、前記いずれかのプログラムが前記コンピュータを制御することにより、前記更新プログラムの更新失敗を検出した場合に、ホストなど所定通信先への通知、又は、所定タイミングでの再試行、の少なくともいずれかを、事前設定、又は、外部からの指令、の少なくともいずれかにしたがって行うことを特徴とする。
これらの態様では、さらに、更新プログラムの更新失敗を検出すると、ホストなどへ通知したり、何分後、何時間後、何日後などのタイミングで再試行するなどの対処動作を、事前設定された固定動作や条件判断にしたがって、或いは、ホスト装置からの指令や作業員が現場で接続するコントローラからの指令などにしたがって、確実に実行するので、運用管理の柔軟性と信頼性が一層向上する。
本発明の他の態様では(請求項9,19,29)、さらに、前記コンピュータの書き換え可能不揮発記憶装置に三つのパーティションを設けることによりそれぞれ、前記各更新プログラムのための二つの記憶領域と、前記応用ソフトウェアのための記憶領域を実現し、前記起動選択プログラムが前記コンピュータを制御することにより、前記更新プログラムを、前記コンピュータの主記憶域上に設けたRAMディスクドライブ上で必要なデータファイルとともに展開し実行することを特徴とする。
これらの態様では、さらに、二つの更新プログラムと応用ソフトウェアの各記憶領域として、書き換え可能不揮発記憶装置などの補助記憶装置に設けた三つのパーティションを用いるので、一部のパーティションに障害が起きても他へ波及せず、生き残ったパーティションの領域にある更新プログラムなどを使って継続稼動、復旧作業などが可能となり、また、パーティションごとに異なるファイルシステムも採用可能となるので、システムの信頼性と柔軟性が一層向上する。また、更新プログラムをRAMディスクドライブ上で実行することにより、更新プログラムは書き換え可能不揮発記憶装置上のファイルシステムがなくても動作でき、OS上で実行中ファイルの上書きが禁止であっても、支障なく自身を更新して正常動作を確認検証可能となる。
本発明の他の態様では(請求項10,20,30)、さらに、リブート時を含むブート時に、前記コンピュータのCPUからの指令信号を受けて、ハードウェアデバイスを含む端末装置の全体を所定の初期状態にリセットしたうえ、所定のブートROMに格納された前記起動選択プログラムを起動することを特徴とする。
これらの態様では、さらに、コンピュータのCPUからシステムリセット回路に指令信号を出力することで、ハードウェアの設定やRAMの内容といったシステムの状態が常に一定であることが確実に保証され、更新プログラムの動作がそれまでのプログラムの実行状態に左右されることがなく、たとえば、新しいバージョンの更新プログラムに、行うべきハードウェア設定を行わない障害がある場合も、異常が確実に検出される。
以上のように、本発明によれば、低コストで、障害から容易に復旧し、更新プログラム自体も更新できる遠隔更新の技術を提供することが可能となる。
以下、本発明の端末装置(「本装置」と呼ぶ)を実施するための最良の実施形態を、図面に沿って説明するが、本発明は、端末装置だけでなく、ホスト装置、両者を含むシステムのほか、これらに対応するそれぞれの方法、プログラムとしても把握可能であり、それぞれ本発明の実現態様である。
〔1.概略〕
本実施形態は、概略としては、二つの更新プログラムの一方が、応用ソフトウェアと他方の更新プログラムを所定の通信手段経由のダウンロードにより更新する。このように、二重化した更新プログラムの一方に、他方の更新と、応用ソフトウェアの更新を行わせることにより、更新中の電源断などの事故による予期せぬ停止で更新が失敗したり、更新でダウンロードした新しいプログラムに障害があっても、更新処理を行った側の古い更新プログラムが無傷で残るため再度起動時等にこれにより更新をやり直すことができる。このため、予期せぬ停止やプログラムの障害にも対応可能となり復旧不能が回避できて信頼性が向上し、更新プログラム自体も更新可能となって運用の柔軟性が増し、応用ソフトウェアの二重化のための余分な記憶容量も不要となってコストも低減される。
また、更新プログラムの更新は二段階で行い、すなわち、新しい更新プログラムは、その更新プログラム自体を前記通信手段経由で更新することにより正常動作を確認する。このように、新しい更新プログラムが自分自身を更新することにより、少なくとも自分自身を更新できるだけの正しい動作を容易かつ確実に確認可能となり、この際に更新プログラムの障害が判明しても古い方の更新プログラムにより、後で、障害を修正したものに再度更新し直すことができる。
〔2.構成〕
まず、本装置を制御するコンピュータの補助記憶装置である不揮発性記憶装置(その記憶領域を「補助記憶域」と呼ぶ)の構成と、記憶されたプログラムやデータを含む情報を図1に示す。補助記憶域には、起動するプログラムを選択する起動選択プログラムBを格納するほか、ソフトウェア更新プログラム(単に「更新プログラム」とも呼ぶ)U(U1,U2)を記憶する記憶領域を2個設け、それぞれ領域R(R1,R2)とする。各領域R1,R2には、起動を制御するための起動制御情報(単に「制御情報」とも呼ぶ)C(C1,C2)を付加する。なお、プログラムとデータを含むものをソフトウェアと呼ぶが、プログラム領域に埋め込むことが可能なデータもあり、用語としてのプログラムとソフトウェアは厳密に使い分けないものとする。
各起動制御情報C1,C2は、それぞれ、プログラム番号N(N1,N2)と、起動許可設定フラグF(F1,F2)を含む。プログラム番号N1,N2は、領域R1,R2について起動対象と更新対象を切り換える切換情報で、具体的には更新プログラムの新しさを示す番号である。プログラム番号N1,N2は、値の大きい方が新しく、更新プログラムU1,U2が更新し起動選択プログラムBが読み取って起動制御に利用する。起動許可設定(フラグ)Fは、対応する領域R1又はR2の更新プログラムU(U1又はU2)の更新状態を示し、「起動不可」「初回更新済」「起動許可」「更新失敗」の4種の状態のいずれかをもつ。
プログラムとデータを含む応用ソフトウェアAは、ソフトウェアの起動や更新以外の本装置本来の業務目的のため、例えばネットワーク機器におけるルーティング、ファイアウォール、VPN、VLAN、VoIP、QoS、SNMPなどの各機能、自動販売機や情報提供端末における入出力、計算、情報検索、集計や通信による各種報告などの処理実行や制御を行うものである。応用ソフトウェアAは、同じ補助記憶域上の応用ソフトウェア領域R0に格納され、応用ソフトウェアAの更新状態を示す更新フラグF0を伴い、更新フラグF0は「未更新」「更新済」の2種の状態のいずれかをもつ。
本装置を設置した直後の初期状態としては、更新プログラムUは二つの記憶領域R1,R2の少なくとも一方に格納されていればよく、例えば、領域R1に更新プログラムU1を記録し、その起動制御情報C1には、プログラム番号N1として「1」、起動許可設定フラグF1として「起動許可」を記録する。領域R2の起動制御情報C2には、プログラム番号N2として「0」と、起動許可設定フラグF2として「起動不可」を記録する。
応用ソフトウェア領域R0については、応用ソフトウェアAをインストール済みであれば、更新フラグF0を「更新済」とする。初期状態で更新フラグを「未更新」としておくと、最初に起動したときに所定のホスト装置から最新版の応用ソフトウェアAをインストールすることになる。
更新プログラムUは、予め決められた更新条件が成立したことを判定し、この判定を受けてその更新条件に応じて応用ソフトウェアAや、二つの記憶領域R1,R2の他方に格納すべき新しい更新プログラムUについて、所定のホスト装置から、PHS回線など所定の通信手段経由でダウンロードし該当する記憶領域Rに書き込むことで更新するプログラムモジュールである。また、起動選択プログラムBは、応用ソフトウェアAを起動するほか、前記通信手段経由の信号によりホスト装置から指示を受けると、二つの記憶領域R1又はR2のいずれかに格納された更新プログラムU1又はU2や応用ソフトウェアAを選択して実行するプログラムモジュールである。
〔3.作用〕
上記のように構成し情報を記憶した記憶領域において、各プログラムは本装置のコンピュータを制御することにより、以下に説明するような各機能作用を果たす手段、処理を実現、実行する。その処理手順を、図2のフローチャートに示す。
〔3−1.処理手順の概略〕
まず、図2のフローチャートに示す処理手順の概略を説明する。この処理手順が実現する処理の重要な特徴の一つは、起動されている一方の更新プログラムU1又はU2による他方の更新は二段階で行い、いったん更新した新しい更新プログラムU2又はU1をリブート後に補助記憶域から読み出して主記憶域上に仮起動させ、仮起動した新しい更新プログラムU2又はU1が、通信手段を用いて補助記憶域上の自身のファイルを新しいファイルに更新し、この更新に成功すると、起動制御情報C2又はC1の書き換えとリブートにより、その新しいファイルから新しい更新プログラムU2又はU1を正式起動させることである。
このような処理に関わる部分を図2から抽出して説明すると、まず、起動されている現用の更新プログラムU1又はU2が、他方の更新プログラムU2又はU1を更新対象として更新するときは(ステップ131)、当該他方の起動許可設定フラグF2又はF1を「更新失敗」にセットし(ステップ14)、新しい更新プログラムU2又はU1をダウンロードして該当する記憶領域R2又はR1へ書き込み(ステップ15)、その成功時は(ステップ16)当該他方の起動許可設定フラグF2又はF1を「初回更新済」にセットして起動選択プログラムBを起動する(ステップ17)。
起動された起動選択プログラムBは、起動許可設定フラグF2又はF1が「初回更新済」の更新プログラムU2又はU1があるときはその新しい更新プログラムU2又はU1を起動し、その新しい更新プログラムU2又はU1は、その更新プログラムU2又はU1自体に対応する起動許可設定フラグF2又はF1を「更新失敗」にセットし(ステップ4)、当該新しい更新プログラムU2又はU1をダウンロードして上書きし(ステップ5)、その成功時は(ステップ6)その起動許可設定フラグF2又はF1を「起動許可」にセットする(ステップ7)。
なお、起動されている更新プログラムU1又はU2が、応用ソフトウェアAを更新するときは(ステップ132,8)、応用ソフトウェアAに対応して設けられた更新フラグF0を「未更新」にセットし(ステップ9)、応用ソフトウェアAをダウンロードして該当記憶領域に書き込み(ステップ10)、その成功時は更新フラグF0を「更新済」にセットし(ステップ11)、更新プログラムU1又はU2は更新フラグF0が「更新済」の場合に(ステップ11,8)、応用ソフトウェアAを実行する(ステップ12)。
以上のようにすれば、切換情報であるプログラム番号N1,N2や起動許可設定フラグF1,F2などの起動制御情報C1,C2により、二度の更新により二段階的に行われる更新プログラムU1,U2の更新を含め、状態に応じた起動対象の選択と起動の制御を簡潔確実なアルゴリズムで容易に実装可能となる。
なお、本装置はブート(起動、立上り)時に、一方の領域R1又はR2を起動領域としその領域の更新プログラムU1又はU2を現用更新プログラムとして実行し、他方の領域を更新領域と呼ぶ。以下、図2の処理手順を詳述するが、図2に示す処理の各ステップのうち、領域選択と起動の処理(ステップ1〜2)は起動選択プログラムBが実行し、通常の稼動(ステップ12)及び稼動中の更新指示受信(ステップ131,132)は応用ソフトウェアAが実行する。それ以外はすべて現用更新プログラムU1又はU2が実行する。なお、図2中のステップ番号は単に図中で識別するための符号で、実行順とは無関係である。
〔3−2.領域選択と起動〕…ステップ1,2
まず、起動選択プログラムBは、制御情報C1,C2の値によって、起動する領域を選択する(ステップ1)。具体的には、一方の領域R1又はR2の起動許可設定フラグF1又はF2が「起動許可」か「初回更新済」であれば、この領域R1又はR2を起動に係る起動領域として選択し、起動許可設定フラグF1又はF2が「起動不可」か「更新失敗」の場合、他方の領域R2又はR1が「起動許可」のはずであるからこの他方の領域R2又はR1を起動領域として選択する。但し、起動選択プログラムBは、領域R1と領域R2の起動許可設定フラグF1及びF2がいずれも「起動許可」の場合、プログラム番号N1とN2を比較し大きな番号が書き込まれている方を起動領域とする。
このようにすれば、それぞれの更新プログラムU1,U2のプログラム番号N1,N2を更新ごとにバージョン番号などにしたがって増大させておき、それを比較するという単純なアルゴリズムでどちらを起動すべきか確実容易に判定可能となる。なお、他の変形例として、プログラム番号N1,N2を十分大きな初期値から減少させて小さい方を選択したり、文字コードやアルファベットを用いる例も本発明の範囲に属する。
そして、上記のように選択した領域番号を所定の変数「起動領域」、他方の領域番号を所定の変数「更新領域」に格納したうえ、変数「起動領域」で選択された領域の更新プログラムU1又はU2を起動する(ステップ2)。変数「起動領域」で指定されている領域が起動領域、変数「更新領域」で指定されている領域が更新領域である。
〔3−3.分岐処理〕…ステップ31〜33
起動された更新プログラムU1又はU2は、領域R1と領域R2の制御情報C1,C2を読んで次の分岐等の処理を行う(ステップ31〜33)。すなわち、更新領域R2又はR1の制御情報C2又はC1(起動許可設定フラグF2又はF1)が、「更新失敗」であれば(ステップ31)、更新に失敗したことをホスト装置へ通知し(ステップ32)、応用ソフトウェアAの実行や更新に関する処理(ステップ8以降)へジャンプする。起動領域R1又はR2の制御情報C1又はC2(起動許可設定フラグF1又はF2)が「初回更新済」であれば、更新プログラムU1又はU2が自分自身を更新する処理(ステップ4以降)へ進み、これらいずれでもない場合には、応用ソフトウェアAの実行や更新に関する処理(ステップ8以降)へジャンプする。
〔3−4.更新プログラム更新の概略〕
ここで、ステップ4〜7は、更新プログラムU2又はU1を更新する手順の後半であるから、まず、更新プログラムU2又はU1を更新する手順を説明する。更新プログラムU2又はU1の更新は、一方の起動領域R1又はR2で稼動する現用更新プログラムU1又はU2が他方の更新領域R2又はR1に対して行う。更新プログラムU2又はU1の更新は二段階からなり、第一段階では更新領域R2又はR1へ更新プログラムU2又はU1をダウンロードし(ステップ14〜17)、リブート後の第二段階では、起動選択プログラムBが起動領域と更新領域を逆転させ、ダウンロードされたばかりのその更新プログラムU2又はU1が再ダウンロードなどで自身を更新することで(ステップ4〜7)正常動作を保証する。リブート時点では、新たな更新プログラムU2又はU1はダウンロード済みだが、自身を更新する前の状態であり、その状態を「初回更新済」と表す。
〔3−5.更新プログラム更新の第一段階〕…ステップ14〜17
上記の更新プログラム更新の第一段階として、本装置において、稼動中の応用ソフトウェアAがホスト装置から更新プログラム更新指示を受信すると(ステップ131)、割込みジャンプなどによりその時点の現用更新プログラムU1又はU2のステップ14以降へ制御が移る。すなわち、更新プログラムU1又はU2はまず、更新領域R2又はR1の起動制御情報C2又はC1(起動許可設定フラグF2又はF1)へ「更新失敗」を書き込む(ステップ14)。これは、データのダウンロードや書込みの失敗でリブートした後の処理で、更新が失敗したことを判定可能にするためであり、更新プログラム更新の第二段階(ステップ4)及び応用ソフトウェアAの更新(ステップ9)でも同じ手法を用いる。
続いて、新しい更新プログラムU2又はU1をホスト装置からダウンロードし、更新領域R2又はR1へ書き込む(ステップ15)。このダウンロードや書き込みに失敗した場合には(ステップ16)、リブートして処理手順の最初(ステップ1)へジャンプするが、成功すれば、更新領域R2又はR1の起動制御情報C2又はC1(起動許可設定フラグF2又はF1)へ「初回更新済」を書き込んだうえ(ステップ17)、リブートして処理手順の最初(ステップ1)へジャンプする。
〔3−6.更新プログラム更新の第二段階〕…ステップ4〜7
このように「初回更新済」の領域は、すでに説明したように、ブート時に、起動領域として選択され(ステップ1)、「初回更新済」であることが検出されて(ステップ33)更新プログラム更新の第二段階として、更新プログラム自身による更新の対象となる(ステップ4〜7)。すなわち、起動領域として起動され第二段階を迎えた新しい更新プログラムU2又はU1は、主記憶域上に設定ファイルなど必要なデータファイルとともに展開、実行される。
そして、新しい更新プログラムU2又はU1は、まず、自身が存在する起動領域R2又はR1の制御情報C2又はC1(起動許可設定フラグF2又はF1)に「更新失敗」を書き込んだうえ(ステップ4)、ホスト装置から自身と同じ更新プログラムU2又はU1をダウンロードし、起動領域R2又はR1へ書き込む(ステップ5)。この場合、メモリなどの主記憶域上で展開・実行されている更新プログラムU2又はU1が、ディスクなど補助記憶域上の自分自身のファイルを再ダウンロードし上書きすることになる。
更新プログラム自身の更新において、ダウンロードや書き込みに失敗した場合には(ステップ6)、リブートして処理手順の最初(ステップ1)へジャンプするが、更新プログラム自身の更新に成功すれば、起動領域R2又はR1の制御情報C2又はC1(起動許可設定フラグF2又はF1)に「起動許可」を書き込んだうえ(ステップ7)、応用ソフトウェアAの実行や更新に関する処理(ステップ8以降)へ進む。
〔3−7.応用ソフトウェアの更新と実行〕…ステップ8〜12
応用ソフトウェアAの実行や更新に関する処理(ステップ8以降)ではまず、現用の更新プログラムU1又はU2は、応用ソフトウェア領域R0の更新フラグF0をチェックし(ステップ8)、「更新済」であれば、応用ソフトウェア領域R0のプログラムである応用ソフトウェアAを実行する(ステップ12)。これが通常の業務状態である。
更新フラグF0は「更新済」でなければ、応用ソフトウェア更新の処理(ステップ9以降)へ進むが、この処理はホスト装置から応用ソフトウェア更新指示を受信した場合(ステップ132)と同じ処理である。すなわち、通常の業務状態であっても、端末装置において、稼動中の応用ソフトウェアAがホスト装置から応用ソフトウェア更新指示を受信すると(ステップ132)、割込みジャンプなどにより更新プログラムU1又はU2のステップ9以降へ制御が移る。
この場合、更新プログラムU1又はU2はまず、応用ソフトウェア領域R0の更新フラグF0へ「未更新」を書き込む(ステップ9)。これは、データのダウンロードや書き込みの失敗でリブートした後の処理(ステップ8)で、更新が未完であることを判定可能にするためである。
続いて、ホスト装置から新しい応用ソフトウェアAをダウンロードし、応用ソフトウェア領域R0へ書き込む(ステップ10)。なお、図示はしないが、更新プログラムの更新におけるステップ6や16と同様に、このダウンロードや書き込みに失敗した場合にはリブートして処理手順の最初(ステップ1)へジャンプすると、再度、更新フラグF0のチェックに到達した際(ステップ8)「未更新」のままなので、応用ソフトウェア更新の処理(ステップ9以降)が繰り返されることになる。
そして、新しい応用ソフトウェアAのダウンロードと書き込みに成功すれば、応用ソフトウェア領域R0の更新フラグF0へ「更新済」を書き込んだうえ(ステップ11)、応用ソフトウェア領域R0の新しいプログラムである応用ソフトウェアAを実行し(ステップ12)、通常の業務状態となる。
〔3−8.失敗の判定〕
ダウンロード又は書き込みに失敗したことの判定では(ステップ6,16)例えば次の場合に失敗と判定する。第一はホスト装置との通信失敗で、例えば、ネットワーク接続ができない、ホスト装置からの接続拒否など、通信プロトコル上で検出される障害による。第二は処理のタイムアウトで、例えば、一定時間以上たっても処理が終了しないことをタイマ等で障害として検出する。その他、書き込みデータのチェックディジット(チェックサムやダイジェスト)の誤り、データが正常に受信されなかったか書き込まれなかったことによる障害、異常な命令実行など更新プログラムU1又はU2が正常に実行できなかった実行異常などを、それぞれ検出することが考えられる。
〔3−9.更新失敗時の処理〕
更新プログラムU2又はU1の更新失敗を検出した場合(ステップ6,16)、ホスト装置など所定通信先への通知(ステップ32)のほか、所定タイミングでの再試行などの処理を、事前設定や外部からの指令などにしたがって行うようにしてもよい。このように、更新プログラムU2又はU1の更新失敗を検出したときに、ホストなどへ通知したり(ステップ32)、何分後、何時間後、何日後などのタイミングで再試行するなどの対処動作を、事前設定された固定動作や条件判断にしたがって、或いは、ホスト装置からの指令や作業員が現場で接続するコントローラからの指令などにしたがって、確実に実行することにより、運用の柔軟性と信頼性が一層向上する。
〔4.効果〕
以上説明したように、本実施形態では、二重化した更新プログラムU1,U2の一方に、他方の更新と、応用ソフトウェアAの更新を行わせるので、更新中の電源断などの事故による予期せぬ停止で更新が失敗したり、更新でダウンロードした新しいプログラムに障害があっても、更新処理を行った側の古い更新プログラムU1又はU2が無傷で残るため再度起動時等にこれにより更新をやり直すことができる。このため、予期せぬ停止やプログラムの障害にも対応可能となり復旧不能が回避できて信頼性が向上し、更新プログラムU1,U2自体も更新可能となって運用の柔軟性が増し、応用ソフトウェアAの二重化のための余分な記憶容量も不要となってコストも低減される。
また、本実施形態では、新しい更新プログラムU2又はU1が自分自身を更新することにより、少なくとも自分自身を更新できるだけの正しい動作を容易かつ確実に確認可能となり、この際に更新プログラムU2又はU1の障害が判明しても古い方の更新プログラムU1又はU2により、後で、障害を修正したものに再度更新し直すことができる。
また、本実施形態では、いったん更新された更新プログラムU2又はU1のファイルをHDDなどの補助記憶域からRAMなどの主記憶域上に、フラグを用いた起動制御情報などで仮起動させることにより、補助記憶域上のその更新プログラムU2又はU1自体のファイルを円滑容易に更新でき、かつ、その失敗の場合は直前に現用だった更新プログラムU1又はU2に容易に戻ることができる。
また、本実施形態では、起動選択プログラムBが起動領域の選択(ステップ1)で判断対象とする起動制御情報C1,C2は、すべて不揮発の補助記憶装置に記録されているので、ステップ6,16,17からステップ1へのジャンプは、端末装置のリブートで実行でき、この結果、更新プログラムU1,U2は常に端末装置のリブート後に実行されることになる。このように、本実施形態では、ハードウェア設定などの実行履歴がリセットされたシステムのリブート後の状態で、新しい更新プログラムU2又はU1が自分自身を更新して正常動作を確認検証できるので、実行履歴によって発生しなくなる障害があったとしてもそれまでの実行履歴に左右されることなく検証時に確実に検出できる。
〔5.実施例〕
上記のような実施形態を実装したシステムの実施例を図3に示す。
〔5−1.実施例の概略〕
本実施例は、概略としては、端末装置Tの補助記憶装置である書き換え可能不揮発記憶装置Dに三つのパーティションを設け、それぞれ、更新プログラム領域R1,R2と、応用ソフトウェア領域R0とする。また、更新プログラムは、コンピュータの主記憶域であるRAM6上に設けたRAMディスクドライブ上で必要なデータファイルとともに展開し実行する。また、システムリセット回路7が、リブート時を含むブート時に、コンピュータのCPU3からの指令信号を受けて、ハードウェアデバイスを含む端末装置Tの全体を所定の初期状態にリセットしたうえ、所定のブートROM5に格納された起動選択プログラムを起動する。
〔5−2.実施例の構成〕
具体的には、図3に示すように、ホスト装置Hと端末装置Tは、ネットワークインタフェースN及びPHSによるIP接続などを用いた通信ネットワークで接続する。CPU3は、端末装置T全体を制御するプロセッサで、TRONなどのOSを適宜用いる。システムバス4は、CPU3と端末装置T内のさまざまなコンポーネントデバイスを接続する。ブート(BOOT)ROM5は、端末装置Tの起動用プログラムを格納する部分で、書き換えを行わない不揮発記憶装置である。電源オン直後とリセット直後は、このブートROM5のプログラムが実行される。
書き換え可能不揮発記憶装置Dは、プログラムやデータを記憶する大容量な記憶装置であり、大容量のメモリカード、フラッシュROM、ハードディスクドライブなどの媒体で実装することができ、補助記憶域を提供する。RAM6はCPU3の主記憶装置で、主記憶域を提供する。システムリセット回路7はCPU3からの指示で端末装置をリセットする回路であり、端末装置Tをリセットするとプログラムがリブートし、すべての装置を構成するデバイスがリセットされたあと、電源オン直後と同様にブートROM5から起動する。
この実施例では、上記実施形態(図1)を構成するプログラムを次のように実装する。すなわち、起動選択プログラム(B)をブートROM5へ書き込む。また、書き換え可能不揮発記憶装置Dは、第1〜第3の3個のパーティションに分割し、第1パーティションは更新プログラム領域R1、第2パーティションは更新プログラム領域R2、第3パーティションは応用ソフトウェア領域R0(通常のファイルシステム)として、それぞれのデータを書き込む領域とする。起動選択プログラムは、ブートROM5に書き込んで直接実行するオブジェクトとしておく。
更新プログラム(U1,U2)は、RAM6上に展開して実行するようにビルドし、更新プログラムの実行に必要な設定ファイルなどを圧縮形式にして更新プログラムに含ませる。更新プログラムは、実行時に、そのように圧縮されたファイルをRAM6上に展開しRAMディスクとして参照する。このようにすることで、更新プログラムは書き換え可能不揮発記憶装置D上のファイルシステムがなくても動作できる。
〔5−3.実施例の作用〕
このような実施例では、図2に示した処理手順のうち領域選択と起動の処理(ステップ1,2)では、ブートROM5上の起動選択プログラムが直接実行され、書き換え可能不揮発記憶装置Dのパーティション1と2にある領域1(R1)あるいは領域2(R2)からRAM6上へ更新プログラムを展開する。
図2での分岐処理(ステップ31〜33)、更新プログラム更新の第二段階(ステップ4〜7)、応用ソフトウェア(A)の更新(ステップ8〜11)では、RAM6上に展開され実行されている更新プログラム(例えばU1)が、書き換え可能不揮発記憶装置Dのうち、自身のファイルがある第1パーティション(領域R1)へホストからダウンロードして更新プログラムU1を書き込み、また、第3パーティション(領域R0)へホスト装置からダウンロードして応用ソフトウェアA(プログラムとデータ)を書き込む。
応用ソフトウェアAの実行(ステップ12)、ホスト装置からの更新指示の受信(ステップ131,132)については、第3パーティション(領域R0)に通常のファイルとして格納された応用プログラムAの実行による。
また、更新プログラムのダウンロードや書き込みの成功の後や失敗の際(図2のステップ6,16,17)、処理手順の最初(ステップ1)へのジャンプは、プログラムからシステムリセット回路7を操作して端末装置T全体をリブートすることで実行する。このことによって、処理手順がステップ1から実行されるときには、ハードウェアの設定やRAMの内容といったシステムの状態が常に一定であることが保証される。したがって、更新プログラムの動作が、それまでのプログラムの実行状態に左右されることがない。例えば、新しいバージョンの更新プログラムに、行うべきハードウェア設定を行わない障害がある場合に、これによる異常を検出することができる。
〔5−4.実施例の効果〕
以上説明したように、本実施例では、二つの更新プログラムと応用ソフトウェアの各記憶領域として、補助記憶装置である書き換え可能不揮発記憶装置Dに設けた三つのパーティション(領域R0,R1,R2)を用いるので、一部のパーティションに障害が起きても他へ波及せず、生き残ったパーティションの領域にある更新プログラム(U1,U2)などを使って継続稼動、復旧作業などが可能となり、また、パーティションごとに異なるファイルシステムも採用可能となるので、システムの信頼性と柔軟性が一層向上する。また、更新プログラムをRAMディスクドライブ上で実行することにより、更新プログラムは書き換え可能不揮発記憶装置D上のファイルシステムがなくても動作でき、OS上で実行中ファイルの上書きが禁止であっても、支障なく自身を更新して正常動作を確認検証可能となる。
さらに、上記実施例では、コンピュータのCPU3からシステムリセット回路7に指令信号を出力することで、ハードウェアの設定やRAM6の内容といったシステムの状態が常に一定であることが確実に保証され、更新プログラムの動作がそれまでのプログラムの実行状態に左右されることがなく、たとえば、新しいバージョンの更新プログラムに、行うべきハードウェア設定を行わない障害がある場合も、異常が確実に検出される。
以上のようにして、上記実施形態及びその実施例により、起動選択プログラム(B)以外、応用ソフトウェアAだけでなく更新プログラムU1,U2も含めほぼすべてが更新可能となる。なお、起動選択プログラム自体については、条件に応じいずれかの領域の更新プログラムU1,U2を起動するごく単純な処理しか行わないため更新できなくても支障は少ない。
〔6.他の実施形態〕
本発明は、上記の実施形態や実施例に限定されるものではなく、以下に例示するようなもの及びそれ以外のものを含む他の実施形態も包含するものである。例えば、応用ソフトウェアAや更新プログラムUの更新については、ホスト装置からの指示に代え、またはそれと併用し、曜日など所定の時間間隔で端末装置からホスト装置へアクセスしてバージョンアップをチェックし、新バージョンがダウンロード可能であれば更新するようにしてもよい。
また、本発明は、ホスト装置、その制御方法又は制御プログラムに関する観点から捉えれば、ホスト装置のコンピュータを制御することにより、所定の通信手段経由で、所定の端末装置からのダウンロード要求に応じて新しい更新プログラム又は応用ソフトウェアを、ホスト装置が提供するホスト装置、その制御方法又は制御プログラムのいずれか一つにおいて、ホスト装置が提供するその更新プログラムは、前記端末装置においてそれぞれ更新プログラムを格納するための二つの記憶領域の少なくとも一方に格納され、前記端末装置のコンピュータを制御することにより、予め決められた更新条件が成立したことを判定し、この判定を受けてその更新条件に応じて前記端末装置の応用ソフトウェア又は前記二つの記憶領域の他方に格納すべき新しい更新プログラムについて、前記所定の通信手段経由でホスト装置からダウンロードし該当する記憶領域に書き込むことで更新するものであることを特徴とする。
また、本発明は、ホスト装置、その制御方法又は制御プログラムに関する観点で捉えれば、前記更新プログラムは、前記新しい更新プログラムとして最初に実行されるとき、前記コンピュータを制御することにより、その更新プログラム自体を前記通信手段経由で更新することにより正常動作を確認するものであることを特徴とする。
また、本発明は、以上のような端末装置とホスト装置とを備えたことを特徴とする遠隔更新システム、以上のような端末装置の制御方法とホスト装置の制御方法とを組み合わせることを特徴とする遠隔更新方法、以上のような端末装置の制御プログラムとホスト装置の制御プログラムとを組み合わせることを特徴とする遠隔更新プログラムとしても把握可能である。
本発明の実施形態における端末装置の補助記憶装置の内容を示す図。 本発明の実施形態における処理手順を示すフローチャート。 本発明の実施形態に関する実施例の構成を示す図。
符号の説明
B…起動選択プログラム
R(R0,R1,R2)…領域
U(U1,U2)…更新プログラム
A…応用ソフトウェア
C(C1,C2)…起動制御情報
N(N1,N2)…プログラム番号
F(F1,F2)…起動許可設定フラグ
F0…更新フラグ
H…ホスト装置
T…端末装置
N…ネットワークインタフェース
D…書き換え可能不揮発記憶装置
3…CPU
4…システムバス
5…ブートROM
6…RAM
7…システムリセット回路

Claims (39)

  1. 応用ソフトウェアと、二つの更新プログラムと、を用いる端末装置において、
    前記更新プログラムは、前記端末装置のコンピュータを制御することにより、前記応用ソフトウェア及び他方の更新プログラムを所定の通信手段経由のダウンロードにより更新する手段を実現する
    ことを特徴とする端末装置。
  2. それぞれ更新プログラムを格納するための二つの記憶領域と、応用ソフトウェアの記憶領域と、を備える端末装置において、
    前記二つの記憶領域の少なくとも一方に格納された更新プログラムが、前記端末装置のコンピュータを制御することにより、予め決められた更新条件が成立したことを判定し、この判定を受けてその更新条件に応じて前記応用ソフトウェア又は前記二つの記憶領域の他方に格納すべき新しい更新プログラムについて、所定の通信手段経由でダウンロードし該当する記憶領域に書き込むことで更新する手段を実現し、
    起動選択プログラムが、前記端末装置のコンピュータを制御することにより、前記二つの記憶領域のいずれかに格納された更新プログラム又は前記応用ソフトウェアを選択して実行する手段を実現する、
    ことを特徴とする端末装置。
  3. 前記新しい更新プログラムは、前記コンピュータを制御することにより、その更新プログラム自体を前記通信手段経由で更新することにより正常動作を確認する手段を実現する
    ことを特徴とする請求項2記載の端末装置。
  4. 前記各記憶領域はコンピュータの補助記憶域上に構成され、
    現用の前記更新プログラム及び前記起動選択プログラムは、前記コンピュータを制御することにより、前記新しい更新プログラムを前記補助記憶域から読み出して前記コンピュータの主記憶域上に仮起動させ、
    仮起動した新しい更新プログラムは、前記コンピュータを制御することにより、前記通信手段を用いて補助記憶域上の自身のファイルを新しいファイルに更新し、
    前記更新に成功すると、前記新しい更新プログラム及び前記起動選択プログラムは、前記コンピュータを制御することにより、その新しいファイルから新しい更新プログラムを正式起動させる
    ことを特徴とする請求項2又は3記載の端末装置。
  5. 前記起動選択プログラムは、前記コンピュータを制御することにより、前記二つの記憶領域について起動対象と更新対象を切り換える切換情報と、前記二つの各記憶領域について少なくとも起動許可/更新失敗/初回更新済のいずれかを示す各起動許可設定フラグと、を起動制御情報として用いることによりいずれかの更新プログラムを起動し、
    起動されている前記更新プログラムは、前記コンピュータを制御することにより、他方の更新プログラムを更新対象として更新するときは、当該他方の前記起動許可設定フラグを更新失敗にセットし、新しい更新プログラムをダウンロードして該当する前記記憶領域へ書き込み、その成功時は当該他方の前記起動許可設定フラグを初回更新済にセットして前記起動選択プログラムを起動し、
    前記起動選択プログラムは、前記コンピュータを制御することにより、起動許可設定フラグが初回更新済の更新プログラムがあるときはその新しい更新プログラムを起動し、ないときは前記切換情報の示す更新プログラムを起動し、
    起動された新しい更新プログラムは、前記コンピュータを制御することにより、その更新プログラム自体の起動許可設定フラグを更新失敗にセットし、当該新しい更新プログラムをダウンロードして上書きし、その成功時はその起動許可設定フラグを起動許可にセットし、
    起動されている前記更新プログラムは、前記コンピュータを制御することにより、前記応用ソフトウェアを更新するときは、応用ソフトウェアに対応して設けられた更新フラグを未更新にセットし、応用ソフトウェアをダウンロードして該当記憶領域に書き込み、その成功時は更新フラグを更新済にセットし、
    起動されている前記更新プログラムは、前記コンピュータを制御することにより、前記更新フラグが更新済の場合に、前記応用ソフトウェアを実行する
    ことを特徴とする請求項2から4のいずれか一項に記載の端末装置。
  6. 前記切換情報は、更新プログラムの新しさを示すプログラム番号であり、
    前記起動選択プログラムは、前記コンピュータを制御することにより、二つの更新プログラムの起動許可設定フラグがいずれも起動許可である場合、プログラム番号が大きい方の更新プログラムを起動する
    ことを特徴とする請求項5記載の端末装置。
  7. 前記更新プログラム又は前記更新プログラムを起動する起動選択プログラムは、端末装置のリブート後に実行するように構成されたことを特徴とする請求項2から6のいずれか一項に記載の端末装置。
  8. 前記いずれかのプログラムが前記コンピュータを制御することにより、
    前記更新プログラムの更新失敗を検出した場合に、所定通信先への通知、又は、所定タイミングでの再試行、の少なくともいずれかを、
    事前設定、又は、外部からの指令、の少なくともいずれかにしたがって行う手段を
    実現することを特徴とする請求項1から7のいずれか一項に記載の端末装置。
  9. 前記コンピュータの書き換え可能不揮発記憶装置に三つのパーティションを設けることによりそれぞれ、前記各更新プログラムのための二つの記憶領域と、前記応用ソフトウェアのための記憶領域を実現し、
    前記起動選択プログラムは前記コンピュータを制御することにより、前記更新プログラムを、前記コンピュータの主記憶域上に設けたRAMディスクドライブ上で必要なデータファイルとともに展開し実行する
    ことを特徴とする請求項2から8のいずれか一項に記載の端末装置。
  10. リブート時を含むブート時に、前記コンピュータのCPUからの指令信号を受けて、ハードウェアデバイスを含む端末装置の全体を所定の初期状態にリセットしたうえ、所定のブートROMに格納された前記起動選択プログラムを起動するシステムリセット手段を備えたことを特徴とする請求項2から9のいずれかに記載の端末装置。
  11. 応用ソフトウェアと、二つの更新プログラムと、を用いる端末装置の制御方法において、
    前記更新プログラムが、前記端末装置のコンピュータを制御することにより、前記応用ソフトウェア及び他方の更新プログラムを、所定の通信手段経由のダウンロードにより更新する
    ことを特徴とする端末装置。
  12. それぞれ更新プログラムを格納するための二つの記憶領域と、応用ソフトウェアの記憶領域と、を備える端末装置の制御方法において、
    前記二つの記憶領域の少なくとも一方に格納された更新プログラムが、前記端末装置のコンピュータを制御することにより、予め決められた更新条件が成立したことを判定し、この判定を受けてその更新条件に応じて前記応用ソフトウェア又は前記二つの記憶領域の他方に格納すべき新しい更新プログラムについて、所定の通信手段経由でダウンロードし該当する記憶領域に書き込むことで更新し、
    起動選択プログラムが、前記端末装置のコンピュータを制御することにより、前記二つの記憶領域のいずれかに格納された更新プログラム又は前記応用ソフトウェアを選択して実行する、
    ことを特徴とする端末装置の制御方法。
  13. 前記新しい更新プログラムが、前記コンピュータを制御することにより、その更新プログラム自体を前記通信手段経由で更新することにより正常動作を確認する
    ことを特徴とする請求項12記載の端末装置の制御方法。
  14. 前記各記憶領域はコンピュータの補助記憶域上に構成し、
    現用の前記更新プログラム及び前記起動選択プログラムが、前記コンピュータを制御することにより、前記新しい更新プログラムを前記補助記憶域から読み出して前記コンピュータの主記憶域上に仮起動させ、
    仮起動した新しい更新プログラムが、前記コンピュータを制御することにより、前記通信手段を用いて補助記憶域上の自身のファイルを新しいファイルに更新し、
    前記更新に成功すると、前記新しい更新プログラム及び前記起動選択プログラムが、前記コンピュータを制御することにより、その新しいファイルから新しい更新プログラムを正式起動させる
    ことを特徴とする請求項12又は13記載の端末装置の制御方法。
  15. 前記起動選択プログラムが、前記コンピュータを制御することにより、前記二つの記憶領域について起動対象と更新対象を切り換える切換情報と、前記二つの各記憶領域について少なくとも起動許可/更新失敗/初回更新済のいずれかを示す各起動許可設定フラグと、を起動制御情報として用いることによりいずれかの更新プログラムを起動し、
    起動されている前記更新プログラムが、前記コンピュータを制御することにより、他方の更新プログラムを更新対象として更新するときは、当該他方の前記起動許可設定フラグを更新失敗にセットし、新しい更新プログラムをダウンロードして該当する前記記憶領域へ書き込み、その成功時は当該他方の前記起動許可設定フラグを初回更新済にセットして前記起動選択プログラムを起動し、
    前記起動選択プログラムが、前記コンピュータを制御することにより、起動許可設定フラグが初回更新済の更新プログラムがあるときはその新しい更新プログラムを起動し、ないときは前記切換情報の示す更新プログラムを起動し、
    起動された新しい更新プログラムが、前記コンピュータを制御することにより、その更新プログラム自体の起動許可設定フラグを更新失敗にセットし、当該新しい更新プログラムをダウンロードして上書きし、その成功時はその起動許可設定フラグを起動許可にセットし、
    起動されている前記更新プログラムが、前記コンピュータを制御することにより、前記応用ソフトウェアを更新するときは、応用ソフトウェアに対応して設けられた更新フラグを未更新にセットし、応用ソフトウェアをダウンロードして該当記憶領域に書き込み、その成功時は更新フラグを更新済にセットし、
    起動されている前記更新プログラムが、前記コンピュータを制御することにより、前記更新フラグが更新済の場合に、前記応用ソフトウェアを実行する
    ことを特徴とする請求項12から14のいずれか一項に記載の端末装置の制御方法。
  16. 前記切換情報は、更新プログラムの新しさを示すプログラム番号であり、
    前記起動選択プログラムは、前記コンピュータを制御することにより、二つの更新プログラムの起動許可設定フラグがいずれも起動許可である場合、プログラム番号が大きい方の更新プログラムを起動する
    ことを特徴とする請求項15記載の端末装置の制御方法。
  17. 前記更新プログラム又は前記更新プログラムを起動する起動選択プログラムを、端末装置のリブート後に実行することを特徴とする請求項12から16のいずれか一項に記載の端末装置の制御方法。
  18. 前記いずれかのプログラムが前記コンピュータを制御することにより、
    前記更新プログラムの更新失敗を検出した場合に、所定通信先への通知、又は、所定タイミングでの再試行、の少なくともいずれかを、
    事前設定、又は、外部からの指令、の少なくともいずれかにしたがって行う
    ことを特徴とする請求項11から17のいずれか一項に記載の端末装置の制御方法。
  19. 前記コンピュータの書き換え可能不揮発記憶装置に三つのパーティションを設けることによりそれぞれ、前記各更新プログラムのための二つの記憶領域と、前記応用ソフトウェアのための記憶領域を実現し、
    前記起動選択プログラムが前記コンピュータを制御することにより、前記更新プログラムを、前記コンピュータの主記憶域上に設けたRAMディスクドライブ上で必要なデータファイルとともに展開し実行する
    ことを特徴とする請求項12から18のいずれか一項に記載の端末装置の制御方法。
  20. リブート時を含むブート時に、前記コンピュータのCPUからの指令信号を受けて、ハードウェアデバイスを含む端末装置の全体を所定の初期状態にリセットしたうえ、所定のブートROMに格納された前記起動選択プログラムを起動するプロセスを含むことを特徴とする請求項12から19のいずれかに記載の端末装置の制御方法。
  21. 応用ソフトウェアと、二つの更新プログラムにより、端末装置のコンピュータを制御する端末装置の制御プログラムにおいて、
    前記更新プログラムは前記コンピュータに、前記応用ソフトウェア及び他方の更新プログラムを、所定の通信手段経由のダウンロードにより更新させる
    ことを特徴とする端末装置の制御プログラム。
  22. それぞれ更新プログラムを格納するための二つの記憶領域と、応用ソフトウェアの記憶領域と、を備える端末装置のコンピュータを制御する端末装置の制御プログラムにおいて、
    前記二つの記憶領域の少なくとも一方に格納された更新プログラムであって前記コンピュータに、予め決められた更新条件が成立したことを判定させ、この判定を受けてその更新条件に応じて前記応用ソフトウェア又は前記二つの記憶領域の他方に格納すべき新しい更新プログラムについて、所定の通信手段経由でダウンロードさせ該当する記憶領域に書き込ませることで更新させる更新プログラムと、
    前記コンピュータに、前記二つの記憶領域のいずれかに格納された更新プログラム又は前記応用ソフトウェアを選択して実行する起動選択プログラムと、
    を含むことを特徴とする端末装置の制御プログラム。
  23. 前記新しい更新プログラムは、前記コンピュータに、その更新プログラム自体を前記通信手段経由で更新させることにより正常動作を確認させる
    ことを特徴とする請求項22記載の端末装置の制御プログラム。
  24. 前記各記憶領域はコンピュータの補助記憶域上に構成し、
    現用の前記更新プログラム及び前記起動選択プログラムが、前記コンピュータに、前記新しい更新プログラムを前記補助記憶域から読み出させて前記コンピュータの主記憶域上に仮起動させ、
    仮起動した新しい更新プログラムが、前記コンピュータに、前記通信手段を用いて補助記憶域上の自身のファイルを新しいファイルに更新させ、
    前記更新に成功すると、前記新しい更新プログラム及び前記起動選択プログラムが、前記コンピュータに、その新しいファイルから新しい更新プログラムを正式起動させる
    ことを特徴とする請求項22又は23記載の端末装置の制御プログラム。
  25. 前記起動選択プログラムは、前記コンピュータに、前記二つの記憶領域について起動対象と更新対象を切り換える切換情報と、前記二つの各記憶領域について少なくとも起動許可/更新失敗/初回更新済のいずれかを示す各起動許可設定フラグと、を起動制御情報として用いることによりいずれかの更新プログラムを起動させ、
    起動されている前記更新プログラムは、前記コンピュータに、他方の更新プログラムを更新対象として更新させるときは、当該他方の前記起動許可設定フラグを更新失敗にセットさせ、新しい更新プログラムをダウンロードさせて該当する前記記憶領域へ書き込ませ、その成功時は当該他方の前記起動許可設定フラグを初回更新済にセットさせて前記起動選択プログラムを起動させ、
    前記起動選択プログラムは、前記コンピュータに、起動許可設定フラグが初回更新済の更新プログラムがあるときはその新しい更新プログラムを起動させ、ないときは前記切換情報の示す更新プログラムを起動させ、
    起動された新しい更新プログラムは、前記コンピュータに、その更新プログラム自体の起動許可設定フラグを更新失敗にセットさせ、当該新しい更新プログラムをダウンロードさせて上書きさせ、その成功時はその起動許可設定フラグを起動許可にセットさせ、
    起動されている前記更新プログラムは、前記コンピュータに、前記応用ソフトウェアを更新させるときは、応用ソフトウェアに対応して設けられた更新フラグを未更新にセットさせ、応用ソフトウェアをダウンロードさせて該当記憶領域に書き込ませ、その成功時は更新フラグを更新済にセットさせ、
    起動されている前記更新プログラムは、前記コンピュータに、前記更新フラグが更新済の場合に、前記応用ソフトウェアを実行させる
    ことを特徴とする請求項22から24のいずれか一項に記載の端末装置の制御プログラム。
  26. 前記切換情報は、更新プログラムの新しさを示すプログラム番号であり、
    前記起動選択プログラムは、前記コンピュータに、二つの更新プログラムの起動許可設定フラグがいずれも起動許可である場合、プログラム番号が大きい方の更新プログラムを起動させる
    ことを特徴とする請求項25記載の端末装置の制御プログラム。
  27. 前記コンピュータに、前記更新プログラム又は前記更新プログラムを起動する起動選択プログラムを、端末装置のリブート後に実行させることを特徴とする請求項22から26のいずれか一項に記載の端末装置の制御プログラム。
  28. 前記いずれかのプログラムが前記コンピュータに、前記更新プログラムの更新失敗を検出させ、この検出を受けて、所定通信先への通知、又は、所定タイミングでの再試行、の少なくともいずれかを、
    事前設定、又は、外部からの指令、の少なくともいずれかにしたがって行わせる
    ことを特徴とする請求項21から27のいずれか一項に記載の端末装置の制御プログラム。
  29. 前記コンピュータの書き換え可能不揮発記憶装置に三つのパーティションを設けることによりそれぞれ、前記各更新プログラムのための二つの記憶領域と、前記応用ソフトウェアのための記憶領域を実現し、
    前記起動選択プログラムは前記コンピュータに、前記更新プログラムを、前記コンピュータの主記憶域上に設けたRAMディスクドライブ上で必要なデータファイルとともに展開し実行させる
    ことを特徴とする請求項22から28のいずれか一項に記載の端末装置の制御プログラム。
  30. リブート時を含むブート時に、前記コンピュータのCPUに所定の指令信号を出力させることにより、ハードウェアデバイスを含む端末装置の全体を所定の初期状態にリセットさせたうえ、所定のブートROMに格納された前記起動選択プログラムを起動させることを特徴とする請求項22から29のいずれかに記載の端末装置の制御プログラム。
  31. 所定の通信手段経由で、所定の端末装置からのダウンロード要求に応じて新しい更新プログラム又は応用ソフトウェアを提供するホスト装置において、
    ホスト装置が提供するその更新プログラムは、前記端末装置においてそれぞれ更新プログラムを格納するための二つの記憶領域の少なくとも一方に格納され、前記端末装置のコンピュータを制御することにより、予め決められた更新条件が成立したことを判定し、この判定を受けてその更新条件に応じて前記端末装置の応用ソフトウェア又は前記二つの記憶領域の他方に格納すべき新しい更新プログラムについて、前記所定の通信手段経由でホスト装置からダウンロードし該当する記憶領域に書き込むことで更新する手段を実現するものである
    ことを特徴とするホスト装置。
  32. 前記更新プログラムは、前記新しい更新プログラムとして最初に実行されるとき、前記コンピュータを制御することにより、その更新プログラム自体を前記通信手段経由で更新することにより正常動作を確認する手段を実現するものである
    ことを特徴とする請求項31記載のホスト装置。
  33. 請求項1から10のいずれか一項に記載の端末装置と、
    請求項31又は32に記載のホスト装置と、
    を備えることを特徴とする遠隔更新システム。
  34. 所定の通信手段経由で、所定の端末装置からのダウンロード要求に応じて新しい更新プログラム又は応用ソフトウェアを、ホスト装置が提供するホスト装置の制御方法において、
    ホスト装置が提供するその更新プログラムは、前記端末装置においてそれぞれ更新プログラムを格納するための二つの記憶領域の少なくとも一方に格納され、前記端末装置のコンピュータを制御することにより、予め決められた更新条件が成立したことを判定し、この判定を受けてその更新条件に応じて前記端末装置の応用ソフトウェア又は前記二つの記憶領域の他方に格納すべき新しい更新プログラムについて、前記所定の通信手段経由でホスト装置からダウンロードし該当する記憶領域に書き込むことで更新するものである
    ことを特徴とするホスト装置の制御方法。
  35. 前記更新プログラムは、前記新しい更新プログラムとして最初に実行されるとき、前記コンピュータを制御することにより、その更新プログラム自体を前記通信手段経由で更新することにより正常動作を確認するものである
    ことを特徴とする請求項34記載のホスト装置の制御方法。
  36. 請求項11から20のいずれか一項に記載の端末装置の制御方法と、
    請求項34又は35に記載のホスト装置の制御方法と、
    を組み合わせることを特徴とする遠隔更新方法。
  37. ホスト装置のコンピュータを制御することにより、所定の通信手段経由で、所定の端末装置からのダウンロード要求に応じて新しい更新プログラム又は応用ソフトウェアを、ホスト装置に提供させるホスト装置の制御プログラムにおいて、
    ホスト装置が提供するその更新プログラムは、前記端末装置においてそれぞれ更新プログラムを格納するための二つの記憶領域の少なくとも一方に格納され、前記端末装置のコンピュータを制御することにより、予め決められた更新条件が成立したことを判定し、この判定を受けてその更新条件に応じて前記端末装置の応用ソフトウェア又は前記二つの記憶領域の他方に格納すべき新しい更新プログラムについて、前記所定の通信手段経由でホスト装置からダウンロードし該当する記憶領域に書き込むことで更新するものである
    ことを特徴とするホスト装置の制御プログラム。
  38. 前記更新プログラムは、前記新しい更新プログラムとして最初に実行されるとき、前記コンピュータを制御することにより、その更新プログラム自体を前記通信手段経由で更新することにより正常動作を確認するものである
    ことを特徴とする請求項37記載のホスト装置の制御プログラム。
  39. 請求項21から30のいずれか一項に記載の端末装置の制御プログラムと、
    請求項37又は38に記載のホスト装置の制御プログラムと、
    を組み合わせることを特徴とする遠隔更新プログラム。
JP2004100234A 2004-03-30 2004-03-30 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム Pending JP2005284902A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004100234A JP2005284902A (ja) 2004-03-30 2004-03-30 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004100234A JP2005284902A (ja) 2004-03-30 2004-03-30 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2005284902A true JP2005284902A (ja) 2005-10-13

Family

ID=35183194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004100234A Pending JP2005284902A (ja) 2004-03-30 2004-03-30 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2005284902A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007189332A (ja) * 2006-01-11 2007-07-26 Sony Ericsson Mobilecommunications Japan Inc ソフトウェア更新方法および移動端末装置
JP2007299400A (ja) * 2006-05-01 2007-11-15 Internatl Business Mach Corp <Ibm> ランタイム・メモリー実行可能分離のための方法、コンピュータ・プログラム、及びデータ処理システム(ランタイム・メモリー実行可能分離のための方法及び装置)
JP2008226158A (ja) * 2007-03-15 2008-09-25 Ricoh Co Ltd 情報処理装置、ソフトウェア更新方法及び画像処理装置
JP2009163532A (ja) * 2008-01-08 2009-07-23 Funai Electric Co Ltd 電子機器
US7860082B2 (en) 2008-04-24 2010-12-28 Kabushiki Kaisha Toshiba Telephone system and terminal device therein
JP2012018523A (ja) * 2010-07-07 2012-01-26 Canon Inc 情報処理装置及びその制御方法
JP2014099084A (ja) * 2012-11-15 2014-05-29 Nintendo Co Ltd 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法
JP2016103261A (ja) * 2014-11-13 2016-06-02 富士電機株式会社 ファームウェアのダウンロード方法及びファームウェア組込機器
JPWO2020090418A1 (ja) * 2018-10-31 2021-09-30 日立Astemo株式会社 電子制御装置、電子制御装置のリプログラミング方法
WO2022215402A1 (ja) * 2021-04-08 2022-10-13 日立Astemo株式会社 車両用電子制御装置及びプログラムの書き換え方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007189332A (ja) * 2006-01-11 2007-07-26 Sony Ericsson Mobilecommunications Japan Inc ソフトウェア更新方法および移動端末装置
JP2007299400A (ja) * 2006-05-01 2007-11-15 Internatl Business Mach Corp <Ibm> ランタイム・メモリー実行可能分離のための方法、コンピュータ・プログラム、及びデータ処理システム(ランタイム・メモリー実行可能分離のための方法及び装置)
US8695102B2 (en) 2006-05-01 2014-04-08 International Business Machines Corporation Controlling execution of executables between partitions in a multi-partitioned data processing system
JP2008226158A (ja) * 2007-03-15 2008-09-25 Ricoh Co Ltd 情報処理装置、ソフトウェア更新方法及び画像処理装置
JP2009163532A (ja) * 2008-01-08 2009-07-23 Funai Electric Co Ltd 電子機器
US7860082B2 (en) 2008-04-24 2010-12-28 Kabushiki Kaisha Toshiba Telephone system and terminal device therein
JP2012018523A (ja) * 2010-07-07 2012-01-26 Canon Inc 情報処理装置及びその制御方法
JP2014099084A (ja) * 2012-11-15 2014-05-29 Nintendo Co Ltd 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法
JP2016103261A (ja) * 2014-11-13 2016-06-02 富士電機株式会社 ファームウェアのダウンロード方法及びファームウェア組込機器
JPWO2020090418A1 (ja) * 2018-10-31 2021-09-30 日立Astemo株式会社 電子制御装置、電子制御装置のリプログラミング方法
WO2022215402A1 (ja) * 2021-04-08 2022-10-13 日立Astemo株式会社 車両用電子制御装置及びプログラムの書き換え方法

Similar Documents

Publication Publication Date Title
US20100169709A1 (en) System Of Updating Firmware And Method Thereof, And Method Of Creating Firmware
EP1899814B1 (en) Firmware update for consumer electronic device
US7206971B2 (en) Selectable and updatable computer boot memory
KR100750132B1 (ko) 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체
KR101427755B1 (ko) Usb를 이용한 펌웨어 업그레이드 장치 및 방법
US8930931B2 (en) Information processing apparatus using updated firmware and system setting method
JP4482029B2 (ja) 無線基地局および無線基地局の運用方法
JP2000357095A (ja) 埋込式システムにソフトウェアをダウンロードする方法および装置
CN105260215A (zh) 一种u盘升级车载行车记录仪终端的方法
CN108345464A (zh) 一种安卓系统的启动方法及安卓车机
JP2005284902A (ja) 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム
JP2001331327A (ja) 電子機器
WO2015184732A1 (zh) 引导程序的存储方法、故障恢复方法及设备、计算机存储介质
CN111273928B (zh) 一种自升级的bootloader设计方法
CN113157303A (zh) 升级方法、嵌入式系统、终端及计算机存储介质
CN116909611A (zh) 电子设备固件更新方法、清洁设备以及存储介质
EP2733612B1 (en) Information processing device, method, and program
JP2004054616A (ja) ファームウェア自動修復機能を有する情報処理装置
CN114356658A (zh) 固件升级异常的处理方法、计算机设备以及可读存储介质
CN111897583A (zh) 一种设备启动方法及嵌入式设备
JP2005242930A (ja) 情報処理装置、プログラム更新方法、プログラム更新プログラム、およびプログラム更新プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003122575A (ja) 情報処理装置
CN115599449A (zh) 处理器启动系统及方法
CN114489717A (zh) 一种系统升级方法、装置和系统
CN113986383A (zh) 一种引导加载程序的启动方法及相关装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060425

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060822