(57)【要約】【課題】検索コストを抑えつつ、ネットワーク上に存在する膨大なサービス部品の中からユーザが満足するサービス部品を柔軟に発見することができるようにする。【解決手段】サービステンプレートの記述に従い、サービス部品を選択し、バインドするサービス合成エンジン２と、サービス部品のプロファイルを保持し、サービス合成エンジン２からのサービス部品の検索依頼に対して該当するサービス部品を提供するサービス部品管理機構４と、サービステンプレートを保持し、サービス合成エンジン２に対してサービステンプレートと、サービステンプレートでバインドされ得るサービス部品のサービス部品プロファイルである候補サービス部品プロファイルを返す、サービステンプレート公開機構３と、を設ける。【選択図】図１
2007072712.tif 000002
【特許請求の範囲】
【請求項１】
サービスの部品をサービス部品として複数のサービス部品の中からユーザの満足するサービス部品を発見するサービス部品システムであって、
前記サービス部品を組み合わせる順序を個々のサービス部品が属するサービスカテゴリで記述したものをサービステンプレートとして、前記サービステンプレートの記述に従い、前記サービス部品を選択し、バインドするサービス合成エンジンと、
前記サービス部品のプロファイルを保持し、前記サービス合成エンジンからのサービス部品の検索依頼に対して該当するサービス部品を提供するサービス部品管理機構と、
前記サービステンプレートを保持し、前記サービス合成エンジンに対して前記サービステンプレートと、前記サービステンプレートでバインドされ得るサービス部品のサービス部品プロファイルである候補サービス部品プロファイルを返す、サービステンプレート公開機構と、
を備え、
前記サービス合成エンジンは、前記ユーザからのサービス要求を受けて前記サービステンプレート公開機構に対して前記サービステンプレートの検索を依頼し、前記サービステンプレートの検索の依頼に応じて前記サービステンプレート公開機構は前記サービス合成エンジンに検索されたサービステンプレートと候補サービス部品プロファイルを返し、前記サービス合成エンジンは返されたサービステンプレートを解析し、必要なサービス部品を検索するためにサービス部品管理機構に対してサービス部品プロファイルの検索を依頼し、前記サービスプロファイルの検索の依頼に応じて前記サービス部品管理機構は検索結果であるサービス部品プロファイルを前記サービス合成エンジンに返し、前記サービス合成エンジンは、前記返されたサービス部品プロファイルを基にして前記返されたサービステンプレートに従い、サービス部品をバインドして実行し、前記ユーザに対してサービスを提供し、同時に、新たにバインドしたサービス部品のプロファイルを前記サービステンプレート公開機構に渡し、前記サービステンプレート公開機構は前記新たにバインドされたサービス部品プロファイルを前記候補サービス部品プロファイルに加える、サービス部品発見システム。
【請求項２】
前記サービス合成エンジンは、
前記サービステンプレート公開機構に対して前記サービステンプレートの検索を依頼するサービステンプレート検索依頼部と、
前記サービステンプレート公開機構で検索された前記サービステンプレートと前記候補サービス部品プロファイルとを受け取り、前記サービステンプレートを解析し、前記サービステンプレートと前記候補サービス部品プロファイルとを分離するサービステンプレート・候補サービス部品プロファイル分離部と、
前記候補サービス部品プロファイル中のサービスにユーザが満足するかどうかを評価する候補サービス部品プロファイル評価部と、
前記サービス部品管理機構に対して、前記サービス部品の検索を依頼するサービス部品検索依頼部と、
新たに用いたサービス部品のプロファイルを候補サービス部品プロファイルに加えることで候補サービス部品プロファイル更新するよう、前記サービステンプレート公開機構に依頼する候補サービス部品プロファイル更新依頼部と、
前記サービステンプレートに沿って前記サービス部品プロファイルを用い、前記サービス部品を実行するサービス実行部と、
を有し、
前記ユーザからのサービス要求に応じて前記サービステンプレート検索依頼部は前記サービステンプレート公開機構に対してサービステンプレートの検索を依頼し、前記候補サービス部品プロファイル評価部は、ユーザコンテキストと前記分離された候補サービス部品プロファイルとを組み合わせて評価を行い、評価値を算出し、前記サービス実行部は、前記評価値が所定の閾値以上である候補サービス部品プロファイルに対応するサービス部品を実行し、
前記サービス部品検索依頼部は、前記評価値が前記閾値未満である候補サービス部品プロファイルに対応するサービス部品に関して、前記サービス部品管理機構に前記ユーザコンテキストを送ってサービス部品の検索を依頼し、前記サービス部品の検索の依頼に対してサービス部品プロファイルが返されたあと前記サービス実行部は、前記返されてきたサービス部品プロファイルに基づいてサービスを実行する、
請求項１に記載のサービス部品発見システム。
【請求項３】
前記サービステンプレート公開機構は、
前記サービス合成エンジンからの検索依頼に対して、複数のサービステンプレートの中から依頼に適したサービステンプレートを検索するサービステンプレート検索部と、
前記候補サービス部品プロファイルに新たなサービス部品プロファイルを追加する候補サービス部品プロファイル更新部と、
を備え、
前記サービステンプレートに前記候補サービス部品プロファイルを関連付けて保持し、
前記サービステンプレート検索部は、前記検索依頼に対して、前記サービステンプレート公開機構の保持するサービステンプレートを検索し、検索結果であるサービステンプレートとそのサービステンプレートと関連付けられている候補サービス部品プロファイルを前記サービス合成エンジンに返し、
前記候補サービス部品プロファイル更新部は、サービス合成エンジンで新たにバインドされたサービス部品プロファイルをサービス合成エンジンから受け取り、対応するサービステンプレートの前記候補サービス部品プロファイルに加える、請求項１または２に記載のサービス部品発見システム。
【請求項４】
前記サービス部品管理機構は、
公開されているサービス部品のプロファイルを保持するサービス部品プロファアルＤＢと、
前記サービス合成エンジンからの検索依頼に対して、前記サービス部品プロファイルＤＢの中から当該検索依頼に適したサービス部品のプロファイルを検索し、検索結果であるサービス部品プロファイルを前記サービス合成エンジンに返すサービス部品プロファイル検索部と、
サービス部品プロファイル登録の依頼に対し、新たに公開するサービス部品のプロファイルを前記サービス部品プロファイルＤＢに登録するサービス部品プロファイル登録部と、
を備える請求項１または２に記載のサービス発見システム。
【請求項５】
サービスの部品をサービス部品として複数のサービス部品の中からユーザの満足するサービス部品を発見する方法であって、
ユーザからのサービス要求に応じてサービス合成エンジンが、サービステンプレート公開機構に対して、前記サービス部品を組み合わせる順序を個々のサービス部品が属するサービスカテゴリで記述したサービステンプレートの検索を依頼するステップと、
前記サービステンプレート公開機構が、前記サービス合成エンジンからの検索依頼に応じて検索し、前記サービス合成エンジンに前記サービステンプレートと、当該サービステンプレートでバインドされ得るサービス部品のプロファイルである候補サービス部品プロファイルとを返すステップと、
前記サービス合成エンジンが、前記サービステンプレート公開機構から返されたサービステンプレートを解析し、必要なサービス部品を検索するためにサービス部品管理機構に対してサービス部品プロファイルの検索を依頼するステップと、
前記サービス合成エンジンからの依頼に応じて前記サービス部品管理機構がサービス部品プロファイルを検索し、検索結果であるサービス部品プロファイルを前記サービス合成エンジンに返すステップと、
前記サービス合成エンジンが、これらのサービス部品プロファイルを基にして前記サービステンプレートに従い、前記サービス部品をバインドし、実行し、ユーザに対してサービスを提供するステップと、
前記サービス合成エンジンが、新たにバインドしたサービス部品プロファイルをサービステンプレート公開機能に渡し、前記サービステンプレート公開機構が前記新たにバインドされたサービス部品プロファイルを前記候補サービス部品プロファイルに加えるステップと、
を有するサービス部品発見方法。
【請求項６】
前記サービス合成エンジンが、前記サービステンプレート公開機構から返された前記候補サービス部品プロファイル中のサービスに前記ユーザが満足するかどうかを評価するステップをさらに有し、
前記候補サービス部品プロファイル中のサービスに前記ユーザが満足すると評価された場合には前記候補サービス部品プロファイルに対応するサービス部品が実行され、
前記候補サービス部品プロファイル中のサービスに前記ユーザが満足しないと評価された場合に、前記サービス部品プロファイルの検索を依頼するステップが実行され、検索結果であるサービス部品プロファイルを基にして前記サービス部品が実行される、
請求項５に記載のサービス部品発見方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット上に公開されているサービス部品を発見するシステム及び方法に関し、特に、あるサービスのためにバインドするサービス部品を、そのサービスを過去に利用した複数のユーザがバインドしたサービス部品の情報を公開（キャッシング）しておきその公開された情報を手がかりとして、発見するシステム及び方法に関する。
【背景技術】
【０００２】
インターネット上に公開されているさまざまなサービス部品を組み合わせ、ひとまとまりのサービスとしてユーザに提供する手法として、サービスの設計図であるサービステンプレートを用いるサービス合成技術がある。サービス合成においては、サービステンプレートに従い、ユーザのコンテキストに対して、最適なサービス部品を適宜発見し、発見されたサービス部品をバインドすることにより、その場、そのとき、そのユーザにとって最適なサービスを提供することができる。
【０００３】
以上のようなサービス合成を実現するため、従来、サービス部品の提供者は、インタネット上に設けられたＵＤＤＩ(Universal Description, Discovery, and Integration)レジストリなどのサーバにサービス部品を登録していた。これにより、ＵＤＤＩレジストリが全てのサービス部品を管理していた。ＵＤＤＩレジストリは、クライアントすなわちユーザからの検索要求に対して、最適なサービス部品を返し、ユーザは、ＵＤＤＩレジストリが返したサービス部品に対して具体的なサービスの要求を行っていた。
【０００４】
また、ＵＤＤＩレジストリなどのサーバでのサービス部品発見の負荷を軽減する手法として、膨大な数のサービス部品をキーワードなどを用いてクラスタリングして管理しておき、特定のクラスタ内の限られたサービス部品の中からのサービス部品の発見を行う手法がある。
【０００５】
なお、ウェブプロクシ(web proxy)におけるアクセス結果をキャッシングして共有するようなアプリケーションレイヤでのキャッシング技術については、インターネット技術文書であるＲＦＣ２０６８の第１３章に記載されている（非特許文献１）。
【非特許文献１】R. Fieldingら、"Hypertext Transfer Protocol -HTTP/1.1"、［online］、［2005年8月2日検索］、インターネット〈URL：http://www.w3.org/Protocols/rfc2068/rfc2068〉
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上のように、従来、サービス部品の発見にはＵＤＤＩレジストリのようなサーバが必要であり、サービス部品の増大に伴うサーバへの負荷増大が課題として挙げられる。このようなサーバでの負荷を軽減させる、サービス部品のクラスタリングには、サービス部品間の意味的な関係を用いたサービス発見の柔軟性を損なうという問題点がある。
【０００７】
また、従来の方法では、ユーザごとに逐次最適なサービス部品をＵＤＤＩレジストリなどにアクセスして選択していたため、一定の検索コストが費やされている。ユーザが満足するサービス部品であれば、ユーザにとって最適なサービス部品でなくとも、ユーザは満足するという考え方もあるが、従来のサービス部品の発見方法にはこのような考えはなく、検索コストをかけても、ユーザにとって最適なサービス部品を発見するようになっていた。
【０００８】
そこで本発明の目的は、発見のためにかかっていた検索コストを抑えつつ、膨大なサービス部品の中からユーザが満足するサービス部品を柔軟に発見することができるサービス部品発見システム及び方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明のサービス部品発見システムは、サービスの部品をサービス部品として複数のサービス部品の中からユーザの満足するサービス部品を発見するサービス部品発見システムであって、前記サービス部品を組み合わせる順序を個々のサービス部品が属するサービスカテゴリで記述したものをサービステンプレートとして、サービステンプレートの記述に従い、サービス部品を選択し、バインドするサービス合成エンジンと、サービス部品のプロファイルを保持し、サービス合成エンジンからのサービス部品の検索依頼に対して該当するサービス部品を提供するサービス部品管理機構と、サービステンプレートを保持し、サービス合成エンジンに対してサービステンプレートと、サービステンプレートでバインドされ得るサービス部品のサービス部品プロファイルである候補サービス部品プロファイルを返す、サービステンプレート公開機構と、を備え、サービス合成エンジンは、ユーザからのサービス要求を受けてサービステンプレート公開機構に対してサービステンプレートの検索を依頼し、サービステンプレートの検索の依頼に応じてサービステンプレート公開機構はサービス合成エンジンに検索されたサービステンプレートと候補サービス部品プロファイルを返し、サービス合成エンジンは返されたサービステンプレートを解析し、必要なサービス部品を検索するためにサービス部品管理機構に対してサービス部品プロファイルの検索を依頼し、サービスプロファイルの検索の依頼に応じてサービス部品管理機構は検索結果であるサービス部品プロファイルをサービス合成エンジンに返し、サービス合成エンジンは、返されたサービス部品プロファイルを基にして返されたサービステンプレートに従い、サービス部品をバインドして実行し、ユーザに対してサービスを提供し、同時に、新たにバインドしたサービス部品のプロファイルをサービステンプレート公開機構に渡し、サービステンプレート公開機構は新たにバインドされたサービス部品プロファイルを候補サービス部品プロファイルに加える。
【００１０】
すなわち本発明は、膨大なサービス部品の中からユーザが満足するサービスを効率的に発見するために、ユーザにとって最適なサービス部品を発見するのではなく、ユーザがある程度満足するサービス部品を発見するという特徴を有する。また本発明は、あるサービステンプレートのユーザによってバインド、実行されたサービス部品は、同じサービステンプレートの別のユーザによってもバインド、実行される可能性が高いことに注目し、あるユーザが利用しようとしているサービステンプレートによってバインド、実行された経験のあるサービス部品のプロファイルをサービステンプレートと関連付けて、サービステンプレート公開機構上で公開（キャッシュ）するという特徴を有する。
【００１１】
本発明は、サービス部品の発見手法として、サービステンプレートと関連付けられて公開されているサービス部品の中からユーザの満足するサービス部品を発見する手法と、サービス部品管理機構を用いて、ユーザに最適なサービス部品を発見する手法との２種類のサービス部品発見手法を用いる。
【００１２】
本発明ではサービス合成エンジンは、サービステンプレート公開機構上に公開されているサービステンプレートと、それに関連付けられているサービス部品のプロファイルを候補サービス部品プロファイルとして得て、サービステンプレートを基にして候補サービス部品プロファイルの中からユーザの満足するサービス部品のプロファイルを選択することで、サービス部品管理機構を用いることなく、効率的にユーザの満足するサービス部品を発見する。ここでサービス合成エンジンは、候補サービス部品プロファイル中からユーザの満足するサービス部品を選択するため、候補サービス部品中のサービスプロファイルとユーザのコンテキストとで組み合わせ評価を行い、あらかじめ決められている閾値を超える評価結果のサービスプロファイルに対応するサービス部品をユーザの満足するサービス部品であると判断し、これをバインドし、実行するようにしてもよい。ここで候補サービスプロファイル中からユーザの満足するサービス部品を発見できなかった場合、サービス部品管理機構に対し、サービス部品プロファイルの検索を依頼し、検索結果であるサービス部品プロファイルを得て、そのサービス部品プロファイルに対応するサービス部品をバインド、実行すればよい。このように本発明では、ユーザが満足するサービス部品を発見するために、ユーザのコンテキストとサービス部品のプロファイルとで組み合わせ評価を行い、評価結果がユーザの設定した閾値以上であれば、たとえそのサービス部品がサービス部品全体の中で最適ではなくとも、バインドし、実行することで、サービス部品全体の中から最適なサービス部品を検索するという負荷の大きい処理を避けることができるようになる。
【００１３】
さらに本発明においてサービス合成エンジンは、候補サービス部品プロファイルにない新たなサービス部品をサービス部品管理機構を用いて検索し、バインド、実行した場合、サービステンプレートと関連付けて公開されている候補サービス部品プロファイルに、新たにバインド、実行したサービス部品プロファイルを加えることで、候補サービス部品プロファイルを充実させ、多くのユーザが満足するプロファイルを保持する候補サービスプロファイルを生成することができる。したがってサービステンプレート公開機構は、サービス合成エンジンから、あるサービステンプレートで新たにバインドしたサービス部品のプロファイルを得て、候補サービス部品プロファイルに加えるという機能を有する。
【００１４】
本発明では候補サービス部品プロファイルは、あるユーザがサービステンプレートを利用した際に、サービス部品管理機構が検索し、発見したサービス部品プロファイルから構成されるため、本発明は、サービス部品検索機構を用いる利点であるサービス部品発見の柔軟性を損なうことがないという特徴がある。
【発明の効果】
【００１５】
本発明によれば、膨大なサービス部品の中からユーザの満足するサービス部品を、サービス部品管理機構を用いず、サービス合成エンジンにより選択することで、サービス管理機構にかかる負荷を抑えたサービス発見を実現することができる。同時に、サービス管理機構を用いたサービス発見の利点であった、サービス発見の柔軟性を損なうことがなく、柔軟にサービス部品を発見することができる。
【発明を実施するための最良の形態】
【００１６】
次に、本発明の好ましい実施形態について、図面を参照して説明する。
【００１７】
図１は、本発明の実施の一形態のサービス部品発見システムの全体構成を示している。このサービス部品発見システムは、例えばインターネットなどのネットワーク７上に存在する膨大なサービス部品５の中から、ユーザの満足するサービス部品を効率的に発見するためのものである。サービス部品とは、ネットワーク７を介して具体的なサービスをユーザに提供するものである。図示されたものでは、サービス部品５として、飲食店の情報を提供するサービス（Ａ、Ｄ、Ｆ）、翻訳を行うサービス（Ｃ、Ｅ、Ｈ）などが用意されている。
【００１８】
サービス部品発見システムは、ネットワーク７にそれぞれ接続されたサービス合成エンジン２、サービステンプレート公開機構３及びサービス部品管理機構４を備えている。ネットワーク７には、ユーザが利用するユーザ端末１も接続している。ネットワーク７は、ユーザ端末１、サービス合成エンジン２、サービステンプレート公開機構３、サービス部品管理機構４及び各サービス部品５を双方向に接続している。
【００１９】
サービス合成エンジン２は、ユーザ端末１を用いるユーザのサービス要求に応えるためのものである。サービステンプレート公開機構３は、ユーザのサービス要求を満足させる後述のサービステンプレート３２Ａをサービス合成エンジン２に提供するためのものである。サービス部品管理機構４は、サービステンプレート３２Ａに沿ってバインド実行されるサービス部品５のサービスプロファイル５１をサービス合成エンジン２に提供するためものである。
【００２０】
図２は、図１に示したサービス部品発見システムの動作を示すシーケンス図であり、ユーザ端末１、サービステンプレート公開機構３、サービス部品管理機構４、サービス部品５の相互間でのデータのやり取りを示している。
【００２１】
サービスビス部品管理機構４のサービス部品プロファイルＤＢ（データベース）４１には、あらかじめ、サービス部品５が登録されているものとする（ステップＰ１１）。
【００２２】
サービスを受けようとするユーザは、ユーザ端末１を介してサービス合成エンジン２に対してサービス要求を行う（ステップＰ１）。この要求を受けてサービス合成エンジン２は、サービステンプレート公開機構３に対してサービステンプレートの検索を依頼する（ステップＰ２）。検索の依頼を受けたサービステンプレート公開機構３は、依頼に沿うサービステンプレートを検索、発見し、発見したサービステンプレートをそのサービステンプレートでバインドすることができる候補サービス部品プロファイルとともにサービス合成エンジン２に返す（ステップＰ３）。
【００２３】
サービステンプレートと候補サービス部品プロファイルとを返されたサービス合成エンジン２は、受け取ったサービステンプレートの解析を行い（ステップＰ４）、その解析結果に基づき、サービス実行に必要であるサービス部品のプロファイルの検索をサービス部品管理機構４に対して行う（ステップＰ５）。これを受け、サービス部品管理機構４は、あらかじめサービス部品管理機構４内のサービス部品プロファイルＤＢ（データベース）
登録されているサービス部品の中から、検索依頼に対して適切であるサービス部品のプロファイルを返す（ステップＰ６）。サービス部品のプロファイルを返されたサービス合成エンジン２は、サービステンプレートに従い、サービス部品のバインド（ステップＰ７）を行い、サービス部品５の実行を行う（ステップＰ８）。実行されたサービス部品５は、ユーザに対してサービスを提供する。また、サービス合成エンジン２は、新たにバインドしたサービス部品のプロファイルをサービステンプレート公開機構３に送信する（ステップＰ９）。これを受けてサービステンプレート公開機構３は、そのサービス部品のバインド、実行に使われたサービステンプレートの候補サービス部品プロファイルに対し、受信したサービステンプレートを加えることで、候補サービス部品プロファイルを更新する（ステップＰ１０）。
【００２４】
図３は、サービス合成エンジン２の構成を示している。
【００２５】
サービス合成エンジン２は、ユーザのサービス要求に対し、分散して配置されているサービス部品５を組み合わせることで、ユーザのコンテキスト６に合ったサービスを合成するものである。このようなサービス合成エンジン２は、サービステンプレート公開機構３に対してサービステンプレートの検索を依頼するサービステンプレート検索依頼部２１と、サービステンプレート公開機構３から受け取ったサービステンプレートと候補サービス部品プロファイルとを分離するサービステンプレート・候補サービス部品プロファイル分離部２２と、候補サービス部品プロファイル中のサービスにユーザが満足するかどうかを評価する候補サービス部品プロファイル評価部と、サービス部品管理機構４に対してサービス部品の検索を依頼するサービス部品検索依頼部２４と、新たに用いたサービス部品のプロファイルを候補サービス部品プロファイルに加えることで、候補サービス部品プロファイル更新するよう、サービステンプレート公開機構３に依頼する候補サービス部品プロファイル更新依頼部２５と、サービステンプレートに沿ってサービス部品プロファイルを用い、サービス部品５を実行するサービス実行部２６と、を備えている。
【００２６】
このサービス合成エンジン２では、ユーザは、ユーザ端末１を介してサービス合成エンジン２内のサービステンプレート検索部２１に対してサービス要求を伝える。これを受けたサービステンプレート検索依頼部２１は、サービステンプレート公開機構３に対して、ユーザからのサービス要求に沿うサービステンプレートの検索を依頼する。すると、サービステンプレート公開機構３は、上述のように、検索結果であるサービステンプレートと候補サービス部品プロファイルとをサービス合成エンジン２に返信するから、サービス合成エンジン２では、サービステンプレート・候補サービス部品プロファイル分離部２２がこれらを受信し、サービステンプレートとサービステンプレートに関連付けられた候補サービス部品プロファイルとを分離し、サービステンプレートをサービス実行部２６へ、候補サービス部品プロファイルを候補サービス部品プロファイル評価部２３へ渡す。
【００２７】
候補サービス部品プロファイルを受け取った候補サービス部品プロファイル評価部２３は、候補サービス部品プロファイルとユーザコンテキスト６とを組み合わせて評価を行い、その評価値がユーザの設定した閾値以上であるサービス部品プロファイルをサービス実行部２６へ送る。候補サービス部品プロファイル内には評価値が閾値未満のサービス部品プロファイルしかなく、候補サービス部品プロファイル評価部２３がユーザの満足するサービス部品プロファイルを候補サービス部品プロファイルから発見できなかった場合には、候補サービス部品プロファイル評価部２３は、サービス部品検索依頼部２４に対し、ユーザにとって最適なサービス部品の検索を依頼する。この依頼を受けたサービス部品検索依頼部２４は、サービス部品管理機構４に対してサービス部品検索依頼を行う。このとき、ユーザコンテキスト６をサービス部品管理機構４に送信することにより、ユーザコンテキスト６に対して最適なサービス部品を発見することができる。サービス部品管理機構４は、発見したサービス部品のプロファイルを、サービス合成エンジン２の候補サービス部品更新依頼部２５とサービス実行部２６に送信する。
【００２８】
サービス部品管理機構４からサービス部品プロファイルを受け取った候補サービス部品プロファイル更新依頼部２５は、サービステンプレート公開機構３内のサービステンプレートと関連付けられている候補サービス部品プロファイルに対し、受信したサービス部品プロファイルを追加する。サービス部品管理機構４からサービス部品プロファイルを受け取ったサービス実行部２６は、候補サービス部品プロファイル評価部２３とサービス部品管理機構４から受け取ったサービス部品プロファイルを用い、サービステンプレート・候補サービス部品プロファイル分離部３３から受け取ったサービステンプレートに沿って、サービス部品５に対してサービス実行を依頼する。依頼を受けたサービス部品５は、ユーザに対してサービスを提供する。
【００２９】
図４は、サービステンプレート公開機構３の構成を示している。
【００３０】
サービステンプレート公開機構３は、サービス合成エンジン２がサービス部品をバインド、実行する際のシナリオとなるサービステンプレート３２Ａをサービス合成エンジン２に提供するとともに、サービステンプレート３２Ａでバインド、実行されうるサービス部品のプロファイルである候補サービス部品プロファイル５１をサービステンプレート３２Ａと関連付けて（すなわち「サービステンプレート＋候補サービス部品プロファイル」３２として）保持するものである。このようなサービステンプレート公開機構３は、サービステンプレート検索部３１と候補サービス部品プロファイル更新部３２とを備えている。
【００３１】
サービス合成エンジン２がサービステンプレート公開機構３に対してユーザの欲するサービステンプレートの検索を依頼すると、サービステンプレート公開機構３内のサービステンプレート検索部３１は、依頼に適合するサービステンプレート３２Ａを検索し、検索結果であるサービステンプレート３２Ａと、そのサービステンプレート３２Ａでバインド、実行され得る候補サービス部品プロファイル５１をサービス合成エンジン２に返す。これらを受け取ったサービス合成エンジン２は、上述したように、サービステンプレートに沿ってサービス部品をバインド、実行し、ユーザに対してサービスを提供するが、このとき、候補サービス部品プロファイル内には存在しない新たなサービス部品がサービス合成エンジン２によってバインド、実行された場合、サービス合成エンジン２は、サービステンプレート公開機構３に対して、新たにバインド、実行したサービス部品のプロファイルを送信する。これをサービステンプレート公開機構３内の候補サービス部品プロファイル更新部３３が受け取り、候補サービス部品プロファイル更新部３３は、サービス合成エンジン２で使われていたサービステンプレートと関連付けられた候補サービス部品プロファイル５１に対し、受け取ったサービス部品プロファイルを追加することで、候補サービス部品プロファイル５１を更新する。
【００３２】
図５は、サービス部品管理機構４の構成を示している。
【００３３】
サービス部品管理機構４は、サービス部品の機能や特徴、実行方法などが記述されているサービス部品プロファイルの管理を行う。具体的には、サービス部品管理機構４は、サービス部品プロファイルの検索と新たに作成されたサービス部品のプロファイルの登録を行い、サービス部品プロファイルを保持する。このようなサービス部品管理機構４は、サービス部品プロファイルについてのデータベース（ＤＢ）であるサービス部品プロファイルＤＢ４１を備えるとともに、サービス部品プロファイル検索部４２及びサービス部品プロファイル登録部４３を備えている。
【００３４】
サービス合成エンジン２がサービス部品管理機構４内のサービス部品プロファイル検索部４２に対してサービス部品プロファイルの検索依頼を行い、同時にユーザコンテキスト６をサービス部品プロファイル検索部４２に対して送信すると、検索依頼とユーザコンテキスト６を受け取ったサービス部品プロファイル検索部４２は、ユーザコンテキスト６に最適なサービス部品のプロファイルをサービス部品プロファイルＤＢ４１から検索し、その検索結果をサービス合成エンジン２に対して返す。
【００３５】
本実施形態のサービス部品発見システムでは、新たなサービス部品を利用可能にするために、そのサービス部品のサービス部品プロファイルをサービス部品プロフィアルＤＢ４１に登録する必要がある。そこで新たにサービス部品を提供したいサービス部品提供者は、サービス部品管理機構４内のサービス部品プロファイル登録部４２に対してサービス部品プロファイルの登録を依頼するとともに、登録するサービス部品のプロファイルを送信する。これを受けたサービス部品プロファイル登録部４２は、サービス部品プロファイルＤＢ４１に対し、受け取ったサービス部品プロファイルを登録することで、新たなサービス部品の提供を行うことができるようにする。
【００３６】
以上説明したように、本実施形態では、サービステンプレートとそのサービステンプレートでバインド、実行された経験のあるサービス部品のプロファイルとを関連付け、候補サービス部品プロファイルとして公開（キャッシュ）しておく。これにより、サービス合成エンジン２は、ユーザの満足するサービス部品のプロファイルを候補サービス部品プロファイル５１の中から発見することで、ネットワーク上の膨大な数のサービス部品の中からユーザコンテキスト６に最適なサービス部品を発見するという負荷の大きい処理を行うことを避けることができる。したがって、本実施形態では、ユーザの満足するサービスの発見にかかる負荷を抑えることが可能になる。
【００３７】
また本実施形態では、候補サービス部品プロファイルはサービス部品管理機構４で検索された結果のサービス部品プロファイルから構成されるため、サービス部品管理機構４を用いたサービス部品の検索の利点であった、サービス部品検索の柔軟性に関しても、損なわれることはない。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施の一形態のサービス部品発見システムの全体を構成を示すブロック図である。
【図２】図１に示すシステムにおけるサービス提供全体の流れを表わすシーケンス図である。
【図３】サービス合成エンジンの構成を示すブロック図である。
【図４】サービステンプレート公開機構の構成を示すブロック図である。
【図５】サービス部品管理機構の構成を示すブロック図である。
【符号の説明】
【００３９】
１    ユーザ端末
２    サービス合成エンジン
３    サービステンプレート公開機構
４    サービス部品管理機構
５    サービス部品
６    ユーザコンテキスト
７    ネットワーク
２１    サービステンプレート検索依頼部
２２    サービステンプレート・候補サービス部品プロファイル分離部
２３    候補サービス部品プロファイル評価部
２４    サービス部品検索依頼部
２５    候補サービス部品プロファイル更新依頼部
２６    サービス実行部
３１    サービステンプレート検索部
３２    サービステンプレート＋候補サービス部品プロファイル
３２Ａ  サービステンプレート
３３    候補サービス部品プロファイル更新部
４１    サービス部品プロファイルＤＢ（データベース）
４２    サービス部品プロファイル検索部
４３    サービス部品プロファイル更新部
５１    サービス部品プロファイル
【図１】
2007072712.tif 000003
【図２】
2007072712.tif 000004
【図３】
2007072712.tif 000005
【図４】
2007072712.tif 000006
【図５】
2007072712.tif 000007