JP2005332082A - Distributed processing system and distributed processing program - Google Patents

Distributed processing system and distributed processing program Download PDF

Info

Publication number
JP2005332082A
JP2005332082A JP2004148239A JP2004148239A JP2005332082A JP 2005332082 A JP2005332082 A JP 2005332082A JP 2004148239 A JP2004148239 A JP 2004148239A JP 2004148239 A JP2004148239 A JP 2004148239A JP 2005332082 A JP2005332082 A JP 2005332082A
Authority
JP
Japan
Prior art keywords
processing
task
agent
information
communication channel
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.)
Granted
Application number
JP2004148239A
Other languages
Japanese (ja)
Other versions
JP4279196B2 (en
Inventor
Koichi Nakayama
功一 中山
Katsunori Shimohara
勝憲 下原
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.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
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 ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2004148239A priority Critical patent/JP4279196B2/en
Publication of JP2005332082A publication Critical patent/JP2005332082A/en
Application granted granted Critical
Publication of JP4279196B2 publication Critical patent/JP4279196B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a distributed processing program which realizes efficient distributed processing and task sharing in many computers connected via a network. <P>SOLUTION: The distributed processing program uses a plurality of agent programs movable among a plurality of computers through a network communication channel so as to perform the distributed processing of tasks including multiple kinds of processing to be chronologically executed. Each agent program associates and stores, based on a movement table, a processing program for executing the tasks, processing data for executing the tasks, communication channel information indicating a communication channel to which the program belongs, the movement table and evaluation values in the storage device of a computer to which the program belongs after it moves (Step S110). Each agent program is subjected to disruption processing (Step S112) in accordance with an evaluation value, and processing for separating the communication channels is executed in case that the number of the agent programs belonging to the same communication channel is over a prescribed number (Step S116). <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、ネットワークで接続された多数のコンピュータからなるシステムにおいて、一つのタスクを異なる多数の計算機資源を用いて分散処理する分散処理システムおよび分散処理プログラムに関する。   The present invention relates to a distributed processing system and a distributed processing program for performing distributed processing of one task using a large number of different computer resources in a system composed of a large number of computers connected by a network.

コンピュータやネットワークの普及により、さまざまな種類の多くのコンピュータからなる、さまざまな形態で接続されたネットワークが増加している。   With the spread of computers and networks, networks connected in various forms, consisting of many computers of various types, are increasing.

このような状況の下、近年、多数のコンピュータからなるユビキタスコンピューティングが注目されている(たとえば、非特許文献1を参照)。ユビキタスコンピューティングでは、計算機資源の分布などのネットワーク環境が未知な場合や動的に変化する場合が想定される。   Under such circumstances, in recent years, ubiquitous computing including a large number of computers has attracted attention (see, for example, Non-Patent Document 1). In ubiquitous computing, it is assumed that the network environment such as the distribution of computer resources is unknown or changes dynamically.

このような環境における分散処理の最適化には、ネットワーク構造や処理手順の適応的な獲得が期待される。   In the optimization of distributed processing in such an environment, adaptive acquisition of the network structure and processing procedure is expected.

一方で、マルチエージェントシステム(以下、MASと記す)の研究として、たとえば、エージェントが知覚できる範囲の情報である利得や報酬、評価などを個体最適性と定義し、システムの大域的目的として、すべてのエージュントがそれぞれの行動から得る利得の総和をシステム最適性とそれぞれ定義したときに、エージェント学習によるシステム最適性の向上をシミュレート可能な「動的離隔型遺伝的アルゴリズム(Dynamically Separating Genetic Algorithms、以下、DS−GAと記す)」(たとえば、非特許文献2を参照)や「動的離隔型学習アルゴリズム(Dynamically Separating Learning Algorithms、以下、DS−LAと記す)」(たとえば、非特許文献3を参照)の提案がなされている。   On the other hand, as research on multi-agent systems (hereinafter referred to as MAS), for example, the gain, reward, and evaluation, which are information within the range perceived by agents, are defined as individual optimality. Dynamically Separating Genetic Algorithms (below) that can simulate the improvement of system optimization by agent learning when each agent defines the total gain gained from each action as system optimization. , DS-GA) ”(for example, see Non-Patent Document 2) and“ Dynamically Separating Learning Algorithms (hereinafter, referred to as DS-LA) ”(for example, see Non-Patent Document 3) ) Has been proposed.

このDS−GAは、個体数に応じて個体を「コロニー」と呼ぶグループに動的に離隔する遺伝的アルゴリズム(以下、GA)である。個体を離隔する遺伝的アルゴリズムとしては、他に島モデルGAなどがあるが、DS−GAは離隔状態が個体数に応じて動的に変化する点で異なる。
Mark Weiser, “The Computer for the 21st Century,” Scientific American, Vol. 265, No. 3, pp. 99-104, 1991. 中山 功一、松井博和、野村由司彦著:動的離隔型GA(DS−GA)の提案、情報処理学会論文誌:数理モデル化と応用、Vol.43, No.SIG10(TOM7), pp.95-109, Nov.2002. K. Nakayama, H. Matsui、 K. Shimohara, O. Katai,“Proposal of Dynamically Separating Learning Algorithm for Interactive Computers (DS-LA): Optimization of collective performance in networked computers,” The journal of three dimensional images, Vol. 18, No. 1, pp. 87-94, 2004.
This DS-GA is a genetic algorithm (hereinafter referred to as GA) that dynamically separates individuals into groups called “colony” according to the number of individuals. Other genetic algorithms for separating individuals include the island model GA, but the DS-GA differs in that the separation state changes dynamically according to the number of individuals.
Mark Weiser, “The Computer for the 21st Century,” Scientific American, Vol. 265, No. 3, pp. 99-104, 1991. Koichi Nakayama, Hirokazu Matsui, Yujihiko Nomura: Proposal of Dynamically Isolated GA (DS-GA), Transactions of Information Processing Society of Japan: Mathematical Modeling and Application, Vol.43, No.SIG10 (TOM7), pp .95-109, Nov.2002. K. Nakayama, H. Matsui, K. Shimohara, O. Katai, “Proposal of Dynamically Separating Learning Algorithm for Interactive Computers (DS-LA): Optimization of collective performance in networked computers,” The journal of three dimensional images, Vol. 18, No. 1, pp. 87-94, 2004.

しかしながら、従来は、上述したようなコンピュータネットワーク上に多数のコンピュータが存在する場合に、MASを用いることで、一つのタスクを異なる多数の計算機資源を用いて効率良く分散処理するための手法が、必ずしも明らかでない、という問題があった。   However, conventionally, when a large number of computers exist on the computer network as described above, a method for efficiently performing distributed processing of one task using a large number of different computer resources by using MAS is as follows. There was a problem that was not always obvious.

本発明は、上記のような問題を解決するためになされたものであって、その目的は、ネットワークで接続された多数のコンピュータにおいて、効率の良い分散処理やタスク共有を実現する分散処理システムおよび分散処理プログラムを提供することである。   The present invention has been made to solve the above problems, and an object of the present invention is to provide a distributed processing system that realizes efficient distributed processing and task sharing in a large number of computers connected via a network. It is to provide a distributed processing program.

このような目的を達成するために、本発明の分散処理システムは、時系列で実行される複数の処理を含む所定のタスクを分散処理するための分散処理システムであって、ネットワークを介して相互に通信可能な複数の情報処理機器を備え、各情報処理機器は、複数のチャンネルのうち選択を指示した通信チャンネルで、ネットワークと通信するための通信手段と、複数の処理のうち対応する処理を実行するための情報処理手段と、処理を行うための情報を格納する記憶手段とを含み、情報処理手段は、複数の情報処理機器間を通信チャンネルを介して移動可能な複数のエージェント演算処理手段を含み、各エージェント演算処理手段は、タスクに対応し現在所属する情報処理機器と移動先の処理機器とを関連づける移動テーブルに基づいて通信し、移動後に所属する情報処理機器の記憶手段に、タスクを実行するための処理プログラムと、タスクを実行するための処理データと、所属する通信チャンネルを示す通信チャンネル情報と、移動テーブルと、評価値とを関連づけて格納させる移動手段と、所属する情報処理機器の記憶手段に格納される情報に基づいて、タスクの複数の処理のうち、所属する情報処理機器に対応する処理を実行するタスク処理手段と、タスクの処理が完了することに応じて、評価値を更新する評価値更新手段と、評価値の値に応じて、エージェント演算処理手段の分裂処理を行う分裂処理手段と、同一の通信チャンネルに属する複数のエージェント演算処理手段の個数が所定数を超えることに応じて、同一の通信チャンネルに属する複数のエージェント演算処理手段に対応する通信チャンネルを離隔する処理を行う通信チャンネル離隔手段とを含む。   In order to achieve such an object, a distributed processing system of the present invention is a distributed processing system for distributed processing of a predetermined task including a plurality of processes executed in time series, and is mutually connected via a network. A plurality of information processing devices capable of communicating with each other, and each information processing device performs communication processing for communicating with a network on a communication channel instructed to select among the plurality of channels, and corresponding processing among the plurality of processing. Information processing means for executing and storage means for storing information for processing, wherein the information processing means is a plurality of agent arithmetic processing means movable between a plurality of information processing devices via a communication channel Each of the agent calculation processing means is based on a movement table that associates an information processing apparatus that currently belongs to a task and a processing apparatus that is a movement destination. The processing means for executing the task, the processing data for executing the task, the communication channel information indicating the belonging communication channel, the movement table, the evaluation, Task processing for executing processing corresponding to the information processing device to which the processing belongs among a plurality of processing of the task based on information stored in the storage means of the information processing device to which the information belongs and moving means for storing the values in association with each other The same communication with the means, the evaluation value updating means for updating the evaluation value in response to completion of the task processing, and the division processing means for performing the division processing of the agent arithmetic processing means in accordance with the value of the evaluation value When the number of agent calculation processing means belonging to a channel exceeds a predetermined number, a plurality of agent operations belonging to the same communication channel are processed. And a communication channel separating means for performing processing for separating the communication channels corresponding to the processing means.

好ましくは、各エージェント演算処理手段は、通信チャンネルのうち、選択された通信チャンネルに属するエージェント演算処理手段に消去処理を指示する消去指示手段をさらに含む。   Preferably, each agent computation processing means further includes an erasure instruction means for instructing the agent computation processing means belonging to the selected communication channel among the communication channels to perform erasure processing.

好ましくは、分裂処理手段は、分裂前のエージェント演算処理手段に付随する処理プログラムと、処理データと、通信チャンネル情報と、移動テーブルとを引き継いだエージェント演算処理手段を生成する。   Preferably, the division processing means generates an agent calculation processing means that takes over the processing program associated with the agent calculation processing means before division, the processing data, the communication channel information, and the movement table.

好ましくは、分裂処理手段は、所定の突然変異確率で、移動テーブルを更新する突然変異処理手段を含む。   Preferably, the division processing means includes a mutation processing means for updating the movement table with a predetermined mutation probability.

好ましくは、移動手段は、さらに、複数のタスクのうち対応するエージェント演算処理手段の処理するタスクを指定するタスク指定情報と、複数のタスクごとに対応する複数の処理を関連づけたタスク処理手順テーブルとを移動後に所属する情報処理機器の記憶手段に格納させ、タスク処理手段は、タスク指定情報により指定されるタスクの所属する情報処理機器に対応する処理を実行する。   Preferably, the moving unit further includes task designation information for designating a task to be processed by the corresponding agent calculation processing unit among a plurality of tasks, and a task processing procedure table in which a plurality of processes corresponding to each of the plurality of tasks are associated with each other. Is stored in the storage means of the information processing equipment to which the task belongs after the movement, and the task processing means executes processing corresponding to the information processing equipment to which the task specified by the task specification information belongs.

この発明の他の局面に従うと、時系列で実行される複数の処理を含む所定のタスクを分散処理するために、複数の情報処理機器間をネットワークの通信チャンネルを介して移動可能な複数のエージェントプログラムを用いた分散処理プログラムであって、各エージェントプログラムは、タスクに対応し現在所属する情報処理機器と移動先の処理機器とを関連づける移動テーブルに基づいて、複数のチャンネルのうち選択を指示した通信チャンネルでネットワークと通信し、移動後に所属する情報処理機器の記憶手段に、タスクを実行するための処理プログラムと、タスクを実行するための処理データと、所属する通信チャンネルを示す通信チャンネル情報と、移動テーブルと、評価値とを関連づけて格納させる移動ステップと、所属する情報処理機器の記憶手段に格納される情報に基づいて、タスクの複数の処理のうち、所属する情報処理機器に対応する処理を実行するタスク処理ステップと、タスクの処理が完了することに応じて、評価値を更新する評価値更新ステップと、評価値の値に応じて、エージェント演算処理手段の分裂処理を行う分裂処理ステップと、同一の通信チャンネルに属する複数のエージェント演算処理手段の個数が所定数を超えることに応じて、同一の通信チャンネルに属する複数のエージェント演算処理手段に対応する通信チャンネルを離隔する処理を行う通信チャンネルステップとを、情報処理機器に実行させる。   According to another aspect of the present invention, a plurality of agents that can move between a plurality of information processing devices via a communication channel of a network in order to perform distributed processing of a predetermined task including a plurality of processes executed in time series A distributed processing program that uses a program, and each agent program instructs selection of a plurality of channels based on a movement table that corresponds to a task and associates an information processing device that currently belongs to a processing device that is a movement destination. A communication program that communicates with a network through a communication channel, and stores a processing program for executing a task, processing data for executing the task, and communication channel information indicating the communication channel to which the task belongs. , Movement step to store the movement table and evaluation value in association with each other, and the information to which it belongs Based on the information stored in the storage means of the physical device, out of a plurality of tasks processing, a task processing step for executing processing corresponding to the information processing device to which it belongs, and in response to completion of the task processing, An evaluation value update step for updating the evaluation value, a split processing step for splitting the agent arithmetic processing means according to the value of the evaluation value, and a predetermined number of a plurality of agent arithmetic processing means belonging to the same communication channel In response, the information processing device is caused to execute a communication channel step for performing processing for separating communication channels corresponding to a plurality of agent calculation processing means belonging to the same communication channel.

好ましくは、各エージェントプログラムは、通信チャンネルのうち、選択された通信チャンネルに属するエージェントプログラムに消去処理を指示する消去指示ステップをさらに含む。   Preferably, each agent program further includes an erasure instruction step for instructing an erasure process to an agent program belonging to the selected communication channel among the communication channels.

好ましくは、分裂処理ステップは、分裂前のエージェント演算処理手段に付随する処理プログラムと、処理データと、通信チャンネル情報と、移動テーブルとを引き継いだエージェントプログラムを生成するステップを含む。   Preferably, the division processing step includes a step of generating an agent program that takes over the processing program associated with the agent calculation processing means before the division, the processing data, the communication channel information, and the movement table.

好ましくは、分裂処理ステップは、所定の突然変異確率で、移動テーブルを更新する突然変異処理ステップを含む。   Preferably, the division processing step includes a mutation processing step of updating the movement table with a predetermined mutation probability.

好ましくは、移動ステップは、さらに、複数のタスクのうち対応するエージェント演算処理手段の処理するタスクを指定するタスク指定情報と、複数のタスクごとに対応する複数の処理を関連づけたタスク処理手順テーブルとを移動後に所属する情報処理機器の記憶手段に格納させるステップを含み、タスク処理ステップは、タスク指定情報により指定されるタスクの所属する情報処理機器に対応する処理を実行する。   Preferably, the moving step further includes task designation information for designating a task to be processed by the corresponding agent calculation processing means among a plurality of tasks, a task processing procedure table in which a plurality of processes corresponding to each of the plurality of tasks are associated with each other. Is stored in the storage means of the information processing device to which the task belongs after the movement, and the task processing step executes processing corresponding to the information processing device to which the task designated by the task designation information belongs.

以下、図面を参照して本発明の実施の形態について説明する。   Embodiments of the present invention will be described below with reference to the drawings.

(本発明の概要)
本発明においては、ネットワークなどで接続された多数のコンピュータが、それぞれエージェントと呼ぶ自律的に処理を実行するプログラムを多数用いて、一つのタスクを異なる多数の計算機資源を用いて効率良く分散処理する。
(Outline of the present invention)
In the present invention, a large number of computers connected by a network or the like use a large number of autonomously executing programs called agents, and efficiently distribute one task using a large number of different computer resources. .

以下にも説明するとおり、本発明では、コンピュータネットワーク全体での分散処理を最適化する手法として、マルチエージェントシステム(MAS)の学習手法、特に、上述したMASの学習手法の一つであるDS−LAを用いる。   As will be described below, in the present invention, as a method for optimizing the distributed processing in the entire computer network, a multi-agent system (MAS) learning method, in particular, DS-- which is one of the above-described MAS learning methods. Use LA.

DS−LAでは、エージェントをコロニーと呼ぶ集団に動的に離隔している。エージェントは、それぞれ特定の集団に所属する。そして、DS−LAでは、エージェントの相互作用を、原則として、その集団内に制限する。また、高いパフォーマンスを得る他のエージェントの所属集団を真似する。その結果、集団の構成は動的に変化する。   In DS-LA, agents are dynamically separated into groups called colonies. Each agent belongs to a specific group. In DS-LA, the interaction of agents is restricted within the group in principle. Also imitate the group of other agents who get high performance. As a result, the composition of the group changes dynamically.

より特定的には、本発明においては、この「集団」の一例として、ネットワーク全体をチャンネルと呼ぶ相互干渉のないいくつかのネットワークに仮想的に分割する。各チャンネルに所属するエージェント数が増加した場合、そのチャンネルに所属するエージェントは動的に離隔される。   More specifically, in the present invention, as an example of this “group”, the entire network is virtually divided into several networks called channels that have no mutual interference. When the number of agents belonging to each channel increases, agents belonging to that channel are dynamically separated.

本発明においては、一つのタスクを異なる多数の計算機資源を用いて分散処理するという目的を達成するために、コンピュータに所属する多数のエージェントが、コンピュータ間を移動しながら移動先の計算機資源を用いてタスクを処理する。各エージェントは、処理データとその処理プログラム(処理プログラムコード)、条件ごとの移動先、移動に用いる通信チャンネル、及び自己評価値などの情報をもつ。コンピュータは、計算機資源の一部を所属するエージェントに提供する。エージェントは、コンピュータウイルスとは異なり、提供された計算機資源でのみタスクを処理する。エージェントの移動は、各エージェントの属する通信チャンネルを介して行われる。   In the present invention, in order to achieve the purpose of distributed processing of one task using a large number of different computer resources, a large number of agents belonging to the computer use the destination computer resources while moving between the computers. Process the task. Each agent has information such as processing data and its processing program (processing program code), a destination for each condition, a communication channel used for movement, and a self-evaluation value. The computer provides a part of the computer resources to the agent to which it belongs. Unlike computer viruses, agents process tasks only with the provided computer resources. The agent is moved through the communication channel to which each agent belongs.

DS−LAによる学習において、エージェントはチャンネルごとに離隔され、ネットワーク上で自らが知覚できる情報のみに基づいて更新される自己評価値が規定値を超えたものは分裂する。エージェント数が規定値を超えたチャンネルは、さらに動的に離隔される。   In learning by DS-LA, agents are separated for each channel, and those whose self-evaluation values updated based on only information that can be perceived by themselves on the network exceed a specified value are split. Channels in which the number of agents exceeds the specified value are further separated dynamically.

このエージェントの学習により分散処理の効率化が図られることになるが、効率化の際に、処理順序(直列分散)もエージェント学習により最適化される。これに伴い、ネットワークの構造自体、言い換えると、上述したようなコンピュータの集団の構造もエージェント学習により最適化を行うことができる。   The efficiency of distributed processing is achieved by learning of this agent, but the processing order (serial distribution) is also optimized by learning of agent at the time of efficiency improvement. Accordingly, the network structure itself, in other words, the computer group structure as described above can be optimized by agent learning.

[発明の実施の形態]
図1は、本発明の分散処理システム1000の一例を示す概念図である。
[Embodiment of the Invention]
FIG. 1 is a conceptual diagram showing an example of a distributed processing system 1000 according to the present invention.

図1を参照して、システム1000は、無線ネットワークにより相互に通信が可能なコンピュータ10.1〜10.Nと、コンピュータ10.1〜10.Nを相互に無線ネットワークにより、いわゆる「インフラストラクチャモード」により接続することが可能な無線アクセスポイント20とを備える。   Referring to FIG. 1, system 1000 includes computers 10.1 to 10. that can communicate with each other via a wireless network. N and computers 10.1-10. And a wireless access point 20 that can connect N to each other by a wireless network in a so-called “infrastructure mode”.

ここで、無線アクセスポイント20と各コンピュータ10.1〜10.Nとは、所定の通信周波数帯を複数の周波数帯にさらに分割したチャンネルのいずれかにより通信を行うものとする。そして、あるチャンネルで通信するコンピュータと、他のチャンネルで通信するコンピュータとは、ネットワークとしては分離されているものとする。さらに、後に説明するように、各コンピュータ10.1〜10.Nは、自己に所属するエージェントプログラムに応じて、通信するチャンネルを学習経過に基づいて変更することが可能であるものとする。したがって、無線アクセスポイント20は、一台で複数のチャンネルでの通信を同時に行うことが可能な構成を有するものとする。また、後に説明するように、通常は、異なるチャンネル間の通信を許可しないものの、所定のブロードキャスト通信では、異なるチャンネル間での通信も許されるものとする。   Here, the wireless access point 20 and the computers 10.1 to 10. N is assumed to perform communication through one of channels obtained by further dividing a predetermined communication frequency band into a plurality of frequency bands. It is assumed that a computer that communicates on a certain channel and a computer that communicates on another channel are separated as a network. Further, as will be described later, each computer 10.1-10. N can change the channel to be communicated based on the learning process according to the agent program belonging to the user. Therefore, the wireless access point 20 has a configuration capable of simultaneously performing communication on a plurality of channels with one unit. As will be described later, communication between different channels is normally not permitted, but communication between different channels is also permitted in predetermined broadcast communication.

また、このようなネットワークの例を考える場合、ネットワークの構成は、図1のような無線ネットワークに限られず、各コンピュータが、自己の通信するチャンネルを選択できる構成であれば、有線ネットワークでもかまわない。   Further, when considering an example of such a network, the configuration of the network is not limited to the wireless network as shown in FIG. 1, and may be a wired network as long as each computer can select a channel with which the computer communicates. .

なお、図1は、あくまでも本発明を説明するための具体例の1つであり、より一般的には、本発明は、以下のような条件をみたすコンピュータネットワークシステムに適用可能なものである。   FIG. 1 is only one specific example for explaining the present invention, and more generally, the present invention can be applied to a computer network system that satisfies the following conditions.

(本発明を適用するシステムの条件)
i)ネットワークで接続されている多数のコンピュータが存在する。
(Conditions of the system to which the present invention is applied)
i) There are many computers connected by a network.

ii)上記コンピュータのハードウェア構成や処理能力は不均質でもかまわない。   ii) The hardware configuration and processing capability of the computer may be inhomogeneous.

iii)「処理すべきデータ」や「処理系(プログラムなど)」を持つ自律的で移動可能なエージェントと呼ぶプログラムが多数存在する、このエージェントに割り当てられるタスクも不均質でかまわない。   iii) There are many programs called autonomous and mobile agents having "data to be processed" and "processing systems (programs, etc.)", and tasks assigned to these agents may be inhomogeneous.

iv)コンピュータは、エージェントに計算機資源を提供する。エージェントは、自らのタスク処理系により、コンピュータ内で自律的に処理する
[ハードウェア構成]
図2に、図1に示したコンピュータ10.1の外観を例として示す図である。
iv) The computer provides computer resources to the agent. Agents process autonomously in computers using their task processing system [Hardware configuration]
FIG. 2 is a diagram illustrating an example of the appearance of the computer 10.1 illustrated in FIG.

図2を参照してこのコンピュータ10.1は、CD−ROM(Compact Disc Read-Only Memory )等のディスク118上の情報を読込むためのディスクドライブ108およびフレキシブルディスク(Flexible Disk、以下FD)116に情報を読み書きするためのFDドライブ106を備えたコンピュータ本体102と、コンピュータ本体102に接続された表示装置としてのディスプレイ104と、同じくコンピュータ本体102に接続された入力装置としてのキーボード110およびマウス112と、コンピュータ本体102に接続された無線通信装置114とを含む。   Referring to FIG. 2, this computer 10.1 stores information in a disk drive 108 for reading information on a disk 118 such as a CD-ROM (Compact Disc Read-Only Memory) and a flexible disk (FD) 116. A computer main body 102 having an FD drive 106 for reading and writing, a display 104 as a display device connected to the computer main body 102, a keyboard 110 and a mouse 112 as input devices also connected to the computer main body 102, A wireless communication device 114 connected to the computer main body 102.

図3は、このコンピュータ10.1の構成をブロック図形式で示す図である。   FIG. 3 is a block diagram showing the configuration of the computer 10.1.

図3に示されるように、このコンピュータ10.1を構成するコンピュータ本体102は、ディスクドライブ108およびFDドライブ106に加えて、それぞれバスBSに接続されたCPU(Central Processing Unit )120と、ROM(Read Only Memory) およびRAM (Random Access Memory)を含むメモリ122と、直接アクセスメモリ装置、たとえば、ハードディスク124と、無線通信装置114とデータの授受を行うための通信インタフェース128とを含んでいる。ディスクドライブ108にはディスク118が装着される。FDドライブ106にはFD116が装着される。   As shown in FIG. 3, in addition to the disk drive 108 and the FD drive 106, the computer main body 102 constituting the computer 10.1 includes a CPU (Central Processing Unit) 120 and a ROM (ROM) connected to the bus BS, respectively. It includes a memory 122 including a read only memory (RAM) and a random access memory (RAM), a direct access memory device, for example, a hard disk 124, and a communication interface 128 for exchanging data with the wireless communication device 114. A disk 118 is loaded in the disk drive 108. An FD 116 is attached to the FD drive 106.

なお、ディスク118は、コンピュータ本体に対してインストールされるプログラム等の情報を記録可能な媒体であれば、CD−ROM以外の他の媒体、たとえば、DVD−ROM(Digital Versatile Disc)やメモリカードなどでもよく、その場合は、コンピュータ本体102には、これらの媒体を読取ることが可能なドライブ装置が設けられる。   The disc 118 is a medium other than a CD-ROM, such as a DVD-ROM (Digital Versatile Disc) or a memory card, as long as it can record information such as a program installed in the computer main body. In this case, the computer main body 102 is provided with a drive device that can read these media.

本発明の分散処理システムの主要部は、コンピュータハードウェアと、CPU120により実行されるソフトウェアとにより構成される。一般的にこうしたソフトウェアはディスク118、FD116等の記憶媒体に格納されて流通し、ディスクドライブ108またはFDドライブ106等により記憶媒体から読取られてハードディスク124に一旦格納される。または、当該装置がネットワークに接続されている場合には、ネットワーク上のサーバから一旦ハードディスク124にコピーされる。そうしてさらにハードディスク124からメモリ122中のRAMに読出されてCPU120により実行される。なお、ネットワーク接続されている場合には、ハードディスク124に格納することなくRAMに直接ロードして実行するようにしてもよい。   The main part of the distributed processing system of the present invention is composed of computer hardware and software executed by the CPU 120. Generally, such software is stored and distributed in a storage medium such as the disk 118 or the FD 116, read from the storage medium by the disk drive 108 or the FD drive 106, and temporarily stored in the hard disk 124. Alternatively, when the device is connected to the network, it is temporarily copied from the server on the network to the hard disk 124. Then, the data is further read from the hard disk 124 to the RAM in the memory 122 and executed by the CPU 120. In the case of network connection, the program may be directly loaded into the RAM and executed without being stored in the hard disk 124.

図2および図3に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の最も本質的な部分は、FD116、ディスク118、ハードディスク124等の記憶媒体に記憶されたソフトウェアである。   The computer hardware itself and its operating principle shown in FIGS. 2 and 3 are general. Therefore, the most essential part of the present invention is software stored in a storage medium such as the FD 116, the disk 118, and the hard disk 124.

なお、一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要な時に呼び出して処理を進める方式が一般的である。そうした場合、当該分散処理システムを実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめて分散処理システムが実現することになる。しかし、一般的なプラットフォームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体(およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号)が実施の形態を構成すると考えることができる。   As a general tendency, various program modules are prepared as a part of a computer operating system, and an application program generally calls a module in a predetermined arrangement and advances the processing when necessary. In such a case, the software itself for realizing the distributed processing system does not include such a module, and the distributed processing system is realized only when the computer cooperates with the operating system. However, as long as a general platform is used, it is not necessary to distribute software including such modules, and the software itself not including these modules and the recording medium storing the software (and the software distributes on the network). Data signal) can be considered to constitute the embodiment.

なお、他のコンピュータ10.2〜10.Nも、コンピュータ10.1と基本的には、同様な構成を有する。   Other computers 10.2 to 10. N also has basically the same configuration as the computer 10.1.

[本発明による分散処理システムの基本的原理]
[DS−LAの概要]
図4は、DS−LAの概念を示す図である。
[Basic Principle of Distributed Processing System According to the Present Invention]
[Overview of DS-LA]
FIG. 4 is a diagram illustrating the concept of DS-LA.

DS−LAは、更新された行動戦略による行動戦略の上書きと、所属変更による動的離隔をもつアルゴリズムである。以下に説明する行動戦略の上書きとして、エージェントの移動先を示すテーブルの更新が行なわれ、自身に付随する評価値が所定値を超えたエージェントは分裂し、分裂する際には、この移動先を示すテーブル(行動戦略)は引き継ぐ。さらに、所属するチャンネルのエージェント数が、所定数を越えたチャネルに属するエージェントは、図4に示すとおり2つのチャンネルに離隔される。このような動的離隔では、個々のエージェントは、複数のチャンネルと呼ぶ仮想集団のいずれかに所属し、他のチャンネルに属するエージェントとは、原則的に相互作用しない。あるチャンネルに所属するコンピュータ数がある限度以上増加する場合、たとえば、そのチャンネルに所属するエージェントの半数は新しいチャンネルに所属を変更する。   DS-LA is an algorithm having an overwriting of an action strategy by an updated action strategy and a dynamic separation by an affiliation change. As an overwriting of the action strategy described below, the table indicating the agent's destination is updated, and agents whose evaluation value associated with them exceeds a predetermined value are split. The table (action strategy) shown is taken over. Further, agents belonging to channels whose number of agents belonging to a channel exceeds a predetermined number are separated into two channels as shown in FIG. In such dynamic separation, each agent belongs to one of a virtual group called a plurality of channels, and in principle does not interact with agents belonging to other channels. If the number of computers belonging to a channel increases beyond a certain limit, for example, half of the agents belonging to that channel change their affiliation to a new channel.

[シミュレーション実験に用いるDS−LAのアルゴリズム]
図5は、DS−LAのアルゴリズムを説明するためのフローチャートである。
[DS-LA algorithm used for simulation experiments]
FIG. 5 is a flowchart for explaining the DS-LA algorithm.

以下、図5を参照して、DS−LAのアルゴリズムについて、さらに詳しく説明する。   Hereinafter, the DS-LA algorithm will be described in more detail with reference to FIG.

なお、以下で各エージェントが行う処理は、エージェントに付随して移動する対応するタスクの処理プログラムに基づいて、その時点で当該エージェントが所属するコンピュータのCPU120が実行するものである。   Note that the processing performed by each agent below is executed by the CPU 120 of the computer to which the agent belongs at that time based on the processing program of the corresponding task that moves accompanying the agent.

(1)初期化
まず、システム1000には、DS−LAを適用するN台(N:2以上の自然数)のコンピュータ、たとえば、5つのコンピュータ{A,B,C,D,E}、所定数、たとえば10000の通信チャンネル、および所定数、たとえば100000のエージェントが存在するものとする。すなわち、以下の説明では、コンピュータ10.1〜10.Nとして、コンピュータA〜Eがシステム1000に存在するものとする。
(1) Initialization First, the system 1000 includes N computers (N: a natural number of 2 or more) to which DS-LA is applied, for example, five computers {A, B, C, D, E}, a predetermined number. For example, assume that there are 10,000 communication channels and a predetermined number, for example, 100,000 agents. That is, in the following description, the computers 10.1 to 10. Assume that computers A to E exist in the system 1000 as N.

各コンピュータA〜Eにおいて、まず、以下の初期設定の処理が行われる(ステップ100)。   In each of the computers A to E, first, the following initial setting process is performed (step 100).

各エージェントは、ランダムに選択したコンピュータ、およびチャンネルに所属し、自らの評価値、処理すべきタスクの種類、処理すべきタスクのデータ、および移動するコンピュータを示すテーブルをもつ。   Each agent belongs to a randomly selected computer and channel, and has a table indicating its own evaluation value, the type of task to be processed, task data to be processed, and the computer to be moved.

ここで、図6は、あるエージェントが、コンピュータAに所属する際に、コンピュータAのハードディスク124内に格納するデータテーブルの例を示す図である。   FIG. 6 is a diagram showing an example of a data table stored in the hard disk 124 of the computer A when a certain agent belongs to the computer A.

すなわち、このエージェントは、たとえば、ハードディスク124の所定の記憶領域に、自分の所属するコンピュータを示す変数BLpc、処理するタスクの種類Tk、処理すべきタスクのデータD、所属チャンネル番号Nchan(i)、評価値U(i、t)および後に説明するようにして獲得した自身と同一チャネルに属するエージェントの個数Nagを格納している。また、処理の単位時間の経過を示す変数tを1とする。   That is, this agent stores, for example, in a predetermined storage area of the hard disk 124, a variable BLpc indicating a computer to which the agent belongs, a task type Tk to be processed, data D of a task to be processed, an assigned channel number Nchan (i), The evaluation value U (i, t) and the number Nag of agents belonging to the same channel as the self acquired as described later are stored. Further, a variable t indicating the passage of unit time of processing is set to 1.

「変数BLpc」は、この例では、コンピュータ{A,B,C,D,E}のうちの何れかの値をとる。   In this example, “variable BLpc” takes any value of the computers {A, B, C, D, E}.

「所属チャンネル番号Nchan(i)」は、i番目のエージェントが所属するチャンネルを示す番号であり、ここでは、Nchan(i) ∈{1,2,…,Nchansum(=10000)}であるものとする。   “Affiliation channel number Nchan (i)” is a number indicating a channel to which the i-th agent belongs, and here, Nchan (i) ∈ {1, 2,..., Nchansum (= 10000)}. To do.

「評価値U(i、t)」は、自らの累積評価に基づく各コンピュータの学習指標であり、初期値U(i、0)は、たとえば「10」である。   “Evaluation value U (i, t)” is a learning index of each computer based on its own cumulative evaluation, and initial value U (i, 0) is, for example, “10”.

さらに、図7は、あるエージェントが、コンピュータAに所属する際に、コンピュータAのハードディスク124内に格納する、タスクの処理手順テーブルおよび移動先のコンピュータを示す移動テーブルの例を示す図である。   Further, FIG. 7 is a diagram illustrating an example of a task processing procedure table and a migration table indicating a migration destination computer that are stored in the hard disk 124 of the computer A when a certain agent belongs to the computer A.

図7(A)に示すとおり、タスクの種類として、たとえば2つのタスクXおよびタスクYがあるとき、「タスクの処理手順テーブル」には、タスクXでは、第1〜第5の処理として、処理a、処理b、処理c、処理d、処理eがこの順序で行なわれ、タスクYでは、第1〜第5の処理として、処理a、処理c、処理e、処理b、処理dがこの順序で行なわれるとの情報が格納される。   As shown in FIG. 7A, when there are, for example, two tasks X and Y as the types of tasks, the “task processing procedure table” includes processing as the first to fifth processing in task X. a, process b, process c, process d, and process e are performed in this order, and in task Y, process a, process c, process e, process b, and process d are performed in this order as the first to fifth processes. Stores information that is performed in

一方、図7(B)に示すとおり、「移動テーブル」には、タスクI(I=X,Y)を行なっているエージェントが、あるタイムステップにおいてコンピュータJ(J=A,B,C,D,E)に所属する場合に、次のタイムステップでどのコンピュータに移動するかを示す情報T(J,I)(ここで、T(J,I)∈{A,B,C,D,E})が格納されている。   On the other hand, as shown in FIG. 7B, in the “movement table”, an agent performing a task I (I = X, Y) has a computer J (J = A, B, C, D) at a certain time step. , E), information T (J, I) (where T (J, I) ∈ {A, B, C, D, E) indicating to which computer to move to in the next time step. }) Is stored.

以上の「移動テーブル」、所属チャンネル番号Nchan(i)および評価値U(i、t)は、学習によりその値が変化する。   The values of the “movement table”, the assigned channel number Nchan (i), and the evaluation value U (i, t) change as a result of learning.

初期の「移動テーブル」としては、T(J,X)およびT(J,Y)とも、{A,B,C,D,E}から無作為に選択された値を有するものとし、初期チャンネル番号としても無作為に選択されたチャンネル番号を持つものとする。また、各エージェントは、自身と同一チャンネル内に存在する他のエージェントを照会し、照会の結果得られる個数Nagをハードディスク124中に記録しておくものとする。   As an initial “movement table”, T (J, X) and T (J, Y) have values randomly selected from {A, B, C, D, E}, and the initial channel It shall have the channel number chosen at random as a number. Each agent inquires about another agent existing in the same channel as the agent, and the number Nag obtained as a result of the inquiry is recorded in the hard disk 124.

再び、図5を参照して、初期設定に続いて以下の処理が行われる。   Referring to FIG. 5 again, following the initial setting, the following processing is performed.

(2)タスク獲得:タスクを保持していない、またはタスクを完了したエージェントは、無作為に選択されたタスクXまたはYを得る(ステップS102)。言い換えると、エージェントが発生する乱数にしたがって、いずれかのタスクを自己の処理する対象とするかを選択する。   (2) Task acquisition: An agent that does not hold a task or completes a task obtains a randomly selected task X or Y (step S102). In other words, according to a random number generated by the agent, one of the tasks is selected for processing.

(3)タスク処理:各エージェントは、ステップS102において選択されたタスクに応じて、図7(A)に従う処理手順を行う(ステップS104)。ここで、コンピュータA、B、C、D、Eに所属するエージェントは、それぞれ、処理a、処理b、処理c、処理d、処理eを行うことができる。このとき、エージェントは、自己の所属するコンピュータが、その時点で行うべき処理に対応していないときには、この単位時間の処理においては、タスク処理についての処理を行わず、次のステップへ処理を進める。   (3) Task processing: Each agent performs a processing procedure according to FIG. 7A according to the task selected in step S102 (step S104). Here, the agents belonging to the computers A, B, C, D, and E can perform the process a, the process b, the process c, the process d, and the process e, respectively. At this time, if the computer to which the agent belongs does not correspond to the processing to be performed at that time, the processing for the unit time is not performed for the processing of the unit time, and the processing proceeds to the next step. .

なお、各コンピュータで、いずれの処理が可能かは、各コンピュータが情報として格納しておき、エージェントがコンピュータに問い合わせることにより判断できる。または、各エージェントが、各コンピュータでいずれの処理が可能かのテーブルを保持しつつ移動することとしてもよいし、あるいは、各エージェントが、現在所属するコンピュータのハードウェアの情報を診断して、現時点で行うべき処理が、現在所属するコンピュータで実行可能かをその都度判断することとしてもよい。   Each computer can determine which processing is possible by storing each computer as information, and the agent inquiring the computer. Alternatively, each agent may move while holding a table of what processing is possible on each computer, or each agent diagnoses hardware information of the computer to which it currently belongs and It may be determined each time whether the processing to be performed in step S3 can be executed by the computer to which the user currently belongs.

(4)タスク完了判定:各エージェントはタスクを完了したかを判定し(ステップS106)、タスクの処理を完了したエージェントは、評価値を、たとえば、以下の式にしたがって更新する(ステップS108)。   (4) Task completion determination: Each agent determines whether the task has been completed (step S106), and the agent that has completed the processing of the task updates the evaluation value, for example, according to the following equation (step S108).

U(i、t)=U(i、t−1)+(50−t×2)
すなわち、より短い時間でタスクを完了したエージェントほど評価値が増加し、所定の時間以上をタスク完了に要したエージェントの評価値は、初期値を下回ることになる。
U (i, t) = U (i, t−1) + (50−t × 2)
In other words, the evaluation value increases as the agent completes the task in a shorter time, and the evaluation value of the agent that took a predetermined time or longer to complete the task falls below the initial value.

なお、タスクが終了したエージェントは、たとえば、処理の結果を所定のコンピュータに通知するものとしておけば、ユーザは、タスクの処理結果を閲覧することができる。   For example, if the agent that has finished the task notifies the predetermined computer of the processing result, the user can view the processing result of the task.

一方、タスクが完了していない場合は、処理はステップS110に移行する。   On the other hand, if the task has not been completed, the process proceeds to step S110.

(5)移動:各エージェントは、10の状態空間(タスクの種類×所属するコンピュータの種類)ごとに移動テーブルの値(T(J,I)∈{A,B,C,D,E})に従い、自らの保持するタスクと共に移動する(ステップS110)。   (5) Migration: Each agent has a migration table value (T (J, I) ∈ {A, B, C, D, E}) for each of 10 state spaces (task type × computer type to which it belongs). And moves with the task held by itself (step S110).

すなわち、各エージェントは、図6に示したデータテーブルの情報ならびに図7に示した「タスクの処理手順テーブル」および「移動テーブル」の情報を伴って移動する。言い換えると、移動元のCPU120は、エージェントの処理プログラム自身と、図6に示したデータテーブルの情報ならびに図7に示した「タスクの処理手順テーブル」および「移動テーブル」の情報とを、エージェントに対応する通信チャネルを介して送信し、移動先のコンピュータのハードディスク124に格納させる。移動先のCPU120は、これら移動してきたエージェントの処理プログラムと付随する情報とに基づいて、処理を実行する。   That is, each agent moves with the information of the data table shown in FIG. 6 and the information of the “task processing procedure table” and “movement table” shown in FIG. In other words, the source CPU 120 sends the agent processing program itself, the information in the data table shown in FIG. 6 and the information in the “task processing procedure table” and “movement table” shown in FIG. The data is transmitted via the corresponding communication channel and stored in the hard disk 124 of the destination computer. The destination CPU 120 executes processing based on the processing program of the agent that has moved and the accompanying information.

(6)エージェントの分裂:続いて、各エージェントは分裂処理を実行する(ステップS112)。   (6) Agent splitting: Subsequently, each agent executes splitting processing (step S112).

図8は、このような分裂処理の手順を示すフローチャートである。図8を参照して、エージェントの評価値が、所定の値、たとえば、初期評価値の2倍を越えた場合(ステップS200)、そのエージェントは分裂する(ステップS202)。このとき、評価値の分配も行われる(ステップS202)。たとえば、分裂後の各エージェントの評価値は、分裂前の評価値の半分ずつになり、移動テーブルは引き継ぐ。   FIG. 8 is a flowchart showing the procedure of such division processing. Referring to FIG. 8, when the evaluation value of the agent exceeds a predetermined value, for example, twice the initial evaluation value (step S200), the agent is divided (step S202). At this time, evaluation values are also distributed (step S202). For example, the evaluation value of each agent after division is half of the evaluation value before division, and the movement table is taken over.

つまり、エージェントの分裂では、エージェントは、自身に付随する、処理プログラムと、処理データと、通信チャンネル情報と、移動テーブルとを引き継いだエージェントを、所属するコンピュータのハードディスク124上に生成する。   That is, in the splitting of the agent, the agent generates on the hard disk 124 of the computer to which the agent belongs the agent that succeeded the processing program, processing data, communication channel information, and movement table associated with the agent.

続いて、突然変異確率Pmut(たとえば、Pmut=0.05)に従いテーブルの値が変異する。このとき、突然変異確率に従い、突然変異を行うこととなったときには、たとえば、T(J,X)およびT(J,Y)とも、{A,B,C,D,E}から無作為に値を選択するものとする。   Subsequently, the values in the table are changed according to the mutation probability Pmut (for example, Pmut = 0.05). At this time, when mutation is to be performed according to the mutation probability, for example, both T (J, X) and T (J, Y) are randomly selected from {A, B, C, D, E}. A value shall be selected.

(7)チャンネルの動的離隔:再び、図5を参照して、続いて、各エージェントは、所属するエージェント数が限界個体数(たとえば、10)を超えたか否かを判断し(ステップS114)、限界数を超えている場合は、当該チャンネルに所属するエージェントは、2つのチャンネルに離隔される(ステップS116)。このときは、同一のチャンネルに属するエージェントは相互に通信可能であるので、たとえば、無線アクセスポイント20に現在空き状態であるチャネルを照会した上で、相互に情報を交換して、従前のチャンネルに残るエージェントと、新しいチャンネル(空チャンネル)に移るエージェントを決定する。なお、このとき、2つのグループは、ほぼ同数となるようにするとの条件を付加してもよい。   (7) Channel dynamic separation: Again referring to FIG. 5, each agent determines whether or not the number of agents to which it belongs has exceeded the limit number of individuals (for example, 10) (step S114). If the limit number is exceeded, the agent belonging to the channel is separated into two channels (step S116). At this time, since agents belonging to the same channel can communicate with each other, for example, the wireless access point 20 is inquired about a channel that is currently idle, and then exchanges information with each other so that the previous channel is obtained. Determine the remaining agents and agents to move to a new channel (empty channel). At this time, a condition may be added so that the two groups have substantially the same number.

さらに、たとえば、チャンネル離隔を行ったエージェントのうち、元のチャンネルに残存したエージェントは、相互通信によりランダムに他のチャンネルを選択し、ブロードキャスト通信により、その選択されたチャンネルに所属する全てのエージェントに対して消去を指示する。消去が指示されたチャンネルに属するエージェントは自身を消去する(ステップS118)。   Further, for example, among agents that have separated channels, agents remaining in the original channel randomly select other channels by mutual communication, and by broadcast communication to all agents belonging to the selected channel. Instructs erasure. The agent belonging to the channel instructed to delete deletes itself (step S118).

続いて、変数tをインクリメントして、処理は、ステップS102に復帰する。   Subsequently, the variable t is incremented, and the process returns to step S102.

このようなステップS102からステップS118までの処理を行う期間を「単位時間」と呼ぶ。   A period during which the processing from step S102 to step S118 is performed is referred to as “unit time”.

以上説明したようなエージェントの動作により、各エージェントは、この場合510通りの移動テーブルから最適なものを学習する。 The operation of the agent as described above, each agent learns the optimum one moving table in this case 5 10 ways.

(シミュレーション実験の結果)
図9は、実験結果の一つとして、移動テーブルにおける状態空間ごとの個体数比率の時間変化を示す図である。
(Results of simulation experiment)
FIG. 9 is a diagram showing the change over time in the individual number ratio for each state space in the movement table as one of the experimental results.

たとえば、タスクXをコンピュータAで実行するエージェントについて、次の移動先T(A,X)は、時間の経過とともに、コンピュータBに収束していく。他のコンピュータB〜Eについても、特定の移動先に収束する。   For example, for an agent that executes task X on computer A, the next destination T (A, X) converges on computer B over time. Other computers B to E converge to a specific destination.

同様に、タスクYをコンピュータAで実行するエージェントについて、次の移動先T(A,Y)は、時間の経過とともに、コンピュータCに収束していく。タスクYにおいても、他のコンピュータB〜Eおける移動先は、特定のコンピュータに収束する。   Similarly, for the agent that executes the task Y on the computer A, the next destination T (A, Y) converges on the computer C as time passes. Also in the task Y, the movement destinations in the other computers B to E converge to a specific computer.

図10は、このようにして移動先が収束した際に生成されるタスク処理のネットワークを示す図である。   FIG. 10 is a diagram showing a network of task processes generated when the movement destination converges in this way.

図10に示すとおり、タスクXについては、コンピュータA→コンピュータB→コンピュータC→コンピュータD→コンピュータE→コンピュータAというネットワークができる。これは、タスクXの処理の順序に対応したネットワークである。   As shown in FIG. 10, for task X, a network of computer A → computer B → computer C → computer D → computer E → computer A is created. This is a network corresponding to the processing order of task X.

同様に、タスクYについては、コンピュータA→コンピュータC→コンピュータE→コンピュータB→コンピュータD→コンピュータAというネットワークができる。これも、タスクYの処理の順序に対応したネットワークである。   Similarly, for task Y, a network of computer A → computer C → computer E → computer B → computer D → computer A can be created. This is also a network corresponding to the processing order of task Y.

図11は、エージェントの平均評価値の時間変化示す図である。時間の経過とともに、各エージェントの評価値の平均値も時間の経過とともに一定値に収束する。   FIG. 11 is a diagram showing temporal changes in the average evaluation value of agents. As time elapses, the average value of the evaluation values of the agents converges to a constant value as time elapses.

図9〜図11に示したこれらの結果から、各エージェントがタスクの種類と自らの所属するコンピュータに応じて最適な移動先を自律的に選択し、高い評価値を獲得していることがわかる。   From these results shown in FIG. 9 to FIG. 11, it can be seen that each agent autonomously selects an optimum destination according to the type of task and the computer to which the agent belongs and obtains a high evaluation value. .

タスク処理の手順やネットワーク状況が未知である多数のエージェントが、DS−LAにより学習することで、コンピュータ間を最適な手順で移動しタスクを処理した実験結果から、創発的なネットワーク生成が可能であることがわかる。   Numerous agents whose task processing procedures and network status are unknown learn by DS-LA, and it is possible to generate emergent networks from experimental results of moving tasks between computers and processing tasks. I know that there is.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

本発明の分散処理システム1000の一例を示す概念図である。It is a conceptual diagram which shows an example of the distributed processing system 1000 of this invention. 図1に示したコンピュータ10.1の外観を例として示す図である。It is a figure which shows the external appearance of the computer 10.1 shown in FIG. 1 as an example. コンピュータ10.1の構成をブロック図形式で示す図である。It is a figure which shows the structure of the computer 10.1 in block diagram format. DS−LAの概念を示す図である。It is a figure which shows the concept of DS-LA. DS−LAのアルゴリズムを説明するためのフローチャートである。It is a flowchart for demonstrating the algorithm of DS-LA. あるエージェントが、コンピュータAに所属する際に、コンピュータAのハードディスク124内に格納するデータテーブルの例を示す図である。4 is a diagram illustrating an example of a data table stored in a hard disk 124 of a computer A when an agent belongs to the computer A. FIG. タスクの処理手順テーブルおよび移動先のコンピュータを示す移動テーブルの例を示す図である。It is a figure which shows the example of the movement procedure table which shows the process sequence table of a task, and a movement destination computer. 分裂処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of a division | segmentation process. 移動テーブルにおける状態空間ごとの個体数比率の時間変化を示す図である。It is a figure which shows the time change of the individual number ratio for every state space in a movement table. 移動先が収束した際に生成されるタスク処理のネットワークを示す図である。It is a figure which shows the network of the task process produced | generated when a movement destination converges. エージェントの平均評価値の時間変化示す図である。It is a figure which shows the time change of the average evaluation value of an agent.

符号の説明Explanation of symbols

10.1〜10.N コンピュータ、20 無線アクセスポイント、102 コンピュータ本体、104 ディスプレイ、106 FDドライブ、108 ディスクドライブ、110 キーボード110、112 マウス、114 無線通信装置、118 CD−ROM、 120 CPU、 122 メモリ、124 ハードディスク、128 通信インタフェース、1000 システム。   10.1-10. N computer, 20 wireless access point, 102 computer main body, 104 display, 106 FD drive, 108 disk drive, 110 keyboard 110, 112 mouse, 114 wireless communication device, 118 CD-ROM, 120 CPU, 122 memory, 124 hard disk, 128 Communication interface, 1000 system.

Claims (10)

時系列で実行される複数の処理を含む所定のタスクを分散処理するための分散処理システムであって、
ネットワークを介して相互に通信可能な複数の情報処理機器を備え、
各前記情報処理機器は、
複数のチャンネルのうち選択を指示した通信チャンネルで、前記ネットワークと通信するための通信手段と、
前記複数の処理のうち対応する処理を実行するための情報処理手段と、
前記処理を行うための情報を格納する記憶手段とを含み、
前記情報処理手段は、前記複数の情報処理機器間を前記通信チャンネルを介して移動可能な複数のエージェント演算処理手段を含み、
各前記エージェント演算処理手段は、
前記タスクに対応し現在所属する前記情報処理機器と移動先の前記処理機器とを関連づける移動テーブルに基づいて通信し、移動後に所属する前記情報処理機器の前記記憶手段に、前記タスクを実行するための処理プログラムと、前記タスクを実行するための処理データと、所属する通信チャンネルを示す通信チャンネル情報と、前記移動テーブルと、評価値とを関連づけて格納させる移動手段と、
所属する前記情報処理機器の前記記憶手段に格納される情報に基づいて、前記タスクの前記複数の処理のうち、前記所属する前記情報処理機器に対応する処理を実行するタスク処理手段と、
前記タスクの処理が完了することに応じて、前記評価値を更新する評価値更新手段と、
前記評価値の値に応じて、前記エージェント演算処理手段の分裂処理を行う分裂処理手段と、
同一の前記通信チャンネルに属する複数の前記エージェント演算処理手段の個数が所定数を超えることに応じて、前記同一の前記通信チャンネルに属する複数の前記エージェント演算処理手段に対応する前記通信チャンネルを離隔する処理を行う通信チャンネル離隔手段とを含む、分散処理システム。
A distributed processing system for distributed processing of a predetermined task including a plurality of processes executed in time series,
It has multiple information processing devices that can communicate with each other via a network.
Each of the information processing devices
A communication means for communicating with the network in a communication channel instructing selection from a plurality of channels;
Information processing means for executing a corresponding process among the plurality of processes;
Storage means for storing information for performing the processing,
The information processing means includes a plurality of agent arithmetic processing means capable of moving between the plurality of information processing devices via the communication channel,
Each of the agent calculation processing means
To communicate based on a movement table that associates the information processing device that currently corresponds to the task and the processing device that is the movement destination, and executes the task in the storage unit of the information processing device that belongs after the movement The processing program, the processing data for executing the task, the communication channel information indicating the communication channel to which the task belongs, the moving table, and a moving means for storing the evaluation value in association with each other,
Based on information stored in the storage means of the information processing device to which the task belongs, out of the plurality of processes of the task, task processing means for executing processing corresponding to the information processing device to which the task belongs,
An evaluation value updating means for updating the evaluation value in response to completion of processing of the task;
In accordance with the value of the evaluation value, splitting processing means for splitting the agent arithmetic processing means,
The communication channels corresponding to the plurality of agent calculation processing units belonging to the same communication channel are separated in accordance with the number of the plurality of agent calculation processing units belonging to the same communication channel exceeding a predetermined number. A distributed processing system including communication channel separation means for performing processing.
各前記エージェント演算処理手段は、前記通信チャンネルのうち、選択された通信チャンネルに属する前記エージェント演算処理手段に消去処理を指示する消去指示手段をさらに含む、請求項1記載の分散処理システム。   2. The distributed processing system according to claim 1, wherein each of the agent computation processing units further includes an erasure instruction unit that instructs the agent computation processing unit belonging to a selected communication channel of the communication channels to perform erasure processing. 前記分裂処理手段は、
分裂前の前記エージェント演算処理手段に付随する前記処理プログラムと、前記処理データと、前記通信チャンネル情報と、前記移動テーブルとを引き継いだエージェント演算処理手段を生成する、請求項1記載の分散処理システム。
The division processing means is
2. The distributed processing system according to claim 1, wherein an agent arithmetic processing unit that inherits the processing program associated with the agent arithmetic processing unit before division, the processing data, the communication channel information, and the movement table is generated. 3. .
前記分裂処理手段は、
所定の突然変異確率で、前記移動テーブルを更新する突然変異処理手段を含む、請求項3記載の分散処理システム。
The division processing means is
The distributed processing system according to claim 3, further comprising a mutation processing unit that updates the movement table with a predetermined mutation probability.
前記移動手段は、さらに、複数のタスクのうち対応する前記エージェント演算処理手段の処理するタスクを指定するタスク指定情報と、前記複数のタスクごとに対応する前記複数の処理を関連づけたタスク処理手順テーブルとを前記移動後に所属する前記情報処理機器の前記記憶手段に格納させ、
前記タスク処理手段は、前記タスク指定情報により指定されるタスクの前記所属する前記情報処理機器に対応する処理を実行する、請求項1記載の分散処理システム。
The moving means further includes a task processing procedure table in which task designation information for designating a task to be processed by the corresponding agent calculation processing means among a plurality of tasks is associated with the plurality of processes corresponding to the plurality of tasks. Are stored in the storage means of the information processing equipment to which the user belongs after the movement,
The distributed processing system according to claim 1, wherein the task processing unit executes a process corresponding to the information processing device to which the task specified by the task specifying information belongs.
時系列で実行される複数の処理を含む所定のタスクを分散処理するために、複数の情報処理機器間をネットワークの通信チャンネルを介して移動可能な複数のエージェントプログラムを用いた分散処理プログラムであって、
各前記エージェントプログラムは、
前記タスクに対応し現在所属する前記情報処理機器と移動先の前記処理機器とを関連づける移動テーブルに基づいて、複数のチャンネルのうち選択を指示した通信チャンネルで前記ネットワークと通信し、移動後に所属する前記情報処理機器の記憶手段に、前記タスクを実行するための処理プログラムと、前記タスクを実行するための処理データと、所属する通信チャンネルを示す通信チャンネル情報と、前記移動テーブルと、評価値とを関連づけて格納させる移動ステップと、
所属する前記情報処理機器の前記記憶手段に格納される情報に基づいて、前記タスクの前記複数の処理のうち、前記所属する前記情報処理機器に対応する処理を実行するタスク処理ステップと、
前記タスクの処理が完了することに応じて、前記評価値を更新する評価値更新ステップと、
前記評価値の値に応じて、前記エージェント演算処理手段の分裂処理を行う分裂処理ステップと、
同一の前記通信チャンネルに属する複数の前記エージェント演算処理手段の個数が所定数を超えることに応じて、前記同一の前記通信チャンネルに属する複数の前記エージェント演算処理手段に対応する前記通信チャンネルを離隔する処理を行う通信チャンネルステップとを、前記情報処理機器に実行させる、分散処理プログラム。
A distributed processing program using a plurality of agent programs that can move between a plurality of information processing devices via a network communication channel in order to perform a distributed processing of a predetermined task including a plurality of processes executed in time series. And
Each said agent program
Based on a movement table that associates the information processing apparatus that currently belongs to the task and the processing apparatus that is the movement destination, communicates with the network through a communication channel instructed to be selected from a plurality of channels, and belongs after movement In the storage unit of the information processing device, a processing program for executing the task, processing data for executing the task, communication channel information indicating a communication channel to which the task belongs, the movement table, an evaluation value, A moving step for storing and associating,
Based on information stored in the storage means of the information processing device to which the task belongs, a task processing step of executing processing corresponding to the information processing device to which the task belongs among the plurality of processes of the task;
An evaluation value update step of updating the evaluation value in response to completion of processing of the task;
In accordance with the value of the evaluation value, a split processing step for performing split processing of the agent arithmetic processing means,
The communication channels corresponding to the plurality of agent calculation processing units belonging to the same communication channel are separated in accordance with the number of the plurality of agent calculation processing units belonging to the same communication channel exceeding a predetermined number. A distributed processing program for causing the information processing device to execute a communication channel step for processing.
各前記エージェントプログラムは、前記通信チャンネルのうち、選択された通信チャンネルに属する前記エージェントプログラムに消去処理を指示する消去指示ステップをさらに含む、請求項6記載の分散処理プログラム。   The distributed processing program according to claim 6, wherein each of the agent programs further includes an erasure instruction step for instructing the agent program belonging to a selected communication channel among the communication channels to perform erasure processing. 前記分裂処理ステップは、
分裂前の前記エージェント演算処理手段に付随する前記処理プログラムと、前記処理データと、前記通信チャンネル情報と、前記移動テーブルとを引き継いだエージェントプログラムを生成するステップを含む、請求項6記載の分散処理プログラム。
The splitting step includes
The distributed processing according to claim 6, comprising a step of generating an agent program that takes over the processing program associated with the agent operation processing means before division, the processing data, the communication channel information, and the movement table. program.
前記分裂処理ステップは、
所定の突然変異確率で、前記移動テーブルを更新する突然変異処理ステップを含む、請求項8記載の分散処理プログラム。
The splitting step includes
The distributed processing program according to claim 8, further comprising a mutation processing step of updating the movement table with a predetermined mutation probability.
前記移動ステップは、さらに、複数のタスクのうち対応する前記エージェント演算処理手段の処理するタスクを指定するタスク指定情報と、前記複数のタスクごとに対応する前記複数の処理を関連づけたタスク処理手順テーブルとを前記移動後に所属する前記情報処理機器の前記記憶手段に格納させるステップを含み、
前記タスク処理ステップは、前記タスク指定情報により指定されるタスクの前記所属する前記情報処理機器に対応する処理を実行する、請求項6記載の分散処理プログラム。
The movement step further includes a task processing procedure table in which task designation information for designating a task to be processed by the corresponding agent arithmetic processing means among a plurality of tasks is associated with the plurality of processes corresponding to the plurality of tasks. And storing in the storage means of the information processing equipment that belongs to after the movement,
The distributed processing program according to claim 6, wherein the task processing step executes processing corresponding to the information processing device to which the task specified by the task specification information belongs.
JP2004148239A 2004-05-18 2004-05-18 Distributed processing system and distributed processing program Expired - Fee Related JP4279196B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004148239A JP4279196B2 (en) 2004-05-18 2004-05-18 Distributed processing system and distributed processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004148239A JP4279196B2 (en) 2004-05-18 2004-05-18 Distributed processing system and distributed processing program

Publications (2)

Publication Number Publication Date
JP2005332082A true JP2005332082A (en) 2005-12-02
JP4279196B2 JP4279196B2 (en) 2009-06-17

Family

ID=35486725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004148239A Expired - Fee Related JP4279196B2 (en) 2004-05-18 2004-05-18 Distributed processing system and distributed processing program

Country Status (1)

Country Link
JP (1) JP4279196B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017191373A (en) * 2016-04-11 2017-10-19 株式会社東芝 Multi-agent system, task assignment device, task assignment method, and program
JP2020086785A (en) * 2018-11-21 2020-06-04 国立大学法人佐賀大学 Information processing system, recommendation system and information processing program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017191373A (en) * 2016-04-11 2017-10-19 株式会社東芝 Multi-agent system, task assignment device, task assignment method, and program
JP2020086785A (en) * 2018-11-21 2020-06-04 国立大学法人佐賀大学 Information processing system, recommendation system and information processing program
JP7126700B2 (en) 2018-11-21 2022-08-29 国立大学法人佐賀大学 Information processing system, recommendation system and information processing program

Also Published As

Publication number Publication date
JP4279196B2 (en) 2009-06-17

Similar Documents

Publication Publication Date Title
Dao et al. Parallel bat algorithm for optimizing makespan in job shop scheduling problems
Nseef et al. An adaptive multi-population artificial bee colony algorithm for dynamic optimisation problems
CN108009016B (en) Resource load balancing control method and cluster scheduler
CN102947796B (en) For the method and apparatus of mobile virtual resource in thimble border in the data
KR102310187B1 (en) A distributed computing system including multiple edges and cloud, and method for providing model for using adaptive intelligence thereof
CN107404523A (en) Cloud platform adaptive resource dispatches system and method
CN102713824A (en) Allocating storage memory based on future use estimates
US20060003823A1 (en) Dynamic player groups for interest management in multi-character virtual environments
JP5182095B2 (en) RESOURCE INFORMATION PROVIDING SYSTEM, METHOD, RESOURCE INFORMATION PROVIDING DEVICE, AND PROGRAM
Siqueira et al. Simplified binary cat swarm optimization
CN111143039B (en) Scheduling method and device of virtual machine and computer storage medium
JP2009528649A (en) Improvements on distributed computing
CN110413282A (en) A kind of redundant resource processing method, device, equipment and storage medium
Li et al. Research on QoS service composition based on coevolutionary genetic algorithm
Bentley et al. Effects of memory on spatial heterogeneity in neutrally transmitted culture
Tsai et al. Isolated particle swarm optimization with particle migration and global best adoption
KR102432809B1 (en) Neural Network Apparatus for Resource Efficient Inference
JP4279196B2 (en) Distributed processing system and distributed processing program
WO2009156809A1 (en) Method, apparatus and computer program product for distributed information management
Nithyanantham et al. Hybrid Deep Learning Framework for Privacy Preservation in Geo-Distributed Data Centre.
CN108182243A (en) A kind of Distributed evolutionary island model parallel method based on Spark
CN116050235A (en) Workflow data layout method under cloud side environment and storage medium
Maia et al. Collective decision-making by bee colonies as model for optimization-the OptBees algorithm
Torkestani A new distributed job scheduling algorithm for grid systems
Lalejini et al. What else is in an evolved name? Exploring evolvable specificity with SignalGP

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061220

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

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

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

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees