(57)【要約】  本発明は、サービス合成サーバによるリクエストで、サービス実行調整部において構成されたサービスの実行を調整する方法を開示する。上記サービスは、少なくとも第１及び第２のコンポーネントサービスインスタンスから構成される。本方法は、サービス合成サーバから、第１のコンポーネントサービスインスタンスを呼び出すための指示を受信するステップと、サービス合成サーバから、第２のコンポーネントサービスインスタンスを呼び出すための指示を受信するステップと、前記第１のコンポーネントサービスインスタンスを呼び出すために１つ以上のアプリケーションサーバのそれぞれにコンタクトするステップと、第１のサービスを呼び出すサービス呼び出し結果の受信に応じて、１つ以上の第２のコンポーネントサービスインスタンスを呼び出すために１つ以上のアプリケーションサーバのそれぞれに自動的にコンタクトするステップとを含む。
2013515304.tif 000002
【特許請求の範囲】
【請求項１】
サービス合成サーバによるリクエストで、少なくとも第１及び第２のコンポーネントサービスインスタンスから成る合成サービスの実行をサービス実行調整部において調整する方法であって、
前記サービス合成サーバから前記第１のコンポーネントサービスインスタンスを呼び出すための指示を受信するステップと、
前記サービス合成サーバから前記第２のコンポーネントサービスインスタンスを呼び出すための指示を受信するステップと、
前記第１のコンポーネントサービスインスタンスを呼び出すために１つ以上のアプリケーションサーバのそれぞれにコンタクトするステップと、
前記第１のコンポーネントサービスインスタンスの呼び出しにおけるサービス呼び出し結果の受信に応じて、１つ以上の前記第２のコンポーネントサービスインスタンスを呼び出すために前記１つ以上のアプリケーションサーバのそれぞれに自動的にコンタクトするステップと
を含むことを特徴とする方法。
【請求項２】
前記第１のコンポーネントサービスインスタンスを呼び出すための指示と、前記第２のコンポーネントサービスインスタンスを呼び出すための指示とは、前記第１及び第２のコンポーネントサービスインスタンスを呼び出すための合成された指示であることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のコンポーネントサービスインスタンスを呼び出すための前記リクエストは、前記第１のコンポーネントサービスインスタンスの呼び出し結果に一致する判断基準を含むか、又は、関連することを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記第１のコンポーネントサービスインスタンスを呼び出すための前記リクエストは、前記判断基準に一致する際の応答のための指示と、前記判断基準に一致しない際の指示との少なくとも１つを含むか、又は、関連することを特徴とする請求項３に記載の方法。
【請求項５】
前記第１及び第２のコンポーネントサービスインスタンスの１つを呼び出す前記リクエストは、代替のコンポーネントサービスインスタンスであり、
前記方法は、
複数の前記代替のコンポーネントサービスインスタンスからコンポーネントサービスインスタンスを選択するステップをさらに含むことを特徴とする請求項１乃至４の何れか１項に記載の方法。
【請求項６】
前記第１及び第２のコンポーネントサービスインスタンスの１つを呼び出す前記リクエストは、前記第１及び第２のコンポーネントサービスインスタンスを有するセットの識別子を含み、
前記方法は、
前記第１及び第２のコンポーネントサービスインスタンスの前記セットと、それらの前記識別子とをキャッシングするステップと、
前記識別子を含む、前記第１及び第２のコンポーネントサービスインスタンスの前記セット呼び出すための他のリクエストを受信するステップと、
サービスセットの前記識別子に基づき、呼び出されるための前記第１及び第２のコンポーネントサービスインスタンスを取り出すステップと
を含むことを特徴とする請求項１乃至５の何れか１項に記載の方法。
【請求項７】
前記第１及び第２のコンポーネントサービスインスタンスの１つを呼び出すリクエストは、前記第１及び第２のコンポーネントサービスインスタンスの少なくとも一方の呼び出し結果が一致するアサーション、前記第１及び第２のコンポーネントサービスインスタンス間の依存関係、及び、前記第１及び第２のコンポーネントサービスインスタンスを呼び出すための初期パラメータ、の少なくとも１つを含み、
前記コンポーネントサービスインスタンスのセットを取り出す前記ステップは、前記アサーション、前記依存関係、及び、前記開始パラメータの少なくとも１つを取り出すステップを含むことを特徴とする請求項１乃至６の何れか１項に記載の方法。
【請求項８】
前記第２のコンポーネントサービスインスタンスを呼び出す前記ステップにおける、フィルタリングされた又は変換された前記サービス呼び出し結果を用いて、前記第１のコンポーネントサービスインスタンスの呼び出しにおける前記サービス呼び出し結果をフィルタリング及び変換の少なくとも一方を行うステップをさらに含むことを特徴とする請求項１乃至７の何れか１項に記載の方法。
【請求項９】
前記第１及び第２のコンポーネントサービスインスタンスの前記セットに含まれるサービスを順序付けるか、優先順位付けするかの少なくとも一方を行うステップを含むことを特徴とする請求項１乃至８の何れか１項に記載の方法。
【請求項１０】
サービス合成サーバによるリクエストで、少なくとも第１及び第２のコンポーネントサービスインスタンスから成るサービスの実行を調整するためのサービス実行調整ユニットであって、
前記サービス合成サーバから前記第１のコンポーネントサービスインスタンスを呼び出すための指示を受信し、前記サービス合成サーバから前記第２のコンポーネントサービスインスタンスを呼び出すための指示を受信する受信部と、
前記第１のコンポーネントサービスインスタンスを呼び出すために１つ以上のアプリケーションサーバのそれぞれにコンタクトし、前記第２のコンポーネントサービスインスタンスを呼び出すために前記１つ以上のアプリケーションサーバのそれぞれにコンタクトする通信部と、
前記第１のコンポーネントサービスインスタンスの呼び出しにおけるサービス呼び出し結果を受信する受信部と、
前記第１のコンポーネントサービスインスタンスの呼び出しにおけるサービス呼び出し結果の受信に応じて、１つ以上の前記第２のコンポーネントサービスインスタンスを呼び出すために前記１つ以上のアプリケーションサーバのそれぞれに自動的にコンタクトを開始する処理部と
を備えることを特徴とするサービス実行調整ユニット。
【請求項１１】
請求項２乃至９の何れか１項に記載の方法を実行するように適合されたことを特徴とする請求項１０に記載のサービス実行調整ユニット。
【請求項１２】
少なくとも第１及び第２のコンポーネントサービスインスタンスから成る合成サービスの１つ以上のアプリケーションサーバによる実行を調整する１つ以上のサービス実行調整部を備える、サービス合成システムにおけるサービス合成サーバによるサービスを合成するための方法であって、
前記第１のコンポーネントサービスインスタンスを呼び出すための指示をサービス実行調整部へ送信するステップと、
前記第１のコンポーネントサービスインスタンスの呼び出しにおけるサービス呼び出し結果の受信に応じて、前記第２のコンポーネントサービスインスタンスを自動的に呼び出すための指示をサービス実行調整部へ送信するステップと
を含むことを特徴とする方法。
【請求項１３】
複数のサービス実行調整部による呼び出しに対する複数のコンポーネントサービスインスタンスからサービスを合成するステップに関し、前記コンポーネントサービスインスタンスを呼び出す順序は、共通のサービス実行調整部による前記コンポーネントサービスインスタンスの呼び出しに続いて決定されることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記第１のコンポーネントサービスインスタンスを呼び出す指示と、前記第２のコンポーネントサービスインスタンスを呼び出す指示とは、前記第１及び第２のコンポーネントサービスインスタンスを呼び出すための合成された指示であることを特徴とする請求項１２又は１３に記載の方法。
【請求項１５】
前記第１のコンポーネントサービスインスタンスを呼び出すための前記リクエストは、前記第１のコンポーネントサービスインスタンスの呼び出し結果に一致する判断基準を含むか、又は、関連することを特徴とする請求項１２乃至１４の何れか１項に記載の方法。
【請求項１６】
前記第１又は第２のコンポーネントサービスインスタンスを呼び出すための前記リクエストは、前記第１のコンポーネントサービスインスタンスの呼び出し結果をフィルタリング又は変換する指示を含むことを特徴とする請求項１２乃至１５の何れか１項に記載の方法。
【請求項１７】
前記第１のコンポーネントサービスインスタンスを呼び出すための前記リクエストは、前記判断基準に一致する際に応答する指示と、前記判断基準に一致しない場合の指示との少なくとも一方を含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記第１及び第２のコンポーネントサービスインスタンスの１つを呼び出す前記リクエストは、前記第１及び第２のコンポーネントサービスインスタンスを含むセットの識別子を含み、
前記サービス呼び出しリクエストは、前記コンポーネントサービスインスタンスのセットと、それらの識別子とをキャッシュするように前記サービス実行調整部へ指示することを含むことを特徴とする請求項１２乃至１６の何れか１項に記載の方法。
【請求項１９】
少なくとも第１及び第２のコンポーネントサービスインスタンスから成る合成サービスの１つ以上のアプリケーションサーバによる実行を調整する１つ以上のサービス実行調整部を備える、サービス合成システムにおけるサービス合成サーバであって、
前記第１のコンポーネントサービスインスタンスを呼び出すための指示をサービス実行調整部へ送信し、前記第１のコンポーネントサービスインスタンスの呼び出しにおけるサービス呼び出し結果の受信に応じて、前記第２のコンポーネントサービスインスタンスを自動的に呼び出すための指示をサービス実行調整部へ送信する送信部
を備えることを特徴とするサービス合成サーバ。
【請求項２０】
請求項１３乃至１８の何れか１項に記載の方法を実行するように適合されたことを特徴とする請求項１９に記載のサービス合成サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワーク内のサービス合成の分野に関連するものである。
【背景技術】
【０００２】
現行のＳＩＰ（セッション開始プロトコル）は、ＩＭＳ（インターネットマルチメディアサブシステム）によって使用されるコア技術の１つである。ＩＭＳ（インターネットマルチメディアサブシステム）は、課金サービスやアクセス制御サービスを含むＡＡＡ（認証、承認、課金）サービス、及び、ＨＳＳ（ホーム加入者サーバ）によって提供されるサービスを含むユーザプロファイルサービスなどの共通の機能を提供するインターネットプロトコルに基づくネットワークアーキテクチャである。共通機能は、それらの機能が同一の方法で、音声通信及びデータ通信を提供する場合に使用されるのに適していることを意味する、即ち、音声通信と種々のデータ通信に適用される際にそれらの機能における個別のメカニズムを有する必要性を避ける。
【０００３】
ＩＭＳアーキテクチャは、そのアーキテクチャ解説書３ＧＰＰ（第３世代パートナーシッププロジェクト）ＴＳ（技術仕様書）２３．００２において、ＳＣＩＭ（サービス機能対話マネージャ）と名付けられたエンティティを含む。
【０００４】
ＳＣＩＭの役割は、コンポーネントサービスから構成されるコンポジットサービスを提供するネットワークエンティティであり、コンポジットサービスの呼び出しは、そのコンポーネントサービスの合成された実行を含む。
【０００５】
これに関し、サービス合成は技術を参照し、ここで、ユーザ端末、例えば、パーソナルコンピュータ、ラップトップコンピュータ、通信ネットワークのモバイル電話機に提供されるエンドユーザサービスは、構成要素であるサービスを合成することによって動的に構築される。コンポジットサービスのコンポーネントとしての構成要素であるサービスの選択は、ユーザリクエストに応じて実行されてもよい。必要とされる構成要素であるサービスは、必要なジェネリックプロパティに関して記述される。必要なプロパティを提供する任意のサービスは、コンポジットサービスの一部として使用されうる。必要なプロパティのために特定のサービスの固定の結合を用いるよりもむしろ、利用可能なサービスのプール内で任意の適切なサービスが選択されうる。利用可能な構成要素であるサービスのプールは、動的に新たなサービスを加えたり、それらを削除したりすることによって変更することができる。したがって、コンポジットサービスは、各呼び出しにおいて、異なる構成要素であるサービスから成る。このように、実質的にコンポジットサービスに含まれるコンポーネントサービスのセットは、静的でなくともよいが、実行時間条件に依存する。構成要素であるサービスは、サービス合成に対して特別に指定される必要はない。これらはコンポジットサービスに含まれるが、単一のサービスとして機能してもよい。コンポーネントサービスを選択し、それらをコンポジットサービスに構成するように結合する処理は、サービス合成として参照される。
【０００６】
コンポジットサービスの限定的でない一例として、地域ベースの天気予報について以下に説明する。地域ベースの天気予報は、モバイルデバイスの位置に依存する天気予報をモバイルユーザに提供するサービスである。地域ベースの天気予報サービスは、天気予報サービスの入力として、何れかの位置データを提供する位置サービスと、位置データに基づく地域天気の予報又は予測を提供する天気予報サービスとを含んで構成される。本実施形態において、位置サービス及び天気予報サービスは、両方ともコンポーネントサービスであり、地域ベースの天気予報は、複数のコンポーネントサービスから構成されたコンポジットサービスである。この場合、位置データの形式、例えば、セル識別子、位置データ識別子、経路エリア識別子、又は同様のものが、位置サービスによって戻されたデータの形式として定義され、天気予報サービスへ入力される。位置データの適切な形式の選択は、一般的には、サービス合成の処理の一部になるであろう。
【０００７】
コンポジットサービスを提供するためのネットワークアーキテクチャは、構成エンドユーザサービスのディスクリプションに基づき、実際のコンポーネントサービスのインスタンスを構成するためのサービス合成サーバを含んでもよい。コンポジットサービスのディスクリプションは、サービスを実行するために要求される実際の処理ステップのフローダイアグラムよりむしろ、エンドユーザサービスへの要件の形式であってもよい。サービス合成サーバは、一般的には、コンポーネントサービスのサービスディスクリプション格納するコンポーネントサービスデータベースへアクセスする。構成エンドユーザサービスのディスクリプションに基づき、サービス合成サーバは、適切なコンポーネントサービスを選択し、それらを一連の呼び出しに投入する。サービス選択及び呼び出し順に基づき、サービス合成サーバは、選択されたコンポーネントサービスの実行又は起動のために提供する。
【０００８】
コンポジットサービスを提供する一般的なネットワークアーキテクチャは、アプリケーションサーバによるコンポーネントサービスの呼び出しがコンポーネントサービスの呼び出し／実行を調整するサービス実行調整部によって調整される。いくつかのコンポーネントサービス調整部は、コンポーネントサービス、種々のインタフェース及びそれらを制御するためのプロトコルの少なくとも１つを提供するソフトウェア又はハードウェアプラットフォームを含む基準に従ってグループ化されてもいいように提供されうる。例えば、ＳＩＰコンテナ内のＳＩＰサーブレットを用いて実行されるコンポーネントサービスが、トリガとされ、ＡＰＩ（アプリケーションプログラムインタフェース）（ＪＳＲ（Ｊａｖａ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｑｕｅｓｔ）１１６又はＪＳＲ２８９で定義された）の特定セットを通じて制御される一方で、インターネントを介してアクセスされるリモートホスト上で実行するＷｅｂサービスを用いて実行されるコンポーネントサービスはＳＯＡＰ（スマイル・オブジェクト・アクセス・プロトコル）又はハイパー・テキスト転送プロトコル（ＨＴＴＰ）などの特定のプロトコルを通じて呼び出されることができる。
【０００９】
１つ以上のコンポーネントサービスインスタンス及びコンポーネントサービスを実行するアプリケーションサーバの呼び出しと供給とを制御するサービス実行調整部は、種々の物理ノード上で実行可能な複数のノードに分けられる。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ネットワークアーキテクチャのこのタイプにおいて、コンポジットサービスを呼び出す際には、サービスを呼び出す種々の要求に関連付けられた遅延やサービス呼び出し結果の報告に関連付けられた遅延などの、いくつかの原因の遅延が存在する。サービス合成サーバ及びサービス実行調整部の間と、サービス実行調整部及びアプリケーションサーバの間との両方で遅延が発生する。したがって、これらの問題や他の問題が本発明によって解決される。
【課題を解決するための手段】
【００１１】
第１の形態によれば、サービス実行調整部において合成されたサービスの実行を調整するための方法によって当該ニーズが満足される。サービス実行調整部は、複数のアプリケーションサーバによるコンポーネントサービスの実行を調整する通信システムおけるユニット又はネットワークノードである。サービスの実行又は呼び出しは、サービス合成サーバによるリクエストで実行される。サービス合成サーバは、複数のコンポーネントサービスを選択し、特定の順で呼び出される際にコンポジットサービスを実行するのに適したコンポーネントサービスを実行する順序又は呼び出す順序を選択するのに適した通信システムにおけるサーバノードである。コンポジットサービス、例えば、エンドユーザサービスは、少なくとも第１及び第２のコンポーネントサービスインスタンスから成るサービスである。提供する方法は、前記サービス合成サーバから前記第１のコンポーネントサービスインスタンスを呼び出すための指示を受信するステップと、前記サービス合成サーバから前記第２のコンポーネントサービスインスタンスを呼び出すための指示を受信するステップと、前記第１のコンポーネントサービスインスタンスを呼び出すために１つ以上のアプリケーションサーバのそれぞれにコンタクトするステップと、前記第１のコンポーネントサービスインスタンスの呼び出しにおけるサービス呼び出し結果の受信に応じて、１つ以上の前記第２のコンポーネントサービスインスタンスを呼び出すために前記１つ以上のアプリケーションサーバのそれぞれに自動的にコンタクトするステップとを含む。
【００１２】
一般的に、第１のコンポーネントサービスインスタンスの呼び出し結果は、第２のコンポーネントサービスインスタンスを呼び出すための入力として使用されうる。
【００１３】
第１のコンポーネントサービスインスタンスのサービス呼び出し結果を受信することに応じて、第２のコンポーネントサービスインスタンスを呼び出すためのアプリケーションサーバへ自動的にコンタクトするステップは、サービス合成サーバへ戻す第１のコンポーネントサービスインスタンスの呼び出し結果を前もって報告することなしに、それぞれのアプリケーションサーバへコンタクトするステップを含む。
【００１４】
しかしながら、第１のコンポーネントサービスインスタンスの呼び出し結果が判定基準に一致しない結果である場合、又は、サービス実行調整部へ報告する誤り条件となる結果の場合、判定基準に一致しない又は誤りは、サービス合成サーバへ報告されてもよい。
【００１５】
代替的に、又は、追加的に、第１のコンポーネントサービスインスタンスの呼び出し結果を受信することに応じて、第２のコンポーネントサービスインスタンスを呼び出すためのアプリケーションサーバへ自動的にコンタクトするステップは、第２のコンポーネントサービスインスタンスを呼び出すための指示を分割して受信することなく、第２のコンポーネントサービスインスタンスを呼び出すためのアプリケーションサーバへコンタクトするステップを含む。
【００１６】
この場合、第２のコンポーネントサービスインスタンスを呼び出すためのアプリケーションサーバへ自動的にコンタクトするステップは、中間結果を報告する応答を待機することなく、サービス合成サーバへ中間結果を戻す報告をするステップを含んでもよい。
【００１７】
本教示に従って提供される方法は、いくつかの利点を有し、サービス実行調整部とアプリケーションサーバとの間の接続の要件を、アプリケーションサーバのより分散した実装を許容しつつ、リリースすることができる。
【００１８】
また、サービス実行調整部は、１つ以上のアプリケーションサーバの間の資源利用の最適化、及び、負荷バランス／負荷分散の少なくとも１つを許容するコンポーネントサービスの呼び出し／実行のスケジューリングを実行してもよい。サービスコンポーネントの実行をスケジュールするステップは、サービスコンポーネントの実行の順序、優先順位を定義するステップを含んでもよい。
【００１９】
本発明の実施形態において、第１のコンポーネントサービスインスタンスを呼び出すための指示及び第２のコンポーネントサービスインスタンスを呼び出すための指示は、第１及び第２のコンポーネントサービスインスタンスを呼び出すための合成された指示である。
【００２０】
前記第１のコンポーネントサービスインスタンスを呼び出すための前記リクエストは、前記第１のコンポーネントサービスインスタンスの呼び出し結果に一致する判断基準を含むか、又は、関連する。第１のコンポーネントサービスインスタンスとして位置サービスを含む本実施形態の例によれば、判断基準又はアサーションは、位置サービスがサービス実行調整部へ戻す有効な位置パラメータを報告するものであってもよい。
【００２１】
第１のコンポーネントサービスインスタンスの呼び出し結果が判断基準又はアサーションに一致する実施例において、判断基準又はアサーションは、誤り条件、例えば、誤り又は誤りではないものとして、第１のコンポーネントサービスインスタンスの呼び出しから期待される結果の所定のタイプを定義する条件を含んでもよい。
【００２２】
所定の実施形態において、第１のコンポーネントサービスインスタンスを呼び出すためのリクエストは、サービス呼び出し結果に一致する判断基準／アサーションのみを含むものであってもよく、そうでなくともよいが、判断基準に一致する際の応答の指示及び判断基準に一致しない際の指示であってもよい。判断基準は、例えば、サービス呼び出し結果が所定の値の範囲内の数値を含んでもよい。
【００２３】
当該指示は、例えば、所定の条件下でサービス合成サーバへ第１のコンポーネントサービスインスタンスの呼び出し結果を報告するか、或いは、所定の条件が一致する場合にサービス呼び出し結果を報告することを控える指示であってもよい。
【００２４】
例えば、当該指示は、誤り条件となる場合には第２のコンポーネントサービスインスタンスを実行することを控える指示であってもよく、或いは、誤り条件となる場合であっても、第１のコンポーネントサービスインスタンスの呼び出し結果が利用可能でない場合には、第２のコンポーネントサービスインスタンスを呼び出すための入力としてのデフォルト値を可能であれば用いて、第２のコンポーネントサービスインスタンスを呼び出すことを継続する指示であってもよい。誤り条件は、サービス呼び出し結果として受信される誤りメッセージによって示されてもよいし、或いは、誤り条件は、いくつかの誤り判断基準に基づき、誤りとしてサービス呼び出し結果を分類した結果であってもよい。１つの可能性のある誤り判断基準は、例えば、サービス呼び出し結果が所定の値の範囲内での数値を含むものであってもよい。
【００２５】
サービス合成サーバと、サービス実行調整部との間の追加の通信によって、例えば、誤り制御での追加の制御情報の交換が避けられるか、又は、制限されてもよい。
【００２６】
一実施形態において、第１及び第２のコンポーネントサービスインスタンスの１つを呼び出すリクエストは、コンポーネントサービスインスタンスの代替のものであってもよく、本方法は、コンポーネントサービスインスタンスの代替物からコンポーネントサービスインスタンスを選択するステップを含む。このように、サービス実行調整部は、アプリケーションサーバ内の処理資源の実際の消費／利用可能性又はアプリケーションサーバでのコンポーネントサービスインスタンスの利用可能性などの、サービス実行調整部への利用可能な情報に基づき、適切なサービスのいずれかを選択してもよい。コンポーネントサービスの選択は、第２のコンポーネントサービスインスタンスにおける代替物の中で、第１のコンポーネントサービスインスタンスの成果又は結果に依存して実行されるように、他のコンポーネントサービスの呼び出し結果に依存してもよい。
【００２７】
本実施形態の利点によれば、第１のコンポーネントサービスインスタンスを呼び出すためのリクエストと、第２のコンポーネントサービスインスタンスを呼び出すためのリクエストとは、第１及び第２のサービスを含むサービスセットを呼び出すための１つの合成されたリクエストであってもよい。ここで、合成されたリクエストは、コンポーネントサービスセットの識別子を含み、識別子及びコンポーネントサービスのセットは、サービス実行調整部内にキャッシュされてもよい。識別子を含む、コンポーネントサービスのセットを呼び出す他のリクエストがサービス実行調整部で受信されると、第１及び第２のコンポーネントサービスインスタンスは、サービスセットの識別子及び呼び出しに基づいて取り出されてもよい。これにより、サービス合成サーバ及びサービス実行調整部の間で通信されるデータ量をさらに制限することができる。
【００２８】
ここで、第１及び第２のコンポーネントサービスインスタンスのセットを呼び出すリクエストは、第１及び第２のコンポーネントサービスインスタンスの少なくとも一方の呼び出し結果が一致するアサーション、第１及び第２のコンポーネントサービスインスタンス間の依存関係、又は、第１及び第２のコンポーネントサービスインスタンスの少なくとも一方を呼び出すための開始パラメータを含み、コンポーネントサービスを呼び出すセットを取り出すステップは、アサーション、依存関係、又は開始パラメータを取り出すステップを含む。また、これは、サービス合成サーバとサービス実行調整部との間で通信されるデータ量を制限することを提供することができる。
【００２９】
一形態によれば、サービス合成サーバによるリクエストでサービスの実行を調整するためのサービス実行調整ユニットが提供される。サービスは、少なくとも第１及び第２のコンポーネントサービスインスタンスから成る。サービス実行調整ユニットは、前記サービス合成サーバから前記第１のコンポーネントサービスインスタンスを呼び出すための指示を受信し、前記サービス合成サーバから前記第２のコンポーネントサービスインスタンスを呼び出すための指示を受信する受信部と、前記第１のコンポーネントサービスインスタンスを呼び出すために１つ以上のアプリケーションサーバのそれぞれにコンタクトし、前記第２のコンポーネントサービスインスタンスを呼び出すために前記１つ以上のアプリケーションサーバのそれぞれにコンタクトする通信部と、前記第１のコンポーネントサービスインスタンスの呼び出しにおけるサービス呼び出し結果を受信する受信部と、前記第１のコンポーネントサービスインスタンスの呼び出しにおけるサービス呼び出し結果の受信に応じて、１つ以上の前記第２のコンポーネントサービスインスタンスを呼び出すために前記１つ以上のアプリケーションサーバのそれぞれに自動的にコンタクトを開始する処理部とを備える。
【００３０】
一実施形態によれば、サービス実行調整ユニットは、１つのネットワークノード内に１つ以上のアプリケーションサーバの少なくとも１つに配置されてもよい。この実施形態によれば、それぞれのアプリケーションサーバにコンタクトする通信部と、受信部とは、ハードウェアユニット又はソフトウェアユニットの何れかとして、ネットワークノードに内蔵されるユニットであってもよい。
【００３１】
ここで、１つ以上のアプリケーションサーバのそれぞれに自動的にコンタクトするステップは、コンポジットサービスの実行を調整する方法に関連して上述した形態を取り入れてもよい。
【００３２】
また、サービス実行調整ユニットは、上述したコンポジットサービスの実行を調整する方法の同一の又は類似の変更に影響してもよい。
【００３３】
他の形態において、１つ以上のアプリケーションサーバによる合成されたサービスの実行を調整する少なくとも１つのサービス実行調整部を備えるサービス合成システムにおけるサービス合成サーバによるサービスを合成するための方法が開示される。合成されたサービスは、少なくとも第１及び第２のコンポーネントサービスインスタンスから成り、当該方法は、前記第１のコンポーネントサービスインスタンスを呼び出すための指示をサービス実行調整部へ送信するステップと、前記第１のコンポーネントサービスインスタンスの呼び出しにおけるサービス呼び出し結果の受信に応じて、前記第２のコンポーネントサービスインスタンスを自動的に呼び出すための指示をサービス実行調整部へ送信するステップとを含む。
【００３４】
ここで、１つ以上のアプリケーションサーバのそれぞれに自動的にコンタクトするステップは、コンポジットサービスの実行を調整する方法に関連して上述した形態を取り入れてもよい。
【００３５】
一形態において、サービスを合成するための方法は、複数のサービス実行調整部による呼び出しのための複数のコンポーネントサービスインスタンスから成るサービスを合成するステップを含む。コンポーネントサービスインスタンスを呼び出す順序は、共通のサービス実行調整部による前記コンポーネントサービスインスタンスの呼び出しに続いて決定される。エンドコンポーネントサービスインスタンスで、サービス実行調整部にグループ化されてもよい。コンポーネントサービスインスタンスの呼び出し順序は、コンポーネントサービスインスタンスが可能な程度で同一のコンポーネントサービス実行調整部を用いて続いて呼び出されるように、実行されてもよい。
【００３６】
他の実施形態において、第１のコンポーネントサービスインスタンスを呼び出すための指示及び第２のコンポーネントサービスインスタンスを呼び出すための指示は、第１及び第２のコンポーネントサービスインスタンスを呼び出すための合成された指示である。
【００３７】
一変形例において、第１のコンポーネントサービスインスタンスを呼び出すためのリクエストは、第１のコンポーネントサービスインスタンスの呼び出し結果に一致する判断基準を含むか、又は、関連してもよい。
【００３８】
さらに、第１のコンポーネントサービスインスタンスを呼び出すためのリクエストは、判断基準に一致する際に応答するための指示及び判断基準に一致しない際の指示を含むか、又は、関連してもよい。
【００３９】
他の実施形態において、第１及び第２のコンポーネントサービスインスタンスの１つを呼び出すためのリクエストは、第１及び第２のコンポーネントサービスインスタンスを含むセットの識別子を含み、コンポーネントサービスインスタンスの呼び出しにおけるリクエストは、コンポーネントサービスセット及びそれらの識別子をキャッシュするようにサービス実行調整部に指示することを含む。
【００４０】
これらの変形例／例示の利点は、コンポーネントサービス実行調整ユニットにおける方法に関連して上述されている。
【００４１】
一形態において、サービス合成サーバが１つ以上のアプリケーションサーバによる合成されたサービスの実行を調整する少なくとも１つのサービス実行調整部を備えるサービス合成システムに対して提供される。ここで、合成されたサービスは、少なくとも第１及び第２のコンポーネントサービスインスタンスから成る。サービス合成サーバは、前記第１のコンポーネントサービスインスタンスを呼び出すための指示をサービス実行調整部へ送信し、前記第１のコンポーネントサービスインスタンスの呼び出しにおけるサービス呼び出し結果の受信に応じて、前記第２のコンポーネントサービスインスタンスを自動的に呼び出すための指示をサービス実行調整部へ送信する送信部を備える。
【００４２】
このように提供されるサービス合成サーバは、上述したサービス合成サーバの方法の同一の又は類似の有利な変更に影響してもよい。
【図面の簡単な説明】
【００４３】
【図１】本発明を実現するのに有用なネットワークアーキテクチャを示すブロック図である。
【図２】本発明の教示に従うメッセージフローを示すフローチャートである。
【図３】本発明を実現するのに有用なサービス呼び出しメッセージの適切なメッセージフォーマットを示すブロック図である。
【図４】本発明の教示に従うサービス合成サーバを示すブロック図である。
【図５】本発明の教示に従うサービス実行部を示すブロック図である。
【発明を実施するための形態】
【００４４】
図１は、本発明を実行するのに有用な通信ネットワーク１００を示す。通信ネットワーク１００は、通信ネットワークのユーザ（不図示）によるリクエストでコンポーネントサービスインスタンスからサービスを構成するためのサービス合成サーバ１０１を備える。サービス合成サーバ１０１によって構成される要求されたエンドユーザサービスは、エンドユーザサービスの要件によって記述されてもよい。サービス合成サーバは、例えばコンポーネントサービスのプロパティを記述する可変の又は類似の入出力パラメータを含むコンポーネントサービスのディスクリプションを格納するサービスデータベース１０５にアクセスする。サービス合成サーバ１０１は、ユーザサービスの実行に関連する少なくとも２つの一般的なタスク、適切なコンポーネントサービスの選択及びコンポーネントサービスの呼び出しのサクセッションと、決定された一連の呼び出しに基づくコンポーネントサービスの実際の呼び出し／実行とを有する。後者のタスクを実行することに関して、サービス合成サーバ１０１は、サービス合成サーバ１０１によるリクエストでアプリケーションサーバによってコンポーネントサービスインスタンスを呼び出す／実行するタスクを含む複数のサービス呼び出し調整部１０２、１０３へ接続される。通常、サービスを呼び出すサクセッションを決定するステップがサービス合成サーバのタスクである一方で、本発明に従って、サービスを実行する順序を選択する所定の自由度が、コンポーネントサービスのセットを呼び出すように指示された場合に、いくつかのサービスを記憶するサービス呼び出し調整部に与えられてもよい。本実施形態によれば、サービス呼び出し調整部１０２は、それぞれのコンポーネントサービスインスタンスを呼び出す／実行するためのアプリケーションサーバ１１１、１１２を制御し、サービス呼び出し調整部１０３はインターネット１２０を介してアドレス可能なアプリケーションサーバの一実施例であるウェブサーバ１２３、１２１を制御する。
【００４５】
一実施形態において、通信ネットワーク１００はＩＭＳ仕様書に従って動作し、少なくともいくつかのノードはＩＭＳネットワークアーキテクチャ仕様書に従って動作するノードである。
【００４６】
有用な実施形態において、サービス呼び出し調整部１０２、１０３は、各サービス呼び出し調整部がコンポーネントサービスを呼び出すための制御プロトコルの選択されたサブセットを実現するように、グループ化される。一実施例として、サービス呼び出し調整部１０３は、いくつかのコンポーネントサービスを呼び出すために使用される制御プロトコルとして、ＨＴＴＰ（ハイパーテキスト転送プロトコル）などのＩＰ（インターネットプロトコル）ベースの制御プロトコルを実現する。
【００４７】
図２は、図１のいくつかのネットワークコンポーネント間で実行される又は交換される処理ステップ及びメッセージのフローチャートとして、合成されたサービス２００を呼び出す方法を示す。説明を容易にするため、ネットワークコンポーネントの説明は繰り返すよりも参照される。
【００４８】
コンポジットユーザサービスを呼び出す方法は、コンポーネントサービスインスタンスと、サービス合成サーバ１０１での呼び出し順序を決定する処理ステップ２０３に先行して実行される。非限定的な一実施形態において、コンポジットサービスは、上述した地域ベースの天気予報サービスであってもよい。しかしながら、コンポジットサービスは、２つ以上のコンポーネントサービスを含んで構成される、エンドユーザサービスを含むネットワークサービスの任意の種類のものであってもよい。
【００４９】
有利なことに、コンポーネントサービスインスタンスのサクセッション（連続）は、同じサービス呼び出し調整部を介して実行されるコンポーネントサービスの呼び出しが、同じサービス呼び出し調整部を介して連続して呼び出されるようにまとめてグループ化されるように決定される。一連のコンポーネントサービスの呼び出しを決定する場合、コンポーネントサービスが適切なサービス呼び出し調整部を介して呼び出すことができるように決定される。これは、単一のコンポーネントサービスを呼び出すためのそれぞれのサービス呼び出し調整部への分割されたリクエストを用いて行われるか、或いは、より好ましくは、実際のコンポーネントサービスが実行される各アプリケーションサーバを制御する同じサービス呼び出し調整部を介して指示されるように、複数のコンポーネントサービスを呼び出す結合したリクエストを用いて行われる。結合されたリクエストは、所定のシーケンスにおいて複数のコンポーネントサービスを呼び出すためのリクエストであってもよく、或いは、サービス呼び出し調整部がコンポーネントサービスの実行順序を決定することを許容してもよい。
【００５０】
一実施形態において、サービス呼び出しリクエスト２０１は、アプリケーションサーバ１１１上で第１のコンポーネントサービスを呼び出し、その後、アプリケーションサーバ１１２上で第２のコンポーネントサービスを呼び出すための指示を含む。コンポジットサービスの一例として、地域ベースの天気予報サービスとの関連で、第１のコンポーネントサービスは、位置サービスであってもよく、第２のコンポーネントサービスは天気予報サービスであってもよい。サービス呼び出しリクエスト２０１は、第２のコンポーネントサービスインスタンスを呼び出すためのパラメータのみならず、第１のコンポーネントサービスインスタンスを呼び出すためのパラメータを含んでもよい。コンポーネントサービスインスタンスを呼び出すためのパラメータは、サービスを呼び出すことから期待された結果のディスクリプションのみならず、呼び出されているサービスに対して要求されたパラメータを含んでもよい。一例として、コンポーネントサービスが識別されたユーザに関連される位置データを提供する位置サービスである場合、サービスを呼び出すために要求されるパラメータは、ある種のユーザの識別子である。この場合、サービスの呼び出しからの必要とされる結果は、ある種の位置の識別子、例えば、位置エリアの識別子又は無線通信ネットワーク又は地理的座標における無線セルの識別子となるであろう。
【００５１】
複数のコンポーネントサービスの結合された呼び出しの実施例において、サービス呼び出しリクエスト２０１は、第１のコンポーネントサービスの呼び出し結果が第２のコンポーネントサービスに対する入力パラメータとしてどのように使用されうるのかの指示を含んでもよい。第１のコンポーネントサービスとしての位置サービスの実施例において、これは、データフォーマットの指標、例えば、いずれの位置データフォーマットを使用するかの情報を含む、第２のコンポーネントサービスを呼び出すための入力として第１のサービスから戻された位置データをどのように使用するかの指示、或いは、第１のコンポーネントサービスから戻されたデータが再フォーマットを必要とするのかどうか、そうであれば、当該再フォーマットがどのように実行されてるのかの指示であってもよい。第１のコンポーネントサービスから戻されたデータが第２のコンポーネントサービスに対する入力として必要とされる情報を含むものの、第２のコンポーネントサービスが第１のコンポーネントサービスから戻されたデータフォーマットを解釈することができないのであれば、再フォーマットが必要とされる。一例として、第１のコンポーネントサービスから戻された位置データが位置エリアの識別子としてフォーマットされる一方で、第２のコンポーネントサービスは入力として所定の座標を必要とする場合がある。この場合、位置エリア識別子から座標への再フォーマットが必要とされ、サービス呼び出しリクエストは、当該再フォーマットがどのように実行されるべきかの指示、例えば、いずれのアルゴリズムを使用するのか、いずれの座標システムを使用するのか、アルゴリズムを実行するためのプログラムコードがどこから取り出されるのか、又は同様の情報を含んでもよい。
【００５２】
ここで、第１及び第２のサービスを呼び出すための指示は、指示が特別に指示されたサービスを呼び出すための指示であるよりもむしろサービスの呼び出し結果によって果たされるべき条件を含むであろう指示のように、サービス呼び出し調整部がコンポーネントサービスを呼び出すための所定の自由度を許容することができる。
【００５３】
コンポーネントサービスの呼び出しから期待される結果のディスクリプションは、定期的に戻されるパラメータのサブセットのみが現在のコンテキストで必要とされる場合には、コンポーネントサービスから定期的に戻されたパラメータのサブセットであってもよい。これに関し、サブセットは、所定のパラメータのサブセットに従って受信したサービス呼び出し結果でのフィルタリングを実行するようにサービス呼び出し調整部１０２に指示する当該サービス呼び出し調整部１０２への指示として見なされてもよい。
【００５４】
これに関し、第１及び第２のコンポーネントサービスを呼び出す指示は、サービス合成サーバへ戻されるべき第１のコンポーネントサービスの呼び出し結果の第１のパラメータサブセットを含んでもよい。第２のコンポーネントサービスを呼び出す場合には、指示内の他のパラメータサブセットは、可能であれば上述したように再フォーマットされた後に、第２のコンポーネントサービスへ入力されるべきである。
【００５５】
一形態において、第１及び第２のコンポーネントサービスのコンポーネントサービス呼び出しのためのリクエストは、第１のコンポーネントサービスインスタンスの呼び出し結果が、第２のコンポーネントサービスインスタンスへ渡される有効な結果として見なされるように果たされるべき制約又は条件を含んでもよい。さもなければ、第１のコンポーネントサービスインスタンスの呼び出し結果は誤りとして見なされてもよい。これに関し、コンポーネントサービス呼び出しに対するリクエストは、さらに、所定の制約又は条件を果たすことを達成又は失敗した場合の指示を含んでもよい。指示は、例えば、有効な条件が満たされていない場合、又は、サービス呼び出し結果が誤りとして分類した場合に、第２のコンポーネントサービスインスタンスを呼び出すことを控えるものであってもよい。代替的に、指示は、第２のコンポーネントサービスインスタンスの呼び出しを継続してもよいが、誤り又は無効として分類された第１のコンポーネントサービスインスタンスから戻された結果の代わりに、第２のコンポーネントサービスインスタンスに対する入力としてデフォルト値を使用するものであってもよい。
【００５６】
サービス呼び出し方法は、アプリケーションサーバ１１１を用いて第１のコンポーネントサービスインスタンスの実行を呼び出すために、アプリケーションサーバ１１１へサービス呼び出しリクエスト２１１を送信することを継続する。アプリケーションサーバは、第１のコンポーネントサービスインスタンスを実行し、サービス呼び出し調整部１０２へ戻されるサービス呼び出し結果２１２を戻す。サービス呼び出し結果２１１を受信することに応じて、サービス呼び出し調整部１０２は、解析ステップ２４１におけるサービス呼び出し結果を解析する。サービス呼び出し結果を解析するステップは、妥当性又は条件がサービス合成サーバからの指示を満たすか或いは当該指示に従っていないかを判定するステップを含む。また、サービス呼び出し結果を解析するステップは、上述したように、サービス合成サーバ１００から受信した指示に従って制約又は条件を満たすことに応じるステップを含んでもよい。
【００５７】
サービス呼び出し方法は、アプリケーションサーバ１１２へのサービス呼び出しリクエスト２３１を用いて、第２のコンポーネントサービス呼び出しインスタンスを自動的に呼び出すことを継続する。第２のコンポーネントサービスインスタンスを呼び出すステップは、第１のコンポーネントサービスインスタンスから第２のコンポーネントサービスインスタンスへ、入力パラメータとしてサービス呼び出し結果を渡すステップを含んでもよい。第１のコンポーネントサービスインスタンスから第２のコンポーネントサービスインスタンスへサービス呼び出し結果を渡すステップは、修正することなしにサービス呼び出し結果を渡すステップ、サービス呼び出し結果のセットのサブセットを渡すステップ、又は、第１のコンポーネントサービスインスタンスからのサービス呼び出し結果を再フォーマットし、かつ、第２のコンポーネントサービスインスタンスへ再フォーマットしたサービス呼び出し結果を渡すステップを含んでもよい。
【００５８】
第２のコンポーネントサービスインスタンスの呼び出し結果は、サービス呼び出し応答２３２でサービス呼び出し調整部１０２へ戻されてもよい。
【００５９】
最後に、サービス呼び出し調整部は、アプリケーションサーバ１１２から戻されたサービス呼び出し結果を解析する。サービス呼び出し結果を解析するステップは、いくつかの判断基準に従って応答パラメータ、即ち、サービス呼び出しリクエスト２０１で前もって受信された所定のパラメータサブセットのフィルタリングを含む。
【００６０】
最後に、解析ステップから得られたサービス呼び出し結果は、サービス呼び出し応答メッセージ２０２でサービス合成サーバ１００へ戻される。
【００６１】
図３は、サービス呼び出しメッセージ２０２に適切な可能性のあるメッセージフォーマットを示す。
【００６２】
一形態によれば、サービス呼び出しリクエストメッセージ２０１は、サービス呼び出し結果での判断基準３００１を含む。サービス呼び出し結果の判断基準３００１は、第１のコンポーネントサービスインスタンスの呼び出し結果が第２のコンポーネントサービスインスタンスへ渡される有効な結果と見なされるように満たさなければならない制約又は条件であってもよい。満たさない場合は、第１のコンポーネントサービスインスタンスの呼び出し結果が誤りと見なされてもよい。
【００６３】
これに関し、サービス呼び出しリクエストメッセージ２０１はまた、所定の制約又は条件を満たすことに成功した場合又は失敗した場合の指示である、判断基準に応答するための指示３００２を含んでもよい。当該指示は、例えば、有効な条件が満たされていない場合又はサービス呼び出し結果が誤りとして分類された場合に、第２のコンポーネントサービスインスタンスを呼び出すことを控えるものであってもよい。代替的に、指示は、第２のコンポーネントサービスインスタンスを呼び出すことを継続するものであってもよいが、誤り又は無効として分類される第１のコンポーネントサービスインスタンスから戻された結果の代わりに、第２のコンポーネントサービスインスタンスに対する入力としてデフォルト値を使用する。この場合、デフォルト値は、指示３００２に含まれるものであってもよい。
【００６４】
追加的に、サービス呼び出しメッセージ２０１は、ここで定期的に戻されるパラメータのサブセットのみが必要とされる場合には、コンポーネントサービスから定期的に戻されるパラメータのサブセットである、パラメータサブセット３００３を含むコンポーネントサービスの呼び出しから期待される結果のディスクリプションを含んでもよい。これに関し、パラメータサブセット３００３は、サービス呼び出し調整部１０２に対して所定のパラメータのサブセットに従う受信したサービス呼び出し結果のフィルタリングを実行するように指示する指示として見なされてもよい。パラメータサブセットは、サービス合成サーバに戻されるべきパラメータの第１部３００３１と、他のコンポーネントサービスへ入力されるべきパラメータの第２部３００３２とを含んでもよい。
【００６５】
図４は、サービス合成システム２００におけるサービス合成サーバ１００を示す。サービス合成サーバ１００は、１つ以上のアプリケーションサーバによる合成されたサービスの実行を調整する少なくとも１つのサービス実行調整部を備える。ここで、合成されたサービスは、少なくとも第１及び第２のコンポーネントサービスインスタンスが合成されたサービスである。
【００６６】
サービス合成サーバは、コンポーネントサービスインスタンスのセットを合成し、決定した順序で呼び出される合成されたサービスを実行するためのコンポーネントサービスインスタンスを実行する順序を決定する処理部３０１を備える。処理部は、第１のコンポーネントサービスインスタンスを呼び出すための指示をサービス実行調整部へ送信し、第２のコンポーネントサービスインスタンスを呼び出す指示をサービス実行調整部へ送信する送信部３０２へ接続される。ここで、当該指示は、第１のサービスのサービス呼び出し結果を受信することに応じて第２のコンポーネントサービスを自動的に呼び出す指示である。
【００６７】
図５は、少なくとも第１及び第２のコンポーネントサービスインスタンスが合成されたサービスを合成するサービス合成サーバ１００（図４に示す）によるリクエストでサービスの実行を調整するためのサービス実行調整部を示す。
【００６８】
サービス実行調整部は、サービス合成インスタンスからの第１のコンポーネントサービスインスタンスを呼び出しための指示を受信し、サービス合成インスタンスからの第２のコンポーネントサービスインスタンスを呼び出すための指示を受信する受信部４０２を備える。受信部４０２は、呼び出し結果を受信することに応じて、第２の１つ以上のコンポーネントサービスインスタンスを呼び出すために１つ以上のアプリケーションサーバのそれぞれへのコンタクトを、第１のコンポーネントサービスから自動的に開始する処理部４０１へ接続される。処理部４０１は、第１のコンポーネントサービスインスタンスを呼び出すために１つ以上のアプリケーションサーバのそれぞれへコンタクトし、第２のコンポーネントサービスインスタンスを呼び出すために１つ以上のアプリケーションサーバのそれぞれへコンタクトするための送信部４０３に接続される。処理部は、さらに、第１のサービスのサービス呼び出し結果を受信するための受信部４０４へ接続される。
【図１】
2013515304.tif 000003
【図２】
2013515304.tif 000004
【図３】
2013515304.tif 000005
【図４】
2013515304.tif 000006
【図５】
2013515304.tif 000007
【国際調査報告】
2013515304.tif 000008
2013515304.tif 000009
2013515304.tif 000010