(57)【要約】【課題】ユーザが欲するサービスをその場、その時点で生成し、提案・提供する。【解決手段】モバイルエージェント１０は、ネットワーク２上を自律的に移動する移動手順と、自サービステンプレートに基づくサービスを求めているユーザエージェント２０を一定時間毎に検索するユーザエージェント検索手順と、サービスに必要なサービスエレメント３０を検索するサービスエレメント検索手順と、ユーザエージェント２０とサービスエレメント３０とをサービステンプレートに基づいて動的にバインドすることでサービスを生成するサービス生成手順と、ユーザに生成したサービスを提案するサービス提案手順と、ユーザの承認が得られたサービスを実行するサービス提供手順とを実行する。【選択図】        図２
2004240834.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上の機能を抽象化した単位であるサービス構成要素の動作順序が記述されたサービステンプレートを有し、前記ネットワーク上を自律的に移動するモバイルエージェントによって、前記ネットワーク上の前記サービス構成要素からユーザが欲するサービスを生成するサービス生成方法であって、
ユーザのコンテキスト管理する複数のユーザエージェントの中から前記サービステンプレートに基づくサービスを欲するユーザのユーザエージェントを検索するユーザエージェント検索手順と、
前記サービステンプレートに基づくサービスに必要なサービス構成要素を検索するサービス構成要素検索手順と、
発見した前記ユーザエージェントと前記サービス構成要素とを前記サービステンプレートに基づいて動的にバインドしサービスを生成するサービス生成手順と、
生成した前記サービスを前記ユーザに提案するサービス提案手順と、
前記ユーザの承認が得られた前記サービスを実行するサービス提供手順と
を実行することを特徴とするサービス生成方法。
【請求項２】
請求項１記載のサービス生成方法において、
前記ユーザエージェント検索手順は、
サーバを介することなく前記ユーザエージェントを検索するピュア型のピアツーピア検索を行うとともに、問い合わせるピアのホップ数上限値であるＴＴＬ値によって検索範囲を制限することを特徴とするサービス生成方法。
【請求項３】
請求項１記載のサービス生成方法において、
前記サービス構成要素検索手順は、
サーバを介することなく前記サービス構成要素を検索するピュア型のピアツーピア検索、あるいは、前記サービス構成要素のメタデータを管理するインデックスサーバを介して前記サービス構成要素を検索するハイブリッド型ピアツーピア検索を行うことを特徴とするサービス生成方法。
【請求項４】
請求項１記載のサービス生成方法において、
前記生成したサービスの利用頻度が少ない場合には前記モバイルエージェントの移動頻度を高くし、
前記生成したサービスの利用頻度が多い場合には前記モバイルエージェントの移動頻度を低くすることを特徴とするサービス生成方法。
【請求項５】
請求項４記載のサービス生成方法において、
前記モバイルエージェントの移動頻度が第１の閾値よりも高くなると前記モバイルエージェントを消去し、
前記モバイルエージェントの移動頻度が第２の閾値よりも低くなると前記モバイルエージェントの複製を１つ生成し、前記モバイルエージェントと前記モバイルエージェントの複製に前記第１の閾値より低くかつ前記第２の閾値より高い移動頻度を設定することを特徴とするサービス生成方法。
【請求項６】
請求項１〜５のいずれか記載のサービス生成方法において、
前記ユーザエージェント検索手順に代えて、前記ユーザが欲するサービスを生成する前記サービステンプレートを有し、前記サービス構成要素検索手順、前記サービス生成手順、前記サービス提案手順および前記サービス提供手順を実行するモバイルエージェントを検索するモバイルエージェント検索手順を実行することを特徴とするサービス生成方法。
【請求項７】
ネットワーク上を自律的に移動し、前記ネットワーク上の機能を抽象化した単位であるサービス構成要素の動作順序が記述されたサービステンプレートに基づいて、前記ネットワーク上の前記サービス構成要素からユーザが欲するサービスを前記ネットワーク上のコンピュータに生成させるサービス生成プログラムであって、
ユーザのコンテキスト管理する複数のユーザエージェントの中から前記サービステンプレートに基づくサービスを欲するユーザのユーザエージェントを検索するユーザエージェント検索手順と、
前記サービステンプレートに基づくサービスに必要なサービス構成要素を検索するサービス構成要素検索手順と、
発見した前記ユーザエージェントと前記サービス構成要素とを前記サービステンプレートに基づいて動的にバインドしサービスを生成するサービス生成手順と、
生成した前記サービスを前記ユーザに提案するサービス提案手順と、
前記ユーザの承認が得られた前記サービスを実行するサービス提供手順と
を前記コンピュータに実行させることを特徴とするサービス生成プログラム。
【請求項８】
請求項７記載のサービス生成プログラムにおいて、
前記ユーザエージェント検索手順は、
サーバを介することなく前記ユーザエージェントを検索するピュア型のピアツーピア検索を行うとともに、問い合わせるピアのホップ数上限値であるＴＴＬ値によって検索範囲を制限することを特徴とするサービス生成プログラム。
【請求項９】
請求項７記載のサービス生成プログラムにおいて、
前記サービス構成要素検索手順は、
サーバを介することなく前記サービス構成要素を検索するピュア型のピアツーピア検索、あるいは、前記サービス構成要素のメタデータを管理するインデックスサーバを介して前記サービス構成要素を検索するハイブリッド型ピアツーピア検索を行うことを特徴とするサービス生成プログラム。
【請求項１０】
請求項７記載のサービス生成プログラムにおいて、
前記生成したサービスの利用頻度が少ない場合には移動頻度を高くし、
前記生成したサービスの利用頻度が多い場合には移動頻度を低くする
ことを特徴とするサービス生成プログラム。
【請求項１１】
請求項１０記載のサービス生成プログラムにおいて、
前記移動頻度が第１の閾値よりも高くなると自身を消去し、
前記移動頻度が第２の閾値よりも低くなると自身の複製を１つ生成し、自身と自身の複製に前記第１の閾値より低くかつ前記第２の閾値より高い移動頻度を設定することを特徴とするサービス生成プログラム。
【請求項１２】
ネットワークに接続されたコンピュータ端末に、
サービスを欲するユーザのコンテキストを管理させるコンテキスト管理手順と、
前記ネットワーク上のコンピュータに前記ユーザが欲するサービスを生成させる請求項７〜１１のいずれかに記載のサービス生成プログラムを検索させる手順と、
前記サービス生成プログラムに前記ユーザが欲するサービスの情報を通知させる手順とを実行させることを特徴とするユーザエージェントプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数多くの多様な電子機器がネットワークに接続されたユビキタス・コンピューティング（Ｕｂｉｑｕｉｔｏｕｓ  Ｃｏｍｐｕｔｉｎｇ）環境における、サービス生成技術に関するものである。
【０００２】
【従来の技術】
ＩＴ技術の進歩により、数多くの機器がネットワークに接続され、多くの情報やサービスがネットワークを介して利用可能となっている。これらの多くの情報やサービスからユーザが所望の情報やサービスを享受するには、検索サイトなどを利用して発見するという過程が重要となっている。しかし、従来の検索サイトを使った方式は、無秩序に蓄積されたサービスの中から、その場、その時点でユーザが欲するサービスを探し出し、使用する形式になっており、その探し出す手間が非常にかかるため、簡単にサービスを受けるということが事実上困難になっている。例えば、Ｗｅｂページ検索サイトで適切なＷｅｂページを探し出すためには、ユーザ自身が適切なキーワードを選び出し、入力する必要がある。このとき、何が適切なキーワードであるかは、とりあえず入力を行い、その検索結果を見て再度入力を行うという、トライアンドエラーの繰り返しを行う必要がある。
【０００３】
また、そもそも、ユーザに適したサービスが、その部分となるサービス構成要素が存在していても、それら部品を組み合わせたサービスとしては存在しない場合もありえる。簡単な例として、動画ファイルは様々なファイル形式をとっていて、発見した動画ファイルが、自分のパーソナルコンピュータにインストールされている動画実行アプリケーションでは開けないファイルであることも多い。さらに、モバイル技術の進歩やセンサ端末の普及により、近い将来実現されるであろうユビキタス・コンピューティング環境では、端末やコンテンツが多種・多様になり、またいつその情報にアクセスできるかわからない状況もあるため、すべての情報やサービスをサーバで管理する従来のクライアントサーバ方式では、最適な情報やサービスを適切に発見することが困難になることが予測される。
【０００４】
近年、このような問題に対応しユビキタス・コンピューティング環境を使いこなすために、固定のサービスをあらかじめ用意しておくクライアントサーバ方式に代わるものとして、その場、その時に利用可能なハードウエア、コンテンツ、ソフトウエアなどネットワークを介してアクセス可能なすべての機能であり、サービスを実現するためのサービス構成要素であるサービスエレメント（Ｓｅｒｖｉｃｅ  Ｅｌｅｍｅｎｔ）をネットワーク上から発見し、これを組み合わせることでサービスを動的に生成する研究が進んでいる。
【０００５】
動的なサービス生成の研究例としては、ユーザが自端末を用いて、近くのピア（電子機器）が保持しているサービステンプレートを発見し、そのサービステンプレートに基づいて、ネットワーク上のサービスエレメントを発見・接続することで、合成サービスを利用する方法が知られている（例えば、非特許文献１参照。）。
【０００６】
また、自律動作するサービスエレメントが、他のサービスエレメントとインタラクションを介してグループ化することでサービスを生成するとともに、生成されたサービスがユーザの評価により進化または淘汰されることにより、よりよい組合せが残り、よい合成サービスを提供する方法が知られている（例えば、非特許文献２参照。）。
【０００７】
さらに、ユーザがネットワーク上のサービス合成エンジン（Ｓｅｒｖｉｃｅ  Ｒｅｓｏｌｖｅｒ）にサービステンプレート（Ｓｅｒｖｉｃｅ  Ｇｒａｐｈ）を送信し、そのテンプレートに基づいてサービス合成エンジンがネットワークからサービスエレメントを発見し、バインドすることでサービスを生成する方法が知られている（例えば、非特許文献３参照。）。
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【０００８】
【非特許文献１】
山登庸次，ｅｔ  ａｌ．，「Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓを用いたサービス自動生成方式の検討」，２００２年電子情報通信学会通信ソサイエティ大会，２００２年９月，Ｂ−６−１１２，ｐ．１３６
【非特許文献２】
須田達也，ｅｔ  ａｌ．，「アプリケーション創発のための適応型ネットワーキングアーキテクチャ：Ｊａ−Ｎｅｔ」，情報処理学会誌，２００２年６月，４３巻６号，ｐ．６１６−６２２
【非特許文献３】
南正輝，ｅｔ  ａｌ．，「動的でアドホックなネットワークサービスフレームワークの検討」，ＤＩＣＯＭＯ２０００，２００２年６月
【０００９】
【発明が解決しようとする課題】
しかしながら、非特許文献１に記載された方法は、ユーザが自端末を用いて、近くのピアが保持しているサービステンプレートを発見し、そのサービステンプレートに基づいて、ネットワーク上のサービスエレメントを発見・接続することで、生成される合成サービスを利用するものであるため、アクションを起こすのはユーザ側であり、ネットワーク側からユーザにサービスを提案する形態は想定されていなかった。
【００１０】
非特許文献２に記載された方法は、自律動作するサービスエレメントが、他のサービスエレメントとインタラクションを介してグループ化することでサービスを生成し、生成されたサービスがユーザの評価により進化または淘汰されることでネットワークから多様なサービスを提案するものであるため、提案されたサービスがユーザにとって必ずしも有用であるとは限らず、ユーザの欲するサービスがその場、その時点で提案される確率が低いという問題があった。
【００１１】
非特許文献３に記載された方法は、ユーザがネットワーク上のサービス合成エンジン（Ｓｅｒｖｉｃｅ  Ｒｅｓｏｌｖｅｒ）にサービステンプレート（Ｓｅｒｖｉｃｅ  Ｇｒａｐｈ）を送信し、そのテンプレートに基づいてサービス合成エンジンがネットワークからサービスエレメントを発見し、バインドすることでサービスを生成するものであるため、ユーザ自身がサービステンプレートを記述あるいはどこからか入手して持っていなければならないという問題があった。また、サービスエレメントを発見するサーバの存在を前提にしているため管理コストがかかるという問題があった。
【００１２】
本発明は、上記課題を解決するためになされたもので、その目的はネットワーク状態やソフトウェアやハードウェアといったサービスを実現するためのサービスエレメントが時々刻々変化する状況の中で、ユーザが欲しているサービスをその場、その時点で利用可能なサービスエレメントを組み合わせることで生成し、ユーザに提案、提供するサービス生成方法およびプログラムを提供することにある。
【００１３】
【課題を解決するための手段】
上述した課題を解決するために、本発明のサービス生成方法は、ネットワーク上の機能を抽象化した単位であるサービス構成要素の動作順序が記述されたサービステンプレートを有し、ネットワーク上を自律的に移動するモバイルエージェントによって、ネットワーク上のサービス構成要素からユーザが欲するサービスを生成するサービス生成方法であって、ユーザのコンテキスト管理する複数のユーザエージェントの中からサービステンプレートに基づくサービスを欲するユーザのユーザエージェントを検索するユーザエージェント検索手順と、サービステンプレートに基づくサービスに必要なサービス構成要素を検索するサービス構成要素検索手順と、発見したユーザエージェントとサービス構成要素とをサービステンプレートに基づいて動的にバインドしサービスを生成するサービス生成手順と、生成したサービスをユーザに提案するサービス提案手順と、ユーザの承認が得られたサービスを実行するサービス提供手順とを実行することによって特徴づけられる。
【００１４】
この場合、ユーザエージェント検索手順の一構成例は、サーバを介することなくユーザエージェントを検索するピュア型のピアツーピア検索を行うとともに、問い合わせるピアのホップ数上限値であるＴＴＬ値によって検索範囲を制限する。サービス構成要素検索手順の一構成例は、サーバを介することなくサービス構成要素を検索するピュア型のピアツーピア検索、あるいは、サービス構成要素のメタデータを管理するインデックスサーバを介してサービス構成要素を検索するハイブリッド型ピアツーピア検索を行う。
【００１５】
このサービス生成方法の一構成例は、生成したサービスの利用頻度が少ない場合にはモバイルエージェントの移動頻度を高くし、生成したサービスの利用頻度が多い場合にはモバイルエージェントの移動頻度を低くする。この場合、モバイルエージェントの移動頻度が第１の閾値よりも高くなるとモバイルエージェントを消去し、モバイルエージェントの移動頻度が第２の閾値よりも低くなるとモバイルエージェントの複製を１つ生成し、モバイルエージェントとモバイルエージェントの複製に第１の閾値より低くかつ第２の閾値より高い移動頻度を設定する。
【００１６】
このサービス生成方法の別の構成例は、ユーザエージェント検索手順に代えて、ユーザが欲するサービスを生成するサービステンプレートを有し、サービス構成要素検索手順、サービス生成手順、サービス提案手順およびサービス提供手順を実行するモバイルエージェントを検索するモバイルエージェント検索手順を実行する。
【００１７】
本発明のサービス生成プログラムは、ネットワーク上を自律的に移動し、ネットワーク上の機能を抽象化した単位であるサービス構成要素の動作順序が記述されたサービステンプレートに基づいて、ネットワーク上のサービス構成要素からユーザが欲するサービスをネットワーク上のコンピュータに生成させるサービス生成プログラムであって、ユーザのコンテキスト管理する複数のユーザエージェントの中からサービステンプレートに基づくサービスを欲するユーザのユーザエージェントを検索するユーザエージェント検索手順と、サービステンプレートに基づくサービスに必要なサービス構成要素を検索するサービス構成要素検索手順と、発見したユーザエージェントとサービス構成要素とをサービステンプレートに基づいて動的にバインドしサービスを生成するサービス生成手順と、生成したサービスをユーザに提案するサービス提案手順と、ユーザの承認が得られたサービスを実行するサービス提供手順とをコンピュータに実行させることによって特徴づけられる。
【００１８】
この場合、ユーザエージェント検索手順の一構成例は、サーバを介することなくユーザエージェントを検索するピュア型のピアツーピア検索を行うとともに、問い合わせるピアのホップ数上限値であるＴＴＬ値によって検索範囲を制限する。サービス構成要素検索手順の一構成例は、サーバを介することなくサービス構成要素を検索するピュア型のピアツーピア検索、あるいは、サービス構成要素のメタデータを管理するインデックスサーバを介してサービス構成要素を検索するハイブリッド型ピアツーピア検索を行う。
【００１９】
このサービス生成プログラムの一構成例は、生成したサービスの利用頻度が少ない場合には移動頻度を高くし、生成したサービスの利用頻度が多い場合には移動頻度を低くする。この場合、移動頻度が第１の閾値よりも高くなると自身を消去し、移動頻度が第２の閾値よりも低くなると自身の複製を１つ生成し、自身と自身の複製に第１の閾値より低くかつ第２の閾値より高い移動頻度を設定する。
【００２０】
本発明のユーザエージェントプログラムは、ネットワークに接続されたコンピュータ端末に、サービスを欲するユーザのコンテキストを管理させるコンテキスト管理手順と、ネットワーク上のコンピュータにユーザが欲するサービスを生成させる前述したサービス生成プログラムを検索させる手順と、サービス生成プログラムにユーザが欲するサービスの情報を通知させる手順とを実行させることによって特徴づけられる。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を用いて説明する。図１は本発明の実施の形態となるサービス自動生成システムの構成を示すブロック図である。このサービス自動生成システムは、複数のピア（Ｐｅｅｒ）１がネットワーク２で接続されたハードウエアと、モバイルエージェント１０、ユーザエージェント２０および各ピア１が持つサービスエレメント３０とから構成されている。
【００２２】
ここで、ピア１は、例えばコンピュータ、携帯電話機、情報家電などのネットワーク２に接続された電子機器である。この場合、ピア１は、少なくともＣＰＵと、ＲＯＭ（リードオンリメモリ）と、ＲＡＭ（ランダムアクセスメモリ）と、ネットワーク２との間のインタフェース装置とを有しており、モバイルエージェント１０、ユーザエージェント２０およびサービスエレメント３０は、ＲＡＭにインストールされ、ＣＰＵにより実行されることにより、後述する機能を実現する。ネットワーク２は、ホームネットワーク、企業内ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなど何でもよい。これらのネットワークによる違いは、ネットワークの規模により接続されるピア１の数が異なるだけである。
【００２３】
モバイルエージェント１０は、特定のサービスを所望するユーザ３のユーザエージェント２０と、このサービスに必要なサービスエレメント３０とをネットワーク２上で発見し、動的に組み合わせて特定のサービスを生成し、ユーザエージェント２０を介してユーザ３に提案、提供するサービス生成機能を有するサービス生成プログラムである。この場合、モバイルエージェント１０は、さらにネットワーク２を通してピア１からピア１へ自律的に移動する移動機能と、自身の複製を生成する複製機能と、自身を消去する消去機能とを有する。
【００２４】
ユーザエージェント２０は、ユーザ３の携帯するピア１に常駐しユーザ３の現在位置や嗜好などのプロフィールを示すコンテキストを管理する機能と、モバイルエージェント１０から提供されるサービスをユーザに提供する機能とを有するプログラムである。この場合、ユーザエージェント２０は、さらにユーザ３の所望するサービスを生成するモバイルエージェント１０をネットワーク２上で検索し、所望のサービスを生成させるモバイルエージェント検索機能を有する。ここで、ユーザ３の携帯するピア１は、例えば携帯電話機や携帯情報端末などの無線通信によりネットワーク２と接続されるコンピュータ端末を用いることが望ましい。
【００２５】
サービスエレメント３０は、例えば、コンテンツやソフトウエアコンポーネントなどのサービスを構成するための要素である。この場合、サービスエレメント３０は、ネットワーク２を介してアクセスすることにより所定のサービスを提供する機能を有するものであればどのようなものであってもよい。サービスエレメント３０の例として、動画ファイルのようなコンテンツ、動画を実行するようなソフトウエア、モニタのようなハードウエア、ユーザ自身などがある。
【００２６】
本実施の形態では、ネットワーク２に接続されたピア１がサービスエレメント３０を公開している環境を想定しており、モバイルエージェント１０がユーザエージェント２０を含む利用可能なサービスエレメント３０を発見し、サービスエレメント３０の動作順序が記述された後述するサービステンプレートに基づいて、発見したサービスエレメント３０を動的に組み合わせることでサービスを生成する。ここで、モバイルエージェント１０は、サービスに必要なサービスエレメント３０と、このサービスを所望するユーザ３のユーザエージェント２０とが揃ったときのみサービスエレメント３０を組み合わせ、対応するサービスをユーザ３に提供する。
【００２７】
次に、本実施の形態にかかるモバイルエージェント１０について詳細に説明する。図２は、本実施の形態にかかるモバイルエージェントの動作概要を説明する概念図である。図２に示すように、モバイルエージェント１０は、サービスエレメント３０の動作順序が記述されたサービスの設計図であるサービステンプレートを１つ有し、ネットワークを通して自律的にピア１からピア１へ移動する。このモバイルエージェント１０は、自らのサービステンプレートにより特定の役割をもつサービスエレメント３０とだけ接続する特徴を持つ。
【００２８】
この場合、サービステンプレートに記述されたサービスエレメントの役割をある程度抽象化することで、代替のサービスエレメントが多い環境適応型のサービス生成が可能となる。上述したモバイルエージェントの特徴は、タンパク質の受容体をイメージすると理解しやすい。すなわち、モバイルエージェントが受容体にあたり、接続するサービスエレメントがリガントにあたる。
以下、モバイルエージェント１０の動作手順について説明する。
【００２９】
［移動手順］
このモバイルエージェント１０は、ネットワーク２上をピア１からピア１へ自律的に移動する。この場合、モバイルエージェント１０は、一定時間ごとにネットワーク上のピア１をホップバイホップでランダムウォークする。図３は、モバイルエージェント１０のホップバイホップ移動を説明する図である。ここで、モバイルエージェント１０は、一定時間ΔＴごとに移動動作を実行するものとする。
【００３０】
図３に示す構成のピアツーピアネットワークにおいて、Ｎｏ．３のピアに位置するモバイルエージェント１０は、移動動作によりΔＴ後に同じピアに留まる確率をａとしたときに、ΔＴ後にＮｏ．３のピアにいる確率がａ、Ｎｏ．２のピアに移動する確率とＮｏ．４のピアに移動する確率がそれぞれ（１−ａ）／２となる。ここで、確率ａは０＜ａ＜１となる実数である。同様に、例えばモバイルエージェント１０が図３のＮｏ．４のピアに位置した場合は、ΔＴ後にＮｏ．４のピアにいる確率がａ、Ｎｏ．３のピア、Ｎｏ．５のピアおよびＮｏ．９のピアに移動する確率がそれぞれ（１−ａ）／３となる。
【００３１】
ここで、モバイルエージェント１０が単位時間あたりに異なるピアに移動する確率（１−ａ）／ΔＴを移動頻度Ｖとする。この移動頻度Ｖはユーザからの評価により変化する。モバイルエージェントは、１つの処理サイクルの最後にユーザからの評価を移動頻度Ｖに反映させる。この場合、モバイルエージェントは、提案したサービスがユーザに利用されたか否かをユーザの評価とする。ここで、提案したサービスが利用された場合は、モバイルエージェントの評価が高くなり、移動頻度が低くなる。これは、そのピア周辺にいれば、また似たようなユーザが来る可能性が高いためである。移動頻度を低くする方法としては、ΔＴの設定値を大きくする方法と、同じピアに留まる確率ａを大きくする方法とがあるが、どちらを用いてもよい。
【００３２】
同様に、提案したサービスが利用されなかった場合は、モバイルエージェントの評価が低くなり、移動頻度が高くなる。モバイルエージェントは、処理サイクル毎にユーザからの評価を受けるため、利用されなかったモバイルエージェントは、移動頻度が高くなっていく。移動頻度が第１の閾値ＶＨを上回ると、そのモバイルエージェントは自身を消去する。逆に、繰り返し利用されたモバイルエージェントは、移動頻度を低くしていき、移動頻度が第２の閾値ＶＬを下回ると、当該モバイルエージェントの複製を１つ生成し、このモバイルエージェントと生成したモバイルエージェントの複製に第１の閾値ＶＨより低くかつ第２の閾値ＶＬより高い移動頻度を設定する。元のモバイルエージェントと複製されたモバイルエージェントは、それぞれ独立して移動する。このようにユーザの評価をフィードバックすることで、有用なモバイルエージェントはネットワーク上に数を増やし、利用されないモバイルエージェントは淘汰される。
【００３３】
［ユーザエージェント検索手順］
ピア上にいるモバイルエージェント１０は、一定時間ごとにサービスを所望するユーザエージェント２０を検索する。この場合、ピア１上に位置するモバイルエージェント１０は、自身が位置するピアの資源を利用して一定時間Δｔごとにサービスを所望するユーザエージェント２０の検索を行う。ここで、ユーザエージェント２０は、ユーザのコンテキストのうち、ユーザが公開してよいと認めた情報をネットワークに公開している。モバイルエージェント１０は、自らのプロフィールとユーザが公開しているプロフィールとを照合することで、サービス提供に適したユーザエージェント２０の検索を行う。
【００３４】
ユーザエージェント２０の検索手段としては、サーバを介さずにユーザエージェント２０を検索するピュア型のピアツーピア方式を用いる。このようにするのは、時々刻々変化するユーザのコンテキストを固定のサーバで管理するのには多大なコストが必要であり、現実的ではないためである。ピュア型のピアツーピア方式では、各ピアが隣接ピアからの問い合わせを他の隣接ピアに中継することにより、問い合わせるピアのホップ数上限値であるＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）値によって制限された検索範囲のピアについてユーザエージェント２０の検索を行う。このようにＴＴＬ値を設けることで、トラフィックの爆発的増加を防ぐことができる。検索範囲に制限を設けてネットワーク的に遠方のユーザが発見できないようにしても、遠方のユーザにはリアルタイムにサービスを提供することが困難なため、実質的に問題となることはないので、モバイルエージェント１０はネットワーク的に近くのユーザだけを発見できればよい。
【００３５】
図４は、モバイルエージェントのユーザエージェント検索範囲を説明する図であり、太線がユーザエージェントの検索範囲を示す。図４に示す構成のピアツーピアネットワークにおいて、Ｎｏ．３のピアに位置するモバイルエージェントが、ＴＴＬ値２でユーザエージェントを検索するものとして説明する。この場合、ＴＴＬ値が２であるため、モバイルエージェントはＮｏ．３のピアの隣の隣のピアまで検索可能である。すなわち、図４において、モバイルエージェントは、Ｎｏ．１、Ｎｏ．２、Ｎｏ．３、Ｎｏ．４、Ｎｏ．５およびＮｏ．９の６つのピアにいるユーザエージェントに問い合わせを行い、モバイルエージェントの提供するサービスを所望しているか否かを検索する。
【００３６】
ここで、サービスを所望するユーザエージェントの発見方法を説明する。モバイルエージェント、ユーザエージェントおよびサービスエレメントは、自身のプロフィールをネットワーク上に公開している。プロフィールとしては、モバイルエージェントならば、サービスの内容や現在の位置など、ユーザエージェントならば、趣味や現在の状態や位置など、サービスエレメントならば、自分の機能や位置やインタフェースなどである。
【００３７】
モバイルエージェントは、自身が提供するサービスに適したユーザエージェントを発見するため、検索するユーザエージェントのプロフィールを記述したクエリ（問い合わせ）をネットワークに送信する。一方、ユーザエージェントは、クエリを受信するとクエリに記述されたプロフィールと自身のプロフィールとを比較し、プロフィールがマッチしていると送信元のモバイルエージェントに返答を返す。返答を受けたモバイルエージェントは返答を返したユーザエージェントと情報交換を行い、相手の情報を知る。
【００３８】
例えば、図５に示すように、映画提供のサービスを行うモバイルエージェントは、自身が提供するサービスに適したユーザエージェントを発見するため、クエリ（問い合わせ）に「趣味：映画」と「状態：暇」とを記述してネットワークに送信する。ネットワーク上の各ユーザエージェントは、送信されたクエリを受信し、自身のユーザプロフィールとのマッチングを行う。図５において、ユーザエージェントＡは、ユーザＡのプロフィールとして、「趣味：サッカー」、「状態：忙しい」、「場所：仙台」を有するので、受信したクエリとマッチしないため応答しない。ユーザエージェントＢは、ユーザＢのプロフィールとして、「趣味：映画」、「状態：暇」、「場所：東京」を有するので、受信したクエリとマッチし、モバイルエージェントに返答を送信する。モバイルエージェントは、返答を受信することによりサービスを欲するユーザエージェントを識別し、ユーザエージェントＢとプロフィールなどの情報を交換する。これらの通信シーケンスを図６に示す。図６は、ユーザエージェント検索手順からサービス提供手順までの通信動作を示す通信シーケンス図である。
【００３９】
プロフィールの公開度合いは、その使用者、管理者のポリシーによってどこまで公開するかは設定可能とする。マッチング技術の具体的な実現例としては、例えば、特開２００２−９４５６１号公報に開示された意味情報ネットワークが考えられる。この意味情報ネットワークは、イベントプレースという閉域空間の概念を持ったスケーラビリティが高いピアツーピアディスカバリプラットフォームで、ピュア型、ハイブリッド型の両方に適用可能である。
【００４０】
［サービスエレメント検索手順］
モバイルエージェント１０は、サービスを所望するユーザエージェント２０を発見すると、当該サービスに必要なサービスエレメント３０を検索する。この場合、モバイルエージェント１０は、前述したユーザエージェント検索と同様に、当該サービスに必要なサービスエレメントのプロフィールをクエリに記述してネットワークに送信し、プロフィールがマッチしたサービスエレメントからの返答を受信することにより、サービステンプレートに記述されたサービスに必要なサービスエレメント３０をネットワーク上から検索する（図６参照）。ただし、サービスエレメント検索の場合、検索するサービスエレメントによって検索範囲や検索手段を変える必要がある。例えば、音楽コンテンツはどこから見つけてもよいが、音楽を出力するプレーヤーはユーザとの物理的距離が近くなくては意味がない。
【００４１】
サービスエレメント３０の検索手段としては、サービスエレメント３０のメタデータを管理するインデックスサーバを介して所望のサービスエレメント３０を発見するハイブリッド型のピアツーピア方式と、サーバをまったく介さず各ピアが隣接ピアからの問い合わせを他の隣接ピアに中継して所望のサービスエレメント３０を発見するピュア型のピアツーピア方式とがあり、本実施の形態ではこれらの方式を検索するサービスエレメント３０によって使い分ける。例えば、音楽コンテンツのように静的な情報を多数のピアから検索する場合は、ハイブリッド型ピアツーピア方式を用い、物理的に近いプレーヤーを検索する場合は、物理的に近いピアのみが検索対象となる無線式のピュア型ピアツーピア方式を用いる。
【００４２】
［サービス生成手順］
モバイルエージェント１０は、必要なサービスエレメント３０をすべて発見すると、発見したユーザエージェント２０とサービスエレメント３０とをサービステンプレートに合わせて接続し、サービスを生成する。この場合、モバイルエージェントは、サービスに必要なサービスエレメントがすべて揃ったら、図６に示すように、発見したユーザエージェントと各サービスエレメントとにサービステンプレートに基づいて接続するように命令を出す。この接続命令により、主体となるサービスエレメントａが、ユーザエージェントと他のサービスエレメントｂ，ｃとに接続依頼を送信し、相互のＩｎｐｕｔの型やＯｕｔｐｕｔの型などのインタフェースに応じてサービスエレメント３０同士をバインドし、サービスを生成する。さらに、主体となるサービスエレメントａは、ユーザエージェントと他のサービスエレメントｂ，ｃとから接続確認を受信すると、モバイルエージェントへサービスの合成確認を送信する。
【００４３】
［サービス提案手順］
モバイルエージェント１０は、動的に生成したサービスをユーザに提案する。この場合、モバイルエージェント１０は、図６に示すように、主体となるサービスエレメントａから合成確認を受信するとサービス提案をユーザエージェントに送信し、ユーザエージェントがユーザにサービス提案があったことを通知する。ここで、提案内容は、サービステンプレートの種類と使用されているサービスエレメントである。通知するサービステンプレートの種類は、例えばコンテンツ配信サービスやチャットサービスなどである。
【００４４】
［サービス提供手順］
モバイルエージェント１０は、提案したサービスがユーザの承認を受けると、このサービスをユーザに提供する。この場合、モバイルエージェント１０は、図６に示すように、ユーザからのサービス承認をユーザエージェント２０からのサービス依頼として受け取ると、主体となるサービスエレメントａへサービス開始命令を送信し、サービス開始命令を受信した主体となるサービスエレメントａがユーザエージェントに生成したサービスを提供する。
【００４５】
次に、上述した動作を行うモバイルエージェント１０の構成例について図を参照して説明する。図７は、本実施の形態にかかるモバイルエージェント１０の機能構成を示す機能ブロック図である。図７に示すように、このモバイルエージェント１０は、移動処理部１０１、移動頻度変更部１０２、消去処理部１０３、複製処理部１０４、ユーザエージェント検索部１０５、サービスエレメント検索部１０６、接続命令部１０７、サービス提案部１０８、サービス開始命令部１０９、プロフィール公開部１１０、移動頻度情報記録部１１１、サービステンプレート記録部１１２およびプロフィール記録部１１３を有する。
【００４６】
移動処理部１０１は、移動頻度情報記録部１１１に記録された移動頻度情報を参照し、一定時間ΔＴごとにモバイルエージェント１０を移動させるか否かを判定し、移動すると判定されると現在位置のピアの資源を利用して移動先に指定されたピアにモバイルエージェント１０を移動させる機能を有する。また、移動処理部１０１は、プロフィール記録部１１３に現在いるピアの位置情報を記録する機能を有する。
【００４７】
移動頻度変更部１０２は、サービス提案部１０８から提案したサービスの利用状況の情報を入力されると、移動頻度情報記録部１１１に記録された移動頻度情報を変更する機能を有する。移動頻度変更部１０２は、提案したサービスが利用されると同じピアに留まる確率ａを所定の割合で大きくし、利用されないと同じピアに留まる確率ａを所定の割合で小さくすることにより、移動頻度Ｖを変化させる。
【００４８】
消去処理部１０３は、移動頻度情報記録部１１１に記録された移動頻度情報を参照し、移動頻度Ｖが予め設定された第１の閾値ＶＨを上回ると、現在留まっているピアのリソースを使用して自身が属するモバイルエージェントを消去する機能を有する。
複製処理部１０４は、移動頻度情報記録部１１１に記録された移動頻度情報を参照し、移動頻度Ｖが予め設定された第２の閾値ＶＬを下回ると、現在留まっているピアのリソースを使用して自身が属するモバイルエージェントの複製を１つ生成する機能を有する。この複製処理部１０４は、移動頻度変更部１０２に依頼して移動頻度Ｖを第１の閾値ＶＨより低くかつ第２の閾値ＶＬより高い予め設定された移動頻度に変更させた後、複製を開始する。
【００４９】
ユーザエージェント検索部１０５は、サービステンプレート記録部１１２に記録されたサービステンプレートとプロフィール記録部１１３に記録された自身のプロフィールとに基づいて前述したユーザエージェント検索手順の動作を実行し、発見したユーザエージェントの情報を接続命令部１０７に入力する機能を有する。
サービスエレメント検索部１０６は、サービステンプレート記録部１１２に記録されたサービステンプレートとプロフィール記録部１１３に記録された自身のプロフィールとに基づいて前述したサービスエレメント検索手順の動作を実行し、発見したサービスエレメントの情報を接続命令部１０７に入力する機能を有する。
【００５０】
接続命令部１０７は、サービステンプレート記録部１１２に記録されたサービステンプレートとユーザエージェント検索部１０５から入力されたユーザエージェントの情報とサービスエレメント検索部１０６から入力されたサービスエレメントの情報とに基づいて前述したサービス生成手順の動作を実行し、生成されたサービスの情報をサービス提案部１０８に入力する機能を有する。
【００５１】
サービス提案部１０８は、接続命令部１０７から入力されたサービスの情報に基づいて前述したサービス提案手順の動作を実行し、ユーザの承認が得られるとサービス開始命令部１０９に処理開始を指示する機能を有する。また、サービスの提案結果を移動頻度変更部１０２に入力する機能を有する。
サービス開始命令部１０９は、サービス提案部１０８から入力された処理開始指示に基づいて前述したサービス提供手順の動作を実行する機能を有する。
【００５２】
プロフィール公開部１１０は、プロフィール記録部１１３に記録された当該モバイルエージェントのプロフィールをネットワーク上に公開する機能を有する。
移動頻度情報記録部１１１、サービステンプレート記録部１１２およびプロフィール記録部１１３は、現在位置のピアのメモリ資源を利用した記憶手段であり、それぞれ移動頻度情報、サービステンプレート、当該モバイルエージェントのプロフィールを格納している。
【００５３】
次に、ユーザエージェント２０がユーザ３の所望するサービスを生成するモバイルエージェント１０をネットワーク２上で検索し、所望のサービスを生成させるモバイルエージェント検索手順を実行する手段について図８を参照して説明する。図８は、ユーザエージェント２０のモバイルエージェント検索手順実行手段の機能構成を示す要部機能ブロック図である。図８に示すように、このユーザエージェント２０は、ユーザコンテキスト把握部２０１、プロフィール公開部２０２、モバイルエージェント検索部２０３およびプロフィール記録部２１１を有する。
【００５４】
ユーザコンテキスト把握部２０１は、ユーザの現在位置や嗜好などのプロフィールを示すコンテキストをユーザ自身やネットワーク上から収集し、プロフィール記録部２１１に記録する機能を有する。プロフィール公開部２０２は、プロフィール記録部２１１に記録されたユーザのプロフィールから公開を認められた情報をネットワーク上に公開する機能を有する。
【００５５】
モバイルエージェント検索部２０３は、プロフィール記録部２１１に記録されたユーザのプロフィールに基づいて前述したモバイルエージェントのユーザエージェント検索手順の動作と同様の動作を実行し、ユーザが欲するサービスを提供するモバイルエージェントを検索するとともに、ユーザが欲するサービスの情報を通知する機能を有する。ユーザが欲するサービスを提供するモバイルエージェントが発見されると発見されたモバイルエージェントとの間で情報交換が行われる。これにより、当該モバイルエージェントにおいてユーザエージェント検索が行われたと同様にサービス生成が行われ、生成されたサービスの提案、提供が行われる。
プロフィール記録部２１１は、ユーザエージェントが常駐するピアのメモリ資源を利用した記憶手段であり、当該ユーザのプロフィールを格納している。
【００５６】
以下に、本発明により実現されるサービス例を挙げる。
［どこでもコンテンツ提供サービス］
このサービスを生成するモバイルエージェントは、図９に示すように、コンテンツ提供サービスのテンプレートが記述されている。具体的には、必要なサービスエレメントとして何らかのコンテンツと、コンテンツを表示するハードウエアと、コンテンツが提供されるユーザと、ユーザがコンテンツの操作を行う操作機能とが記述されている。
【００５７】
このモバイルエージェント１０は、ユーザエージェント検索により、例えば、「映画好き」と「現在暇」というプロフィールを公開しているユーザエージェント２０を発見すると、サービス提供先として認知する。サービス提供先となるユーザエージェント２０を発見したモバイルエージェント１０は、さらにサービスエレメント検索により、例えば、提供するコンテンツとして近くのコンピュータ９１に格納されている映画ＭＰＥＧファイルを、表示手段としてユーザ９４がいる食堂のテレビ９２を、音量操作機能としてユーザ９４の携帯電話機９３のダイヤルをそれぞれ発見し、これらを動的にバインドすることでサービスを生成する。生成されたサービスはユーザ９４に提案され、ユーザ９４が承認すれば、食堂のテレビ９２で映画を見るというサービスがユーザ９４に提供される。
【００５８】
【発明の効果】
以上説明したように、本発明によれば、ユーザのコンテキスト管理する複数のユーザエージェントの中からサービステンプレートに基づくサービスを欲するユーザのユーザエージェントを検索するユーザエージェント検索手順と、サービステンプレートに基づくサービスに必要なサービス構成要素を検索するサービス構成要素検索手順と、発見したユーザエージェントとサービス構成要素とをサービステンプレートに基づいて動的にバインドしサービスを生成するサービス生成手順と、生成したサービスをユーザに提案するサービス提案手順と、ユーザの承認が得られたサービスを実行するサービス提供手順とを実行することにより、ユーザがその時点で欲するサービスをユーザ側から働きかけることなく自動的に生成することができ、ユーザの嗜好に合ったサービスをユーザに提案、提供することができる。
【００５９】
また、ピュア型のピアツーピア検索によって、サービスを欲するユーザのユーザエージェントを検索を行うとともに、問い合わせるピアのホップ数上限値であるＴＴＬ値によって検索範囲を制限することにより、ネットワークやソフトウェアやハードウェアといったサービスを実現する構成要素が時々刻々変化する状況の中で、ユーザが欲するサービスを動的に生成することができる。
また、ピュア型のピアツーピア検索あるいはハイブリッド型のピアツーピア検索によってサービス構成要素を検索することにより、ネットワークやソフトウェアやハードウェアといったサービスを実現する構成要素が時々刻々変化する状況の中で、ユーザが欲するサービスを動的に生成することができる。
【００６０】
また、生成したサービスの利用頻度が少ない場合にはモバイルエージェントの移動頻度を高くし、生成したサービスの利用頻度が多い場合にはモバイルエージェントの移動頻度を低くするので、提供するサービスの需要が多いピアの近くに存在する確率が高くなり、サービス提供のリアルタイム性が向上する。また、利用されないモバイルエージェントによりピアの資源が使用されることが少なくなるので、ピアの資源が有効に活用できる。
また、モバイルエージェントの移動頻度が第１の閾値よりも高くなるとモバイルエージェントを消去し、モバイルエージェントの移動頻度が第２の閾値よりも低くなるとモバイルエージェントの複製を１つ生成し、モバイルエージェントとモバイルエージェントの複製に第１の閾値より低くかつ第２の閾値より高い移動頻度を設定することにより、よく利用されるモバイルエージェントはネットワーク上に数を増やし、あまり利用されないモバイルエージェントはやがて淘汰される。
【００６１】
また、ユーザエージェントが欲するサービスを生成するモバイルエージェントを検索する手順を実行することにより、モバイルエージェントがその場、その時点で利用可能なサービス構成要素を組み合わせてサービスを生成し、ユーザに提案、提供するので、ユーザエージェント２０の処理負荷を軽くすることができる。これにより、処理能力や記憶容量の制限を受けやすい携帯電話機や携帯情報端末を用いてネットワークやソフトウェアやハードウェアといったサービスを実現する構成要素が時々刻々変化する状況の中で、ユーザが欲するサービスを動的に生成することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態となるサービス自動生成システムの構成を示すブロック図である。
【図２】本実施の形態にかかるモバイルエージェントの動作概要を説明する概念図である。
【図３】モバイルエージェントのホップバイホップ移動を説明する図である。
【図４】モバイルエージェントのユーザエージェント検索範囲を説明する図である。
【図５】サービスを所望するユーザエージェントの発見方法を説明する図である。
【図６】ユーザエージェント検索手順からサービス提供手順までの通信動作を示す通信シーケンス図である。
【図７】本実施の形態にかかるモバイルエージェントの機能構成を示す機能ブロック図である。
【図８】ユーザエージェントのモバイルエージェント検索手順実行手段の機能構成を示す要部機能ブロック図である。
【図９】本発明により実現されるサービス例を示す図である。
【符号の説明】
１…ピア、２…ネットワーク、３…ユーザ、１０…モバイルエージェント、２０…ユーザエージェント、３０…サービスエレメント、１０１…移動処理部、１０２…移動頻度変更部、１０３…消去処理部、１０４…複製処理部、１０５…ユーザエージェント検索部、１０６…サービスエレメント検索部、１０７…接続命令部、１０８…サービス提案部、１０９…サービス開始命令部、１１０…プロフィール公開部、１１１…移動頻度情報記録部、１１２…サービステンプレート記録部、１１３…プロフィール記録部、２０１…ユーザコンテキスト把握部、２０２…プロフィール公開部、２０３…モバイルエージェント検索部、２１１…プロフィール記録部。
【図１】
2004240834.tif 000003
【図２】
2004240834.tif 000004
【図３】
2004240834.tif 000005
【図４】
2004240834.tif 000006
【図５】
2004240834.tif 000007
【図６】
2004240834.tif 000008
【図７】
2004240834.tif 000009
【図８】
2004240834.tif 000010
【図９】
2004240834.tif 000011