JP4049889B2 - エージェント管理方法ならびにエージェントシステム及び同方法がプログラムされ記録される記録媒体 - Google Patents
エージェント管理方法ならびにエージェントシステム及び同方法がプログラムされ記録される記録媒体 Download PDFInfo
- Publication number
- JP4049889B2 JP4049889B2 JP16986398A JP16986398A JP4049889B2 JP 4049889 B2 JP4049889 B2 JP 4049889B2 JP 16986398 A JP16986398 A JP 16986398A JP 16986398 A JP16986398 A JP 16986398A JP 4049889 B2 JP4049889 B2 JP 4049889B2
- Authority
- JP
- Japan
- Prior art keywords
- agent
- manager
- computer
- amount
- resources
- 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
Landscapes
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Description
【発明の属する技術分野】
本発明は、資源の限られた計算機上でもエージェントを正常に動作させることのできる、エージェントのコード管理方法、ならびにシステム、及び同方法がプログラムされ記録される記録媒体に関する。
【0002】
【従来の技術】
一般的に、人間のような振る舞いをするソフトウェアを「エージェント」と総称することが多い。エージェントが現行のオブジェクトと異なるのは、ネットワーク上のサーバを尋ね歩き、交渉しながら必要な情報を収集して帰ってくること、即ち、行動するオブジェクトということである。移動型エージェントは、エージェント自体のコードの移動と、データの移動を伴いながら、適切な場所で適切な処理を行うことを目的としている。エージェントが移動し、必要に応じてエージェント間で通信を行いながら処理を続けていくことで、柔軟性の高いシステムを構築することができる。
【0003】
この移動型エージェント技術に基づいて作成されるアプリケーションシステムは、異なる計算機で動作するプログラムの集合と見ることができる。従来からのオブジェクト指向技術に基づいたオブジェクトに移動性を持たせたものをエージェントと見ることもできる。
【0004】
【発明が解決しようとする課題】
上述した従来のエージェントシステムにおいては、性能が高く、資源が豊富な計算機上で動作することを前提に作られているため、資源が限られている計算機、例えば、マイクロプロセッサを内蔵する水道検針メータ等組み込み機器をネットワーク上に接続し、その上でエージェントを動作させることは困難であるという問題があった。
【0005】
そこで、本発明は上記の問題を解決するためになされたものであり、資源が限られている計算機上でも正常にエージェントを動作させることを可能にするエージェントの管理方法ならびにシステム及び同方法がプログラムされ記録される記録媒体を提供することを目的とする。
【0006】
【課題を解決するための手段】
本発明のエージェント管理方法では、エージェントを管理するエージェントマネージャを持つ計算機が、ネットワークを介して接続されるエージェントシステムにおける前記エージェントマネージャは、 前記ネットワークにより移動してくるエージェントが存在した移動元のエージェントマネージャに対し、そのエージェントが使用する資源の量を問い合わせ、自分が存在する計算機における使用可能な資源の量と比較し、エージェント受け入れの可否を決定することを特徴とする。
【0007】
本発明のエージェントシステムは、エージェントを管理するエージェントマネージャを持つ計算機が、ネットワークを介して接続されるエージェントシステムであって、前記エージェントマネージャは、前記ネットワークにより移動してくるエージェントが存在した移動元のエージェントマネージャに対し、そのエージェントが使用する資源の量を問い合わせ、自分が存在する計算機における使用可能な資源の量と比較し、エージェント受け入れの可否を決定することを特徴とする。
【0008】
本発明の記録媒体は、エージェントを管理するエージェントマネージャを持つ計算機がネットワークを介して接続されるエージェントシステムにて用いられ、前記エージェントマネージャが、自身が管理していたエージェントの移動先のエージェントマネージャに対してエージェントの移動要求を送信するステップと、前記移動先のエージェントマネージャから移動するエージェントの使用資源量の問い合わせを受信してエージェント使用資源量を送信するステップと、移動先エージェントマネージャから移動拒否メッセージを受信したか否かをチェックするステップと、否のときに限り移動先エージェントマネージャへエージェントを送信するステップとがプログラムされ記録されている。
【0009】
また、本発明の記録媒体は、前記エージェントマネージャが、移動してくるエージェントが存在した移動元のエージェントマネージャに、エージェントの資源使用量の問い合わせを送信するステップと、前記問い合わせに基づいて移動元のエージェントマネージャから得られるエージェントの使用資源量を受信し、その資源量を、自分が存在する計算機における使用可能な資源の量と比較してエージェントの動作に十分であるか否かをチェックするステップと、十分であると判断されたときにエージェントを受信し、否のとき、移動拒否メッセージを送信するステップとがプログラムされ記録されてもいる。
【0013】
このことにより、資源が限られている計算機上でも正常にエージェントを動作させることができる。
【0014】
【発明の実施の形態】
図1にエージェントが動作するシステムの構成図を示す。図では、ネットワーク10上に計算機1,2,3が接続されている。エージェントマネージャ(M1 、M2、…、Mn) とは、計算機上で動作するプロセスであり、エージェント(A11、A12 、…、An2)を管理するものである。管理する対象の例としては、エージェントのライフサイクルがある。エージェントの生成、処理の実行、移動、消滅等は、すべてエージェントマネージャが司る。エージェントは、必ずエージェントマネージャの管理下にあり、エージェントマネージャ上で動作する。
【0015】
例えば、図1では、エージェントA11 とA12 は、エージェントマネージャM1上で動作し、エージェントマネージャM1によって管理される。同様に、エージェントA21 とA22 は、エージェントマネージャM2上で動作し、エージェントマネージャM2によって管理される。エージェントは、ネットワーク10を介し、他の計算機上にあるエージェントマネージャへ移動することができる。図1では、エージェントは各エージェントマネージャに2 つずつ存在しているが、これはいくつでもかまわない。同様に、エージェントマネージャも、1台の計算機に複数存在してもかまわない。また、計算機は、どのようなものでもかまわない。メモリを多く持っているもの、少ないもの、CPUの性能が高いもの、低いものなど、様々なものが考えられる。
【0016】
本発明の実施形態では、計算機の資源が非常に限られている場合にエージェントを正常に動作させるための、エージェントの管理方法を説明する。計算機の資源としては、例えば、メモリ、CPU、エージェントが操作する機器に許されている同時アクセス数などがある。
【0017】
エージェントマネージャは、自分が管理する最大のエージェント数を決めておく。これは、自分の資源をもとに、正常に動作させられるエージェントの数を求める。例えば、エージェントが動作するのに利用できるメモリが5メガバイトで、1 つのエージェントが動作するのに使うメモリが平均2メガバイトとわかっている場合は、エージェントの最大数を2とする。エージェントマネージャは、このようにして求めたエージェントの最大数と、自分が現在管理しているエージェント数の値を保持しておく。
【0018】
エージェントが他のエージェントマネージャへ移動する時のエージェントマネージャの処理の流れを図2に、他エージェントマネージャからエージェントを受け取る際のエージェントマネージャの処理の流れを図3にフローチャートで示す。
【0019】
以下、図2、図3に示すフローチャートを参照しながら図1に示す本発明実施形態の動作を説明する。エージェントから移動したいという要求を受け付けると(S21) 、エージェントマネージャは、移動先のエージェントマネージャに対してエージェント移動要求を送信する(S22) 。移動先のエージェントマネージャでは、エージェントの移動要求を受け取ると(S31) 、現在自分が管理しているエージェントの数を調べる。エージェントの数が、予め決められた最大数であった場合は、移動要求を出してきたエージェントマネージャに対し、移動拒否のメッセージを送信する(S34) 。移動元のエージェントマネージャは、移動先のエージェントマネージャから移動拒否メッセージを受け取らなかったら、エージェントを送信し(S24) 、自分が管理しているエージェントの数を1減らす(S25) 。移動先のエージェントマネージャは、エージェントを受け取り( S33)、管理しているエージェントの数を1増やす(S35) 。
【0020】
このように、エージェントマネージャ上で動作するエージェントの数を制限することにより、資源の少ない計算機でも、エージェントを正常に動作させることが可能になる。
【0021】
移動してくるエージェントが動作するのに必要な資源の量が予め分からない場合は、移動元のエージェントマネージャから情報を取得し、移動要求が来た時点で、そのエージェントを正常に動作させられるかを判断し、移動受け付けの可否を決定する方法が考えられる。この場合のエージェントマネージャの処理の流れを図4、図5にフローチャートで示す。
【0022】
以下、図4,図5に示すフローチャートを参照しながら図1に示す本発明実施形態の動作について説明する。エージェントから移動したいという要求を受け付けると(S41) 、エージェントマネージャは、移動先のエージェントマネージャへエージェント移動要求を送信する(S42) 。移動先のエージェントマネージャでは、エージェントの移動要求を受け取ると(S51) 、移動元のエージェントマネージャに、そのエージェントが使用する資源の量を問い合わせる(S52) 。移動元のエージェントマネージャは、エージェント使用資源量の問い合わせを受信すると(S43) 、そのエージェントが移動元のエージェントマネージャ上で使った資源の量を移動先のエージェントマネージャへ送信する(S44) 。移動先のエージェントマネージャは、エージェントの資源使用量を受信すると(S53) 、現在自分の計算機で利用できる資源の量が、そのエージェントが使用する量より多いかどうかを調べる(S54) 。資源量が不十分であった場合は、移動要求を出してきたエージェントマネージャに対し、移動拒否のメッセージを送信する(S56) 。移動元のエージェントマネージャは、移動先のエージェントマネージャから移動拒否メッセージを受け取らなかったら、エージェントを送信し(S46) 、移動先のエージェントマネージャが、そのエージェントを受け取る(S55) 。
【0023】
このように、予め移動してくるエージェントが使用する資源の量を取得してから、エージェントの移動可否を判断することにより、資源の少ない計算機でも、エージェントを正常に動作させることが可能になる。
【0024】
エージェントマネージャ(M) の内部構成を図6に示す。図6において、エージェント情報管理部(AIM) 11では、このエージェントマネージャ上に存在するエージェントに関する情報を管理する。エージェント情報管理部11は、エージェントの情報を保持するエージェント情報管理テーブル(AIT) 111と、エージェント情報管理テーブル111を操作するエージェント情報管理テーブル操作部(TM)112を持つ。エージェント処理実行部(AE)12は、エージェントマネージャ上に存在するエージェントの処理の実行をつかさどる。エージェント処理実行部12の内部には、各エージェントの処理実行部(AEa、AEb 、…、AEz)121,122,12Zがある。エージェント動作制御部(AEM) 13は、エージェント情報管理テーブル操作部112にテーブル操作要求を出して、エージェントに関する情報の取得等を行い、各エージェントの処理実行部12に制御要求を出して、処理実行の開始や停止等を行う。
【0025】
各エージェントには一意に決まる名前をつける。エージェントの識別には、この名前を用いる。エージェント情報管理テーブルの例を図7に示す。エージェント情報管理テーブル111には、エージェントマネージャ上の各エージェントに対して、エージェント名とエージェント処理実行部へのポインタが対で登録される。エージェント名を指定すると、対応するエージェント処理実行部12へのポインタを取得できる。エージェント処理実行部12へのポインタを得られると、エージェントの処理の実行を一時停止させたり、再開させたりといった操作が可能になり、エージェントマネージャ上に存在しながらも、他のエージェントへ資源を解放できる。その結果、エージェント全体で資源を有効に活用できるようになる。例えば、一定の間隔で処理を行えばよいエージェントであれば、処理を行わずに待っている状態の時に処理を停止するといった利用法が考えられる。
【0026】
エージェント動作制御部13における、エージェントの処理実行の制御を行う流れを図8にフローチャートで示す。まず、エージェント情報管理テーブル操作部112へ動作を制御したいエージェント名を渡し、対応するエージェント処理実行部12へのポインタの取得要求を出す(S81) 。エージェント情報管理テーブル操作部112が、エージェント情報管理テーブル111からエージェント処理実行部12へのポインタを取り出し、エージェント動作制御部13はそのポインタを受け取る(S82) 。取得したポインタを用いて、エージェント動作制御部13は、エージェント処理実行の開始や停止等の制御を行う(S83) 。
【0027】
このようにエージェント名と処理実行部12へのポインタを対で管理することにより、特定のエージェントの処理の実行を一時停止させたり、再開させたりといった操作が容易になり、資源の有効活用が可能になる。
【0028】
図9に、図1で示した本発明実施形態に、更にエージェント保管サーバ4を追加したシステムの構成例を示す。エージェント保管サーバ4は、エージェント保管テーブルAST (411)と、エージェント保管テーブルAST を操作するエージェント保管テーブル操作部ASTM(412)を持つ。エージェント保管テーブルの例を図10に示す。エージェント保管テーブル411では、エージェントをシステム内で一意に識別できるエージェント名と、エージェント自体を非活性化状態にしたものを対で登録する。非活性化状態の例としては、文字列化することがある。エージェント保管テーブル411にエージェント名を指定すると、対応する非活性化されたエージェントを取得できる。
【0029】
各計算機(C1 、…、Cn) 1,3上のエージェントマネージャ(M1 、…、Mn) に存在するエージェントで、長時間、処理を行わない状態のものなどは、エージェントを非活性化し、エージェント名と対でエージェント保管サーバ上のエージェント保管テーブルに登録する。そして、エージェントマネージャ上で、非活性化されたエージェントが使用していた資源は、他のエージェントに解放する。必要に応じて、エージェント保管テーブルから、非活性化されたエージェントを取得し、エージェント保管テーブルに登録する前の状態を再現し、すなわち、活性化して、エージェントの処理の実行を再開させる。
【0030】
エージェントをエージェント保管テーブルへ登録する際のエージェントマネージャの処理の流れを図11に示す。まず、保管テーブルへ登録するエージェントを非活性化する(S111)。エージェント保管テーブル操作部412へ、エージェントの名前と非活性化したエージェントを渡し、エージェント保管テーブル411への登録を依頼する(S112)。テーブルへの登録が終わったら、登録したエージェントが今まで使用していた資源を解放する。
【0031】
このように、エージェントを非活性化して保管するテーブルを持つサーバをシステム内に置き、エージェントを適宜非活性化してサーバ上へ保管させることにより、計算機の資源を有効に活用することができる。
【0032】
この、エージェント保管サーバ4が存在するシステムにおいて、上述の、計算機の資源を元にエージェント受け入れの可否を決定したり、エージェント情報管理部とエージェント処理実行部とエージェント動作制御部を持つエージェントマネージャを用いてもかまわない。
【0033】
【発明の効果】
以上説明のように本発明は、エージェントを管理するエージェントマネージャを持つ計算機が、ネットワークを介して接続されるエージェントシステムにおいて、エージェントマネージャが、自分が存在する計算機の資源に基づいて到来するエージェント受け入れの可否を判断し、エージェントの正常動作を確保するものであり、このことにより、資源がかぎられた計算機上でも正常にエージェントを動作させることができる。特に、移動元のエージェントマネージャに、エージェントが使用する資源の量を問い合わせ、現在使用可能な資源量と比較することにより、エージェントを正常に動作させられるかどうかを正確に判断することができる。
【図面の簡単な説明】
【図1】本発明のエージェントシステムの一実施形態を示すブロック図、
【図2】エージェント移動時におけるエージェントマネージャの処理の流れを示すフローチャートで示した図、
【図3】移動エージェント受付時のエージェントマネージャの処理り流れにつきフローチャートで示した図、
【図4】エージェント移動時のエージェント処理の流れをフローチャートで示した図、
【図5】移動エージェント受付時のエージェントマネージャの処理の流れをフローチャートで示した図、
【図6】図1に示すエージェントマネージャの内部構成を示すブロック図、
【図7】図6におけるエージェント情報管理テーブルのエントリ構造を示す図、
【図8】エージェント情報管理テーブルを使用したエージェント処理実行の制御の流れをフローチャートで示す図、
【図9】本発明のエージェントシステムの他の実施形態を示すブロック図、
【図10】図9に示したエージェント保管テーブルのエントリ構造を示す図、
【図11】図10に示すエージェント保管テーブルを使用したエージェント保管処理の流れをフローチャートで示した図、
【符号の説明】
1(2,3)計算機、4エージェント保管サーバ、10ネットワーク、11エージェント情報管理部(AIM)、12エージェント処理実行部(AE)、13エージェント動作制御部(AEM)、111エージェント情報管理テーブル(AIT)、112エージェント情報管理テーブル操作部(TM)、411エージェント保管テーブル(AST)、、412エージェント保管テーブル操作部(ASTM)、
Claims (5)
- エージェントを管理するエージェントマネージャを持つ計算機が、ネットワークを介して接続されるエージェントシステムにおける前記エージェントマネージャは、
前記ネットワークにより移動してくるエージェントが存在した移動元のエージェントマネージャに対し、そのエージェントが使用する資源の量を問い合わせ、
自分が存在する計算機における使用可能な資源の量と比較し、エージェント受け入れの可否を決定する
ことを特徴とするエージェント管理方法。 - 資源は、計算機が持つCPU、メモリ、エージェントが操作するデバイスの少なくとも一つ、もしくはその組み合わせであることを特徴とする請求項1記載のエージェント管理方法。
- エージェントを管理するエージェントマネージャを持つ計算機が、ネットワークを介して接続されるエージェントシステムであって、
前記エージェントマネージャは、前記ネットワークにより移動してくるエージェントが存在した移動元のエージェントマネージャに対し、そのエージェントが使用する資源の量を問い合わせ、自分が存在する計算機における使用可能な資源の量と比較し、エージェント受け入れの可否を決定する
ことを特徴とするエージェントシステム。 - エージェントを管理するエージェントマネージャを持つ計算機がネットワークを介して接続されるエージェントシステムにて用いられ、
前記エージェントマネージャが、自身が管理していたエージェントの移動先のエージェントマネージャに対してエージェントの移動要求を送信するステップと、
前記移動先のエージェントマネージャから移動するエージェントの使用資源量の問い合わせを受信してエージェント使用資源量を送信するステップと、
移動先エージェントマネージャから移動拒否メッセージを受信したか否かをチェックするステップと、
否のときに限り移動先エージェントマネージャへエージェントを送信するステップと
がプログラムされ記録されたコンピュータ読み取り可能な記録媒体。 - エージェントを管理するエージェントマネージャを持つ計算機がネットワークを介して接続されるエージェントシステムにて用いられ、
前記エージェントマネージャが、移動してくるエージェントが存在した移動元のエージェントマネージャに、エージェントの資源使用量の問い合わせを送信するステップと、
前記問い合わせに基づいて移動元のエージェントマネージャから得られるエージェントの使用資源量を受信し、その資源量を、自分が存在する計算機における使用可能な資源の量と比較してエージェントの動作に十分であるか否かをチェックするステップと、
十分であると判断されたときにエージェントを受信し、否のとき、移動拒否メッセージを送信するステップと
がプログラムされ記録されたコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16986398A JP4049889B2 (ja) | 1998-06-17 | 1998-06-17 | エージェント管理方法ならびにエージェントシステム及び同方法がプログラムされ記録される記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16986398A JP4049889B2 (ja) | 1998-06-17 | 1998-06-17 | エージェント管理方法ならびにエージェントシステム及び同方法がプログラムされ記録される記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000010938A JP2000010938A (ja) | 2000-01-14 |
JP4049889B2 true JP4049889B2 (ja) | 2008-02-20 |
Family
ID=15894354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16986398A Expired - Fee Related JP4049889B2 (ja) | 1998-06-17 | 1998-06-17 | エージェント管理方法ならびにエージェントシステム及び同方法がプログラムされ記録される記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4049889B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4550278B2 (ja) * | 1998-05-13 | 2010-09-22 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | 遠隔計算機処理 |
WO2002010938A1 (fr) * | 2000-07-31 | 2002-02-07 | Kabushiki Kaisha Toshiba | Système d'agent |
-
1998
- 1998-06-17 JP JP16986398A patent/JP4049889B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000010938A (ja) | 2000-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20010051515A1 (en) | Mobile application peer-to-peer security system and method | |
RU2003137835A (ru) | Безопасное распределение и выполнение приложений в беспроводной среде | |
US20030037107A1 (en) | Application distribution system, and distribution server and distribution method thereof | |
WO2007077615A1 (ja) | ソフトウェア実行管理装置、その方法及びプログラム | |
CN106250207A (zh) | 一种虚拟机扩容处理方法及装置 | |
US7299264B2 (en) | System and method for monitoring a connection between a server and a passive client device | |
CN103024015B (zh) | 一种基于Flex的跨平台的浏览器端校验md5值上传文件的方法 | |
JP4049889B2 (ja) | エージェント管理方法ならびにエージェントシステム及び同方法がプログラムされ記録される記録媒体 | |
EP1351473A1 (en) | Software upgrade method for a switching device in a two-layer network environment | |
EP1335285A2 (en) | Control device for file resources in a network | |
US8521957B2 (en) | Cache control method for a computer system | |
JP2008544371A (ja) | ロック関連の一貫性欠如を処理する方法 | |
KR102567900B1 (ko) | 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치 | |
CN106802846A (zh) | 一种远程测试方法、装置及系统 | |
JP3777092B2 (ja) | 分散アプリケーションを実行する方法およびシステム | |
KR100550477B1 (ko) | 임베디드 시스템에서의 원격 디바이스 드라이버 개발환경을 지원하기 위한 드라이버 에이전트 장치 및 그 운용방법 | |
CN111782226A (zh) | 一种直捷安装安卓应用的方法、系统、设备及介质 | |
TWI327037B (en) | Network service control method and agent dispatching method used therein | |
JP2000047997A (ja) | 移動型エージェントシステム、及び分散構成計算機システムに於ける移動型エージェント管理制御方法 | |
US8352693B2 (en) | Storage control apparatus | |
KR20000060965A (ko) | 이동통신 시스템의 시스템 소프트웨어 실시간 버전 관리 시스템 및 방법 | |
TWI703834B (zh) | 用於遠端喚醒網路用戶裝置的方法及系統 | |
JP2526776B2 (ja) | 遠隔手続き呼出し装置 | |
JP3689035B2 (ja) | 分散オブジェクトリファレンス管理方法及びその実施システム並びにその処理プログラム | |
JP3998604B2 (ja) | コンピュータ装置、エージェントの実行継続方法、アクセス制限保証方法、および、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050610 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050617 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070724 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070925 |
|
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: 20071120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071128 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101207 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |