JP7454919B2 - 情報記憶装置、ソフトウェア更新方法、および、冗長化システム - Google Patents
情報記憶装置、ソフトウェア更新方法、および、冗長化システム Download PDFInfo
- Publication number
- JP7454919B2 JP7454919B2 JP2019124440A JP2019124440A JP7454919B2 JP 7454919 B2 JP7454919 B2 JP 7454919B2 JP 2019124440 A JP2019124440 A JP 2019124440A JP 2019124440 A JP2019124440 A JP 2019124440A JP 7454919 B2 JP7454919 B2 JP 7454919B2
- Authority
- JP
- Japan
- Prior art keywords
- version
- controller
- software
- information storage
- storage 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 6
- 238000012790 confirmation Methods 0.000 claims description 108
- 238000009434 installation Methods 0.000 claims description 7
- 230000002250 progressing effect Effects 0.000 claims 2
- 238000012544 monitoring process Methods 0.000 description 73
- 230000004083 survival effect Effects 0.000 description 66
- 230000005540 biological transmission Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 14
- 230000007257 malfunction Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
Description
一方、冗長化システムにおいて、冗長化された装置間で効率的にソフトウェアの更新を行う技術としては、例えば、特許文献1に、冗長通信装置において、運用系通信装置が、自装置のソフトウェアデータが格納されるデータ記憶部のデータを待機系通信装置に送信し、待機系通信装置は、運用系通信装置から受信したソフトウェアデータを、自装置に書き込む技術が開示されている。
上述の特許文献1に開示されているような技術では、運用系通信装置が、自装置と待機系通信装置のソフトウェアデータの内容を一致させるようにはなっているが、ソフトウェアの更新を行う際、運用系通信装置および待機系通信装置のソフトウェアデータのバージョンは不問としている。従って、待機系通信装置のソフトウェアデータのバージョンの方が運用系通信装置のソフトウェアデータのバージョンより進んでいる場合であっても、運用系通信装置のソフトウェアデータのバージョンに従って、待機系通信装置のソフトウェアデータが更新される。
そのため、依然として、上述したような冗長化システムにおいて、管理者等が、情報記憶装置が有する機能に不具合が発生することを防ぎつつ情報記憶装置を冗長化させるために労力を要するという、上述の課題を解消しきれていない。
実施の形態1.
以下の実施の形態1では、一例として、少なくとも2つの情報記憶装置、の1つを運用系の情報記憶装置、残りを待機系の情報記憶装置として動作させる冗長化システムが、施設内に設置された機器を監視または制御する施設監視システムに適用されているものとする。
図1は、実施の形態1に係る施設監視システム1000の構成例を示す図である。
実施の形態1に係る施設監視システム1000は、第1コントローラ11と、第2コントローラ12を備える。第1コントローラ11と、第2コントローラ12とは、ネットワークを介して接続される。以下の説明において、第1コントローラ11および第2コントローラ12を、まとめて、単に「コントローラ1」ともいうものとする。
なお、図1では記載を省略しているが、コントローラ1は、ネットワークを介して、下位コントローラと接続される。また、コントローラ1は、下位コントローラを介して、施設内に設置された機器と接続される。機器とは、センサ、照明、スイッチ、モータ等である。図1において、機器の図示は省略している。なお、施設監視システム1000は、下位コントローラを備えないようにすることもできる。この場合、コントローラ1は、機器と接続される。
コントローラ1は、下位コントローラを介して、あるいは、監視ポイントから直接、監視ポイントデータを収集する。コントローラ1は、収集した監視ポイントデータを記憶する。
コントローラ1は、記憶した監視ポイントデータを用いてアプリケーションを実行する機能を有している。管理者等は、コントローラ1が、監視ポイントデータを用いてアプリケーションを実行した結果を参照等することで、監視ポイントの監視または制御を行う。
具体的には、管理者等は、監視用端末(図示省略)を操作し、当該監視用端末から、コントローラ1に対して、監視ポイントデータを用いてアプリケーションを実行した結果を表示させる指示を送信する。コントローラ1は、監視用端末から送信された指示に基づき、上記結果に関する情報を、表示装置(図示省略)に表示させる。管理者等は、表示装置に表示された情報を参照等することで、監視ポイントの監視または制御を行う。監視用端末および表示装置は、コントローラ1と、ネットワークを介して接続されている。監視用端末は、例えば、管理者等が施設監視のために用いるPCである。表示装置は、例えば、ディスプレイである。
なお、監視ポイントからの、監視ポイントデータの収集は、運用系のコントローラとして動作するコントローラ1が行う。
また、第1コントローラ11と第2コントローラ12とは、どちらが運用系のコントローラ1となるかを切り替える。
第1コントローラ11と第2コントローラ12とは、例えば、互いに生存確認を行い、当該生存確認を行った結果に応じて、どちらが運用系のコントローラ1となるかを切り替える。
実施の形態1において、第1コントローラ11および第2コントローラ12のうち、どちらのコントローラ1が運用系のコントローラとなるかは、例えば、先に起動したかどうかによって決定される。具体的には、先に起動したほうのコントローラ1が、運用系のコントローラとなる。コントローラ1は、起動すると、相手のコントローラ1に対して、生存確認コマンドを送信する。相手のコントローラ1では、生存確認コマンドを受信すると、自身が起動している旨の応答コマンドを、生存確認コマンドを送信したコントローラ1に対して送信する。相手のコントローラ1が起動していない場合は、応答コマンドは送信されない。生存確認コマンドを送信したコントローラ1では、相手のコントローラ1から応答コマンドが送信されない場合、自装置の方が先に起動したと判断し、自装置は運用系のコントローラ1として起動する。
生存確認コマンドの送信、または、応答コマンドの送信の詳細については、後述する。
なお、第1コントローラ11からみて、第2コントローラ12が相手のコントローラ1であり、第2コントローラ12からみて、第1コントローラ11が相手のコントローラ1である。施設監視システム1000において、冗長化のペアとなるコントローラ1は、予め決められている。
第1コントローラ11および第2コントローラ12は、ソフトウェアのバージョンの低い方が、ソフトウェアのバージョンが高い方に合わせて、ソフトウェアのバージョンアップを行うことで、互いのコントローラ1で適用されているソフトウェアのバージョンを一致させる。コントローラ1が、ソフトウェアのバージョンアップを行う際は、記憶している監視ポイントデータ等のコンバートを、合わせて行う。コントローラ1における、ソフトウェアのバージョンアップ、および、監視ポイントデータ等のコンバートの詳細については、後述する。
また、第1コントローラ11および第2コントローラ12は、ソフトウェアのバージョンが高いほうに合わせてソフトウェアのバージョンを一致させる際、待機系のコントローラ1として動作しているコントローラ1の方がソフトウェアのバージョンが高い場合は、コントローラ1の切替を行う。ソフトウェアのバージョンアップの際のコントローラ1の切替の詳細については、後述する。
コントローラ1は、ソフトウェアに基づくCPUを用いたプログラム処理によって実行される。また、コントローラ1は、他のコントローラ1または機器との通信を行う、入力インタフェース装置(図示省略)、および出力インタフェース装置(図示省略)を備える。
図2において、第1コントローラ11が運用系のコントローラであり、第2コントローラ12が待機系のコントローラであるものとしている。なお、図2においては、説明の簡単のため、第1コントローラ11および第2コントローラ12について、それぞれ、運用系のコントローラ1である場合に機能する構成部、および、待機系のコントローラ1である場合に機能する構成部のみを示すようにしているが、第1コントローラ11と第2コントローラ12とは、基本的に同じ構成を備える。すなわち、第1コントローラ11は、図2に示すような第2コントローラ12の構成部も備えており、第2コントローラ12は、図2に示すような第1コントローラ11の構成部も備えている。以下の実施の形態1では、第1コントローラ11は運用系のコントローラ、第2コントローラ12は待機系のコントローラであるものとして説明する。
第2コントローラ12は、第2生存確認部121、第2バージョン確認部122、第2バージョン判定部123、第2記憶部125、第2制御部126、冗長化データ受信部127、第2パッケージ受信部128、および、第2バージョンアップ部129を備える。第2制御部126は、第2切替制御部1261を備える。
第1生存確認部111は、第2コントローラ12の生存確認を行う。具体的には、第1生存確認部111は、第2コントローラ12に対して、生存確認コマンドを送信し、第2コントローラ12から応答コマンドを受信する。第1生存確認部111は、応答コマンドを受信すると、第2コントローラ12が生存していると判定し、当該応答コマンドを受信した旨の情報を、第1バージョン確認部112に出力する。
また、第1生存確認部111は、第2コントローラ12から送信された生存確認コマンドを受信し、第2コントローラ12に応答コマンドを送信する。
生存確認コマンド送信部は、第2コントローラ12に対して、生存確認コマンドを送信する。生存確認コマンド送信部は、予め設定された周期で、生存確認コマンドを送信する。
応答受信部は、第2コントローラ12から、生存確認コマンド送信部が送信した生存確認コマンドに応答する応答コマンドを受信する。応答受信部は、応答コマンドを受信すると、当該応答コマンドを受信した旨の情報を、第1バージョン確認部112に出力する。
生存確認コマンド受信部は、第2コントローラ12から送信される生存確認コマンドを受信する。生存確認コマンド受信部は、生存確認コマンドを受信すると、当該生存確認コマンドを受信した旨の情報を応答送信部に出力する。
応答送信部は、生存確認コマンド受信部が受信した生存確認コマンドに応答する応答コマンドを、第2コントローラ12に送信する。
このように、第1生存確認部111は、生存確認コマンドの送受信、および、応答コマンドの送受信を行うことで、第2コントローラ12と、互いに生存確認を行う。
バージョン確認情報送信部は、第2コントローラ12に対して、バージョン確認情報を送信する。
バージョン応答受信部は、第2コントローラ12から、バージョン確認情報送信部が送信したバージョン確認情報に対する応答情報を受信する。第2コントローラ12から送信される応答情報には、少なくとも、第2バージョン情報が含まれる。
第1バージョン確認部112は、バージョン応答受信部が、第2コントローラ12から応答情報を受信することで、第2バージョン情報を取得し、第2コントローラ12で適用されているソフトウェアのバージョンを確認する。
バージョン応答受信部は、バージョン確認情報に対する応答情報を受信すると、受信した応答情報を、第1バージョン判定部113に出力する。
そして、第1バージョン判定部113は、第1バージョンと第2バージョンの、いずれのバージョンの方が、バージョンが進んでいるかを判定する。
なお、第1バージョン判定部113は、例えば、ソフトウェアのバージョンが、更新された順に時系列で管理されているバージョン管理情報に基づき、第1バージョンまたは第2バージョンの、いずれのバージョンの方が進んでいるかを判定するようにすればよい。バージョン管理情報は、例えば、コントローラ1が参照可能な場所に記憶されている。
この場合、第1バージョン判定部113は、第1バージョンの方が第2バージョンよりも進んでおり、かつ、第2バージョンと第1バージョンとの間には2世代以上のバージョンの差があると判定し、差分のバージョンに関する情報を、第1制御部116に出力するようにする。
具体例を挙げて説明すると、例えば、第1バージョンが「バージョン1.0.003」であり、第2バージョンが「バージョン1.0.001」であったとする。なお、コントローラ1で適用されるソフトウェアのバージョンは、「バージョン1.0.001」→「バージョン1.0.002」→「バージョン1.0.003」の順で、更新されたものとする。
そうすると、第1バージョンは、第2バージョンよりも2世代分、バージョンが進んでいる。具体的には、第1バージョンと、第2バージョンでは、「バージョン1.0.002」および「バージョン1.0.003」の2世代分の差分がある。
この場合、第1バージョン判定部113は、「バージョン1.0.002」および「バージョン1.0.003」の2世代のバージョンに関する情報を、第1制御部116に出力するようにする。
具体的には、まず、第1パッケージ送信部114は、第1記憶部115を参照し、第1バージョンに対応付けられているソフトウェアパッケージを取得する。第1パッケージ送信部114は、第1バージョンを、第1バージョン判定部113から出力された第1バージョン情報から特定すればよい。以下の実施の形態1において、第1記憶部115に記憶されている、第1コントローラ11の第1バージョンに対応付けられているソフトウェアパッケージを、「第1ソフトウェアパッケージ」ともいう。
例えば、上述した例のように、第1バージョンと、第2バージョンでは、「バージョン1.0.002」および「バージョン1.0.003」の2世代分の差分がある場合、第1パッケージ送信部114は、「バージョン1.0.002」に対応するソフトウェアパッケージと、「バージョン1.0.003」に対応するソフトウェアパッケージを、第1ソフトウェアパッケージとして、第2コントローラ12に送信することになる。
第1コントローラ11は、バージョンアップを行なった際、第1バージョン情報、および、第1ソフトウェアパッケージを第1記憶部115に記憶させている。第1記憶部115は、第1バージョン情報、および、第1ソフトウェアパッケージを、履歴で記憶している。
また、第1記憶部115は、監視ポイントを監視または制御するための情報を記憶している。実施の形態1において、監視ポイントを監視または制御するための情報を、「冗長化データ」ともいう。冗長化データには、監視ポイントから収集した監視ポイントデータ、アプリケーションの設定データ、または、帳票データ等が含まれる。なお、第1コントローラ11の監視ポイントデータ収集部(図示省略)が、監視ポイントデータを収集し、収集した監視ポイントデータを、第1記憶部115に記憶させている。
冗長化データは、第1コントローラ11および第2コントローラ12にて、同期をとって記憶されている。冗長化データは、例えば、予め設定された周期で、または、常時、運用系のコントローラ1である第1コントローラ11から、待機系のコントローラ1である第2コントローラ12に送信される。第2コントローラ12は、第1コントローラ11から送信された冗長化データを自装置の第2記憶部125に記憶する。
第1記憶部115は、例えば、SSD(Solid State Drive)である。
第1コントローラ11は、冗長化データ等を記憶させておくため、第1記憶部115は、比較的大容量の記憶装置である。そのため、上述のように、第1記憶部115は、ソフトウェアパッケージとしたソフトウェア更新用ファイルも記憶させておくことができる。
一方、第1制御部116は、第1バージョン判定部113が、上述のバージョン判定を行った結果、第2バージョンの方が、第1バージョンよりも進んでいると判定した場合、冗長化データ送信部117に、冗長化データ送信指示を出力する。その後、第1制御部116は、自装置をオフライン状態とする。実施の形態1において、コントローラ1がオフライン状態である、とは、コントローラ1が機能を縮退運転している状態をいう。コントローラ1がオフライン状態であるとき、コントローラ1において、監視ポイントを制御または監視する機能は停止するが、OSまたはコントローラ1の基本部分の処理は動作している。第1制御部116は、自装置をオフライン状態とした際、第2コントローラ12に対して、オフライン状態とした旨の通知を送信するようにする。また、第1制御部116は、自装置をオフライン状態とすると、第1パッケージ受信部118に、パッケージ受信指示を出力する。第1パッケージ受信部118は、パッケージ受信指示に基づき、第2コントローラ12から送信された、第2バージョンに対応付けられたソフトウェアパッケージを受信する。第1パッケージ受信部118の詳細は後述する。
第1切替制御部1161は、自装置を待機系のコントローラ1として動作させるようコントローラ1の切替を行う際、あわせて、運用系のコントローラ1に切り替わった後の第2コントローラ12から、冗長化データ受信部(図示省略)を介して、冗長化データを受信し、第1記憶部115に記憶させるようにしてもよい。
第1切替制御部1161がコントローラ1の切替を行うと、第1制御部116は、自装置を待機系のコントローラ1として、再度、第1コントローラ11をオンライン状態とする。
なお、第1パッケージ受信部118は、第1コントローラ11がオフライン状態で、第2バージョンに対応付けられたソフトウェアパッケージを受信するが、上述のとおり、コントローラ1は、オフライン状態であっても、OSまたはコントローラ1の基本部分の処理は動作している。そのため、コントローラ1において、第1パッケージ受信部118は、オフライン状態であっても、パッケージの送受信は可能である。以下の実施の形態1において、第2コントローラ12で適用されている第2バージョンに対応付けられているソフトウェアパッケージを、「第2ソフトウェアパッケージ」ともいう。
第1パッケージ受信部118は、第2コントローラ12から受信した第2ソフトウェアパッケージを、第1バージョンアップ部119に出力する。
第1バージョンアップ部119は、第2ソフトウェアパッケージのインストールを完了すると、第1切替制御部1161に、バージョンアップ完了通知を出力する。
また、第1バージョンアップ部119は、第2バージョンにバージョンアップした後の第1バージョンに関する第1バージョン情報、および、当該第1バージョンに対応付く第1ソフトウェアパッケージを、第1記憶部115に記憶させる。なお、当該第1バージョンに対応付く第1ソフトウェアパッケージは、第1バージョンアップ部119がインストールした第2ソフトウェアパッケージである。
第2生存確認部121は、第1コントローラ11の生存確認を行う。第2生存確認部121は、第1コントローラ11に対して、生存確認コマンドを送信し、第1コントローラ11から応答コマンドを受信する。第2生存確認部121は、応答コマンドを受信すると、第1コントローラ11が生存していると判定し、当該応答コマンドを受信した旨の情報を、第2バージョン確認部122に出力する。
また、第2生存確認部121は、第1コントローラ11から送信された生存確認コマンドを受信し、第1コントローラ11に応答コマンドを送信する。
第2生存確認部121の基本的な機能は、第1生存確認部111の基本的な機能と同じであり、生存確認を行う対象が、第1生存確認部111は第2コントローラ12であったのに対し、第2生存確認部121は第1コントローラ11である点が異なるだけである。よって、第2生存確認部121の詳細な説明は省略する。
第2生存確認部121も、第1生存確認部111同様、生存確認コマンド送信部(図示省略)、応答受信部(図示省略)、生存確認コマンド受信部(図示省略)、および、応答送信部(図示省略)を備える。
第2バージョン確認部122の基本的な機能は、第1バージョン確認部112の基本的な機能と同じであり、第1バージョン確認部112は第2コントローラ12から第2バージョン情報を取得するのに対し、第2バージョン確認部122は第1コントローラ11から第1バージョン情報を取得する点が異なるだけである。よって、第2バージョン確認部122の詳細な説明は省略する。
第2バージョン確認部122も、第1バージョン確認部112同様、バージョン確認情報送信部(図示省略)、バージョン応答受信部(図示省略)、バージョン確認情報受信部(図示省略)、バージョン応答送信部(図示省略)を備える。
第2バージョン判定部123が行うバージョン判定の基本的な機能は、第1バージョン判定部113が行うバージョン判定の基本的な機能と同じであるため、詳細な説明を省略する。第2バージョン判定部123は、第1バージョン判定部113同様、バージョン管理情報に基づき、第1バージョンまたは第2バージョンの、いずれのバージョンの方が進んでいるかを判定するようにすればよい。
一方、第2バージョン判定部123は、第1バージョンの方が、第2バージョンよりも進んでいると判定した場合、第1バージョンの方が第2バージョンよりも進んでいる旨の情報を、第2制御部126に出力する。第2バージョン判定部123は、第1バージョンの方が第2バージョンよりも進んでいる旨の情報とあわせて、第1バージョン情報、および、第2バージョン情報を、第2制御部126に出力する。
第2コントローラ12は、バージョンアップを行なった際、第2バージョン情報、および、第2ソフトウェアパッケージを第2記憶部125に記憶させている。第2記憶部125は、第2バージョン情報、および、第2ソフトウェアパッケージを、履歴で記憶している。
また、第2記憶部125は、待機系のコントローラ1である第2コントローラ12が、例えば、予め設定された周期で、または、常時、運用系のコントローラ1である第1コントローラ11から受信した冗長化データを記憶する。
第2記憶部125は、例えば、SSD(Solid State Drive)である。
第2記憶部125は、第1記憶部115同様、比較的大容量の記憶装置である。そのため、第2記憶部125は、第1記憶部115同様、ソフトウェアパッケージとしたソフトウェア更新用ファイルを記憶させておくことができる。
第2制御部126において、冗長化データのコンバートが完了すると、第2制御部126は、第1コントローラ11から、自装置、言い換えれば第1コントローラ11をオフライン状態とした旨の通知を受信するまで待機する。第2制御部126が、第1コントローラ11から、当該第1コントローラ11をオフライン状態とした旨の通知を受信すると、第2制御部126の第2切替制御部1261は、自装置を運用系のコントローラ1として動作させるよう、コントローラ1の切替を行う。
冗長化データ受信部127は、受信した冗長化データを、第2制御部126に出力する。
第2パッケージ受信部128は、第1コントローラ11から受信した第1ソフトウェアパッケージを、第2バージョンアップ部129に出力する。
第2バージョンアップ部129は、第1バージョンにバージョンアップした後の第2バージョンに関する第2バージョン情報、および、当該第2バージョンに対応付く第2ソフトウェアパッケージを、第2記憶部125に記憶させる。なお、当該第2バージョンに対応付く第2ソフトウェアパッケージは、第2バージョンアップ部129がインストールした第1ソフトウェアパッケージである。
また、第2バージョンアップ部129は、第1ソフトウェアパッケージのインストールを完了すると、第2制御部126に、バージョンアップ完了通知を出力し、第2制御部126は、運用系のコントローラ1である第1コントローラ11から、冗長化データ受信部127を介して、冗長化データを受信し、第2記憶部125に記憶させるようにしてもよい。
また、以下の動作説明においても、第1コントローラ11が運用系のコントローラ、第2コントローラ12が待機系のコントローラとして動作するものとして説明する。
図3は、実施の形態1に係る施設監視システムにおける、運用系のコントローラとしての第1コントローラ11の動作を説明するためのフローチャートである。
第1コントローラ11は、起動すると、図3にて説明する動作を行う。
第1制御部116は、第1パッケージ送信部114に対して、第1ソフトウェアパッケージの送信指示を出力する。第1パッケージ送信部114は、第1制御部116から第1ソフトウェアパッケージの送信指示が出力されると、第2コントローラ12に対して、第1ソフトウェアパッケージを送信する(ステップST303)。
第2コントローラ12が、ステップST303にて第1パッケージ送信部114が送信した第1ソフトウェアパッケージを受信し(後述の図4のステップST407参照)、当該第1ソフトウェアパッケージをインストールすることで、第2バージョンを第1バージョンに合わせるようバージョンアップする(後述の図4のステップST408参照)と、第1コントローラ11と第2コントローラ12のソフトウェアのバージョンが、バージョンの高い方に揃う。第1コントローラ11と第2コントローラ12のソフトウェアのバージョンが揃うと、第1コントローラ11と第2コントローラ12とで冗長化された施設監視システムの運用が開始される。
ステップST304において、第1バージョン判定部113は、第2バージョンの方が、第1バージョンよりも進んでいないと判定した場合(ステップST304の“NO”の場合)、すなわち、第1バージョン判定部113は、第1バージョンと第2バージョンが同じであると判定した場合、第1コントローラ11の動作は、ステップST301に戻る。
ステップST304において、第1バージョン判定部113は、第2バージョンの方が、第1バージョンよりも進んでいると判定した場合(ステップST304の“YES”の場合)、第2バージョンの方が、第1バージョンよりも進んでいる旨の情報を、第1制御部116に送信する。
第1制御部116は、自装置をオフライン状態とし、第1パッケージ受信部118に、パッケージ受信指示を出力する。第1制御部116は、自装置をオフライン状態とした際、第2コントローラ12に対して、オフライン状態とした旨の通知を送信するようにする。
第1パッケージ受信部118は、第1制御部116からパッケージ受信指示が出力されると、当該パッケージ受信指示に基づき、第2コントローラ12から送信された、第2バージョンに対応付けられたソフトウェアパッケージを受信する(ステップST306)。第1パッケージ受信部118は、第2コントローラ12から受信した第2ソフトウェアパッケージを、第1バージョンアップ部119に出力する。
第1バージョンアップ部119は、第2ソフトウェアパッケージのインストールを完了すると、第1切替制御部1161に、バージョンアップ完了通知を出力する。
また、第1バージョンアップ部119は、第2バージョンにバージョンアップした後の第1バージョンに関する第1バージョン情報、および、当該第1バージョンに対応付く第1ソフトウェアパッケージを、第1記憶部115に記憶させる。
第1コントローラ11は、ステップST308にてコントローラ1の切替を行う前に、ステップST305にて、冗長化データ送信部117が、第2コントローラ12に対して、冗長化データを送信するようにしている。そして、冗長化データ送信部117が第2コントローラ12に対して冗長化データを送信すると、第2コントローラ12は、当該冗長化データをコンバートの上、記憶し、その後、コントローラ1の切替を行って、運用系のコントローラ1として動作するようになる(後述の図4のステップST403~ステップST405参照)
コントローラ1の切替が行われる前に、運用系のコントローラ1として動作している第1コントローラ11から、待機系のコントローラ1として動作している第2コントローラ12への冗長化データの引継ぎが行われるため、コントローラ1の切替が行われても、冗長化データが消失することなく、施設監視システム1000は、監視ポイントの監視または制御を継続できる。
図4は、実施の形態1に係る施設監視システムにおける、待機系のコントローラとしての第2コントローラ12の動作を説明するためのフローチャートである。
第2コントローラ12は、起動すると、図4にて説明する動作を行う。
第2制御部126は、冗長化データ受信部127に、冗長化データ受信指示を出力し、冗長化データ受信部127が第1コントローラ11から受信した冗長化データを取得する(ステップST403)。そして、第2制御部126は、冗長化データのコンバートを実施する(ステップST404)。
第2制御部126において、冗長化データのコンバートが完了し、第2制御部126が、第1コントローラ11から、当該第1コントローラ11をオフライン状態とした旨の通知を受信すると、第2制御部126の第2切替制御部1261は、自装置を運用系のコントローラ1として動作させるよう、コントローラ1の切替を行う(ステップST405)。
コントローラ1の切替が行われる前に、運用系のコントローラ1として動作している第1コントローラ11から、待機系のコントローラ1として動作している第2コントローラ12への冗長化データの引継ぎが行われるため、コントローラ1の切替が行われても、冗長化データが消失することなく、施設監視システム1000は、監視ポイントの監視または制御を継続できる。
ステップST406において、第2バージョン判定部123は、第1バージョンの方が、第2バージョンよりも進んでいないと判定した場合(ステップST406の“NO”の場合)、すなわち、第2バージョン判定部123が、第1バージョンと第2バージョンが同じであると判定した場合、第2コントローラ12の動作は、ステップST401に戻る。
ステップST406において、第2バージョン判定部123は、第1バージョンの方が、第2バージョンよりも進んでいると判定した場合(ステップST406の“YES”の場合)、第1バージョンの方が、第2バージョンよりも進んでいる旨の情報を、第2制御部126に送信する。
第2パッケージ受信部128は、第1コントローラ11から受信した第1ソフトウェアパッケージを、第2バージョンアップ部129に出力する。
第2バージョンアップ部129は、第1バージョンにバージョンアップした後の第2バージョンに関する第2バージョン情報、および、当該第2バージョンに対応付く第2ソフトウェアパッケージを、第2記憶部125に記憶させる。なお、当該第2バージョンに対応付く第2ソフトウェアパッケージは、第2バージョンアップ部129がインストールした第1ソフトウェアパッケージである。
また、第2バージョンアップ部129は、第1ソフトウェアパッケージのインストールを完了すると、第2制御部126に、バージョンアップ完了通知を出力し、第2制御部126は、運用系のコントローラ1である第1コントローラ11から、冗長化データ受信部127を介して、冗長化データを受信し、第2記憶部125に記憶させるようにしてもよい。
具体的には、ペアとなる第1コントローラ11および第2コントローラ12がいずれも動作開始した後、ネットワークに第1コントローラ11および第2コントローラ12が接続されると、少なくとも一方のコントローラ1の第1バージョン判定部113または第2バージョン判定部123がバージョン判定を行い、バージョンが進んでいないと判定されたコントローラ1の第1制御部116または第2制御部126が、自装置をオフライン状態にする。その後、当該第1制御部116または第2制御部126は、自装置を待機系のコントローラ1とし、再度オンライン状態とするようにする。
運用系のコントローラ1となったコントローラ1は、図3で説明した動作を行い、待機系のコントローラ1となったコントローラ1は、図4で説明した動作を行って、冗長化された施設監視システム1000を立ち上げる。
しかし、これに限らず、例えば、稼働中の施設監視システム1000において、コントローラ1にて障害等が発生した場合にも、同様に、運用系のコントローラ1と待機系のコントローラ1とで、適用されているソフトウェアのバージョンを一致させるよう、動作することができる。
例えば、今、運用系のコントローラ1として動作していた第1コントローラ11で障害が発生したとする。そうすると、第2コントローラ12が運用系のコントローラとして動作するよう、切替が行われる。具体的には、例えば、第1コントローラ11にて障害が発生したことにより、第1コントローラ11から第2コントローラ12に対して生存確認コマンドが送信されなくなるため、第2コントローラ12の第2生存確認部121が、一定期間、生存確認コマンドを受信せず、第1コントローラ11は生存していないと判定する。そのため、第2コントローラ12の第2切替制御部1261が自装置を運用系のコントローラ1とする切替を行う。第1コントローラ11は、復旧後、先に第2コントローラ12が起動していることにより、待機系のコントローラ1となる。
第2コントローラ12は、運用系のコントローラ1として、図3で説明した動作を行い、第1コントローラ11は復旧後、待機系のコントローラ1として、図4で説明した動作を行うことで、第1コントローラ11および第2コントローラ12で、適用されているソフトウェアのバージョンを一致させた上で、冗長化が行われる。
待機系のコントローラ1で適用されているソフトウェアのバージョンが運用系のコントローラ1で適用されているソフトウェアのバージョンよりも進んでいる場合は、運用系のコントローラ1と待機系のコントローラ1の切替を行う。その後、上述のように、ソフトウェアのバージョンが進んでいる運用系のコントローラ1から、ソフトウェアのバージョンが遅れていた運用系のコントローラ1に対してソフトウェアパッケージを送信し、ソフトウェアのバージョンが遅れていた運用系のコントローラ1は、ソフトウェアのバージョンアップを行う。その後、当該ソフトウェアのバージョンが遅れていた運用系のコントローラ1は、待機系のコントローラ1に切替を行う。なお、この場合、ソフトウェアのバージョンが遅れていた方の運用系のコントローラ1は、オフライン状態であり、冗長化の機能は動作しない。すなわち、バージョンが遅れていた方の運用系のコントローラ1は、コントローラ1の切替の際は運用系のコントローラ1でも待機系のコントローラ1でもなくなり、監視ポイントの監視または制御を行わない。
コントローラ1は、ソフトウェアのバージョンを下げて当該バージョンを一致させた状態で冗長化されないようにしたため、コントローラ1が有する機能に不具合が発生することを防いでコントローラ1を冗長化させることができる。ソフトウェアのバージョンを下げて当該バージョンを一致させた状態でコントローラ1が冗長化されると、監視ポイントデータの破損のおそれがある他、コントローラ1が有する機能がデグレードするおそれがある。
これに対し、実施の形態1に係るコントローラ1は、上述のとおり、第1コントローラ11および第2コントローラ12間でソフトウェアのバージョンを自動的に一致させることができるため、管理者等は、代替機の設置の際に、当該代替機で適用されているソフトウェアのバージョンを意識しなくて済む。
111 第1生存確認部
112 第1バージョン確認部
113 第1バージョン判定部
114 第1パッケージ送信部
115 第1記憶部
116 第1制御部
1161 第1切替制御部
117 冗長化データ送信部
118 第1パッケージ受信部
119 第1バージョンアップ部
12 第2コントローラ
121 第2生存確認部
122 第2バージョン確認部
123 第2バージョン判定部
125 第2記憶部
126 第2制御部
1261 第2切替制御部
127 冗長化データ受信部
128 第2パッケージ受信部
129 第2バージョンアップ部
Claims (6)
- ネットワークに接続された、少なくとも2つの情報記憶装置、の1つを運用系の情報記憶装置、残りを待機系の情報記憶装置として動作させる冗長化システムに備えられた情報記憶装置であって、
自装置で適用されているソフトウェアのバージョンに関するバージョン情報、および、当該ソフトウェアのバージョンと対応付けられたソフトウェアパッケージを記憶する記憶部と、
冗長化のペアとなる相手の情報記憶装置から、前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンに関する前記バージョン情報を取得するバージョン確認部と、
前記バージョン確認部が取得した前記バージョン情報および前記記憶部に記憶された前記バージョン情報に基づき、自装置で適用されている前記ソフトウェアのバージョンと、前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンを比較するバージョン判定部と、
自装置が前記運用系の情報記憶装置として動作し、かつ、前記バージョン判定部が、自装置で適用されている前記ソフトウェアのバージョンの方が、前記待機系の情報記憶装置として動作している前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンよりも進んでいると判定した場合、前記相手の情報記憶装置に対して、前記ソフトウェアパッケージを送信するパッケージ送信部と、
前記バージョン判定部が、前記待機系の情報記憶装置として動作している前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンの方が、自装置で適用されている前記ソフトウェアのバージョンよりも進んでいると判定した場合、自装置を冗長化の機能が動作しないオフライン状態とする制御部と、
前記制御部が自装置をオフライン状態とすると、前記運用系の情報記憶装置に切り替わった前記相手の情報記憶装置から、前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンと対応付けられた前記ソフトウェアパッケージを受信するパッケージ受信部と、
前記パッケージ受信部が前記ソフトウェアパッケージを受信した場合、当該ソフトウェアパッケージをインストールするバージョンアップ部と、
前記バージョンアップ部が前記ソフトウェアパッケージのインストールを完了すると、自装置を前記待機系の情報記憶装置として動作させるように切り替える切替制御部
を備えた情報記憶装置。 - 前記記憶部は、前記バージョン情報および前記ソフトウェアパッケージを履歴で記憶しており、
前記バージョン判定部が、自装置で適用されている前記ソフトウェアのバージョンと、前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンの比較を行った結果、自装置で適用されている前記ソフトウェアのバージョンの方が、前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンよりも進んでおり、かつ、前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンと自装置で適用されている前記ソフトウェアのバージョンとの間には2世代以上のバージョンの差があると判定した場合、
前記パッケージ送信部は、
前記2世代以上のバージョンそれぞれに対応付けられた前記ソフトウェアパッケージを送信する
ことを特徴とする請求項1記載の情報記憶装置。 - 前記ソフトウェアパッケージには、前記ソフトウェアのバージョンに対応する1つ以上のソフトウェア更新用ファイルが含まれる
ことを特徴とする請求項1または請求項2記載の情報記憶装置。 - 前記切替制御部は、
自装置が前記待機系の情報記憶装置として動作し、かつ、前記バージョン判定部が、自装置で適用されている前記ソフトウェアのバージョンの方が、前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンよりも進んでいると判定した場合、自装置を前記運用系の情報記憶装置として動作させるよう切替を行う
ことを特徴とする請求項1から請求項3のうちのいずれか1項記載の情報記憶装置。 - ネットワークに接続された、少なくとも2つの情報記憶装置、の1つを運用系の情報記憶装置、残りを待機系の情報記憶装置として動作させる冗長化システムに備えられた情報記憶装置によるソフトウェア更新方法であって、
バージョン確認部が、冗長化のペアとなる相手の情報記憶装置から、前記相手の情報記憶装置で適用されているソフトウェアのバージョンに関するバージョン情報を取得するステップと、
バージョン判定部が、前記バージョン確認部が取得した前記バージョン情報、および、自装置で適用されている前記ソフトウェアのバージョンに関する前記バージョン情報に基づき、自装置で適用されている前記ソフトウェアのバージョンと、前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンを比較するステップと、
自装置が前記運用系の情報記憶装置として動作し、かつ、前記バージョン判定部が、自装置で適用されている前記ソフトウェアのバージョンの方が、前記待機系の情報記憶装置として動作している前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンよりも進んでいると判定した場合、パッケージ送信部が、前記相手の情報記憶装置に対して、自装置で適用されている前記ソフトウェアのバージョンと対応付けられたソフトウェアパッケージを送信するステップと、
前記バージョン判定部が、前記待機系の情報記憶装置として動作している前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンの方が、自装置で適用されている前記ソフトウェアのバージョンよりも進んでいると判定した場合、制御部が、自装置を冗長化の機能が動作しないオフライン状態とするステップと、
前記制御部が自装置をオフライン状態とすると、パッケージ受信部が、前記運用系の情報記憶装置に切り替わった前記相手の情報記憶装置から、前記相手の情報記憶装置で適用されている前記ソフトウェアのバージョンと対応付けられた前記ソフトウェアパッケージを受信するステップと、
バージョンアップ部が、前記パッケージ受信部が前記ソフトウェアパッケージを受信した場合、当該ソフトウェアパッケージをインストールするステップと、
切替制御部が、前記バージョンアップ部が前記ソフトウェアパッケージのインストールを完了すると、自装置を前記待機系の情報記憶装置として動作させるように切り替えるステップ
を備えたソフトウェア更新方法。 - ネットワークに接続された、少なくとも2つの情報記憶装置、の1つを前記運用系の情報記憶装置、残りを前記待機系の情報記憶装置として動作させる冗長化システムにおいて、
請求項1から請求項4のうちのいずれか1項記載の情報記憶装置を備えた
ことを特徴とする冗長化システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019124440A JP7454919B2 (ja) | 2019-07-03 | 2019-07-03 | 情報記憶装置、ソフトウェア更新方法、および、冗長化システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019124440A JP7454919B2 (ja) | 2019-07-03 | 2019-07-03 | 情報記憶装置、ソフトウェア更新方法、および、冗長化システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021012406A JP2021012406A (ja) | 2021-02-04 |
JP7454919B2 true JP7454919B2 (ja) | 2024-03-25 |
Family
ID=74227990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019124440A Active JP7454919B2 (ja) | 2019-07-03 | 2019-07-03 | 情報記憶装置、ソフトウェア更新方法、および、冗長化システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7454919B2 (ja) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000284957A (ja) | 1999-03-31 | 2000-10-13 | Fuji Photo Optical Co Ltd | マルチマイコンシステム |
JP2007034666A (ja) | 2005-07-27 | 2007-02-08 | Nec Corp | 冗長構成装置、冗長構成システム、バージョンアップ可能化方法、及びバージョンアップ可能化プログラム |
JP2007317221A (ja) | 2007-07-19 | 2007-12-06 | Seiko Epson Corp | ソフトウェアの管理方法 |
JP2008217201A (ja) | 2007-03-01 | 2008-09-18 | Nec Corp | 自動アップデート方法 |
JP2011158928A (ja) | 2010-01-29 | 2011-08-18 | Yokogawa Electric Corp | フィールド機器 |
JP2011204267A (ja) | 2011-06-10 | 2011-10-13 | Fujitsu Ltd | データ処理装置間の基本入出力プログラムの同期化方法及びコンピュータシステム |
JP2016143187A (ja) | 2015-01-30 | 2016-08-08 | 沖電気工業株式会社 | 冗長通信装置及びその制御方法 |
-
2019
- 2019-07-03 JP JP2019124440A patent/JP7454919B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000284957A (ja) | 1999-03-31 | 2000-10-13 | Fuji Photo Optical Co Ltd | マルチマイコンシステム |
JP2007034666A (ja) | 2005-07-27 | 2007-02-08 | Nec Corp | 冗長構成装置、冗長構成システム、バージョンアップ可能化方法、及びバージョンアップ可能化プログラム |
JP2008217201A (ja) | 2007-03-01 | 2008-09-18 | Nec Corp | 自動アップデート方法 |
JP2007317221A (ja) | 2007-07-19 | 2007-12-06 | Seiko Epson Corp | ソフトウェアの管理方法 |
JP2011158928A (ja) | 2010-01-29 | 2011-08-18 | Yokogawa Electric Corp | フィールド機器 |
JP2011204267A (ja) | 2011-06-10 | 2011-10-13 | Fujitsu Ltd | データ処理装置間の基本入出力プログラムの同期化方法及びコンピュータシステム |
JP2016143187A (ja) | 2015-01-30 | 2016-08-08 | 沖電気工業株式会社 | 冗長通信装置及びその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2021012406A (ja) | 2021-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10545469B2 (en) | Systems and methods for self provisioning building equipment | |
US9798632B2 (en) | Providing boot data in a cluster network environment | |
JP5564956B2 (ja) | 情報処理装置及び情報処理装置のファームウェア更新方法 | |
EP2456257B1 (en) | Method and system for upgrading wireless data card | |
US8713553B2 (en) | Disk array apparatus and firmware update method therefor | |
US9477456B2 (en) | Method for installing and simultaneously updating operating system software | |
US10936295B2 (en) | Software update system | |
JP2004192602A (ja) | ホームネットワークシステムおよびその運用方法 | |
CN107066300B (zh) | 一种存储设备的固件升级方法和存储设备 | |
WO2016048845A1 (en) | Over-the-air updates for ble devices | |
CN104104547A (zh) | 一种网络设备配置文件的管理方法及网络控制器 | |
EP4092524B1 (en) | Ota differential upgrade method and system of master-slave architecture | |
JP6028851B2 (ja) | 情報処理装置、プログラム更新方法、及びプログラム | |
JP2008299709A (ja) | ファームウェア更新システム、ネットワーク接続機器、ファームウェア更新方法及びプログラム | |
JP2015158773A (ja) | 仮想装置の動作検証装置,仮想装置の動作検証システム及びプログラム | |
JP7454919B2 (ja) | 情報記憶装置、ソフトウェア更新方法、および、冗長化システム | |
JP7484791B2 (ja) | Otaマスタ、更新制御方法、及び更新制御プログラム | |
CN112181461B (zh) | 升级方法、网络模块、设备、服务器以及升级系统 | |
KR101282891B1 (ko) | 리셋 이력 관리 기능을 갖는 광전송로 종단장치 및 그 방법 | |
US20150154025A1 (en) | Information processing apparatus and method | |
KR20160112787A (ko) | 테스트 시스템 및 그 제어 방법 | |
JP6554801B2 (ja) | 冗長通信装置及びその制御方法 | |
KR20150080356A (ko) | 홈오토시스템의 원거리업데이트방법 | |
KR20200112137A (ko) | Plc 시스템의 펌웨어 관리 장치 및 방법과, 그 plc 시스템 | |
WO2012177597A1 (en) | Networking elements as a patch distribution platform for distributed automation and control domains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230410 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230605 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20230605 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230919 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231109 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240312 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7454919 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |