説明

産業制御システムを管理する管理システム、管理方法および管理プログラム

【課題】異常時において適切な対処を行う。
【解決手段】制御装置と、制御装置に接続される制御ネットワークと、制御ネットワークを介して制御装置により制御される複数の機器とを備える産業制御システムの管理システムであって、産業制御システムの一部ずつを制御する制御ゾーン毎に設けられ、制御ゾーン内の機器と制御ネットワークとの間の通信を中継する複数のファイヤウォール部と、複数のファイヤウォール部のそれぞれからイベントを収集して解析し、制御ゾーン毎の異常を検知するイベント解析部と、異常が検知された制御ゾーンに設けられたファイヤウォール部を介する通信動作を変更する通信管理部と、を備える管理システムを提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、産業制御システムを管理する管理システム、管理方法および管理プログラムに関する。
【背景技術】
【0002】
工業システムおよびインフラストラクチャシステムの管理および制御をする産業制御システム(ICS)が知られている(例えば、非特許文献1参照)。従来、産業制御システムは、外部ネットワークとは接続されず、固有のプロトコルで動作するものが多かった。しかし、近年、産業制御システムは、インターネットプロトコル等の一般的なプロトコルにより接続され、また、外部ネットワークと接続されたシステムも多くなってきた。
【0003】
非特許文献1 "SCADA"、[online]、ウィキペディア、[2011年3月30日検索]、インターネット〈URL:http://ja.wikipedia.org/wiki/SCADA〉
特許文献1 特開2008−054204号公報
特許文献2 特開2007−134748号公報
特許文献3 特開2007−129274号公報
特許文献4 特開2006−277185号公報
特許文献5 特開2005−115788号公報
特許文献6 特開2001−216423号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、産業制御システムは、外部ネットワークと接続されると、外部からの攻撃の脅威が増す。従って、このような産業制御システムでは、内部に備える機器等に異常が発生した場合、対処プロセスを実行する必要がある。
【0005】
しかしながら、産業制御システムの中には、対処プロセスが確実に実行されなければならないものも存在し、また、対処プロセスの実行に伴う他システムへの影響を最小限にしなければならないものも存在する。従って、産業制御システムでは、異常発生時において、適切な対処プロセスを確実に実行する必要があった。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の第1の態様においては、制御装置と、前記制御装置に接続される制御ネットワークと、前記制御ネットワークを介して前記制御装置により制御される複数の機器とを備える産業制御システムの管理システムであって、前記産業制御システムの一部ずつを制御する制御ゾーン毎に設けられ、前記制御ゾーン内の機器と前記制御ネットワークとの間の通信を中継する複数のファイヤウォール部と、前記複数のファイヤウォール部のそれぞれからイベントを収集して解析し、前記制御ゾーン毎の異常を検知するイベント解析部と、異常が検知された前記制御ゾーンに設けられたファイヤウォール部を介する通信動作を変更する通信管理部と、を備える管理システム、並びに、このような管理システムに関する管理方法および管理プログラムを提供する。
【0007】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0008】
【図1】本実施形態に係るコンピューティングシステム10の構成を示す。
【図2】状態ワークフローおよび異常検知条件の一例を示す。
【図3】本実施形態の変形例に係るデータセンタシステム100の構成を示す。
【図4】データセンタシステム100の温度異常時における処理フローの一例を示す。
【図5】データセンタシステム100における対処フローの一例を示す。
【図6】本実施形態に係るコンピュータ1900のハードウエア構成の一例を示す。
【発明を実施するための形態】
【0009】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
図1は、本実施形態に係るコンピューティングシステム10の構成を示す。本実施形態に係るコンピューティングシステム10は、産業制御システム20と、管理システム30とを備える。
【0011】
産業制御システム20は、複数のコンピュータおよび複数の機器等が接続されたシステムである。産業制御システム20は、一例として、工業システムおよびインフラストラクチャ(交通およびエネルギ等)システム等の各オブジェクトの管理および制御をするシステムである。
【0012】
産業制御システム20は、一例として、一つのビル内のネットワークに接続された様々なデバイス(例えば、電気、ガス、水道、空調およびセキュリティシステム等)を管理するシステムである。また、産業制御システム20は、一つの大きな制御システム内における一部分のシステムであってもよい。例えば、産業制御システム20は、都市全体を管理するシステムを構成する部分的な管理システム(例えば、ビル管理システム、工場管理システム、水道管理システム、および電気管理システム等)であってもよい。
【0013】
また、産業制御システム20は、一例として、オフィス内または家庭内のネットワークに接続された様々なデバイス(例えば電話機およびコピー機、等々)を管理するシステムであってもよい。また、産業制御システム20は、企業等内のネットワークに接続された複数のコンピュータを管理するシステムであってもよいし、データセンタ等のネットワークに接続された多数のサーバを管理するシステムであってもよい。
【0014】
本実施形態において、産業制御システム20は、複数の機器22と、制御装置24と、制御ネットワーク26とを有する。複数の機器22のそれぞれは、当該産業制御システム20内に備えられる各種のデバイスである。複数の機器22のそれぞれは、一例として、当該産業制御システム20における制御対象となるデバイス、これらのデバイスを制御するPLC(Programmable Logic Controller)、デイバスの状態等を検出するセンサ、および、コンピュータ等の情報処理装置等である。
【0015】
制御装置24は、コンピュータ等により実現される。制御装置24は、複数の機器22のそれぞれを制御し、または、複数の機器22のそれぞれから情報を取得する。
【0016】
制御ネットワーク26は、制御装置24と複数の機器22との間を接続して、情報を相互に伝達させる。制御ネットワーク26は、一例として、インターネットプロトコル等の所定のプロトコルにより制御装置24と複数の機器22のそれぞれの間のデータを転送する。
【0017】
管理システム30は、産業制御システム20を管理する。より詳しくは、管理システム30は、産業制御システム20の状態を取得し、取得した状態に応じて当該産業制御システム20を制御する。
【0018】
管理システム30は、複数のファイヤウォール部32と、ワークフローデータベース34と、応答データベース36と、イベント解析部38と、通信管理部40とを有する。
【0019】
ここで、産業制御システム20は、複数の機器22を一部ずつ制御するための複数の制御ゾーン28が形成される。複数のファイヤウォール部32のそれぞれは、複数の制御ゾーン28のそれぞれ毎に設けられる。複数のファイヤウォール部32のそれぞれは、対応する制御ゾーン28内の機器22と制御ネットワーク26との間の通信を中継する。即ち、制御装置24から制御ネットワーク26を介して複数の制御ゾーン28内のそれぞれの機器22へと入力されるデータ、および、複数の制御ゾーン28内のそれぞれの機器22から制御ネットワーク26を介して制御装置24へと出力されるデータは、対応するファイヤウォール部32を経由する。
【0020】
また、複数のファイヤウォール部32のそれぞれは、対応する制御ゾーン28内の機器22と制御ネットワーク26との間の通信を制御する。例えば、複数のファイヤウォール部32のそれぞれは、ある特定の機器22から制御ネットワーク26へと送出されるメッセージのヘッダの内容を書き換えたり、当該メッセージを廃棄したりする。また、複数のファイヤウォール部32のそれぞれは、通信量を制限したり、通信ルートを変更したりしてもよい。
【0021】
ワークフローデータベース34は、産業制御システム20の状態変化のフローを示す状態ワークフロー、および、状態ワークフローに示された各状態における異常検知条件を格納する。状態ワークフローおよび異常検知条件は、管理システム30の管理者によって予め作成され、ワークフローデータベース34に登録される。なお、状態ワークフローおよび異常検知条件については、図2等を参照して更に説明する。
【0022】
応答データベース36は、状態ワークフローに示された各状態に対応した、制御ゾーンに対する異常時における対処動作を示す対処フローを格納する。対処フローは、管理システム30の管理者によって予め作成され、応答データベース36に登録される。なお、対処フローについては、図2等を参照して更に説明する。
【0023】
イベント解析部38は、複数の制御ゾーンのそれぞれからイベントを収集して解析し、複数の制御ゾーンのそれぞれの異常を検知する。本実施形態においては、イベント解析部38は、複数のファイヤウォール部32のそれぞれからイベントを収集して解析し、制御ゾーン28毎の異常を検知する。
【0024】
ここで、イベントとは、産業制御システム20内において生じる事象であって、例えばセンサまたはコンピュータ等によって検出が可能な事象をいう。イベントは、一例として、産業制御システム20内の機器等に対して設けられたセンサにより検出された物理量(電力、温度、湿度、質量、体積および流量等)であってよい。また、イベントは、一例として、産業制御システム20内の情報処理装置等に入出力されるデータの測定値(例えば、データレート、データの送受信のレスポンス、エラーレート等)であってもよい。また、イベントは、一例として、産業制御システム20内の各機器の状態(例えば、スイッチの接続の有無および機器の動作モード等)、または、産業制御システム20内の情報処理装置を構成するリソースの状態(例えば、メモリのデータ占有量およびプロセッサの使用率等)であってもよい。
【0025】
イベント解析部38は、複数の制御ゾーン28毎の状態を、状態ワークフローに従って管理する。より詳しくは、イベント解析部38は、複数の制御ゾーン28毎に、対応するファイヤウォール部32から管理ネットワーク44を介してイベントを収集する。イベント解析部38は、複数の制御ゾーン28のそれぞれ毎に、収集したイベントが、ワークフローデータベース34内に格納された状態ワークフローにより特定される現在の状態における異常検知条件を満たすか否かを判断する。そして、イベント解析部38は、異常検知条件を満たしたと判断した場合には、対応する制御ゾーンの状態が状態ワークフローに従って変化したと判断する。なお、制御ゾーン28の状態を状態ワークフローに従って管理することについては、図2等を参照して更に説明をする。
【0026】
通信管理部40は、異常が検知された制御ゾーン28に設けられたファイヤウォール部32を介する通信動作を変更する。より詳しくは、通信管理部40は、複数の制御ゾーン28のそれぞれ毎に、対応する制御ゾーン28の状態が変化したと判断されたことに応じて、変化後の状態に対応した対処フローをファイヤウォール部32に対して適用する。
【0027】
管理ネットワーク44は、ワークフローデータベース34、応答データベース36、イベント解析部38および通信管理部40を互いに接続する。管理ネットワーク44は、制御ネットワーク26とは別個に設けられたネットワークである。
【0028】
さらに、管理ネットワーク44は、複数のファイヤウォール部32のそれぞれと接続される。複数のファイヤウォール部32のそれぞれは、複数の機器22と制御ネットワーク26との間を接続するためのデータ入出力用のポートと、管理ネットワーク44と接続される制御用のポートとを有する。そして、複数のファイヤウォール部32のそれぞれは、対応する制御ゾーン28内におけるイベントを取得し、取得したイベントを管理ネットワーク44を介してイベント解析部38に供給する。また、複数のファイヤウォール部32のそれぞれは、管理ネットワーク44を介して通信管理部40から与えられた制御命令に応じて、複数の機器22と制御ネットワーク26との間の通信を制御する。
【0029】
図2は、状態ワークフローおよび異常検知条件の一例を示す。ワークフローデータベース34は、一例として、図2に示されるような状態遷移図により表される状態ワークフローを格納する。そして、イベント解析部38は、図2に示されるような状態遷移図に基づき、複数の制御ゾーン28のそれぞれの状態を管理する。
【0030】
イベント解析部38は、制御ゾーン28が正常に動作している場合には、対応する制御ゾーン28が第1状態(ST1)であるとして管理する。第1状態(ST1)において、イベント解析部38は、複数の制御ゾーン28のそれぞれに設けられた予め定められた所定種類のセンサ(例えば温度センサ)の値を、対応するファイヤウォール部32からイベントとして取得する。
【0031】
第1状態(ST1)において、イベント解析部38は、収集した所定種類のセンサの値にエラーが発生していない場合(X=0)、対応する制御ゾーン28が、第1状態(ST1)に維持されていると判断する。しかし、第1状態(ST1)において、所定種類のセンサにエラーが発生して、且つ、エラーとなったセンサの個数がA個より大きい場合には(X>A)、イベント解析部38は、対応する制御ゾーン28が、第1状態(ST1)から第2状態(ST2)に変化したと判断する。また、第1状態(ST1)において、所定種類のセンサにエラーが発生して、且つ、エラーとなったセンサの個数がA個以下の場合には(X≦A)、イベント解析部38は、対応する制御ゾーン28が、第1状態(ST1)から第3状態(ST3)に変化したと判断する。
【0032】
ここで、「所定種類のセンサにエラーが発生して、且つ、エラーとなったセンサの個数がA個より大きい」という条件、および、「所定種類のセンサにエラーが発生して、且つ、エラーとなったセンサの個数がA個以下」という条件は、第1状態(ST1)における異常検知条件を示す。ワークフローデータベース34は、第1状態(ST1)に対応して、このような異常検知条件を格納する。
【0033】
第1状態(ST1)から第2状態(ST2)に変化した場合、通信管理部40は、対応する制御ゾーン28に対して、第1プランに従った対処フローを実行させる。通信管理部40は、一例として、第1プランとして、対応する制御ゾーン28を予め指定された手順でシャットダウンすることを実行させる。「第1プラン」は、第2状態(ST2)に対応して制御ゾーン28に適用する対処フローである。応答データベース36は、第2状態(ST2)に対応して、このような対処フローを格納する。そして、イベント解析部38は、第2状態(ST2)において、第1プランの実行が終了すると、対応する制御ゾーン28の動作が終了したと判断する。
【0034】
第3状態(ST3)において、イベント解析部38は、制御ネットワーク26が正常に動作しているかどうか(例えば制御ネットワーク26の混雑度)を、対応するファイヤウォール部32からイベントとして取得する。イベントを収集した結果、第3状態(ST3)において、制御ネットワーク26が正常に動作している場合(Y=真)、イベント解析部38は、対応する制御ゾーン28が第3状態(ST3)から第4状態(ST4)に変化したと判断する。また、第3状態(ST3)において、制御ネットワーク26が正常に動作していない場合(Y=偽)、イベント解析部38は、対応する制御ゾーン28が第3状態(ST3)から第5状態(ST5)に変化したと判断する。
【0035】
ここで、「制御ネットワーク26が正常に動作している」という条件、および、「制御ネットワーク26が正常に動作していない」という条件は、第3状態(ST3)における異常検知条件を示す。ワークフローデータベース34は、第3状態(ST3)に対応して、このような異常検知条件を格納する。
【0036】
第3状態(ST3)から第4状態(ST4)に変化した場合、通信管理部40は、対応する制御ゾーン28に対して、第2プランに従った対処フローを実行させる。通信管理部40は、一例として、第2プランとして、対応する制御ゾーン28の所定種類のセンサのうちこれまでに異常と判断されたセンサの値を無効とする処理を実行させる。「第2プラン」は、第4状態(ST4)に対応して制御ゾーン28に適用する対処フローである。応答データベース36は、第4状態(ST4)に対応して、このような対処フローを格納する。そして、イベント解析部38は、第2プランの実行が終了すると、対応する制御ゾーン28が第4状態(ST4)から第1状態(ST1)に変化したと判断する。
【0037】
第3状態(ST3)から第5状態(ST5)に変化した場合、通信管理部40は、対応する制御ゾーン28に対して、第3プランに従った対処フローを実行させる。通信管理部40は、一例として、第3プランとして、対応する制御ゾーン28の所定種類のセンサのうちこれまでに異常と判断されたセンサからのメッセージを遮断して制御ネットワーク26には転送しない処理を実行させる。「第3プラン」は、第5状態(ST5)に対応して制御ゾーン28に適用する対処フローである。応答データベース36は、第5状態(ST5)に対応して、このような対処フローを格納する。
【0038】
第5状態(ST5)において、イベント解析部38は、制御ネットワーク26が正常に動作しているかどうかを、対応するファイヤウォール部32からイベントとして取得する。イベントを収集した結果、第5状態(ST5)において、制御ネットワーク26が正常に動作している場合(Y=真)、イベント解析部38は、対応する制御ゾーン28が第5状態(ST5)から第1状態(ST1)に変化したと判断する。また、第5状態(ST5)において、制御ネットワーク26が正常に動作していない場合(Y=偽)、イベント解析部38は、対応する制御ゾーン28が第5状態(ST5)から第6状態(ST6)に変化したと判断する。
【0039】
第5状態(ST5)から第6状態(ST6)に変化した場合、通信管理部40は、対応する制御ゾーン28に対して、第1プランに従った対処フローを実行させる。「第1プラン」は、第6状態(ST6)に対応して制御ゾーン28に適用する対処フローである。応答データベース36は、第6状態(ST6)に対応して、このような対処フローを格納する。そして、イベント解析部38は、第6状態(ST6)において、第1プランの実行が終了すると、対応する制御ゾーン28の動作が終了したと判断する。
【0040】
以上のように、本実施形態に係る管理システム30によれば、異常発生時において、それぞれの状態毎に適切な対処プロセスを実行することができる。さらに、本実施形態に係る管理システム30によれば、産業制御システム20内の機器22およびコンピュータ等を直接制御するのではなく、通信されるデータに対する制御をするので、対処を容易に且つ早急に実行することができる。
【0041】
また、更に、本実施形態に係る管理システム30によれば、複数の制御ゾーン28毎にファイヤウォール部32を設けて通信の制御を行うので、異常に対する対処処理による影響を小さくすることができる。また、本実施形態に係る管理システム30によれば、ファイヤウォール部32を専用の管理ネットワーク44を介して制御するので、安全性を高くし、また、セキュリティ性も高くすることができる。
【0042】
なお、イベント解析部38が検知する異常検知条件、および、通信管理部40が実行するプランは、次のような内容であってもよい。
【0043】
即ち例えば、イベント解析部38は、第1の制御ゾーン28内の機器22である第1センサから異常値が送信されているか否かを検知する。そして、通信管理部40は、第1の制御ゾーン28内のセンサから異常値が送信されていることが検知された場合に、第1の制御ゾーン28に設けられたファイヤウォール部32を制御して、制御ネットワーク26に対する異常値の転送を遮断してもよい。これにより、管理システム30は、第1センサが例えば故障等により異常値が検出され続け、制御ネットワーク26の通信が正常に実行されなくなった場合において、制御ネットワーク26の動作を正常に戻すことができる。
【0044】
また例えば、通信管理部40は、第1の制御ゾーン28内の第1センサから異常値が送信されていることが検知された場合に、第1の制御ゾーン28に設けられたファイヤウォール部32を制御して、当該ファイヤウォール部32により異常値を正常値に変換させる。これにより、管理システム30は、第1センサの故障による外部への影響を少なくすることができる。
【0045】
また例えば、通信管理部40は、第1の制御ゾーン28内の第1センサから異常値が送信されていることが検知された場合に、第2の制御ゾーン28に設けられたファイヤウォール部32を制御して、第1センサの検出値に代えて、第2の制御ゾーン28内の第2センサによる検出値を制御ネットワーク26へと転送させてもよい。これにより、管理システム30は、第1センサのバックアップとなる第2センサの検出値に置き換えて、第1センサの故障による外部への影響を少なくすることができる。
【0046】
また例えば、イベント解析部38は、第1の制御ゾーン28内の機器22の動作が正常か否かを第1の制御ゾーン28に設けられたファイヤウォール部32から収集したイベントに基づき検知する。そして、通信管理部40は、第1の制御ゾーン28内の機器22の動作が異常であることが検知された場合に、第1の制御ゾーン28に設けられたファイヤウォール部32を制御して、当該機器22から他の制御ゾーン28への制御信号を遮断してもよい。これにより、管理システム30は、センサが例えば故障した場合、故障したセンサの結果が他の制御ゾーン28に影響を与えないようにできる。
【0047】
図3は、本実施形態の変形例に係るデータセンタシステム100の構成を示す。本実施形態は、データセンタシステム100に適用することができる。
【0048】
データセンタシステム100は、図1に示したコンピューティングシステム10と略同一の機能および構成を有する。同一の構成および同一の機能を有する構成要素については同一の名称および符号を付けて、相違点を除き説明を省略する。
【0049】
データセンタシステム100は、第1のデータセンタ50−1と、第2のデータセンタ50−2とを備える。第1のデータセンタ50−1および第2のデータセンタ50−2のそれぞれは、図1に示した制御ゾーン28に対応する。第1のデータセンタ50−1および第2のデータセンタ50−2は、例えば異なる都市に設けられ(例えば、一方は東京、他方は大阪)、障害発生において互いにバックアップをする関係となっている。
【0050】
それぞれのデータセンタ50は、一例として、計算機ゾーン52と、空調システム54と、複数の温度センサ56とを有する。計算機ゾーン52は、サーバ等が設けられる。空調システム54は、複数の温度センサ56により検出された温度値に応じて、サーバが設けられた部屋の温度を調整する。複数の温度センサ56は、サーバの温度を測定する。計算機ゾーン52、空調システム54および複数の温度センサ56のそれぞれは、図1に示した機器22に対応する。
【0051】
図4は、データセンタシステム100の温度異常時における処理フローの一例を示す。まず、イベント解析部38は、正常時において、データセンタ50毎に、複数の温度センサ56のそれぞれにより検出された温度をイベントとして取得する。イベント解析部38は、複数の温度センサ56のそれぞれにより検出された温度が正常温度範囲であれば、複数の温度センサ56のそれぞれが正常に動作していると判断する。
【0052】
イベント解析部38は、温度(イベント)を例えば一定期間毎に取得して、何れかのデータセンタ50において、温度センサ56が故障した場合(例えば、検出した温度が、温度レンジの最大値または最小値を示している場合)、処理をステップS11に進める。
【0053】
ステップS11において、イベント解析部38は、そのデータセンタ50内の全ての温度センサ56のうち50%以上が故障しているか否かを判断する。イベント解析部38は、そのデータセンタ50内の全ての温度センサ56のうち50%以上が故障している場合、処理をステップS16に進める。一方、イベント解析部38は、そのデータセンタ50内の全ての温度センサ56のうち50%未満が故障している場合、処理をステップS12に進める。
【0054】
ステップS12において、イベント解析部38は、制御ネットワーク26が正常に動作しているか否かを判断する。イベント解析部38は、制御ネットワーク26が正常に動作している場合には(S12の真)、処理をステップS13に進める。イベント解析部38は、制御ネットワーク26が正常に動作していない場合には(S12の偽)、処理をステップS14に進める。
【0055】
ステップS13において、通信管理部40は、第2プランに対応する対処フローを実行させる。通信管理部40は、一例として、第2プランとして、故障した温度センサ56の値を無効とする処理(例えば、故障した温度センサ56から出力された温度値を無効値に置き換える処理)を、そのデータセンタ50のファイヤウォール部32に実行させる。これにより、通信管理部40は、故障した温度センサ56により検出された温度値に応じて誤った温度制御がされなくなるので、サーバが設けられた部屋の温度を適切に調節させることができる。そして、イベント解析部38は、ステップS13の処理を終えると当該フローを抜けて、次に新たな故障した温度センサ56が検出されるまで、正常状態として動作を維持する。
【0056】
また、ステップS14において、通信管理部40は、第3プランに対応する対処フローを実行させる。通信管理部40は、一例として、第3プランとして、故障した温度センサ56の値の転送を遮断する処理(例えば、故障した温度センサ56から出力された温度値を破棄する処理)を、そのデータセンタ50のファイヤウォール部32に実行させる。これにより、通信管理部40は、故障した温度センサ56により検出された温度値に応じて誤った温度制御がされなくなり、さらに、ネットワークの混雑も無くなるので、サーバが設けられた部屋の温度を適切に調節するとともに、当該データセンタシステム100全体の処理も安定化させることができる。
【0057】
また、イベント解析部38は、ステップS14の処理を終えると、処理をステップS15に進める。ステップS15において、イベント解析部38は、制御ネットワーク26が正常に動作しているか否かを判断する。イベント解析部38は、制御ネットワーク26が正常に動作している場合には(S15の真)、当該フローを抜けて、次に新たな故障した温度センサ56が検出されるまで、正常状態として動作を維持する。イベント解析部38は、制御ネットワーク26が正常に動作していない場合には(S15の偽)、処理をステップS16に進める。
【0058】
ステップS16において、通信管理部40は、第1プランに対応する対処フローを実行させる。通信管理部40は、一例として、第1プランとして、そのデータセンタ50により提供されているサービスを他のデータセンタ50に移転して、そのデータセンタ50を停止させる処理を実行させる。これにより、通信管理部40は、故障した温度センサ56の数が多く、データセンタ50の温度制御を安定して実行できない可能性がある場合には、そのデータセンタ50の利用者に影響を与えずに、そのデータセンタ50を停止することができる。そして、通信管理部40は、ステップS16の処理を終えると、当該フローを抜けて、そのデータセンタ50に対する制御を終了する。
【0059】
図5は、データセンタシステム100における対処フローの一例を示す。通信管理部40は、ステップS16において実行する第1プランとして、例えば図5に示される対処フローを実行する。
【0060】
この場合、まず、ステップS21において、通信管理部40は、対応するデータセンタ50のファイヤウォール部32を介して、対応するデータセンタ50内の空調システム54を制御して、室温を最低に設定する。これにより、通信管理部40は、少なくとも温度の異常上昇により機器が破壊することを回避することができる。
【0061】
続いて、ステップS22において、通信管理部40は、対応するデータセンタ50のファイヤウォール部32を介して制御装置24に命令を与えて、対応するデータセンタ50により提供されている全てのサービスを、他方のデータセンタ50に移転する。即ち、第1のデータセンタ50−1に異常が生じていれば、第1のデータセンタ50−1により提供されている全てのサービスを第2のデータセンタ50−2に移転する。
【0062】
続いて、ステップS23において、通信管理部40は、移転処理が完了するまで処理を待機する。全てのサービスが移転されると(ステップS23のYes)、通信管理部40は、処理をステップS24に進める。そして、ステップS24において、通信管理部40は、対応するデータセンタ50の空調システム54の動作を停止する。以上により、通信管理部40は、そのデータセンタ50の利用者に影響を与えずに、そのデータセンタ50を停止することができる。
【0063】
以上のように、本実施形態に係るコンピューティングシステム10によれば、温度センサ56の故障時において、故障のレベルに応じて、データセンタ50に対して適切な対処を実行することができる。
【0064】
図6は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
【0065】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0066】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0067】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0068】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0069】
コンピュータ1900にインストールされ、コンピュータ1900を管理システム30として機能させるプログラムは、ワークフローデータベースモジュールと、応答データベースモジュールと、イベント解析モジュールと、通信管理モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、ワークフローデータベース34、応答データベース36、イベント解析部38および通信管理部40としてそれぞれ機能させる。
【0070】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるワークフローデータベース34、応答データベース36、イベント解析部38および通信管理部40として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピューティングシステム10の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の管理システム30が構築される。
【0071】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0072】
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0073】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0074】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0075】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0076】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0077】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0078】
10 コンピューティングシステム
20 産業制御システム
22 機器
24 制御装置
26 制御ネットワーク
28 制御ゾーン
30 管理システム
32 ファイヤウォール部
34 ワークフローデータベース
36 応答データベース
38 イベント解析部
40 通信管理部
44 管理ネットワーク
100 データセンタシステム
50 データセンタ
52 計算機ゾーン
54 空調システム
56 温度センサ
1900 コンピュータ
2000 CPU
2010 ROM
2020 RAM
2030 通信インターフェイス
2040 ハードディスクドライブ
2050 フレキシブルディスク・ドライブ
2060 CD−ROMドライブ
2070 入出力チップ
2075 グラフィック・コントローラ
2080 表示装置
2082 ホスト・コントローラ
2084 入出力コントローラ
2090 フレキシブルディスク
2095 CD−ROM

【特許請求の範囲】
【請求項1】
制御装置と、前記制御装置に接続される制御ネットワークと、前記制御ネットワークを介して前記制御装置により制御される複数の機器とを備える産業制御システムの管理システムであって、
前記産業制御システムの一部ずつを制御する制御ゾーン毎に設けられ、前記制御ゾーン内の機器と前記制御ネットワークとの間の通信を中継する複数のファイヤウォール部と、
前記複数のファイヤウォール部のそれぞれからイベントを収集して解析し、前記制御ゾーン毎の異常を検知するイベント解析部と、
異常が検知された前記制御ゾーンに設けられたファイヤウォール部を介する通信動作を変更する通信管理部と、
を備える管理システム。
【請求項2】
前記産業制御システムの状態変化のフローを示す状態ワークフロー、および、前記状態ワークフローに示された各状態における異常検知条件を格納するワークフローデータベースと、
前記状態ワークフローに示された各状態に対応した、前記制御ゾーンに対する対処フローを格納する応答データベースと、
を更に備え、
前記イベント解析部は、複数の制御ゾーンのそれぞれ毎に、収集したイベントが前記状態ワークフローにより特定される現在の状態における異常検知条件を満たすか否かを判断し、
前記複数の制御ゾーンのそれぞれ毎に、対応する制御ゾーンの状態が変化したと判断されたことに応じて、変化後の状態に対応した前記対処フローを前記ファイヤウォール部に対して適用する
請求項1に記載の管理システム。
【請求項3】
前記イベント解析部は、第1の前記制御ゾーン内の機器である第1センサから異常値が送信されているか否かを検知し、
前記通信管理部は、前記第1の制御ゾーン内の前記センサから異常値が送信されていることが検知されたことに応じて、前記第1の制御ゾーンに設けられた前記ファイヤウォール部を制御して、前記制御ネットワークに対する異常値の転送を遮断する
請求項1または2に記載の管理システム。
【請求項4】
前記通信管理部は、第1の前記制御ゾーン内の第1センサから異常値が送信されていることが検知されたことに応じて、第2の前記制御ゾーンに設けられた前記ファイヤウォール部を制御して、前記第1センサの検出値に代えて、前記第2の制御ゾーン内の第2センサによる検出値を前記制御ネットワークへと転送させる請求項1から3のいずれか一項に記載の管理システム。
【請求項5】
前記通信管理部は、第1の前記制御ゾーン内の第1センサから異常値が送信されていることが検知されたことに応じて、前記第1の制御ゾーンに設けられた前記ファイヤウォール部を制御して、当該ファイヤウォール部により異常値を正常値に変換させる請求項1から4のいずれか一項に記載の管理システム。
【請求項6】
前記イベント解析部は、第1の前記制御ゾーン内の機器の動作が正常か否かを前記第1の制御ゾーンに設けられた前記ファイヤウォール部から収集したイベントに基づき検知し、
前記第1の制御ゾーン内の機器の動作が異常であることが検知されたことに応じて、前記第1の制御ゾーンに設けられた前記ファイヤウォール部を制御して、当該機器から他の前記制御ゾーンへの制御信号を遮断する
請求項1から5のいずれか一項に記載の管理システム。
【請求項7】
前記複数のファイヤウォール部と、前記イベント解析部および前記通信管理部とを接続する管理ネットワークを更に備える請求項1から6の何れか一項に記載の管理システム。
【請求項8】
制御装置と、
前記制御装置に接続される制御ネットワークと、
前記制御ネットワークを介して前記制御装置により制御される複数の機器と、
複数の機器の一部ずつを備える制御ゾーン毎に設けられ、前記制御ゾーン内の機器と前記制御ネットワークとの間の通信を中継する複数のファイヤウォール部と、
前記複数のファイヤウォール部で発生するイベントを収集して解析し、制御ゾーン毎の異常を検知するイベント解析部と、
異常が検知された前記制御ゾーンに設けられたファイヤウォール部を介する通信動作を変更する通信管理部と、
を備える産業制御システム。
【請求項9】
制御装置と、前記制御装置に接続される制御ネットワークと、前記制御ネットワークを介して前記制御装置により制御される複数の機器と、前記複数の機器の一部ずつを制御する制御ゾーン毎に設けられた複数のファイヤウォール部とを備える産業制御システムを管理する管理方法であって、
前記複数のファイヤウォール部により前記制御ゾーン内の機器と前記制御ネットワークとの間の通信を中継する中継段階と、
コンピュータにより、前記複数のファイヤウォールで発生するイベントを収集して解析し、制御ゾーン毎の異常を検知するイベント解析段階と、
前記コンピュータにより、異常が検知された前記制御ゾーンに設けられたファイヤウォール部を介する通信動作を変更する通信管理部と、
を備える管理方法。
【請求項10】
制御装置と、前記制御装置に接続される制御ネットワークと、前記制御ネットワークを介して前記制御装置により制御される複数の機器と、前記複数の機器の一部ずつを制御する制御ゾーン毎に設けられ、前記制御ゾーン内の機器と前記制御ネットワークとの間の通信を中継する複数のファイヤウォール部とを備える産業制御システムをコンピュータにより管理する管理プログラムであって、
当該管理プログラムは、前記コンピュータを、
前記複数のファイヤウォール部で発生するイベントを収集して解析し、制御ゾーン毎の異常を検知するイベント解析部と、
異常が検知された前記制御ゾーンに設けられたファイヤウォール部を介する通信動作を変更する通信管理部と、
して機能させる管理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−226680(P2012−226680A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−95807(P2011−95807)
【出願日】平成23年4月22日(2011.4.22)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100143502
【弁理士】
【氏名又は名称】明石 英也
【Fターム(参考)】