(57)【要約】【課題】ユーザの状況に適した状況依存型サービスを実現する。【解決手段】ユーザピア４は、ユーザが欲するサービスに対応するサービステンプレート３０を検索するサービステンプレート発見手段４０と、サービステンプレート３０に基づいて、必要かつ利用可能なサービス構成要素２０を検索するサービス構成要素発見手段４１と、サービス構成要素２０をサービステンプレート３０に基づいて組み合わせてサービスを生成するサービスバインド手段４２と、サービスを実行してよいかどうか問い合わせるサービス提案手段４３と、実行の承認が得られたときにサービスを実行するサービス実行手段４４とを有する。サービステンプレート３０には、サービス構成要素２０の機能種別を表すサービスカテゴリの接続関係が記述されている。【選択図】  図１
2005196676.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上の機能を抽象化した単位であるサービス構成要素を、このサービス構成要素の機能種別を表すサービスカテゴリの接続関係が記述されたサービステンプレートに基づいて検索し組み合わせることにより、ユーザが欲するサービスを生成するサービス生成方法であって、
ユーザの電子機器が、
ユーザが欲するサービスに対応するサービステンプレートをネットワーク上で検索するサービステンプレート発見手順と、
前記検索されたサービステンプレートに基づいて、必要かつ利用可能なサービス構成要素を前記ネットワーク上で検索するサービス構成要素発見手順と、
前記検索されたサービス構成要素を前記検索されたサービステンプレートに基づいて組み合わせることによりユーザが欲するサービスを生成するサービスバインド手順と、
前記生成したサービスを実行してよいかどうかユーザに問い合わせるサービス提案手順と、
ユーザから実行の承認が得られたときに前記生成したサービスを実行するサービス実行手順とを実行することを特徴とするサービス生成方法。
【請求項２】
請求項１記載のサービス生成方法において、
前記サービステンプレート発見手順は、サーバを介することなく前記サービステンプレートを検索するピュア型のピアツーピア検索を行うことを特徴とするサービス生成方法。
【請求項３】
請求項１記載のサービス生成方法において、
前記サービステンプレート発見手順は、前記サービステンプレートのメタデータを管理するインデックスサーバを介して前記サービステンプレートを検索するハイブリッド型のピアツーピア検索を行うことを特徴とするサービス生成方法。
【請求項４】
請求項１記載のサービス生成方法において、
前記サービス構成要素発見手順は、サーバを介することなく前記サービス構成要素を検索するピュア型のピアツーピア検索を行うことを特徴とするサービス生成方法。
【請求項５】
請求項１記載のサービス生成方法において、
前記サービス構成要素発見手順は、前記サービス構成要素のメタデータを管理するインデックスサーバを介して前記サービス構成要素を検索するハイブリッド型のピアツーピア検索を行うことを特徴とするサービス生成方法。
【請求項６】
請求項１記載のサービス生成方法において、
前記サービスバインド手順は、前記ユーザの電子機器からの接続命令に基づいて、前記検索されたサービス構成要素間でデータの引き継ぎをテキスト文書で行い、データを引き継ぐサービス構成要素が前記テキスト文書に記述されたパラメータを解析してサービス構成要素間のパラメータ解決を行うことにより、前記検索されたサービス構成要素を接続してサービスを生成することを特徴とするサービス生成方法。
【請求項７】
請求項１記載のサービス生成方法において、
前記ユーザの電子機器は、さらにユーザによるサービスの利用が終了したときにこのサービスに対するユーザの満足度を含むサービス利用履歴を前記検索されたサービス構成要素に送信するサービス利用履歴送信手順を実行し、
各サービス構成要素は、受信したサービス利用履歴を記録するサービス利用履歴蓄積手順と、前記記録されたサービス利用履歴に基づいて新たなサービステンプレートを生成するサービステンプレート生成手順とを実行することを特徴とするサービス生成方法。
【請求項８】
請求項７記載のサービス生成方法において、
前記サービス利用履歴送信手順は、前記検索されたサービステンプレートにおいて送信先のサービス構成要素に対応する第１のサービスカテゴリの直前に配置されていた第２のサービスカテゴリと、前記検索されたサービステンプレートにおいて前記第１のサービスカテゴリの直後に配置されていた第３のサービスカテゴリと、前記検索されたサービステンプレートと、前記ユーザの満足度とを含む前記サービス利用履歴を前記送信先のサービス構成要素に送信し、
前記サービス利用履歴蓄積手順は、前記ユーザの満足度を前記第２のサービスカテゴリ、前記第３のサービスカテゴリ、前記検索されたサービステンプレートの各々に対する満足度として記録し、
前記サービステンプレート生成手順は、
前記サービス利用履歴を一定回数受信する度に、前記第２のサービスカテゴリに対する満足度の累積値に基づいて、前記一定回数中に記録された第２のサービスカテゴリの中から前記累積値が最高の第２のサービスカテゴリを選択すると共に、前記第３のサービスカテゴリに対する満足度の累積値に基づいて、前記一定回数中に記録された第３のサービスカテゴリの中から前記累積値が最高の第３のサービスカテゴリを選択する手順と、
各サービステンプレートに対する満足度の累積値に基づいて、前記一定回数中に記録されたサービステンプレートの中から自サービス構成要素に対応する前記第１のサービスカテゴリの直前が前記選択された第２のサービスカテゴリである第１のサービステンプレートと前記第１のサービスカテゴリの直後が前記選択された第３のサービスカテゴリである第２のサービステンプレートとを選択する手順と、
前記第１、第２のサービステンプレートを、それぞれ前記第１のサービスカテゴリより前の前半部と前記第１のサービスカテゴリと前記第１のサービスカテゴリより後の後半部の３つに切断する手順と、
前記第１のサービステンプレートの前半部と前記第１のサービスカテゴリと前記第２のサービステンプレートの後半部とを結合させることにより、新たなサービステンプレートを生成する手順とを含むことを特徴とするサービス生成方法。
【請求項９】
請求項７記載のサービス生成方法において、
前記サービス利用履歴送信手順は、前記検索されたサービステンプレートと前記ユーザの満足度とを含む前記サービス利用履歴を送信し、
前記サービス利用履歴蓄積手順は、前記ユーザの満足度を前記検索されたサービステンプレートに対する満足度として記録し、
前記サービステンプレート生成手順は、
前記サービス利用履歴を一定回数受信する度に、前記サービステンプレートに対する満足度の累積値に基づいて、この一定回数中に記録されたサービステンプレートの中から前記累積値の高い第１のサービステンプレートと第２のサービステンプレートの２つを選択する手順と、
前記第１、第２のサービステンプレートを、それぞれ自サービス構成要素に対応する第１のサービスカテゴリより前の前半部と前記第１のサービスカテゴリと前記第１のサービスカテゴリより後の後半部の３つに切断する手順と、
前記第１のサービステンプレートの前半部と前記第１のサービスカテゴリと前記第２のサービステンプレートの後半部とを結合させることにより、新たなサービステンプレートを生成すると共に、前記第２のサービステンプレートの前半部と前記第１のサービスカテゴリと前記第１のサービステンプレートの後半部とを結合させることにより、新たなサービステンプレートを生成する手順とを含むことを特徴とするサービス生成方法。
【請求項１０】
ネットワーク上の機能を抽象化した単位であるサービス構成要素を、このサービス構成要素の機能種別を表すサービスカテゴリの接続関係が記述されたサービステンプレートに基づいて検索し組み合わせることにより、ユーザの電子機器がユーザの欲するサービスを生成するサービス生成システムであって、
前記ユーザの電子機器は、
ユーザが欲するサービスに対応するサービステンプレートをネットワーク上で検索するサービステンプレート発見手段と、
前記検索されたサービステンプレートに基づいて、必要かつ利用可能なサービス構成要素を前記ネットワーク上で検索するサービス構成要素発見手段と、
前記検索されたサービス構成要素を前記検索されたサービステンプレートに基づいて組み合わせることによりユーザが欲するサービスを生成するサービスバインド手段と、
前記生成したサービスを実行してよいかどうかユーザに問い合わせるサービス提案手段と、
ユーザから実行の承認が得られたときに前記生成したサービスを実行するサービス実行手段とを有することを特徴とするサービス生成システム。
【請求項１１】
請求項１０記載のサービス生成システムにおいて、
前記サービステンプレート発見手段は、サーバを介することなく前記サービステンプレートを検索するピュア型のピアツーピア検索を行うことを特徴とするサービス生成システム。
【請求項１２】
請求項１０記載のサービス生成システムにおいて、
前記サービステンプレート発見手段は、前記サービステンプレートのメタデータを管理するインデックスサーバを介して前記サービステンプレートを検索するハイブリッド型のピアツーピア検索を行うことを特徴とするサービス生成システム。
【請求項１３】
請求項１０記載のサービス生成システムにおいて、
前記サービス構成要素発見手段は、サーバを介することなく前記サービス構成要素を検索するピュア型のピアツーピア検索を行うことを特徴とするサービス生成システム。
【請求項１４】
請求項１０記載のサービス生成システムにおいて、
前記サービス構成要素発見手段は、前記サービス構成要素のメタデータを管理するインデックスサーバを介して前記サービス構成要素を検索するハイブリッド型のピアツーピア検索を行うことを特徴とするサービス生成システム。
【請求項１５】
請求項１０記載のサービス生成システムにおいて、
前記サービスバインド手段は、前記検索されたサービス構成要素に接続命令を送信して、前記検索されたサービス構成要素間でデータの引き継ぎをテキスト文書で行わせ、データを引き継ぐサービス構成要素が前記テキスト文書に記述されたパラメータを解析してサービス構成要素間のパラメータ解決を行うことにより、前記検索されたサービス構成要素を接続してサービスを生成することを特徴とするサービス生成システム。
【請求項１６】
請求項１０記載のサービス生成システムにおいて、
前記ユーザの電子機器は、
ユーザによるサービスの利用が終了したときにこのサービスに対するユーザの満足度を含むサービス利用履歴を、前記検索されたサービス構成要素を保持するネットワーク上の電子機器に送信するサービス評価手段を有し、
前記検索されたサービス構成要素を保持するネットワーク上の電子機器は、
受信したサービス利用履歴を記録するサービス利用履歴蓄積手段と、
前記記録されたサービス利用履歴に基づいて新たなサービステンプレートを生成するサービステンプレート生成手段とを有することを特徴とするサービス生成システム。
【請求項１７】
請求項１６記載のサービス生成システムにおいて、
前記サービス評価手段は、前記検索されたサービステンプレートにおいて送信先のサービス構成要素に対応する第１のサービスカテゴリの直前に配置されていた第２のサービスカテゴリと、前記検索されたサービステンプレートにおいて前記第１のサービスカテゴリの直後に配置されていた第３のサービスカテゴリと、前記検索されたサービステンプレートと、前記ユーザの満足度とを含む前記サービス利用履歴を前記送信先のサービス構成要素に送信し、
前記サービス利用履歴蓄積手段は、前記ユーザの満足度を前記第２のサービスカテゴリ、前記第３のサービスカテゴリ、前記検索されたサービステンプレートの各々に対する満足度として記録し、
前記サービステンプレート生成手段は、
前記サービス利用履歴を一定回数受信する度に、前記第２のサービスカテゴリに対する満足度の累積値に基づいて、前記一定回数中に記録された第２のサービスカテゴリの中から前記累積値が最高の第２のサービスカテゴリを選択すると共に、前記第３のサービスカテゴリに対する満足度の累積値に基づいて、前記一定回数中に記録された第３のサービスカテゴリの中から前記累積値が最高の第３のサービスカテゴリを選択する手段と、
各サービステンプレートに対する満足度の累積値に基づいて、前記一定回数中に記録されたサービステンプレートの中から自サービス構成要素に対応する前記第１のサービスカテゴリの直前が前記選択された第２のサービスカテゴリである第１のサービステンプレートと前記第１のサービスカテゴリの直後が前記選択された第３のサービスカテゴリである第２のサービステンプレートとを選択する手段と、
前記第１、第２のサービステンプレートを、それぞれ前記第１のサービスカテゴリより前の前半部と前記第１のサービスカテゴリと前記第１のサービスカテゴリより後の後半部の３つに切断する手段と、
前記第１のサービステンプレートの前半部と前記第１のサービスカテゴリと前記第２のサービステンプレートの後半部とを結合させることにより、新たなサービステンプレートを生成する手段とを含むことを特徴とするサービス生成システム。
【請求項１８】
請求項１６記載のサービス生成システムにおいて、
前記サービス評価手段は、前記検索されたサービステンプレートと前記ユーザの満足度とを含む前記サービス利用履歴を送信し、
前記サービス利用履歴蓄積手段は、前記ユーザの満足度を前記検索されたサービステンプレートに対する満足度として記録し、
前記サービステンプレート生成手段は、
前記サービス利用履歴を一定回数受信する度に、前記サービステンプレートに対する満足度の累積値に基づいて、この一定回数中に記録されたサービステンプレートの中から前記累積値の高い第１のサービステンプレートと第２のサービステンプレートの２つを選択する手段と、
前記第１、第２のサービステンプレートを、それぞれ自サービス構成要素に対応する第１のサービスカテゴリより前の前半部と前記第１のサービスカテゴリと前記第１のサービスカテゴリより後の後半部の３つに切断する手段と、
前記第１のサービステンプレートの前半部と前記第１のサービスカテゴリと前記第２のサービステンプレートの後半部とを結合させることにより、新たなサービステンプレートを生成すると共に、前記第２のサービステンプレートの前半部と前記第１のサービスカテゴリと前記第１のサービステンプレートの後半部とを結合させることにより、新たなサービステンプレートを生成する手段とを含むことを特徴とするサービス生成システム。
【請求項１９】
ネットワーク上の機能を抽象化した単位であるサービス構成要素を、このサービス構成要素の機能種別を表すサービスカテゴリの接続関係が記述されたサービステンプレートに基づいて検索し組み合わせることにより、ユーザが欲するサービスを生成する電子機器としてコンピュータを動作させるサービス生成プログラムであって、
ユーザが欲するサービスに対応するサービステンプレートをネットワーク上で検索するサービステンプレート発見手順と、
前記検索されたサービステンプレートに基づいて、必要かつ利用可能なサービス構成要素を前記ネットワーク上で検索するサービス構成要素発見手順と、
前記検索されたサービス構成要素を前記検索されたサービステンプレートに基づいて組み合わせることによりユーザが欲するサービスを生成するサービスバインド手順と、
前記生成したサービスを実行してよいかどうかユーザに問い合わせるサービス提案手順と、
ユーザから実行の承認が得られたときに前記生成したサービスを実行するサービス実行手順とをユーザのコンピュータに実行させることを特徴とするサービス生成プログラム。
【請求項２０】
請求項１９記載のサービス生成プログラムにおいて、
ユーザによるサービスの利用が終了したときにこのサービスに対するユーザの満足度を含むサービス利用履歴を前記検索されたサービス構成要素に送信するサービス利用履歴送信手順をユーザのコンピュータに実行させ、
各サービス構成要素が受信したサービス利用履歴を記録するサービス利用履歴蓄積手順と、前記記録されたサービス利用履歴に基づいて各サービス構成要素が新たなサービステンプレートを生成するサービステンプレート生成手順とを前記検索されたサービス構成要素を保持するネットワーク上のコンピュータに実行させることを特徴とするサービス生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数多くの多様な電子機器がネットワークに接続されたユビキタスコンピューティング環境において、ユーザの状況に依存したサービスを生成するサービス生成方法、サービス生成システムおよびプログラムに関するものである。
【背景技術】
【０００２】
近年、組込み技術、無線技術の進展に後押しされ、パーソナルコンピュータ（ＰＣ）だけでなく、家電・センサ等様々な機器をネットワークに接続し、ユーザに便利なサービスを提供しようという動きが出てきた。こうした動きにより、近い将来あらゆる機器がネットワークに接続される、ユビキタスコンピューティング環境（以降、ユビキタス環境とする）が実現される。従来はユーザ状況に依存した状況依存型サービスは不可能であったが、ユビキタス環境により、多種多様の機器・機能が連携することで、状況依存型サービスの実現が期待される。
【０００３】
ところで、現在、サービスは基本的に、サービス提供者がシステムを構築してサーバに準備しておき、ユーザはサーバにアクセスしてサービスを利用する方式で運営されている。しかし、ユビキタス環境では、ユーザは状況に適したサービスを期待すること、またユーザ環境や端末ステータスが激しく変化すること、が予想されるため、サービス提供者側で予め全てのパターンのサービスを準備しておく従来方式では、対応できなくなることが想定される。
【０００４】
上記の間題から、ユビキタス環境では、サービス提供者側はサービスの部品を提供し、ユーザ側で嗜好・状況に応じてサービスをカスタマイズする方式が有力である。こういった考えから、近年、その場その時の状況に適したサービス構成要素（SE:Service Element）を、ネットワークから動的に検索し、バインド（late binding）することでサービス化する、サービス連携技術の研究が進められてきた。ここでサービス構成要素とは、サービス連携の基本単位で、ハードウェア機能、ソフトウェァ機能、ネットワーク機能等、ネットワークを介してアクセスできる全ての機能ユニットである。
【０００５】
複数のサービスを連携させる技術として、現在ウェブサービス（Web Services、以下、ＷＳとする）が注目を集めている。しかし、ＷＳは元来Ｂ２Ｂ（Business to Business）を目的とした技術であり、ユビキタス環境においてエンドユーザ側でオンデマンドに連携を行うには、課題があると考える。
【０００６】
ＷＳ同士を連携させる手法としてＢＰＥＬ４ＷＳ（Business Process Execution Language for Web Services）がある。ＢＰＥＬファイルは、個々のＷＳの連携手順を記述した連携サービスのフロー設計図である。ＢＰＥＬファイルとＷＳＤＬ（Web Services Description Language ）ファイルをＢＰＥＬエンジンに入力することで、連携サービスが実行される。しかし、ＢＰＥＬファイルの記述は、個々のＷＳＤＬに強く依存しているため、１つのＢＰＥＬファイルは既知のＷＳ連携しかほぼできない。そのため、ユビキタス環境にて期待される、状況依存型サービスを行うことはできないという問題点があった。
【０００７】
また、そもそもサービス連携者は、事前に厳密なＢＰＥＬファイルを記述する必要があり、エンドユーザが状況に応じてサービス連携を行うには敷居が高いという問題点があった。
動的なサービス生成については、以下の特許文献１〜特許文献３、非特許文献１、非特許文献２に開示されている。
【０００８】
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【特許文献１】特開２００３−２５６３１２号公報
【特許文献２】特開２００３−２４８７４３号公報
【特許文献３】特開２００３−２４８７２８号公報
【非特許文献１】山登庸次他，「Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓを用いたサービス自動生成方式の検討」，２００２年電子情報通信学会通信ソサイエティ大会講演論文集２，２００２年９月，Ｂ−６−１１２，ｐ．１３６
【非特許文献２】須田達也他，「アプリケーション創発のための適応型ネットワーキングアーキテクチャ：Ｊａ−Ｎｅｔ」，情報処理，社団法人情報処理学会，２００２年６月，４３巻６号，ｐ．６１６−６２２
【発明の開示】
【発明が解決しようとする課題】
【０００９】
以上のように、従来のサービス生成方法では、ユーザの状況に適した状況依存型サービスを実現することができないという問題点があった。
また、従来のサービス生成方法では、サービス生成の基となるファイルの記述に手間がかかるという問題点があった。
【００１０】
本発明は、上記課題を解決するためになされたもので、ユーザの状況に適した状況依存型サービスを実現することができるサービス生成方法、サービス生成システムおよびプログラムを提供することを目的とする。
また、本発明は、サービス生成の基となるファイルの記述に手間をかけることなく、状況依存型サービスを容易に実現することができるサービス生成方法、サービス生成システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、ネットワーク上の機能を抽象化した単位であるサービス構成要素を、このサービス構成要素の機能種別を表すサービスカテゴリの接続関係が記述されたサービステンプレートに基づいて検索し組み合わせることにより、ユーザが欲するサービスを生成するサービス生成方法であって、ユーザの電子機器が、ユーザが欲するサービスに対応するサービステンプレートをネットワーク上で検索するサービステンプレート発見手順と、前記検索されたサービステンプレートに基づいて、必要かつ利用可能なサービス構成要素を前記ネットワーク上で検索するサービス構成要素発見手順と、前記検索されたサービス構成要素を前記検索されたサービステンプレートに基づいて組み合わせることによりユーザが欲するサービスを生成するサービスバインド手順と、前記生成したサービスを実行してよいかどうかユーザに問い合わせるサービス提案手順と、ユーザから実行の承認が得られたときに前記生成したサービスを実行するサービス実行手順とを実行するようにしたものである。
【００１２】
また、本発明のサービス生成方法の１構成例において、前記サービステンプレート発見手順は、サーバを介することなく前記サービステンプレートを検索するピュア型のピアツーピア検索を行うようにしたものである。
また、本発明のサービス生成方法の１構成例において、前記サービステンプレート発見手順は、前記サービステンプレートのメタデータを管理するインデックスサーバを介して前記サービステンプレートを検索するハイブリッド型のピアツーピア検索を行うようにしたものである。
また、本発明のサービス生成方法の１構成例において、前記サービス構成要素発見手順は、サーバを介することなく前記サービス構成要素を検索するピュア型のピアツーピア検索を行うようにしたものである。
また、本発明のサービス生成方法の１構成例において、前記サービス構成要素発見手順は、前記サービス構成要素のメタデータを管理するインデックスサーバを介して前記サービス構成要素を検索するハイブリッド型のピアツーピア検索を行うようにしたものである。
また、本発明のサービス生成方法の１構成例において、前記サービスバインド手順は、前記ユーザの電子機器からの接続命令に基づいて、前記検索されたサービス構成要素間でデータの引き継ぎをテキスト文書で行い、データを引き継ぐサービス構成要素が前記テキスト文書に記述されたパラメータを解析してサービス構成要素間のパラメータ解決を行うことにより、前記検索されたサービス構成要素を接続してサービスを生成するようにしたものである。
また、本発明のサービス生成方法の１構成例において、前記ユーザの電子機器は、さらにユーザによるサービスの利用が終了したときにこのサービスに対するユーザの満足度を含むサービス利用履歴を前記検索されたサービス構成要素に送信するサービス利用履歴送信手順を実行し、各サービス構成要素は、受信したサービス利用履歴を記録するサービス利用履歴蓄積手順と、前記記録されたサービス利用履歴に基づいて新たなサービステンプレートを生成するサービステンプレート生成手順とを実行するようにしたものである。
【００１３】
また、本発明のサービス生成方法の１構成例において、前記サービス利用履歴送信手順は、前記検索されたサービステンプレートにおいて送信先のサービス構成要素に対応する第１のサービスカテゴリの直前に配置されていた第２のサービスカテゴリと、前記検索されたサービステンプレートにおいて前記第１のサービスカテゴリの直後に配置されていた第３のサービスカテゴリと、前記検索されたサービステンプレートと、前記ユーザの満足度とを含む前記サービス利用履歴を前記送信先のサービス構成要素に送信し、前記サービス利用履歴蓄積手順は、前記ユーザの満足度を前記第２のサービスカテゴリ、前記第３のサービスカテゴリ、前記検索されたサービステンプレートの各々に対する満足度として記録し、前記サービステンプレート生成手順は、前記サービス利用履歴を一定回数受信する度に、前記第２のサービスカテゴリに対する満足度の累積値に基づいて、前記一定回数中に記録された第２のサービスカテゴリの中から前記累積値が最高の第２のサービスカテゴリを選択すると共に、前記第３のサービスカテゴリに対する満足度の累積値に基づいて、前記一定回数中に記録された第３のサービスカテゴリの中から前記累積値が最高の第３のサービスカテゴリを選択する手順と、各サービステンプレートに対する満足度の累積値に基づいて、前記一定回数中に記録されたサービステンプレートの中から自サービス構成要素に対応する前記第１のサービスカテゴリの直前が前記選択された第２のサービスカテゴリである第１のサービステンプレートと前記第１のサービスカテゴリの直後が前記選択された第３のサービスカテゴリである第２のサービステンプレートとを選択する手順と、前記第１、第２のサービステンプレートを、それぞれ前記第１のサービスカテゴリより前の前半部と前記第１のサービスカテゴリと前記第１のサービスカテゴリより後の後半部の３つに切断する手順と、前記第１のサービステンプレートの前半部と前記第１のサービスカテゴリと前記第２のサービステンプレートの後半部とを結合させることにより、新たなサービステンプレートを生成する手順とを含むものである。
【００１４】
また、本発明のサービス生成方法の１構成例において、前記サービス利用履歴送信手順は、前記検索されたサービステンプレートと前記ユーザの満足度とを含む前記サービス利用履歴を送信し、前記サービス利用履歴蓄積手順は、前記ユーザの満足度を前記検索されたサービステンプレートに対する満足度として記録し、前記サービステンプレート生成手順は、前記サービス利用履歴を一定回数受信する度に、前記サービステンプレートに対する満足度の累積値に基づいて、この一定回数中に記録されたサービステンプレートの中から前記累積値の高い第１のサービステンプレートと第２のサービステンプレートの２つを選択する手順と、前記第１、第２のサービステンプレートを、それぞれ自サービス構成要素に対応する第１のサービスカテゴリより前の前半部と前記第１のサービスカテゴリと前記第１のサービスカテゴリより後の後半部の３つに切断する手順と、前記第１のサービステンプレートの前半部と前記第１のサービスカテゴリと前記第２のサービステンプレートの後半部とを結合させることにより、新たなサービステンプレートを生成すると共に、前記第２のサービステンプレートの前半部と前記第１のサービスカテゴリと前記第１のサービステンプレートの後半部とを結合させることにより、新たなサービステンプレートを生成する手順とを含むものである。
【００１５】
また、本発明は、ネットワーク上の機能を抽象化した単位であるサービス構成要素を、このサービス構成要素の機能種別を表すサービスカテゴリの接続関係が記述されたサービステンプレートに基づいて検索し組み合わせることにより、ユーザの電子機器がユーザの欲するサービスを生成するサービス生成システムであって、前記ユーザの電子機器は、ユーザが欲するサービスに対応するサービステンプレートをネットワーク上で検索するサービステンプレート発見手段と、前記検索されたサービステンプレートに基づいて、必要かつ利用可能なサービス構成要素を前記ネットワーク上で検索するサービス構成要素発見手段と、前記検索されたサービス構成要素を前記検索されたサービステンプレートに基づいて組み合わせることによりユーザが欲するサービスを生成するサービスバインド手段と、前記生成したサービスを実行してよいかどうかユーザに問い合わせるサービス提案手段と、ユーザから実行の承認が得られたときに前記生成したサービスを実行するサービス実行手段とを有するものである。
また、本発明のサービス生成システムの１構成例において、前記ユーザの電子機器は、ユーザによるサービスの利用が終了したときにこのサービスに対するユーザの満足度を含むサービス利用履歴を、前記検索されたサービス構成要素を保持するネットワーク上の電子機器に送信するサービス評価手段を有し、前記検索されたサービス構成要素を保持するネットワーク上の電子機器は、受信したサービス利用履歴を記録するサービス利用履歴蓄積手段と、前記記録されたサービス利用履歴に基づいて新たなサービステンプレートを生成するサービステンプレート生成手段とを有するものである。
【００１６】
また、本発明は、ネットワーク上の機能を抽象化した単位であるサービス構成要素を、このサービス構成要素の機能種別を表すサービスカテゴリの接続関係が記述されたサービステンプレートに基づいて検索し組み合わせることにより、ユーザが欲するサービスを生成する電子機器としてコンピュータを動作させるサービス生成プログラムであって、ユーザが欲するサービスに対応するサービステンプレートをネットワーク上で検索するサービステンプレート発見手順と、前記検索されたサービステンプレートに基づいて、必要かつ利用可能なサービス構成要素を前記ネットワーク上で検索するサービス構成要素発見手順と、前記検索されたサービス構成要素を前記検索されたサービステンプレートに基づいて組み合わせることによりユーザが欲するサービスを生成するサービスバインド手順と、前記生成したサービスを実行してよいかどうかユーザに問い合わせるサービス提案手順と、ユーザから実行の承認が得られたときに前記生成したサービスを実行するサービス実行手順とをユーザのコンピュータに実行させるようにしたものである。
また、本発明のサービス生成プログラムの１構成例は、ユーザによるサービスの利用が終了したときにこのサービスに対するユーザの満足度を含むサービス利用履歴を前記検索されたサービス構成要素に送信するサービス利用履歴送信手順をユーザのコンピュータに実行させ、各サービス構成要素が受信したサービス利用履歴を記録するサービス利用履歴蓄積手順と、前記記録されたサービス利用履歴に基づいて各サービス構成要素が新たなサービステンプレートを生成するサービステンプレート生成手順とを前記検索されたサービス構成要素を保持するネットワーク上のコンピュータに実行させるようにしたものである。
【発明の効果】
【００１７】
本発明によれば、ネットワーク上のサービス構成要素を、サービス構成要素の機能種別を表すサービスカテゴリの接続関係が記述されたサービステンプレートに基づいて検索し組み合わせることにより、ユーザが欲するサービスを生成するようにしたので、ネットワークの状態やサービスを実現するためのソフトウェアやハードウェアといったサービス構成要素が時々刻々変化する状況の中で、ユーザが欲しているサービスをネットワーク上で生成してユーザに提供することが可能になる。本発明では、サービス生成の基となるサービステンプレートを抽象化して記述することにより、サービステンプレートを汎用的に使えるようにし、サービスの生成に必要なサービス構成要素を適宜選択可能にすることで、状況依存型のサービス生成が可能である。
【００１８】
また、サーバを介することなくピュア型のピアツーピア検索を行うことにより、ネットワーク上でサービステンプレートを検索することができる。ピュア型のピアツーピア検索によれば、ネットワークのトラフィックの爆発的増加を防ぐことができ、リアルタイムの情報が得られ、またネットワークの障害に強いという利点がある。
【００１９】
また、サービステンプレートのメタデータを管理するインデックスサーバを介してハイブリッド型のピアツーピア検索を行うことにより、ネットワーク上でサービステンプレートを検索することができる。ハイブリッド型のピアツーピア検索によれば、目的とするサービステンプレートを高速に発見することができる。
【００２０】
また、サーバを介することなくピュア型のピアツーピア検索を行うことにより、ネットワーク上でサービス構成要素を検索することができる。
【００２１】
また、サービス構成要素のメタデータを管理するインデックスサーバを介してハイブリッド型のピアツーピア検索を行うことにより、ネットワーク上でサービス構成要素を検索することができる。
【００２２】
また、サービス構成要素間でデータの引き継ぎをテキスト文書で行い、データを引き継ぐサービス構成要素がテキスト文書に記述されたパラメータを解析してサービス構成要素間のパラメータ解決を行うことにより、サービス構成要素を接続してサービスを生成することができる。
【００２３】
また、ユーザによるサービスの利用が終了したときにこのサービスに対するユーザの満足度を含むサービス利用履歴をユーザの電子機器からサービス構成要素に送信し、各サービス構成要素が受信したサービス利用履歴を記録し、このサービス利用履歴に基づいて各サービス構成要素が新たなサービステンプレートを生成することにより、サービス生成の基となるファイル（サービステンプレート）の記述に手間をかけることなく、状況依存型サービスを容易に実現することができる。
【００２４】
また、検索したサービステンプレートにおいて送信先のサービス構成要素に対応する第１のサービスカテゴリの直前に配置されていた第２のサービスカテゴリと、検索されたサービステンプレートにおいて第１のサービスカテゴリの直後に配置されていた第３のサービスカテゴリと、検索したサービステンプレートと、ユーザの満足度とを含むサービス利用履歴をサービス構成要素に送信し、各サービス構成要素においてサービス利用履歴を一定回数受信する度に、一定回数中に記録された第２のサービスカテゴリの中から満足度の累積値が最高の第２のサービスカテゴリを選択すると共に、一定回数中に記録された第３のサービスカテゴリの中から満足度の累積値が最高の第３のサービスカテゴリを選択し、一定回数中に記録されたサービステンプレートの中から第１のサービスカテゴリの直前が選択された第２のサービスカテゴリである第１のサービステンプレートと第１のサービスカテゴリの直後が選択された第３のサービスカテゴリである第２のサービステンプレートとを選択し、第１、第２のサービステンプレートを、それぞれ前半部と第１のサービスカテゴリと後半部の３つに切断し、第１のサービステンプレートの前半部と第１のサービスカテゴリと第２のサービステンプレートの後半部とを結合させることにより、ユーザの状況に即したサービステンプレートを生成することができる。
【００２５】
また、サービス利用履歴を一定回数受信する度に、サービステンプレートに対する満足度の累積値に基づいて、この一定回数中に記録されたサービステンプレートの中から累積値の高い第１のサービステンプレートと第２のサービステンプレートの２つを選択し、第１、第２のサービステンプレートを、それぞれ前半部と第１のサービスカテゴリと後半部の３つに切断し、第１のサービステンプレートの前半部と第１のサービスカテゴリと第２のサービステンプレートの後半部とを結合させると共に、第２のサービステンプレートの前半部と第１のサービスカテゴリと第１のサービステンプレートの後半部とを結合させることにより、ユーザの状況に即したサービステンプレートを生成することができる。このサービステンプレートの生成方法によれば、電子機器で蓄積するサービス利用履歴がサービステンプレートに対する満足度の累積値のみでよく、電子機器の記憶容量を小さくできる。
【発明を実施するための最良の形態】
【００２６】
［第１の実施の形態］
以下、本発明の実施の形態を図面を用いて説明する。図１は、本発明の第１の実施の形態となるサービス生成システムの構成例を示すブロック図である。
ネットワーク（ＮＷ）１には、複数の電子機器（以下、ピアと呼ぶ）が接続されている。ピアの種類としては、サービス構成要素提供ピア２と、サービステンプレート提供ピア３と、ユーザピア４とがある。これらのロールは、状況によって変化し、１つのピアがサービス構成要素提供ピア２であることもあれば、ユーザピア４であることもあり、またサービステンプレート提供ピア３であることもある。
【００２７】
サービス構成要素提供ピア２は、サービス構成要素２０およびサービス構成要素公開手段２１を有する。
サービステンプレート提供ピア３は、サービステンプレート３０およびサービステンプレート公開手段３１を有する。
そして、ユーザピア４は、サービステンプレート発見手段４０、サービス構成要素発見手段４１、サービスバインド手段４２、サービス提案手段４３およびサービス実行手段４４を有する。
【００２８】
本実施の形態の前提として、ネットワーク１に接続されたピアが所有者のポリシーに基づいて、コンテンツやソフトウェアコンポーネント等のサービスを構成するサービス構成要素２０をネットワーク１上に公開している環境を想定する。このネットワーク１上に公開された利期可能なサービス構成要素２０を発見し、どのような機能のサービス構成要素を組み合わせるかを示す、サービス構成要素間の接続関係が記述されたサービステンプレートに基づいて、サービス構成要素を動的に組み合わせることにより、サービスを生成する。
【００２９】
ピア２〜４は、パーソナルコンピュータ（PC）、携帯電話機、情報家電などネットワーク１に接続されたあらゆる電子機器である。
ネットワーク１は、ピア２〜４間の通信を実現するネットワークであれば何でもよく、例えば家庭内のネットワークでもよいし、企業内ＬＡＮ（Local Area Network）でもよいし、インターネットでもよい。これらの違いは、ネットワークの規模により接続されるピア数が異なるだけである。
【００３０】
サービス構成要素２０は、ネットワーク１を介してアクセス可能なあらゆる要素であり、例えば動画ファイルのようなコンテンツでもよいし、動画を処理するソフトウェアでもよいし、モニタ装置のようなハードウェアでもよい。
サービステンプレート３０は、どのような機能のサービス構成要素を組み合わせるかを示す、サービス構成要素間の接続関係が記述されたサービスのメタ（抽象的）設計図である。
【００３１】
サービステンプレート３０を抽象化して記述することにより、従来のウェブサービス（Web Services）の課題である、状況依存型のサービス生成ができないという課題を解決する。本実施の形態では、サービステンプレート３０を汎用的に使えるようにし、サービスの生成に必要なサービス構成要素２０を適宜選択可能（未知のサービス構成要素を含む）にすることで、状況依存型のサービス生成が可能である。
【００３２】
サービステンプレート３０には、どのような機能のサービス構成要素２０を接続するかだけが記述されている。より具体的には、サービス構成要素２０の機能種別を表すサービスカテゴリ（以下、ＳＥカテゴリと略する）の接続関係だけが記述されている。ユーザによるサービス利用時においては、ユーザの状況やサービス構成要素の使用可否に合わせて、実際に利用するサービス構成要素２０を検索し、検索したサービス構成要素２０を組み合わせる。
【００３３】
図２（ａ）はサービステンプレート３０を模式的に示す図、図２（ｂ）はサービステンプレート３０に基づくサービス構成要素２０の組み合わせを模式的に示す図である。図２の例は、ユーザの出張時に、ユーザの現在位置近くの空いたレストランの広告を検索して、検索したレストランの広告を日本語に翻訳し、翻訳した広告をユーザの現在位置近くの表示装置に出力するというサービスを生成するためのサービステンプレート３０を示している。
【００３４】
サービステンプレート３０には、図２（ａ）に示すようにレストラン広告３００、翻訳３０１、画像出力３０２という３つのＳＥカテゴリ間の接続関係だけが記述されている。ユーザからのサービス要求が発生したときには、ユーザの状況に合わせて、仏料理店の広告（コンテンツ）、仏語から日本語への翻訳処理（ソフトウェア）、ユーザの現在位置近くのモニタ装置（ハードウェア）という３つのサービス構成要素２０を選択して組み合わせることにより、レストランの広告を日本語に翻訳して表示するというサービスを生成している（図２（ｂ））。
【００３５】
図３は本実施の形態のサービス生成方法の概略を示すフローチャートである。ユーザからのサービス要求が発生したとき（図３ステップＳ１においてＹＥＳ）、ユーザピア４は、ユーザが要求したサービスに対応するサービステンプレート３０をネットワーク１上で検索するサービステンプレート発見手順（ステップＳ２）と、検索したサービステンプレート３０に基づいて、必要かつ利用可能なサービス構成要素２０をネットワーク１上で検索するサービス構成要素発見手順（ステップＳ３）と、検索したサービス構成要素２０を前記検索したサービステンプレート３０に基づいて組み合わせることによりユーザが要求したサービスを生成するサービスバインド手順（ステップＳ４）と、生成したサービスを実行してよいかどうかユーザに問い合わせるサービス提案手順（ステップＳ５）と、ユーザから実行の承認が得られたときに、前記生成したサービスを実行するサービス実行手順（ステップＳ６）の６つの手順を実行する。
【００３６】
以下、ユーザピア４の処理をより詳細に説明する。図４はサービス生成方法の詳細を示すシーケンス図である。図４の例では、サービス構成要素提供ピア２として、２−１と２−２の２つが存在するものとして説明する。
【００３７】
図３で説明したとおり、ユーザからのサービス要求が発生したとき（図４ステップＳ１１）、ユーザピア４は、最初にサービステンプレート発見手順を実行する。サービステンプレート発見手順において、ユーザピア４のサービステンプレート発見手段４０は、ネットワーク１上のサービステンプレート提供ピア３に対して問い合わせ（クエリ）を行い（ステップＳ１２）、ユーザが要求したサービスに対応するサービステンプレート３０を取得する（ステップＳ１３）。
【００３８】
サービステンプレート提供ピア３のサービステンプレート公開手段３１は、サービステンプレート提供ピア３が保持するサービステンプレート３０のメタデータ（例えば、レストラン検索サービスなどのサービス名）を公開している。このメタデータに基づき、ユーザピア４のサービステンプレート発見手段４０は、ユーザが要求したサービスに対応するサービステンプレート３０を検索する。サービステンプレート発見手段４０は、サービステンプレート３０の検索に、ピュア型のピアツーピア方式とハイブリッド型のピアツーピア方式を状況に応じて使い分けする。
【００３９】
図５はハイブリッド型のピアツーピア方式を説明するための図である。ハイブリッド型のピアツーピア方式では、サービステンプレート提供ピア３が保持するサービステンプレート３０のメタデータがネットワーク１上のインデックスサーバ５に予め登録されている。ユーザピア４のサービステンプレート発見手段４０は、インデックスサーバ５に間い合わせることで、メタデータがマッチするサービステンプレート３０の所在を認識し、該当するサービステンプレート提供ピア３に対してサービステンプレート３０の提供を要求する。
【００４０】
このハイブリッド型のピアツーピア方式によれば、目的とするサービステンプレート３０を比較的高速に発見することができるが、メタデータの登録数が多数になったときにインデックスサーバ５の負荷が高くなる。また、サービステンプレート提供ピア３の状態が時々刻々変化する場合（オンラインかオフライン、あるいは移動など）には、インデックスサーバ５の情報を絶えず更新しなければならないため、ネットワーク１のトラフィックが高くなる。
【００４１】
図６はピュア型のピアツーピア方式を説明するための図である。ピュア型のピアツーピア方式では、各ピアが隣接ピアからの問い合わせを他の隣接ピアに中継することを繰り返すことで、ユーザが要求したサービスに対応するサービステンプレート３０を検索する。このとき、検索範囲は、問い合わせるピアのホップ数上限値であるＴＴＬ（Time To Live）値によって制限される。
【００４２】
図６の例において、ユーザピア４がＴＴＬ値２でサービステンプレート３０を検索することを考える。ＴＴＬ値が２なので、ユーザピア４のサービステンプレート発見手段４０は、自身からピア数２だけ離れたピアまで検索することが可能である。すなわち、ユーザピア４自身とピア６−１，６−２，６−３，６−４，６−７の５つのピアが保持するサービステンプレート３０が検索可能である。
【００４３】
ピュア型のピアツーピア方式では、ＴＴＬ値を設けることにより、ネットワーク１のトラフィックの爆発的増加を防ぐことができる。また、インデックスサーバ５を介すことなく、サービステンプレート提供ピア３まで問い合わせに行くため、リアルタイムの情報が得られ、Ｗｅｂページの検索エンジンのようにリンク切れがない等の長所があり、さらにサーバが不要なため、ネットワーク１の障害に強いという利点がある。
【００４４】
次に、サービステンプレート３０を取得したユーザピア４は、サービス構成要素発見手順を実行する。サービス構成要素発見手順において、ユーザピア４のサービス構成要素発見手段４１は、取得したサービステンプレート３０に記述されたＳＥカテゴリに基づいて、ネットワーク１上のサービス構成要素提供ピア２に対して問い合わせ（クエリ）を行い（図４ステップＳ１４，Ｓ１６）、サービス生成に必要かつ利用可能なサービス構成要素２０を検索する（ステップＳ１５，Ｓ１７）。
【００４５】
サービステンプレートの検索と同様に、サービス構成要素２０の検索にはメタデータマッチングを用いる。すなわち、サービス構成要素提供ピア２のサービス構成要素公開手段２１は、サービス構成要素提供ピア２が保持するサービス構成要素２０のメタデータを公開している。このメタデータに基づき、ユーザピア４のサービス構成要素発見手段４１は、サービス構成要素２０を検索する。
【００４６】
図７はサービス構成要素発見手順を説明するための図である。図７の例では、ユーザピア４は、取得したサービステンプレート３０に記述された「画像出力」というＳＥカテゴリに基づいてサービス構成要素提供ピア２−３に対してクエリによる問い合わせを行う。このとき、クエリでは、サービス構成要素２０の条件として利用可能（アイドル状態）であることを指定している。また、ユーザの現在位置が東京であるため、所在地が東京であることをサービス構成要素２０の条件として指定している。このクエリに対するサービス構成要素提供ピア２−３の返答では、サービス構成要素提供ピア２−３が保持するサービス構成要素２０−３がビジー状態にあるため、ユーザピア４は、サービス構成要素２０−３を利用できないと認識する。
【００４７】
続いて、ユーザピア４は、サービス構成要素提供ピア２−１に対してクエリによる同様の問い合わせを行う。このクエリに対するサービス構成要素提供ピア２−１の返答により、ユーザピア４は、サービス構成要素提供ピア２−１が保持するサービス構成要素２０−１がクエリで指定した条件に合致すると認識する。
【００４８】
サービステンプレートの検索と同様に、サービス構成要素発見手段４１は、検索するサービス構成要素２０によって、ピュア型のピアツーピア方式とハイブリッド型のピアツーピア方式を使い分ける必要がある。例えば、音楽コンテンツはどこから見つけてもよいが、音楽を出力するプレーヤー等のハードウェアはユーザの現在位置に近くなくては意味がない。そのため、音楽コンテンツなどの静的な情報検索には、ハイブリッド型のピアツーピア方式を用いればよいし、ユーザの現在位置に近いプレーヤーを検索するのならば、無線のピュア型ピアツーピア方式で検索すればよい。
【００４９】
次に、ユーザピア４は、サービスバインド手順を実行する。サービスバインド手順において、ユーザピア４のサービスバインド手段４２は、検索したサービステンプレート３０に記述されたＳＥカテゴリの接続関係に従って各サービス構成要素２０が接続されるように、サービス構成要素発見手段４１が検索した各サービス構成要素２０に対して接続命令を出す（図４ステップＳ１８，Ｓ１９）。
【００５０】
サービス構成要素提供ピア２−１，２−２のサービス構成要素２０は、ユーザピア４からの接続命令を受けると、接続命令を受けたサービス構成要素同士で通信して互いに連結する（ステップＳ２０）。こうして、サービス構成要素発見手段４１が検索したサービス構成要素２０が相互に接続されることによりグループ化され、ユーザが要求したサービスが生成される。そして、各サービス構成要素２０は、サービス生成の完了を要求元のユーザピア４に通知する（ステップＳ２１）。
【００５１】
前述のＢＰＥＬでは、サービス生成に必要なＷＳがほぼ限定されるほど厳密にＢＰＥＬファイルを記述していたが、本実施の形態のサービステンプレート３０は必要なサービス構成要素２０の機能を抽象化してＳＥカテゴリのみ記述しているので、サービス連携には、サービス構成要素２０の発見後にインタフェース整合、パラメータマッピングが必要となる。サービステンプレート３０は汎用的かつ容易に記述できることが望ましいため、サービス構成要素２０の側でインタフェース整合、パラメータマッピングを解決する必要がある。
【００５２】
そのため、ユーザピア４からサービス構成要素２０に送信する制御データ（接続命令）およびサービス構成要素間の制御データとして、ＸＭＬ（eXtensible Markup Language）文書などのテキスト文書を用い、ＸＭＬ文書を受信したサービス構成要素２０の側でパラメータの意味を解析して、インタフェース整合、パラメータマッピングを行う。
【００５３】
ＸＭＬ文書には、パラメータとともに、パラメータの意味や型が記述されている。ＸＭＬ文書を回覧板のように扱うことでパラメータ整合を、サービス実行時に解決する。この理由としては、各サービス構成要素２０のメソッドは、実装毎にメソッド名、引数の型や引数の数、戻り値の型や戻り値の数が異なっているため、バインドするためには、パラメータの意味や呼び出すメソッド名を、サービス構成要素２０の検索後に解決する必要があるためである。
【００５４】
図８を用いて、パラメータマッピングを説明する。各サービス構成要素２０は、データ入力とデータ出力の共通の手段として、ＸＭＬ文書を読み書きするＸＭＬＲｅａｄ／Ｗｒｉｔｅメソッド２００を有している。ＸＭＬ文書を解析するＸＭＬパーサは、ＤＯＭ（Document Object Model ）でもよいし、ＳＡＸ（The Simple API for XML）でもよい。図８は、検索したキーワードを翻訳するというサービスの場合のパラメータ解決の例を示しており、検索機能を有するサービス構成要素（以下、検索ＳＥと略する）２０−１で検索したキーワードを翻訳機能を有するサービス構成要素（以下、翻訳ＳＥと略する）２０−２で翻訳する。
【００５５】
まず、ユーザピア４が取得したサービステンプレート３０には、検索ＳＥで検索するというＳＥカテゴリ３０３と、検索語を翻訳ＳＥで翻訳するというＳＥカテゴリ３０４だけが書かれている。検索ＳＥ２０−１は、ユーザピア４からの接続命令をＸＭＬＲｅａｄ／Ｗｒｉｔｅメソッド２００−１で解析した結果、検索処理が求められていることを知り、検索メソッド２０１−１を呼び出す。
【００５６】
検索メソッド２０１−１による検索結果は、ＸＭＬＲｅａｄ／Ｗｒｉｔｅメソッド２００−１によりＸＭＬ文書で記述され、このＸＭＬ文書が翻訳ＳＥ２０−２に送信される。このとき、ＸＭＬ文書には、検索語「あいうえお」を意味するパラメータと共に、この検索語が文字列（String）型であることや検索語を翻訳語に入力するよう指示するパラメータが記述されている。
【００５７】
検索ＳＥ２０−１からのＸＭＬ文書をＸＭＬＲｅａｄ／Ｗｒｉｔｅメソッド２００−２で受信した翻訳ＳＥ２０−２は、ユーザピア４からの接続命令をＸＭＬＲｅａｄ／Ｗｒｉｔｅメソッド２００−２で解析し、翻訳処理が求められていることを知る。翻訳ＳＥ２０−２は、検索ＳＥ２０−１からのＸＭＬ文書を解析した結果、「あいうえお」というパラメータが文字列型で、翻訳語に入力するキーワードだと知り、自身の翻訳メソッド２０１−２への引数として文字列型の「あいうえお」を入れて、翻訳メソッド２０１−２を呼び出す。翻訳メソッド２０１−２からの戻り値である翻訳結果は、検索ＳＥ２０−１のときと同様に、ＸＭＬ文書を用いて、次のサービス構成要素に渡される。
【００５８】
ＸＭＬ文書を用いてデータのやりとりを扱うことのもう１つの利点は、サービス構成要素間で呼び出すメソッドやパラメータが複数の場合でも、入出力インタフェースはＸＭＬＲｅａｄ／Ｗｒｉｔｅメソッドによって共通的に作成することができるということであり、サービス構成要素を作るのが容易になるということである。
【００５９】
次に、ユーザピア４は、サービス提案手順を実行する。サービス提案手順において、ユーザピア４のサービス提案手段４３は、生成したサービスを実行してよいかどうかユーザに問い合わせる（図４ステップＳ２２）。ユーザに対する提案内容では、サービステンプレート３０の種類（例えば、コンテンツ配信サービスやチャットサービス）と、サービス生成に使用されているサービス構成要素２０とが提示される。
【００６０】
ユーザからサービス実行の承認が得られたとき（ステップＳ２３）、ユーザピア４は、サービス実行手順を行う。サービス実行手順において、ユーザピア４のサービス実行手段４４は、サービス構成要素提供ピア２のサービス構成要素２０にサービス開始命令を送信する（ステップＳ２４）。これにより、前述のサービスバインド手順で接続されたサービス構成要素間でＸＭＬ文書による制御データのやりとりが行われ（ステップＳ２５）、ユーザにサービスが提供される（ステップＳ２６）。
【００６１】
こうして、本実施の形態によれば、サービステンプレート３０を抽象化して記述することにより、サービステンプレート３０を汎用的に使えるようにし、サービスの生成に必要なサービス構成要素２０を適宜選択可能にすることで、状況依存型のサービス生成が可能である。
【００６２】
［第２の実施の形態］
次に、本発明の第２の実施の形態について説明する。図９は、本発明の第２の実施の形態となるサービス生成システムの構成例を示すブロック図であり、図１と同一の構成には同一の符号を付してある。
本実施の形態のサービス構成要素提供ピア２ａは、第１の実施の形態のサービス構成要素提供ピア２に、サービス利用履歴蓄積手段２２およびサービステンプレート生成手段２３を追加したものである。ユーザピア４ａは、第１の実施の形態のユーザピア４に、サービス評価手段４５を追加したものである。
【００６３】
第１の実施の形態では、抽象化したサービステンプレートにより、状況に応じたサービス構成要素の選択・連携が容易になる。ただし、第１の実施の形態では、サービステンプレートを誰が記述するかという課題（前述のＷＳの課題である、ＢＰＥＬファイルの記述に手間がかかるという課題）がある。
【００６４】
ユビキタス環境では、多くのユーザが各々の嗜好、ＩＴリテラシに応じて多様なサービスを容易に利用可能なことが期待されるため、ユーザがサービスを利用する度にサービス構成要素を記述することは避けなければならない。また、時間とともに、ユーザの嗜好が変化したり、新たなサービス構成要素が生じたりするため、特定のサービステンプレートしか存在しないのでは、ユーザの満足を得ることはできない。そこで、ユーザの変化する嗜好に応じて、適切なサービステンプレートをネットワークで自動生成することが必要である。
【００６５】
図１０に上記考察を含めた、サービス生成技術のコンセプト図を示す。トップダウン型は、第１の実施の形態で説明した技術であり、ユーザのサービス要求に対して、まず対応するサービステンプレート３０をネットワーク１より検索し、検索したサービステンプレート３０に記述されたＳＥカテゴリに基づいて、実際に利用するサービス構成要素２０を動的に検索して組み合わせることで、連携サービスを提供するサービス生成技術である。これにより、ユーザのその場その時の状況に適したサービスが可能となる。
【００６６】
一方、ボトムアップ型は、本実施の形態で説明する技術であり、ユーザの嗜好に合ったサービステンプレート３０を予め準備することを目的として、複数ユーザのサービス利用履歴を分析し、ＳＥカテゴリ間の有効な接続関係情報を抽出して、新たなサービステンプレート３０を自動的に生成するサービス生成技術である。これにより、ユーザの嗜好が変化しても、変化した嗜好に適したサービステンプレート３０を生成することで、ユーザの満足度が高いサービスを提供することができる。
【００６７】
また、ユーザは、自分だけでなく他者の経験に基づいた、ネットワーク１で利用頻度の高いサービスの利用が可能となる。さらに、サービステンプレート３０の中で高利用頻度のサービステンプレート３０については複製が作られ、一方、低利用頻度のサービステンプレート３０は削除されるので、サービステンプレート３０の選択・淘汰がなされる。すなわち、サービステンプレート３０は複数ユーザの経験による知識であり、これが抽出、流通、利用されることで、知識の共有が可能となる。
【００６８】
図１１は本実施の形態のサービス生成方法を示すシーケンス図である。ただし、ステップＳ１１〜Ｓ２６までの処理は図４に示した第１の実施の形態の処理と同様なので、ステップＳ２７以降の処理について説明する。
ユーザにサービスを提供した後、ユーザピア４は、サービス利用履歴送信手順を実行する。サービス利用履歴送信手順において、ユーザピア４のサービス評価手段４５は、提供したサービスに対する満足度をユーザから収集し（ステップＳ２７）、このユーザ満足度を含むサービス利用履歴を、サービス生成に用いた各サービス構成要素２０に送信する（ステップＳ２８，Ｓ２９）。
【００６９】
サービス利用履歴は、前述のサービステンプレート発見手順で取得したサービステンプレート３０において送信先のサービス構成要素２０に対応する第１のＳＥカテゴリの直前に配置されていた第２のＳＥカテゴリと、サービステンプレート発見手順で取得したサービステンプレート３０において前記第１のＳＥカテゴリの直後に配置されていた第３のＳＥカテゴリと、サービステンプレート発見手順で取得したサービステンプレート３０と、ユーザ満足度とを含む。ユーザ満足度は、生成したサービスに対する満足度であり、０から１の実数をとる。満足度０が最悪の評価、満足度１が最高の評価である。
【００７０】
次に、サービス構成要素提供ピア２ａのサービス利用履歴蓄積手段２２は、受信したサービス利用履歴を蓄積し、サービステンプレート生成手段２３は、この蓄積されたサービス利用履歴に基づいて、サービステンプレート生成手順を実行する（ステップＳ３０，Ｓ３１）。以下、このサービステンプレート生成手順について詳細に説明する。
【００７１】
生成したサービスが有用かどうかは、サービス構成要素２０の組み合わせ（ＳＥカテゴリの組み合わせ）が重要である。すなわち、本質的に繋げることができない、あるいは繋げても意味がないサービス構成要素２０の組み合わせ（例えば、英語から日本語への翻訳ＳＥと日本語から英語への翻訳ＳＥの組み合わせ）は避けなければならない。
【００７２】
良い組み合わせは、ユーザの利用頻度が高いと考えられるので、各サービス構成要素２０が保持するサービス利用履歴を分析し、そのサービス構成要素の前後に頻繁に利用されて親和度の高いＳＥカテゴリ情報を抽出して、それらのＳＥカテゴリを含んだ組み合わせのサービステンプレート３０を生成することが必要である。利用頻度が高く実績のあるＳＥカテゴリ同士を接続することで、サービスとして有用な確率を高め、質の低いサービステンプレート３０の生成を少なくする効果がある。
【００７３】
サービステンプレート３０の生成方式には２方式あり、まず第１の生成方式を図１２、図１３を用いて説明する。この第１の生成方式に基づくサービステンプレート生成手段２３は、サービス利用履歴に基づいて第２、第３のＳＥカテゴリを１つずつ選択する手段と、一定回数中に記録されたサービステンプレートの中から２つのサービステンプレートを選択する手段と、２つのサービステンプレートをそれぞれ前半部と第１のＳＥカテゴリと後半部の３つに切断する手段と、第１のサービステンプレートの前半部と第１のＳＥカテゴリと第２のサービステンプレートの後半部とを結合させる手段とを有する。
【００７４】
サービス構成要素提供ピア２ａのサービス利用履歴蓄積手段２２は、ユーザピア４ａから受信したサービス利用履歴に含まれるユーザ満足度を第２のＳＥカテゴリ毎、第３のＳＥカテゴリ毎、およびサービステンプレート毎に記録する。
【００７５】
前述のとおり、ユーザピア４ａからのサービス利用履歴には、第２のＳＥカテゴリと第３のＳＥカテゴリとサービステンプレート発見手順で検索されたサービステンプレート３０とユーザ満足度とが含まれる。ユーザ満足度は提供したサービスに対するユーザの満足度であるが、サービス利用履歴蓄積手段２２は、この満足度を第２のＳＥカテゴリ、第３のＳＥカテゴリ、サービステンプレート３０の各々に対する満足度として記録する。以下、第２のＳＥカテゴリ毎のユーザ満足度の累積値を第２のＳＥカテゴリ評価値、第３のＳＥカテゴリ毎のユーザ満足度の累積値を第３のＳＥカテゴリ評価値、サービステンプレート毎のユーザ満足度の累積値をＳＴ評価値と呼ぶことにする。
【００７６】
図１２の例において、サービス構成要素提供ピア２ａ自身が保持するサービス構成要素２０に対応する前記第１のＳＥカテゴリは３１０である。
サービステンプレート生成手段２３は、サービスが所定の閾値であるＳＴ生成閾回数ｔｈ＿ｃｏｕｎｔ回利用される度に、すなわちサービス利用履歴をｔｈ＿ｃｏｕｎｔ回受信する度に（図１３ステップＳ４０においてＹＥＳ）、サービステンプレート生成手順を実行し、新たなサービステンプレート３０の生成を施行する。
【００７７】
サービステンプレート生成手順において、サービステンプレート生成手段２３は、ｔｈ＿ｃｏｕｎｔ回中に記録された第２のＳＥカテゴリの中から第２のＳＥカテゴリ評価値が最高の第２のＳＥカテゴリ（以下、Ｆ＿ｃａｔｅと呼ぶ）を選択すると共に、ｔｈ＿ｃｏｕｎｔ回中に記録された第３のＳＥカテゴリの中から第３のＳＥカテゴリ評価値が最高の第３のＳＥカテゴリ（以下、Ｂ＿ｃａｔｅと呼ぶ）を選択する（ステップＳ４１）。
【００７８】
続いて、サービステンプレート生成手段２３は、選択したＦ＿ｃａｔｅが（Ｆ＿ｃａｔｅの評価値／ｔｈ＿ｃｏｕｎｔ）＞ｔｈ＿Ｐという条件を満たし、かつ選択したＢ＿ｃａｔｅが（Ｂ＿ｃａｔｅの評価値／ｔｈ＿ｃｏｕｎｔ）＞ｔｈ＿Ｐという条件を満たすかどうかチェックする（ステップＳ４２）。ここで、ｔｈ＿Ｐは予め定められたＳＴ生成閾確率である。図１２の例では、ｔｈ＿ｃｏｕｎｔ回中に記録された第２のＳＥカテゴリの中からＦ＿ｃａｔｅとして３１２が選択され、記録された第３のＳＥカテゴリの中からＢ＿ｃａｔｅとして３１７が選択されたことを示している。ＳＴ生成閾確率ｔｈ＿Ｐを用いる理由は、本当に親和度の高いＳＥカテゴリを含むサービステンプレート３０のみを抽出するためである。
【００７９】
Ｆ＿ｃａｔｅ、Ｂ＿ｃａｔｅがステップＳ４２の条件を満足しない場合、サービステンプレート生成手段２３は、サービス利用履歴蓄積手段２２に蓄積されたｔｈ＿ｃｏｕｎｔ回のサービス利用履歴を最新のサービス利用履歴のみを残してクリアし（ステップＳ４５）、サービステンプレート生成手順を終了する。最新のサービス利用履歴を残す理由は、現在の流行に合ったサービステンプレート３０を生成するためである。
【００８０】
一方、Ｆ＿ｃａｔｅ、Ｂ＿ｃａｔｅが前記の条件を共に満たす場合（ステップＳ４２においてＹＥＳ）、サービステンプレート生成手段２３は、ｔｈ＿ｃｏｕｎｔ回の中で使用されたサービステンプレート３０として記録され、かつ第２のＳＥカテゴリがＦ＿ｃａｔｅ３１２であるサービステンプレート３０の中からＳＴ評価値に比例する確率で１つのサービステンプレート３０を選択し、同様にｔｈ＿ｃｏｕｎｔ回の中で使用されたサービステンプレート３０として記録され、かつ第３のＳＥカテゴリがＢ＿ｃａｔｅ３１７であるサービステンプレート３０の中からＳＴ評価値に比例する確率で１つのサービステンプレート３０を選択する（ステップＳ４３）。
【００８１】
図１２の例では、第２のＳＥカテゴリがＦ＿ｃａｔｅ３１２であるサービステンプレートとして３０−１と３０−２の２つが記録されており、これらのＳＴ評価値がそれぞれ３、２とすると、３：２の確率でサービステンプレート３０−１と３０−２のどちらか一方が選択される。同様に、第３のＳＥカテゴリがＢ＿ｃａｔｅ３１７であるサービステンプレートとして３０−３と３０−４の２つが記録されており、これらのＳＴ評価値がそれぞれ４、３とすると、４：３の確率でサービステンプレート３０−３と３０−４のどちらか一方が選択される。
【００８２】
そして、サービステンプレート生成手段２３は、ステップＳ４３で選択した２つのサービステンプレート３０をそれぞれ第１のＳＥカテゴリ３１０より前の前半部と第１のＳＥカテゴリ３１０と第１のＳＥカテゴリ３１０より後の後半部の３つに切断し、第２のＳＥカテゴリがＦ＿ｃａｔｅ３１２であるサービステンプレート３０−１の前半部と第１のＳＥカテゴリ３１０と第３のＳＥカテゴリがＢ＿ｃａｔｅ３１７であるサービステンプレート３０−３の後半部とを結合させることにより、新たなサービステンプレート３０−５を生成する（ステップＳ４４）。
【００８３】
新たなサービステンプレート３０−５の生成後、前述のステップＳ４５の処理を行う。なお、本実施の形態では、ステップＳ４３の処理において、Ｆ＿ｃａｔｅあるいはＢ＿ｃａｔｅを含むサービステンプレート３０の中からＳＴ評価値に比例する確率で１つのサービステンプレート３０を選択しているが、Ｆ＿ｃａｔｅを含む複数のサービステンプレート３０の中から最高のＳＴ評価値のサービステンプレート３０を選択し、同様にＢ＿ｃａｔｅを含む複数のサービステンプレート３０の中から最高のＳＴ評価値のサービステンプレート３０を選択するようにしてもよい。例えば、Ｆ＿ｃａｔｅ３１２を含む２つのサービステンプレート３０−１，３０−２のＳＴ評価値がそれぞれ３、２の場合には、サービステンプレート３０−１を選択すればよい。
【００８４】
次に、第２の生成方式を図１４、図１５を用いて説明する。この第２の生成方式に基づくサービステンプレート生成手段２３は、一定回数中に記録されたサービステンプレートの中から第１のサービステンプレートと第２のサービステンプレートの２つを選択する手段と、第１、第２のサービステンプレートをそれぞれ前半部と第１のサービスカテゴリと後半部の３つに切断する手段と、第１のサービステンプレートの前半部と第１のサービスカテゴリと第２のサービステンプレートの後半部とを結合させると共に、第２のサービステンプレートの前半部と第１のサービスカテゴリと第１のサービステンプレートの後半部とを結合させる手段とを有する。
【００８５】
サービス構成要素提供ピア２ａのサービス利用履歴蓄積手段２２は、ユーザピア４ａから受信したサービス利用履歴に含まれるユーザ満足度をサービステンプレート毎に記録する。前述のとおり、ユーザ満足度は提供したサービスに対するユーザの満足度であるが、サービス利用履歴蓄積手段２２は、この満足度をサービス利用履歴に含まれるサービステンプレート３０に対する満足度として記録する。以下、サービステンプレート毎のユーザ満足度の累積値をＳＴ評価値と呼ぶことにする。
【００８６】
図１４の例において、サービス構成要素提供ピア２ａ自身が保持するサービス構成要素２０に対応する前記第１のＳＥカテゴリは３２０である。
サービステンプレート生成手段２３は、サービスがＳＴ生成閾回数ｔｈ＿ｃｏｕｎｔ回利用される度に（図１５ステップＳ５０においてＹＥＳ）、サービステンプレート生成手順を実行し、新たなサービステンプレート３０の生成を施行する。
【００８７】
サービステンプレート生成手順において、サービステンプレート生成手段２３は、ｔｈ＿ｃｏｕｎｔ回中に記録されたサービステンプレート３０の中から、各ＳＴ評価値に比例する確率で２つのサービステンプレート３０を選択する（ステップＳ５１）。図１４の例では、第１のサービステンプレート３０−６と第２のサービステンプレート３０−７が選択されたことを示している。
【００８８】
続いて、サービステンプレート生成手段２３は、ステップＳ５１で選択した２つのサービステンプレート３０−６，３０−７をそれぞれ第１のＳＥカテゴリ３２０より前の前半部と第１のＳＥカテゴリ３２０と第１のＳＥカテゴリ３２０より後の後半部の３つに切断し、第１のサービステンプレート３０−６の前半部と第１のＳＥカテゴリ３２０と第２のサービステンプレート３０−７の後半部とを結合させることにより、新たなサービステンプレート３０−８を生成すると共に、第２のサービステンプレート３０−７の前半部と第１のＳＥカテゴリ３２０と第１のサービステンプレート３０−６の後半部とを結合させることにより、新たなサービステンプレート３０−９を生成する（ステップＳ５２）。
【００８９】
サービステンプレート３０の生成後、サービステンプレート生成手段２３は、サービス利用履歴蓄積手段２２に蓄積されたｔｈ＿ｃｏｕｎｔ回のサービス利用履歴を最新のサービス利用履歴のみを残してクリアし（ステップＳ５３）、サービステンプレート生成手順を終了する。
【００９０】
以上の第２の生成方式は、第２のＳＥカテゴリおよび第３のＳＥカテゴリと無関係にサービステンプレート３０を生成するために、生成したサービステンプレート３０が有用である確率が前述の第１の生成方式よりも低い。しかし、この第２の生成方式によれば、サービス構成要素提供ピア２ａで蓄積するサービス利用履歴がＳＴ評価値のみでよく、サービス構成要素提供ピア２ａの記憶容量を第１の生成方式よりも小さくできるという利点がある。
【００９１】
以上のように、本実施の形態では、ユーザのサービス利用履歴に基づいて各サービス構成要素提供ピア２ａが新たなサービステンプレート３０を生成するので、サービステンプレート３０の記述に手間をかけることなく、状況依存型サービスを容易に実現することができる。
【００９２】
本実施の形態では、ステップＳ５１において、ＳＴ評価値に比例する確率で２つのサービステンプレート３０を選択しているが、ｔｈ＿ｃｏｕｎｔ回の中で使用された複数のサービステンプレート３０の中から、ＳＴ評価値が最高のものを第１のサービステンプレートとして選択し、ＳＴ評価値が２番目に高いものを第２のサービステンプレートとして選択するようにしてもよい。
【００９３】
なお、第１の実施の形態および第２の実施の形態のピア２〜４，２ａ，４ａは、例えばＣＰＵ、記憶装置およびインタフェースを備えたコンピュータとこれらのハードウェア資源を制御するプログラムによって実現することができる。このようなコンピュータにおいて、本発明のサービス生成方法を実現させるためのサービス生成プログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカードなどの記録媒体に記録された状態で提供される。ＣＰＵは、読み込んだプログラムを記憶装置に書き込み、前述の処理を実行する。
【産業上の利用可能性】
【００９４】
本発明は、数多くの多様な電子機器がネットワークに接続されたユビキタスコンピューティング環境に適用することができる。
【図面の簡単な説明】
【００９５】
【図１】本発明の第１の実施の形態となるサービス生成システムの構成例を示すブロック図である。
【図２】本発明の第１の実施の形態におけるサービステンプレートとサービステンプレートに基づくサービス構成要素の組み合わせを模式的に示す図である。
【図３】本発明の第１の実施の形態のサービス生成方法の概略を示すフローチャートである。
【図４】本発明の第１の実施の形態のサービス生成方法の詳細を示すシーケンス図である。
【図５】サービステンプレートとサービス構成要素の検索に用いるハイブリッド型のピアツーピア方式を説明するための図である。
【図６】サービステンプレートとサービス構成要素の検索に用いるピュア型のピアツーピア方式を説明するための図である。
【図７】サービス構成要素発見手順のメタデータマッチングを説明するための図である。
【図８】サービスバインド手順のパラメータマッピングの解決を説明するための図である。
【図９】本発明の第２の実施の形態となるサービス生成システムの構成例を示すブロック図である。
【図１０】本発明の第２の実施の形態におけるサービス生成フレームワークのコンセプト図である。
【図１１】本発明の第２の実施の形態のサービス生成方法を示すシーケンス図である。
【図１２】本発明の第２の実施の形態におけるサービステンプレートの第１の生成方式を説明するための図である。
【図１３】本発明の第２の実施の形態におけるサービステンプレートの第１の生成方式を示すフローチャートである。
【図１４】本発明の第２の実施の形態におけるサービステンプレートの第２の生成方式を説明するための図である。
【図１５】本発明の第２の実施の形態におけるサービステンプレートの第２の生成方式を示すフローチャートである。
【符号の説明】
【００９６】
１…ネットワーク、２、２ａ…サービス構成要素提供ピア、３…サービステンプレート提供ピア、４、４ａ…ユーザピア、２０…サービス構成要素、２１…サービス構成要素公開手段、２２…サービス利用履歴蓄積手段、２３…サービステンプレート生成手段、３０…サービステンプレート、３１…サービステンプレート公開手段、４０…サービステンプレート発見手段、４１…サービス構成要素発見手段、４２…サービスバインド手段、４３…サービス提案手段、４４…サービス実行手段、４５…サービス評価手段。
【図１】
2005196676.tif 000003
【図２】
2005196676.tif 000004
【図３】
2005196676.tif 000005
【図４】
2005196676.tif 000006
【図５】
2005196676.tif 000007
【図６】
2005196676.tif 000008
【図７】
2005196676.tif 000009
【図８】
2005196676.tif 000010
【図９】
2005196676.tif 000011
【図１０】
2005196676.tif 000012
【図１１】
2005196676.tif 000013
【図１２】
2005196676.tif 000014
【図１３】
2005196676.tif 000015
【図１４】
2005196676.tif 000016
【図１５】
2005196676.tif 000017