JP2008071294A - Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment - Google Patents

Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment Download PDF

Info

Publication number
JP2008071294A
JP2008071294A JP2006251610A JP2006251610A JP2008071294A JP 2008071294 A JP2008071294 A JP 2008071294A JP 2006251610 A JP2006251610 A JP 2006251610A JP 2006251610 A JP2006251610 A JP 2006251610A JP 2008071294 A JP2008071294 A JP 2008071294A
Authority
JP
Japan
Prior art keywords
volunteer
scheduling
mobile agent
task
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006251610A
Other languages
Japanese (ja)
Inventor
Chong Sun Hwang
チョン−スン・ファン
Sung Jin Choi
スン−ジン・チョイ
Hong Soo Kim
ホン−スー・キム
Eun Joung Byun
エウン−ジョウン・ビュン
Seok In Kim
セオク−イン・キム
Soo Jin Goo
スー−ジン・クー
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.)
Industry Academy Collaboration Foundation of Korea University
Original Assignee
Industry Academy Collaboration Foundation of Korea University
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 Industry Academy Collaboration Foundation of Korea University filed Critical Industry Academy Collaboration Foundation of Korea University
Priority to JP2006251610A priority Critical patent/JP2008071294A/en
Publication of JP2008071294A publication Critical patent/JP2008071294A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method of peer-to-peer grid computing based on mobile agents in a computer network including a volunteer server and a plurality of volunteers. <P>SOLUTION: The method comprises steps of classifying the volunteers into a plurality of groups according to their properties; dividing a job into a number of tasks, each task being implemented as a task mobile agent; assigning scheduling mobile agents to the groups; each scheduling mobile agent distributing the task mobile agents to the members of the group; each volunteer executing the task mobile agent in cooperation with its scheduling mobile agent; each task mobile agent returning the result of execution to its scheduling mobile agent; the scheduling mobile agents aggregating the results and returning the results to the volunteer server; and the volunteer server returning a final result to a client. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、一般的にグリッド演算システムに関し、とくにピアツーピアグリッド演算においてモバイルエージェントを利用した適応グループスケジューリング方法に関する。   The present invention generally relates to grid computing systems, and more particularly, to an adaptive group scheduling method using a mobile agent in peer-to-peer grid computing.

グリッド演算システムは、仮想の機構をつくることによって、機関が所有する種々の演算ソースに対してアクセスを提供するプラットフォームである。一方、ピアツーピアグリッド演算システムは、インターネットの端(edge)の個人が所有する多数のアイドル状態のデスクトップコンピュータ(ボランティアという)をピアツーピア演算技術を利用して集約することによって、高スループットの演算を実現するプラットフォームである。ピアツーピアグリッド演算システムは、通常驚くほどの並列アプリケーションをサポートし、自身のデータと共に多くの同じ演算の事例からなる。これらのアプリケーションは、通常長時間にわたって高い処理能力が持続することが要求される科学的な問題に関する。   The grid computing system is a platform that provides access to various computing sources owned by an institution by creating a virtual mechanism. Meanwhile, the peer-to-peer grid computing system realizes high-throughput computing by aggregating a large number of idle desktop computers (called volunteers) owned by individuals at the edge of the Internet using peer-to-peer computing technology. Platform. Peer-to-peer grid computing systems typically support amazing parallel applications and consist of many identical computing cases along with their data. These applications relate to scientific problems that typically require high throughput to last for a long time.

図1に示すように、ピアツーピアグリッド演算環境は、主にクライアント、ボランティアおよびボランティアサーバからなる。クライアントは並列ジョブの提出者である。ボランティアは、アイドル時に演算リソースを提供するリソース提供者である。ボランティアサーバは、提出されたジョブおよびボランティアを制御するセントラルマネージャである。クライアントは、並列ジョブをボランティアサーバに提出する。ジョブは、自身に特定の入力データを有するサブジョブに分けられる。   As shown in FIG. 1, the peer-to-peer grid computing environment mainly consists of clients, volunteers, and volunteer servers. The client is the submitter of the parallel job. Volunteers are resource providers that provide computing resources when idle. The volunteer server is a central manager that controls submitted jobs and volunteers. The client submits the parallel job to the volunteer server. Jobs are divided into sub-jobs that have specific input data.

サブジョブは、タスクと呼ばれる。タスクは、並列コードおよびデータからなる。ボランティアサーバは、スケジューリング機構を用いてタスクをボランティアに配分する。各ボランティアは、ボランティアサーバから継続してデータを要求しながら、アイドル時にタスクを実行する。続いて各ボランティアがタスクを終了したときには、タスクの結果をボランティアサーバに戻す。最後に、ボランティアサーバは、ジョブの最終結果をクライアントに戻す。   A sub job is called a task. A task consists of parallel code and data. The volunteer server distributes tasks to volunteers using a scheduling mechanism. Each volunteer performs a task at idle while continuously requesting data from the volunteer server. Subsequently, when each volunteer finishes the task, the result of the task is returned to the volunteer server. Finally, the volunteer server returns the final result of the job to the client.

ピアツーピアグリッド演算は、インターネットの端にあるデスクトップコンピュータ(すなわちボランティア)に基づくので、異種の能力、障害、変動性(すなわち一時的な存在)
信頼の欠如によって複雑化する。ボランティアは、種々の能力(すなわちCPU、メモリ、ネットワークバンド幅および待ち時間(latency))を有し、リンク障害およびクラッシュ障害の危険にさらされている。とくに、これらは、リソースを提供することに対して何ら見返りを受けない自発的な参加者である。結果として、これらは、一切の制限なく、自由にこの実行に参加でき、かつ離脱することができる。したがって、これらは、種々のボランティアタイム(すなわちリソース提供の時間)を有しており、また、公開実行(すなわちボランティアとしてのタスクの実行)は、予期せぬ離脱によって適宜中止しうる。さらに、ボランティアは、公開実行に完全に専念している訳ではないから、公開実行は、私的実行(すなわち個人ユーザとしての私的なジョブの実行)によって、一時的に停止される。
Peer-to-peer grid operations are based on desktop computers at the edge of the Internet (ie volunteers), so heterogeneous capabilities, obstacles, variability (ie temporary presence)
Complicated by lack of trust. Volunteers have different capabilities (ie CPU, memory, network bandwidth and latency) and are at risk of link failures and crash failures. In particular, these are voluntary participants who do not receive any reward for providing resources. As a result, they are free to join and leave this practice without any restrictions. Therefore, they have various volunteer times (i.e., resource provision times), and public execution (i.e., execution of tasks as volunteers) can be stopped as appropriate due to unexpected withdrawal. Furthermore, since volunteers are not fully devoted to public execution, public execution is temporarily suspended by private execution (ie, execution of private jobs as individual users).

これらの不安定な状況は、ボランティア自律性の障害とみなされる。タスク実行の遅延または妨げを引き起こし、実行の部分的または全体的なロスとなる状況を含むからである。ボランティアは、実行の挙動にしたがって、ボランティア自律性障害の発生率が異なる。さらに、演算に不正に手を加え、改悪された結果を戻す悪質なボランティアもいる。これら性質の異なる特徴によって、ボランティアサーバによるタスクのスケジューリング、および配分されたタスクおよびボランティアの管理が困難になる。   These unstable situations are considered obstacles to volunteer autonomy. This is because it includes a situation that causes delay or hindrance to task execution and results in partial or total loss of execution. Volunteers vary in the incidence of volunteer autonomy failures according to their behavior of execution. In addition, there are some vicious volunteers who tamper with the computation and return the altered results. These different characteristics make it difficult to schedule tasks by the volunteer server and to manage the allocated tasks and volunteers.

ピアツーピアグリッド演算環境における演算の信頼性およびパフォーマンスを改善するために、スケジューリング機構は、異種の特性およびボランティアの変動性に起因するこれらの性質の異なる特徴に適応しなければならない。これを実現するために、ボランティアを類似の特性(とくに、ボランティア自律性障害)を有するグループに分類し、次いで種々のスケジューリング機構、耐故障および複製アルゴリズムを各グループに動的に適用するためのスケジューリング機構が要求される。   In order to improve the reliability and performance of operations in a peer-to-peer grid computing environment, the scheduling mechanism must adapt to the different characteristics of these properties due to heterogeneous characteristics and volunteer variability. To achieve this, volunteers are grouped into groups with similar characteristics (especially volunteer autonomy failures), and then various scheduling mechanisms, fault tolerance and scheduling algorithms for dynamically applying each group to each group Is required.

しかしながら、既存のピアツーピアグリッド演算システムは、グループ毎に基づくスケジューリング機構を提供しない。それに加えて、ボランティアサーバのみが集中的な手法でスケジューリング機構を実行する。結果として、既存の機構は、演算およびボランティアサーバのオーバーヘッドが高くなることに悩まされ、パフォーマンスの低下が生じる。   However, existing peer-to-peer grid computing systems do not provide a scheduling mechanism based on each group. In addition, only the volunteer server executes the scheduling mechanism in a centralized manner. As a result, existing mechanisms suffer from high computational and volunteer server overhead, resulting in performance degradation.

発明の概要
本発明では、スケジューリング機構を動的なピアツーピアグリッド演算環境に適応させるためにモバイルエージェント技術が利用される。
SUMMARY OF THE INVENTION In the present invention, mobile agent technology is utilized to adapt a scheduling mechanism to a dynamic peer-to-peer grid computing environment.

モバイルエージェントは、種々のタスクをユーザのために実行しながら、1つのノードから別のノードへ移行(migrate)するソフトウェアプログラムである。モバイルエージェントは、下記の利点を含む。
1)モバイルエージェントは、必要なサービスおよびデータを含むモバイルエージェントをリモートノードに送出することによって、ネットワーク負荷および待ち時間を減少させることができる。そして、サービスまたはデータは、リモートノードにおいて局所的に実行される。
2)モバイルエージェントは、頻発する断続的な切断を解決することができる。一旦モバイルエージェントが指定ノードに送出されると、ユーザとの直接接続をもはや必要としない。したがって、ユーザを代表するモバイルエージェントは、ユーザ(すなわちモバイルデバイス)がネットワークから切断されうる場合であっても、非同期的かつ自律的に動作する。
A mobile agent is a software program that migrates from one node to another while performing various tasks for the user. Mobile agents include the following advantages.
1) The mobile agent can reduce network load and latency by sending a mobile agent containing the necessary services and data to the remote node. The service or data is then executed locally at the remote node.
2) The mobile agent can resolve frequent intermittent disconnections. Once the mobile agent is sent to the designated node, it no longer needs a direct connection with the user. Thus, the mobile agent representing the user operates asynchronously and autonomously even when the user (ie, mobile device) can be disconnected from the network.

3)モバイルエージェントは、可動性実体(mobility entity)にいくつかのサービスまたはプロトコルを包含するので、動的なサービスのカスタム化およびソフトウェア開発が可能になる。
4)モバイルエージェントは、コンピュータであり、かつ輸送独立であって、現在の実行環境にしたがって自律的に反応するので、異種環境および動的変化に適応することができる。
3) The mobile agent includes several services or protocols in the mobility entity, allowing dynamic service customization and software development.
4) The mobile agent is a computer and transport independent and reacts autonomously according to the current execution environment, so it can adapt to heterogeneous environments and dynamic changes.

ピアツーピアグリッド演算環境において、モバイルエージェントを利用することには、いくつかの利点がある。
1)種々のスケジューリング機構が、ボランティアの特性にしたがって一度に実行されうる。たとえば、これらのスケジューリング機構は、モバイルエージェント(すなわちスケジューリングモバイルエージェント)として実行されうる。ボランティアがボランティアグループに分類された後、特定のボランティアグループに対して最も適切なスケジューリングモバイルエージェントが、その特性にしたがってボランティアグループに割り当てられる。しかしながら、既存のピアツーピア演算システムは、種々のスケジューリング機構を適用することができない。これは、ボランティアサーバによって集約的な方法で実行されるのは、1つのみのスケジューリング機構であるからである。
There are several advantages to using a mobile agent in a peer-to-peer grid computing environment.
1) Various scheduling mechanisms can be performed at once according to the characteristics of the volunteers. For example, these scheduling mechanisms can be implemented as mobile agents (ie, scheduling mobile agents). After volunteers are classified into volunteer groups, the most appropriate scheduling mobile agent for a particular volunteer group is assigned to the volunteer group according to its characteristics. However, existing peer-to-peer computing systems cannot apply various scheduling mechanisms. This is because only one scheduling mechanism is performed by the volunteer server in an intensive manner.

2)モバイルエージェントは、スケジューリング、耐故障(fault tolerance)および複製アルゴリズムを非集約的方法で実行することによって、ボランティアサーバのオーバーヘッドを減少させることができる。スケジューリングモバイルエージェントは、ボランティアグループに分配される。そして、これらは、各ボランティアグループでボランティアサーバの直接制御なく、自律的にスケジューリング、耐故障および複製アルゴリズムを行う。
3)モバイルエージェントは、動的ピアツーピアグリッド演算環境に適応することができる。ピアツーピアグリッド演算環境において、ボランティアは、いつでも参加し、離脱することができる。さらにこれらは、能力(すなわちCPU、ストレージまたはネットワークバンド幅)、ロケーション、利用可能性、信頼性などの異種の特性によって特徴付けられる。これらの環境特性は、時間とともに変化する。モバイルエージェントは、この変化に対処しながら非同期かつ自律的に実行することができる。また、ボランティア自律性障害に対しては、モバイルエージェント自身が提供する移行機能性および複製機能性を利用して耐えることができる。
2) Mobile agents can reduce volunteer server overhead by performing scheduling, fault tolerance and replication algorithms in a non-aggregate manner. Scheduling mobile agents are distributed to volunteer groups. And these perform autonomous scheduling, fault tolerance, and replication algorithms without direct control of volunteer servers in each volunteer group.
3) The mobile agent can adapt to a dynamic peer-to-peer grid computing environment. In a peer-to-peer grid computing environment, volunteers can join and leave at any time. Furthermore, they are characterized by disparate characteristics such as capacity (ie CPU, storage or network bandwidth), location, availability, reliability, etc. These environmental characteristics change over time. Mobile agents can run asynchronously and autonomously while coping with this change. Also, volunteer autonomy failures can be tolerated using the migration functionality and replication functionality provided by the mobile agent itself.

発明の詳細な説明
1. システムモデル
1.1. 既存のピアツーピアグリッド演算モデル
図2に示すように、ピアツーピアグリッド演算の実行モデルは、次の6つの段階からなる:登録、ジョブ提出、タスク割当て、タスク実行、タスク結果返還、ジョブ結果返還段階。
・登録段階:ボランティアが、自身の情報をボランティアサーバに登録する。
・ジョブ提出段階:クライアントが、ジョブをボランティアサーバに委託する。
・タスク割当て段階:ボランティアサーバが、スケジューリング機構を利用して登録されたボランティアにタスクを分配する。
・タスク実行段階:ボランティアが各タスクを実行する。
・タスク結果返還段階:各ボランティアが、タスクの結果をボランティアサーバに戻す。
・ジョブ結果返還段階:ボランティアサーバが、ジョブの最終結果をクライアントに戻す。
DETAILED DESCRIPTION OF THE INVENTION System model 1.1. Existing Peer-to-Peer Grid Operation Model As shown in FIG. 2, the execution model of the peer-to-peer grid operation consists of the following six stages: registration, job submission, task assignment, task execution, task result return stage, job result return stage.
Registration stage: Volunteers register their information with the volunteer server.
-Job submission phase: A client entrusts a job to a volunteer server.
Task assignment stage: A volunteer server distributes tasks to registered volunteers using a scheduling mechanism.
Task execution stage: Volunteers execute each task.
Task result return phase: Each volunteer returns the task result to the volunteer server.
Job result return phase: The volunteer server returns the final result of the job to the client.

図2において、ボランティアV(0≦i≦n)は、ボランティア情報Ω(すなわち演算リソース特性)をボランティアサーバに登録し、タスクの実行に参加する。クライアントがジョブΓをボランティアサーバに委託すると、ボランティアサーバは、タスクΓをボランティアに割り当てる。ボランティアVは、タスクΓを実行し、タスクΓの実行の結果Rをボランティアサーバに戻す。ボランティアサーバは、委託されたジョブΓの最終結果Rをクライアントに戻す。 In FIG. 2, volunteers V i (0 ≦ i ≦ n) register volunteer information Ω i (that is, computing resource characteristics) in the volunteer server and participate in the execution of the task. When the client entrusts job Γ to the volunteer server, the volunteer server assigns task Γ m to the volunteer. Volunteers V i performs the task gamma m, returning the result R m of the execution of the tasks gamma m volunteer server. The volunteer server returns the final result R of the entrusted job Γ to the client.

1.2. モバイルエージェントベースのピアツーピアグリッド演算モデル
モバイルエージェントは、種々のタスクをユーザのために実行しながら1つのノードから別のノードに移行するソフトウェアプログラムである。モバイルエージェントは、種々のボランティア特性と共に動的環境変化に適応することができる。さらに、モバイルエージェントは分散的に実行されるので、ボランティアサーバのオーバーヘッドを減少することができる。したがって、本発明者らは、モバイルエージェントがピアツーピアグリッド演算に適用される全体的な実行モデルを提案する。
1.2. Mobile Agent Based Peer-to-Peer Grid Computing Model A mobile agent is a software program that migrates from one node to another while performing various tasks for the user. Mobile agents can adapt to dynamic environmental changes along with various volunteer characteristics. Furthermore, since the mobile agent is executed in a distributed manner, the overhead of the volunteer server can be reduced. We therefore propose an overall execution model in which mobile agents are applied to peer-to-peer grid operations.

モバイルエージェントベースのピアツーピアグリッド演算は、既存のピアツーピアグリッド演算と同様に作用する。しかしながら、いくつかの段階の動作は異なる(図3参照)。登録段階において、ボランティアは、CPU、メモリ、OSタイプなどの基礎特性と共にボランティアタイム、ボランティアサービスタイム、ボランティア可能性、ボランティア自律性障害、ボランティア信頼性などの追加特性を登録する。とくに、これらの追加特性は、動的演算および実行に関するので、これらは基礎特性よりも重要である。   Mobile agent-based peer-to-peer grid operations operate similarly to existing peer-to-peer grid operations. However, the operation of some stages is different (see FIG. 3). In the registration stage, the volunteer registers additional characteristics such as volunteer time, volunteer service time, volunteer possibility, volunteer autonomy failure, volunteer reliability, as well as basic characteristics such as CPU, memory, OS type. In particular, these additional properties are more important than basic properties because they relate to dynamic operations and execution.

ジョブ提出段階において、提出されたジョブを多数のタスクに分割する。タスクは、モバイルエージェント(すなわちタスクモバイルエージェント:T−MA)として実行される。
タスク割当て段階において、ボランティアサーバは全体のスケジューリング機構をもはや実行しない。その代わりに、スケジューリングモバイルエージェント(S−MA)によるスケジューリング手続きの実行を補助する。最初に、ボランティアサーバは、ロケーション、ボランティア自律性障害、ボランティアサービスタイムおよびボランティア可能性などの特性にしたがって、ボランティアグループを分類し、構築する。次に、スケジューリングモバイルエージェントをその特性にしたがってボランティアグループに分配する。最後に、スケジューリングモバイルエージェントが、タスクモバイルエージェントをボランティアグループのメンバーに分配する。
In the job submission stage, the submitted job is divided into a number of tasks. The task is executed as a mobile agent (ie, task mobile agent: T-MA).
In the task assignment phase, the volunteer server no longer executes the entire scheduling mechanism. Instead, it assists the scheduling mobile agent (S-MA) in executing the scheduling procedure. Initially, the volunteer server classifies and builds volunteer groups according to characteristics such as location, volunteer autonomy failure, volunteer service time and volunteer availability. Next, the scheduling mobile agents are distributed to volunteer groups according to their characteristics. Finally, the scheduling mobile agent distributes task mobile agents to volunteer group members.

タスク実行段階において、別のボランティアに移行しながら、または障害発生時に自身を複製しながら、スケジューリングモバイルエージェントと協働してタスクモバイルエージェントを実行する。
タスク結果返還段階において、タスクモバイルエージェントは、各結果をそのスケジューリングモバイエルエージェントに戻す。すべてのタスクモバイルエージェントが、結果を戻すと、スケジューリングモバイルエージェントが結果を集め、収集した結果をボランティアサーバに戻す。誤った結果に対応するために、ボランティアサーバと協働して、多数決および無作為抽出検査(spot checking)が行われる。
ジョブ結果返還段階において、すべての結果をスケジューリングモバイルエージェントから受け取ったら、ボランティアサーバが、最終結果をクライアントに戻す。
In the task execution phase, the task mobile agent is executed in cooperation with the scheduling mobile agent while moving to another volunteer or replicating itself when a failure occurs.
In the task result return phase, the task mobile agent returns each result to its scheduling mobile agent. When all task mobile agents return results, the scheduling mobile agent collects the results and returns the collected results to the volunteer server. In order to deal with erroneous results, majority and spot checking are performed in cooperation with the volunteer server.
When all results are received from the scheduling mobile agent in the job result return phase, the volunteer server returns the final results to the client.

簡潔に要約すると、既存の実行モデルと新規のモデルとの主な相違点は次のとおりである。1)新規のモバイルエージェントベースのピアツーピアグリッド演算モデルは、スケジューリングとタスクモバイルエージェントを利用する。2)ボランティア自律性障害、ボランティアサービスタイム、可能性および信頼性などのボランティアの動的特性にしたがって構築されたボランティアグループを利用する。3)種々のスケジューリング、耐故障および複製アルゴリズムを非集約的方法で同時に実行する。   Briefly summarized, the main differences between the existing execution model and the new model are as follows. 1) A new mobile agent-based peer-to-peer grid computing model utilizes scheduling and task mobile agents. 2) Utilize volunteer groups built according to the dynamic characteristics of volunteers such as volunteer autonomy failures, volunteer service time, possibility and reliability. 3) Run various scheduling, fault tolerance and replication algorithms simultaneously in a non-aggregate manner.

1.3. 障害モデル
ピアツーピアグリッド演算環境において、ボランティアは、インターネットを介して接続されており、クラッシュ障害およびリンク障害の危険にさらされている。さらに、ピアツーピアグリッド演算は、自発的な参加に基づくものなので、ボランティアの自律性が尊重される。換言すると、ボランティアは、任意に公開実行の途中で離脱することができ、また、私的実行のためにいつでも公開実行を中断することが許される。ピアツーピアグリッド演算環境において、ボランティア自律性の障害は、クラッシュ障害およびリンク障害よりもかなり頻繁に生じる。よって、ボランティア自律性障害については、従来の障害と区別するとともに特別に対処すべきである。さらに、ボランティアの自律性障害には、種々の発生率およびタイプがある。ボランティア自律性障害の異なる発生率およびタイプは、直接影響を与えるので、よりよいパフォーマンスを達成し、信頼できる演算を保証するために、スケジューリング機構は、それらを考慮しなければならない。この目的のために、まずボランティア自律性障害を概念的に定義する。
1.3. Failure Model In a peer-to-peer grid computing environment, volunteers are connected via the Internet and are at risk of crash and link failures. In addition, peer-to-peer grid computation is based on voluntary participation, so volunteer autonomy is respected. In other words, volunteers can optionally leave in the middle of a public run and are allowed to interrupt the public run at any time for private execution. In a peer-to-peer grid computing environment, volunteer autonomy failures occur much more frequently than crash and link failures. Therefore, volunteer autonomy failures should be specially dealt with while distinguishing them from conventional failures. Furthermore, there are various incidences and types of volunteer autonomy failures. Because different rates and types of volunteer autonomy failures have a direct impact, the scheduling mechanism must take them into account to achieve better performance and ensure reliable computation. To this end, we first conceptually define volunteer autonomy failures.

ボランティア自律性障害を定義するために、表1の表記が用いられる。まず、ボランティアの参加および離脱のパターンをカテゴリー化する。パターンは、予定参加(EJ)、予定離脱(EL)、予定外参加(UJ)、予定外離脱(UL)にカテゴリー化される。   The notation in Table 1 is used to define volunteer autonomy failures. First, categorize volunteer participation and withdrawal patterns. Patterns are categorized as scheduled participation (EJ), scheduled departure (EL), unscheduled participation (UJ), unscheduled departure (UL).

Figure 2008071294
Figure 2008071294

Figure 2008071294
UJは、前予定外参加UJ、中予定外参加UJ、後予定外参加UJにカテゴリー化される。さらに、予定外離脱ULは、前予定外離脱UL、中予定外離脱UL、後予定外離脱ULにカテゴリー化される。
Figure 2008071294
UJs are categorized as pre-unscheduled participation UJ b , middle unscheduled participation UJ m , and unscheduled unscheduled participation UJ a . Further, the unscheduled departure UL is categorized into a previous unscheduled departure UL b , a middle unscheduled departure UL m , and a later unscheduled departure UL a .

Figure 2008071294
ボランティア自律性障害(Λ)は、ボランティア変動制障害(Φ)、ボランティア干渉障害(Ψ)に分類される。
Figure 2008071294
Figure 2008071294
Volunteer autonomy disorder (Λ) is classified into volunteer fluctuation disorder (Φ) and volunteer interference disorder (Ψ).
Figure 2008071294

定義1(ボランティア変動制障害)ボランティア変動制障害Φは、タスクΓ の公開実行ξ を自由に離脱することによって生じる公開実行の失敗である。

Figure 2008071294
ボランティア変動性障害は、次のようにカテゴリー化される:予定外前Φ、予定外中Φ、予定Φ、予定外後Φ
Figure 2008071294
Definition 1 (Volunteer Fluctuation Failure) Volunteer Fluctuation Failure Φ is a failure of public execution caused by leaving the public execution ξ i of task Γ i freely.
Figure 2008071294
Volunteer variability disorders are categorized as follows: unplanned Φ b , unplanned Φ m , scheduled Φ, unplanned Φ a .
Figure 2008071294

定義2(ボランティア干渉障害)ボランティア干渉障害Ψは、個別ジョブΠ の指摘実行π によって生じる公開実行ξ の一時的な停止である。

Figure 2008071294
Definition 2 (Volunteer interference failure) Volunteer interference failure Ψ is a temporary stop of public execution ξ i caused by pointed execution π i of individual job Π i .
Figure 2008071294

ボランティア干渉障害Ψは、予定Ψeiと予定外Ψuiにカテゴリー化される。Ψeiは、私的実行が公開実行と定期的に干渉するとき(たとえば予約されたウィルスチェック)に起こるが、Ψuiは、キーボードまたはマウスの動作から始まる私的実行が公開実行と定期的に干渉するとき(たとえば一時的なeメールのチェックなど)に起こる。ΦとΨにおいてはオペレーティングシステムが生きているのに対し、クラッシュ障害においてはシャットダウンしている点で、ΦおよびΨは、クラッシュ障害と異なる。Φは、Φがボランティアの意志によって起こる点でクラッシュ障害と異なる。Ψは、Ψにおいてはピアツーピアグリッド演算システムが生きているのに対し、Φにおいてはそれが動作していない点でΦと異なる。 Volunteer interference disorder Ψ is categorized into scheduled Ψ ei and unscheduled Ψ ui . Ψ ei occurs when private executions regularly interfere with public executions (eg, reserved virus checks), while Ψ ui is a private execution that begins with a keyboard or mouse action. Occurs when interfering (for example, checking a temporary email). Φ and ψ differ from crash failures in that the operating system is alive at Φ and ψ, but is shut down at a crash failure. Φ differs from a crash failure in that Φ occurs due to volunteer will. Ψ differs from Φ in that a peer-to-peer grid computing system is alive in Ψ while it is not operating in Φ.

Φは、公開実行の完了に関する。たとえば、離脱イベントは、公開実行の途中で任意に発生し、この実行は中止される(または停止される)。結果として、実行は完了されていない。すなわち、Φは、実行の完了を妨げる。他方、Ψは、公開実行の連続性に関する。たとえば、個人ユーザが公開実行の間に頻繁に私的実行を行う場合、公開実行は一時的に停止される。その結果、公開実行は、連続的に処理できなくなる。すなわち、Ψは公開実行の連続性を阻害する。   Φ relates to the completion of public execution. For example, a withdrawal event occurs arbitrarily during the public execution, and this execution is stopped (or stopped). As a result, execution has not been completed. That is, Φ prevents execution from completing. On the other hand, Ψ relates to the continuity of public execution. For example, when an individual user frequently performs private execution during public execution, public execution is temporarily stopped. As a result, the public execution cannot be processed continuously. That is, Ψ hinders the continuity of public execution.

2.モバイルエージェントベースの適応グループスケジューリング機構(Mobile Agent based Adaptive Group Scheduling Mechanism)
MAAGSMは、ボランティアグループを基礎とするスケジューリング機構を提供する。これは、異なるスケジューリング、耐故障および複製アルゴリズムを各ボランティアグループに適用させることによって、モバイルエージェントを利用する。このセクションでは、まずボランティアグループをボランティアの特性にしたがってどのように構築するかを説明する。そして、モバイルエージェントによって、スケジューリング、耐故障および複製アルゴリズムをボランティアグループにどのように適用するかを紹介する。最後に、障害時にボランティアグループをどのように管理するかを説明する。
2. Mobile Agent based Adaptive Group Scheduling Mechanism
MAAGSM provides a scheduling mechanism based on volunteer groups. This utilizes a mobile agent by applying different scheduling, fault tolerance and replication algorithms to each volunteer group. This section first explains how to build a volunteer group according to the characteristics of the volunteer. And how mobile agents apply scheduling, fault tolerance and replication algorithms to volunteer groups. Finally, I will explain how to manage volunteer groups in the event of a disability.

2.1 ボランティアグループを構築する
ボランティアグループは、ボランティア自律性障害、ボランティア可能性、ボランティアサービスタイムなどについて類似の特性を有するボランティアの群である。スケジューリング手続きにおいてボランティアの特性に適した異なるスケジューリング機構を適用するために、ボランティアをまず同種のグループに形成する必要がある。最初に、ボランティアをそれらの特性にしたがって分類する。それから、ボランティアグループを分類し、構築する。
2.1 Establishing a volunteer group A volunteer group is a group of volunteers with similar characteristics in terms of volunteer autonomy failures, volunteer availability, volunteer service time, and the like. In order to apply different scheduling mechanisms suitable for the characteristics of the volunteers in the scheduling procedure, the volunteers must first be formed into homogeneous groups. First, volunteers are classified according to their characteristics. Then classify and build volunteer groups.

2.1.1. ボランティアを分類する
ボランティアが分類される際には、CPU、メモリ、ストレージおよびネットワーク容量が重要な要因となる。しかしながら、もっとも重要な要因は、演算の完了および連続性の意味で、ロケーション、ボランティアタイム、ボランティア自律性障害、ボランティア可能性およびボランティア信頼性であり、結果の信用性は、信頼性とともに変動性に起因する(図4参照)ボランティアタイムおよびボランティア可能性に強い関連性がある。ピアツーピアグリッド演算環境において、デスクトップコンピュータの能力は、非常に似かよっている一方で、ボランティアサービスタイム、可能性、および信頼性は、かなり上下する。この仕様では、ボランティアを分類するときに、ボランティアサービスタイム、ボランティア自律性障害、およびボランティア可能性に焦点をあてる。本発明は、誤った結果を検出し、また、それに耐えるための結果の承認に関連する信頼性は考慮しない。
ボランティアタイムおよびボランティア可能性は次のように定義する。
2.1.1. Classify volunteers When volunteers are classified, CPU, memory, storage and network capacity are important factors. However, the most important factors are location, volunteer time, volunteer autonomy failure, volunteer potential and volunteer reliability in terms of computation completion and continuity, and the resulting reliability can vary with reliability. There is a strong association with the volunteer time and volunteering potential (see FIG. 4). In a peer-to-peer grid computing environment, desktop computer capabilities are very similar, while volunteer service time, likelihood, and reliability go up and down considerably. This specification focuses on volunteer service time, volunteer autonomy failures, and volunteer potential when classifying volunteers. The present invention detects erroneous results and does not consider the reliability associated with approving results to withstand.
Volunteer time and volunteering potential are defined as follows:

定義3(ボランティアタイム)ボランティアタイム(Y)は、ボランティアがリソースを寄付するために一時停止する時間である。

Figure 2008071294
ここで、予約されたボランティアタイム(Y)は、ボランティアが演算リソースを提供するときの予約された時間を意味する。ボランティアは、Yの間はほとんど公開実行を行い、まれに私的実行を行う。しかし、利己的ボランティアタイムY(selfish volunteering time)は、予定されないボランティアタイムを意味する。したがって、ボランティアは、通常私的実行をYの間に行い、時折公開実行を行う。 Definition 3 (Volunteer Time) Volunteer time (Y) is the time when a volunteer pauses to donate resources.
Figure 2008071294
Here, the reserved volunteer time (Y R ) means a reserved time when a volunteer provides a computing resource. The volunteers, between the Y R Most performs a public execution, carried out a rare privately run. However, selfish volunteering time Y S (selfish volunteering time) means an unscheduled volunteering time. Therefore, volunteers, usually carried out a private execution during Y S, occasionally carry out a public execution.

定義4(ボランティア可能性)ボランティア可能性α は、ボランティアがボランティアタイムYの間に正しく作動し、ボランティアサービスを提示することができる可能性である。

Figure 2008071294
ここで、MTTVAFは、「ボランティア自律性障害までの平均時間」を意味し、MTTRは、「再参加までの平均時間」を意味する。MTTVAFは、ボランティア自律性障害が起こる前の平均された時間を意味し、MTTRは、ボランティア自律性障害の平均持続期間を意味する。分配システムにおける従来の利用可能性が主にクラッシュ障害に関連するのに対し、αは、ボランティア自律性障害の度合いを反映している。 Definition 4 (Volunteer Possibility) Volunteer Possibility α v is the possibility that a volunteer can operate correctly during volunteer time Y and present volunteer services.
Figure 2008071294
Here, MTTVAF means “average time to volunteer autonomy failure”, and MTTR means “average time to rejoin”. MTTVAF means the average time before volunteer autonomy failure occurs and MTTR means the average duration of volunteer autonomy failure. While conventional availability in the distribution system is primarily related to crash failure, alpha v reflects the degree of volunteer autonomy disorder.

MTTVAFおよびMTTRは、ボランティアがΦおよびΨを検出したときに動的に再計算される。ここで、MVTは、「平均ボランティアタイム」を意味する。記号

Figure 2008071294
は、2つのイベントの組み合わせを意味する。記号
Figure 2008071294
は、時間間隔の結合を意味する。パラメータμは、負担定数(weight constant)である。ボランティアがタスクを実行するとき、μは、最初に1に設定される。μは、ΦおよびΨが起きたときは常に増大する。μは、ボランティアがタスクを終えたときに再び1に設定される。 MTTVAF and MTTR are dynamically recalculated when the volunteer detects Φ and Ψ. Here, MVT means “average volunteer time”. symbol
Figure 2008071294
Means a combination of two events. symbol
Figure 2008071294
Means a combination of time intervals. The parameter μ is a weight constant. When a volunteer performs a task, μ is initially set to 1. μ increases whenever Φ and ψ occur. μ is set to 1 again when the volunteer finishes the task.

Figure 2008071294
Figure 2008071294

ケース1およびケース2は、ボランティア変動制障害および予定外参加の場合に、どのようにボランティア可能性を計算するかについて記載する。ケース3は、ボランティア干渉障害が起きたときに、どのようにボランティア可能性を計算するかについて記載する。パラメータμは、ボランティア可能性においてボランティア自律性障害の割合を反映させるために使用する。たとえば、ボランティア自律性障害が繰り返し頻繁に起こる場合、ボランティア可能性は、急激に低下する。さらに、平均ボランティアタイムがボランティア可能性に影響する。たとえば、平均ボランティアタイムが短い場合、ボランティア可能性は、ボランティア自律性障害によって強い影響を受ける。ケース1において、予定外ボランティアタイムが提供されるので、ボランティア可能性が増大する。逆に、ケース2およびケース3において、ボランティア可能性は、ボランティア自律性障害のために実際に減少する。   Case 1 and Case 2 describe how to calculate volunteer availability in the case of volunteer variable disability and unscheduled participation. Case 3 describes how to calculate volunteer availability when a volunteer interference failure occurs. The parameter μ is used to reflect the proportion of volunteer autonomy failures in volunteer potential. For example, if volunteer autonomy failures occur repeatedly and frequently, volunteer potential declines rapidly. In addition, average volunteer time affects volunteer potential. For example, if the average volunteer time is short, volunteer availability is strongly influenced by volunteer autonomy failures. In case 1, the possibility of volunteering increases because unscheduled volunteer time is provided. Conversely, in cases 2 and 3, the volunteer potential actually decreases due to volunteer autonomy failures.

ボランティアは、ロケーションに応じてリージョンボランティアまたはホームボランティアにカテゴリー化される。ホームボランティアは、ホームでのリソース寄付者である。リージョンボランティアは、大学、機関などを含む組織と一般的に関連したリソース寄付者の群である。リージョンボランティアは、LANまたはイントラネットで接続されており、一方ホームボランティアは、インターネットで接続されている。
ボランティアは、Yおよびαにしたがって4つのクラスにカテゴリー化される(図5参照)。クラスAは、長いYおよび高いαを有するボランティア群である。クラスBは、短いYおよび高いαを有するボランティア群である。クラスCは、長いYおよび低いαを有するボランティア群である。クラスDは、短いYおよび低いαを有するボランティア群である。
Volunteers are categorized as region volunteers or home volunteers depending on location. Home volunteers are resource donors at home. Region volunteers are groups of resource donors that are generally associated with organizations, including universities and institutions. Region volunteers are connected via a LAN or intranet, while home volunteers are connected via the Internet.
Volunteers are categorized into four classes according to Y and α v (see FIG. 5). Class A is a volunteer group having a long Y and high alpha v. Class B is a volunteer group with short Y and high alpha v. Class C is a volunteer group having a long Y and low alpha v. Class D is a group of volunteers with short Y and low α v .

2.1.2 ボランティアグループを分類して作成する
ボランティアサーバは、ロケーション、ボランティア可能性およびボランティアサービスタイムなどのボランティアの特性にしたがって、ボランティアグループメンバーとしてボランティアを選択する。ボランティアサービスタイムは、次のように定義される。
2.1.2 Create and classify volunteer groups Volunteer servers select volunteers as volunteer group members according to volunteer characteristics such as location, volunteer availability and volunteer service time. Volunteer service time is defined as follows.

定義5(ボランティアサービスタイム)ボランティアサービスタイム(Θ)は、ボランティアがYの間に公開実行に参加するときの予定されたサービスタイムである。

Figure 2008071294
スケジューリングの手続きにおいて、Θは、Yよりもより適切である。なぜなら、Θは、ボランティア自律性障害Λの存在下で、ボランティアが実際に各タスクを実行したときの時間を意味するからである。したがって、ボランティアグループは、Yにしたがってではなく、Θにしたがって構築する。
ボランティアグループをロケーションに基づいて構築する場合、リージョンボランティアは同じグループに属し、ホームボランティアは、メンバー間の通信コストを減らすために同じグループに形成される。
ボランティアをグループ化するときに、αおよびΘを考慮した場合、ボランティアグループを4つのクラス(図6参照)にカテゴリー化する。ここで、Δは、予定されたタスクの演算時間である。 Definition 5 (Volunteer Service Time) Volunteer service time (Θ) is the scheduled service time when a volunteer participates in public execution during Y.
Figure 2008071294
In the scheduling procedure, Θ is more appropriate than Y. This is because Θ means the time when the volunteer actually executes each task in the presence of the volunteer autonomy obstacle Λ. Therefore, volunteer groups are built according to Θ, not according to Y.
When building volunteer groups based on location, region volunteers belong to the same group, and home volunteers are formed in the same group to reduce communication costs between members.
When grouping volunteers, when considering alpha v and theta, are categorized into four classes volunteer group (see Figure 6). Here, Δ is the calculation time of the scheduled task.

ボランティアは、A’、B’、C’およびD’ボランティアグループの4つのクラスに分類される。ボランティアが高いαを有し、かつΘ≧Δの場合、それらはクラスA’に含まれる。ボランティアが高いαを有し、かつΘ<Δの場合、それらはクラスB’に含まれる。ボランティアが低いαを有し、かつΘ≧Δの場合、それらはクラスC’に含まれる。ボランティアが低いαを有し、かつΘ<Δの場合、それらはクラスD’に含まれる。 Volunteers are divided into four classes: A ′, B ′, C ′ and D ′ volunteer groups. If volunteers have high α v and Θ ≧ Δ, they are included in class A ′. If volunteers have high α v and Θ <Δ, they are included in class B ′. If volunteers have low α v and Θ ≧ Δ, they are included in class C ′. If volunteers have low α v and Θ <Δ, they are included in class D ′.

ボランティアグループは、ボランティアグループ構築のアルゴリズム(図7参照)を利用して構築する。
1)登録されたボランティアを、ロケーションに応じてホームボランティアまたはリージョンボランティアに分類する。
2)ホームボランティアおよびリージョンボランティアを、それぞれボランティアタイムおよびボランティア可能性によってA、B、C、Dクラスに分類する。
3)ボランティアサービスタイムおよびボランティア可能性にしたがって、ボランティアグループを構築する。
The volunteer group is constructed using a volunteer group construction algorithm (see FIG. 7).
1) Classify registered volunteers as home volunteers or region volunteers according to location.
2) Classify home volunteers and region volunteers into A, B, C, and D classes according to volunteer time and volunteer availability, respectively.
3) Build volunteer groups according to volunteer service time and volunteer availability.

ボランティアグループは、次の特性を有する。A’ボランティアグループは、確実にタスクを実行するために十分に高いΘおよび高いαを有する。これは、スケジューリングモバイルエージェントをホストする代理ボランティアとして使われる。B’ボランティアグループは、高いαを有するが、低いΘを有する。これは、演算時間が欠如しているため、タスクを完了することができない。C’ボランティアグループは、高いΘを有するが、低いαを有する。これは、タスクを実行するために十分な時間を有する。しかしながら、ボランティア自律性障害は、実行中に頻繁に発生する。したがって、これは、確実にタスクを実行するためには、故障耐性が必要になる。D’ボランティアグループは、低いΘおよび低いαを有する。これは、タスクを実行するための時間が不十分である。さらに、ボランティア自律性障害は、実行の間に頻繁に起こる。ボランティアグループの中では、A’およびC’ボランティアグループが十分に時間があるので、主にタスクを実行する。 Volunteer groups have the following characteristics: The A ′ volunteer group has a sufficiently high Θ and a high α v to reliably perform the task. This is used as a proxy volunteer to host the scheduling mobile agent. The B ′ volunteer group has a high α v but a low Θ. This can not complete the task due to lack of computation time. The C ′ volunteer group has a high Θ but a low α v . This has enough time to perform the task. However, volunteer autonomy failures occur frequently during execution. Therefore, this requires fault tolerance to perform the task reliably. The D ′ volunteer group has a low Θ and a low α v . This is not enough time to perform the task. In addition, volunteer autonomy failures occur frequently during execution. Among the volunteer groups, A ′ and C ′ volunteer groups have enough time, so they mainly perform tasks.

タスクが実行中に移行する場合、A’およびC’ボランティアグループが障害に悩まされるときに、B’ボランティアグループを移行場所として用いることができる。そうでなければ、B’ボランティアグループは、ボランティアサービスタイムが短すぎてタスクを完了できないので、タスクを分配するのに適切でない。この場合、これは、テストするため、つまりその特性を計るためにタスクを実行する。D’ボランティアグループは、低いボランティア可能性と時間の欠如を原因として、管理コストが上昇する。また、D’ボランティアグループテストのためだけにタスクを実行する。チェックポイントが利用された場合、B’およびD’ボランティアグループは、時間を重視しないアプリケーションを実行するために使用することができる。   If the task transitions while it is running, the B 'volunteer group can be used as a transition location when the A' and C 'volunteer groups suffer from disabilities. Otherwise, the B 'volunteer group is not suitable for distributing tasks because the volunteer service time is too short to complete the task. In this case, it performs the task to test, i.e. to measure its properties. D'volunteer groups have increased administrative costs due to low volunteering potential and lack of time. Also, the task is executed only for the D 'volunteer group test. If checkpoints are utilized, B 'and D' volunteer groups can be used to run time-insensitive applications.

2.1.3 ボランティアグループを維持する
ボランティアグループは、3つのモード:タスクベースモード、時間ベースモードおよびカウントベースモードに維持する。タスクベースモードにおいて、タスクが完了すると常にボランティアグループが構築される。タイムベースモードは、計画するタスクが残っている場合、ボランティアグループを通常の間隔で構築する。カウントベースモードは、参加ボランティアの数が既定の数k以上のときにボランティアグループを構築する。このkは、ボランティアグループの大きさまたは冗長数に依存する。ボランティアグループの大きさは、主に維持コスト(すなわちタスクモバイルエージェントのスケジューリングおよび管理コスト、耐故障、複製など)に関連する。ボランティアグループは、スケジューリングエージェントがさらにタスクをメンバーに分配することができなくなるまで保持される。たとえば、すべてのメンバーがタスクを実行するために十分な時間がある場合、ボランティアグループを解散させる。ボランティアグループのメンバーは、ボランティアが落ちた場合(サブセクション4.3で詳述する)、他のものによって部分的に置き換えられる。
2.1.3 Maintaining Volunteer Groups Volunteer groups are maintained in three modes: task-based mode, time-based mode and count-based mode. In task-based mode, a volunteer group is established whenever a task is completed. Time-based mode builds volunteer groups at regular intervals when there are remaining tasks to plan. In the count-based mode, a volunteer group is constructed when the number of participating volunteers is a predetermined number k or more. This k depends on the size or redundancy number of the volunteer group. Volunteer group size is mainly related to maintenance costs (ie task mobile agent scheduling and management costs, fault tolerance, replication, etc.). Volunteer groups are retained until the scheduling agent can no longer distribute tasks to members. For example, if all members have enough time to perform a task, the volunteer group is disbanded. Volunteer group members are partially replaced by others when a volunteer falls (detailed in subsection 4.3).

2.2 スケジューリングモバイルエージェントをスケジューリンググループに割り当てる
ボランティアグループを構築した後、ボランティアサーバがスケジューリングモバイルエージェント(S−MA)をボランティアグループに割り当てる。しかしながら、確実にタスクを終えるのに完全ではないボランティアグループがあるから、スケジューリング手続きにおいてS−MAを直接ボランティアグループに割り当てることは実用的ではない。したがって、ボランティアグループを互いにそれぞれ組み合わせることによって、新しいスケジューリンググループを構築することが必要である(表2参照)。
2.2 Assign Scheduling Mobile Agent to Scheduling Group After building the volunteer group, the volunteer server assigns the scheduling mobile agent (S-MA) to the volunteer group. However, it is not practical to assign S-MAs directly to volunteer groups in the scheduling procedure because there are volunteer groups that are not perfect to finish the task reliably. Therefore, it is necessary to construct a new scheduling group by combining volunteer groups with each other (see Table 2).

Figure 2008071294
Figure 2008071294

表2において、最初の2つの組合せは最後の1つよりも適切である。なぜなら、最後の組合せではタスクが主にA’C’スケジューリンググループに分配されるのに対し、最初の2つの組合せではタスクが各グループに分配されるからである。さらに、最後の組合せにおいて、たとえタスクがB’D’スケジューリンググループに割り当てられるとしても
時間が不十分なためにタスクは完了されない。最初の2つの組合せを比較すると、最初の組合せは2番目の組合せよりも適切である。なぜなら、2番目の組合せにおいて、C’ボランティアグループは、D’ボランティアグループを補償しないのに対し、最初の組合せのB’ボランティアグループは、利用可能性についてC’ボランティアグループを補償することができるからである(A’D’またはA’B’スケジューリンググループにおいて、A’ボランティアグループは高い利用可能性と十分なΘを備えるので、A’ボランティアグループがD’およびB’ボランティアグループを補償する)。したがって、本発明ではスケジューリング手続きにおける最初の組合せに焦点をあてる。
In Table 2, the first two combinations are more appropriate than the last one. This is because, in the last combination, tasks are mainly distributed to A'C 'scheduling groups, whereas in the first two combinations, tasks are distributed to each group. Furthermore, in the last combination, even if the task is assigned to the B'D 'scheduling group, the task is not completed due to insufficient time. When comparing the first two combinations, the first combination is more appropriate than the second combination. Because, in the second combination, C ′ volunteer group does not compensate D ′ volunteer group, whereas B ′ volunteer group in the first combination can compensate C ′ volunteer group for availability. (In A'D 'or A'B' scheduling group, A 'volunteer group has high availability and sufficient Θ, so A' volunteer group compensates D 'and B' volunteer groups). Therefore, the present invention focuses on the first combination in the scheduling procedure.

S−MAは、代理ボランティアで実行する。代理ボランティアは、アルゴリズム(図8参照)を用いて選択する。代理ボランティアは、ボランティア可能性およびボランティアサービスタイムによって、また、ハードディスク容量およびネットワークバンド幅によって、順位付ける。そして、スケジューリンググループ用の代理ボランティアを順番に選択する。次に、各S−MAが選択された代理ボランティアに送られる。   S-MA is executed by a proxy volunteer. The proxy volunteer is selected using an algorithm (see FIG. 8). Proxy volunteers rank by volunteer availability and volunteer service time, and by hard disk capacity and network bandwidth. Then, proxy volunteers for the scheduling group are selected in order. Each S-MA is then sent to the selected proxy volunteer.

2.3. タスクモバイルエージェントをグループメンバーに分配する
S−MAをスケジューリンググループに割り当てた後、各S−MAが、並列コードおよびデータからなるタスクモバイルエージェント(T−MA)をスケジューリンググループのメンバーに分配する。S−MAは、既存のピアツーピアグリッド演算システムと異なり、ボランティアグループのタイプにしたがって、異なるスケジューリング、耐故障および複製アルゴリズムを実行する。
A’D’スケジューリンググループのS−MAは、次のスケジューリングを実行する。1)αによって、そしてΘによって、A’ボランティアグループを順位付けする。2)T−MAをアレンジしたA’ボランティアグループのメンバーに分配する。3)T−MAが落ちた場合、複製アルゴリズムによって、落ちたタスクをA’ボランティアグループで選択された新しいボランティアに複製するか、またはタスク移行が許された場合に、A’またはB’ボランティアグループで選択されたボランティアにそのタスクを移行する。
2.3. Distributing task mobile agents to group members After assigning an S-MA to a scheduling group, each S-MA distributes a task mobile agent (T-MA) consisting of parallel code and data to members of the scheduling group. Unlike existing peer-to-peer grid computing systems, S-MA performs different scheduling, fault tolerance, and replication algorithms according to the type of volunteer group.
The S-MA of the A′D ′ scheduling group performs the following scheduling. 1) Rank A ′ volunteer groups by α v and by Θ. 2) Distribute the T-MA to the members of the A 'volunteer group who arranged it. 3) If the T-MA is dropped, the replication algorithm replicates the dropped task to a new volunteer selected in the A 'volunteer group, or A' or B 'volunteer group if task migration is allowed The task is transferred to the volunteer selected in.

C’B’スケジューリンググループのS−MAは、次のことを実行する。1)αによって、そしてΘによって、C’およびB’ボランティアグループを順位付けする。2)T−MAをアレンジしたC’ボランティアグループのメンバーに分配する。3)T−MAが落ちた場合、複製アルゴリズムによって、落ちたタスクをC’ボランティアグループで選択された新しいボランティアに複製するか、またはB’またはC’ボランティアグループで選択されたボランティアにそのタスクを移行する。 The S-MA of the C′B ′ scheduling group performs the following: 1) Rank C ′ and B ′ volunteer groups by α v and by Θ. 2) Distribute the T-MA to the members of the C 'volunteer group who arranged it. 3) If the T-MA falls, the replication algorithm replicates the dropped task to a new volunteer selected in the C ′ volunteer group, or passes the task to the volunteer selected in the B ′ or C ′ volunteer group. Transition.

タスクは、まずA’D’スケジューリンググループに、それからC’B’スケジューリンググループに分配される。さらに、タスクは、まず高いαおよび長いΘを有するボランティアにまず分配される。スケジューリングアルゴリズムにおいて、チェックポイントを利用する場合、タスクをB’およびD’ボランティアグループには割り当てない。なぜならこれらは、確実にタスクを完了するために十分な時間を有していないからである。この場合、B’およびD’ボランティアグループは、テスト用のタスクを実行する。つまり、これらの特性を計る。たとえば、A’およびC’ボランティアグループで実行されるタスクは、D’およびB’ボランティアグループにそれぞれ分配される。しかしながら、B’ボランティアグループは、タスク移行が認められる場合には、主なボランティアグループ(すなわちA’またはC’)を補助するために使用することもできる。たとえば、C’B’スケジューリンググループにおいて、B’ボランティアグループは、ボランティア可能性についてC’ボランティアグループを補償するために使用することができる。C’ボランティアグループ内のボランティアがボランティア自律性障害に悩まされていると仮定する。B’ボランティアグループのボランティアのボランティアタイムが落ちたボランティアにおけるボランティア自律性障害の持続期間を暗示する場合、一時停止したタスクをB’ボランティアグループの新しいボランティアに移行することができる。 Tasks are distributed first to the A'D 'scheduling group and then to the C'B' scheduling group. Furthermore, tasks are first distributed to volunteers with high α v and long Θ. When using checkpoints in the scheduling algorithm, tasks are not assigned to B ′ and D ′ volunteer groups. This is because they do not have enough time to reliably complete the task. In this case, the B ′ and D ′ volunteer groups perform a test task. In other words, these characteristics are measured. For example, tasks performed in A ′ and C ′ volunteer groups are distributed to D ′ and B ′ volunteer groups, respectively. However, the B ′ volunteer group can also be used to assist the main volunteer group (ie, A ′ or C ′) if task migration is permitted. For example, in a C′B ′ scheduling group, the B ′ volunteer group can be used to compensate the C ′ volunteer group for volunteer availability. Assume that volunteers in the C 'volunteer group suffer from volunteer autonomy failures. When implying the duration of volunteer autonomy failures in volunteers whose volunteer time has fallen, the suspended task can be transferred to a new volunteer in B 'volunteer group.

複製を利用する場合、S−MAは、冗長数を計算し、複製者(replica)(すなわち、複製された演算を実行するボランティア)を選択する。そして、S−MAはT−MAを選択された複製者に分配する。障害がある場合、S−MAは、落ちたT−MAを新しいボランティアに複製するか、または移行する。複製および耐故障アルゴリズムについては、サブセクション4.4および4.5にそれぞれ詳述する。   When utilizing replication, the S-MA calculates a redundancy number and selects a replica (ie, a volunteer that performs the replicated operation). The S-MA then distributes the T-MA to the selected replicators. If there is a failure, the S-MA replicates or migrates the dropped T-MA to a new volunteer. The replication and fault tolerance algorithms are detailed in subsections 4.4 and 4.5, respectively.

2.4 適応複製アルゴリズムを適用する
複製は、分配システムにおいて信頼性およびパフォーマンスを向上させるためのよく知られた技術である。ピアツーピアグリッド演算環境において、複製は主に信頼性、つまり故障耐性のために、または結果の承認のため、つまり誤った結果を検出し許容するために利用する。本発明は、確実なボランティア自律性障害に対する複製に焦点をあてたものである。適応複製アルゴリズムは、自動的に冗長数を調整し、各ボランティアグループの特性にしたがって適切な複製者を選択する。
2.4 Applying Adaptive Replication Algorithm Replication is a well-known technique for improving reliability and performance in distribution systems. In a peer-to-peer grid computing environment, replication is primarily used for reliability, ie fault tolerance, or for result approval, ie to detect and tolerate erroneous results. The present invention focuses on replication for certain volunteer autonomy failures. The adaptive duplication algorithm automatically adjusts the redundancy number and selects an appropriate duplicator according to the characteristics of each volunteer group.

2.4.1 冗長数の計算の仕方
複製を用いる場合、各S−MAがそのボランティアグループの冗長数を計算する。それは、冗長数を計算するときに、ボランティア自律性障害、ボランティア可能性およびボランティアサービスタイムを同時に利用する。
2.4.1 How to calculate redundancy number When using replication, each S-MA calculates the redundancy number of its volunteer group. It uses volunteer autonomy failures, volunteer availability and volunteer service time simultaneously when calculating the redundancy number.

ピアツーピアグリッド演算環境において、ボランティア自律性障害は、クラッシュ障害、リンク障害よりも頻繁に発生する。さらに、ボランティアは、ボランティア自律性障害について種々の割合および形式を有する。したがって、冗長数は、複製のオーバーヘッドを低減するために、類似の割合および形式の自律性障害を有するボランティアグループに基づいて計算されなければならない。しかしながら、既存の複製アルゴリズムは、複製アルゴリズムに基づいたボランティアグループを考慮していない。適応複製アルゴリズムは、ボランティア自律性障害、ボランティア可能性、ボランティアサービスタイムを下記のように利用している。   In a peer-to-peer grid computing environment, volunteer autonomy failures occur more frequently than crash failures and link failures. In addition, volunteers have different rates and forms for volunteer autonomy failures. Therefore, the redundancy number must be calculated based on volunteer groups with similar proportions and forms of autonomy failures to reduce replication overhead. However, existing replication algorithms do not consider volunteer groups based on the replication algorithm. The adaptive replication algorithm uses volunteer autonomy failures, volunteer availability, and volunteer service time as follows.

信頼性のための冗長数rは、下記の式1で計算する。この式では、システム寿命を指数関数的に指数分布させるようにしている。ここで、τはボランティアのMTTVAFを表し、τ’はボランティアグループのMTTVAFを表す。

Figure 2008071294
パラメータγは、信頼性閾値である。
Figure 2008071294
ここで、nは、ボランティアグループ内のボランティアの総数である。Vτは、ボランティアVのτを意味する。 The redundancy number r for reliability is calculated by the following equation 1. In this equation, the system life is exponentially distributed exponentially. Here, τ represents the MTTVAF of the volunteer, and τ ′ represents the MTTVAF of the volunteer group.
Figure 2008071294
The parameter γ is a reliability threshold value.
Figure 2008071294
Here, n is the total number of volunteers in the volunteer group. V n τ means τ of volunteer V n .

式1において、式e−Δ/τ’は、各ボランティアグループの信頼性を表し、タスクをΔ内に完了する確率を意味する。(ボランティアの寿命が指数分布する場合、ボランティアR(t)の信頼性は、R(t)=e−λ’tである。パラメータλ’は、ボランティア自律性障害の割合を表す。時間間隔Δにおいてタスクを完了する確率を計算すると、1/λ’=τ’なのでe−Δ/τ’が得られる)これは、ボランティア自律性障害を反映している。(1−e−Δ/τ’は、すべての複製者が複製されたタスクを完了し損ねる確率を意味する。
必要とされる信頼性γが提供されると、rの値が式1より計算される。各ボランティアグループは異なるrを有する。たとえば、A’およびC’ボランティアグループは、B’ボランティアグループよりも小さいrを有する。
In Equation 1, the equation e −Δ / τ ′ represents the reliability of each volunteer group and means the probability of completing the task within Δ. (If volunteer lifetimes are exponentially distributed, the reliability of volunteer R (t) is R (t) = e −λ′t . Parameter λ ′ represents the percentage of volunteer autonomy failures. Time interval Δ If we calculate the probability of completing the task at 1 / λ ′ = τ ′, we get e −Δ / τ ′ ), which reflects volunteer autonomy failures. (1-e −Δ / τ ′ ) r means the probability that all replicators will fail to complete the replicated task.
Once the required reliability γ is provided, the value of r is calculated from Equation 1. Each volunteer group has a different r. For example, A ′ and C ′ volunteer groups have a smaller r than B ′ volunteer groups.

2.4.2 T−MAの複製者への分配の仕方
タスクを複製者に分配する方法は、2つの手法にカテゴリー化される:並列分配および順列分配(図9参照)である。
図9において、複製者はV、VおよびV(つまりr=3)からなる。並列分配では、図9(a)において、タスクTはすべてのメンバーに同時に分配され、そして同時に実行される。逆に、図9(b)において、タスクTは分配されて順番に実行される。
2.4.2 How to distribute T-MA to replicators The method of distributing tasks to replicators is categorized into two approaches: parallel distribution and permutation distribution (see FIG. 9).
In FIG. 9, the replicator is composed of V 0 , V 1 and V 2 (that is, r = 3). In parallel distribution, in FIG. 9 (a), task Tm is distributed to all members simultaneously and executed simultaneously. Conversely, in FIG. 9B, tasks Tm are distributed and executed in order.

A’ボランティアグループの場合、順列分配が並列分配よりも適切である。なぜなら順列分配の方がより多くのタスクを完了できるからである。たとえば、図9(b)において、VがタスクTを完了した場合、VおよびVにおいてそれを実行する必要がなくなる。A’ボランティアグループは、ボランティア確率が高いので、障害(とくにボランティア自律性障害)を起こさずに確実にタスクを実行する確率が高い。しかしながら、A’ボランティアグループは、図9(a)において並列分配を実行する場合、他のタスクを実行可能であるにもかかわらず、ボランティアが同じタスクを実行するという意味において、複製のオーバーヘッドを示す。A’ボランティアグループと対照的に、C’ボランティアグループの場合には、順列分配が並列分配よりも適切である。なぜならC’ボランティアグループは、低いαに起因するボランティア自律性障害によって頻繁に悩まされるからである。 For A ′ volunteer groups, permutation distribution is more appropriate than parallel distribution. This is because permutation distribution can complete more tasks. For example, in FIG. 9 (b), V 0 may have completed the task T m, executes need not it in V 1 and V 2. Since the A ′ volunteer group has a high volunteer probability, there is a high probability that the task will surely be executed without causing a failure (particularly volunteer autonomy failure). However, the A ′ volunteer group, when performing parallel distribution in FIG. 9 (a), shows duplication overhead in the sense that volunteers perform the same task even though other tasks can be performed. . In contrast to A ′ volunteer group, permutation distribution is more appropriate than parallel distribution for C ′ volunteer group. Because C 'volunteer group, because frequently plagued by volunteers autonomy disorder due to a low alpha v.

2.5. 障害に対処する
ボランティア自律性障害は、タスク実行の遅れおよび妨害をもたらす。ピアツーピアグリッド演算環境において、これらは、クラッシュ障害およびリンク障害よりも頻繁に起こる。さらに、ボランティアは、ボランティア自律性障害について種々の発生率および形式を有する。ピアツーピアグリッドシステムは、スケジューリング手続きにおいて、発生率と形式にしたがって種々の耐故障アルゴリズムを行う必要がある。これを達成するために、ボランティア自律性障害を従来の障害と区別しながら、各ボランティアグループの特性にしたがって異なる耐故障アルゴリズムを適用する。スケジューリングモバイルエージェントおよびタスクモバイルエージェントが、障害発生時にいかに働くかについてこのサブセクションで説明する。
2.5. Dealing with Disabilities Volunteer autonomy failures cause task execution delays and disruptions. In a peer-to-peer grid computing environment, these occur more frequently than crash failures and link failures. In addition, volunteers have different incidences and formats for volunteer autonomy failures. The peer-to-peer grid system needs to perform various fault-tolerant algorithms according to the occurrence rate and format in the scheduling procedure. In order to achieve this, different fault tolerance algorithms are applied according to the characteristics of each volunteer group, distinguishing volunteer autonomy failures from conventional failures. This subsection describes how the scheduling mobile agent and the task mobile agent work in the event of a failure.

ボランティア自律性障害Φは、ボランティア自律性障害Φおよびボランティア干渉障害Ψが起きてもオペレーティングシステムが生きている点で、クラッシュ障害が起きるとシャットダウンするクラッシュ障害とは異なる。Φは、Φがボランティアの要求によって発生する点でクラッシュ障害と異なる。Φの場合には動作していないが、Ψは、Ψが起きてもピアツーピアグリッド演算システムが生きている点でΦと異なる。
ボランティアサーバは、タイムアウトを利用してS−MAのクラッシュ障害を検出する。同様に、S−MAは、T−MAのクラッシュ障害を検出する。これを達成するために、S−MAがアライブメッセージをボランティアサーバに送る。同様に、T−MAがアライブメッセージをS−MAに送る。管理オーバーヘッドを減らすために、D’ボランティアグループのT−MAは、アライブメッセージを送らない。ボランティアは、オペレーティングシステムがシャットダウンしていないので、自身でボランティア自律性障害を検出することができる。T−MAまたはS−MAがボランティア自律性障害を検出すると、S−MAまたはボラティアサーバにそれぞれ通知する。
The volunteer autonomy failure Φ is different from the crash failure that shuts down when a crash failure occurs in that the operating system is alive even if the volunteer autonomy failure Φ and the volunteer interference failure Ψ occur. Φ differs from a crash failure in that Φ is generated by volunteer requests. Although not operating in the case of Φ, Ψ differs from Φ in that the peer-to-peer grid computing system is alive even when Ψ occurs.
The volunteer server detects a crash failure of the S-MA using a timeout. Similarly, the S-MA detects a T-MA crash failure. To accomplish this, the S-MA sends an alive message to the volunteer server. Similarly, the T-MA sends an alive message to the S-MA. To reduce administrative overhead, the D 'volunteer group T-MA does not send an alive message. Volunteers can detect volunteer autonomy failures themselves because the operating system is not shut down. When the T-MA or S-MA detects a volunteer autonomy failure, it notifies the S-MA or the volatility server, respectively.

2.5.1 S−MAの障害
S−MAが自律性障害に悩まされることはほとんどない。なぜなら、A’ボランティアグループの中から選択された代理ボランティアで実行されるからである。S−MAは、スケジューリンググループのリスト、スケジューリング表およびタスク結果などの情報を安定的なストレージに記憶する。S−MAが落ちた場合、情報が新しいボランティアに送られる。図10は、S−MAの耐故障アルゴリズムを示す。
ボランティアサーバがS−MAのクラッシュ障害を検出した場合、図8に示す代理ボランティアセクションのアルゴリズムによって、新しい代理ボランティアが選択される。次に、S−MAおよびスケジューリング情報が新しく選択された代理ボランティアに送られる。S−MAがボランティア自律性障害に悩まされる場合、変動性障害(VolatilityFailure)メッセージをボランティアサーバに送る。S−MAがボランティアタイムの間に再び参加した場合、再参加(Rejoin)メッセージをそのボランティアサーバに送る。ボランティアサーバが、変動性障害メッセージを受け取った後の間隔内に再参加メッセージを受け取らない場合、S−MAを新しい代理ボランティアに送る。
2.5.1 Failure of S-MA S-MA rarely suffers from autonomy failures. This is because it is executed by a proxy volunteer selected from the A ′ volunteer group. The S-MA stores information such as a list of scheduling groups, a scheduling table, and task results in a stable storage. If the S-MA goes down, information is sent to the new volunteer. FIG. 10 shows an S-MA fault tolerance algorithm.
If the volunteer server detects an S-MA crash failure, a new proxy volunteer is selected by the algorithm of the proxy volunteer section shown in FIG. The S-MA and scheduling information is then sent to the newly selected proxy volunteer. If the S-MA suffers from volunteer autonomy failure, it sends a Volatility Failure message to the volunteer server. If the S-MA joins again during the volunteer time, it sends a Rejoin message to the volunteer server. If the volunteer server does not receive the rejoin message within the interval after receiving the variability disorder message, it sends the S-MA to the new proxy volunteer.

S−MAが予約されたボランティアタイムの端にある場合、事前変動性障害(InAdvanceVolatilityFailure)メッセージをボランティアサーバに送る。この場合、ボランティアサーバは、代理ボランティア候補で応答する。S−MAは、代理ボランティア候補に移行する。
ボランティア干渉障害の場合、S−MAは、ピアツーピアグリッドシステムが生きているという意味においてスケジューリング手続きを実行することができるので、何ら行動を起こさない。
If the S-MA is at the end of the reserved volunteer time, an InAdvanceVolatilityFailure message is sent to the volunteer server. In this case, the volunteer server responds with proxy volunteer candidates. S-MA moves to a proxy volunteer candidate.
In the case of volunteer interference failure, the S-MA takes no action because it can perform the scheduling procedure in the sense that the peer-to-peer grid system is alive.

2.5.2 T−MAの障害
T−MAは比較的低い利用可能性を有するので、S−MAよりも頻繁にボランティア自律性障害に悩まされる。チェックポイントを利用する場合、T−MAは、実行状態についてMTTVAFの割合でチェックポイントを行う。図11、図12および図13は、T−MAの耐故障アルゴリズムを示す。
S−MAは、T−MAのクラッシュ障害を検出すると、新しいボランティアを選択する。チェックポイントを利用する場合、S−MAが最近チェックポイントを行ったT−MA’をそれに送る。そうでなければ、S−MAがT−MAを新しいものに再分配する。各S−MAは、冗長数rのうちにT−MAを再分配する。
T−MAが予約されたボランティアタイムの端にある場合、事前変動性障害メッセージをそのS−MAに送る。ボランティア候補を受け取った後、ボランティア候補に移行するか、または複製される。
2.5.2 Failure of T-MA Because T-MA has relatively low availability, it suffers from volunteer autonomy failures more frequently than S-MA. When using checkpoints, the T-MA performs checkpoints on the execution state at the rate of MTTVAF. 11, 12 and 13 show the fault-tolerant algorithm of T-MA.
When the S-MA detects a T-MA crash failure, it selects a new volunteer. When using a checkpoint, the S-MA sends a T-MA ′ that has recently performed a checkpoint to it. Otherwise, the S-MA redistributes the T-MA to a new one. Each S-MA redistributes the T-MA within the redundancy number r.
If the T-MA is at the end of the reserved volunteer time, a pre-variable failure message is sent to that S-MA. After receiving a volunteer candidate, it is transferred to a volunteer candidate or duplicated.

T−MAがボランティア自律性障害Φに悩まされる場合、タスク実行のチェックポイントを取り、変動性障害メッセージによってΦのS−MAを通知する。次に、S−MAが既定の時間間隔の間に、落ちたボランティアから何らの再参加メッセージも受け取らなかった場合、T−MAを再構築する。チェックポイントおよび移行が行われると、S−MAがT−MA’を新しいボランティアに移行させる。そうでなければ、S−MAが冗長数rによってT−MAを複製する。
T−MAがボランティア干渉障害Ψに悩まされる場合、実行のチェックポイントを取る。そして、間隔の間に実行が再起動しない場合、ボランティアは干渉障害(InterferenceFailure)メッセージをそのS−MAに送る。ボランティア候補を受け取った後、T−MAはボランティア候補を移行させるか、または複製する。
If the T-MA suffers from a volunteer autonomy failure Φ, it takes a task execution checkpoint and notifies the Φ S-MA with a variability failure message. Next, if the S-MA does not receive any rejoin message from the dropped volunteer during the predetermined time interval, it reconstructs the T-MA. Once the checkpoint and migration is done, S-MA migrates T-MA ′ to a new volunteer. Otherwise, the S-MA duplicates the T-MA with the redundancy number r.
If T-MA suffers from volunteer interference disorder Ψ, take a checkpoint of execution. If the execution does not restart during the interval, the volunteer sends an Interference Failure message to the S-MA. After receiving the volunteer candidates, the T-MA migrates or duplicates the volunteer candidates.

管理オーバーヘッドを低減するために、このアルゴリズムにおいて、実行中に障害が発生した場合におけるD’ボランティアグループのための耐故障機構がない。D’ボランティアグループは、たとえばボランティア自律性障害、ボランティア可能性、ボランティアサービスタイムを計算する目的で、テスト用のタスクを実行する。   In order to reduce management overhead, in this algorithm there is no fault tolerant mechanism for the D 'volunteer group in the event of a failure during execution. The D 'volunteer group performs a test task, for example, for the purpose of calculating volunteer autonomy failures, volunteer availability, and volunteer service time.

3. 実行と評価
3.1. 実行
「Korea@Home」および「ODDUGI」モバイルエージェントシステムに基づいて、本発明の適応スケジューリング機構を実行した。Korea@Homeプロジェクトは、インターネット4上に分布する多数のPCの大量の演算能力を役立てることを試みている。さらに、本発明の発明者によって開発されたODDUGIは、信頼できる、確実な耐故障のモバイルエージェントの実行をサポートするモバイルエージェントシステムである。図14は、Korea@Homeにおける実行のスクリーンショットを表す。
3. Execution and evaluation 3.1. Implementation The adaptive scheduling mechanism of the present invention was implemented based on the “Korea @ Home” and “ODDUGI” mobile agent systems. The Korea @ Home project is trying to make use of the massive computing power of many PCs distributed over the Internet 4. Furthermore, the ODUGI developed by the inventors of the present invention is a mobile agent system that supports the execution of reliable and reliable fault-tolerant mobile agents. FIG. 14 shows a screenshot of execution at Korea @ Home.

現在Korea@Homeは、6,744のボランティアを有し、平均してこれらの524がアクティブ状態にある。1ヶ月にわたって(つまり2005年7月)パフォーマンス測定を行った。図15(a)および(b)は、1日毎のパフォーマンス(最高412.43Gflops、平均352.46Gflops)および1時間毎のパフォーマンス(最高356.53Gflops、平均265.09Gflops)をそれぞれ示す。Korea@Homeにおいて、ボランティアは、グローバル危機管理(global risk management)、新薬候補発見(new drug candidate discovery)および気候予測(climate prediction)の3種のアプリケーションの1つに参加する事ができる。ボランティアのCPUタイプはいくらか異なるが、多くは類似のCPUパフォーマンスを示す。たとえば、インテルのPentium(登録商標)4が全体の約55%を占め、Pentium(登録商標)3が約12%、Celeronが約6%を表すなどである。   Currently, Korea @ Home has 6,744 volunteers, and on average these 524 are active. Performance measurements were taken over a month (ie July 2005). FIGS. 15 (a) and (b) show the daily performance (maximum 412.43 Gflops, average 352.46 Gflops) and hourly performance (maximum 356.53 Gflops, average 265.09 Gflops), respectively. At Korea @ Home, volunteers can participate in one of three applications: global risk management, new drug candidate discovery, and climate prediction. Volunteer CPU types are somewhat different, but many exhibit similar CPU performance. For example, Intel's Pentium 4 represents about 55% of the total, Pentium 3 represents about 12%, and Celeron represents about 6%.

3.2.評価
本出願人らのMAAGSMを既存のスケジューリング機構で評価する。この評価は、スケジューリング手続きにおいてボランティアグループが考慮されたかに応じて、パフォーマンスの改善がどれくらい達成されたかに焦点をあてる。この目的のために、異なるボランティアサービスタイムΘおよびボランティア可能性αを有するボランティアグループを意図的にセットアップした。
3.2. Evaluation Applicants' MAAGSM is evaluated with an existing scheduling mechanism. This assessment focuses on how much performance improvement has been achieved, depending on whether volunteer groups were considered in the scheduling procedure. For this purpose, volunteer groups with different volunteer service times Θ and volunteer possibilities α v were set up intentionally.

本出願人らの適応スケジューリング機構をイーガースケジューリング(eager scheduling)と比較する。イーガースケジューリングでは、ボランティアは、その現在のタスクを終了するとすぐにボランティアサーバーに新しいタスクを要求する。その結果、ボランティアが熱心に(eager)に働くほど、多くのタスクが実行される。グリッド演算環境では、たとえばMCT、MET、SA、KPB、min−min、max−minおよびSufferageヒューリスティクス(sufferage heuristics)など多数のスケジューリングヒューリスティクス(scheduling heuristics)がある。本出願人らは、既存のスケジューリングヒューリスティクスの中でもイーガースケジューリングに適応する。なぜならグリッド演算における他のヒューリスティクスよりも直接的で単純だからである。とくに、イーガースケジューリングは、グリッド演算のヒューリスティクスよりも動的な環境により適応するので、主に動的ピアツーピアグリッド演算環境において用いられる。   We compare our adaptive scheduling mechanism with eager scheduling. In eager scheduling, a volunteer requests a new task from the volunteer server as soon as it finishes its current task. As a result, more tasks are performed the more volunteers work eagerly. In the grid computing environment, there are a number of scheduling heuristics such as MCT, MET, SA, KPB, min-min, max-min and Sufferage heuristics. Applicants adapt to eager scheduling among existing scheduling heuristics. Because it is more straightforward and simpler than other heuristics in grid operations. In particular, eager scheduling is mainly used in a dynamic peer-to-peer grid computing environment because it adapts to a more dynamic environment than grid computing heuristics.

MAAGSMを評価するためにシミュレーションを利用する。このシミュレーションは、Korea@Homeにおいて本物のボランティアで行った。このアプリケーションは、新薬候補発見である。このアプリケーションでのタスクは、専用のPentium(登録商標)1.4GHzで16分間の実行時間を使う。表3は、異なるボランティアグループ、ボランティアサービスタイム、ボランティア可能性でのシミュレーション環境を表す。表3のそれぞれのケースのために3,200のボランティアが1時間のシミュレーションに参加した。ケース1において、A’ボランティアグループは、他のグループよりも多くのボランティアを有する。ケース2は、他のグループと比べると、より多くのボランティアがA’およびC’ボランティアグループに属することを示している。ケース3では、A’およびB’ボランティアグループが他のグループよりも多くのボランティアを有している。ケース4では、D’ボランティアグループが他のグループよりも多くのボランティアを有している。表3を分析すると、ケース1は、他のケースよりもボランティア可能性およびボランティアサービスタイムが大きいことが観察できる。ケース4は、他のケースよりもボランティア可能性およびボランティアサービスタイムが小さい。このシミュレーション環境を基礎として、各ケース毎にこのシミュレーションを10回行った。   A simulation is used to evaluate MAAGSM. This simulation was done with real volunteers at Korea @ Home. This application is new drug candidate discovery. Tasks in this application use a dedicated Pentium (registered trademark) 1.4 GHz with an execution time of 16 minutes. Table 3 represents a simulation environment with different volunteer groups, volunteer service times, and volunteer availability. For each case in Table 3, 3,200 volunteers participated in the one hour simulation. In Case 1, the A 'volunteer group has more volunteers than the other groups. Case 2 shows that more volunteers belong to the A 'and C' volunteer groups compared to the other groups. In Case 3, the A 'and B' volunteer groups have more volunteers than the other groups. In Case 4, the D 'volunteer group has more volunteers than the other groups. When Table 3 is analyzed, it can be observed that Case 1 has a greater volunteering potential and volunteer service time than the other cases. Case 4 has less volunteering potential and volunteer service time than the other cases. Based on this simulation environment, this simulation was performed 10 times for each case.

表3に示すように、200のボランティアが種々のボランティア自律性障害、ボランティア可能性およびボランティアサービスタイムを有する。本出願らは、MTTVAFの範囲を1/0.2〜1/0.002分、MTTRの範囲を3〜10分と仮定した。このシミュレーションは、完了したタスクの数および冗長数をパフォーマンスの尺度(metric)として用いた。さらに、複製が適用されたかどうかに応じて完了したタスクを計測した。スケジューリンググループ(つまりA’D’およびC’B’)を基礎とする2つのパフォーマンス尺度を計測した。   As shown in Table 3, 200 volunteers have various volunteer autonomy failures, volunteer availability and volunteer service time. We assumed that the MTTVAF range was 1 / 0.2 to 1 / 0.002 min and the MTTR range was 3 to 10 min. This simulation used the number of completed tasks and the number of redundancy as performance metrics. In addition, we measured the completed tasks depending on whether replication was applied. Two performance measures based on scheduling groups (ie A'D 'and C'B') were measured.

Figure 2008071294
Figure 2008071294

図17は、完了したタスクの平均数を表す。図17において、ESおよびASは、既存のイーガースケジューリングおよびMAAGSMをそれぞれ表す。さらに、AS(A’D’)およびAS(C’B’)は、MAAGSMの各スケジューリンググループを表す(AS(A’D’)とAS(C’B’)は、ASに等しいことに留意されたい)。図17が示すように、MAAGSMは、は、既存のイーガースケジューリング方法よりも多くのタスクを完了する。得られた結果は、下記のファクターを示唆している。第1に、A’ボランティアグループは、より良いパフォーマンスを得るために重要な役割を果たしている。A’ボランティアグループの中のメンバー数が徐々に減少すると(つまりケース1からケース4)、完了するタスクの数が減少する。   FIG. 17 represents the average number of completed tasks. In FIG. 17, ES and AS represent existing eager scheduling and MAAGSM, respectively. Furthermore, AS (A′D ′) and AS (C′B ′) represent each scheduling group of MAAGSM (AS (A′D ′) and AS (C′B ′) are equal to AS) I want to be) As FIG. 17 shows, MAAGSM completes more tasks than existing eager scheduling methods. The results obtained suggest the following factors. First, A 'volunteer groups play an important role in getting better performance. As the number of members in the A 'volunteer group gradually decreases (i.e., Case 1 to Case 4), the number of completed tasks decreases.

第2に、A’およびC’ボランティアグループのメンバーの数は、B’およびD’ボランティアグループのそれよりもより重要である。たとえば、ケース1およびケース2は、ケース3およびケース4よりも多くのタスクを完了する。第3に、ボランティア可能性は、パフォーマンスの改善と強く関連している。たとえば、最も高いボランティア可能性を有するケース1は、他のケースよりも多くのタスクを完了した。他方、ボランティア可能性が最も低いケース4が完了するタスクは、他のケースのそれよりも少ない。最後に、A’ボランティアグループのメンバーの数が減少し、B’およびD’ボランティアグループのメンバーの数が増加すると、MAAGSMとイーガースケジューリングの違いが大きくなる。   Secondly, the number of members of the A 'and C' volunteer groups is more important than that of the B 'and D' volunteer groups. For example, Case 1 and Case 2 complete more tasks than Case 3 and Case 4. Third, volunteering is strongly related to performance improvements. For example, Case 1 with the highest volunteer potential completed more tasks than the other cases. On the other hand, Case 4 with the lowest potential for volunteering has fewer tasks to complete than in the other cases. Finally, as the number of members in the A 'volunteer group decreases and the number of members in the B' and D 'volunteer groups increases, the difference between MAAGSM and eager scheduling increases.

A’、B’、C’またはD’ボランティアグループ内の失敗したタスクまたは一時停止したタスクが質の悪いボランティアに代替的に再分配されるという意味において、この結果は、イーガースケジューリングでは予期されたものである。他方、MAAGSMはグループ毎を基礎にスケジューリングを実行するので、望ましくない状況は起きない。たとえば、C’ボランティアグループ内の失敗したタスクまたは一時停止したタスクは、B’およびD’ボランティアグループに再分配されない。ケース1における違いは、A’ボランティアグループのメンバーが他のグループよりも多いので、他のケースより小さい。換言すると、望ましくない状況がケース1ではほとんど発生しない。   This result was expected in eager scheduling in the sense that failed or paused tasks in A ', B', C 'or D' volunteer groups are alternatively redistributed to poor quality volunteers Is. On the other hand, since MAAGSM performs scheduling on a group-by-group basis, undesirable situations do not occur. For example, failed or suspended tasks in the C 'volunteer group are not redistributed to the B' and D 'volunteer groups. The difference in case 1 is smaller than the other cases because the A 'volunteer group has more members than the other groups. In other words, undesirable situations rarely occur in Case 1.

図18は、ケース2においてボランティア自律性障害に耐えるために複製を利用するときの完了したタスクの平均数を表す。図18において、x軸上のティック値(tick value)1.0は、実際には0.99を表す(式1を参照)。この図から、信頼性閾値が増大すると、完了するタスクの数は減少する。得られた結果は、高い信頼性を保つためにより多くのタスクが複製されるべきだということを示している。   FIG. 18 represents the average number of completed tasks when using replication to withstand volunteer autonomy failures in Case 2. In FIG. 18, a tick value 1.0 on the x-axis actually represents 0.99 (see Equation 1). From this figure, as the reliability threshold increases, the number of completed tasks decreases. The results obtained indicate that more tasks should be replicated to maintain high reliability.

図19は、ケース2の冗長数rを表す。MAAGSMは、スケジューリングモバイルエージェントが複製アルゴリズムを各ボランティアグループに適用するので、イーガースケジューリングよりも小さいrを有する。すなわち、ボランティアグループのボランティア自律性障害に応じて冗長数を適切に調節する。さらに、A’ボランティアグループは、C’ボランティアグループよりも高いボランティア可能性およびボランティアサービスタイムを有しているので、A’D’スケジューリンググループは、C’B’スケジューリンググループよりも小さいrを有している。C’ボランティアグループはA’ボランティアグループよりも頻繁にボランティア自律性障害に悩まされているので、前者は後者よりも大きいrを有する。したがって、A’ボランティアグループの場合では、小さいrで信頼性閾値を満足する。C’ボランティアグループの場合では、信頼性閾値を充足するために大きいrが必要になる。結果として、A’ボランティアグループは、複製オーバーヘッドを低減できるので、より多くのタスクを実行することができる。最後に、信頼性がより要求されるのにしたがって、冗長数が増大する。   FIG. 19 shows the redundancy number r in case 2. MAAGSM has a smaller r than eager scheduling because the scheduling mobile agent applies a replication algorithm to each volunteer group. That is, the redundancy number is appropriately adjusted according to the volunteer autonomy failure of the volunteer group. In addition, A'D 'scheduling group has a smaller r than C'B' scheduling group because A 'volunteer group has higher volunteer availability and volunteer service time than C' volunteer group. ing. The C 'volunteer group suffers from volunteer autonomy failures more frequently than the A' volunteer group, so the former has a larger r than the latter. Therefore, in the case of the A ′ volunteer group, the reliability threshold is satisfied with a small r. In the case of the C ′ volunteer group, a large r is required to satisfy the reliability threshold. As a result, the A 'volunteer group can perform more tasks because it can reduce replication overhead. Finally, the redundancy increases as more reliability is required.

図20は、複製の事例での完了タスクの平均数を表す。図20では、0.8の値を信頼性閾値として使用した。図17と比較すると、MAAGSMとイーガースケジューリングの違いが大きい。MAAGSMでは、A’ボランティアグループは、比較的小さいrを有するので、より多くのタスクを完了することができる。他方、イーガースケジューリングは、同種のグループを考慮していないので、下記の望ましくない状態が繰り返し発生する。この場合、失敗したタスクは新しいボランティアに分配すべきである。   FIG. 20 represents the average number of completed tasks in the replication case. In FIG. 20, a value of 0.8 was used as the reliability threshold. Compared with FIG. 17, the difference between MAAGSM and eager scheduling is large. In MAAGSM, the A 'volunteer group has a relatively small r so it can complete more tasks. On the other hand, since eager scheduling does not consider the same kind of group, the following undesirable states occur repeatedly. In this case, the failed task should be distributed to new volunteers.

イーガースケジューリングでは、ボランティアグループを考慮せずに新しいボランティアが選択される。新しく選択されたボランティアがB’またはD’ボランティアグループに属する場合、ボランティア自律性障害の割合が高いので、それもまた失敗するであろう。質の悪いボランティアが連続して選択される場合は、質の高いボランティアが選ばれるまで、タスクが連続して他のボランティアに再分配される。このような望ましくない状態は、多くのボランティアがB’、C’またはD’ボランティアグループに属する場合、頻繁に繰り返し起こる。したがって、クラス3およびクラス4におけるMAAGSMとイーガースケジューリングの違いは、クラス1およびクラス2におけるそれよりも大きい。   In eager scheduling, new volunteers are selected without considering volunteer groups. If the newly selected volunteer belongs to the B 'or D' volunteer group, it will also fail because the percentage of volunteer autonomy failures is high. If poor quality volunteers are selected in succession, the task is continuously redistributed to other volunteers until a quality volunteer is selected. Such an undesirable condition occurs frequently and frequently when many volunteers belong to a B ', C' or D 'volunteer group. Therefore, the difference between MAAGSM and eager scheduling in class 3 and class 4 is greater than that in class 1 and class 2.

図21は、すべてのケースの冗長数rを表している。A’ボランティアグループのメンバーの数が増加すると、MAAGSMとイーガースケジューリングの違いも大きくなる。たとえば、ケース1は最も大きいA’ボランティアグループを有し、したがって、MAAGSMの冗長数rは、イーガースケジューリングのそれと似かよっている。ケース2は、
多くのA’およびC’ボランティアグループのメンバーを有しているので、MAAGSMとイーガースケジューリングの隔たりは、ケース1に示されるものよりも大きい。類似の結果がケース3およびケース4で示される。イーガースケジューリングと比較して、MAAGSMは、MAAGSMが冗長数をボランティアグループに基づいて計算するのでイーガースケジューリングとは対照的に、小さいrを有する。MAAGSMにおいて、ボランティア自律性障害の割合が高いボランティアグループは、rが大きいことが必要で、その逆もまた同様である。結果として、MAAGSMは、イーガースケジューリングよりも多くのタスクを完了する。A’ボランティアグループは、図21に示すように、イーガースケジューリングよりも小さい冗長数を有するので、より多くのタスクを完了することができる。
FIG. 21 shows the redundancy number r for all cases. As the number of members in the A 'volunteer group increases, the difference between MAAGSM and eager scheduling increases. For example, Case 1 has the largest A ′ volunteer group, so the MAAGSM redundancy number r is similar to that of eager scheduling. Case 2 is
Since we have many A ′ and C ′ volunteer group members, the gap between MAAGSM and eager scheduling is larger than that shown in Case 1. Similar results are shown in Case 3 and Case 4. Compared to eager scheduling, MAAGSM has a small r, in contrast to eager scheduling, because MAAGSM calculates the redundancy number based on volunteer groups. In MAAGSM, a volunteer group with a high percentage of volunteer autonomy failures needs to have a large r, and vice versa. As a result, MAAGSM completes more tasks than eager scheduling. Since the A ′ volunteer group has a smaller number of redundancy than eager scheduling, as shown in FIG. 21, more tasks can be completed.

ピアツーピアグリッド演算環境を示す図である。It is a figure which shows a peer to peer grid computing environment. 既存のピアツーピアグリッド演算モデルを示す図である。It is a figure which shows the existing peer to peer grid calculation model. ピアツーピアグリッド演算モデルに基づくモバイルエージェントを示す図である。It is a figure which shows the mobile agent based on a peer to peer grid calculation model. ボランティアの分類基準を示す図である。It is a figure which shows the classification criteria of a volunteer. ボランティアの分類を示す図である。It is a figure which shows the classification | category of a volunteer.

ボランティアグループの分類を示す図である。It is a figure which shows the classification | category of a volunteer group. ボランティアグループ構築のアルゴリズムを示す図である。It is a figure which shows the algorithm of volunteer group construction. 代理ボランティア選択のアルゴリズムを示す図である。It is a figure which shows the algorithm of proxy volunteer selection. 並列分配および順列分配の概念を示す図である。It is a figure which shows the concept of parallel distribution and permutation distribution. S−MAの障害の存在下における耐故障アルゴリズムを示す図である。It is a figure which shows the fault tolerance algorithm in presence of a failure of S-MA.

T−MAの障害の存在下における耐故障アルゴリズムを示す図である。It is a figure which shows the fault tolerance algorithm in presence of the failure of T-MA. T−MAの障害の存在下における耐故障アルゴリズムを示す図である。It is a figure which shows the fault tolerance algorithm in presence of the failure of T-MA. T−MAの障害の存在下における耐故障アルゴリズムを示す図である。It is a figure which shows the fault tolerance algorithm in presence of the failure of T-MA. Korea@Homeのスクリーンショットを示す図である。It is a figure which shows the screenshot of Korea @ Home. (a)1日毎および(b)1時間毎のパフォーマンスをトレースしたパフォーマンストレース図である。It is the performance trace figure which traced the performance of (a) every day and (b) every hour. Korea@HomeにおけるCPUタイプのボランティアを示す図である。It is a figure which shows the CPU type volunteer in Korea @ Home.

完了したタスクの平均数を示すグラフである。It is a graph which shows the average number of completed tasks. 事例2の複製の事例で完了したタスクの平均数を示すグラフである。10 is a graph showing an average number of tasks completed in a case of duplication of case 2; 事例2における平均冗長数を示すグラフである。10 is a graph showing an average redundancy number in case 2. 複製の事例(信頼性閾値=0.8)で完了したタスクの平均数を示すグラフである。It is a graph which shows the average number of the tasks completed in the case of replication (reliability threshold = 0.8). 各事例における平均冗長数を示す図である。It is a figure which shows the average redundancy number in each case.

Claims (26)

ボランティアサーバ、複数のボランティア、および前記ボランティアサーバにジョブを提出するクライアントを含むコンピュータネットワークにおける、モバイルエージェントベースのピアツーピアグリッド演算の方法であって:
ボランティアの特性を登録し、特性にしたがってそれらを複数のボランティアグループに分類するステップ;
提出されたジョブを多数のタスクに分けるステップであって、各タスクはタスクモバイルエージェントとして実行される、前記ステップ;
特性にしたがって、スケジューリングモバイルエージェントをボランティアグループに割り当てるステップ;
各スケジューリングモバイルエージェントが、タスクモバイルエージェントをそのボランティアグループのメンバーに分配するステップ;
各ボランティアが、スケジューリングモバイルエージェントと共働してタスクモバイルエージェントを実行するステップ;
各タスクモバイルエージェントが、実行結果をスケジューリングモバイルエージェントに戻すステップ;
スケジューリングモバイルエージェントが結果を集計し、集めた結果をボランティアサーバに戻すステップ;および
ボランティアサーバが最終結果をクライアントに戻すステップ
を含む、前記方法。
A method of mobile agent-based peer-to-peer grid computing in a computer network comprising a volunteer server, a plurality of volunteers, and a client submitting a job to the volunteer server, comprising:
Registering the characteristics of volunteers and classifying them into multiple volunteer groups according to the characteristics;
Dividing the submitted job into a number of tasks, each task being executed as a task mobile agent;
Assigning scheduling mobile agents to volunteer groups according to characteristics;
Each scheduling mobile agent distributes the task mobile agent to its volunteer group members;
Each volunteer working with a scheduling mobile agent to execute a task mobile agent;
Each task mobile agent returns the execution result to the scheduling mobile agent;
The scheduling mobile agent aggregates the results and returns the collected results to the volunteer server; and the volunteer server returns the final results to the client.
ボランティアの特性が、CPU、メモリ容量、ストレージ、ネットワーク容量を含む、請求項1に記載の方法。   The method of claim 1, wherein the volunteer characteristics include CPU, memory capacity, storage, network capacity. ボランティアの特性が、ボランティアが公開実行に参加するときに予定されたサービス時間であるボランティアサービスタイム、およびボランティアが正確に作動し、ボランティアサービスを遂行する確率であるボランティア可能性を含む、請求項1に記載の方法。   The volunteer characteristics include volunteer service time, which is a scheduled service time when the volunteer participates in public execution, and volunteer likelihood, which is the probability that the volunteer will operate correctly and perform the volunteer service. The method described in 1. ボランティアの特性が、ボランティアのロケーションをさらに含む、請求項3に記載の方法。   4. The method of claim 3, wherein the volunteer characteristics further comprise a volunteer location. ボランティアグループが以下により構築される、請求項4に記載の方法:
登録されたボランティアをそのロケーションに応じてホームボランティアまたはリージョンボランティアに分類することであって、ホームボランティアは、インターネットに接続されたものであり、リージョンボランティアは、LANまたはイントラネットに接続されたものであること;
ホームボランティアおよびリージョンボランティアを、ボランティアサービスタイムおよびボランティア可能性によってA’クラス、B’クラス、C’クラス、D’クラスに分類することであって、クラスA’は、ボランティアサービスタイムが長く、かつボランティア可能性が高いボランティアの群であり、クラスB’は、ボランティアサービスタイムが短く、かつボランティア可能性が高いボランティアの群であり、クラスC’は、ボランティアサービスタイムが長く、かつボランティア可能性が低いボランティアの群であり、クラスD’は、ボランティアサービスタイムが短く、かつボランティア可能性が低いボランティアの群とすること。
The method of claim 4, wherein the volunteer group is established by:
Classifying registered volunteers as home volunteers or region volunteers according to their location, where home volunteers are connected to the Internet and region volunteers are connected to a LAN or intranet. thing;
Classifying home volunteers and region volunteers into A ′ class, B ′ class, C ′ class, and D ′ class according to volunteer service time and volunteer possibility, class A ′ has a long volunteer service time, and Class B 'is a group of volunteers with a high volunteering potential, class B' is a group of volunteers with a short volunteering service time and a high volunteering potential, and class C 'has a long volunteering service time and a volunteering potential. Class D 'is a group of volunteers with low volunteer service time and low possibility of volunteering.
ボランティア可能性が、MTTVAF/(MTTVAF+MTTR)によって計算され、MTTVAFは、ボランティア自律性の障害までの平均時間を表し、MTTRは、復帰するまでの平均時間を表す、請求項5に記載の方法。   6. The method of claim 5, wherein volunteer likelihood is calculated by MTTVAF / (MTTVAF + MTTR), where MTTVAF represents an average time to failure of volunteer autonomy, and MTTR represents an average time to return. クラスA’とクラスC’のボランティアグループを組み合わせて、クラスA’C’のスケジューリンググループを構築し、タスクを前記A’C’スケジューリンググループに分配させる、請求項5に記載の方法。   6. The method of claim 5, wherein class A 'and class C' volunteer groups are combined to form a class A'C 'scheduling group and tasks are distributed to the A'C' scheduling group. クラスA’とクラスD’のボランティアグループを組み合わせて、A’D’スケジューリンググループを構築するとともに、クラスC’とクラスB’のボランティアグループを組み合わせて、クラスC’B’のスケジューリンググループを構築し、タスクをまずA’D’スケジューリンググループに分配し、次いでC’B’スケジューリンググループに分配する、請求項5に記載の方法。   Class A 'and class D' volunteer groups are combined to construct an A'D 'scheduling group, and class C' and class B 'volunteer groups are combined to construct a class C'B' scheduling group. 6. The method of claim 5, wherein tasks are first distributed to A'D 'scheduling groups and then to C'B' scheduling groups. A’D’スケジューリンググループのスケジューリングモバイルエージェントが、下記の1)〜3)を実行する、請求項8に記載の方法:
1)ボランティア可能性に応じて、次にボランティアサービスタイムに応じて、A’ボランティアグループを順位付ける;
2)タスクモバイルエージェントを、アレンジしたA’ボランティアグループのメンバーに分配する;
3)タスクモバイルエージェントに障害が発生した場合、障害が生じたタスクをA’ボランティアグループ内で選択される新しいボランティアに複製する。
The method according to claim 8, wherein the scheduling mobile agent of the A'D 'scheduling group performs the following 1) to 3):
1) Rank A 'volunteer groups according to volunteer availability and then according to volunteer service time;
2) Distribute task mobile agents to members of the arranged A 'volunteer group;
3) When a failure occurs in the task mobile agent, the failed task is replicated to a new volunteer selected in the A ′ volunteer group.
C’B’スケジューリンググループのスケジューリングモバイルエージェントが、下記の1)〜3)を実行する、請求項8に記載の方法:
1)ボランティア可能性に応じて、次にボランティアサービスタイムに応じて、C’ボランティアグループおよびB’ボランティアグループを順位付ける;
2)タスクモバイルエージェントを、アレンジしたC’ボランティアグループのメンバーに分配する;
3)タスクモバイルエージェントに障害が発生した場合、障害が生じたタスクをB’ボランティアグループまたはC’ボランティアグループ内で選択される新しいボランティアに複製する。
The method according to claim 8, wherein the scheduling mobile agent of the C'B 'scheduling group performs the following 1) to 3):
1) Rank C 'volunteer group and B' volunteer group according to volunteer availability and then according to volunteer service time;
2) Distribute task mobile agents to members of the arranged C 'volunteer group;
3) When a failure occurs in the task mobile agent, the failed task is replicated to the B ′ volunteer group or a new volunteer selected in the C ′ volunteer group.
タスクを、まずA’D’スケジューリンググループに分配し、次いでC’B’スケジューリンググループに分配する、請求項8に記載の方法。   9. The method of claim 8, wherein tasks are first distributed to A'D 'scheduling groups and then distributed to C'B' scheduling groups. ホームボランティアおよびリージョンボランティアを、A’クラス、B’クラス、C’クラス、D’クラスに分類するステップが、下記のステップを含む、請求項5に記載の方法:
ホームボランティアおよびリージョンボランティアを、ボランティアタイムおよびボランティア可能性によってAクラス、Bクラス、Cクラス、Dクラスに分類するステップであって、クラスAは、ボランティアタイムが長く、かつボランティア可能性が高いボランティア群であり、クラスBは、ボランティアタイムが短く、かつボランティア可能性が高いボランティア群であり、クラスCは、ボランティアタイムが長く、かつボランティア可能性が低いボランティア群であり、クラスDは、ボランティアタイムが短く、かつボランティア可能性が低いボランティア群である、前記ステップ;
ボランティアのボランティアサービスタイムが、予定されたタスクの演算時間と同じか、またはそれより長い場合において、ボランティアがクラスAまたはBに属する場合には、当該ボランティアをクラスA’に分類し、そうでなければ当該ボランティアをクラスC’に分類するステップ;および
ボランティアのボランティアサービスタイムが、予定されたタスクの演算時間より短い場合において、ボランティアがクラスAまたはBに属する場合には、当該ボランティアをクラスB’に分類し、そうでなければ当該ボランティアをクラスD’に分類するステップ。
6. The method of claim 5, wherein the step of classifying home volunteers and region volunteers into A ′ class, B ′ class, C ′ class, and D ′ class includes the following steps:
Classifying home volunteers and region volunteers into class A, class B, class C, class D according to volunteer time and volunteer possibility, class A is a group of volunteers with long volunteer time and high volunteer potential Class B is a group of volunteers with a short volunteer time and a high possibility of volunteering, Class C is a group of volunteers with a long volunteer time and a low possibility of volunteering, and Class D is a volunteer group with a low volunteering time. Said step being a group of volunteers that are short and have a low potential for volunteering;
If the volunteer's volunteer service time is equal to or longer than the scheduled task's computation time, and if the volunteer belongs to class A or B, classify the volunteer as class A ', otherwise Classifying the volunteer as class C ′; and if the volunteer's volunteer service time is less than the scheduled task computation time and the volunteer belongs to class A or B, classify the volunteer as class B ′. Classifying the volunteer as class D ′.
クラスA’およびクラスB’のボランティアグループを組み合わせて、A’B’スケジューリンググループを構築するとともに、クラスC’とクラスD’のボランティアグループを組み合わせて、クラスC’D’のスケジューリンググループを構築し、タスクを各スケジューリンググループに分配する、請求項5に記載の方法。   Class A 'and class B' volunteer groups are combined to construct an A'B 'scheduling group, and class C' and class D 'volunteer groups are combined to construct a class C'D' scheduling group. 6. The method of claim 5, wherein tasks are distributed to each scheduling group. スケジューリングモバイルエージェントをボランティアグループに割り当てるステップが:
代理ボランティア候補として、ボランティアをクラスA’に指定すること;
前記代理ボランティア候補を、ボランティア可能性、ボランティアサービスタイム、ハードディスク容量およびネットワークバンド幅によって順位付けること;
必要な数の代理ボランティアを、順位付けされた代理ボランティア候補から順番に選択すること;および
各スケジューリングモバイルエージェントを選択された各代理ボランティアに転送すること。
The steps to assign a scheduling mobile agent to a volunteer group are:
Designate volunteers as class A 'as proxy volunteer candidates;
Ranking said proxy volunteer candidates by volunteer availability, volunteer service time, hard disk capacity and network bandwidth;
Select the required number of proxy volunteers in turn from the ranked proxy volunteer candidates; and transfer each scheduling mobile agent to each selected proxy volunteer.
各スケジューリングエージェントが、スケジューリンググループリスト、スケジューリング表およびタスク結果を含むスケジューリング情報を記憶する、請求項14に記載の方法。   The method of claim 14, wherein each scheduling agent stores scheduling information including a scheduling group list, a scheduling table, and task results. スケジューリングモバイルエージェントが、アライブメッセージをボランティアサーバに定期的に送るステップ;
アライブメッセージがスケジューリングモバイルエージェントから所定の時間なくなっている場合、ボランティアサーバが、新しい代理ボランティアを選択するステップ;および
ボランティアサーバが、スケジューリングモバイルエージェントおよびスケジューリング情報を前記新しい代理ボランティアに送るステップ
をさらに含む、請求項15に記載の方法。
A scheduling mobile agent periodically sends an alive message to a volunteer server;
If the alive message is missing from the scheduling mobile agent for a predetermined time, the volunteer server further comprises: selecting a new proxy volunteer; and the volunteer server sending scheduling mobile agent and scheduling information to the new proxy volunteer; The method of claim 15.
タスクモバイルエージェントが、アライブメッセージをスケジューリングモバイルエージェントに定期的に送るステップ;
アライブメッセージがタスクモバイルエージェントから所定の時間なくなっている場合、スケジューリングモバイルエージェントが、ボランティアを選択するステップ;および
スケジューリングモバイルエージェントが、タスクモバイルエージェントを新しいボランティアに送るステップ
をさらに含む、請求項14に記載の方法。
The task mobile agent periodically sends an alive message to the scheduling mobile agent;
15. The scheduling mobile agent further comprising the steps of: selecting a volunteer if the alive message is missing from the task mobile agent for a predetermined time; and the scheduling mobile agent sending the task mobile agent to a new volunteer. the method of.
予約したボランティアタイムの端にある場合、スケジューリングモバイルエージェントが、事前変動性障害メッセージをボランティアサーバに送るステップ;
ボランティアサーバが、代理ボランティア候補で応答するステップ;
スケジューリングモバイルエージェントが、前記代理ボランティア候補に移行するステップ
をさらに含む、請求項14に記載の方法。
If at the end of the reserved volunteer time, the scheduling mobile agent sends a pre-variable failure message to the volunteer server;
A volunteer server responds with a proxy volunteer candidate;
The method of claim 14, further comprising: a scheduling mobile agent transitioning to the proxy volunteer candidate.
予約したボランティアタイムの端にある場合、タスクモバイルエージェントが、事前変動性障害メッセージをスケジューリングモバイルエージェントに送るステップ;
スケジューリングモバイルエージェントが、ボランティア候補で応答するステップ;および
タスクモバイルエージェントが、前記ボランティア候補に移行するステップ
をさらに含む、請求項14に記載の方法。
If at the end of the reserved volunteer time, the task mobile agent sends a pre-variable failure message to the scheduling mobile agent;
The method of claim 14, further comprising: a scheduling mobile agent responding with a volunteer candidate; and a task mobile agent transitioning to the volunteer candidate.
タスクモバイルエージェントがボランティア変動性障害に悩まされる場合に、タスクモバイルエージェントが、タスク実行のチェックポイントを取り、変動性障害メッセージによってそのスケジューリングモバイルエージェントにボランティア変動性障害を通知するステップ;
所定時間の間に障害を起こしたボランティアからの再加入メッセージを受信しない場合に、スケジューリングモバイルエージェントが、再度スケジューリングを行うステップ
をさらに含む、請求項14に記載の方法。
If the task mobile agent suffers from a volunteer variability disorder, the task mobile agent takes a task execution checkpoint and notifies the scheduling mobile agent of the volunteer variability disorder by a variability disorder message;
The method of claim 14, further comprising the step of: the scheduling mobile agent rescheduling if it does not receive a rejoin message from a failed volunteer for a predetermined time.
再度スケジューリングを行うステップが、スケジューリングモバイルエージェントが、最後にチェックポイントを行ったタスクモバイルエージェントを新しいボランティアに移行させるステップを含む、請求項20に記載の方法。   21. The method of claim 20, wherein re-scheduling comprises the scheduling mobile agent transitioning the last checkpointed task mobile agent to a new volunteer. タスクモバイルエージェントがボランティア干渉障害に悩まされる場合に、タスクモバイルエージェントが、タスク実行のチェックポイントを取るステップ;
所定時間の間に実行が再起動されない場合に、ボランティアが、干渉障害メッセージをそのスケジューリングモバイルエージェントに送るステップ;
スケジューリングモバイルエージェントが、ボランティア候補で応答するステップ;および
タスクモバイルエージェントが、ボランティア候補に移行するステップ
をさらに含む、請求項14に記載の方法。
The task mobile agent takes a task execution checkpoint when the task mobile agent suffers from volunteer interference failure;
A volunteer sends an interference failure message to its scheduling mobile agent if execution is not restarted within a predetermined time;
15. The method of claim 14, further comprising: a scheduling mobile agent responding with volunteer candidates; and a task mobile agent transitioning to volunteer candidates.
タスクモバイルエージェントが障害を起こした場合に、スケジューリングモバイルエージェントが、そのボランティアグループへの冗長の数を計算するステップ;
スケジューリングモバイルエージェントが、ボランティアグループの特性にしたがってボランティアを選択するステップ;および
スケジューリングモバイルエージェントが、タスクモバイルエージェントを選択されたボランティアに分配するステップ
をさらに含む、請求項1に記載の方法。
If the task mobile agent fails, the scheduling mobile agent calculates the number of redundancy for that volunteer group;
The method of claim 1, further comprising: a scheduling mobile agent selecting volunteers according to volunteer group characteristics; and a scheduling mobile agent distributing task mobile agents to the selected volunteers.
冗長rが、下記の式により計算される、請求項23に記載の方法:
Figure 2008071294
ここで、γは必要な信頼性であり、τ’はボランティア自律性障害に対する平均時間を意味し、Δはタスクの予定される演算時間である。
24. The method of claim 23, wherein the redundancy r is calculated by the following equation:
Figure 2008071294
Here, γ is the required reliability, τ ′ means the average time for volunteer autonomy failure, and Δ is the scheduled computation time of the task.
タスクモバイルエージェントを選択されたボランティアに分配するステップが、タスクモバイルエージェントをすべての選択されたボランティアに同時に分配し、同時にタスクモバイルエージェントを実行することを含む、請求項23に記載の方法。   24. The method of claim 23, wherein distributing the task mobile agent to selected volunteers includes distributing the task mobile agent to all selected volunteers simultaneously and executing the task mobile agent simultaneously. タスクモバイルエージェントを選択されたボランティアに分配するステップが、タスクモバイルエージェントを分配し、順番にそれを実行することを含む、請求項23に記載の方法。   24. The method of claim 23, wherein the step of distributing the task mobile agent to the selected volunteers includes distributing the task mobile agent and performing it in turn.
JP2006251610A 2006-09-15 2006-09-15 Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment Pending JP2008071294A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006251610A JP2008071294A (en) 2006-09-15 2006-09-15 Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006251610A JP2008071294A (en) 2006-09-15 2006-09-15 Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment

Publications (1)

Publication Number Publication Date
JP2008071294A true JP2008071294A (en) 2008-03-27

Family

ID=39292796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006251610A Pending JP2008071294A (en) 2006-09-15 2006-09-15 Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment

Country Status (1)

Country Link
JP (1) JP2008071294A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011209948A (en) * 2010-03-29 2011-10-20 Canon Inc Information processing apparatus, information processing method, program and storage medium
US8296765B2 (en) 2010-07-27 2012-10-23 Kurdi Heba A Method of forming a personal mobile grid system and resource scheduling thereon
JP2013546067A (en) * 2010-10-28 2013-12-26 ソニー株式会社 Method and apparatus for aggregating and distributing processing capacity
JP2014501010A (en) * 2010-11-29 2014-01-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and apparatus for expanding server-side processing capabilities
US9921883B2 (en) 2015-01-22 2018-03-20 Fujitsu Limited Job management device and method for determining processing elements for job assignment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352693A (en) * 2004-06-09 2005-12-22 Canon Inc Image processing system and distributed processing method in image processing system
JP2006048273A (en) * 2004-08-03 2006-02-16 Canon Inc Image processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352693A (en) * 2004-06-09 2005-12-22 Canon Inc Image processing system and distributed processing method in image processing system
JP2006048273A (en) * 2004-08-03 2006-02-16 Canon Inc Image processing system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011209948A (en) * 2010-03-29 2011-10-20 Canon Inc Information processing apparatus, information processing method, program and storage medium
US8296765B2 (en) 2010-07-27 2012-10-23 Kurdi Heba A Method of forming a personal mobile grid system and resource scheduling thereon
JP2013546067A (en) * 2010-10-28 2013-12-26 ソニー株式会社 Method and apparatus for aggregating and distributing processing capacity
JP2014501010A (en) * 2010-11-29 2014-01-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and apparatus for expanding server-side processing capabilities
US9531636B2 (en) 2010-11-29 2016-12-27 International Business Machines Corporation Extending processing capacity of server
US9921883B2 (en) 2015-01-22 2018-03-20 Fujitsu Limited Job management device and method for determining processing elements for job assignment

Similar Documents

Publication Publication Date Title
US20080077667A1 (en) Method for adaptive group scheduling using mobile agents in peer-to-peer grid computing environment
Hasan et al. Fault tolerance in cloud computing environment: A systematic survey
Mukwevho et al. Toward a smart cloud: A review of fault-tolerance methods in cloud systems
US7284146B2 (en) Markov model of availability for clustered systems
Idris et al. An improved ant colony optimization algorithm with fault tolerance for job scheduling in grid computing systems
US8225129B2 (en) Methods and apparatus for effective on-line backup selection for failure recovery in distributed stream processing systems
US8359347B2 (en) Method and apparatus for cooperative data stream processing
US20080256549A1 (en) System and Method of Planning for Cooperative Information Processing
US8701112B2 (en) Workload scheduling
Sathiyamoorthi et al. Adaptive fault tolerant resource allocation scheme for cloud computing environments
Alarifi et al. A fault-tolerant aware scheduling method for fog-cloud environments
US8068443B2 (en) Using distributed timers in an overlay network
CN111373373A (en) Managing computing clusters using time interval counters
Rathore et al. Job migration policies for grid environment
Liu et al. Service reliability in an HC: Considering from the perspective of scheduling with load-dependent machine reliability
Patra et al. Replication and resubmission based adaptive decision for fault tolerance in real time cloud computing: A new approach
JP2008071294A (en) Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment
Khoo et al. Pro-active failure handling mechanisms for scheduling in grid computing environments
Choi et al. Group-based adaptive result certification mechanism in Desktop Grids
Mahato et al. Dynamic and adaptive load balancing in transaction oriented grid service
Choi et al. Adaptive group scheduling mechanism using mobile agents in peer-to-peer grid computing environment
Kumari et al. Checkpointing algorithms for fault-tolerant execution of large-scale distributed applications in cloud
Abdeldjelil et al. A diversity-based approach for managing faults in web services
Jing et al. Reliability-aware DAG scheduling with primary-backup in cloud computing
US9852221B1 (en) Distributed state manager jury selection

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100720

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100810