JP4791846B2 - Mobile agent movement acceleration method, mobile agent movement acceleration system - Google Patents

Mobile agent movement acceleration method, mobile agent movement acceleration system Download PDF

Info

Publication number
JP4791846B2
JP4791846B2 JP2006042798A JP2006042798A JP4791846B2 JP 4791846 B2 JP4791846 B2 JP 4791846B2 JP 2006042798 A JP2006042798 A JP 2006042798A JP 2006042798 A JP2006042798 A JP 2006042798A JP 4791846 B2 JP4791846 B2 JP 4791846B2
Authority
JP
Japan
Prior art keywords
agent
processing
mobile
mobile agent
receiving
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
JP2006042798A
Other languages
Japanese (ja)
Other versions
JP2006260549A (en
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 JP2006042798A priority Critical patent/JP4791846B2/en
Publication of JP2006260549A publication Critical patent/JP2006260549A/en
Application granted granted Critical
Publication of JP4791846B2 publication Critical patent/JP4791846B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、モバイルエージェント移動の高速化方法、モバイルエージェントの移動の高速化システム及び移動高速化モバイルエージェントによる事故区間分離処理方法に関する。さらに詳述すると、本発明は、例えば需要地系統の監視制御にて求められる高速な処理を実現するための情報通信処理手法の改良に関する。   The present invention relates to a mobile agent movement speed-up method, a mobile agent movement speed-up system, and an accident section separation processing method by a mobile speed-up mobile agent. More specifically, the present invention relates to an improvement in an information communication processing method for realizing high-speed processing required in, for example, monitoring control of a demand point system.

数多くの分散型電源が連系することを可能とし、かつ、電気の品質を維持できるような次世代の配電系統として需要地系統の開発が取り組まれている。ここでいう需要地系統とは、電力需要地に近い場所で発電を実施し電力を供給するためのシステムのことで、この需要地系統を監視制御するにあたっては、少ない計算資源で多様な処理の実現を可能とするためにモバイルエージェントをベースとしたシステムの適用の検討がなされている。   Development of a demand point system is underway as a next-generation power distribution system that enables a large number of distributed power sources to be connected and can maintain the quality of electricity. The demand area system mentioned here is a system for generating power and supplying power in a place close to the power demand area. When this demand area system is monitored and controlled, various processing can be performed with less computational resources. In order to realize this, application of a system based on a mobile agent has been studied.

ところが、モバイルエージェントはプログラムとデータが一体となって移動するものであるため、使い方によっては通常の分散システムよりも処理時間が長くなる場合がある。また、需要地系統の監視制御システムにおいては多種多様な機能を実現することから、それぞれの機能が要求する通信及び処理の品質(QoS:Quality of Service)を実現する必要がある。例えばこれまでに、多様な機能をその要求に応じて三種類のエージェントにて実現し、異なるQoSを実現するという方法が提案されている(例えば非特許文献1参照)。尚、本明細書中において「移動」とは、エージェントが送信側装置において移動を命令した直後から受信側装置においてエージェントが有する具体的な処理を開始する直前までを指す。   However, since a mobile agent moves as a program and data together, the processing time may be longer than that of a normal distributed system depending on how it is used. In addition, since a variety of functions are realized in the demand control system, it is necessary to realize the quality of communication (QoS: Quality of Service) required by each function. For example, a method has been proposed so far in which various functions are realized by three types of agents according to the request and different QoS is realized (for example, see Non-Patent Document 1). In the present specification, “move” refers to a period from immediately after an agent commands movement at the transmission side device to immediately before starting a specific process of the agent at the reception side device.

また、具体的には、従来、需要地系統の監視制御向けに開発が進められているモバイルエージェント(Mobile Agents For Demand Area Power System、略してMAFDAPSという)におけるQoS制御においては、移動後復元されたエージェントが受信側装置101において起動されることによって処理を開始するようになっており、この際、エージェントのためのスレッドを実現するThreadオブジェクトの生成がJava(登録商標)仮想機械において自動的に行われるようになっている(図32参照)。   Specifically, the QoS control in the mobile agent (Mobile Agents For Demand Area Power System, abbreviated as MAFDAPS), which has been developed for monitoring and control of the demand point system, has been restored after moving. The processing is started when the agent is activated in the receiving apparatus 101. At this time, generation of a Thread object for realizing a thread for the agent is automatically performed in the Java (registered trademark) virtual machine. (See FIG. 32).

大谷哲夫、「次世代配電系統監視制御用モバイルエージェントの構成とQoS制御方式」、電気学会電子・情報・システム部門誌、2004年、Vol.124-C、No.3、pp.921-928Tetsuo Otani, “Configuration and QoS Control Method of Mobile Agent for Next Generation Distribution System Monitoring and Control”, IEEJ Electronics, Information and Systems, 2004, Vol.124-C, No.3, pp.921-928

しかしながら、最も高いQoSが求められるモバイルエージェントは地絡事故時の区間分離などに用いられることから現状よりもさらに高速な処理の実現が求められており、この高速処理の実現が課題となっている。   However, since mobile agents that require the highest QoS are used for section separation in the event of a ground fault, realization of higher-speed processing is required, and realization of this high-speed processing is an issue. .

すなわち、一般に、分散システムのサーバにおいては、複数の処理を並行して行うためにソフトウェアの実行単位であるスレッドを複数設定することになる。ところが、スレッドの生成及び消去には時間的なコストがかかるため、例えばWebサーバのようにどのタイミングでどのような要求が来るか予測がつきにくいシステムにおいては、処理が終了したスレッドを消去せずに保持しておき、次の処理要求が発生した段階で再利用する「スレッドプーリング」によって処理時間を短縮する方法が採用される場合がある。しかしながら、Webサーバであればプログラムはサーバ自体に予めインストールされているので、元々サーバにインストールされたプログラムをスレッドプーリングに用いれば良いのに対し、モバイルエージェントシステムはプログラムとデータが一体となって移動するものであるので、受信側装置はプログラムを有しておらず、Webサーバにスレッドプーリングを適用するのと同様にスレッドプーリングを適用することはできないという問題がある。   That is, generally, in a server of a distributed system, a plurality of threads, which are software execution units, are set in order to perform a plurality of processes in parallel. However, since it takes time to generate and delete threads, for example, in a system where it is difficult to predict what request will come at what timing, such as a Web server, a thread that has finished processing is not deleted. In some cases, a method of shortening the processing time by “thread pooling” that is stored in the process and reused when the next processing request occurs may be adopted. However, in the case of a Web server, since the program is preinstalled in the server itself, the program originally installed in the server may be used for thread pooling, whereas in the mobile agent system, the program and data move together. Therefore, the receiving side device does not have a program, and there is a problem that thread pooling cannot be applied in the same way as thread pooling is applied to a Web server.

また、モバイルエージェント技術においても、処理の途中に移動し、中断した状態から移動後に再開することが可能なストロングマイグレーション(strong migration)と呼ばれる手法においてはスレッドの扱い方に関する研究が進められている。しかし、移動後に改めて処理を開始するというもう一方のウィークマイグレーション(weak migration)と呼ばれる手法は、例えばAgletsをはじめとして様々なモバイルエージェントシステムにおいて採用されてはいるが、一般にモバイルエージェント技術では移動経路の最適化に研究の重点が置かれており、モバイルエージェントの1回の移動時間をミリ秒単位で削減し処理の高速化を図るようなシステム設計は困難である。このため、スレッドプーリングを用いた処理の高速化の試みは見当たらないというのが現状であり、この手法の分野における高速処理の実現が望まれている。 Also in mobile agent technology, research is being conducted on how to handle threads in a technique called strong migration that can be moved in the middle of processing and resumed after moving from a suspended state. However, another method called weak migration, which starts processing again after moving, has been adopted in various mobile agent systems such as Aglets. Research is focused on optimization, and it is difficult to design a system that speeds up processing by reducing the mobile agent's travel time in milliseconds. For this reason, there is currently no attempt to increase the processing speed using thread pooling, and realization of high-speed processing in the field of this technique is desired.

そこで、本発明は、需要地系統の監視制御にて求められる高速な処理を実現するべく、モバイルエージェントの移動及び処理速度を高速化することが可能なモバイルエージェント移動の高速化方法、モバイルエージェントの移動の高速化システム及び移動高速化モバイルエージェントによる事故区間分離処理方法を提供することを目的とする。   Therefore, the present invention provides a mobile agent movement speed-up method capable of speeding up the movement and processing speed of a mobile agent in order to realize high-speed processing required in monitoring control of a demand point system, It is an object of the present invention to provide an accident section separation processing method by a moving speed-up system and a moving speed-up mobile agent.

かかる目的を達成するため、請求項1に記載のモバイルエージェント移動の高速化方法は、送信側装置と受信側装置が通信網を介して相互に接続されたモバイルエージェントシステムにおけるモバイルエージェントの移動方法において、モバイルエージェントは優先度に応じて分類されていると共に受信側装置はモバイルエージェントのうち優先度が最も高いモバイルエージェントを受信する緊急処理用受信部を有し、送信側装置は受信側装置の緊急処理用受信部に対する仮想的な回線であるコネクションを保持するコネクション保持部を有し、受信側装置がスレッドを有する待機エージェントを予め生成して待機させておき、優先度が最も高いモバイルエージェントが送信側装置から受信側装置へ移動する場合には当該優先度が最も高いモバイルエージェントが送信側装置のコネクション保持部から受信側装置の緊急処理用受信部へのコネクションを管理するオブジェクトを得ると共に当該オブジェクトを利用して受信側装置へと移動し、当該受信側装置、送信側装置から優先度が最も高いモバイルエージェントを緊急処理用受信部により受信したときに、待機エージェントと優先度が最も高いモバイルエージェントが有する処理内容オブジェクトを関連づけ、当該処理内容オブジェクトを関連づけられた待機エージェントのスレッドを起動するようにしている。 To achieve the above object, the fast method of mobile agent migration of claim 1, the moving method of mobile agents in mobile agent system the transmission side apparatus and the receiving-side apparatus are connected to each other via a communication network The mobile agent is classified according to the priority , and the receiving side device has an emergency processing receiving unit for receiving the mobile agent with the highest priority among the mobile agents, and the transmitting side device is the receiving side device. has a connection holding portion for holding the connection is a virtual circuit for the emergency processing receiving unit, the standby agent receiving device to have a thread allowed to stand to produce Me pre, the highest priority mobile The highest priority when the agent moves from the sending device to the receiving device Vile agent moves to the receiving device by using the object with obtaining an object that manages the connection to the emergency processing receiver of the receiving apparatus from the connection holding section of the transmitting device, the said receiving device, when received by the emergency processing receiver the highest mobile agent priority from the sending device, associating the processing content objects priority and waiting agent has the highest mobile agent, associated with the processing content objects The standby agent thread is started.

また、請求項に記載のモバイルエージェント移動の高速化システムは、送信側装置と受信側装置が通信網を介して相互に接続されたモバイルエージェントシステムにおいて、モバイルエージェントは優先度に応じて分類されており、受信側装置はモバイルエージェントのうち優先度が最も高いモバイルエージェントを受信する緊急処理用受信部を有し、送信側装置は受信側装置の緊急処理用受信部に対する仮想的な回線であるコネクションを保持するコネクション保持部を有し、受信側装置がスレッドを有する待機エージェントを生成して待機させ、優先度が最も高いモバイルエージェントが送信側装置から受信側装置へ移動する場合には当該優先度が最も高いモバイルエージェントが送信側装置のコネクション保持部から受信側装置の緊急処理用受信部へのコネクションを管理するオブジェクトを得ると共に当該オブジェクトを利用して受信側装置へと移動し、当該受信側装置が、送信側装置から優先度が最も高いモバイルエージェントを緊急処理用受信部により受信したときに、待機エージェントと優先度が最も高いモバイルエージェントが有する処理内容オブジェクトを関連づけ、当該処理内容オブジェクトを関連づけられた待機エージェントのスレッドを起動するものである。 Also, high-speed system of mobile agents movement according to claim 4, in a mobile agent system the transmission side apparatus and the receiving-side apparatus are connected to each other via a communication network, the mobile agent according to the priority classification The receiving side device has an emergency processing receiving unit that receives the mobile agent having the highest priority among the mobile agents , and the transmitting side device is a virtual line to the emergency processing receiving unit of the receiving side device. It has a connection holder for holding a certain connection, if the receiving device is waiting to generate a waiting agent to have a thread, most mobile agent priority moves from the sending device to the receiving device The mobile agent with the highest priority is sent from the connection holding unit of the sending device to the receiving device. Obtain an object that manages the connection to the emergency processing receiver, move to the receiving device using the object, and the receiving device uses the mobile agent with the highest priority from the transmitting device for emergency processing. when received by the receiving unit, it associates the processing content objects priority and waiting agent has the highest mobile agent, is intended to start the threads waiting agent associated with the processing content objects.

したがって、具体的な処理内容オブジェクトを有しないがスレッドを有する待機エージェントを予めインスタンス化して待機させておき、移動してきたモバイルエージェントが有する具体的な処理内容オブジェクトを、待機エージェントに関連づけて実行している。したがって、エージェントごとにスレッドを作成する必要がないため、処理の高速化を図ることができる。このモバイルエージェント移動の高速化方法においては、また、処理が終了したスレッド(ソフトウェアの実行単位)を消去せずに保持しておき、次の処理要求が発生した段階で再利用するというスレッドプーリングを利用しており、優先度が最高ではないエージェント(迅速処理エージェント及び平常処理エージェント)に対しては従来と同様に移動したエージェントごとに受信側装置にてスレッドを生成することによって対応・処理する一方で、優先度が最も高いエージェント(緊急処理エージェント)に対してはこのスレッドプーリングを利用した高速処理を実行する。すなわち、各種スレッドを有する複数の緊急処理用待機エージェントを予め待機させておき、緊急処理モバイルエージェントが移動してきたならば、復元させた後、緊急処理用待機エージェントの中から一つを抽出し、抽出したエージェントに復元後のモバイルエージェントの処理内容オブジェクトを関連づける。その後、関連づけられた処理内容オブジェクトに対して処理再開指令を出して当該処理を実行する。実行を終えた緊急処理用被抽出エージェントは、処理内容オブジェクトは廃棄するが、もともと保有していたスレッドは廃棄することなく保持したままで元の待機状態に戻る。したがって、緊急処理モバイルエージェントが何時移動してくるかにかかわらず、複数の緊急処理用待機エージェントが常にスタンバイしていることにより複数のスレッドが準備されているということができる。従来のモバイルエージェントシステムやその処理手法であれば緊急処理エージェントごとにスレッドを作成しなければならず、CPUで計算を行ったり、メモリ空間を使ったりして処理に時間を要していたが、スレッドプーリングによってスレッド作成を省略できる本発明の手法によれば処理に要する時間を短縮することが可能となる。また、例えば従来のエージェントシステムならばモバイルエージェントが移動先にてインスタンス生成、即ち、Java(登録商標)仮想機械(Java(登録商標)VM)上に呼び出されてインスタンス化される必要があったが、本発明ではスレッドに関して予めインスタンスが生成されている点で従来システムないし処理方法とは異なる。 Therefore, a standby agent that does not have a specific processing content object but has a thread is instantiated in advance, and the specific processing content object that the mobile agent that has moved is associated with the standby agent and executed. Yes. Therefore, since it is not necessary to create a thread for each agent, the processing speed can be increased. In this method of speeding up mobile agent migration, thread pooling is also used in which a thread (software execution unit) that has been processed is retained without being erased and reused when the next processing request occurs. For agents that are used and whose priority is not the highest (rapid processing agent and normal processing agent), respond and process by creating a thread on the receiving device for each agent that has moved as before Therefore, high-speed processing using this thread pooling is executed for the agent with the highest priority (emergency processing agent). That is, a plurality of emergency processing standby agents having various threads are made to wait in advance, and if the emergency processing mobile agent has moved, after restoration, one is extracted from the emergency processing standby agents, Associate the restored mobile agent processing content object with the extracted agent. Thereafter, a process resumption command is issued to the associated process content object to execute the process. The extracted agent for emergency processing that has finished executing discards the processing content object, but returns to the original standby state while retaining the originally retained thread without discarding it. Therefore, regardless of when the emergency processing mobile agent moves, it can be said that a plurality of threads are prepared by the standby agents for emergency processing always standing by. In the case of the conventional mobile agent system and its processing method, it is necessary to create a thread for each emergency processing agent, and it takes time for processing by calculating with a CPU or using a memory space. According to the method of the present invention in which thread creation can be omitted by thread pooling, it is possible to reduce the time required for processing. Further, for example, in the case of a conventional agent system, a mobile agent needs to be instantiated at a movement destination, that is, called on a Java (registered trademark) virtual machine (Java (registered trademark) VM) to be instantiated. The present invention is different from the conventional system or processing method in that an instance is generated in advance for a thread.

また、請求項2に記載の発明は、請求項1に記載のモバイルエージェント移動の高速化方法において、受信側装置が、待機エージェントに関連づけられた優先度が最も高いモバイルエージェントの処理内容を実行後、更に、当該待機エージェントに関連づけられた処理内容オブジェクトを廃棄し、当該待機エージェントを生成時の状態に戻すようにしている。 Further, the invention according to claim 2 is the mobile agent movement speed-up method according to claim 1, wherein the receiving side apparatus executes the processing contents of the mobile agent having the highest priority associated with the standby agent. further, discarding the processing content object associated with the standby agent, it is returned to the state at the time of generating the standby agent.

また、請求項に記載の発明は、請求項に記載のモバイルエージェント移動の高速化システムにおいて、受信側装置が、待機エージェントに関連づけられた優先度が最も高いモバイルエージェントの処理内容を実行後、更に、当該待機エージェントに関連づけられた処理内容オブジェクトを廃棄し、当該待機エージェントを生成時の状態に戻すものである。 The invention described in Claim 5 is the mobile agent moves faster system of claim 4, the receiving side apparatus, after executing the processing of the highest mobile agent priority associated with waiting agent further, discarding the processing content object associated with the standby agent, it is intended to return to the state at the time of generating the standby agent.

したがって、待機エージェントは、具体的な処理内容の実行終了後、処理内容オブジェクトを廃棄し、具体的な処理内容オブジェクトを有しないがスレッドを有する生成時の状態に戻り、再び待機状態となる。よって、次のエージェントの移動時にも同様に処理を行うことが可能となる、即ち待機エージェントが有するスレッドは繰り返し利用される。   Therefore, the standby agent discards the processing content object after the execution of the specific processing content, returns to the generation state that does not have the specific processing content object but has the thread, and enters the standby state again. Therefore, the same processing can be performed when the next agent moves, that is, the thread of the standby agent is repeatedly used.

また、請求項3に記載の発明は、請求項1または2のいずれかに記載のモバイルエージェント移動の高速化方法において、待機エージェントを複数生成し、受信側装置に待機させておくようにしている。したがって、複数の待機エージェントを待機させることにより、モバイルエージェントが複数移動した場合においても、エージェントごとにスレッドを作成する必要がないため、処理の高速化を図ることができる。   The invention according to claim 3 is the mobile agent movement speed-up method according to claim 1 or 2, wherein a plurality of standby agents are generated and the reception side apparatus is made to wait. . Therefore, by waiting a plurality of waiting agents, even when a plurality of mobile agents move, it is not necessary to create a thread for each agent, so that the processing speed can be increased.

以上説明したように、本発明にかかるモバイルエージェント移動の高速化方法及びモバイルエージェント移動の高速化システムによれば、スレッドをインスタンス化した状態で待機させておくことにより、エージェントごとにスレッドを作成する必要がないため、スレッドの生成及び消去にかかる時間的なコストを削減することができ、モバイルエージェントの高速処理ひいては高速移動が可能となる。本発明にかかるモバイルエージェントの移動の高速化方法によると、さらに、ウィークマイグレーションと呼ばれる手法においてスレッドプーリングを用いた高速化が実現し、これによってスレッドの生成及び消去にかかる時間的なコストを削減することができるためモバイルエージェントの高速処理ひいては高速移動が可能となる。 As described above, according to the mobile agent movement acceleration method and mobile agent movement acceleration system according to the present invention, a thread is created for each agent by waiting in a state in which the thread is instantiated. Since it is not necessary, it is possible to reduce the time cost for creating and erasing threads, and the mobile agent can perform high-speed processing and thus high-speed movement. According to the method for speeding up movement of a mobile agent according to the present invention, speedup using thread pooling is realized in a technique called weak migration, thereby reducing the time cost for thread generation and deletion. Therefore, the mobile agent can perform high-speed processing and thus high-speed movement.

更に、請求項2に記載のモバイルエージェント移動の高速化方法及び請求項に記載のモバイルエージェント移動の高速化システムによれば、待機エージェントが有するスレッドは再利用することができ、スレッドの生成及び消去にかかる時間的なコストを削減することができる。したがって、モバイルエージェントの高速処理ひいては高速移動が可能となる。 Furthermore, according to the method for speeding up mobile agent movement according to claim 2 and the system for speeding up mobile agent movement according to claim 5 , the thread of the standby agent can be reused, The time cost for erasing can be reduced. Therefore, high-speed processing of the mobile agent and thus high-speed movement are possible.

更に、請求項3に記載のモバイルエージェント移動の高速化方法よれば、モバイルエージェントが複数移動した場合においても、エージェントごとにスレッドを作成する必要がないため、スレッドの生成及び消去にかかる時間的なコストを削減することができ、モバイルエージェントの高速処理ひいては高速移動が可能となる。   Furthermore, according to the method for speeding up mobile agent movement according to claim 3, it is not necessary to create a thread for each agent even when a plurality of mobile agents move. Costs can be reduced, and high-speed processing of the mobile agent and thus high-speed movement are possible.

以下、本発明の構成を図面に示す実施の形態に基づいて詳細に説明する。   Hereinafter, the configuration of the present invention will be described in detail based on embodiments shown in the drawings.

図1〜図14に本発明の一実施形態を示す。本発明にかかるモバイルエージェント移動の高速化方法は、送信側装置1と受信側装置3が通信網2を介して相互に接続されたモバイルエージェントシステムにおけるモバイルエージェントの移動方法において、スレッドを有し、かつ処理内容オブジェクトを有しない待機エージェントを受信側装置に予め生成して待機させておき、受信側装置は、送信側装置からモバイルエージェントを受信したときに、待機エージェントとモバイルエージェントが有する処理内容オブジェクトを関連づけ、当該処理内容オブジェクトを関連づけられた待機エージェントを起動するようにしている。即ち、アプリケーションが有する処理はエージェント本体とは異なるオブジェクトとして記述し、モバイルエージェントが受信側装置3に移動した後、待機中の待機エージェントにその処理内容を関連づけ、待機中であったエージェントを起動することにより、見かけ上はモバイルエージェントが、移動後そのまま処理を開始するように動作するものである。尚、待機エージェントは一つであっても良いが、複数の処理内容を連続して実行することができるので、予め複数待機させておくことが好ましい。   1 to 14 show an embodiment of the present invention. The mobile agent moving speed-up method according to the present invention includes a thread in the mobile agent moving method in the mobile agent system in which the transmission side device 1 and the reception side device 3 are connected to each other via the communication network 2. In addition, a standby agent that does not have a processing content object is generated in advance on the receiving side device and waits, and when the receiving side device receives the mobile agent from the transmitting side device, the processing content object that the standby agent and the mobile agent have And the standby agent associated with the processing content object is activated. That is, the processing of the application is described as an object different from the agent main body, and after the mobile agent moves to the receiving side device 3, the processing content is associated with the standby agent waiting, and the agent waiting is started. Thus, the mobile agent apparently operates so as to start the process as it is after the movement. The number of waiting agents may be one, but it is preferable to wait in advance because a plurality of processing contents can be executed continuously.

以下、本発明の実施形態として、需要地系統向けモバイルエージェントシステムに適用した場合の概要と、スレッドプーリングの実現方法について説明する。以下、待機エージェントのうち、緊急処理用受信部3aによって抽出される前の待機中のものを待機中のエージェントといい、抽出され実行状態のものを被抽出エージェントという。   Hereinafter, as an embodiment of the present invention, an outline when applied to a mobile agent system for a demand point system and a method for realizing thread pooling will be described. Hereinafter, among the waiting agents, the waiting agents before being extracted by the emergency processing receiving unit 3a are referred to as waiting agents, and the extracted agents that are in an execution state are referred to as extracted agents.

まず、本実施形態におけるモバイルエージェントシステムの概要についてであるが、ここでは、需要地系統の監視制御向けに開発が進められているモバイルエージェント(MAFDAPS)におけるQoS制御の概要を述べた上で、MAFDAPSに対するスレッドプーリングの組み込みの内容について示す。尚、本発明のモバイルエージェント移動の高速化方法はMAFDAPSに限らず、他のモバイルエージェントシステムに適用することが可能であることは勿論である。   First, the outline of the mobile agent system according to the present embodiment will be described. Here, the outline of the QoS control in the mobile agent (MAFDAPS) being developed for the monitoring control of the demand point system is described, and then MAFDAPS. The contents of thread pooling built-in for are shown. Of course, the mobile agent movement speed-up method of the present invention is not limited to MAFDAPS, but can be applied to other mobile agent systems.

本実施形態において、モバイルエージェント移動の高速化方法は、緊急処理モバイルエージェント(以下に示す実施形態においては緊急処理エージェントとも呼ぶことがある)を受信側装置3の緊急処理用受信部(図中では「受信部(緊急処理用)」と表示している)3aにて受信後、当該緊急処理モバイルエージェントの処理内容オブジェクトに基づき緊急処理を進める際、この緊急処理モバイルエージェントの移動速度を高速化することによって緊急処理に要する時間を短縮するための手法であり、本実施形態では、スレッドを有する複数の緊急処理用待機エージェントを受信側装置3内に予め待機させておき、緊急処理モバイルエージェントが緊急処理用受信部3aへと移動したらこの緊急処理モバイルエージェントを復元させ、緊急処理用受信部3aによって複数の緊急処理用待機エージェントの中の一つを抽出し、さらに緊急処理用受信部3aによって復元後の緊急処理モバイルエージェントの処理内容オブジェクトを抽出された緊急処理用被抽出エージェントに関連づけ、その後、緊急処理用受信部3aからこの緊急処理用被抽出エージェントに対して処理再開指令を出すことにより緊急処理モバイルエージェントの処理内容オブジェクトの実行を開始し、この処理内容オブジェクトの実行終了後、緊急処理用被抽出エージェントに関連づけられた処理内容オブジェクトを廃棄させてから緊急処理用受信部3aに対して処理終了を通知させ、当該緊急処理用被抽出エージェントが有しているスレッドは消去せず保持させたまま当初の待機状態に戻らせて次の処理要求が発生した段階で当該スレッドを再利用することとしている。   In the present embodiment, a method for speeding up mobile agent movement is an emergency processing mobile agent (also referred to as an emergency processing agent in the following embodiment) that receives an emergency processing reception unit (in the figure, a receiving unit for emergency processing). When the emergency process is advanced based on the processing content object of the emergency processing mobile agent after receiving at 3a (displayed as “receiving unit (for emergency processing)”), the moving speed of the emergency processing mobile agent is increased. In this embodiment, a plurality of emergency processing standby agents having threads are made to wait in advance in the receiving side device 3 so that the emergency processing mobile agent can execute the emergency processing. When moving to the processing receiver 3a, restore this emergency processing mobile agent, One of a plurality of standby agents for emergency processing is extracted by the logical receiving unit 3a, and the processing content object of the emergency processing mobile agent after restoration is extracted by the emergency processing receiving unit 3a. Then, the execution of the processing content object of the emergency processing mobile agent is started by issuing a processing resumption command to the extracted agent for emergency processing from the emergency processing receiving unit 3a. After the completion, the processing content object associated with the emergency processing extraction agent is discarded, the emergency processing receiving unit 3a is notified of the end of the processing, and the thread included in the emergency processing extraction agent is The next processing request can be returned to the original standby state without being erased. It is set to the reuse of the thread without stages.

MAFDAPSでは、モバイルエージェントを優先度に応じて以下の三種類に分類する。
(1)緊急処理エージェント:優先度高
(2)迅速処理エージェント:優先度中
(3)平常処理エージェント:優先度低
あわせて、エージェントが移動後最初に到着する受信部についても、緊急処理用と通常処理用とを用意し、それぞれ高優先度及び中優先度を割り当てる(なお、図1中では符号3bで通常処理用の受信部を示している)。尚、本実施形態では、緊急処理用受信部3aの優先度は緊急処理エージェントと同一に、通常処理用受信部3bの優先度は迅速処理エージェントと同一に設定することとしているが、これに限られるものではなく、任意に優先度を設定しても良い。
In MAFDAPS, mobile agents are classified into the following three types according to priority.
(1) Emergency processing agent: High priority (2) Rapid processing agent: Medium priority (3) Normal processing agent: Low priority, and the receiver that first arrives after moving is also used for emergency processing. For normal processing, a high priority and a medium priority are assigned to each of them (in FIG. 1, reference numeral 3b indicates a receiving unit for normal processing). In the present embodiment, the priority of the emergency processing receiving unit 3a is set to be the same as that of the emergency processing agent, and the priority of the normal processing receiving unit 3b is set to be the same as that of the quick processing agent. The priority may be set arbitrarily.

本実施形態では、最も優先度の高い緊急処理エージェントのみにスレッドプーリングを適用している。この理由は、例えば緊急処理エージェントが処理を行う地絡発生時の事故区間分離処理や事故復旧処理においては、一つの装置上で同時に存在するエージェント数の予測が可能であり、かつその数は少ない点にある。これに対し、迅速処理エージェントや平常処理エージェントは様々な処理を行うものであり、一つの装置上で同時に存在するエージェントの数を予測することが困難である。例えば、一つの装置上に多数のスレッドを待機させる場合、使用するメモリ量が大きくなってしまい処理の迅速化を図れない場合が存在する。したがって、本実施形態では、迅速処理エージェントと平常処理エージェントについては、エージェント到着時にスレッドを生成している。しかしながら、本発明のモバイルエージェント移動の高速化方法を適用するのは、緊急処理エージェントに限られるものではない。例えば、実行する処理の内容が限られているような状況においては、迅速処理エージェント、平常処理エージェントに本発明のモバイルエージェント移動の高速化方法を適用しても良い。   In this embodiment, thread pooling is applied only to the emergency processing agent with the highest priority. This is because, for example, the number of agents that exist simultaneously on a single device can be predicted and the number is small in accident section separation processing and accident recovery processing when a ground fault occurs, which is handled by an emergency processing agent. In the point. On the other hand, rapid processing agents and normal processing agents perform various processes, and it is difficult to predict the number of agents that exist simultaneously on one device. For example, when a large number of threads are kept waiting on one apparatus, there is a case where the amount of memory used becomes large and the processing cannot be speeded up. Therefore, in this embodiment, for the quick processing agent and the normal processing agent, a thread is generated when the agent arrives. However, application of the mobile agent movement speed-up method of the present invention is not limited to the emergency processing agent. For example, in a situation where the content of processing to be executed is limited, the mobile agent movement speed-up method of the present invention may be applied to a rapid processing agent and a normal processing agent.

まず、MAFDAPSにおけるQoS制御の様子を図1に示す。符号1は送信側装置、2は通信網、3は受信側装置をそれぞれ示している。   First, the state of QoS control in MAFDAPS is shown in FIG. Reference numeral 1 denotes a transmission side device, 2 denotes a communication network, and 3 denotes a reception side device.

図12に受信側装置3の構成の一例を示す。受信側装置3は、ディスプレイ等の出力装置4と、キーボード、マウス等の入力装置5と、CPU6と、主記憶装置(RAM)7と、ハードディスク等の補助記憶装置8等により構成される。   FIG. 12 shows an example of the configuration of the reception side device 3. The receiving side device 3 includes an output device 4 such as a display, an input device 5 such as a keyboard and a mouse, a CPU 6, a main storage device (RAM) 7, an auxiliary storage device 8 such as a hard disk, and the like.

さらに、受信側装置3は、緊急処理用受信部3a及び通常処理用受信部3bと、スレッドを有する複数の緊急処理用待機エージェントを受信側装置内に予め待機させておく待機エージェント設定部11と、緊急処理モバイルエージェントを緊急処理用受信部に受信したらこの緊急処理モバイルエージェントを復元させるエージェント復元部12と、緊急処理用受信部3aによって複数の緊急処理用待機エージェントの中の一つを抽出するエージェント抽出部13と、エージェント復元部12により復元された復元後の緊急処理モバイルエージェントの処理内容オブジェクトをエージェント抽出部13により抽出された緊急処理用被抽出エージェントに関連づけるエージェント関連づけ部14と、緊急処理用受信部3aからこの緊急処理用被抽出エージェントに対して処理再開指令を出すことにより緊急処理モバイルエージェントの処理内容オブジェクトの実行を開始する実行開始部15と、この処理内容オブジェクトの実行終了後、緊急処理用被抽出エージェントに関連づけられた処理内容オブジェクトを廃棄させてから緊急処理用受信部3aに対して処理終了を通知させる処理終了通知部16と、当該緊急処理用被抽出エージェントが有しているスレッドは消去せず保持させたまま当初の待機状態に戻らせて次の処理要求が発生した段階で当該スレッドを再利用するスレッド再利用部17を有するものである。   Furthermore, the receiving side device 3 includes an emergency processing receiving unit 3a and a normal processing receiving unit 3b, and a standby agent setting unit 11 for waiting in advance in the receiving side device a plurality of emergency processing standby agents having threads. When the emergency processing mobile agent is received by the emergency processing receiving unit, the agent restoring unit 12 that restores the emergency processing mobile agent and the emergency processing receiving unit 3a extract one of a plurality of emergency processing standby agents. An agent extraction unit 13; an agent association unit 14 for associating a processing content object of the emergency processing mobile agent after restoration restored by the agent restoration unit 12 with an extracted agent for emergency processing extracted by the agent extraction unit 13; For emergency processing from the receiver 3a An execution start unit 15 that starts execution of the processing content object of the emergency processing mobile agent by issuing a processing restart command to the agent, and processing associated with the extracted agent for emergency processing after the execution of this processing content object The processing end notification unit 16 that notifies the emergency processing receiving unit 3a of the processing end after discarding the content object, and the thread included in the emergency processing extraction agent are retained without being erased. And a thread reuse unit 17 that reuses the thread when the next processing request is generated.

上記待機エージェント設定部11、エージェント復元部12、エージェント抽出部13、エージェント関連づけ部14、実行開始部15、処理終了通知部16及びスレッド再利用部17は、CPU6で実行されるソフトウェアとして構成でき、その実行の際に必要なデータは、RAM7にロードされる。尚、受信側装置3の構成はこれに限られるものではない。また、送信側装置1も受信側装置3と同様のハードウェア構成を備えるものである。また、受信側装置3が送信側装置1に、送信側装置1が受信側装置3にそれぞれなりうるのは勿論である。   The standby agent setting unit 11, the agent restoration unit 12, the agent extraction unit 13, the agent association unit 14, the execution start unit 15, the process end notification unit 16, and the thread reuse unit 17 can be configured as software executed by the CPU 6. Data necessary for the execution is loaded into the RAM 7. The configuration of the receiving side device 3 is not limited to this. The transmission side device 1 also has the same hardware configuration as the reception side device 3. Of course, the receiving side device 3 can be the transmitting side device 1, and the transmitting side device 1 can be the receiving side device 3, respectively.

上記のハードウェア資源は例えばバス9を通じて電気的に接続され、ネットワークI/F10を通じてWAN等の通信網2との通信を行うものである。尚、通信網2は一般的には有線通信網であるが、一部又は全部を無線通信網としても構わない。また、通信網2は、特に限られるものではなく、例えばインターネット等を利用しても良い。尚、本実施形態ではセション層プロトコルにJava(登録商標)RMI(Java Remote Method Invocation)、トランスポート層プロトコルにTCPを用いて通信を行うこととしているがこれに限られるものではない。   The hardware resources are electrically connected through, for example, the bus 9 and communicate with the communication network 2 such as a WAN through the network I / F 10. The communication network 2 is generally a wired communication network, but a part or all of the communication network 2 may be a wireless communication network. The communication network 2 is not particularly limited, and for example, the Internet may be used. In the present embodiment, communication is performed using Java (registered trademark) RMI (Java Remote Method Invocation) as the session layer protocol and TCP as the transport layer protocol, but the present invention is not limited to this.

次に、Java(登録商標)RMIによるコネクションの設定について説明する。尚、コネクションとはJava(登録商標)RMIによる仮想的な回線のことをいうものとする。Java(登録商標)RMIでは、図13に示すように、クライアントとサーバの間に予めコネクションを設定した上でメソッドの呼出し(S51)とそれに対応する応答(S52)が行われる。MAFDAPSにおいては、RMIクライアントは送信側装置1、RMIサーバは受信部にそれぞれ相当しているといえる。   Next, setting of a connection by Java (registered trademark) RMI will be described. Note that the connection means a virtual line based on Java (registered trademark) RMI. In Java (registered trademark) RMI, as shown in FIG. 13, a method call (S51) and a corresponding response (S52) are performed after a connection is set in advance between the client and the server. In MAFDAPS, it can be said that the RMI client corresponds to the transmission side device 1 and the RMI server corresponds to the reception unit.

MAFDAPSにおいては、緊急処理エージェント用のコネクションと、その他のエージェント用のコネクションについて以下のように設定する。本実施形態では、緊急処理エージェントは事故区間分離処理など用途が限定されているため受信側装置3はある程度特定されている場合が多い。したがって、送信側装置1にコネクション保持部18を設け、受信側装置3の緊急処理用受信部3aに対して、コネクションを常設する設定としている。   In MAFDAPS, an emergency processing agent connection and other agent connections are set as follows. In this embodiment, since the emergency processing agent has limited uses such as accident section separation processing, the receiving side device 3 is often specified to some extent. Therefore, the connection holding unit 18 is provided in the transmission-side device 1 and the connection is set to the emergency processing reception unit 3 a of the reception-side device 3.

図14にMAFDAPSにおけるコネクション設定の一例を示す。図14(a)は、緊急処理エージェントのコネクション設定例を示している。緊急処理エージェントが処理を開始し、移動する場合には、先ず受信側装置3のURLをコネクション保持部18に送り(S53)、緊急処理用受信部3aへのコネクションを管理するオブジェクトを得る(S54)。次に、緊急処理エージェントはこのオブジェクトを利用して受信側装置3へと移動する(S55)   FIG. 14 shows an example of connection setting in MAFDAPS. FIG. 14A shows a connection setting example of the emergency processing agent. When the emergency processing agent starts processing and moves, first, the URL of the receiving device 3 is sent to the connection holding unit 18 (S53), and an object for managing the connection to the emergency processing receiving unit 3a is obtained (S54). ). Next, the emergency processing agent moves to the receiving side apparatus 3 using this object (S55).

