JP5060030B2 - モバイルエージェントによる制御システム及び方法 - Google Patents

モバイルエージェントによる制御システム及び方法 Download PDF

Info

Publication number
JP5060030B2
JP5060030B2 JP2005236166A JP2005236166A JP5060030B2 JP 5060030 B2 JP5060030 B2 JP 5060030B2 JP 2005236166 A JP2005236166 A JP 2005236166A JP 2005236166 A JP2005236166 A JP 2005236166A JP 5060030 B2 JP5060030 B2 JP 5060030B2
Authority
JP
Japan
Prior art keywords
agent
transfer
state change
unit
event
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.)
Expired - Fee Related
Application number
JP2005236166A
Other languages
English (en)
Other versions
JP2007052562A (ja
Inventor
博幸 遊佐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central Research Institute of Electric Power Industry
Original Assignee
Central Research Institute of Electric Power Industry
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Central Research Institute of Electric Power Industry filed Critical Central Research Institute of Electric Power Industry
Priority to JP2005236166A priority Critical patent/JP5060030B2/ja
Publication of JP2007052562A publication Critical patent/JP2007052562A/ja
Application granted granted Critical
Publication of JP5060030B2 publication Critical patent/JP5060030B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、モバイルエージェントによる制御システム及び方法に関し、さらに詳しくは、ネットワークを介して相互に接続されている複数の機器をモバイルエージェントを用いて遠隔管理するモバイルエージェントによる制御システム及び方法に関する。
現在、電力会社では、業務の効率化、保守・運用コストの低廉化を図るために、発電所、変電所、給電所などの電力系統で使用されている様々な機器を自立的な分散処理が可能なモバイルエージェントを用いて統一的に管理することが検討されている。モバイルエージェントは、処理プログラムと処理に必要なデータとが一体化し、ネットワーク内を移動するソフトウェアであり、移動先のノードにおいて所定の処理を実行する。このモバイルエージェントをネットワークを介してノード間を巡回させることにより各ノードに対応した情報の集配信が可能となる。モバイルエージェントを用いた管理システムとしては、特許文献1が開示されている。
特許文献1には、サーバにおいて複数のモバイルエージェントによって相互監視グループを形成し、そのグループを構成しているモバイルエージェントが相互に監視を行ないながらノードを移動してサービスを実行し、ノードに障害が発生した場合にはグループに属する他のモバイルエージェントがその障害を即座に検知し、それをサーバに通知するといった技術が示されている。
特開2003−30161号公報
しかしながら、特許文献1の技術は、サーバから送り出されたモバイルエージェントがノードに到着し、且つ、そのモバイルエージェントがノードに滞在している間でなければそのノードで発生している障害を検知してそれをサーバに通知することができない。つまり、この技術には、ノードで障害が発生した場合、それをリアルタイムで検知してサーバに通知することが困難であるという欠点がある。
また、特定のモバイルエージェント間で形成されたグループとそのグループが巡回する所定の経路とを確保しながらノードを監視するので、監視対象となるノードが極めて狭い範囲内のものに限定されてしまう。つまり、相互に監視を行ないやすいモバイルエージェント、具体的には、巡回経路が距離的に近く、且つ、巡回開始時刻がほぼ一致しているモバイルエージェントを選択してグループを形成しなければならないため、広域にわたって複数のノードを統一的に管理することができない。したがって、その巡回経路に含まれていないノードで障害が発生した場合には、そのノードに対しての処置が遅れるなどといった問題が発生する。
また、上記の従来技術は、ネットワークの正常動作を前提として成立するものであり、ネットワークに障害が生じ、モバイルエージェントの巡回経路が断たれてしまった場合には、ノードの監視が行なえなくなってしまう。
そこで、本発明は、電力系統で使用されている機器をネットワークを介して遠隔管理するにあたって、その遠隔管理の高信頼化を図ることができるモバイルエージェントによる制御システム及び方法を提供することを目的とする。
かかる目的を達成するために、請求項1記載の発明にかかるモバイルエージェントによる制御システムは、モバイルエージェントがネットワークを介して接続されている複数のノード間を移動し、予め定められたプログラムを前記ノード上で実行することによってそのノードを制御するものであり、前記ノード上のモバイルエージェントのみの状態変化或いは前記ノード上のモバイルエージェント及び前記ノードによって監視されている機器の状態変化を示す状態変化データを受信する状態変化データ受信手段と、この状態変化データ受信手段で受信した前記状態変化データの転送可否条件を記憶した転送可否条件記憶手段と、前記状態変化データ受信手段から前記状態変化データが入力されたことを契機に、前記転送可否条件記憶手段から前記転送可否条件を読み出す転送可否条件読み出し手段と、この転送可否条件読み出し手段によって読み出された前記転送可否条件に基づいて前記状態変化データの転送の可否を判定する転送可否判定手段と、前記状態変化データの種類に対応した転送先が保持されている転送先テーブルを記憶した転送先テーブル記憶手段と、前記転送可否判定手段で転送許可の判定を受けた前記状態変化データが入力されたことを契機に、前記転送先テーブル記憶手段から前記転送先テーブルを読み出す転送先テーブル読み出し手段と、この転送先テーブル読み出し手段によって読み出された前記転送先テーブルに基づいて前記転送先を決定する転送先決定手段と、この転送先決定手段によって決定された前記転送先に前記状態変化データを転送する状態変化データ転送手段と、前記ノードによって監視されている機器の状態変化を検知する装置アクセスソフトウェアから得たオブジェクトを少なくとも収容する情報を授受する前記ノード上のモバイルエージェント同士の間の通信を実現するためのインターフェースとして機能する通信制御部とを前記ノードに設けたことを特徴としている。
また、請求項5記載の発明にかかるモバイルエージェントによる制御方法は、モバイルエージェントがネットワークを介して接続されている複数のノード間を移動し、予め定められたプログラムを前記ノード上で実行することによってそのノードを制御するものであり、前記ノード上のモバイルエージェントのみの状態変化或いは前記ノード上のモバイルエージェント及び前記ノードによって監視されている機器の状態変化を示す状態変化データを状態変化データ受信手段によって受信するステップと、その受信した前記状態変化データの転送可否条件を転送可否条件記憶手段に記憶するステップと、前記状態変化データが入力されたことを契機に、前記転送可否条件記憶手段から前記転送可否条件を転送可否条件読み出し手段によって読み出すステップと、その読み出された前記転送可否条件に基づいて前記状態変化データの転送の可否を転送可否判定手段によって判定するステップと、前記状態変化データの種類に対応した転送先が保持されている転送先テーブルを転送先テーブル記憶手段に記憶するステップと、転送許可の判定を受けた前記状態変化データが入力されたことを契機に、前記転送先テーブル記憶手段から前記転送先テーブルを転送先テーブル読み出し手段によって読み出すステップと、その読み出された前記転送先テーブルに基づいて前記転送先を転送先決定手段によって決定するステップと、その決定された前記転送先に前記状態変化データを状態変化データ転送手段によって転送するステップと、前記ノードによって監視されている機器の状態変化を検知する装置アクセスソフトウェアから得たオブジェクトを少なくとも収容する情報を通信制御部によって前記ノード上のモバイルエージェント同士の間の通信で授受するステップとを前記ノードで行うことを特徴としている。
したがって、ノード上において、ノード上のモバイルエージェントやノードによって監視されている機器の状態変化が重要なものであるか否かを予め定めておいた転送可否条件を用いて判定し、この判定結果に応じて状態変化データの転送の可否を決定するとともに、転送許可を受けた状態変化データの転送先を予め定めておいた転送先テーブルを用いて決定し、その決定した転送先に状態変化データを転送するようにしたので、遠隔地に設置されているノードやそのノードに接続されている機器を制御するための処理プログラムをモバイルエージェントに組み込んでノードに送る必要がなくなり、ノードやノードに接続されている機器に対して遠隔操作や遠隔設定などを容易に行なうことができる。
また、請求項2記載の発明は、請求項1記載のモバイルエージェントによる制御システムにおいて、前記状態変化データ転送手段が前記ノード上のモバイルエージェントに前記状態変化データを転送した場合、そのモバイルエージェントは前記状態変化データ転送手段から転送された前記状態変化データに対応した処理プログラムに基づいた処理を実行するようにしている。
この場合、モバイルエージェントが状態変化データに対応した処理プログラムに基づいた処理を実行することにより、ノードやそのノードに接続されている機器の状態変化に対応した適切な処置を施すことができる。
また、請求項3記載の発明は、請求項1記載のモバイルエージェントによる制御システムにおいて、前記通信制御部が、さらに、前記ノード上のモバイルエージェントから入力された移動依頼信号に応答してそのモバイルエージェントを他のノードに移動させるようにしている。
この場合、遠隔地に設置されているノードやこのノードに接続されている機器に関するデータを容易に取得することができる。
また、請求項4記載の発明は、請求項3記載のモバイルエージェントによる制御システムにおいて、前記ノード上のモバイルエージェントは、前記状態変化データ転送手段から前記状態変化データが入力されたことを契機に、前記移動依頼信号を前記通信制御部に入力するようにしている。
この場合、遠隔地に設置されているノードやこのノードに接続されている機器で不具合が発生した場合、その不具合に関するデータをリアルタイムで取得することができる。
以上のように、請求項1記載のモバイルエージェントによる制御システム、及び請求項5記載のモバイルエージェントによる制御方法によれば、ノード上で生じた不具合に対して予め設定されている転送可否条件及び転送先テーブルに基づいた処理を実行することにより、ノードやそのノードに接続されている機器に対して遠隔操作、遠隔設定などを行なうことができるので、広域にわたって複数のノードやそれらのノードに接続されている機器を統一的に管理することが可能となり、遠隔管理の高信頼化を図ることができる。
また、請求項2記載の発明の場合、モバイルエージェントが予め定められた処理プログラムに基づいてノードやそのノードに接続されている機器などで発生した不具合に対応した振る舞いを実行することで、その不具合に対してリアルタイムで適切な処置を施すことができるので、遠隔管理の更なる高信頼化を図ることができる。
また、請求項3記載の発明の場合、ノードやこのノードに接続されている機器などで発生した不具合に関する情報を遠隔地にて取得することができるので、その不具合に対して迅速且つ的確な処置を施すことができ、遠隔管理の更なる高信頼化を図ることができる。
また、請求項4記載の発明の場合、ノードやこのノードに接続されている機器で発生した不具合を遠隔地にてリアルタイムで把握することができるので、その不具合に対してより一層迅速な処置を施すことが可能となり、遠隔管理の更なる高信頼化を図ることができる。
以下、本発明の構成を図面に示す最良の形態に基づいて詳細に説明する。
図1〜14に本発明のモバイルエージェントによる制御システム及び方法の一実施形態を示す。本発明のモバイルエージェントによる制御システム1(以下、「制御システム1」と称する)は、モバイルエージェントがWAN6やLAN7などのネットワークを介して接続されている複数のノード間、つまり、ネットワークに接続されているサーバや保守用CPUなどのノード間を移動し、予め定められたプログラムをノード上で実行することによってそのノードを制御するものであり、ノード上のモバイルエージェントA、Bとノードによって監視されている機器との少なくともいずれか一方の状態変化を示す状態変化データ(以下、これを「イベント」と称する)を受信する外部イベント受信部29及び内部イベント受信部30と、この外部イベント受信部29や内部イベント受信部30で受信したイベントの転送可否条件36a、37aが記載された運用者用プロファイル36及びエージェント用プロファイル37を記憶した記憶部34と、外部イベント受信部29や内部イベント受信部30からイベントが入力されたことを契機に、記憶部34からプロファイルを読み出すフィルター部31と、その読み出されたプロファイルの転送可否条件36a、37aに基づいてイベントの転送の可否を判定するフィルター部31と、イベントの種類に対応した転送先が保持されている転送先テーブル36b、37bが記載された運用者用プロファイル36及びエージェント用プロファイル37を記憶した記憶部34と、フィルター部31転送許可の判定を受けたイベントが入力されたことを契機に、記憶部34からプロファイルを読み出す運用者用ルーチング部32及びエージェント用ルーチング部33と、その読み出されたプロファイルの転送先テーブル36b、37bに基づいてイベントの転送先を決定する運用者用ルーチング部32及びエージェント用ルーチング部33と、その決定された転送先にイベントを転送する運用者用ルーチング部32及びエージェント用ルーチング部33とをノードのエージェントプラットフォーム18に設けたことを特徴としている。
図1に示すように、制御システム1は、ネットワークを介して相互に接続されている電気所2、運転所3、保守所4、及びデータセンター5から構成されている。電気所2、運転所3、保守所4、及びデータセンター5はIPベースのWAN6を介して相互に接続されている。電気所2は、いわゆる変電所や発電所と呼ばれているものである。電気所2にはIPベースのLAN7が構築されており、このLAN7はルータ8を介してWAN6に接続されている。LAN7には、多数の保守用CPUの他に、これらの保守用CPUや運転所3、保守所4、及びデータセンター5のノードに対して各種サービスを提供するための電気所サーバ9が接続されている。
電気所2に設置されている各保守用CPUには、例えば、変圧器(図示省略)を構成している部品の状態を監視するためのセンサ、電流計、電圧計などの機器(図示省略)が接続されている。例えば、保守用CPU10には変圧器(図示省略)で使用されているゴム部材の温度を監視するための温度センサ11が接続されている。この温度センサ11での検知結果は保守用CPU10に入力される。保守用CPU10は、温度センサ11から入力された検知結果に基づいて、例えば、ゴム部材の劣化状態を判断し、その判断結果を後述するモバイルエージェントを用いて保守所4の設備保全サーバ12などに通知する。
リレー13は、VCT14、電流計、電圧計、変圧器、遮断器(図示省略)などの機器の状態を監視するものであり、保守用CPU15とリレー用CPU16とから構成されている。保守用CPU15にはリレー用CPU16を介して上記の機器が接続されている。VCT14とは、変圧器(VT:Voltage Transformer)及び変流器(CT:Current Transfer)の総称である。リレー用CPU16は、例えば、VCT14で測定された測定値が予め定められた閾値を超えたか否かを識別し、その識別結果を保守用CPU15に入力する。また、遮断器の場合には、遮断器が作動したか否かを識別し、その識別結果を保守用CPU15に入力する。
運転所3は、いわゆる給電所や制御所と呼ばれるものであり、電気所2に設置されている各機器の開閉状態を制御する。運転所3には電気所2と同様にLAN7が構築されており、このLAN7はルータ8を介してWAN6に接続されている。運転所3のLAN7に接続されている監視制御サーバ17は、電気所2に設定されている各機器に対して開閉状態を制御しており、各機器が接続している系統の潮流状態の状態変化に応じて潮流を制御する。
保守所4は、いわゆる電力所と呼ばれるものであり、電気所2に設置されている各機器の保守を行なう。保守所4には電気所2や運転所3と同様にLAN7が構築されており、このLAN7はルータ8を介してWAN6に接続されている。保守所4のLAN7に接続されている設備保全サーバ12は、例えば、電気所2に設置されている複数の機器の状態変化を示す情報(例えば、各機器の劣化や故障などの不具合を示す情報)を取得して、その情報を解析することにより不具合が生じている機器を選定する。つまり、電気所2に設置されている各機器の状態変化は設備保全サーバ12によって監視されている。電気所2に設置されている機器に不具合が生じた場合には、例えば、保守所4に所属している者が電気所2に行き、その機器に対して点検や修理などを行なう。あるいは、設備保全サーバ12が不具合の生じた機器に接続されている保守用CPUに向けてその不具合に対しての処置プログラムなどを搭載したモバイルエージェントを送る。
データセンター5は、位置管理装置5a、装置情報データベース5b、及び系統データベース5cを備えている。図2に示すように、位置管理装置5aは、管理対象となるエージェントプラットフォーム(以下、「エージェントPF」と称する)18からの情報を基に、モバイルエージェントの位置や処理進捗状況を管理する。この位置管理装置5aにより、モバイルエージェントの状態(例えば、移動中、処理中、停止中、アラーム状態など)の取得やモバイルエージェントの動作(例えば、使用、ロック動作など)の変更指示が可能となる。なお、図3に示す「エージェントCPU」とは、サーバ9、12、17、及び電気所2内の保守用CPUの総称である。
装置情報データベース5bは、モバイルエージェントが収集した情報を蓄積する。系統データベース5cは、系統情報(例えば、電気所2の一覧など)や電気所2で使用されているリレー13の特性に関する情報などを蓄積する。
図3に示すように、保守用CPU15は、モバイルエージェントA、Bと、このモバイルエージェントA、Bの実行環境であるエージェントPF18と、モバイルエージェントAの要求に応じてリレー用CPU16やこのリレー用CPU16に接続されているVCT14、電流計、電圧計、変圧器、遮断器などの機器(以下、リレー用CPU16、及びこのリレー用CPU16に接続されている上記機器の総称を「保護制御装置」とする)からその機器に関するデータ(以下、保護制御装置に関するデータを「装置データ」と称する)を取得したり、モバイルエージェントAの要求に応じて保護制御装置に対してデータ設定を行なう装置アクセスソフトウェア19とから構成されている。なお、電気所2に設定されている保守用CPU15以外の各保守用CPUも保守用CPU15と同様に構成されている。また、各サーバは、モバイルエージェントとエージェントPF18を備えている。
リレー用CPU16と装置アクセスソフトウェア19との間の信号の授受はバスあるいはイーサネット(登録商標)ケーブル20を介して行なわれる。詳しくは後述するが、リレー用CPU16から装置アクセスソフトウェア19に入力される装置データは、装置アクセスソフトウェア19によってツリー構造を用いたラッパオブジェクト形式で体系的に管理されている。なお、本実施形態では、モバイルエージェントA、Bを、エージェントPF18で生成されたものか、あるいは保守用CPU15以外の保守用CPUや各種サーバからエージェントPF18に送り込まれたものであるとする。また、本実施形態では説明の便宜上モバイルエージェントA、Bを用いているが、モバイルエージェントの数は適宜に変更可能である。
モバイルエージェントA、Bは、プログラムとデータが一体化し、LAN7やWAN6などのネットワーク内を移動するソフトウェアである。このモバイルエージェントA、Bは、例えば、電気所2内の複数の保守用CPUを巡回して、事故や故障などの障害に関する情報を集配信する。また、電気所2内で収集したデータをサーバ12、17、位置管理装置5a、装置情報データベース5b、及び系統データベース5cに配信する。また、サーバ12、17、位置管理装置5a、装置情報データベース5b、及び系統データベース5cから得たデータを電気所2内の各保守用CPUに配信する。また、場合によっては、データ加工などの付加的な処理も行なう。このようにモバイルエージェントA、Bが各ノード間を巡回することにより、運転所3や保守所4のサーバ12、17から電気所2内の保護制御装置に対して遠隔監視、遠隔設定、遠隔調整を行なうことが可能となる。
保守用CPU15のエージェントPF18は、保護制御装置の状態変化(例えば、VCT14での測定値が予め定められた閾値を超えたということ)、モバイルエージェントA、Bの状態変化(例えば、モバイルエージェントA、Bの少なくともいずれか1つが保守用CPU15以外の保守用CPUや各種サーバ、データセンター5などに移動したり、モバイルエージェントA、Bの少なくともいずれか1つがエラー処理を行なったりしたということ)をイベントとして取得し、そして、そのイベントの内容に応じてモバイルエージェントA、B以外に新たにモバイルエージェントを生成したり、その生成したモバイルエージェントを保守用CPU15以外の保守用CPUやサーバ9、12、17などのエージェントPF18に転送したり、保守用CPU15以外の保守用CPUやサーバ9、12、17から送られてきたモバイルエージェントを起動させたりするなどといった機能を有している。また、モバイルエージェントには、処理期限や優先度などが付与されており、これに基づいてエージェントPF18はモバイルエージェントの制御を行い、個々のモバイルエージェントに必要な性能や信頼性を満足するように運用者用プロファイル36やエージェント用プロファイル37に基づいて処理を実行する。イベントとしては、外部イベントと内部イベントとがある。外部イベントとは、保護制御装置の状態変化を示す。この状態変化は、装置アクセスソフトウェア19によって検知され、外部イベントとして外部サービスインターフェース20で受信される。その具体的な内容は、例えば、イベントの種別、イベントを発した装置の名称、後述するツリー構造のラッパオブジェクトとの関連付けで使用される識別子、イベントの送信希望先などとなっており、これらのデータは装置アクセスソフトウェア19によってツリー構造45(図8及び図9参照)を用いて管理されている。内部イベントとは、モバイルエージェントA、Bの状態変化を示し、その具体的な内容は、例えば、イベントの種別、イベントを発したモバイルエージェントに関するデータ、補足データ、イベントの送信希望先などとなっている。
以下、エージェントPF18の具体的な構成について説明する。エージェントPF18は、ハードディスクなどの大容量記憶手段に格納されたプログラムを実行することによって外部サービスインターフェース20、イベント処理手段21、位置管理部22、リソース管理部23、エージェント生成部24、エージェント削除部25、処理ロジック管理部26、エージェント処理管理部27、及び通信制御部28として機能する。
外部サービスインターフェース20は、装置アクセスソフトウェア19とイベント処理手段21とを仲介するものである。装置アクセスソフトウェア19がモバイルエージェントA、Bに対して外部イベントを送る際には、外部サービスインターフェース20が呼び出される。これにより、イベントがモバイルエージェントA、Bに送られる。外部サービスインターフェース20によって受信された外部イベントは、その内容に応じて、イベント処理手段21または保守用CPU15以外の保守用CPUやサーバ9、12、17におけるエージェントPF18の外部サービスインターフェース20に転送される。なお、保守用CPU15以外の保守用CPUやサーバの外部サービスインターフェース20との通信は通信制御部28によって実現される。具体的には、外部サービスインターフェース20が外部イベントを受け取り、それを保守用CPU15以外の保守用CPUやサーバの外部サービスインターフェース20に転送する場合、図4に示す通信プロトコルを用いて転送処理を実行する。
イベント処理手段21は、イベントの内容に応じてイベントの転送処理を行うものであり、外部イベント受信部29、内部イベント受信部30、フィルター部31、運用者用ルーチング部32、エージェント用ルーチング部33、記憶部34、及び履歴作成部35から構成されている。
外部イベント受信部29は、外部サービスインターフェース20から転送された外部イベントを受信し、それをフィルター部31に転送する。内部イベント受信部30は、内部イベントを受信し、それをフィルター部31に転送する。このように外部イベント受信部29及び内部イベント受信部30は、モバイルエージェントA、Bと保守用CPU15によって監視されている保護制御装置との少なくともいずれか一方からのイベントを受信する状態変化データ受信手段として機能する。
フィルター部31は、内部イベント受信部30または外部イベント受信部29からイベントが入力されたことを契機に、記憶部34に予め格納されている運用者用プロファイル36及びエージェント用プロファイル37を読み出す。これらのプロファイルにはイベントの種類に対応した転送可否条件36a、37aが記載されており、フィルター部31は、その転送可否条件36a、37aに基づいて転送処理の必要性を判断する。そして、転送が必要であると判断した場合、そのイベントを運用者用ルーチング部32に転送する。転送が必要でないと判断した場合、そのイベントを廃棄する。なお、転送可否条件とは、例えば、イベントの種別、イベントの送信元、イベントの送信先エージェントなどのことを示し、フィルター部31は、これらの条件を満足したイベントのみを運用者用ルーチング部32に転送する。
このように記憶部34は、外部イベント受信部29や内部イベント受信部30で受信したイベントの転送可否条件36a、37aを記憶した転送可否条件記憶手段として機能する。また、フィルター部31は、内部イベント受信部30や外部イベント受信部29からイベントが入力されたことを契機に、記憶部34から転送可否条件36a、37aを読み出す転送可否条件読み出し手段として機能する。また、フィルター部31は、その読み出された転送可否条件36a、37aに基づいてイベントの転送の可否を判定する転送可否判定手段として機能する。
運用者用ルーチング部32は、フィルター部31からイベントが入力されたことを契機に、記憶部34の運用者用プロファイル36を読み出す。この運用者用プロファイル36には、イベントの種類ごとの転送先が示された転送先テーブル36bが記載されており、運用者用ルーチング部32は、その転送先テーブル36bを参照してフィルター部31から入力されたイベントをエージェント用ルーチング部33に転送するか否かの必要性を判断する。そして、転送の必要がないと判断した場合、イベントを廃棄し、転送の必要があると判断した場合、次に、運用者用プロファイル36の転送先テーブル36bに基づいてイベントを履歴作成部35に転送するか否かの必要性を判断する。そして、転送の必要がないと判断した場合、イベントをそのままエージェント用ルーチング部33に転送し、転送の必要があると判断した場合(障害履歴を作成してイベントを履歴情報として保存する必要がある場合)、イベントを複製して一方のイベントをエージェント用ルーチング部33に、他方のイベントを履歴作成部35に転送する。運用者用プロファイル36とは、例えば、運転所3、保守所4、電気所2、データセンター5などの運用者がイベントごとの処理の仕方を記録したデータファイルのことであり、これはキーボード等の入力装置によって作成される。このように運用者用ルーチング部32では、運用者の要求に基づいてイベントが処理される。なお、本実施形態では、転送先として履歴作成部35とエージェント用ルーチング部33との2つを設定したが、転送先は上記の2つとは限らず転送先が3つ以上ある場合も考えられる。この場合、イベントは転送先の数だけ複製される。
以上のように、記憶部34は、イベントの種類に対応した転送先が保持されている転送先テーブル36bを記憶した転送先テーブル記憶手段として機能する。また、運用者用ルーチング部32は、フィルター部31で転送許可の判定を受けたイベントが入力されたことを契機に、記憶部34から転送先テーブル36bを読み出す転送先テーブル読み出し手段として機能する。また、運用者用ルーチング部32は、その読み出された転送先テーブル36bに基づいてイベントの転送先を決定する転送先決定手段として機能する。また、運用者用ルーチング部32は、その決定された転送先にイベントを転送する状態変化データ転送手段として機能する。
履歴作成部35は、モバイルエージェントA、Bの振る舞いやリレー用CPU16からの信号などによりイベントが発生したときにその日時やイベントを発した箇所の名称やその詳細情報を自身のメモリ(図示省略)に記録し、その記録を入力装置からの入力操作に応答して液晶パネル等の表示器(図示省略)に表示する。
エージェント用ルーチング部33は、運用者用ルーチング部32からイベントが入力されたことを契機に、記憶部34のエージェント用プロファイル37を読み出す。このエージェント用プロファイル37には、イベントの種類ごとの転送先が示された転送先テーブル37bが記載されており、エージェント用ルーチング部33は、その転送先テーブル37bを参照して運用者用ルーチング部32から入力されたイベントをモバイルエージェントBに転送するか否かの必要性を判断する。そして、転送の必要がないと判断した場合、イベントを廃棄し、転送の必要があると判断した場合、次に、エージェント用プロファイル37に基づいてイベントを履歴作成部35に転送するか否かの必要性を判断する。そして、転送の必要がないと判断した場合、イベントをそのままモバイルエージェントBに転送し、転送の必要があると判断した場合、イベントを複製して一方のイベントをモバイルエージェントBに、他方のイベントを履歴作成部35に転送する。エージェント用プロファイル37とは、保守用CPUやサーバなどでエージェントを使用している者(以下、「エージェント使用者」と称する)がイベントごとの処理の仕方を記録したデータファイルのことであり、これはキーボード等の入力装置によって作成される。このようにエージェント用ルーチング部33では、エージェント使用者の要求に基づいてイベントが処理される。なお、本実施形態では、転送先として履歴作成部35とモバイルエージェントBとの2つを設定したが、転送先は上記の2つとは限らず転送先が3つ以上ある場合も考えられる。この場合、イベントは転送先の数だけ複製される。
以上のように、記憶部34は、イベントの種類に対応した転送先が保持されている転送先テーブル37bを記憶した転送先テーブル記憶手段として機能する。また、エージェント用ルーチング部33は、フィルター部31で転送許可の判定を受けたイベントが入力されたことを契機に、記憶部34から転送先テーブル37bを読み出す転送先テーブル読み出し手段として機能する。また、エージェント用ルーチング部33は、その読み出された転送先テーブル37bに基づいてイベントの転送先を決定する転送先決定手段として機能する。また、エージェント用ルーチング部33は、その決定された転送先にイベントを転送する状態変化データ転送手段として機能する。
エージェント用ルーチング33がモバイルエージェントBにイベントを転送した場合、そのモバイルエージェントBは、エージェント用ルーチング33から転送されたイベントに対応した処理プログラムに基づいた処理を実行する。例えば、モバイルエージェントBは、エージェント用ルーチング33からイベントが入力されたことを契機に、保守用CPU15以外の保守用CPUへの移動を依頼することを示す移動依頼信号を通信制御部28に入力する。この他にも、エージェント用ルーチング33から入力されたイベントの内容によってはリソース管理部23、エージェント生成部24、エージェント削除部25などにイベントを転送するといった処理も実行する。このようにエージェント用ルーチング33からイベントが入力されたときのモバイルエージェントBの振る舞いはモバイルエージェントBに設定されている処理プログラムの内容によって決定する。
エージェント生成部24は、モバイルエージェントA、Bの少なくともいずれか1つが新たなモバイルエージェントを生成する必要があると判断した場合に、その要求に基づいてモバイルエージェントの生成を行なう。エージェント削除部25は、モバイルエージェントA、Bの少なくともいずれか1つが既存のエージェントを削除する必要があると判断した場合に、その要求に基づいてモバイルエージェントの削除を行なう。
処理ロジック管理部26は、エージェント生成部24によってモバイルエージェントが生成された場合、あるいは他の保守用CPUやサーバなどから通信制御部28を介してモバイルエージェントがエージェントPF18内に送り込まれてきた場合、そのモバイルエージェントに対して予め定められた処理ロジックを実行させる。
エージェント処理管理部27は、処理ロジック管理部26を制御しており、エージェントPF18上のモバイルエージェントA、Bの処理の管理を行なう。つまり、モバイルエージェントの状態変化を管理し、その状態変化を内部イベントとして内部イベント受信部30に入力する。また、モバイルエージェントの起動や演算処理に失敗した場合にもそれを内部イベントとして内部イベント受信部30に入力する。
位置管理部22は、モバイルエージェントA、Bが移動した場合に、その移動を開始した時間や移動先などを管理するものである。具体的には、管理対象となるエージェントPF18からの情報を基に、モバイルエージェントA、Bの位置や処理進捗状況を管理する。この位置管理部22によりモバイルエージェントA、Bの動作状況(移動中・処理中・停止中・アラーム等)の取得や、モバイルエージェントA、Bの動作(使用・ロック)の変更指示を可能とする。例えば、モバイルエージェントAが移動した場合に、その移動を開始した時間や移動先などを自身のメモリ(図示省略)に記録するとともに、その記録内容を表示器(図示省略)に表示する。
リソース管理部23は、エージェントPF18に動作環境を提供している保守用CPU15のメモリ量や負荷、エージェントPF18上のモバイルエージェントの数を監視しており、リソース不足を防止するための処理を行なう。具体的な処理としては、メモリ量や負荷が上限値を超過した場合には、ガーベッジコレクションを実行する。また、他のエージェントPF18からのモバイルエージェントの転送を拒否するように通信制御部28を制御する。さらに、リソース不足が発生した場合、それを内部イベントとして内部イベント受信部30に入力する。イベント処理手段21は、リソース不足を示す内部イベントが入力されたことを契機に、モバイルエージェントA、Bの停止、削除、エージェントPF18の再起動などの処理を実行する。
通信制御部28は、保守用CPU15上のエージェントPF18と保守用CPU15以外の保守用CPUやサーバ上のエージェントPF18(例えば、保守用CPU10のエージェントPF18やサーバ9のエージェントPF18)との間の通信、具体的には、モバイルエージェントA、Bの他のエージェントPF18への移動(図5参照)、エージェントPF18内のモバイルエージェントと他のエージェントPF18のモバイルエージェントとの通信(図6参照)を実現させるためのインターフェースとして機能する。このようなエージェントPF18間の通信は、図4に示す通信プロトコルによって実現される。また、通信制御部28は、エージェントPF18内のモバイルエージェント間での通信を実現させるためのインターフェースとしても機能する。さらに、イベントを転送する際のインターフェース(例えば、エージェントPF18内のモバイルエージェントの振る舞いを内部イベントとして内部イベント受信部30に入力するためのインターフェース)としても機能する。
図5に示すように、モバイルエージェントを他のエージェントPF18に移動させる場合、エージェントPF18の通信制御部28は、モバイルエージェントから入力された移動依頼信号に応答してモバイルエージェントの処理動作を停止させ、モバイルエージェントが指定したエージェントPF18にモバイルエージェントを移動させる。ネットワークの障害などによりモバイルエージェントの移動が失敗した場合には、再送を行なう。そして、その移動が完了すると、モバイルエージェントは移動先のエージェントPF18上で起動する。また、通信制御部28は、移動が成功したか失敗したかを示す情報を内部イベントとして内部イベント受信部30に入力する。
図6に示すように、エージェントPF18内のモバイルエージェントと他のエージェントPF18のモバイルエージェントとで通信を行なう場合、通信制御部28は、タイムアウト機能、リトライ機能を提供する。タイムアウト時間およびリトライ回数は、プロファイルで指定する。通信方法としては、個別に通信する方法、つまり、1対1で通信する方法とマルチキャストで通信する方法をサポートする。また、通信方法としては、「応答ありの同期通信」「応答ありの非同期通信」「応答なしの片方向通信」の3種類をサポートする。エージェント間通信で授受する情報としては、文字列情報や装置アクセスソフトウェア19から得たオブジェクトなどがある。授受する情報の形式は、シリアライザブルとする。メッセージの送信・応答結果の受信については、オブジェクトクラスProxyを用いる。この方法により、外部から直接モバイルエージェントを操作することを防止する。
以上のように、通信制御部28は、保守用CPU15上のモバイルエージェントから入力された移動依頼信号に応答してそのモバイルエージェントを保守用CPU以外の保守用CPUやサーバなどのノードに移動させる移動制御手段として機能する。
図7に示すように、装置アクセスソフトウェア19は、モバイルエージェントAからの要求に応じてリレー用CPU16やそのリレー用CPU16に接続されているVCT14などの機器に関するデータを取得する。また、モバイルエージェントAからの要求に応じてリレー用CPU16やそのリレー用CPU16に接続されているVCT14などの機器に対してデータ設定を行なう。さらに、外部イベントをエージェントPF18に送るといった機能も有している。保護制御装置に関する装置データは、ハードディスクなどの記憶手段に記憶されており、後述するデータ収容部44によりオブジェクトとしてツリー構造を用いて体系的に管理されている。
装置アクセスソフトウェア19は、装置アクセス機能38、イベント監視部39、情報モデル変換部40、及び独自アクセス部41から構成されている。装置アクセス機能38は、エージェントAやエージェントPF18とのインタフェースとして機能を有する装置アクセスAPI42(Application Programming Interface)42と、モバイルエージェントAあるいはイベント監視部39から入力されるデータ取得の要求を示すデータ取得要求信号またはデータ設定の要求を示すデータ設定要求信号に応じてツリー構造の中からオブジェクト群(図8参照)を指定する機能を有するツリー検索部43と、ツリー検索部43で指定したオブジェクト群をさらに絞り込む機能を有するデータ収容部44とを備えている。
モバイルエージェントAと装置アクセスソフトウェア19との間でのデータの授受は、装置アクセスAPI42を介して行なわれる。装置アクセスAPI42は、モバイルエージェントAからのデータ取得要求信号またはデータ設定要求信号を受信してそれを装置アクセスソフトウェア19に送るとともに、モバイルエージェントAへその要求信号に対しての結果を送る。また、装置アクセスAPI42は、装置アクセスソフトウェア19からの外部イベントを受信してエージェントPF18に送る。なお、上記の「データ取得」とは、モバイルエージェントAが指示した保護制御装置に関する装置データの取得を示し、上記の「データ設定」とは、モバイルエージェントAが指示した保護制御装置に対して行なうデータ設定を示す。
データ収容部44は、装置データをメモリ44a上でツリー構造45を用いてラッパオブジェクト形式で保持する。なお、ツリー構造を用いて管理されている装置データをオブジェクトと称する。
データ収容部44は、例えば、図8に示すように、XMLのDB(データベース)やJava(登録商標)形式でデータを入出力するソフトウェアを備えており、ツリー構造を構成している多数のオブジェクトをXMLに属するオブジェクトとJava形式に属するオブジェクトとに分割した状態で管理している。
ツリー検索部43は、モバイルエージェントAから装置アクセスAPI42を介して入力されたデータ取得要求信号またはデータ設定要求信号に含まれるスコープ情報に基づいてツリー構造45のオブジェクトを指定する。スコープ情報とは、ツリー構造45上で指定したオブジェクトを起点として、例えば、その起点のオブジェクトのみを指定したり、第1階層(起点の1つ下の階層)のオブジェクトを指定したり、起点以下の全ての階層のオブジェクトを指定したり、起点から数えて第N番目の階層のオブジェクトを指定したり、または、第N番目の階層までのオブジェクトを指定したりすることを示す情報のことである。
データ収容部44は、モバイルエージェントAから装置アクセスAPI42、ツリー検索部43を介して入力されたデータ取得要求信号またはデータ設定要求信号に含まれるフィルター情報に基づいてツリー検索部43で選択されたオブジェクト群をさらに絞り込む。フィルター情報とは、スコープ情報に基づいて選択されたオブジェクト群に対してさらに指定した条件を満足するオブジェクトだけに絞り込むための情報であり、具体的には、指定した属性値の大小、属性値の一致などを示す情報である。なお、独自アクセス部41がデータ収容部44と同様のフィルター情報による絞り込み機能を有している場合、モバイルエージェントAからのフィルター情報は独自アクセス部41に送られて、独自アクセス部41でフィルター情報による絞り込みが行なわれる。
このようにツリー検索部43及びデータ収容部44の検索機能を用いることにより容易にモバイルエージェントAが指定するオブジェクトを検索することができる。例えば、図8に示すように、スコープ情報がXML形式のオブジェクトを全て指定するといったものであった場合には、ツリー検索部43によってツリー構造45の中のXMLのDB、つまり、XML形式のオブジェクト群が全て選択される。また、スコープ情報がJava形式のラッパオブジェクトを全て指定するといったものであった場合には、ツリー構造45の中のJava形式データ入出力ソフトウェア、つまり、Java形式のオブジェクト群が選択される。そして、スコープ情報によりXMLのDBが選択された場合、データ収容部44は、XMLのソフトウェア上でフィルター情報に基づいてオブジェクトをさらに絞り込む。また、スコープ情報によりJava形式データ入出力ソフトウェアが選択された場合、データ収容部44は、Java形式データ入出力ソフトウェア上でフィルター情報に基づいてオブジェクトをさらに絞り込む(図9参照)。
データ収容部44は、上記のようにして絞り込まれたオブジェクトを情報モデル変換部40に入力するとともに、モバイルエージェントAから入力されたデータ取得要求信号またはデータ設定要求信号を情報モデル変換部40に転送する。
情報モデル変換部40のメモリ40aには、独自アクセス部41でのデータ入出力で使用されるシーケンシャルファイル46とツリー構造45上の各オブジェクトとを対応付けた対照テーブル47が格納されている(図10参照)。独自アクセス部41で使用されるシーケンシャルファイル46は、複数のデータ記録領域に区切られており、予め各領域ごとに識別子が付されている。他方、ツリー構造45の各オブジェクトにも識別子が付されており、このオブジェクトの識別子とシーケンシャルファイル46の各領域ごとの識別子とは対照テーブル47において1対1で対応付けられている。
情報モデル変換部40は、オブジェクトの識別子とシーケンシャルファイル46の各データ記録領域ごとに付されている識別子との対応関係が記録されている対照テーブル47を参照しながらシーケンシャルファイル46に記録されている各データをツリー構造45のオブジェクトに変換したり、逆に、ツリー構造45のオブジェクトをシーケンシャルファイル46に変換したりする。
独自アクセス部41は、ベンダ固有のインターフェースであり、ネットワークに接続されている複数の保守用CPUの中には保守用CPU15の独自アクセス部41とはベンダの異なる独自アクセス部41を使用しているものも存在している。独自アクセス部41は、データ収容部44で指定されたオブジェクトの内容に基づいて保護制御装置から装置データの読み出し、または、保護制御装置に対して装置データの書き込みを行なう。
モバイルエージェントAからのデータ取得要求信号に対応したオブジェクトがデータ収容部44で選択され、そのオブジェクトに対応した装置データを取得する場合で、例えば、データ収容部44で選択されたオブジェクトが、保護制御装置の名称、データ種別、時刻、型形式やメーカ名などといったものであった場合、情報モデル変換部40は、これらのオブジェクトを対照テーブル47に基づいてシーケンシャルファイル46の各データ記録領域に振り分ける。
以下、その振り分け方法を具体的に説明する。シーケンシャルファイル46の各データ記録領域には識別子A〜Dが付されており、例えば、識別子Aのデータ記録領域には、保護制御装置の名称(例えば、VCT14など)に関するデータが記録され、識別子Bのデータ記録領域にはデータ種別(例えば、XML形式なのか、それともJava形式なのかを識別するもの)に関するデータが記録され、識別子Cのデータ記録領域には時刻(例えば、保護制御装置が起動した時刻など)に関するデータが記録され、識別子Dのデータ記録領域には型形式やメーカ名などに関するデータが記録されるように構成されている。他方、ツリー構造45の各オブジェクトにも識別子a〜dが付されており、識別子aのオブジェクトは保護制御装置の名称を示し、識別子bのオブジェクトはデータ種別を示し、識別子cのオブジェクトは時刻を示し、識別子dのオブジェクトは型形式やメーカ名などを示す。情報モデル変換部40は、対照テーブル47を参照しながらa〜dのオブジェクトをシーケンシャルファイル46のA〜Dの領域に振り分ける。そして、独自アクセス部41は、そのシーケンシャルファイル46に従って保護制御装置から装置データを取得し、それをシーケンシャルファイル46に記録する。情報モデル変換部40は、独自アクセス部41のシーケンシャルファイル46に記録されている装置データを対照テーブル47を用いてツリー構造45のオブジェクトに振り分ける。そして、情報モデル変換部40は、それをラッパオブジェクト形式で、データ収容部44、ツリー検索部43、装置アクセスAPI42を介してモバイルエージェントAに送る。
ツリー検索部43及びデータ収容部44がモバイルエージェントAから入力されたデータ設定要求信号に基づいてオブジェクトを指定した場合、その指定されたオブジェクトは情報モデル変換部40によってシーケンシャルファイル46に振り分けられる。つまり、情報モデル変換部40は、対照テーブル47に基づいてデータ収容部44によって選択された保護制御装置やその保護制御装置に対して付与するデータ設定値などを示すオブジェクトを独自アクセス部41で読み取り可能なシーケンシャルファイル46に変換する。そして、独自アクセス部41は、そのシーケンシャルファイル46に基づいて所定の保護制御装置に対してデータ設定を行なう。独自アクセス部41はデータ設定が成功したか否かを示す設定実行結果信号を装置アクセスAPI42を介してモバイルエージェントAに入力する。
イベント監視部39は、外部イベントをエージェントPF18に送るために予め定められているイベント監視プロパティ情報に従って所定のデータを監視するものであり、タイマー機能を用いて定期的にツリー検索部43に対してデータ取得要求信号を入力する。イベント監視プロパティには、保護制御装置の状態変化が外部イベントとしてエージェントPF18に通知するべきものであるか否かを判断するためのイベント通知条件(例えば、保護制御装置のある部位の温度が閾値を超えるという条件)が含まれており、イベント監視部39は、保護制御装置の状態変化がイベント通知条件を満足したか否かを判断し、条件を満足した場合にはエージェントPF18に通知を行なう。なお、上記の「所定のデータ」とは、例えば、予め定められた保護制御装置に関するデータのことを示す。
次に、イベントの処理の流れについて図11のフローチャートを参照しながら説明する。エージェントPF18を起動させると、エージェントPF18はイベント発生を監視する(S1)。内部イベント受信部30や外部イベント受信部29は、イベントを受信すると、そのイベントをフィルター部31に転送する(S2)。フィルター部31は、内部イベント受信部30や外部イベント受信部29から送られたイベントを転送可否条件36a、37aを用いて運用者用ルーチング部32に転送するか否かを判断するためのフィルタリングを行ない、そこで転送する必要があると判断されたイベントを運用者用ルーチング部32に転送する(S3)。フィルター部31で転送する必要がないと判断されたイベントはフィルター部31にて廃棄される(S4)。運用者用ルーチング部32は、フィルター部31から送られてきたイベントを転送先テーブル36bに基づいてエージェント用ルーチング部33に転送する必要があるか否かを判断する(S5)。ここで転送する必要がないと判断されたイベントは廃棄される(S6)。運用者用ルーチング部32は、イベントをエージェント用ルーチング部33に転送する必要があると判断した場合、次に、そのイベントを履歴作成部35に転送する必要があるか否かを転送先テーブル36bに基づいて判断し、「転送の必要なし」と判断した場合、イベントをそのままエージェント用ルーチング部33に転送する(S7)。履歴作成部35への「転送の必要が有り」と判断した場合、イベントを複製してそれらを履歴作成部35とエージェント用ルーチング部33に転送する(S8)。エージェント用ルーチング部33は、転送先テーブル37bに基づいて運用者用ルーチング部32から送られてきたイベントをモバイルエージェントBに転送する必要があるか否かを判断する(S9)。ここで転送する必要がないと判断されたイベントは廃棄される(S10)。エージェント用ルーチング部33は、イベントをモバイルエージェントBに転送する必要があると判断した場合、次に、そのイベントを履歴作成部35に転送する必要があるか否かを転送先テーブル37bに基づいて判断し、「転送の必要なし」と判断した場合、イベントをそのままモバイルエージェントBに転送する(S11)。履歴作成部35への「転送の必要が有り」と判断した場合、イベントを複製してそれらを履歴作成部35とモバイルエージェントBに転送する(S12)。モバイルエージェントBは、エージェント用ルーチング部33からのイベントを内部イベントであるか否かを判断し(S13)、それが内部イベントであればモバイルエージェントBに対してそのイベントに対応して振る舞いを実行させ(S14)、内部イベントでなければ、つまり、外部イベントであった場合、それを廃棄する(S15)。S1〜S15までの処理は、エージェントPF18の動作が停止するまで繰り返して実行される(S16)。
次に、装置アクセスソフトウェア19を用いてデータ取得を行なう際の処理の流れについて図12を参照しながら説明する。モバイルエージェントAが装置アクセス機能38に対してデータ取得要求信号を入力すると、その信号をツリー検索部43が受信する(S101)。ツリー検索部43は、データ取得要求信号に含まれるスコープ情報からデータ収容部44を指定する(S102)。データ収容部44は、データ取得要求信号に含まれるフィルター情報を用いてスコープ情報で指定したオブジェクト群からさらにオブジェクトを絞り込む(S103)。情報モデル変換部40は、対照テーブル47を用いてデータ収容部44で絞り込まれたオブジェクトを独自アクセス部41で使用可能なデータ形式に変換する(S104)。独自アクセス部41は、データ取得要求信号によって指定された保護制御装置の装置データをその装置固有のデータ形式で取得する(S105)。情報モデル変換部40は、対照テーブルを用いて独自アクセス部41で取得した装置データを装置アクセスソフトウェア19で使用可能なデータ形式に変換し(S106)、その変換した装置データをオブジェクトに収容する(S107)。情報モデル変換部40は、そのオブジェクトに収容した装置データをラッパーオブジェクト形式で装置アクセスAPI42を介してモバイルエージェントAに送る(S108)。
次に、モバイルエージェントAが指定した機器に対して装置アクセスソフトウェア19を用いてデータ設定を行なう際の処理の流れについて図13を参照しながら説明する。モバイルエージェントAが装置アクセス機能38に対してデータ設定要求信号を入力すると、その信号をツリー検索部43が受信する(S201)。ツリー検索部43は、データ設定要求信号に含まれるスコープ情報からデータ収容部44を指定する(S202)。データ収容部44は、データ設定要求信号に含まれるフィルター情報を用いてオブジェクト、すなわち、データ設定範囲を絞り込む(S203)。そして、情報モデル変換部40は、データ収容部44で絞り込まれたオブジェクトからモバイルエージェントAが指定した設定値を抽出し(S204)、その設定値を対照テーブル(図10参照)を用いて独自アクセス部41で使用可能なデータ形式に変換して、独自アクセス部41に送る(S205)。独自アクセス部41は、モバイルエージェントAが指定した保護制御装置に対してデータ設定を行なう(S206)。そして、データ設定が終了すると、独自アクセス部41は、装置アクセスAPI42を介してモバイルエージェントAに設定実行結果を送る(S207)。
次に、イベント監視部39による処理の流れについて図14を参照しながら説明する。イベント監視部39は、自身のタイマー機能が予め定められた監視時刻を計時したことを契機に(S301)、図12のフローチャートで示す処理に従って、イベント監視プロパティで指定した監視対象から装置データを取得する(S302)。イベント監視部39は、タイマー機能が予め定められた監視時刻を計時しない場合には、タイマー機能が監視時刻を計時するまで装置データを取得する処理を実行せずに待機する(S303)。取得した装置データがイベント通知条件を満足した場合(S304)、その旨をエージェントPF18に通知する(S305)。この通知が終了した場合(S305)、あるいは取得した装置データがイベント通知条件を満足しなかった場合(S304)、イベント監視部39は、イベント監視プロパティで予め定められている全ての監視対象に対してのデータ取得が終了しているか否かを判断し、予め定められている全ての監視対象に対してのデータ取得が終了していなければ、イベント監視プロパティで定められている全ての監視対象に対してのデータ取得が終了するまで上記の処理を繰り返し行なう(S306)。予め定められている全ての監視対象に対してのデータ取得が終了した後、装置アクセスソフトウェア19の動作が終了するまでS301〜S306までの処理が繰り返して実行される(S307)。
以上のように、本発明の制御システム1によれば、運用者やエージェント使用者によって予め設定されたプロファイルに従ってエージェントPF18上で処理を実行するようにしたので、広域にわたって複数のノードやそれらのノードに接続されている機器を統一的に管理することが可能となり、遠隔管理の高信頼化を図ることができる。また、保護制御装置で発生した不具合を遠隔地にてリアルタイムで把握することができるので、その不具合に対して迅速且つ的確な処置を施すことが可能となる。
なお、上述の形態は本発明の好適な形態の一例ではあるがこれに限定されるものではなく本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば上記実施形態では、運用者用ルーチング部32におけるイベントの転送先をエージェント用ルーチング部33及び履歴作成部35とし、エージェント用ルーチング部33におけるイベントの転送先を履歴作成部35及びモバイルエージェントBとしたが、これに限ることなく、転送先をエージェント生成部24やエージェント削除部25にしても良い。これは転送先テーブル36bや転送先テーブル37bの内容を書き換えることによって実現される。
上記実施形態では、ネットワークに接続されている複数の保守用CPUの中には保守用CPU15で用いられている独自アクセス部41とはベンダの異なる保守用CPUがあるとしたが、ネットワークに接続されている全ての保守用CPUについて独自アクセス部41のベンダを共通としても良い。
以下に本発明のモバイルエージェントシステムを電力送電系統における保護・制御システムの遠隔運用保守などに適用する例について説明する。
自律的な分散処理が可能なモバイルエージェント技術やIP(Internet Protocol)ネットワーク技術は、広域での情報集配信の自動化や低コスト化に適していると考えられる。しかし、現状のモバイルエージェント技術はベンダ(メーカーあるいは販売会社)固有の方式であり、ベンダー間での相互接続性確保や仕様共通化は実現されていない。このため、マルチベンダーによって運用され尚且つ広域において多様な機器に対応せざるを得ない変電所の保護機能の運用保守を主な対象とする送電系統の保護・制御システムにおいては、モバイルエージェント技術を用いた保護リレー装置などの遠隔運用保守のためのシステムを構築することができなかった。このことは、系統監視制御機能においても同様である。
送電系統の保護・制御システムは、例えば図1に示すように、多数の変電所等の電気所2とこれらを監視して運転を制御する運転所3及び電気所2の保守を行う保守所4並びに位置管理サーバ5a、装置情報DB5b、系統DB5cなどがワイドエリアネットワーク(WAN)6で相互に接続されている。電気所2では、電気所サーバ9あるいは保守用CPU10,15に保護リレー装置13・センサ11等の装置が接続されている。また、系統DB5cは、系統構成や保護リレーに関する情報を蓄積する。装置情報DB5bは、エージェントが収集した情報を蓄積する。さらに、保守所4と電気所2のCPUは、IPベースのWAN6を介して接続される。電気所構内の保守用CPU10,15は、IPベースのLAN7を介して接続される。そのため、システムはIPネットワークのQoS・信頼性にかかわる機能と連携することで、通信の遅延や可用性などの性能を担保することができる。さらに、運転所3の監視制御サーバ17及び保守所4の保守サーバ12とWAN6を介して接続されている電気所・変電所2の保守用CPU(ネットワーク端末)10,15には保護制御装置としての保護リレー装置(RyCPU)16が接続されている。そして、保守用CPU10,15には、「エージェントPF18」、「装置アクセスソフトウェア19」および「エージェント」の3要素が保守用CPU15上に主記憶装置(図示省略)に格納されているソフトウェアによって構成されている。また、保護制御装置16を接続していない運転所3の監視制御サーバ17及び保守所4の保守サーバ12のCPUには、「エージェントPF18」と「エージェント」の2要素がCPU上に構成されている。本実施例のエージェントシステムは、この3要素をソフトウェアの構成要素とするものであり、各要素は、保護制御装置とIP網との仲介役となる保守用CPU(保守用CPU)やサーバ等の上で動作する。保護リレー装置と接続する場合、保守用CPU15は、保護機能を実行するCPU(RyCPU)16と接続される。ここでは、保守用CPUやサーバなどエージェントが動作するCPUを総称して、「エージェントCPU」と呼ぶこととする。なお、本明細書では、基板やサーバ、PCなどの情報処理装置をCPUと呼ぶものとしている。
ここで、エージェントPF18は、エージェントを動作させるためのミドルウェアであり、エージェントの生成、移動、状態管理などエージェント実行に必要な機能をエージェントやその利用者に提供するものである。また、装置アクセスソフトウェア19は、エージェントが保護制御装置16に対して情報取得設定する際に、そのインタフェースとなるソフトウェアである。また、エージェントは、処理プログラムと処理に必要なデータを一体化したソフトウェアである『オブジェクト』を拡張したソフトウェア」であり、通信網内を装置から装置へと移動して、移動先の装置で、自律的に必要とするデータを自律的に収集やその他の適切な処理の選択、実施が可能である。ここで、エージェントの移動は、プログラムとデータが一体化した処理であることから、ソフトウェアのインストールや更新の手段としても利用できる。このような使い方の移動の後、そのエージェントは特定の装置に常駐しても良い。
本実施例のエージェント技術を用いた遠隔運用保守システム(以下、エージェントシステム)におけるエージェントは、電気所や保守所4などを巡回して情報集配信するだけではなく、要求によってはデータ加工等の付加的な処理を行うことが可能である。これら処理の組み合わせによって、エージェントシステムは、電気所機器の遠隔監視、電気所機器の遠隔設定(遠隔整定など)、電気所側での自動処理(自動監視など)、保守や運用担当者との対話などの機能を提供する。
このエージェント技術を用いて保護リレーなどの装置情報を収集・配信・処理するためには、図16に示すエージェントシステムモデルのように、「エージェントPF18」、「装置アクセスソフトウェア19」および「エージェント」の3要素が必要である。そして、現実に運用されている送電系統の保護・制御システムは、シングルベンダーによって構成されておらず、様々なメーカーが製造しかつ仕様が定められたベンダー固有の保護制御装置、エージェントPF、エージェントCPUが混在するマルチベンダー方式で運用されている。したがって、異なるベンダーが作成したエージェントが全てのメーカーのエージェントPF、エージェントCPU上で動作し、かつ他メーカーの保護制御装置の情報を取得・設定できる必要がある。これを実現するには、エージェントシステムの3要素について標準化を行う必要がある。特に「エージェントPF」並びに「装置アクセスソフトウェア」が具備するAPI(Application Programming Interface)とそれらの機能の標準化が重要である。エージェントプラットフォームの仕様に違いがある場合、A社製のエージェントは、B社製のエージェントプラットフォームへの移動はできない。また、装置アクセスインタフェースに違いがある場合、ベンダの数だけエージェントを開発し、かつエージェント間の協調方法を決める必要がある。しかも、様々なアプリケーションを段階的に導入する場合、導入する度に、これらの作業が発生する。
このように、装置アクセスインタフェースとエージェントプラットフォーム18が提供するインタフェースと、両インタフェースを用いて利用する機能を標準化することで、エージェントはベンダの差異の影響を受けずに、保護制御システム全体に対して、装置の設定や情報取得を行うことが可能となる。そして、エージェントについては、エージェントPFと装置アクセスソフトウェアが提供するAPIを利用し、作成すればよい。なお、本実施例においては、1個のエージェントCPUにつき、1個のエージェントPFのみが動作する場合を想定したものとして説明しているが、当然これに限られるものではなく、電力送電系統に接続される膨大な数のエージェントCPUとエージェントPFとを対象とし得ることは言うまでもない。図17に標準化(仕様化)するエージェントCPUで実装する各種機能等を示す。
具体的には、図15に示す基本概念図のように、エージェントプラットフォーム18は、(1)エージェントを生成・削除する、(2)エージェントの移動が要求されると、移動先のエージェントプラットフォームにエージェントを転送する、(3)エージェントが転送されてくると、そのエージェントを起動するといった基本的機能の他に、(4)エージェントに対する追跡・停止などの遠隔管理を行うプラットフォーム間通信機能、(5)異常検出機能や故障対応機能(イベント通知、履歴、装置アクセスソフトウェア連携)を追加することで、障害発生時に移動経路を変更するなどの自律的な処理を可能としたエージェント処理機能を備え、電力用としてエージェント管理の詳細化や耐障害性の向上を図るようにしている。また、装置アクセスソフトウェア19は、(1)エージェントからの保護制御装置の情報取得、設定処理要求に基づき処理を実行し、結果をエージェントに返すエージェントとのインタフェース、並びに(2):保護制御装置の状態変化(保護制御装置からの通知)を、エージェントプラットフォームを介してエージェントに通知する保護制御装置16とのインタフェースを備えるようにしている。
尚、保護制御装置と接続する保守用CPUには、アナログ・ディジタル入出力のための物理的なインタフェースが必要である。制御装置は装置アクセスソフトウェアを持つ保守用CPUと接続されることによって、他のエージェントCPUである保守用CPUや各種サーバからはエージェントPFで規定した論理的なインタフェースを介して、装置情報の遠隔取得設定が可能とされる。また、エージェントCPUには、保護制御装置とIP網を接続するために、ネットワーク端末機能を備えている。
また、エージェントシステムを構成するソフトウェアは様々なベンダが提供する装置上で動作可能とするために、Java(登録商標)言語を用いた実装が好ましい。Java言語は、Windows(登録商標)やLinuxなど多様なOSが対応しており、今後のさらなる普及が期待でき、かつ保守用CPUでの実装事例がある。Java言語を用いて実装する場合、タイマー機能などスレッド処理の高度化とTCP/IPの高度な利用に当たっては、Java Standard Edition (SE)1.4以上が、CPU資源の詳細情報取得のために、Java SE 1.5以上が必要となる点から、Java SE 1.5以上の使用が好ましい。通信プロトコルについては、図4に示した通信プロトコルの階層のように、Javaの層では、通信インフラAPIを通じてプロトコル上位を利用できる必要がある。通信インフラAPIとしては、Java RMIや高度通信RPCを挙げることがある。なお、直列可能な情報とは、Java言語のjava. io. Serializable形式の情報である。
しかして、本実施例のエジェントシステムは、エージェントを異なるベンダーのエージェントCPU、エージェントPF間へ移動して、処理を行うことが可能となる。また、マルチベンダの保護制御装置の情報を統一した形式で利用可能となり、メーカ独自形式情報も集配信できる。
ここで、送電系統の保護・制御システムを実行するエージェントシステムには、以下に示す(1)〜(5)の基本機能と、(6)〜(8)の高信頼化のための機能を備えることが望まれる。
(1)情報収集の自動的開始
イベント(保護リレー装置動作、遮断器動作、リレー装置障害、一定時刻経過、スケジュールによる起動命令)を処理の起点として、エージェントは、情報の収集を自動的に開始することができる。尚、ある箇所(中給、給電制御所、保守所4)から自所および遠隔(例えば電気所)のエージェントプラットフォームに対してエージェントの起動要請をかけることができる。
(2)情報収集箇所の自律的選択
事前に用意された系統などの条件とその対応シナリオに従い、情報収集箇所を決定し情報収集することができる。
(3)エージェント(プログラム)の配信
保護リレー装置が発するイベント情報により、処理するエージェント(事故解析など)を選択することができる。得られた情報より自律的に処理するエージェントを選定し、配信することができる。
(4)処理結果配信箇所の自律的選択
系統の運転所、設備の保守所4、解析箇所など電圧階級や設備により情報を配信すべき箇所は異なる。これらを条件に基づいて判断し、情報を必要とする箇所に適切に配信することができる。
監視制御を行なっている箇所への事故速報の配信のように、同一電気所の事故においても、事故設備によって配信箇所を選択することが出来る。
(5)エージェントの状態の把握
エージェントの現在位置、処理状況を運用保守担当者などが把握できる。
(6)エージェントの詳細管理
エージェントシステムでは、エージェントによる確実な処理を実現するために、「エージェントPF」、「エージェントの種類」、「エージェント」のそれぞれの単位で状態を管理する。これにより、保守担当者などは状況に応じてエージェントに対して停止などの命令を効率的伝えることが可能となる。
(7)情報収集・配信失敗時の処理
(i)「情報収集・データ処理異常時への対応」
エージェントによる収集必要箇所となる保護制御装置のうち情報収集・データ処理が不可能なものがある場合、システムは以下の処理を行う。
1)情報収集・データ処理が不可能であることを認識し、その箇所を回避して情報を収集する。
2)情報収集・データ処理が不可能であった箇所およびどの情報が収集・処理できなかったかを保守担当者などへ通知する。
なお、収集不可能とは、装置アクセスソフトウェアがエラーあるいは例外を発している状況とする。
これにより、情報収集の実行が不可能な保護制御装置やデータ処理が不可能なエージェントCPUからの影響を抑えることが可能となる。
(ii)「移動の異常時の対応」
エージェントがコネクション断などの伝送路障害によって移動中に異常となったと判断された場合、システムは、以下の処理を行う。
1)エージェントが移動中に通信異常に陥った場合、移動のリトライを移動先となるエージェントPFにかける。
2)リトライをかけてもだめな場合はあきらめ、違う箇所へ情報を収集に回る。
これにより、処理実行不可能なエージェントCPUの影響を抑えることが可能となる。
(iii)「エージェント間通信の異常時の対応」
エージェントがエージェント間通信中に異常となった場合、システムは、通信のリトライを通信相手となるエージェントPFにかける。リトライに失敗した場合は、異常終了とする。
これにより、エージェント間連携における障害の影響を抑えることが可能となる。
(iv)「消失への対応」
エージェントが消失してしまった場合、システムはそれをシステム管理者へ通知すると共に、保守担当者などに通知する。異常終了によりエージェントが消失した等の場合は、消失の自動検出・通知が困難と考えられる。その場合は、担当者が位置管理機能やログ機能によりエージェントの追跡を行う。
これにより、消失箇所が限定でき、消失したエージェントの問題点の分析が容易となる。
(v)「エージェントの処理起動・中止・再開」
保守担当者は、エージェントに対して以下の起動・中止・再開に関する指令を発することが可能である。中止の指令が発されると、エージェントは中断状態、中止状態の順に移行する。
1) エージェント生成後、エージェントPFがエージェントに処理を開始させる指令。
2) エージェント中止後に保守担当者などが行う処理再開指令。
3) エージェントが移動先で、そこのエージェントCPU上のエージェントPFが、エージェントの処理を開始させる指令。
(vi)「起動失敗時の対応」
事故などの発生により、エージェントの起動が失敗した場合、以下の手順で処理を行うことができる。
1)エージェントが起動すべきときに起動しなかったことを検出し、通知する。
2)起動しなかったエージェントを外部から起動する。
これにより、保守担当者による強制的な起動が可能となり、緊急時においても必要な情報を取得できる可能性が高まる。
(8)リレー装置のリソースが不足しそうな場合の処理
(i)「リソース不足への対応」
エージェントCPUのリソース(メモリなど)が不足しそうな場合、対応処理を行う。
(a)リソース不足を回避する処理
1)エージェントの移動などによりエージェントCPUのリソースが不足するかどうかを判定する。
2)リソース不足に陥る場合は、リソース不足とならない状態になるまで待つ。あるいは、そのエージェントCPUでの処理を実行せずに、次のエージェントCPUへ移動する。
(b)占有状態対策
ここで、CPU資源が占有された状態は、以下の何れかの状態を想定する。
1)一定時間(処理期限)を越えた。
2)エージェントPFからの中止命令に応答しない。
エージェントPFがCPU占有状態を検出した際には、システムは以下の手順で処理を実行する。
1)エージェントの停止・削除
2)エージェントPFの再起動(保守用CPUではなく、サーバの場合、可能であれば、再起動前に占有しているエージェントの処理優先度を変更することで、占有状態の解消を図る。)
これらの機能により、リソース不足への一時的な対応が可能となり、可用性が向上する。
(ii)「優先処理」
優先すべきエージェントがあった場合は、現在処理中のエージェントを停止させ、優先すべきエージェントを先に処理する。これにより、緊急性を要するエージェントが迅速に処理を実行することができる。エージェントに、処理期限や優先度を付与することにより、エージェントPFは処理期限や優先度を用いて、エージェントを制御することができるので、個々のエージェントに必要な性能・信頼性を満足することができる。
また、上述の送電系統の保護・制御システムを実行するエージェントシステムに要望される機能を実現するため、エージェントPFは、エージェントの生成・移動などを実現するための基本機能だけでなく、高信頼化等の観点からその他多数の機能を具備する。基本機能については、MASIF規格やAglets で提供する機能を備えることで、一般的なモバイルエージェント機能を提供でき、将来の他のエージェントPFとの接続の容易さが期待できる。高信頼化については、独自のイベント処理機能やログ機能、処理管理機能などを設けることで対応している。図18に全体構成を示し、各種機能の動作と対応するAPIであるオブジェクトクラスを以下に示す。
(1)エージェント生成/削除機能(Agent Create Delete) 51
(2)移動機能 (Migration)52
(3)エージェント間通信機能 (Agent Communication)53
(4)処理ロジック管理機能 (Process Logic Manager)54
(5)プラットフォームインタフェース (PFIF)55
(6)プラットフォーム間通信機能 (PF Communication Infrastructure)56
(7)ログ機能(Log)57
(8)イベント処理機能 (Event Processor)58
(9)外部サービスインタフェース (External Service Interface)59
(10)リソース管理機能 (Resource Manager)60
(11)エージェント処理管理機能 (Agent Process Manager)61
(12)位置管理機能 (Location Manager)62
(13)セキュリティ機能(Security Manager)63
尚、図中の符号の後の()の中の符号は上述の機能を実現する手段を示している。
図29にエージェントPFが提供する主な機能対応表を示す。この表が示すように、ほとんどの機能は高信頼化のために必須の機能である。1)エージェントPFと運用・保守担当者との連携のために、プラットフォームインタフェースとプラットフォーム間通信機能を、2)異常状態に対応するために、イベント処理機能とエージェント処理管理機能を利用する。尚、各種機能の詳細を指定する設定をプロファイルと呼ぶ。
(生成・削除機能)
アプリケーションや起動中のエージェントからの要求に基づき、エージェントの生成や削除などを行う。関連するオブジェクトクラスは、PFIF55および、Agent Process Manager61である。
(移動機能)
エージェント自らなどの要求に基づき、指定されたエージェントPFへそのエージェントを転送する。転送完了後、エージェントを起動する。通信網の障害などにより移動が失敗した場合、再送を行う。
図5(a)に示すように移動時には、エージェントPF間でエージェントPFのget_resourceメソッド、receive_agentメソッドの順で処理を行う。そして、移動先でのリソース不足に対して、エージェントには以下の1)〜3)の対応モードを指定することが出来る。
1) 中断(送信元に戻り、担当者への通知などの対応処理を行う。)
2) スキップ(何も処理を行わず、次のエージェントPFへ移動する。)
3) 待機
図5(b)に示すように、エージェントPFの移動機能は、通信網の障害などによりエージェントの移動が失敗した場合、再送を行う。また、ログ機能が移動などの処理失敗などをログとして記録する。図26にエージェントの状態遷移を示す。担当者は、位置管理機能を用いてエージェントの管理モードを変更することで、遠隔地に移動したエージェントが可能である。関連するオブジェクトクラスは、PFIF55とEvent Processor58である。
(エージェント間通信)
図19に示すように、エージェント間通信は、異なるエージェント間で情報交換するための機能である。授受する情報には、文字列情報や装置情報アクセスソフトウェアから得たオブジェクトなどを収容できる。エージェント間通信機能は、タイムアウト機能およびリトライ機能を提供する。タイムアウト時間およびリトライ回数は、プロファイルで指定する。
通信方法(トポロジ)としては、個別に通信する方法(1:1)とマルチキャストで通信する方法(1:m)をサポートする。
通信方法(応答の有無と手順)としては、次の1)〜3)の3種類をサポートする。
1) 応答ありの同期通信
2) 応答ありの非同期通信
3) 応答なしの片方向通信
授受する情報の形式は、シリアライザブルとする。
エージェント間通信機能は、タイムアウト機能を提供する。メッセージの送信・応答結果の受信については、オブジェクトクラスProxyを用いる。この方法により、外部から直接エージェントを操作することを防止する。関連するオブジェクトクラスは、PF Communication Infrastructure56である。
(処理ロジック管理機能)
処理ロジック管理機能は、エージェントが生成あるいは到着した場合、処理ロジックを実行させる。処理ロジック管理機能は、エージェントPFのエージェント処理実行管理機能に含まれる。例えば、図19(b)に示すような、経路番号とエージェントCPU、ロジックID、ロジックがそれぞれ対応するテーブルをエージェント処理実行管理機能のメモりに有し、このテーブルに従って、図19(a)に示すように所定のエージェントが所定の経路を通って所定のエージェントCPUで所定のロジックを実行する。関連するオブジェクトクラスは、Agent Process Manager61である。
(プラットフォームインタフェース)
プラットフォームインタフェースは、保守担当者や他のエージェントPFと連携するためのインタフェースである。保守担当者からのエージェントの生成・起動・中止指令やエージェントPF間でのエージェント移動などの際に、利用する。
この機能はエージェント起動を承認・拒否の結果通知として、Boolean(True or False)など戻り値で結果を返す。詳細情報などその他の情報を呼び出し元のエージェントPFに通知する手段には、例外を用いる。
プラットフォームインタフェースは、エージェントPFを構成する他の機能と連携と保守担当者や他のエージェントCPUとの連携を可能とする。関連するオブジェクトクラスは、 Agent Process Manager61、PF Communication Infrastructure56である。
(プラットフォーム間通信機能)
プラットフォーム間通信機能は、通信ミドルウェアとエージェントPFを接続する役割を有する通信インフラストラクチャであり、以下の1)〜3)の機能に対して通信機能を提供する。
1) 移動機能
2) エージェント間通信
3) 外部サービスインタフェース
関連するオブジェクトクラスは、PF Communication Infrastructure56、External Service Interface59である。
(ログ機能)
ログ機能は、エージェントの振る舞いや装置からのトリップ信号などによりイベントが発生した場合など、プロファイルに従い、日時やイベントを発した機能名や詳細情報を記録する。関連するオブジェクトクラスは、Log57である。
(イベント処理機能)
イベント処理機能は、イベントを受信すると、その内容に応じた処理を行う。プロファイルを用いて、ログ機能やエージェントなどに転送するイベントの種別を指定可能とする。
以下に示す1)〜4)のエージェントの基本的な振る舞い時に発生するイベントを処理する。
1) 生成/削除
2) 移動
3) エージェント間通信
4) 処理ロジックの実行
エージェントPFは、上記の処理の実行前後に、イベントを発することが出来る。プロファイルによりイベントの発生の有無を指定する。
図 20(a)に示すように、イベント処理機能は、イベントを受信すると、その内容に応じた処理を行う。イベントへの対応方法は、プロファイルによって指定することが出来る。例えば、プロファイルで指定されたログ機能やエージェントなどにイベントを転送する。イベントの転送については、以下の1)〜2)の機能を提供する。
1) 常駐エージェントへの通知
2) 移動しているエージェントへの通知(中止や中断等を想定)
移動しているエージェントへの通知は、位置管理機能との連携が必要となる。位置管理サーバへの負荷を考慮し、以下の1)〜3)の方法を利用することができる。
1)位置管理機能で検索し、エージェントPFから該当エージェントへ通知:
位置管理サーバの負荷:大
2)位置管理機能が検索・通知までを実施:位置管理サーバの負荷:中
3)ブロードキャスト通知:位置管理サーバの負荷:小
関連するオブジェクトクラスは、Event Processor58である。
(外部サービスインタフェース)
外部サービスには、装置アクセスソフトウェアと既存システムが含まれる。図 20(b)に示すように、外部サービスインタフェース (インターフェース)は、外部サービスからのイベントを受信することができる。また、イベントの内容に応じて、イベントを他APFへ転送することができる。
外部サービスがエージェントに対してイベントを発するために、外部サービスインターフェースを呼び出す。受信されたイベントは、イベント処理機能あるいは他のエージェントPFの外部サービスインターフェースへ転送される。他のエージェントPFとの通信には、プラットフォーム間通信機能を用いる。関連するクラスは、External Service Interface59である。
(リソース管理機能)
エージェントPFが動作するハードウェアのメモリ量や負荷、エージェント数を監視し、リソース不足を防止するための処理を行う。リソース不足を防止する処理としては、例えば、メモリ量が上限値を超過した場合には、ガーベッジコレクションを実行したり、エージェントの転送を拒否するように、移動機能に依頼するなどである。そして、リソース不足が発生すると、イベントを発する。このとき、イベント処理機能を利用して、エージェントの停止・削除、エージェントPFの再起動を実現することが出来る。関連するオブジェクトクラスは、Resource Manager60である。
(エージェント処理管理機能)
エージェント処理管理機能は、エージェントの生成あるいは到着後の処理の管理を行う。すなわち、起動処理も管理する。エージェント処理管理機能は、エージェントの状態遷移を管理し、状態遷移前後にイベントを発生することができる。エージェントの起動および演算異常に失敗した場合にもイベントを発生できる。
エージェントPFおよびエージェントは、保守担当者などが指定するモード例えば管理モード (Administrative State)と、システム側が発するモード例えば運用モード (Operational State)と使用モード (Usage State)、アラームモード (Alarm Status)の都合4種類のモードをそれぞれ具備する。このモードは、以下の単位でそれぞれ有する。
1) エージェントPF
2) エージェントの種類
3) 個々のエージェント
関連するオブジェクトクラスは、PFIFあるいは、Agent Create Deleteである。
エージェントの処理スケジューリングには、エージェントに割り当てられた処理期限や優先度などの情報を用いる。エージェントPF上に複数のエージェントが混在する場合、逐次処理を行うスケジューリングをベースとし、複数の常駐エージェント動作の実現や単一エージェントによる処理占有などを防止するために並行処理を行うスケジューリングを併用する。関連するオブジェクトクラスは、Resource Manager60、 Event Processor58である。
(位置管理機能)
システム全体管理のために、管理対象となるエージェントPFからの情報を基に、エージェントの位置や処理進捗状況を管理する。位置管理機能を用いることで、エージェントの状態(移動中・処理中・停止中・アラーム等)の取得や、エージェントの動作(使用・ロック)の変更指示を可能とする。図2に位置管理機能の動作概要を示す。ログ機能と同様に、エージェントの移動開始時と到着時に位置管理機能に対して、通知を発することができる。関連するオブジェクトクラスは、Event Processor58、Migration52である。
尚、本エージェントシステムは、通信網レベルで外部に対してクローズなシステムを構成し、新規なセキュリティ対策あるいはJavaレベルなど既存技術で実現容易なセキュリティ対策を施すことでセキュリティのレベルが高い状況を構築するものとしている。
例えば、処理の実行制御に対しては、プロファイルの内容により、エージェントが行う処理の許可と制約を設定可能とする。エージェントの種類毎に、あるいはエージェント単位で指定できるものとする。許可(permission)が与えられた処理(ex. 生成(子エージェント)や移動など)は、エージェントは、その処理を実行可能とする。逆に、制約(protection)が設定された処理は、エージェントは、その処理が実行できない。
また、通信に対しては、プロファイルによりエージェント移動に伴うプログラム(ダウンロード)に関する設定を可能とする。これにより、指定したユーザやノードからのみエージェントプログラムをダウンロード可能とする。さらに、通信機能 (ex. VLAN)と連携し、他のシステムと分離することも可能である。これにより、エージェントプログラムを盗聴されないようにできる。
さらに、新規のアプリケーショの追加は、エージェントの追加およびエージェントPF用プロファイルの変更により、容易に可能である。本エージェントシステムは、保護制御に要求される高信頼化処理や異機種接続性を実現し、かつ拡張性が優れたものとなる。
次に、装置アクセスソフトウェアについて説明する。装置アクセスソフトウェアは、エージェントが保護リレー装置や制御装置、センサなどの機器に対して情報取得や設定を行うために、その仲介機能として利用する。エージェントは、装置アクセスソフトウェアが提供するAPIを利用することで、装置情報を取得設定する。また、装置アクセスソフトウェアは、エージェントPFに対してイベントを発することができる。そのイベントを、エージェントはエージェントPFを介して受信することができる。これにより、保護リレー装置動作を起点とした事故解析処理などが可能となる。
図21に示すように、装置アクセスソフトウェア19は、装置アクセス機能38、情報モデルへの変換機能40、メーカ独自の装置アクセス機能41を含む。装置アクセス機能38は、情報モデルを保持し、検索機能を提供する。情報モデル変換機能40は、必要に応じてEquipmetData形式と装置固有データ形式の変換を行うものであり、エージェントからのEquipmetData形式の要求を独自アクセス機能に適した形式に変換して独自アクセス機能41へ渡したり、あるいは独自アクセス機能41を介して保護機能を実行するCPU(RyCPU)16から取得した保護制御装置のデータ46をEquipmetDataに変換してから該当情報収容部44へ格納される。そのために、情報モデルは、個々の情報をオブジェクトとしてツリー構成45で収容する(図22(a))。個々の情報をオブジェクトとしてカプセル化することで、エージェントは様々な情報を集配信することが出来る。例えば、オブジェクトには、独自規定のものだけに限らず、電気所装置の情報を示すIEC61850などのオブジェクトも収容可能である。そして、オブジェクトの定義には、Java言語による規定だけではなく、データ表記方法であるXML(Extensible Mark-up Language)を適用可能とする。
装置アクセスソフトウェアのAPIでは、エージェントとの連携をとるため、以下のメソッドを提供する。整定の処理ステップなどに対応するために、 情報取得(getData)や情報設定 (setData)命令を使う際には、“仮設定”や“運用”などのパラメータを指定可能である。
1) getData( オブジェクトのID、検索範囲、パラメータ)
2) getData( オブジェクトのID、検索範囲、検索条件パラメータ)
3) setData( オブジェクトのID、検索範囲、設定値、パラメータ)
4) setData( オブジェクトのID、検索範囲、検索条件、設定値、パラメータ)
装置アクセスソフトウェア19では、エージェントと授受するデータ形式としてラッパーオブジェクト形式(EquipmetData)を採用している。ラッパオブジェクトは、保護制御装置が入出力するデータの生データ(保守運用に必要な詳細情報を含む)、データ種別・形式、アクセス日時を保持する。同時に、装置アクセスソフトウェアでは、保護制御装置毎に保守用 CPUが接続されるだけではなく、電気所サーバなどが多数の保護制御装置と接続されることが想定されるため、装置アクセスソフトウェアには、装置情報をツリー構造でオブジェクトとして保持することにより、ツリー検索を可能としている。これを実現するためには、以下の項目を規定する必要がある。
1) ツリー階層構成:オブジェクトの読み書き方法が明確となる。
2) オブジェクトの基本定義(設備番号などを属性とする。):オブジェクトに共通して必須となる属性が明らかとなる。
3) オブジェクトの定義(継承):実保護制御装置を接続する際に必須である。
また、オブジェクト(EquipmetData)は、データを設定したタイムスタンプ( Date timestamp)並びにデータのタイプ(String datatype)例えば、“XMLやPlain Old Java形式の種別“+オブジェクトクラスIDを設定した属性と、装置から取得したデータ本体(Serializable Data)あるいは装置に入力するためのデータ本体(Serializable Data)を具備する。Euqipmentクラスは、これらの属性を具備することで、各種形式のJavaオブジェクトを収容するラッパークラスとして機能する。例えば、図28に示すように、装置アクセスソフトウェアは3種類のオブジェクトを統一した方法で収容することで、エージェントは様々なデータ形式の集配信が可能となる。尚、オブジェクトの定義は、Java言語あるいはXMLで規定する。
この実施例のアクセスソフトウェアにおいては、設備モデルと運用モデルの2種類の情報モデルを収容することを想定している。設備モデルは、各装置の型番などの設備情報を収容する。運用モデルは、整定値や動作状態などの情報を収容する。ツリーの階層の上位部は、両モデルとも共通とし、その下位にモデル毎にオブジェクトを配置する。上位部の階層を以下の通りである。下記は、ツリー構成を構成するための仮想のオブジェクトである。
・ Top
・ 電気所識別子(ex. 変電所A)
・ 設備識別子(ex. 送電線、変圧器)
・ 装置識別子(ex. 保護リレー装置、事故波形記録装置)
・ 回線識別子(ex. xxx線3L)
オブジェクトの定義は、以下の通りである。
(1)設備モデル
図23(a)にPCM保護リレー装置の例を示す。保護リレー装置に関する各種オブジェクトは、回線識別子となる仮想オブジェクトxxx3Lの下位に配置する。各オブジェクトは、以下の属性を持つ。
・ 名称:例えば、MainPCM001
・ データ種別:例えば、主保護各端各相判定PCM
・ 起動時刻
・ データ(複数):型形式、メーカ名など
オブジェクトの定義において、属性として、メーカ固有形式のデータを追加することも可能である。
(2)運用モデル
図23(b)に運用モデルのオブジェクトの構成を示す。オブジェクトは、回線識別子となる仮想オブジェクトxxx3Lの下位に配置されている。下位部の構成は以下の通りとした。
第1層:整定、動作内容、異常状態、運用状態
第2層a(整定の下位): 整定
第3層a:整定(リレー1)、整定(リレー2)、運用設定(リレー3)
第2層b(動作内容の下位):最新動作内容、動作履歴
第2層c1(異常内容の下位):最新異常内容、異常一覧、詳細情報
第2層c2(異常内容の下位):異常履歴、詳細情報
第2層d(運用状態の下位)運用状態:リレー動作、入力電気量
例えば、整定の第3層のメインリレーは、要素1タップ、要素1倍率、要素1大電流域、要素2タップの値を属性として持つ。
このように、ツリー構造を用いることで、設備情報と運用情報を体系的に収容することが可能となる。エージェントは、これらの情報モデルを装置アクセスソフトウェアのAPIを介して利用することが出来る。階層の段数や装置の名称や整定値などを検索条件(範囲)とすることで、遠隔運用保守に必要な情報を取得できる。直接階層上の位置を指定し、各オブジェクトを取得することも可能である。
ただし、情報ツリーを構成するオブジェクトとエージェントの移動先となるエージェントCPUは関連があり、エージェントCPUの種別に応じた検索条件の指定が必要となる。
以下に移動先と検索内容の組み合わせの例を示す。
(1)変電所には変電所サーバのみが配置される場合
移動先:電気所サーバ(Top.変電所A)相当のIPアドレス
検索例1:送電線.保護Ry.xxx3L.PCMCa以下を検索
検索例2:PCMCaという名称のオブジェクトを検索
検索例3:送電線.保護Ry.xxx3L.PCMCa.MainPCM001の情報取得
(2)PCMCaに保守用CPUが接続される場合
移動先:PCMCaの保守用CPU( Top.変電所A.保護Ry.xxx3L.PCMCa)相当のIPアドレス
検索例1:全オブジェクトを検索
検索例2:PCMCaという名称のオブジェクトを検索
検索例3:MainPCM001の情報取得
図22(b)に示すように、装置アクセス機能38は、情報ツリー検索部(名前検索部とも呼ぶ)43と情報収容部44から構成されている。情報収容部44は、例えばXMLのDBやJava形式でデータを入出力するソフトウェアの組み合わせで構成される。名前検索部43は、情報ツリーとDBの対応付けを管理する。
エージェントが装置アクセスAPIを呼び出すと、名前検索部43は、装置アクセスの情報取得設定APIの引数に含まれる検索範囲を基に、該当する情報収容部44を選択し、データ形式に応じたツリー検索機能を用いて検索する。即ち、装置アクセス機能38の情報ツリー検索機能によって、スコープ情報から情報収容部を特定し、さらにフィルター情報を用いてデータ検索を行う。
このように、名前検索部43がオブジェクトの形式を隠蔽することで、様々なデータ形式を統一的に利用することが可能となる。ただし、エージェントは、それぞれのデータ形式を処理できる必要がある。
装置アクセスソフトウェア19は、リレー装置のトリップ動作や故障通知の状態変化を検出すると、エージェントPFの外部サービスインタフェースに対して通知を行う。この動作によって、この内容に応じて、エージェントPFはエージェントの生成やエージェントへの通知を行うことができる。
以上のように、装置アクセスソフトウェアを介することで、装置情報を標準形式に変換、あるいはベンダ固有形情報をXML形式でオブジェクトに収容した形で、集配信することができる。
さらに、エージェントについて説明する。エージェントは、エージェントPFにより次に実行すべき振る舞いが指定される。振る舞いの内容は、エージェントパッケージのエージェントクラスから派生することで、エージェント毎に規定された属性とメソッド・処理ロジックに基づいて決定される。本実施例のエージェントは以下の機能を提供する。
(a) 生成/削除
(b) 保存(永続化)
(c) 移動
(d) エージェント間通信
(e) 処理ロジックの実行
(f) エージェントの振る舞い指定の詳細化(再送回数などのパラメータや異常時処理ロジック)
(g) 優先度、処理期限を用いたエージェントの制御
(h) 複数の処理ロジックの組み合わせ
(i) エージェント間通信への対応
(j) 使用・ロックなどへの状態遷移の対応
(k) 移動経路
(l) 処理ロジックの振る舞い
(m) 処理結果
(n) 例外処理発生時対応
(o) 状態
(p) 優先度
(q) 処理期限
尚、エージェントに与えられる優先度は、1から999までの整数値であり、値が大きい程、優先度が高いものとみなす。
(状態遷移)
また、エージェントは「起動」、「活性(実行)中」、「中断」、「中止」、「停止」及び「ロック」の状態を遷移する。エージェントクラスにおいてこの状態遷移が、関連する属性statusである。DetailedStatusのクラスの型の属性であり、以下の情報を参照できる。
・ 管理モード(Administrative State)
・ 運用モード(Oprational State)
・ 使用モード(Usage State)
・ アラームモード(AlarmStatus)
・ 移動モード(Migration Behavior Mode={Hop、 Wait、 Return})
・ 処理モード(Process Time={逐次、並行})
(保持するデータ)
エージェントは、以下のデータを保持し、外部からアクセス(読み書き)する機能を提供する。
・ Javaオブジェクト
・ XMLデータ
・ ファイル
ただし、データへのアクセスを制御することが可能である。
外部からアクセス可能なデータは、エージェントクラスのprogram Data属性に保持する。
(生成/削除)
a)エージェントが生成される処理手順は以下の通りである。
1. エージェントPFへのエージェントの生成要求としてcreateエージェントメソッドが呼び出される。
2. エージェントのコンストラクタが呼び出される。
3. エージェントのonCreationメソッドが呼び出される。
4. イベントリスナに登録された処理が呼び出される。
5. 処理ロジック管理機能により処理ロジックが実行される。
b)エージェントが削除される処理手順は以下の通りである。
1. エージェントPFへのエージェントの削除要求としてterminateエージェントメソッドが呼び出される。
2. イベントリスナに登録された処理が呼び出される。
3. エージェントのonDisposingメソッドが呼び出される。
(移動)
エージェントは、滞在しているノードでの処理が完了すると、指定された移動先のエージェント CPUに移動する。エージェントは、移動元での処理ロジックの進捗結果を保持し、移動先では、その次のロジックを実行する。また、migrateメソッドを呼び出すことでも移動するが可能である。
エージェントには、移動処理失敗への対策として、移動時間のタイムアウト値と再送回数を設定できる。タイムアウト値に達した場合、移動失敗となる。移動に一度失敗した場合、指定された回数の再送をエージェントPFが試行する。タイムアウト値や再送回数は、エージェントに指定が無い場合、エージェントPFが保持するデフォルト値を利用する。
エージェントの移動において、IP網上の他の通信の影響を回避するために、エージェントPFのプラットフォーム間通信機能がルータなどのQoS制御機能と連携するための通信制御を行う。また、移動先において、他のエージェントと競合した際には、エージェントPFのエージェント処理管理機能が、優先度や処理期限を参照して、事故解析エージェントを優先する。
(保存 (永続化))
エージェントがロック状態になった際に、そのエージェントは保存される。
(イベント)
エージェントは、エージェントPFのイベント処理機能と連携し、以下のイベントを受信する。そして、Delegation-Based Event Modelに基づいて、イベント毎にそれに対応する処理を実行。
・ 生成
onCreationメソッド、あるいはCreation Event Listenerが処理を行う。
・ 削除
onDisposeメソッドがあるいはイベントリスナが処理を行う。
・ クローン
onClonningメソッドがあるいはイベントリスナが処理を行う。
・ 移動(送信)
onMigratingメソッドがあるいはイベントリスナが処理を行う。
・ 移動(受信)
onMigratedメソッドがあるいはイベントリスナが処理を行う。
・ 永続化(ファイルなどに保存)
onPeresitenceメソッドがあるいはイベントリスナが処理を行う。
・ 移動失敗(1回目)
onMigrationFailedメソッドがあるいはイベントリスナが処理を行う。
・ 移動再送失敗(最大回数、タイムアウト)
onRetryMigrationFailedメソッドがあるいはイベントリスナが処理を行う。
・ エージェント間通信失敗(1回目)
onエージェントCommunicationFailedメソッドがあるいはイベントリスナが処理を行う。
・ エージェント間通信再送失敗(最大回数、タイムアウト)
onRetryエージェントCommunicationFailedメソッドがあるいはイベントリスナが処理を行う。
・ 処理異常
onProcessFailedメソッドがあるいはイベントリスナが処理を行う。
・ 外部イベント受信
onExternalServiceEventRecivedメソッドあるいはイベントリスナが処理を行う。
(処理ロジックの実行)
図19(b)に示すように、エージェントが行う処理内容は、複数のロジックの組み合わせで構成できる。そのために、エージェントは、処理ロジックの一覧を保持し、経路番号とロジック番号の組み合わせで構成される。図19(a)に示すように、エージェントは、エージェントCPU毎に異なる処理を実行することができる。また、エージェントは、同一のエージェントCPUに対して複数の経路番号を割り当てることが出来る。これにより、処理内容の変更や処理割り込み(次のロジックを開始前に割り込む)が容易となる。
エージェントが実行する処理は、Logicクラスから派生したクラスに処理内容を記述する。処理ロジック管理機能が、これを実行する。
以上のように構成された本実施例のエージェントシステムによれば、事故解析情報集配信機能に必要な機能を有しており、高信頼化、異機種接続性に対して有効である。このことを、以下に遠隔整定アプリケーションソフト、事故波形データ配信アプリケーションソフト並びに事故解析情報集配信アプリケーションソフトを実行する場合を例に挙げて説明する。
(実施例1)
以下、本発明を遠隔整定を実行するアプリケーションソフトを例として、保守所4にいる担当者が遠隔の保護リレー装置の情報を取得設定する場合の動作について説明する。尚、保守所の担当者(当該エージェント所有者)が、保守サーバへ遠隔整定の開始を要求することで、システムが遠隔整定を行う場合を考える。
ここで、利用する遠隔整定エージェントは、以下の構成とする。
(1) エージェントの処理ロジック(保守サーバ):アプリケーションを通じて、担当者と連携しつつ、現在値確認と仮設定、運用設定処理を行う。
(2) エージェントの処理ロジック(保守用CPU):装置アクセスソフトウェアと情報の授受を行う。
(3) エージェントが保持するデータ:情報集配信を可能とするために、保守サーバからの情報取得設定要求と装置アクセスソフトウェアからの情報をデータとして収容する。
尚、保守所の担当者(当該エージェント所有者)が、保守サーバへ遠隔整定の開始を要求することで、システムが遠隔整定を行う場合を考える。本システムでは、以下の動作を行う。図24に処理の流れを示す。
まず、担当者は、端末を通じて保守サーバ12の遠隔整定アプリケーション64を起動する(ステップ1)。保守サーバ12では、遠隔整定アプリケーション64がエージェントPF18のプラットフォームインタフェース55を用いて、エージェントPF18のエージェント生成削除機能51にエージェント生成要求を行い(ステップ2-1)、遠隔整定エージェント(以下、整定エージェント)を生成する(ステップ2-2)。遠隔整定エージェントは、現在値確認のために、エージェントPF18の移動機能52に対して、移動を要求する(ステップ3)。移動機能52は、エージェントPF間通信機能56を利用して、保守用CPU15のエージェントPF18へエージェントを転送する(ステップ4)。保守用CPU15は整定エージェントを受け取った後、エージェントを起動する(ステップ5)。起動されたエージェントは、装置アクセスソフトウェア19を介して保護リレー装置13の運用モデルの情報を取得し(ステップ6-1)、保守用CPU15のエージェントPF18の移動機能52に対して移動を要求し(ステップ6-2)、保守サーバ12へエージェントを転送する(ステップ6-3)。保守サーバ12では、転送されてきた遠隔制定エージェントをエージェント処理管理機能61で起動させて(ステップ6-4)、保護リレー装置13の状況を遠隔整定アプリケーションに通知し(ステップ7-1)、さらにエージェント担当者に対して保護リレー装置13の状況を通知し(ステップ7-2)、整定値を書き込むための入力を待機する(ステップ7-3)。以後、保守担当者の指示に基づいて、ステップ1〜7と同様の処理の流れで、仮設定、保護リレー装置13への整定値書き込み、運用開始の指示の順に行い(ステップ8)、整定を完了する。
以上のようにして、本エージェントシステムでは、遠隔整定に必要な起動、情報取得・設定を行う。
(実施例2)
事故波形データ配信を例として、保護リレー装置の動作を起点として、保守所4にいる担当者へ事故波形データを配信する場合の動作を説明する。
ここで、保守用CPUのエージェントPFのプロファイルには、以下の指定を行う。
(1) 保護リレー装置の状態変化発生時、事故波形データ配信エージェントを生成し、保護リレー装置状態変化のイベントをログとして記録する。
利用する事故波形データ配信エージェントは、以下の構成とする。
(2) エージェントの処理ロジック(保守用CPU):エージェント生成後、時刻と波形データを検索キーとして、事故波形データを取得する。検索終了後、プロファイルに指定されたサーバへ移動する。
(3) エージェントの処理ロジック(保全サーバ):事故解析アプリケーションへ保護リレー装置動作を通知し、データをファイルとして保存する。
・ エージェントが保持するデータ:エージェントは、情報配信のために事故波形データを収容する。
尚、エージェントシステムは、保護リレー装置の動作を検出し、保護リレー装置が保持する事故波形データを取得し、保守サーバにデータを配信する場合を考える。本システムは、以下の動作を行う。図25に処理の流れを示す。
保護リレー装置13が動作すると(ステップ1-1)、装置アクセスソフトウェア19は、保護リレー装置13に動作に伴う信号を検出する(ステップ1-2)。装置アクセスソフトウェア19は、エージェントPF18の外部サービスインタフェース59の状変通知用APIを呼び出し状態変化を通知する(ステップ2-1)。また、保護リレー装置13の動作情報を情報モデルの中に記録する(ステップ2-2)。外部サービスインタフェース59は、イベント処理機能58にその情報を伝える(ステップ3)。イベント処理機能58は、ログ機能57に対して履歴記録を要求する(ステップ4)。イベント処理機能58は、エージェント生成機能51に対して事故波形データ配信エージェントの生成を要求し(ステップ5)、エージェントを生成、あるいは起動する。事故波形データ配信エージェントは、装置アクセスソフトウェア19に対して、事故に関する情報を取得するために、時刻と波形データを検索キーとして検索を要求する(ステップ6)。装置アクセスソフトウェア19は、情報ツリー45に対して検索を行い、運用モデルから取得した事故波形データをエージェントに要求の戻り値として与える(ステップ7)。事故波形データ配信エージエントは、生成時に指定された移動先である保守所4に対して移動するために、エージエントPF18の移動機能52に対して移動要求を出す(ステップ8-1)。エージェントPF18はエージェントPF間通信機能56を用いてエージェントを保守サーバ12へ転送する(ステップ8-2)。保守サーバ12へ転送された事故波形データ配信エージエントは起動され(ステップ8-3)、事故情報監視アプリケーション65に状態通知し(ステップ9-1)、事故情報監視アプリケーション65を通して保守担当者へ状態通知される(ステップ9-2)と共に、波形データが保守サーバ12に記録される(ステップ9-3)。
このようにして、本エージェントシステムでは、保守対象の状態変化が起きたときに、そのことを検出して状態変化を示すデータ例えば事故波形データなどを自律的に収集して指定された箇所に配信することができる。なお、本実施例ではリレー装置の動作を起点とした基本的な処理について説明したが、その他の機器の動作並びにデータを処理させ得ることは言うまでもない。
(実施例3)
事故解析情報集配信を例として、保守所4と電気所2だけではなく、関係する複数の電気所、系統の運転所までをエージェントの動作範囲として、エージェントによるシステムの広域集配信機能の動作を説明する。
ここで、保守用CPUのエージェントPFのプロファイルは、以下の指定を行う。
(1) 保護リレー装置の状態変化発生時には、事故解析情報集配信エージェントを生成し、かつ保護リレー装置状態変化のイベントをログとして記録する。
利用する事故解析情報集配信エージェントは、以下の構成とする。
(2) エージェントの処理ロジック(イベントが発生した保守用CPU)エージェント生成後、時刻と波形データを検索キーとして、事故波形データを取得する。検索終了後、構内の保守用CPUと電気所サーバを巡回する。
(3) エージェントの処理ロジック(構内の他の保守用CPUと電気所サーバ)装置アクセス内のイベント発生時前後の情報を検索し、取得する。巡回終了後、系統DBに移動する。
(4) エージェントの処理ロジック(系統DB):関連する電気所の一覧を取得し、その電気所に移動する。
(5) エージェントの処理ロジック(装置情報DB):エージェントの処理ロジック(系統DB):装置情報DBに収集した情報を蓄積する。保守サーバへ移動する。
(6) エージェントの処理ロジック(保全サーバ)保全サーバのアプリケーションに収集した情報を伝え、待機する。保守所4の担当者が事故解析を行い、その結果がアプリケーションを通じて、エージェントへ渡されると、エージェントは他の保守所4および運転所を巡回する。
(7) エージェントの処理ロジック(他の保守所4と運転所):解析結果から必要な情報を通知し、巡回する。巡回が完了すると、処理を終了する。
(8) エージェントが保持するデータ:エージェントは、情報集配信のために装置情報、系統情報(電気所一覧)、解析結果を収容する。
(9) エージェントの状態遷移:図26に示すように、管理モードの変更によりエージェントを停止、終了できる。また、軽故障時には、処理を継続するが、重故障時には、エージェントの処理は終了する。
システムの振る舞いは以下の通りである。図27に処理の流れを示す。
保護リレー用CPU16を介して保護リレー動作等の状態変化を、保守用CPU15あるいは電気所サーバ9内の装置アクセスソフトウェア19は検出し(ステップ1-1)、その情報をイベントとしてエージェントPF18に送信する(ステップ1-2)。エージェントPF18は、イベント内容に応じた事故解析エージェント生成(ステップ2-1)、やログ記録を行う(ステップ2-2)。生成された事故解析エージェントは、エージェントPF18に移動を要求し(ステップ3-1)、装置アクセスソフトウェア19を介して構内の関係する保守用CPU10や電気所サーバ9を巡回し、事故に関連する情報を収集する(ステップ2-3)。保守用CPUや電気所サーバ内では、装置アクセスソフトウェア19の検索機能を用いて、情報収容部44の設備モデルおよび運用モデルから、必要な情報を収容したオブジェクトを保持する(ステップ3-2)。事故解析エージェントは、構内情報を収集後、系統DB5cに移動し、関連する電気所2を把握し(ステップ4-1)、その電気所2に移動して情報収集を行う(ステップ4-2)。事故解析エージェントは、収集した情報を装置情報DB5bに蓄積すると共に(ステップ5-1)、保守サーバ12に収集した情報を伝える(ステップ5-2)。保守所4の担当者が事故解析を行い(ステップ5-3)、他の保守所4および運転所3に必要な分の解析結果の情報を通知し(ステップ5-4)、処理を終了する。
本発明のモバイルエージェントによる制御システムの構成を示す図である。 位置管理装置の機能を示す機能ブロック図である。 本発明のモバイルエージェントによる制御システムの要部を示す機能ブロック図である。 ネットワーク端末で利用する通信プロトコルの構成を示す図である。 モバイルエージェントの移動処理を示す図であり、(a)はリソース不足への対応についての処理態様を示し、(b)は通信障害への対応についての処理態様を示す。 エージェントPF間での通信機能を示す図である。 装置アクセスソフトウェアの構成を示す機能ブロック図である。 ツリー構造とオブジェクトの構成を示す構成図である。 シーケンシャルファイルとオブジェクトとの対応関係を示す図である。 対照テーブルの構成を示す図である。 エージェントPFでの処理の流れを示すフローチャートである。 保護制御装置からデータを取得する場合の処理の流れを示すフローチャートである。 保護制御装置に対してデータ設定を行なう場合の処理の流れを示すフローチャートである。 イベント監視部によるデータ取得の処理の流れを示すフローチャートである。 エージェント技術を適用したシステムの基本アーキテクチャを示す図である。 エージェントシステムモデルを示す図であり、(a)はハードウェア構成を示し、(b)はソフトウェア構成を示す。 仕様化する部位を示す図である。 エージェントPFの構成を示す機能ブロック図である。 異なるエージェント間で情報交換するための機能を示す図であり、(A)はエージェントによる移動と処理ロジックの実行とを示し、(B)は処理ロジックの一例を示す。 イベント処理機能と外部インターフェースの構成を示す図であり、(a)はイベント処理機能を示し、(b)は外部インターフェースとの連携を示す。 装置アクセスソフトウェアの構成を示す図である。 装置アクセスソフト機能が収容するデータと処理内容を示すであり、(a)は検索ツリーとオブジェクトを示し、(b)は情報取得時の処理内容を示す。 情報モデルのツリー構成を示す図であり、(a)は設備モデルを示し、(b)は運用モデルを示す。 遠隔整定の処理態様を示す機能ブロック図である。 事故情報配信の処理態様を示す機能ブロック図である。 エージェントの状態遷移の処理態様を示す図である。 モバイルエージェントが事故解析情報を集配信する態様を示す図である。 装置アクセスソフトウェアにおける異なるデータの収容形態を示す図である。 エージェントPFを構成している機能とその機能が対応する事柄との対応関係を示す図である。
符号の説明
1 制御システム
2 電気所
3 運転所
4 保守所
5 データセンター
6 WAN
7 LAN
9 電気所サーバ
12 設備保全サーバ
15 保守用CPU
16 リレー用CPU
17 監視制御サーバ
18 エージェントPF
19 装置アクセスソフトウェア
20 外部サービスインターフェース
21 イベント処理手段
29 外部イベント受信部
30 内部イベント受信部
31 フィルター部
32 運用者用ルーチング部
33 エージェント用ルーチング部
34 記憶部
35 履歴作成部
36 運用者用プロファイル
36a、37a 転送可否条件
36b、37b 転送先テーブル
37 エージェント用プロファイル
38 装置アクセス機能
39 イベント監視部
40 情報モデル変換部
40a、44a メモリ
41 独自アクセス部
42 装置アクセスAPI
43 ツリー検索部
44 データ収容部
45 ツリー構造

Claims (5)

  1. モバイルエージェントがネットワークを介して接続されている複数のノード間を移動し、予め定められたプログラムを前記ノード上で実行することによってそのノードを制御するモバイルエージェントによる制御システムにおいて、前記ノード上のモバイルエージェントのみの状態変化或いは前記ノード上のモバイルエージェント及び前記ノードによって監視されている機器の状態変化を示す状態変化データを受信する状態変化データ受信手段と、この状態変化データ受信手段で受信した前記状態変化データの転送可否条件を記憶した転送可否条件記憶手段と、前記状態変化データ受信手段から前記状態変化データが入力されたことを契機に、前記転送可否条件記憶手段から前記転送可否条件を読み出す転送可否条件読み出し手段と、この転送可否条件読み出し手段によって読み出された前記転送可否条件に基づいて前記状態変化データの転送の可否を判定する転送可否判定手段と、前記状態変化データの種類に対応した転送先が保持されている転送先テーブルを記憶した転送先テーブル記憶手段と、前記転送可否判定手段で転送許可の判定を受けた前記状態変化データが入力されたことを契機に、前記転送先テーブル記憶手段から前記転送先テーブルを読み出す転送先テーブル読み出し手段と、この転送先テーブル読み出し手段によって読み出された前記転送先テーブルに基づいて前記転送先を決定する転送先決定手段と、この転送先決定手段によって決定された前記転送先に前記状態変化データを転送する状態変化データ転送手段と、前記ノードによって監視されている機器の状態変化を検知する装置アクセスソフトウェアから得たオブジェクトを少なくとも収容する情報を授受する前記ノード上のモバイルエージェント同士の間の通信を実現するためのインターフェースとして機能する通信制御部とを前記ノードに設けたことを特徴とするモバイルエージェントによる制御システム。
  2. 前記状態変化データ転送手段が前記ノード上のモバイルエージェントに前記状態変化データを転送した場合、そのモバイルエージェントは前記状態変化データ転送手段から転送された前記状態変化データに対応した処理プログラムに基づいた処理を実行することを特徴とする請求項1記載のモバイルエージェントによる制御システム。
  3. 前記通信制御部が、さらに、前記ノード上のモバイルエージェントから入力された移動依頼信号に応答してそのモバイルエージェントを他のノードに移動させることを特徴とする請求項1記載のモバイルエージェントによる制御システム。
  4. 前記ノード上のモバイルエージェントは、前記状態変化データ転送手段から前記状態変化データが入力されたことを契機に、前記移動依頼信号を前記通信制御部に入力することを特徴とする請求項3記載のモバイルエージェントによる制御システム。
  5. モバイルエージェントがネットワークを介して接続されている複数のノード間を移動し、予め定められたプログラムを前記ノード上で実行することによってそのノードを制御するモバイルエージェントによる制御方法において、前記ノード上のモバイルエージェントのみの状態変化或いは前記ノード上のモバイルエージェント及び前記ノードによって監視されている機器の状態変化を示す状態変化データを状態変化データ受信手段によって受信するステップと、その受信した前記状態変化データの転送可否条件を転送可否条件記憶手段に記憶するステップと、前記状態変化データが入力されたことを契機に、前記転送可否条件記憶手段から前記転送可否条件を転送可否条件読み出し手段によって読み出すステップと、その読み出された前記転送可否条件に基づいて前記状態変化データの転送の可否を転送可否判定手段によって判定するステップと、前記状態変化データの種類に対応した転送先が保持されている転送先テーブルを転送先テーブル記憶手段に記憶するステップと、転送許可の判定を受けた前記状態変化データが入力されたことを契機に、前記転送先テーブル記憶手段から前記転送先テーブルを転送先テーブル読み出し手段によって読み出すステップと、その読み出された前記転送先テーブルに基づいて前記転送先を転送先決定手段によって決定するステップと、その決定された前記転送先に前記状態変化データを状態変化データ転送手段によって転送するステップと、前記ノードによって監視されている機器の状態変化を検知する装置アクセスソフトウェアから得たオブジェクトを少なくとも収容する情報を通信制御部によって前記ノード上のモバイルエージェント同士の間の通信で授受するステップとを前記ノードで行うことを特徴とするモバイルエージェントによる制御方法。
JP2005236166A 2005-08-16 2005-08-16 モバイルエージェントによる制御システム及び方法 Expired - Fee Related JP5060030B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005236166A JP5060030B2 (ja) 2005-08-16 2005-08-16 モバイルエージェントによる制御システム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005236166A JP5060030B2 (ja) 2005-08-16 2005-08-16 モバイルエージェントによる制御システム及び方法

Publications (2)

Publication Number Publication Date
JP2007052562A JP2007052562A (ja) 2007-03-01
JP5060030B2 true JP5060030B2 (ja) 2012-10-31

Family

ID=37916984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005236166A Expired - Fee Related JP5060030B2 (ja) 2005-08-16 2005-08-16 モバイルエージェントによる制御システム及び方法

Country Status (1)

Country Link
JP (1) JP5060030B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009213238A (ja) * 2008-03-04 2009-09-17 Tokyo Electric Power Co Inc:The 電力情報統合管理システム
WO2010071162A1 (ja) * 2008-12-15 2010-06-24 日本電気株式会社 イベント処理システム、イベント処理方法、ルール分配装置、及びルール分配プログラム
EP2977937A1 (en) * 2014-07-25 2016-01-27 Mu Sigma Business Solutions Pvt. Ltd. Event processing systems and methods
JP2017034746A (ja) * 2015-07-29 2017-02-09 東京電力ホールディングス株式会社 監視制御システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184700A (ja) * 1997-12-18 1999-07-09 Nippon Telegr & Teleph Corp <Ntt> 移動エージェントシステムおよびここでの処理方法を記録した記録媒体
JPH11345215A (ja) * 1998-05-29 1999-12-14 Toshiba Corp 移動型エージェントの状態管理方法ならびにシステム及び同方法がプログラムされ記録される記録媒体
DE69938223T2 (de) * 1999-01-29 2009-02-19 Sony Deutschland Gmbh Mobiles Agentsystem und Verfahren zum Steuern eines mobilen Agentsystems
JP2002032122A (ja) * 2000-07-19 2002-01-31 Mitsubishi Electric Corp プラント監視制御システム
CN101309168A (zh) * 2000-07-31 2008-11-19 株式会社东芝 代理程序系统

Also Published As

Publication number Publication date
JP2007052562A (ja) 2007-03-01

Similar Documents

Publication Publication Date Title
JP4618724B2 (ja) データ処理システム並びにデータ処理システムにおける装置データの取得方法及び設定方法
CN103944924B (zh) 一种基于RESTful的泛在网发布订阅中间件模型的方法
JP6360144B2 (ja) スマート変電所の保護制御システムに用いるスマート電力サーバ
CN100580623C (zh) 在集成应用之间保持数据一致性的方法和装置
EP1819096B1 (en) A method for acquiring network key performance indicators and the key performance indicators groupware thereof
BR112012018015B1 (pt) Sistema para reconfiguração automatizada de um sistema de distribuição de eletricidade
JP5060030B2 (ja) モバイルエージェントによる制御システム及び方法
US6571153B1 (en) Electric power system protective control system, method of controlling electric power system protective control system and storage medium storing program module
CN102089749A (zh) 用于管理关于远程安装在开放服务网关初始化服务平台中的包的绑定信息的方法和设备
JP5106645B2 (ja) 監視制御方法
Otani et al. A SCADA system using mobile agents for a next-generation distribution system
JP2017034745A (ja) 監視制御システム
JP6604075B2 (ja) 監視制御システム
JP4102592B2 (ja) 集約機能付障害情報通知システム及びマシンを集約機能付障害情報通知手段として機能させるためのプログラム
JP2017034746A (ja) 監視制御システム
JP6604074B2 (ja) 監視制御システム
CN109871325B (zh) 一种knx远程调试方法及系统
CN113991858A (zh) 一种基于“平台+app”架构的变电站站控系统
JP2017034743A (ja) 監視制御システム及び監視制御方法
CN101578593A (zh) 使用控制台通信的非集中式网络设备管理的系统和方法
CN112738212B (zh) 一种机动车电子标识读写设备运维的方法与系统
CN111953795B (zh) 在移动应用中节点位置和状态信息查询系统及其查询方法
CN114567568A (zh) 基于边缘计算的电力物联网数据处理方法和装置
Peng et al. Principle and Testing Technology of Station Layers in Smart Substations
Cejka et al. Integrating Smart Building Energy Data into Smart Grid Applications in the Intelligent Secondary Substations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080229

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100305

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110418

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110421

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120627

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120803

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5060030

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees