(57)【要約】【課題】目的地を再度設定する必要をなくし、設定に要する無駄な時間を省くエージェントシステムを提供する。【解決手段】通信機器が他の通信機器に復元したモバイルエージェントを送信する際には、エージェント復元部２０１は、所定の移動経路情報を有する経路リスト１０１を設けたモバイルエージェント１０を復元する。ＭＰＵコード変換部２０３は、復元したモバイルエージェントをＭＰＵコードに変換する。さらに中間コード変換部２０４は、ＭＰＵコードに変換されたエージェントさらに中間コードに変換し、送信先の通信機器に送信する。これを受信した通信機器は、中間コード変換部２０４が中間コードに変換し、ＭＰＵコード変換部２０３がそれをこれをＭＰＵコードに変換する。エージェント復元部２０１は、ＭＰＵコードからなるエージェントを元のエージェントに変換してメモリ領域に記憶する。【選択図】図５
2005004793.tif 000002
【特許請求の範囲】
【請求項１】
エージェントサーバと複数の通信機器とが有線回線または無線回線の通信回線で接続されており、前記エージェントサーバから生成した移動経路情報を有するエージェントを、前記通信回線を介して前記移動経路情報に基づき前記通信機器間を移動させるエージェントシステムであって、
前記通信機器は、
先に受信してメモリ領域に記憶されているエージェントの移動経路情報を、必要に応じて変更して、所定の移動経路情報を有するエージェントに復元し、この復元したエージェントを送信するエージェント復元送信手段と、
前記移動経路情報に基づき、送信を予定している通信機器に対し、予め、送信を予定しているエージェントを記憶させるメモリ領域を予約するメモリ領域予約手段と、
前記移動経路情報に基づき、前記エージェントを次の通信機器に送信するに際し、その送信先の通信機器が仮に異なる処理コードを実行する通信機器であっても、処理可能な中間コードに前記エージェントを変換し、これを送信する中間コード変換送信手段と、
を具備することを特徴とするエージェントシステム。
【請求項２】
エージェントサーバと複数の通信機器とが有線回線または無線回線の通信回線で接続されており、前記エージェントサーバから生成した移動経路情報を有するエージェントを、前記通信回線を介して前記移動経路情報に基づき前記通信機器間を移動させるエージェントシステムであって、
前記通信機器は、
先に受信してメモリ領域に記憶されているエージェントの移動経路情報を、必要に応じて変更して、所定の移動経路情報を有するエージェントに復元し、この復元したエージェントを送信するエージェント復元送信手段と、
前記移動経路情報に基づき、送信を予定している通信機器に対し、予め、送信を予定しているエージェントを記憶させるメモリ領域を予約するメモリ領域予約手段と、
前記移動経路情報に基づき、前記エージェントを次の通信機器に送信するに際し、その送信先の通信機器が仮に異なる処理コードを実行する通信機器であっても、処理可能な中間コードに前記エージェントを変換し、これを送信する中間コード変換送信手段と、
エージェントが移動してくる際に予め、このエージェントを記憶するメモリ領域を確保し、また、このエージェントを送信したのち前記メモリ領域から前記エージェントをクリアして開放するメモリ領域予約開放手段と、
を具備することを特徴とするエージェントシステム。
【請求項３】
前記エージェントには、通過した通信機器のノード番号を経路収集情報として有しており、
前記エージェント復元送信手段は、
他の通信機器にエージェントを送信するに際し、自己のノード番号を前記経路収集情報として追加登録したエージェントを復元することを特徴とする請求項１または２に記載のエージェントシステム。
【請求項４】
前記メモリ領域予約手段は、
先に受信したエージェントの処理の進捗具合を検知するエージェント処理進捗検知手段、
を有しており、
このエージェント処理進捗検知手段により、前記先に受信したエージェントが所定箇所を実行したと検知されると、送信を予定している通信機器に対し、メモリ領域を予約することを特徴とする請求項１または２に記載のエージェントシステム。
【請求項５】
前記エージェントサーバは、
到達する最終目的地である前記通信機器のノード番号を登録した前記移動経路情報を有する複数のエージェントを同時に通信機器に送信し、帰還した前記エージェント中の前記経路収集情報を読み出し、
最終目的地の通信機器は、前記エージェントサーバから送信されたエージェントのうち、最も早く到達したエージェントのみを前記エージェントサーバに帰還させることを特徴とする請求項３に記載のエージェントシステム。
【請求項６】
エージェントサーバと複数の通信機器とが有線回線または無線回線の通信回線で接続されており、前記エージェントサーバから生成した移動経路情報を有するエージェントを、前記通信回線を介して前記移動経路情報に基づき前記通信機器間を移動させる通信方法であって、
前記通信機器により、
先に受信してメモリ領域に記憶されているエージェントの移動経路情報を、必要に応じて変更して、所定の移動経路情報を有するエージェントに復元し、
前記移動経路情報に基づき、送信を予定している通信機器に対し、予め、送信を予定しているエージェントを記憶させるメモリ領域を予約し、
前記移動経路情報に基づき、前記エージェントを次の通信機器に送信するに際し、その送信先の通信機器が仮に異なる処理コードを実行する通信機器であっても、処理可能な中間コードに前記エージェントを変換し、これを送信する
ことを特徴とする通信方法。
【請求項７】
エージェントサーバと複数の通信機器とが有線回線または無線回線の通信回線で接続されており、前記エージェントサーバから生成した移動経路情報を有するエージェントを、前記通信回線を介して前記移動経路情報に基づき前記通信機器間を移動させる通信方法であって、
前記通信機器により、
先に受信してメモリ領域に記憶されているエージェントの移動経路情報を、必要に応じて変更して、所定の移動経路情報を有するエージェントに復元し、
前記移動経路情報に基づき、送信を予定している通信機器に対し、予め、送信を予定しているエージェントを記憶させるメモリ領域を予約し、
エージェントが移動してくる際に予め、このエージェントを記憶するメモリ領域を確保し、また、このエージェントを送信したのち前記メモリ領域から前記エージェントをクリアして開放し、
前記移動経路情報に基づき、前記エージェントを次の通信機器に送信するに際し、その送信先の通信機器が仮に異なる処理コードを実行する通信機器であっても、処理可能な中間コードに前記エージェントを変換し、これを送信する
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エージェントサーバから生成したエージェントを、通信回線を介して通信機器間を順次移動させるエージェントシステム及び通信方法に関する。
【背景技術】
【０００２】
近年、普及してきているエージェントシステムは、図１４に示すように、エージェントサーバ５０と、複数のパーソナルコンピュータ，ワークステーション等の通信機器６０と、エージェントを生成するためのソースプログラムを記憶する記憶装置８０とが有線回線９０（図に示さないが無線回線でもよい）で接続され、各通信機器間を後述するエージェント７０が移動するように構成されている。
【０００３】
このエージェントシステムは、エージェントサーバ５０が記憶装置８０に記憶されているソースプログラムに基づき、オブジェクトコードからなるエージェント７０を生成し、この生成したエージェント７０を指定した通信機器６０に送信し、その通信機器６０のシステムエージェント６０１が受信したエージェント７０を実行するようになっている。
【０００４】
ところで、上述したエージェントシステムでは、エージェント７０の移動方法として、（ア）エージェントに対しては目的地と目的処理とが与えられるが、目的地に至るまでの移動経路が与えられていない方法と、（イ）エージェントに対しては目的処理のみが与えられており、目的地、かつ、移動経路が与えられていない方法との２通りの方法が採用されている。
【０００５】
以下、この２通りの方法についての動作を、図１５および図１６のフローチャートを参照して説明する。
【０００６】
（ア）エージェントに対して目的地と目的処理とが与えられる場合
エージェントサーバ５０は、記憶装置８０に記憶されている所定の目的処理を行うソースプログラムからオブジェクトコードを形成し、さらに、このオブジェクトに移動先を示す目的地を与えてエージェントを生成し（ステップ５１０）、このエージェント７０を目的地に送信する。
【０００７】
すると、送信されたエージェント７０は、回線９０を介して指定された目的地のノードを有する通信機器６０に移動し（ステップ５２０）、この通信機器６０に取り込まれ、通信機器６０内のシステムエージェント６０１により、実行される。
【０００８】
通信機器６０内のシステムエージェント６０１は、エージェント７０が有する目的処理が完了するか否かを判断しており（ステップ５３０）、目的処理が完了しないと判断した場合には（ステップ５３０；Ｎ）、生成元のエージェントサーバ５０に戻る。
【０００９】
エージェント７０が戻ってきたエージェントサーバ５０は、目的地および目的処理を再設定し（ステップ５５０）、処理を５２０に戻し、上述した処理を続行する。
【００１０】
一方、システムエージェント６０１は、目的処理が完了したと判断した場合には（ステップ５３０；Ｙ）、エージェント７０をエージェントサーバ５０に戻し（ステップ５４０）、処理を終了する。
【００１１】
（イ）エージェントに対しては目的処理のみが与えられている場合
エージェントサーバ５０のシステムエージェント６０１は、生成したエージェントに目的処理を与えたエージェントを生成し（ステップ６１０）、このエージェント７０を回線９０を介して移動させる（ステップ６２０）。
【００１２】
すると、エージェント７０は、移動先の通信機器６０に取り込まれ、通信機器６０内のシステムエージェント６０１により目的処理の実行が開始される。
【００１３】
システムエージェント６０１は、移動先の通信機器６０において、目的処理が完了するか否かを判断しており（ステップ６３０）、目的処理が完了しないと判断した場合には（ステップ６３０；ＮＯ）、ステップ６２０に戻り、次の移動先の通信機器６０に移動し、上述したと同様な処理を続行する。
【００１４】
一方、システムエージェント６０１は、目的処理が完了したと判断した場合には（ステップ６３０；Ｙ）、エージェント７０をエージェントサーバ５０に戻し（ステップ６４０）、処理を終了する。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
上述したように、エージェントシステムでは、（ア）エージェントに対して目的地と目的処理とが与えられる方法の場合においても、また、（イ）エージェントに対しては目的処理のみが与えられている方法の場合においても、それぞれ以下のような問題点があった。
【００１６】
（１）（ア）エージェント７０に対して目的地と目的処理とが与えられる方法の場合のエージェントシステムでは、目的処理を実行するに際して目的地が１対１で与えられるので、複数の所定の通信機器６０のノードを経由するときには、それらのノードを指定する必要がある。
【００１７】
このため、目的処理が達成できなかった場合には、エージェントサーバ５０がこれら複数の目的地を再度設定する必要があり、設定に要する時間が無駄であるという問題点があった。
【００１８】
（２）（イ）エージェント７０に対しては目的処理のみが与えられている方法の場合のエージェントシステムでは、任意の場所（ルールによって検索）に移動して目的処理を行うため、一度目的処理を与えると目的の再設定は不要であるが、経路を選択することができないので、シーケンシャルな処理、例えば、ファィヤーウォール上に形成されるアプリケーションゲートウエイにおいて、不正アクセスとみなされ、ファィヤーウォールから以下に接続する通信機器６０のノードに移動する処理を実行することができないという問題点があった。
【００１９】
（３）（ア）エージェントに対して目的地と目的処理とが与えられる方法の場合のエージェントシステム、および（イ）エージェントに対しては目的処理のみが与えられている方法の場合のエージェントシステムは、エージェント７０が移動する際には、移動先の通信機器６０の資源状態、例えばメモリの空き領域を知らずに移動するため、仮に、移動先の通信機器６０の資源を使用できない場合、例えばメモリにエージェント７０を格納する空き領域が無い場合には、その通信機器６０にエージェント７０が生成されず、エージェントサーバ５０に所定時間内にエージェント７０が戻ってこず、エージェントサーバ５０がエラー処理を実行せざるを得ないという問題点があった。
【００２０】
（４）通信機器６０が実行する処理コードには、現在、通常のＭＰＵが実行するネイティブコードと、ＪＡＶＡ（登録商標）等で代表される仮想マシン上で実行させるバイトコードとがある。
【００２１】
従って、エージェントサーバ５０および通信機器６０に有するシステムエージェント６０１が同一な処理コードを実行する処理系で構成されているエージェントシステム間では、図１７に示すように、移動してきたエージェント７０を移動先のシステムエージェント６０１を実行することができるが、異なる処理コードを実行する処理系で構成されているエージェントシステム間では、実行することができないという問題点があった。
【００２２】
なお、異なる処理コードを実行する処理系で構成されているエージェントシステム間で実行する場合には、JAVA（登録商標） Virtual Machineのような仮想プロセッサを有する通信機器６０を使用しなければならない。
【００２３】
そこで、本発明は上述した問題点に鑑み、目的地を再度設定する必要をなくし、設定に要する無駄な時間を省くエージェントシステムを提供することを第１の目的とする。
【００２４】
また、本発明は、エージェントがあるノードを経由しなくても他のノードにたどり着けるエージェントシステムを提供することを第２の目的とする。
【００２５】
さらに、本発明は、エージェントが移動する際には、移動先の通信機器の資源状態をチェックしてエラー処理を回避するエージェントシステムを提供することを第３の目的とする。
【００２６】
さらにまた、本発明は、異なる処理系で構成されているエージェントシステム間においても実行し得るエージェントシステムを提供することを第４の目的とする。
【課題を解決するための手段】
【００２７】
上述した目的を達成するために、請求項１記載の発明は、エージェントサーバと複数の通信機器とが有線回線または無線回線の通信回線で接続されており、前記エージェントサーバから生成した移動経路情報を有するエージェントを、前記通信回線を介して前記移動経路情報に基づき前記通信機器間を移動させるエージェントシステムであって、前記通信機器は、先に受信してメモリ領域に記憶されているエージェントの移動経路情報を、必要に応じて変更して、所定の移動経路情報を有するエージェントに復元し、この復元したエージェントを送信するエージェント復元送信手段と、前記移動経路情報に基づき、送信を予定している通信機器に対し、予め、送信を予定しているエージェントを記憶させるメモリ領域を予約するメモリ領域予約手段と、前記移動経路情報に基づき、前記エージェントを次の通信機器に送信するに際し、その送信先の通信機器が仮に異なる処理コードを実行する通信機器であっても、処理可能な中間コードに前記エージェントを変換し、これを送信する中間コード変換送信手段と、を具備することを特徴とする。
【００２８】
請求項２記載の発明は、エージェントサーバと複数の通信機器とが有線回線または無線回線の通信回線で接続されており、前記エージェントサーバから生成した移動経路情報を有するエージェントを、前記通信回線を介して前記移動経路情報に基づき前記通信機器間を移動させるエージェントシステムであって、前記通信機器は、先に受信してメモリ領域に記憶されているエージェントの移動経路情報を、必要に応じて変更して、所定の移動経路情報を有するエージェントに復元し、この復元したエージェントを送信するエージェント復元送信手段と、前記移動経路情報に基づき、送信を予定している通信機器に対し、予め、送信を予定しているエージェントを記憶させるメモリ領域を予約するメモリ領域予約手段と、前記移動経路情報に基づき、前記エージェントを次の通信機器に送信するに際し、その送信先の通信機器が仮に異なる処理コードを実行する通信機器であっても、処理可能な中間コードに前記エージェントを変換し、これを送信する中間コード変換送信手段と、エージェントが移動してくる際に予め、このエージェントを記憶するメモリ領域を確保し、また、このエージェントを送信したのち前記メモリ領域から前記エージェントをクリアして開放するメモリ領域予約開放手段と、を具備することを特徴とする。
【００２９】
請求項３記載の発明は、請求項１または２に記載の発明において、前記エージェントには、通過した通信機器のノード番号を経路収集情報として有しており、前記エージェント復元送信手段は、他の通信機器にエージェントを送信するに際し、自己のノード番号を前記経路収集情報として追加登録したエージェントを復元することを特徴とする。
【００３０】
請求項４記載の発明は、請求項１または２に記載の発明において、前記メモリ領域予約手段は、先に受信したエージェントの処理の進捗具合を検知するエージェント処理進捗検知手段、を有しており、このエージェント処理進捗検知手段により、前記先に受信したエージェントが所定箇所を実行したと検知されると、送信を予定している通信機器に対し、メモリ領域を予約することを特徴とする。
【００３１】
請求項５記載の発明は、請求項３に記載の発明において、前記エージェントサーバは、到達する最終目的地である前記通信機器のノード番号を登録した前記移動経路情報を有する複数のエージェントを同時に通信機器に送信し、帰還した前記エージェント中の前記経路収集情報を読み出し、最終目的地の通信機器は、前記エージェントサーバから送信されたエージェントのうち、最も早く到達したエージェントのみを前記エージェントサーバに帰還させることを特徴とする。
【００３２】
請求項６記載の発明は、エージェントサーバと複数の通信機器とが有線回線または無線回線の通信回線で接続されており、前記エージェントサーバから生成した移動経路情報を有するエージェントを、前記通信回線を介して前記移動経路情報に基づき前記通信機器間を移動させる通信方法であって、前記通信機器により、先に受信してメモリ領域に記憶されているエージェントの移動経路情報を、必要に応じて変更して、所定の移動経路情報を有するエージェントに復元し、前記移動経路情報に基づき、送信を予定している通信機器に対し、予め、送信を予定しているエージェントを記憶させるメモリ領域を予約し、前記移動経路情報に基づき、前記エージェントを次の通信機器に送信するに際し、その送信先の通信機器が仮に異なる処理コードを実行する通信機器であっても、処理可能な中間コードに前記エージェントを変換し、これを送信することを特徴とする。
【００３３】
請求項７記載の発明は、エージェントサーバと複数の通信機器とが有線回線または無線回線の通信回線で接続されており、前記エージェントサーバから生成した移動経路情報を有するエージェントを、前記通信回線を介して前記移動経路情報に基づき前記通信機器間を移動させる通信方法であって、前記通信機器により、先に受信してメモリ領域に記憶されているエージェントの移動経路情報を、必要に応じて変更して、所定の移動経路情報を有するエージェントに復元し、前記移動経路情報に基づき、送信を予定している通信機器に対し、予め、送信を予定しているエージェントを記憶させるメモリ領域を予約し、エージェントが移動してくる際に予め、このエージェントを記憶するメモリ領域を確保し、また、このエージェントを送信したのち前記メモリ領域から前記エージェントをクリアして開放し、前記移動経路情報に基づき、前記エージェントを次の通信機器に送信するに際し、その送信先の通信機器が仮に異なる処理コードを実行する通信機器であっても、処理可能な中間コードに前記エージェントを変換し、これを送信することを特徴とする。
【００３４】
本発明では、通信機器が、先に受信したエージェントから、必要に応じて移動経路情報を変更したエージェントを復元するため、目的地を再度設定する必要がなくなる。
【００３５】
また、通信機器が、復元したエージェントの送信を予定している通信機器に対して、この復元したエージェントを記憶するメモリ領域を予約するため、復元したエージェントを確実に送信先に送ることができる。
【００３６】
さらに、この異なる処理系の通信機器がともに処理できる中間コードに変換して送信するため、異なる処理系で構成された通信機器間にエージェントを送信することができる。
【００３７】
また、本発明では、他の通信機器にエージェントを送信するに際してエージェントを復元するに際し、復元したエージェントに経路収集情報を有しているため、エージェントサーバから目的地の通信機器に到達するまでの経路収集情報を得ることができる。
【００３８】
従って、エージェントサーバから複数のエージェントを同時に目的地に送信することで、最も短時間に目的地に到達したエージェントの経路収集情報を調べることができる。
【発明の効果】
【００３９】
以上本発明によれば、通信機器が、先に受信したエージェントから、必要に応じて移動経路情報を変更したエージェントを復元することにより、目的地を再度設定する必要性がなくなるため、再設定に要する無駄な時間を省くことがで、応答性を高くすることができる。
【００４０】
また、通信機器が、復元したエージェントの送信を予定している通信機器に対して、この復元したエージェントを記憶するメモリ領域を予約するため、確実に復元したエージェントを送信先に送ることができる。
【００４１】
さらに、この異なる処理系の通信機器がともに処理できる中間コードに変換して送信するため、異なる処理系で構成された通信機器においてのエージェントを送信することができる。
【００４２】
さらにまた、他の通信機器にエージェントを送信するに際してエージェントを復元するに際し、復元したエージェントに経路収集情報を有しているため、エージェントサーバにおいて生成されたエージェントが目的地の通信機器に到達するまでの経路収集情報を得ることができる。
【００４３】
従って、エージェントサーバから複数のエージェントを同時に目的地に送信すると、最も短時間に目的地に到達したエージェントの経路収集情報を調べることができ、以後、この経路収集情報に基づき経路設定を行えば、応答性を高くすることができる。
【発明を実施するための最良の形態】
【００４４】
以下、本発明に係るエージェントシステム及び通信方法の実施形態を図面に基づき説明する。
【００４５】
＜第１実施形態＞
図１は本発明に係るエージェントシステムの第１実施形態の構成を示すブロック図である。
【００４６】
この実施形態のエージェントシステムは、図１に示すように、エージェントサーバ１と、複数のパーソナルコンピュータ，ワークステーション等の通信機器２と、モバイルエージェントを生成するためのソースプログラムを記憶する記憶装置３とが有線回線または無線回線でなる通信回線４で接続されて構成されている。
【００４７】
そして、エージェントサーバ１は、記憶装置３に記憶されているソースプログラムを読み出してオブジェクトコードからなるエージェント１０（このエージェント１０は、後述するように、通信機器２間を順次移動するものであるため、以下、モバイルエージェントという）を生成するようになっている。
【００４８】
（１）エージェントサーバの構成について説明する。
【００４９】
上述したエージェントサーバ１は、図２に示すように、システムエージェント２０を有しており、このシステムエージェント２０にはエージェント生成部２０１，フラグ格納部２０２，ＭＰＵコード変換部２０３，中間コード変換部２０４，資源管理部２０５およびエージェント間通信部２０６から構成されている。
【００５０】
エージェント生成部２０１は、制御部（図示せず）から所定のエージェントを作成するように指示を受けると（図２中の（１）参照）、フラグ格納部２０２に“ＯＮ”（＝１）のフラグをセットさせ、資源をロックするとともに（図２中の（２）参照）、記憶装置３に記憶されている所定のソースプログラムを読み出してオブジェクトを形成し、さらに、このオブジェクトの送信先を示す後述する経路リスト１０１を設けたモバイルエージェント１０を生成し、これをメモリ領域に記憶するようになっている。
【００５１】
なお、エージェント生成部２０１は、すでにメモリ領域内に該当するモバイルエージェント１０が記憶されている場合には、改めて、ソースプログラムからモバイルエージェント１０を生成する必要がないことはいうまでもない。
【００５２】
また、エージェント生成部２０１は、生成したモバイルエージェント１０の送信先である通信機器２に対して、送信予約を入れるように資源管理部２０５に指示するようになっている（図２中の（３）参照）。
【００５３】
さらに、エージェント生成部２０１は、送信先の通信機器２に対して送信予約を入れた旨の通知を資源管理部２０５から受けると（図２中の（７）参照）、先に生成してメモリ領域に記憶されているエージェント１０を読み出し（図２中の（８）参照）、これをＭＰＵコード変換部２０３に出力するようになっている（図２中の（９）参照）。
【００５４】
さらに、エージェント生成部２０１は、モバイルエージェント１０を送信先の通信機器２に送信し終わると、フラグ格納部２０２に“ＯＦＦ”（＝０）のフラグをセットさせ、資源を開放するようになっている（図２中のｈ参照）。
【００５５】
さらに、エージェント生成部２０１は、通信機器２から受信したＭＰＵコードに変換されたモバイルエージェント１０をＭＰＵコード変換部２０３から受けると（図２中のｆ参照）、元のモバイルエージェントに変換してメモリ領域に記憶するようになっている（図２中のｇ参照）。
【００５６】
フラグ格納部２０２は、自己の資源の使用を他のシステムエージェント２０に許可するか否かを示すフラグを格納するものである。
【００５７】
格納されているフラグがＯＮ（＝１）の場合には、自己の資源が他のシステムエージェント２０から使用できない状態になり、一方、格納されているフラグがＯＦＦ（＝０）の場合には、自己の資源が他のシステムエージェント２０から使用可能な状態になる。
【００５８】
ＭＰＵコード変換部２０３は、エージェント生成部２０１からモバイルエージェント１０を受けると（図２中の（９）参照）、受けたモバイルエージェント１０をＭＰＵコードに変換し、このＭＰＵコードに変換したモバイルエージェント１０を中間コード変換部２０４に出力するようになっている（図２中のａ参照）。
【００５９】
また、ＭＰＵコード変換部２０３は、通信機器２から戻ってきた中間コードに変換されたモバイルエージェント１０を中間コード変換部２０４から受けると（図２中のｅ参照）、中間コードのモバイルエージェント１０をＭＰＵコードのモバイルエージェント１０に変換し、これをエージェント生成部２０１に出力するようになっている（図２中のｆ参照）。
【００６０】
中間コード変換部２０４は、ＭＰＵコード変換部２０３から受けたＭＰＵコードに変換されたモバイルエージェント１０を中間コードに変換し送信先の通信機器２に送信するようになっている（図２中のｂ，ｃ参照）。
【００６１】
また、中間コード変換部２０４は、通信機器２から送信されてきた中間コードからなるモバイルエージェント１０を受信すると（図２中のｄ参照）、これをＭＰＵコード変換部２０３に出力するようになっている（図２中のｅ参照）。
【００６２】
ここで、ＭＰＵコードとは、処理コードとして通常のＭＰＵが実行するネイテイブコードであり、中間コードとは、処理コードとしてネイティブコードを使用する通常のＭＰＵ（図示せず）を有する通信機器２でも、また、処理コードとしてバイトコード（共通コード）を使用するJAVA（登録商標） Virtual Machineのような通信機器２でも実行できるコードである。
【００６３】
資源管理部２０５は、エージェント生成部２０１の指示のもと（図２中の（３）参照）、モバイルエージェント１０の送信先の通信機器２に対して資源状態を問い合わせ、資源が空きの状態であるときには、資源予約を入れ（図２中の（４），（５），（６）参照）、資源予約を入れた旨をエージェント生成部２０１に出力するようになっている（図２中の（７）参照）。
【００６４】
エージェント間通信部２０６は、通信機器２のシステムエージェント２０に対して、通信機器２の資源の空き状態を問い合わせるようになっている（図２中のｂ参照）。
【００６５】
ここで、エージェントサーバ１により生成されるモバイルエージェント１０について説明する。
【００６６】
このモバイルエージェント１０は、上述したように、通信機器２に所定の目的とする処理（以下、目的処理という）を実行させるためのオブジェクトコードを有しているのみならず、図３に示すように、必ず通過し、その箇所でモバイルエージェントが処理を実行しなければならない通信機器２のノード番号を有する移動経路情報と、その通過し得る回数を示す許可回数とを備える経路リスト１０１を有するようになっている。
【００６７】
図４は図３に示した経路リスト１０１を有するモバイルエージェントの移動経路の一例である。
【００６８】
この例では、モバイルエージェント１０は、最初、ノード番号が６である通信機器２で実行され、次に、ノード番号が２である通信機器２で実行され、次に、ノード番号が４である通信機器２で実行され、続いて、ノード番号が５である通信機器２で実行され、その後、ノード番号が３である通信機器２で実行され、次に、ノード番号が１である通信機器２で実行され、最後に、ノード番号が３である通信機器２で実行されることを示している。
【００６９】
（２）通信機器の構成について説明する。
【００７０】
なお、通信機器２は、上述したエージェントサーバ１と同一な構成をなしているものも多いが、再び説明する。
【００７１】
上述した通信機器２は、図５に示すように、システムエージェント２０を有しており、このシステムエージェント２０にはエージェント復元部２０１，フラグ格納部２０２，ＭＰＵコード変換部２０３，中間コード変換部２０４，資源管理部２０５およびエージェント間通信部２０６から構成されている。
【００７２】
エージェント復元部２０１は、制御部から所定のエージェントを復元するように復元指示を受けると（図５中の（１）参照）、フラグ格納部２０２に“ＯＮ”（＝１）のフラグをセットさせ、資源をロックするとともに（図５中の（２）参照）、メモリ領域に記憶されている、先に受信したモバイルエージェント１０を読み出し、所定の経路リストを有するモバイルエージェントを形成し、これをメモリ領域に記憶し、加えて、先に受信したモバイルエージェント１０の処理状況を監視させる指示を出力するようになっている（図５中の（３）参照）。
【００７３】
また、エージェント復元部２０１は、送信先の通信機器２に対して資源予約を入れた旨の通知を資源管理部２０５から受けると（図５中の（８）参照）、先に生成してメモリ領域に記憶されているエージェント１０を読み出し（図５中の（９）参照）、これをＭＰＵコード変換部２０３に出力するようになっている（図５中のａ参照）。
【００７４】
さらに、エージェント復元部２０１は、モバイルエージェント１０を送信先の通信機器２に送信し終わると、フラグ格納部２０２に“ＯＦＦ”（＝０）のフラグをセットさせ、資源を開放するようになっている（図５中のｉ参照）。
【００７５】
さらに、エージェント復元部２０１は、通信機器２から受信したＭＰＵコードに変換されたモバイルエージェント１０をＭＰＵコード変換部２０３から受けると（図５中のｇ参照）、元のモバイルエージェントに変換してメモリ領域に記憶するようになっている（図５中のｈ参照）。
【００７６】
フラグ格納部２０２は、自己の資源の使用を他のシステムエージェント２０に許可するか否かを示すフラグを格納するものである。
【００７７】
格納されているフラグがＯＮ（＝１）の場合には、自己の資源が他のシステムエージェント２０から使用できない状態になり、一方、格納されているフラグがＯＦＦ（＝０）の場合には、自己の資源が他のシステムエージェント２０から使用可能な状態になる。
【００７８】
ＭＰＵコード変換部２０３は、エージェント復元部２０１からモバイルエージェント１０を受けると（図５中のａ参照）、受けたモバイルエージェント１０をＭＰＵコードに変換し、このＭＰＵコードに変換したモバイルエージェント１０を中間コード変換部２０４に出力するようになっている（図５中のｂ参照）。
【００７９】
また、ＭＰＵコード変換部２０３は、通信機器２から戻ってきた中間コードに変換されたモバイルエージェント１０を中間コード変換部２０４から受けると（図５中のｆ参照）、中間コードのモバイルエージェント１０をＭＰＵコードのモバイルエージェント１０に変換し、これをエージェント復元部２０１に出力するようになっている（図５中のｇ参照）。
【００８０】
中間コード変換部２０４は、ＭＰＵコード変換部２０３から受けたＭＰＵコードに変換されたモバイルエージェント１０を中間コードに変換し、送信先の通信機器２に送信するようになっている（図５中のｃ，ｄ参照）。
【００８１】
また、中間コード変換部２０４は、通信機器２から送信されてきた中間コードからなるモバイルエージェント１０を受信すると（図５中のｅ参照）、これをＭＰＵコード変換部２０３に出力するようになっている（図５中のｆ参照）。
【００８２】
資源管理部２０５は、エージェント復元部２０１にモバイルエージェントの復元指示が入力されたのち、先に受信したモバイルエージェント１０の処理状況を監視しており（図５中の（４）参照）、先に受信したモバイルエージェント１０が所定箇所の処理を実行すると、エージェント間通信部２０６を介して、生成したモバイルエージェント１０の送信先の通信機器２に対して資源状態を問い合わせ、資源が空きの状態であるときには、資源予約を入れ（図５中の（５），（６），（７）参照）、その旨をエージェント復元部２０１に出力するようになっている（図５中の（８）参照）。
【００８３】
エージェント間通信部２０６は、送信先の通信機器２のシステムエージェント２０に対して、通信機器２の資源の空き状態を問い合わせるようになっている（図５中の（６）参照）。
【００８４】
ここで、エージェントサーバ１により生成されるモバイルエージェント１０について説明する。
【００８５】
このモバイルエージェント１０は、上述したように、通信機器２に所定の目的とする処理（以下、目的処理という）を実行させるためのオブジェクトコードを有しているのみならず、図３に示すように、必ず通過し、その箇所で必ず実行しなければならない通信機器２のノード番号を有する移動経路情報と、その通過し得る回数を示す許可回数とを備える経路リスト１０１を有するようになっている。
【００８６】
ここで、上述したエージェント復元部２０１のモバイルエージェントの復元内容を詳細に説明する。
【００８７】
エージェント復元部２０１は、先に受信したモバイルエージェント１０の送信元のノードが経路リスト１０１に有する場合には、中間コード変換部２０４から受けた中間コードに、先に受信したノードの箇所の許可回数から１引いた許可回数を有する経路リスト１０１を付加したモバイルエージェント１０を復元するようになっている。
【００８８】
従って、エージェント復元部２０１は、図６中のＡのノード４の箇所が示すように、受信した際の許可回数が１のモバイルエージェント１０については、もはやそのノードに移動する必要がないので、再びモバイルエージェント１０を復元する際には、その情報が不要であり、この情報を削除するようになっている。
【００８９】
また、エージェント復元部２０１は、経路リスト１０１にないノードを移動させる復元指示を受けた場合には、中間コード変換部２０４から受けた中間コードの経路リスト１０１に、新たに移動させるノード名とその許可回数と追加した経路リスト１０１を有するモバイルエージェント１０を復元するようになっている。
【００９０】
因みに、図７（ａ）に示した例では、エージェント復元部２０１は、以前から有している移動経路としてのノード１，ノード２およびノード３に、新たに許可回数１を有するノード４を追加した経路リスト１０１を有するモバイルエージェント１０を復元している。
【００９１】
さらに、エージェント復元部２０１は、経路リスト１０１にはあるがその該当ノードの許可回数を変更させる復元指示を受けた場合には、中間コード変換部２０４から受けた中間コードの経路リスト１０１の該当箇所の許可回数を指示された回数に変更した経路リスト１０１を有するモバイルエージェント１０を復元するようになっている。
【００９２】
因みに、図７（ｂ）に示した例では、エージェント復元部２０１は、以前から有している移動経路としてのノード１，ノード２およびノード３に、新たに許可回数１を有するノード４の許可回数２とした経路リスト１０１を有するモバイルエージェント１０を復元している。
【００９３】
次に、この実施形態のエージェントシステムの動作を、通信機器がモバイルエージェントを復元し、この復元されたモバイルエージェントが他の通信機器に移動し、移動した通信機器内のメモリ領域に記憶させるまでの処理動作を説明するに先だって、（１）モバイルエージェントを受信したシステムエージェントの概略処理、（２）システムエージェントが経路リストから移動経路情報を削除する処理、（３）システムエージェントが経路リストの移動経路情報を追加または更新する処理について、それぞれ図８，図９，図１０のフローチャートを参照して明する。
【００９４】
（１）モバイルエージェントを受信したシステムエージェントの概略処理について
モバイルエージェント１０を受信した通信機器２のシステムエージェント２０は、メモリ領域に記憶したモバイルエージェント１０を実行して、目的処理が達成したか否かを判断し（ステップ１１０）、目的処理が達成したと判断した場合には（ステップ１１０；Ｙ）、モバイルエージェント１０を次の通信機器２に移動させずに、エージェントサーバ１に戻して処理を終了する一方、目的処理が達成していないと判断した場合には（ステップ１１０；Ｎ）、許可回数がすべて０であるか否かを判断する（ステップ１２０）。
【００９５】
システムエージェント２０は、経路リスト１０１のすべての移動経路情報における許可回数がすべて０であると判断した場合には（ステップ１２０；Ｙ）、目的処理を再設定させるため、エージェントサーバ１に戻し、処理を終了する一方、許可回数がすべて０でないと判断した場合には（ステップ１２０；Ｎ）、経路リスト１０１に基づき、モバイルエージェント１０を次の通信機器に移動させ（ステップ１３０）、処理をステップ１１０に戻し、上述したと同様な処理を継続する。
【００９６】
（２）システムエージェントが経路リストから移動経路情報を削除する処理
モバイルエージェント１０を受信した通信機器２のシステムエージェント２０は、モバイルエージェント１０を復元するに際し、メモリ領域に記憶されている、先に受信したモバイルエージェント１０を読み出し、この読み出したモバイルエージェント１０にある経路リスト１０１に、自己のノード番号があるか否かを判断する（ステップ２１０）。
【００９７】
システムエージェント２０は、経路リスト１０１に自己のノード番号がないと判断した場合には（ステップ２１０；Ｎ）、移動経路情報の削除処理を終了する一方、自己のノード番号があると判断した場合には（ステップ２１０；Ｙ）、該当するノードの許可回数から１減算した値を、新たな許可回数とする（ステップ２２０）。
【００９８】
システムエージェント２０は、新たな許可回数が０以下になった場合か否かを判断し（ステップ２３０）、判断した結果、新たな許可回数が０以下になっていないと判断した場合には（ステップ２３０；Ｎ）、移動経路情報の削除処理を終了する一方、新たな許可回数が０以下になっていると判断した場合には（ステップ２３０；Ｙ）、該当する移動経路情報を削除し（ステップ２４０）、移動経路情報の削除処理を終了する。
【００９９】
（３）システムエージェントが経路リストの移動経路情報を追加または更新する処理について
モバイルエージェント１０を受信した通信機器２のシステムエージェント２０は、モバイルエージェント１０を復元するに際し、メモリ領域に記憶されている、先に受信したモバイルエージェント１０を読み出し、この読み出したモバイルエージェント１０にある経路リスト１０１に、追加するノードがあるか否かを判断する（ステップ３１０）。
【０１００】
システムエージェント２０は、追加するノードがある場合には（ステップ３１０；Ｙ）、追加するノードの移動経路情報を経路リスト１０１に追加し、移動経路情報を追加または更新する処理を終了する。
【０１０１】
一方、システムエージェント２０は、追加するノードがないと判断した場合には（ステップ３１０；Ｎ）、移動経路情報を追加または更新する処理を終了する一方、更新するノードがあると判断した場合には（ステップ３２０；Ｙ）、該当するノードの許可回数から１加算した値を新たな許可回数とし（ステップ３３０）、移動経路情報を追加または更新する処理を終了する。
【０１０２】
次に、この実施形態のエージェントシステムの動作を、通信機器がモバイルエージェントを復元し、この復元されたモバイルエージェントが他の通信機器に移動し、移動した通信機器内のメモリ領域に記憶させるまでの処理動作を、図１１に基づき説明する。
【０１０３】
＃ｉの通信機器２のシステムエージェント２０は、モバイルエージェント１０から制御部を介して移動要求を受けると、すなわち、制御部から所定のエージェントを復元するように復元指示を受けると（図１１中の（１）参照）、エージェント復元部２０１がフラグ格納部２０２に“ＯＮ”（＝１）のフラグをセットさせ、資源をロックする（図１１中の（２）参照）。
【０１０４】
続いて、エージェント復元部２０１は、メモリ領域に記憶されている、先に受信したモバイルエージェント１０を読み出し、所定の経路リストを有するモバイルエージェントを形成し、これをメモリ領域に記憶するとともに、先に受信したモバイルエージェント１０の処理状況を監視させる指示を資源管理部２０５に出力する（図１１中の（３）参照）。
【０１０５】
すると、資源管理部２０５は、先に受信したモバイルエージェント１０の処理状況を監視し（図１１中の（４）参照）、先に受信したモバイルエージェント１０が所定箇所の処理を実行すると、エージェント間通信部２０６を介して送信先の通信機器２に対して、復元したモバイルエージェント１０のメモリに占めるサイズを通知し、このサイズ分のメモリ領域を確保させる指示（資源予約）を出力する（図１１中（５），（６）参照）。
【０１０６】
送信先の＃ｋの通信機器２がエージェント間通信部２０６を介して所定サイズ分のメモリ領域を確保するように指示を受けると、そのエージェント復元部２０１は、メモリ領域が確保できたきには、フラグ格納部２０２に格納されているフラグを“ＯＮ”にセットし（図１１中の（８）参照）、エージェント間通信部２０６を介して＃ｉの通信機器における資源管理部２０５に資源予約が完了した旨を通知する（図１１中の（９），ａ，ｂ参照）。
【０１０７】
一方、送信先の＃ｋの通信機器２におけるエージェント復元部２０１は、メモリ領域が確保できない場合には、フラグ格納部２０２に格納されているフラグを“ＯＦＦ”のままにセットしておき、エージェント間通信部２０６を介して＃ｉの通信機器における資源管理部２０５に対して、資源予約ができなかった旨を通知する（図１１中の（９），ａ，ｂ参照）。
【０１０８】
資源管理部２０５は、資源予約が完了した旨を受けると、その旨をエージェント復元部２０１に通知する（図１１中のｃ参照）。
【０１０９】
すると、エージェント復元部２０１は、すでに生成してメモリ領域に記憶されているモバイルエージェント１０を読み出し（図１１中のｄ参照）、これをＭＰＵコード変換部２０３に出力する（図１１中のｅ参照）。
【０１１０】
ＭＰＵコード変換部２０３は、エージェント復元部２０１からモバイルエージェント１０を受けると（図１１中のｅ参照）、受けたモバイルエージェント１０をＭＰＵコードに変換し、このＭＰＵコードに変換したモバイルエージェント１０を中間コード変換部２０４に出力する（図１１中のｆ参照）。
【０１１１】
中間コード変換部２０４は、ＭＰＵコード変換部２０３から受けたＭＰＵコードに変換されたモバイルエージェント１０を中間コードに変換し、送信先の＃ｋの通信機器２に送信する（図１１中のｇ，ｈ参照）。
【０１１２】
＃ｉの通信機器から中間コードからなるモバイルエージェント１０を受信した＃ｋの通信機器では、中間コード変換部２０４が、送信されてきた中間コードからなるモバイルエージェント１０をＭＰＵコード変換部２０３に出力する（図１１中のｌ，ｍ参照）。
【０１１３】
ＭＰＵコード変換部２０３は、中間コードに変換されたモバイルエージェント１０を中間コード変換部２０４から受けると（図１１中のｍ参照）、中間コードのモバイルエージェント１０をＭＰＵコードのモバイルエージェント１０に変換し、これをエージェント復元部２０１に出力する（図１１中のｎ参照）。
【０１１４】
エージェント復元部２０１は、ＭＰＵコードに変換されたモバイルエージェント１０をＭＰＵコード変換部２０３から受けると（図１１中のｎ参照）、元のモバイルエージェントに変換してメモリ領域に記憶する（図１１中のｏ参照）。
【０１１５】
その後、エージェント復元部２０１は、自己の資源を開放すべくフラグ格納部２０２に“ＯＦＦ”をセットさせる指示を出力し（図１１中のｐ参照）、制御部に実行権を移行させる。
【０１１６】
なお、エージェントサーバ１がモバイルエージェントを生成し、この生成されたモバイルエージェント１０が他の通信機器に移動し、移動した通信機器内のメモリ領域に記憶させるまでの処理動作については、上述した復元したモバイルエージェント１０の場合と同様なので、その説明を省略する。
【０１１７】
この実施形態のエージェントシステムでは、通信機器２が、先に受信したモバイルエージェント１０から、必要に応じて移動経路情報を変更したエージェントを復元するため、目的地を再度設定する必要性がなくなる。
【０１１８】
また、通信機器２が、復元したモバイルエージェント１０の送信を予定している通信機器２に対して、この復元したモバイルエージェント１０を記憶するメモリ領域を予約するため、復元したエージェントを確実に送信先に送ることができる。
【０１１９】
さらに、この異なる処理系の通信機器２がともに処理できる中間コードに変換して送信するため、異なる処理系で構成さた通信機器２間にモバイルエージェント１０を送信することができる。
【０１２０】
また、本発明では、他の通信機器２にエージェントを送信するに際してモバイルエージェント１０を復元するに際し、復元したモバイルエージェント１０に経路収集情報を有しているため、エージェントサーバから目的地の通信機器２に到達するまでの経路収集情報を得ることができる。
【０１２１】
従って、エージェントサーバ１から複数のモバイルエージェント１０を同時に目的地に送信することで、最も短時間に目的地に到達したモバイルエージェント１０の経路収集情報を調べることでができる。
【０１２２】
＜第２実施形態＞
図１２は通信機器２が復元したモバイルエージェントの構成を示すブロック図である。
【０１２３】
第１実施形態のエージェントシステムでは、システムエージェント２０が、上述したような経路リスト１０１および目的処理からなるモバイルエージェント１０を復元するような構成になっているが、この第２実施形態のエージェントシステムでは、システムエージェント２０が、図１２に示すように、さらに、通過した通信機器２のノードの履歴を示す経路収集リスト１０２を設けたモバイルエージェント１０を復元するような構成になっている。
【０１２４】
このように、各通信機器２のシステムエージェント２０により、モバイルエージェント１０内に経路収集リスト１０２を設けたことにより、最短時間で目的地の通信機器２の到達する経路を取得することができる。
【０１２５】
なお、各ノードでのシステムエージェント２０の処理能力等の違いにより、モバイルエージェント１０の目的地に到達する時間が異なるため、モバイルエージェント１０が移動する通信機器２のノード数が少ない経路を、必ずしも最短経路とすることができないことはいうまでもない。
【０１２６】
以下、モバイルエージェントの最短経路を取得する処理を、図１３を参照して説明する。
【０１２７】
例えば、エージェントサーバ１が、（１）経路リスト１０１において経路リスト１０１に移動経路情報としてＡ，Ｄ，Ｆおよび目的地としてのＨのノードを有し、受信したシステムエージェント２０に所定の処理（タスク）を実行させる＃１の処理を実行させるモバイルエージェント１０と、（２）経路リスト１０１に移動経路情報としてＢ，Ｄ，ＦおよびＨのノードを有する＃２のモバイルエージェント１０と、（３）経路リスト１０１に移動経路情報としてＣ，Ｅ，ＧおよびＨのノードを有する＃３のモバイルエージェント１０とをほぼ同時に送信したとする。
【０１２８】
ここで、仮に＃２のモバイルエージェント１０が最初にＨのノードに到達したとすると、Ｈのノードの通信機器２中のシステムエージェント２０は、フラグ格納部２０２に有する自己が有する経路選択終了フラグをＯＮにし、経路収集リスト１０２に自己のノード（経路収集情報）を有するモバイルエージェント１０を復元し、これをエージェントサーバ１に戻す。
【０１２９】
エージェントサーバ１は、戻ってきたモバイルエージェント２０の経路収集リスト１０２を参照することにより、目的地に到達する最短経路を知り、このモバイルエージェント１０を消滅させる。
【０１３０】
以後、エージェントサーバ１は、モバイルエージェント１０の送信先がＨノードの場合には、先に取得した経路終収集リスト１０２に基づいて経路リスト１０１を生成する。
【０１３１】
ところで、Ｈのノードのシステムエージェント２０は、その後、他のモバイルエージェント１０を受信すると、経路選択終了フラグがＯＮになっているのを確認したのち、到達したモバイルエージェント１０を消滅し、エージェントサーバ１に戻さないようにしている。
【図面の簡単な説明】
【０１３２】
【図１】本発明に係る第１実施形態のエージェントシステムの構成を示すブロック図。
【図２】図１中のエージェントサーバに有するシステムエージェントの構成を示すブロック図。
【図３】図２中のモバイルエージェントに有する経路リストの構成を示すブロック図。
【図４】モバイルエージェントの移動経路についての説明図。
【図５】図１中の通信機器に有するシステムエージェントの構成を示すブロック図。
【図６】経路リスト中の移動経路情報を削除する内容を説明する説明図。
【図７】経路リスト中の移動経路情報を追加・変更する内容を説明する説明図。
【図８】通信機器のシステムエージェントの概略処理を示すフローチャート。
【図９】経路リスト中の移動経路情報を削除する処理を示すフローチャート。
【図１０】経路リスト中の移動経路情報を追加・変更する処理を示すフローチャート。
【図１１】第１実施形態のエージェントシステムの処理動作を説明する説明図。
【図１２】第２実施形態のエージェントシステムにより生成・復元されたモバイルエージェントの構成を示すブロック図。
【図１３】エージェントサーバで生成されたモバイルエージェントの目的地に到達する最短経路を説明する説明図。
【図１４】従来のエージェントシステムの概略構成図。
【図１５】従来のエージェントシステムの移動状態を説明するフローチャート。
【図１６】従来のエージェントシステムの移動状態を説明するフローチャート。
【図１７】異なる処理系の通信機器間では、送信されてきたエージェントを実行することできないことを説明する説明図。
【符号の説明】
【０１３３】
１        エージェントサーバ
１０      モバイルエージェント
１０１    経路リスト
１０２    経路収集リスト
２        通信機器
２０      システムエージェント
２０１    エージェント生成部、エージェント復元部
２０２    フラグ格納部
２０３    ＭＰＵコード変換部
２０４    中間コード変換部
２０５    資源管理部
２０６    エージェント間通信部
３        記憶装置
４        通信回線
【図１】
2005004793.tif 000003
【図２】
2005004793.tif 000004
【図３】
2005004793.tif 000005
【図４】
2005004793.tif 000006
【図５】
2005004793.tif 000007
【図６】
2005004793.tif 000008
【図７】
2005004793.tif 000009
【図８】
2005004793.tif 000010
【図９】
2005004793.tif 000011
【図１０】
2005004793.tif 000012
【図１１】
2005004793.tif 000013
【図１２】
2005004793.tif 000014
【図１３】
2005004793.tif 000015
【図１４】
2005004793.tif 000016
【図１５】
2005004793.tif 000017
【図１６】
2005004793.tif 000018
【図１７】
2005004793.tif 000019