説明

ソフトウェア更新システム、更新方法、及び、プログラム

【課題】冗長構成の機能部を備える装置において、機能部内のメモリを、ソフトウェア動作用のメモリだけの必要最低限の容量に減少させ、機能部のソフトウェア更新に要する運用中断時間を短縮し、速やかに更新後のソフトウェアによって装置運用の再開を図る。
【解決手段】2つの系により冗長構成される機能部と、機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、機能部およびソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備える装置であって、前記監視制御部は、前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む制御を行うソフトウェア更新処理手段を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア更新システム、更新方法、及び、プログラムに関し、特に、冗長構成の機能部を備える装置において、機能部のソフトウェア更新に要する運用中断時間を短縮し、運用中断後速やかに更新後のソフトウェアによって装置運用の再開を図ることを可能とする、ソフトウェア更新システム、更新方法、及び、プログラムに関する。
【背景技術】
【0002】
本発明に関する装置の従来例について、図6を参照して説明する。
【0003】
図6において、装置1は、ソフトウェア制御によって動作するN系100とE系110とで構成される機能部10を備えている。また、機能部10にダウンロードすべきソフトウェアを保存するソフトウェア保存部20と、装置1全体の動作の監視・制御を行う監視制御部30を備えている。機能部10のN系100とE系110は所謂冗長構成をとっており、何れか一方が運用系となり、他方が待機系となって、装置1が運用されるようになっている。
【0004】
ソフトウェアのバージョンアップ等の理由により、機能部10におけるソフトウェアの更新が必要となった場合、まず、ソフトウェア保存部20に、更新するソフトウェアを保存し、装置1を再起動する。
【0005】
装置1を再起動したとき、冗長構成の機能部10のN系100およびE系110は、それぞれが備えているフラッシュメモリ(ROM101、ROM111)に書き込まれているソフトウェアを読み出して起動する。
【0006】
その後、ソフトウェア保存部20に保存されているソフトウェアと、機能部10におけるN系100およびE系110がそれぞれ備えているフラッシュメモリ(ROM101、ROM111)に書き込まれているソフトウェアのバージョンを比較する。
【0007】
比較した両ソフトウェアのバージョンが一致している場合は、ソフトウェア更新が不要であるため、装置1はそのまま運用を開始する。
【0008】
比較した両ソフトウェアのバージョンが不一致の場合、機能部10のソフトウェアの更新が必要となるため、ソフトウェア保存部20に保存されているソフトウェアを、機能部10のN系100およびE系110がそれぞれ備えているフラッシュメモリ(ROM101、ROM111)に書き込む。その後、書き込み後のソフトウェアにて起動する必要があるため、装置1をもう一度再起動する。
【0009】
上述したように、従来の装置1の機能部10のソフトウェア更新が必要となった場合は、装置1を2回再起動することが必要となってしまう。ソフトウェア更新中や装置1の再起動処理実行中は、装置1が運用状態とはならず、結果的に運用中断時間が長くなってしまう、という問題がある。
【0010】
この問題を解消するための一例として、冗長構成の機能部におけるN系およびE系がそれぞれ備えるフラッシュメモリのソフトウェアを、装置の運用中に更新する、ことを提案しているものがある(例えば、特許文献1参照。)。
【0011】
上述した特許文献1「プログラム更新方法およびプログラム更新方式」には、以下のような方式が記載されている。
【0012】
すなわち、プログラム管理部(図6の監視制御部30に相当)が制御プログラムの更新を検出した場合に、制御部2(図6のN系100に相当)と制御部3(図6のE系110に相当)に制御プログラムのダウンロードを行う。制御部2、3は、受信した制御プログラムをワークメモリを介してフラッシュメモリに格納する。そして、プログラム管理部は、予備系の制御部3に対してプログラム更新指示を出す。更新指示を受信した制御部3は、フラッシュメモリ内の制御プログラムをプログラム動作用メモリに展開し、展開した制御プログラムを実行する。このようにして、制御部3が更新したい制御プログラムに置き換わると、プログラム管理部は予備系の制御部3に対して現用系への切替指示を、現用系の制御部2に対して予備系への切替指示をそれぞれ出す。そして、予備系となった制御部2に対してもプログラム管理部が更新指示を出す。このようにして制御部2、3を、更新したい制御プログラムに置き換える。このことにより、システム全体を一旦停止することなく、制御プログラムを更新することができるようになる、としている。
【0013】
【特許文献1】特開2002−342102号公報(第3−6頁、図1−4)
【発明の開示】
【発明が解決しようとする課題】
【0014】
上述した特許文献1に記載の従来のプログラム更新方式は、それぞれの制御部内に、制御プログラムを一旦格納するフラッシュメモリと、フラッシュメモリ内の制御プログラムを展開して実行させるプログラム動作用メモリとが必要である。また、制御プログラムをフラッシュメモリに格納する時のワークメモリも必要である。従って、多くのメモリが必要であり、装置コストの上昇を招いてしまう、という問題を有している。
【0015】
また、ダウンロードされる制御プログラムをフラッシュメモリに書き込むために、各制御部のCPU(Central Processing Unit:中央処理装置)を使用せざるを得ず、従って、CPU負荷上昇を招き、冗長構成の各制御部の処理能力低下を招いてしまう、という問題を有している。
【0016】
さらに、ダウンロードした制御プログラムに不具合があった場合に対応しておらず、制御プログラムの不具合が装置全体の障害発生となり、装置の運用に影響を及ぼしてしまう場合があり得る、という問題を有している。
【0017】
本発明は、上述した事情を改善するために成されたものである。従って本発明の目的は、冗長構成の機能部を備える装置において、以下を実現するソフトウェア更新システム、更新方法、及び、プログラム、を提供することにある。すなわち、機能部内のメモリを、ソフトウェア動作用のメモリだけの必要最低限の容量に減少させると共に、機能部のソフトウェア更新に要する運用中断時間を短縮する。そして、運用中断後速やかに更新後のソフトウェアによって装置運用の再開を図る。
【課題を解決するための手段】
【0018】
本発明のソフトウェア更新システムは、ソフトウェア制御によって動作する複数の系により冗長構成される機能部と、前記機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、前記機能部および前記ソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備えるソフトウェア更新システムであって、
前記監視制御部は、前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む制御を行うソフトウェア更新処理手段を備える、ことを特徴とする。
【0019】
また、前記監視制御部は、さらに、前記ソフトウェア更新処理手段が前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだことを示すソフトウェア更新履歴を記憶保持する不揮発性メモリを備える、ことを特徴とする。
【0020】
さらに、前記監視制御部は、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記ソフトウェア更新システムの再起動を行う、ことを特徴とする。
【0021】
また、前記監視制御部は、前記ソフトウェア更新システムの再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えて前記ソフトウェア更新システムの運用を行う、ことを特徴とする。
【0022】
さらに、前記監視制御部は、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えると共に、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を待機状態に切替え、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む、ことを特徴とする。
【0023】
また、前記監視制御部は、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記待機状態に切替えた系を待機状態のままリセットして再起動する、ことを特徴とする。
【0024】
さらに、前記監視制御部は、前記ソフトウェア更新システムの再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えることができない場合、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を運用状態として前記ソフトウェア更新システムの運用を行う、ことを特徴とする。
【0025】
本発明のソフトウェア更新方法は、ソフトウェア制御によって動作する複数の系により冗長構成される機能部と、前記機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、前記機能部および前記ソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備える装置におけるソフトウェア更新方法であって、
前記監視制御部は、前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む、ことを特徴とする。
【0026】
また、前記監視制御部は、さらに、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだことを示すソフトウェア更新履歴を不揮発性メモリに記憶保持する、ことを特徴とする。
【0027】
さらに、前記監視制御部は、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記装置の再起動を行う、ことを特徴とする。
【0028】
また、前記監視制御部は、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えて前記装置の運用を行う、ことを特徴とする。
【0029】
さらに、前記監視制御部は、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えると共に、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を待機状態に切替え、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む、ことを特徴とする。
【0030】
また、前記監視制御部は、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記待機状態に切替えた系を待機状態のままリセットして再起動する、ことを特徴とする。
【0031】
さらに、前記監視制御部は、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えることができない場合、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を運用状態として前記装置の運用を行う、ことを特徴とする。
【0032】
本発明のプログラムは、ソフトウェア制御によって動作する複数の系により冗長構成される機能部と、前記機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、前記機能部および前記ソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備える装置の前記監視制御部のコンピュータに、
前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む処理を実行させる、ことを特徴とする。
【0033】
また、前記プログラムは、さらに、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだことを示すソフトウェア更新履歴を不揮発性メモリに記憶保持する処理を実行させる、ことを特徴とする。
【0034】
さらに、前記プログラムは、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記装置の再起動を行う処理を実行させる、ことを特徴とする。
【0035】
また、前記プログラムは、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えて前記装置の運用を行う処理を実行させる、ことを特徴とする。
【0036】
さらに、前記プログラムは、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えると共に、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を待機状態に切替え、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む処理を実行させる、ことを特徴とする。
【0037】
また、前記プログラムは、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記待機状態に切替えた系を待機状態のままリセットして再起動する処理を実行させる、ことを特徴とする。
【0038】
さらに、前記プログラムは、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えることができない場合、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を運用状態として前記装置の運用を行う処理を実行させる、ことを特徴とする。
【発明の効果】
【0039】
本発明のソフトウェア更新システムは、2つの系により冗長構成される機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに、ソフトウェア保存部に記憶保持されているソフトウェアを書き込む制御を行うようになっている。
【0040】
従って、待機状態となっている系の動作用メモリのソフトウェアを、装置の運用中に書き換えることができ、ソフトウェア更新による装置の運用中断時間を短縮できる。
【発明を実施するための最良の形態】
【0041】
次に、本発明の実施の形態について図面を参照して説明する。
【0042】
図1は、本発明のソフトウェア更新システムの一実施形態を示すブロック図である。
【0043】
図1に示す本実施の形態の装置1は、冗長構成を備えた機能部10と、ソフトウェア保存部20と、監視制御部30を備えている。
【0044】
機能部10は、ソフトウェア制御によって動作する情報処理装置であるところの、N系100およびE系110を有している。そして、通常運用時は、N系100を運用状態の運用系とし、E系110を待機状態の待機系として、装置1の運用を行っている。運用系(N系100)に障害が発生した場合には、直ちに待機系(E系110)を運用状態に切替えることにより、装置1の運用を中断することなく運用継続が可能となっている。
【0045】
なお、N系100は、装置1の通常運用時に運用系として動作する系であり、Normal(常態)の意味のNを用いて名付けた系である。また、E系110は、装置1の通常運用時に待機系として動作する系であり、Emergency(非常時)の意味のEを用いて名付けた系である。すなわち、N系100が障害状態となった場合に、E系110が運用状態に切替えられて装置1の運用が継続できるようになっている。
【0046】
N系100は、CPU(Central Processing Unit:中央処理装置)102とROM(Read Only Memory:ロム)101を具備している。E系110も同様に、CPU112とROM111を具備している。
【0047】
ROM101、ROM111は共にフラッシュメモリ(Flash Memory)であり、データの消去や書き込みを自由に行なうことができ、電源を切っても内容が消えないメモリである。ROM101、ROM111には、機能部10を動作させるためのソフトウェアが記憶・保存されている。そして、装置1の起動時には、N系100のCPU102は、ROM101に保存されているソフトウェアを読み込み、E系110のCPU112は、ROM111に保存されているソフトウェアを読み込み、それぞれ起動し、動作するようになっている。
【0048】
ソフトウェア保存部20は、装置1を運用するためのソフトウェアが記憶・保存されている記憶装置であり、装置1は、ソフトウェア保存部20に保存されているソフトウェアを使用して運用を行っている。
【0049】
バージョンアップ等の理由により、装置1のソフトウェアの更新が必要となった場合には、ソフトウェア保存部20に更新したいソフトウェアを保存する。このとき、前記ROM101、ROM111には、更新前の旧バージョンのソフトウェアが保存されているため、本発明のソフトウェア更新方法によって、ROM101及びROM111の書き換えを実施することが必要となる。
【0050】
監視制御部30は、CPU302と不揮発性メモリ300を具備しており、CPU302によって、装置1全体と共に、機能部10が備えるN系100、E系110、およびソフトウェア保存部20の動作や状態の監視制御を行う。また、ソフトウェア保存部20や、ROM101、ROM111に記憶・保存されているソフトウェアのバージョン管理も行う。さらに、監視制御部30は、不揮発性メモリ300内に、機能部10のソフトウェア更新履歴を保存するようになっている。不揮発性メモリ300はフラッシュメモリであり、データの消去や書き込みを自由に行なうことができ、電源を切っても内容が消えないメモリである。
【0051】
次に、図2を参照して、本実施形態の動作について詳細に説明する。
【0052】
図2は、本実施形態のソフトウェア更新動作を説明するシーケンスチャートである。なお、以降の説明の容易化のため、冗長構成の機能部10は、N系100が運用状態の運用系、E系110が待機状態の待機系、になっているものとして説明を行うものとする。
【0053】
図1に示した装置1のソフトウェア更新を行う際には、ソフトウェア保存部20に、更新したいソフトウェア(以降、新ソフトウェアと称することとする。)が保存されているものとする(図2のステップS1)。
【0054】
そして、装置1のソフトウェア更新を行う際、監視制御部30は、ソフトウェア保存部20に保存されている新ソフトウェアのバージョンを取得する(ステップS2)。また、N系100のROM101に格納されているソフトウェアのバージョンを取得する(ステップS3)。同様に、E系110のROM111に格納されているソフトウェアのバージョンも取得する(ステップS4)。
【0055】
先ず、ROM101及びROM111のソフトウェアのバージョンが同一であった場合について、以下の説明を行う。
【0056】
監視制御部30は、ステップS2で取得した新ソフトウェアのバージョンと、ステップS3、S4で取得したROM101およびROM111のソフトウェアのバージョンとを比較する(ステップS5)。
【0057】
ここで、ソフトウェア保存部20の新ソフトウェアのバージョンと、ROM101およびROM111のソフトウェアのバージョンとが一致していれば(ステップS5で一致)、ステップS6へ進む。すなわち、監視制御部30は、ソフトウェア更新は不要と判断し、そのまま装置1の運用を行う(ステップS6)。
【0058】
一方、ソフトウェア保存部20の新ソフトウェアのバージョンと、ROM101およびROM111のソフトウェアのバージョンとが一致していなければ(ステップS5で不一致)、以下を行うことが必要である。すなわち、ソフトウェア保存部20の新ソフトウェアを、ROM101およびROM111に書き込むことによって、ROM101およびROM111の記憶内容を更新することである。
【0059】
監視制御部30は、先ず、待機状態にあるE系110に対し、ソフトウェア更新要求を送出し(ステップS7)、E系110のROM111に、ソフトウェア保存部20の新ソフトウェアを書き込むよう指示する。
【0060】
ソフトウェア更新要求を受信したE系110は、ソフトウェア保存部20の新ソフトウェアをダウンロードしてROM111に書き込む(ステップS8)。このときN系100は運用状態のまま装置1の運用を継続している。E系110は新ソフトウェアの書き込みが完了すると、監視制御部30に対し、ソフトウェア更新完了を通知する(ステップS9)。
【0061】
ソフトウェア更新完了を受信した監視制御部30は、E系110がソフトウェア更新を行った旨の履歴を、不揮発性メモリ300に記憶させ保存する(ステップS10)。その後、装置1の再起動を行う(ステップS11)。
【0062】
そして、監視制御部30が起動すると、監視制御部30は、不揮発性メモリ300に保存されているソフトウェア更新履歴を読み出し、E系110のソフトウェア更新が行われていることを確認し認識する(ステップS12)。すなわち、E系110は新ソフトウェアで起動していることが認識できる。
【0063】
そこで、監視制御部30は、E系110を運用状態に切替えて(ステップS13)、E系110を使用し装置1の運用を開始する(ステップS13−1)。このとき同時にN系100は待機状態に切替えられる。
【0064】
N系100のソフトウェア更新は未完了であるため、監視制御部30は、待機状態に切替えられたN系100に対し、ソフトウェア更新要求を送出し(ステップS14)、N系100のROM101に、ソフトウェア保存部20の新ソフトウェアを書き込むよう指示する。
【0065】
ソフトウェア更新要求を受信したN系100は、ソフトウェア保存部20の新ソフトウェアをダウンロードしてROM101に書き込む(ステップS15)。新ソフトウェアの書き込みが完了すると、監視制御部30に対し、ソフトウェア更新完了を通知する(ステップS16)。
【0066】
N系100のソフトウェア更新完了を受信した監視制御部30は、N系100に対してリセット要求を行い(ステップS17)、N系100のリセットを指示する。N系100は自らをリセットし、待機状態のままで起動する(ステップS18)。
【0067】
その後、監視制御部30は、不揮発性メモリ300に記憶されていた、ソフトウェアの更新履歴を消去する(ステップS19)。
【0068】
ここで、装置1は、E系110が運用系として起動しており、N系100は待機系として起動していることとなる。
【0069】
ここで、本実施形態の動作説明を、ステップS5に戻し、ROM101とROM111のソフトウェアのバージョンが異なっていた場合の動作について説明する。
【0070】
ステップS5において、監視制御部30は、ステップS2で取得した新ソフトウェアのバージョンと、ステップS3、S4で取得したROM101およびROM111のソフトウェアのバージョンとを比較した(ステップS5)。
【0071】
ここで、N系100のROM101のソフトウェアだけが、ソフトウェア保存部20の新ソフトウェアのバージョンと一致していなければ、待機状態となっていたE系110を運用状態に切替え、E系110を使用して装置1の運用を開始する。ここで、N系100は待機状態に切替える。
【0072】
また、E系110のROM111のソフトウェアだけが、ソフトウェア保存部20の新ソフトウェアのバージョンと一致していなければ、N系100をそのまま運用状態として、装置1の運用を継続する。ここで、E系110は待機状態のままである。
【0073】
そして、待機状態の系(N系100、或いは、E系110)に対し、図2で上述したステップS14以降の処理を実行させる。すなわち、待機状態の系に対し、監視制御部30は、ソフトウェア更新要求を送出する(ステップS14)。ソフトウェア更新要求を受信した待機状態の系は、ソフトウェア保存部20の新ソフトウェアをダウンロードして自らのROM(ROM101、或いは、ROM111)に書き込む(ステップS15)。新ソフトウェアの書き込みが完了すると、監視制御部30に対し、ソフトウェア更新完了を通知する(ステップS16)。待機状態の系のソフトウェア更新完了を受信した監視制御部30は、待機状態の系に対してリセット要求を行う(ステップS17)。待機状態の系は自らをリセットし、待機状態のままで起動する(ステップS18)。
【0074】
このようにすることにより、ステップS5において、ROM101とROM111のソフトウェアのバージョンが異なっていた場合においても、図2で述べた本実施形態の動作をそのまま適用することが可能である。
【0075】
次に、図3を参照して、図2で述べた本実施形態の動作について、フローチャートの形に変えて再度説明を行う。
【0076】
図3は、本実施形態のソフトウェア更新動作を説明するフローチャートである。なお、図2におけると同様に、冗長構成の機能部10は、N系100が運用状態の運用系、E系110が待機状態の待機系、になっているものとして説明を行う。
【0077】
図1に示した装置1のソフトウェア更新を行う際には、ソフトウェア保存部20に、更新したいソフトウェア(新ソフトウェア)が保存されているものとする。そして、装置1のソフトウェア更新を行う際、監視制御部30は、ソフトウェア保存部20に保存されている新ソフトウェアのバージョンを取得する。また、N系100のROM101に格納されているソフトウェアのバージョンと、E系110のROM111に格納されているソフトウェアのバージョンを取得する(図3のステップF1)。
【0078】
以下、ROM101及びROM111のソフトウェアのバージョンが同一であった場合についてだけ、説明を行う。ROM101及びROM111のソフトウェアのバージョンが異なっている場合の動作は、図2で述べた動作と同一であるため、その説明は省略するものとする。
【0079】
監視制御部30は、ソフトウェア保存部20に保存されている新ソフトウェアのバージョンと、ROM101およびROM111に格納されているソフトウェアのバージョンとを比較する(ステップF2)。
【0080】
ここで、ソフトウェア保存部20に保存されている新ソフトウェアのバージョンと、ROM101およびROM111に格納されているソフトウェアのバージョンとが一致していれば(ステップF2で一致)、ステップF3に進む。すなわち、監視制御部30は、ソフトウェア更新は不要と判断し(ステップF3)、ソフトウェア更新処理を終了する。
【0081】
一方、ソフトウェア保存部20に保存されている新ソフトウェアのバージョンと、ROM101およびROM111に格納されているソフトウェアのバージョンとが一致していなければ(ステップF2で不一致)、ステップF4に進む。すなわち、ソフトウェア保存部20の新ソフトウェアを、ROM101およびROM111に書き込む必要がある。このため、先ず、新ソフトウェアを待機状態となっているE系110のROM111に書き込む(ステップF4)。
【0082】
そして、監視制御部30は、待機状態にあるE系110がソフトウェア更新を行った履歴を不揮発性メモリ300に記憶させ保存する(ステップF5)。
【0083】
その後、装置1の再起動を行う(ステップF6)。
【0084】
そして、監視制御部30が起動すると、監視制御部30は不揮発性メモリ300に保存されているソフトウェア更新履歴を読み出し(ステップF7)、E系110のソフトウェア更新が行われているかどうかを確認する(ステップF8)。
【0085】
ステップF8において、E系110のソフトウェア更新が行われていなければ(ステップF8でNo)、監視制御部30が、ソフトウェア更新は不要と判断していることを認識できるため、そのまま装置1の運用を開始する(ステップF9)。そして、監視制御部30のソフトウェア更新処理を終了する。
【0086】
ステップF8において、E系110のソフトウェア更新が行われていれば(ステップF8でYes)、E系110は新ソフトウェアで起動していることを認識できるため、監視制御部30は、E系110を運用状態に切替えて装置1の運用を開始する(ステップF10)。このときN系100は、待機状態に切替える。
【0087】
ここで、N系100のソフトウェア更新は完了していないため、監視制御部30は、待機状態となったN系100のROM101に、ソフトウェア保存部20の新ソフトウェアを書き込む(ステップF11)。
【0088】
監視制御部30は、待機状態となっているN系100だけをリセットし、N系100は待機状態のままで起動する(ステップF12)。
【0089】
その後、監視制御部30は、不揮発性メモリ300に記憶されていたソフトウェアの更新履歴を消去する(ステップF13)。
【0090】
ここで、装置1は、図2で説明したと同様に、E系110が運用系として起動しており、N系100は待機系として起動していることとなる。
【0091】
以上説明したように、本実施形態においては、待機状態となっている系のROM(ソフトウェア動作用のメモリ)の記憶内容を、装置の運用中に書き換えることができる。従って、ソフトウェア更新による装置の運用中断時間を短縮できる、という効果を奏することができる。
【0092】
また、待機状態となっている系のROMの記憶内容を、装置の運用中に書き換えて、これを運用状態に切替え、かつ、運用状態となっていた系を待機状態に切替えてそのROMの記憶内容を書き換えるようにしている。従って、装置の再起動が一回で済む、という効果を奏することができる。
【0093】
なお、本実施形態においては、冗長構成の機能部を構成する各系(N系とE系)は、ソフトウェア動作用のメモリ(ROM)だけを備える構成となっている。従って、装置コストを低減させることができる、という効果を奏することができる。
【0094】
次に、図4、図5を参照して、本実施形態の第2の動作について説明する。
【0095】
本実施形態の第2の動作は、図2のステップS11で装置1の再起動を実施した後、新ソフトウェアをダウンロードした待機系(E系110)に障害が発生した場合の動作を説明するものである。
【0096】
図4は、本実施形態のソフトウェア更新動作を説明する第2のシーケンスチャートである。なお、図4において図2に示す構成要素に対応するものは同一の参照数字または符号を付し、その説明を省略するものとする。
【0097】
図4において、ステップS1からステップS12までの動作は、図2で述べた動作と同一であるため、その説明を省略する。但し、以下の説明においては、ステップS8で、E系110がソフトウェア保存部20からダウンロードした新ソフトウェアにバグが含まれている場合、或いは、何らかの要因で、E系110の新ソフトウェアへの更新が失敗していた場合、を想定している。
【0098】
図4のステップS11において、装置1の再起動を行うと、E系110はROM111に格納された新ソフトウェアを使用し起動しようとする。しかし、新ソフトウェアにバグがある、或いは、ソフトウェア更新が失敗しているため、E系110は正常に起動することができず、障害発生の状態となる(ステップS50)。従って、E系110を運用状態にすることは出来ない。
【0099】
まず、監視制御部30は、ステップS12で不揮発性メモリ300のソフトウェア更新履歴を読み出して、E系110のソフトウェア更新が行われていることを確認し認識する。しかし、E系110は障害発生の状態であり、E系110を運用状態にすることができないため、E系110に代えてN系100を運用状態に切替え(ステップS51)、N系100を使用し装置1の運用を開始する(ステップS51−1)。
【0100】
その後、監視制御部30は、不揮発性メモリ300に記憶・保存していたソフトウェア更新履歴を消去する(ステップS52)。
【0101】
ここで、装置1は、N系100が運用系となって起動していることとなる。
【0102】
次に、図5を参照して、図4で述べた本実施形態の第2の動作について、フローチャートの形に変えて再度説明を行う。
【0103】
図5は、本実施形態のソフトウェア更新動作を説明する第2のフローチャートである。なお、図5において図3に示す構成要素に対応するものは同一の参照数字または符号を付し、その説明を省略するものとする。
【0104】
図5において、ステップF1からステップF8までの動作は、図3で述べた動作と同一であるため、その説明を省略する。
【0105】
図5のステップF6において、装置1の再起動を行うと、E系110はROM111に格納された新ソフトウェアを使用し起動しようとするが、新ソフトウェアにバグがある、或いは、ソフトウェア更新が失敗しているため、E系110は正常に起動することができない。従って、E系110を運用状態にすることは出来ない。
【0106】
そこで、監視制御部30は、E系110に障害が発生しているかを判断する(ステップF50)。
【0107】
そして、E系110に障害が発生している場合には(ステップF50でYes)、E系110に代えてN系100を運用状態に切替え(ステップF51)、N系100を使用し装置1の運用を開始する(ステップF51−1)。
【0108】
その後、監視制御部30は、不揮発性メモリ300に記憶・保存していたソフトウェア更新履歴を消去する(ステップF52)。
【0109】
ここで、装置1は、N系100が運用系として起動していることとなる。
【0110】
なお、ステップF50の判断において、E系110に障害が発生していない場合には(ステップF50でNo)、図3におけると同様に動作する。すなわち、E系110を運用状態に切替え、E系110を使用し装置1の運用を開始する(ステップF10)。そして、待機状態となったN系100のソフトウェア更新を行い(ステップF11)、N系100をリセットして、待機状態のままで起動させる(ステップF12)。
【0111】
以上説明したように、本実施形態の第2の動作においては、ソフトウェア更新が終了した系(E系)に障害が発生した場合、ソフトウェア更新が終了していない他の系(N系)を運用状態に切替えるようにしている。従って、ソフトウェア更新の終了した系が障害となった場合であっても、ソフトウェア更新前の系を使用して装置運用を継続できる、という効果を奏することができる。
【図面の簡単な説明】
【0112】
【図1】本発明のソフトウェア更新システムの一実施形態を示すブロック図である。
【図2】本実施形態のソフトウェア更新動作を説明するシーケンスチャートである。
【図3】本実施形態のソフトウェア更新動作を説明するフローチャートである。
【図4】本実施形態のソフトウェア更新動作を説明する第2のシーケンスチャートである。
【図5】本実施形態のソフトウェア更新動作を説明する第2のフローチャートである。
【図6】従来の冗長構成の機能部を備える装置の一例を示すブロック図である。
【符号の説明】
【0113】
1 装置
10 機能部
100 N系
101 ROM
102 CPU
110 E系
111 ROM
112 CPU
20 ソフトウェア保存部
30 監視制御部
300 不揮発性メモリ
302 CPU

