JP2009187568A - エージェントシステム - Google Patents
エージェントシステム Download PDFInfo
- Publication number
- JP2009187568A JP2009187568A JP2009090864A JP2009090864A JP2009187568A JP 2009187568 A JP2009187568 A JP 2009187568A JP 2009090864 A JP2009090864 A JP 2009090864A JP 2009090864 A JP2009090864 A JP 2009090864A JP 2009187568 A JP2009187568 A JP 2009187568A
- Authority
- JP
- Japan
- Prior art keywords
- agent
- synchronization
- time
- processing
- platform
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
- H04L41/048—Network management architectures or arrangements comprising network management agents or mobile agents therefor mobile agents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Remote Monitoring And Control Of Power-Distribution Networks (AREA)
- Emergency Protection Circuit Devices (AREA)
Abstract
【課題】複数のエージェントが同期を取って作業を進める。
【解決手段】情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記エージェントプラットフォーム又は前記ノードのいずれか一方は同期手段を備え、同じノード内で動作している複数のエージェントが同期を取って作業を進めようとする際に、前記同期手段に対して同期を取る依頼メッセージを送ることにより、同一ノード内の複数のエージェントが同期を取って処理を進めていく。
【選択図】図1
【解決手段】情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記エージェントプラットフォーム又は前記ノードのいずれか一方は同期手段を備え、同じノード内で動作している複数のエージェントが同期を取って作業を進めようとする際に、前記同期手段に対して同期を取る依頼メッセージを送ることにより、同一ノード内の複数のエージェントが同期を取って処理を進めていく。
【選択図】図1
Description
本発明は、情報ネットワークで結合された通信システム上において、電力系統などの対象システムの監視制御を行うエージェントシステムに関する。
エージェントシステムは、エージェント(移動可能なプログラム)が対象システムの各ノード(計算機)に移動して適切な場所で適切な処理を行うシステムである。例えば、特許文献1には、これに関する発明が記載されている。この電力系統監視制御システムでは、エージェントによる電力系統監視制御システムのリレー整定において、プログラムモジュール、則ちエージェントが電力系統内の各装置を移動して、保護継電装置の整定を行うことにより、広域分散の電力系統システムが効率的に監視制御されている。
しかし、これら従来のエージェントシステムでは、各エージェントが単独で装置間を移動しながら目的の処理を実行する機構しか用意されていない。そのため、複数のエージェントが協調して処理を進める必要がある業務を遂行するには、当該業務の処理フローだけでなく、エージェントのプログラム内部まで精通している必要がある。更に、協調して処理を進めるためのプログラムをエージェントに埋め込む必要がある。
また、従来のエージェントシステムでは、エージェントがネットワーク経由で移動する途中で何らかの原因でエージェント送信者の意図しない処理に書き換わってしまった場合であっても、エージェント受入先でエージェント送信者の意図を判断する機構が無いため、エージェント受入先でエージェント送信者が意図しない処理が行わる可能性がある。
また、ある1つの装置に多数のエージェントが送り込まれてしまうと、優先度の高いエージェントの処理も、優先度の低いエージェントの処理も同じように処理されている。
また、GPSを使用した電力系統保護システムが特許文献2に開示されている。しかし、この発明は保護リレーの電気量データにGPSから取得した時刻データを付加したデータを使って系統保護を実現している。
本発明は、複数のエージェントが協調して目的を遂行するエージェントシステムを提供することを目的とする。
本発明の一実施形態に係るエージェントシステムは、情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記エージェントプラットフォーム又は前記ノードのいずれか一方は同期手段を備え、同じノード内で動作している複数のエージェントが同期を取って作業を進めようとする際に、前記同期手段に対して同期を取る依頼メッセージを送ることにより、同一ノード内の複数のエージェントが同期を取って処理を進めていくことを特徴とする。
以下、図面を参照して、本発明の実施の態様を説明する。本発明のエージェントシステムは、対象システムとして特定の対象に限ることなく種々のシステムに適用することができるが、以下の各実施形態においてはエージェントシステムを電力系統の保護制御に適用した場合について説明する。
図1は、本発明の第1の実施形態に係るエージェントシステムを電力系統保護システムに適用した場合の構成を示す図である。図2は図1の同期エージェントが有する機能を説明する図である。図3はシステムの各要素の処理タイミングを説明するシーケンス図である。
図1のシステムはエージェントを使って、保護リレー19のある時刻における電気量(振幅、位相)などを取得する事を目的とするシステムである。図1において、情報ネットワーク11は対象システムのノード(計算機14)を通信回線で接続する。なお、図1には1つの計算機14しか示していないが、複数の計算機14が接続されていても良い。
ここで、エージェントは、アプリケーションプログラム(場合により固有のデータを持つ移動型のプログラム)を指すが、以後「エージェントアプリ」と称する。
計算機14は、保護リレー19と情報ネットワーク11とのインタフェースとして機能する。計算機14は、エージェントプラットフォーム151を有している。エージェントプラットフォーム151は、エージェントアプリを受け入れて、当該エージェントアプリが動作できるようにする環境を提供する機構である。サーバ12(図示しない中央操作室に設けられている)は、エージェントアプリをエージェントプラットフォーム151に送り込んで、保護リレー19の電気量を取得する。
図2を参照して同期エージェント16が有する機能、及び同期エージェント16を使って同期処理を行う第1及び第2のエージェントアプリ17、18が有する機能を説明する。
まず同期エージェントは次の機能を有する。
(1) メッセージ処理機能(エージェントアプリからの同期依頼を受信すると、次のメッセージ保管領域を検索し、同期信号を送るべきエージェントアプリが登録されていないか調べる。エージェントアプリが登録されている時は対象となるエージェントに同期信号を送り、エージェントアプリが登録されていない時は次のメッセージ保管領域に要求を保管する。)
(2) メッセージ保管領域としての機能(同期要求を保管する機能)
なお、第1及び第2のエージェントアプリ17、18は、それぞれメッセージ処理機能によって同期エージェント16から送られる同期信号を受信する部分、及び同期信号を受信した時に実行する処理を記述した部分を有する。また、以下の各実施形態においては、第1のエージェントアプリ17は、振幅を取得し、第2のエージェントアプリ18は、位相を取得するものとする。
(2) メッセージ保管領域としての機能(同期要求を保管する機能)
なお、第1及び第2のエージェントアプリ17、18は、それぞれメッセージ処理機能によって同期エージェント16から送られる同期信号を受信する部分、及び同期信号を受信した時に実行する処理を記述した部分を有する。また、以下の各実施形態においては、第1のエージェントアプリ17は、振幅を取得し、第2のエージェントアプリ18は、位相を取得するものとする。
サーバ12のエージェントプラットフォーム152で、同期エージェント16及び第1及び第2のエージェントアプリ17、18(図示しない)が生成される。サーバ12から、所定のタイミングで、同期エージェント16及び第1及び第2のエージェントアプリ17、18が情報ネットワークを介して計算機14に送り込まれる。
具体的には、保護リレー19の電気量(振幅)を取得する第1のエージェントアプリ17、及び保護リレー19の電気量(位相)を取得する第2のエージェントアプリ18第2のエージェントアプリ18は、保護リレー19の電気量(振幅、位相)を取得したい時に、サーバ12から情報ネットワーク11を介して計算機14に送り込まれ、エージェントプラットフォーム151に受け入れられる。
予め計算機14に送り込まれている同期エージェント16は、第1のエージェントアプリ17及び第2のエージェントアプリ18間の同期処理を行う。すなわち、同期エージェント16は、第1のエージェントアプリ17及び第2のエージェントアプリ18に対して同時に同期信号を送る。同期信号を受け取った時のエージェントアプリの処理は、エージェントアプリ毎に定義されている。このシステムでは、上記のように第1のエージェントアプリ17は振幅、第2のエージェントアプリ18は位相を取得するように予め定義されている。また、同期エージェント16は、各エージェントアプリ17、18間の同期処理を行うための各処理を促すプログラムを有している。同期エージェント16は、多くの場合エージェントプラットフォーム151に常駐している。もっとも、同期エージェント16を常駐させておく事は、それだけ計算機14の資源を消費することになるので、サーバ12、あるいはエージェントプラットフォーム151が同期エージェント16の必要性を判断して、他のノードへの移動を含め、他のエージェントアプリと同様に、発生、消滅等をさせることが可能である。
システム全体の処理フローを、図3を参照して説明する。第1のエージェントアプリ17と第2のエージェントアプリ18が同期を取って、同一時刻の振幅、および位相を取得する要求がある。この場合における処理タイミングを示したのが図3である。例えば、第1のエージェントアプリ17から、エージェントプラットフォーム151に対し、同期エージェント16が存在するかどうかの参照要求を行う。エージェントプラットフォーム151は当該参照要求に応じて同期エージェント16が存在するかどうかを参照し、存在する旨の回答を第1のエージェントアプリ17に行う。そして、第1のエージェントアプリ17は、ノードAのエージェントプラットフォームに常駐する同期エージェント16に、「第2のエージェントアプリ18と同期を取りたい」というメッセージ(a)(同期相手の名前)を送る。
同期エージェント16は、このメッセージ(a)を受け取ると、同期エージェント16がその内部に持っているメッセージ保管領域に、第2のエージェントアプリ18から「第1のエージェントアプリ17と同期を取りたい」というメッセージ(b)がないかどうか調べる。メッセージがあれば、第1のエージェントアプリ17と第2のエージェントアプリ18の双方が同期を取りたがっている事が確認できたので、双方に同期信号(c)(d)を同時に送る。第1のエージェントアプリ17、および第2のエージェントアプリ18はこの同期信号(c)(d)を受け取ると、それぞれ予め定められた処理(その瞬間の振幅と位相の取得)を行い、その後サーバ12に戻り、取得した振幅、位相を報告する。
まだ、同期エージェント16がエージェントBからメッセージ(b)を受け取っていない場合、同期エージェント16は一旦メッセージをメッセージ保管領域に保管する。そして、第2のエージェントアプリ18から「第1のエージェントアプリ17と同期を取りたい」(b)というメッセージが来てから、第1及び第2のエージェントアプリ17、18に同期信号(c)(d)を同時に送る。
同期エージェント16がエージェントプラットフォーム151に居ない場合は、エージェントアプリがエージェントプラットフォーム151に同期エージェントへの参照を尋ねる時に同期エージェントが居ないことがわかる。エージェントアプリのその後の処理(例えば、他の処理を行う、あるいは同期エージェントがエージェントプラットフォーム151に到着するまで待つ)についてはユーザがエージェントアプリ内で定義すればよい。
ここで、同期エージェント16を用いないシステム(則ち従来のエージェントシステム)では、他のエージェントアプリと同期を取るための機構を、エージェントアプリに埋め込むプログラムとして詳細に記述し、第1及び第2のエージェントアプリ17、18に、例えば次の様な処理を組込む必要がある。
(1) 第1のエージェントアプリ17は、同期を取る相手である第2のエージェントアプリ18を探す。
(2) 第2のエージェントアプリ18が見つかると、第1のエージェントアプリ17は第2のエージェントアプリ18に同期信号を送る。同期信号を受け取った第2のエージェントアプリ18は予め決められた処理を実行する。
(3) 第1のエージェントアプリ17は同期信号を受け取った時の処理を実行する。
第1の実施形態では、同期エージェント16を導入することによって、第1及び第2のエージェントアプリ17、18には、例えば、同期エージェント16のAPIを呼び出すなどの、同期エージェント16への同期依頼方法を埋め込むだけで良い。これにより、エージェントのプログラミング量が削減されるとともに、同期を取るプログラムのバグ混入がなくなる。
同期エージェント16は、同期機能が必要なエージェントプラットフォーム151にのみ駐在させればよい。従って、同期エージェント16がエージェントプラットフォーム151から分離しているので、エージェントプラットフォームをコンパクトにすることができる。
また、第1及び第2のエージェントアプリ17、18を送る直前にサーバ12から同期エージェント16を必要なエージェントプラットフォーム151に送り、プラットフォーム151に同期エージェント16を常駐させる。もし、そのエージェントプラットフォーム151における第1及び第2のエージェントアプリ17、18の処理が終了して、同期エージェント16が不用になれば、同期エージェントをサーバに引き上げたり、消滅させたりすることで、同期エージェント16を一元的に管理でき、自由度が向上する。
図4は、本発明の第2の実施形態に係るエージェントシステムの構成を示す図である。図4も図1と同様に、ある保護リレー19の振幅、位相を取得する事を目的としたシステムである。図4において、図1と異なる点は、同期エージェントと同様なプログラムを有する同期機能36を、エージェントプラットフォーム351内に組み込み、同期エージェントは削除している。第1のエージェントアプリ37と第2のエージェントアプリ38との間の同期は、同期機能36を介して、図1における場合と同様に行われる。その他の構成は、図1と対応しており、それぞれ符号11〜19が、符号31〜39に相当しているので、詳細な説明は省略する。
本第2の実施形態でも、同期機能36を導入することによって、各第1及び第2のエージェントアプリ37、38には、同期を取る相手の第2又は第1のエージェント38,37と、同期機能36への通知方法を埋め込むだけで良い。これにより、図1と同様に、エージェントのプログラミング量が削減されるとともに同期を取るプログラムのバグ混入がなくなる。
また、同期機能が、多くの或いは全ての保護リレー39に対応して設けられている計算機(ノード)で必要であれば、本実施形態のように予めエージェントプラットフォーム351の機能の一部として組み込むことで、その管理などの負担が軽減する。
図5は、本発明の第3の実施形態に係るエージェントシステムの構成を示す図である。
図1のシステムと異なり、図5のシステムは2つの保護リレーの再閉路を、決められた順序で確実かつ素早く実行する事を目的とする。
本第3の実施形態においては、図5のようにLAN41に接続されたサーバ42にエージェントプラットフォーム43と、その上で動作する同期エージェント44を設けている。なお、サーバ42は、各エージェントアプリを必要な保護リレーに対応して設けられている計算機(ノード)に送ったり、収容したりするために、エージェントプラットフォームを備えている。本第3の実施形態では、サーバ42は、新たに同期エージェント44を設けている。計算機451、452はそれぞれ異なる保護リレー481、482に接続されている。
そして、計算機451のエージェントプラットフォーム461に、その上で動作する第1のエージェントアプリ471が配置され、また計算機452のエージェントプラットフォーム462に、その上で動作する第2のエージェントアプリ472が配置され、これら第1のエージェントアプリ471と第2のエージェントアプリ472との間の同期を、サーバ42の同期エージェント44で取ることを、例として示している。
計算機451に存在する第1のエージェントアプリ471(同期信号を受け取ると保護リレー481の再閉路を実行する)と、計算機452に存在する第2のエージェントアプリ472(同期信号を受け取ると保護リレー482の再閉路を実行する)との間で同期を取る(第1から第2のエージェント(以下の各実施形態において、単に「A→B」と記載する)の順序で再閉路を実行する)場合、第1のエージェントアプリ471はサーバ42に存在する同期エージェント44に対して、「A→Bの順序で第2のエージェントアプリ472と同期を取りたい」(a)というメッセージを送る。同期エージェント44は、第2のエージェントアプリ472から「A→Bの順序で同期を取りたい」(b)というメッセージを受け取っていれば、第1及び第2のエージェントアプリ471、472に同期信号(c)、(d)を順番に送る。しかし、第2のエージェントアプリ472からのメッセージ(b)が来ていない場合、同期エージェント44は、第1のエージェントアプリ471からのメッセージ(a)を保管しておく。そして、第2のエージェントアプリ472から「A→Bの順序で第1のエージェントアプリ471と同期を取りたい」(b)というメッセージが来た時に、第1及び第2のエージェントアプリ471、472に同期信号(c)、(d)を順番に送る。
同期信号(c)(d)を受け取った第1及び第2のエージェントアプリ471、472は予め定められていた処理に従い、それぞれの保護リレーの再閉路を実行する。本システムの場合、同期エージェントが同期信号を(c)、(d)の順番で各エージェントアプリに送るので、再閉路は保護リレー481、482の順番で実行される。
第3の実施形態では、サーバ42に同期エージェント44を配置することで、異なった計算機451,452に存在する第1及び第2のエージェントアプリ471、472間でも同期を取ることが可能になる。
また、第3の実施形態では、同期エージェントを使って同期処理を行う為、例えば事故の少ない系統など、同期を取る回数が少ないようなシステム構成の場合には、同期処理が必要となった時にのみ同期エージェントを用意すればよいので効率的である。
従来、再閉路は人が手作業で行っていたが、本システムでは再閉路のタイミングを遥かに高精度で行うことができる。従って、本システムでは、従来の手法による再閉路より系統が安定するという、系統保護に本エージェントを適用することによる固有の効果が見込める。
図6は、本発明の第4の実施形態に係るエージェントシステムの構成を示す図である。図6は図5と異なり、同期エージェントと同様なプログラムを有する同期機能54を、サーバ52内に用意し、同期エージェントは削除している。第1のエージェントアプリ571と第2のエージェントアプリ572との間の同期は、同期機能54を介して、図5における場合と同様に行われる。その他の構成は、図5と対応しており、それぞれ符号41〜482が、符号51〜582に相当している。
第4の実施形態においても、同期機能54を導入することによって、異なった計算機551,552に存在する第1及び第2のエージェントアプリ17、18間でも同期を取ることが可能になる。図5と異なり、図6では同期機能が常に存在している。その為、頻繁に事故の発生する系統では、同期処理を必要とする度に同期エージェントを用意する図5のシステムより効率的である。
図7は、本発明の第5の実施形態に係るエージェントシステムの構成を示す図である。図7において、エージェントシステムの基本構成、及びシステムの目的は図5の構成とほぼ同様である。しかし、サーバ67と計算機631、632の間の通信路が電話回線(WAN60)などの遅い回線である。サーバにはエージェントマネージャ62が動作している。エージェントマネージャは、システム内の全てのエージェントの位置を管理するプログラムである。エージェントプラットフォームはエージェント生成、移動などのイベントが発生する度にそのイベントをエージェントマネージャに通知する。
この場合、図5、図6の様にサーバから電話回線経由で同期信号を送る方式では同期の精度に問題がある。
第5の実施形態においては、図7のように、計算機631のエージェントプラットフォーム641の上で動作する第1の同期エージェント651を計算機631に送り込み、エージェントプラットフォーム641に配置された第1のエージェントアプリ661の同期処理を司る。また、計算機632のエージェントプラットフォーム642の上で動作する第2の同期エージェント652を計算機632に送り込み、エージェントプラットフォーム642に配置された第2のエージェントアプリ662の同期処理を司る。
そして、計算機631の第1のエージェントアプリ661と計算機632の第2のエージェントアプリ662との同期を、第1の同期エージェント651と第2の同期エージェント652との間で取ることを、例として示している。
図7のエージェントシステムにおいて、計算機631にある第1のエージェントアプリと、計算機632にある第2のエージェントアプリ間の同期は次のように取られる。第1のエージェントアプリ661から、計算機631に駐在する第1の同期エージェント651に「A→Bの順序で第2のエージェントアプリ662と同期を取りたい」(a)というメッセージを送る。第1の同期エージェント651は、同期を取りたい相手である第2のエージェントアプリ662がどのノード(計算機)にいるかを「問い合わせる」(b)ためのメッセージをエージェントマネージャ62に送る。この問い合わせは、第1のエージェントアプリ661がサーバから送り込まれる時に、第2のエージェントアプリ662の位置を与えられている場合など、第2のエージェントアプリ662の存在するノードが分かっている場合には省略される。
同期を取りたい相手である第2のエージェントアプリ662が計算機632にいることが分かると、第1の同期エージェント651から計算機632の第2の同期エージェント652に「A→Bの順序で第2のエージェントアプリ662と同期を取りたい」(c)というメッセージを送る。
このメッセージ(c)を受け取った第2の同期エージェント652は、このメッセージ(c)を保管するとともに、「未だ同期が取れない」(d)とのメッセージを第1の同期エージェント652に送り、第2のエージェントアプリ662からのメッセージを待つ。第1の同期エージェント651は同じく「未だ同期が取れない」(e)とのメッセージを第1のエージェントアプリ661に送る。
第2の同期エージェント652は、第2のエージェントアプリ662から、「A→Bの順序で第1のエージェントアプリ661と同期を取りたい」(f)とのメッセージが来た時点で、第1の同期エージェント651に、「第1のエージェントアプリ661と第2のエージェントアプリ662は同期が取れた」(g)というメッセージを送り、その後第2のエージェントアプリ662には同期信号(i)を送る。このメッセージ(g)を受け取った第1の同期エージェント651は、第1のエージェントアプリ661に対して同期信号(h)を送り、第1のエージェントアプリ661からの保管していたメッセージ(a)を削除する。
第5の実施形態においては、このように、各計算機631,632においた同期エージェント651,652同士が同期の情報をやり取りしている。これにより、異なる計算機に存在する第1及び第2のエージェントアプリ661、662同士が同期を取って処理を行なおうとする場合に、お互いのエージェントアプリがどの計算機に存在するかというようなことを意識することなく、同じ計算機内に常駐する同期エージェントにメッセージを送るだけで、容易に同期がとれるようになる。
図8は、本発明の第6の実施形態に係るエージェントシステムの構成を示す図である。図8は、同期エージェントと同様なプログラムを有する同期機能751を計算機731のエージェントプラットフォーム741内に組み込み、同期エージェントを削除している点が図7と異なる。同様に、同期エージェントと同様なプログラムを有する同期機能752を、計算機732のエージェントプラットフォーム642内に組み込み、同期エージェントを削除している。第1のエージェントアプリ761と第2のエージェントアプリ762との間の同期は、同期機能751および同期機能752を介して、図7における場合と同様に行われる。その他の構成は、図7と対応しており、それぞれ符号61〜682が、符号71〜782に相当しているので、詳細な説明は省略する。
本第6の実施形態でも、同期機能751,752を導入することによって、異なった計算機731,732に存在する第1及び第2のエージェントアプリ761、762間でも同期を取ることが容易になる。頻繁に同期を取る処理が行われる場合、このように同期機能をエージェントプラットフォームに組込んでおくことにより、サーバが毎回同期エージェントを送り込む必要がないので、その分バグの混入が無くなる。
図9は本発明による第7の実施形態を示すシステム構成図である。また、図10は時刻同期処理のタイミングを示したフローチャートである。
図9は、異なる保護リレーの電気量を予め定められた時刻に一斉に取得するシステムである。
図9では、計算機801はLAN(Local Area Network)880に接続されており、エージェントを受け入れる為のプログラムであるプラットフォーム811が動作している。プラットフォーム811には、指定された時刻になると対象エージェントアプリ821に対してイベントを通知する時刻同期機能831が内蔵されている。時刻同期機能831は基準時刻提供装置851と連携している。基準時刻提供装置851、852は基準時刻を提供する装置であって、全ての基準時刻提供装置は同じ基準時刻を提供するものとする。基準時刻提供装置としては、例えば各計算機が持つ内蔵時計などが考えられる。計算機801は保護リレー891からその電気量を取得出来るものとする。このようなプラットフォーム811に対して、イベントを受け取った時の処理(本システムでは電気量取得)を定義されたエージェントアプリ821が他計算機のプラットフォームから移動してくるとする。
一方、計算機801と同じLAN880に接続された計算機802も計算機801と同様の構成をしている。
この構成における処理の流れを図10に示す。計算機801の時刻同期機能831は基準時刻提供装置851から基準時刻を取得することにより、自らを絶対時刻に合わせる。計算機802の時刻同期機能832も同様に時刻合わせを行う。ここで計算機801、802とネットワークで接続されたサーバ840(中央制御所など)が、ネットワークを介して時刻同期機能831、832に処理開始時刻をセットする。処理開始時刻をセットされた時刻同期機能831は、指定された時刻になると、同じプラットフォーム811に対象エージェントアプリ821が居る場合はこのエージェントアプリ821に対して指定時刻になった旨のイベントを通知する。エージェントアプリ821はこのイベントを受け取った時に、予め定められた処理(保護リレー891からの電気量取得)を開始する。時刻同期機能832も同様同様の動作を行う。この時、時刻同期機能831、832は共に同じ基準時刻に合わされている為、エージェント821、822は同一時刻に異なる保護リレー891、892の電気量を一斉に取得する。
また、時刻同期機能831に処理開始時刻をセットするのはサーバ840ではなく、プラットフォーム811に移動してきたエージェントアプリ821であっても良い。時刻同期機能832についても時刻同期機能831と同様である。
本第7の実施形態によれば複数のエージェントが異なる計算機上に居ても、同一時刻に一斉に処理を行うことが可能となる。
図9における第8の実施形態として、基準時刻提供装置としてGPS(Global Positioning System)を使用することが好ましい。GPSは地球の周りを周回している人工衛星から発信される電波を使って絶対時刻を取得する装置であり、マイクロ秒単位の精度を実現できる。
以降は第7の実施形態と同様に、処理開始時刻をセットし対象エージェントにイベントを通知することにより処理を開始する。この構成によれば、時刻同期機能831、832は共に同じ基準時刻に合わされている為、エージェント821、822は同一時刻に処理を開始する。
本第8の実施形態によれば複数のエージェントが異なる計算機上に居ても、指定された絶対時刻に一斉に処理を行うことが可能となる。このGPSを使った構成では、極めて高い時刻精度が実現可能になる。
図11は本発明の第9の実施形態に係るシステム構成図である。
本システムの目的も図9と同等であり、図9と同じ構成部分については図9と同じ符号を付けている為、説明を省略する。図11は、図9の構成と、時刻同期機能1031と連携しているのが基準時刻提供装置ではなく時刻同期サーバ1071であり、時刻同期機能1032と連携しているのが時刻同期クライアント1072である、という点が異なる。時刻同期サーバ1071は、ネットワークで接続された時刻同期クライアント1072及び同一計算機内の時刻同期機能1031に自らが持つ基準時刻を提供するプログラムである。時刻同期クライアント1072は、時刻同期サーバから取得した基準時刻を同一計算機内の時刻同期機能に提供するプログラムである。
この構成で、時刻同期サーバ1071はネットワーク遅延を考慮して時刻同期クライアント1072に自らの時刻を通知することにより、時刻同期クライアント1072を時刻同期サーバ1071と同じ基準時刻(時刻同期サーバ1071の時刻)に合わせる。そして時刻同期機能1031は時刻同期サーバ1071から、時刻同期機能1032は時刻同期クライアント1072から、それぞれ基準時刻を取得して自らの時刻を基準時刻に合わせる。
以降は第7の実施形態と同様に、処理開始時刻をセットし対象エージェントにイベントを通知することにより処理を開始する。この構成によれば、時刻同期機能1031、1032は共に同じ基準時刻に合わされている為、エージェント1021、1022は同一時刻に処理を開始する。
本第9の実施形態によれば、複数のエージェントが異なる計算機上に居ても、同一時刻に一斉に処理を行うことが可能となる。図9の構成と比較した場合、時刻同期専用のハードウェア(GPS)が不必要な分、コストが押さえられるというメリットがある。
図12は本発明による第10の実施形態を示すシステム構成図である。
本第10の実施形態に係るシステムの目的も図9と同等である。図12において、図9と同じ構成部分については図9と同じ符号を付し、その詳細な説明は省略する。図12は、図9の構成と、時刻同期機能1131と連携しているのが基準時刻提供装置ではなく時刻同期クライアント1172であり、時刻同期機能1132と連携しているのが時刻同期クライアント1173であり、LAN1180に時刻同期の為の専用サーバ1171が稼動しているという点が異なる。
上記の構成において、時刻同期サーバ1171がネットワーク遅延を考慮して時刻同期クライアント1172、1173に自らの時刻を通知することにより、時刻同期クライアント1172、1173は時刻同期サーバ1171と同じ基準時刻(時刻同期サーバ1171の時刻)に合わされている。時刻同期機能1131は時刻同期クライアント1172から、時刻同期機能1132は時刻同期クライアント1173から、それぞれ基準時刻を取得し、自らの時刻を基準時刻に合わせる。
以降は第7の実施形態と同様に、処理開始時刻をセットし対象エージェントアプリにイベントを通知することにより処理が開始される。この構成によれば、時刻同期機能1131、1132は共に同じ基準時刻に合わされている為、エージェントアプリ1121、1122は同一時刻に処理を開始する。
本第10の実施形態によれば、異なる計算機上に居る複数のエージェントが同一時刻に、一斉に処理を行うことが可能となる。この構成も図11と同様、GPSを使用した図9よりコストが押さえられるというメリットがある。
図13は本発明による第11の実施形態を示すシステム構成図である。
本第11の実施形態に係るシステムの目的も図9と同等である。図13において図9と同じ構成部分については図9と同じ符号を付し、その詳細な説明を省略する。図13に係るシステムは、図9の構成と、時刻同期機能1231と連携しているのが基準時刻提供装置ではなくNTP(Network Time Protocol)クライアント1262であり、時刻同期機能1232と連携しているのがNTPクライアント1263であり、これらとネットワーク的に接続されたNTPサーバ1261が稼動している点が異なる。NTPとはインターネットの標準プロトコルを使用した時刻合わせの手法であり、インターネットの業界標準であるRFC(Request for Comment)−1305にその仕様が定義されている。
上記の構成において、時刻同期機能1231は自らの時刻を合わせる為に、NTPクライアント1262に時刻を問い合わせる。問い合わせを受けたNTPクライアント1262はNTPサーバ1261から絶対時刻を取得し、時刻同期機能1231に返すことにより、時刻同期機能1231は自らを絶対時刻に合わせる。時刻同期機能1232も同様である。
以降は図8と同様に、処理開始時刻をセットし対象エージェントにイベントを通知することにより処理が開始される。この構成によれば、時刻同期機能1231、1232は共に絶対時刻に合わされているので、エージェント1221、1222は同一時刻に処理を開始する事が可能になる。
本第11の実施形態によれば、図9のGPSを使ったシステムに近い精度で、かつ廉価に、異なる計算機上に居る複数のエージェントが指定された絶対時刻に、一斉に処理を行うことが可能となる。
図14は本発明による第12の実施形態を示すシステム構成図である。
本第12の実施形態に係るシステムの目的も図9におけるシステムの目的と似ているが、保護リレー同士が物理的に遠く離れている点が図9に係るシステムと異なる。図14において図9と同じ構成部分については図9と同じ符号を付し、その詳細な説明を省略する。図14に係るシステムは、図9の構成と、WAN1360(例えば公衆回線網等)を介してLAN1381に接続されたLAN1382に計算機1302が接続されており、計算機1302に、基準時刻提供装置1352と連携した時刻同期機能1332を持つプラットフォーム1312とエージェントアプリ1322が稼動している点が異なる。
以降は図8と同様、処理開始時刻をセットし対象エージェントにイベントを通知することにより処理が開始される。この構成によれば、時刻同期機能1331、1332は全て同じ基準時刻に合わされているので、エージェント1321、1322は同一時刻に処理を開始する事が可能になる。
本第12の実施形態によれば、複数のエージェントが公衆回線網を介して接続された計算機同士など遠く離れた計算機上に居ても、同一時刻に一斉に処理を行うことが可能となる。
第13の実施形態は、図14の構成において、基準時刻提供装置としてGPSを使用したシステムである。
第13の実施形態においても、図8と同様、処理開始時刻をセットし対象エージェントにイベントを通知することにより処理が開始される。この構成によれば、時刻同期機能1331、1332は全て同じ基準時刻に合わされているので、エージェント1321、1322は同一時刻に処理を開始する事が可能になる。
本第13の実施形態によれば、公衆回線網を介して接続された計算機同士など遠く離れた計算機上に居る複数のエージェントが、指定された絶対時刻に一斉に処理を行うことが可能となる。このGPSを使った構成では、遠隔であるにも関わらず、極めて高い時刻精度が実現可能になる。
図14において、第14の実施形態として、GPSの代わりに電波時計を使用したシステムを採用しても良い。電波時計とは、総務省通信総合研究所が発信している電波を受信して常に正確な時刻を取得する装置であり、ミリ秒〜マイクロ秒単位の精度を実現できる。
第14の実施形態においても、図8と同様、処理開始時刻をセットし対象エージェントにイベントを通知することにより処理を開始する。この構成によれば、時刻同期機能1331、1332は全て同じ基準時刻に合わされているので、エージェント1321、1322は同一時刻に処理を開始する事が可能になる。
本第14の実施形態によれば、公衆回線網を介して接続された計算機同士など遠く離れた計算機上に居る複数のエージェントが、第13の実施形態に係るGPSを使ったシステムに近い精度で、かつ比較的廉価に、指定された絶対時刻に一斉に処理を行うことが可能となる。
図15は、本発明の第15の実施形態に係るエージェントシステムの構成を示す図である。図16は図15の管理エージェントが有する機能を説明するための図である。本第15の実施形態においてもエージェントシステムの基本構成は、第1の実施形態におけると同様である。
図15は管理エージェントが保護リレー146の整定値を管理する例である。図15において、保護リレー146は、情報ネットワーク141に接続された複数のノードに存在するエージェントアプリからアクセスされ、その整定値の読み出し、書き込みが、行われる。本実施形態では図15のように、ある特定の計算機1421のエージェントプラットフォーム1431に、図16の各機能を有する管理エージェント145を常駐的に配置し、計算機1421の第1のエージェントアプリ1441,計算機1422の第2のエージェントアプリ1442からの保護リレー146へのアクセスを一元的に管理する。管理エージェントは次のような構成を有する。
(1) 占有要求受信部(エージェントアプリが送ってくる共有データの占有要求を受信し(a)、次の占有要求格納テーブルに保管する(b)。)
(2) 占有要求格納テーブル(この管理エージェントが管理する共有データへの占有要求を格納する。)
(3) 占有終了受信部/占有許可発信部(共有データを占有しているエージェントアプリが送ってくる占有終了情報を受信すると(c)、占有要求格納テーブルから占有要求を1つ取り出して(d)、その要求を出したエージェントアプリに占有の許可を通知する(e)。)
(4) データアクセスインタフェース(占有許可を受け取ったエージェントアプリはこれを通して共有データにアクセスする(f)。)
例えば、保護リレー146を管理している計算機1421にサーバ147から送り込まれた第1のエージェントアプリが、管理エージェント145に対して、「データの名称」と「書き込み/読み出し等の処理」、および「書き込み読み出しに必要なパラメータ」を渡して、管理エージェント145が保護リレー146へのデータアクセスを行う。あるいは、計算機1421とは別の計算機1422に存在する第2のエージェントアプリ1442から、管理エージェント145にメッセージを送って、管理エージェント145が当該メッセージ受信に応じて保護リレー146へのデータアクセス処理を行い、その結果をメッセージで第2のエージェントアプリ1442に戻す。
(2) 占有要求格納テーブル(この管理エージェントが管理する共有データへの占有要求を格納する。)
(3) 占有終了受信部/占有許可発信部(共有データを占有しているエージェントアプリが送ってくる占有終了情報を受信すると(c)、占有要求格納テーブルから占有要求を1つ取り出して(d)、その要求を出したエージェントアプリに占有の許可を通知する(e)。)
(4) データアクセスインタフェース(占有許可を受け取ったエージェントアプリはこれを通して共有データにアクセスする(f)。)
例えば、保護リレー146を管理している計算機1421にサーバ147から送り込まれた第1のエージェントアプリが、管理エージェント145に対して、「データの名称」と「書き込み/読み出し等の処理」、および「書き込み読み出しに必要なパラメータ」を渡して、管理エージェント145が保護リレー146へのデータアクセスを行う。あるいは、計算機1421とは別の計算機1422に存在する第2のエージェントアプリ1442から、管理エージェント145にメッセージを送って、管理エージェント145が当該メッセージ受信に応じて保護リレー146へのデータアクセス処理を行い、その結果をメッセージで第2のエージェントアプリ1442に戻す。
管理エージェント145は、この保護リレー146へのアクセス時において、書き込み処理の場合にはそのデータへの、他からのアクセスに対してプロテクトをかけ(占有)、書き込み処理完了に伴ってプロテクトを外す(占有終了)。ただし、読み出し処理の場合は、書き込み処理に対するのとは異なり、プロテクトをかけず他の読み出し処理も可能である。
このように、保護リレー146の整定値の管理を管理エージェント145に一本化することで、データアクセスの排他処理が間違えなく、容易に行えるようになる。
また、第1のエージェントアプリ1441が保護リレー146の整定値データにアクセスしようとした時(図15(a))、別のエージェント、例えば第2のエージェントアプリ1442が管理エージェント145を介して保護リレー146の整定値データにすでにアクセス(a)’、(b)’中で、管理エージェント1442により整定値データにプロテクトがかけられていた場合、第1のエージェントアプリは整定値データにアクセスすることができない。このとき第1のエージェントアプリは、管理エージェント145に対して、プロテクトが外れたらメッセージを送ってもらうように依頼しておき(a)、別の処理を進める。管理エージェント145からプロテクトが外れた旨のメッセージ(c)が来た時点で、保護リレー146の整定値データにアクセスする(b)。
また、管理エージェント145と異なる計算機、例えば計算機1442に存在する第2のエージェントアプリも同様のサービスを受けられる。
このように、保護リレー146の整定値データのプロテクトが外れた時点で、管理エージェント145からその旨のメッセージがもらえるため、整定値データを使用する処理とは無関係な処理を先に進めることが可能になり、エージェントの処理効率が向上する。同時に、プロテクト中に複数のアクセスがあり、その後プロテクトが解除された場合には、アクセスした時刻の早い順、あるいはアクセス要求の優先度(要求時に設定出来る場合)の高い順にプロテクトが外れた旨のメッセージをアクセス要求元へ送信する事とする。
また、第1のエージェントアプリ1441は、保護リレー146の整定値が書き換わった時点で処理を行う必要がある場合(例えば、整定値の変更をサーバに報告する、など)に、管理エージェント145に「整定値が書き換わった時点で処理を行う」ことを登録しておく(a)。これにより、保護リレー146の整定値が書き換わった時、管理エージェント145から第1のエージェントアプリ1441に「整定値が書き換わった」旨のメッセージ(c)が通知される。このメッセージを受けた第1のエージェントアプリ1441は、管理エージェント146に整定値の読み取りを要請し(a)、保護リレー146から書き換えられた整定値(b)を管理エージェント146を介して受け取る(c)。この、管理エージェント145と異なる計算機、例えば計算機1442に存在する第2のエージェントアプリ1442も同様のサービスを受けられる。
この整定値書き換え通知システムが無い場合は、第1のエージェントアプリ1441で、整定値の値が書き換わったどうか、適当な時点(たとえば一定周期)に保護リレー146にポーリングする必要がある。この整定値書き換え通知システムにより、ポーリング処理は不要になり、エージェントの処理効率が向上する。
また、第15の実施形態に係るエージェントシステムは、図15における管理エージェントに代えて、同様な機能を有する管理機能をエージェントプラットフォーム内に組み込むように構成しても良い。この場合でも、管理エージェントをエージェントプラットフォーム上に配置した場合と同様な作用、効果を得ることができる。
また、このシステムでは必要に応じて、エージェントアプリは管理エージェントや管理機能から通知が来るまで処理を中断し、通知を受け取った後で処理を再開する場合もありうる。この場合も上記と同様、そのための処理をエージェントアプリで実現する必要がないため、エージェントの処理が簡潔になる。
本システムでは管理エージェントが管理するのは共有データであるが、例えば保護リレー146の情報をリアルタイムで取得し外部に提供する機能を計算機1421が有している場合には、管理エージェントがこの共有機能を管理する構成なども考えられる。
図17は、本発明の第16の実施形態に係るエージェントシステムの構成を示す図である。本第16の実施形態においてもエージェントシステムの基本構成は、第1の実施形態におけるシステムと同様である。本システムは、保護リレーの遮断状態を解除するエージェントアプリをサーバ155から計算機152に送り、保護リレーを再閉路する事を目的とする。
第16の実施形態では、エージェントシステムで、あるエージェントアプリを離れた計算機に送って処理させる際に、そのエージェントアプリが誤ってエージェント送信者の意図しない動作をすることを防止するようにしている。
すなわち、処理の結果によっては、重要な結果を生じるようなエージェントアプリの伝送の確実性を高めるために、ある計算機に配置されているエージェントアプリを、情報ネットワークを介して、他の計算機に移動させる際に、そのエージェントアプリを複製して複数生成し、情報ネットワーク上の複数の経路を通って移動させ、他の計算機ではそれらの到着状況により、適否を判断した上で、処理を実行する。
図17に示すように、サーバ1521に配置されているエージェントアプリ1541を、情報ネットワーク151を介して計算機1522に移動させて、計算機1522で処理を行わせる。この場合、エージェントアプリをそのコピーを含めて複数個生成し、それらを情報ネットワーク151の別々の経路を辿って目的の計算機1522に到着させる。経路の振り分けは例えばサーバ1521が行い、同時に計算機1522に対してサーバ1521から送信したエージェントの数を通知しておく。
そして、計算機1522のエージェントプラットフォーム1532では、一つのエージェントアプリが到着しただけでは、処理の開始を許可せず、サーバ1521から出発したすべてのエージェントアプリが到着した時点で、代表のエージェントアプリに処理(再閉路)を開始させる。なお、他のコピーされたエージェントアプリ’は捨てられる。
また、サーバ1521から出発したすべてのエージェントアプリが計算機1522に到着してから処理を開始する代わりに、半数のエージェントアプリが到着した時点(過半数の到着)で処理を開始するようにすることもできる。あるいは到達した数だけでなく、到達したエージェントアプリの内容が全て、あるいは過半数が等しいことによって処理を許可しても良い。
これにより、何らかの不具合によって、あるいは、セキュリティを破られて進入され、ある経路での情報が書き換えられてしまった場合でも、同内容のエージェントアプリを複数作成して、それらを別々の経路を通って移動させているので、そのエージェントアプリの処理内容がエージェントアプリの送信者の意図しないものである確率は、ただ1つのエージェントアプリだけで処理を行う場合より、低くなる。
図18は、本発明の第17の実施形態に係るエージェントシステムの構成を示す図である。本第17の実施形態においてもエージェントシステムの基本構成は、第1の実施形態におけるシステムと同様である。図18は、特定の計算機に多数のエージェントアプリが到着する場合の、処理手法を説明する図である。第17の実施形態では、同時に受入れるエージェントの数を所定の数以下に制限するという、新たな機能がエージェントプラットフォームに追加されている。この機能は、上記の各実施の形態におけるエージェントシステムにおいて、保護リレーと情報ネットワークとのインタフェースとなる計算機が組込式で、処理速度が高速でない場合などでは特に有効である。
図18において、計算機1621に、他の計算機1622などから多数のエージェントアプリが到着することがある。この場合、到着した全てのエージェントアプリを受け入れて動作させると、メモリ消費量など、そのエージェントプラットフォームへの負荷が非常に大きくなり、各エージェントアプリの処理が遅くなってしまう。このため、エージェントプラットフォームに、そのプラットフォームが受入れることができる最大のエージェント数を登録しておき、その数を超えたエージェントは受入れを拒否する。
図18のように、計算機1621のエージェントプラットフォーム1631に対して、一度に受入れられるエージェントアプリの個数を例えばn個という設定を可能とし、それを超えたエージェントアプリは受け入れを制限する。
このように、エージェントプラットフォーム1631が受入れることができる最大のエージェント数nを登録しておき、その数nを超えたエージェントアプリは受入れを拒否する。従って、一度に動作するエージェントアプリの個数の最大数が制限されるので、その計算機におけるエージェントアプリの処理効率が向上する。
また、エージェントプラットフォーム1631に、受け入れ待ちエージェント用待ち行列165を設け、エージェントプラットフォーム1631が制限いっぱいのn個のエージェントアプリを受け入れている場合には、例えば計算機1622のエージェントアプリ166等のエージェントアプリが移動してきても、新しいエージェントアプリは受け入れられず、この受入れられないエージェントアプリ(a)(b)(c)・・・が待ち行列165に入り待機する。そして、受け入れられて動作しているエージェントアプリ1〜nが移動したり、消えたりした時点で、待ち行列165から所定のエージェントアプリを例えば順番にエージェントプラットフォーム1631に受け入れ、処理可能にする。待ち行列165は例えば計算機のメモリ上、あるいは外部記憶装置上に用意しておく。
このように、一度に受入れるエージェントアプリの個数をn個に制限し、それを超えてエージェントアプリが送られてきた場合に、そのエージェントアプリを待ち行列165に追加する。逆に、エージェントアプリがその計算機での処理が終了して、別の計算機に移動したり、消えたりした時点で、待ち行列165に並んでいる先頭のエージェントアプリを、プラットフォームに受入れ、処理を開始させる。
したがって、エージェントプラットフォーム1631にエージェントアプリを受入れずに、エージェントアプリを待ち行列165に並ばせる事によって、エージェントアプリの移動にかかるオーバーヘッドを小さくしながら、その計算機におけるエージェントアプリの処理効率が向上する。
また、プラットフォームに優先度を管理する機能をもたせておけば、エージェントアプリ毎に優先度を設定することにより、エージェントプラットフォーム1631が制限個数いっぱいのn個のエージェントを受け入れている場合には、エージェントアプリが待ち行列165に入れられる際に、それぞれのエージェントアプリに与えられた優先度順に、待ち行列165での待ち順が決められる。
このように、待ち行列165での並び順を、待ち行列165に入ってきた順ではなく、待ち行列内のエージェントアプリの優先度順にならべる機能をエージェントプラットフォーム1631に持たせることにより、エージェントアプリが優先度順に待ち行列で並び替えられる。したがって、優先度が高いエージェントアプリはより早くエージェントプラットフォームに受入れられるようになるので、重要な処理の待ち時間を短くすることができる。
優先度に従って、待ち行列に配置されるエージェントアプリの順番を設定するのではなく、エージェントプラットフォーム1631が制限いっぱいのn個のエージェントアプリを受け入れている場合に、後から移動してきたエージェントアプリの優先度が、現在動作しているn個のエージェントアプリのいずれかの優先度より高い場合に、動作中のエージェントアプリの中で一番優先度が低いエージェントアプリを待ち行列165に移動させて、優先度の高いエージェントアプリを受入れることにより、優先度の高いエージェントアプリを優先して動作させるようにしても良い。
このように、計算機1621内で制限数いっぱいのエージェントアプリが動いている時、動作中のエージェントアプリよりも高い優先度のエージェントが移動してきた場合に、動作中の一番優先度の低いエージェントアプリを待ち行列165に移して、優先度の高いエージェントアプリの処理を行わせる機能をエージェントプラットフォーム1631に持たせる。これにより、優先度が高いエージェントアプリは、優先的にエージェントプラットフォームに受入れられるので、待ち行列で待つ時間がさらに短くなる。
図19は、本発明の第18の実施形態に係るエージェントシステムの構成を示す図である。本第18の実施形態においてもエージェントシステムの基本構成は、第1の実施形態における場合と同様である。図19は、エージェントプラットフォームが自らに送り込まれたエージェントの機能、性質を判定してそのエージェントの受入を決定する場合の、処理手法を説明する図である。図19では、自らに送り込まれたエージェントの機能、性能を判定するという、新たな機能がエージェントプラットフォームに追加されている。図19のシステムは、エージェントアプリ172が保護リレー174の情報を取得し、それを元に保護リレー174の整定値を計算する事を目的とする。このシステムにおいてプラットフォームが判断する機能、性能とはエージェントが処理を行うのに必要な計算機の資源(CPU速度、必要メモリ量など)とする。
エージェントアプリ172は保護リレー174の情報を取得した後に、これを元に整定値の計算を行う。ここで、現在居る計算機1701の処理性能が低いので他の計算機に移動してから整定値計算を行うとする。移動先の候補は予めエージェントアプリに持たせておく事が普通であると考えられる。しかしエージェントアプリが処理される計算機に全く制約が無い場合には、プラットフォームが移動先を決定することもありうる。
エージェントアプリが計算を行うプラットフォームは、自らの性能に基づいてエージェントアプリの受入(整定値の計算)を許可する。例えば、図19において、整定値計算を行う為に初めに訪れたプラットフォーム1712では、計算機1702に整定値の計算を行うほどの処理性能が無いのでエージェントアプリ172の受入を拒否する。受入を拒否されたエージェントアプリ172は、整定値計算を行う次の候補のプラットフォーム1713に移動する。このプラットフォーム1713では計算機1703の処理性能が高いのでエージェントアプリ172の受入、つまり整定値の計算を許可する。
この機能の無い従来のプラットフォームだと、性能の低い計算機でも複雑な処理を行う事がある。その結果、その計算機がシステム全体のボトルネックとなり、システムの性能が低下する事がある。
本システムのように、プラットフォームにエージェントの受入を判断する機能を持たせておけば、システム全体の負荷を分散する事が可能となり、システム全体の処理効率が向上する。
図20は本発明による第19の実施形態を示すシステム構成図である。図21は図20におけるイベント処理機能を説明するための図である。図20は系統の状態を常時監視し、異常が起こった場合はこれを制御所に通知すると共に系統を遮断するシステムを示す図である。
図20では、計算機201はLAN202に接続されており、エージェントを受け入れる為のプログラムであるプラットフォーム202が動作している。プラットフォーム202には、イベント発生の報告を受けると、予め登録されていたエージェントにその旨を通知するイベント処理機能203が内蔵されている。図21はイベント処理機能203がその内部に持つ各機能を示した図である。イベント処理機能は、次のような機能を備えている。
(1) イベント通知受信部(エージェントアプリからイベント通知要求を受けると(a)、その要求を次のイベント通知要求格納部に保管する(b))
(2) イベント通知要求格納部(エージェントアプリからの要求を保管する領域)
(3) イベント受信・通知部(イベントの発生を受信する(c)と共に、イベント通知要求格納部を検索し(d)、そのイベントを通知してもらう様予め登録してあったエージェントアプリに、イベント発生を通知する(e))
そして計算機201には保護リレー204が接続されており、保護リレー204経由で電気量の取得、系統の遮断が出来るものとする。
(2) イベント通知要求格納部(エージェントアプリからの要求を保管する領域)
(3) イベント受信・通知部(イベントの発生を受信する(c)と共に、イベント通知要求格納部を検索し(d)、そのイベントを通知してもらう様予め登録してあったエージェントアプリに、イベント発生を通知する(e))
そして計算機201には保護リレー204が接続されており、保護リレー204経由で電気量の取得、系統の遮断が出来るものとする。
このようなプラットフォーム202に対して、電気量を常に監視し、異常があればイベント処理機能を通じて他のエージェントアプリにイベントを通知するエージェントアプリ2071と、イベント発生の通知を受けると系統を遮断するエージェントアプリ2072と、イベント発生の通知を受けると制御所にあるサーバ206に異常を報告するエージェントアプリ2073、がサーバ206から送り込まれる。エージェントアプリ2072、2073は図21に示す各機能を有しているとする。すなわち、
(1) イベント通知受信部(イベント処理機能からイベントの発生を受信する(e)と、次の処理を実行する(f))
(2) イベント処理の内容
プラットフォーム202に到着したエージェントアプリ2072、2073はイベント処理機能に対して、系統の異常というイベントが発生したらその旨を通知してもらえる様に登録しておく(図20のa、a’)。一方、エージェントアプリ2071はプラットフォーム202に到着すると保護リレー204を経由して系統の電気量を監視し(b)、異常が検知されたらイベント処理機能203にその旨を通知する(c)。イベントの報告を受けたイベント処理機能203は予め登録されたエージェントアプリ2072、2073にイベント発生を通知する(d、d’)。イベント発生通知を受け取ったエージェントアプリ2072は、予め決められた処理である系統の遮断を行う(e)。一方、同じくイベント発生通知を受け取ったエージェントアプリ2073も、予め決められた処理であるサーバへの報告を行う(e’)。
(1) イベント通知受信部(イベント処理機能からイベントの発生を受信する(e)と、次の処理を実行する(f))
(2) イベント処理の内容
プラットフォーム202に到着したエージェントアプリ2072、2073はイベント処理機能に対して、系統の異常というイベントが発生したらその旨を通知してもらえる様に登録しておく(図20のa、a’)。一方、エージェントアプリ2071はプラットフォーム202に到着すると保護リレー204を経由して系統の電気量を監視し(b)、異常が検知されたらイベント処理機能203にその旨を通知する(c)。イベントの報告を受けたイベント処理機能203は予め登録されたエージェントアプリ2072、2073にイベント発生を通知する(d、d’)。イベント発生通知を受け取ったエージェントアプリ2072は、予め決められた処理である系統の遮断を行う(e)。一方、同じくイベント発生通知を受け取ったエージェントアプリ2073も、予め決められた処理であるサーバへの報告を行う(e’)。
本第19の実施形態によれば、様々なイベントをイベント処理機能を使って統一的に管理する事が出来る。電力系統システムに適用した場合、アプリケーションプログラムでは、異常検出機能、リレー操作機能を独立して作成することが可能となり、様々な機能の実現が容易となる。
図22は本発明による第20の実施形態を示すシステム構成図である。図23A及び図23Bは従来のプラットフォームとの違いを説明する図である。図24は本発明の機能を実現するためにプラットフォームが有する機能を説明する図である。図22は系統に異常が発生した時に、その原因箇所を早急に特定するシステムである。
図22では、計算機2211、2212、2213、サーバ224がLAN226に接続されており、計算機2211、2212、2213のそれぞれにはエージェントを受け入れる為のプログラムであるプラットフォーム2231、2232、2233、2234が動作している。計算機2211、2212、2213は対応する保護リレー2221、2222、2223の情報を取得できる。エージェントアプリ225は各プラットフォームと接続された保護リレーの情報を集める機能を持つ。
従来のシステム(図23A)ではエージェントがプラットフォーム間を移動する時、移動先のプラットフォームが動作しているノードで異常があると、移動要求を出した移動元のノードは移動先のノードからの応答が返ってくるのを待ち続ける。
それに対し本発明(図23B)では、移動等の通信処理をタイムアウト出来る機能を持たせる事により、エージェントの移動に掛かる時間を保証できる様になる。
続いてこのシステムの動きを説明する。事故発生時にサーバ224は、エージェントアプリ225を送り出し、エージェントアプリ225が持ち帰った情報を元に異常の原因を特定する。このエージェントアプリには、プラットフォーム2231、2232、2233の順序で巡回するが、途中の目的地に到達出来ない時はスキップするような指示が与えられている。初めにプラットフォーム2231に到着したエージェントアプリ225は保護リレー2221の情報を取得する。次にプラットフォーム2231はエージェントアプリ225をプラットフォーム2232に移動させようとするが、計算機2212への経路が遮断していたとする。
第20の実施形態では、プラットフォームが行う通信にタイムアウト時間を設け、タイムアウト時間になっても応答の無い通信は失敗したと判断してこれを踏まえた処理を行う。この機能を実現するための機能を説明したのが図24である。第20の実施形態では、プラットフォームは次の機能を有する。
(1) メインプロセス(従来のプラットフォームが有する機能。但しエージェントを移動させる時など、外部と通信を行う必要が生じた時には、自らが通信を行う代わりに次の通信用プロセスを生成する(a)。)
(2) 通信用プロセス(メインプロセスによって生成され(a)、実際に外部と通信を行う(b)。)
(3) タイマ(メインプロセスが通信用プロセスを新たに生成した時、メインプロセスがタイマに通信用プロセスのタイムアウト時刻を設定する(a)。タイムアウト時刻になると通信用プロセスを停止して(c)、メインプロセスにタイムアウトを通知する(d’)。)
第20の実施形態に係るシステムでは、タイムアウトを受け取ったメインプロセスはエージェントアプリ225を次の移動先であるプラットフォーム2233に移動させる。これによりエージェントアプリ225は無駄な待ち時間を消費せずに済む。
(2) 通信用プロセス(メインプロセスによって生成され(a)、実際に外部と通信を行う(b)。)
(3) タイマ(メインプロセスが通信用プロセスを新たに生成した時、メインプロセスがタイマに通信用プロセスのタイムアウト時刻を設定する(a)。タイムアウト時刻になると通信用プロセスを停止して(c)、メインプロセスにタイムアウトを通知する(d’)。)
第20の実施形態に係るシステムでは、タイムアウトを受け取ったメインプロセスはエージェントアプリ225を次の移動先であるプラットフォーム2233に移動させる。これによりエージェントアプリ225は無駄な待ち時間を消費せずに済む。
第20の実施形態によればエージェントの移動など、プラットフォームが行う通信の結果を一定時間内に得ることが可能となる。電力系統保護システムの様に、迅速な処理を必要とするシステムにエージェントを適用する場合に本発明は特に有効である。
本発明によれば、下記のような効果が得られる。
(1) 情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記エージェントプラットフォーム又は前記ノードのいずれか一方は同期手段を備え、同じノード内で動作している複数のエージェントが同期を取って作業を進めようとする際に、前記同期手段に対して同期を取る依頼メッセージを送ることにより、同一ノード内の複数のエージェントが同期を取って処理を進めていくことを特徴とする。ノード(計算機)のエージェントプラットフォームに、複数のエージェントの同期を取るための同期エージェントまたは同期機能を配置し、同期を取りたいエージェントは、この同期エージェントなどにメッセージを送り、その返事を待つことで複数のエージェント間の同期を取らせる。従来の方式ではエージェント自体に、他のエージェントとの同期の機構を組込む必要があるが、本発明では同期エージェントなどを導入することによって、エージェントは同期エージェントへ同期処理を依頼するだけで良い。すなわち、同期エージェントまたは同期機能を導入することによって、同期を取る相手エージェントと、同期エージェントへの通知方法をエージェントに埋め込むだけで良い。これにより、エージェントのプログラミング量が削減されるとともに、同期を取るプログラムのバグ混入がなくなる。
(2) 情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記情報ネットワーク内に配置された同期手段を更に備え、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、同期を取って作業を進めようとする複数のエージェントが異なるノードで動作している場合に、前記同期手段に対して同期を取る依頼メッセージを送ることにより、異なるノード上の複数のエージェントが同期を取って処理を進めていくことを特徴とする。情報ネットワーク内(例えば、サーバ)に同期エージェントまたは同期機構を配置し、別ノード(計算機)に存在するエージェントとの同期を取らせる機能を持たせるから、異なったノード(計算機)に存在するエージェントアプリ間でも同期を取ることが容易になる。
(3) 情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記エージェントプラットフォーム又は前記ノードのいずれか一方は同期手段を備え、同期を取って作業を進めようとする複数のエージェントが異なったノードで動作している場合に、同期を取ろうとするエージェントが同じノード内の前記同期手段に対して同期を取る依頼メッセージを送り、当該同期手段が、他の異なったノードの同期手段に同期を取る依頼メッセージを送ることにより、異なるノード上の複数のエージェントが同期を取って処理を進めていくことを特徴とする。同期エージェントまたは同期機能に、別ノード(計算機)に存在するエージェントとの同期を取るために、各計算機においた同期エージェントまたは同期機能同士が同期の情報をやり取りするから、お互いがどの計算機に存在するかというようなことを意識することなく、同じ計算機内に常駐する同期エージェントにメッセージを送るだけで、容易に同期がとれるようになる。
(4) 情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記複数のプラットフォームは前記エージェントの処理実行時刻を制御する時刻同期機能を備え、前記複数のノードは、前記時刻同期機能に基準時刻を提供する装置を備えたことを特徴とする。異なる計算機上に存在する複数のエージェントが同一時刻に処理を行う場合、従来の方式ではエージェント自体に、他のエージェントとの時刻同期の機構を組込む必要がある。しかし、本発明によれば、エージェントはエージェントプラットフォームに予め用意された時刻同期機能を用いるだけでよいので、その分エージェントのプログラミング量及びバグ混入が軽減される。すなわち、複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合に、各プラットフォームに予め用意された時刻同期機能を用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても容易に時刻同期が取れる。
(5) (4)において、前記基準時刻提供装置としてGPSを使用することを特徴とする。複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された時刻同期機能がGPSと連携している為、これを用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても容易に高精度な時刻同期が取れる。
(6) 情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームと、前記プラットフォームに配置され前記エージェントの実行時間を制御する時刻同期機能と、システム内の各ノードに基準時刻を提供する時刻同期サーバと、前記時刻同期機能に前記時刻同期サーバから提供された基準時刻を提供する時刻同期クライアント、とを更に備えたことを特徴とする。複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された時刻同期機能同士が時刻同期サーバ、時刻同期クライアントを経由して時刻同期されている為、これを用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても比較的廉価かつ高精度な時刻同期が容易に実現できる。
(7) (6)において、前記エージェントシステムの時刻同期サーバを通信ネットワークで結ばれたネットワーク上の専用計算機で動作させることを特徴とする。複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された時刻同期機能同士が、時刻同期サーバから時刻合わせされた時刻同期クライアントを経由して時刻同期されている為、これを用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても比較的廉価かつ高精度な時刻同期が容易に実現できる。
(8) (7)において、前記時刻同期サーバとしてNTP(Network Time Protocol)サーバ、前記時刻同期クライアントとしてNTPクライアントを使用することを特徴とする。複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された時刻同期機能同士が、NTPクライアントを経由して時刻同期されている為、これを用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても比較的廉価かつ高精度な時刻同期が容易に実現できる。
(9) (4)において、通信回線などを経由して接続された遠隔地との間で時刻同期させることを特徴とする。遠く離れた計算機に居る複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された時刻同期機能を用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても容易に時刻同期が取れる。
(10) (5)において、通信回線などを経由して接続された遠隔地との間で時刻同期させることを特徴とする。公衆回線網を介して接続された計算機同士など、遠く離れた計算機に居る複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された、GPSと連携した時刻同期機能を用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても高精度の時刻同期が容易に実現できる。
(11) (4)において、前記基準時刻提供装置として電波時計を使用することを特徴とする。公衆回線網を介して接続された計算機同士など、遠く離れた計算機に居る複数のエージェントが同一時刻に処理を行う時刻同期処理を行う場合、各プラットフォームに予め用意された、電波時計と連携した時刻同期機能を用いるだけで、エージェント内部に他エージェントとの時刻同期を取る機構を用意しなくても比較的廉価かつ高精度の時刻同期が容易に実現できる。
(12) 情報ネットワークに接続された複数のノードを移動しながら、所定のノードに存在する共有データにアクセスしたり、あるいは所定のノードが提供する共有機能を使用することによって所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記エージェントプラットフォーム又は前記ノードのいずれか一方は管理手段を備え、前記管理手段を介してのみ前記共有データや共有機能にアクセス可能であることを特徴とする。複数のエージェントで使用するデータあるいは機能を管理する共有管理エージェントを導入し、そのエージェントを介してのみ共有データあるいは機能にアクセスさせるように、共有資源の管理を管理エージェントに一本化することで、アクセスの排他処理が間違いなく、容易に行えるようになる。
(13) (12)において、前記管理手段は、自らが管理するデータや機能が使用中の場合は他のアクセスに対してプロテクトをかけ、そのプロテクト中にそのデータあるいは機能にアクセスしたエージェントに対して、プロテクト解除後に利用可能になったことを通知する機能を持つことを特徴とする。プロテクト中のデータあるいは機能にアクセスがあった場合に、共有管理エージェントがプロテクトがはずれた時点で、アクセスしようとしたエージェントにプロテクトがはずれたことを通知するから、そのエージェントは、共有データ処理や共有機能とは無関係な処理を先に進めることが可能になり、エージェントの処理効率が向上する。
(14) (12)において、各エージェントは、前記管理手段に、前記共有データのある部分に書き換えがあった、あるいは前記共有機能の所定の機能が呼ばれたときに通知がもらえるように登録しておき、その共有データが実際に書き換えられた、あるいはその機能が実際に呼ばれた時点で通知が送られてくることを特徴とする。実際にデータが書きかえられた時点あるいは共有機能が使用された時点で、管理エージェントから通知がもらえるから、エージェント自身で、データの値が書き換わったか、あるいは共有機能が使用されたかの確認のためのポーリング処理は不要になり、エージェントの処理効率が向上する。
(15) (13)又は(14)において、各エージェントは、前記管理手段から通知を受け取るまで他の処理を中断し、通知を受け取った後で処理を再開することを特徴とする。共有データの状態変化あるいは共有機能の使用を踏まえてエージェントの処理が決定する場合、実際に共有データの状態が変化した、あるいは共有機能が使用された時点で管理エージェントあるいは管理機能がエージェントの処理を再開するから、エージェント自身で、共有データの状態が変化したか、あるいは共有機能が使用されたかどうかの確認のためのポーリング処理は不要になり、エージェントの処理効率が簡潔になる。
(16) 情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、エージェントをあるノードから他のノードに移動させる際に、当該エージェントを複数生成し、生成された複数のエージェントを情報ネットワークのそれぞれ異なった経路を介して移動先のノードに移動させ、移動先のノードでは全てのエージェントが揃ったか、或いは過半数のエージェントが揃ってから所要の処理を開始することを特徴とする。複数のエージェントを生成して、それがすべて(あるいは過半数)目的地に到着したことで処理を開始するから、何らかの不具合によって、あるいは、セキュリティを破られて進入され、情報が書き換えられてしまった場合でも、エージェントの処理がエージェント送信者の意図した処理ではないという確率を、ただ1つのエージェントだけを送信する場合より、著しく低くすることができる。従って、エージェントアプリの信頼性がより確実になり、セキュリティが向上する。
(17) 情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、一つのエージェントプラットフォーム内に同時に受入れるエージェントの数を所定の数以下に制限することを特徴とする。エージェントプラットフォームに、そのプラットフォームが受入れることができる最大のエージェント数を登録しておき、その数を超えたエージェントは受入れを拒否するから、一度に動作するエージェントアプリの個数は最大数が決められるので、その計算機におけるエージェントの処理効率が向上する。
(18) (17)において、エージェントプラットフォームは受け入れ待ちエージェント用待ち行列を備え、あるエージェントプラットフォームが制限いっぱいのエージェントを受け入れている場合には、受入れられないエージェントが前記待ち行列に入り、受け入れられて動作しているエージェントが移動したり、消えたりした時点で、前記待ち行列からエージェントプラットフォームに受け入れることを特徴とする。エージェントプラットフォームに受入れエージェント用待ち行列領域を持たせ、受入数を超えてエージェントを受入れようとする場合は、その待ち行列にエージェントを入れるようにする機能をプラットフォームに持たせるから、エージェントを受入れずに、待ち行列に並ばせる事によって、エージェントの移動にかかるオーバーヘッドを小さくしながら、その計算機におけるエージェントの処理効率が向上する。
(19) (18)において、エージェント毎に優先度を持たせ、受入先のエージェントプラットフォームが制限いっぱいのエージェントを受け入れているため、待ち行列に入れられる際に、エージェントの持っている優先度順に、待ち行列の待ち順が決められることを特徴とする。待ち行列の並び順を、待ち行列に入ってきた順ではなく、待ち行列内のエージェントの優先度順にならべる機能をプラットフォームに持たせるから、優先度が高いエージェントが待ち行列に並ぶ場合でも、優先度順に待ち行列が並び替えられるので、優先度が高いエージェントはより早くエージェントプラットフォームに受入れられるようになり、重要な処理の待ち時間を短くすることができる。
(20) (18)において、エージェント毎に優先度を持たせ、目的地のエージェントプラットフォームが制限いっぱいのエージェントを受け入れており、後から移動してきたエージェントの優先度が、現在動作しているエージェントの優先度より高い場合、動作中のエージェントの中で一番優先度が低いエージェントを待ち行列に移動させ、優先度の高いエージェントを受入れることを特徴とする。計算機内で制限数いっぱいのエージェントが動いている時、動作中のエージェントよりも高い優先度のエージェントが移動してきた場合に、動作中の一番優先度の低いエージェントを待ち行列に移して、優先度の高いエージェントの処理を行わせる機能をプラットフォームに持たせるから、優先度が高いエージェントは、優先的にプラットフォームに受入れられるので、待ち行列で待つ時間がさらに短くなる。
(21) 情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、前記各プラットフォームが送り込まれたエージェントの機能、性質を判定して受入を許可/不許可することを特徴とする。送り込まれたエージェントの機能、性質などをプラットフォームが判定して受入を許可/不許可するから、処理性能の低いプラットフォームでは複雑な処理を行うエージェントの受入を拒否するので、処理性能の低いプラットフォームがシステム全体のボトルネックになる事が無くなり、結果的にシステム全体の処理効率が向上する。
(22) 情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、エージェントプラットフォームはイベント機能を備え、イベント発生時に前記イベント機能に予め登録されたエージェントに対してメッセージを送る事で、エージェントがイベントに応じて作業を進めることが可能である事を特徴とする。様々なイベントをイベント処理機能で統一的に管理する事が出来るので、アプリケーションを機能毎に独立して作成する事が可能となり、様々な機能を有するシステムの実現が容易となる。
(23) 情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、あるエージェントプラットフォームがエージェントを次の移動先に移動させる時に、予め定めておいた時間を過ぎても応答の無い通信を強制的に遮断することを特徴とする。所要のエージェントプラットフォームが外部と行う通信処理にタイムアウト時刻を持たせることにより、エージェントの処理が一定時間内に完了する事を保証する。従って、あるエージェントプラットフォームが他のプログラムと通信を行う場合、その最大応答時間を予め予測する事が可能になり、電力系統保護システムの様に迅速な処理を必要とするシステムにエージェントを適用することが可能となる。
上記のように、リアルタイム機能を付加したエージェントにより、分散環境における微妙なタイミングを要する処理を容易に実現できる。アプリケーションはタイミングと動作の指定をするだけで、従来の技術には無い非常に大きな効果が生み出される。
最後に、電力系統保護に本エージェントを適用することによる特有の効果の1つとして、系統安定化システムに本エージェントを適用した場合を例として挙げておく。系統安定化システムとは、大事故発生時に発電機や遮断機など、電力系統を構成する各装置をコントロールして系統の安定を図るシステムである。系統を安定させる為には、各装置の動作の順番、タイミング、確実性など、分散して存在するそれぞれの装置に微妙な制御が要求されるが、本エージェントを用いればこのような機能が容易に実現できる。しかも本発明に係るエージェントシステムの効果として、仮に系統の構成が代わってもこれに容易に対応できるという効果もある。
Claims (2)
- 情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、エージェントプラットフォームはイベント機能を備え、イベント発生時に前記イベント機能に予め登録されたエージェントに対してメッセージを送る事で、エージェントがイベントに応じて作業を進めることが可能である事を特徴とするエージェントシステム。
- 情報ネットワークに接続された複数のノードを移動しながら所定の処理を実行する複数のエージェントを備えたエージェントシステムにおいて、前記複数のノードはそれぞれ、エージェントを受け入れて実行する複数のエージェントプラットフォームを備え、あるエージェントプラットフォームがエージェントを次の移動先に移動させる時に、予め定めておいた時間を過ぎても応答の無い通信を強制的に遮断することを特徴とするエージェントシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009090864A JP2009187568A (ja) | 2000-07-31 | 2009-04-03 | エージェントシステム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000230847 | 2000-07-31 | ||
JP2009090864A JP2009187568A (ja) | 2000-07-31 | 2009-04-03 | エージェントシステム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002515593 Division | 2001-07-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009187568A true JP2009187568A (ja) | 2009-08-20 |
Family
ID=18723751
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009090863A Pending JP2009187567A (ja) | 2000-07-31 | 2009-04-03 | エージェントシステム |
JP2009090864A Pending JP2009187568A (ja) | 2000-07-31 | 2009-04-03 | エージェントシステム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009090863A Pending JP2009187567A (ja) | 2000-07-31 | 2009-04-03 | エージェントシステム |
Country Status (6)
Country | Link |
---|---|
US (2) | US20030135541A1 (ja) |
EP (2) | EP1967961A3 (ja) |
JP (2) | JP2009187567A (ja) |
KR (1) | KR100516794B1 (ja) |
CN (2) | CN101309168A (ja) |
WO (1) | WO2002010938A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013513353A (ja) * | 2009-12-03 | 2013-04-18 | エー123 システムズ, インコーポレイテッド | グリッド負荷同期デバイスおよび方法 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3427380B2 (ja) * | 2001-02-09 | 2003-07-14 | 株式会社大日光・エンジニアリング | ネットワークシステム、ネットワークシステムを用いた購入品の購入方法、ネットワークシステムにおけるクライアントのインターネットブラウザのプラグインソフトウェア及びネットワークシステムにおけるクライアントのインターネットブラウザのプラグインソフトウェアを用いた購入品の購入方法 |
US20030046355A1 (en) * | 2001-08-31 | 2003-03-06 | Evolveworks, Inc. | Method and apparatus for object based information flow management |
US8103715B1 (en) * | 2002-06-11 | 2012-01-24 | Cisco Technology, Inc. | Approach for managing mobile agents in networks |
US20040133642A1 (en) * | 2002-07-23 | 2004-07-08 | Vazquez Pedro A. | Server and application programming interface for distributed rendezvous |
US7711803B2 (en) * | 2003-04-04 | 2010-05-04 | Computer Associates Think, Inc. | Method and system for management and configuration of remote agents |
US8432562B2 (en) * | 2004-02-17 | 2013-04-30 | Ricoh Company, Ltd. | Image processing apparatus, method, program, and computer readable recording medium for controlling operation switching and displaying at occurrence of error conditions |
JP3879757B2 (ja) | 2004-10-07 | 2007-02-14 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置、新機能追加通知方法、およびコンピュータプログラム |
JP4507917B2 (ja) * | 2005-02-28 | 2010-07-21 | 日本電気株式会社 | セッション処理システム、セッション処理方法、及びプログラム |
JP5060030B2 (ja) * | 2005-08-16 | 2012-10-31 | 一般財団法人電力中央研究所 | モバイルエージェントによる制御システム及び方法 |
KR100777426B1 (ko) * | 2006-03-29 | 2007-11-22 | (주)닥터소프트 | 어플리케이션 공유 서비스 시스템과 어플리케이션 공유서비스를 위한 어플리케이션 제공자측 클라이언트 처리모듈및 어플리케이션 공유 서비스를 위한 어플리케이션이용자측 클라이언트 처리모듈 |
US7805403B2 (en) * | 2007-01-07 | 2010-09-28 | Apple Inc. | Synchronization methods and systems |
DE602007000681D1 (de) * | 2007-01-19 | 2009-04-23 | Sap Ag | Verfahren und System zur sicheren Erweiterung des Weges eines Mobilagenten innerhalb eines Netzwerksystems |
KR100921155B1 (ko) * | 2007-07-02 | 2009-10-12 | 성균관대학교산학협력단 | 에이전트플랫폼, 멀티 에이전트 시스템 및 멀티 에이전트시스템의 메시지 송수신 방법 |
GB2464054A (en) * | 2007-07-04 | 2010-04-07 | Innovation Science Pty Ltd | Visit feasibility using scheduled transport within a network of connected nodes |
WO2009028231A1 (ja) * | 2007-08-24 | 2009-03-05 | Nec Corporation | 通信方法 |
JP5003701B2 (ja) * | 2009-03-13 | 2012-08-15 | ソニー株式会社 | サーバ装置及び設定情報の共有化方法 |
KR101901958B1 (ko) * | 2012-03-26 | 2018-11-08 | 한국전자통신연구원 | 휴리스틱 함수의 학습을 이용한 고속 경로를 탐색을 위한 장치 및 그 방법 |
US9020652B2 (en) * | 2012-04-13 | 2015-04-28 | The Boeing Company | Event processing system for an electrical power system |
US8880838B2 (en) | 2013-01-08 | 2014-11-04 | Lyve Minds, Inc. | Storage network data allocation |
US9332413B2 (en) * | 2013-10-23 | 2016-05-03 | Motorola Solutions, Inc. | Method and apparatus for providing services to a geographic area |
WO2015071978A1 (ja) * | 2013-11-13 | 2015-05-21 | 富士通株式会社 | イベント管理プログラム、イベント管理方法および分散システム |
US9678678B2 (en) | 2013-12-20 | 2017-06-13 | Lyve Minds, Inc. | Storage network data retrieval |
JP2017010074A (ja) * | 2015-06-16 | 2017-01-12 | 株式会社東芝 | 保護制御装置 |
JP6623954B2 (ja) * | 2016-06-29 | 2019-12-25 | 富士通株式会社 | データ転送プログラム、データ転送装置、およびデータ転送方法 |
JP7135903B2 (ja) * | 2019-02-01 | 2022-09-13 | 株式会社デンソー | 車両用装置、車両用装置の時刻同期方法 |
CN111031108B (zh) * | 2019-11-29 | 2021-09-03 | 维沃移动通信有限公司 | 一种同步方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11296374A (ja) * | 1998-04-13 | 1999-10-29 | Toshiba Corp | 情報処理装置及び方法並びに情報処理用プログラムを記録した記録媒体 |
JP2000010938A (ja) * | 1998-06-17 | 2000-01-14 | Toshiba Corp | エージェント管理方法ならびにエージェントシステム及び同方法がプログラムされ記録される記録媒体 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4631674A (en) * | 1985-02-05 | 1986-12-23 | International Business Machines Corporation | Active wait |
US5825759A (en) * | 1994-10-26 | 1998-10-20 | Telefonaktiebolaget Lm Ericsson | Distributing network services and resources in a mobile communications network |
AU707433B2 (en) * | 1996-12-03 | 1999-07-08 | Kabushiki Kaisha Toshiba | Electric power system protection and control system and distributed control system |
JP3302915B2 (ja) | 1996-12-03 | 2002-07-15 | 株式会社東芝 | 電力系統保護制御システムとこのシステムを実行するためのプログラムを記録した記録媒体 |
US5926089A (en) * | 1996-12-03 | 1999-07-20 | Kabushikik Kaisha Toshiba | Electric power system protection and control system and distributed control system |
JPH10240512A (ja) * | 1997-02-26 | 1998-09-11 | Hitachi Ltd | エージェントシステム |
JP3529588B2 (ja) * | 1997-05-30 | 2004-05-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 計算機ネットワーク・システム、計算機、一時保管用計算機及びこれらにおける方法 |
JP3352411B2 (ja) * | 1998-03-05 | 2002-12-03 | 株式会社東芝 | 制御システム、電力系統保護制御システムおよびプログラムを記憶した記憶媒体 |
JP3734206B2 (ja) * | 1998-05-01 | 2006-01-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | エージェント対話管理方法、コンピュータ及び記憶媒体 |
JPH11345215A (ja) * | 1998-05-29 | 1999-12-14 | Toshiba Corp | 移動型エージェントの状態管理方法ならびにシステム及び同方法がプログラムされ記録される記録媒体 |
US6324586B1 (en) * | 1998-09-17 | 2001-11-27 | Jennifer Wallace | System for synchronizing multiple computers with a common timing reference |
JP3829020B2 (ja) * | 1998-10-22 | 2006-10-04 | 株式会社東芝 | 電力系統保護制御システム、電力系統保護制御システムの制御方法およびプログラムモジュールを記憶した記憶媒体 |
JP2000163122A (ja) * | 1998-11-30 | 2000-06-16 | Toshiba Corp | 監視制御用計算機組込型データ管理装置 |
JP2000207357A (ja) * | 1999-01-20 | 2000-07-28 | Nec Corp | セキュリティ実装エ―ジェントシステム |
US6990616B1 (en) * | 2000-04-24 | 2006-01-24 | Attune Networks Ltd. | Analysis of network performance |
-
2001
- 2001-07-30 CN CNA2008100998667A patent/CN101309168A/zh active Pending
- 2001-07-30 KR KR10-2003-7001444A patent/KR100516794B1/ko not_active IP Right Cessation
- 2001-07-30 EP EP08011256A patent/EP1967961A3/en not_active Withdrawn
- 2001-07-30 EP EP01953335A patent/EP1315094A4/en not_active Withdrawn
- 2001-07-30 CN CNB018165850A patent/CN100452013C/zh not_active Expired - Fee Related
- 2001-07-30 WO PCT/JP2001/006538 patent/WO2002010938A1/ja active IP Right Grant
-
2003
- 2003-01-31 US US10/355,184 patent/US20030135541A1/en not_active Abandoned
-
2006
- 2006-11-14 US US11/559,855 patent/US20070088777A1/en not_active Abandoned
-
2009
- 2009-04-03 JP JP2009090863A patent/JP2009187567A/ja active Pending
- 2009-04-03 JP JP2009090864A patent/JP2009187568A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11296374A (ja) * | 1998-04-13 | 1999-10-29 | Toshiba Corp | 情報処理装置及び方法並びに情報処理用プログラムを記録した記録媒体 |
JP2000010938A (ja) * | 1998-06-17 | 2000-01-14 | Toshiba Corp | エージェント管理方法ならびにエージェントシステム及び同方法がプログラムされ記録される記録媒体 |
Non-Patent Citations (6)
Title |
---|
CSNG200001194004; 加瀬 直樹: 'ITSにおけるエージェント技術' 情報処理学会高度道路交通システム研究グループ研究報告 第99巻,第ITS-1号, 19990305, p.21-27, 社団法人情報処理学会 * |
CSNG200100723013; Hendro Subagyo: 'ディレクトリサービスによる移動エージェントに対する環境情報支援(2000-OS-83)' 情報処理学会研究報告 第2000巻,第21号, 20000225, p.73-78, 社団法人情報処理学会 Information Processing Socie * |
CSNH200100113006; 大須賀 昭彦: 'ITS(高度道路交通システム) 21世紀のフロンティアへの扉を開き始めたITS ITS(Intelligent Tran' 東芝レビュー 第55巻,第1号, 20000101, p.24-28, 株式会社東芝 * |
JPN6012020139; Hendro Subagyo: 'ディレクトリサービスによる移動エージェントに対する環境情報支援(2000-OS-83)' 情報処理学会研究報告 第2000巻,第21号, 20000225, p.73-78, 社団法人情報処理学会 Information Processing Socie * |
JPN6012020140; 大須賀 昭彦: 'ITS(高度道路交通システム) 21世紀のフロンティアへの扉を開き始めたITS ITS(Intelligent Tran' 東芝レビュー 第55巻,第1号, 20000101, p.24-28, 株式会社東芝 * |
JPN6012020141; 加瀬 直樹: 'ITSにおけるエージェント技術' 情報処理学会高度道路交通システム研究グループ研究報告 第99巻,第ITS-1号, 19990305, p.21-27, 社団法人情報処理学会 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013513353A (ja) * | 2009-12-03 | 2013-04-18 | エー123 システムズ, インコーポレイテッド | グリッド負荷同期デバイスおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1315094A1 (en) | 2003-05-28 |
EP1967961A2 (en) | 2008-09-10 |
EP1967961A3 (en) | 2008-09-17 |
CN100452013C (zh) | 2009-01-14 |
CN1466720A (zh) | 2004-01-07 |
US20030135541A1 (en) | 2003-07-17 |
JP2009187567A (ja) | 2009-08-20 |
WO2002010938A1 (fr) | 2002-02-07 |
US20070088777A1 (en) | 2007-04-19 |
KR20030019643A (ko) | 2003-03-06 |
CN101309168A (zh) | 2008-11-19 |
KR100516794B1 (ko) | 2005-09-26 |
EP1315094A4 (en) | 2006-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009187568A (ja) | エージェントシステム | |
Tindell et al. | Holistic schedulability analysis for distributed hard real-time systems | |
US8443377B2 (en) | Parallel processing system running an OS for single processors and method thereof | |
US7549151B2 (en) | Fast and memory protected asynchronous message scheme in a multi-process and multi-thread environment | |
EP2085882A1 (en) | Multiprocessor system, system configuration method in multiprocessor system, and program thereof | |
US8601166B2 (en) | Information processing system and information processing method for generating distribution and synchronization rules in a client/server environment based on operation environment data | |
CA2408525A1 (en) | Communication handling in integrated modular avionics | |
CN107797848B (zh) | 进程调度方法、装置和主机设备 | |
US20170031739A1 (en) | Protocol for communication of data structures | |
US8281051B2 (en) | Method and device for determining time in a bus system and corresponding bus system | |
CN111600812B (zh) | 一种报文的处理方法、处理装置、可读介质和系统 | |
Black et al. | Explicit network scheduling | |
CN109445959A (zh) | 一种传感器数据处理实时操作系统 | |
US11455185B2 (en) | Service schedule optimization for background execution limits | |
Serra et al. | An architecture for declarative real-time scheduling on Linux | |
US20200125510A1 (en) | Method for handling kernel service request for interrupt routines in multi-core environment and electronic device thereof | |
CN109343976A (zh) | 一种单任务实时消息传递操作系统 | |
Sager et al. | System 75: The Oryx/Pecos Operating System | |
Chen et al. | Research on client/server communication mechanism in autosar system | |
Marques | Embedded OS for Kallisto | |
Zuberi | Real-time operating system services for networked embedded systems | |
Ramdhany et al. | Towards the Coexistence of Divergent Applications on Smart City Sensing Infrastructure. | |
JP2005084707A (ja) | 情報処理装置および情報処理プログラム | |
CN110069326A (zh) | 一种红黑树定时器管理实时操作系统 | |
Anderson et al. | The DASH Local Kernel Structure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120424 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120821 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121211 |