(57)【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の情報処理装置上で、ユーザからの要求に対処するための処理を実行させる複数のプログラムのそれぞれを複数のコンポーネントとして保持するとともに、前記複数のコンポーネントのうちの一部のコンポーネント群をそれぞれ用いた前記要求に対する複数の対処方法を保持するエージェントを動作させて、前記複数の対処方法のうちの任意の対処方法の処理を、前記コンポーネント群を用いて実行するための情報処理方法であって、
前記複数の情報処理装置のそれぞれは、該情報処理装置に移動して動作する前記エージェントが該情報処理装置に持ち込み可能なコンポーネントを定めた制限情報を記憶し、
前記エージェントが前記処理の実行に当たって前記複数の情報処理装置のうちの１つである第１の情報処理装置から前記複数の情報処理装置のうちの他の情報処理装置としての第２の情報処理装置へ移動する際には、前記第１の情報処理装置は、前記第２の情報処理装置から該エージェント対応の前記制限情報を受信し、この制限情報に基づき、該エージェントが保持する前記複数のコンポーネントの中から当該第２の情報処理装置に持ち込み可能な少なくとも１つのコンポーネントを選択し、前記複数のコンポーネントのうちの該選択されたコンポーネントを保持した該エージェントを当該第２の情報処理装置へ移動させることを特徴とする情報処理方法。
【請求項２】
前記エージェントは、前記選択されたコンポーネントのみでは、前記複数の対処方法のうちの第１の対処方法の処理を実行することができないとき、前記複数の対象方法のうち、前記選択されたコンポーネントを用いて実行可能な第２の対処方法を選択し、当該第２の対処方法の処理を前記第２の情報処理装置上で実行することを特徴とする請求項１記載の情報処理方法。
【請求項３】
前記コンポーネントの制限対象として、該コンポーネントの作成元、認証元、性能、品質、該コンポーネントが行う処理内容があり、前記制限情報は、前記エージェントが、前記第２の情報処理装置に持ち込み可能なコンポーネントの作成元、認証元、性能、品質、該コンポーネントが行う処理内容のうちの少なくとも１つを特定したものであることを特徴とする請求項１記載の情報処理方法。
【請求項４】
前記エージェントは、前記複数の対処方法のなかから、前記選択されたコンポーネントを用いて実行可能な対処方法を選択することを特徴とする請求項１記載の情報処理方法。
【請求項５】
ユーザからの要求に対処するための処理を実行させる複数のプログラムのそれぞれを複数のコンポーネントとして保持するとともに、前記複数のコンポーネントのうちの一部のコンポーネント群をそれぞれ用いた前記要求に対する複数の対処方法を保持するエージェントと、当該エージェントが動作する環境を有する情報処理装置であって、
自装置とネットワークで接続された他の情報処理装置が記憶する、当該エージェントが当該他の情報処理装置に持ち込み可能なコンポーネントを定めた制限情報を受信する手段と、
前記受信した制限情報に基づき、前記エージェントが保持する複数のコンポーネントの中から前記他の情報処理装置に持ち込み可能な少なくとも１つのコンポーネントを選択する手段と、
前記複数のコンポーネントのうちの選択されたコンポーネントを保持した前記エージェントを当該他の情報処理装置へ移動させる手段と、
を具備したことを特徴とする情報処理装置。
【請求項６】
前記エージェントは、前記選択されたコンポーネントのみでは、前記複数の対処方法のうちの第１の対処方法の処理を実行することができないとき、前記複数の対処方法のうち、前記選択されたコンポーネントを用いて実行可能な第２の対処方法を選択する手段を備え、当該第２の対処方法の処理を前記他の情報処理装置上で実行することを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記コンポーネントの制限対象として、該コンポーネントの作成元、認証元、性能、品質、該コンポーネントが行う処理内容があり、前記制限情報は、前記エージェントが、前記他の情報処理装置に持ち込み可能なコンポーネントの作成元、認証元、性能、品質、該コンポーネントが行う処理内容のうちの少なくとも１つを特定したものであることを特徴とする請求項５記載の情報処理装置。
【請求項８】
前記エージェントは、前記複数の対処方法のうち、前記選択されたコンポーネントを用いて実行可能な対処方法を選択する手段を備えたことを特徴とする請求項５記載の情報処理方法。
【請求項９】
ユーザからの要求に対処するための処理を実行させる複数のプログラムのそれぞれを複数のコンポーネントとして保持するとともに、前記複数のコンポーネント群の一部のコンポーネント群をそれぞれ用いた前記要求に対する複数の対処方法を保持するエージェントが動作する環境を有するコンピュータに、
当該コンピュータにネットワークで接続された他のコンピュータが記憶する、前記エージェントが当該他のコンピュータに持ち込み可能なコンポーネントを定めた制限情報を受信するステップと、
前記受信した制限情報に基づき、前記エージェントが保持する複数のコンポーネントの中から前記他のコンピュータに持ち込み可能な少なくとも１つのコンポーネントを選択するステップと、
前記複数のコンポーネントのうちの選択されたコンポーネントを保持した前記エージェントを当該他のコンピュータへ移動させるステップと、
を実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、ネットワーク接続された情報機器間を移動し処理を行う移動エージェントシステムに関する。
【０００２】
【従来の技術】
従来から、ネットワーク接続された情報機器間を移動し、情報機器上の情報を統合、処理する技術として移動エージェントシステムが知られている。エージェントとは、ソフトウェア上の処理単位であって、プログラムとして構成され、周囲の状況に合わせて自律的に動作するものである。移動エージェントシステムは、このようなエージェントが、ある情報機器上で情報の処理を行うシステムである。
【０００３】
移動エージェントは複数の情報機器間を移動して動作する。エージェントが各機器上でどのような処理を行って良いかを規定する動作権限は、エージェントの種類および各情報機器の設定から決定される。従来、このようなエージェントの動作権限は、エージェントに対して各情報機器固有の特定インタフェースを公開し、エージェントの動作をそのインタフェースを通したものに制限するという方法で制御されており、情報機器ごとに固定的なものであった。
【０００４】
ここで、従来例として、移動エージェントが複数の情報機器上で動作する場合について、図１に示す機能ブロック図を参照して説明する。エージェントはある１つの情報機器（ここでは情報機器１００と呼ぶ）上で動作するとともに、情報機器１００にネットワーク接続された他の情報機器（ここでは情報機器１１０と呼ぶ）に移動し、処理を行うことができる。
【０００５】
情報機器１００、１１０には、エージェントが動作する環境を提供するプラットフォーム（例えば、コンピュータ等のＯＳ上に構築されたエージェントが動作する環境を提供するもの）１０１、１１１があり、プラットフォームはいくつかの（ここでは、例えば１つの）コンポーネント（プログラム）を備える。
【０００６】
エージェントの移動は次の手順で行われる。情報機器１００内の移動コンポーネント１０２が備えるエージェント移動実現部１０３は、エージェント１０３の備える情報（エージェントの動作を記述するプログラム、エージェントの実行状態、エージェントが持ち運ぶデータなど）をネットワークを介して情報機器１１０に伝達可能な形式に変換し、情報機器１１０内のプラットフォーム１１１が備えるエージェント移動受け入れ部１１２に送信する。
【０００７】
エージェント移動受け入れ部１１２はエージェント受け入れ判定部１１３にエージェント１０３の識別情報（エージェントのユニークＩＤ、生成元情報など）を送信し、エージェント移動受け入れ部１１２はそのエージェント１０３の情報機器１１０への移動を受け入れるかどうかを判別する。受け入れ可能と判別した場合、エージェント１０３は情報機器１１０内に生成される。
【０００８】
情報機器１１０内に生成されたエージェント１０３は情報機器１１０内のエージェント動作限定部１１４を用いて処理を行う。
【０００９】
エージェント動作限定部１１４は、エージェント１０３が情報機器１１０内であらゆる処理を行う際に必ず用いなければならない唯一のインタフェースであり、エージェント１０３の全ての動作はエージェント動作限定部１１４を介して行われる。
【００１０】
エージェント動作限定部１１４は、エージェント１０３が要求する動作に対してその動作を許可するかどうかを決定し、許可する場合は情報機器１１０内でその処理を行う。その動作が許可されない場合は、エージェントに対してその旨を通知する。
【００１１】
【発明が解決しようとする課題】
エージェント１０３の情報機器１１０上での動作権限は、エージェント受け入れ判定部１１３およびエージェント動作限定部１１４によって規定されている。
【００１２】
エージェント受け入れ判定部１１３はエージェント１０３の識別情報からエージェントの受け入れ可否を判断するため、識別情報から安全性が判定できないエージェントの移動は禁止する。移動が許可されたエージェントであっても、エージェント動作限定部１１４にて、エージェントの識別情報に関わりなく一律に許可された動作のみしか行えない。
【００１３】
このように、移動の許可されて受け入れられたエージェント１０３の動作はエージェント動作限定部１１４によって一意に制限され、そのためエージェント１０３の種類などを参照して特定のエージェントにはその制限を越えた動作権限を与えるといった機能を実現することは難しい。また、エージェント受け入れ判定部１１３はエージェント１０３の識別情報からエージェントの受け入れ可否を判断するため、識別情報から安全性が判定できないエージェントの移動は禁止するという固定的なセキュリティ機能しか実現することができなかった。
【００１４】
このように、従来は、エージェントの移動や移動先でのエージェントの動作を制限するには、エージェントの識別情報と、移動先の情報機器側にてエージェントの種類やエージェントの持つ機能などに関わりなく予め定められた許容される動作とから画一的で固定的な制限のみしか与えることができないという問題点があった。
【００１５】
そこで、本発明は、上記問題点に鑑み、エージェントが機器間を移動する際には、エージェントの行う動作を移動先の情報機器に当該エージェントに予め設定された制限の範囲内で柔軟に変更することのできる情報処理方法およびそれを用いた情報処理装置を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明は、ネットワークに接続された複数の情報処理装置のうちの１つである第１の情報処理装置は、ユーザからの要求に対処するための処理を実行させる複数のプログラムを保持し、この複数のプログラムのうちの少なくとも１つを前記複数の情報処理装置のうちの他の情報処理装置としての第２の情報処理装置に移動させて、前記処理を実行するための情報処理方法であって、前記第２の情報処理装置は、自装置上での前記プログラムの実行を制限するための制限情報（セキュリティポリシー）を記憶し、前記第１の情報処理装置は、前記実行に当たって、前記第２の情報処理装置から前記制限情報を受信し、この制限情報に基づき前記第２の情報処置装置対応に前記複数のプログラムの中から少なくとも１つのプログラムを選択し、この選択されたプログラムを前記第２の情報処理装置移動させて前記処理を実行することを特徴とする。
【００１７】
好ましくは、前記選択されたプログラムのみでは、前記要求に対処するための第１の対処方法の処理を実行することができないとき、前記選択されたプログラムを用いて実行可能な第２の対処方法の処理を前記第２の情報処理装置上で実行させる。
【００１８】
好ましくは、前記プログラムの制限対象として、該プログラムの作成元、認証元、性能、品質、該プログラムが行う処理内容があり、前記制限情報は、前記第２の情報処理装置で動作可能なプログラムの作成元、認証元、性能、品質、該プログラムが行う処理内容のうちの少なくとも１つを特定したものである。
【００１９】
本発明は、ネットワークに接続された複数の情報処理装置上で、ユーザからの要求に対処するための処理を実行させる複数のプログラムをコンポーネントとして保持するエージェントを動作させて情報処理を実行するための情報処理方法であって、前記複数の情報処理装置のそれぞれは、自装置に移動して動作するエージェントの動作を制限するために前記エージェント毎に定めた制限情報（セキュリティポリシー）を記憶し、前記エージェントが前記実行に当たって前記複数の情報処理装置のうちの１つである第１の情報処理装置から前記複数の情報処理装置のうちの他の情報処理装置としての第２の情報処理装置へ移動する際には、前記第１の情報処理装置は、前記第２の情報処理装置から該エージェント対応の制限情報を受信し、この制限情報に基づき当該第２の情報処理装置対応に前記複数のコンポーネントの中から少なくとも１つのコンポーネントを選択し、この選択されたコンポーネントを保持した前記エージェントを当該第２の情報処理装置へ移動させることを特徴とする。
【００２０】
好ましくは、前記エージェントは、前記選択されたコンポーネントのみでは、前記要求に対処するための第１の対処方法の処理を実行することができないとき、前記選択されたコンポーネントを用いて実行可能な第２の対処方法の処理を前記第２の情報処理装置上で実行する。
【００２１】
好ましくは、前記コンポーネントの制限対象として、該コンポーネントの作成元、認証元、性能、品質、該コンポーネントが行う処理内容があり、前記制限情報は、前記エージェントが、前記第２の情報処理装置に持ち込み可能なコンポーネントの作成元、認証元、性能、品質、該コンポーネントが行う処理内容のうちの少なくとも１つを特定したものである。
【００２２】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
【００２３】
（第１の実施形態）
本発明の第１の実施形態として、エージェントは、ユーザからの要求に対処するための情報処理を実行するためのコンポーネントを保持しながら情報機器（情報処理装置）間を移動し、移動の際には、移動先の情報機器のセキュリティポリシーに合ったコンポーネントのみを保持して移動するエージェントの機能、移動コンポーネントの機能、プラットフォームの機能について説明する。
【００２４】
図２は、本実施形態に係る情報処理システムの機能構成を示したもので、ネットワーク接続された複数のパーソナルコンピュータや、ＰＤＡ、携帯電話等の携帯情報端末などの情報機器１，２１から構築される。エージェント２は、ある１つの情報機器（ここでは情報機器１と呼ぶ）上で動作するとともに、ネットワークを介して他の情報機器（ここでは情報機器２１と呼ぶ）に移動し、情報機器２１上でも動作する。
【００２５】
各情報機器１，２１は、それぞれの情報機器の実行環境を用いて動作するプラットフォーム３，２２を持ち、エージェント２は、このプラットフォームから実行環境を提供されて動作する。エージェント２は、情報機器１，２１の間を移動して、ユーザから入力された要求に対処する（命題を解決する）ための処理を、ユーザに代行して移動先の情報機器上のプラットフォーム上で実行する。
【００２６】
エージェント２は、ある要求に対処するための、少なくとも１つの処理ステップの処理からなる１つまたは複数の対処方法（解決方法）、すなわち、プランと、このプランを構成する上記処理ステップの処理を実行する１または複数のコンポーネント５を有する。コンポーネントは、プラットフォーム上で上記処理ステップの処理を実行させるためのプログラムである。
【００２７】
例えば、「田中さんの電話番号を検索せよ」という要求（命題）があったとする。この要求に対処するためのプランが、例えばユーザにより入力される。例えば、次に示すような２つのプランがエージェント２に入力される。どのプランを優先的に選択するかの優先度もユーザにより予め設定され、ここでは、例えば、第１のプランの方が高く設定されているものとする。
【００２８】
・第１のプラン「情報機器２１のアドレス帳から田中さんの電話番号を検索する」
・第２のプラン「情報機器２１のユーザに田中さんの電話番号を問い合わせる」
このようなプラン（の各処理ステップの処理）を実行するのがコンポーネントである。
【００２９】
コンポーネントとしては、ユーザへの問い合わせを行う処理を実行するコンポーネント、携帯電話からアドレス帳を取得・参照する処理を実行するコンポーネント、携帯電話から電話をかける処理を実行するコンポーネント等がある。
【００３０】
コンポーネントは、上記のコンポーネントに限らない。例えば、上記のコンポーネントの処理をさらに細分化して、それぞれを１つのコンポーネントとしたものがあってもよい。また、携帯電話から電話をかける処理を実行するコンポーネントであってもよいし、ＩＰ電話サービスを用いて電話をかけるコンポーネントと、既存の電話サービスを用いて電話をかけるコンポーネントがあってもよい。
【００３１】
エージェントの移動を受け付ける情報機器内のプラットフォーム（例えば、ここでは、情報機器２１のプラットフォーム２２）は、ネットワークを介して送られるエージェントの情報を受け入れ、エージェントを生成するエージェント移動受け入れ部２３と、セキュリティポリシー格納部２６と、このセキュリティポリシー格納部２６に格納されているセキュリティポリシーのうち、エージェント移動受け入れ部２３が受け入れるエージェントのセキュリティポリシーを、移動元の情報機器１に登録するセキュリティポリシー登録部２４とを持つ。
【００３２】
情報機器２１のセキュリティポリシーとは、エージェント毎に、情報機器２１内での当該エージェントの動作を制限するための情報である。すなわち、エージェント毎に、情報機器２１上でのコンポーネントの実行を制限するための情報であって、ここでは、例えば、エージェント毎に情報機器２１上で実行可能なコンポーネントを定めたものである。
【００３３】
なお、ここでは、セキュリティポリシーとして、エージェント毎に情報機器２１上で実行可能なコンポーネントを定めているが、この場合に限らず、エージェント毎に情報機器２１上で実行できないコンポーネントを定めたものであってもよい。要は、セキュリティポリシーとは、エージェント毎に、各情報機器上でその動作を制限するものであればよい。
【００３４】
セキュリティポリシー格納部２６に格納されているセキュリティポリシーは、例えば、図３に示すように、あるエージェント識別情報をもつエージェントは、どのコンポーネントを持って情報機器２１に移動可能であるかという内容を表さしたテーブル形式の情報である。
【００３５】
エージェント識別情報には、例えば、各エージェントを識別するための識別子（エージェントＩＤ）と、そのエージェントを生成したユーザの識別子（ユーザＩＤ）などが含まれる。ここでは、エージェント識別情報を「エージェントＩＤ／ユーザＩＤ」と表すことにする。
【００３６】
各コンポーネントは認証情報を持つ。認証情報には、例えば、そのコンポーネントを作成した作成元のユーザや機関を識別するための情報である作成元情報、そのコンポーネントを認証した認証元のユーザや機関を識別するための情報である認証元情報、認証元がそのコンポーネントに行った品質テストの結果を示した品質基準情報、そのコンポーネントがどの程度のコンピュータ資源（例えばメモリ資源など）を必要とするかを示した情報（例えば、サイズ）である性能基準情報、そのコンポーネントが外部の機器と通信を行うか、機器内のプライベートな情報の読み書きを行うかなどコンポーネントの機能（処理内容）に関する情報である権限基準情報などから構成される。
【００３７】
図３に示した情報機器２１のセキュリティポリシーは、各エージェント毎に（その識別情報に対応させて）、そのエージェントが情報機器２１内に持ち込める（実行可能な）コンポーネントの認証情報を特定したものである。例えば、認証情報に含まれる作成元、認証元、品質基準、性能基準、権限基準のうち、必要なものだけを特定している。
【００３８】
例えば、情報機器２１のユーザのユーザＩＤが「ａｂｃ」であり、このユーザの情報機器２１のエージェントの識別情報が「ＥＧ１／ａｂｃ」であるとする。図３に示したセキュリティポリシーによれば、エージェント識別情報が「ＥＧ１／ａｂｃ」であるエージェントは、作成元、認証元、品質基準、性能基準に関わりなく、「電話をかける」「アドレス帳を参照する」「ユーザへの問い合わせを行う」などの権限基準のコンポーネントであれば、その持ち込みを許可している。また、ある特定の個人（ユーザＩＤが「ｄｅｆ」）が生成したエージェント識別情報が「ＥＧ２／ｄｅｆ」のエージェントに対しては、「Ｖ１」で認証された「アドレス帳を参照する」という権限基準のコンポーネントや、「Ｖ２」で認証された「ユーザへの問い合わせを行う」という権限基準のコンポーネントは、それらの作成元、品質基準、性能基準に関わりなく持ち込みを許可しているが、それ以外のコンポーネントの持ち込みは許可していない。さらに、上記以外のエージェント（ここでは、ユーザＩＤやエージェントＩＤを特定しないという意味で、エージェント識別情報を「ｘｘｘ／ｘｘｘ」と表す）に対しては、「ｇｈｉ」で作成され、「Ｖ１」で認証され、さらに品質基準や性能基準をも所定値を満たした「ユーザへの問い合わせを行う」という権限基準のコンポーネントしか持ち込みを許可していない。
【００３９】
このように、情報機器２１に、図３に示すようなセキュリティポリシーを定めることにより、例えば、情報機器２１が携帯電話であった場合、情報機器２１のユーザのエージェントに対しては、情報機器２１から電話をかけるコンポーネントの持ち込みは許可し、特定の個人が生成したエージェントに対しては、情報機器２１内のアドレス帳の参照を行うコンポーネントの持ち込みを許可するが、それ以外の一般のエージェントに対しては、ユーザへの問い合わせを行うコンポーネントの持ち込みを許可するといった制御を実現することができる。
【００４０】
エージェントの移動する（移動元の）プラットフォーム（例えば、ここでは、情報機器１のプラットフォーム３）には移動コンポーネント１１が存在する。
【００４１】
移動コンポーネント１１は、エージェント２からの依頼に応じてエージェント２をネットワークを介して情報機器２１に移動させる処理を行うコンポーネントである。
【００４２】
移動コンポーネント１１は、移動先のプラットフォームのセキュリティポリシー登録部２４から送信されるセキュリティポリシーを受け取るセキュリティポリシー管理部１２を備える。また、エージェント２から情報機器２１への移動の依頼があった場合に、エージェント２の保持するコンポーネント５を、セキュリティポリシー管理部１２に送信されたセキュリティポリシーに照らしてチェックしするとともに、セキュリティポリシーを基に、移動先のプラットフォームに持ち込むコンポーネントを選択する（例えば、ここでは、移動先のプラットフォームでは実行不可能なコンポーネントを削除することにより、移動先のプラットフォームに持ち込むコンポーネントを選択する）、エージェント保持コンポーネントチェック部１３を備える。また、少なくともこの選択されたコンポーネントを保持したエージェント２を情報機器２１内のエージェント移動受け入れ部２３に送信する、エージェント移動実現部１４を備える。
【００４３】
エージェント２は、１または複数のコンポーネント５の他に、上記したエージェント識別情報を格納するエージェント識別情報格納部３、ユーザから入力されたプランを格納するプラン格納部４と、プラン選択部３２を持つ。
【００４４】
プラン選択部３２は、現在選択されている（その時点で最も優先度の高い）プランが現在エージェントが保持しているコンポーネントを用いて実行可能か否かをチェックするとともに、必要に応じて、現在エージェントが保持しているコンポーネントを用いて実行可能な他のプランをプラン格納部４に格納されているプランの中からその優先度に従って選択する。
【００４５】
なお、プラン格納部４に格納されるプランは、ユーザから直接入力されたものであるとする。
【００４６】
図４は、情報機器１の構成をより詳細に示したもので、エージェント保持コンポーネントチェック部１３が、セキュリティポリシー管理部１２を用いて、エージェントの保持するコンポーネントをチェックするための要部の構成を示したものである。
【００４７】
各コンポーネント５は、認証情報管理部６を持ち、そのコンポーネントの上記認証情報を図５に示すように格納し、管理する。
【００４８】
セキュリティポリシー管理部１２は、移動先の情報機器のセキュリティポリシー登録部２４から送られてきたセキュリティポリシー１５を記憶し、管理する。
【００４９】
エージェント保持コンポーネントチェック部１３は、認証情報照合部１６を持ち、セキュリティポリシー管理部１２内に記憶された移動先の情報機器のセキュリティポリシーと、エージェント２の保持する各コンポーネント５の認証情報とを照合し、各コンポーネント５の持ち込みの可否を判定する。
【００５０】
次に、図６〜図８に示すフローチャートを参照して、図２の情報処理システムの処理動作について説明する。
【００５１】
図６のフローチャートは、エージェント２が情報機器１から情報機器２１へ移動する際に、情報機器２１が情報機器１からのエージェント移動を受け付けるための情報機器１と情報機器２１との間の前処理を説明するためのものである。例えば、エージェント２が移動コンポーネント１１に対し、情報機器２１への移動を依頼したとき、セキュリティポリシー管理部１２は、エージェント２のエージェント識別情報を情報機器２１のプラットフォーム２２に送信して、セキュリティポリシーを問い合わせる。すると、セキュリティポリシー登録部２４から、エージェント２のエージェント識別情報に対応するセキュリティポリシーが送信される（ステップＳ１）。このとき、プラットフォーム２２に予め定められているそのプラットフォームを識別するための識別情報（ＩＤ）もセキュリティポリシーとともに送信するようにしてもよい。なお、セキュリティポリシー管理部１２は情報機器２１のプラットフォーム２２に、エージェント２のエージェント識別情報を送信せずに、セキュリティポリシー登録部２４から、全てのセキュリティポリシーが送信されてきてもよい。
【００５２】
その後、移動コンポーネント１１内のセキュリティポリシー管理部１２が受信したセキュリティポリシーを登録する（ステップＳ２）。セキュリティポリシー管理部１２は、例えば、この受信したセキュリティポリシーを、移動先のプラットフォーム２２のＩＤなどと組みにしてテーブル形式で管理する。
【００５３】
図７のフローチャートは、移動コンポーネント１１を用いてエージェント２が情報機器１から情報機器２１へ移動する際の処理動作を説明するためのものである。
【００５４】
エージェント２が移動コンポーネント１１に移動先の情報機器（あるいはプラットフォーム）を指定して、移動を依頼すると（ステップＳ１１）、移動コンポーネント１１は、図６に示したように移動先の情報機器からセキュリティポリシーを取得する。その後、エージェント保持コンポーネントチェック部１３がエージェント２の保持するコンポーネントをセキュリティポリシーと照合してチェックする（ステップＳ１２）。
【００５５】
エージェント２の保持するコンポーネントの中にセキュリティポリシーに違反するコンポーネントが存在する場合は、そのコンポーネントをエージェント２から削除する（ステップＳ１３、ステップＳ１４）。削除の方法は、エージェント２から消去する方式でも、エージェント２から一時的に没収し、エージェント２が情報機器１に戻ってきたときに返却する方式でも良い。
【００５６】
プラン選択部３２は、エージェント２からコンポーネントが削除された場合、残ったコンポーネントで現在のプランが実行可能な否かをチェックする（ステップＳ１５）。実行可能であれば、そのまま、そのプランを採用する。現在のプランが残っているコンポーネントで実行できないとき、残っているコンポーネントのみで実行可能なプランを選択する（ステップＳ１６）。
【００５７】
その後、エージェントはエージェント移動実現部１４およびエージェント移動受け入れ部２３を用いて情報機器２１に移動する（ステップＳ１７）。
【００５８】
次に、図７のステップＳ１２〜ステップＳ１４のエージェント保持コンポーネントチェック部１３の処理動作について、図８に示すフローチャートを参照して、より詳細に説明する。
【００５９】
エージェント保持コンポーネントチェック部１３の認証情報総合部１６は、セキュリティポリシー管理部１２に登録されている移動先の情報機器２１のセキュリティポリシー（当該エージェントの識別情報対応のセキュリティポリシー）を取得する（ステップＳ２１）。
【００６０】
その後、認証情報照合部１６は、エージェント２内にあるコンポーネント５の認証情報を１つずつチェックしていく。すなわち、認証情報照合部１６は、コンポーネント５の認証情報管理部６から、そのコンポーネントの認証情報を取得すし（ステップＳ２２）、その認証情報と当該エージェントの識別情報対応のセキュリティポリシーとを照合する。当該コンポーネントの認証情報に、当該エージェントの識別情報対応のセキュリティポリシーに違反する内容のものが含まれているときは、エージェント保持コンポーネントチェック部１３は、当該コンポーネントを当該エージェント２から削除する（ステップＳ２３，ステップＳ２４）。
【００６１】
以上の処理をエージェント２が保持する全てのコンポーネントについて行う（ステップＳ２５）。
【００６２】
例えば、エージェント２のエージェント識別情報が「ＥＧ２／ｄｅｆ」のとき、情報機器２１のセキュリティポリシーによれば（図３参照）、当該エージェントには、「Ｖ１」で認証された「アドレス帳を参照する」という権限基準のコンポーネントと、「Ｖ２」で認証された「ユーザへの問い合わせを行う」という権限基準のコンポーネントの持ち込み（実行）が許可されている。一方、エージェント２は、「Ｖ１」で認証された「アドレス帳を参照する」という権限基準のコンポーネントと、「Ｖ２」で認証された「ユーザへの問い合わせを行う」という権限基準のコンポーネントと、「Ｖ１」で認証された「電話をかける」という権限基準のコンポーネントを保持しているとする。
【００６３】
そこで、エージェント保持コンポーネントチェック部１３は、エージェント２の保持する上記３つのコンポーネントのうち、上記エージェント識別情報「ＥＧ２／ｄｅｆ」対応のセキュリティポリシーに違反する、「電話をかける」という権限基準のコンポーネントを削除する。
【００６４】
また、エージェント２は、「アドレス帳を参照する」という権限基準のコンポーネントを保持していたが、それが、「Ｖ１」ではなく「Ｖ２」で認証されているものであるときは、このコンポーネントも上記セキュリティポリシーに違反するので、削除される。
【００６５】
図７のステップＳ１５，ステップＳ１６の処理について具体的に説明する。
【００６６】
例えば、エージェント２のエージェント識別情報が「ＥＧ２／ｄｅｆ」であり、現在のプランが上記第１のプラン「情報機器２１のアドレス帳から田中さんの電話番号を検索する」であるとする。また、エージェント２は、「Ｖ１」で認証された「アドレス帳を参照する」という権限基準のコンポーネントと、「Ｖ２」で認証された「ユーザへの問い合わせを行う」という権限基準のコンポーネントと、「Ｖ１」で認証された「電話をかける」という権限基準のコンポーネントを保持しているとする。
【００６７】
この場合、情報機器２１のセキュリティポリシーによれば（図３参照）、当該エージェント２には、「Ｖ１」で認証された「アドレス帳を参照する」という権限基準のコンポーネントと、「Ｖ２」で認証された「ユーザへの問い合わせを行う」という権限基準のコンポーネントの持ち込み（実行）が許可されている。従って、この場合、図８の処理により、エージェント保持コンポーネントチェック部１３は、エージェント２の保持する上記３つのコンポーネントのうち、上記エージェント識別情報「ＥＧ２／ｄｅｆ」対応のセキュリティポリシーに違反する、「電話をかける」という権限基準のコンポーネントを削除する。
【００６８】
この場合、図７のステップＳ１５のチェックにおいて、「電話をかける」という権限基準のコンポーネントを削除されても、現在のプラン（上記第１のプラン）は、実行可能であるので、ステップＳ１６をスキップして、ステップＳ１７へ進む。
【００６９】
しかし、エージェント２の保持する、「アドレス帳を参照する」という権限基準のコンポーネントが、「Ｖ１」ではなく「Ｖ２」で認証されているものであるときは、このコンポーネントも上記セキュリティポリシーに違反するので、図８の処理により、削除されてしまう。この場合、図７のステップＳ１５のチェックにおいて、「電話をかける」という権限基準のコンポーネントと、「アドレス帳を参照する」という権限基準のコンポーネントが削除されてしまうので、現在のプラン（上記第１のプラン）は、もはや実行することはできないと判断される。そこで、ステップＳ１６では、プラン選択部３２は、プラン格納部４に他のプランが格納されていて、それが、現在残っているコンポーネントのみで実行可能であるときは、それを選択する。例えば、プラン格納部４に、上記第１のプランの他に、上記第２のプランが格納されているとすると、この第２のプランは、現在残っている「ユーザへの問い合わせを行う」という権限基準のコンポーネントで実行可能であるので、プラン選択部３２は、この第２のプランを選択する。
【００７０】
エージェントは、図７のステップＳ１７において、エージェント移動実現部１４およびエージェント移動受け入れ部２３を用いて情報機器２１に移動した際には、第２のプランの処理を実行する。この場合、情報機器２１に生成されたエージェント２は、例えば、田中さんの電話番号を問い合わせるダイアログを表示するといった動作を行う。
【００７１】
以上説明したように、上記第１の実施形態によれば、エージェント２が情報機器１から情報機器２１へ移動する際には、情報機器２１から送信されたエージェント２対応のセキュリティポリシー（制限情報）に基づき、エージェント２の保持するコンポーネントから情報機器２１へ持ち込み可能なコンポーネント以外のコンポーネントを削除し、その際、現在のプランが実行することができないとき、残っているコンポーネントを用いて実行可能な他のプランを選択して、情報機器２１上で当該プラン対応の処理を実行することにより、エージェントが機器間を移動する際に、エージェントの行う動作を移動先の情報機器に当該エージェントに対し予め定められた制限の範囲内で柔軟に変更することができる。
【００７２】
（１）エージェントは複数のコンポーネントを保持する。（２）エージェントが移動する際に移動先のプラットフォームのセキュリティポリシーに従って移動先のプラットフォームへ持ち込むコンポーネントを選択する（すなわち、ここでは、エージェント内から移動先のプラットフォームで実行できないコンポーネントを削除する）。（３）エージェントはコンポーネントが削除された後、必要に応じて動作（プラン）を変更する。（４）セキュリティポリシーはエージェントの識別情報やコンポーネントの認証情報によって設定される。
【００７３】
すなわち、ある情報機器上に移動してくるエージェントに対して、エージェントの識別情報やエージェントのもつ各コンポーネントの認証情報を用いた細かなセキュリティポリシーの適用ができる。また、セキュリティポリシーが適用された後、エージェントが動作（プラン）を変更することにより、セキュリティポリシー内で可能な動作で処理を代替することができる。
【００７４】
（第２の実施形態）
上記第１の実施形態では、プラン格納部４に、ユーザから入力された１または複数のプランが格納されている場合について説明した。
【００７５】
次に、第２の実施形態では、プランナーコンポーネントにより、ユーザから入力された要求に対処するためのプランを複数作成し、その中から移動先の情報機器のセキュリティポリシーに合ったコンポーネントの範囲内で実行可能なプランを選択する場合について説明する。なお、第１の実施形態と異なる部分についてのみ説明する。
【００７６】
図９は、第２の実施形態に係る情報処理システムの機能構成を示したものである。なお、図９において、図１と同一部分には同一符号を付し、異なる部分について説明する。すなわち、情報機器１のプラットフォーム３内にプランナーコンポーネント３１を備えていて、このプランナーコンポーネント３１にて生成された１または複数のプランがプラン格納部４に格納される。
【００７７】
プランナーコンポーネント３１は、ユーザからの要求に対処するための、少なくとも１つの処理ステップの処理からなる複数の対処方法、すなわち、プランを作成するものである。プランナーコンポーネント３１は、検索、スケジューリング、エージェントの移動等の処理の種別毎に複数存在する。ここでは、説明の簡単のため、電話番号の探索のプランを複数生成する探索のプランナーコンポーネントについて説明する。探索のプランナーコンポーネントは、予め複数のモデルプランをテーブル形式にて記憶している。モデルプランとしては、例えば、「情報機器２１のアドレス帳から電話番号を検索する」、「情報機器２１のユーザに問い合わせる」などがある。例えば、エージェント２に、ユーザから「田中さんの電話番号を検索せよ」なる要求が入力されたとする。エージェント２は、この要求に対処するプランの生成をプラットフォーム３を介してプランナーコンポーネント３１に依頼する。プランナーコンポーネント３１は、この要求に対し、例えば、次に示すような２つのプランを生成することになる。
【００７８】
・第１のプラン「情報機器２１のアドレス帳から田中さんの電話番号を検索する」
・ 第２のプラン「情報機器２１のユーザに田中さんの電話番号を問い合わせる」
複数のプランが生成されれば、どれを優先して用いるかという優先度が与えられることが望ましい。優先度は、例えば、より確実に要求に対処できるという観点から予めモデルプランに設定されていてもよい。また、プランナーコンポーネント３１が上記のようなプランを生成する際には、エージェント知識（図９には図示せず）を参照して、各プランに優先度を設定するようにしてもよい。エージェント知識とは、ユーザにより指定された、例えば、プランを作成する上での条件等であって、処理時間優先、省資源優先等や、プラットフォーム上で利用可能な機能、コンポーネントに関する情報等である。例えば、処理時間優先という条件の下では、モデルプランのうち、できるだけ処理時間の短いプランに優先度を高く設定する。
【００７９】
プランナーコンポーネント３１により生成された１または複数のプランをプラン格納部４に格納すること以外は、第１の実施形態の説明と同様である。
【００８０】
このように、プランナーコンポーネントを用いてユーザからの要求に対処するための複数のプランを生成することにより、そのエージェントにで実行可能な対処方法を自動的に生成することができ、より確実にエージェントからの要求に対処できる。すなわち、ユーザからの要求に対する回答がより確実に得ることができる。
【００８１】
（第３の実施形態）
上記第２の実施形態では、プランナーコンポーネント３１は、プラットフォーム３に備えられている場合について説明した。次に、第３の実施形態では、エージェント２がプランナーコンポーネント３１を保持し、移動先の情報機器のセキュリティポリシーに合っていれば、このプランナーコンポーネント３１を移動先の情報機器にも持ち込むことができる場合について説明する。
【００８２】
図１０は、第３の実施形態に係る情報処理システムの機能構成を示したものである。なお、図１０において、図１と同一部分には同一符号を付し、異なる部分について説明する。すなわち、情報機器１のエージェント２は、プランナーコンポーネント４１を保持していて、このプランナーコンポーネント４１にて生成された１または複数のプランがプラン格納部４に格納されるようになっている。
【００８３】
プランナーコンポーネント４１は、第２の実施形態で説明したプランナーコンポーネント３１と同様である。
【００８４】
プランナーコンポーネント４１も他のコンポーネントと同様、図５に示すような認証情報が認証情報管理部４２に格納されている。
【００８５】
第３の実施形態の場合、移動先の情報機器（例えば、ここでは、情報機器２１）のセキュリティポリシーにおいて、例えば、図１１に示すように、権限基準が「プランを生成する（プランナー）」なるコンポーネントの持ち込みが許可されているときには、図７に示したようにして、エージェント２は、プランナーコンポーネント４１を保持したまま、情報機器２１に移動することができる。
【００８６】
エージェント２がプランナーコンポーネント４１を移動先の情報機器２１へ持ち込むことが可能になれば、エージェント２は、移動先の情報機器２１において、当該エージェント対応に許可されたコンポーネントが備えられて入れば、そのコンポーネントを用いた新たなプランを生成することも可能である。
【００８７】
（第４の実施形態）
例えば、図９、図１０に示したような構成において、エージェント２の他の移動動作について具体的に説明する。
【００８８】
例えば、エージェント２のエージェント識別情報が「ＥＧ２／ｄｅｆ」であり、プランナーコンポーネント４１にて上記第１および第２のプランが生成されて、プラン格納部４に格納されているとする。また、エージェント２は、「Ｖ３」で認証された「アドレス帳を参照する」という権限基準のコンポーネントと、「Ｖ２」で認証された「ユーザへの問い合わせを行う」という権限基準のコンポーネントと、「Ｖ１」で認証された「電話をかける」という権限基準のコンポーネントとを保持しているとする。
【００８９】
この場合、情報機器２１のセキュリティポリシーによれば（図１１参照）、当該エージェント２には、「Ｖ２」で認証された「ユーザへの問い合わせを行う」という権限基準のコンポーネントの持ち込み（実行）が許可されている。このとき、図８の処理により、エージェント保持コンポーネントチェック部１３は、エージェント２の保持する上記４つのコンポーネントのうち、上記エージェント識別情報「ＥＧ２／ｄｅｆ」対応のセキュリティポリシーに違反する「アドレス帳を参照する」という権限基準のコンポーネントと、「電話をかける」という権限基準のコンポーネントを削除する。
【００９０】
この場合、図７のステップＳ１５のチェックにおいて、「アドレス帳を参照する」という権限基準のコンポーネントと、「電話をかける」という権限基準のコンポーネントとが削除されると、現在のプラン（上記第１のプラン）は、実行不可能であると判断される。そこで、ステップＳ１６では、プラン選択部３２は、プラン格納部４に格納されている他のプランであって、現在残っているコンポーネントのみで実行可能なプラン、すなわち、上記第２のプランを選択する。
【００９１】
その後、図７のステップＳ１７において、エージェント２は、「ユーザへの問い合わせを行う」という権限基準のコンポーネントを保持して状態で、情報機器２１へ移動する。
【００９２】
このとき、情報機器２１のプラットフォーム２２には、エージェント識別情報「ＥＧ２／ｄｅｆ」対応のセキュリティポリシーに適合した、「Ｖ１」で認証された「アドレス帳を参照する」という権限基準のコンポーネントが備えられていたとする。この場合、情報機器２１に移動したエージェント２のプラン選択部３２は、プラットフォーム２２から、「Ｖ１」で認証された「アドレス帳を参照する」という権限基準のコンポーネントの存在する旨を通知を受けると、現在のプランより優先度の高い上記第１のプランの実行が可能であるので、上記第１のプランを選択し直す。
【００９３】
エージェント２は、移動先の情報機器２１に存在する「アドレス帳を参照する」という権限基準のコンポーネントを用いて上記第１のプランを実行する。
【００９４】
もちろん、移動先の情報機器２１に、上記したように、プランを選択し直すようなコンポーネントが存在しないときは、先に選択した第２のプランを実行することになる。
【００９５】
このように、エージェント２が移動先の情報機器のセキュリティポリシーに適合するようなコンポーネントを保持していないとき、移動先の情報機器に、当該エージェント対応のセキュリティポリシーに適合したコンポーネントが存在するとき、そのコンポーネントを用いることにより、より優先度の高いプランを実行することができるのであれば、移動先でプランを選択し直すこともできる。
【００９６】
上記第１〜第４の実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、ＤＶＤ、ＣＤ−ＲＯＭ、フロッピディスク、個体メモリ、光ディスクなどの記録媒体に格納して頒布することもできる。
【００９７】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題（の少なくとも１つ）が解決でき、発明の効果の欄で述べられている効果（のなくとも１つ）が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００９８】
また、本発明の上記手法は、上記エージェントシステムに限らず、例えば、Ｊａｖａ（登録商標）アプレットをダウンロードする際など、ある情報機器から他の情報機器へプログラムを移動させて、当該他の情報機器上で動作させる場合にも適用可能である。
【００９９】
【発明の効果】
以上説明したように、本発明によれば、エージェントが機器間を移動する際には、エージェントの行う動作を移動先の情報機器に当該エージェント対応に予め設定された制限の範囲内で柔軟に変更することのできる。
【図面の簡単な説明】
【図１】従来例を説明するための図で、エージェントが動作する情報機器の機能構成例を示した図。
【図２】本発明の第１の実施形態に係る情報処理システムの機能構成を示した図。
【図３】セキュリティポリシーの具体例を示した図。
【図４】図２の情報機器１の構成をより詳細に示した図。
【図５】各コンポーネントの持つ認証情報の格納例を示した図。
【図６】エージェントが情報機器１から情報機器２１へ移動する際に、情報機器２１が情報機器１からのエージェント移動を受け付けるための情報機器１と情報機器２１との間の前処理を説明するためのフローチャート。
【図７】エージェントが情報機器１から情報機器２１へ移動する際の処理動作を説明するためのフローチャート。
【図８】図７のステップＳ１２〜ステップＳ１４のエージェント保持コンポーネントチェック部１３の処理動作についてより詳細に説明するためのフローチャート。
【図９】本発明の第２の実施形態に係る情報処理システムの機能構成を示したもので、プラットフォームにプランナーコンポーネントが備えられている場合を示した図。
【図１０】本発明の第３の実施形態に係る情報処理システムの機能構成を示したもので、エージェントがプランナーコンポーネントを保持する場合を示した図。
【図１１】エージェントがプランナーコンポーネントを保持する場合のセキュリティポリシーの具体例を示した図。
【符号の説明】
１、２１…情報機器
２…エージェント
３…プラットフォーム
４…プラン格納部
５…コンポーネント
６…認証情報格納部
１１…移動コンポーネント
１２…セキュリティポリシー管理部
１３…エージェント保持コンポーネントチェック部
１４…エージェント移動実現部
１５…セキュリティポリシー格納部
１６…認証情報照合部
２２…プラットフォーム
２３…エージェント移動受け入れ部
２４…セキュリティポリシー登録部
２６…セキュリティポリシー格納部
３１、４１…プランナーコンポーネント
３２…プラン選択部
４２…認証情報管理部
【図１】
0003772102.tif 000002
【図２】
0003772102.tif 000003
【図３】
0003772102.tif 000004
【図４】
0003772102.tif 000005
【図５】
0003772102.tif 000006
【図６】
0003772102.tif 000007
【図７】
0003772102.tif 000008
【図８】
0003772102.tif 000009
【図９】
0003772102.tif 000010
【図１０】
0003772102.tif 000011
【図１１】
0003772102.tif 000012