(57)【要約】【課題】サービス合成技術の特長機能と、サービスフロー記述言語を解釈、実行する市中サービス実行スクリプト解釈・実行製品とを組み合わせた、新たな合成サービスを提供する。【解決手段】サービス合成サーバ１は、単語からなるグループと、このグループに含まれる各々の単語間の関係とが記述されるオントロジＤＢ１５と、単語と、単語に対応する機能を有するサービスコンポーネントの情報とが対応付けられて記述されているＳＥ情報ＤＢ１６と、ＳＴに記述された単語に基づき、利用可能なＳＥ４−１〜４−Ｎを、オントロジＤＢ１５と、ＳＥ情報ＤＢ１６とをから検出し、検出されたＳＥ４−１〜４−Ｎのうち、ユーザ状況とユーザポリシと各ＳＥの情報との適合度をＳＥごとに算出・比較して最も適合度の高いＳＥを選択する。選択されたＳＥのサービス処理を起動するサービス実行スクリプトを生成することによりサービスを合成する。【選択図】図１
2008059346.tif 000002
【特許請求の範囲】
【請求項１】
サービスシナリオを抽象的に記述したサービステンプレートに基づき、各サービスごとに利用可能な１つまたは複数のサービスコンポーネントの候補を検出し、検出された該サービスコンポーネントから、ユーザ状況と、ユーザポリシとに適合するサービスコンポーネントを、サービステンプレートに記述された全てのサービスコンポーネントを選択し、バインドすることによってサービスを合成するサービス合成サーバであり、
１つまたは複数の単語からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部と、
前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報とが対応付けられて記述されているサービスコンポーネント情報記憶部と、
ユーザによって入力される前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、前記オントロジ記憶部と、前記サービスコンポーネント情報記憶部とを検索することによって検出する検索部と、
検出された前記サービスコンポーネントのうち、前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを選択する選択部と、
選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成するスクリプト生成部と、
を備えることを特徴とするサービス合成サーバ。
【請求項２】
前記ユーザ状況が変化した際、
前記選択部は、
変化後の前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを再選択し、
再選択された前記サービスコンポーネントが、当初選択された前記サービスコンポーネントと異なる場合、
前記スクリプト生成部は、
再選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを再生成する
ことを特徴とする請求項１に記載のサービス合成サーバ。
【請求項３】
前記スクリプト生成部は、
前記ユーザ状況の変化に伴い、前記サービスコンポーネントが前記選択部によって再選択された場合、
前記サービス合成サーバに接続される具体的サービス実行スクリプト実行部において実行されている前記スクリプトの実行状況を取得して、前記実行状況に対応する、より適合度の高い前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成する
ことを特徴とする請求項２に記載のサービス合成サーバ。
【請求項４】
サービスシナリオを抽象的に記述したサービステンプレートに基づき、各サービスごとに利用可能な１つまたは複数のサービスコンポーネントの候補を検出し、検出された該サービスコンポーネントから、ユーザ状況と、ユーザポリシとに適合するサービスコンポーネントを、サービステンプレートに記述された全てのサービスコンポーネントを選択し、バインドすることによってサービスを合成するサービス合成システムであり、
前記サービステンプレートまたはこの識別情報のいずれかであるサービステンプレート情報と、前記ユーザ状況またはこの識別情報のいずれかであるユーザ状況情報と、前記ユーザポリシまたはこの識別情報のいずれかであるユーザポリシ情報とを送信する利用者端末と、
前記サービスを提供する複数の前記サービスコンポーネントと、
１つまたは複数の単語からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部と、前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報とが対応付けられて記述されているサービスコンポーネント情報記憶部と、利用者端末から受信する前記サービステンプレート情報から取得する前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、前記オントロジ記憶部と、前記サービスコンポーネント情報記憶部とを検索することによって検出する検索部と、検出された前記サービスコンポーネントのうち、前記ユーザ状況情報から取得する前記ユーザ状況と、前記ユーザポリシ情報から取得する前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、適合度の高い前記サービスコンポーネントを選択する選択部と、選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成するスクリプト生成部とを有するサービス合成手段と、
前記サービス実行スクリプトを実行するスクリプト解釈実行部と
を有することを特徴とするサービス合成システム。
【請求項５】
前記ユーザ状況が変化した際、前記サービス合成手段において、
前記選択部が、
変化後の前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを再選択し、
再選択された前記サービスコンポーネントが、当初選択された前記サービスコンポーネントと異なる場合、
前記スクリプト生成部が、
再選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを再生成する
ことを特徴とする請求項４に記載のサービス合成システム。
【請求項６】
前記サービス合成手段において、前記スクリプト生成部は、
前記ユーザ状況の変化に伴い、前記サービスコンポーネントが前記選択部によって再選択された場合、
前記サービス合成手段に接続される具体的サービス実行スクリプト実行部において実行されている前記スクリプトの実行状況を取得して、前記実行状況に対応する、より適合度の高い前記サービスコンポーネントのサービス処理を起動する具体的なサービス実行スクリプトを生成する
ことを特徴とする請求項５に記載のサービス合成システム。
【請求項７】
前記サービス合成システムは、
前記スクリプトの実行状況を記録する記憶部
をさらに有することを特徴とする請求項５または６に記載のサービス合成システム。
【請求項８】
サービスシナリオを抽象的に記述したサービステンプレートに基づき、各サービスごとに利用可能な１つまたは複数のサービスコンポーネントの候補を検出し、検出された該サービスコンポーネントから、ユーザ状況と、ユーザポリシとに適合するサービスコンポーネントを、サービステンプレートに記述された全てのサービスコンポーネントを選択し、バインドすることによってサービスを合成する方法であり、
利用者端末が前記サービステンプレートまたはこの識別情報のいずれかであるサービステンプレート情報と、前記ユーザ状況またはこの識別情報のいずれかであるユーザ状況情報と、前記ユーザポリシまたはこの識別情報のいずれかであるユーザポリシ情報とを送信する送信過程と、
サービス合成手段において、
利用者端末から受信する前記サービステンプレート情報から取得する前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、１つまたは複数の単語からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部と、前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報とが対応付けられて記述されているサービスコンポーネント情報記憶部とを検索することによって検出する検索過程と、
検出された前記サービスコンポーネントのうち、前記ユーザ状況情報から取得する前記ユーザ状況と、前記ユーザポリシ情報から取得する前記ユーザポリシと、各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、適合度の高い前記サービスコンポーネントを選択する選択過程と、
選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成する過程と、
前記サービス実行スクリプトを実行する過程と
を有することを特徴とするサービス合成方法。
【請求項９】
請求項１〜８のいずれかに記載の情報処理装置として、コンピュータを機能させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス合成サーバ、システムおよび方法に関する。
【背景技術】
【０００２】
現在ＩＴ技術の進歩に伴い、コンピュータに限らず、携帯電話、家電製品、各種センサなど、さまざまな機器がネットワークにつながり、ユーザ生活を支援する、ユビキタス環境が実現しつつある。ユビキタス環境では、これらの機器・機能が有機的に連携することで、従来は実現が困難だった、個人個人の状況に応じてさまざまなサービスを自動、あるいは半自動的に実現するコンテキストアウェアサービスが期待されている。ユーザのニーズは、ユーザの位置などの実世界の状況に応じて動的に変化する。したがって、サービス提供者が予め全てのサービスを作りこんでサービス提供を行う形ではユーザの動的なニーズ変化に対応していくことは難しい。したがって、その場の状況に応じてサービスを提供するサービスコンポーネントを組み合わせてサービスを実現するサービス合成の考え方が重要になってきている。
そこで、サービス合成技術として、非特許文献１に示す、個々のウェブサービスを連携させる手法として、ＢＰＥＬ（Business Process Execution Language）が注目を集めている。
【特許文献１】特開２００４−７８７７３号公報
【非特許文献１】”ＷＳＢＰＥＬ（Web Services Business Process Execution Language Technical Committee）技術委員会”、[online]、ＯＡＳＩＳ、[平成１８年７月２７日検索]、インターネット＜http://www.oasis-open.org/comittees/tc_home.php?wg_abbrev=wsbpel＞
【非特許文献２】”Semantic Web Services”、[online]、[平成１８年７月２７日検索]、インターネット＜http://www.daml.org/services/＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記の技術においては、ＢＰＥＬは、元来その名が示すとおり、企業間におけるシステムやサービスの連携が対象であり、未知のウェブサービスをユーザ状況に応じて発見し、バインド（合成）するには向いていない。具体的には、サービスフローを記述したＢＰＥＬファイルには、個々のウェブサービスに関して、そのインタフェースを記述するポートタイプ名やオペレーション名が記述されていなければならず、それらが完全一致するウェブサービス、すなわちほぼ唯一のウェブサービスにしか適用できない。したがって、状況に応じてサービスを切り替えることができず、状況適応性がないという問題がある。
このＢＰＥＬの課題を解決するため、特許文献１に示すように、サービスフローを示すサービステンプレート（ＳＴ）に個々のサービス要素（サービスコンポーネント、サービスエレメントともいう。以下の記載では全てＳＥとする）の、通常のインタフェースをポートタイプ名を用いて厳密に記述する形ではなく、ユーザが必要とする機能の意味的な情報である意味的メタデータを用いて、抽象的に記述し、ポートタイプ名は異なるが機能が同等であるＳＥ群を発見し、選択可能にすることでユーザの状況に応じたサービス実現を目指した研究がある。なお、特許文献１に記載の意味的メタデータの記述には、非特許文献２に記載のセマンティックウェブ技術の一つであるＯＷＬ−Ｓ（Ontology Web Language for Services）を用いている。
【０００４】
また、サービス合成技術の特長機能は次の３つである。
１．メタデータ解決機能
ＳＥおよびＳＴを意味的な記述を行うことで抽象化し、サービス実行時に意味的関係を元にユーザニーズのＳＥを発見し、合成することで、ユビキタス性を実現する。具体的には、異なるメーカの装置など、インタフェースが異なる機器であっても、同等の機能（意味的な記述がなされる意味的メタデータ同等）であれば、ユーザによって実行可能であることを意味する。ユーザはＳＥの詳細な仕様・実装を知らなくてもサービスを受けることが可能であることを意味する。
２．コンテキストアウェアサービス選択機能
ユーザの状況に応じて適切なサービス合成を行うために、どのようなＳＥを優先すべきかを記述したユーザポリシ、たとえばユーザの位置など、ユーザの状況を記述したコンテキスト、ＳＥの位置など、状況を記述したＳＥプロファイルの、３つのデータの意味的メタデータマッチングを行い、同等機能を持つＳＥ群から、最適なＳＥを自動、または半自動で選択することで、コンテキストアウェアサービスを実現する。たとえばモニタというＳＥを選択する際、ユーザから近いモニタを優先的に選択したり、画面が大きいモニタを優先的に選択したりするなど、ユーザポリシをユーザごとにカスタマイズすることで、個人個人のニーズに対応することが可能である。
３．サービス切換機能
ユーザの状況変化（コンテキスト変化）に応じて、実行中のサービスの一部のＳＥをより適したＳＥに切り換えてサービスを継続することが可能であることを意味する。サービスの抽象化により、同等機能のＳＥ同士を置換することが可能になる。
【０００５】
このような特長機能を持ったサービス合成システムが研究されているが、これらはセキュリティ機能の追加、ウェブサービスの標準仕様への対応、Java（登録商標） VM、Tomcat、Axis、RDFパーサ等のミドルウェアの調整が必要であり、また、これらは継続的に対応する必要もあるため、維持コストが膨大であるという問題がある。
一方、市場においては、ウェブサービスの普及に伴い、サービスフロー記述言語（ワークフロー言語）によって記述されるサービスフロー（ワークフロー）を解釈、実行する製品が数多く出つつある、という状況がある。これらの製品は、製品として商用機能を備えている。
本発明はこのような事情を考慮してなされたもので、その目的は、サービス合成技術の特長機能と、サービスフロー記述言語を解釈、実行する市中サービスフロー実行製品とを組み合わせて、双方の特長機能と商用機能とを実現することによって、新たなサービスを提供することにある。
【課題を解決するための手段】
【０００６】
上述の課題を解決するために、本発明は、サービスシナリオを抽象的に記述したサービステンプレート（第１の実施形態におけるＳＴ）に基づき、各サービスごとに利用可能な１つまたは複数のサービスコンポーネント（第１の実施形態におけるＳＥ４−１〜４−Ｎ）の候補を検出し、検出された該サービスコンポーネントから、ユーザ状況（第１の実施形態におけるコンテキスト）と、ユーザポリシとに適合するサービスコンポーネントを、サービステンプレートに記述された全てのサービスコンポーネントを選択し、バインドすることによってサービスを合成するサービス合成サーバであり、１つまたは複数の単語（第１の実施形態における意味的メタデータ）からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部（第１の実施形態におけるオントロジＤＢ１５）と、前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報（第１の実施形態におけるＯＷＬ−Ｓファイル）とが対応付けられて記述されているサービスコンポーネント情報記憶部（第１の実施形態におけるＳＥ情報ＤＢ１６）と、ユーザによって入力される前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、前記オントロジ記憶部と、前記サービスコンポーネント情報記憶部とを検索することによって検出する検索部（第１の実施形態におけるＳＥ検索部１１１）と、検出された前記サービスコンポーネントのうち、前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを選択する選択部と（第１の実施形態におけるＳＥ選択部１１２）、選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成するスクリプト生成部（第１の実施形態におけるスクリプト生成部１１３）とを備えることを特徴とする。
【０００７】
また、本発明では、前記ユーザ状況が変化した際、サービス合成サーバの前記選択部は、変化後の前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを再選択し、再選択された前記サービスコンポーネントが、当初選択された前記サービスコンポーネント異なる場合、前記スクリプト生成部は、再選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを再生成することを特徴とする。
【０００８】
また、本発明では、サービス合成サーバの前記スクリプト生成部は、前記ユーザ状況の変化に伴い、前記サービスコンポーネントが前記選択部によって再選択された場合、前記サービス合成サーバに接続される具体的サービス実行スクリプト実行部において実行されている前記スクリプトの実行状況を取得して、前記実行状況に対応する、より適合度の高い前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成することを特徴とする。
【０００９】
本発明は、サービスシナリオを抽象的に記述したサービステンプレートに基づき、各サービスごとに利用可能な１つまたは複数のサービスコンポーネントの候補を検出し、検出された該サービスコンポーネントから、ユーザ状況と、ユーザポリシとに適合するサービスコンポーネントを、サービステンプレートに記述された全てのサービスコンポーネントを選択し、バインドすることによってサービスを合成するサービス合成システムであり、前記サービステンプレートまたはこの識別情報のいずれかであるサービステンプレート情報と、前記ユーザ状況またはこの識別情報のいずれかであるユーザ状況情報と、前記ユーザポリシまたはこの識別情報のいずれかであるユーザポリシ情報とを送信する利用者端末と、前記サービスを提供する複数の前記サービスコンポーネントと、１つまたは複数の単語からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部と、前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報とが対応付けられて記述されているサービスコンポーネント情報記憶部と、利用者端末から受信する前記サービステンプレート情報から取得する前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、前記オントロジ記憶部と、前記サービスコンポーネント情報記憶部とを検索することによって検出する検索部と、検出された前記サービスコンポーネントのうち、前記ユーザ状況情報から取得する前記ユーザ状況と、前記ユーザポリシ情報から取得する前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを選択する選択部と、選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成するスクリプト生成部とを有するサービス合成手段と、前記サービス実行スクリプトを実行するスクリプト解釈実行部（第１の実施形態におけるスクリプト解釈実行部３）とを有することを特徴とする。
【００１０】
また、本発明のサービス合成システムは、前記ユーザ状況が変化した際、前記サービス合成手段において、前記選択部が、変化後の前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを再選択し、再選択された前記サービスコンポーネントが、当初選択された前記サービスコンポーネント異なる場合、前記スクリプト生成部が、再選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを再生成することを特徴とする。
【００１１】
また、本発明のサービス合成システムは、前記サービス合成手段において、前記スクリプト生成部は、前記ユーザ状況の変化に伴い、前記サービスコンポーネントが前記選択部によって再選択された場合、前記サービス合成手段に接続される具体的サービス実行スクリプト実行部において実行されている前記スクリプトの実行状況を取得して、前記実行状況に対応する、より適合度の高い前記サービスコンポーネントのサービス処理を起動する具体的なサービス実行スクリプトを生成することを特徴とする。
【００１２】
また、本発明のサービス合成システムは、前記スクリプトの実行状況を記録する記憶部をさらに有することを特徴とする。
【００１３】
本発明は、サービスシナリオを抽象的に記述したサービステンプレートに基づき、各サービスごとに利用可能な１つまたは複数のサービスコンポーネントの候補を検出し、検出された該サービスコンポーネントから、ユーザ状況と、ユーザポリシとに適合するサービスコンポーネントを、サービステンプレートに記述された全てのサービスコンポーネントを選択し、バインドすることによってサービスを合成する方法であり、利用者端末が前記サービステンプレートまたはこの識別情報のいずれかであるサービステンプレート情報と、前記ユーザ状況またはこの識別情報のいずれかであるユーザ状況情報と、前記ユーザポリシまたはこの識別情報のいずれかであるユーザポリシ情報とを送信する送信過程と、サービス合成手段において、利用者端末から受信する前記サービステンプレートから取得する前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、１つまたは複数の単語からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部と、前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報とが対応付けられて記述されているサービスコンポーネント情報記憶部とを検索することによって検出する検索過程と、検出された前記サービスコンポーネントのうち、前記ユーザ状況情報から取得する前記ユーザ状況と、前記ユーザポリシ情報から取得する前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを選択する選択過程と、選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成する過程と、前記サービス実行スクリプトを実行する過程とを有することを特徴とする。
【発明の効果】
【００１４】
以上説明したように、この発明によれば、サービス合成技術の特長機能と、市中スクリプト解釈・実行製品とを組み合わせることが可能となるため、低コストでユーザの状況に応じたサービス合成を提供することができるという効果がある。
【発明を実施するための最良の形態】
【００１５】
＜第１の実施形態＞
次に、本発明の一実施形態を図面を参照して説明する。図１は本発明におけるサービス合成システムの全体構成を示すブロック図である。サービス合成サーバ１と、ユーザが備える利用者端末２と、スクリプト解釈実行部３と、サービスを提供するＳＥ４−１〜４−Ｎとは、ネットワーク１００を介して接続されている。
上記ネットワーク１００は、たとえば固定電話網、携帯電話網、インターネットなどの公衆網や、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、専用線などの私設網からなる。
本実施形態においては、サービスフロー記述言語の一例として、ＢＰＥＬ（Business Process Execution Language）を具体例として説明するが、たとえば、ＰＤ４Ｊ（Process Definition for Java（登録商標））など、ワークフローや、サービスフローを記述する言語であればいずれのフロー記述言語であっても本発明に適用可能である。
【００１６】
利用者端末２は、ユーザによって入力される、サービスシナリオ（サービステンプレート、以下ではＳＴと記載）や、ユーザポリシをサービス合成サーバ１に送信する。なお、ＳＴとは、どのようなＳＥを利用するかという方針である。また、ＳＴは、具体的なＳＥ識別情報ではなく、「表示装置」や、「経路検索」など、意味的メタデータによって意味的に、ＳＥがもつ機能を指定する。ユーザポリシは、どのようなＳＥを優先するかをという指針を優先度と共に示す情報である。たとえば、ユーザによって定められる「位置が近いＳＥを優先」、「ディスプレイが大きいＳＥ優先」などといった指針が、ユーザによって入力される優先度とともにユーザポリシとして送信される。
【００１７】
また、利用者端末２は、ユーザ入力または、利用者端末２が備えるコンテキスト検出装置によって取得される、ユーザのコンテキスト（状況情報）をサービス合成サーバ１に送信する。なお、ユーザコンテキストとは、たとえばユーザの位置や、ユーザのおかれている、気温、湿度、照度などの環境状況や、ユーザの体温、脈拍、血圧などのユーザの身体状況情報などであり、ユーザの置かれている状況を示す状況情報である。
ユーザの位置は、たとえば、利用者端末２に予めＧＰＳ装置を備えておき取得してもよいし、建物内であれば、各部屋の出入り口や、部屋そのものに通過通知装置を設け、利用者端末２が通過通知装置付近を通過するごとに、通過通知装置によって通知される位置情報を利用者端末２が取得し、取得した位置情報を最終通過位置として利用者端末２が保持しておくことにより、ユーザの位置を特定するなどしてもよい。また、ユーザ入力によって位置を特定してもよい。
【００１８】
環境状況は、たとえば、利用者端末２が気温、湿度、照度などを測定する測定機器を予め備え、所定の周期ごとや、ユーザまたはサービス合成サーバ１からの測定命令情報により、環境状況を測定して、コンテキストとして保持する。
ユーザの体温、脈拍、血圧などの、ユーザの身体状況情報は、たとえば、利用者端末２が体温、脈拍、血圧などを測定する測定装置を予め備え、所定の周期ごとや、ユーザまたはサービス合成サーバ１からの測定命令情報により、身体状況を測定して、コンテキストとして保持する。
【００１９】
ＳＥ４−１〜４−Ｎは、サービスコンポーネント（サービスエレメント、ＳＥ）であり、たとえば、ディスプレイなどの表示装置や、コンピュータなどの装置、web検索サービスや、航空券予約などの各種申し込みサービスなどのウェブサービスなど、サービスを提供する要素（要素体）である。
サービス合成サーバ１は、ユーザによって入力されるＳＴ、ユーザポリシ、コンテキストの３つの情報にもっとも適合する１つまたは複数のＳＥをＳＥ４−１〜４−Ｎから選択し、選択されたＳＥを、ＳＴにしたがって実行させるためのスクリプトを生成し、スクリプトを実行するスクリプト解釈実行部３に送信する。
【００２０】
サービス合成サーバ１において、通信部１０は、ネットワーク１００を介して利用者端末２、スクリプト解釈実行部３、ＳＥ４−１〜４−Ｎとの情報の送受信を行う。
オントロジＤＢ１５には、単語（意味的メタデータ）同士の関係を記述したオントロジ辞書が格納されている。図２は、オントロジＤＢ１５に格納されている、ＳＥ４−１〜４−Ｎの機能を示す意味的メタデータ同士の関係の概念図である。
【００２１】
なお、本明細書において、オントロジとは、意味的メタデータ同士の同値関係や継承関係といった、意味的メタデータの関連性を示す関係情報を意味する。具体的には、たとえば、図２に示すように、「印刷」と、「プリント」と、「Print out」とは、同様の機能を示す意味的メタデータである。このような、同様の機能を示す複数の異なる意味的メタデータの関係を、本明細書においては同値関係とする。また、たとえば、「印刷」と「インクジェットプリント」とは、前者が後者を包含する意味的メタデータであり、「印刷」は「インクジェットプリント」の上位概念である。このような上位概念と、その下位概念との関係にある複数の意味的メタデータ同士の関係を、本明細書においては継承関係とする。
【００２２】
ＳＥ情報ＤＢ１６には、ＳＥ４−１〜４−ＮのＳＥ識別情報に対応させて、ＯＷＬ−Ｓファイルが格納されている。なお、ＯＷＬ−Ｓファイルとは、ＳＥがどのような性質を持つかが記述されるプロファイル（Profile）と、どのようにＳＥが動作するかが記述される抽象的プロセス（意味的メタデータ）が記述されるプロセスモデル（Process Model）と、ＷＳＤＬ（Web Services Description Language）や、ＵＰｎＰ（Universal Plug and Play）などというＳＥの具体的なインタフェースと抽象的なプロセスの間のマッピングを記述したグラウンディング（Grounding）とからなるファイルである。
【００２３】
ＳＥ検索部１１１は、ＳＴに対応するＳＥの候補を検索する。なお、以下では、ＳＴに記述される意味的メタデータに対応する機能を有するＳＥをＳＥ候補と記載し、１つの意味的メタデータおよびその同値のメタデータに対応するＳＥ候補が複数ある場合には、複数のＳＥ候補をＳＥ候補群として記載する。
ＳＥ検索部１１１は、検索して得られた、ＳＥ候補またはＳＥ候補群について、ＳＥ候補ごとに、ＳＥ識別情報とＯＷＬ−ＳファイルとをＳＥ選択部１１２に出力する。また、ＳＥ検索部１１１は、利用者端末２から受信したＳＴと、ユーザポリシと、コンテキストとをＳＥ選択部１１２に出力する。
【００２４】
ＳＥ選択部１１２は、入力されたＳＥ識別情報ごとに、対応するＯＷＬ−Ｓファイルとユーザポリシと、コンテキストとのマッチングによる点数付けを行うことにより、適合度を算出し、ユーザのコンテキストとユーザポリシとにもっとも適切なＳＥを選択する。
ＳＥ選択部１１２は、ＳＴと、選択したＳＥのＳＥ識別情報と、ＯＷＬ−Ｓファイルとをスクリプト生成部１１３に出力する。
【００２５】
スクリプト生成部１１３は、ＳＴに対応するＳＥがすべて選択され、入力されると、実際にＳＥに実行させるサービスフローであるＢＰＥＬファイルのスクリプトを生成する。このスクリプトは、スクリプト生成部１１３が、入力されたＯＷＬ−Ｓファイルのグラウンディングに記述された意味的メタデータと、具体的インタフェースとのマッピング情報に基づいて、ＳＴに記述された意味的メタデータを具体的なインタフェースに適合させる変換を行うことによって、具体的インタフェースが決定されたＢＰＥＬによるスクリプトを生成する。スクリプト生成部１１３は、ＯＷＬ−Ｓファイルのグラウンディングに記述されるＷＳＤＬのＵＲＬに基づき、ＷＳＤＬファイルを取得し、取得したＷＳＤＬファイルと生成したスクリプトとをスクリプトセット部１１４に出力する。
【００２６】
スクリプトセット部１１４は、入力されたスクリプトとＷＳＤＬファイルとをスクリプト解釈実行部３にセット（デプロイ）する。
サービス合成サーバ１において、ＳＥ検索部１１１、ＳＥ選択部１１２、スクリプト生成部１１３、スクリプトセット部１１４をまとめて機能部Ｕ−ｓｋｅ１１と呼び、機能部Ｕ−ｓｋｅ１１は、本発明の要となる機能部である。
市中のすでに提供されているスクリプト解釈実行部３において、通信部３０は、ネットワーク１００に接続され、通信のインタフェースを実現する。実行部３１は、ＢＰＥＬのスクリプトとＷＳＤＬファイルとがセットされると、スクリプトにしたがって、ＳＥのサービスを実行する。
以上の構成により、市中の既製品であるスクリプト解釈実行部３を用いる事ができるため、維持コストを増大させること無くサービス合成を実現することが出来る。
【００２７】
次に、図１の構成における動作例について、図３のシーケンス図を用いて説明する。この動作例においては、ユーザがあらかじめ入力するユーザ自身のスケジュール表を読み出し、現在の位置と、スケジュール表の予定から得られる目的地とを地図上に表示し、モニタに表示させる、というＳＴが入力された場合について説明する。
また、ユーザポリシは、「位置が近いモニタ優先」、コンテキストは「ユーザの位置」であるとする。また、選択されたＳＥは、フロー順に、スケジュールを読み出すＳＥ４−１、現在地と目的地とを地図上に表示する画像を生成するＳＥ４−２、地図を表示するモニタであるＳＥ４−３が選択されたＳＥ群とする。
【００２８】
利用者端末２において、ユーザによってＳＴと、ユーザポリシとが入力される（ステップＳ１）。利用者端末２は、位置情報をユーザ入力または、利用者端末２の持つコンテキスト取得機能により取得し、コンテキストとして、取得した位置情報と、ユーザポリシと、ＳＴとをサービス合成サーバ１に送信する（ステップＳ２）。
【００２９】
サービス合成サーバ１において、通信部１０を介して機能部Ｕ−ｓｋｅ１１は、コンテキストと、ユーザポリシと、ＳＴとを受信する（ステップＳ３）。機能部Ｕ−ｓｋｅ１１において、ＳＥ検索部１１１は、受信したＳＴに記述されるフロー順に意味的メタデータを読み出し、この意味的メタデータと同様の機能を示す意味的メタデータ、すなわち、同値の意味的メタデータ群をオントロジＤＢ１５を検索して取得する。この意味的メタデータ群のすべての意味的メタデータについて、ＳＥ検索部１１１は、検出した各意味的メタデータをキーとしてＳＥ情報ＤＢ１６を検索し、ＳＥ候補のＳＥ識別情報と、このＳＥ識別情報に対応するＯＷＬ−Ｓファイルとを検出することによって、ＳＥ候補検索を行う。ＳＥ検索部１１１は、ＳＥ候補ごとのＳＥ識別情報と、そのＯＷＬ−Ｓファイルとのペアと、ＳＴと、コンテキストと、ユーザポリシとを、ＳＥ選択部１１２に出力する。（ステップＳ４）。
【００３０】
ＳＥ選択部１１２は、ユーザポリシと、ユーザコンテキストとに基づき、ＳＥ候補ごとに点数付けを行い、最もユーザポリシと、コンテキストとに適合するＳＥ候補を選択する。ＳＥ選択部１１２は、ＳＴと、選択したＳＥのＳＥ識別情報と、ＯＷＬ−Ｓファイルとをスクリプト生成部１１３に出力する（ステップＳ５）。
なお、この点数付けは、たとえば、ユーザポリシが「最も近いＳＥを優先」で、Ｎ個のＳＥ候補が入力された場合、各ＯＷＬ−Ｓファイル中のプロファイルに記述される、各ＳＥ候補の位置情報から、コンテキストから得られるユーザの位置情報に近い順にＮ点、（Ｎ−１）点、（Ｎ−２）点、・・・と降順の点数付けを行って、最高得点のものをユーザに適切なＳＥとして選択する。あるいは、たとえば、ユーザの位置ベクトルをUserVec、ＳＥの位置ベクトルをSeVecとして、exp（−（UserVec−SeVec）＾２）などの、位置が近いほど点数が高くなる計算式を定義して、それを用いて点数を計算してもよい。また、ユーザポリシの優先度が複数ある場合は、合計点数が最も高いＳＥを選択してもよいし、優先度の高い順に与える点数に重み付けを行って、合計点数が最も高いＳＥを選択しても良い。
ＳＴに対応するすべてのＳＥが選択されるまで、ＳＥ検索部１１１とＳＥ選択部１１２とはステップＳ４〜５を繰り返す。
【００３１】
スクリプト生成部１１３は、ＳＴに対応するＳＥがＳＥ選択部１１２によってすべて選択され、入力されたかをＳＴに基づき、常にチェックしている。ＳＥがすべて選択され、入力されたことを検出すると、スクリプト生成部１１３は、実際にＳＥに実行させるサービスフローであるＢＰＥＬファイルのスクリプトを生成する。
このスクリプトは、スクリプト生成部１１３が、入力されたＯＷＬ−Ｓファイルのグラウンディングに記述された意味的メタデータと、具体的インタフェースとのマッピング情報に基づいて、ＳＴに記述された意味的メタデータを具体的なインタフェースに適合させる変換を行うことによって、具体的インタフェースが決定されたＢＰＥＬによるスクリプトを生成する。スクリプト生成部１１３は、ＯＷＬ−Ｓファイルのグラウンディングに記述されるＷＳＤＬのＵＲＬに基づき、ＷＳＤＬファイルを取得し、取得したＷＳＤＬファイルと生成したスクリプトとをスクリプトセット部１１４に出力する（ステップＳ６）。
【００３２】
スクリプトセット部１１４は、入力されたスクリプトとＷＳＤＬファイルとをスクリプト解釈実行部３にセット（デプロイ）する（ステップＳ７）。
スクリプト解釈実行部３において、通信部３０を介して、実行部３１は、ＢＰＥＬのスクリプトとＷＳＤＬファイルとがセットされると、スクリプトにしたがって、ＳＥのサービスを実行する（ステップＳ８〜１０）。
なお、ステップＳ８〜１０において、スクリプト解釈実行部３でスクリプトが実行される際、ユーザによって初期入力パラメータなどが入力される構成でも良い。
また、サービス合成サーバ１は、ＳＥ選択部１１２が選択したＳＥの識別情報をユーザの持つ利用者端末２に送信し、ユーザにどのＳＥが選択されて実行されるのかを提示してもよい。この提示は、ＳＥにおいてサービスが実行される都度行われてもよいし、ＳＥ選択部１１２がＳＥを選択した際に、ＳＴに従って選択されたＳＥの識別情報を利用者端末２に送信して提示する方法でもよい。
以上のように、機能部Ｕ−ｓｋｅ１１の構成を有することにより、市中のスクリプト解釈実行部３を用いて、サービス合成技術を実現する事が可能となる。
【００３３】
＜第２の実施形態＞
次に、ユーザの移動や、ユーザの人数の変動など、コンテキスト変化が起こった際、ユーザにとって最適なＳＥが変化する場合に、最適なＳＥに切り替える場合について、実施例を説明する。たとえば、ユーザポリシに「距離が最も近いＳＥを優先」と記述されていれば、ユーザが移動した場合には、ユーザに適したＳＥは、当初選択されたＳＥと異なるという状況が起こりうる。また、ユーザの人数が増えるなどのコンテキスト変化が起これば、たとえば、表示領域のより広い表示装置がユーザにとって必要となる。本実施形態においては、このようなコンテキスト変化の際に、ユーザのコンテキストに最も適するサービスに随時切り替えを行うことを可能とする構成および動作について説明する。
図４は、第２の実施形態におけるサービス合成システムの全体構成を示すブロック図である。第２の実施形態おいて、第１の実施形態における図１と同様の構成については、同一の符号を付し、その説明を省略し、異なる部分についてのみ説明する。
サービス合成サーバ１において、コンテキスト・ポリシ管理部１３は、利用者端末２から受信するコンテキストと、ユーザポリシとが、変化したか否かをチェックする。
コンテキスト・ポリシＤＢ１７には、最後に利用者端末２から受信したコンテキストと、ユーザポリシとが記録されている。
【００３４】
スクリプト解釈実行部３において、状態取得インタフェース３２は、実行部３１において実行されているＢＰＥＬファイルのスクリプト状態、たとえば、パラメータの値や、どこまで処理が進んだのかなどを取得する。
【００３５】
次に、図４の構成における動作例について、図５のシーケンス図を用いて説明する。第１の実施形態における図３と同様の動作については、同一の符号を付し、その説明を省略し、異なる動作についてのみ説明する。
なお、この実施例においては、ユーザポリシ、コンテキスト、ＳＴ、は、第１の実施形態と同様であるが、選択されたＳＥのうち、ユーザの移動によって、スクリプト実行中に、当初選択されたモニタのＳＥ４−３よりも最適なＳＥとして、ＳＥ４−４が発見された場合について説明する。
【００３６】
サービス合成サーバ１において、利用者端末２から、コンテキストとユーザポリシとを受信する（ステップＳ２０）。このコンテキストとユーザポリシとは、コンテキスト・ポリシ管理部１３が周期的にコンテキスト・ユーザポリシ送信命令を利用者端末２に、送信することによって取得しても良いし、利用者端末２が周期的にサービス合成サーバ１に送信しても良いし、ユーザ入力によって送信されても良い。
コンテキスト・ポリシ管理部１３は、コンテキストとユーザポリシとを受信すると（ステップＳ２１）、コンテキスト・ポリシＤＢ１７からコンテキストとユーザポリシとを読み出し（ステップＳ２２）、受信したコンテキストとユーザポリシと、読み出したコンテキストとユーザポリシとを比較し、一致しなければ、ユーザの状態が変わったと判断し、機能部Ｕ−ｓｋｅ１１に、受信したコンテキストとユーザポリシとを出力する（ステップＳ２３）。
【００３７】
機能部Ｕ−ｓｋｅ１１において、コンテキストとユーザポリシとが入力されると、ステップＳ４と同様に、ＳＥ検索部１１１が、ステップＳ４で入力されたＳＴに基づいて、オントロジＤＢ１５から同値の意味的メタデータを検索し、この意味的メタデータに対応するＳＥ候補群をＳＥ情報ＤＢ１６から検出する（ステップＳ２４）。ＳＥ選択部１１２は、ステップＳ５と同様に、ＳＥ検索部１１１からの入力に基づき、最適なＳＥを選択し、スクリプト生成部１１３に最適なＳＥのＳＥ識別情報とＯＷＬ−Ｓファイルとを出力する（ステップＳ２５）。
【００３８】
スクリプト生成部１１３は、ＳＴに対応するすべてのＳＥが選択されたことを検出すると、ステップＳ６で入力されたＳＥと比較する。ここで、ＳＥがすべて同一であれば、実行中のスクリプトは最適なサービスを提供しているものとして、実行中のスクリプトを継続させる。また、ＳＥが１つでも異なれば、ユーザにとって最適なＳＥが変化したとして、スクリプト生成部１１３はスクリプト解釈実行部３にスクリプト停止命令情報を送信し、実行部３１は、実行中のスクリプトを停止する（ステップＳ２６）。
実行部３１は、スクリプトを停止すると、状態取得インタフェース３２に状態取得命令を出力し、状態取得インタフェース３２が、実行していたスクリプトのパラメータ・どこまでのスクリプトが実行されていたかなどの状態情報を取得し、状態情報を実行部３１に出力する（ステップＳ２７）。実行部３１は、取得された状態情報をサービス合成サーバ１に送信する（ステップＳ２８）。
【００３９】
サービス合成サーバ１において、スクリプト生成部１１３は、スクリプト生成部１１３を通信部１０を介して受信し、ＳＴと、ＳＥのＯＷＬ−Ｓファイルと、状態情報から、スクリプトを生成する。スクリプト生成部１１３は、ステップＳ６と同様に、ＯＷＬ−Ｓファイルのグラウンディングに記述されるＷＳＤＬのＵＲＬに基づき、新たに選択されたＳＥ群のＷＳＤＬファイルを取得し、取得したＷＳＤＬファイルと生成したスクリプトとをスクリプトセット部１１４に出力する（ステップＳ２９）。
スクリプトセット部１１４は、ステップＳ７と同様に通信部１０を介して、入力されたスクリプトとＷＳＤＬファイルとをスクリプト解釈実行部３にセット（デプロイ）する（ステップＳ３０）。
【００４０】
スクリプト解釈実行部３において、実行部３１は、通信部３０を介して新たに受信したスクリプトを実行する（ステップＳ３１）。
上記のように、状態情報をスクリプト解釈実行部３から取得することにより、状態を引き継いだ、スムーズなＳＥ切り替えを実現する事が可能となる効果がある。
従来の市中スクリプト解釈実行部３では、既知のＳＥの連携が対象であったため、あらかじめ定められたスクリプトが入力され、実行される。このため、コンテキスト変化に応じてサービス実行中にＳＥを切り替えることは出来なかったが、上記の第２の実施形態における構成により、スクリプト解釈実行部３に入力されるスクリプトをサービス合成サーバ１において常にユーザに最適なスクリプトに切り替えることが可能となり、コンテキストアウェアなＳＥ切り替えを、サービス実行中に可能とする事ができるという効果があり、ユーザにとって常に適した合成サービスを提供することが可能となる。
【００４１】
なお、ＳＥ情報ＤＢ１６には、ＯＷＬ−Ｓファイルそのものが格納されているとしたが、ＳＥ識別情報と、意味的メタデータが記述されるプロセスモデルと、ＯＷＬ−Ｓファイルが得られるアドレス（たとえばウェブのＵＲＬや、ＯＷＬ−Ｓファイルが格納されている記憶領域のアドレスなど）とが対応付けて書き込まれていてもよい。この場合、ＯＷＬ−Ｓファイルの取得方法は、ＳＥ検索部１１１が、意味的メタデータをキーとしてＳＥ情報ＤＢ１６を検索し、意味的メタデータに対応するＳＥのＯＷＬ−Ｓファイルのアドレスを取得して、このアドレスにアクセスしてＯＷＬ−Ｓファイルを得る。
【００４２】
また、第１及び第２の実施形態においては、ＳＥ選択部１１２がステップＳ５およびステップＳ２５のＳＥ選択を行っていたが、ＳＥ候補群を利用者端末２に提示し、ユーザによってＳＥが選択される構成でも良い。
また、第２の実施形態において、ＳＥの切り替えを機能部Ｕ−ｓｋｅ１１が行っていたが、ステップＳ２６において、ＳＥ切り替えを行うか否かの選択画面を利用者端末２に提示し、ユーザに選択させる構成でも良い。
また、第２の実施形態において、実行部３１の状態取得命令によって、状態取得インタフェース３２が状態情報を取得していたが、あらかじめスクリプト生成部１１３において、常に状態情報を保持させるスクリプトを生成する構成でも良い。この場合、スクリプト解釈実行部３に、状態情報の記憶部を設けても良いし、スクリプト解釈実行部３の外部にネットワーク１００に接続された状態情報の記憶部を設けても良い。この場合、スクリプト生成部１１３は、スクリプト停止命令情報をスクリプト解釈実行部３に送信した後、状態情報の記憶部から、状態情報を読み出して、スクリプトを生成する。
また、この外部状態情報記憶部は、状態情報を記憶する専用のＳＥであっても良い。
【００４３】
また、第２の実施形態のステップＳ２３でコンテキスト・ユーザポリシの比較を行う際、ユーザポリシに変更が無く、コンテキストのみ変更があった場合には、ＳＥ検索部１１１が検索するＳＥ候補群は同一のＳＥ候補群が検出されるため、ステップＳ２４は行わず、ステップＳ２３を実行した後、ステップＳ２５を行ってもよい。
また、ネットワーク１００に接続されるＳＥ４−１〜４−Ｎが増減する場合も、以下の構成・動作によりＳＥの切り替えに対応可能である。機能部Ｕ−ｓｋｅ１１は、ＳＥ情報ＤＢ１６の更新日時を予め記憶しておき、ＳＥ情報ＤＢ１６に定期的にアクセスするなどすることにより、ＳＥ情報ＤＢ１６の更新の有無を検出する。ＳＥ情報ＤＢ１６の更新があったと検出された場合には、第２の実施形態における、コンテキスト受信があった場合と同様に、サービス合成サーバ１とスクリプト解釈実行部３とにおいて、ステップＳ２４〜ステップＳ３１を行う。これにより、ＳＥ４−１〜４−Ｎに更新があった場合についても、ユーザにもっとも適したサービスを提供することが可能となる効果がある。
【００４４】
また、第１及び第２の実施形態においては、利用者端末２からＳＴそのものが送信される構成としたが、予めＳＴとその識別情報とを対応付けて格納するＳＴ記憶部を設け、利用者端末２からＳＴの識別情報をサービス合成サーバ１へ送信し、サービス合成サーバ１はＳＴの識別情報に対応するＳＴをＳＴ記憶部から取得する構成でも良い。このＳＴの識別情報は、たとえばユーザ識別情報や、利用者端末２の識別情報などでもよいし、ＳＴが識別できる情報であればいずれの識別情報でも適用可能である。
また、第２の実施形態においては、利用者端末２からユーザポリシそのものとコンテキストそのものとがサービス合成サーバ１に送信される構成としたが、利用者端末２は、コンテキスト・ポリシＤＢ１７に予め格納されているコンテキストの識別情報と、ユーザポリシの識別情報とをサービス合成サーバ１へ送信し、サービス合成サーバ１はこれらの識別情報に対応するコンテキストとユーザポリシとをコンテキスト・ポリシＤＢ１７から読み出す構成でもよい。
【００４５】
また、第１及び第２の実施形態において、コンテキストは利用者端末２が取得する構成としたが、予め設置されるコンテキスト取得装置などによってコンテキストを取得してもよい。たとえば、コンテキスト取得装置が、気温、湿度、照度などの環境情報からなるコンテキストと、このコンテキスト取得装置の位置情報とを周期的またはサービス合成サーバ１から送信される取得命令情報に応じてサービス合成サーバ１に送信する。サービス合成サーバ１において、利用者端末２が取得するユーザの位置情報から、最も近いコンテキスト取得装置を検出し、最も近いコンテキスト取得装置から送信されたコンテキストをユーザコンテキストとしてコンテキスト・ポリシＤＢ１７にユーザを識別する情報と対応付けて書きこむことによって随時更新される。コンテキスト・ポリシ管理部１３は、コンテキスト・ポリシＤＢ１７の情報が更新されているか否かを管理している。この更新管理は、たとえばコンテキストの更新時にコンテキスト・ポリシ管理部１３に更新したことを示す信号が出力されることによってもよいし、予め全てのコンテキスト・ポリシＤＢ１７の情報をコンテキスト・ポリシ管理部１３が複製して保持しておき、所定の周期ごとまたは、ユーザ入力による更新管理命令信号等に応じて、保持した情報とコンテキスト・ポリシＤＢ１７の情報を比較し、更新の有無を検出する。更新が検出された場合は、コンテキストとユーザポリシとを機能部Ｕ−ｓｋｅ１１に出力し、サービス合成サーバ１およびスクリプト解釈実行部３においてステップＳ２４〜Ｓ３１の処理が行われる。
【図面の簡単な説明】
【００４６】
【図１】本発明の第１の実施形態におけるサービス合成システムの構成例を示すブロック図である。
【図２】オントロジＤＢ１５に格納されるオントロジの概念図の一例を示す図面である。
【図３】本発明の第１の実施形態におけるサービス合成システムの動作例を示すシーケンス図である。
【図４】本発明の第２の実施形態におけるサービス合成システムの構成例を示すブロック図である。
【図５】本発明の第２の実施形態におけるサービス合成システムの動作例を示すシーケンス図である。
【符号の説明】
【００４７】
１  サービス合成サーバ
２  利用者端末
３  スクリプト解釈実行部
４−１〜４−Ｎ  ＳＥ
１０  通信部
１１  機能部Ｕ−ｓｋｅ
１３  コンテキスト・ポリシ管理部
１５  オントロジＤＢ
１６  ＳＥ情報ＤＢ
１７  コンテキスト・ポリシＤＢ
３０  通信部
３１  実行部
３２  状態取得インタフェース
１００  ネットワーク
１１１  ＳＥ検索部
１１２  ＳＥ選択部
１１３  スクリプト生成部
１１４  スクリプトセット部
【図１】
2008059346.tif 000003
【図２】
2008059346.tif 000004
【図３】
2008059346.tif 000005
【図４】
2008059346.tif 000006
【図５】
2008059346.tif 000007