図14(b)は、迅速処理エージェントと平常処理エージェントのコネクション設定例を示している。迅速処理エージェント及び平常処理エージェントが移動する場合には、迅速処理エージェント及び平常処理エージェントは、移動先である受信側装置3のURLに基づいてrmiregistryと呼ばれるディレクトリサービスに対して問い合わせを行い(S56)、移動先となる通常処理用受信部3bの識別子を取得する(S57)。その後、取得した識別子に基づいて通常処理用受信部3bに対してコネクションを設定し(S58)、移動する(S59)。尚、rmiregistryはサーバの情報を登録するためのネームサーバであって、通常は送信側装置1及び受信側装置3とは別に構成される。したがって、rmiregistryへの問い合わせ処理(S56〜S57)の処理時間が増加する傾向にある上、コネクションをその都度設定する時間(S58)も増加する。これに対し、緊急処理エージェントにおいては、これらの処理を省略することで高速に処理する仕組みが備わっている。   FIG. 14B shows a connection setting example between the rapid processing agent and the normal processing agent. When the quick processing agent and the normal processing agent move, the quick processing agent and the normal processing agent make an inquiry to the directory service called rmiregistry based on the URL of the receiving side device 3 that is the moving destination (S56). Then, the identifier of the normal processing receiver 3b as the movement destination is acquired (S57). After that, a connection is set for the normal processing receiver 3b based on the acquired identifier (S58), and moved (S59). The rmiregistry is a name server for registering server information, and is normally configured separately from the transmission side device 1 and the reception side device 3. Therefore, the processing time of the inquiry processing (S56 to S57) to rmiregistry tends to increase, and the time (S58) for setting the connection each time also increases. On the other hand, the emergency processing agent has a mechanism for processing at high speed by omitting these processes.

尚、到着したエージェントが上記いずれのエージェントであるのかの判断は、エージェントを実現するオブジェクトクラスの型をみて判断される。これは、例えば緊急処理エージェントを実現するオブジェクトクラスと、より優先度の低いエージェントを実現するオブジェクトクラスは、それぞれ異なる型を持っていることから判断される。   It should be noted that the determination as to which agent has arrived is made by looking at the type of object class that implements the agent. This is determined, for example, because the object class that implements the emergency processing agent and the object class that implements the agent with lower priority have different types.

また、処理を実行中の(つまり活性化されている)エージェント及び受信部は、独自に処理を行うためのスレッドを有する。本実施形態ではJava(登録商標)VMにより優先度に基づいたスレッド処理が実現されている(図2参照)。例えば、優先度の最大値を10、最小値を1、通常値を5とし、値が大きいほど優先される仕組みとしたような場合、優先度の高いエージェントまたは受信部の処理は、優先度の低いエージェントまたは受信部の処理が行われている最中でも割り込んで開始される(図2参照)。また、同じ優先度のものに対してはCPUの占有時間を均等に割り当てる。例えば図2に示すスレッド処理の場合には、最も優先度の高いスレッドAの処理が最優先される一方で、優先度の低いスレッドCとスレッドDは処理は途中で割り込まれることによって適宜中断される。また、優先度が同じであるスレッドCとスレッドDは、CPUの占有時間が均等に割り当てられる結果、均等な時間ごとに区切られることとなる(図2参照)。   In addition, the agent and the receiving unit that are executing (that is, activated) the process have a thread for performing the process independently. In this embodiment, thread processing based on priority is realized by Java (registered trademark) VM (see FIG. 2). For example, when the maximum priority value is 10, the minimum value is 1, the normal value is 5, and a higher priority is given, the higher priority agent or the receiving unit processes the priority. The process is interrupted and started even during processing of a low agent or receiving unit (see FIG. 2). In addition, CPU occupancy time is equally allocated to those having the same priority. For example, in the case of the thread processing shown in FIG. 2, the processing of the thread A having the highest priority is given the highest priority, while the processing of the threads C and D having the lower priority is interrupted as appropriate by interrupting the processing. The Further, the thread C and the thread D having the same priority are divided at equal time intervals as a result of the CPU occupation time being equally allocated (see FIG. 2).

次に、スレッドプーリングの組み込みの内容について説明する。スレッドプーリングは、短い時間での処理完了を必要とする緊急処理エージェント及び緊急処理用受信部3aが関わるモバイルエージェントの移動に適用するものである。スレッドプーリングを用いた移動の概要を図3に示す。ここでは、スレッドを有する複数の緊急処理用待機エージェントが待機しており、これら緊急処理用待機エージェントの中の一つを使って処理内容オブジェクトに従った処理を進める。この際、緊急処理用待機エージェントのそれぞれが予め有しているスレッドを利用して処理を進めることができることから、処理の実行にあたってスレッドを作成する必要がないという点が特徴的である。   Next, the contents of thread pooling will be described. Thread pooling is applied to the movement of an emergency processing agent that requires completion of processing in a short time and a mobile agent related to the emergency processing receiving unit 3a. An outline of movement using thread pooling is shown in FIG. Here, a plurality of emergency processing standby agents having threads are waiting, and the processing according to the processing content object is advanced using one of these emergency processing standby agents. In this case, each of the emergency processing standby agents can advance the process by using a thread that is held in advance, and therefore, it is characteristic that it is not necessary to create a thread for executing the process.

一方、既述のように、従来のMAFDAPSにおいては移動後に復元されたエージェントが受信側装置3において起動されることによって処理を開始するようになっており、この復元の際、エージェントのためのスレッドを実現するThreadオブジェクトの生成がJava(登録商標)VMにおいて自動的に行われる。つまり、緊急処理用のインスタンスを作り出すたびにスレッドを作成する必要があったわけだが、これに対し、スレッドプーリングを組み込んだ本実施形態のMAFDAPSにおいては、上述したようにスレッドを有する緊急処理エージェントが複数待機状態で待機している(図3参照)。ここで、ある緊急処理エージェント(図3ではエージェントA)が緊急処理用受信部3aまで移動し(ステップA)、緊急処理用受信部3aにて復元されると(ステップB)、当該緊急処理用受信部3aが待機中の緊急処理エージェントの中から一つ例えば図3でいえばエージェントBを選び出す(ステップCの抽出)。次に緊急処理用受信部3aが、エージェントAの処理内容(処理内容を表すオブジェクト)をエージェントBに関連づけ(ステップD)、その後、エージェントBに対して処理再開指令を出すことにより(ステップE)、移動してきた処理内容の実行が開始される。また、エージェントBは、処理内容がすべて終了すると、処理内容を表すオブジェクトを廃棄した後、緊急処理用受信部3aに処理終了を通知して待機状態に戻る。   On the other hand, as described above, in the conventional MAFDAPS, the agent restored after movement is started in the receiving side device 3 to start processing, and at the time of this restoration, a thread for the agent The Thread object that realizes the above is automatically generated in the Java (registered trademark) VM. In other words, it is necessary to create a thread every time an instance for emergency processing is created. On the other hand, in the MAFDAPS of the present embodiment in which thread pooling is incorporated, there are a plurality of emergency processing agents having threads as described above. Waiting in a standby state (see FIG. 3). When an emergency processing agent (agent A in FIG. 3) moves to the emergency processing receiver 3a (step A) and is restored by the emergency processing receiver 3a (step B), the emergency processing agent The receiving unit 3a selects one of the emergency processing agents on standby, for example, Agent B in FIG. 3 (extraction of Step C). Next, the emergency processing receiver 3a associates the processing content of Agent A (an object representing the processing content) with Agent B (Step D), and then issues a processing resumption command to Agent B (Step E). Then, execution of the processing content that has moved is started. Further, when all the processing contents are completed, the agent B discards the object representing the processing contents, then notifies the emergency processing receiving unit 3a of the processing end and returns to the standby state.

以上の処理内容をフローチャートを用いてより詳しく説明すると以下のとおりである。すなわち、待機エージェントを準備する処理の流れは(図4参照)、待機エージェントの準備する処理の開始(ステップ1)後、具体的処理内容を持たない緊急処理エージェントを複数生成する(ステップ2)。本実施形態では具体的処理内容を持たない緊急処理エージェントとは、例えば監視制御機能を実現するためのオブジェクトを持たないこと、即ち監視制御のための変数や手順を定めたプログラムを持たないエージェントをいう。尚、監視制御機能とは、例えば事故区間分離処理において、どの電源を系統から切り離す(解列する)かを判断し、解列信号を送信する処理等をいう。また、待機エージェントの数は、2個ないしは3個とすることが移動高速化の観点から最適であるが、エージェントの生成数は使用可能なメモリ量、実行する処理内容等に応じて予め設定しておけばよく、特に限られるものではない。   The details of the processing described above will be described below with reference to flowcharts. That is, the flow of processing for preparing the standby agent (see FIG. 4) is to generate a plurality of emergency processing agents having no specific processing content after the start of the processing for preparing the standby agent (step 1) (step 2). In this embodiment, an emergency processing agent having no specific processing content is an agent that does not have an object for realizing a monitoring control function, that is, an agent that does not have a program that defines variables and procedures for monitoring control. Say. Note that the monitoring control function refers to, for example, a process of determining which power source is to be disconnected (disconnected) from the system and transmitting a disconnection signal in an accident section separation process. The number of waiting agents is optimally 2 or 3 from the viewpoint of speeding up the movement, but the number of agents generated is set in advance according to the amount of usable memory, the contents of processing to be executed, etc. There is no particular limitation.

続いて、生成された複数の緊急処理エージェントを緊急処理用受信部3a上のキューに待機エージェントとして格納する(ステップ3)。尚、本実施形態では待機エージェントは一意の識別子を有する点を除いては同一の構造としている。以上で、待機エージェントを準備する処理を終了する(ステップ4)。   Subsequently, the plurality of generated emergency processing agents are stored as standby agents in the queue on the emergency processing receiving unit 3a (step 3). In the present embodiment, the standby agent has the same structure except that it has a unique identifier. This completes the process for preparing the standby agent (step 4).

また、緊急処理用受信部3aにおいて、移動してきたエージェントの受信/処理関連づけ/待機エージェント起動までの処理の流れを示すと以下のとおりである(図5参照)。すなわち、処理開始(ステップ11)後、移動してきた緊急処理エージェント(上述したステップA)のオブジェクトを受信し、復元(上述したステップB)する(ステップ12)。尚、モバイルエージェントシステムでは、一般的にエージェントは複数のデータユニットに分割された状態で移動がなされる。ここでいう復元とは、データユニットを結合してエージェントを復元する処理をいう。次に、緊急処理用受信部3aのスレッド優先度を予め設定された値、例えば最高位である値に設定する(ステップ13)。次に、緊急処理用受信部3aが有するキューの先頭から待機エージェント(図5における待機中の緊急処理エージェント)を取り出す(ステップ14)。尚、キューは先入れ先出しのデータ構造であるので最も待機時間の長い緊急処理エージェントが抽出される。このとき、キューにおける登録は削除する。取り出した待機エージェントを緊急処理用受信部3aに作業中エージェントとして登録し(ステップ15)、移動してきた緊急処理エージェントが有する処理内容オブジェクトを待機エージェントに渡して関連づける(ステップ16、上述したステップD)。続いて、待機エージェントのスレッドを起動し(ステップ17)、起動までの処理を終了する(ステップ18)。ステップ17でスレッドを起動したら図6に示す処理に移行する。   Further, the flow of processing up to the reception / processing association / standby agent activation of the moved agent in the emergency processing receiving unit 3a is as follows (see FIG. 5). That is, after the process is started (step 11), the object of the emergency processing agent that has moved (step A described above) is received and restored (step B described above) (step 12). In the mobile agent system, the agent is generally moved in a state of being divided into a plurality of data units. Restoration here refers to a process of combining data units to restore an agent. Next, the thread priority of the emergency processing receiver 3a is set to a preset value, for example, the highest value (step 13). Next, a standby agent (a standby emergency processing agent in FIG. 5) is taken out from the head of the queue of the emergency processing receiver 3a (step 14). Since the queue has a first-in first-out data structure, the emergency processing agent with the longest waiting time is extracted. At this time, the registration in the queue is deleted. The retrieved standby agent is registered as an active agent in the emergency processing receiver 3a (step 15), and the processing content object possessed by the emergency processing agent that has moved is transferred to and associated with the standby agent (step 16, step D described above). . Subsequently, the thread of the standby agent is activated (step 17), and the processing up to the activation is terminated (step 18). When the thread is activated in step 17, the process proceeds to the process shown in FIG.

図6には、待機エージェントの起動から再度待機状態となるまでの処理の流れを示している。ここでは、起動(ステップ21)の後、緊急処理エージェントが生成直後のものかどうかを判断し(ステップ22)、生成直後のものであれば生成時の処理を実行する(ステップ23)。尚、本実施形態では、生成直後かどうかの判断は緊急処理エージェントの有するフラグにより判断している。例えば緊急処理エージェントは、生成直後は真の値のフラグを有し、生成時の処理を行った後にフラグの値を偽としている。続いて、移動直後用の処理が存在するかどうかを判断し(ステップ24)、移動直後用の処理が存在する場合には、移動直後用の処理を実行し(ステップ25)、移動直後用の処理を削除する(ステップ26)。ステップ24で移動直後用の処理が存在しない場合には以上のステップ24,25の処理は実行しない(図6参照)。その後、緊急処理用受信部3aに処理終了を通知し(ステップ27)、待機モードに移行して(ステップ28)、待機モードに戻る(ステップ29)。ステップ27で緊急処理用受信部3aに処理終了を通知したら図7に示す処理に移行する。   FIG. 6 shows the flow of processing from the activation of the standby agent to the standby state again. Here, after activation (step 21), it is determined whether or not the emergency processing agent is immediately after generation (step 22), and if it is immediately after generation, processing at the time of generation is executed (step 23). In the present embodiment, whether or not it is immediately after generation is determined by a flag of the emergency processing agent. For example, the emergency processing agent has a flag with a true value immediately after generation, and sets the flag value to false after performing the process at the time of generation. Subsequently, it is determined whether or not there is a process immediately after the movement (step 24). If there is a process immediately after the movement, the process immediately after the movement is executed (step 25). The process is deleted (step 26). If there is no processing immediately after the movement in step 24, the above steps 24 and 25 are not executed (see FIG. 6). Thereafter, the end of processing is notified to the emergency processing receiver 3a (step 27), the standby mode is entered (step 28), and the standby mode is returned (step 29). When the end of the process is notified to the emergency processing receiver 3a in step 27, the process proceeds to the process shown in FIG.

ここで生成時の処理と移動直後用の処理の一例を説明する。例えば緊急処理エージェントの処理内容が事故区間分離処理である場合において、生成時の処理とは、検知された事故電流の向きに応じて移動先の受信側装置3を判断し、移動するまでの処理をいう。また、移動直後用の処理とは、移動先の受信側装置3において他のエージェントの存在を確認し、他のエージェントが存在する場合には、他のエージェントと事故電流に関するデータの交換をし、事故区間を判定する処理を行う。さらに事故区間が自区間である場合には、隣接する区間の装置への移動や、区間内の分散型電源を管理する装置への移動を行う処理をいう。尚、生成時の処理と移動直後用の処理は、予め設定しておくものとする。また、上記生成時の処理と移動直後用の処理は一例であって、これに限られるものではない。   Here, an example of processing at the time of generation and processing immediately after movement will be described. For example, when the processing content of the emergency processing agent is an accident section separation process, the process at the time of generation is a process until the destination receiving device 3 is determined according to the detected direction of the accident current and moved. Say. Further, the process immediately after the movement is to confirm the existence of another agent in the receiving side device 3 at the movement destination, and when there is another agent, exchange data regarding the accident current with the other agent, Process to determine the accident section. Furthermore, when the accident section is its own section, it means a process of moving to an apparatus in an adjacent section or moving to a device that manages a distributed power source in the section. Note that the process at the time of generation and the process immediately after the movement are set in advance. Moreover, the process at the time of generation and the process immediately after movement are examples, and the present invention is not limited to this.

図7には、緊急処理用受信部3aにおけるエージェントの待機モード移行についての流れを示している。ここでは、処理開始(ステップ31)の後、ステップ15で登録した当該エージェントを作業中エージェントとしての緊急処理用受信部3aの登録から抹消する(ステップ32)。抹消したら、当該エージェントを待機エージェントとしてキューに登録し(ステップ33)、待機モード移行を終了する(ステップ34)。   FIG. 7 shows the flow of agent standby mode transition in the emergency processing receiver 3a. Here, after the processing is started (step 31), the agent registered in step 15 is deleted from the registration of the emergency processing receiving unit 3a as a working agent (step 32). If deleted, the agent is registered in the queue as a standby agent (step 33), and the standby mode shift is terminated (step 34).

以上説明した処理を実現するためのオブジェクトクラス構成の一例を図10に示す。図10はオブジェクト指向分析設計の標準的な記述法の一つであるUML(Unified Modeling Language)により表したものである。以下、図10について説明する。四角で囲まれたものがオブジェクトクラス又はインタフェースを表す。尚、インタフェースについては特に<<interface>>と記載されている。また、オブジェクトクラス間の関連は線を用いて表されている。このうち三角形の矢印と実線にて結ばれた関係(一例を符号19で示す)は、継承関係(インヘリタンス)を示し、三角形の矢印と破線にて結ばれた関係(一例を符号20で示す)は、実装関係を示している。また、線に付随した数は多重度を示している。例えばMobileAgentクラスは0から5個までのStrategyクラスに対する関連を保持できることを意味する。また、すべてのモバイルエージェントに共通する属性及びメソッドはMobileAgentクラスにて定義される。例えば監視制御機能を実現するStrategyクラスに対する参照は、MobileAgentクラスで定めている。MobileAgentクラスはJava言語にて用意されているRunnableインタフェースを実装することによりJavaにおけるThreadオブジェクトにて独立した制御の下、処理を実行できるようになる。また抽象クラス(図10における<<abstract>>)とすることにより、MobileAgentクラスを直接オブジェクトとして生成することがないように定めている。   An example of the object class configuration for realizing the processing described above is shown in FIG. FIG. 10 shows UML (Unified Modeling Language), which is one of the standard description methods for object-oriented analysis and design. Hereinafter, FIG. 10 will be described. An object class or interface is surrounded by a square. The interface is particularly described as << interface >>. The relationship between object classes is represented using lines. Among these, a relationship (an example is denoted by reference numeral 19) connected by a triangular arrow and a solid line indicates an inheritance relationship (inheritance), and a relation (an example is indicated by reference numeral 20) connected by a triangular arrow and a broken line. Indicates an implementation relationship. The number attached to the line indicates the multiplicity. For example, the MobileAgent class means that it can hold associations for 0 to 5 Strategy classes. Also, attributes and methods common to all mobile agents are defined in the MobileAgent class. For example, reference to the Strategy class that implements the monitoring control function is defined in the MobileAgent class. The MobileAgent class can execute a process under independent control by a Thread object in Java by implementing a Runnable interface prepared in the Java language. In addition, by defining an abstract class (<< abstract >> in FIG. 10), it is determined that the MobileAgent class is not directly generated as an object.

本実施形態において、実際にオブジェクトとして生成されるのはMobileAgentクラスから派生した3つのオブジェクトクラスであり、Emergency Agent、Rapid Agent、Best Effort Agentはそれぞれ緊急処理エージェント、迅速処理エージェント、平常処理エージェントに対応している。また、受信部に相当するクラス(MafdapsRootImplとEmergencyGate)は共に、遠隔装置からモバイルエージェントが移動するためのメソッドを提供するためJavaRMIのサーバオブジェクトであるUnicastRemoteObjectクラスを継承している。加えてモバイルエージェントが移動する際のメソッドの書式を規定しているMafdapsRootインタフェースを実装している。また緊急処理用受信部3aに対応するEmergencyGateクラスには、処理を実行中の緊急処理エージェントと待機状態にある緊急処理エージェントを管理するためEmergencyAgentオブジェクトに対する2種類の参照を設定する。このうち作業中の緊急処理エージェントの管理には、ハッシュキーにて高速な検索が可能なHashSetクラスを利用する。待機中の緊急処理エージェントの管理には、先頭に位置するものから順に処理を再開させることから、リスト構造を持つArrayListクラスを利用している。   In this embodiment, three object classes derived from the MobileAgent class are actually generated as objects. Emergency Agent, Rapid Agent, and Best Effort Agent correspond to the emergency processing agent, rapid processing agent, and normal processing agent, respectively. is doing. Also, classes corresponding to the receiving unit (MafdapsRootImpl and EmergencyGate) both inherit the UnicastRemoteObject class, which is a Java RMI server object, in order to provide a method for the mobile agent to move from the remote device. In addition, MafdapsRoot interface that specifies the format of the method when the mobile agent moves is implemented. In the EmergencyGate class corresponding to the emergency processing receiver 3a, two types of references to the EmergencyAgent object are set to manage the emergency processing agent that is executing the process and the emergency processing agent that is in the standby state. Of these, the HashSet class, which can be searched at high speed with a hash key, is used for managing emergency processing agents. The management of waiting emergency processing agents uses the ArrayList class having a list structure because the processing is resumed in order from the top one.

またjava.lang.ThreadにおいてThreadオブジェクトが生成される。またモバイルエージェントにおけるアプリケーションプログラムであるストラテジー(Strategy)によりエージェントによる処理内容が表現される。本実施形態の場合であれば、事故区間の判定や開閉器の開放操作などのアプリケーションにおける処理がこのストラテジーによって表現されている。なお、緊急処理エージェントの復元や処理内容オブジェクトの関連づけ、処理再開といった処理の内容は、Emergency Gateによって表現されている。ちなみに、処理再開指令は、例えばJavaのThreadオブジェクトに対するnotify()メソッドの起動による。また、待機モードへの移行は、例えばThreadオブジェクトに対するwait()メソッドの起動による。   In addition, a Thread object is generated in java.lang.Thread. In addition, the processing contents by the agent are expressed by a strategy (Strategy) which is an application program in the mobile agent. In the case of the present embodiment, processing in an application such as determination of an accident section or opening operation of a switch is expressed by this strategy. The contents of processing such as restoration of an emergency processing agent, association of processing content objects, and resumption of processing are expressed by Emergency Gate. Incidentally, the process resumption command is based on the activation of the notify () method for the Java Thread object, for example. The transition to the standby mode is based on, for example, the activation of the wait () method for the Thread object.

また、処理内容を表すオブジェクトだけを送信する方法を採用することもできるが、本実施形態ではこれを採用していない。本実施形態で採用していないのは、緊急処理エージェントが他の種類のモバイルエージェントと同じ移動形式を採用することによりプログラム構成の簡潔さを維持できることに加え、モバイルエージェントを構成するオブジェクトの大きさが、通信の遅延時間を大幅に増大させる恐れが非常に低いことによる。また、処理内容を表すオブジェクトクラスを設計する際に、異なる優先度でも同一のプログラミング方法を採用できるため、柔軟性を確保できることも、すべてのモバイルエージェントが同じ移動方法を採用する要因の一つとなっている。   In addition, a method of transmitting only an object representing the processing content can be employed, but this is not employed in the present embodiment. What is not adopted in this embodiment is that the emergency processing agent can maintain the conciseness of the program configuration by adopting the same movement format as other types of mobile agents, and the size of the objects constituting the mobile agents. However, there is a very low risk of greatly increasing the communication delay time. In addition, when designing object classes that represent processing contents, the same programming method can be adopted even with different priorities, so ensuring flexibility is one of the factors that all mobile agents adopt the same movement method. ing.

本実施形態に係るシステム及びこれについて実験した実施例1の結果内容(後段参照)を参酌すると、例えば需要地系統の監視制御を行う場合において本発明のエージェントシステムによれば大きな効果が得られるということができる。すなわち、需要地系統の監視制御を行うにあたって現在考えられている最もリアルタイム性の高い処理は、地絡事故が発生した区間を分離するというものである。この処理においては、図11に示すように、配電線上に設置された開閉器(例えば開閉器B,C)において、例えば事故電流など予め設定された条件を満たす状態が検出されると(ステップ41)、開閉器B(またはC)が属する区間を担当する運用管理サブシステムB(またはC)ヘエージェントが移動して事故情報を通知する(ステップ42)。運用管理サブシステムB(またはC)に移動したエージェントは、事故電流の向きなどに基づき、隣接する運用管理サブシステムに自らのクローンを移動させて事故情報を通知する(ステップ43)。事故が発生した区間の運用管理サブシステム(例えば図11における運用管理サブシステムB)上には二つ以上のモバイルエージェントが集結し、相互に事故情報に関するデータを交換することによって事故区間を判定する(ステップ44)。判定後、モバイルエージェントは隣接する運用管理サブシステムAまたはCに移動して事故区間を通知し(ステップ45)、さらには開閉器B(またはC)へと移動して開放指示を出す(ステップ46)。これによって開閉器B,Cが開放されると(ステップ47)、各開閉器B,Cを管理している運用管理サブシステムB,Cヘ開放通知を行う(ステップ48)。また、自らが管理する区間にて事故が発生したと判定した運用管理サブシステム(例えばB)から、区間内に存在する需給インタフェース(需給IF)に、分散型電源の解列指示を行うためのエージェントが移動して指示をする(ステップ49)。電源を解列した需給インタフェースは運用管理サブシステム(例えばB)へ解列通知を行う(ステップ50)。   In consideration of the system according to the present embodiment and the contents of the results of Example 1 in which the experiment was conducted (see the latter stage), for example, when performing control control of the demand area system, the agent system according to the present invention can provide a great effect. be able to. In other words, the most real-time processing that is currently considered for monitoring and controlling the demand point system is to separate the section where the ground fault occurred. In this process, as shown in FIG. 11, when a state satisfying a preset condition such as an accident current is detected in a switch (for example, switches B and C) installed on a distribution line (step 41). ), The agent moves to the operation management subsystem B (or C) in charge of the section to which the switch B (or C) belongs to notify the accident information (step 42). Based on the direction of the accident current, the agent that has moved to the operation management subsystem B (or C) moves its clone to the adjacent operation management subsystem and notifies the accident information (step 43). Two or more mobile agents are gathered on the operation management subsystem (for example, operation management subsystem B in FIG. 11) of the section where the accident occurred, and the accident section is determined by exchanging data on the accident information with each other. (Step 44). After the determination, the mobile agent moves to the adjacent operation management subsystem A or C to notify the accident section (step 45), and further moves to the switch B (or C) to issue an opening instruction (step 46). ). When the switches B and C are thereby opened (step 47), an opening notification is sent to the operation management subsystems B and C managing the switches B and C (step 48). In addition, the operation management subsystem (for example, B) that has determined that an accident has occurred in the section managed by itself is used to instruct the discontinuation of the distributed power source to the supply-demand interface (supply-demand IF) existing in the section. The agent moves and gives an instruction (step 49). The supply-demand interface that has disconnected the power supply notifies the operation management subsystem (for example, B) of the disconnection (step 50).

また、需要地系統での処理の流れを示すと以下のとおりである(図8、図9参照)。すなわち、需要地系統における事故区間を分離する処理を開始したら(ステップ401)、まず事故電流を検出し(ステップ402)、当該区間の運用管理サブシステムに移動したら(ステップ403)、自分以外の事故処理エージェントがいるかどうかを判断する(ステップ404)。いる場合には図9に示す処理のステップ411に移行し、いない場合には、隣接区間の運用管理サブシステムに移動する(ステップ405)。運用管理サブシステムに移動したらそこで待機し(ステップ406)、予め設定された待機時間に基づいて時間切れかどうかを判断する(ステップ407)。時間切れでない限りは待機し続け、時間切れとなったら事故区間ではないと判定し(ステップ408)、終了する(ステップ409)。   The flow of processing in the demand point system is as follows (see FIGS. 8 and 9). That is, when the process of separating the fault section in the demand point system is started (step 401), first, the fault current is detected (step 402), and when the operation is moved to the operation management subsystem in the section (step 403), the accident other than the self It is determined whether there is a processing agent (step 404). If yes, the process proceeds to step 411 of the process shown in FIG. 9; otherwise, the process moves to the operation management subsystem in the adjacent section (step 405). If it moves to the operation management subsystem, it waits there (step 406), and it is judged whether it expires based on the preset standby time (step 407). Unless the time has expired, the system continues to wait. When the time expires, it is determined that it is not an accident section (step 408), and the process ends (step 409).

また、上述のステップ404から図9に示す処理のステップ411に移行した後の処理は以下のとおりである(図9参照)。すなわち、処理開始(ステップ411)の後、他の事故処理エージェントと情報交換を行い(ステップ412)、事故区間かどうかを判断する(ステップ413)。事故区間ではないと判定した場合には(ステップ414)、そのまま事故区間分離処理を終了する(ステップ415)。一方、事故区間だと判断した場合には、隣接区間の運用管理サブシステムに事故を通知し(ステップ416)、開閉器に複製を移動させる(ステップ417)。その後、区間内の分散型電源を解列し(ステップ418)、処理を終了する(ステップ420)。一方、開閉器に移動したエージェントは開閉器を開放し(ステップ419)、処理を終了する(ステップ421)。   The processing after the transition from the above-described step 404 to step 411 of the processing shown in FIG. 9 is as follows (see FIG. 9). That is, after the start of processing (step 411), information is exchanged with other accident processing agents (step 412), and it is determined whether or not it is an accident section (step 413). If it is determined that it is not an accident section (step 414), the accident section separation process is terminated as it is (step 415). On the other hand, if it is determined that it is an accident section, the accident is notified to the operation management subsystem in the adjacent section (step 416), and the copy is moved to the switch (step 417). Thereafter, the distributed power sources in the section are disconnected (step 418), and the process is terminated (step 420). On the other hand, the agent that has moved to the switch opens the switch (step 419) and ends the process (step 421).

以上の手順は、いくつか考えられる事故区間分離処理の中でエージェントの移動回数が最も多いものの一つである。この手順の場合、事故発生から開閉器を開放するまでにエージェントは最大で4回の移動を行う。また、分散型電源の解列については、区間内に設置されている需給インタフェース(需給IF)の台数分だけエージェントの移動が発生することとなる。ところで、現在設計あるいは運用されている分散システムの構成であれば、一つまたは少数の分散型電源に対して一つの需給IFが設置されるため、一区間内、すなわち一つの運用管理サブシステムの配下に数十から百程度の需給IFが存在する可能性がある。一方で、地絡事故が発生してから区間を分離するまでの時間は1秒以内であることが求められている。この時間には、事故情報の検出時間や開閉器の動作時間も含まれるため、情報通信処理に割り当てられる時間は数百ミリ秒である。このような状況下、上述した実施形態におけるようなエージェントシステムならば開閉器の開放までの処理時間に貢献するのはもちろん、分散型電源の解列に関してより大きな効率化をもたらすことが期待できる。すなわち、上述の移動高速化モバイルエージェントによる事故区間分離処理方法によれば事故区間を迅速に分離するという処理が可能となる。例えば、需要地系統における事故(特に地絡事故)が起こった場合、事故区間を当該系統から1秒以内に分離することが求められているために情報通信処理に割り当てられる時間は数百ミリ秒(例えば300ミリ秒)といった程度に過ぎないが、スレッドプーリングの技術を応用した本発明によれば短時間のうちに処理することが可能となる。したがって、従来の事故区間分離処理手法よりも短時間で事故区間を判定し、当該判定した事故区間を需要地系統から迅速に分離することができる。また、この事故区間分離処理方法においては、緊急処理エージェントに関しては上述したように短時間で処理するが、迅速処理エージェント及び平常処理エージェントに対しては従来と同様に移動したエージェントごとに受信側装置にてスレッドを生成することによって対応・処理する。こうした場合、ハードウェアのメモリ空間使用量はできるだけ少なく抑えて省資源化を図りつつ、緊急処理は短時間で行うことにより需要地系統の健全性を保つことが可能になるという点で有益である。特に、分散システムが構築されていくと系統が複雑になり尚かつ多様性を帯びることとなるが、本処理方法によれば各種系統においてリアルタイムに対応することが可能であり、省資源化と健全性維持という両課題を両立することができるようになる。 The above procedure is one of the most frequently used accident section separation processes in which the agent moves most frequently. In this procedure, the agent moves up to four times from the occurrence of the accident until the switch is opened. In addition, with regard to the disconnection of the distributed power source, the agent moves as many as the number of supply-demand interfaces (supply-demand IF) installed in the section. By the way, in the configuration of a distributed system that is currently designed or operated, one supply-demand IF is installed for one or a small number of distributed power supplies. Therefore, within one section, that is, one operation management subsystem. There may be tens to hundreds of demand and supply IFs under control. On the other hand, it is required that the time from the occurrence of a ground fault to the separation of sections is within 1 second. This time includes accident information detection time and switch operating time, so the time allocated to information communication processing is several hundred milliseconds. Under such circumstances, the agent system as in the above-described embodiment can be expected to contribute not only to the processing time until the switch is opened, but also to achieve greater efficiency with respect to the disconnection of the distributed power source. That is, according to the above-described accident segment separation processing method by the mobile acceleration mobile agent, it is possible to perform a process of quickly separating accident segments. For example, when an accident (especially a ground fault) occurs in a demand point system, the time allocated for information communication processing is several hundred milliseconds because it is required to separate the accident section from the system within one second. However, according to the present invention to which the thread pooling technique is applied, processing can be performed in a short time. Therefore, it is possible to determine the accident section in a shorter time than the conventional accident section separation processing method, and to quickly separate the determined accident section from the demand place system. Further, in this accident section separation processing method, the emergency processing agent is processed in a short time as described above. However, for the quick processing agent and the normal processing agent, the receiving side device is provided for each moved agent as in the conventional case. It handles and processes by creating a thread. In such a case, it is advantageous in that it is possible to maintain the soundness of the demand point system by performing emergency processing in a short time while reducing the amount of hardware memory space used as much as possible to save resources. . In particular, when a distributed system is constructed, the system becomes complex and diverse, but this processing method can support various systems in real time, saving resources and increasing soundness. It is possible to satisfy both of the problems of maintaining the performance.

なお、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく本発明の要旨を逸脱しない範囲において種々変形実施可能である。   The above-described embodiment is an example of a preferred embodiment of the present invention, but is not limited thereto, and various modifications can be made without departing from the scope of the present invention.

上述の実施形態にて説明したモバイルエージェントシステムの実際の処理時間を測定すべく実験を実施した。以下に実験システムの概要を述べるとともに、その処理時間に関する測定結果を示す。   An experiment was conducted to measure the actual processing time of the mobile agent system described in the above embodiment. The outline of the experimental system is described below, and the measurement results regarding the processing time are shown.

まず、実験システムの構成を図15に示す。実験における計算機には、CPUがCeleron(登録商標) 2.0GHz、メモリが1GBのものを一台用いた。OSには、Microsoft Windows(登録商標) XP Professional Editionを利用した。ここに、JDK1.4.2に対応したJava(登録商標)VMによって、モバイルエージェントシステムであるMAFDAPSを二つ立ち上げ、この間でモバイルエージェントが往復するように設定した。MAFDAPSにおける通信には、Java(登録商標)RMIを利用した。今回の実験では、通信網の影響を除外するため、通信網を介さずモバイルエージェントが移動する構成とした。   First, the configuration of the experimental system is shown in FIG. As a computer in the experiment, a CPU having Celeron (registered trademark) 2.0 GHz and a memory of 1 GB was used. As the OS, Microsoft Windows (registered trademark) XP Professional Edition was used. Here, two MAFDAPS, which are mobile agent systems, are started up by Java (registered trademark) VM corresponding to JDK1.4.2, and the mobile agent is set to reciprocate between them. Java (registered trademark) RMI was used for communication in MAFDAPS. In this experiment, in order to exclude the influence of the communication network, the mobile agent moves without going through the communication network.

また、今回の実験システムにおける処理内容は
(1)到着後、時刻を取得する。
(2)時刻を表示する。
(3)遠隔のJava(登録商標)VMに移動する。
といった簡潔なものとしたことから、エージェントは短時間のうちに待機状態へと復旧するために多数の待機エージェントを用意する必要がない。また、想定している事故区間分離処理において、事故区間を判定するために一つの装置上で協調するエージェント(つまり集結して相互に情報を交換するモバイルエージェント)がほとんどの場合二つないしは三つであることから、予備の一つを加え、今回の実験では待機中の緊急処理エージェントを四つ用意することとした。ちなみに、これら複数の緊急処理用待機エージェントは、いずれも同じ優先度のスレッドを有しているものであり、いずれが抽出されても同じ処理が可能な同一のものである。なお、一つの装置上で協調するにあたっては、その区間を含む開閉器及びLPCの台数分のエージェントが協調することになる。例えば図11の場合であれば二つのエージェントが協調する。つまり、ある区間に着目した場合、二つの区間と接していれば二つのエージェントが、三つの区間と接していれば三つのエージェントが協調することになる。
Moreover, the processing content in this experiment system is (1) Time is acquired after arrival.
(2) Display the time.
(3) Move to a remote Java (registered trademark) VM.
Therefore, the agent does not need to prepare a large number of standby agents in order to recover to the standby state in a short time. Also, in the assumed accident segment separation processing, in most cases two or three agents cooperating on one device (that is, mobile agents that gather and exchange information with each other) to determine the accident segment. Therefore, one of the spares was added, and in this experiment four standby emergency processing agents were prepared. Incidentally, the plurality of standby agents for emergency processing all have threads having the same priority, and the same processing is possible even if any of them is extracted. In cooperation on one device, agents corresponding to the number of switches and LPCs including that section cooperate. For example, in the case of FIG. 11, two agents cooperate. That is, when focusing on a certain section, two agents cooperate with each other if they are in contact with two sections, and three agents cooperate with each other when they are in contact with three sections.

また、実験は、100回の往復を連続して実行し、それを一つの試行セットとして扱った。100回の往復を一つの試行セットとして扱うのは、Windows(登録商標) XPの時間分解能が10ミリ秒程度であり、測定データ内に一往復に要する時間が0秒となってしまうことがある程度の確率で含まれてしまうため、複数回の平均に主眼をおく必要があることによる。例えば、スレッドプーリングを用いた方法の試行番号1の場合、往復時間が0秒と計測されるものが26%含まれていたが、上記のように往復数を100回程度に設定することによって往復に要する平均時間を取得することができるようになる。   In the experiment, 100 round trips were continuously performed and treated as one trial set. 100 round trips are treated as one trial set because the time resolution of Windows (registered trademark) XP is about 10 milliseconds, and the time required for one round trip in measurement data may be 0 seconds. This is because it is necessary to focus on the average of a plurality of times. For example, in the case of trial number 1 of the method using thread pooling, 26% of cases where the round-trip time is measured as 0 seconds were included, but by setting the number of round-trips to about 100 as described above, It is possible to obtain the average time required for.

続いて、上記のような構成の実験システムにおける測定結果を示す。表1には、従来方式による移動と、スレッドプーリングを用いた本発明に係る方式(ないしは方法)による移動のそれぞれについて、エージェントが一往復する平均時間と改善率を示す。今回行った実験全般について、本方式(本発明に係る方法)を用いることにより一往復あたり約10ミリ秒、11.6%の改善が見られた。なお、待機中のモバイルエージェントが枯渇する(つまり待機数が0になる)事象は発生しなかった。   Subsequently, measurement results in the experimental system configured as described above will be shown. Table 1 shows the average time for the agent to make one round trip and the improvement rate for each of the movement by the conventional method and the movement by the method (or method) according to the present invention using thread pooling. For all the experiments conducted this time, by using this method (the method according to the present invention), an improvement of about 10 milliseconds, 11.6%, was observed per round trip. Note that there was no event that the waiting mobile agents were depleted (that is, the number of waiting was 0).

Figure 0004791846
Figure 0004791846

