(57)【特許請求の範囲】
【請求項１】
ネットワークを介して通信可能な第１の情報処理装置から送信された、ユーザから与えられたゴールを解決するエージェントプログラム及び前記エージェントプログラムが過去に使用したコンポーネントの使用履歴情報であるプロファイルの受信を行うエージェント受信手段と、
前記エージェントプログラム及び前記プロファイルを格納するエージェント格納部と、
ユーザから前記ゴールを受け付けて前記エージェントプログラムに通知するゴール受付部と、
前記エージェントプログラムが要求したコンポーネントを第２の情報処理装置から取得するとともに、前記エージェントプログラムからコンポーネントを要求される前に、前記プロファイルを取得して前記エージェントプログラムが使用する可能性の高いコンポーネントを予め予測し、予測の結果に基づいて予めコンポーネントを第２の情報処理装置から取得する処理を開始するコンポーネント供給部と、
コンポーネント供給部によって取得されたコンポーネントを格納するコンポーネント格納部とを有する情報処理装置。
【請求項２】
前記コンポーネント供給部は、
前記エージェントプログラムからコンポーネントを要求される前に、前記プロファイルを取得して前記エージェントプログラムが使用する可能性の高いコンポーネントを予め予測し、予測の結果に基づいて予めコンポーネントを第１の情報処理装置から取得して前記コンポーネント格納部に格納させ、前記エージェントプログラムが前記コンポーネントを使用するために必要な識別情報を供給する処理を開始することを特徴とする請求項１記載の情報処理装置。
【請求項３】
ネットワークを介して第１の情報処理装置から送信された、ユーザから与えられたゴールを解決するエージェントプログラム及び前記エージェントプログラムが過去に使用したコンポーネントの使用履歴情報であるプロファイルを受信するエージェント受信手段と、
前記エージェントプログラム及び前記プロファイルを格納するエージェント格納部と、
ユーザから前記ゴールを受け付けて前記エージェントプログラムに通知するゴール受付部と、
前記エージェントプログラムが要求したコンポーネントを第２の情報処理装置から取得するコンポーネント供給部と、
コンポーネント供給部によって取得されたコンポーネントを格納するコンポーネント格納部と、
前記エージェントプログラムからコンポーネントを要求される前に、前記プロファイルを取得して前記エージェントプログラムが使用する可能性の高いコンポーネントを予め予測し、予測の結果に基づいて予めコンポーネントを第２の情報処理装置から取得して前記コンポーネント格納部に格納させる処理を前記コンポーネント供給部に開始させるコンポーネント事前準備手段とを有する情報処理装置。
【請求項４】
前記コンポーネント事前準備手段は、
前記エージェントプログラムからコンポーネントを要求されるまでの間に、前記プロファイルを取得して前記エージェントプログラムが使用する可能性の高いコンポーネントを予め予測し、予測の結果に基づいて予めコンポーネントを第１の情報処理装置から取得して前記コンポーネント格納部に格納させ、前記エージェントプログラムが前記コンポーネントを使用するために必要な識別情報を供給する処理を前記コンポーネント供給部に開始させることを特徴とする請求項３記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークで接続された情報機器間を移動し処理を行う移動エージェントシステムを用いた情報処理装置に関する技術であって、特に移動エージェントの応答性を高めるためのものである。
【０００２】
【従来の技術】
ネットワークで接続された情報機器間を移動し、情報機器上の情報を統合・処理する技術に、移動エージェントシステムがある。エージェントはプログラムとして構成され、周囲の状況に合わせて自律的に動作するものである。移動エージェントシステムは、このようなエージェントが、様々な情報機器上で情報の処理を行うシステムであり、これまでに例えば特開２００２−４９５９８などが提案されている。
【０００３】
エージェントは複数の情報機器間を移動して動作する。エージェントは情報機器上でユーザの要求を解決するために、エージェントはソフトウエア部品である「コンポーネント」を使用する。
【０００４】
しかし、エージェントは様々な情報機器間を移動するため、エージェントが使用可能な全てのコンポーネントを持って移動すると移動に時間がかかってしまう。また、移動先全ての情報機器において、エージェントが使用可能な全てのコンポーネントを準備しておくと膨大な記憶領域を必要とするため、携帯端末など計算機資源が限られた情報機器では現実的ではない。
【０００５】
そのため、エージェントが移動直後に使用できるのは、エージェントと一緒に移動したごく限られたコンポーネントと、移動先に予め用意されている限られたコンポーネントだけである。従って、エージェントはコンポーネントをゴール解決のために必要とした時点で取得し、使用可能にするための前処理を施している。
【０００６】
【発明が解決しようとする課題】
従来は、エージェントがコンポーネントを必要とした時点で取得し前処理を行っていたため、コンポーネントがエージェントからの指示に従って処理を行うまでに長い時間がかかっていた。そのため、ユーザが要求をエージェントに伝えてから結果を受け取るまでに長い時間待たされることがあり、応答性に問題があった。
【０００７】
本発明では、エージェントの応答性を改善した移動エージェントシステムを用いた情報処理装置、情報処理方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記課題を解決するため本発明の情報処理装置は、ネットワークを介して通信可能な第１の情報処理装置から送信された、ユーザから与えられたゴールを解決するエージェントプログラム及び前記エージェントプログラムが過去に使用したコンポーネントの使用履歴情報であるプロファイルの受信を行うエージェント受信手段と、前記エージェントプログラム及び前記プロファイルを格納するエージェント格納部と、ユーザから前記ゴールを受け付けて前記エージェントプログラムに通知するゴール受付部と、前記エージェントプログラムが要求したコンポーネントを第２の情報処理装置から取得するとともに、前記エージェントプログラムからコンポーネントを要求される前に、前記プロファイルを取得して前記エージェントプログラムが使用する可能性の高いコンポーネントを予め予測し、予測の結果に基づいて予めコンポーネントを第２の情報処理装置から取得する処理を開始するコンポーネント供給部と、コンポーネント供給部によって取得されたコンポーネントを格納するコンポーネント格納部とを有する。
【０００９】
また、本発明の情報処理装置は、ネットワークを介して第１の情報処理装置から送信された、ユーザから与えられたゴールを解決するエージェントプログラム及び前記エージェントプログラムが過去に使用したコンポーネントの使用履歴情報であるプロファイルを受信するエージェント受信手段と、前記エージェントプログラム及び前記プロファイルを格納するエージェント格納部と、ユーザから前記ゴールを受け付けて前記エージェントプログラムに通知するゴール受付部と、前記エージェントプログラムが要求したコンポーネントを第２の情報処理装置から取得するコンポーネント供給部と、コンポーネント供給部によって取得されたコンポーネントを格納するコンポーネント格納部と、前記エージェントプログラムからコンポーネントを要求される前に、前記プロファイルを取得して前記エージェントプログラムが使用する可能性の高いコンポーネントを予め予測し、予測の結果に基づいて予めコンポーネントを第２の情報処理装置から取得して前記コンポーネント格納部に格納させる処理を前記コンポーネント供給部に開始させるコンポーネント事前準備手段とを有する。
【００１０】
また、本発明の情報処理装置は、ネットワークを介して第１の情報処理装置から送信された、ユーザから与えられたゴールを解決するエージェントプログラム及び前記エージェントプログラムによるコンポーネントの使用履歴情報であるプロファイルを受信してから前記エージェントプログラムにユーザからのゴールが与えられるまでの間に、前記エージェントプログラムが保持する履歴情報であるプロファイルを予め解析して、前記エージェントプログラムが使用する可能性の高いコンポーネントを予め予測し、予測結果に基づいて第２の情報処理装置から予め取得する処理を実行する。
【００１１】
本発明の情報処理方法は、ネットワークを介して他の情報処理装置と通信可能な情報処理装置を用いた情報処理方法であって、ユーザから与えられたゴールを解決するエージェントプログラム及び前記エージェントプログラムが過去に使用したコンポーネントの使用履歴情報であるプロファイルを、ネットワークを介して第１の情報処理装置から受信するエージェント受信ステップと、前記エージェントプログラム及び前記プロファイルを記憶するエージェント格納ステップと、ユーザからゴールを受け付けて、これを前記エージェントプログラムに通知する準備をするゴール受付準備ステップと、前記エージェントプログラムにユーザから与えられたゴールが通知されるまでの間に、前記プロファイルを解析して前記エージェントプログラムが使用する可能性の高いコンポーネントを予め予測し、予測の結果に基づいて予めコンポーネントを第２の情報処理装置から取得する処理を実行するコンポーネント事前準備ステップと、前記エージェントプログラムにユーザから与えられたゴールが通知されてから、前記ゴールを解決するために必要なコンポーネントを選択するコンポーネント選択ステップと、選択されたコンポーネントを第２の計算機から取得し、それぞれのコンポーネントを使用するために必要な識別情報を前記エージェントプログラムに供給するコンポーネント供給ステップと、供給したコンポーネントの名称等の情報を前記プロファイルに記録するプロファイル記録ステップと、前記エージェントプログラムが供給されたコンポーネントを駆使してゴールを解決するゴール解決ステップとを有する。
【００１２】
本発明のプログラムは、コンピュータに、ネットワークを介して第１の情報処理装置から送信された、ユーザから与えられたゴールを解決するエージェントプログラム及び前記エージェントプログラムが過去に使用したコンポーネントの使用履歴情報であるプロファイルを受信するエージェント受信ステップと、前記エージェントプログラム及び前記プロファイルを記憶するエージェント格納ステップと、ユーザからゴールを受け付けて、これを前記エージェントプログラムに通知する準備をするゴール受付準備ステップと、前記エージェントプログラムにユーザから与えられたゴールが通知されるまでの間に、前記プロファイルを解析して前記エージェントプログラムが使用する可能性の高いコンポーネントを予め予測し、予測の結果に基づいて予めコンポーネントを第２の情報処理装置から取得する処理を実行するコンポーネント事前準備ステップと、前記エージェントプログラムにユーザから与えられたゴールが通知されてから、前記ゴールを解決するために必要なコンポーネントを選択するコンポーネント選択ステップと、選択されたコンポーネントを第２の計算機から取得し、それぞれのコンポーネントを使用するために必要な識別情報を前記エージェントプログラムに供給するコンポーネント供給ステップと、供給したコンポーネントの名称等の情報を前記プロファイルに記録するプロファイル記録ステップと、前記エージェントプログラムが供給されたコンポーネントを駆使してゴールを解決するゴール解決ステップとを実行させる。
【００１３】
【発明の実施の形態】
以下、本発明の一実施形態の移動エージェントシステムについて説明する。
【００１４】
（概要）本実施形態の移動エージェントシステムは、ＰＣ（パーソナルコンピュータ）や携帯端末等の記憶装置及びメモリ及び中央演算装置を備えた情報機器上で動作する、エージェントと呼ばれるプログラム及びコンポーネントと呼ばれるプログラムとを含んで構成される。
【００１５】
エージェントは情報機器上でユーザからの要求（ゴールという）を受け付けて、コンポーネントを駆使してゴールを解決する。コンポーネントはエージェントがゴールを解決するために有用な機能を提供するソフトウエア部品である。ソフトウエア部品とは、例えばクラスモジュールやライブラリのように、それ自身が単独で動作するのではなくプログラムの一部として組み込まれるものである。
【００１６】
特に本実施形態のエージェントシステムは、エージェントがユーザの指示を受けて、現在ユーザが使用している情報機器から他の情報機器へ移動し、移動した先々でユーザから与えられたゴールを解決するものである。従来のエージェントシステムと異なるのは、エージェントにコンポーネントの使用履歴の情報を持たせ、移動した先々でこの情報を参照して、移動先の情報機器において使用する可能性が高いコンポーネントを優先的・投機的に準備し、ユーザから与えられたゴールを素早く解決する点である。
【００１７】
以下では、エージェントが計算機資源が比較的豊富なＰＣから計算機資源が乏しい携帯端末へ移動して、携帯端末上でユーザからゴールを受け取り、これを解決する場合を想定して説明を行う。
【００１８】
（構成の概要）図１は本実施形態の移動エージェントシステムの構成を説明する図である。
【００１９】
本実施形態の移動エージェントシステムは、ユーザが直前まで使用していた情報機器であるＰＣ１００と、ユーザが現在使用中の情報機器である携帯端末１２０と、エージェントが使用することができるコンポーネントを蓄積しダウンロード可能にしてあるサーバ１１０とを有する。ＰＣ１００とサーバ１１０と携帯端末１２０とは、有線あるいは無線ネットワークで共通に接続されている。
【００２０】
本実施形態ではＰＣ１００とサーバ１１０とは異なるコンピュータとするが、ＰＣ１００とサーバ１１０が同一のコンピュータであっても構わない。
【００２１】
図１は、ＰＣ１００上で動作していたエージェントがユーザから与えられたゴール（ここでは、「携帯端末１２０へ移動せよ」というゴールとする）によりネットワーク経由でＰＣ１００から携帯端末１２０へ移動し、ユーザが携帯端末１２０に移動したエージェントに対してゴールを与えている状態である。
【００２２】
ＰＣ１００は、エージェント１０１と、エージェント１０１を移動させるエージェント移動部１０２と、エージェント１０１によるコンポーネント使用履歴情報であるプロファイル１０３と、エージェント１０１にゴールを与えるゴール受付部１０４と、エージェント１０１及びプロファイル１０３を格納するエージェント格納部１０５とを有する。
【００２３】
ゴール受付部１０４はユーザからゴールを受け取り、これをエージェント１０１に通知する。
【００２４】
エージェント１０１はユーザから与えられたゴールを解決するためのプログラムである。ユーザから与えられたゴールを、コンポーネントと呼ばれるソフトウエア部品を使用して解決し、その結果を報告する。
【００２５】
プロファイル１０３はエージェント１０１が持つコンポーネント使用履歴情報である。プロファイル１０３には、例えば図２に示すような、エージェントによるコンポーネントの使用履歴（いつ、どの情報機器で、どのコンポーネントを使用したか）等の情報が含まれている。
【００２６】
エージェント移動部１０２は、エージェント１０１の要求に応じてエージェントを他の情報機器（本実施形態では携帯端末１２０）へ送信する役割と、これとは逆に他の情報機器からＰＣ１００に送信されたエージェントを受信してエージェント格納部に格納してエージェントの動作を開始させる役割とを果たす。
【００２７】
サーバ１１０は、エージェントが使用するコンポーネントを格納しておくコンポーネント格納部１１１と、携帯端末１２０からの要求に応じてコンポーネントを送信するコンポーネント送信部１１２とを有する。
【００２８】
携帯端末１２０はエージェント１２３及びプロファイル１２７を格納するエージェント格納部１３０と、ＰＣ１００から送信されたエージェントを受信してエージェント格納部１３０上に格納するとともに動作を開始させるエージェント移動部１２２とを有する。
【００２９】
さらに、ユーザからのゴールを受け付けてエージェント１２３に通知するゴール受付部１２１と、エージェント１２３からの要求に応じてコンポーネントをサーバ１００からダウンロードするとともに前処理を施して使用可能な状態にしてエージェントに供給するコンポーネント供給部１３１と、コンポーネントを格納しておくコンポーネント格納部１２６とを有する。
【００３０】
コンポーネント供給部１３１は、サーバ１１０からダウンロードするコンポーネントロード部１２４と、コンポーネント格納部１２６に格納されたコンポーネントに前処理を施して使用可能な状態にしてコンポーネントの識別情報をエージェント１２３からの要求に応じて供給するコンポーネント呼び出し部１２５とを有する。識別情報とは、例えば、コンポーネントを構成する関数のアドレスのように、エージェント１２３がそのコンポーネントを使用するのに必要な情報である。
【００３１】
さらにコンポーネント供給部１３１は、エージェント１２３の過去のコンポーネントの使用履歴等の情報であるプロファイル１２７を解析するプロファイル解析部１２８と、プロファイル１２７にコンポーネントの使用履歴を記録するプロファイル記録部１２９とを有する。
【００３２】
本実施形態では、コンポーネント供給部１３１は、次の２つのケースでエージェント１２３にコンポーネントの供給を行う。（１）エージェント１２３がゴール解決の為に要求した時、（２）エージェント１２３が携帯端末１２０に移動してきた時。
【００３３】
（１）のケースでは、エージェント１２３がゴール解決のための動作時に要求したコンポーネントを供給する。コンポーネント供給部１３１は、まず、コンポーネント格納部１２６に要求されたコンポーネントが存在するかを調べ、存在しない場合はサーバ１１０からロードしてコンポーネント格納部１２６に格納する。そして、コンポーネントに必要な前処理を施し、エージェント１２３にコンポーネントの識別情報を供給する。
【００３４】
（２）のケースでは、移動が終わった時点でエージェント１２３からプロファイル１２７を受け取り、予めプロファイル１２７を解析して使用頻度の高いコンポーネントを予測し、予測に基づいて予め準備・供給する。すなわち、エージェント１２３がゴール解決のための動作を開始する前に、コンポーネントをサーバ１１０からロードし、前処理を施して準備を行い、識別情報を供給する。
【００３５】
本実施形態では、エージェント移動部１２２と、ゴール受付部１２１と、コンポーネント供給部１３１は、エージェント１２３を動作させるためのプラットフォームとして携帯端末１２０に予め存在しているプログラムである。また、ゴール解決に必要となるコンポーネントは必要に応じてサーバ１１０からロードする。
【００３６】
コンポーネント呼び出し部１２５は、使用可能にしたコンポーネントの一覧情報を内部で保持しており、エージェント１２３あるいはプロファイル解析部１２８からの要求を受けた際にはこの情報を参照して実行すべき動作を決定する。
【００３７】
（ゴール解決までの動作）図３は本実施形態のエージェントシステムで、エージェントがゴールを受け取ってから、ゴールを解決するまでの処理について説明する図である。ここではエージェント１２３が携帯端末１２０上で動作するケースを例に説明する。
【００３８】
エージェント１２３はゴール受付部１２１を介してユーザからゴールを受け取る（ステップ３００）。そして、そのゴールを解決するのに必要なコンポーネントを選択して、コンポーネント呼び出し部１２５に選択したコンポーネントを要求する（ステップ３０１）。
【００３９】
コンポーネント呼び出し部１２５は、選択されたコンポーネントが既に呼び出し済みかを調べる（ステップ３０２）。
【００４０】
既に呼び出し済みのコンポーネントの場合、コンポーネント呼び出し部１２５はプロファイル記録部１２９にコンポーネントの使用履歴を出力してプロファイル１２７への記録を行わせる（ステップ３０６）。
【００４１】
未だ呼び出していないコンポーネントの場合、コンポーネント呼び出し部１２５は当該コンポーネントが既にロードされてコンポーネント格納部１２６に存在するかをチェックし（ステップ３０３）、存在しない場合は、コンポーネント呼び出し部１２５はコンポーネントロード部１２４に当該コンポーネントのダウンロードを要求する（ステップ３０４）。
【００４２】
コンポーネント格納部１２６にコンポーネントが格納されたら、コンポーネント呼び出し部１２５はコンポーネントに対して前処理を行うとともにエージェント１２３に当該コンポーネントの識別情報を出力し（ステップ３０５）、プロファイル記録部１２９にコンポーネントの使用履歴を出力してプロファイル１２７に記録させる（ステップ３０６）。
【００４３】
コンポーネント呼び出し部１２５から、コンポーネントの要求結果を受け取ったエージェント１２３はゴールの解決を試み、解決できた場合は処理を終了し、解決できない場合は別のコンポーネントを使用して（別の手段により）ゴールの解決を試みるために、ステップ３０１を実行する（ステップ３０７）。
【００４４】
（エージェントの移動及びコンポーネントの事前呼び出し）図４はエージェントがＰＣ１００から携帯端末１２０へ移動する処理と、これに伴うコンポーネントの事前呼び出しを説明するフローチャートである。
【００４５】
エージェント１０１は、ゴール受付部１０４を介してユーザから通知された「携帯端末１２０へ移動」のゴールを解決するため、エージェント移動部１０２を利用して携帯端末１２０への移動を行う。エージェント移動部１０２は携帯端末１２０のエージェント移動部１２２にエージェント１０１を送信する。エージェント移動部１２２はこれを受信してエージェント１２３をエージェント格納部１３０上に格納して動作させる（ステップ４００）。
【００４６】
ステップ４００において動作を開始したエージェント１２３は、ゴール受付部１２１を介してユーザからゴールを与えられたらゴールを解決するための処理を開始できるように準備を行う。準備内容の例としては、一定時間毎にゴール受付部１２１からの出力の有無をチェックする処理を開始すること等が挙げられる（ステップ４０１）。
【００４７】
エージェント１２３はゴール受け入れ準備が済んだら、プロファイル解析部１２８にプロファイル１２７を送信する。プロファイル解析部１２８はプロファイル１２７の解析を行い、携帯端末１２０において使用される可能性の高いコンポーネントを予測して、コンポーネントのリストを生成する（ステップ４０２）。
【００４８】
プロファイル解析部１２８は生成したリストをコンポーネント呼び出し部１２５へ出力する。コンポーネント呼び出し部１２５は、コンポーネント格納部１２６に格納されているコンポーネントとリストに含まれるコンポーネントとを比較する。そして、コンポーネント呼び出し部１２５は、コンポーネントロード部１２４に、リストに含まれ、かつ、コンポーネント格納部１２６に格納されていないコンポーネントのダウンロードを要求する。要求を受けたコンポーネントロード部１２４は、サーバ１１０のコンポーネント送信部１１２にアクセスしてコンポーネントをダウンロードしてコンポーネント格納部１２６へ格納する。また、コンポーネントのダウンロードが一つ完了する毎にコンポーネント呼び出し部１２５へ通知する（ステップ４０３）。
【００４９】
一方、コンポーネント呼び出し部１２５は、コンポーネント格納部１２６に格納されたコンポーネントを読み出して順次前処理を行う。そして、前処理が済んだコンポーネントの識別情報をエージェント１２３に供給する。ダウンロードが終わっていないコンポーネントについては、ダウンロードが完了の通知を受けてから前処理を行う。実際にコンポーネントが使用された段階で使用履歴の出力を行うので、この段階ではプロファイル記録部１２９にコンポーネントの使用履歴を出力しない（ステップ４０４）。
【００５０】
エージェント１２３は、ユーザからゴールを与えられるまでの空き時間を利用して、前処理が済んだコンポーネントを投機的に動作させる。投機的な動作とは、エージェント１２３がそのコンポーネントを使用して実現する可能性の高い処理や、コンポーネント内部で必ず若しくは高確率で行う処理を事前に行っておくことである。例えば、データベースの類にアクセスするコンポーネントならばアクセス頻度の高いデータを予め取得させてキャッシュしておく処理や、ＧＵＩによるダイアログを用いるコンポーネントならばＧＵＩの生成処理や、コンポーネントの初期化処理の類等がある。投機的に動作させた結果はエージェント１２３が保持しておく（ステップ４０５）。
【００５１】
尚、ステップ４０２からステップ４０５の処理を実行中にエージェント１２３がコンポーネント供給部１３１にコンポーネントを要求した場合は、ステップ４０２からステップ４０５の処理を中断して、要求されたコンポーネントの供給を行う。
【００５２】
また、本実施形態ではステップ４０５においてエージェント１２３がコンポーネントを投機的に動作させるとしたが、これに限らずコンポーネント呼び出し部１２５で実行させても良い。この場合、投機的な動作の結果はコンポーネント呼び出し部１２５で保持しておき、エージェント１２３がコンポーネント呼び出し部１２５にコンポーネントを要求した時にコンポーネントの識別情報と一緒に渡せば良い。
【００５３】
（プロファイル解析部の処理）プロファイル解析部１２８において、プロファイル１２７からエージェントが使用する可能性の高いコンポーネントを予測する方法について説明する。
【００５４】
図２に示すようにプロファイル１２７には、コンポーネントの識別情報である「使用したコンポーネント名」、「使用した日時」、情報機器の識別情報である「使用した情報機器名」の情報が記録されている。尚、プロファイル１２７に記録するデータはこれに限らず、例えば「コンポーネントに与えられたコマンド・引数」等予測に有用なデータを適宜記録しておくことが望ましい。
【００５５】
本実施形態では、プロファイルから現在の情報機器上で過去に使用されたコンポーネントの一覧を抽出して、使用頻度の高い順に情報機器のメモリの許す範囲でロードし前処理を行うものとする。
【００５６】
この方法に限らず、使用した日時を参照して、現在時刻に近い時間に使用されたコンポーネントの優先順位を高くすればユーザの生活パターンに即した予測が可能になる。また、「ユーザの位置」を知ることができる携帯端末の場合は、プロファイルに「ユーザの位置」も記録しておいて、ユーザの現在位置によってコンポーネントの優先順位を変えるという予測方法も可能である。
【００５７】
（コンポーネント呼び出し部の前処理）コンポーネント呼び出し部１２５でコンポーネントに施す前処理について説明する。
【００５８】
コンポーネントに対する前処理として挙げられるものには、（１）コンポーネントの事前読み出し、（２）コンポーネントのジャスト・イン・タイム・コンパイル、（３）コンポーネントの展開がある。
【００５９】
（１）の処理でコンポーネントを予めコンポーネント格納部１２６から読み出して、メモリ上にキャッシュしておけば、エージェントは当該コンポーネントをすぐに使用することができる。
【００６０】
これは、コンポーネント格納部１２６が磁気ディスクのように読み出し時間がかかるものである場合に有効である。
【００６１】
（２）のジャスト・イン・タイム・コンパイルとは、ＪＡＶＡ（Ｒ）のように実行前に当該情報機器のネイティブコードにコンパイルすることで実行速度を向上させることが可能な言語でプログラムされたコンポーネントに対して行うものである。
【００６２】
エージェントが当該コンポーネントの使用を要求する前に予めコンパイルをしておけば、コンパイルによる高速化の恩恵を受けつつ、エージェントが必要とした時点で当該コンポーネントをすぐに利用できる。
【００６３】
（３）の展開とは、コンポーネントがサイズを小さくするために圧縮されている場合に、これを復元する作業である。
【００６４】
エージェントが当該コンポーネントの使用を要求する前に予め展開しておけば、エージェントは当該コンポーネントを必要としたときにすぐに利用できる。
【００６５】
以上、本実施形態によればエージェントが情報機器に移動した際に、事前に利用する可能性が高いコンポーネントを予めロードして前処理を行うので、エージェントはゴール解決に必要なコンポーネントをすぐに使用でき、エージェントがゴールを解決してユーザが結果を得るまでの時間を短縮することができる。すなわち、エージェントの応答性を高めることができる。
【００６６】
【発明の効果】
以上、本発明によれば、ユーザがエージェントにゴールを与えるまでの間に、これから利用する可能性が高いコンポーネントを予測を行って、エージェントがコンポーネントをすぐに使用できるように準備しておくので、エージェントがゴールを解決してユーザが結果を得るまでの時間を短縮することができ、エージェントの応答性を高めることができる。
【図面の簡単な説明】
【図１】  本発明の一実施形態に係る移動エージェントシステムの構成を説明する図。
【図２】  エージェントが保有するプロファイルの内容を説明する図。
【図３】  エージェントがゴールを受け取ってからこれを解決するまでの処理を説明する図。
【図４】  エージェント移動時に行う、コンポーネントの事前準備を説明する図。
【符号の説明】
１００  ＰＣ
１０１  エージェント
１０２  エージェント移動部
１０３  プロファイル
１０４  ゴール受付部
１０５  エージェント格納部
１１０  サーバ
１１１  コンポーネント格納部
１１２  コンポーネント送信部
１２０  携帯端末
１２１  ゴール受付部
１２２  エージェント移動部
１２３  エージェント
１２４  コンポーネントロード部
１２５  コンポーネント呼び出し部
１２６  コンポーネント格納部
１２７  プロファイル
１２８  プロファイル解析部
１２９  プロファイル記録部
１３０  エージェント格納部
１３１  コンポーネント供給部
【図１】
0004033448.tif 000002
【図２】
0004033448.tif 000003
【図３】
0004033448.tif 000004
【図４】
0004033448.tif 000005