(57)【要約】【課題】ユビキタス環境により適合したサービス合成ができるようにし、また、用意しておくサービステンプレートをより容易に作成可能とする【解決手段】サービス合成エンジン１０１は、コンテンツフローの実現に対する整合性の判断をコンテンツ転送整合性判断部１０５に依頼する。インタフェース整合性判断で絞り込まれた候補サービス要素群の各候補サービス要素について、サービス要素記述文書のサービス要素コンテンツ処理能力（動作可能なコンテンツフォーマット、転送方式、プロトコル、帯域、ストリームハンドリング処理、コンテンツ種別変換処理など）を参照し、サービステンプレート１２０に記述されたサービス要素間のコンテンツフローが実現できる整合性のあるもののみに絞り込む。【選択図】  図２
2005250844.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介したサービスの提供に関連する前記ネットワークを介して接続可能な複数のサービス要素を、前記サービス要素を前記ネットワークを経由して利用するために必要な情報が記録されたサービス要素情報記録ファイルと、組み合わせるサービス要素の条件と組み合わせ方法との情報が記録されて前記ネットワークを介して取得可能なサービステンプレートとを用いて組み合わせるサービス合成方法において、
前記サービステンプレートに記録された組み合わせ対象のサービス要素の条件に合致する各サービス要素を、前記サービス要素情報記録ファイルに記録されている条件を参照して検索し、前記条件に適合したサービス要素である候補サービス要素を選択し、
前記候補サービス要素に対応するサービス要素情報記録ファイルに記録されている情報を参照し、
前記サービステンプレートに含まれるコンテンツの配信に関する処理能力の情報を参照し、
前記サービステンプレートに含まれるサービス要素間の前記コンテンツの配信に関する情報により前記コンテンツの配信の可能性を判定することで、
複数の前記候補サービス要素の中より特定のサービス要素を選定し、
前記特定のサービス要素に対し、前記サービステンプレートに記述された組み合わせ方法にもとづいてサービス要素の合成を行う
ことを特徴とするサービス合成方法。
【請求項２】
請求項１記載のサービス合成方法において、
前記特定のサービス要素の中のコンテンツの配信に関する複数の処理能力のいずれかを選択し、
前記特定のサービス要素に対し、選択した前記処理能力に基づいて前記サービス要素の合成を行う
ことを特徴とするサービス合成方法。
【請求項３】
請求項１または２記載のサービス合成方法において、
前記サービス要素情報記録ファイルは、
ネットワーク経由で前記サービスを検索するために必要なサービス要素のメタデータ情報と、
ネットワーク経由で前記サービスを利用するために必要なサービス要素のインタフェース情報と、
サービス要素におけるコンテンツの処理能力を示す情報と
を含み、
前記サービステンプレートは、
構成する各サービス要素の条件を示す情報と、
前記構成する各サービス要素の間のコンテンツの送受信フローを示す情報と、
前記構成する各サービス要素の間で送受信されるコンテンツの種別を示す情報と
を含む
ことを特徴とするサービス合成方法。
【請求項４】
ネットワークを介したサービスの提供に関連する前記ネットワークを介して接続可能な複数のサービス要素を、前記サービス要素を前記ネットワークを経由して利用するために必要な情報が記録されたサービス要素情報記録ファイルと、組み合わせるサービス要素の条件と組み合わせ方法との情報が記録されて前記ネットワークを介して取得可能なサービステンプレートとを用いて組み合わせるサービス合成装置において、
前記サービステンプレートに記録された組み合わせ対象のサービス要素の条件に合致する各サービス要素を、前記サービス要素情報記録ファイルに記録されている条件を参照して検索し、前記条件に適合したサービス要素である候補サービス要素を選択する検索制御手段と、
前記候補サービス要素に対応するサービス要素情報記録ファイルに記録されている情報を参照し、前記サービステンプレートに含まれるコンテンツの配信に関する処理能力の情報を参照し、前記サービステンプレートに含まれるサービス要素間の前記コンテンツの配信に関する情報により前記コンテンツの配信の可能性を判定する判断手段と、
前記判断手段の判定結果を基に、複数の前記候補サービス要素の中より特定のサービス要素を選定し、前記特定のサービス要素に対し、前記サービステンプレートに記述された組み合わせ方法にもとづいてサービス要素の合成を行うサービス合成手段と
を備えることを特徴とするサービス合成装置。
【請求項５】
請求項４記載のサービス合成装置において、
前記特定のサービス要素の中のコンテンツの配信に関する複数の処理能力のいずれかを選択する選定手段を備え、
前記サービス合成手段は、前記特定のサービス要素に対し、前記選定手段が選択した前記処理能力に基づいて前記サービス要素の合成を行う
ことを特徴とするサービス合成装置。
【請求項６】
コンピュータに、
ネットワークを介したサービスの提供に関連する前記ネットワークを介して接続可能な複数のサービス要素を、前記サービス要素を前記ネットワークを経由して利用するために必要な情報が記録されたサービス要素情報記録ファイルと、組み合わせるサービス要素の条件と組み合わせ方法との情報が記録されて前記ネットワークを介して取得可能なサービステンプレートとを用いて組み合わせるサービス合成を実現させるためのプログラムにおいて、
前記サービステンプレートに記録された組み合わせ対象のサービス要素の条件に合致する各サービス要素を、前記サービス要素情報記録ファイルに記録されている条件を参照して検索し、前記条件に適合したサービス要素である候補サービス要素を選択する機能と、
前記候補サービス要素に対応するサービス要素情報記録ファイルに記録されている情報を参照し、
前記サービステンプレートに含まれるコンテンツの配信に関する処理能力の情報を参照し、
前記サービステンプレートに含まれるサービス要素間の前記コンテンツの配信に関する情報により前記コンテンツの配信の可能性を判定することで、
複数の前記候補サービス要素の中より特定のサービス要素を選定する機能と、
前記特定のサービス要素に対し、前記サービステンプレートに記述された組み合わせ方法にもとづいてサービス要素の合成を行う機能と
を前記コンピュータに実現させるためのプログラムを備えることを特徴とするサービス合成プログラム。
【請求項７】
請求項６記載のサービス合成プログラムにおいて、
前記特定のサービス要素の中のコンテンツの配信に関する複数の処理能力のいずれかを選択し、
前記特定のサービス要素に対し、選択した前記処理能力に基づいて前記サービス要素の合成を行う機能
を備えることを特徴とするサービス合成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに分散しているサービスの提供対象となる複数のサービス要素を、用意されているサービステンプレートの情報に基づいて組み合わせ、要求されたサービスを実現するサービス合成方法、装置プログラムに関する。
【背景技術】
【０００２】
近年、ネットワークの広帯域化・常時接続化が進み、また、ネットワークに接続された端末装置の高性能化に伴って、ネットワークのいたるところに、サービスを提供するためのプログラムが散在する状況が進展しつつある。
例えば、インターネット通信網などのＷｅｂで接続されたシステム間で利用される技術を用いたＷｅｂサービスによる気象情報や株価情報の提供や、企業間のエンタープライズアプリケーション統合などが実現されている。また、汎用のピアツーピア （Peer to Peer：P2P）プラットフォームであるＪＸＴＡを利用し、ネットワークによる様々のサービスを提供するプログラムが、ネットワーク上で分散して用いられている。
【０００３】
また、近年の無線技術の進展と普及により、場所を問わずに常時ネットワークにアクセスできる「ユビキタスコンピューティング環境」が整いつつあり、ネットワークを通じた上記サービスの利用や提供が、様々な場所で常に行える環境が整いつつある。
ユビキタスコンピューティング環境において、利用者の満足度の高いネットワークサービスを提供するためには、多様なネットワーク環境や利用者の多様なニーズに適応し、ネットワークの環境やコンテクストに適したサービス環境が必要となる。
【０００４】
上述した様々の背景から、要求がなされた時点で、要求もとの環境における利用可能なサービス要素（Service Element）を組み合わせて様々なサービスを提供する技術が、研究されている。この分野は、「サービス創発・サービス合成」と呼ばれ、「Ｊａ−Ｎｅｔ」（非特許文献１参照），「ＳＴＯＮＥ」（非特許文献２参照），「ＵＳＯＮ」（非特許文献３参照）などの技術が研究・提案されている。
【０００５】
また、要求が発生したときに利用可能なサービスを組み合わせるものではないが、既知のＷｅｂサービスを合成して所望のサービスを実現する、ＢＰＥＬ４ＷＳ（Business Process Execution Language for Web Services.略称ＢＰＥＬ）や、ＷＳＣＩ（Web Service Choreography Interface）などの技術がある。
【０００６】
ここで、サービス要素とは、インターネット通信網などのネットワーク環境で、機能やリソースを提供するものであり、リモート（端末）側から利用する方法がネットワーク上で取得可能であり、利用する方法に従って、各機能やリソースをリモートから呼び出して利用することができるものである。
【０００７】
以下に、サービス要素の例を示す。
まず、翻訳Ｗｅｂサービス、認証Ｗｅｂサービス、航空券予約Ｗｅｂサービス、商品注文Ｗｅｂサービス、気象情報Ｗｅｂサービス、位置情報提供Ｗｅｂサービス、「Windows（Ｒ） Media Player」などの、ＷｅｂサービスやＤＣＯＭコンポーネント，ＥＪＢより実現されるサービス要素がある。
【０００８】
また、リモート側に接続されているディスプレイ，スピーカー，センサー，洗濯機，トースター，タッチパネル，扇風機，モニタカメラ，テレビなど、リモートから利用可能な機器もサービス要素となり得る。同様に、ＣＰＵ処理能力提供サービスやディスクストレージサービスなどのリモートから利用可能なコンピュータ資源もサービス要素である。
【０００９】
また、会社内ＬＡＮ向けの広帯域インターネットアクセスサービスや、様々な地域におけるアドホックネットワークに接続する広帯域無線インターネットアクセスサービスなど、リモートから利用可能なネットワークアクセス能力も、サービス要素である。
また、スケジュール調整エージェントや旅行手配エージェントなど、ネットワーク上で動作しているリモートから利用可能なエージェントも、サービス要素である。
【００１０】
上述した各サービス要素を利用した前述の技術の適用例としては、航空券予約Ｗｅｂサービス・ホテル予約Ｗｅｂサービス、レンタカー予約Ｗｅｂサービスを組み合わせて、総合旅行予約Ｗｅｂサービスを作るといったものがある。
【００１１】
ところで、ＢＰＥＬ４ＷＳのようなＢ２Ｂ（Business to Business）環境におけるＷｅｂサービス合成の技術は、このままではユビキタス環境に適応し難い。
ＢＰＥＬ４ＷＳでは、サービス合成を行うための情報が格納されたＢＰＥＬファイルに記述されたメソッド名、パラメータ名、データ型の全てが、対応するサービス要素と、厳密に一致する必要がある。Ｂ２Ｂ環境では、組み合わせられるサービス要素は、自社内の各部門のＷｅｂサービスや取引先企業のＷｅｂサービスなどであり、詳細なインタフェース情報について事前に既知である場合が多い。このため、Ｂ２Ｂ環境では、あまり問題なくＢＰＥＬファイルを用意することができる。
【００１２】
一方、ユビキタス環境においては、サービステンプレート（Service Template）をもとに、要求された時点においてサービス要素を探し、得られたサービス要素を組み合わせてサービス合成をしてサービスを提供している。従って、ユビキタス環境では、サービス要素の詳細なインタフェース情報が事前に判明していることはない。ユビキタス環境では、要求もとの環境においてサービス要素を発見した時点で、発見したサービス要素の具体的なメソッド名、パラメータ名、データ型名が初めてわかる。このため、ＢＰＥＬのように、個々のサービス要素を予め特定しておかず、サービステンプレートには、メソッド名、パラメータ名、データ型名などは抽象的に記述しておく。
【００１３】
以下、サービステンプレートはサービス要素について抽象的に記述しておき、サービステンプレートに基づきサービス合成を行う方法について、具体例をあげて説明する。
まず、サービステンプレートには、サービス要素がカテゴリ分類されていることを前提に、組み合わせるサービス要素のカテゴリを記述する。個々のサービス要素に依存する名称などは記述しない。
【００１４】
また、パラメータについても、カテゴリ毎等の単位で標準的パラメータ名称が規定されていることを前提に、規定されている標準的パラメータで記述しておく。ユビキタス環境におけるサービス合成では、標準的なパラメータ名で個々のサービス要素を呼び出すので、各々のサービス要素に対する個別のパラメータ名へのマッピングが必要となる。従って、サービステンプレートは、図８に示すように記述される。
【００１５】
このような、高級プログラム言語のようなプログラムライクに、サービス要素のカテゴリと、サービス要素の呼び出し順と、呼び出す際の呼び出しパラメータへの値の設定とに着目してサービステンプレートを記述する方法は、オペレーション指向記述と呼ばれている。
また、図８に示したサービステンプレートに基づいたサービス合成は、図９の動作概念図に示すように行われる。
【００１６】
上述した従来例のように、オペレーション指向記述によるサービステンプレートを記述する方法では、ユビキタス環境への適応性がなお低い場合がある。
図１０に示すサービスを例に考える。図１０に示すサービスでは、インターネットに接続されたテレビ電話機１００１，ディスプレイ１００２，録画装置（ビデオ）１００３が、利用者の自宅内に設けられている環境を前提とする。また、これらのサービス要素の側に、サービス合成装置とのインタフェースやストリーミング制御機能、ストリーミング送受信機能、ストリーミングハンドリング機能が備えられているものとする。
【００１７】
例えば、テレビ電話機１００１は、受信している映像データをリアルタイムに抽出し、ＲＴＰ等のストリーミングパケット形式に変換する機能（ストリーミングハンドリング機能）、ＲＴＰ等のストリーミングプロトコルに則った形式でパケットを送出する機能（ストリーミング送信機能）を備えている。
【００１８】
また、ディスプレイ１００２は、ＲＴＰ等のストリーミングプロトコルに則った形式でパケットを受信する機能（ストリーミング受信機能）、受信したパケットの内容を映像データに変換して表示する機能（ストリーミングハンドリング機能）を備えている。また、ストリーミングでは、輻較制御などのセッションの制御をＲＴＳＰやＳＩＰといったストリーミング制御プロトコルで行うことが一般的であるが、テレビ電話機１００１、ディスプレイ１００２共に、ストリーミング制御プロトコルに対応する機能（ストリーミングプロトコル制御機能）を備えている。また、テレビ電話機１００１やディスプレイ１００２は、サービス合成装置との間で、ストリーミングサーバのＵＲＬを送受信し、開始や終了の指示を受ける機能（サービス合成装置とのインタフェース機能）を備えている。
【００１９】
上述した環境において、次に示すサービスの提供が考えられる。
まず、テレビ電話機１００１がテレビ電話による通信を行っている場合、テレビ電話機１００１が送受信している映像をディスプレイ１００２に出力させ、テレビ電話機１００１が送受信している映像と音声とを録画装置１００３に録画させる。また、テレビ電話機１００１が送受信している音声を、Ｗｅｂサービス１００４で提供される同時翻訳サービスに同時通訳させ、利用者が用いているヘッドセット１００５に出力させる。
また、利用者が、テレビ電話機１００１やディスプレイ１００２の近隣にいない場合、利用者が携帯している携帯電話１００６に、テレビ電話機１００１で受信している映像及び音声を出力させる。
【００２０】
上述したサービスの例について、サービステンプレートをオペレーション指向で記述し、記述されたサービステンプレートに基づいてサービス合成を行う場合を考察する。
上述したサービス例の「近くのテレビ電話機１００１の映像を、近くにある大きなディスプレイ１００２に転送する」部分は、オペレーション指向で記述されたサービステンプレートをもとに、図１１の動作概念図に示すように行われる。
また、上述したサービス例の「テレビ電話機１００１が送受信している映像と音声とを録画装置１００３に録画させる」部分は、図１２の動作概念図に示すように行われる。
【００２１】
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【非特許文献１】須田  他、「サービス創発のための適応型ネットワークアーキテクチャ」、電子情報通信学会論文誌、ｖｏｌ．Ｊ８４−Ｂ、Ｎｏ．Ｍａｒ．２００１。
【非特許文献２】南  他、「ユビキタス環境に向けたインターネットアプリケーションプラットフォーム，」電子情報通信学会論文誌、ｖｏｌ．Ｊ８５−Ｂ、Ｎｏ．１２、Ｄｅｃ．、２００２。
【非特許文献３】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.
【発明の開示】
【発明が解決しようとする課題】
【００２２】
前述したオペレーション指向で記述されたサービステンプレートと、このサービステンプレートに基づくサービス合成とには、次に示す各問題点がある。
（１）従来の技術では、カテゴリ毎のオントロジでの記述が必要となる。
サービス要素を構成する対象装置のカテゴリ毎に、標準的インタフェースを調査し、調査した標準インタフェースに則ってサービステンプレートを記述する必要がある。例えば、テレビ電話機１００１の映像を他のサービス要素の各装置に入力するという点では同様であっても、デイスプレイ１００２では「ｄｉｓｐｌａｙ（）」、携帯電話１００６では「ｓｈｏｗＩｍａｇｅ（）」、ビデオ１００３では「ｒｅｃｏｒｄ（）」との記述になる。このように、オペレーション指向では、サービステンプレートの記述が煩雑となる。
【００２３】
（２）サービスが提供される同一領域の同等機能を持つ他のサービス要素への適応が完全ではない。
ディスプレイ１００２の他に、同様に映像出力が可能である携帯電話１００６がある場合でも、サービステンプレートがディスプレイカテゴリに依存した形式で記述されていると、携帯電話１００６への適用ができない。また、ヘッドセット１００５の他に、同様に音声出力が可能であるスピーカーが存在していても、サービステンプレートがヘッドセットカテゴリに依存した形式で書かれていると、スピーカーへの適用ができない。
このように、従来の技術では、ユビキタス環境への適応性が不十分である。
【００２４】
（３）従来の技術では、コンテンツフォーマット等が考慮されていない。
コンテンツフォーマット（ＭＰＥＧ２／ＭＰＥＧ４／ＷＭＡ／ＭＰ３）・コンテンツ転送方式（ストリーミング／ファイル）・コンテンツ転送プロトコル（ＲＴＳＰ／ＳＩＰ／ＨＴＴＰ／ＦＴＰ）等について、各サービス要素の間で整合をとる必要がある。しかし、上述したフォーマット，転送方式，及び転送プロトコルに応じ、通常では、サービス要素のインタフェースは異なっており、サービステンプレート記述の際に、上述した各コンテンツフォーマット・コンテンツ転送方式・コンテンツ転送プロトコル等をもとに、標準的インタフェースを調査の上、記述する必要がある。
【００２５】
（４）従来の技術では、異なるコンテンツフォーマット等への適応が不可能である。
サービステンプレートの記述が、コンテンツフォーマット・コンテンツ転送方式・コンテンツ転送プロトコルに依存していると、これらの条件を少し変えるだけで他のサービス要素群でサービス合成が行える場合でも、単純には適合できない。このような状態に適合させるためには、非常に多くのサービステンプレート記述の種類が必要となる。これでは、環境毎に多様なサービス要素が存在するユビキタス環境への適応性が不十分である。
【００２６】
（５）従来の技術では、サービステンプレートにおける終了処理記述が簡便ではない。
例えば、テレビ電話機１００１によるテレビ電話動作が終了した場合、ビデオ録画も中止することになる。これを実現するためには、サービステンプレートで、テレビ電話機１００１からの終了イベントを受信したら、ビデオ録画中止メソッドを呼ぶというように、処理を明示的に記述する必要があり、サービステンプレートの記述がわずらわしい。
【００２７】
本発明は、以上のような問題点を解消するためになされたものであり、ユビキタス環境により適合したサービス合成ができるようにし、また、用意しておくサービステンプレートをより容易に作成可能とすることを目的とする。
【課題を解決するための手段】
【００２８】
本発明に係るサービス合成方法は、ネットワークを介したサービスの提供に関連するネットワークを介して接続可能な複数のサービス要素を、サービス要素をネットワークを経由して利用するために必要な情報が記録されたサービス要素情報記録ファイルと、組み合わせるサービス要素の条件と組み合わせ方法との情報が記録されてネットワークを介して取得可能なサービステンプレートとを用いて組み合わせる方法において、サービステンプレートに記録された組み合わせ対象のサービス要素の条件に合致する各サービス要素を、サービス要素情報記録ファイルに記録されている条件を参照して検索し、条件に適合したサービス要素である候補サービス要素を選択し、候補サービス要素に対応するサービス要素情報記録ファイルに記録されている情報を参照し、サービステンプレートに含まれるコンテンツの配信に関する処理能力の情報を参照し、サービステンプレートに含まれるサービス要素間のコンテンツの配信に関する情報によりコンテンツの配信の可能性を判定することで、複数の候補サービス要素の中より特定のサービス要素を選定し、特定のサービス要素に対し、サービステンプレートに記述された組み合わせ方法にもとづいてサービス要素の合成を行うようにしたものである。
【００２９】
上記サービス合成方法において、特定のサービス要素の中のコンテンツの配信に関する複数の処理能力のいずれかを選択し、特定のサービス要素に対し、選択した処理能力に基づいてサービス要素の合成を行うようにしてもよい。
また、上記サービス合成方法において、サービス要素情報記録ファイルは、ネットワーク経由でサービスを検索するために必要なサービス要素のメタデータ情報と、ネットワーク経由でサービスを利用するために必要なサービス要素のインタフェース情報と、サービス要素におけるコンテンツの処理能力を示す情報とを含み、サービステンプレートは、構成する各サービス要素の条件を示す情報と、構成する各サービス要素の間のコンテンツの送受信フローを示す情報と、構成する各サービス要素の間で送受信されるコンテンツの種別を示す情報とを含んでいればよい。
【００３０】
本発明に係るサービス合成装置は、ネットワークを介したサービスの提供に関連するネットワークを介して接続可能な複数のサービス要素を、サービス要素をネットワークを経由して利用するために必要な情報が記録されたサービス要素情報記録ファイルと、組み合わせるサービス要素の条件と組み合わせ方法との情報が記録されてネットワークを介して取得可能なサービステンプレートとを用いて組み合わせる装置において、サービステンプレートに記録された組み合わせ対象のサービス要素の条件に合致する各サービス要素を、サービス要素情報記録ファイルに記録されている条件を参照して検索し、条件に適合したサービス要素である候補サービス要素を選択する検索制御手段と、候補サービス要素に対応するサービス要素情報記録ファイルに記録されている情報を参照し、サービステンプレートに含まれるコンテンツの配信に関する処理能力の情報を参照し、サービステンプレートに含まれるサービス要素間のコンテンツの配信に関する情報によりコンテンツの配信の可能性を判定する判断手段と、判断手段の判定結果を基に、複数の候補サービス要素の中より特定のサービス要素を選定し、特定のサービス要素に対し、サービステンプレートに記述された組み合わせ方法にもとづいてサービス要素の合成を行うサービス合成手段とを備えるようにしたものである。
【００３１】
上記サービス合成装置において、特定のサービス要素の中のコンテンツの配信に関する複数の処理能力のいずれかを選択する選定手段を備え、サービス合成手段は、特定のサービス要素に対し、選定手段が選択した処理能力に基づいてサービス要素の合成を行うようにしてもよい。
【００３２】
また、本発明に係るサービス合成プログラムは、コンピュータに、ネットワークを介したサービスの提供に関連するネットワークを介して接続可能な複数のサービス要素を、サービス要素をネットワークを経由して利用するために必要な情報が記録されたサービス要素情報記録ファイルと、組み合わせるサービス要素の条件と組み合わせ方法との情報が記録されてネットワークを介して取得可能なサービステンプレートとを用いて組み合わせるサービス合成を実現させるためのプログラムにおいて、サービステンプレートに記録された組み合わせ対象のサービス要素の条件に合致する各サービス要素を、サービス要素情報記録ファイルに記録されている条件を参照して検索し、条件に適合したサービス要素である候補サービス要素を選択する機能と、候補サービス要素に対応するサービス要素情報記録ファイルに記録されている情報を参照し、サービステンプレートに含まれるコンテンツの配信に関する処理能力の情報を参照し、サービステンプレートに含まれるサービス要素間のコンテンツの配信に関する情報によりコンテンツの配信の可能性を判定することで、複数の候補サービス要素の中より特定のサービス要素を選定する機能と、特定のサービス要素に対し、サービステンプレートに記述された組み合わせ方法にもとづいてサービス要素の合成を行う機能とをコンピュータに実現させるためのプログラムを備えるようにしたものである。
【００３３】
上記サービス合成プログラムにおいて、特定のサービス要素の中のコンテンツの配信に関する複数の処理能力のいずれかを選択し、特定のサービス要素に対し、選択した処理能力に基づいてサービス要素の合成を行う機能を備えるようにしてもよい。
【発明の効果】
【００３４】
以上説明したように、本発明によれば、ユビキタス環境により適合したサービス合成ができるようなるという優れた効果が得られる。また、用意しておくサービステンプレートがより容易に作成できるようになる。サービステンプレートは、コンテンツの流れを記述すればよいので、簡潔に、サービスの直感的イメージに近い形で作成できる。また、コンテンツ処理能力という観点にもとづくカテゴリを利用すれば、従来では必要であった、装置毎に異なるカテゴリで、カテゴリ毎にインタフェース名を調査する必要性がなくなる。
【００３５】
また、例えば、映像表示装置の間でのサービス要素の交換が可能となり、非常に多種多様で変化の激しいユビキタス環境への適応性が高い。また、従来では必要であった、コンテンツフォーマットやプロトコル毎にインタフェース名を調査した上で、サービステンプレートを記述する必要ないため、サービステンプレートの作成が容易になる。また、コンテンツフォーマットやプロトコルの異なる場合にも適応できるので、非常に多種多様で変化の激しいユビキタス環境への適応性が高い。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施の形態について図を参照して説明する。
図１は、本発明の実施の形態におけるサービス合成システムの構成例を概略的に示す構成図である。本システムは、インターネットなどのネットワーク２００に接続されたサービス合成装置１００とネットワーク２００の上にあるサービステンプレート１２０を備えている。また、ネットワーク２００には、複数のサービス要素１３１，１３２，１３３が接続され、また、ネットワーク２００の上には、各サービス要素１３１，１３２，１３３に対応するサービス要素記述文書（サービス要素情報記録ファイル）１４１，１４２，１４３が存在している。
【００３７】
なお、サービステンプレート１２０や、サービス要素記述文書１４１，１４２，１４３は、必要な情報が記述されたファイルであり、例えば、サービス合成装置１００が備えていてもよく、また、ネットワーク２００に接続されている図示しないサーバ装置に備えられていてもよい。また、サービステンプレート１２０は、ネットワーク２００に接続された複数のサーバに分散した複数のファイルから構成されていてもよい。
【００３８】
次に、サービス合成装置１００について説明する。
図２に示すサービス合成装置１００は、サービステンプレート１２０に記述された条件に合致する各サービス要素を発見し、サービステンプレート１２０に記述された組み合わせにもとづいて、発見されたサービス要素の合成を行い、サービステンプレート１２０に記述されたサービスフローにもとづいて、合成されたサービス要素を順に呼び出し、利用者にサービスを提供する。上記サービスフローには、各サービス要素がシーケンシャルに呼ばれる単純なフローもあれば、並列実行、分岐、待ち合わせ（合流）のある複雑なフローもある。
【００３９】
サービス合成装置１００の起動は、利用者の要求にもとづいて行われる場合もあれば、サービス合成装置１００が自発的に起動して利用者に提案をする場合もある。また、サービステンプレート１２０についても、利用者が指定する場合や、サービス合成装置１００が自律的に発見し、選択する場合もある。なお、図２においては、紙面上方より下方に向かい、概略的な処理のシーケンス例を示している。また、図２では、サービス要素として、コンテンツの配信などを行う送信側サービス要素１３４と配信されたコンテンツが利用される受信側サービス要素１３５とが示されている。
【００４０】
サービス合成装置１００は、サービス合成を行うサービス合成エンジン１０１と、サービス要素の検索や絞り込みなどの制御を行う検索制御部１０２と、発見した候補サービス要素の情報が記録されるサービス要素情報蓄積部１０３と、インタフェース整合性を判断してパラメータのマッピングを行うインタフェース整合性判断部１０４と、サービス要素間のコンテンツ転送の整合性を判断するコンテンツ転送整合性判断部１０５とを備える。
【００４１】
また、サービス合成装置１００は、整合性があり許容されるコンテンツ処理能力が複数ある場合に実際に利用するコンテンツ処理能力を選定するコンテンツ処理能力選定部１０６と、サービス要素間のコンテンツ転送に関する制御を行うサービス要素間転送制御部１０７と、複数のサービス要素間に跨った終了処理などのリソース制御を行うサービス要素間リソース制御部１０８とを備える。なお、サービス合成装置１００は、例えば、サーバなどのコンピュータ機器であり、上述した各機能を実現するためのプログラムにより動作するものであればよい。
【００４２】
図３は、送信側サービス要素１３４と受信側サービス要素１３５の構成例を示す構成図である。各サービス要素は、サービスされる内容そのものを実装したサービス機能部３０１，３１１と、サービス合成装置１００からの制御を受け付けるなどのサービス合成装置１００とのインタフェース機能を持つサービス要素転送制御部３０２，３１２と、各ストリーミングプロトコル、コンテンツフォーマット等に応じたストリーミング送受信処理を行う転送プロトコル処理部３０３，３１３とを備えている。
【００４３】
また、各サービス要素は、サービス合成装置１００から指定されたコンテンツ処理能力（対応しているコンテンツフォーマット、転送方式、プロトコル、帯域、ストリームハンドリング処理、コンテンツ種別変換処理等）に応じ、適切な転送プロトコル処理部３０３，３１３を選択するための送出ハンドラ３０４及び受信ハンドラ３１４を備えている。また、各サービス要素は、サービス機能部３０１，３１１からストリーミングデータ（コンテンツ）を抽出し、ストリーミングデータを受信してサービス機能部３０１，３１１に投入するコンテンツ抽出アダプタ３０５，コンテンツ投入アダプタ３１５を備えている。
【００４４】
また、各サービス要素は、ピアツーピア検索に対して応答する検索応答部３０６，３１６と、サービス要素用メタデータ，サービス要素インタフェース情報，サービス要素ＵＲＬ，コンテンツ処理能力などのサービス要素記述情報が記録されたサービス要素記述情報蓄積部３０７，３１７を備えている。なお、サービス要素記述情報は、全てがサービス要素に備えられていなくてもよく、ネットワーク２００のいずれかにあればよい。
【００４５】
次に、サービステンプレート１２０の記述例について説明する。図４は、コンテンツをストリーミングにより配信する場合の、サービステンプレート１２０の記述例である。サービス要素の所属カテゴリと、サービス要素の間で送受信されるコンテンツの種別、種別毎のコンテンツフローのみが記述されている。なお、図４に示す記述例では、「ＴＶ電話」，「映像出力」，「映像記録」，「音声変換」，「音声出力」がサービス要素の所属カテゴリであり、「movie」，「voice」がコンテンツの種別である。
【００４６】
本実施の形態においては、サービステンプレート１２０において、コンテンツフォーマット、転送方式、プロトコル、端末装置能力に関する内容が記述されている必要はない。また、各サービス要素が存在する送受信端末装置で、コンテンツが具体的にどのように取り扱われるかについても、サービステンプレート１２０に記述されている必要はない。
サービステンプレート１２０では、映像出力、音声加工等、コンテンツ処理能力の観点に基づくカテゴリを交えて、記述されていればよい。
【００４７】
次に、サービス要素記述文書の記述例について説明する。図５は、受信側サービス要素１３５に対応するサービス要素記述文書の記述例である。また、図６は、送信側サービス要素１３４に対応するサービス要素記述文書の記述例である。
図５に示すように、まず、サービス要素記述文書には、サービス要素が所属するカテゴリ名と、検索に用いることのできる場所などの属性情報が記述されている。
【００４８】
また、インタフェース情報としては、ＷＳＤＬ等のインタフェース情報をこのまま入れることができる。なお、ジニー（Ｊｉｎｉ）のように言語に依存するインタフェース情報であってもかまわない。なおジニーは、コンピュータやこの周辺機器、ＡＶ機器、電話、家電製品など様々な機器をネットワークを通じて接続し、相互に機能を提供しあうための技術仕様である。
【００４９】
図６は、サービス要素記述文書におけるコンテンツ処理能力に関する記述例である。図６に示す記述例では、カテゴリ単位でコンテンツ処理能力を規定している。図６に示す記述例では、まず、サービステンプレート１２０の記述に用いたカテゴリ名について、入出力可能なコンテンツ種別について記述している。なお、コンテンツ処理能力の規定には、動作可能なプロトコルやフォーマットの情報、帯域の情報や映像から音声への変換などの変換能力情報、帯域やＣＰＵ能力の情報などが記述されていてもよい。また、サービス要素単位でコンテンツ処理能力を記述する場合も、同様に記述できる。
【００５０】
次に、図１，２，３に示した本システムの動作例を説明する。
まず、サービス要求者からサービス合成の要求があると、サービス合成エンジン１０１は、サービス要素の検索を検索制御部１０２に依頼する。この依頼により検索制御部１０２は、サービステンプレート１２０に記述された条件に基づいて、サービス要素を検索する。検索制御部１０２による検索の条件は、例えば、カテゴリ情報の一致、個々のサービス要素に関するメタデータのキーワード一致などである。
【００５１】
また、検索制御部１０２による検索は、近くのディスプレイを検索する場合などサービス要素の存在場所によって行ってもよく、デバイス系の場合などで特定のデバイスのメーカーやデバイスの機能によって行うようにしてもよい。
また、ＵＤＤＩやＬＤＡＰサーバなどのディレクトリサービス、サービス要素自身が検索に応答するピアツーピア検索、ＬＡＮ内のブロードキャスト、ＩＰマルチキャスト、あるいは、メール等での直接情報交換などのサービス要素も検索の対象となる。
【００５２】
なお、本実施の形態では、ピアツーピア検索を例に説明している。検索制御部１０２は、様々な検索手法にあわせ、検索手法に必要なプロトコルに則った動作やＡＰＩに応じた処理などを実現する。検索の結果として、サービス要素記述情報、あるいは、サービス要素記述情報の取得先を示す情報が得られる。例えば、検索制御部１０２は、サービス要素記述情報を取得する。
【００５３】
取得したサービス要素記述情報には、サービス要素のインタフェース情報、所属カテゴリ情報などのメタデータ情報、サービス要素にアクセスするのに必要な情報（ＵＲＬ等）が含まれる。また、サービス要素のコンテンツ処理能力（サポートしているコンテンツフォーマット、転送方式、プロトコル、帯域、ストリームハンドリング処理、コンテンツ種別変換処理等）が記述されている。
【００５４】
これらのサービス要素記述情報は、物理的に１つのファイルに記述されていてもよく、地理的に分散した形で別々のファイルに記述されていてもよい。
また、サービス要素のコンテンツ処理能力は、サービス要素の所属するカテゴリ毎のコンテンツ処理能力という形で記述されていてもよい。
【００５５】
検索制御部１０２が取得した各情報は、サービス要素情報蓄積部１０３に記録される。サービス合成エンジン１０１は、得られたサービス要素記述情報のメタデータ（所属カテゴリなど）を参照し、サービステンプレート１２０に記述された条件を満たすかどうかを判定し、条件を満たしたサービス要素群に関する情報を、候補サービス要素群として、サービス要素情報蓄積部１０３に記録する。
【００５６】
次に、サービス合成エンジン１０１は、候補サービス要素群の可能な組み合わせについて、得られたサービス要素のインタフェース情報をもとに、整合性についての判断をインタフェース整合性判断部１０４に依頼する。上記整合性は、パラメータの数や型の一致の度合いや、パラメータ名称のマッピングの可能性を検証することで行える。
【００５７】
インタフェース整合性判断部１０４における整合性検証方法は、次に示すものがある。
まず、パラメータ型一致の検証方法には、Ｊａｖａ（Ｒ）による型表現形式の一致判定や、ＷＳＤＬによるｐｏｒｔＴｙｐｅ名の一致判定などの手法がある。
また、パラメータ名称のマッピングが可能かどうかの検証には、サービス要素インタフェース情報に各パラメータの意味内容を記述することを前提とし、各パラメータの意味内容のキーワード一致度により推定する方法がある。候補となるサービス要素群は、上述した整合性の検証過程で、インタフェースが整合するものだけに絞り込まれ、サービス要素情報蓄積部１０３に記録される。
【００５８】
次に、サービス合成エンジン１０１は、コンテンツフローの実現に対する整合性の判断をコンテンツ転送整合性判断部１０５に依頼する。ここでは、上述したインタフェース整合性判断で絞り込まれた候補サービス要素群の各候補サービス要素について、サービス要素記述文書のサービス要素コンテンツ処理能力（動作可能なコンテンツフォーマット、転送方式、プロトコル、帯域、ストリームハンドリング処理、コンテンツ種別変換処理など）を参照し、サービステンプレート１２０に記述されたサービス要素間のコンテンツフローが実現できる整合性のあるもののみに絞り込む。
【００５９】
例として、サービステンプレート１２０には、図７（ａ）に示すように、コンテンツフローが「カテゴリＡ→（映像）→カテゴリＢ→（映像）→カテゴリＣ」と記述され、また、前述したインタフェース整合性判断の過程を経た後の候補サービス要素群が、図７（ｂ）に示すように、カテゴリＡについてａ１、ａ２、カテゴリＢについてｂ１、ｂ２、カテゴリＣについてｃ１があったとする。
また、各々のコンテンツ処理能力は、サポートするコンテンツ種別、コンテンツフォーマット、ストリーミングプロトコル、送受信能力の点で、図７（ｂ）の記述に示す通りであるものとする。
【００６０】
この場合、サービステンプレート１２０に適用可能な組み合わせは、２×２×１＝４通りあるが、各々のコンテンツ処理能力を考慮することで、ａ２、ｂ２、ｃ１の１つに絞り込むことが可能である。また、利用可能なコンテンツフォーマット、ストリーミングプロトコルは、ｍｐｅｇ４とｓｉｐ  ｗｉｔｈ  ＲＴＰ／ＵＤＰとに限られる。
【００６１】
コンテンツフローが、図７（ａ）に示すような、単純なシーケンスでなく、並列実行、分岐、待ち合わせ（合流）がある場合についても同様に、サービステンプレートに記述されているコンテンツフローに沿って、１つ１つの区間の送信側・受信側双方の候補サービス要素のコンテンツ処理能力を比較していくことで、絞り込みを行えばよい。
上述したようにすることで、コンテンツ転送整合性判断部１０５の判断により絞り込まれた候補サービス要素群の情報は、サービス要素情報蓄積部１０３に記録される。
【００６２】
次に、サービス合成エンジン１０１（コンテンツ処理能力選定部１０６）は、サービス合成時に利用可能な候補サービス要素のコンテンツ処理能力が複数ある場合、所定のポリシー情報に基づいて、サービス合成時に利用するサービス要素のコンテンツ処理能力を、利用可能なオプションの中からいずれか一つ、あるいは、一部分、あるいは、全てを選ぶ。上記ポリシー情報には、例えば、「転送される情報量ができるだけ多くなるものを選ぶ」，「転送される情報の品質ができるだけ高くなるものを選ぶ」，「必要な帯域ができるだけ少なくなるものを選ぶ」，「合成サービス利用者に選択させる」などがある。
【００６３】
例えば、フォーマットとして、ｍｐｅｇ２とｍｐｅｇ４との両方が適合した場合、サービス合成時にどちらを利用するかを、ポリシー情報などにより決める。例えば、ポリシー情報が「高品質優先」であれば、フォーマットとしてｍｐｅｇ２が選ばれることになる。また、適合するもの全てが選択されてもよい。例えば、音声を含む映像データを録画・録音するときに、「必要帯域は増えてもよいので、音声だけはより高品質で保存したい」というポリシー情報であれば、映像の転送に加えて、音声だけを音声専用の高品質フォーマットで転送してもよい。
【００６４】
また、「音声だけは確実にデータをとりたい」というポリシー情報であれば、映像はストリーミング形式で転送するが、音声だけはファイル形式で転送するようにしてもよい。なお、ポリシー情報は、サービス合成利用者により設定される場合もあり、サービステンプレート１２０の記述者により設定される場合もある。
【００６５】
次に、サービス合成エンジン１０１は、サービス要素のコンテンツ処理能力により絞り込まれた候補サービス要素群について、まだ、サービステンプレート１２０に記述された各構成サービス要素毎に、１つずつに絞り込まれていない場合には、「ある属性値がある値であるものを選ぶ」「最初に発見されたものを選ぶ」「ランダムに選ぶ」「合成サービス利用者に選択させる」「最も近いものを選ぶ」などのポリシー情報に基づいて、サービステンプレート１２０に記述された各構成サービス要素毎に、１つずつに絞り込む。
【００６６】
上記ポリシー情報も、サービス合成利用者により設定される場合もあり、サービステンプレート１２０の記述者により設定されている場合もある。絞り込まれた候補サービス要素群の情報は、サービス要素情報蓄積部１０３に記録される。
【００６７】
次に、サービス合成エンジン１０１は、コンテンツ転送（配信）の実行をサービス要素間転送制御部１０７に依頼する。サービス要素間転送制御部１０７は、まず、利用するコンテンツ種別、コンテンツ処理能力（サポートしているコンテンツフォーマット、転送方式、プロトコル、帯域、ストリームハンドリング処理、コンテンツ種別変換処理等）を送信側サービス要素１３４に通知する（利用コンテンツ処理能力指定）。
【００６８】
また、サービステンプレート１２０に記述されたサービス要素間のコンテンツフロー、送受信されるコンテンツ種別、選定されたコンテンツ処理能力に基づいて、サービス要素間転送制御部１０７は、送信側サービス要素１３４に、例えば、ストリーミングによるコンテンツの送出を依頼（指示）する。また、サービス要素間転送制御部１０７は、受信側サービス要素１３５に、ストリーミングによるコンテンツの受信依頼を通知する。
【００６９】
ここで、例えばＲＴＳＰの場合であれば、送信側サービス要素１３４のストリーミングサーバＵＲＬの情報が、受信側サービス要素１３５に通知される。送信側サービス要素１３４では、サービス要素転送制御部３０２が、サービス合成装置１００からコンテンツの配信依頼を受け取ると、サービス機能部３０１の機能を活性化させるとともに、サービス合成装置１００から指定されたコンテンツ種別、コンテンツ処理能力情報を付加し、送出ハンドラ３０４に対し、ストリーミングの送出開始を要求する。
【００７０】
送出ハンドラ３０４は、指定されたコンテンツ種別のコンテンツ抽出アダプタ３０５に対して、ストリームの抽出を要求する。サービス合成装置１００から指定されたコンテンツ種別、コンテンツ処理能力情報に従い、送出ハンドラ３０４は、適切な転送プロトコル処理部３０３を選択し、コンテンツの送出を転送プロトコル処理部３０３依頼する。
【００７１】
転送プロトコル処理部３０３は、ストリーミング制御プロトコル（ＲＴＳＰ，ＳＩＰ等）、ストリーミングプロトコル（ＲＴＰ／ＵＤＰ等）に従って、コンテンツの送出（配信）を行う。
上述した転送プロトコル処理部３０３による送出動作の過程で、ストリーミング制御プロトコルの処理に則り、受信側（受信側サービス要素１３５）からのリクエストを待ち受け、また、受信側との間で品質等のネゴシエーションを行うようにしてもよい。
【００７２】
一方、受信側サービス要素１３５では、サービス要素転送制御部３０２が、サービス合成装置１００からコンテンツの受信依頼を受け取ると、サービス機能部３１１の機能を活性化させるとともに、サービス合成装置１００から指定されたコンテンツ種別、コンテンツ処理能力情報を付加し、受信ハンドラ３１４に対し、例えばストリーミングによるコンテンツの受信開始を要求する。
【００７３】
受信ハンドラ３１４は、サービス合成装置１００から指定されたコンテンツ種別、コンテンツ処理能力情報に従い、適切な転送プロトコル処理部３１３を選択し、コンテンツの受信を転送プロトコル処理部３１３に依頼する。転送プロトコル処理部３１３は、ストリーミング制御プロトコル（ＲＴＳＰ，ＳＩＰ等）、ストリーミングプロトコル（ＲＴＰ／ＵＤＰ等）に従って、コンテンツの受信を行う。
【００７４】
なお、上述した受信の過程で、ストリーミング制御プロトコルの処理に則り、送信側に対してセッションを確立し、サービス合成装置１００から得たストリーミングサーバＵＲＬに対し、コンテンツの配信リクエストを送信し、また、送信側サービス要素１３４との間で品質等のネゴシエーションを行うようにしてもよい。
【００７５】
ついで、受信ハンドラ３１４は、指定されたコンテンツ種別のコンテンツ投入アダプタ３１５に対し、サービス機能部３１１へのコンテンツの投入（記録）を指示する。
これらのことにより、受信側サービス要素１３５においては、受信したコンテンツに対し、加工、表示、変換、記録などの、サービスとして利用者に期待される動作（ストリームハンドリング）が行われる。
【００７６】
各サービス要素では、コンテンツの配信及び受信の動作が始まると、送出ハンドラ３０４，受信ハンドラ３１４が、コンテンツ配信に関わる各動作の終了を検知する監視を行う。各ハンドラにより、コンテンツ配信に関わる動作の終了が検出されると、各サービス要素では、サービス合成装置１００に対して、コンテンツ配信に関わる動作の終了をイベントで通知する。
【００７７】
上述した終了の通知を受け付けたサービス合成装置１００は、対象となるコンテンツの受信に関連する全てのサービス要素に対し、受信終了、送信終了を通知する。この通知を受けた各サービス要素では、ストリーミング制御プロトコルでの終了処理や、リソース解放などの終了処理を行う。
なお、以上説明した本発明は、発明の趣旨を逸脱しない範囲で広く変更実施してもよいことは、いうまでもない。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施の形態におけるサービス合成システムの構成例を概略的に示す構成図である。
【図２】サービス合成装置１００の構成例を示す構成図である。
【図３】送信側サービス要素１３４と受信側サービス要素１３５の構成例を示す構成図である。
【図４】コンテンツをストリーミングにより配信する場合の、サービステンプレート１２０の記述例である。
【図５】受信側サービス要素１３５に対応するサービス要素記述文書の記述例である。
【図６】送信側サービス要素１３４に対応するサービス要素記述文書の記述例である。
【図７】サービステンプレート１２０の記述例である。
【図８】従来よりあるサービステンプレートの記述例である。
【図９】図８に示したサービステンプレートをもとにしたサービス合成の動作概念を示す説明図である。
【図１０】サービスの例を示す説明図である。
【図１１】従来のサービス合成の動作概念を示す説明図である。
【図１２】従来のサービス合成の動作概念を示す説明図である。
【符号の説明】
【００７９】
１００…サービス合成装置、１０１…サービス合成エンジン、１０２…検索制御部、１０３…サービス要素情報蓄積部、１０４…インタフェース整合性判断部、１０５…コンテンツ転送整合性判断部、１０６…コンテンツ処理能力選定部、１０７…サービス要素間転送制御部、１０８…サービス要素間リソース制御部、１２０…サービステンプレート、１３１，１３２，１３３…サービス要素、１３４…送信側サービス要素、１３５…受信側サービス要素、１４１，１４２，１４３…サービス要素記述文書（サービス要素情報記録ファイル）、２００…ネットワーク。
【図１】
2005250844.tif 000003
【図２】
2005250844.tif 000004
【図３】
2005250844.tif 000005
【図４】
2005250844.tif 000006
【図５】
2005250844.tif 000007
【図６】
2005250844.tif 000008
【図７】
2005250844.tif 000009
【図８】
2005250844.tif 000010
【図９】
2005250844.tif 000011
【図１０】
2005250844.tif 000012
【図１１】
2005250844.tif 000013
【図１２】
2005250844.tif 000014