(57)【要約】【課題】冗長構成の機能部を備える装置において、機能部内のメモリを、ソフトウェア動作用のメモリだけの必要最低限の容量に減少させ、機能部のソフトウェア更新に要する運用中断時間を短縮し、速やかに更新後のソフトウェアによって装置運用の再開を図る。【解決手段】２つの系により冗長構成される機能部と、機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、機能部およびソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備える装置であって、前記監視制御部は、前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む制御を行うソフトウェア更新処理手段を備える。【選択図】      図１
2007087269.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア制御によって動作する複数の系により冗長構成される機能部と、前記機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、前記機能部および前記ソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備えるソフトウェア更新システムであって、
前記監視制御部は、前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む制御を行うソフトウェア更新処理手段を備える、ことを特徴とするソフトウェア更新システム。
【請求項２】
前記監視制御部は、さらに、前記ソフトウェア更新処理手段が前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだことを示すソフトウェア更新履歴を記憶保持する不揮発性メモリを備える、ことを特徴とする請求項１に記載のソフトウェア更新システム。
【請求項３】
前記監視制御部は、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記ソフトウェア更新システムの再起動を行う、ことを特徴とする請求項２に記載のソフトウェア更新システム。
【請求項４】
前記監視制御部は、前記ソフトウェア更新システムの再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えて前記ソフトウェア更新システムの運用を行う、ことを特徴とする請求項３に記載のソフトウェア更新システム。
【請求項５】
前記監視制御部は、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えると共に、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を待機状態に切替え、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む、ことを特徴とする請求項４に記載のソフトウェア更新システム。
【請求項６】
前記監視制御部は、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記待機状態に切替えた系を待機状態のままリセットして再起動する、ことを特徴とする請求項５に記載のソフトウェア更新システム。
【請求項７】
前記監視制御部は、前記ソフトウェア更新システムの再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えることができない場合、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を運用状態として前記ソフトウェア更新システムの運用を行う、ことを特徴とする請求項３に記載のソフトウェア更新システム。
【請求項８】
ソフトウェア制御によって動作する複数の系により冗長構成される機能部と、前記機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、前記機能部および前記ソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備える装置におけるソフトウェア更新方法であって、
前記監視制御部は、前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む、ことを特徴とするソフトウェア更新方法。
【請求項９】
前記監視制御部は、さらに、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだことを示すソフトウェア更新履歴を不揮発性メモリに記憶保持する、ことを特徴とする請求項８に記載のソフトウェア更新方法。
【請求項１０】
前記監視制御部は、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記装置の再起動を行う、ことを特徴とする請求項９に記載のソフトウェア更新方法。
【請求項１１】
前記監視制御部は、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えて前記装置の運用を行う、ことを特徴とする請求項１０に記載のソフトウェア更新方法。
【請求項１２】
前記監視制御部は、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えると共に、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を待機状態に切替え、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む、ことを特徴とする請求項１１に記載のソフトウェア更新方法。
【請求項１３】
前記監視制御部は、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記待機状態に切替えた系を待機状態のままリセットして再起動する、ことを特徴とする請求項１２に記載のソフトウェア更新方法。
【請求項１４】
前記監視制御部は、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えることができない場合、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を運用状態として前記装置の運用を行う、ことを特徴とする請求項１０に記載のソフトウェア更新方法。
【請求項１５】
ソフトウェア制御によって動作する複数の系により冗長構成される機能部と、前記機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、前記機能部および前記ソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備える装置の前記監視制御部のコンピュータに、
前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む処理を実行させる、ことを特徴とするプログラム。
【請求項１６】
前記プログラムは、さらに、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだことを示すソフトウェア更新履歴を不揮発性メモリに記憶保持する処理を実行させる、ことを特徴とする請求項１５に記載のプログラム。
【請求項１７】
前記プログラムは、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記装置の再起動を行う処理を実行させる、ことを特徴とする請求項１６に記載のプログラム。
【請求項１８】
前記プログラムは、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えて前記装置の運用を行う処理を実行させる、ことを特徴とする請求項１７に記載のプログラム。
【請求項１９】
前記プログラムは、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えると共に、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を待機状態に切替え、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む処理を実行させる、ことを特徴とする請求項１８に記載のプログラム。
【請求項２０】
前記プログラムは、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記待機状態に切替えた系を待機状態のままリセットして再起動する処理を実行させる、ことを特徴とする請求項１９に記載のプログラム。
【請求項２１】
前記プログラムは、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えることができない場合、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を運用状態として前記装置の運用を行う処理を実行させる、ことを特徴とする請求項１７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア更新システム、更新方法、及び、プログラムに関し、特に、冗長構成の機能部を備える装置において、機能部のソフトウェア更新に要する運用中断時間を短縮し、運用中断後速やかに更新後のソフトウェアによって装置運用の再開を図ることを可能とする、ソフトウェア更新システム、更新方法、及び、プログラムに関する。
【背景技術】
【０００２】
本発明に関する装置の従来例について、図６を参照して説明する。
【０００３】
図６において、装置１は、ソフトウェア制御によって動作するＮ系１００とＥ系１１０とで構成される機能部１０を備えている。また、機能部１０にダウンロードすべきソフトウェアを保存するソフトウェア保存部２０と、装置１全体の動作の監視・制御を行う監視制御部３０を備えている。機能部１０のＮ系１００とＥ系１１０は所謂冗長構成をとっており、何れか一方が運用系となり、他方が待機系となって、装置１が運用されるようになっている。
【０００４】
ソフトウェアのバージョンアップ等の理由により、機能部１０におけるソフトウェアの更新が必要となった場合、まず、ソフトウェア保存部２０に、更新するソフトウェアを保存し、装置１を再起動する。
【０００５】
装置１を再起動したとき、冗長構成の機能部１０のＮ系１００およびＥ系１１０は、それぞれが備えているフラッシュメモリ（ＲＯＭ１０１、ＲＯＭ１１１）に書き込まれているソフトウェアを読み出して起動する。
【０００６】
その後、ソフトウェア保存部２０に保存されているソフトウェアと、機能部１０におけるＮ系１００およびＥ系１１０がそれぞれ備えているフラッシュメモリ（ＲＯＭ１０１、ＲＯＭ１１１）に書き込まれているソフトウェアのバージョンを比較する。
【０００７】
比較した両ソフトウェアのバージョンが一致している場合は、ソフトウェア更新が不要であるため、装置１はそのまま運用を開始する。
【０００８】
比較した両ソフトウェアのバージョンが不一致の場合、機能部１０のソフトウェアの更新が必要となるため、ソフトウェア保存部２０に保存されているソフトウェアを、機能部１０のＮ系１００およびＥ系１１０がそれぞれ備えているフラッシュメモリ（ＲＯＭ１０１、ＲＯＭ１１１）に書き込む。その後、書き込み後のソフトウェアにて起動する必要があるため、装置１をもう一度再起動する。
【０００９】
上述したように、従来の装置１の機能部１０のソフトウェア更新が必要となった場合は、装置１を２回再起動することが必要となってしまう。ソフトウェア更新中や装置１の再起動処理実行中は、装置１が運用状態とはならず、結果的に運用中断時間が長くなってしまう、という問題がある。
【００１０】
この問題を解消するための一例として、冗長構成の機能部におけるＮ系およびＥ系がそれぞれ備えるフラッシュメモリのソフトウェアを、装置の運用中に更新する、ことを提案しているものがある（例えば、特許文献１参照。）。
【００１１】
上述した特許文献１「プログラム更新方法およびプログラム更新方式」には、以下のような方式が記載されている。
【００１２】
すなわち、プログラム管理部（図６の監視制御部３０に相当）が制御プログラムの更新を検出した場合に、制御部２（図６のＮ系１００に相当）と制御部３（図６のＥ系１１０に相当）に制御プログラムのダウンロードを行う。制御部２、３は、受信した制御プログラムをワークメモリを介してフラッシュメモリに格納する。そして、プログラム管理部は、予備系の制御部３に対してプログラム更新指示を出す。更新指示を受信した制御部３は、フラッシュメモリ内の制御プログラムをプログラム動作用メモリに展開し、展開した制御プログラムを実行する。このようにして、制御部３が更新したい制御プログラムに置き換わると、プログラム管理部は予備系の制御部３に対して現用系への切替指示を、現用系の制御部２に対して予備系への切替指示をそれぞれ出す。そして、予備系となった制御部２に対してもプログラム管理部が更新指示を出す。このようにして制御部２、３を、更新したい制御プログラムに置き換える。このことにより、システム全体を一旦停止することなく、制御プログラムを更新することができるようになる、としている。
【００１３】
【特許文献１】特開２００２−３４２１０２号公報（第３−６頁、図１−４）
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上述した特許文献１に記載の従来のプログラム更新方式は、それぞれの制御部内に、制御プログラムを一旦格納するフラッシュメモリと、フラッシュメモリ内の制御プログラムを展開して実行させるプログラム動作用メモリとが必要である。また、制御プログラムをフラッシュメモリに格納する時のワークメモリも必要である。従って、多くのメモリが必要であり、装置コストの上昇を招いてしまう、という問題を有している。
【００１５】
また、ダウンロードされる制御プログラムをフラッシュメモリに書き込むために、各制御部のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）を使用せざるを得ず、従って、ＣＰＵ負荷上昇を招き、冗長構成の各制御部の処理能力低下を招いてしまう、という問題を有している。
【００１６】
さらに、ダウンロードした制御プログラムに不具合があった場合に対応しておらず、制御プログラムの不具合が装置全体の障害発生となり、装置の運用に影響を及ぼしてしまう場合があり得る、という問題を有している。
【００１７】
本発明は、上述した事情を改善するために成されたものである。従って本発明の目的は、冗長構成の機能部を備える装置において、以下を実現するソフトウェア更新システム、更新方法、及び、プログラム、を提供することにある。すなわち、機能部内のメモリを、ソフトウェア動作用のメモリだけの必要最低限の容量に減少させると共に、機能部のソフトウェア更新に要する運用中断時間を短縮する。そして、運用中断後速やかに更新後のソフトウェアによって装置運用の再開を図る。
【課題を解決するための手段】
【００１８】
本発明のソフトウェア更新システムは、ソフトウェア制御によって動作する複数の系により冗長構成される機能部と、前記機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、前記機能部および前記ソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備えるソフトウェア更新システムであって、
前記監視制御部は、前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む制御を行うソフトウェア更新処理手段を備える、ことを特徴とする。
【００１９】
また、前記監視制御部は、さらに、前記ソフトウェア更新処理手段が前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだことを示すソフトウェア更新履歴を記憶保持する不揮発性メモリを備える、ことを特徴とする。
【００２０】
さらに、前記監視制御部は、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記ソフトウェア更新システムの再起動を行う、ことを特徴とする。
【００２１】
また、前記監視制御部は、前記ソフトウェア更新システムの再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えて前記ソフトウェア更新システムの運用を行う、ことを特徴とする。
【００２２】
さらに、前記監視制御部は、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えると共に、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を待機状態に切替え、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む、ことを特徴とする。
【００２３】
また、前記監視制御部は、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記待機状態に切替えた系を待機状態のままリセットして再起動する、ことを特徴とする。
【００２４】
さらに、前記監視制御部は、前記ソフトウェア更新システムの再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えることができない場合、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を運用状態として前記ソフトウェア更新システムの運用を行う、ことを特徴とする。
【００２５】
本発明のソフトウェア更新方法は、ソフトウェア制御によって動作する複数の系により冗長構成される機能部と、前記機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、前記機能部および前記ソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備える装置におけるソフトウェア更新方法であって、
前記監視制御部は、前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む、ことを特徴とする。
【００２６】
また、前記監視制御部は、さらに、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだことを示すソフトウェア更新履歴を不揮発性メモリに記憶保持する、ことを特徴とする。
【００２７】
さらに、前記監視制御部は、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記装置の再起動を行う、ことを特徴とする。
【００２８】
また、前記監視制御部は、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えて前記装置の運用を行う、ことを特徴とする。
【００２９】
さらに、前記監視制御部は、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えると共に、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を待機状態に切替え、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む、ことを特徴とする。
【００３０】
また、前記監視制御部は、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記待機状態に切替えた系を待機状態のままリセットして再起動する、ことを特徴とする。
【００３１】
さらに、前記監視制御部は、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えることができない場合、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を運用状態として前記装置の運用を行う、ことを特徴とする。
【００３２】
本発明のプログラムは、ソフトウェア制御によって動作する複数の系により冗長構成される機能部と、前記機能部の動作制御を行うソフトウェアを記憶保持するソフトウェア保存部と、前記機能部および前記ソフトウェア保存部の動作制御および状態管理を行う監視制御部と、を備える装置の前記監視制御部のコンピュータに、
前記機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む処理を実行させる、ことを特徴とする。
【００３３】
また、前記プログラムは、さらに、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだことを示すソフトウェア更新履歴を不揮発性メモリに記憶保持する処理を実行させる、ことを特徴とする。
【００３４】
さらに、前記プログラムは、前記待機状態となっている系の動作用メモリに前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記装置の再起動を行う処理を実行させる、ことを特徴とする。
【００３５】
また、前記プログラムは、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えて前記装置の運用を行う処理を実行させる、ことを特徴とする。
【００３６】
さらに、前記プログラムは、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えると共に、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を待機状態に切替え、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込む処理を実行させる、ことを特徴とする。
【００３７】
また、前記プログラムは、前記待機状態に切替えた系の動作用メモリに、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ後、前記待機状態に切替えた系を待機状態のままリセットして再起動する処理を実行させる、ことを特徴とする。
【００３８】
さらに、前記プログラムは、前記装置の再起動を行った後、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んだ系を運用状態に切替えることができない場合、前記ソフトウェア保存部に記憶保持されているソフトウェアを書き込んでいない系を運用状態として前記装置の運用を行う処理を実行させる、ことを特徴とする。
【発明の効果】
【００３９】
本発明のソフトウェア更新システムは、２つの系により冗長構成される機能部が実行するソフトウェアの更新を行う必要があると認識したとき、待機状態となっている系の動作用メモリに、ソフトウェア保存部に記憶保持されているソフトウェアを書き込む制御を行うようになっている。
【００４０】
従って、待機状態となっている系の動作用メモリのソフトウェアを、装置の運用中に書き換えることができ、ソフトウェア更新による装置の運用中断時間を短縮できる。
【発明を実施するための最良の形態】
【００４１】
次に、本発明の実施の形態について図面を参照して説明する。
【００４２】
図１は、本発明のソフトウェア更新システムの一実施形態を示すブロック図である。
【００４３】
図１に示す本実施の形態の装置１は、冗長構成を備えた機能部１０と、ソフトウェア保存部２０と、監視制御部３０を備えている。
【００４４】
機能部１０は、ソフトウェア制御によって動作する情報処理装置であるところの、Ｎ系１００およびＥ系１１０を有している。そして、通常運用時は、Ｎ系１００を運用状態の運用系とし、Ｅ系１１０を待機状態の待機系として、装置１の運用を行っている。運用系（Ｎ系１００）に障害が発生した場合には、直ちに待機系（Ｅ系１１０）を運用状態に切替えることにより、装置１の運用を中断することなく運用継続が可能となっている。
【００４５】
なお、Ｎ系１００は、装置１の通常運用時に運用系として動作する系であり、Ｎｏｒｍａｌ（常態）の意味のＮを用いて名付けた系である。また、Ｅ系１１０は、装置１の通常運用時に待機系として動作する系であり、Ｅｍｅｒｇｅｎｃｙ（非常時）の意味のＥを用いて名付けた系である。すなわち、Ｎ系１００が障害状態となった場合に、Ｅ系１１０が運用状態に切替えられて装置１の運用が継続できるようになっている。
【００４６】
Ｎ系１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）１０２とＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：ロム）１０１を具備している。Ｅ系１１０も同様に、ＣＰＵ１１２とＲＯＭ１１１を具備している。
【００４７】
ＲＯＭ１０１、ＲＯＭ１１１は共にフラッシュメモリ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）であり、データの消去や書き込みを自由に行なうことができ、電源を切っても内容が消えないメモリである。ＲＯＭ１０１、ＲＯＭ１１１には、機能部１０を動作させるためのソフトウェアが記憶・保存されている。そして、装置１の起動時には、Ｎ系１００のＣＰＵ１０２は、ＲＯＭ１０１に保存されているソフトウェアを読み込み、Ｅ系１１０のＣＰＵ１１２は、ＲＯＭ１１１に保存されているソフトウェアを読み込み、それぞれ起動し、動作するようになっている。
【００４８】
ソフトウェア保存部２０は、装置１を運用するためのソフトウェアが記憶・保存されている記憶装置であり、装置１は、ソフトウェア保存部２０に保存されているソフトウェアを使用して運用を行っている。
【００４９】
バージョンアップ等の理由により、装置１のソフトウェアの更新が必要となった場合には、ソフトウェア保存部２０に更新したいソフトウェアを保存する。このとき、前記ＲＯＭ１０１、ＲＯＭ１１１には、更新前の旧バージョンのソフトウェアが保存されているため、本発明のソフトウェア更新方法によって、ＲＯＭ１０１及びＲＯＭ１１１の書き換えを実施することが必要となる。
【００５０】
監視制御部３０は、ＣＰＵ３０２と不揮発性メモリ３００を具備しており、ＣＰＵ３０２によって、装置１全体と共に、機能部１０が備えるＮ系１００、Ｅ系１１０、およびソフトウェア保存部２０の動作や状態の監視制御を行う。また、ソフトウェア保存部２０や、ＲＯＭ１０１、ＲＯＭ１１１に記憶・保存されているソフトウェアのバージョン管理も行う。さらに、監視制御部３０は、不揮発性メモリ３００内に、機能部１０のソフトウェア更新履歴を保存するようになっている。不揮発性メモリ３００はフラッシュメモリであり、データの消去や書き込みを自由に行なうことができ、電源を切っても内容が消えないメモリである。
【００５１】
次に、図２を参照して、本実施形態の動作について詳細に説明する。
【００５２】
図２は、本実施形態のソフトウェア更新動作を説明するシーケンスチャートである。なお、以降の説明の容易化のため、冗長構成の機能部１０は、Ｎ系１００が運用状態の運用系、Ｅ系１１０が待機状態の待機系、になっているものとして説明を行うものとする。
【００５３】
図１に示した装置１のソフトウェア更新を行う際には、ソフトウェア保存部２０に、更新したいソフトウェア（以降、新ソフトウェアと称することとする。）が保存されているものとする（図２のステップＳ１）。
【００５４】
そして、装置１のソフトウェア更新を行う際、監視制御部３０は、ソフトウェア保存部２０に保存されている新ソフトウェアのバージョンを取得する（ステップＳ２）。また、Ｎ系１００のＲＯＭ１０１に格納されているソフトウェアのバージョンを取得する（ステップＳ３）。同様に、Ｅ系１１０のＲＯＭ１１１に格納されているソフトウェアのバージョンも取得する（ステップＳ４）。
【００５５】
先ず、ＲＯＭ１０１及びＲＯＭ１１１のソフトウェアのバージョンが同一であった場合について、以下の説明を行う。
【００５６】
監視制御部３０は、ステップＳ２で取得した新ソフトウェアのバージョンと、ステップＳ３、Ｓ４で取得したＲＯＭ１０１およびＲＯＭ１１１のソフトウェアのバージョンとを比較する（ステップＳ５）。
【００５７】
ここで、ソフトウェア保存部２０の新ソフトウェアのバージョンと、ＲＯＭ１０１およびＲＯＭ１１１のソフトウェアのバージョンとが一致していれば（ステップＳ５で一致）、ステップＳ６へ進む。すなわち、監視制御部３０は、ソフトウェア更新は不要と判断し、そのまま装置１の運用を行う（ステップＳ６）。
【００５８】
一方、ソフトウェア保存部２０の新ソフトウェアのバージョンと、ＲＯＭ１０１およびＲＯＭ１１１のソフトウェアのバージョンとが一致していなければ（ステップＳ５で不一致）、以下を行うことが必要である。すなわち、ソフトウェア保存部２０の新ソフトウェアを、ＲＯＭ１０１およびＲＯＭ１１１に書き込むことによって、ＲＯＭ１０１およびＲＯＭ１１１の記憶内容を更新することである。
【００５９】
監視制御部３０は、先ず、待機状態にあるＥ系１１０に対し、ソフトウェア更新要求を送出し（ステップＳ７）、Ｅ系１１０のＲＯＭ１１１に、ソフトウェア保存部２０の新ソフトウェアを書き込むよう指示する。
【００６０】
ソフトウェア更新要求を受信したＥ系１１０は、ソフトウェア保存部２０の新ソフトウェアをダウンロードしてＲＯＭ１１１に書き込む（ステップＳ８）。このときＮ系１００は運用状態のまま装置１の運用を継続している。Ｅ系１１０は新ソフトウェアの書き込みが完了すると、監視制御部３０に対し、ソフトウェア更新完了を通知する（ステップＳ９）。
【００６１】
ソフトウェア更新完了を受信した監視制御部３０は、Ｅ系１１０がソフトウェア更新を行った旨の履歴を、不揮発性メモリ３００に記憶させ保存する（ステップＳ１０）。その後、装置１の再起動を行う（ステップＳ１１）。
【００６２】
そして、監視制御部３０が起動すると、監視制御部３０は、不揮発性メモリ３００に保存されているソフトウェア更新履歴を読み出し、Ｅ系１１０のソフトウェア更新が行われていることを確認し認識する（ステップＳ１２）。すなわち、Ｅ系１１０は新ソフトウェアで起動していることが認識できる。
【００６３】
そこで、監視制御部３０は、Ｅ系１１０を運用状態に切替えて（ステップＳ１３）、Ｅ系１１０を使用し装置１の運用を開始する（ステップＳ１３−１）。このとき同時にＮ系１００は待機状態に切替えられる。
【００６４】
Ｎ系１００のソフトウェア更新は未完了であるため、監視制御部３０は、待機状態に切替えられたＮ系１００に対し、ソフトウェア更新要求を送出し（ステップＳ１４）、Ｎ系１００のＲＯＭ１０１に、ソフトウェア保存部２０の新ソフトウェアを書き込むよう指示する。
【００６５】
ソフトウェア更新要求を受信したＮ系１００は、ソフトウェア保存部２０の新ソフトウェアをダウンロードしてＲＯＭ１０１に書き込む（ステップＳ１５）。新ソフトウェアの書き込みが完了すると、監視制御部３０に対し、ソフトウェア更新完了を通知する（ステップＳ１６）。
【００６６】
Ｎ系１００のソフトウェア更新完了を受信した監視制御部３０は、Ｎ系１００に対してリセット要求を行い（ステップＳ１７）、Ｎ系１００のリセットを指示する。Ｎ系１００は自らをリセットし、待機状態のままで起動する（ステップＳ１８）。
【００６７】
その後、監視制御部３０は、不揮発性メモリ３００に記憶されていた、ソフトウェアの更新履歴を消去する（ステップＳ１９）。
【００６８】
ここで、装置１は、Ｅ系１１０が運用系として起動しており、Ｎ系１００は待機系として起動していることとなる。
【００６９】
ここで、本実施形態の動作説明を、ステップＳ５に戻し、ＲＯＭ１０１とＲＯＭ１１１のソフトウェアのバージョンが異なっていた場合の動作について説明する。
【００７０】
ステップＳ５において、監視制御部３０は、ステップＳ２で取得した新ソフトウェアのバージョンと、ステップＳ３、Ｓ４で取得したＲＯＭ１０１およびＲＯＭ１１１のソフトウェアのバージョンとを比較した（ステップＳ５）。
【００７１】
ここで、Ｎ系１００のＲＯＭ１０１のソフトウェアだけが、ソフトウェア保存部２０の新ソフトウェアのバージョンと一致していなければ、待機状態となっていたＥ系１１０を運用状態に切替え、Ｅ系１１０を使用して装置１の運用を開始する。ここで、Ｎ系１００は待機状態に切替える。
【００７２】
また、Ｅ系１１０のＲＯＭ１１１のソフトウェアだけが、ソフトウェア保存部２０の新ソフトウェアのバージョンと一致していなければ、Ｎ系１００をそのまま運用状態として、装置１の運用を継続する。ここで、Ｅ系１１０は待機状態のままである。
【００７３】
そして、待機状態の系（Ｎ系１００、或いは、Ｅ系１１０）に対し、図２で上述したステップＳ１４以降の処理を実行させる。すなわち、待機状態の系に対し、監視制御部３０は、ソフトウェア更新要求を送出する（ステップＳ１４）。ソフトウェア更新要求を受信した待機状態の系は、ソフトウェア保存部２０の新ソフトウェアをダウンロードして自らのＲＯＭ（ＲＯＭ１０１、或いは、ＲＯＭ１１１）に書き込む（ステップＳ１５）。新ソフトウェアの書き込みが完了すると、監視制御部３０に対し、ソフトウェア更新完了を通知する（ステップＳ１６）。待機状態の系のソフトウェア更新完了を受信した監視制御部３０は、待機状態の系に対してリセット要求を行う（ステップＳ１７）。待機状態の系は自らをリセットし、待機状態のままで起動する（ステップＳ１８）。
【００７４】
このようにすることにより、ステップＳ５において、ＲＯＭ１０１とＲＯＭ１１１のソフトウェアのバージョンが異なっていた場合においても、図２で述べた本実施形態の動作をそのまま適用することが可能である。
【００７５】
次に、図３を参照して、図２で述べた本実施形態の動作について、フローチャートの形に変えて再度説明を行う。
【００７６】
図３は、本実施形態のソフトウェア更新動作を説明するフローチャートである。なお、図２におけると同様に、冗長構成の機能部１０は、Ｎ系１００が運用状態の運用系、Ｅ系１１０が待機状態の待機系、になっているものとして説明を行う。
【００７７】
図１に示した装置１のソフトウェア更新を行う際には、ソフトウェア保存部２０に、更新したいソフトウェア（新ソフトウェア）が保存されているものとする。そして、装置１のソフトウェア更新を行う際、監視制御部３０は、ソフトウェア保存部２０に保存されている新ソフトウェアのバージョンを取得する。また、Ｎ系１００のＲＯＭ１０１に格納されているソフトウェアのバージョンと、Ｅ系１１０のＲＯＭ１１１に格納されているソフトウェアのバージョンを取得する（図３のステップＦ１）。
【００７８】
以下、ＲＯＭ１０１及びＲＯＭ１１１のソフトウェアのバージョンが同一であった場合についてだけ、説明を行う。ＲＯＭ１０１及びＲＯＭ１１１のソフトウェアのバージョンが異なっている場合の動作は、図２で述べた動作と同一であるため、その説明は省略するものとする。
【００７９】
監視制御部３０は、ソフトウェア保存部２０に保存されている新ソフトウェアのバージョンと、ＲＯＭ１０１およびＲＯＭ１１１に格納されているソフトウェアのバージョンとを比較する（ステップＦ２）。
【００８０】
ここで、ソフトウェア保存部２０に保存されている新ソフトウェアのバージョンと、ＲＯＭ１０１およびＲＯＭ１１１に格納されているソフトウェアのバージョンとが一致していれば（ステップＦ２で一致）、ステップＦ３に進む。すなわち、監視制御部３０は、ソフトウェア更新は不要と判断し（ステップＦ３）、ソフトウェア更新処理を終了する。
【００８１】
一方、ソフトウェア保存部２０に保存されている新ソフトウェアのバージョンと、ＲＯＭ１０１およびＲＯＭ１１１に格納されているソフトウェアのバージョンとが一致していなければ（ステップＦ２で不一致）、ステップＦ４に進む。すなわち、ソフトウェア保存部２０の新ソフトウェアを、ＲＯＭ１０１およびＲＯＭ１１１に書き込む必要がある。このため、先ず、新ソフトウェアを待機状態となっているＥ系１１０のＲＯＭ１１１に書き込む（ステップＦ４）。
【００８２】
そして、監視制御部３０は、待機状態にあるＥ系１１０がソフトウェア更新を行った履歴を不揮発性メモリ３００に記憶させ保存する（ステップＦ５）。
【００８３】
その後、装置１の再起動を行う（ステップＦ６）。
【００８４】
そして、監視制御部３０が起動すると、監視制御部３０は不揮発性メモリ３００に保存されているソフトウェア更新履歴を読み出し（ステップＦ７）、Ｅ系１１０のソフトウェア更新が行われているかどうかを確認する（ステップＦ８）。
【００８５】
ステップＦ８において、Ｅ系１１０のソフトウェア更新が行われていなければ（ステップＦ８でＮｏ）、監視制御部３０が、ソフトウェア更新は不要と判断していることを認識できるため、そのまま装置１の運用を開始する（ステップＦ９）。そして、監視制御部３０のソフトウェア更新処理を終了する。
【００８６】
ステップＦ８において、Ｅ系１１０のソフトウェア更新が行われていれば（ステップＦ８でＹｅｓ）、Ｅ系１１０は新ソフトウェアで起動していることを認識できるため、監視制御部３０は、Ｅ系１１０を運用状態に切替えて装置１の運用を開始する（ステップＦ１０）。このときＮ系１００は、待機状態に切替える。
【００８７】
ここで、Ｎ系１００のソフトウェア更新は完了していないため、監視制御部３０は、待機状態となったＮ系１００のＲＯＭ１０１に、ソフトウェア保存部２０の新ソフトウェアを書き込む（ステップＦ１１）。
【００８８】
監視制御部３０は、待機状態となっているＮ系１００だけをリセットし、Ｎ系１００は待機状態のままで起動する（ステップＦ１２）。
【００８９】
その後、監視制御部３０は、不揮発性メモリ３００に記憶されていたソフトウェアの更新履歴を消去する（ステップＦ１３）。
【００９０】
ここで、装置１は、図２で説明したと同様に、Ｅ系１１０が運用系として起動しており、Ｎ系１００は待機系として起動していることとなる。
【００９１】
以上説明したように、本実施形態においては、待機状態となっている系のＲＯＭ（ソフトウェア動作用のメモリ）の記憶内容を、装置の運用中に書き換えることができる。従って、ソフトウェア更新による装置の運用中断時間を短縮できる、という効果を奏することができる。
【００９２】
また、待機状態となっている系のＲＯＭの記憶内容を、装置の運用中に書き換えて、これを運用状態に切替え、かつ、運用状態となっていた系を待機状態に切替えてそのＲＯＭの記憶内容を書き換えるようにしている。従って、装置の再起動が一回で済む、という効果を奏することができる。
【００９３】
なお、本実施形態においては、冗長構成の機能部を構成する各系（Ｎ系とＥ系）は、ソフトウェア動作用のメモリ（ＲＯＭ）だけを備える構成となっている。従って、装置コストを低減させることができる、という効果を奏することができる。
【００９４】
次に、図４、図５を参照して、本実施形態の第２の動作について説明する。
【００９５】
本実施形態の第２の動作は、図２のステップＳ１１で装置１の再起動を実施した後、新ソフトウェアをダウンロードした待機系（Ｅ系１１０）に障害が発生した場合の動作を説明するものである。
【００９６】
図４は、本実施形態のソフトウェア更新動作を説明する第２のシーケンスチャートである。なお、図４において図２に示す構成要素に対応するものは同一の参照数字または符号を付し、その説明を省略するものとする。
【００９７】
図４において、ステップＳ１からステップＳ１２までの動作は、図２で述べた動作と同一であるため、その説明を省略する。但し、以下の説明においては、ステップＳ８で、Ｅ系１１０がソフトウェア保存部２０からダウンロードした新ソフトウェアにバグが含まれている場合、或いは、何らかの要因で、Ｅ系１１０の新ソフトウェアへの更新が失敗していた場合、を想定している。
【００９８】
図４のステップＳ１１において、装置１の再起動を行うと、Ｅ系１１０はＲＯＭ１１１に格納された新ソフトウェアを使用し起動しようとする。しかし、新ソフトウェアにバグがある、或いは、ソフトウェア更新が失敗しているため、Ｅ系１１０は正常に起動することができず、障害発生の状態となる（ステップＳ５０）。従って、Ｅ系１１０を運用状態にすることは出来ない。
【００９９】
まず、監視制御部３０は、ステップＳ１２で不揮発性メモリ３００のソフトウェア更新履歴を読み出して、Ｅ系１１０のソフトウェア更新が行われていることを確認し認識する。しかし、Ｅ系１１０は障害発生の状態であり、Ｅ系１１０を運用状態にすることができないため、Ｅ系１１０に代えてＮ系１００を運用状態に切替え（ステップＳ５１）、Ｎ系１００を使用し装置１の運用を開始する（ステップＳ５１−１）。
【０１００】
その後、監視制御部３０は、不揮発性メモリ３００に記憶・保存していたソフトウェア更新履歴を消去する（ステップＳ５２）。
【０１０１】
ここで、装置１は、Ｎ系１００が運用系となって起動していることとなる。
【０１０２】
次に、図５を参照して、図４で述べた本実施形態の第２の動作について、フローチャートの形に変えて再度説明を行う。
【０１０３】
図５は、本実施形態のソフトウェア更新動作を説明する第２のフローチャートである。なお、図５において図３に示す構成要素に対応するものは同一の参照数字または符号を付し、その説明を省略するものとする。
【０１０４】
図５において、ステップＦ１からステップＦ８までの動作は、図３で述べた動作と同一であるため、その説明を省略する。
【０１０５】
図５のステップＦ６において、装置１の再起動を行うと、Ｅ系１１０はＲＯＭ１１１に格納された新ソフトウェアを使用し起動しようとするが、新ソフトウェアにバグがある、或いは、ソフトウェア更新が失敗しているため、Ｅ系１１０は正常に起動することができない。従って、Ｅ系１１０を運用状態にすることは出来ない。
【０１０６】
そこで、監視制御部３０は、Ｅ系１１０に障害が発生しているかを判断する（ステップＦ５０）。
【０１０７】
そして、Ｅ系１１０に障害が発生している場合には（ステップＦ５０でＹｅｓ）、Ｅ系１１０に代えてＮ系１００を運用状態に切替え（ステップＦ５１）、Ｎ系１００を使用し装置１の運用を開始する（ステップＦ５１−１）。
【０１０８】
その後、監視制御部３０は、不揮発性メモリ３００に記憶・保存していたソフトウェア更新履歴を消去する（ステップＦ５２）。
【０１０９】
ここで、装置１は、Ｎ系１００が運用系として起動していることとなる。
【０１１０】
なお、ステップＦ５０の判断において、Ｅ系１１０に障害が発生していない場合には（ステップＦ５０でＮｏ）、図３におけると同様に動作する。すなわち、Ｅ系１１０を運用状態に切替え、Ｅ系１１０を使用し装置１の運用を開始する（ステップＦ１０）。そして、待機状態となったＮ系１００のソフトウェア更新を行い（ステップＦ１１）、Ｎ系１００をリセットして、待機状態のままで起動させる（ステップＦ１２）。
【０１１１】
以上説明したように、本実施形態の第２の動作においては、ソフトウェア更新が終了した系（Ｅ系）に障害が発生した場合、ソフトウェア更新が終了していない他の系（Ｎ系）を運用状態に切替えるようにしている。従って、ソフトウェア更新の終了した系が障害となった場合であっても、ソフトウェア更新前の系を使用して装置運用を継続できる、という効果を奏することができる。
【図面の簡単な説明】
【０１１２】
【図１】本発明のソフトウェア更新システムの一実施形態を示すブロック図である。
【図２】本実施形態のソフトウェア更新動作を説明するシーケンスチャートである。
【図３】本実施形態のソフトウェア更新動作を説明するフローチャートである。
【図４】本実施形態のソフトウェア更新動作を説明する第２のシーケンスチャートである。
【図５】本実施形態のソフトウェア更新動作を説明する第２のフローチャートである。
【図６】従来の冗長構成の機能部を備える装置の一例を示すブロック図である。
【符号の説明】
【０１１３】
１    装置
１０    機能部
１００    Ｎ系
１０１    ＲＯＭ
１０２    ＣＰＵ
１１０    Ｅ系
１１１    ＲＯＭ
１１２    ＣＰＵ
２０    ソフトウェア保存部
３０    監視制御部
３００    不揮発性メモリ
３０２    ＣＰＵ
【図１】
2007087269.tif 000003
【図２】
2007087269.tif 000004
【図３】
2007087269.tif 000005
【図４】
2007087269.tif 000006
【図５】
2007087269.tif 000007
【図６】
2007087269.tif 000008