【特許請求の範囲】
【請求項1】
ソフトウェア制御によって動作する複数の系により冗長構成される機能部と、前記機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、前記機能部および前記ソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備えるソフトウェア更新システムであって、
前記監視制御部は、前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む制御を行うソフトウェア更新処理手段を備える、ことを特徴とするソフトウェア更新システム。
【請求項2】
前記監視制御部は、さらに、前記ソフトウェア更新処理手段が前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだことを示すソフトウェア更新履歴を記憶保持する不揮発性メモリを備える、ことを特徴とする請求項1に記載のソフトウェア更新システム。
【請求項3】
前記監視制御部は、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記ソフトウェア更新システムの再起動を行う、ことを特徴とする請求項2に記載のソフトウェア更新システム。
【請求項4】
前記監視制御部は、前記ソフトウェア更新システムの再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えて前記ソフトウェア更新システムの運用を行う、ことを特徴とする請求項3に記載のソフトウェア更新システム。
【請求項5】
前記監視制御部は、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えると共に、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を待機状態に切替え、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む、ことを特徴とする請求項4に記載のソフトウェア更新システム。
【請求項6】
前記監視制御部は、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記待機状態に切替えた系を待機状態のままリセットして再起動する、ことを特徴とする請求項5に記載のソフトウェア更新システム。
【請求項7】
前記監視制御部は、前記ソフトウェア更新システムの再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えることができない場合、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を運用状態として前記ソフトウェア更新システムの運用を行う、ことを特徴とする請求項3に記載のソフトウェア更新システム。
【請求項8】
ソフトウェア制御によって動作する複数の系により冗長構成される機能部と、前記機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、前記機能部および前記ソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備える装置におけるソフトウェア更新方法であって、
前記監視制御部は、前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む、ことを特徴とするソフトウェア更新方法。
【請求項9】
前記監視制御部は、さらに、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだことを示すソフトウェア更新履歴を不揮発性メモリに記憶保持する、ことを特徴とする請求項8に記載のソフトウェア更新方法。
【請求項10】
前記監視制御部は、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記装置の再起動を行う、ことを特徴とする請求項9に記載のソフトウェア更新方法。
【請求項11】
前記監視制御部は、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えて前記装置の運用を行う、ことを特徴とする請求項10に記載のソフトウェア更新方法。
【請求項12】
前記監視制御部は、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えると共に、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を待機状態に切替え、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む、ことを特徴とする請求項11に記載のソフトウェア更新方法。
【請求項13】
前記監視制御部は、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記待機状態に切替えた系を待機状態のままリセットして再起動する、ことを特徴とする請求項12に記載のソフトウェア更新方法。
【請求項14】
前記監視制御部は、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えることができない場合、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を運用状態として前記装置の運用を行う、ことを特徴とする請求項10に記載のソフトウェア更新方法。
【請求項15】
ソフトウェア制御によって動作する複数の系により冗長構成される機能部と、前記機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、前記機能部および前記ソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備える装置の前記監視制御部のコンピュータに、
前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む処理を実行させる、ことを特徴とするプログラム。
【請求項16】
前記プログラムは、さらに、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだことを示すソフトウェア更新履歴を不揮発性メモリに記憶保持する処理を実行させる、ことを特徴とする請求項15に記載のプログラム。
【請求項17】
前記プログラムは、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記装置の再起動を行う処理を実行させる、ことを特徴とする請求項16に記載のプログラム。
【請求項18】
前記プログラムは、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えて前記装置の運用を行う処理を実行させる、ことを特徴とする請求項17に記載のプログラム。
【請求項19】
前記プログラムは、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えると共に、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を待機状態に切替え、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む処理を実行させる、ことを特徴とする請求項18に記載のプログラム。
【請求項20】
前記プログラムは、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記待機状態に切替えた系を待機状態のままリセットして再起動する処理を実行させる、ことを特徴とする請求項19に記載のプログラム。
【請求項21】
前記プログラムは、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えることができない場合、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を運用状態として前記装置の運用を行う処理を実行させる、ことを特徴とする請求項17に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2007−87269(P2007−87269A)
【公開日】平成19年4月5日(2007.4.5)
【国際特許分類】
【出願番号】特願2005−277663(P2005−277663)
【出願日】平成17年9月26日(2005.9.26)
【出願人】(390010179)埼玉日本電気株式会社 (1,228)
【Fターム(参考)】