(57)【要約】【課題】計算機やネットワークのリソース制限を考慮することなく、移動エージェントシステム及びその応用システムの構築を可能とすること。【解決手段】ネットワークを介して通信可能な複数の計算機間を移動しながら所定の処理を実行する移動エージェントシステムにおいて、前記各計算機は、エージェントを解釈し、実行するエージェント実行手段と、エージェントの状態を管理する分散配置スケジューラとを備え、上記分散配置スケジューラは、所定の条件を満たした場合に前記エージェントを一時的に前記エージェント実行手段から退避先に転送し、エージェントの実行再開前に退避先から前記エージェント実行手段へ戻して、退避前の状態から当該エージェントの実行を再開する。【選択図】　図１
2004070428.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して通信可能な複数の計算機間を移動しながら所定の処理を実行する移動エージェントシステムにおいて、
前記各計算機は、
エージェントを解釈し、実行するエージェント実行手段と、
エージェントの状態を管理する分散配置スケジューラとを備え、
上記分散配置スケジューラは、所定の条件を満たした場合に前記エージェントを一時的に前記エージェント実行手段から退避先に転送し、エージェントの実行再開前に退避先から前記エージェント実行手段へ戻して、退避前の状態から当該エージェントの実行を再開することを特徴とする移動エージェントシステム。
【請求項２】
請求項１に記載の移動エージェントシステムにおいて、前記分散配置スケジューラは、退避先を選択する際にネットワーク状態と計算機状態を基に、複数の退避先のうち１つの退避先を選択することを特徴とする移動エージェントシステム。
【請求項３】
請求項１又は請求項２に記載の移動エージェントシステムにおいて、前記分散配置スケジューラは、退避先として当該計算機上の補助記憶装置、ネットワークで接続された他の計算機上のエージェント実行手段、又はネットワークで接続された他の計算機上の補助記憶装置のいずれかを選択することを特徴とする移動エージェントシステム。
【請求項４】
請求項２又は請求項３に記載の移動エージェントシステムにおいて、前記分散配置スケジューラは、退避先の記憶容量の残量を調査して、退避先がエージェントを受け入れ可能か判定して、前記受け入れ可能な退避先との通信速度が最も速い退避先を退避先に選定することを特徴とする移動エージェントシステム。
【請求項５】
請求項１から請求項４のいずれか１項に記載の移動エージェントシステムにおいて、前記分散配置スケジューラは、前記エージェントを圧縮して退避することを特徴とする移動エージェントシステム。
【請求項６】
請求項１から請求項５のいずれか１項に記載の移動エージェントシステムにおいて、前記分散配置スケジューラによって、エージェント実行手段によって一定期間の間、エージェントが不在であることが検出された際には、当該エージェント実行手段を搭載した計算機が停止モードあるいは低消費電力モードに切り替えられることを特徴とした移動エージェントシステム。
【請求項７】
ネットワークを経由して対話的にアクセスする必要があるような機能であるＷｅｂサーバ機能あるいはｆｔｐサーバ機能を含むような機能を移動可能なモジュールとして実現した移動エージェントシステムにおいて、
エージェントが実行される計算機上のエージェント実行手段に存在するエージェントが処理を遂行する際に必要とする機能を移動可能なプログラムモジュールあるいは移動可能なプログラムモジュールのコピーをあらかじめ、当該計算機上のエージェント実行手段に移動する手段を備え、
エージェントが処理を遂行する際に、当該計算機に移動したプログラムモジュールのコピーを用いて当該計算機上で処理の遂行を可能とすることを特徴とする移動エージェントシステム。
【請求項８】
請求項１から請求項７に記載の移動エージェントシステムを記録した記録媒体。
【請求項９】
ネットワークを介して通信可能な複数の計算機間を移動しながら所定の処理を実行する移動エージェントシステムに適用されるコンピュータで実行可能なプログラムにおいて、
エージェントを解釈し、実行する機能と、
エージェントの状態を管理し、所定の条件を満たした場合に前記エージェントを一時的に前記エージェント実行手段から退避先に転送し、エージェントの実行再開前に退避先から前記エージェント実行手段へ戻して、退避前の状態から当該エージェントの実行を再開する機能とを備えたことを特徴とするコンピュータで実行可能なプログラム。
【請求項１０】
請求項９に記載のプログラムにおいて、退避先を選択する際にネットワーク状態と計算機状態を基に、複数の退避先のうち１つの退避先が選択されることを特徴とするコンピュータで実行可能なプログラム。
【請求項１１】
請求項１０に記載のプログラムにおいて、退避先の記憶容量の残量を調査して、退避先がエージェントを受け入れ可能か判定して、前記受け入れ可能な退避先との通信速度が最も速い退避先を退避先に選定することを特徴とするコンピュータで実行可能なプログラム。
【請求項１２】
請求項９から請求項１１のいずれか１項に記載のプログラムにおいて、前記エージェントを圧縮して退避することを特徴とするコンピュータで実行可能なプログラム。
【請求項１３】
請求項９から請求項１２のいずれか１項に記載のプログラムにおいて、エージェント実行手段によって一定期間の間、エージェントが不在であることが検出された際には、当該エージェント実行手段を搭載した計算機を停止モードあるいは低消費電力モードに切り替えることを特徴としたコンピュータで実行可能なプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークで接続された複数の計算機上で動作する移動エージェントシステムおよびその応用システムに関する。
【０００２】
【従来の技術】
一般に、移動エージェントシステムは、実際に移動先での処理方法や移動手順を記述したプログラムモジュールの形で記述されるエージェントと、各計算機上に配置され、エージェントの移動や実行を管理するエージェント実行手段とに分けることができる。移動エージェントシステムの基本処理は以下の通りである。エージェント実行手段はエージェントに記述された処理方法に従い処理を実行する。そして、処理が終了したら、エージェントが、移動手順に従い他の計算機上のエージェント実行手段へ転送される。
【０００３】
ところが実際には、移動先計算機での使用可能なＣＰＵや主記憶などの計算機リソースや、ネットワークの伝送速度のような通信リソースなどの制約により、エージェントに記述された内容の通りに処理を実行できない場合もある。
【０００４】
現状では、エージェント作成者がエージェント内の処理方法記述の際に、異常時の対応を事前に検討し、対応方法を記述する方法が一般的である。
【０００５】
また、上記の制約へエージェントを適応させるために、移動エージェントシステム全体として考慮した手法が特開平１０−３０１８８３号公報にて提案されている。
【０００６】
特開平１０−３０１８８３号公報では、エージェント処理時のＣＰＵ処理時間や主記憶の使用量などを考慮して、エージェント管理手段に転送されてきたエージェントを一旦処理待ちキューに蓄積することにより、計算機の負荷以上のエージェントの実行を防止している。
【０００７】
【発明が解決しようとする課題】
しかし、特開平１０−３０１８８３号公報に記載された方法では、日報処理や月報処理など定周期実行する常駐型エージェントを実行する場合に、実行させたいエージェントがキューイングされてしまい、実行順序の関係で実行できなくなる可能性がある。
【０００８】
本発明は、計算機やネットワークのリソース制限を考慮することなく、移動エージェントシステム及びその応用システムの構築を可能とすることを目的とする。
【０００９】
【課題を解決するための手段】
本発明は、上記の課題を解決するために次のような手段を講じた。
【００１０】
本発明の一局面に係る移動エージェントシステムは、ネットワークを介して通信可能な複数の計算機間を移動しながら所定の処理を実行する移動エージェントシステムであって、前記各計算機は、エージェントを解釈し、実行するエージェント実行手段と、エージェントの状態を管理する分散配置スケジューラとを備え、上記分散配置スケジューラは、所定の条件を満たした場合に前記エージェントを一時的に前記エージェント実行手段から退避先に転送し、エージェントの実行再開前に退避先から前記エージェント実行手段へ戻して、退避前の状態から当該エージェントの実行を再開することを特徴とする。
【００１１】
すなわち、１つのエージェント実行手段上に複数のエージェントが存在している状態で、不要なエージェント、すなわち現時点で実行されておらず、すぐには起動しないエージェント、を一時的に退避させる仕組みを導入し、待機中のエージェントなどで記憶領域の使用量を浪費させないようにしている。
【００１２】
本発明の他の局面に係る移動エージェントシステムは、ネットワークを経由して対話的にアクセスする必要があるような機能であるＷｅｂサーバ機能あるいはｆｔｐサーバ機能を含むような機能を移動可能なモジュールとして実現した移動エージェントシステムであって、エージェントが実行される計算機上のエージェント実行手段に存在するエージェントが処理を遂行する際に必要とする機能を移動可能なプログラムモジュールあるいは移動可能なプログラムモジュールのコピーをあらかじめ、当該計算機上のエージェント実行手段に移動する手段を備え、エージェントが処理を遂行する際に、当該計算機に移動したプログラムモジュールのコピーを用いて当該計算機上で処理の遂行を可能とすることを特徴とする。
【００１３】
本発明の一局面に係るプログラムは、ネットワークを介して通信可能な複数の計算機間を移動しながら所定の処理を実行する移動エージェントシステムに適用されるコンピュータで実行可能なプログラムであって、エージェントを解釈し、実行する機能と、エージェントの状態を管理し、所定の条件を満たした場合に前記エージェントを一時的に前記エージェント実行手段から退避先に転送し、エージェントの実行再開前に退避先から前記エージェント実行手段へ戻して、退避前の状態から当該エージェントの実行を再開する機能とを備えたことを特徴とする。
【００１４】
【発明の実施の形態】
図面を参照して本発明の実施の形態を説明する。
【００１５】
（第１の実施形態）
本発明の第１の実施形態を説明する。
図１は移動エージェントシステムの全体構成図である。図１に示すように、本発明に係る移動エージェントシステムでは、複数の計算機１がネットワーク６を介して接続されている。計算機１は、エージェント実行手段２と、エージェント５の配置を決定する分散配置スケジューラ３と、補助記憶装置４とを有する。上記のような構成において、エージェント５が計算機１を移動しながら、各計算機１のエージェント実行手段２によって実行される。なお、各計算機１では、通常複数のエージェント５が逐次実行可能となっている。また、複数の計算機１のそれぞれの計算機１の構成は同じであるので、以下、特記しない限り、１つの計算機１を代表として取り上げて、１つの計算機１にのみについて説明するものとする。
【００１６】
図２は、エージェント５の構成を示す図である。エージェント５は処理内容５１および移動手順５２が記述されている。エージェント実行手段２はこのエージェントの記述内容に基づいて処理を実行し、処理を終了したら当該エージェントを他の計算機へ転送する。図２に記載の処理を簡単に説明する。図２に記載の内容は、当該エージェントが、計算機Ａにおいて、２月５日の毎正時（０：００、１：００、・・・、２３：００）のデータを収集する処理を行い、その終了後に計算機Ｂへ移動する。そして、計算機Ｂにおいて、２月６日の毎正時のデータを収集する処理を行い、その終了後に計算機Ｃへ移動する。
【００１７】
図３は、分散配置スケジューラ３の構成を示す図である。
分散配置スケジューラ３は、エージェント実行手段２上に存在するエージェント５の状態を示すエージェント状態テーブル３１と自身の属する計算機のリソーステーブル３２とを管理する。エージェント状態テーブル３１はエージェント実行手段２上に存在する複数のエージェントの状態を管理している。「次回実行予定時刻」は当該エージェントが実行される予定時刻を表わす。「実行予定計算機」は、当該エージェントが実行される計算機を示し、例えば、当該エージェントが他の計算機の分散配置スケジューラにより一時退避されたエージェントである場合には、転送元の計算機の名称を表わしている。「記憶領域使用量」は当該エージェントがエージェント実行手段２上で使用する記憶領域のサイズを表わす。「エージェント状態」は当該エージェントの現在の状態を表わし、エージェント実行手段２上にエージェントが存在する場合には、「動作中」となり、補助記憶装置４上に退避している場合には「補助記憶退避」となる。エージェントが新規追加された場合には、エージェント状態テーブル３１に、追加されたエージェントに関する項目が追加され、リソーステーブル３２の自計算機の使用可能主記憶容量が追加されたエージェントの記憶領域使用量だけ消費されて、減少することとなる。リソーステーブル３２は、ネットワーク６上に接続された計算機の使用可能主記憶容量、使用可能補助記憶容量、自身の計算機と対象計算機間の通信速度を保持しており、リソーステーブル３２の内容は定期的に分散配置スケジューラ３間で情報交換され、最新の状態を保持する。
【００１８】
次に、他の計算機よりエージェント５が転送されてきた際の分散配置スケジューラ３の動作を説明する。
分散配置スケジューラ３は、新規エージェントの状態テーブル３３を作成し、エージェント状態テーブル３１およびリソーステーブル３２と比較する。そして、新規エージェントの状態テーブル３３の項目「記憶領域使用量（＝１４）」とエージェント状態テーブル３１の項目「記憶領域使用量（＝１４＋２５＋４０＋１３）」との和（＝１０６）がリソーステーブル３２の項目「使用可能記憶領域（＝１００）」を超えた場合に、分散配置スケジューラ３は新規エージェントあるいはエージェント状態テーブル３１に登録されているエージェントのいずれかを退避エージェントと決定し、退避エージェントを一時退避する。
【００１９】
分散配置スケジューラ３による退避エージェントの決定方法は以下の通りである。エージェント▲３▼に注目すると、エージェント▲３▼は次回実行予定時刻まで余裕があり、さらにエージェント▲３▼が退避することによりエージェント全体の記憶領域使用量（＝１４＋１４＋２５＋１３＝７６）がリソーステーブル３２の項目「使用可能記憶領域（＝１００）」の範囲内に収まる。従って、エージェント▲３▼の退避が適当と判断する。
【００２０】
次に分散配置スケジューラ３による退避処理について説明する。上記のように退避エージェントが決定すると、エージェント状態テーブル３１から退避エージェントであるエージェント▲３▼が削除され、新規エージェントがテーブルに追加される。さらに、新規エージェントの記憶領域使用量がエージェント▲３▼の記憶領域使用量より多い場合には、（新規エージェントの記憶領域使用量−エージェント▲３▼の記憶領域使用量）分の記憶容量を消費したとして記憶領域使用量を減少し、ネットワーク接続された計算機１のすべてのリソーステーブル３２を更新する。退避先が自計算機１の補助記憶装置４であれば、エージェント状態を「動作中」から「補助記憶退避」に更新する。退避先が他の計算機１のエージェント実行手段２であれば、退避先の計算機１の分散配置スケジューラ３で管理しているエージェント状態テーブル３１に退避されたエージェント▲３▼を追加し、退避先のエージェント状態テーブル３１内の実行予定計算機を転送元の計算機名称に設定する。退避先が他の計算機の補助記憶装置４の場合には、上記エージェント▲３▼の追加後に、エージェント状態を「動作中」から「補助記憶退避」に変更する。
【００２１】
次に、分散配置スケジューラ３による退避されたエージェントを戻すための引き戻し処理について説明する。分散配置スケジューラ３はエージェント状態テーブルを一定の周期で監視している。そして、実行予定時刻に近い次回実行予定時刻を有するエージェントが存在し、かつ当該エージェントが補助記憶装置４内に退避されているのであれば補助記憶装置４からエージェント実行手段２へ戻す処理を行う。この際、記憶領域の使用量が所定量以上になるようであれば、エージェント実行手段２上に存在するエージェントの退避が必要であると判断されて、上記と同様に分散配置スケジューラ３により退避に適当であると判断されたエージェントの退避処理を行う。また、エージェント実行手段２上に存在し、かつエージェント状態テーブル３１の項目で「自身」が指定されていないエージェントについては、実行予定計算機へ戻して、戻された側の計算機で処理を行うことになるが、エージェント実行手段２上に存在するエージェントの退避が必要な場合には、上記と同様に戻された側の計算機の分散配置スケジューラ３により退避処理が行われる。
【００２２】
本第１の実施形態によれば、状況に応じてエージェントの退避と引き戻しを行うことにより、ネットワークに接続された計算機でリソースの豊富な計算機を一時的に使用することが可能となる。これにより計算機のリソースに制約がある場合においてもエージェント応用システムの製作者がシステム全体のリソースの制約を意識することなくエージェント応用システムを製作することが可能となる。
【００２３】
（第２の実施形態）
次に、分散配置スケジューラ３による退避先の決定方法について図４を参照して説明する。退避先の候補は、例えば、（１）自計算機の補助記憶装置、（２）他計算機の補助記憶装置、または（３）他計算機のエージェント実行手段２のいずれかである。分散配置スケジューラ３はリソーステーブル３２を参照して、退避エージェントとして決定されたエージェント▲３▼の記憶領域使用量が、次のいずれか、すなわち、自計算機の補助記憶容量または他計算機の補助記憶容量または他計算機の主記憶容量のいずれか、より少ない場合には、そのいずれかを退避先として選択する。図４では計算機Ａ〜計算機Ｄまでの４つの計算機が退避先として選択可能であることを示している。また、退避先が複数選択可能な場合には計算機間の通信速度を参照して、通信速度の高速な計算機を選択する。図４では、自計算機と計算機Ｂとの通信速度が最速であることから、計算機Ｂを退避先として選択する。
【００２４】
本第２の実施形態によれば、退避先を選択する際にネットワークに接続された計算機の状態および通信速度などネットワークの状態を基に最適な退避先を選択することが可能となる。
【００２５】
（第３の実施形態）
本発明の第３の実施形態について図５を参照して説明する。なお、他の構成は、第１の実施形態と同じであるので、図示及び説明を省略する。図５に示すように、第３の実施形態では、分散配置スケジューラ３と補助記憶装置４との間にデータ圧縮機構３４とデータ伸張機構３５が配置されている。
分散配置スケジューラ３によって退避処理の際の退避先として補助記憶装置４が選択された場合には、退避時にデータ圧縮機構３４により退避するエージェントをデータ圧縮して補助記憶装置４への記憶する。そして、退避したエージェントを呼び出す（呼び戻す）場合には、データ伸張機構３６で圧縮されたエージェントを伸張して、分散配置スケジューラ３に送り出す。なお、データの圧縮・伸張は自計算機の補助記憶装置４への退避のみならず、他計算機のエージェント実行手段或いは他計算機の補助記憶手段への退避の際にも適用可能である。
【００２６】
本第３の実施形態によれば、現時点で使用しないエージェントを退避する際にエージェントそのものを圧縮してから退避するようにしているので、さらに効率のよいリソースの使用が可能となる。
【００２７】
（第４の実施形態）
本発明の第４の実施形態について図３および図６を参照して説明する。
図６において、計算機１は、内部タイマ８１と、計算機１の電力消費を抑えるためのモード切替機構、すなわち電力消費モード切替手段８２とを備えている。そして、電力消費モード切替手段８２により、計算機１の電力消費モードを、低消費電力モードと、通常モードとを切り替えることが可能となっている。分散配置スケジューラ３はエージェント状態テーブル３１が空になると、内部タイマ８１に計時の指示を行い、一定期間が経過すると、電力消費モード切替手段８２に、モードを低消費電力モードに切り替えるように指示する。そして、低消費電力モードの状態でエージェント状態テーブル３１に項目が追加された場合には、分散配置スケジューラ３は、電力消費モード切替手段８２に通常モードに切り替えるように指示する。これにより、モードが元の状態に復元される。なお、この場合において、低消費電力モードでなく、更に、消費電力を抑えるために停止モード（或いはスタンドバイモード）としても良い。
【００２８】
本第４の実施形態によれば、エージェントの存在しない計算機のモードを低消費電力モードとして、その消費電力を抑えることが可能となるので、電力消費効率のよいシステム運用が可能となる。
【００２９】
（第５の実施形態）
本発明の第５の実施形態について図７及び図８を参照して説明する。第５の実施形態は、ｗｅｂサーバ機能を必要に応じて、コピーして使用するための実施形態である。
本来Ｗｅｂサーバはネットワーク経由で対話的にアクセスする必要がある機能として実現する機能であり、例えば図７のＷｅｂサーバ機能７１のようにエージェント実行手段２上で動作するエージェントとして実現することができる。また、図８に示すように、エージェント状態テーブル３１Ａはエージェント実行手段２上に存在する複数のエージェントの状態を管理しており、図１のエージェント状態テーブル３１に項目として「必要機能」が追加された構成を備えている。この「必要機能」の項目はエージェント５が実行時にネットワーク６経由でアクセスする可能性のある機能を示しており、本発明の第１の実施形態と同様に、エージェント５がエージェント実行手段２に移動してきた際に作成される。図８に示すエージェント状態テーブル３１Ａでは、エージェント５の処理遂行時にＷｅｂサーバ機能７１が必要であることを示している。具体的な動作は、以下の通りである。
【００３０】
エージェント５がエージェント実行手段２に移動すると、エージェント状態テーブル３１Ａが作成される。分散配置スケジューラ３は、更新されたエージェント状態テーブル３１Ａを参照して、Ｗｅｂサーバ機能７１が必要であることを検出する。エージェント５の移動と同時に分散配置スケジューラ３は、Ｗｅｂサーバ機能７１は当該エージェント実行手段２上に移動するか、または、Ｗｅｂサーバ機能７１のコピーを生成し、このコピーを当該エージェント実行手段２上に移動する。
【００３１】
エージェント５はネットワーク経由でＷｅｂサーバ機能７１にアクセスするのと同じように、ローカル計算機上に移動したＷｅｂサーバ機能７１にアクセスする。
【００３２】
本第５の実施形態によれば、エージェントの移動時に自身に処理遂行に関連する機能をあらかじめローカル計算機上に用意することが可能となる。これによりネットワークを経由しなくてもローカル計算機上にある機能のみでエージェントの処理を完結することができ、電話回線接続時のようにネットワーク経由での連携が難しい場合においてもエージェントの実現が可能となる。
【００３３】
上記の各実施形態から下記の発明が抽出される。
本発明の一局面に係る移動エージェントシステムは、ネットワークを介して通信可能な複数の計算機間を移動しながら所定の処理を実行する移動エージェントシステムであって、前記各計算機は、エージェントを解釈し、実行するエージェント実行手段と、エージェントの状態を管理する分散配置スケジューラとを備え、上記分散配置スケジューラは、所定の条件を満たした場合に前記エージェントを一時的に前記エージェント実行手段から退避先に転送し、エージェントの実行再開前に退避先から前記エージェント実行手段へ戻して、退避前の状態から当該エージェントの実行を再開することを特徴とする。
【００３４】
上記の移動エージェントシステムの好ましい実施態様は以下の通りである。なお、以下の各実施態様は、単独で適用しても良いし、適宜組み合わせて適用しても良い。
【００３５】
（１）前記分散配置スケジューラは、退避先を選択する際にネットワーク状態と計算機状態を基に、複数の退避先のうち１つの退避先を選択すること。
【００３６】
（２）前記分散配置スケジューラは、退避先として当該計算機上の補助記憶装置、ネットワークで接続された他の計算機上のエージェント実行手段、又はネットワークで接続された他の計算機上の補助記憶装置のいずれかを選択すること。
【００３７】
（３）　前記分散配置スケジューラは、退避先の記憶容量の残量を調査して、退避先がエージェントを受け入れ可能か判定して、前記受け入れ可能な退避先との通信速度が最も速い退避先を退避先に選定すること。
【００３８】
（４）　前記分散配置スケジューラは、前記エージェントを圧縮して退避すること。
【００３９】
（５）　前記分散配置スケジューラによって、エージェント実行手段によって一定期間の間、エージェントが不在であることが検出された際には、当該エージェント実行手段を搭載した計算機が停止モードあるいは低消費電力モードに切り替えられること。
【００４０】
本発明の他の局面に係る移動エージェントシステムは、ネットワークを経由して対話的にアクセスする必要があるような機能であるＷｅｂサーバ機能あるいはｆｔｐサーバ機能を含むような機能を移動可能なモジュールとして実現した移動エージェントシステムであって、エージェントが実行される計算機上のエージェント実行手段に存在するエージェントが処理を遂行する際に必要とする機能を移動可能なプログラムモジュールあるいは移動可能なプログラムモジュールのコピーをあらかじめ、当該計算機上のエージェント実行手段に移動する手段を備え、エージェントが処理を遂行する際に、当該計算機に移動したプログラムモジュールのコピーを用いて当該計算機上で処理の遂行を可能とすることを特徴とする。
【００４１】
上記の移動エージェントシステムは、当該移動エージェントシステムを記録した記録媒体として本発明に含めることができる。
【００４２】
本発明の一局面に係るプログラムは、ネットワークを介して通信可能な複数の計算機間を移動しながら所定の処理を実行する移動エージェントシステムに適用されるコンピュータで実行可能なプログラムであって、エージェントを解釈し、実行する機能と、エージェントの状態を管理し、所定の条件を満たした場合に前記エージェントを一時的に前記エージェント実行手段から退避先に転送し、エージェントの実行再開前に退避先から前記エージェント実行手段へ戻して、退避前の状態から当該エージェントの実行を再開する機能とを備えたことを特徴とする。
【００４３】
上記のプログラムの好ましい実施態様は以下の通りである。なお、以下の各実施態様は、単独で適用しても良いし、適宜組み合わせて適用しても良い。
【００４４】
（１）　退避先を選択する際にネットワーク状態と計算機状態を基に、複数の退避先のうち１つの退避先が選択されること。
【００４５】
（２）　退避先の記憶容量の残量を調査して、退避先がエージェントを受け入れ可能か判定して、前記受け入れ可能な退避先との通信速度が最も速い退避先を退避先に選定すること。
【００４６】
（３）　前記エージェントを圧縮して退避すること。
【００４７】
（４）　エージェント実行手段によって一定期間の間、エージェントが不在であることが検出された際には、当該エージェント実行手段を搭載した計算機を停止モードあるいは低消費電力モードに切り替えること。
【００４８】
なお、本発明は、上記の発明の実施の形態に限定されるものではない。上記の各実施形態においては、各機能をシステムとして説明したが、これに限られず、例えば、上記の機能を実現するプログラムやそのプログラムを記録する記録媒体であっても良い。なお、記録媒体としては、フロッピーディスク、ハードディスクなどがある。その他、本発明の要旨を変更しない範囲で種々変形して実施できるのは勿論である。
【００４９】
【発明の効果】
本発明によれば、エージェント応用システム開発時に、計算機のリソースの制約を考慮したプログラミングが不要となる。また、従来の制御装置では初期導入時に固定となっていたプログラムモジュールを、ネットワーク経由で後から入れ替え、機能更新することが可能となる。
【図面の簡単な説明】
【図１】本発明に適用される移動エージェントシステムの全体構成図。
【図２】本発明の第１の実施形態に係るエージェントの構成を示す図。
【図３】本発明の第１の実施形態に係る分散配置スケジューラの概略構成を示す図。
【図４】本発明の第２の実施形態に係る分散配置スケジューラによる退避先の決定方法を説明するための図。
【図５】本発明の第３の実施形態に係る計算機の概略構成を示す図。
【図６】本発明の第４の実施形態に係る計算機の概略構成を示す図。
【図７】本発明の第５の実施形態に係る計算機の概略構成を示す図。
【図８】本発明の第５の実施形態に係る分散配置スケジューラの概略構成を示す図。
【符号の説明】
１…計算機
２…エージェント実行手段
３…分散配置スケジューラ
４…補助記憶装置
５…エージェント
６…ネットワーク
３１、３１Ａ…エージェント状態テーブル
３２…リソーステーブル
３３…状態テーブル
３４…データ圧縮機構
３５…データ伸張機構
３６…データ伸張機構
５１…処理内容
５２…移動手順
７１…サーバ機能
８１…内部タイマ
８２…電力消費モード切替手段
【図１】
2004070428.tif 000003
【図２】
2004070428.tif 000004
【図３】
2004070428.tif 000005
【図４】
2004070428.tif 000006
【図５】
2004070428.tif 000007
【図６】
2004070428.tif 000008
【図７】
2004070428.tif 000009
【図８】
2004070428.tif 000010