(57)【特許請求の範囲】
【請求項１】
監視対象装置と、前記監視対象装置と通信網を介して接続された監視制御装置とを複数台備える水平分散型の監視制御システムであって、
前記監視制御装置は、
ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）表示を行うＧＵＩ部と、
前記監視対象装置と通信可能な装置ＩＦ部と、
保有するデータを管理するデータ管理部と、
前記データ管理部へのアクセス処理を行うリモートオブジェクトが登録されるリモートオブジェクトレジストリ部と、
前記ＧＵＩ部、前記装置ＩＦ部及び前記リモートオブジェクト部とのコネクションを制御するコネクション制御部と
を備え、
前記監視制御装置のいずれか１台が有する前記データ管理部を現用系とし、他の１台が有する前記データ管理部を待機系とし、全ての前記監視制御装置は、前記現用系および前記待機系のデータ管理部を共有し、
前記複数の前記監視制御装置の前記コネクション制御部は、前記監視制御装置の前記いずれか１台に属する前記リモートオブジェクトレジストリ部または前記他の一台に属する前記リモートオブジェクトレジストリ部から前記リモートオブジェクトを取得し、
前記監視制御装置の前記いずれか１台及び前記他の１台の各々において、両者が通信において有効か否かを示す状態情報と、前記両者の前記データ管理部が現用系であるか待機系であるかを示す現用／待機情報とを有する冗長化制御データが前記データ管理部に格納され、
前記両者の前記データ管理部は互いに通信して前記冗長化制御データを更新し、
前記両者以外の前記監視制御装置の各々において、前記状態情報を有する冗長化管理データが前記コネクション制御部に格納され、前記コネクション制御部は前記冗長化管理データの前記状態情報が無効である前記データ管理部にはアクセスせずに有効である前記データ管理部にアクセスし、前記両者の前記データ管理部のうち一方へのアクセスが正常に実行できないときに前記冗長化管理データにおいて前記一方の前記状態情報を無効とし、前記冗長化制御データの前記状態情報と前記冗長化管理データの前記状態情報とが互いに相違しているときに前記冗長化管理データの前記状態情報を前記冗長化制御データの前記状態情報に更新することを特徴とする監視制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視制御システムに関し、特に、水平分散構成時における冗長化の技術に関する。
【背景技術】
【０００２】
従来の監視制御装置（ＯｐＳ）は、通常、サーバクライアント構成であることが多く、このような監視制御システムが、例えば特許文献１に開示されている。特許文献１記載の技術では、監視制御システムは、クライアントサーバ型ＯＰＳをクライアントＯＰＳ１とサーバＯＰＳ２に分離して、該クライアントＯＰＳ１と、該サーバＯＰＳ２と、コントローラ３とから構成されている。
【０００３】
【特許文献１】特開２００２−０７３１６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１記載の監視制御装置のようなサーバクライアント型のシステムにおいて、実運用を考慮した冗長化構成とする場合、複数クライアントの導入、サーバ、ハードディスクの２重化、障害発生時の系切替えのミドルウェアの導入等が必要である。このような冗長化対策は、小・中規模向けのシステムにとっては、ハードウェア費用、およびシステムの保守・管理コストの負担が大きくなるという問題があった。
【０００５】
一方、単独の監視制御装置を複数設置し、冗長化構成とする場合、複数の監視制御装置を使用した水平分散の構成は可能であるが、各監視制御装置間でのデータ連携がなくデータが分散し管理が煩雑になるという問題があった。
【０００６】
そこで、本発明は、水平分散構成時にデータの分散を回避でき、かつ低コストで冗長化可能な監視制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る請求項１記載の監視制御システムは、監視対象装置と、前記監視対象装置と通信網を介して接続された監視制御装置とを複数台備える水平分散型の監視制御システムであって、前記監視制御装置は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）表示を行うＧＵＩ部と、前記監視対象装置と通信可能な装置ＩＦ部と、保有するデータを管理するデータ管理部と、前記データ管理部へのアクセス処理を行うリモートオブジェクトが登録されるリモートオブジェクトレジストリ部と、前記ＧＵＩ部、前記装置ＩＦ部及び前記リモートオブジェクト部とのコネクションを制御するコネクション制御部とを備え、前記監視制御装置のいずれか１台が有する前記データ管理部を現用系とし、他の１台が有する前記データ管理部を待機系とし、全ての前記監視制御装置は、前記現用系および前記待機系のデータ管理部を共有し、前記複数の前記監視制御装置の前記コネクション制御部は、前記監視制御装置の前記いずれか１台に属する前記リモートオブジェクトレジストリ部または前記他の一台に属する前記リモートオブジェクトレジストリ部から前記リモートオブジェクトを取得し、前記監視制御装置の前記いずれか１台及び前記他の１台の各々において、両者が通信において有効か否かを示す状態情報と、前記両者の前記データ管理部が現用系であるか待機系であるかを示す現用／待機情報とを有する冗長化制御データが前記データ管理部に格納され、前記両者の前記データ管理部は互いに通信して前記冗長化制御データを更新し、前記両者以外の前記監視制御装置の各々において、前記状態情報を有する冗長化管理データが前記コネクション制御部に格納され、前記コネクション制御部は前記冗長化管理データの前記状態情報が無効である前記データ管理部にはアクセスせずに有効である前記データ管理部にアクセスし、前記両者の前記データ管理部のうち一方へのアクセスが正常に実行できないときに前記冗長化管理データにおいて前記一方の前記状態情報を無効とし、前記冗長化制御データの前記状態情報と前記冗長化管理データの前記状態情報とが互いに相違しているときに前記冗長化管理データの前記状態情報を前記冗長化制御データの前記状態情報に更新することを特徴とする。
【発明の効果】
【００１０】
本発明に係る請求項１記載の監視制御システムは、データの分散を回避でき、さらに低コストで冗長化を実現することができる。
【発明を実施するための最良の形態】
【００１１】
（実施の形態１）
本発明に係る実施の形態１の監視制御システムの概略構成図を図１に示す。図１に示すように、本実施の形態１に係る監視制御システムは、監視対象装置２０（♯１〜♯ｎ）と、監視対象装置２０（♯１〜♯ｎ）と情報通信網（ＤＣＮ）を介して接続される監視制御装置１０（♯１〜♯ｎ）とを複数台備える水平分散型の監視制御システムである。ここで、括弧内の♯記号は装置番号を示すものとする。
【００１２】
図２は、監視制御装置１０の内部構成を示したブロック図である。監視制御装置１０は、ＧＵＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）表示を行うＧＵＩ部１と、監視対象装置２０との通信制御を行う装置ＩＦ部２と、監視制御装置１０で保有するデータを管理するデータ管理部３と、各部のコネクションを制御するコネクション制御部４と、データ管理部３へのアクセス処理を行うリモートオブジェクトが登録されたリモートオブジェクトレジストリ５とから構成されている。なお、データ管理部３で管理するデータとは、例えば、監視対象装置２０から収集したデータであり、データ管理部３は、当該データを保持するデータベースを格納している。
【００１３】
図１に示した監視制御装置１０（♯１〜♯ｎ）は、全て図２に示した内部構成を有しているが、所定の監視制御装置１０が有するデータ管理部３を全ての監視制御装置１０が共有する。ここでは一例として、共有しているデータ管理部３を監視制御装置１０（♯１）が有しており、その他の監視制御装置１０（♯２〜♯ｎ）が有するデータ管理部３は使用しないものとして、本実施の形態１に監視制御システムの動作を説明する。なお、以下の説明において、例えば、監視制御装置１０（♯１）が有するデータ管理部３をデータ管理部３（♯１）とも表現する。
【００１４】
図３に本監視制御システムの動作を示すフローチャートの一例を示す。図３は監視制御装置１０（例えば♯２）のオペレータ操作により監視制御装置１０（♯１）に保有されたデータ（データ管理部３（♯１）が保持するデータ）への参照要求が発生した場合を例としている。まず、本動作の前段階として、データ管理部３（♯１）は、起動時に、自身へのアクセス処理を行うリモートオブジェクトをリモートオブジェクトレジストリ５（♯１）に登録する。なお、この動作は監視制御装置１０（♯２〜♯ｎ）も実施するが、データ管理部３（♯２〜♯ｎ）は共有化されておらず、以降の動作では使用されない。
【００１５】
ステップＳＴ１にて、オペレータ操作をＧＵＩ部１（♯２）が受け付ける。
【００１６】
ステップＳＴ２にて、ＧＵＩ部１（♯２）は、コネクション制御部４（♯２）に対して、データ管理部アクセス要求としてデータ取得要求信号を送信する。
【００１７】
ステップＳＴ３にて、データ取得要求信号を受け取ったコネクション制御部４（♯２）は、共有化しているデータ管理部３（♯１）を有する監視制御装置１０（♯１）のＩＰアドレスを取得する。
【００１８】
ステップＳＴ４にて、共有化しているデータ管理部３（♯１）へのアクセス処理を行うリモートオブジェクトが取得済みかどうかを判断する。
【００１９】
ステップＳＴ４で判断した結果、リモートオブジェクトを取得済みでない場合は、ステップＳＴ５にて、コネクション制御部４（♯２）は、リモートオブジェクトレジストリ５（♯１）からリモートオブジェクトを取得する。
【００２０】
ステップＳＴ６にて、コネクション制御部４（♯２）は、取得したリモートオブジェクトのメソッドを使用して共有化しているデータ管理部３（♯１）へアクセスし、データベースから所望のデータを取得する。
【００２１】
ステップＳＴ７にて、取得したデータはコネクション制御部４（♯２）からＧＵＩ部１（♯２）に送信され、オペレータに結果として出力される。
【００２２】
ステップＳＴ４で判断した結果、リモートオブジェクトをすでに取得していた場合は、ステップＳＴ６およびＳＴ７を経て、オペレータに結果が出力される。
【００２３】
なお、本監視制御システムの動作をデータ管理部３（♯１）へのデータ参照で説明したが、データ管理部３（♯１）へのデータ更新も同様である。
【００２４】
したがって、本実施の形態１に係る監視制御システムは、データ管理部を共有化した水平分散の構成が可能となり、データが各監視制御装置に分散するという問題を回避することができる。また、共有化するデータ管理部のＩＰアドレスを自監視制御装置のＩＰアドレスに設定することで、単独の監視制御装置として使用することもできる。
【００２５】
すなわち、単独でも使用可能であり、保守性も高いという長所を維持したまま、複数使用時にデータが分散してしまい管理が煩雑になるという水平分散時に発生する短所を解決することができる。
【００２６】
（実施の形態２）
本実施の形態２に係る監視制御システムの構成は、実施の形態１で述べた図１および図２と同一である。ただし、本実施の形態２では、実施の形態１に係る監視制御システムにおいて、共有化している監視制御装置１０（♯１）の障害発生時における可用性向上のための冗長化を考慮している。
【００２７】
監視制御装置１０（♯１〜♯ｎ）のうち、所定の１台が有するデータ管理部３を現用系、他の１台が有するデータ管理部３を待機系として全ての監視制御装置１０が共有し、データの更新・参照処理は現用系および待機系のデータ管理部３の両方に対して行う。また、後述するように、コネクション制御部４は、データ管理部３の状態（有効／無効）を表す冗長化管理データを保持し、データ管理部３は、データ管理部３の状態（有効／無効）、現用系／待機系、更新日付からなる冗長化制御データを保持しており、コネクション制御部４およびデータ管理部３は、冗長化管理データと冗長化制御データを用いて、現用系、待機系の状態管理を行い、障害発生に備える。
【００２８】
そして、いずれか一方の系に障害が発生した場合は、残りの系のみによる片系運用を行う。ここでは一例として、現用系、待機系のデータ管理部３をそれぞれ監視制御装置１０（♯１）、監視制御装置１０（♯２）が有しており、その他の監視制御装置１０（♯３〜♯ｎ）が有するデータ管理部３は使用しないものとする。なお、コネクション制御部４（♯１〜♯ｎ）がデータ管理部（♯１、♯２）へアクセスするときは、実施の形態１で述べたように、リモートオブジェクトを取得して行うが、アクセス毎に生じる当該動作説明は重畳であるため、以下の説明では省略する。
【００２９】
続いて、本実施の形態２に係る監視制御システムの冗長化動作を図４を参照して詳述する。図４は、状態管理に必要な冗長化制御データを使用した冗長化制御の動作を示す図である。図４（ａ）〜（ｅ）に示すように、データ管理部３は冗長化制御データを保持しており、コネクション制御部４は冗長化管理データを保持している。
【００３０】
コネクション制御部４は、データ管理部３へのアクセスの度に、冗長化管理データを付加して送信し、データ管理部３は、受け取った冗長化管理データと、保持している冗長化制御データとを元に現用系、待機系の状態を判断し、コネクション制御部４に応答する。コネクション制御部４は、当該応答に基づいて、図４（ａ）〜（ｅ）に示すようにデータ管理部３へのアクセス処理を行っている。なお、以下の説明では、アクセス毎に生じる当該動作を簡略化して説明する。
【００３１】
図４（ａ）は、現用系の監視制御装置１０（♯１）が初期起動の状態であり、待機系の監視制御装置１０（♯２）が起動していない状態である。このとき、データ管理部３（♯１）は、データ管理部３（♯２）と状態整合を行い、結果として、図４（ａ）に示す冗長化制御データを保持する。状態更新日付はデータ管理部３（♯１）が現用系として動作開始した時間を格納する。待機系のデータ管理部３（♯２）は起動していないので状態を無効とする。なお、データ管理部３（♯１、♯２）は起動時および一定時間毎に状態整合を実施する。
【００３２】
このとき、コネクション制御部４（例えば、♯ｎ）が現用系および待機系のデータ管理部３（♯１、♯２）の両方にアクセスすると、待機系のデータ管理部３（♯２）にはアクセスできず、現用系のデータ管理部３（♯１）のみにアクセスし、データ管理部３（♯１）が保持する冗長化制御データを読み取って、図４（ａ）に示すように冗長化管理データを更新する。
【００３３】
図４（ｂ）は、待機系の監視制御装置１０（♯２）が起動した場合の状態である。待機系のデータ管理部３（♯２）は現用系のデータ管理部３（♯１）と状態整合を行い、現用系のデータ管理部３（♯１）に保持されているデータ（例えば、監視対象装置２０から収集したデータ）と同期をとり、データベースに更新した後、冗長化制御データを更新し、待機系としての起動が完了する。同時に、現用系のデータ管理部３（♯１）でも冗長化制御データを更新する。
【００３４】
そして、コネクション制御部４（♯ｎ）が現用系のデータ管理部３（♯１）にアクセスすると、冗長化制御データを読み取って、冗長化管理データを更新すると共に、以降は現用系のデータ管理部３（♯１）および待機系のデータ管理部３（♯２）の両方へアクセスを開始し、冗長化運用へ遷移する。例えば、コネクション制御部４（♯ｎ）がデータ管理部３へアクセスしてデータを更新する際は、現用系のデータ管理部３（♯１）および待機系のデータ管理部３（♯２）に格納されているデータベースの両方をトランザクション処理で更新する。
【００３５】
図４（ｃ）は、現用系のデータ管理部３（♯１）の通信ケーブル故障による障害が発生した場合の状態である。コネクション制御部４（♯ｎ）が現用系のデータ管理部３（♯１）へのアクセスに失敗した場合、コネクション制御部４（♯ｎ）は１トランザクション内で、待機系のデータ管理部３（♯２）の冗長化制御データのうち、データ管理部３（♯１）を無効状態、データ管理部３（♯２）を現用系に更新する。コネクション制御部４（♯ｎ）が保持する冗長化管理データについてもデータ管理部３（♯１）は無効に更新し、以降はデータ管理部３（♯１）にはアクセスを行わない。この状態から、データ管理部３（♯２）のみでの片系運用となる。各監視制御装置１０は水平分散されているため、データ管理部３（♯１）にアクセスした時点で個々に障害を検出し、上記動作によりデータ管理部３（♯２）のみの片系運用に順次遷移する。
【００３６】
図４（ｄ）は、データ管理部３（♯１）の通信ケーブルの故障が復旧した直後の状態である。この場合、データ管理部３（♯１）およびデータ管理部３（♯２）はそれぞれ異なった冗長化制御データを保持することになる。コネクション制御部４（♯ｎ）は、冗長化管理データにおいてデータ管理部３（♯１）が無効状態となっているため、データ管理部３（♯２）のみにアクセスを続ける。なお、障害中に一度もデータ管理部３（♯１、♯２）にアクセスしていないコネクション制御部４（例えば、♯３）は、データ管理部３（♯１）およびデータ管理部３（♯２）の両方にアクセスする可能性があるが、この場合、冗長化制御データが両系で矛盾していることを読み取り、コネクション制御部４（♯３）は更新日付の新しい現用系（この場合はデータ管理部３（♯２））が正規の現用系であると判断し、以降はデータ管理部３（♯２）のみにアクセスを続ける。
【００３７】
図４（ｅ）は、データ管理部３（♯１）の復旧後、データ管理部３（♯２）との状態整合を実施した後の状態である。状態整合によりデータ管理部３（♯１）はデータ管理部３（♯２）に保持されているデータと同期をとり、データベースを更新して待機系として起動する。冗長化制御データに関しても更新を行い、データ管理部３（♯１）の状態を有効、現用／待機を待機系にする。コネクション制御部４（♯ｎ）は、データ管理部３（♯２）の冗長化制御データを読み取って、データ管理部３（♯１）が待機系として起動したことを識別し、以降は現用系のデータ管理部３（♯２）および待機系のデータ管理部３（♯１）の両方へのアクセスを開始し、冗長化運用へと復帰する。
【００３８】
したがって、本実施の形態２に係る監視制御システムは、水平分散時にデータ共有を行いつつデータ管理部３への冗長化を実現することができ、可用性を向上することができる。また、共有化しているデータ管理部３は現用系および待機系のみであるので、データの分散を回避することができる。さらに、冗長化構成をソフトウェアで実現できるため、ハードディスクやサーバの２重化が不要であり、初期投資が抑えられるため、小・中規模向けシステムに低コストで導入することができる。
【図面の簡単な説明】
【００３９】
【図１】実施の形態１に係る監視制御システムを示す概略図である。
【図２】監視制御装置の内部構成を示すブロック図である。
【図３】実施の形態１に係る監視制御システムの動作を示すフローチャートである。
【図４】実施の形態２に係る監視制御システムの動作を示す図である。
【符号の説明】
【００４０】
１  ＧＵＩ部、２  装置ＩＦ部、３  データ管理部、４  コネクション制御部、５  リモートオブジェクトレジストリ。
【図１】
0004722724.tif 000002
【図２】
0004722724.tif 000003
【図３】
0004722724.tif 000004
【図４】
0004722724.tif 000005