図16に、エージェントが一往復するのに要する移動時間を、10ミリ秒ごとに区切って発生頻度を表したグラフとその回数を示す。従来方式において最も発生頻度の高かったのは一往復に10〜20ミリ秒を要する場合であったが、本方式によればそれらの一部が10ミリ秒以下で実行可能になり、この結果、全体として移動の高速化がもたらされていることがわかる。なお、最も移動に時間を要する事象は従来方式ではなく本方式のときに発生しており、したがって本方式の方が発生頻度のレンジが広いこととなったが、全体としてみれば本方式の方が高速処理が可能であるとの結果が得られた。   FIG. 16 shows a graph showing the occurrence frequency by dividing the travel time required for the agent to make one round trip every 10 milliseconds, and the number of times. In the conventional method, the frequency of occurrence was highest when 10 to 20 milliseconds were required for one round trip. According to this method, some of them can be executed in 10 milliseconds or less. It can be seen that the overall movement speed has been increased. The most time-consuming event occurred during this method, not the conventional method. Therefore, the frequency range of this method is wider than that of the conventional method. As a result, high-speed processing is possible.

また、図17に、実験システムに設置した二つのMAFDAPS間で、緊急処理エージェントが100回往復する実験を、従来の移動とスレッドプーリングを用いた移動のそれぞれについて合計10回行った際の、一往復に要する移動時間の推移を示す。さらに、図18には試行ケースごとの改善率を示す。いずれの試行ケースにおいても、本方式の場合には、従来方式を用いる場合と同じかあるいはそれよりも短い時間で処理を終了した。   FIG. 17 shows the results of an experiment in which the emergency processing agent reciprocates 100 times between two MAFDAPS installed in the experimental system for a total of 10 times for each of the conventional movement and the movement using thread pooling. It shows the transition of travel time required for reciprocation. Further, FIG. 18 shows the improvement rate for each trial case. In any trial case, in the case of this method, the processing is completed in the same time as when the conventional method is used or in a shorter time.

また、図17と図18に示すように、試行番号3以降のケースにおいて移動時間が短縮する現象が見られている。この現象が一般的特徴なのか本方式に特有の特徴なのか断定することは難しいが、一つの要因としては、繰り返し同じ動作をさせることによってCPU(中央演算装置)におけるキャッシュのヒット率が高まったことが挙げられる。   In addition, as shown in FIGS. 17 and 18, there is a phenomenon in which the movement time is shortened in cases after trial number 3. It is difficult to determine whether this phenomenon is a general feature or a feature peculiar to this method, but one factor is that the cache hit rate in the CPU (central processing unit) has increased by repeatedly performing the same operation. Can be mentioned.

なお、本実施例においては待機中とした緊急処理エージェントの数を四つとしたが、これは一つの装置上で協調するエージェントがほとんどの場合二つないしは三つであることを考慮して設定したプール数であり、固定数とするのではなく、状況に応じて動的に待機エージェントのプール数を変動する、または待機エージェントの数がしきい値よりも少なくなった場合に、一時的に増加させるなどの手法を採用することも可能である。   In this embodiment, the number of emergency processing agents in standby is four, but this is set in consideration of the fact that in most cases there are two or three cooperating agents on one device. If the number of standby agent pools changes dynamically according to the situation, or if the number of standby agents falls below the threshold, it is temporarily It is also possible to adopt a technique such as increasing the number.

以下に第二の実施例を示す。尚、特に記載のない限りは第一の実施例と同様の条件下による。   A second embodiment is shown below. Unless otherwise specified, the conditions are the same as in the first embodiment.

本実験では、エージェントは次の処理を実行した。
(1)時刻記録側のエージェントシステム(以下、エージェントシステム1ともいう)であれば、到着直後に時刻を取得する。
(2)往復回数が1000回に到達していなければ、遠隔のエージェントシステム(以下、エージェントシステム2ともいう)に移動する。
(3)往復回数が1000回に到達していれば、処理を停止する。
In this experiment, the agent performed the following processing.
(1) For an agent system on the time recording side (hereinafter also referred to as agent system 1), the time is acquired immediately after arrival.
(2) If the number of round-trips has not reached 1000, it moves to a remote agent system (hereinafter also referred to as agent system 2).
(3) If the number of reciprocations has reached 1000, the process is stopped.

これによりモバイルエージェントが頻繁に移動する場合を測定することが可能となる。また、移動以外の処理を簡素化することができるため、移動以外に要する処理時間が測定結果に与える影響は小さくなる。尚、上記のようなアルゴリズムのため一つの緊急処理エージェントを往復させた場合、一つのエージェントシステム上に複数の緊急処理エージェントが存在することはない。   This makes it possible to measure the case where the mobile agent moves frequently. In addition, since processing other than movement can be simplified, the processing time required for other than movement has less influence on the measurement result. Note that when one emergency processing agent is reciprocated due to the algorithm as described above, a plurality of emergency processing agents do not exist on one agent system.

本実験では、モバイルエージェントの移動に際しては、常に同じ数のオブジェクトが付随することとした。これは移動に付随するオブジェクトの数や大きさによってオブジェクト復元時間が変動することを排除するためである。具体的には、一往復あたりの移動時間を測定するために生成するオブジェクト(JavaにおけるDateオブジェクト)を、予め往復回数に必要な個数生成し、その後、到着時刻を記録したオブジェクトに順次置き換えた。   In this experiment, it is assumed that the same number of objects always accompany a mobile agent when it moves. This is to eliminate the fluctuation of the object restoration time depending on the number and size of the objects accompanying the movement. Specifically, the number of objects (Date object in Java) generated to measure the travel time per round-trip is generated in advance for the number of round-trip times, and then the arrival time is sequentially replaced with the recorded object.

処理時間に関する実験ケース1から実験ケース6までの実験ケースの目的と設定条件を表2に示す。尚、表2において、EAは緊急処理エージェント、RAは迅速処理エージェント、BEAは平常処理エージェントをそれぞれ示す。

Figure 0004791846
Table 2 shows the purpose and setting conditions of the experimental cases from experimental case 1 to experimental case 6 regarding the processing time. In Table 2, EA indicates an emergency processing agent, RA indicates a rapid processing agent, and BEA indicates a normal processing agent.
Figure 0004791846

表2に示すように、本実験では実験ケースを6種類を用意した。このうち実験ケース1から3については同一計算機上(すなわち通信網を経由しない場合)で二つのモバイルエージェントシステムを起動し、その間をエージェントが移動する実験とした。これにより通信網及び通信装置における処理の影響を排除したデータを測定した。これに対し、実験ケース4から6については通信網を経由した実験とし、通信手順が含まれる場合の移動時間を測定した。さらに通信手順を含む場合及び含まない場合のそれぞれにおいて、緊急処理エージェントのみが移動する場合と、低優先度エージェントも移動している場合を設定し、低優先度エージェントが緊急処理エージェントの移動時間に対して持つ影響についても調べた。   As shown in Table 2, six test cases were prepared in this experiment. Of these, Experiment Cases 1 to 3 are experiments in which two mobile agent systems are started on the same computer (that is, not via a communication network) and the agent moves between them. As a result, data excluding the influence of processing in the communication network and the communication device was measured. On the other hand, the experiment cases 4 to 6 were conducted via the communication network, and the travel time when the communication procedure was included was measured. Furthermore, in cases where communication procedures are included and cases where communication procedures are not included, the case where only the emergency processing agent moves and the case where the low priority agent also moves are set. We also examined the effects on the system.

また、メモリ使用量の測定には実験ケース1を用いた。これは以下に示す二つの理由による。
(1)迅速処理エージェントや平常処理エージェントといった低優先度エージェントが存在すると本発明の移動方式によって増加するメモリ量を特定することが困難になること。
(2)1台の計算機上であれば2つのモバイルエージェントシステムのメモリ使用量を同時に測定できること。
Experiment case 1 was used for measuring the memory usage. This is due to the following two reasons.
(1) When there is a low priority agent such as a rapid processing agent or a normal processing agent, it becomes difficult to specify the amount of memory that is increased by the movement method of the present invention.
(2) The amount of memory used by two mobile agent systems can be measured simultaneously on a single computer.

尚、すべての実験ケースにおいて本発明のモバイルエージェント移動の高速化方法を用いたプログラム(以下、提案方式という)3種類と、エージェントを待機させずに、エージェント到着時にスレッドを生成する従来方式の合計4種類の実験を行った。提案方式の設定条件の違いは、待機しているエージェントの数(以下、プール数ともいう)だけとし、それぞれ4個、10個、20個のエージェントが存在するように設定したものを用いた。   In all experimental cases, the total of three types of programs (hereinafter referred to as the proposed method) using the mobile agent movement speed-up method of the present invention and the conventional method of generating a thread when the agent arrives without waiting for the agent. Four types of experiments were conducted. The difference in the setting conditions of the proposed method is only the number of waiting agents (hereinafter also referred to as the number of pools), and those set so that there are 4, 10 and 20 agents respectively.

本実験にはCPUがIntel Pentium(登録商標)II333MHz、メモリが196MBの計算機を使用した。ここで需要地系統の運用管理システムに採用される計算機は低コストであることが求められるため限定された計算資源であることが想定される。このため比較的低スペックの計算機を用いて実験を行った。   In this experiment, a computer with an Intel Pentium (registered trademark) II 333 MHz and a memory of 196 MB was used. Here, it is assumed that the computer employed in the operation management system of the demand point system is a limited computing resource because it is required to be low cost. For this reason, experiments were performed using a relatively low-spec computer.

尚、計算機にはデスクトップOSを搭載した。これはMAFDAPSがJavaRMIを利用していること、リアルタイムOSの機能を利用できるJavaVMにJavaRMIを利用できるものがないことによる。   The computer was equipped with a desktop OS. This is because MAFDAPS uses Java RMI and there is no Java VM that can use the function of the real-time OS that can use Java RMI.

実験ケース1は緊急処理エージェントだけが移動を繰り返し、他の種類のエージェントは存在しない場合である。本実験では一つの緊急処理エージェントが二つのエージェントシステム間を往復する試行を3回(3000往復分)行った。一往復に要する平均時間のグラフを図19に示す。   Experiment case 1 is a case where only the emergency processing agent repeats the movement and there is no other type of agent. In this experiment, one emergency processing agent reciprocated between two agent systems three times (3000 round trips). A graph of the average time required for one round trip is shown in FIG.

図19から、待機しているエージェントの数により所要時間が変化することが分かった。即ちエージェントの待機数が最も少ない4個の場合では、従来方式よりも約4ミリ秒短縮できるのに対し、20個のエージェントが待機している場合には、従来方式と比べ効果は小さくなった。   FIG. 19 shows that the required time varies depending on the number of agents waiting. In other words, when the number of waiting agents is four, the time can be shortened by about 4 milliseconds as compared with the conventional method, whereas when twenty agents are waiting, the effect is smaller than the conventional method. .

図20に、実験ケース1の結果について移動に要した時間を横軸に、発生頻度を縦軸にとったグラフを示す。尚、図20に示すグラフは、往復所要時間ごとの各方式の発生頻度を示しており、左から提案方式(プール数4)、提案方式(プール数10)、提案方式(プール数20)、従来方式である。以下、図22、図24、図26、図28、図30において同様である。ここで、移動に要する時間のばらつきや特徴に着目すると、いずれの方式においても50ミリ秒未満で完了した往復は存在しなかった。エージェント待機数が4個の提案方式については、50ミリ秒以上60ミリ秒未満で移動した場合が全体の約6パーセント測定されたのに対し、従来方式についてはこの時間内に完了した往復は存在しなかった。また、いずれの方式においても90ミリ秒以上要する往復は非常に少なく、かつ同程度の発生頻度であった4個のエージェントがプールされている提案方式と従来方式に着目すると70ミリ秒以上80ミリ秒未満での往復の発生頻度はほぼ同数であるが、60ミリ秒未満の往復時間帯では提案方式のみで179回であり、60ミリ秒以上70ミリ秒未満の時間帯では提案方式の方が283回多かった。一方で80ミリ秒以上90ミリ秒未満での往復は、提案方式の発生頻度が従来方式に比べて436回少なかった。これらの時間帯に発生する往復の結果が平均所要時間に与える影響は(30×179+20×283)÷3000=3.67となり、図19に示した平均所要時間における提案方式と従来方式の差に近い数字となる。加えて90ミリ秒以上要する往復の発生頻度が同程度であり、かつ長時間を要する往復が発生していないことから上記の時間帯の違いが主に平均時間の違いとなって現れていると考えられる。   FIG. 20 shows a graph in which the time taken for the movement of the result of Experiment Case 1 is plotted on the horizontal axis and the occurrence frequency is plotted on the vertical axis. The graph shown in FIG. 20 shows the frequency of occurrence of each method for each round trip time. From the left, the proposed method (pool number 4), the proposed method (pool number 10), the proposed method (pool number 20), This is a conventional method. The same applies to FIG. 22, FIG. 24, FIG. 26, FIG. 28, and FIG. Here, paying attention to the variation and characteristics of the time required for movement, there was no round trip completed in less than 50 milliseconds in either method. For the proposed method with 4 agents waiting, about 6 percent of the total travel time was between 50 ms and less than 60 ms, whereas for the conventional method, there was a round trip completed within this time. I did not. In both methods, round trips requiring 90 milliseconds or more are very few, and focusing on the proposed method and the conventional method in which four agents that had the same frequency of occurrence are pooled, more than 70 milliseconds and 80 milliseconds. The occurrence frequency of round trips in less than a second is almost the same, but in the round trip time zone of less than 60 milliseconds, the proposed method alone is 179 times, and in the time zone of 60 milliseconds to less than 70 milliseconds, the proposed method is more It was 283 times more. On the other hand, the frequency of occurrence of the proposed method in the round trip between 80 milliseconds and less than 90 milliseconds was 436 times less than the conventional method. The effect of the round trip results occurring in these time zones on the average required time is (30 × 179 + 20 × 283) ÷ 3000 = 3.67, which is the difference between the proposed method and the conventional method in the average required time shown in FIG. Close numbers. In addition, the frequency of round trips that require 90 milliseconds or more is similar, and the round trips that take a long time have not occurred. Conceivable.

次に、優先度の異なるエージェント(迅速処理エージェント及び平常処理エージェント)が存在する場合における緊急処理エージェントの移動時間について測定を行った。これらのエージェントにおいてはエージェントシステムに到着後、時刻の取得と画面表示用のオブジェクト生成を1000回繰り返した後、対向するエージェントシステムへ移動することを無限に繰り返すようにプログラムを設定した。尚、平常処理エージェントについては直前の平常処理エージェントが移動してから一定時間経過していることを確認してから移動するようにした。本実験では、待機時間を2秒に設定した。また、本実験では、迅速処理エージェント又は平常処理エージェントが10個同時に処理を行っている状況を発生させた。   Next, we measured the travel time of the emergency processing agent when agents with different priorities (rapid processing agent and normal processing agent) exist. In these agents, after arriving at the agent system, the program was set so that time acquisition and screen display object generation were repeated 1000 times and then moving to the opposite agent system was repeated indefinitely. The normal processing agent is moved after confirming that a certain time has elapsed since the movement of the previous normal processing agent. In this experiment, the waiting time was set to 2 seconds. Further, in this experiment, a situation was generated in which 10 rapid processing agents or 10 normal processing agents were simultaneously processing.

まず、迅速処理エージェントが10個動作している場合(実験ケース2)における緊急処理エージェントの平均往復時間を図21に示す。この結果によると、待機している緊急処理エージェントの数が増加するに連れて往復に要する時間が増加している傾向は、迅速処理エージェント存在しない場合と同様だが、待機エージェントが20個存在する場合には、従来方式よりも往復に時間を要する結果となった。一方で待機エージェントを4とした提案方式と従来方式を比較すると、その差はやや小さくなっているものの提案方式の方が短い時間で往復を完了する結果となった。   First, FIG. 21 shows the average round-trip time of the emergency processing agent when ten rapid processing agents are operating (experimental case 2). According to this result, the tendency for the time required for the round trip to increase as the number of waiting emergency processing agents increases is the same as when there is no quick processing agent, but when there are 20 standby agents. However, it took more time to reciprocate than the conventional method. On the other hand, when comparing the proposed method with 4 standby agents and the conventional method, the difference was slightly smaller, but the proposed method completed the round trip in a shorter time.

実験ケース2の結果について移動に要した時間を横軸に、発生頻度を縦軸にとったグラフを図22に示す。ここで移動に要する時間のばらつきや特徴に着目する。平均時間で見た場合には、プール数を20とした提案方式が従来方式よりも往復に時間を要することが分かったが、80ミリ秒未満の往復発生頻度ではプール数を20とした提案方式の方が従来方式よりも多く発生し、逆に80ミリ秒以上90ミリ秒未満の往復については従来方式の方が多く発生した。このことから90ミリ秒以上を要する往復においてプール数を20とした提案方式の平均往復時間を増大させる要因が含まれると考えられる。そこで長時間を要する往復について分析するとプール数を20とした提案方式では150ミリ秒以上要する往復が43回発生しているのに対して、従来方式では25回であることが分かった。このことからプール数を20とした提案方式でも多くの場合では従来方式よりも早く移動完了する効果を有することがわかった。   FIG. 22 shows a graph in which the time required for movement is plotted on the horizontal axis and the occurrence frequency is plotted on the vertical axis for the result of Experiment Case 2. Here, attention is paid to variations and characteristics of time required for movement. In terms of average time, it was found that the proposed method with 20 pools required more time than the conventional method, but the proposed method with 20 pools when the round-trip frequency was less than 80 milliseconds. More than the conventional method, conversely, the conventional method generated more frequent round trips of 80 milliseconds or more and less than 90 milliseconds. From this, it is considered that a factor that increases the average round-trip time of the proposed method in which the number of pools is 20 in round-trips requiring 90 milliseconds or more is included. Thus, when analyzing round trips that require a long time, it was found that the proposed method with 20 pools generated 43 round trips that required 150 milliseconds or more, whereas the conventional method had 25 round trips. From this, it was found that even the proposed method with 20 pools has the effect of completing the movement earlier than the conventional method in many cases.

次に、平常処理エージェントが10個動作している場合(実験ケース3)における緊急処理エージェントの平均往復時間を図23に示す。提案方式及び従来方式のいずれにおいても緊急処理エージェントが単独で往復している場合よりも往復時間が増加した。さらにプール数を4とした提案方式と従来方式の時間差は、迅速処理エージェントが移動している場合(実験ケース2)とほぼ同程度であった。   Next, FIG. 23 shows the average round-trip time of the emergency processing agent when ten normal processing agents are operating (experimental case 3). In both the proposed method and the conventional method, the round trip time increased compared with the case where the emergency processing agent was making a round trip alone. Furthermore, the time difference between the proposed method with the number of pools of 4 and the conventional method was almost the same as when the rapid processing agent was moving (Experimental Case 2).

実験ケース3の測定結果について移動に要した時間を横軸に、発生頻度を縦軸にとったグラフを図24に示す。ここで移動に要する時間のばらつきや特徴に着目する。ここで見られる傾向は、緊急処理エージェントのみが往復している場合とほぼ同様であった。   FIG. 24 shows a graph with the horizontal axis representing the time required for movement and the vertical axis representing the frequency of occurrence of the measurement result of Experiment Case 3. Here, attention is paid to variations and characteristics of time required for movement. The tendency seen here was almost the same as when only the emergency processing agent was making a round trip.

さらにCPUがIntelモバイルPentium(登録商標)III450MHz、メモリが256MBの計算機を一台追加し、これらを10BASE−Tのスイッチング機能を有するハブに接続した。それぞれの計算機上で、モバイルエージェントシステムを一つずつ実行させた。   Furthermore, a computer with an Intel mobile Pentium (registered trademark) III 450 MHz and a memory of 256 MB was added, and these were connected to a hub having a switching function of 10BASE-T. One mobile agent system was run on each computer.

実験ケース4では、緊急処理エージェントだけが移動を繰り返し、他の種類のエージェントは存在していない。実験ケース4における緊急処理エージェントの平均往復時間を図25に示す。   In Experiment Case 4, only the emergency processing agent moves repeatedly, and there are no other types of agents. The average round-trip time of the emergency processing agent in the experiment case 4 is shown in FIG.

待機エージェントの数及び従来方式に対する往復所要時間の短縮傾向に関しては、同一計算機上での試験結果とほぼ同じであった。しかし、往復時間そのものについては、全体的に短縮されていることがわかった。これは本実験ケースに用いた計算機の一つが、同一計算機での実験に用いたものよりも高速に処理が可能であることによる。この結果、待機エージェントの数が4の場合、従来方式に比べて往復で約2ミリ秒の短縮となった。   The number of waiting agents and the tendency to shorten the round-trip time for the conventional method were almost the same as the test results on the same computer. However, it was found that the round trip time itself was shortened overall. This is because one of the computers used in this experiment case can process at a higher speed than that used in the experiment on the same computer. As a result, when the number of waiting agents is 4, the round trip is shortened by about 2 milliseconds compared with the conventional method.

実験ケース4の測定結果について移動に要した時間を横軸に、発生頻度を縦軸にとったグラフを図26に示す。ここで、移動時間に要する時間のばらつきや特徴に着目する。プール数を4とした提案方式と従来方式に着目して比較すると、60ミリ秒以上70ミリ秒未満を要する往復の発生回数は従来方式よりも提案方式の方が少なく、60ミリ秒未満で往復する回数は提案方式の方が多く発生している。また70ミリ秒以上を要する往復の発生回数に差がないこと、また長時間を要する往復が発生していないことから、一台の計算機上での結果と同じように、60ミリ秒未満で往復する回数の増加が、平均時間に対して大きな影響を持っているといえる。   FIG. 26 shows a graph with the horizontal axis representing the time required for movement of the measurement result of Experiment Case 4 and the vertical axis representing the occurrence frequency. Here, attention is paid to time variations and characteristics required for the travel time. Comparing the proposed method with the number of pools of 4 and the conventional method, the number of round trips requiring 60 milliseconds or more and less than 70 milliseconds is less in the proposed method than in the conventional method, and the round trip occurs in less than 60 milliseconds. The number of times to do is generated more in the proposed method. In addition, since there is no difference in the number of round trips that require more than 70 milliseconds, and there are no round trips that take a long time, the round trips take less than 60 milliseconds, as in the case of a single computer. It can be said that the increase in the number of times has a great influence on the average time.

更に、イーサネット(登録商標)を経由した場合における低優先エージェントの影響を測定するために、一台の計算機で行った環境と同様に迅速処理又は平常処理のいずれかのエージェントが10個動作している中で緊急処理エージェントを往復させ、その移動時間を測定した。   Furthermore, in order to measure the influence of low priority agents when going through Ethernet (registered trademark), 10 agents of either rapid processing or normal processing are operated as in the environment performed by one computer. The emergency processing agent was reciprocated while traveling and the travel time was measured.

まず迅速処理エージェントが10個動作している場合(実験ケース5)における緊急処理エージェントの平均往復時間を図27に示す。この結果が示す傾向は、1台の計算機上で往復を繰り返した場合と同様であった。すなわち提案方式は他の結果と同様に待機している緊急処理エージェントの数に応じて平均移動時間が増加している。緊急処理エージェントのみが移動している場合に比べると、すべての方式において往復時間が増加していることがわかった。プール数を4とした提案方式と従来方式の差は、迅速処理エージェントが存在しない場合(実験ケース4)に比べて拡大している一方、プール数を20とした提案方式と従来方式を比較すると所要時間が逆転した結果となった。   First, FIG. 27 shows the average round-trip time of the emergency processing agent when ten rapid processing agents are operating (experimental case 5). The tendency shown by this result was the same as the case where the reciprocation was repeated on one computer. That is, in the proposed method, the average travel time increases according to the number of emergency processing agents waiting as in other results. It was found that the round trip time increased in all methods compared to the case where only the emergency processing agent was moving. The difference between the proposed method with the number of pools of 4 and the conventional method is larger than when there is no rapid processing agent (Experimental Case 4), while the proposed method with the number of pools of 20 is compared with the conventional method. The required time was reversed.

実験ケース5の測定結果について移動に要した時間を横軸に、発生頻度を縦軸にとったグラフを図28に示す。同様に移動時間に要する時間のばらつきや特徴に着目する。最も大きな平均移動時間となった提案方式(プール数20)について、所要時間の発生頻度を見ると、むしろ短い時間で移動を完了する試行が多いことが分かった。これは長時間を要する移動の測定結果が図28に示した平均時間に影響を与えていることを意味している。その他の方式については短い時間の発生頻度が高くなれば、平均時間が短くなる傾向を示している。   FIG. 28 shows a graph in which the time taken for the movement of the measurement result of Experiment Case 5 is plotted on the horizontal axis and the occurrence frequency is plotted on the vertical axis. Similarly, attention is paid to variations and characteristics of time required for travel time. Looking at the frequency of the required time for the proposed method (pool number 20) that had the largest average travel time, it was found that there were many trials to complete the travel in a rather short time. This means that the measurement result of the movement that requires a long time affects the average time shown in FIG. For other methods, the average time tends to be shorter as the frequency of occurrence of the shorter time increases.

更に、平常処理エージェントが10個動作している場合(実験ケース6)における緊処理エージェントの平均往復時間を図29に示す。この結果によると、いずれのプール数においても提案方式の方が従来方式よりも短い時間で往復したことが分かった。また、迅速処理エージェントが存在する場合(実験ケース5)に比べて、プール数の増加により平均往復時間が増加する割合が小さくなる結果となった。   Further, FIG. 29 shows the average round-trip time of the emergency processing agent when ten normal processing agents are operating (experimental case 6). According to this result, it was found that the proposed method reciprocated in a shorter time than the conventional method in any number of pools. In addition, as compared with the case where the rapid processing agent exists (Experimental Case 5), the rate of increase in the average round-trip time due to the increase in the number of pools is reduced.

実験ケース6の測定結果について移動に要した時間を横軸に、発生頻度を縦軸にとったグラフを図30に示す。ここで、移動に要する時間のばらつきや特徴に着目する。ここで見られる傾向は、他の実験ケースと同様に平均往復時間が短い方式ほど短い時間で往復を完了する頻度が高いものであった。   FIG. 30 shows a graph in which the time taken for movement of the measurement result of Experiment Case 6 is plotted on the horizontal axis and the occurrence frequency is plotted on the vertical axis. Here, attention is paid to variations and characteristics of time required for movement. The tendency seen here is that the frequency of completing the round trip is shorter in the shorter average round trip time as in the other experimental cases.

最後に、提案方式及び従来方式に基づいたプログラムが使用するメモリ量を起動直後(移動実験前)と移動実験を行った後について測定した。移動実験後の測定では,エージェントの往復を1000回実行した後に使用しているメモリ量が安定した段階でデータを取得した。提案方式については移動時間の実験と同様に、待機しているエージェントの数を4個、10個、20個に設定し、それぞれについて測定を行った。この結果を図31に表す。   Finally, the amount of memory used by the program based on the proposed method and the conventional method was measured immediately after startup (before the movement experiment) and after the movement experiment. In the measurement after the movement experiment, the data was acquired at the stage where the amount of memory used was stable after 1000 round trips of the agent. For the proposed method, the number of waiting agents was set to 4, 10, and 20 as in the experiment of the travel time, and measurement was performed for each. The result is shown in FIG.

起動直後に使用するメモリ量は、いずれの方式及びプール数においてもほぼ同じ大きさであった。具体的にはプール数を4に設定した提案方式と従来方式の差は28kB、プール数を20に設定した提案方式と従来方式の差は48kBであった。この差が待機エージェントを用意しておくために必要となるメモリ量である。この程度のメモリ使用量は全体からすると無視できる大きさといえる。一方、実際に移動した後のメモリ使用量については従来方式及び提案方式のプール数を変化させた場合の傾向は、起動直後の場合よりも差が大きくなった。具体的には、プール数を4に設定した提案方式と従来方式の差は176kB、プール数を20に設定した提案方式と従来方式の差は500kBであった。このように起動直後よりも差が広がるのは、以下に示す要因が影響するためである。
(1)提案方式においては、実行中エージェントの集合と待機中エージェントの集合を管理している。
(2)集合の要素数が多くなるに連れ、必要とするメモリ領域も増大する。
(3)要素の追加や削除に伴い、新たなメモリ領域の設定を行う場合がある。
(4)ガーベージコレクションが実行されるまでは、不要となったメモリ領域も確保されたまま残る。
(5)ヒープ領域は、ある程度余裕をもって確保される。
尚、エージェントの移動が終了し、ガーベージコレクションを実行した後に存在するインスタンス数の差は起動直後と同程度となった。また、ログを出力するエージェントシステムとその処理を行わないエージェントシステム2においてメモリ使用量が異なるが、これはログを出力するためのオブジェクトを生成し実行するために必要なメモリ量の差である。
The amount of memory used immediately after startup was almost the same in both methods and the number of pools. Specifically, the difference between the proposed method in which the number of pools is set to 4 and the conventional method is 28 kB, and the difference between the proposed method in which the number of pools is set to 20 and the conventional method is 48 kB. This difference is the amount of memory required to prepare the standby agent. It can be said that this amount of memory usage is negligible on the whole. On the other hand, regarding the memory usage after the actual migration, the difference when the number of pools of the conventional method and the proposed method is changed is larger than that immediately after the startup. Specifically, the difference between the proposed method in which the number of pools is set to 4 and the conventional method is 176 kB, and the difference between the proposed method in which the number of pools is set to 20 and the conventional method is 500 kB. The reason why the difference becomes wider than that immediately after startup is because the following factors influence.
(1) In the proposed method, a set of active agents and a set of waiting agents are managed.
(2) The required memory area increases as the number of elements in the set increases.
(3) A new memory area may be set with the addition or deletion of an element.
(4) Until garbage collection is executed, the memory area that is no longer needed remains secured.
(5) The heap area is secured with some margin.
It should be noted that the difference in the number of instances that exist after the agent move was completed and the garbage collection was executed was almost the same as immediately after startup. In addition, the amount of memory used differs between the agent system that outputs the log and the agent system 2 that does not perform the processing, but this is the difference in the amount of memory required to generate and execute the object for outputting the log.

本発明にかかるモバイルエージェント移動の高速化方法及び移動高速化モバイルエージェントによる事故区間分離処理方法の実施形態において、MAFDAPSにおけるQoS制御の様子を示す図である。It is a figure which shows the mode of the QoS control in MAFDAPS in embodiment of the speed-up method of the mobile agent movement concerning this invention and the accident area isolation | separation processing method by a mobile speed-up mobile agent. MAFDAPSにおける優先度に基づいたスレッドの処理内容を示す図である。It is a figure which shows the processing content of the thread | sled based on the priority in MAFDAPS. スレッドプーリングを組み込んだMAFDAPSにおけるエージェントの移動の様子を示す図である。It is a figure which shows the mode of the movement of the agent in MAFDAPS incorporating thread pooling. 待機エージェントを準備する際の流れを示すフローチャートである。It is a flowchart which shows the flow at the time of preparing a standby agent. 受信部(緊急処理用)において、移動してきたエージェントの受信/処理関連づけ/待機エージェント起動までの流れを示すフローチャートである。FIG. 10 is a flowchart showing a flow from reception of a moving agent to reception / processing association / start of a standby agent in a reception unit (for emergency processing). FIG. 待機している緊急処理エージェントの起動から再度待機するまでの流れを示すフローチャートである。It is a flowchart which shows the flow from starting of the emergency processing agent which waits until it waits again. 受信部(緊急処理用)におけるエージェントの待機モード移行に関するフローチャートである。It is a flowchart regarding the standby mode transition of the agent in a receiving part (for emergency processing). 需要地系統における事故区間分離の流れを示すフローチャート(その1)である。It is a flowchart (the 1) which shows the flow of the accident area separation in a demand place system | strain. 需要地系統における事故区間分離の流れを示すフローチャート(その2)である。It is a flowchart (the 2) which shows the flow of the accident area separation in a demand place system. スレッドプーリングを組み込んだ場合のMAFDAPSにおけるオブジェクトクラス構成の一例を示す図である。It is a figure which shows an example of the object class structure in MAFDAPS at the time of incorporating thread pooling. モバイルエージェントを用いる際の事故区間分離処理の一例を示す図である。It is a figure which shows an example of the accident area separation process at the time of using a mobile agent. 受信側装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of a receiving side apparatus. JavaRMIにおけるコネクション設定の一例を示す図である。It is a figure which shows an example of the connection setting in JavaRMI. MAFDAPSにおけるコネクション設定の一例を示す図であり、(a)は緊急処理エージェント用のコネクション、(b)は迅速処理エージェント用のコネクションの設定の一例を示す図である。It is a figure which shows an example of the connection setting in MAFDAPS, (a) is a figure which shows an example of the connection for emergency processing agents, and (b) is an example of the setting of the connection for rapid processing agents. 実施例1における実験システムの構成を示す図である。1 is a diagram illustrating a configuration of an experimental system in Example 1. FIG. エージェントが一往復するのに要する移動時間を10ミリ秒ごとに区切って発生頻度を表したグラフとその回数を示す図である。It is the figure which divided | segmented the movement time required for an agent to make one reciprocation every 10 milliseconds, and the figure which showed the frequency | count. 実験システムに設置した二つのMAFDAPS間で、緊急処理エージェントが100回往復する実験を、従来の移動とスレッドプーリングを用いた移動のそれぞれについて合計10回行った際の一往復に要する移動時間の推移を示すグラフである。Transition of travel time required for one round trip when performing an experiment in which the emergency processing agent reciprocates 100 times between two MAFDAPS installed in the experiment system for each of the conventional movement and the movement using thread pooling. It is a graph which shows. 実験システムに設置した二つのMAFDAPS間で、緊急処理エージェントが100回往復する実験を、従来の移動とスレッドプーリングを用いた移動のそれぞれについて合計10回行った際の試行ケースごとの改善率を示すグラフである。The rate of improvement for each trial case is shown when the experiment in which the emergency processing agent reciprocates 100 times between two MAFDAPS installed in the experimental system is performed a total of 10 times for each of the conventional movement and the movement using thread pooling. It is a graph. 実施例2の実験ケース1における緊急処置エージェントの平均往復時間を示すグラフである。6 is a graph showing an average round-trip time of an emergency treatment agent in Experiment Case 1 of Example 2. 実施例2の実験ケース1における緊急処置エージェントの往復の所要時間の発生頻度を示すグラフである。It is a graph which shows the occurrence frequency of the time required for the round trip of the emergency treatment agent in the experimental case 1 of Example 2. 実施例2の実験ケース2における緊急処置エージェントの平均往復時間を示すグラフである。6 is a graph showing an average round-trip time of an emergency treatment agent in Experimental Case 2 of Example 2. 実施例2の実験ケース2における緊急処置エージェントの往復の所要時間の発生頻度を示すグラフである。It is a graph which shows the occurrence frequency of the time required for the round trip of the emergency treatment agent in Experiment Case 2 of Example 2. 実施例2の実験ケース3における緊急処置エージェントの平均往復時間を示すグラフである。6 is a graph showing an average round-trip time of an emergency treatment agent in Experiment Case 3 of Example 2. 実施例2の実験ケース3における緊急処置エージェントの往復の所要時間の発生頻度を示すグラフである。It is a graph which shows the occurrence frequency of the time required for the round-trip time of the emergency treatment agent in Experimental Case 3 of Example 2. 実施例2の実験ケース4における緊急処置エージェントの平均往復時間を示すグラフである。It is a graph which shows the average round-trip time of the emergency treatment agent in the experiment case 4 of Example 2. 実施例2の実験ケース4における緊急処置エージェントの往復の所要時間の発生頻度を示すグラフである。It is a graph which shows the occurrence frequency of the time required for the round-trip time of the emergency treatment agent in the experimental case 4 of Example 2. 実施例2の実験ケース5における緊急処置エージェントの平均往復時間を示すグラフである。It is a graph which shows the average round-trip time of the emergency treatment agent in the experiment case 5 of Example 2. 実施例2の実験ケース5における緊急処置エージェントの往復の所要時間の発生頻度を示すグラフである。It is a graph which shows the occurrence frequency of the time required for the round trip of the emergency treatment agent in the experimental case 5 of Example 2. 実施例2の実験ケース6における緊急処置エージェントの平均往復時間を示すグラフである。It is a graph which shows the average round-trip time of the emergency treatment agent in the experiment case 6 of Example 2. 実施例2の実験ケース6における緊急処置エージェントの往復の所要時間の発生頻度を示すグラフである。It is a graph which shows the occurrence frequency of the time required for the round-trip time of the emergency treatment agent in the experimental case 6 of Example 2. 実施例2におけるメモリ使用量を示すグラフである。6 is a graph showing memory usage in Example 2. 従来のモバイルエージェントの移動方法におけるエージェントの移動の様子を示す図である。It is a figure which shows the mode of the movement of the agent in the movement method of the conventional mobile agent.

符号の説明Explanation of symbols

1 送信側装置
2 通信網
3 受信側装置
3a 緊急処理用受信部
11 待機エージェント設定部
12 エージェント復元部
13 エージェント抽出部
14 エージェント関連づけ部
15 実行開始部
16 処理終了通知部
17 スレッド再利用部
DESCRIPTION OF SYMBOLS 1 Transmission side apparatus 2 Communication network 3 Reception side apparatus 3a Emergency process reception part 11 Standby agent setting part 12 Agent restoration part 13 Agent extraction part 14 Agent correlation part 15 Execution start part 16 Process end notification part 17 Thread reuse part

Claims (5)

送信側装置と受信側装置が通信網を介して相互に接続されたモバイルエージェントシステムにおけるモバイルエージェントの移動方法において、前記モバイルエージェントは優先度に応じて分類されていると共に前記受信側装置は前記モバイルエージェントのうち前記優先度が最も高いモバイルエージェントを受信する緊急処理用受信部を有し、前記送信側装置は前記受信側装置の緊急処理用受信部に対する仮想的な回線であるコネクションを保持するコネクション保持部を有し、前記受信側装置がスレッドを有する待機エージェントを予め生成して待機させておき、前記優先度が最も高いモバイルエージェントが前記送信側装置から前記受信側装置へ移動する場合には当該優先度が最も高いモバイルエージェントが前記送信側装置のコネクション保持部から前記受信側装置の緊急処理用受信部への前記コネクションを管理するオブジェクトを得ると共に当該オブジェクトを利用して前記受信側装置へと移動し、当該受信側装置、前記送信側装置から前記優先度が最も高いモバイルエージェントを前記緊急処理用受信部により受信したときに、前記待機エージェントと前記優先度が最も高いモバイルエージェントが有する処理内容オブジェクトを関連づけ、当該処理内容オブジェクトを関連づけられた待機エージェントの前記スレッドを起動することを特徴とするモバイルエージェント移動の高速化方法。 The mobile method of mobile agents in mobile agent system the transmission side apparatus and the receiving-side apparatus are connected to each other via a communication network, the mobile agent the receiving device with being classified according to priority the An emergency processing receiving unit that receives the mobile agent having the highest priority among mobile agents is included, and the transmitting side device holds a connection that is a virtual line to the emergency processing receiving unit of the receiving side device has a connection holding section, a standby agent the receiving device to have a thread allowed to stand to produce Me pre highest mobile agent the priority is moved from said transmitting device to said receiving device In this case, the mobile agent with the highest priority is connected to the transmitting device. Using the object moves into the receiving device from the Deployment holder with obtaining an object for managing the connection to the emergency processing receiving unit of the receiving device, the receiving device, the transmitting device the priority is the highest mobile agent when received by the emergency processing receiving unit, it associates the processing content objects the priority and the waiting agent has the highest mobile agent associated to the processing content objects from A method for speeding up mobile agent movement characterized by activating the thread of a waiting agent. 前記受信側装置が、前記待機エージェントに関連づけられた前記優先度が最も高いモバイルエージェントの処理内容を実行後、更に、当該待機エージェントに関連づけられた前記処理内容オブジェクトを廃棄し、当該待機エージェントを生成時の状態に戻すことを特徴とする請求項1に記載のモバイルエージェント移動の高速化方法。 The receiving apparatus, after executing the processing content of the highest priority mobile agent associated with the standby agent, further, discard the processing content object associated with the standby agent, generating the standby Agent 2. The method of speeding up mobile agent movement according to claim 1, wherein the mobile agent moves back to the time state. 前記待機エージェントを複数生成し、前記受信側装置に待機させておくことを特徴とする請求項1または2のいずれかに記載のモバイルエージェント移動の高速化方法。   3. The method for speeding up mobile agent movement according to claim 1, wherein a plurality of the waiting agents are generated and the receiving side apparatus is made to wait. 送信側装置と受信側装置が通信網を介して相互に接続されたモバイルエージェントシステムにおいて、前記モバイルエージェントは優先度に応じて分類されており、前記受信側装置は前記モバイルエージェントのうち前記優先度が最も高いモバイルエージェントを受信する緊急処理用受信部を有し、前記送信側装置は前記受信側装置の緊急処理用受信部に対する仮想的な回線であるコネクションを保持するコネクション保持部を有し、前記受信側装置がスレッドを有する待機エージェントを生成して待機させ、前記優先度が最も高いモバイルエージェントが前記送信側装置から前記受信側装置へ移動する場合には当該優先度が最も高いモバイルエージェントが前記送信側装置のコネクション保持部から前記受信側装置の緊急処理用受信部への前記コネクションを管理するオブジェクトを得ると共に当該オブジェクトを利用して前記受信側装置へと移動し、当該受信側装置が、前記送信側装置から前記優先度が最も高いモバイルエージェントを前記緊急処理用受信部により受信したときに、前記待機エージェントと前記優先度が最も高いモバイルエージェントが有する処理内容オブジェクトを関連づけ、当該処理内容オブジェクトを関連づけられた待機エージェントの前記スレッドを起動することを特徴とするモバイルエージェント移動の高速化システム。 In the transmitting device and the receiving device mobile agent systems connected to each other via a communication network, wherein the mobile agent is classified according to the priority, the priority the receiving side apparatus of the mobile agent A receiving unit for emergency processing for receiving the mobile agent having the highest degree , and the transmitting side device has a connection holding unit for holding a connection that is a virtual line to the receiving unit for emergency processing of the receiving side device , the receiving side apparatus is waiting to generate a waiting agent to have a thread, the highest priority mobile such highest priority if the mobile agent moves from the transmitting device to the receiving device The agent transfers from the connection holding unit of the transmission side device to the emergency processing reception unit of the reception side device. The object for managing the connection is obtained and moved to the receiving device using the object, and the receiving device receives the mobile agent having the highest priority from the transmitting device as the emergency processing receiving unit. mobile agents upon receipt, characterized in that the priority and the waiting agent associates the processing content object having the highest mobile agent, activating the threads waiting agent associated with the processing content objects by High speed moving system. 前記受信側装置が、前記待機エージェントに関連づけられた前記優先度が最も高いモバイルエージェントの処理内容を実行後、更に、当該待機エージェントに関連づけられた前記処理内容オブジェクトを廃棄し、当該待機エージェントを生成時の状態に戻すことを特徴とする請求項に記載のモバイルエージェント移動の高速化システム。 The receiving device, before Symbol after executing the processing content of the highest mobile agent the priority associated with the standby agent, further, discard the processing content object associated with the standby agent, the waiting agent The mobile agent speeding-up system according to claim 4 , wherein the system is returned to a state at the time of generation.
JP2006042798A 2005-02-21 2006-02-20 Mobile agent movement acceleration method, mobile agent movement acceleration system Expired - Fee Related JP4791846B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006042798A JP4791846B2 (en) 2005-02-21 2006-02-20 Mobile agent movement acceleration method, mobile agent movement acceleration system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005043808 2005-02-21
JP2005043808 2005-02-21
JP2006042798A JP4791846B2 (en) 2005-02-21 2006-02-20 Mobile agent movement acceleration method, mobile agent movement acceleration system

Publications (2)

Publication Number Publication Date
JP2006260549A JP2006260549A (en) 2006-09-28
JP4791846B2 true JP4791846B2 (en) 2011-10-12

Family

ID=37099651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006042798A Expired - Fee Related JP4791846B2 (en) 2005-02-21 2006-02-20 Mobile agent movement acceleration method, mobile agent movement acceleration system

Country Status (1)

Country Link
JP (1) JP4791846B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536407A (en) * 2014-12-17 2015-04-22 中国南方电网有限责任公司调峰调频发电公司 Method for issuing concurrency control instruction to IEC61850 intelligent device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706516A (en) * 1995-01-23 1998-01-06 International Business Machines Corporation System for communicating messages among agent processes
JP3845497B2 (en) * 1997-07-29 2006-11-15 インターナショナル・ビジネス・マシーンズ・コーポレーション Computer system
JPH11249919A (en) * 1998-03-05 1999-09-17 Mitsubishi Electric Corp Procedure call processing method and stub generation method
JPH11345215A (en) * 1998-05-29 1999-12-14 Toshiba Corp State managing method of mobile agent, its system and recording medium programming and recording the method
US7207043B2 (en) * 2002-12-31 2007-04-17 International Business Machines Corporation Programmatic response-time based workload distribution techniques
US7467390B2 (en) * 2003-04-01 2008-12-16 International Business Machines Corporation Enhanced staged event-driven architecture

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536407A (en) * 2014-12-17 2015-04-22 中国南方电网有限责任公司调峰调频发电公司 Method for issuing concurrency control instruction to IEC61850 intelligent device

Also Published As

Publication number Publication date
JP2006260549A (en) 2006-09-28

Similar Documents

Publication Publication Date Title
US10348809B2 (en) Naming of distributed business transactions
CN111831420B (en) Method for task scheduling, related device and computer program product
CN105357038B (en) Monitor the method and system of cluster virtual machine
US20200379805A1 (en) Automated cloud-edge streaming workload distribution and bidirectional migration with lossless, once-only processing
US8479202B2 (en) Method and system for autonomic application program spawning in a computing environment
CN112800017B (en) Distributed log collection method, device, medium and electronic equipment
CN103744734A (en) Method, device and system for task operation processing
KR20110002809A (en) Execution allocation cost assessment for computing systems and environments including elastic computing systems and environments
CN104321764B (en) The advance system and method taken out and early execute for program code
CN115640110B (en) Distributed cloud computing system scheduling method and device
KR101055548B1 (en) Semantic Computing-based Dynamic Job Scheduling System for Distributed Processing
CN107071030A (en) The dispositions method and system of a kind of Ceph distributed memory systems
JP2016146020A (en) Data analysis system and analysis method
JP4791846B2 (en) Mobile agent movement acceleration method, mobile agent movement acceleration system
CN111782147A (en) Method and apparatus for cluster scale-up
CN111694645B (en) Task processing method and related device in distributed task scheduling system
CN111597026B (en) Method and device for acquiring information
JPWO2007108062A1 (en) Server management method, program and apparatus
CN112099933A (en) Task operation and query method and device, electronic equipment and storage medium
CN116737560B (en) Intelligent training system based on intelligent guide control
US20230196175A1 (en) CENTRALIZING PROVISION OF QUANTUM CORE SERVICES (QCSs)
KR101282786B1 (en) A multi-agent system and a method for managing of an agent in multi-agent system
JP5884595B2 (en) Message communication method, message communication program, and computer
WO2020166374A1 (en) Processing system, processing method, higher-level system, lower-level system, higher-level program, and lower-level program
US10999350B2 (en) Supercomputer system, method of data transmission in such supercomputer system and associated computer program product

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20060222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100922

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110719

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: 20110722

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

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

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

LAPS Cancellation because of no payment of annual fees