(57)【要約】【課題】サービス合成を効率的に行うことができるサービス合成システム、サービス合成方法およびサービス合成プログラムを提供する。【解決手段】サービス合成装置１０とサービス要素３０ａとの整合がとれない場合、サービス合成装置１０とサービス要素３０ａとを仲介するサービス要素３０ｂを利用可能なインターフェースとしてそのサービス要素に追加登録する。これにより、その後は、同様の不整合の場合に再度仲介サービス要素として機能するサービス要素３０ｂを検索する必要がないので、効率的にサービス合成を行うことができる。【選択図】  図４
2005071052.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークと、このネットワーク上の機能を抽象化した単位であるサービス要素と、このサービス要素の階層化された接続関係および動作順序が記述されたテンプレートと、このテンプレートに基づいて前記ネットワーク上の前記サービス要素をグループ化することにより、ユーザが所望するサービスを生成するサービス合成装置とから構成されるサービス生成システムであって、
前記サービス合成装置は、
前記テンプレートに基づいてサービス要素を検索する第１の検索手段と、
この検索手段により検索された任意のサービス要素とインターフェースが整合するか否かを判断する判断手段と、
この判断手段が不整合と判断した場合に、この不整合を解消するサービス要素である仲介サービス要素を検索する第２の検索手段と、
前記仲介サービス要素を利用する旨の仲介サービス要素利用通知を前記任意のサービス要素に通知する通知手段と
を有し、
前記任意のサービス要素は、
利用可能なインターフェースを記憶する記憶手段と、
前記仲介サービス要素利用通知を受信すると、前記仲介サービス要素を前記記憶手段に追加登録する追加手段と
を有する
ことを特徴とするサービス合成システム。
【請求項２】
ネットワーク上の機能を抽象化した単位であるサービス要素の階層化された接続関係および動作順序が記述されたテンプレートに基づいて前記ネットワーク上の前記サービス要素をグループ化することにより、ユーザが所望するサービスを生成するサービス合成方法であって、
前記テンプレートに基づいてサービス要素を検索するサービス要素検索手順と、
検索された任意のサービス要素とインターフェースが他のサービス要素と整合するか否かを判断する判断手順と、
この判断手順で不整合と判断した場合に、この不整合を解消するサービス要素である仲介サービス要素を検索する仲介サービス要素検索手順と、
前記仲介サービス要素を利用する旨の仲介サービス要素利用通知を前記任意のサービス要素に通知する通知手順と、
前記仲介サービス要素利用通知を受信すると、前記仲介サービス要素を利用可能なインターフェースとして追加登録する登録手段と
を実行することを特徴とするサービス合成方法。
【請求項３】
ネットワーク上の機能を抽象化した単位であるサービス要素の階層化された接続関係および動作順序が記述されたテンプレートに基づいて前記ネットワーク上の前記サービス要素をグループ化することにより、ユーザが所望するサービスを前記ネットワーク上のコンピュータに生成させるサービス合成プログラムであって、
前記テンプレートに基づいてサービス要素を検索するサービス要素検索手順と、
検索された任意のサービス要素とインターフェースが他のサービス要素と整合するか否かを判断する判断手順と、
この判断手順で不整合と判断した場合に、この不整合を解消するサービス要素である仲介サービス要素を検索する仲介サービス要素検索手順と、
前記仲介サービス要素を利用する旨の仲介サービス要素利用通知を前記任意のサービス要素に通知する通知手順と、
前記仲介サービス要素利用通知を受信すると、前記仲介サービス要素を利用可能なインターフェースとして追加登録する登録手段と
を前記コンピュータに実行させることを特徴とするサービス合成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上に分散したサービスを構成するサービス要素を、サービス要素の組み合わせが記述されたサービステンプレートに基づいてサービスを合成するサービス合成システム、サービス合成方法およびサービス合成プログラムに関するものである。
【背景技術】
【０００２】
近年、ネットワークの広帯域化・常時接続化の進展、端末装置の処理能力の向上等のＩＴ技術の進歩により、数多くの機器がネットワークに接続され、多くの情報やサービスがネットワークを介して利用可能となっている。例えば、Ｗｅｂサービス技術による気象情報や株価情報の提供、企業間のエンタープライズアプリケーション統合、汎用Ｐ２Ｐ(peer to peer)プラットホームであるＪＸＴＡを利用したサービス提供プログラム等が利用可能となっている。
また、近年の無線技術の進歩と普及により、いつでもどこでもネットワークにアクセスできる環境（ユビキタスコンピューティング（Ubiquitous Computing）環境）が整いつつあるため、上述したようなサービスをいつでもどこでも利用したり提供したりできる環境も実現されつつある。
このようなユビキタスコンピューティング環境における将来のネットワークサービスにおいては、ユーザやサービス提供者がおかれている様々なネットワーク環境やユーザの多様な要求に適応し、かつ、その環境やコンテクストに適した、よりユーザの満足度の高いサービスを提供することが望まれている。
【０００３】
このため、その場、その時に利用可能なハードウエア、コンテンツ、ソフトウェアなどネットワークを介してアクセス可能なすべての機能であり、サービスを実現するためのサービス要素をネットワーク上から発見し、これを組み合わせることでサービスを実現する研究が進んでいる。このような研究は、サービス創発・サービス合成と呼ばれ、Ｊａ−Ｎｅｔ(例えば、非特許文献１参照）、ＵＳＯＮ（例えば、非特許文献２参照）などがその代表例である。
また、その場、その時に利用可能なサービス要素を組み合わせるというアプローチではないが、既知のＷｅｂサービスを合成することで合成Ｗｅｂサービスを実現するＢＰＥＬ４ＷＳ(Business Process Execution Language for Web Service)や、ＷＳＣＩ(Web Service Choreography Interface)なども研究が進んでいる。これらの研究の適用例としては、航空券予約Ｗｅｂサービス、ホテル予約Ｗｅｂサービス、レンタカー予約Ｗｅｂサービス等を組み合わせて、総合予約Ｗｅｂサービスを作るといったものが該当する。
【０００４】
上述したようなサービスを合成する方法において、サービスを合成するサービス合成装置は、サービス要素の組み合わせおよびその動作順序などの設計図であるサービステンプレートを参照して、ユーザが所望するサービスを合成するのに必要なサービス要素を検索して呼び出し、この呼び出したサービス要素を組み合わせてユーザが所望するサービスを合成する。ここで、サービスを合成する際には、サービス要素の呼び出し元であるサービス合成装置と提供先のサービス要素との間で、インターフェース、すなわち、パラメータ数、パラメータ型について一致させる、また、パラメータ名について適切なマッピングを行うなど、各種インターフェースの整合をとる必要がある。なお、パラメータ名について適切なマッピングを行うとは、例えば複数のサービス要素を順次呼び出す際に、最初に呼び出したサービス要素のパラメータの５番目に入る返り値を、次に呼び出すサービス要素のパラメータの３番目に入れて呼び出す等のサービス要素を呼び出す際の必要なパラメータの設定のことを意味する。
しかし、場合によっては、サービス合成装置とサービス要素との間で整合がとれない場合もある。このような場合、従来では、サービス合成装置とサービス要素とを仲介するサービス要素（仲介サービス要素）を発見し、これを含めてサービスを合成することで、上記不整合の問題を解決していた。
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【非特許文献１】須田他、サービス創発のための適応型ネットワークアーキテクチャ、電子情報通信学会論文誌、vol.J85-B,No.12,Dec.,2002
【非特許文献２】M.Takemoto et al、The Ubiquitous Service-Oriented Network(USON)-An Approach for a Ubiquitous World based on P2P Technology、in Proc. of 2nd International Conference on Peer-to-Peer Computing,Sept.2002
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の方法では、サービス合成装置とサービス要素との間で各種インターフェースが異なる場合に、その都度、仲介サービス要素を発見して整合性の問題を解決していたため、とても効率が悪かった。
そこで、本願発明は上述した課題を解決するためになされたものであり、サービス合成を効率的に行うことができるサービス合成システム、サービス合成方法およびサービス合成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述したような課題を解決するために本発明に係るサービス合成システムは、ネットワークと、このネットワーク上の機能を抽象化した単位であるサービス要素と、このサービス要素の階層化された接続関係および動作順序が記述されたテンプレートと、このテンプレートに基づいてネットワーク上のサービス要素をグループ化することにより、ユーザが所望するサービスを生成するサービス合成装置とから構成されるサービス生成システムであって、サービス合成装置は、テンプレートに基づいてサービス要素を検索する第１の検索手段と、この検索手段により検索された任意のサービス要素とインターフェースが整合するか否かを判断する判断手段と、この判断手段が不整合と判断した場合に、この不整合を解消するサービス要素である仲介サービス要素を検索する第２の検索手段と、仲介サービス要素を利用する旨の仲介サービス要素利用通知を任意のサービス要素に通知する通知手段とを有し、任意のサービス要素は、利用可能なインターフェースを記憶する記憶手段と、仲介サービス要素利用通知を受信すると、仲介サービス要素を記憶手段に追加登録する追加手段とを有することを特徴とする。
【０００７】
また、本発明に係るサービス合成方法は、ネットワーク上の機能を抽象化した単位であるサービス要素の階層化された接続関係および動作順序が記述されたテンプレートに基づいてネットワーク上のサービス要素をグループ化することにより、ユーザが所望するサービスを生成するサービス合成方法であって、テンプレートに基づいてサービス要素を検索するサービス要素検索手順と、検索された任意のサービス要素とインターフェースが他のサービス要素と整合するか否かを判断する判断手順と、この判断手順で不整合と判断した場合に、この不整合を解消するサービス要素である仲介サービス要素を検索する仲介サービス要素検索手順と、仲介サービス要素を利用する旨の仲介サービス要素利用通知を任意のサービス要素に通知する通知手順と、仲介サービス要素利用通知を受信すると、仲介サービス要素を利用可能なインターフェースとして追加登録する登録手段とを実行することを特徴とする。
【０００８】
また、本発明に係るサービス合成プログラムは、ネットワーク上の機能を抽象化した単位であるサービス要素の階層化された接続関係および動作順序が記述されたテンプレートに基づいてネットワーク上のサービス要素をグループ化することにより、ユーザが所望するサービスをネットワーク上のコンピュータに生成させるサービス合成プログラムであって、テンプレートに基づいてサービス要素を検索するサービス要素検索手順と、検索された任意のサービス要素とインターフェースが他のサービス要素と整合するか否かを判断する判断手順と、この判断手順で不整合と判断した場合に、この不整合を解消するサービス要素である仲介サービス要素を検索する仲介サービス要素検索手順と、仲介サービス要素を利用する旨の仲介サービス要素利用通知を任意のサービス要素に通知する通知手順と、仲介サービス要素利用通知を受信すると、仲介サービス要素を利用可能なインターフェースとして追加登録する登録手段とをコンピュータに実行させることを特徴とする。
【発明の効果】
【０００９】
このように、本発明によれば、サービス合成装置とサービス要素との整合がとれない場合、サービス合成装置とサービス要素とを仲介する仲介サービス要素を利用可能なインターフェースとしてそのサービス要素に追加登録することにより、その後は同様の不整合の場合に再度仲介サービス要素を検索する必要がないので、効率的にサービス合成を行うことができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
図１は、本実施の形態にかかるサービス合成システムの構成を示す図、図２は、サービス合成装置１０の構成を示す図、図３は、サービス要素の構成を示す図である。
本実施の形態にかかるサービス合成システムは、ユーザが所望するサービスを合成するサービス合成装置１０と、サービスの設計図であるサービステンプレート２０と、ネットワーク上の機能を抽象化した単位であるサービス要素３０ａ〜３０ｎと、これらが接続されたネットワーク４０とから構成される。
なお、サービス合成装置１０およびサービステンプレート２０の数は、１つに限定されず、適宜自由に設定することができる。
【００１１】
ここで、サービス要素とは、対象を計算機環境で取り扱えるようにしたエンティティ（entity、実体ともいう）であって、ネットワーク上で利用可能なプロセスまたはデータが含まれる。サービス要素の例としては、Ｗｅｂサービスを構成するＥＪＢ（enterprise Java(R) Beans）などで実現されているコンポーネント、ネットワークを経由してアクセスできる映像などのコンテンツ、ネットワークに接続されたプリンタやディスプレイ、どの程度計算機が動作しているかを示すＣＰＵ資源やどの程度ネットワークが使用されているかを示すネットワーク帯域といった計算機環境的リソース、ネットワーク上でサービスを実現するための複数のサービス要素の提供順序とを記述したサービステンプレートなどがある。また、常時接続されたサーバ上で動作するソフトウェアばかりがサービス構成要素ではない。例えば、物理的に近い他ユーザとの数の限られた通信が可能な携帯端末上で動作するソフトウェアもサービス要素である。
したがって、図１に示すサービス合成装置１０およびサービステンプレート２０や、ユーザもサービス要素の１つである。
【００１２】
このようなサービス合成システムでは、サービス合成装置１０が、サービステンプレート２０に記述された条件に合致する各サービス要素３０を発見し、サービステンプレート２０に記述された組み合わせ順序・パターンに基づいてサービス要素３０の合成を行い、サービステンプレート２０に記述されたサービス提供順序に基づいて、それらサービス要素３０を呼び出すことにより、ユーザにサービスを提供する。
【００１３】
サービス合成装置１０は、図２に示すように、サービス合成を主導するサービス合成エンジン１１と、サービス要素３０の検索制御を行う検索制御部１２と、発見したサービス要素の情報を蓄積するサービス要素情報記憶部１３と、インターフェース整合性を判断し、パラメータのマッピングを行う整合性判断・パラメータマッピング部１４とからなる。
ここで、サービス合成装置１０の起動は、例えばユーザの要求に基づいて行ったり、サービス合成装置１０が自発的に起動しユーザに提案する等の各種方法を適宜自由に設定することができる。また、サービス合成装置１０が参照するサービステンプレート２０の選択方法についても、例えばユーザが指定したり、サービス合成装置１０が自律的に発見し、選択するなどの各種方法を適宜自由に設定することができる。
【００１４】
サービス合成エンジン１１は、サービス合成装置１０の動作を制御する制御部であって、ユーザからのサービス合成要求があると、サービステンプレート２０に記述された条件に基づき、検索制御部１２、サービス要素情報記憶部１３および整合性判断・パラメータマッピング部１４を用いて、ユーザが所望するサービスを合成して提供する。
【００１５】
検索部１２は、サービステンプレートに記述されたサービスを合成するために必要なサービス要素をネットワーク４０を介して検索し、インターフェース情報、メタデータおよびサービス要素にアクセスするのに必要な情報（ＵＲＬ等）等のサービス要素情報を検索したサービス要素に対して要求する。
サービス要素の検索条件としては、例えばサービスカテゴリ情報の一致、近くのディスプレイを検索する場合などサービス要素の存在場所、デバイス系の場合における特定のデバイスのメーカーやデバイスの機能等、各種条件が挙げられ、その各種条件を適宜自由に適用することができる。
また、サービス要素の検索手法としては、ＵＤＤＩやＬＤＡＰサーバなどのディレクトリサービス、サービス要素自身が検索に応答するＰ２Ｐ検索、ＬＡＮ内のブロードキャスト、ＩＰマルチキャスト、または、メール等での直接情報交換等が挙げられ、これらの各種手法を適宜自由に適用することができる。
【００１６】
サービス要素情報記憶部１３は、検索部１２が受信したサービス要素情報を記憶する。
【００１７】
整合性判断・パラメータマッピング部１４は、サービス要素情報記憶部１３に記憶された各サービス要素のインターフェース情報に基づいて、そのサービス要素がサービス合成装置１０と整合性があるか否か、すなわち、パラメータの数や型が一致しているか、パラメータ名称のマッピングが可能か等の検証を行う。
この検証方法には、パラメータ型一致の検証方法として、Ｊａｖａの型表現形式の一致判定や、ＷＳＤＬのｐｏｒｔＴｙｐｅ名の一致判断などの方法が、また、パラメータ名称のマッピングが可能か否かの検証方法として、サービス要素のインターフェース情報に、各パラメータの意味内容を記述することを前提として、そのキーワード一致度により推定する方法がある。
【００１８】
サービステンプレート２０は、所定のサービスを合成するために、サービス要素の階層化された接続関係および動作順序を記述したものである。
ここで、接続関係とは、どのカテゴリや属性のサービス要素を組み合わせるか、そのサービス要素のインターフェース情報、または、サービス要素を呼び出す際の必要なパラメータの設定等のことを意味する。
また、動作順序とは、例えば複数のサービスを順次実行する場合にそのサービスを構成するサービス要素を呼び出す順序のことを意味する。なお、この順序には、順序指定無しでサービス要素を並列に呼び出す場合も含まれる。
【００１９】
サービス要素３０は、図３に示すように、サービス機能部３１と、サービス要素インターフェース追加制御部３２と、検索応答部３３と、サービス要素情報蓄積部３４と、取り込みサービスパラメータマッピング情報蓄積部３５と、取り込みサービス要素蓄積部３６と、仲介用サービス要素アクセス情報蓄積部３７とを有する。
【００２０】
サービス機能部３１は、サービス要素３０が提供するサービスの内容を格納する。
サービス要素インターフェース追加制御部３２は、仲介サービス要素を利用する通知（仲介サービス利用通知）を受信すると、その仲介サービス要素を取り込む、または、利用して、その仲介サービス要素を利用可能なインターフェースとして追加登録する。
検索応答部３３は、サービス合成装置１０のネットワーク４０を介したＰ２Ｐ検索に対して応答し、サービス要素情報蓄積部３４に蓄積された自身のサービス要素情報をサービス合成装置１０に送出する。
サービス要素情報蓄積部３４は、このサービス要素３０自身のサービス要素情報を蓄積する。
取り込みサービスパラメータマッピング情報蓄積部３５は、サービス要素インターフェース追加制御部３２が行った整合性判断・パラメータマッピングの結果を記憶する。
【００２１】
取り込みサービス要素蓄積部３６は、サービス要素インターフェース追加制御部３２によりダウンロードされた仲介サービス要素を記憶する。
仲介用サービス要素アクセス情報蓄積部３７は、いつでも仲介サービス要素にアクセスできるよう、その仲介サービス要素にアクセスするのに必要な情報（ＵＲＬ等）を記憶する。
このように、取り込みサービス要素蓄積部３６に仲介サービス要素を記憶する、または、仲介用サービス要素アクセス情報蓄積部３７に仲介サービス要素にアクセスするために必要な情報を記憶することにより、サービス要素３０は、その仲介サービス要素を利用可能なインターフェースとして登録する。
【００２２】
ネットワーク４０は、ホームネットワーク、企業内ＬＡＮ（Loval Area Network）、インターネットなど、何でもよい。
【００２３】
次に、図４を参照して、本実施の形態にかかるサービス合成システムの動作について説明する。図４は、本実施の形態にかかるサービス合成システムの動作を示すシーケンス図である。
ユーザからサービスを合成する要求に関する指示（サービス合成要求）を受信すると（ステップＳ４０１）、サービス合成装置１０は、そのサービスの合成に対応するサービステンプレート２０を参照し（ステップＳ４０２）、そのサービスを合成するために必要なサービス要素の条件を設定する（ステップＳ４０３）。この条件に基づいて、サービス合成装置１０は、ユーザが所望するサービスを合成するのに必要なサービス要素をネットワーク４０を介して検索する（ステップＳ４０４）。その条件に適合するサービス要素としてサービス要素３０ａが発見されると、サービス合成装置１０は、そのサービス要素３０ａに対してサービス要素情報を送信するよう要求する。
この要求を受信すると、サービス要素３０ａは、自身のサービス要素情報をサービス合成装置１０に送信する（ステップＳ４０５）。
【００２４】
サービス要素３０ａからサービス要素情報を受信すると、サービス合成装置１０は、そのサービス要素情報に基づいて、自身とサービス合成要素３０ａとの整合性を判断する。ここで、サービス要素３０は、受信したサービス要素３０ａのサービス要素情報を、サービス要素情報記憶部１３に記憶するようにしてもよい。
サービス合成装置１０とサービス要素３０ａとの間の整合がとれないと判断すると（ステップＳ４０６）、サービス合成装置１０は、サービステンプレート２０を参照して（ステップＳ４０７）、サービス要素３０ａと整合をとるための仲介サービス要素の条件を決定する（ステップＳ４０８）。この検索のための条件としては、例えばサービステンプレート２０に明示的に記述されている、ユーザから明示的に指定される、または、サービス合成エンジンが過去の実績に基づいて自律的に決定するなどが挙げられ、サービス合成装置１０は、状況に応じてそれらの条件を使い分けることができる。
【００２５】
決定された検索条件に基づいて、サービス合成装置１０は、サービス合成装置１０とサービス要素３０ａとの間を仲介する仲介サービス要素をネットワーク４０を介して検索する（ステップＳ４０９）。その条件に適合する仲介サービス要素としてサービス要素３０ｂが発見されると、サービス合成装置１０は、そのサービス要素３０ｂに対してサービス要素情報を送信するよう要求する。
この要求を受信すると、サービス要素３０ｂは、自身のサービス要素情報をサービス合成装置１０に送信する（ステップＳ４１０）。
【００２６】
サービス要素３０ｂからサービス要素情報を受信すると、サービス合成装置１０は、そのサービス要素３０ｂのサービス要素情報と、既にサービス要素情報記憶部１３に記憶してあるサービス要素３０ａのサービス要素情報とに基づいて、サービス要素３０ｂを仲介サービス要素として利用した場合のサービス合成装置１０とサービス要素３０ａとの整合性を判断する。
ここで、サービス合成装置１０とサービス要素３０ａとが適合すると判断すると（ステップＳ４１１）、サービス合成装置１０は、サービス要素３０ｂとあわせて、利用者が所望するサービスを構成するために必要な各サービス要素を、サービステンプレート２０に記述された順番で呼び出す（ステップＳ４１２）。
この呼び出しに対する応答をサービス要素３０ｂおよび各サービス要素から受信すると（ステップＳ４１３）、サービス合成装置１０は、サービス要素３０ａに対して、仲介サービス要素としてサービス要素３０ｂを利用することにより整合性の問題を解決したことを通知（仲介サービス要素利用通知）する（ステップＳ４１４）。この際、仲介サービス要素利用通知には、仲介サービス要素にアクセスする手段（ＵＲＬ）、仲介サービス要素の利用したインターフェース、整合性解決を試みたインターフェース等に関する情報が含まれるようにしてもよい。
【００２７】
仲介サービス要素利用通知を受信すると、サービス要素３０ａは、サービス要素３０ｂを取り込みサービス要素蓄積部３６に取り込む、または、サービス要素３０ｂにいつでもアクセスできるようアクセスに必要な情報（ＵＲＬ等）を仲介用サービス要素アクセス情報蓄積部３７に記憶することにより、サービス要素３０ｂを利用可能なインターフェースとして追加登録する（ステップＳ４１５）。例えば、Ｐ２Ｐ検索の場合には、サービス要素情報蓄積部３４に記憶された自身のサービス要素情報に新しいインターフェース情報を追加し、ディレクトリサーバ検索の場合には、ディレクトリサーバにインターフェースの更新を通知する。これにより、サービス要素３０ａは、新規に追加登録したインターフェースで利用されることが可能となる。
【００２８】
このように、本実施の形態によれば、サービス合成装置とサービス要素との整合がとれない場合、サービス合成装置とサービス要素とを仲介する仲介サービス要素を利用可能なインターフェースとしてそのサービス要素に追加登録することにより、その後は同様の不整合の場合に再度仲介サービス要素を検索する必要がないので、効率的にサービス合成を行うことができる。
【００２９】
次に、本実施の形態にかかるサービス合成システムの具体例について説明する。図５は、音楽を再生するサービスが記述されたサービステンプレートの記述例である。
この例におけるサービステンプレート２０は、ユーザから音楽コンテンツを指定してもらうと、それを演奏すると同時に、その映像を、近くの部屋にあるディスプレイに表示するというものである。
【００３０】
図５に示すサービステンプレート２０は、まず、サービス合成装置１０に、“music play”というキーワードでプレーヤーをその場で発見させる。そして、見つかったプレーヤーにコンテンツを入力させる。ユーザが指定した音楽ファイルがＷＭＡフォーマットで、プレーヤーがＭＰ３フォーマットにしか対応していない場合、サービス合成装置１０に、サービスを合成する際に“Interface Unmatch Exception”をそのインターフェースが不一致であるという情報の詳細とともに発生させる。もし、その不一致情報に“ＷＭＡ”という語句が含まれている場合、サービス合成装置１０に“convert”、“ＷＭＡ”、“ＭＰ３”というキーワードでフォーマット変換を行う仲介サービス要素を検索させる。仲介サービス要素が発見されると、サービス合成装置１０に、その仲介サービス要素を含めて、再度サービスを合成させる。
【００３１】
このようなサービステンプレートを適用した場合のパラメータの具体例を図４に追加したシーケンス図が図６である。
なお、図６に示すシーケンス図は、上述したように図４で示したシーケンス図にパラメータの具体例を追加したものなので、同じステップには同じ符号を付して説明を適宜省略する。
【００３２】
“music play”のキーワードで検索されたプレーヤーは、インターフェース情報が“void play Music(MP3file)”で、ＵＲＬが“http://music.com/player”である（ステップＳ４０５）。また、“convert”、”WMA”、“MP3”のキーワードで検索された仲介サービス要素のＵＲＬは、“http://tyukai.com/convert”である（ステップＳ４１０）。仲介サービス要素利用通知には、仲介サービス要素のインターフェース情報、仲介サービス要素のＵＲＬ、最初に整合性の解決を試みたサービス要素のインターフェース情報が含まれている（ステップＳ４１４）。
【００３３】
以上のようなサービス合成装置１０、サービステンプレート２０およびサービス要素３０は、前述のようにコンピュータで実現することができる。このコンピュータは、ＣＰＵとＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）と、フレキシブルディスク装置等の補助記憶装置と、ハードディスク装置等の大容量の外部記憶装置と、ネットワーク４０との間のインターフェース装置といった構成を有している。
【００３４】
コンピュータをサービス合成装置１０、サービステンプレート２０およびサービス要素３０として機能させるためのサービス合成プログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ、メモリーカード等の記憶媒体に記憶された状態で提供される。この記憶媒体をコンピュータの補助記憶装置に挿入すると、媒体に記憶されたプログラムが読み取られる。そして、ＣＰＵは、読み込んだプログラムをＲＡＭあるいは外部記憶装置に書き込み、このプログラムに従って上記実施の形態で説明したような処理を実行し、各種機能が実施される。
【図面の簡単な説明】
【００３５】
【図１】本実施の形態にかかるサービス合成システムの構成を示す図である。
【図２】サービス合成装置１０の構成を示す図である。
【図３】サービス要素の構成を示す図である。
【図４】本実施の形態にかかるサービス合成システムの動作を示すシーケンス図である。
【図５】音楽を再生するサービスが記述されたサービステンプレートの記述例である。
【図６】図５に示すサービステンプレートを適用した場合のパラメータの具体例を図４のシーケンス図に追加したシーケンス図である。
【符号の説明】
【００３６】
１０…サービス合成装置、１１…サービス合成エンジン、１２…検索部、１３…サービス要素情報記憶部、１４…整合性判断・パラメータマッピング部、２０…サービステンプレート、３０、３０ａ〜３０ｎ…サービス要素、３１…サービス機能部、３２…サービス要素インターフェース追加制御部、３３…検索応答部、３４…サービス要素情報蓄積部、３５…取り込みサービスパラメータマッピング情報蓄積部、３６…取り込みサービス要素蓄積部、３７…仲介用サービス要素アクセス情報蓄積部、４０…ネットワーク。
【図１】
2005071052.tif 000003
【図２】
2005071052.tif 000004
【図３】
2005071052.tif 000005
【図４】
2005071052.tif 000006
【図５】
2005071052.tif 000007
【図６】
2005071052.tif 000008