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 PDF

Info

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
Application number
JP2002140275A
Other languages
Japanese (ja)
Other versions
JP2003330738A (en
Inventor
宣 守屋
粛之 櫟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002140275A priority Critical patent/JP3878881B2/en
Publication of JP2003330738A publication Critical patent/JP2003330738A/en
Application granted granted Critical
Publication of JP3878881B2 publication Critical patent/JP3878881B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 service agents 3 and a plurality of resource management agents 4 operating on a communication network including a plurality of hosts 1 and a communication line 2 for communicating between them, and the service agent 3 includes It consists of resources 5 (CPU, memory, etc.) to be used. Agents 3 and 4 operate asynchronously, and each agent 3 and 4 cannot directly see what other agents 3 and 4 are in.
[0016]
The service agent 3 is software that is generated asynchronously in response to a user's request (information retrieval, business transaction, etc.) and executes an application program for providing a service to the user. The resource management agent 4 is software that manages the resources 5 necessary for the service agent 3 to execute the application program and gives the right to use the resources 5 according to the request of the service agent 3. The resource management agent 4 continues to operate permanently from the time of system startup. On the other hand, the service agent 3 is newly generated halfway after the system is started. The service agent 3 to be generated can be generated by an agent that is already active inside, or can be generated by a computer or agent outside the system by an instruction. In this system, communication is performed by transmitting and receiving messages between any two agents in the system. However, in the present invention, in order to use resources so as not to be affected by the operation speed of other service agents 3, for resource transactions between service agents 3 and between resource management agents 4 as shown in FIG. There is no direct communication. When communication is performed between one service agent 3 and one resource management agent 4, there is a delay from one sending a message to the other receiving a message. This delay is not constant and varies depending on system conditions. Communication can be performed between agents on the same host 1 or between agents on different hosts 1. In many cases, the delay between agents in different hosts 1 is longer than the communication between agents in the same host 1, but the present invention can be applied to any delay from transmission to reception. Therefore, the following is not distinguished. When created, the service agent 3 knows the names of all resource management agents 4 in the system. The resource management agent 4 does not know the information of any service agent 3 when the system is started, but stores the information of the service agent 3 in the knowledge by receiving a message from the service agent 3.
[0017]
Note that one resource management agent 4 is not necessarily required to exist on one host 1, even if one host 1 has a plurality of resource management agents or a host 1 having no resource management agent. Good. However, the service agent 3 in the different host 1 can also communicate with the resource management agent 4. In addition, there is one resource management agent 4 as an owner for every resource in the network.
[0018]
In the present embodiment, an upper limit is set in advance for the number of resource management agents 4 that may stop and fail. In the following, decide in advance , Stop breakdown Money Let the upper limit of the number of source management agents 4 be fM. In addition, the number of resources managed by the resource management agent 4 that does not stop and fail in the system must be greater than a specific number. In the following, it is assumed that the total number of resources managed by the number of resource management agents 4 that do not stop and fail must be at least rM. Furthermore, it is necessary to set the upper limit of the number of service agents 3 appearing in the system and the number of resources required by those service agents 3. In the following, the number of service agents 3 simultaneously appearing in the system is at most nS, and the sum of the number of resources required by these service agents 3 is represented by rS.
[0019]
Each agent 3, 4 is composed of an identifier and a program. The identifiers of the agents 3 and 4 are different from any agent in the system. Hereinafter, the agent having the identifier i is referred to as an agent 3i or 4i.
[0020]
The program of the resource management agent 4 has only a resource use program for managing resources. Now, the number of resources managed by the resource management agent 4 is assumed to be 4.r. In the resource use program of the resource management agent 4, in response to a request from the service agent 3, the service agent 3 is set so that a plurality of service agents 3 do not use 4.r resources simultaneously. Grant resource usage rights.
[0021]
The program of the service agent 3 is composed of a resource use program and an application program. The service agent 3 is generated asynchronously, but when generated, the resource utilization program is executed. After completing the resource use program, the program shifts to the application program and starts providing the service to the user. The service agent 3 knows the number of resources necessary to execute the application program. Now, the number of resources that the service agent 3 needs for the application program is described as 3.r. The resource use program of the service agent 3 executes a procedure for communicating with the resource management agent 4 in order to acquire 3. r resources. The application program is a program for responding to user requests. In the present embodiment, the system operates under any application program as long as the number of resources necessary for executing the application program is known in advance.
[0022]
Agents 3 and 4 can communicate with any agent 3 or 4 in the system by sending and receiving messages. However, in order to use resources that are not affected by the operating speed of other service agents 3, no direct communication is performed between the service agents 3 that are executing the resource use program and between the resource management agents 4. When an agent sends a message, the destination is specified by an identifier regardless of which host the destination is. In the present invention, it is not distinguished whether communication is performed between agents on the same host or between agents on different hosts. Do not consider. There is a non-constant delay between the time the agent sends the message and the destination agent receives it, but the destination agent never receives the sent message forever. When agent j receives a message from agent i, agent j can understand that the message has been sent from the agent with identifier i.
[0023]
The resource use program prevents the normal service agent 3 from being obstructed from acquiring the resource use right even when the predetermined number of resource management agents 4 or less fM are stopped and failed. However, for that purpose, the system must be configured so that rM ≧ rS + fM × (nS−1).
[0024]
In the resource use program, the service agent 3 sends a message requesting the resource use right to the resource management agent 4 for each resource, and the service agent 3 simultaneously (fM + 1) resource management agents in parallel. 4. Deal with resource usage rights. If only fM resource management agents 4 are traded at the same time, the progress of the program of the service agent 3 is stopped when all of the trading destinations are out of order. Further, if the resource usage rights are exchanged with (fM + 1) resource management agents 4 in parallel, even after the service agent 3 determines the acquisition of the necessary number of resource usage rights, the resource management agent 4 is still The resource use right is continuously given to the service agent 3. That is, the number of resources provided to the service agent 3 is larger than the number of resources actually required. Therefore, in order to bring the resources given to the service agent 3 close to the number of resources that the service agent 3 actually needs, the service agent 3 requests resources one by one.
[0025]
The service agent 3 and the resource management agent 4 use the following message in the resource use program.
[0026]
Request message: A message for the service agent 3 to request one resource from the resource management agent 4.
[0027]
Usage permission message: A message for the resource management agent 4 to inform the service agent 3 that one resource can be used in response to a request from the service agent 3.
[0028]
Unusable message: A message for the resource management agent 4 to inform the service agent 3 that no resource is available in response to a request from the service agent 3.
[0029]
Service agent 3 i Suppose that requires ri resources. Service agent 3 i First, appropriate (fM + 1) resource management agents 4 are selected from the list of resource management agents 4. 4 of those resource management agents 4 1 , 4 2 , ..., 4 fM + 1 And Service agent 3 i Are each resource management agent 4 1 , 4 2 , ..., 4 fM + 1 Send a request message to Service agent 3 i Resource management agent 4 that has received the request message from j If there is a resource that can be provided at that time among the resources managed by the user, a use permission message is transmitted to the service agent 3 to reduce the number of resources that can be provided by one. If the right to use all resources is provided to an existing service agent 3, that is, manage 4 j If the service agent 3 is provided with the right to use .r resources, the resource management agent 4 j Is Agent 3 i Send unavailable message to. Resource management agent 4 1 , 4 2 , ..., 4 fM + 1 At least one of the resource management agents 4 does not have a stop failure and transmits a use permission message or a use disapproval message to the service agent 3. That is, service agent 3 i A usage permission message or an unusable message is received from the resource management agent 4 soon. Service agent 3 i Is resource management agent 4 j If there is a resource management agent 4 that has not yet transmitted the request message when the unavailable message is received from, the request message is transmitted to one of such resource management agents 4. Service agent 3 i Is resource management agent 4 j If ri resource usage rights are acquired when the usage permission message is received from, the resource usage program is completed and the application program is entered. Resource management agent 4 j If ri resources have not yet been acquired when the usage permission message is received from the resource management agent 4 again j Send a request message to Service agent 3 i Repeats sending the request message and receiving the use permission / unusable message until the right to use ri resources is acquired.
[0030]
FIG. 3 shows a flowchart of the processing procedure of the resource use program of the service agent 3. Note that Pop appearing in the flowchart represents an operation of extracting one element from the set and outputting it. However, when the set is an empty set, Pop outputs φ. FIG. 4 shows a flowchart of the processing procedure of the resource use program of the resource management agent 4. Explains the messages and variables used in this program.
[0031]
·message
-Request message: Marked as Request.
[0032]
―Usage permission message: Response (1).
[0033]
-Unusable message: Write Response (0).
[0034]
-Variables used by service agent 3
-3.S: A set of identifiers of the resource management agent 4. This represents a partner to which the service agent 3 has not yet sent a Request. The initial value is all resource management agents 4 in the system.
[0035]
― 3.k: A positive integer. The number that the service agent 3 must acquire the resource usage right. The initial value is r3.
[0036]
-Variables used by resource management agent 4
―4.k: Positive integer. Of the resources managed by the resource management agent 4, this represents the number of resources for which no service agent 3 is given a resource usage right. The initial value is r4.
[0037]
Hereinafter, an outline of processing of the resource use program of the service agent 3 will be described. The number t of resource management agents 4 is initialized (step 11). First, the service agent 3 extracts one element from the set 4.S of resource management agents 4 and repeats the operation of sending a request message Request to the resource management agent 4 (fM + 1) times (steps 12 and 13). When the unavailable message Request (0) is received from the resource management agent 4, elements are extracted from the set 4.S of the resource management agent 4 and a request message Request is transmitted to the resource management agent 4 (steps 15 to 17). When the permission message Response (1) is received from the resource management agent 4 (step 18), 3.k is decreased by 1 (step 19). It is determined whether the number 3.k of resource usage rights that the service agent 3 must acquire is 0 (step 20). If it is not 0, the request message Request is transmitted again to the service agent 3 (step 21). When 3.k becomes 0 in step 20, the service agent 3 ends the resource use program and shifts to the application program (step 22). If a message for a resource use program is received after the application program has been migrated, it is ignored.
[0038]
“Reception” in steps 14 and 18 means that the service agent 3 processes the delivered message. The messages Response (0) and Response (1) may be delivered after the request message Request is transmitted to a certain resource management agent 4 until the request message Request is transmitted to the next resource management agent 4. Suspends processing until it finishes sending the request message Request.
[0039]
Next, an outline of processing of the resource use program of the resource management agent 4 will be described. The resource management agent 4 repeats the following operation permanently from the start of system operation. When the request message Request is received from the service agent 3 (step 13), it is determined whether 4.k representing the number of resources that have not been given resource usage rights to any service agent 3 has become 0 (step 32). If 4.k is positive, the permission message Response (1) is transmitted to the service agent 3 to decrement 4.k by 1 (step 33). 4. When the request message Request is received from the service agent 3 after k becomes 0, an unusable message Response (0) is transmitted to the service agent 3 (step 34).
[0040]
Next, an example of operation by this program in this system will be shown.
[0041]
Assuming that at most one resource management agent 4 stops and fails, the system includes four resource management agents 4 as shown in FIG. 1 , 4 2 , 4 Three , 4 Four , And the number of resources 5 managed by each is 3, 3, 2, 2 and at most three service agents 3 1 , 3 2 , 3 Three Are generated in order, and at most two of them request two resources, and the number of resources requested by the remaining service agents is one. In this system, in any combination of three or more resource management agents 4, the total number rM of the provided resources is rS + fM × (nS−1) = 7 or more, and the resources provided by the resource management agent 4 that does not stop and fail. The total number of is sufficiently large. Note that solid arrows in FIGS. 6 to 24 indicate the transmission of the use permission message.
[0042]
Operation example 1
Example in which all resources managed by the resource management agent 4 that does not stop and fail are eventually occupied by a certain service agent 3:
1. Resource management agent 4 1 Stops and fails at all (FIG. 6).
[0043]
2. Service Agent 3 that requires two resources 1 Is generated, and the resource management agent 4 2 , 4 Three The request message Request is transmitted to (Fig. 7).
[0044]
3. Service Agent 3 that requires two resources 2 Is generated, and the resource management agent 4 2 , 4 Four The request message Request is transmitted to (Fig. 7).
[0045]
4. Resource management agent 4 2 , 4 Three Are service agents 3 respectively 1 Request message Request is received from each service agent 3 1 A use permission message Response (1) is transmitted to the server (FIG. 8). Where 4 2 .k = 2, 4 Three .k = 1.
[0046]
5. Resource management agent 4 2 , 4 Four Are service agents 3 respectively 2 Request message Request is received from each service agent 3 2 A use permission message Response (1) is transmitted to the server (FIG. 8). Where 4 2 .k = 1, 4 Four .k = 1.
[0047]
6. Service Agent 3 1 Is resource management agent 4 2 When the usage permission message Response (1) is received from the resource management agent 4, since it is still 3.k = 1 2 A request message Request is transmitted to (FIG. 9).
[0048]
7. Resource management agent 4 2 Is service agent 3 1 Request message Request is received from service agent 3 1 A usage permission message Response (1) is transmitted to the server (FIG. 9). Where 4 2 .k = 0.
[0049]
8. Service Agent 3 1 Is resource management agent 4 Three The usage permission message Response (1) is received from (FIG. 9). 3 1 .k = 0, so service agent 3 1 Moves to the application program.
[0050]
9. Service Agent 3 2 Is resource management agent 4 Four Receives a usage permission message Response (1) from, but still 3 2 .k = 1, so resource management agent 4 Four A request message Request is transmitted to (FIG. 10).
[0051]
10. Resource management agent 4 Four Is service agent 3 2 Request message Request is received from service agent 3 2 A use permission message Response (1) is transmitted to the server (FIG. 11). Where 4 Four .k = 0.
[0052]
11. Service Agent 3 2 Is resource management agent 4 Four The usage permission message Response (1) is received from (FIG. 12). 3 2 .k = 0, so service agent 3 2 Moves to the application program.
[0053]
12. Service Agent 3 that needs one resource Three Is generated, and the resource management agent 4 2 , 4 Four A request message Request is transmitted to (FIG. 13).
[0054]
13. Resource management agent 4 2 , 4 Four Is Service Agent 3 Three Receive request message Request from each of 4 2 .k = 0, 4 Four Service agent 3 because .k = 0 Three An unusable message Response (0) is transmitted to (FIG. 13).
[0055]
14. Service Agent 3 Three Is resource management agent 4 2 Unavailable message Response (0) is received from Service Agent 3 Three Is resource management agent 4 Three A request message Request is transmitted to (FIG. 14).
[0056]
15. Service Agent 3 Three Is resource management agent 4 Four Unavailable message Response (0) is received from Service Agent 3 Three Is resource management agent 4 1 A request message Request is transmitted to (FIG. 14).
[0057]
16. Resource management agent 4 Three Is Service Agent 3 Three Request message Request is received from service agent 3 Three A use permission message Response (1) is transmitted to the server (FIG. 15).
[0058]
17. Service Agent 3 Three Is resource management agent 4 Three The usage permission message Response (1) is received from (FIG. 15). 3 Three .k = 0, so service agent 3 Three Moves to the application program.
[0059]
Operation example 2
Example in which the destination of the request message Request sent by the service agent 3 is out of order:
1. Resource management agent 4 2 Stops and does not operate at all (FIG. 16).
[0060]
2. Service Agent 3 that requires two resources 1 Is generated, and the resource management agent 4 2 , 4 Three A request message Request is transmitted to (FIG. 17).
[0061]
3. Service Agent 3 that requires two resources 2 Is generated, and the resource management agent 4 2 , 4 Four A request message Request is transmitted to (FIG. 17).
[0062]
4. Resource management agent 4 Three Is Service Agent 3 1 Request message Request is received from service agent 3 1 A use permission message Response (1) is transmitted to the server (FIG. 18). Where 4 Three .k = 1.
[0063]
5. Resource management agent 4 Four Is Service Agent 3 2 Request message Request is received from service agent 3 2 A use permission message Response (1) is transmitted to the server (FIG. 18). Where 4 Four .k = 1.
[0064]
6. Service Agent 3 1 Is resource management agent 4 Three Receives a permission message Response (1) from, but still 4 1 .k = 1, so resource management agent 4 Three A request message Request is transmitted to (FIG. 19).
[0065]
7. Resource management agent 4 Three Is service agent 3 1 The request message Request is received from the service agent 4 1 A use permission message Response (1) is transmitted to the server (FIG. 19). Where 4 Three .k = 0.
[0066]
8. Service Agent 3 1 Is resource management agent 4 Three The usage permission message Response (1) is received from (FIG. 19). 3 1 .k = 0, so service agent 3 1 Moves to the application program.
[0067]
9. Service Agent 3 2 Is resource management agent 4 Four Receives a usage permission message Response (1) from, but still 3 2 .k = 1, so resource management agent 4 Four A request message Request is transmitted to (FIG. 20).
[0068]
10. Resource management agent 4 Four Is service agent 3 2 The request message Request is received from the service agent 3 2 A use permission message Response (1) is transmitted to the server (FIG. 20). 4 here Four .k = 0.
[0069]
11. Service Agent 3 2 Is resource management agent 4 Four The usage permission message Response (1) is received from (FIG. 20). 3 2 .k = 0, so service agent 3 2 Moves to the application program.
[0070]
12. Service Agent 3 that needs one resource Three Is generated, and the resource management agent 4 2 , 4 Four A request message Request is transmitted to (FIG. 21).
[0071]
13. Resource management agent 4 Four Is Service Agent 3 Three Request message Request is received from 4 Four Service agent 3 because .k = 0 Three An unusable message Response (0) is transmitted to (FIG. 22).
[0072]
14. Service Agent 3 Three Is resource management agent 4 Four Unavailable message Response (0) is received from Service Agent 3 Three Is resource management agent 4 Three A request message Request is transmitted to (FIG. 22).
[0073]
15. Resource management agent 4 Three Is Service Agent 3 Three Request message Request is received from 4 Three .k = 0, so service agent 3 Three An unusable message Response (0) is transmitted to (FIG. 23).
[0074]
16. Service Agent 3 Three Is resource management agent 4 Three Unavailable message Response (0) is received from Service Agent 3 Three Is resource management agent 4 1 The request message Request is transmitted to (FIG. 23).
[0075]
17. Resource management agent 4 1 Is Service Agent 3 Three Request message Request is received from service agent 3 Three An unusable message Response (1) is transmitted to (FIG. 24).
[0076]
18. Service Agent 3 Three Is resource management agent 4 1 The usage permission message Response (1) is received from (FIG. 24). 3 Three .k = 0, so service agent 3 Three Moves to the application program.
[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.
ユーザが要望したサービスを提供するためのアプリケーションプログラムを実行する複数のサービスエージェントと、該サービスエージェントが前記アプリケーションプログラムを実行するために必要とする資源を前記サービスエージェントに提供する複数の資源管理エージェントを含み、システムに同時に現れるサービスエージェントの最大数を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; 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.
ユーザが要望したサービスを提供するためのアプリケーションプログラムを実行する複数のサービスエージェントと、該サービスエージェントが前記アプリケーションプログラムを実行するために必要とする資源を前記サービスエージェントに提供する複数の資源管理エージェントを含み、システムに同時に現れるサービスエージェントの最大数を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; 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.
ユーザが要望したサービスを提供するためのアプリケーションプログラムを実行する複数のサービスエージェントと、該サービスエージェントが前記アプリケーションプログラムを実行するために必要とする資源を前記サービスエージェントに提供する複数の資源管理エージェントを含み、システムに同時に現れるサービスエージェントの最大数をnS、サービスエージェントが必要とする資源の総数をrS、同時に、あらかじめ決めておく、停止故障してよい資源管理エージェントの数の上限をfMとすると、前記資源管理エージェントの総数はfM+1で、停止故障しない数の資源管理エージェントが管理する資源の総数の下限がrS+fM×(nS−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 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.
請求項3または4に記載の資源利用プログラムを記録した記録媒体。  A recording medium on which the resource use program according to claim 3 is recorded.
JP2002140275A 2002-05-15 2002-05-15 Asynchronous agent system, resource utilization method in the system, resource utilization program, and recording medium recording the program Expired - Fee Related JP3878881B2 (en)

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)

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