JP3878881B2 - Asynchronous agent system, resource utilization method in the system, resource utilization program, and recording medium recording the program - Google Patents
Asynchronous agent system, resource utilization method in the system, resource utilization program, and recording medium recording the program Download PDFInfo
- Publication number
- JP3878881B2 JP3878881B2 JP2002140275A JP2002140275A JP3878881B2 JP 3878881 B2 JP3878881 B2 JP 3878881B2 JP 2002140275 A JP2002140275 A JP 2002140275A JP 2002140275 A JP2002140275 A JP 2002140275A JP 3878881 B2 JP3878881 B2 JP 3878881B2
- Authority
- JP
- Japan
- Prior art keywords
- agent
- service
- resource management
- resource
- agents
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、ユーザが要望したサービスを提供するためのアプリケーションプログラムを実行する複数のサービスエージェントと、サービスエージェントがアプリケーションプログラムを実行するために必要とする資源をサービスエージェントに提供する複数の資源管理エージェントを含む非同期エージェントシステムに関する。
【0002】
【従来の技術】
大規模ネットワーク上で、あるユーザの代理としてユーザが要望したサービスを提供するためのアプリケーションプログラムを自律的に実行するソフトウェアをエージェントと呼ぶ。エージェントには、各ユーザの要望に応じて非同期に生成され、ユーザはそのエージェントが実行するアプリケーションプログラムのサービスを受ける形態で利用される場合がある。以下では、このように、ユーザの要望により非同期に生成されてサービスを提供するエージェントをサービスエージェントと呼ぶ。サービスエージェントは、アプリケーションプログラムを実行するためにCPUやメモリといった資源を必要とする。以下では、資源を可算できるものとして抽象的に扱う。非同期に生成されるサービスエージェントに対し、あらかじめ各サービスエージェントのための資源を準備することはできず、サービスエージェントのための資源は共有資源として準備される。サービスエージェントは、生成された後に資源利用権を獲得し、アプリケーションプログラムを実行する。ここで、1つの資源は高々1つのサービスエージェントが占有的に使用しなければならない。複数のサービスエージェントが同時に資源を必要とする場合、資源をどのサービスエージェントに利用させるかを決定しなければならない。このように、エージェントの資源利用の要望に対して、どのエージェントに資源利用権を与えるかを決定することを一般に資源配置と呼ぶ。
【0003】
従来の資源配置の技術として、同じ資源を必要として競合するエージェントが相互に通信を行うことにより、どのエージェントが資源を利用できるかを決定する分散処理方式(参考文献:G. Ricart and R. K. Agrawala, An Optimal Algorithm for Mutual Exclusion in Computer Networks, Comm. ACM, Vol. 24, No. 24, No. 1, pp. 9-17, 1981.)や、トークンと呼ぶ制御信号を競合するエージェントの間で周回させ、トークンを持つエージェントに資源利用権を与えるトークリング方式(参考文献:G. Le Lann, Distributed systems-towards a formal approach, Information Processing '77, pp. 155-160, 1977.)などがある。これらの方式は、競合するエージェント同士で通信を行うために、あらかじめ競合相手を知っておく必要がある。
【0004】
また、システム内に資源利用権を管理する資源管理エージェントが存在し、サービスエージェントが資源管理エージェントにリクエストメッセージを出すことにより資源利用の要求を出し、リクエストメッセージに対する応答メッセージを資源管理エージェントがサービスエージェントへ送ることにより資源利用権を与える手法も考えられる。このように、資源管理エージェントが資源利用権を与えるサービスエージェントを決定する資源割当の手法を、資源取引と呼ぶ。資源取引は1個の資源管理エージェントが集中的に資源を管理し、各サービスエージェントがその唯一の資源管理エージェントとの通信により資源利用権を獲得する方法により、簡単に実現できる。しかし、この方法は耐故障性の観点から見ると、優れた手法とはいえない。すなわち、唯一の資源管理エージェントが故障して全く動作しなくなったならば、どのサービスエージェントも資源利用権を獲得することができなくなる。そこで、システム内に複数の資源管理エージェントを存在させ、各サービスエージェントは複数の資源管理エージェントとの通信により資源利用権を獲得する方法が考えられる。この方法ならば、いくつかの資源管理エージェントが故障した場合でも、正常に動作し続ける資源管理エージェントがいれば、その正常な資源管理エージェントとの通信によりサービスエージェントが資源利用権を獲得する手法が考えられる。
【0005】
【発明が解決しようとする課題】
本発明では、複数のサービスエージェントと複数の資源管理エージェントとの間での通信によりサービスエージェントが共有資源の利用権を獲得するような資源取引の問題を対象とする。
【0006】
従来の方法では、共有資源はサービスエージェントが同時に要求するかもしれない数よりも少ないかもしれない必要最小限の数だけを準備する。また、同時に多くのサービスエージェントからのリクエストがあって1つの資源を競合する場合には、あるサービスエージェントにのみ利用権を与え、他のサービスエージェントは先に利用権を与えられたサービスエージェントが資源を解放するまで待たせる。しかし、サービスエージェントは資源を利用できない限りアプリケーションプログラムを実行することはできないので、従来の方法では、あるサービスエージェントのユーザは、他のサービスエージェントが資源を解放するまでサービスを利用できない。このような方法では、他の速度の遅いサービスエージェントの動作のために正常な速度のサービスエージェントがサービスを提供できないこともあり、正常なサービスエージェントの良好なサービス提供が妨害される。
【0007】
そこで、本発明の目的は、サービスエージェントが資源管理エージェントから資源利用権を獲得するとき、他のサービスエージェントの中に動作速度が遅かったり停止故障しているエージェントがいる場合でも、また、あらかじめ決めておいたある特定数以下の資源管理エージェントが停止故障する場合でも、正常なサービスエージェントが資源利用権を獲得することが妨害されないような資源利用ができる非同期エージェントシステムおよび資源利用方法を提供することにある。ここで、エージェントの停止故障とはそのエージェントが一切動作しなくなるような故障であり、停止故障したエージェントはメッセージの送受信も全くできなくなる。
【0008】
【課題を解決するための手段】
本発明の非同期エージェントシステムでは、システムに同時に現れるサービスエージェントの最大数をnS、サービスエージェントが必要とする資源の総数をrS、同時に、あらかじめ決めておく、停止故障してよい資源管理エージェントの数の上限をfMとすると、資源管理エージェントの総数はfM+1で、停止故障しない数の資源管理エージェントが管理する資源の総数の下限がrS+fM×(nS−1)である。
【0009】
rSは実際にサービスエージェントが利用する資源として、あるサービスエージェントに提供される資源として必要な数である。また、各サービスエージェントは同時にfM+1個の資源管理エージェントへ資源要求をするため、各サービスエージェントに対して、実際には利用しない高々計fM個の資源が提供される場合がある。最後に資源を要求するサービスエージェントには、そのサービスエージェントが実際に必要とする個数の資源が提供できればよいので、サービスエージェントの総数nSに対してfM×(nS−1)が実際には利用されない資源として必要な数になる。
【0010】
各サービスエージェントは、資源の利用権を資源管理エージェントから獲得する際、全ての資源管理エージェントに対して資源1個につき1つの要求メッセージを順次送信し、ある資源管理エージェントから利用不可メッセージを受信すると、未だ要求メッセージを送信していない資源管理エージェントに要求メッセージを送信し、ある資源管理エージェントから使用許可メッセージを受信すると、該資源管理エージェントから資源の利用権を獲得し、当該サービスエージェントが必要とする個数資源全ての資源利用権を獲得できると、アプリケーションプログラムを実行し、未だ利用権を獲得できていない資源が存在するならば、全ての資源利用権を獲得できるまで、要求メッセージを送信する。
【0011】
各資源管理エージェントは、あるサービスエージェントから要求メッセージが送信されてきた場合、その時点で自己が停止故障していなければ、該要求メッセージを受信し、自己が管理する資源の中に未だ他のサービスエージェントに利用権を設定していない資源が存在するならば該サービスエージェントに利用許可メッセージを送信し、自己が管理する資源全てに対して既に他のサービスエージェントに利用権を設定しているならば該サービスエージェントに利用不可メッセージを送信する。
【0012】
サービスエージェント、資源管理エージェントのそれぞれのプログラムに、他のサービスエージェントからのメッセージ受信を待たされるところがないこと、十分多くの資源を停止故障しない資源管理エージェントが管理していることより、他のサービスエージェントの動作速度に影響を受けることなく資源利用権を獲得できる。また、最後に資源を要求するサービスエージェント以外のサービスエージェントに、実際には利用しないのに提供される資源の数が高々fM×(nS−1)個であることより、rS+fM×(nS−1)が、資源管理エージェントが準備しなければならない資源の総数の最適な最小値である。
【0013】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【0014】
図1は本発明の一実施形態の非同期エージェントシステムの概念図である。
【0015】
この非同期エージェントシステムは、複数のホスト1とそれらの間で通信するための通信線2から構成される通信ネットワーク上で動作する複数のサービスエージェント3および複数の資源管理エージェント4と、サービスエージェント3が利用する資源5(CPU、メモリ等)から成る。エージェント3,4は非同期に動作し、各エージェント3,4は他のエージェント3,4がどのような状態であるかを直接見ることはできない。
【0016】
サービスエージェント3はユーザの要望(情報検索、商取引など)に応えるために非同期に生成され、ユーザにサービスを提供するためのアプリケーションプログラムを実行するソフトウェアである。資源管理エージェント4は、サービスエージェント3がアプリケーションプログラムを実行するために必要とする資源5を管理し、サービスエージェント3の要望に応じて資源5の利用権を与えるソフトウェアである。資源管理エージェント4は、システム起動時から永久的に活動し続ける。一方、サービスエージェント3は、システム起動後に途中で新たに生成される。生成されるサービスエージェント3は、既に内部で活動しているエージェントが生成することも、システム外部の計算機やエージェントが命令により生成することもできる。このシステムでは、システム内にいる任意の2つのエージェントの間でメッセージを送信・受信することにより通信する。ただし、本発明では、他のサービスエージェント3の動作速度に影響を受けないような資源利用を行うため、図2に示すようにサービスエージェント3同士、資源管理エージェント4同士の間で資源取引のための通信を直接行うことはない。1つのサービスエージェント3と1つの資源管理エージェント4の間で通信を行うとき、一方がメッセージを送信してから他方がメッセージを受信するまで遅延がある。この遅延は一定ではなく、システムの状況により変化する。通信は、同じホスト1にいるエージェント間でも、異なるホスト1にいるエージェント間でも、同様に行える。遅延は、同じホスト1にいるエージェント間での通信よりも異なるホスト1にいるエージェント間の通信の方が長い場合が多いが、本発明では送信から受信までの遅延がどのような場合でも適用可能であるので、以下では両者を区別しない。サービスエージェント3は、生成されたとき、システム内にいる全ての資源管理エージェント4の名前を知っている。資源管理エージェント4は、システム起動時にはどのサービスエージェント3の情報も知らないが、サービスエージェント3からメッセージを受信することにより、サービスエージェント3の情報を知識に蓄えていく。
【0017】
なお、資源管理エージェント4は必ずしも1つのホスト1上に1個が存在する必要はなく、1つのホスト1に複数の資源管理エージェントがいても、資源管理エージェントが1つもいないホスト1があってもよい。ただし、異なるホスト1にいるサービスエージェント3も資源管理エージェント4と通信することは可能である。また、ネットワーク内にあるどの資源にも所有者として1つの資源管理エージェント4がいる。
【0018】
本実施形態では、停止故障してよい資源管理エージェント4の数の上限があらかじめ設定されている。以下では、あらかじめ決めておく、停止故障してよい資源管理エージェント4の数の上限をfMとする。また、システム内にいる停止故障しない資源管理エージェント4が管理する資源の数は、ある特定数以上でなければならない。以下では、停止故障しない数の資源管理エージェント4が管理する資源の総数は少なくともrM個でなければならないとする。さらに、システムに現れるサービスエージェント3の数とそれらのサービスエージェント3が必要とする資源の数の上限も設定しておく必要がある。以下では、システムに同時に現れるサービスエージェント3の数は高々nS個、これらサービスエージェント3が必要とする資源の数の和をrSとする。
【0019】
各エージェント3、4は識別子とプログラムから構成される。エージェント3、4が持つ識別子は、システム内にいるどのエージェントとも異なる。以下では、識別子iのエージェントを、エージェント3iまたは4iと記す。
【0020】
資源管理エージェント4のプログラムは、資源の管理を行うための資源利用プログラムのみを持つ。いま、資源管理エージェント4が管理する資源の数を4. rとする。資源管理エージェント4の資源利用プログラムでは、サービスエージェント3からの要望に応じて、4.r個のそれぞれの資源に対して複数のサービスエージェント3が同時に利用することがないように、サービスエージェント3に資源利用権を与える。
【0021】
サービスエージェント3のプログラムは資源利用プログラムとアプリケーションプログラムから構成される。サービスエージェント3は非同期に生成されるが、生成されたときは資源利用プログラムを実行する。資源利用プログラムを完了した後、アプリケーションプログラムに移行してユーザへのサービス提供を開始する。サービスエージェント3は、アプリケーションプログラムを実行するために必要な資源の数を知っている。いま、サービスエージェント3がアプリケーションプログラムのために必要とする資源の数を3. r と記す。サービスエージェント3の資源利用プログラムでは、3. r 個の資源を獲得するために資源管理エージェント4と通信をする手続きを実行する。アプリケーションプログラムは、ユーザの要望に応えるためのプログラムである。なお、本実施形態では、アプリケーションプログラム実行のために必要な資源の数があらかじめわかってさえいれば、どのようなアプリケーションプログラムの下でも動作する。
【0022】
エージェント3、4はメッセージを送信・受信することによりシステム内にいるどのエージェント3、4とも通信できる。ただし、他のサービスエージェント3の動作速度に影響を受けないような資源利用を行うため、資源利用プログラム実行中のサービスエージェント3同士、資源管理エージェント4同士の間では、直接通信することはしない。エージェントがメッセージを送信するときは、送信先がどのホストにいるかに関係なく、送信先を識別子により指定する。なお、本発明では、通信が同じホスト上のエージェント間で行われたものか、異なるホスト上のエージェント間で行われたものかは区別しないので、以下ではエージェントがどのホストに滞在しているかは考慮しない。エージェントがメッセージを送信してから、送信先のエージェントが受信するまで、一定に定まってはいない遅延があるが、送信されたメッセージを送信先のエージェントが永久に受信しないということはない。なお、エージェントjがエージェントiからメッセージを受信したとき、エージェントjはそのメッセージが識別子iのエージェントから送られてきたものであることを理解できる。
【0023】
資源利用プログラムは、あらかじめ決めておいたある特定数fM以下の資源管理エージェント4が停止故障する場合でも、正常なサービスエージェント3が資源利用権を獲得することが妨害されないようにする。ただし、そのためには、rM≧rS+fM×(nS―1)が成立するようにシステムを構成しておかなければならない。
【0024】
資源利用プログラムでは、サービスエージェント3は資源管理エージェント4に対して資源の利用権を要求するメッセージを資源1個毎に送り、さらに、サービスエージェント3は同時に並行して(fM+1)個の資源管理エージェント4と資源利用権の取り引きをする。同時にfM個以下の資源管理エージェント4としか取り引きしないならば、取り引き先全てが停止故障しているときにサービスエージェント3のプログラムの進行が止まるためである。また、並行して(fM+1)個の資源管理エージェント4と資源利用権の取り引きをするならば、サービスエージェント3が必要数の資源利用権の獲得を確定させた後でも、資源管理エージェント4はまだサービスエージェント3に資源利用権を与え続ける。すなわち、サービスエージェント3に提供される資源数は、実際に必要な資源数よりも多くなる。そこで、サービスエージェント3に与えられる資源を、そのサービスエージェント3が実際に必要な資源数に近付けるためにサービスエージェント3は1個ずつ資源を要求する。
【0025】
サービスエージェント3、資源管理エージェント4は資源利用プログラムで以下のメッセージを使う。
【0026】
・要求メッセージ:サービスエージェント3が1個の資源を資源管理エージェント4へ要求するためのメッセージ。
【0027】
・利用許可メッセージ:サービスエージェント3の要求に対し、1個の資源が利用できることを資源管理エージェント4がサービスエージェント3へ知らせるためのメッセージ。
【0028】
・利用不可メッセージ:サービスエージェント3の要求に対し、どの資源も利用できないことを資源管理エージェント4がサービスエージェント3へ知らせるためのメッセージ。
【0029】
サービスエージェント3iがri個の資源を必要とするときを考える。サービスエージェント3iはまず、資源管理エージェント4のリストから適当な(fM+1)個の資源管理エージェント4を選択する。それらの資源管理エージェント4を41,42,・・・,4fM+1とする。サービスエージェント3iは、各資源管理エージェント41,42,・・・,4fM+1に要求メッセージを送信する。サービスエージェント3iからの要求メッセージを受信した資源管理エージェント4jは、自分が管理する資源の中にその時点で提供可能な資源が存在するならば、サービスエージェント3に利用許可メッセージを送信し、提供可能な資源の数を1つ減らす。全ての資源の利用権を既にあるサービスエージェント3に提供しているならば、すなわち、管理する4j.r個の資源の利用権をあるサービスエージェント3に提供しているならば、資源管理エージェント4jはエージェント3iに利用不可メッセージを送信する。資源管理エージェント41,42,・・・,4fM+1のうち少なくとも1個の資源管理エージェント4は停止故障をしておらず、利用許可メッセージまたは利用不可メッセージをサービスエージェント3へ送信する。すなわち、サービスエージェント3iはやがてある資源管理エージェント4から利用許可メッセージか利用不可メッセージを受信する。サービスエージェント3iが資源管理エージェント4jから利用不可メッセージを受信したとき、まだ要求メッセージを送信していない資源管理エージェント4が存在するならば、そのような資源管理エージェント4の1つへ要求メッセージを送信する。サービスエージェント3iが資源管理エージェント4jから利用許可メッセージを受信したとき、ri個の資源利用権が獲得できたならば、資源利用プログラムを完了してアプリケーションプログラムへ移行する。資源管理エージェント4jから利用許可メッセージを受信したときにまだri個の資源が獲得できていないならば、再び資源管理エージェント4jへ要求メッセージを送信する。サービスエージェント3iは、ri個の資源の利用権が獲得できるまで、要求メッセージの送信と利用許可/利用不可メッセージの受信を繰り返す。
【0030】
図3はサービスエージェント3の資源利用プログラムの処理手順のフローチャートを示す。なお、フローチャート内に現れるPopは、集合から1要素を取り出して出力する操作を表す。ただし、集合が空集合のときは、Popはφを出力する。また、図4に資源管理エージェント4の資源利用プログラムの処理手順のフローチャートを示す。本プログラムにおいて使用するメッセージや変数の表記の説明をする。
【0031】
・メッセージ
―要求メッセージ:Requestと記す。
【0032】
―利用許可メッセージ:Response(1)と記す。
【0033】
―利用不可メッセージ:Response(0)と記す。
【0034】
・サービスエージェント3が使用する変数
―3.S:資源管理エージェント4の識別子の集合。サービスエージェント3がまだRequestを送信したことない相手を表す。初期値はシステム内の全ての資源管理エージェント4。
【0035】
―3.k:正整数。サービスエージェント3が資源利用権を獲得しなければならない数。初期値はr3。
【0036】
・資源管理エージェント4が使用する変数
―4.k:正整数。資源管理エージェント4が管理する資源のうち、どのサービスエージェント3にも資源利用権を与えていない資源の数を表す。初期値はr4。
【0037】
以下、サービスエージェント3の資源利用プログラムの処理の概要を説明をする。資源管理エージェント4の個数tを初期化する(ステップ11)。サービスエージェント3はまず、資源管理エージェント4の集合4.Sから1つの要素を抜き出し、その資源管理エージェント4に要求メッセージRequestを送信する操作を(fM+1)回繰り返す(ステップ12、13)。資源管理エージェント4から利用不可メッセージRequest(0)を受信したとき、資源管理エージェント4の集合4.Sから要素を抜き出し、その資源管理エージェント4に要求メッセージRequestを送信する(ステップ15〜17)。資源管理エージェント4から許可メッセージResponse(1)を受信したとき(ステップ18)、3.kを1減らす(ステップ19)。サービスエージェント3が獲得しなければならない資源利用権の数3.kが0かどうか判定する(ステップ20)。0でなければ、要求メッセージRequestをサービスエージェント3へ再び送信する(ステップ21)。ステップ20で3.kが0になったとき、サービスエージェント3は資源利用プログラムを終了し、アプリケーションプログラムへ移行する(ステップ22)。アプリケーションプログラム移行後に資源利用プログラムのためのメッセージを受信したときは、無視する。
【0038】
なお、ステップ14と18の「受信」はサービスエージェント3が配達されたメッセージを処理するという意味である。ある資源管理エージェント4へ要求メッセージRequestを送信してから次の資源管理エージェント4へ要求メッセージRequestを送信するまでにメッセージResponse(0)、Response(1)が配達されることがあるが、その場合は要求メッセージRequestの送信を終えるまで処理を保留する。
【0039】
次に、資源管理エージェント4の資源利用プログラムの処理の概要を説明する。資源管理エージェント4は、システムの運用開始から永久に以下の操作を繰り返す。サービスエージェント3から要求メッセージRequestを受信したとき(ステップ13)、どのサービスエージェント3にも資源利用権を与えていない資源の数を表す4.kが0になったか判定する(ステップ32)。4.kが正であれば、サービスエージェント3へ許可メッセージResponse(1)を送信して4.kを1減らす(ステップ33)。4.kが0になってからサービスエージェント3から要求メッセージRequest受信したとき、サービスエージェント3へ利用不可メッセージResponse(0)を送信する(ステップ34)。
【0040】
次に、本システムにおける、このプログラムによる動作例を示す。
【0041】
高々1個の資源管理エージェント4が停止故障すること想定し、図5に示すように、システムには、4個の資源管理エージェント41,42,43,44がいるとし、それぞれが管理する資源5の数を3個、3個、2個、2個とし、また、高々3個のサービスエージェント31,32,33が順に生成され、うち高々2個が2個の資源を要求し、残りのサービスエージェントが要求する資源の数は1個の場合を考える。このシステムでは、どの3個以上の資源管理エージェント4の組み合わせでも、提供する資源の総数rMはrS+fM×(nS―1)=7以上になっており、停止故障しない資源管理エージェント4が提供する資源の総数は十分多い。なお、図6から図24中の実線の矢印は利用許可メッセージの送信を示す。
【0042】
動作例1
停止故障しない資源管理エージェント4が管理する全ての資源が最終的にあるサービスエージェント3に占有される例:
1. 資源管理エージェント41が停止故障し、全く動作しなくなる(図6)。
【0043】
2. 2個の資源が必要なサービスエージェント31が生成され、資源管理エージェント42,43に要求メッセージRequestを送信する(図7)。
【0044】
3. 2個の資源が必要なサービスエージェント32が生成され、資源管理エージェント42,44に要求メッセージRequestを送信する(図7)。
【0045】
4. 資源管理エージェント42,43がそれぞれサービスエージェント31から要求メッセージRequestを受信し、それぞれサービスエージェント31へ利用許可メッセージResponse(1)を送信する(図8)。ここで、42.k=2、43.k=1になる。
【0046】
5. 資源管理エージェント42,44がそれぞれサービスエージェント32から要求メッセージRequestを受信し、それぞれサービスエージェント32へ利用許可メッセージResponse(1)を送信する(図8)。ここで、42.k=1、44.k=1になる。
【0047】
6. サービスエージェント31が資源管理エージェント42から利用許可メッセージResponse(1)を受信すると、まだ3.k=1なので、資源管理エージェント42へ要求メッセージRequestを送信する(図9)。
【0048】
7. 資源管理エージェント42はサービスエージェント31から要求メッセージRequestを受信し、サービスエージェント31へ利用許可メッセージResponse(1)を送信する(図9)。ここで、42.k=0になる。
【0049】
8. サービスエージェント31が資源管理エージェント43から利用許可メッセージResponse(1)を受信する(図9)。31.k=0になったので、サービスエージェント31はアプリケーションプログラムへ移行する。
【0050】
9. サービスエージェント32が資源管理エージェント44から利用許可メッセージResponse(1)を受信するが、まだ32.k=1なので、資源管理エージェント44へ要求メッセージRequestを送信する(図10)。
【0051】
10. 資源管理エージェント44はサービスエージェント32から要求メッセージRequestを受信し、サービスエージェント32へ利用許可メッセージResponse(1)を送信する(図11)。ここで、44.k=0になる。
【0052】
11. サービスエージェント32が資源管理エージェント44から利用許可メッセージResponse(1)を受信する(図12)。32.k=0になったので、サービスエージェント32はアプリケーションプログラムへ移行する。
【0053】
12. 1個の資源が必要なサービスエージェント33が生成され、資源管理エージェント42,44に要求メッセージRequestを送信する(図13)。
【0054】
13. 資源管理エージェント42,44がサービスエージェント33からそれぞれ要求メッセージRequestを受信し、42.k=0、44.k=0なのでともにサービスエージェント33へ利用不可メッセージResponse(0)を送信する(図13)。
【0055】
14. サービスエージェント33が資源管理エージェント42から利用不可メッセージResponse(0)を受信し、さらにサービスエージェント33が資源管理エージェント43へ要求メッセージRequestを送信する(図14)。
【0056】
15. サービスエージェント33が資源管理エージェント44から利用不可メッセージResponse(0)を受信し、さらにサービスエージェント33が資源管理エージェント41へ要求メッセージRequestを送信する(図14)。
【0057】
16. 資源管理エージェント43がサービスエージェント33から要求メッセージRequestを受信し、サービスエージェント33へ利用許可メッセージResponse(1)を送信する(図15)。
【0058】
17. サービスエージェント33が資源管理エージェント43から利用許可メッセージResponse(1)を受信する(図15)。33.k=0になったので、サービスエージェント33はアプリケーションプログラムへ移行する。
【0059】
動作例2
サービスエージェント3が送信した要求メッセージRequestの送信先が停止故障している例:
1. 資源管理エージェント42が停止故障し、全く動作しなくなる(図16)。
【0060】
2. 2個の資源が必要なサービスエージェント31が生成され、資源管理エージェント42,43に要求メッセージRequestを送信する(図17)。
【0061】
3. 2個の資源が必要なサービスエージェント32が生成され、資源管理エージェント42,44に要求メッセージRequestを送信する(図17)。
【0062】
4. 資源管理エージェント43がサービスエージェント31から要求メッセージRequestを受信し、サービスエージェント31へ利用許可メッセージResponse(1)を送信する(図18)。ここで、43.k=1になる。
【0063】
5. 資源管理エージェント44がサービスエージェント32から要求メッセージRequestを受信し、サービスエージェント32へ利用許可メッセージResponse(1)を送信する(図18)。ここで、44.k=1になる。
【0064】
6. サービスエージェント31が資源管理エージェント43から利用許可メッセージResponse(1)を受信するが、まだ41.k=1なので、資源管理エージェント43へ要求メッセージRequestを送信する(図19)。
【0065】
7. 資源管理エージェント43はサービスエージェント31から要求メッセージRequestを受信し、サービスエージェント41へ利用許可メッセージResponse(1)を送信する(図19)。ここで、43.k=0になる。
【0066】
8. サービスエージェント31が資源管理エージェント43から利用許可メッセージResponse(1)を受信する(図19)。31.k=0になったので、サービスエージェント31はアプリケーションプログラムへ移行する。
【0067】
9. サービスエージェント32が資源管理エージェント44から利用許可メッセージResponse(1)を受信するが、まだ32.k=1なので、資源管理エージェント44へ要求メッセージRequestを送信する(図20)。
【0068】
10. 資源管理エージェント44はサービスエージェント32から要求メッセージRequest を受信し、サービスエージェント32へ利用許可メッセージResponse(1)を送信する(図20)。ここで44.k=0になる。
【0069】
11. サービスエージェント32が資源管理エージェント44から利用許可メッセージResponse(1)を受信する(図20)。32.k=0になったので、サービスエージェント32はアプリケーションプログラムへ移行する。
【0070】
12. 1個の資源が必要なサービスエージェント33が生成され、資源管理エージェント42,44に要求メッセージRequestを送信する(図21)。
【0071】
13. 資源管理エージェント44がサービスエージェント33から要求メッセージRequestを受信し、44.k=0なのでサービスエージェント33へ利用不可メッセージResponse(0)を送信する(図22)。
【0072】
14. サービスエージェント33が資源管理エージェント44から利用不可メッセージResponse(0)を受信し、さらにサービスエージェント33が資源管理エージェント43へ要求メッセージRequestを送信する(図22)。
【0073】
15. 資源管理エージェント43がサービスエージェント33から要求メッセージRequestを受信し、43.k=0なので、サービスエージェント33へ利用不可メッセージResponse(0)を送信する(図23)。
【0074】
16. サービスエージェント33が資源管理エージェント43から利用不可メッセージResponse(0)を受信し、さらにサービスエージェント33が資源管理エージェント41へ要求メッセージRequestを送信する(図23)。
【0075】
17. 資源管理エージェント41がサービスエージェント33から要求メッセージRequestを受信し、サービスエージェント33へ利用不可メッセージResponse(1)を送信する(図24)。
【0076】
18. サービスエージェント33が資源管理エージェント41から利用許可メッセージResponse(1)を受信する(図24)。33.k=0になったので、サービスエージェント33はアプリケーションプログラムへ移行する。
【0077】
なお、資源は、先にも述べたようにCPU、メモリ等の各コンピュータが有するハードウェア資源のことであり、本方法を実装する際には、動作するエージェントの目的により適宜選択すればよく、CPU、メモリ等になんら限定されない。
【0078】
なお、資源利用プログラムは、コンピュータシステムで実行するためにコンピュータ読み取り可能な記録媒体に記録される。コンピュータ読み取り可能な記録媒体とは、フロッピーディスク、光磁気ディスク、CD―ROM等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの(伝送媒体もしくは伝送波)、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【0079】
【発明の効果】
以上に説明したように、本発明によれば、ユーザが要望したサービスを提供するためのアプリケーションプログラムを実行する複数のサービスエージェントと、サービスエージェントがアプリケーションプログラムを実行するために必要とする資源を提供する複数の資源管理エージェントを含むエージェントシステムにおいて、あらかじめ決めておいたある特定数以下の資源管理エージェントが停止故障することを想定したときに資源管理エージェントが準備しなければいけない資源の総数が最適な最小値で、サービスエージェントが資源管理エージェントから資源利用権を獲得するときに他のサービスエージェントの動作速度に影響を受けることなく資源利用権を獲得できる。
【図面の簡単な説明】
【図1】本発明の一実施形態の非同期エージェントシステムの構成図である。
【図2】図1の非同期エージェントシステムにおけるメッセージ送受信の関係を示す図である。
【図3】サービスエージェントの資源利用プログラムの処理を示すフローチャートである。
【図4】資源管理エージェントの資源利用プログラムの処理を示すフローチャートである。
【図5】動作例を説明する資源管理エージェントとサービスエージェントの構成を示す図である。
【図6】第1の動作例の状況図である。
【図7】第1の動作例の状況図である。
【図8】第1の動作例の状況図である。
【図9】第1の動作例の状況図である。
【図10】第1の動作例の状況図である。
【図11】第1の動作例の状況図である。
【図12】第1の動作例の状況図である。
【図13】第1の動作例の状況図である。
【図14】第1の動作例の状況図である。
【図15】第1の動作例の状況図である。
【図16】第2の動作例の状況図である。
【図17】第2の動作例の状況図である。
【図18】第2の動作例の状況図である。
【図19】第2の動作例の状況図である。
【図20】第2の動作例の状況図である。
【図21】第2の動作例の状況図である。
【図22】第2の動作例の状況図である。
【図23】第2の動作例の状況図である。
【図24】第2の動作例の状況図である。
【符号の説明】
1 ホスト
2 通信線
3、31〜33 サービスエージェント
4、41〜44 資源管理エージェント
5 資源[0001]
BACKGROUND OF THE INVENTION
The present invention provides a plurality of service agents that execute an application program for providing a service requested by a user, and a plurality of resource management agents that provide the service agent with resources required for the service agent to execute the application program. Asynchronous agent system including
[0002]
[Prior art]
Software that autonomously executes an application program for providing a service requested by a user on behalf of a user on a large-scale network is called an agent. The agent is generated asynchronously according to each user's request, and the user may be used in a form of receiving a service of an application program executed by the agent. Hereinafter, an agent that is generated asynchronously according to a user's request and provides a service is called a service agent. A service agent requires resources such as a CPU and memory to execute an application program. In the following, resources are treated abstractly as countable. A resource for each service agent cannot be prepared in advance for a service agent generated asynchronously, and a resource for a service agent is prepared as a shared resource. After being generated, the service agent acquires the resource usage right and executes the application program. Here, one resource must be exclusively used by one service agent. If multiple service agents need resources at the same time, they must decide which service agent will use the resources. Thus, in general, determining which agent is given the resource use right in response to the resource use request of the agent is called resource allocation.
[0003]
As a conventional resource allocation technology, distributed processing methods that determine which agents can use resources by communicating with each other by competing agents that need the same resources (reference: G. Ricart and RK Agrawala, An Optimal Algorithm for Mutual Exclusion in Computer Networks, Comm. ACM, Vol. 24, No. 24, No. 1, pp. 9-17, 1981) and circulate between agents competing for control signals called tokens. Talking method that grants resource usage rights to agents with tokens (Reference: G. Le Lann, Distributed systems-towards a formal approach, Information Processing '77, pp. 155-160, 1977.). In these methods, in order to communicate between competing agents, it is necessary to know the competitor in advance.
[0004]
There is also a resource management agent that manages resource usage rights in the system. The service agent issues a request for resource use by issuing a request message to the resource management agent, and the resource management agent sends a response message to the request message. A method of granting the right to use resources by sending to is also conceivable. A resource allocation method in which a resource management agent determines a service agent to which a resource usage right is given is called a resource transaction. Resource transactions can be easily realized by a method in which one resource management agent centrally manages resources and each service agent acquires a resource usage right through communication with the only resource management agent. However, this method is not an excellent method from the viewpoint of fault tolerance. That is, if a single resource management agent fails and does not operate at all, no service agent can acquire a resource usage right. Therefore, there can be considered a method in which a plurality of resource management agents are present in the system, and each service agent acquires a resource usage right by communicating with the plurality of resource management agents. With this method, if there is a resource management agent that continues to operate normally even if several resource management agents fail, there is a method in which the service agent acquires the resource usage right by communicating with the normal resource management agent. Conceivable.
[0005]
[Problems to be solved by the invention]
The present invention targets the problem of resource transactions in which a service agent acquires the right to use a shared resource through communication between a plurality of service agents and a plurality of resource management agents.
[0006]
In the conventional method, only the minimum necessary number of shared resources may be prepared, which may be less than the number that the service agent may request at the same time. Also, if there are requests from many service agents at the same time and one resource competes, only the service agent is given the right to use, and the other service agents are assigned the resource that has been given the right to use first. Wait until you release. However, since a service agent cannot execute an application program unless resources can be used, in a conventional method, a user of a certain service agent cannot use the service until another service agent releases the resource. In such a method, the service agent at the normal speed may not be able to provide the service due to the operation of the service agent at the other speed, and the good service provision of the normal service agent is hindered.
[0007]
Therefore, an object of the present invention is to determine in advance when a service agent acquires a resource usage right from a resource management agent, even if there is an agent having a slow operation speed or a malfunction in other service agents. To provide an asynchronous agent system and a resource usage method that can use resources so that a normal service agent is not prevented from acquiring a resource usage right even when a certain number of resource management agents stop or fail. It is in. Here, the stop failure of an agent is a failure that prevents the agent from operating at all, and the agent that has stopped and stopped cannot transmit or receive messages at all.
[0008]
[Means for Solving the Problems]
In the asynchronous agent system of the present invention, the maximum number of service agents simultaneously appearing in the system is nS, the total number of resources required by the service agent is rS, Decide in advance, Stop failure May do Resource management agent Number limit Where fM is the total number of resource management agents is fM + 1, and the lower limit of the total number of resources managed by the number of resource management agents that do not stop and fail is rS + fM × (nS−1).
[0009]
rS is the number required as a resource provided to a certain service agent as a resource actually used by the service agent. Further, since each service agent makes a resource request to fM + 1 resource management agents at the same time, a total of fM resources that are not actually used may be provided to each service agent in some cases. Finally, since it is only necessary to provide the service agent that requests the resource with the number of resources that the service agent actually needs, fM × (nS−1) is not actually used for the total number nS of service agents. It becomes the necessary number as a resource.
[0010]
When each service agent acquires a resource usage right from a resource management agent, it sends one request message per resource to all resource management agents in sequence and receives an unavailable message from a resource management agent. When a request message is transmitted to a resource management agent that has not yet transmitted a request message and a use permission message is received from a certain resource management agent, the right to use the resource is acquired from the resource management agent, and the service agent needs If the resource usage right for all the number of resources to be acquired can be acquired, the application program is executed, and if there are resources for which the usage right has not yet been acquired, a request message is transmitted until all the resource usage rights can be acquired.
[0011]
When a request message is transmitted from a certain service agent, each resource management agent receives the request message if it has not stopped and failed at that time, and other services are still included in the resources managed by the resource management agent. If there is a resource for which no usage right has been set for the agent, a usage permission message is sent to the service agent, and the usage right has already been set for another service agent for all resources managed by the agent. An unusable message is transmitted to the service agent.
[0012]
Because each service agent and resource management agent program has no place to wait for receiving a message from another service agent, and because the resource management agent that does not stop and stop a sufficient number of resources manages other service agents The right to use resources can be acquired without being affected by the operating speed. In addition, since the number of resources that are not actually used by service agents other than the service agent that finally requests the resources is fM × (nS−1) at most, rS + fM × (nS−1) ) Is the optimal minimum of the total number of resources that the resource management agent must prepare.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described with reference to the drawings.
[0014]
FIG. 1 is a conceptual diagram of an asynchronous agent system according to an embodiment of the present invention.
[0015]
This asynchronous agent system includes a plurality of
[0016]
The
[0017]
Note that one
[0018]
In the present embodiment, an upper limit is set in advance for the number of
[0019]
Each
[0020]
The program of the
[0021]
The program of the
[0022]
[0023]
The resource use program prevents the
[0024]
In the resource use program, the
[0025]
The
[0026]
Request message: A message for the
[0027]
Usage permission message: A message for the
[0028]
Unusable message: A message for the
[0029]
[0030]
FIG. 3 shows a flowchart of the processing procedure of the resource use program of the
[0031]
·message
-Request message: Marked as Request.
[0032]
―Usage permission message: Response (1).
[0033]
-Unusable message: Write Response (0).
[0034]
-Variables used by
-3.S: A set of identifiers of the
[0035]
― 3.k: A positive integer. The number that the
[0036]
-Variables used by
―4.k: Positive integer. Of the resources managed by the
[0037]
Hereinafter, an outline of processing of the resource use program of the
[0038]
“Reception” in
[0039]
Next, an outline of processing of the resource use program of the
[0040]
Next, an example of operation by this program in this system will be shown.
[0041]
Assuming that at most one
[0042]
Operation example 1
Example in which all resources managed by the
1.
[0043]
2.
[0044]
3.
[0045]
4.
[0046]
5.
[0047]
6.
[0048]
7.
[0049]
8.
[0050]
9.
[0051]
10.
[0052]
11.
[0053]
12.
[0054]
13.
[0055]
14.
[0056]
15.
[0057]
16.
[0058]
17.
[0059]
Operation example 2
Example in which the destination of the request message Request sent by the
1.
[0060]
2.
[0061]
3.
[0062]
4.
[0063]
5.
[0064]
6.
[0065]
7.
[0066]
8.
[0067]
9.
[0068]
10.
[0069]
11.
[0070]
12.
[0071]
13.
[0072]
14.
[0073]
15.
[0074]
16.
[0075]
17.
[0076]
18.
[0077]
Note that the resource is a hardware resource possessed by each computer such as a CPU and a memory as described above, and may be appropriately selected according to the purpose of the operating agent when implementing this method. It is not limited to CPU, memory, etc. at all.
[0078]
The resource utilization program is recorded on a computer-readable recording medium to be executed by the computer system. The computer-readable recording medium refers to a recording medium such as a floppy disk, a magneto-optical disk, a CD-ROM, or a storage device such as a hard disk device built in the computer system. Furthermore, a computer-readable recording medium is a server that dynamically holds a program (transmission medium or transmission wave) for a short period of time, as in the case of transmitting a program via the Internet, and a server in that case. Some of them hold programs for a certain period of time, such as volatile memory inside computer systems.
[0079]
【The invention's effect】
As described above, according to the present invention, a plurality of service agents that execute an application program for providing a service requested by a user and resources necessary for the service agent to execute the application program are provided. In an agent system that includes multiple resource management agents, the optimal total number of resources that must be prepared by the resource management agent when it is assumed that a predetermined number of resource management agents or less will stop and fail With the minimum value, when a service agent acquires a resource usage right from a resource management agent, the resource usage right can be acquired without being affected by the operating speed of other service agents.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an asynchronous agent system according to an embodiment of the present invention.
FIG. 2 is a diagram showing the relationship of message transmission / reception in the asynchronous agent system of FIG. 1;
FIG. 3 is a flowchart showing processing of a resource use program of a service agent.
FIG. 4 is a flowchart showing processing of a resource use program of a resource management agent.
FIG. 5 is a diagram illustrating a configuration of a resource management agent and a service agent for explaining an operation example;
FIG. 6 is a status diagram of the first operation example.
FIG. 7 is a status diagram of the first operation example.
FIG. 8 is a status diagram of the first operation example.
FIG. 9 is a status diagram of the first operation example.
FIG. 10 is a status diagram of the first operation example.
FIG. 11 is a status diagram of the first operation example.
FIG. 12 is a status diagram of the first operation example.
FIG. 13 is a status diagram of the first operation example.
FIG. 14 is a status diagram of the first operation example.
FIG. 15 is a status diagram of the first operation example.
FIG. 16 is a status diagram of the second operation example.
FIG. 17 is a status diagram of the second operation example.
FIG. 18 is a status diagram of the second operation example.
FIG. 19 is a status diagram of the second operation example.
FIG. 20 is a status diagram of the second operation example.
FIG. 21 is a status diagram of the second operation example.
FIG. 22 is a status diagram of the second operation example.
FIG. 23 is a status diagram of the second operation example.
FIG. 24 is a status diagram of the second operation example.
[Explanation of symbols]
1 host
2 communication line
3, 3 1 ~ 3 Three Service agent
4, 4 1 ~ 4 Four Resource management agent
5 resources
Claims (5)
システムに同時に現れるサービスエージェントの最大数をnS、サービスエージェントが必要とする資源の総数をrS、同時に、あらかじめ決めておく、停止故障してよい資源管理エージェントの数の上限をfMとすると、前記資源管理エージェントの総数はfM+1で、停止故障しない数の資源管理エージェントが管理する資源の総数の下限がrS+fM×(nS−1)であり、
前記各サービスエージェントは、資源の利用権を資源管理エージェントから獲得する際、資源1個につき1つの要求メッセージを全ての資源管理エージェントに対して順次送信する手段と、前記資源管理エージェントから要求メッセージに応答して利用許可メッセージを受信すると、該資源管理エージェントから資源の利用権を獲得する手段と、自己が必要とする全ての資源の利用権を獲得できると、アプリケーションプログラムを実行する手段を含み、
前記各資源管理エージェントは、あるサービスエージェントから要求メッセージが送信されてきた場合、そのとき自己が停止故障していなければ該要求メッセージを受信する手段と、前記要求メッセージを受信すると、自己が管理する資源の中に未だ他のサービスエージェントに利用権を設定していない資源があれば要求メッセージを送信したサービスエージェントに利用許可メッセージを送信し、自己が管理する資源全てに既に他のサービスエージェントに利用権を設定しているならば要求メッセージを送信したサービスエージェントに利用不可メッセージを送信する手段を含む
非同期エージェントシステム。A plurality of service agents for executing an application program for providing a service requested by a user, and a plurality of resource management agents for providing the service agent with resources necessary for the service agent to execute the application program; Including
Assuming that the maximum number of service agents appearing simultaneously in the system is nS, the total number of resources required by the service agents is rS, and the upper limit of the number of resource management agents that are determined in advance and may be stopped and failed is fM. The total number of management agents is fM + 1, and the lower limit of the total number of resources managed by the number of resource management agents that do not stop and fail is rS + fM × (nS−1).
Each service agent obtains a resource usage right from the resource management agent, means for sequentially sending one request message per resource to all resource management agents, and from the resource management agent to the request message. When receiving the use permission message in response, including means for acquiring the right to use the resource from the resource management agent, and means for executing the application program when the right to use all the resources required by the self can be acquired,
Each resource management agent, when a request message is transmitted from a certain service agent, means for receiving the request message if it does not stop at that time, and manages when receiving the request message If there is a resource that does not yet have usage rights set for other service agents, a usage permission message is sent to the service agent that sent the request message, and it is already used by other service agents for all the resources managed by itself. An asynchronous agent system that includes means for sending an unavailable message to the service agent that sent the request message if rights are set.
前記サービスエージェントは、資源の利用権を資源管理エージェントから獲得する際、資源1個につき1つの要求メッセージを全ての資源管理エージェントに対して順次送信し、ある資源管理エージェントから利用不可メッセージを受信すると、未だ要求メッセージを送信していない資源管理エージェントに要求メッセージを送信し、ある資源管理エージェントから利用許可メッセージを受信すると、該資源管理エージェントから資源の利用権を獲得し、当該サービスエージェントが必要とする個数の資源全ての資源利用権を獲得できると、アプリケーションプログラムを実行し、未だ利用権を獲得できていない資源が存在するならば、全ての資源利用権を獲得できるまで、要求メッセージを送信し、
前記各資源管理エージェントは、あるサービスエージェントから要求メッセージが送信されてきた場合、そのとき自己が停止故障していなければ、該要求メッセージを受信し、自己が管理する資源の中に未だ他のサービスエージェントに利用権を設定していない資源が存在するならば該サービスエージェントに利用許可メッセージを送信し、自己が管理する資源全てに対して既に他のサービスエージェントに利用権を設定しているならば該サービスエージェントに利用不可メッセージを送信する、
非同期エージェントシステムにおける資源利用方法。A plurality of service agents for executing an application program for providing a service requested by a user, and a plurality of resource management agents for providing the service agent with resources necessary for the service agent to execute the application program; wherein, when nS the maximum number of simultaneously appearing service agent system, the total number of resources that service agent needs rS, simultaneously, determined in advance, the upper limit of the number of or the resource management agent failed stopped and fM, The resource utilization method in an asynchronous agent system in which the total number of resource management agents is fM + 1 and the lower limit of the total number of resources managed by the number of resource management agents that do not stop and fail is rS + fM × (nS−1),
When the service agent acquires the right to use a resource from the resource management agent, the service agent sequentially transmits one request message per resource to all the resource management agents, and receives an unusable message from a certain resource management agent. When a request message is transmitted to a resource management agent that has not yet transmitted a request message and a use permission message is received from a certain resource management agent, a resource usage right is acquired from the resource management agent, and the service agent needs When the resource usage rights for all the number of resources can be acquired, the application program is executed, and if there are resources for which usage rights have not yet been acquired, a request message is sent until all resource usage rights are acquired. ,
When a request message is transmitted from a certain service agent, each resource management agent receives the request message if the service message is not stopped at that time, and other services are still included in the resources managed by the resource management agent. If there is a resource for which no usage right has been set for the agent, a usage permission message is sent to the service agent, and the usage right has already been set for another service agent for all resources managed by the agent. Sending an unavailable message to the service agent;
How to use resources in an asynchronous agent system.
資源の利用権を資源管理エージェントから獲得する際、資源1個につき1つの要求メッセージを全ての資源管理エージェントに対して順次送信する手順と、ある資源管理エージェントから利用不可メッセージを受信すると、未だ要求メッセージを送信していない資源管理エージェントに要求メッセージを送信する手順と、ある資源管理エージェントから利用許可メッセージを受信すると、該資源管理エージェントから資源の利用権を獲得し、当該サービスエージェントが必要とする個数の資源全ての資源利用権を獲得できると、アプリケーションプログラムを実行する手順と、未だ利用権を獲得できていない資源が存在するならば、全ての資源利用権を獲得できるまで、要求メッセージを送信する手順とをコンピュータに実行させるための資源利用プログラム。A plurality of service agents for executing an application program for providing a service requested by a user, and a plurality of resource management agents for providing the service agent with resources necessary for the service agent to execute the application program; wherein, when nS the maximum number of simultaneously appearing service agent system, the total number of resources that service agent needs rS, simultaneously, determined in advance, the upper limit of the number of or the resource management agent failed stopped and fM, In the asynchronous agent system in which the total number of resource management agents is fM + 1, and the lower limit of the total number of resources managed by the number of resource management agents that do not stop and stop is rS + fM × (nS−1), this is executed by each service agent Resource utilization process A gram,
When acquiring a resource usage right from a resource management agent, a request message is sent to all resource management agents in sequence, and a request is still received when an unavailable message is received from a resource management agent. When a request message is sent to a resource management agent that has not sent the message, and when a use permission message is received from a certain resource management agent, the right to use the resource is acquired from the resource management agent and the service agent needs If resource usage rights for all resources can be acquired, send a request message until all resource usage rights can be acquired if there is a procedure for executing application programs and resources that have not yet been acquired. Resources that cause a computer to execute Use program.
あるサービスエージェントから要求メッセージが送信されてきた場合、その時自己が停止故障していなければ、該要求メッセージを受信する手順と、自己が管理する資源の中に未だ他のサービスエージェントに利用権を設定していない資源が存在するならば該サービスエージェントに利用許可メッセージを送信する手順と、自己が管理する資源全てに対して既に他のサービスエージェントに利用権を設定しているならば該サービスエージェントに利用不可メッセージを送信する手順とをコンピュータに実行させるための資源利用プログラム。A plurality of service agents for executing an application program for providing a service requested by a user, and a plurality of resource management agents for providing the service agent with resources necessary for the service agent to execute the application program; wherein, when nS the maximum number of simultaneously appearing service agent system, the total number of resources that service agent needs rS, simultaneously, determined in advance, the upper limit of the number of or the resource management agent failed stopped and fM, In the asynchronous agent system in which the total number of the resource management agents is fM + 1 and the lower limit of the total number of resources managed by the number of resource management agents that do not stop and fail is rS + fM × (nS−1), this is executed by each resource management agent. Resource utilization professional Gram,
When a request message is sent from a certain service agent, if the service is not stopped at that time, the procedure for receiving the request message and the usage rights for other service agents are still set in the resources managed by the service agent. If there is a resource that has not been used, a procedure for transmitting a use permission message to the service agent, and if the use right is already set in another service agent for all the resources managed by the service agent, A resource utilization program for causing a computer to execute a procedure for transmitting an unavailable message.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002140275A JP3878881B2 (en) | 2002-05-15 | 2002-05-15 | Asynchronous agent system, resource utilization method in the system, resource utilization program, and recording medium recording the program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002140275A JP3878881B2 (en) | 2002-05-15 | 2002-05-15 | Asynchronous agent system, resource utilization method in the system, resource utilization program, and recording medium recording the program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003330738A JP2003330738A (en) | 2003-11-21 |
JP3878881B2 true JP3878881B2 (en) | 2007-02-07 |
Family
ID=29701193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002140275A Expired - Fee Related JP3878881B2 (en) | 2002-05-15 | 2002-05-15 | Asynchronous agent system, resource utilization method in the system, resource utilization program, and recording medium recording the program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3878881B2 (en) |
-
2002
- 2002-05-15 JP JP2002140275A patent/JP3878881B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003330738A (en) | 2003-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6983324B1 (en) | Dynamic modification of cluster communication parameters in clustered computer system | |
US6892316B2 (en) | Switchable resource management in clustered computer system | |
US6510478B1 (en) | Method and apparatus for coordination of a shared object in a distributed system | |
JP5841177B2 (en) | Method and system for synchronization mechanism in multi-server reservation system | |
US7552218B2 (en) | Transparent session migration across servers | |
JP3759410B2 (en) | Method and apparatus for processing distributed network application management requests for execution in a clustered computing environment | |
US5784617A (en) | Resource-capability-based method and system for handling service processor requests | |
US6578159B1 (en) | Transaction processing method and apparatus | |
EP2695083B1 (en) | Cluster unique identifier | |
US6145006A (en) | Method and apparatus for coordinating locking operations of heterogeneous host computers accessing a storage subsystem | |
US8635318B1 (en) | Message broadcast protocol which handles configuration changes in a cluster of virtual servers | |
JP5000456B2 (en) | Resource management system, resource management apparatus and method | |
CN100359508C (en) | Merge protocol for schooling computer system | |
US20020062356A1 (en) | Method and apparatus for communication of message data | |
JP2012103879A (en) | Session management method, session management system, and program | |
JP4356018B2 (en) | Asynchronous messaging over storage area networks | |
US8180842B2 (en) | Communication device management program | |
JP2008544371A (en) | How to handle lock-related inconsistencies | |
CA2332586A1 (en) | A telecommunication controller messaging system | |
EP1654650B1 (en) | Transparent session migration across servers | |
US20100185761A1 (en) | Service provider node, and computer-readable recording medium storing service provider program | |
JP3878881B2 (en) | Asynchronous agent system, resource utilization method in the system, resource utilization program, and recording medium recording the program | |
US7188343B2 (en) | Distributable multi-daemon configuration for multi-system management | |
CN114064317A (en) | Node calling method in distributed system and related device | |
US7743180B2 (en) | Method, system, and program for managing path groups to an input/output (I/O) device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040810 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20040810 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040810 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050614 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060802 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060913 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061031 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061106 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101110 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101110 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111110 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111110 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121110 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121110 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131110 Year of fee payment: 7 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |