(57)【要約】      （修正有）【課題】複数のエージェントが同期を取って作業を進める。【解決手段】情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記エージェントプラットフォーム又は前記ノードのいずれか一方は同期手段を備え、同じノード内で動作している複数のエージェントが同期を取って作業を進めようとする際に、前記同期手段に対して同期を取る依頼メッセージを送ることにより、同一ノード内の複数のエージェントが同期を取って処理を進めていく。【選択図】図１
2009187568.tif 000002
【特許請求の範囲】
【請求項１】
情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、エージェントプラットフォームはイベント機能を備え、イベント発生時に前記イベント機能に予め登録されたエージェントに対してメッセージを送る事で、エージェントがイベントに応じて作業を進めることが可能である事を特徴とするエージェントシステム。
【請求項２】
情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、あるエージェントプラットフォームがエージェントを次の移動先に移動させる時に、予め定めておいた時間を過ぎても応答の無い通信を強制的に遮断することを特徴とするエージェントシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報ネットワークで結合された通信システム上において、電力系統などの対象システムの監視制御を行うエージェントシステムに関する。
【背景技術】
【０００２】
エージェントシステムは、エージェント（移動可能なプログラム）が対象システムの各ノード（計算機）に移動して適切な場所で適切な処理を行うシステムである。例えば、特許文献１には、これに関する発明が記載されている。この電力系統監視制御システムでは、エージェントによる電力系統監視制御システムのリレー整定において、プログラムモジュール、則ちエージェントが電力系統内の各装置を移動して、保護継電装置の整定を行うことにより、広域分散の電力系統システムが効率的に監視制御されている。
【０００３】
しかし、これら従来のエージェントシステムでは、各エージェントが単独で装置間を移動しながら目的の処理を実行する機構しか用意されていない。そのため、複数のエージェントが協調して処理を進める必要がある業務を遂行するには、当該業務の処理フローだけでなく、エージェントのプログラム内部まで精通している必要がある。更に、協調して処理を進めるためのプログラムをエージェントに埋め込む必要がある。
【０００４】
また、従来のエージェントシステムでは、エージェントがネットワーク経由で移動する途中で何らかの原因でエージェント送信者の意図しない処理に書き換わってしまった場合であっても、エージェント受入先でエージェント送信者の意図を判断する機構が無いため、エージェント受入先でエージェント送信者が意図しない処理が行わる可能性がある。
【０００５】
また、ある１つの装置に多数のエージェントが送り込まれてしまうと、優先度の高いエージェントの処理も、優先度の低いエージェントの処理も同じように処理されている。
【０００６】
また、ＧＰＳを使用した電力系統保護システムが特許文献２に開示されている。しかし、この発明は保護リレーの電気量データにＧＰＳから取得した時刻データを付加したデータを使って系統保護を実現している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−２５７６６１号公報
【特許文献２】特開平１１−３４１７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、複数のエージェントが協調して目的を遂行するエージェントシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施形態に係るエージェントシステムは、情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記エージェントプラットフォーム又は前記ノードのいずれか一方は同期手段を備え、同じノード内で動作している複数のエージェントが同期を取って作業を進めようとする際に、前記同期手段に対して同期を取る依頼メッセージを送ることにより、同一ノード内の複数のエージェントが同期を取って処理を進めていくことを特徴とする。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の第１の実施形態に係るエージェントシステムの構成図。
【図２】図２は、図１を補完説明するための図。
【図３】図３は、図１を説明するフローチャート。
【図４】図４は、本発明の第２の実施形態に係るエージェントシステムの構成図。
【図５】図５は、本発明の第３の実施形態に係るエージェントシステムの構成図。
【図６】図６は、本発明の第４の実施形態に係るエージェントシステムの構成図。
【図７】図７は、本発明の第５の実施形態に係るエージェントシステムの構成図。
【図８】図８は、本発明の第６の実施形態に係るエージェントシステムの構成図。
【図９】図９は、本発明の第７、８の実施形態に係るエージェントシステムの構成図。
【図１０】図１０は、図８を説明するフローチャート。
【図１１】図１１は、本発明の第９の実施形態に係るエージェントシステムの構成図。
【図１２】図１２は、本発明の第１０の実施形態に係るエージェントシステムの構成図。
【図１３】図１３は、本発明の第１１の実施形態に係るエージェントシステムの構成図。
【図１４】図１４は、本発明の第１２、１３、１４の実施形態に係るエージェントシステムの構成図。
【図１５】図１５は、本発明の第１５の実施形態に係るエージェントシステムの構成図。
【図１６】図１６は、図１５を補完説明するための図。
【図１７】図１７は、本発明の第１６の実施形態に係るエージェントシステムの構成図。
【図１８】図１８は、本発明の第１７の実施形態に係るエージェントシステムの構成図。
【図１９】図１９は、本発明の第１８の実施形態に係るエージェントシステムの構成図。
【図２０】図２０は、本発明の第１９の実施形態に係るエージェントシステムの構成図。
【図２１】図２１は、図２０を補完説明するための図。
【図２２】図２２は、本発明の第２０の実施形態に係るエージェントシステムの構成図。
【図２３Ａ】図２３Ａは、図２２を補完説明するための図。
【図２３Ｂ】図２３Ｂは、図２２を補完説明するための図。
【図２４】図２４は、図２２を補完説明するための図。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施の態様を説明する。本発明のエージェントシステムは、対象システムとして特定の対象に限ることなく種々のシステムに適用することができるが、以下の各実施形態においてはエージェントシステムを電力系統の保護制御に適用した場合について説明する。
【００１２】
図１は、本発明の第１の実施形態に係るエージェントシステムを電力系統保護システムに適用した場合の構成を示す図である。図２は図１の同期エージェントが有する機能を説明する図である。図３はシステムの各要素の処理タイミングを説明するシーケンス図である。
【００１３】
図１のシステムはエージェントを使って、保護リレー１９のある時刻における電気量（振幅、位相）などを取得する事を目的とするシステムである。図１において、情報ネットワーク１１は対象システムのノード（計算機１４）を通信回線で接続する。なお、図１には１つの計算機１４しか示していないが、複数の計算機１４が接続されていても良い。
【００１４】
ここで、エージェントは、アプリケーションプログラム（場合により固有のデータを持つ移動型のプログラム）を指すが、以後「エージェントアプリ」と称する。
【００１５】
計算機１４は、保護リレー１９と情報ネットワーク１１とのインタフェースとして機能する。計算機１４は、エージェントプラットフォーム１５１を有している。エージェントプラットフォーム１５１は、エージェントアプリを受け入れて、当該エージェントアプリが動作できるようにする環境を提供する機構である。サーバ１２（図示しない中央操作室に設けられている）は、エージェントアプリをエージェントプラットフォーム１５１に送り込んで、保護リレー１９の電気量を取得する。
【００１６】
図２を参照して同期エージェント１６が有する機能、及び同期エージェント１６を使って同期処理を行う第１及び第２のエージェントアプリ１７、１８が有する機能を説明する。
【００１７】
まず同期エージェントは次の機能を有する。
【００１８】
（１）  メッセージ処理機能（エージェントアプリからの同期依頼を受信すると、次のメッセージ保管領域を検索し、同期信号を送るべきエージェントアプリが登録されていないか調べる。エージェントアプリが登録されている時は対象となるエージェントに同期信号を送り、エージェントアプリが登録されていない時は次のメッセージ保管領域に要求を保管する。）
（２）  メッセージ保管領域としての機能（同期要求を保管する機能）
なお、第１及び第２のエージェントアプリ１７、１８は、それぞれメッセージ処理機能によって同期エージェント１６から送られる同期信号を受信する部分、及び同期信号を受信した時に実行する処理を記述した部分を有する。また、以下の各実施形態においては、第１のエージェントアプリ１７は、振幅を取得し、第２のエージェントアプリ１８は、位相を取得するものとする。
【００１９】
サーバ１２のエージェントプラットフォーム１５２で、同期エージェント１６及び第１及び第２のエージェントアプリ１７、１８（図示しない）が生成される。サーバ１２から、所定のタイミングで、同期エージェント１６及び第１及び第２のエージェントアプリ１７、１８が情報ネットワークを介して計算機１４に送り込まれる。
【００２０】
具体的には、保護リレー１９の電気量（振幅）を取得する第１のエージェントアプリ１７、及び保護リレー１９の電気量（位相）を取得する第２のエージェントアプリ１８第２のエージェントアプリ１８は、保護リレー１９の電気量（振幅、位相）を取得したい時に、サーバ１２から情報ネットワーク１１を介して計算機１４に送り込まれ、エージェントプラットフォーム１５１に受け入れられる。
【００２１】
予め計算機１４に送り込まれている同期エージェント１６は、第１のエージェントアプリ１７及び第２のエージェントアプリ１８間の同期処理を行う。すなわち、同期エージェント１６は、第１のエージェントアプリ１７及び第２のエージェントアプリ１８に対して同時に同期信号を送る。同期信号を受け取った時のエージェントアプリの処理は、エージェントアプリ毎に定義されている。このシステムでは、上記のように第１のエージェントアプリ１７は振幅、第２のエージェントアプリ１８は位相を取得するように予め定義されている。また、同期エージェント１６は、各エージェントアプリ１７、１８間の同期処理を行うための各処理を促すプログラムを有している。同期エージェント１６は、多くの場合エージェントプラットフォーム１５１に常駐している。もっとも、同期エージェント１６を常駐させておく事は、それだけ計算機１４の資源を消費することになるので、サーバ１２、あるいはエージェントプラットフォーム１５１が同期エージェント１６の必要性を判断して、他のノードへの移動を含め、他のエージェントアプリと同様に、発生、消滅等をさせることが可能である。
【００２２】
システム全体の処理フローを、図３を参照して説明する。第１のエージェントアプリ１７と第２のエージェントアプリ１８が同期を取って、同一時刻の振幅、および位相を取得する要求がある。この場合における処理タイミングを示したのが図３である。例えば、第１のエージェントアプリ１７から、エージェントプラットフォーム１５１に対し、同期エージェント１６が存在するかどうかの参照要求を行う。エージェントプラットフォーム１５１は当該参照要求に応じて同期エージェント１６が存在するかどうかを参照し、存在する旨の回答を第１のエージェントアプリ１７に行う。そして、第１のエージェントアプリ１７は、ノードＡのエージェントプラットフォームに常駐する同期エージェント１６に、「第２のエージェントアプリ１８と同期を取りたい」というメッセージ（ａ）（同期相手の名前）を送る。
【００２３】
同期エージェント１６は、このメッセージ（ａ）を受け取ると、同期エージェント１６がその内部に持っているメッセージ保管領域に、第２のエージェントアプリ１８から「第１のエージェントアプリ１７と同期を取りたい」というメッセージ（ｂ）がないかどうか調べる。メッセージがあれば、第１のエージェントアプリ１７と第２のエージェントアプリ１８の双方が同期を取りたがっている事が確認できたので、双方に同期信号（ｃ）（ｄ）を同時に送る。第１のエージェントアプリ１７、および第２のエージェントアプリ１８はこの同期信号（ｃ）（ｄ）を受け取ると、それぞれ予め定められた処理（その瞬間の振幅と位相の取得）を行い、その後サーバ１２に戻り、取得した振幅、位相を報告する。
【００２４】
まだ、同期エージェント１６がエージェントＢからメッセージ（ｂ）を受け取っていない場合、同期エージェント１６は一旦メッセージをメッセージ保管領域に保管する。そして、第２のエージェントアプリ１８から「第１のエージェントアプリ１７と同期を取りたい」（ｂ）というメッセージが来てから、第１及び第２のエージェントアプリ１７、１８に同期信号（ｃ）（ｄ）を同時に送る。
【００２５】
同期エージェント１６がエージェントプラットフォーム１５１に居ない場合は、エージェントアプリがエージェントプラットフォーム１５１に同期エージェントへの参照を尋ねる時に同期エージェントが居ないことがわかる。エージェントアプリのその後の処理（例えば、他の処理を行う、あるいは同期エージェントがエージェントプラットフォーム１５１に到着するまで待つ）についてはユーザがエージェントアプリ内で定義すればよい。
【００２６】
ここで、同期エージェント１６を用いないシステム（則ち従来のエージェントシステム）では、他のエージェントアプリと同期を取るための機構を、エージェントアプリに埋め込むプログラムとして詳細に記述し、第１及び第２のエージェントアプリ１７、１８に、例えば次の様な処理を組込む必要がある。
【００２７】
（１）  第１のエージェントアプリ１７は、同期を取る相手である第２のエージェントアプリ１８を探す。
【００２８】
（２）  第２のエージェントアプリ１８が見つかると、第１のエージェントアプリ１７は第２のエージェントアプリ１８に同期信号を送る。同期信号を受け取った第２のエージェントアプリ１８は予め決められた処理を実行する。
【００２９】
（３）  第１のエージェントアプリ１７は同期信号を受け取った時の処理を実行する。
【００３０】
第１の実施形態では、同期エージェント１６を導入することによって、第１及び第２のエージェントアプリ１７、１８には、例えば、同期エージェント１６のＡＰＩを呼び出すなどの、同期エージェント１６への同期依頼方法を埋め込むだけで良い。これにより、エージェントのプログラミング量が削減されるとともに、同期を取るプログラムのバグ混入がなくなる。
【００３１】
同期エージェント１６は、同期機能が必要なエージェントプラットフォーム１５１にのみ駐在させればよい。従って、同期エージェント１６がエージェントプラットフォーム１５１から分離しているので、エージェントプラットフォームをコンパクトにすることができる。
【００３２】
また、第１及び第２のエージェントアプリ１７、１８を送る直前にサーバ１２から同期エージェント１６を必要なエージェントプラットフォーム１５１に送り、プラットフォーム１５１に同期エージェント１６を常駐させる。もし、そのエージェントプラットフォーム１５１における第１及び第２のエージェントアプリ１７、１８の処理が終了して、同期エージェント１６が不用になれば、同期エージェントをサーバに引き上げたり、消滅させたりすることで、同期エージェント１６を一元的に管理でき、自由度が向上する。
【００３３】
図４は、本発明の第２の実施形態に係るエージェントシステムの構成を示す図である。図４も図１と同様に、ある保護リレー１９の振幅、位相を取得する事を目的としたシステムである。図４において、図１と異なる点は、同期エージェントと同様なプログラムを有する同期機能３６を、エージェントプラットフォーム３５１内に組み込み、同期エージェントは削除している。第１のエージェントアプリ３７と第２のエージェントアプリ３８との間の同期は、同期機能３６を介して、図１における場合と同様に行われる。その他の構成は、図１と対応しており、それぞれ符号１１〜１９が、符号３１〜３９に相当しているので、詳細な説明は省略する。
【００３４】
本第２の実施形態でも、同期機能３６を導入することによって、各第１及び第２のエージェントアプリ３７、３８には、同期を取る相手の第２又は第１のエージェント３８，３７と、同期機能３６への通知方法を埋め込むだけで良い。これにより、図１と同様に、エージェントのプログラミング量が削減されるとともに同期を取るプログラムのバグ混入がなくなる。
【００３５】
また、同期機能が、多くの或いは全ての保護リレー３９に対応して設けられている計算機（ノード）で必要であれば、本実施形態のように予めエージェントプラットフォーム３５１の機能の一部として組み込むことで、その管理などの負担が軽減する。
【００３６】
図５は、本発明の第３の実施形態に係るエージェントシステムの構成を示す図である。
【００３７】
図１のシステムと異なり、図５のシステムは２つの保護リレーの再閉路を、決められた順序で確実かつ素早く実行する事を目的とする。
【００３８】
本第３の実施形態においては、図５のようにＬＡＮ４１に接続されたサーバ４２にエージェントプラットフォーム４３と、その上で動作する同期エージェント４４を設けている。なお、サーバ４２は、各エージェントアプリを必要な保護リレーに対応して設けられている計算機（ノード）に送ったり、収容したりするために、エージェントプラットフォームを備えている。本第３の実施形態では、サーバ４２は、新たに同期エージェント４４を設けている。計算機４５１、４５２はそれぞれ異なる保護リレー４８１、４８２に接続されている。
【００３９】
そして、計算機４５１のエージェントプラットフォーム４６１に、その上で動作する第１のエージェントアプリ４７１が配置され、また計算機４５２のエージェントプラットフォーム４６２に、その上で動作する第２のエージェントアプリ４７２が配置され、これら第１のエージェントアプリ４７１と第２のエージェントアプリ４７２との間の同期を、サーバ４２の同期エージェント４４で取ることを、例として示している。
【００４０】
計算機４５１に存在する第１のエージェントアプリ４７１（同期信号を受け取ると保護リレー４８１の再閉路を実行する）と、計算機４５２に存在する第２のエージェントアプリ４７２（同期信号を受け取ると保護リレー４８２の再閉路を実行する）との間で同期を取る（第１から第２のエージェント（以下の各実施形態において、単に「Ａ→Ｂ」と記載する）の順序で再閉路を実行する）場合、第１のエージェントアプリ４７１はサーバ４２に存在する同期エージェント４４に対して、「Ａ→Ｂの順序で第２のエージェントアプリ４７２と同期を取りたい」（ａ）というメッセージを送る。同期エージェント４４は、第２のエージェントアプリ４７２から「Ａ→Ｂの順序で同期を取りたい」（ｂ）というメッセージを受け取っていれば、第１及び第２のエージェントアプリ４７１、４７２に同期信号（ｃ）、（ｄ）を順番に送る。しかし、第２のエージェントアプリ４７２からのメッセージ（ｂ）が来ていない場合、同期エージェント４４は、第１のエージェントアプリ４７１からのメッセージ（ａ）を保管しておく。そして、第２のエージェントアプリ４７２から「Ａ→Ｂの順序で第１のエージェントアプリ４７１と同期を取りたい」（ｂ）というメッセージが来た時に、第１及び第２のエージェントアプリ４７１、４７２に同期信号（ｃ）、（ｄ）を順番に送る。
【００４１】
同期信号（ｃ）（ｄ）を受け取った第１及び第２のエージェントアプリ４７１、４７２は予め定められていた処理に従い、それぞれの保護リレーの再閉路を実行する。本システムの場合、同期エージェントが同期信号を（ｃ）、（ｄ）の順番で各エージェントアプリに送るので、再閉路は保護リレー４８１、４８２の順番で実行される。
【００４２】
第３の実施形態では、サーバ４２に同期エージェント４４を配置することで、異なった計算機４５１，４５２に存在する第１及び第２のエージェントアプリ４７１、４７２間でも同期を取ることが可能になる。
【００４３】
また、第３の実施形態では、同期エージェントを使って同期処理を行う為、例えば事故の少ない系統など、同期を取る回数が少ないようなシステム構成の場合には、同期処理が必要となった時にのみ同期エージェントを用意すればよいので効率的である。
【００４４】
従来、再閉路は人が手作業で行っていたが、本システムでは再閉路のタイミングを遥かに高精度で行うことができる。従って、本システムでは、従来の手法による再閉路より系統が安定するという、系統保護に本エージェントを適用することによる固有の効果が見込める。
【００４５】
図６は、本発明の第４の実施形態に係るエージェントシステムの構成を示す図である。図６は図５と異なり、同期エージェントと同様なプログラムを有する同期機能５４を、サーバ５２内に用意し、同期エージェントは削除している。第１のエージェントアプリ５７１と第２のエージェントアプリ５７２との間の同期は、同期機能５４を介して、図５における場合と同様に行われる。その他の構成は、図５と対応しており、それぞれ符号４１〜４８２が、符号５１〜５８２に相当している。
【００４６】
第４の実施形態においても、同期機能５４を導入することによって、異なった計算機５５１，５５２に存在する第１及び第２のエージェントアプリ１７、１８間でも同期を取ることが可能になる。図５と異なり、図６では同期機能が常に存在している。その為、頻繁に事故の発生する系統では、同期処理を必要とする度に同期エージェントを用意する図５のシステムより効率的である。
【００４７】
図７は、本発明の第５の実施形態に係るエージェントシステムの構成を示す図である。図７において、エージェントシステムの基本構成、及びシステムの目的は図５の構成とほぼ同様である。しかし、サーバ６７と計算機６３１、６３２の間の通信路が電話回線（ＷＡＮ６０）などの遅い回線である。サーバにはエージェントマネージャ６２が動作している。エージェントマネージャは、システム内の全てのエージェントの位置を管理するプログラムである。エージェントプラットフォームはエージェント生成、移動などのイベントが発生する度にそのイベントをエージェントマネージャに通知する。
【００４８】
この場合、図５、図６の様にサーバから電話回線経由で同期信号を送る方式では同期の精度に問題がある。
【００４９】
第５の実施形態においては、図７のように、計算機６３１のエージェントプラットフォーム６４１の上で動作する第１の同期エージェント６５１を計算機６３１に送り込み、エージェントプラットフォーム６４１に配置された第１のエージェントアプリ６６１の同期処理を司る。また、計算機６３２のエージェントプラットフォーム６４２の上で動作する第２の同期エージェント６５２を計算機６３２に送り込み、エージェントプラットフォーム６４２に配置された第２のエージェントアプリ６６２の同期処理を司る。
【００５０】
そして、計算機６３１の第１のエージェントアプリ６６１と計算機６３２の第２のエージェントアプリ６６２との同期を、第１の同期エージェント６５１と第２の同期エージェント６５２との間で取ることを、例として示している。
【００５１】
図７のエージェントシステムにおいて、計算機６３１にある第１のエージェントアプリと、計算機６３２にある第２のエージェントアプリ間の同期は次のように取られる。第１のエージェントアプリ６６１から、計算機６３１に駐在する第１の同期エージェント６５１に「Ａ→Ｂの順序で第２のエージェントアプリ６６２と同期を取りたい」（ａ）というメッセージを送る。第１の同期エージェント６５１は、同期を取りたい相手である第２のエージェントアプリ６６２がどのノード（計算機）にいるかを「問い合わせる」（ｂ）ためのメッセージをエージェントマネージャ６２に送る。この問い合わせは、第１のエージェントアプリ６６１がサーバから送り込まれる時に、第２のエージェントアプリ６６２の位置を与えられている場合など、第２のエージェントアプリ６６２の存在するノードが分かっている場合には省略される。
【００５２】
同期を取りたい相手である第２のエージェントアプリ６６２が計算機６３２にいることが分かると、第１の同期エージェント６５１から計算機６３２の第２の同期エージェント６５２に「Ａ→Ｂの順序で第２のエージェントアプリ６６２と同期を取りたい」（ｃ）というメッセージを送る。
【００５３】
このメッセージ（ｃ）を受け取った第２の同期エージェント６５２は、このメッセージ（ｃ）を保管するとともに、「未だ同期が取れない」（ｄ）とのメッセージを第１の同期エージェント６５２に送り、第２のエージェントアプリ６６２からのメッセージを待つ。第１の同期エージェント６５１は同じく「未だ同期が取れない」（ｅ）とのメッセージを第１のエージェントアプリ６６１に送る。
【００５４】
第２の同期エージェント６５２は、第２のエージェントアプリ６６２から、「Ａ→Ｂの順序で第１のエージェントアプリ６６１と同期を取りたい」（ｆ）とのメッセージが来た時点で、第１の同期エージェント６５１に、「第１のエージェントアプリ６６１と第２のエージェントアプリ６６２は同期が取れた」（ｇ）というメッセージを送り、その後第２のエージェントアプリ６６２には同期信号（ｉ）を送る。このメッセージ（ｇ）を受け取った第１の同期エージェント６５１は、第１のエージェントアプリ６６１に対して同期信号（ｈ）を送り、第１のエージェントアプリ６６１からの保管していたメッセージ（ａ）を削除する。
【００５５】
第５の実施形態においては、このように、各計算機６３１，６３２においた同期エージェント６５１，６５２同士が同期の情報をやり取りしている。これにより、異なる計算機に存在する第１及び第２のエージェントアプリ６６１、６６２同士が同期を取って処理を行なおうとする場合に、お互いのエージェントアプリがどの計算機に存在するかというようなことを意識することなく、同じ計算機内に常駐する同期エージェントにメッセージを送るだけで、容易に同期がとれるようになる。
【００５６】
図８は、本発明の第６の実施形態に係るエージェントシステムの構成を示す図である。図８は、同期エージェントと同様なプログラムを有する同期機能７５１を計算機７３１のエージェントプラットフォーム７４１内に組み込み、同期エージェントを削除している点が図７と異なる。同様に、同期エージェントと同様なプログラムを有する同期機能７５２を、計算機７３２のエージェントプラットフォーム６４２内に組み込み、同期エージェントを削除している。第１のエージェントアプリ７６１と第２のエージェントアプリ７６２との間の同期は、同期機能７５１および同期機能７５２を介して、図７における場合と同様に行われる。その他の構成は、図７と対応しており、それぞれ符号６１〜６８２が、符号７１〜７８２に相当しているので、詳細な説明は省略する。
【００５７】
本第６の実施形態でも、同期機能７５１，７５２を導入することによって、異なった計算機７３１，７３２に存在する第１及び第２のエージェントアプリ７６１、７６２間でも同期を取ることが容易になる。頻繁に同期を取る処理が行われる場合、このように同期機能をエージェントプラットフォームに組込んでおくことにより、サーバが毎回同期エージェントを送り込む必要がないので、その分バグの混入が無くなる。
【００５８】
図９は本発明による第７の実施形態を示すシステム構成図である。また、図１０は時刻同期処理のタイミングを示したフローチャートである。
【００５９】
図９は、異なる保護リレーの電気量を予め定められた時刻に一斉に取得するシステムである。
【００６０】
図９では、計算機８０１はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）８８０に接続されており、エージェントを受け入れる為のプログラムであるプラットフォーム８１１が動作している。プラットフォーム８１１には、指定された時刻になると対象エージェントアプリ８２１に対してイベントを通知する時刻同期機能８３１が内蔵されている。時刻同期機能８３１は基準時刻提供装置８５１と連携している。基準時刻提供装置８５１、８５２は基準時刻を提供する装置であって、全ての基準時刻提供装置は同じ基準時刻を提供するものとする。基準時刻提供装置としては、例えば各計算機が持つ内蔵時計などが考えられる。計算機８０１は保護リレー８９１からその電気量を取得出来るものとする。このようなプラットフォーム８１１に対して、イベントを受け取った時の処理（本システムでは電気量取得）を定義されたエージェントアプリ８２１が他計算機のプラットフォームから移動してくるとする。
【００６１】
一方、計算機８０１と同じＬＡＮ８８０に接続された計算機８０２も計算機８０１と同様の構成をしている。
【００６２】
この構成における処理の流れを図１０に示す。計算機８０１の時刻同期機能８３１は基準時刻提供装置８５１から基準時刻を取得することにより、自らを絶対時刻に合わせる。計算機８０２の時刻同期機能８３２も同様に時刻合わせを行う。ここで計算機８０１、８０２とネットワークで接続されたサーバ８４０（中央制御所など）が、ネットワークを介して時刻同期機能８３１、８３２に処理開始時刻をセットする。処理開始時刻をセットされた時刻同期機能８３１は、指定された時刻になると、同じプラットフォーム８１１に対象エージェントアプリ８２１が居る場合はこのエージェントアプリ８２１に対して指定時刻になった旨のイベントを通知する。エージェントアプリ８２１はこのイベントを受け取った時に、予め定められた処理（保護リレー８９１からの電気量取得）を開始する。時刻同期機能８３２も同様同様の動作を行う。この時、時刻同期機能８３１、８３２は共に同じ基準時刻に合わされている為、エージェント８２１、８２２は同一時刻に異なる保護リレー８９１、８９２の電気量を一斉に取得する。
【００６３】
また、時刻同期機能８３１に処理開始時刻をセットするのはサーバ８４０ではなく、プラットフォーム８１１に移動してきたエージェントアプリ８２１であっても良い。時刻同期機能８３２についても時刻同期機能８３１と同様である。
【００６４】
本第７の実施形態によれば複数のエージェントが異なる計算機上に居ても、同一時刻に一斉に処理を行うことが可能となる。
【００６５】
図９における第８の実施形態として、基準時刻提供装置としてＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）を使用することが好ましい。ＧＰＳは地球の周りを周回している人工衛星から発信される電波を使って絶対時刻を取得する装置であり、マイクロ秒単位の精度を実現できる。
【００６６】
以降は第７の実施形態と同様に、処理開始時刻をセットし対象エージェントにイベントを通知することにより処理を開始する。この構成によれば、時刻同期機能８３１、８３２は共に同じ基準時刻に合わされている為、エージェント８２１、８２２は同一時刻に処理を開始する。
【００６７】
本第８の実施形態によれば複数のエージェントが異なる計算機上に居ても、指定された絶対時刻に一斉に処理を行うことが可能となる。このＧＰＳを使った構成では、極めて高い時刻精度が実現可能になる。
【００６８】
図１１は本発明の第９の実施形態に係るシステム構成図である。
【００６９】
本システムの目的も図９と同等であり、図９と同じ構成部分については図９と同じ符号を付けている為、説明を省略する。図１１は、図９の構成と、時刻同期機能１０３１と連携しているのが基準時刻提供装置ではなく時刻同期サーバ１０７１であり、時刻同期機能１０３２と連携しているのが時刻同期クライアント１０７２である、という点が異なる。時刻同期サーバ１０７１は、ネットワークで接続された時刻同期クライアント１０７２及び同一計算機内の時刻同期機能１０３１に自らが持つ基準時刻を提供するプログラムである。時刻同期クライアント１０７２は、時刻同期サーバから取得した基準時刻を同一計算機内の時刻同期機能に提供するプログラムである。
【００７０】
この構成で、時刻同期サーバ１０７１はネットワーク遅延を考慮して時刻同期クライアント１０７２に自らの時刻を通知することにより、時刻同期クライアント１０７２を時刻同期サーバ１０７１と同じ基準時刻（時刻同期サーバ１０７１の時刻）に合わせる。そして時刻同期機能１０３１は時刻同期サーバ１０７１から、時刻同期機能１０３２は時刻同期クライアント１０７２から、それぞれ基準時刻を取得して自らの時刻を基準時刻に合わせる。
【００７１】
以降は第７の実施形態と同様に、処理開始時刻をセットし対象エージェントにイベントを通知することにより処理を開始する。この構成によれば、時刻同期機能１０３１、１０３２は共に同じ基準時刻に合わされている為、エージェント１０２１、１０２２は同一時刻に処理を開始する。
【００７２】
本第９の実施形態によれば、複数のエージェントが異なる計算機上に居ても、同一時刻に一斉に処理を行うことが可能となる。図９の構成と比較した場合、時刻同期専用のハードウェア（ＧＰＳ）が不必要な分、コストが押さえられるというメリットがある。
【００７３】
図１２は本発明による第１０の実施形態を示すシステム構成図である。
【００７４】
本第１０の実施形態に係るシステムの目的も図９と同等である。図１２において、図９と同じ構成部分については図９と同じ符号を付し、その詳細な説明は省略する。図１２は、図９の構成と、時刻同期機能１１３１と連携しているのが基準時刻提供装置ではなく時刻同期クライアント１１７２であり、時刻同期機能１１３２と連携しているのが時刻同期クライアント１１７３であり、ＬＡＮ１１８０に時刻同期の為の専用サーバ１１７１が稼動しているという点が異なる。
【００７５】
上記の構成において、時刻同期サーバ１１７１がネットワーク遅延を考慮して時刻同期クライアント１１７２、１１７３に自らの時刻を通知することにより、時刻同期クライアント１１７２、１１７３は時刻同期サーバ１１７１と同じ基準時刻（時刻同期サーバ１１７１の時刻）に合わされている。時刻同期機能１１３１は時刻同期クライアント１１７２から、時刻同期機能１１３２は時刻同期クライアント１１７３から、それぞれ基準時刻を取得し、自らの時刻を基準時刻に合わせる。
【００７６】
以降は第７の実施形態と同様に、処理開始時刻をセットし対象エージェントアプリにイベントを通知することにより処理が開始される。この構成によれば、時刻同期機能１１３１、１１３２は共に同じ基準時刻に合わされている為、エージェントアプリ１１２１、１１２２は同一時刻に処理を開始する。
【００７７】
本第１０の実施形態によれば、異なる計算機上に居る複数のエージェントが同一時刻に、一斉に処理を行うことが可能となる。この構成も図１１と同様、ＧＰＳを使用した図９よりコストが押さえられるというメリットがある。
【００７８】
図１３は本発明による第１１の実施形態を示すシステム構成図である。
【００７９】
本第１１の実施形態に係るシステムの目的も図９と同等である。図１３において図９と同じ構成部分については図９と同じ符号を付し、その詳細な説明を省略する。図１３に係るシステムは、図９の構成と、時刻同期機能１２３１と連携しているのが基準時刻提供装置ではなくＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）クライアント１２６２であり、時刻同期機能１２３２と連携しているのがＮＴＰクライアント１２６３であり、これらとネットワーク的に接続されたＮＴＰサーバ１２６１が稼動している点が異なる。ＮＴＰとはインターネットの標準プロトコルを使用した時刻合わせの手法であり、インターネットの業界標準であるＲＦＣ（Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔ）−１３０５にその仕様が定義されている。
【００８０】
上記の構成において、時刻同期機能１２３１は自らの時刻を合わせる為に、ＮＴＰクライアント１２６２に時刻を問い合わせる。問い合わせを受けたＮＴＰクライアント１２６２はＮＴＰサーバ１２６１から絶対時刻を取得し、時刻同期機能１２３１に返すことにより、時刻同期機能１２３１は自らを絶対時刻に合わせる。時刻同期機能１２３２も同様である。
【００８１】
以降は図８と同様に、処理開始時刻をセットし対象エージェントにイベントを通知することにより処理が開始される。この構成によれば、時刻同期機能１２３１、１２３２は共に絶対時刻に合わされているので、エージェント１２２１、１２２２は同一時刻に処理を開始する事が可能になる。
【００８２】
本第１１の実施形態によれば、図９のＧＰＳを使ったシステムに近い精度で、かつ廉価に、異なる計算機上に居る複数のエージェントが指定された絶対時刻に、一斉に処理を行うことが可能となる。
【００８３】
図１４は本発明による第１２の実施形態を示すシステム構成図である。
【００８４】
本第１２の実施形態に係るシステムの目的も図９におけるシステムの目的と似ているが、保護リレー同士が物理的に遠く離れている点が図９に係るシステムと異なる。図１４において図９と同じ構成部分については図９と同じ符号を付し、その詳細な説明を省略する。図１４に係るシステムは、図９の構成と、ＷＡＮ１３６０（例えば公衆回線網等）を介してＬＡＮ１３８１に接続されたＬＡＮ１３８２に計算機１３０２が接続されており、計算機１３０２に、基準時刻提供装置１３５２と連携した時刻同期機能１３３２を持つプラットフォーム１３１２とエージェントアプリ１３２２が稼動している点が異なる。
【００８５】
以降は図８と同様、処理開始時刻をセットし対象エージェントにイベントを通知することにより処理が開始される。この構成によれば、時刻同期機能１３３１、１３３２は全て同じ基準時刻に合わされているので、エージェント１３２１、１３２２は同一時刻に処理を開始する事が可能になる。
【００８６】
本第１２の実施形態によれば、複数のエージェントが公衆回線網を介して接続された計算機同士など遠く離れた計算機上に居ても、同一時刻に一斉に処理を行うことが可能となる。
【００８７】
第１３の実施形態は、図１４の構成において、基準時刻提供装置としてＧＰＳを使用したシステムである。
【００８８】
第１３の実施形態においても、図８と同様、処理開始時刻をセットし対象エージェントにイベントを通知することにより処理が開始される。この構成によれば、時刻同期機能１３３１、１３３２は全て同じ基準時刻に合わされているので、エージェント１３２１、１３２２は同一時刻に処理を開始する事が可能になる。
【００８９】
本第１３の実施形態によれば、公衆回線網を介して接続された計算機同士など遠く離れた計算機上に居る複数のエージェントが、指定された絶対時刻に一斉に処理を行うことが可能となる。このＧＰＳを使った構成では、遠隔であるにも関わらず、極めて高い時刻精度が実現可能になる。
【００９０】
図１４において、第１４の実施形態として、ＧＰＳの代わりに電波時計を使用したシステムを採用しても良い。電波時計とは、総務省通信総合研究所が発信している電波を受信して常に正確な時刻を取得する装置であり、ミリ秒〜マイクロ秒単位の精度を実現できる。
【００９１】
第１４の実施形態においても、図８と同様、処理開始時刻をセットし対象エージェントにイベントを通知することにより処理を開始する。この構成によれば、時刻同期機能１３３１、１３３２は全て同じ基準時刻に合わされているので、エージェント１３２１、１３２２は同一時刻に処理を開始する事が可能になる。
【００９２】
本第１４の実施形態によれば、公衆回線網を介して接続された計算機同士など遠く離れた計算機上に居る複数のエージェントが、第１３の実施形態に係るＧＰＳを使ったシステムに近い精度で、かつ比較的廉価に、指定された絶対時刻に一斉に処理を行うことが可能となる。
【００９３】
図１５は、本発明の第１５の実施形態に係るエージェントシステムの構成を示す図である。図１６は図１５の管理エージェントが有する機能を説明するための図である。本第１５の実施形態においてもエージェントシステムの基本構成は、第１の実施形態におけると同様である。
【００９４】
図１５は管理エージェントが保護リレー１４６の整定値を管理する例である。図１５において、保護リレー１４６は、情報ネットワーク１４１に接続された複数のノードに存在するエージェントアプリからアクセスされ、その整定値の読み出し、書き込みが、行われる。本実施形態では図１５のように、ある特定の計算機１４２１のエージェントプラットフォーム１４３１に、図１６の各機能を有する管理エージェント１４５を常駐的に配置し、計算機１４２１の第１のエージェントアプリ１４４１，計算機１４２２の第２のエージェントアプリ１４４２からの保護リレー１４６へのアクセスを一元的に管理する。管理エージェントは次のような構成を有する。
【００９５】
（１）  占有要求受信部（エージェントアプリが送ってくる共有データの占有要求を受信し（ａ）、次の占有要求格納テーブルに保管する（ｂ）。）
（２）  占有要求格納テーブル（この管理エージェントが管理する共有データへの占有要求を格納する。）
（３）  占有終了受信部／占有許可発信部（共有データを占有しているエージェントアプリが送ってくる占有終了情報を受信すると（ｃ）、占有要求格納テーブルから占有要求を１つ取り出して（ｄ）、その要求を出したエージェントアプリに占有の許可を通知する（ｅ）。）
（４）  データアクセスインタフェース（占有許可を受け取ったエージェントアプリはこれを通して共有データにアクセスする（ｆ）。）
例えば、保護リレー１４６を管理している計算機１４２１にサーバ１４７から送り込まれた第１のエージェントアプリが、管理エージェント１４５に対して、「データの名称」と「書き込み／読み出し等の処理」、および「書き込み読み出しに必要なパラメータ」を渡して、管理エージェント１４５が保護リレー１４６へのデータアクセスを行う。あるいは、計算機１４２１とは別の計算機１４２２に存在する第２のエージェントアプリ１４４２から、管理エージェント１４５にメッセージを送って、管理エージェント１４５が当該メッセージ受信に応じて保護リレー１４６へのデータアクセス処理を行い、その結果をメッセージで第２のエージェントアプリ１４４２に戻す。
【００９６】
管理エージェント１４５は、この保護リレー１４６へのアクセス時において、書き込み処理の場合にはそのデータへの、他からのアクセスに対してプロテクトをかけ（占有）、書き込み処理完了に伴ってプロテクトを外す（占有終了）。ただし、読み出し処理の場合は、書き込み処理に対するのとは異なり、プロテクトをかけず他の読み出し処理も可能である。
【００９７】
このように、保護リレー１４６の整定値の管理を管理エージェント１４５に一本化することで、データアクセスの排他処理が間違えなく、容易に行えるようになる。
【００９８】
また、第１のエージェントアプリ１４４１が保護リレー１４６の整定値データにアクセスしようとした時（図１５（ａ））、別のエージェント、例えば第２のエージェントアプリ１４４２が管理エージェント１４５を介して保護リレー１４６の整定値データにすでにアクセス（ａ）’、（ｂ）’中で、管理エージェント１４４２により整定値データにプロテクトがかけられていた場合、第１のエージェントアプリは整定値データにアクセスすることができない。このとき第１のエージェントアプリは、管理エージェント１４５に対して、プロテクトが外れたらメッセージを送ってもらうように依頼しておき（ａ）、別の処理を進める。管理エージェント１４５からプロテクトが外れた旨のメッセージ（ｃ）が来た時点で、保護リレー１４６の整定値データにアクセスする（ｂ）。
【００９９】
また、管理エージェント１４５と異なる計算機、例えば計算機１４４２に存在する第２のエージェントアプリも同様のサービスを受けられる。
【０１００】
このように、保護リレー１４６の整定値データのプロテクトが外れた時点で、管理エージェント１４５からその旨のメッセージがもらえるため、整定値データを使用する処理とは無関係な処理を先に進めることが可能になり、エージェントの処理効率が向上する。同時に、プロテクト中に複数のアクセスがあり、その後プロテクトが解除された場合には、アクセスした時刻の早い順、あるいはアクセス要求の優先度（要求時に設定出来る場合）の高い順にプロテクトが外れた旨のメッセージをアクセス要求元へ送信する事とする。
【０１０１】
また、第１のエージェントアプリ１４４１は、保護リレー１４６の整定値が書き換わった時点で処理を行う必要がある場合（例えば、整定値の変更をサーバに報告する、など）に、管理エージェント１４５に「整定値が書き換わった時点で処理を行う」ことを登録しておく（ａ）。これにより、保護リレー１４６の整定値が書き換わった時、管理エージェント１４５から第１のエージェントアプリ１４４１に「整定値が書き換わった」旨のメッセージ（ｃ）が通知される。このメッセージを受けた第１のエージェントアプリ１４４１は、管理エージェント１４６に整定値の読み取りを要請し（ａ）、保護リレー１４６から書き換えられた整定値（ｂ）を管理エージェント１４６を介して受け取る（ｃ）。この、管理エージェント１４５と異なる計算機、例えば計算機１４４２に存在する第２のエージェントアプリ１４４２も同様のサービスを受けられる。
【０１０２】
この整定値書き換え通知システムが無い場合は、第１のエージェントアプリ１４４１で、整定値の値が書き換わったどうか、適当な時点（たとえば一定周期）に保護リレー１４６にポーリングする必要がある。この整定値書き換え通知システムにより、ポーリング処理は不要になり、エージェントの処理効率が向上する。
【０１０３】
また、第１５の実施形態に係るエージェントシステムは、図１５における管理エージェントに代えて、同様な機能を有する管理機能をエージェントプラットフォーム内に組み込むように構成しても良い。この場合でも、管理エージェントをエージェントプラットフォーム上に配置した場合と同様な作用、効果を得ることができる。
【０１０４】
また、このシステムでは必要に応じて、エージェントアプリは管理エージェントや管理機能から通知が来るまで処理を中断し、通知を受け取った後で処理を再開する場合もありうる。この場合も上記と同様、そのための処理をエージェントアプリで実現する必要がないため、エージェントの処理が簡潔になる。
【０１０５】
本システムでは管理エージェントが管理するのは共有データであるが、例えば保護リレー１４６の情報をリアルタイムで取得し外部に提供する機能を計算機１４２１が有している場合には、管理エージェントがこの共有機能を管理する構成なども考えられる。
【０１０６】
図１７は、本発明の第１６の実施形態に係るエージェントシステムの構成を示す図である。本第１６の実施形態においてもエージェントシステムの基本構成は、第１の実施形態におけるシステムと同様である。本システムは、保護リレーの遮断状態を解除するエージェントアプリをサーバ１５５から計算機１５２に送り、保護リレーを再閉路する事を目的とする。
【０１０７】
第１６の実施形態では、エージェントシステムで、あるエージェントアプリを離れた計算機に送って処理させる際に、そのエージェントアプリが誤ってエージェント送信者の意図しない動作をすることを防止するようにしている。
【０１０８】
すなわち、処理の結果によっては、重要な結果を生じるようなエージェントアプリの伝送の確実性を高めるために、ある計算機に配置されているエージェントアプリを、情報ネットワークを介して、他の計算機に移動させる際に、そのエージェントアプリを複製して複数生成し、情報ネットワーク上の複数の経路を通って移動させ、他の計算機ではそれらの到着状況により、適否を判断した上で、処理を実行する。
【０１０９】
図１７に示すように、サーバ１５２１に配置されているエージェントアプリ１５４１を、情報ネットワーク１５１を介して計算機１５２２に移動させて、計算機１５２２で処理を行わせる。この場合、エージェントアプリをそのコピーを含めて複数個生成し、それらを情報ネットワーク１５１の別々の経路を辿って目的の計算機１５２２に到着させる。経路の振り分けは例えばサーバ１５２１が行い、同時に計算機１５２２に対してサーバ１５２１から送信したエージェントの数を通知しておく。
【０１１０】
そして、計算機１５２２のエージェントプラットフォーム１５３２では、一つのエージェントアプリが到着しただけでは、処理の開始を許可せず、サーバ１５２１から出発したすべてのエージェントアプリが到着した時点で、代表のエージェントアプリに処理（再閉路）を開始させる。なお、他のコピーされたエージェントアプリ’は捨てられる。
【０１１１】
また、サーバ１５２１から出発したすべてのエージェントアプリが計算機１５２２に到着してから処理を開始する代わりに、半数のエージェントアプリが到着した時点（過半数の到着）で処理を開始するようにすることもできる。あるいは到達した数だけでなく、到達したエージェントアプリの内容が全て、あるいは過半数が等しいことによって処理を許可しても良い。
【０１１２】
これにより、何らかの不具合によって、あるいは、セキュリティを破られて進入され、ある経路での情報が書き換えられてしまった場合でも、同内容のエージェントアプリを複数作成して、それらを別々の経路を通って移動させているので、そのエージェントアプリの処理内容がエージェントアプリの送信者の意図しないものである確率は、ただ１つのエージェントアプリだけで処理を行う場合より、低くなる。
【０１１３】
図１８は、本発明の第１７の実施形態に係るエージェントシステムの構成を示す図である。本第１７の実施形態においてもエージェントシステムの基本構成は、第１の実施形態におけるシステムと同様である。図１８は、特定の計算機に多数のエージェントアプリが到着する場合の、処理手法を説明する図である。第１７の実施形態では、同時に受入れるエージェントの数を所定の数以下に制限するという、新たな機能がエージェントプラットフォームに追加されている。この機能は、上記の各実施の形態におけるエージェントシステムにおいて、保護リレーと情報ネットワークとのインタフェースとなる計算機が組込式で、処理速度が高速でない場合などでは特に有効である。
【０１１４】
図１８において、計算機１６２１に、他の計算機１６２２などから多数のエージェントアプリが到着することがある。この場合、到着した全てのエージェントアプリを受け入れて動作させると、メモリ消費量など、そのエージェントプラットフォームへの負荷が非常に大きくなり、各エージェントアプリの処理が遅くなってしまう。このため、エージェントプラットフォームに、そのプラットフォームが受入れることができる最大のエージェント数を登録しておき、その数を超えたエージェントは受入れを拒否する。
【０１１５】
図１８のように、計算機１６２１のエージェントプラットフォーム１６３１に対して、一度に受入れられるエージェントアプリの個数を例えばｎ個という設定を可能とし、それを超えたエージェントアプリは受け入れを制限する。
【０１１６】
このように、エージェントプラットフォーム１６３１が受入れることができる最大のエージェント数ｎを登録しておき、その数ｎを超えたエージェントアプリは受入れを拒否する。従って、一度に動作するエージェントアプリの個数の最大数が制限されるので、その計算機におけるエージェントアプリの処理効率が向上する。
【０１１７】
また、エージェントプラットフォーム１６３１に、受け入れ待ちエージェント用待ち行列１６５を設け、エージェントプラットフォーム１６３１が制限いっぱいのｎ個のエージェントアプリを受け入れている場合には、例えば計算機１６２２のエージェントアプリ１６６等のエージェントアプリが移動してきても、新しいエージェントアプリは受け入れられず、この受入れられないエージェントアプリ（ａ）（ｂ）（ｃ）・・・が待ち行列１６５に入り待機する。そして、受け入れられて動作しているエージェントアプリ１〜ｎが移動したり、消えたりした時点で、待ち行列１６５から所定のエージェントアプリを例えば順番にエージェントプラットフォーム１６３１に受け入れ、処理可能にする。待ち行列１６５は例えば計算機のメモリ上、あるいは外部記憶装置上に用意しておく。
【０１１８】
このように、一度に受入れるエージェントアプリの個数をｎ個に制限し、それを超えてエージェントアプリが送られてきた場合に、そのエージェントアプリを待ち行列１６５に追加する。逆に、エージェントアプリがその計算機での処理が終了して、別の計算機に移動したり、消えたりした時点で、待ち行列１６５に並んでいる先頭のエージェントアプリを、プラットフォームに受入れ、処理を開始させる。
【０１１９】
したがって、エージェントプラットフォーム１６３１にエージェントアプリを受入れずに、エージェントアプリを待ち行列１６５に並ばせる事によって、エージェントアプリの移動にかかるオーバーヘッドを小さくしながら、その計算機におけるエージェントアプリの処理効率が向上する。
【０１２０】
また、プラットフォームに優先度を管理する機能をもたせておけば、エージェントアプリ毎に優先度を設定することにより、エージェントプラットフォーム１６３１が制限個数いっぱいのｎ個のエージェントを受け入れている場合には、エージェントアプリが待ち行列１６５に入れられる際に、それぞれのエージェントアプリに与えられた優先度順に、待ち行列１６５での待ち順が決められる。
【０１２１】
このように、待ち行列１６５での並び順を、待ち行列１６５に入ってきた順ではなく、待ち行列内のエージェントアプリの優先度順にならべる機能をエージェントプラットフォーム１６３１に持たせることにより、エージェントアプリが優先度順に待ち行列で並び替えられる。したがって、優先度が高いエージェントアプリはより早くエージェントプラットフォームに受入れられるようになるので、重要な処理の待ち時間を短くすることができる。
【０１２２】
優先度に従って、待ち行列に配置されるエージェントアプリの順番を設定するのではなく、エージェントプラットフォーム１６３１が制限いっぱいのｎ個のエージェントアプリを受け入れている場合に、後から移動してきたエージェントアプリの優先度が、現在動作しているｎ個のエージェントアプリのいずれかの優先度より高い場合に、動作中のエージェントアプリの中で一番優先度が低いエージェントアプリを待ち行列１６５に移動させて、優先度の高いエージェントアプリを受入れることにより、優先度の高いエージェントアプリを優先して動作させるようにしても良い。
【０１２３】
このように、計算機１６２１内で制限数いっぱいのエージェントアプリが動いている時、動作中のエージェントアプリよりも高い優先度のエージェントが移動してきた場合に、動作中の一番優先度の低いエージェントアプリを待ち行列１６５に移して、優先度の高いエージェントアプリの処理を行わせる機能をエージェントプラットフォーム１６３１に持たせる。これにより、優先度が高いエージェントアプリは、優先的にエージェントプラットフォームに受入れられるので、待ち行列で待つ時間がさらに短くなる。
【０１２４】
図１９は、本発明の第１８の実施形態に係るエージェントシステムの構成を示す図である。本第１８の実施形態においてもエージェントシステムの基本構成は、第１の実施形態における場合と同様である。図１９は、エージェントプラットフォームが自らに送り込まれたエージェントの機能、性質を判定してそのエージェントの受入を決定する場合の、処理手法を説明する図である。図１９では、自らに送り込まれたエージェントの機能、性能を判定するという、新たな機能がエージェントプラットフォームに追加されている。図１９のシステムは、エージェントアプリ１７２が保護リレー１７４の情報を取得し、それを元に保護リレー１７４の整定値を計算する事を目的とする。このシステムにおいてプラットフォームが判断する機能、性能とはエージェントが処理を行うのに必要な計算機の資源（ＣＰＵ速度、必要メモリ量など）とする。
【０１２５】
エージェントアプリ１７２は保護リレー１７４の情報を取得した後に、これを元に整定値の計算を行う。ここで、現在居る計算機１７０１の処理性能が低いので他の計算機に移動してから整定値計算を行うとする。移動先の候補は予めエージェントアプリに持たせておく事が普通であると考えられる。しかしエージェントアプリが処理される計算機に全く制約が無い場合には、プラットフォームが移動先を決定することもありうる。
【０１２６】
エージェントアプリが計算を行うプラットフォームは、自らの性能に基づいてエージェントアプリの受入（整定値の計算）を許可する。例えば、図１９において、整定値計算を行う為に初めに訪れたプラットフォーム１７１２では、計算機１７０２に整定値の計算を行うほどの処理性能が無いのでエージェントアプリ１７２の受入を拒否する。受入を拒否されたエージェントアプリ１７２は、整定値計算を行う次の候補のプラットフォーム１７１３に移動する。このプラットフォーム１７１３では計算機１７０３の処理性能が高いのでエージェントアプリ１７２の受入、つまり整定値の計算を許可する。
【０１２７】
この機能の無い従来のプラットフォームだと、性能の低い計算機でも複雑な処理を行う事がある。その結果、その計算機がシステム全体のボトルネックとなり、システムの性能が低下する事がある。
【０１２８】
本システムのように、プラットフォームにエージェントの受入を判断する機能を持たせておけば、システム全体の負荷を分散する事が可能となり、システム全体の処理効率が向上する。
【０１２９】
図２０は本発明による第１９の実施形態を示すシステム構成図である。図２１は図２０におけるイベント処理機能を説明するための図である。図２０は系統の状態を常時監視し、異常が起こった場合はこれを制御所に通知すると共に系統を遮断するシステムを示す図である。
【０１３０】
図２０では、計算機２０１はＬＡＮ２０２に接続されており、エージェントを受け入れる為のプログラムであるプラットフォーム２０２が動作している。プラットフォーム２０２には、イベント発生の報告を受けると、予め登録されていたエージェントにその旨を通知するイベント処理機能２０３が内蔵されている。図２１はイベント処理機能２０３がその内部に持つ各機能を示した図である。イベント処理機能は、次のような機能を備えている。
【０１３１】
（１）  イベント通知受信部（エージェントアプリからイベント通知要求を受けると（ａ）、その要求を次のイベント通知要求格納部に保管する（ｂ））
（２）  イベント通知要求格納部（エージェントアプリからの要求を保管する領域）
（３）  イベント受信・通知部（イベントの発生を受信する（ｃ）と共に、イベント通知要求格納部を検索し（ｄ）、そのイベントを通知してもらう様予め登録してあったエージェントアプリに、イベント発生を通知する（ｅ））
そして計算機２０１には保護リレー２０４が接続されており、保護リレー２０４経由で電気量の取得、系統の遮断が出来るものとする。
【０１３２】
このようなプラットフォーム２０２に対して、電気量を常に監視し、異常があればイベント処理機能を通じて他のエージェントアプリにイベントを通知するエージェントアプリ２０７１と、イベント発生の通知を受けると系統を遮断するエージェントアプリ２０７２と、イベント発生の通知を受けると制御所にあるサーバ２０６に異常を報告するエージェントアプリ２０７３、がサーバ２０６から送り込まれる。エージェントアプリ２０７２、２０７３は図２１に示す各機能を有しているとする。すなわち、
（１）  イベント通知受信部（イベント処理機能からイベントの発生を受信する（ｅ）と、次の処理を実行する（ｆ））
（２）  イベント処理の内容
プラットフォーム２０２に到着したエージェントアプリ２０７２、２０７３はイベント処理機能に対して、系統の異常というイベントが発生したらその旨を通知してもらえる様に登録しておく（図２０のａ、ａ’）。一方、エージェントアプリ２０７１はプラットフォーム２０２に到着すると保護リレー２０４を経由して系統の電気量を監視し（ｂ）、異常が検知されたらイベント処理機能２０３にその旨を通知する（ｃ）。イベントの報告を受けたイベント処理機能２０３は予め登録されたエージェントアプリ２０７２、２０７３にイベント発生を通知する（ｄ、ｄ’）。イベント発生通知を受け取ったエージェントアプリ２０７２は、予め決められた処理である系統の遮断を行う（ｅ）。一方、同じくイベント発生通知を受け取ったエージェントアプリ２０７３も、予め決められた処理であるサーバへの報告を行う（ｅ’）。
【０１３３】
本第１９の実施形態によれば、様々なイベントをイベント処理機能を使って統一的に管理する事が出来る。電力系統システムに適用した場合、アプリケーションプログラムでは、異常検出機能、リレー操作機能を独立して作成することが可能となり、様々な機能の実現が容易となる。
【０１３４】
図２２は本発明による第２０の実施形態を示すシステム構成図である。図２３Ａ及び図２３Ｂは従来のプラットフォームとの違いを説明する図である。図２４は本発明の機能を実現するためにプラットフォームが有する機能を説明する図である。図２２は系統に異常が発生した時に、その原因箇所を早急に特定するシステムである。
【０１３５】
図２２では、計算機２２１１、２２１２、２２１３、サーバ２２４がＬＡＮ２２６に接続されており、計算機２２１１、２２１２、２２１３のそれぞれにはエージェントを受け入れる為のプログラムであるプラットフォーム２２３１、２２３２、２２３３、２２３４が動作している。計算機２２１１、２２１２、２２１３は対応する保護リレー２２２１、２２２２、２２２３の情報を取得できる。エージェントアプリ２２５は各プラットフォームと接続された保護リレーの情報を集める機能を持つ。
【０１３６】
従来のシステム（図２３Ａ）ではエージェントがプラットフォーム間を移動する時、移動先のプラットフォームが動作しているノードで異常があると、移動要求を出した移動元のノードは移動先のノードからの応答が返ってくるのを待ち続ける。
【０１３７】
それに対し本発明（図２３Ｂ）では、移動等の通信処理をタイムアウト出来る機能を持たせる事により、エージェントの移動に掛かる時間を保証できる様になる。
【０１３８】
続いてこのシステムの動きを説明する。事故発生時にサーバ２２４は、エージェントアプリ２２５を送り出し、エージェントアプリ２２５が持ち帰った情報を元に異常の原因を特定する。このエージェントアプリには、プラットフォーム２２３１、２２３２、２２３３の順序で巡回するが、途中の目的地に到達出来ない時はスキップするような指示が与えられている。初めにプラットフォーム２２３１に到着したエージェントアプリ２２５は保護リレー２２２１の情報を取得する。次にプラットフォーム２２３１はエージェントアプリ２２５をプラットフォーム２２３２に移動させようとするが、計算機２２１２への経路が遮断していたとする。
【０１３９】
第２０の実施形態では、プラットフォームが行う通信にタイムアウト時間を設け、タイムアウト時間になっても応答の無い通信は失敗したと判断してこれを踏まえた処理を行う。この機能を実現するための機能を説明したのが図２４である。第２０の実施形態では、プラットフォームは次の機能を有する。
【０１４０】
（１）  メインプロセス（従来のプラットフォームが有する機能。但しエージェントを移動させる時など、外部と通信を行う必要が生じた時には、自らが通信を行う代わりに次の通信用プロセスを生成する（ａ）。）
（２）  通信用プロセス（メインプロセスによって生成され（ａ）、実際に外部と通信を行う（ｂ）。）
（３）  タイマ（メインプロセスが通信用プロセスを新たに生成した時、メインプロセスがタイマに通信用プロセスのタイムアウト時刻を設定する（ａ）。タイムアウト時刻になると通信用プロセスを停止して（ｃ）、メインプロセスにタイムアウトを通知する（ｄ’）。）
第２０の実施形態に係るシステムでは、タイムアウトを受け取ったメインプロセスはエージェントアプリ２２５を次の移動先であるプラットフォーム２２３３に移動させる。これによりエージェントアプリ２２５は無駄な待ち時間を消費せずに済む。
【０１４１】
第２０の実施形態によればエージェントの移動など、プラットフォームが行う通信の結果を一定時間内に得ることが可能となる。電力系統保護システムの様に、迅速な処理を必要とするシステムにエージェントを適用する場合に本発明は特に有効である。
【０１４２】
本発明によれば、下記のような効果が得られる。
【０１４３】
（１）  情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記エージェントプラットフォーム又は前記ノードのいずれか一方は同期手段を備え、同じノード内で動作している複数のエージェントが同期を取って作業を進めようとする際に、前記同期手段に対して同期を取る依頼メッセージを送ることにより、同一ノード内の複数のエージェントが同期を取って処理を進めていくことを特徴とする。ノード（計算機）のエージェントプラットフォームに、複数のエージェントの同期を取るための同期エージェントまたは同期機能を配置し、同期を取りたいエージェントは、この同期エージェントなどにメッセージを送り、その返事を待つことで複数のエージェント間の同期を取らせる。従来の方式ではエージェント自体に、他のエージェントとの同期の機構を組込む必要があるが、本発明では同期エージェントなどを導入することによって、エージェントは同期エージェントへ同期処理を依頼するだけで良い。すなわち、同期エージェントまたは同期機能を導入することによって、同期を取る相手エージェントと、同期エージェントへの通知方法をエージェントに埋め込むだけで良い。これにより、エージェントのプログラミング量が削減されるとともに、同期を取るプログラムのバグ混入がなくなる。
【０１４４】
（２）  情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記情報ネットワーク内に配置された同期手段を更に備え、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、同期を取って作業を進めようとする複数のエージェントが異なるノードで動作している場合に、前記同期手段に対して同期を取る依頼メッセージを送ることにより、異なるノード上の複数のエージェントが同期を取って処理を進めていくことを特徴とする。情報ネットワーク内（例えば、サーバ）に同期エージェントまたは同期機構を配置し、別ノード（計算機）に存在するエージェントとの同期を取らせる機能を持たせるから、異なったノード（計算機）に存在するエージェントアプリ間でも同期を取ることが容易になる。
【０１４５】
（３）  情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記エージェントプラットフォーム又は前記ノードのいずれか一方は同期手段を備え、同期を取って作業を進めようとする複数のエージェントが異なったノードで動作している場合に、同期を取ろうとするエージェントが同じノード内の前記同期手段に対して同期を取る依頼メッセージを送り、当該同期手段が、他の異なったノードの同期手段に同期を取る依頼メッセージを送ることにより、異なるノード上の複数のエージェントが同期を取って処理を進めていくことを特徴とする。同期エージェントまたは同期機能に、別ノード（計算機）に存在するエージェントとの同期を取るために、各計算機においた同期エージェントまたは同期機能同士が同期の情報をやり取りするから、お互いがどの計算機に存在するかというようなことを意識することなく、同じ計算機内に常駐する同期エージェントにメッセージを送るだけで、容易に同期がとれるようになる。
【０１４６】
（４）  情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記複数のプラットフォームは前記エージェントの処理実行時刻を制御する時刻同期機能を備え、前記複数のノードは、前記時刻同期機能に基準時刻を提供する装置を備えたことを特徴とする。異なる計算機上に存在する複数のエージェントが同一時刻に処理を行う場合、従来の方式ではエージェント自体に、他のエージェントとの時刻同期の機構を組込む必要がある。しかし、本発明によれば、エージェントはエージェントプラットフォームに予め用意された時刻同期機能を用いるだけでよいので、その分エージェントのプログラミング量及びバグ混入が軽減される。すなわち、複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合に、各プラットフォームに予め用意された時刻同期機能を用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても容易に時刻同期が取れる。
【０１４７】
（５）  （４）において、前記基準時刻提供装置としてＧＰＳを使用することを特徴とする。複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された時刻同期機能がＧＰＳと連携している為、これを用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても容易に高精度な時刻同期が取れる。
【０１４８】
（６）  情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームと、前記プラットフォームに配置され前記エージェントの実行時間を制御する時刻同期機能と、システム内の各ノードに基準時刻を提供する時刻同期サーバと、前記時刻同期機能に前記時刻同期サーバから提供された基準時刻を提供する時刻同期クライアント、とを更に備えたことを特徴とする。複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された時刻同期機能同士が時刻同期サーバ、時刻同期クライアントを経由して時刻同期されている為、これを用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても比較的廉価かつ高精度な時刻同期が容易に実現できる。
【０１４９】
（７）  （６）において、前記エージェントシステムの時刻同期サーバを通信ネットワークで結ばれたネットワーク上の専用計算機で動作させることを特徴とする。複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された時刻同期機能同士が、時刻同期サーバから時刻合わせされた時刻同期クライアントを経由して時刻同期されている為、これを用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても比較的廉価かつ高精度な時刻同期が容易に実現できる。
【０１５０】
（８）  （７）において、前記時刻同期サーバとしてＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）サーバ、前記時刻同期クライアントとしてＮＴＰクライアントを使用することを特徴とする。複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された時刻同期機能同士が、ＮＴＰクライアントを経由して時刻同期されている為、これを用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても比較的廉価かつ高精度な時刻同期が容易に実現できる。
【０１５１】
（９）  （４）において、通信回線などを経由して接続された遠隔地との間で時刻同期させることを特徴とする。遠く離れた計算機に居る複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された時刻同期機能を用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても容易に時刻同期が取れる。
【０１５２】
（１０）  （５）において、通信回線などを経由して接続された遠隔地との間で時刻同期させることを特徴とする。公衆回線網を介して接続された計算機同士など、遠く離れた計算機に居る複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された、ＧＰＳと連携した時刻同期機能を用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても高精度の時刻同期が容易に実現できる。
【０１５３】
（１１）  （４）において、前記基準時刻提供装置として電波時計を使用することを特徴とする。公衆回線網を介して接続された計算機同士など、遠く離れた計算機に居る複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された、電波時計と連携した時刻同期機能を用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても比較的廉価かつ高精度の時刻同期が容易に実現できる。
【０１５４】
（１２）  情報ネットワークに接続された複数のノードを移動しながら、所定のノードに存在する共有データにアクセスしたり、あるいは所定のノードが提供する共有機能を使用することによって所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記エージェントプラットフォーム又は前記ノードのいずれか一方は管理手段を備え、前記管理手段を介してのみ前記共有データや共有機能にアクセス可能であることを特徴とする。複数のエージェントで使用するデータあるいは機能を管理する共有管理エージェントを導入し、そのエージェントを介してのみ共有データあるいは機能にアクセスさせるように、共有資源の管理を管理エージェントに一本化することで、アクセスの排他処理が間違いなく、容易に行えるようになる。
【０１５５】
（１３）  （１２）において、前記管理手段は、自らが管理するデータや機能が使用中の場合は他のアクセスに対してプロテクトをかけ、そのプロテクト中にそのデータあるいは機能にアクセスしたエージェントに対して、プロテクト解除後に利用可能になったことを通知する機能を持つことを特徴とする。プロテクト中のデータあるいは機能にアクセスがあった場合に、共有管理エージェントがプロテクトがはずれた時点で、アクセスしようとしたエージェントにプロテクトがはずれたことを通知するから、そのエージェントは、共有データ処理や共有機能とは無関係な処理を先に進めることが可能になり、エージェントの処理効率が向上する。
【０１５６】
（１４）  （１２）において、各エージェントは、前記管理手段に、前記共有データのある部分に書き換えがあった、あるいは前記共有機能の所定の機能が呼ばれたときに通知がもらえるように登録しておき、その共有データが実際に書き換えられた、あるいはその機能が実際に呼ばれた時点で通知が送られてくることを特徴とする。実際にデータが書きかえられた時点あるいは共有機能が使用された時点で、管理エージェントから通知がもらえるから、エージェント自身で、データの値が書き換わったか、あるいは共有機能が使用されたかの確認のためのポーリング処理は不要になり、エージェントの処理効率が向上する。
【０１５７】
（１５）  （１３）又は（１４）において、各エージェントは、前記管理手段から通知を受け取るまで他の処理を中断し、通知を受け取った後で処理を再開することを特徴とする。共有データの状態変化あるいは共有機能の使用を踏まえてエージェントの処理が決定する場合、実際に共有データの状態が変化した、あるいは共有機能が使用された時点で管理エージェントあるいは管理機能がエージェントの処理を再開するから、エージェント自身で、共有データの状態が変化したか、あるいは共有機能が使用されたかどうかの確認のためのポーリング処理は不要になり、エージェントの処理効率が簡潔になる。
【０１５８】
（１６）  情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、エージェントをあるノードから他のノードに移動させる際に、当該エージェントを複数生成し、生成された複数のエージェントを情報ネットワークのそれぞれ異なった経路を介して移動先のノードに移動させ、移動先のノードでは全てのエージェントが揃ったか、或いは過半数のエージェントが揃ってから所要の処理を開始することを特徴とする。複数のエージェントを生成して、それがすべて（あるいは過半数）目的地に到着したことで処理を開始するから、何らかの不具合によって、あるいは、セキュリティを破られて進入され、情報が書き換えられてしまった場合でも、エージェントの処理がエージェント送信者の意図した処理ではないという確率を、ただ１つのエージェントだけを送信する場合より、著しく低くすることができる。従って、エージェントアプリの信頼性がより確実になり、セキュリティが向上する。
【０１５９】
（１７）  情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、一つのエージェントプラットフォーム内に同時に受入れるエージェントの数を所定の数以下に制限することを特徴とする。エージェントプラットフォームに、そのプラットフォームが受入れることができる最大のエージェント数を登録しておき、その数を超えたエージェントは受入れを拒否するから、一度に動作するエージェントアプリの個数は最大数が決められるので、その計算機におけるエージェントの処理効率が向上する。
【０１６０】
（１８）  （１７）において、エージェントプラットフォームは受け入れ待ちエージェント用待ち行列を備え、あるエージェントプラットフォームが制限いっぱいのエージェントを受け入れている場合には、受入れられないエージェントが前記待ち行列に入り、受け入れられて動作しているエージェントが移動したり、消えたりした時点で、前記待ち行列からエージェントプラットフォームに受け入れることを特徴とする。エージェントプラットフォームに受入れエージェント用待ち行列領域を持たせ、受入数を超えてエージェントを受入れようとする場合は、その待ち行列にエージェントを入れるようにする機能をプラットフォームに持たせるから、エージェントを受入れずに、待ち行列に並ばせる事によって、エージェントの移動にかかるオーバーヘッドを小さくしながら、その計算機におけるエージェントの処理効率が向上する。
【０１６１】
（１９）  （１８）において、エージェント毎に優先度を持たせ、受入先のエージェントプラットフォームが制限いっぱいのエージェントを受け入れているため、待ち行列に入れられる際に、エージェントの持っている優先度順に、待ち行列の待ち順が決められることを特徴とする。待ち行列の並び順を、待ち行列に入ってきた順ではなく、待ち行列内のエージェントの優先度順にならべる機能をプラットフォームに持たせるから、優先度が高いエージェントが待ち行列に並ぶ場合でも、優先度順に待ち行列が並び替えられるので、優先度が高いエージェントはより早くエージェントプラットフォームに受入れられるようになり、重要な処理の待ち時間を短くすることができる。
【０１６２】
（２０）  （１８）において、エージェント毎に優先度を持たせ、目的地のエージェントプラットフォームが制限いっぱいのエージェントを受け入れており、後から移動してきたエージェントの優先度が、現在動作しているエージェントの優先度より高い場合、動作中のエージェントの中で一番優先度が低いエージェントを待ち行列に移動させ、優先度の高いエージェントを受入れることを特徴とする。計算機内で制限数いっぱいのエージェントが動いている時、動作中のエージェントよりも高い優先度のエージェントが移動してきた場合に、動作中の一番優先度の低いエージェントを待ち行列に移して、優先度の高いエージェントの処理を行わせる機能をプラットフォームに持たせるから、優先度が高いエージェントは、優先的にプラットフォームに受入れられるので、待ち行列で待つ時間がさらに短くなる。
【０１６３】
（２１）  情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記各プラットフォームが送り込まれたエージェントの機能、性質を判定して受入を許可／不許可することを特徴とする。送り込まれたエージェントの機能、性質などをプラットフォームが判定して受入を許可／不許可するから、処理性能の低いプラットフォームでは複雑な処理を行うエージェントの受入を拒否するので、処理性能の低いプラットフォームがシステム全体のボトルネックになる事が無くなり、結果的にシステム全体の処理効率が向上する。
【０１６４】
（２２）  情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、エージェントプラットフォームはイベント機能を備え、イベント発生時に前記イベント機能に予め登録されたエージェントに対してメッセージを送る事で、エージェントがイベントに応じて作業を進めることが可能である事を特徴とする。様々なイベントをイベント処理機能で統一的に管理する事が出来るので、アプリケーションを機能毎に独立して作成する事が可能となり、様々な機能を有するシステムの実現が容易となる。
【０１６５】
（２３）  情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、あるエージェントプラットフォームがエージェントを次の移動先に移動させる時に、予め定めておいた時間を過ぎても応答の無い通信を強制的に遮断することを特徴とする。所要のエージェントプラットフォームが外部と行う通信処理にタイムアウト時刻を持たせることにより、エージェントの処理が一定時間内に完了する事を保証する。従って、あるエージェントプラットフォームが他のプログラムと通信を行う場合、その最大応答時間を予め予測する事が可能になり、電力系統保護システムの様に迅速な処理を必要とするシステムにエージェントを適用することが可能となる。
【０１６６】
上記のように、リアルタイム機能を付加したエージェントにより、分散環境における微妙なタイミングを要する処理を容易に実現できる。アプリケーションはタイミングと動作の指定をするだけで、従来の技術には無い非常に大きな効果が生み出される。
【０１６７】
最後に、電力系統保護に本エージェントを適用することによる特有の効果の１つとして、系統安定化システムに本エージェントを適用した場合を例として挙げておく。系統安定化システムとは、大事故発生時に発電機や遮断機など、電力系統を構成する各装置をコントロールして系統の安定を図るシステムである。系統を安定させる為には、各装置の動作の順番、タイミング、確実性など、分散して存在するそれぞれの装置に微妙な制御が要求されるが、本エージェントを用いればこのような機能が容易に実現できる。しかも本発明に係るエージェントシステムの効果として、仮に系統の構成が代わってもこれに容易に対応できるという効果もある。
【図１】
2009187568.tif 000003
【図２】
2009187568.tif 000004
【図３】
2009187568.tif 000005
【図４】
2009187568.tif 000006
【図５】
2009187568.tif 000007
【図６】
2009187568.tif 000008
【図７】
2009187568.tif 000009
【図８】
2009187568.tif 000010
【図９】
2009187568.tif 000011
【図１０】
2009187568.tif 000012
【図１１】
2009187568.tif 000013
【図１２】
2009187568.tif 000014
【図１３】
2009187568.tif 000015
【図１４】
2009187568.tif 000016
【図１５】
2009187568.tif 000017
【図１６】
2009187568.tif 000018
【図１７】
2009187568.tif 000019
【図１８】
2009187568.tif 000020
【図１９】
2009187568.tif 000021
【図２０】
2009187568.tif 000022
【図２１】
2009187568.tif 000023
【図２２】
2009187568.tif 000024
【図２３Ａ】
2009187568.tif 000025
【図２３Ｂ】
2009187568.tif 000026
【図２４】
2009187568.tif 000027