JP2005071052A - サービス合成システム、サービス合成方法およびサービス合成プログラム - Google Patents
サービス合成システム、サービス合成方法およびサービス合成プログラム Download PDFInfo
- Publication number
- JP2005071052A JP2005071052A JP2003299280A JP2003299280A JP2005071052A JP 2005071052 A JP2005071052 A JP 2005071052A JP 2003299280 A JP2003299280 A JP 2003299280A JP 2003299280 A JP2003299280 A JP 2003299280A JP 2005071052 A JP2005071052 A JP 2005071052A
- Authority
- JP
- Japan
- Prior art keywords
- service
- service element
- mediation
- template
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
【課題】サービス合成を効率的に行うことができるサービス合成システム、サービス合成方法およびサービス合成プログラムを提供する。
【解決手段】サービス合成装置10とサービス要素30aとの整合がとれない場合、サービス合成装置10とサービス要素30aとを仲介するサービス要素30bを利用可能なインターフェースとしてそのサービス要素に追加登録する。これにより、その後は、同様の不整合の場合に再度仲介サービス要素として機能するサービス要素30bを検索する必要がないので、効率的にサービス合成を行うことができる。
【選択図】 図4
【解決手段】サービス合成装置10とサービス要素30aとの整合がとれない場合、サービス合成装置10とサービス要素30aとを仲介するサービス要素30bを利用可能なインターフェースとしてそのサービス要素に追加登録する。これにより、その後は、同様の不整合の場合に再度仲介サービス要素として機能するサービス要素30bを検索する必要がないので、効率的にサービス合成を行うことができる。
【選択図】 図4
Description
本発明は、ネットワーク上に分散したサービスを構成するサービス要素を、サービス要素の組み合わせが記述されたサービステンプレートに基づいてサービスを合成するサービス合成システム、サービス合成方法およびサービス合成プログラムに関するものである。
近年、ネットワークの広帯域化・常時接続化の進展、端末装置の処理能力の向上等のIT技術の進歩により、数多くの機器がネットワークに接続され、多くの情報やサービスがネットワークを介して利用可能となっている。例えば、Webサービス技術による気象情報や株価情報の提供、企業間のエンタープライズアプリケーション統合、汎用P2P(peer to peer)プラットホームであるJXTAを利用したサービス提供プログラム等が利用可能となっている。
また、近年の無線技術の進歩と普及により、いつでもどこでもネットワークにアクセスできる環境(ユビキタスコンピューティング(Ubiquitous Computing)環境)が整いつつあるため、上述したようなサービスをいつでもどこでも利用したり提供したりできる環境も実現されつつある。
このようなユビキタスコンピューティング環境における将来のネットワークサービスにおいては、ユーザやサービス提供者がおかれている様々なネットワーク環境やユーザの多様な要求に適応し、かつ、その環境やコンテクストに適した、よりユーザの満足度の高いサービスを提供することが望まれている。
また、近年の無線技術の進歩と普及により、いつでもどこでもネットワークにアクセスできる環境(ユビキタスコンピューティング(Ubiquitous Computing)環境)が整いつつあるため、上述したようなサービスをいつでもどこでも利用したり提供したりできる環境も実現されつつある。
このようなユビキタスコンピューティング環境における将来のネットワークサービスにおいては、ユーザやサービス提供者がおかれている様々なネットワーク環境やユーザの多様な要求に適応し、かつ、その環境やコンテクストに適した、よりユーザの満足度の高いサービスを提供することが望まれている。
このため、その場、その時に利用可能なハードウエア、コンテンツ、ソフトウェアなどネットワークを介してアクセス可能なすべての機能であり、サービスを実現するためのサービス要素をネットワーク上から発見し、これを組み合わせることでサービスを実現する研究が進んでいる。このような研究は、サービス創発・サービス合成と呼ばれ、Ja−Net(例えば、非特許文献1参照)、USON(例えば、非特許文献2参照)などがその代表例である。
また、その場、その時に利用可能なサービス要素を組み合わせるというアプローチではないが、既知のWebサービスを合成することで合成Webサービスを実現するBPEL4WS(Business Process Execution Language for Web Service)や、WSCI(Web Service Choreography Interface)なども研究が進んでいる。これらの研究の適用例としては、航空券予約Webサービス、ホテル予約Webサービス、レンタカー予約Webサービス等を組み合わせて、総合予約Webサービスを作るといったものが該当する。
また、その場、その時に利用可能なサービス要素を組み合わせるというアプローチではないが、既知のWebサービスを合成することで合成Webサービスを実現するBPEL4WS(Business Process Execution Language for Web Service)や、WSCI(Web Service Choreography Interface)なども研究が進んでいる。これらの研究の適用例としては、航空券予約Webサービス、ホテル予約Webサービス、レンタカー予約Webサービス等を組み合わせて、総合予約Webサービスを作るといったものが該当する。
上述したようなサービスを合成する方法において、サービスを合成するサービス合成装置は、サービス要素の組み合わせおよびその動作順序などの設計図であるサービステンプレートを参照して、ユーザが所望するサービスを合成するのに必要なサービス要素を検索して呼び出し、この呼び出したサービス要素を組み合わせてユーザが所望するサービスを合成する。ここで、サービスを合成する際には、サービス要素の呼び出し元であるサービス合成装置と提供先のサービス要素との間で、インターフェース、すなわち、パラメータ数、パラメータ型について一致させる、また、パラメータ名について適切なマッピングを行うなど、各種インターフェースの整合をとる必要がある。なお、パラメータ名について適切なマッピングを行うとは、例えば複数のサービス要素を順次呼び出す際に、最初に呼び出したサービス要素のパラメータの5番目に入る返り値を、次に呼び出すサービス要素のパラメータの3番目に入れて呼び出す等のサービス要素を呼び出す際の必要なパラメータの設定のことを意味する。
しかし、場合によっては、サービス合成装置とサービス要素との間で整合がとれない場合もある。このような場合、従来では、サービス合成装置とサービス要素とを仲介するサービス要素(仲介サービス要素)を発見し、これを含めてサービスを合成することで、上記不整合の問題を解決していた。
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
須田他、サービス創発のための適応型ネットワークアーキテクチャ、電子情報通信学会論文誌、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
しかし、場合によっては、サービス合成装置とサービス要素との間で整合がとれない場合もある。このような場合、従来では、サービス合成装置とサービス要素とを仲介するサービス要素(仲介サービス要素)を発見し、これを含めてサービスを合成することで、上記不整合の問題を解決していた。
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
須田他、サービス創発のための適応型ネットワークアーキテクチャ、電子情報通信学会論文誌、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
しかしながら、上述した従来の方法では、サービス合成装置とサービス要素との間で各種インターフェースが異なる場合に、その都度、仲介サービス要素を発見して整合性の問題を解決していたため、とても効率が悪かった。
そこで、本願発明は上述した課題を解決するためになされたものであり、サービス合成を効率的に行うことができるサービス合成システム、サービス合成方法およびサービス合成プログラムを提供することを目的とする。
そこで、本願発明は上述した課題を解決するためになされたものであり、サービス合成を効率的に行うことができるサービス合成システム、サービス合成方法およびサービス合成プログラムを提供することを目的とする。
上述したような課題を解決するために本発明に係るサービス合成システムは、ネットワークと、このネットワーク上の機能を抽象化した単位であるサービス要素と、このサービス要素の階層化された接続関係および動作順序が記述されたテンプレートと、このテンプレートに基づいてネットワーク上のサービス要素をグループ化することにより、ユーザが所望するサービスを生成するサービス合成装置とから構成されるサービス生成システムであって、サービス合成装置は、テンプレートに基づいてサービス要素を検索する第1の検索手段と、この検索手段により検索された任意のサービス要素とインターフェースが整合するか否かを判断する判断手段と、この判断手段が不整合と判断した場合に、この不整合を解消するサービス要素である仲介サービス要素を検索する第2の検索手段と、仲介サービス要素を利用する旨の仲介サービス要素利用通知を任意のサービス要素に通知する通知手段とを有し、任意のサービス要素は、利用可能なインターフェースを記憶する記憶手段と、仲介サービス要素利用通知を受信すると、仲介サービス要素を記憶手段に追加登録する追加手段とを有することを特徴とする。
また、本発明に係るサービス合成方法は、ネットワーク上の機能を抽象化した単位であるサービス要素の階層化された接続関係および動作順序が記述されたテンプレートに基づいてネットワーク上のサービス要素をグループ化することにより、ユーザが所望するサービスを生成するサービス合成方法であって、テンプレートに基づいてサービス要素を検索するサービス要素検索手順と、検索された任意のサービス要素とインターフェースが他のサービス要素と整合するか否かを判断する判断手順と、この判断手順で不整合と判断した場合に、この不整合を解消するサービス要素である仲介サービス要素を検索する仲介サービス要素検索手順と、仲介サービス要素を利用する旨の仲介サービス要素利用通知を任意のサービス要素に通知する通知手順と、仲介サービス要素利用通知を受信すると、仲介サービス要素を利用可能なインターフェースとして追加登録する登録手段とを実行することを特徴とする。
また、本発明に係るサービス合成プログラムは、ネットワーク上の機能を抽象化した単位であるサービス要素の階層化された接続関係および動作順序が記述されたテンプレートに基づいてネットワーク上のサービス要素をグループ化することにより、ユーザが所望するサービスをネットワーク上のコンピュータに生成させるサービス合成プログラムであって、テンプレートに基づいてサービス要素を検索するサービス要素検索手順と、検索された任意のサービス要素とインターフェースが他のサービス要素と整合するか否かを判断する判断手順と、この判断手順で不整合と判断した場合に、この不整合を解消するサービス要素である仲介サービス要素を検索する仲介サービス要素検索手順と、仲介サービス要素を利用する旨の仲介サービス要素利用通知を任意のサービス要素に通知する通知手順と、仲介サービス要素利用通知を受信すると、仲介サービス要素を利用可能なインターフェースとして追加登録する登録手段とをコンピュータに実行させることを特徴とする。
このように、本発明によれば、サービス合成装置とサービス要素との整合がとれない場合、サービス合成装置とサービス要素とを仲介する仲介サービス要素を利用可能なインターフェースとしてそのサービス要素に追加登録することにより、その後は同様の不整合の場合に再度仲介サービス要素を検索する必要がないので、効率的にサービス合成を行うことができる。
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
図1は、本実施の形態にかかるサービス合成システムの構成を示す図、図2は、サービス合成装置10の構成を示す図、図3は、サービス要素の構成を示す図である。
本実施の形態にかかるサービス合成システムは、ユーザが所望するサービスを合成するサービス合成装置10と、サービスの設計図であるサービステンプレート20と、ネットワーク上の機能を抽象化した単位であるサービス要素30a〜30nと、これらが接続されたネットワーク40とから構成される。
なお、サービス合成装置10およびサービステンプレート20の数は、1つに限定されず、適宜自由に設定することができる。
図1は、本実施の形態にかかるサービス合成システムの構成を示す図、図2は、サービス合成装置10の構成を示す図、図3は、サービス要素の構成を示す図である。
本実施の形態にかかるサービス合成システムは、ユーザが所望するサービスを合成するサービス合成装置10と、サービスの設計図であるサービステンプレート20と、ネットワーク上の機能を抽象化した単位であるサービス要素30a〜30nと、これらが接続されたネットワーク40とから構成される。
なお、サービス合成装置10およびサービステンプレート20の数は、1つに限定されず、適宜自由に設定することができる。
ここで、サービス要素とは、対象を計算機環境で取り扱えるようにしたエンティティ(entity、実体ともいう)であって、ネットワーク上で利用可能なプロセスまたはデータが含まれる。サービス要素の例としては、Webサービスを構成するEJB(enterprise Java(R) Beans)などで実現されているコンポーネント、ネットワークを経由してアクセスできる映像などのコンテンツ、ネットワークに接続されたプリンタやディスプレイ、どの程度計算機が動作しているかを示すCPU資源やどの程度ネットワークが使用されているかを示すネットワーク帯域といった計算機環境的リソース、ネットワーク上でサービスを実現するための複数のサービス要素の提供順序とを記述したサービステンプレートなどがある。また、常時接続されたサーバ上で動作するソフトウェアばかりがサービス構成要素ではない。例えば、物理的に近い他ユーザとの数の限られた通信が可能な携帯端末上で動作するソフトウェアもサービス要素である。
したがって、図1に示すサービス合成装置10およびサービステンプレート20や、ユーザもサービス要素の1つである。
したがって、図1に示すサービス合成装置10およびサービステンプレート20や、ユーザもサービス要素の1つである。
このようなサービス合成システムでは、サービス合成装置10が、サービステンプレート20に記述された条件に合致する各サービス要素30を発見し、サービステンプレート20に記述された組み合わせ順序・パターンに基づいてサービス要素30の合成を行い、サービステンプレート20に記述されたサービス提供順序に基づいて、それらサービス要素30を呼び出すことにより、ユーザにサービスを提供する。
サービス合成装置10は、図2に示すように、サービス合成を主導するサービス合成エンジン11と、サービス要素30の検索制御を行う検索制御部12と、発見したサービス要素の情報を蓄積するサービス要素情報記憶部13と、インターフェース整合性を判断し、パラメータのマッピングを行う整合性判断・パラメータマッピング部14とからなる。
ここで、サービス合成装置10の起動は、例えばユーザの要求に基づいて行ったり、サービス合成装置10が自発的に起動しユーザに提案する等の各種方法を適宜自由に設定することができる。また、サービス合成装置10が参照するサービステンプレート20の選択方法についても、例えばユーザが指定したり、サービス合成装置10が自律的に発見し、選択するなどの各種方法を適宜自由に設定することができる。
ここで、サービス合成装置10の起動は、例えばユーザの要求に基づいて行ったり、サービス合成装置10が自発的に起動しユーザに提案する等の各種方法を適宜自由に設定することができる。また、サービス合成装置10が参照するサービステンプレート20の選択方法についても、例えばユーザが指定したり、サービス合成装置10が自律的に発見し、選択するなどの各種方法を適宜自由に設定することができる。
サービス合成エンジン11は、サービス合成装置10の動作を制御する制御部であって、ユーザからのサービス合成要求があると、サービステンプレート20に記述された条件に基づき、検索制御部12、サービス要素情報記憶部13および整合性判断・パラメータマッピング部14を用いて、ユーザが所望するサービスを合成して提供する。
検索部12は、サービステンプレートに記述されたサービスを合成するために必要なサービス要素をネットワーク40を介して検索し、インターフェース情報、メタデータおよびサービス要素にアクセスするのに必要な情報(URL等)等のサービス要素情報を検索したサービス要素に対して要求する。
サービス要素の検索条件としては、例えばサービスカテゴリ情報の一致、近くのディスプレイを検索する場合などサービス要素の存在場所、デバイス系の場合における特定のデバイスのメーカーやデバイスの機能等、各種条件が挙げられ、その各種条件を適宜自由に適用することができる。
また、サービス要素の検索手法としては、UDDIやLDAPサーバなどのディレクトリサービス、サービス要素自身が検索に応答するP2P検索、LAN内のブロードキャスト、IPマルチキャスト、または、メール等での直接情報交換等が挙げられ、これらの各種手法を適宜自由に適用することができる。
サービス要素の検索条件としては、例えばサービスカテゴリ情報の一致、近くのディスプレイを検索する場合などサービス要素の存在場所、デバイス系の場合における特定のデバイスのメーカーやデバイスの機能等、各種条件が挙げられ、その各種条件を適宜自由に適用することができる。
また、サービス要素の検索手法としては、UDDIやLDAPサーバなどのディレクトリサービス、サービス要素自身が検索に応答するP2P検索、LAN内のブロードキャスト、IPマルチキャスト、または、メール等での直接情報交換等が挙げられ、これらの各種手法を適宜自由に適用することができる。
サービス要素情報記憶部13は、検索部12が受信したサービス要素情報を記憶する。
整合性判断・パラメータマッピング部14は、サービス要素情報記憶部13に記憶された各サービス要素のインターフェース情報に基づいて、そのサービス要素がサービス合成装置10と整合性があるか否か、すなわち、パラメータの数や型が一致しているか、パラメータ名称のマッピングが可能か等の検証を行う。
この検証方法には、パラメータ型一致の検証方法として、Javaの型表現形式の一致判定や、WSDLのportType名の一致判断などの方法が、また、パラメータ名称のマッピングが可能か否かの検証方法として、サービス要素のインターフェース情報に、各パラメータの意味内容を記述することを前提として、そのキーワード一致度により推定する方法がある。
この検証方法には、パラメータ型一致の検証方法として、Javaの型表現形式の一致判定や、WSDLのportType名の一致判断などの方法が、また、パラメータ名称のマッピングが可能か否かの検証方法として、サービス要素のインターフェース情報に、各パラメータの意味内容を記述することを前提として、そのキーワード一致度により推定する方法がある。
サービステンプレート20は、所定のサービスを合成するために、サービス要素の階層化された接続関係および動作順序を記述したものである。
ここで、接続関係とは、どのカテゴリや属性のサービス要素を組み合わせるか、そのサービス要素のインターフェース情報、または、サービス要素を呼び出す際の必要なパラメータの設定等のことを意味する。
また、動作順序とは、例えば複数のサービスを順次実行する場合にそのサービスを構成するサービス要素を呼び出す順序のことを意味する。なお、この順序には、順序指定無しでサービス要素を並列に呼び出す場合も含まれる。
ここで、接続関係とは、どのカテゴリや属性のサービス要素を組み合わせるか、そのサービス要素のインターフェース情報、または、サービス要素を呼び出す際の必要なパラメータの設定等のことを意味する。
また、動作順序とは、例えば複数のサービスを順次実行する場合にそのサービスを構成するサービス要素を呼び出す順序のことを意味する。なお、この順序には、順序指定無しでサービス要素を並列に呼び出す場合も含まれる。
サービス要素30は、図3に示すように、サービス機能部31と、サービス要素インターフェース追加制御部32と、検索応答部33と、サービス要素情報蓄積部34と、取り込みサービスパラメータマッピング情報蓄積部35と、取り込みサービス要素蓄積部36と、仲介用サービス要素アクセス情報蓄積部37とを有する。
サービス機能部31は、サービス要素30が提供するサービスの内容を格納する。
サービス要素インターフェース追加制御部32は、仲介サービス要素を利用する通知(仲介サービス利用通知)を受信すると、その仲介サービス要素を取り込む、または、利用して、その仲介サービス要素を利用可能なインターフェースとして追加登録する。
検索応答部33は、サービス合成装置10のネットワーク40を介したP2P検索に対して応答し、サービス要素情報蓄積部34に蓄積された自身のサービス要素情報をサービス合成装置10に送出する。
サービス要素情報蓄積部34は、このサービス要素30自身のサービス要素情報を蓄積する。
取り込みサービスパラメータマッピング情報蓄積部35は、サービス要素インターフェース追加制御部32が行った整合性判断・パラメータマッピングの結果を記憶する。
サービス要素インターフェース追加制御部32は、仲介サービス要素を利用する通知(仲介サービス利用通知)を受信すると、その仲介サービス要素を取り込む、または、利用して、その仲介サービス要素を利用可能なインターフェースとして追加登録する。
検索応答部33は、サービス合成装置10のネットワーク40を介したP2P検索に対して応答し、サービス要素情報蓄積部34に蓄積された自身のサービス要素情報をサービス合成装置10に送出する。
サービス要素情報蓄積部34は、このサービス要素30自身のサービス要素情報を蓄積する。
取り込みサービスパラメータマッピング情報蓄積部35は、サービス要素インターフェース追加制御部32が行った整合性判断・パラメータマッピングの結果を記憶する。
取り込みサービス要素蓄積部36は、サービス要素インターフェース追加制御部32によりダウンロードされた仲介サービス要素を記憶する。
仲介用サービス要素アクセス情報蓄積部37は、いつでも仲介サービス要素にアクセスできるよう、その仲介サービス要素にアクセスするのに必要な情報(URL等)を記憶する。
このように、取り込みサービス要素蓄積部36に仲介サービス要素を記憶する、または、仲介用サービス要素アクセス情報蓄積部37に仲介サービス要素にアクセスするために必要な情報を記憶することにより、サービス要素30は、その仲介サービス要素を利用可能なインターフェースとして登録する。
仲介用サービス要素アクセス情報蓄積部37は、いつでも仲介サービス要素にアクセスできるよう、その仲介サービス要素にアクセスするのに必要な情報(URL等)を記憶する。
このように、取り込みサービス要素蓄積部36に仲介サービス要素を記憶する、または、仲介用サービス要素アクセス情報蓄積部37に仲介サービス要素にアクセスするために必要な情報を記憶することにより、サービス要素30は、その仲介サービス要素を利用可能なインターフェースとして登録する。
ネットワーク40は、ホームネットワーク、企業内LAN(Loval Area Network)、インターネットなど、何でもよい。
次に、図4を参照して、本実施の形態にかかるサービス合成システムの動作について説明する。図4は、本実施の形態にかかるサービス合成システムの動作を示すシーケンス図である。
ユーザからサービスを合成する要求に関する指示(サービス合成要求)を受信すると(ステップS401)、サービス合成装置10は、そのサービスの合成に対応するサービステンプレート20を参照し(ステップS402)、そのサービスを合成するために必要なサービス要素の条件を設定する(ステップS403)。この条件に基づいて、サービス合成装置10は、ユーザが所望するサービスを合成するのに必要なサービス要素をネットワーク40を介して検索する(ステップS404)。その条件に適合するサービス要素としてサービス要素30aが発見されると、サービス合成装置10は、そのサービス要素30aに対してサービス要素情報を送信するよう要求する。
この要求を受信すると、サービス要素30aは、自身のサービス要素情報をサービス合成装置10に送信する(ステップS405)。
ユーザからサービスを合成する要求に関する指示(サービス合成要求)を受信すると(ステップS401)、サービス合成装置10は、そのサービスの合成に対応するサービステンプレート20を参照し(ステップS402)、そのサービスを合成するために必要なサービス要素の条件を設定する(ステップS403)。この条件に基づいて、サービス合成装置10は、ユーザが所望するサービスを合成するのに必要なサービス要素をネットワーク40を介して検索する(ステップS404)。その条件に適合するサービス要素としてサービス要素30aが発見されると、サービス合成装置10は、そのサービス要素30aに対してサービス要素情報を送信するよう要求する。
この要求を受信すると、サービス要素30aは、自身のサービス要素情報をサービス合成装置10に送信する(ステップS405)。
サービス要素30aからサービス要素情報を受信すると、サービス合成装置10は、そのサービス要素情報に基づいて、自身とサービス合成要素30aとの整合性を判断する。ここで、サービス要素30は、受信したサービス要素30aのサービス要素情報を、サービス要素情報記憶部13に記憶するようにしてもよい。
サービス合成装置10とサービス要素30aとの間の整合がとれないと判断すると(ステップS406)、サービス合成装置10は、サービステンプレート20を参照して(ステップS407)、サービス要素30aと整合をとるための仲介サービス要素の条件を決定する(ステップS408)。この検索のための条件としては、例えばサービステンプレート20に明示的に記述されている、ユーザから明示的に指定される、または、サービス合成エンジンが過去の実績に基づいて自律的に決定するなどが挙げられ、サービス合成装置10は、状況に応じてそれらの条件を使い分けることができる。
サービス合成装置10とサービス要素30aとの間の整合がとれないと判断すると(ステップS406)、サービス合成装置10は、サービステンプレート20を参照して(ステップS407)、サービス要素30aと整合をとるための仲介サービス要素の条件を決定する(ステップS408)。この検索のための条件としては、例えばサービステンプレート20に明示的に記述されている、ユーザから明示的に指定される、または、サービス合成エンジンが過去の実績に基づいて自律的に決定するなどが挙げられ、サービス合成装置10は、状況に応じてそれらの条件を使い分けることができる。
決定された検索条件に基づいて、サービス合成装置10は、サービス合成装置10とサービス要素30aとの間を仲介する仲介サービス要素をネットワーク40を介して検索する(ステップS409)。その条件に適合する仲介サービス要素としてサービス要素30bが発見されると、サービス合成装置10は、そのサービス要素30bに対してサービス要素情報を送信するよう要求する。
この要求を受信すると、サービス要素30bは、自身のサービス要素情報をサービス合成装置10に送信する(ステップS410)。
この要求を受信すると、サービス要素30bは、自身のサービス要素情報をサービス合成装置10に送信する(ステップS410)。
サービス要素30bからサービス要素情報を受信すると、サービス合成装置10は、そのサービス要素30bのサービス要素情報と、既にサービス要素情報記憶部13に記憶してあるサービス要素30aのサービス要素情報とに基づいて、サービス要素30bを仲介サービス要素として利用した場合のサービス合成装置10とサービス要素30aとの整合性を判断する。
ここで、サービス合成装置10とサービス要素30aとが適合すると判断すると(ステップS411)、サービス合成装置10は、サービス要素30bとあわせて、利用者が所望するサービスを構成するために必要な各サービス要素を、サービステンプレート20に記述された順番で呼び出す(ステップS412)。
この呼び出しに対する応答をサービス要素30bおよび各サービス要素から受信すると(ステップS413)、サービス合成装置10は、サービス要素30aに対して、仲介サービス要素としてサービス要素30bを利用することにより整合性の問題を解決したことを通知(仲介サービス要素利用通知)する(ステップS414)。この際、仲介サービス要素利用通知には、仲介サービス要素にアクセスする手段(URL)、仲介サービス要素の利用したインターフェース、整合性解決を試みたインターフェース等に関する情報が含まれるようにしてもよい。
ここで、サービス合成装置10とサービス要素30aとが適合すると判断すると(ステップS411)、サービス合成装置10は、サービス要素30bとあわせて、利用者が所望するサービスを構成するために必要な各サービス要素を、サービステンプレート20に記述された順番で呼び出す(ステップS412)。
この呼び出しに対する応答をサービス要素30bおよび各サービス要素から受信すると(ステップS413)、サービス合成装置10は、サービス要素30aに対して、仲介サービス要素としてサービス要素30bを利用することにより整合性の問題を解決したことを通知(仲介サービス要素利用通知)する(ステップS414)。この際、仲介サービス要素利用通知には、仲介サービス要素にアクセスする手段(URL)、仲介サービス要素の利用したインターフェース、整合性解決を試みたインターフェース等に関する情報が含まれるようにしてもよい。
仲介サービス要素利用通知を受信すると、サービス要素30aは、サービス要素30bを取り込みサービス要素蓄積部36に取り込む、または、サービス要素30bにいつでもアクセスできるようアクセスに必要な情報(URL等)を仲介用サービス要素アクセス情報蓄積部37に記憶することにより、サービス要素30bを利用可能なインターフェースとして追加登録する(ステップS415)。例えば、P2P検索の場合には、サービス要素情報蓄積部34に記憶された自身のサービス要素情報に新しいインターフェース情報を追加し、ディレクトリサーバ検索の場合には、ディレクトリサーバにインターフェースの更新を通知する。これにより、サービス要素30aは、新規に追加登録したインターフェースで利用されることが可能となる。
このように、本実施の形態によれば、サービス合成装置とサービス要素との整合がとれない場合、サービス合成装置とサービス要素とを仲介する仲介サービス要素を利用可能なインターフェースとしてそのサービス要素に追加登録することにより、その後は同様の不整合の場合に再度仲介サービス要素を検索する必要がないので、効率的にサービス合成を行うことができる。
次に、本実施の形態にかかるサービス合成システムの具体例について説明する。図5は、音楽を再生するサービスが記述されたサービステンプレートの記述例である。
この例におけるサービステンプレート20は、ユーザから音楽コンテンツを指定してもらうと、それを演奏すると同時に、その映像を、近くの部屋にあるディスプレイに表示するというものである。
この例におけるサービステンプレート20は、ユーザから音楽コンテンツを指定してもらうと、それを演奏すると同時に、その映像を、近くの部屋にあるディスプレイに表示するというものである。
図5に示すサービステンプレート20は、まず、サービス合成装置10に、“music play”というキーワードでプレーヤーをその場で発見させる。そして、見つかったプレーヤーにコンテンツを入力させる。ユーザが指定した音楽ファイルがWMAフォーマットで、プレーヤーがMP3フォーマットにしか対応していない場合、サービス合成装置10に、サービスを合成する際に“Interface Unmatch Exception”をそのインターフェースが不一致であるという情報の詳細とともに発生させる。もし、その不一致情報に“WMA”という語句が含まれている場合、サービス合成装置10に“convert”、“WMA”、“MP3”というキーワードでフォーマット変換を行う仲介サービス要素を検索させる。仲介サービス要素が発見されると、サービス合成装置10に、その仲介サービス要素を含めて、再度サービスを合成させる。
このようなサービステンプレートを適用した場合のパラメータの具体例を図4に追加したシーケンス図が図6である。
なお、図6に示すシーケンス図は、上述したように図4で示したシーケンス図にパラメータの具体例を追加したものなので、同じステップには同じ符号を付して説明を適宜省略する。
なお、図6に示すシーケンス図は、上述したように図4で示したシーケンス図にパラメータの具体例を追加したものなので、同じステップには同じ符号を付して説明を適宜省略する。
“music play”のキーワードで検索されたプレーヤーは、インターフェース情報が“void play Music(MP3file)”で、URLが“http://music.com/player”である(ステップS405)。また、“convert”、”WMA”、“MP3”のキーワードで検索された仲介サービス要素のURLは、“http://tyukai.com/convert”である(ステップS410)。仲介サービス要素利用通知には、仲介サービス要素のインターフェース情報、仲介サービス要素のURL、最初に整合性の解決を試みたサービス要素のインターフェース情報が含まれている(ステップS414)。
以上のようなサービス合成装置10、サービステンプレート20およびサービス要素30は、前述のようにコンピュータで実現することができる。このコンピュータは、CPUとROM(Read Only Memory)と、RAM(Random Access Memory)と、フレキシブルディスク装置等の補助記憶装置と、ハードディスク装置等の大容量の外部記憶装置と、ネットワーク40との間のインターフェース装置といった構成を有している。
コンピュータをサービス合成装置10、サービステンプレート20およびサービス要素30として機能させるためのサービス合成プログラムは、フレキシブルディスク、CD−ROM、メモリーカード等の記憶媒体に記憶された状態で提供される。この記憶媒体をコンピュータの補助記憶装置に挿入すると、媒体に記憶されたプログラムが読み取られる。そして、CPUは、読み込んだプログラムをRAMあるいは外部記憶装置に書き込み、このプログラムに従って上記実施の形態で説明したような処理を実行し、各種機能が実施される。
10…サービス合成装置、11…サービス合成エンジン、12…検索部、13…サービス要素情報記憶部、14…整合性判断・パラメータマッピング部、20…サービステンプレート、30、30a〜30n…サービス要素、31…サービス機能部、32…サービス要素インターフェース追加制御部、33…検索応答部、34…サービス要素情報蓄積部、35…取り込みサービスパラメータマッピング情報蓄積部、36…取り込みサービス要素蓄積部、37…仲介用サービス要素アクセス情報蓄積部、40…ネットワーク。
Claims (3)
- ネットワークと、このネットワーク上の機能を抽象化した単位であるサービス要素と、このサービス要素の階層化された接続関係および動作順序が記述されたテンプレートと、このテンプレートに基づいて前記ネットワーク上の前記サービス要素をグループ化することにより、ユーザが所望するサービスを生成するサービス合成装置とから構成されるサービス生成システムであって、
前記サービス合成装置は、
前記テンプレートに基づいてサービス要素を検索する第1の検索手段と、
この検索手段により検索された任意のサービス要素とインターフェースが整合するか否かを判断する判断手段と、
この判断手段が不整合と判断した場合に、この不整合を解消するサービス要素である仲介サービス要素を検索する第2の検索手段と、
前記仲介サービス要素を利用する旨の仲介サービス要素利用通知を前記任意のサービス要素に通知する通知手段と
を有し、
前記任意のサービス要素は、
利用可能なインターフェースを記憶する記憶手段と、
前記仲介サービス要素利用通知を受信すると、前記仲介サービス要素を前記記憶手段に追加登録する追加手段と
を有する
ことを特徴とするサービス合成システム。 - ネットワーク上の機能を抽象化した単位であるサービス要素の階層化された接続関係および動作順序が記述されたテンプレートに基づいて前記ネットワーク上の前記サービス要素をグループ化することにより、ユーザが所望するサービスを生成するサービス合成方法であって、
前記テンプレートに基づいてサービス要素を検索するサービス要素検索手順と、
検索された任意のサービス要素とインターフェースが他のサービス要素と整合するか否かを判断する判断手順と、
この判断手順で不整合と判断した場合に、この不整合を解消するサービス要素である仲介サービス要素を検索する仲介サービス要素検索手順と、
前記仲介サービス要素を利用する旨の仲介サービス要素利用通知を前記任意のサービス要素に通知する通知手順と、
前記仲介サービス要素利用通知を受信すると、前記仲介サービス要素を利用可能なインターフェースとして追加登録する登録手段と
を実行することを特徴とするサービス合成方法。 - ネットワーク上の機能を抽象化した単位であるサービス要素の階層化された接続関係および動作順序が記述されたテンプレートに基づいて前記ネットワーク上の前記サービス要素をグループ化することにより、ユーザが所望するサービスを前記ネットワーク上のコンピュータに生成させるサービス合成プログラムであって、
前記テンプレートに基づいてサービス要素を検索するサービス要素検索手順と、
検索された任意のサービス要素とインターフェースが他のサービス要素と整合するか否かを判断する判断手順と、
この判断手順で不整合と判断した場合に、この不整合を解消するサービス要素である仲介サービス要素を検索する仲介サービス要素検索手順と、
前記仲介サービス要素を利用する旨の仲介サービス要素利用通知を前記任意のサービス要素に通知する通知手順と、
前記仲介サービス要素利用通知を受信すると、前記仲介サービス要素を利用可能なインターフェースとして追加登録する登録手段と
を前記コンピュータに実行させることを特徴とするサービス合成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003299280A JP2005071052A (ja) | 2003-08-22 | 2003-08-22 | サービス合成システム、サービス合成方法およびサービス合成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003299280A JP2005071052A (ja) | 2003-08-22 | 2003-08-22 | サービス合成システム、サービス合成方法およびサービス合成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005071052A true JP2005071052A (ja) | 2005-03-17 |
Family
ID=34404544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003299280A Pending JP2005071052A (ja) | 2003-08-22 | 2003-08-22 | サービス合成システム、サービス合成方法およびサービス合成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005071052A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008021095A (ja) * | 2006-07-12 | 2008-01-31 | Nippon Telegr & Teleph Corp <Ntt> | 連携シナリオ作成支援システム及びその方法並びにプログラム |
JP2008306668A (ja) * | 2007-06-11 | 2008-12-18 | Ricoh Co Ltd | 機器管理装置、機器管理方法及び機器管理プログラム |
CN102348033A (zh) * | 2010-07-30 | 2012-02-08 | 株式会社理光 | 信息处理装置以及信息处理装置的合作方案作成方法 |
-
2003
- 2003-08-22 JP JP2003299280A patent/JP2005071052A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008021095A (ja) * | 2006-07-12 | 2008-01-31 | Nippon Telegr & Teleph Corp <Ntt> | 連携シナリオ作成支援システム及びその方法並びにプログラム |
JP2008306668A (ja) * | 2007-06-11 | 2008-12-18 | Ricoh Co Ltd | 機器管理装置、機器管理方法及び機器管理プログラム |
CN102348033A (zh) * | 2010-07-30 | 2012-02-08 | 株式会社理光 | 信息处理装置以及信息处理装置的合作方案作成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8880489B2 (en) | Discovery across multiple registries | |
US8396941B2 (en) | Digital living network alliance (DLNA) server that serves contents from IVL services | |
US20030145096A1 (en) | Method and device for delivering information through a distributed information system | |
US20040054652A1 (en) | Data filtering for adapting data delivery to diverse client devices | |
WO2007007320A2 (en) | Method and system for increasing popularity of content items shared over peer-to-peer networks | |
JPH11191113A (ja) | コンピュータシステムで地理的情報にアクセスする方法および装置 | |
US20090022123A1 (en) | Apparatus and method for providing contents sharing service on network | |
US20060041871A1 (en) | Resource description framework transcoder repository and methods for exposing data assets | |
US20050144285A1 (en) | Finding of tv anytime web services | |
WO2003010686A2 (en) | Accessing information content | |
CN109791557A (zh) | 媒体存储 | |
Boussard et al. | Providing user support in web-of-things enabled smart spaces | |
US8335760B1 (en) | Grid computing system to manage utility service content | |
US20090192999A1 (en) | Search service providing system and search service providing method | |
CN105978944A (zh) | 对象存储方法和装置 | |
US20020120682A1 (en) | Information providing server, information providing method for server, information providing system, and computer readable medium | |
JP3574074B2 (ja) | コンテンツデータ提供方法及びシステム及びコンテンツデータ提供プログラムを格納した記憶媒体 | |
EP1861798A1 (en) | Automatic intranet service publishing and service access | |
JP2002094531A (ja) | ネットワーク上のデバイス情報取得方法、ネットワーク上のデバイス情報取得装置及び記録媒体 | |
JP2005071052A (ja) | サービス合成システム、サービス合成方法およびサービス合成プログラム | |
CN112040023B (zh) | 对象访问方法、装置、电子设备及机器可读存储介质 | |
JP2003030034A (ja) | コンテンツ提供方法、コンテンツ提供装置、コンテンツ提供プログラム及びコンテンツ提供プログラムを記録した記録媒体 | |
JP2005275675A (ja) | コンテンツデータの転送システム、保管サーバ、転送方法、及びプログラム | |
JP2005242760A (ja) | 情報検索支援方法並びにこの方法を使用した情報検索支援システムおよびサーバ | |
US20060168211A1 (en) | Information processing system, information processing device and method, program storage medium, and program |