(57)【特許請求の範囲】
【請求項１】
指定されたサービスシナリオに基づき、サービス機能の要素であるサービスコンポーネントを連携して連携サービスを提供するサービス連携システムにおいて用いられる前記サービスシナリオを作成するサービスシナリオ作成装置であって、
ユーザ端末からサービス提供依頼情報を入力する入力手段と、
前記サービスシナリオ情報を記憶するサービスシナリオ記憶手段と、
カテゴリに基づいた監視対象を監視し、該監視した監視対象が条件を満たすか否かを検出する監視手段と、処理を実行する処理手段と、前記監視手段により検出した検出結果に基づいて前記処理手段に所定の処理を実行させる結合手段とからなるサービスシナリオブロックを入力されたサービス提供依頼情報に基づいて組み合わせるサービスシナリオブロック組み合わせ手段と、
前記サービス提供依頼情報に基づいて、前記組み合わせたサービスシナリオブロックのそれぞれに対して、前記サービスコンポーネントを分類したカテゴリおよび前記サービスシナリオブロックの実行条件を設定し、前記カテゴリと前記実行条件が設定された前記サービスシナリオブロックの組合せを前記サービスシナリオ情報として前記サービスシナリオ記憶手段に記憶するカテゴリ・条件設定手段と
を備えることを特徴とするサービスシナリオ作成装置。
【請求項２】
前記カテゴリ・条件設定手段は、
前記サービス提供依頼情報に基づいて、前記監視手段が検出を実行する開始条件と終了条件とを設定することを特徴とする請求項１に記載のサービスシナリオ作成装置。
【請求項３】
前記監視手段は、
前記監視対象の情報を最新の情報に切り替える切換手段を備えることを特徴とする請求項１に記載のサービスシナリオ作成装置。
【請求項４】
前記カテゴリ・条件設定手段は、
前記サービス提供依頼情報に基づいて、前記処理手段の処理の内容を設定することを特徴とする請求項１に記載のサービスシナリオ作成装置。
【請求項５】
前記結合手段は、
前記監視手段の検出結果を論理演算し、該論理演算した結果に基づいて前記処理手段の処理を実行させ、
前記カテゴリ・条件設定手段は、
前記サービス提供依頼情報に基づいて、前記結合手段の論理演算の演算方法を設定することを特徴とする請求項１に記載のサービスシナリオ作成装置。
【請求項６】
前記カテゴリ・条件設定手段は、
前記サービス提供依頼情報に基づいて、前記処理手段の前記第２のカテゴリと前記第２の条件とを設定することを特徴とする請求項１に記載のサービスシナリオ作成装置。
【請求項７】
前記処理手段は、
第２のカテゴリに基づいた監視対象を監視し、該監視した第２の監視対象が第２の条件を満たすか否かを検出し、該検出結果に基づいて前記処理を実行することを特徴とする請求項６に記載のサービスシナリオ作成装置。
【請求項８】
指定されたサービスシナリオに基づき、サービス機能の要素であるサービスコンポーネントを連携して連携サービスを提供するサービス連携システムにおいて用いられる前記サービスシナリオを作成するために、ユーザ端末からサービス提供依頼情報を入力する入力手段と、サービスシナリオ情報を記憶するサービスシナリオ記憶手段とを備えるサービスシナリオ作成装置におけるサービスシナリオ作成方法であって、
カテゴリに基づいた監視対象を監視し、該監視した監視対象が条件を満たすか否かを検出する監視手段と、処理を実行する処理手段と、前記監視手段により検出した検出結果に基づいて前記処理手段に所定の処理を実行させる結合手段とからなるサービスシナリオブロックを入力されたサービス提供依頼情報に基づいて組み合わせるサービスシナリオブロック組み合わせステップと、
前記サービス提供依頼情報に基づいて、前記組み合わせたサービスシナリオブロックのそれぞれに対して、前記サービスコンポーネントを分類したカテゴリおよび前記サービスシナリオブロックの実行条件を設定し、前記カテゴリと前記実行条件が設定された前記サービスシナリオブロックの組合せを前記サービスシナリオ情報として前記サービスシナリオ記憶手段に記憶するカテゴリ・条件設定ステップと
を有することを特徴とするサービスシナリオ作成方法。
【請求項９】
指定されたサービスシナリオに基づき、サービス機能の要素であるサービスコンポーネントを連携して連携サービスを提供するサービス連携システムにおいて用いられる前記サービスシナリオを作成するために、ユーザ端末からサービス提供依頼情報を入力する入力手段と、サービスシナリオ情報を記憶するサービスシナリオ記憶手段とを備えるサービスシナリオ作成装置上のコンピュータにサービスシナリオを作成させるコンピュータプログラムであって、
カテゴリに基づいた監視対象を監視し、該監視した監視対象が条件を満たすか否かを検出する監視ステップと、処理を実行する処理ステップと、前記監視ステップにより検出した検出結果に基づいて前記処理ステップに所定の処理を実行させる結合ステップとからなるサービスシナリオブロックを入力されたサービス提供依頼情報に基づいて組み合わせるサービスシナリオブロック組み合わせステップと、
前記サービス提供依頼情報に基づいて、前記組み合わせたサービスシナリオブロックのそれぞれに対して、前記サービスコンポーネントを分類したカテゴリおよび前記サービスシナリオブロックの実行条件を設定し、前記カテゴリと前記実行条件が設定された前記サービスシナリオブロックの組合せを前記サービスシナリオ情報として前記サービスシナリオ記憶手段に記憶するカテゴリ・条件設定ステップと
を前記コンピュータに行わせることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連携サービスの提供において、サービス連携をどのように行うかを記述（設定）するサービスシナリオを作成するサービスシナリオ作成技術に関する。
【背景技術】
【０００２】
従来のサービスシナリオ作成技術としては、ＷＳ（Web Service)を連携するときに用いられるＢＰＥＬ（Business Process Execution Language for Web Services）（例えば、非特許文献１参照）がある。本ＢＰＥＬは、複数のＷＳを順に呼び出し実行する手順を一連のビジネスの流れとして記述することができる言語である。
これにより「注文を受け付ける」「在庫を確認する」といった一連のビジネス・プロセスにおいて「いつ」「どのような条件のときに」「どのＷＳを呼び出すか」を定義することが可能になる。
【０００３】
しかしながら、ＢＰＥＬは、元来Ｂ２Ｂ（Business to Business）を対象にしたものであり、予め利用するＷＳを決めておき、それを前提にサービスフローであるＢＰＥＬ文書と接続定義とをＢＰＥＬ実行エンジンにデプロイするものであることから、一般のユーザがユーザの状況に応じてＷＳを選択し（即ち予め利用するＷＳを決めておくことができない）、バインドし実行する場合に適用するのは困難である。
【０００４】
また、他のサービスシナリオ作成技術としては、ユーザやネットワークに適応するサービスを実現するために、サービスやネットワークを構成するより小さな単位である「機能」を基本単位とし、本機能を、機能に関するメタデータを利用して動的に組み合わせ、連携させることによりサービスを構築するものがある。
【０００５】
図９は、上記における従来のサービスシナリオ作成処理を説明するための図である。同図はＦ１を音源ソース、Ｆ２を音量調整機能、Ｆ３を音声出力機能、Ｆ４をダイアル機能とすることにより、ネットワーク上を流れる音楽ストリームの音量を何らかの機器のダイアルで制御する連携サービスが構築できることを示している。
これによりユーザやネットワークの状況に応じた柔軟性のあるサービスを実現できることになる（例えば、非特許文献２参照）。
また、サービス連携を柔軟に行うために、サービスシナリオを意味的メタデータで記述し、実行時に適切なサービス要素を発見、選択する技術がある（例えば、非特許文献３参照）。
【非特許文献１】Business Process Execution Language http://www.oasis-open,org/committees/download.php/18714/wsbpel-specification-draft-May17.htm(平成１９年５月7日検索）
【非特許文献２】南正輝  森川博之  青山友紀，“動的でアドホックなネットワークサービスフレームワークの検討〜ネットワークサービスシンセサイザＳＴＯＮＥ〜”，DICOM02000, June 2000.
【非特許文献３】山登庸次、中辻冥、須永宏、“ユビキタス環境にて動的にサービス実現するためのサービス合成技術”、情報処理学会論文誌  Vol.48, No.2, pp.562-577, Feb. 2007
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、機能に関するメタデータを利用し動的に組み合わせ連携させるには、機能について、また機能に関するメタデータおよび機能間のインタフェースについて十分理解している必要があり、理解する機会の少ない一般のユーザが、どのような機能を、どのように連携させるかを考えサービスシナリオをつくりあげることは困難なことであるという問題がある。
また、上記に述べたとおり、これらの従来のサービスシナリオ作成技術では、一般のユーザがユーザの状況に応じてＷＳあるいは機能を選択し、ユーザ自らの思い（ユーザ自身の端末の操作）で連携サービスのサービスシナリオを作成することは困難であるという問題がある。
このように、上記に述べた従来のシナリオ作成技術にあっては、一般のユーザがユーザの状況に応じてＷＳあるいは機能を選択し、ユーザ自らの思いで連携サービスのサービスシナリオを作成することができないという問題がある。
【０００７】
本発明は、このような事情に鑑みてなされたもので、その目的は、上記の問題を解決し、一般のユーザがユーザの状況に応じてＷＳあるいは機能を選択し、ユーザ自らの思いで連携サービスのサービスシナリオが作成でき、特に「もしこうなったらこうしてほしい」という監視を伴う連携サービスのサービスシナリオが容易に作成できるサービスシナリオ作成方法、サービス連携エンジンおよびサービス連携プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
この発明は上述した課題を解決するためになされたもので、本発明は、指定されたサービスシナリオに基づき、サービス機能の要素であるサービスコンポーネントを連携して連携サービスを提供するサービス連携システムにおいて用いられる前記サービスシナリオを作成するサービスシナリオ作成装置であって、入力されたサービス提供依頼情報に基づいて、前記サービスシナリオを構成するサービスシナリオブロックを組み合わせるサービスシナリオブロック組み合わせ部と、前記サービス提供依頼情報に基づいて、前記組み合わせたサービスシナリオブロックのそれぞれに、カテゴリあるいは、および条件を設定するカテゴリ・条件設定部と、を備えることを特徴とするサービスシナリオ作成装置である。
【０００９】
また、この発明は、前記サービスシナリオブロックが、カテゴリに基づいた監視対象を監視し、該監視した監視対象が条件を満たすか否かを検出する監視ブロックと、処理を実行する処理ブロックと、前記監視ブロックの検出した検出結果に基づいて前記処理ブロックに処理を実行させる結合ブロックとである、ことを特徴とする。
【００１０】
また、この発明は、前記カテゴリ・条件設定部が、前記サービス提供依頼に基づいて、前記監視ブロックが検出を実行する開始条件と終了条件とを設定する、ことを特徴とする。
【００１１】
また、この発明は、前記監視ブロックが、前記監視対象の情報を最新の情報に切り替える切換部、を備えることを特徴とする。
【００１２】
また、この発明は、前記カテゴリ・条件設定部が、前記サービス提供依頼に基づいて、前記処理ブロックの処理の内容を設定する、ことを特徴とする。
【００１３】
また、この発明は、前記結合ブロックが、前記監視ブロックの検出結果を論理演算し、該論理演算した結果に基づいて前記処理ブロックの処理を実行させ、前記カテゴリ・条件設定部が、前記サービス提供依頼に基づいて、前記結合ブロックの論理演算の演算方法を設定する、ことを特徴とする。
【００１４】
また、この発明は、前記処理ブロックが、第２のカテゴリに基づいた監視対象を監視し、該監視した第２の監視対象が第２の条件を満たすか否かを検出し、該検出結果に基づいて前記処理を実行する、ことを特徴とする。
【００１５】
また、この発明は、前記カテゴリ・条件設定部が、前記サービス提供依頼に基づいて、前記処理ブロックの前記第２のカテゴリと前記第２の条件とを設定する、ことを特徴とする。
【００１６】
また、この発明は、指定されたサービスシナリオに基づき、サービス機能の要素であるサービスコンポーネントを連携して連携サービスを提供するサービス連携システムにおいて用いられる前記サービスシナリオを作成するサービスシナリオ作成装置において用いられるサービスシナリオ作成であって、入力されたサービス提供依頼情報に基づいて、前記サービスシナリオを構成するサービスシナリオブロックを組み合わせるサービスシナリオブロック組み合わせステップと、前記サービス提供依頼情報に基づいて、前記組み合わせたサービスシナリオブロックのそれぞれに、カテゴリあるいは、および条件を設定するカテゴリ・条件設定ステップと、を備えることを特徴とする。
【００１７】
また、この発明は、指定されたサービスシナリオに基づき、サービス機能の要素であるサービスコンポーネントを連携して連携サービスを提供するサービス連携システムにおいて用いられる前記サービスシナリオを作成するサービスシナリオ作成装置としてのコンピュータに、入力されたサービス提供依頼情報に基づいて、前記サービスシナリオを構成するサービスシナリオブロックを組み合わせるサービスシナリオブロック組み合わせステップと、前記サービス提供依頼情報に基づいて、前記組み合わせたサービスシナリオブロックのそれぞれに、カテゴリあるいは、および条件を設定するカテゴリ・条件設定ステップと、を実行させることを特徴とする。
【発明の効果】
【００１８】
この本発明によれば、一般のユーザがユーザの状況に応じてＷＳあるいは機能を選択し、ユーザ自らの思いで連携サービスのサービスシナリオを容易に作成することが可能になる。
【００１９】
また、この本発明によれば、更に下記に述べる効果ないし利点がある。
（１）エンドユーザにとっては、少ない記述量で思い通りの連携サービスがつくれることから満足度が高まることになる。
（２）サービス提供者にとっては、ユーザに対し容易に連携サービスがつくれる環境を提供できることからユーザの囲い込みができ、他社との差別化が図れる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して、本発明の実施の形態について説明する。また、図面において対応する構成には同一の符号を付け、その説明を省略する。
【００２１】
（システム構成）
図１は、本発明を用いた実施の形態におけるシステムの構成例を示す概略ブロック図である。同図は本システムが、ネットワーク１と、サービス連携エンジン２と、オントロジＤＢ４と、サービスコンポーネント提供装置５と、サービスコンポーネント情報ＤＢ６と、サービスシナリオＤＢ７と、ユーザコンテキスト・ポリシＤＢ８と、ユーザ端末装置９とを有して構成されることを示しており、サービス連携エンジン２、オントロジＤＢ４、サービスコンポーネント提供装置５、サービスコンポーネント情報ＤＢ６、サービスシナリオＤＢ７、ユーザコンテキスト・ポリシＤＢ８およびユーザ端末装置９はネットワーク１に接続されることを示している。
なお、本発明は、非特許文献３等の従来技術を応用しており、サービス連携エンジン２にサービスシナリオ作成機能を備えていることが、従来技術と大きく異なる点である。オントロジＤＢ４、サービスコンポーネント提供装置５、サービスコンポーネント情報ＤＢ６、サービスシナリオＤＢ７、ユーザコンテキスト・ポリシＤＢ８は、非特許文献３等の技術を利用すればよい。
【００２２】
ネットワーク１は、電話交換等の通信ネットワークあるいは、インターネット等の情報ネットワークあるいは、移動体ネットワーク等のネットワークである。
サービス連携エンジン２は、サービスシナリオに基づき選択の候補となるサービスコンポーネントのオペレーションメタデータを検出し、検出した候補の中から利用するサービスコンポーネントのオペレーションメタデータを選択し、選択したサービスコンポーネントのオペレーションの実行・連携を行うエンジンであり、更に本発明の特徴であるサービスシナリオの作成を容易にする機能を有するものである。詳細についてはこの後説明する。
【００２３】
オントロジＤＢ４は、カテゴリ（例えば、同等サービスコンポーネント機能をカテゴライズした単位）およびそれに登録されたサービスコンポーネントのオペレーションメタデータを蓄積し、またカテゴリ間の関係（継承関係あるいは同値関係）を蓄積するデータベースである。
【００２４】
サービスコンポーネント提供装置５は、サービスコンポーネントのオペレーションメタデータをオントロジＤＢ４に、またサービスコンポーネントのオペレーションメタデータ等をサービスコンポーネント情報ＤＢ６に登録し、更にサービス連携エンジン２からサービスコンポーネントのオペレーションの実行要求を受信し、オペレーションを実行し、実行の結果をサービス連携エンジン２に返送する装置である。
【００２５】
サービスコンポーネント情報ＤＢ６は、登録されたサービスコンポーネントのオペレーションメタデータ等を蓄積し、サービスコンポーネントのオペレーションメタデータを検索キーとして、サービスコンポーネントのオペレーションのインタフェース情報が取得できるデータベースである。
【００２６】
サービスシナリオＤＢ７は、作成されたサービスシナリオを蓄積するデータベースである。
ユーザコンテキスト・ポリシＤＢ８は、ユーザのコンテキスト情報およびポリシ情報を蓄積するデータベースである。
ユーザ端末装置９は、ユーザが操作する端末装置であり、サービス連携エンジン２にサービス提供依頼情報を送出し、サービス連携エンジン２から返送される依頼サービス実行の結果を受信するものである。
【００２７】
なお、図面の都合上サービスコンポーネント提供装置５およびユーザ端末装置９は一つずつ示しているが、それぞれ複数存在していてもよい。複数存在場合であり、例えば、サービスコンポーネント提供装置５が２個である場合には、サービスコンポーネント提供装置５ａ、サービスコンポーネント提供装置５ｂのように表わすものとする。
【００２８】
(システム機能)
本システムの機能は、サービス連携エンジン２が、ユーザ端末装置９から送られてくるサービス提供依頼情報に基づき、サービスシナリオを構成するサービスシナリオブロックを組み合わせ、組み合わされたサービスシナリオブロックにカテゴリあるいは、および該当する条件（条件）を記述（設定）することによりサービスシナリオを作成し、作成したサービスシナリオに基づき各種のＤＢを検索し、サービスコンポーネントのオペレーションの実行・連携を行い、実行の結果をユーザ端末装置９に返送するものである。
【００２９】
(サービス連携エンジン構成)
次に、上記に述べたシステム機能を実現する本システムの構成装置の構成について説明する。
図２は、図１のシステムにおける構成装置のうち本発明に関係するサービス連携エンジン２の構成例を示す図である。同図はサービス連携エンジン２の機能のうち本発明に関る部分のみを概念的に示している。
【００３０】
サービス連携エンジン２は、サービスシナリオ設定部２１と、サービスコンポーネント検出部２２と、サービスコンポーネント選択部２３と、サービスコンポーネント実行・連携部２４とを有して構成されることを示している。
サービスシナリオ設定部２１は、本発明の特徴であるサービスシナリオ作成処理部２１１を有している。
【００３１】
サービスシナリオ作成処理部２１１は、ユーザ端末装置９から送られてくるサービス提供依頼情報に基づき、サービスシナリオを構成するサービスシナリオブロックを１以上組み合わせるサービスシナリオブロック組み合わせ部と、このサービスシナリオブロック組み合わせ部が組み合わせたサービスシナリオブロックに、カテゴリあるいは、および該当する条件（条件）を記述することにより設定するカテゴリ・条件設定部と、を有する。
このサービスシナリオブロックとは、例えば、カテゴリに基づいた監視対象を監視し、該監視した監視対象が条件を満たすか否かを検出する監視ブロック２１１１と、処理を実行する処理ブロック２１１３と、監視ブロック２１１１の検出した検出結果に基づいて前記処理ブロック２１１３に処理を実行させる結合ブロック２１１２と、である。
【００３２】
また、後述するように、監視ブロック２１１１は、監視対象の情報を最新の情報に切り替える切換部を備える。また、監視ブロック２１１１は、例えば、監視した監視対象が条件を満たすか否かを検出した結果として「真」または「偽」を出力する。また、結合ブロック２１１２は、監視ブロック２１１１の検出結果を論理演算し、該論理演算した結果に基づいて処理ブロック２１１３の処理を実行させる。また、処理ブロック２１１３は、第２のカテゴリに基づいた監視対象を監視し、該監視した第２の監視対象が第２の条件を満たすか否かを検出し、該検出結果に基づいて処理を実行する。
【００３３】
また、カテゴリ・条件設定部は、サービス提供依頼に基づいて、監視ブロック２１１１が検出を実行する開始条件と終了条件とを設定する。また、カテゴリ・条件設定部は、サービス提供依頼に基づいて、処理ブロック２１１３の処理の内容を設定する。また、カテゴリ・条件設定部は、サービス提供依頼に基づいて、結合ブロック２１１２の論理演算の演算方法を設定する。また、カテゴリ・条件設定部は、サービス提供依頼に基づいて、処理ブロック２１１３の第２のカテゴリと第２の条件とを設定する。
【００３４】
なお、このサービスシナリオブロックの組み合わせのための情報は、サービス提供依輸清報の中に始めから含めておくことも、サービスシナリオ作成処理部２１１がサービス提供依頼情報に基づき、例えば対話的に、決めることもできる。またカテゴリおよび該当する条件の記述の情報についても、同様に、サービス提供依頼情報の中に始めから含めておくことも、サービスシナリオ作成処理部２１１がユーザ端末装置９との間でサービス提供依頼情報を送受信する中でユーザ端末装置９に問い合わせて、例えば対話的に、決めることもできる。
【００３５】
ここでは、監視ブロック２１１１と、結合ブロック２１１２と、処理ブロック２１１３との３つを組み合わせた例について説明する。
この監視ブロック２１１１は、カテゴリとしてカテゴリＡを含み、該当する条件として開始条件を含んでいるものである。更に監視するには最新のデータをもとに行わなければ意味がないことから、サービスコンポーネントのオペレーションメタデータが更新された場合には、更新されたサービスコンポーネントのオペレーションメタデータに切り換える機能を切換Ａ（切換部）として含んでいる。この切換部は、例えば、監視対象であるサービスコンポーネントのオペレーションメタデータを一定時間毎にポーリングすることにより変化を検出し、変化があった場合に更新する。または、切換部は、例えば、サービスコンポーネントのオペレーションメタデータの更新を、外部からイベントとして入力される。監視ブロック２１１１の詳細については、この後説明する。
【００３６】
また、結合ブロック２１１２は、監視ブロック２１１１からの監視結果を処理ブロック２１１３に伝えるものである。結合ブロック２１１２の詳細については、この後説明する。
また、処理ブロック２１１３は、カテゴリとしてカテゴリＢを含んでいるものである。更に処理するには最新のデータをもとに行う必要があることから、サービスコンポーネントのオペレーションメタデータが更新された場合には、更新されたサービスコンポーネントのオペレーションメタデータに切り換える機能を切換Ｂとして含んでいる。処理ブロック２１１３の詳細については、この後説明する。
【００３７】
以下の説明は、上記に述べた機能に基づいて行うものとする。
サービスシナリオ作成処理部２１１で作成したサービスシナリオは、サービスシナリオＤＢ７に蓄積し有効利用することができる。
サービスコンポーネント検出部２２は、サービスシナリオのカテゴリに記述されているカテゴリ名（カテゴリＡ、カテゴリＢ）およびオペレーションメタデータに基づいて選択の候補となるサービスコンポーネントのオペレーションメタデータを検出する（検出Ａ、検出Ｂ）。なお切り換えの機能（切換Ａ、切換Ｂ）を含むサービスシナリオブロック（監視ブロック２１１１、処理ブロック２１１３）のカテゴリのサービスコンポーネントのオペレーションメタデータの検出にあっては、検出後もサービスコンポーネントのオペレーションメタデータの更新があるかもしれないので、検出を継続するものとする。検出したサービスコンポーネントのオペレーションメタデータはサービスコンポーネント選択部２３に伝えられる。
【００３８】
サービスコンポーネント選択部２３は、検出された候補の中から利用するサービスコンポーネントのオペレーションメタデータを選択する（選択Ａ、選択Ｂ）。なお切り換えの機能（切換Ａ、切換Ｂ）を含むサービスシナリオブロック（監視ブロック２１１１、処理ブロック２１１３）のカテゴリのサービスコンポーネントのオペレーションメタデータの選択にあっては、選択後もサービスコンポーネントのオペレーションメタデータの更新があるかもしれないので、選択を継続するものとする。選択したサービスコンポーネントのオペレーションメタデータはサービスコンポーネント実行・連携部２４に伝えられる。
【００３９】
サービスコンポーネント実行・連携部２４は、監視ブロック２１１１、結合ブロック２１１２および処理ブロック２１１３に沿ってサービスコンポーネントのオペレーションの実行・連携を行う。監視ブロック２１１１において開始条件が一致すると実行を開始する。実行の開始にあたっては、サービスコンポーネント選択部２３から伝えられたサービスコンポーネントのオペレーションメタデータが更新された場合には、更新されたサービスコンポーネントのオペレーションメタデータに切り換え（切換Ａ）、切り換えたサービスコンポーネントのオペレーションメタデータのインタフェース情報を取得し（インタフェース情報取得Ａ）、インタフェース情報の取得によりサービスコンポーネント提供装置５ａにサービスコンポーネントのオペレーションの実行（実行Ａ）を要求する。実行の結果が条件に合わなかった場合は条件が合うまで実行（実行Ａ）を繰り返す。繰り返し中は切り換え（切換Ａ）を継続する。
【００４０】
一方実行（実行Ａ）の結果が条件に合った場合は次の実行（実行Ｂ）に移ることになる。ここにおいても、サービスコンポーネント選択部２３から伝えられたサービスコンポーネントのオペレーションメタデータが更新された場合には、更新されたサービスコンポーネントのオペレーションメタデータに切り換え（切換Ｂ）、切り換えたサービスコンポーネントのオペレーションメタデータのインタフェース情報を取得し（インタフェース情報取得Ｂ）、インタフェース情報の取得によりサービスコンポーネント提供装置５ｂにサービスコンポーネントのオペレーションの実行（実行Ｂ）を要求し、実行の結果をユーザ端末装置９に返送する。
【００４１】
（サービスシナリオブロック）
次に、サービスシナリオブロックの仕組みについて説明する。
図３は、本発明のサービスシナリオブロックの構成を説明するための図である。図３（１）は、監視ブロック２１１１の基本形を示すものであり、変化を検出する場合に適用される。図３（２）は、処理ブロック２１１３の基本形を示すものであり、処理を行う場合に適用される。図３（３）は、結合ブロック２１１２の基本形を示すものであり、ブロック間を結合する場合に適用される。
【００４２】
監視ブロック２１１１の基本形は、監視対象としてはサービスコンポーネントとして提供されているものであり、その変化を検出するものである。監視対象になるサービスコンポーネントのカテゴリを記述する。また監視を開始する条件、終了する条件、どのような変化を検出するかをＩＦ条件として記述する。更に変化の検出はサービスコンポーネントのオペレーションメタデータが更新された場合には、更新されたサービスコンポーネントのオペレーションメタデータに切り換えて行うようにする。ＩＦ条件は複数設定できる。
【００４３】
処理ブロック２１１３の基本形は、処理そのものはサービスコンポーネントとして提供されているものを利用する。またどんな場合に処理を行うかをＩＦ条件として記述する。更に処理はサービスコンポーネントのオペレーションメタデータが更新された場合には、更新されたサービスコンポーネントのオペレーションメタデータに切り換えて行うようにする。ＩＦ条件は複数設定できる。
結合ブロック２１１２の基本形は、複数の入力と複数の出力とが対応できるようにする。また入力にあってはそれがＡＮＤであるかＯＲであるかを指定できるようにする。
【００４４】
（サービスシナリオ作成処理）
次に、サービスシナリオ作成処理について説明する。
図４は、図２におけるサービス連携エンジン２のサービス作成処理例を説明するための図である。
まず、図４（１）を用いて、作成処理例１であり「今日、○○会社の株価が１０００円を越したら電話で知らせてほしい」というサービス提供依頼情報の場合の、連携サービスのサービスシナリオについて説明する。
ブロックの組み合わせは、ユーザが指定することも、「こうなったらこうして欲しい」というサービスパターンの申し込みであるということから、サービスシナリオ作成処理部２１１が行うこともできる。
【００４５】
この場合、監視ブロックは、カテゴリには「株価取得」が入り、開始条件には「今日の初めから」、終了条件には「今日一杯あるいはＩＦ条件が満たされたら終了」であり、ＩＦ条件は「○○会社の株価が１０００円を越したら」になる。更新されたサービスコンポーネントのオペレーションメタデータヘの切り換えは監視ブロックの中で既に構成されているため、ユーザが意識して操作する必要はない。
【００４６】
また、結合ブロックは、監視ブロック１つと処理ブロック１つとをつなげる（直結）ことになる。
また、処理ブロックは、カテゴリには「電話通知」が入り、監視ブロックから「１０００円を越した」ことが伝えられたら無条件で通知してもらうことから。ＩＦ条件は「なし」になる。更新されたサービスコンポーネントのオペレーションメタデータヘの切り換えは処理ブロックの中で既に構成されているため、ユーザが意識して操作する必要はない。
【００４７】
次に、図４（２）を用いて、作成処理例２であり「今日、○○会社の株価が１０００円を越すか、あるいは△△会社の株価が１００円アップしたら、午前中なら電話で、午後ならメールで知らせてほしい」というサービス提供依頼情報の場合の、連携サービスのサービスシナリオについて説明する。
ブロックの組み合わせは、ユーザが指定することも、「こうなったら（複数）こうして欲しい（複数）」というサービスパターンの申し込みであるということからサービスシナリオ作成処理部２１１が行うこともできる。
【００４８】
まず、監視ブロックＡは、図４（１）と同様である。
次に、監視ブロックＢは、図４（１）と同様であるが、ＩＦ条件には「△△会社の株価が１００円アップしたら」が入る。
結合ブロックは、２つの監視ブロックからの監視結果情報をＯＲとして、いずれの場合であっても両方の処理ブロックに伝える。
処理ブロックＡは、図４（１）と同様であるが、ＩＦ条件には「午前」が入る。
処理ブロックＢは、図４（１）と同様であるが、カテゴリには「メール通知」が入り、ＩＦ条件には「午後」が入る。
【００４９】
なお、上記の説明ではサービスシナリオブロックの組み合わせは、「監視ブロック−結合ブロック−処理ブロック」としたが、処理ブロックの後に更に「結合ブロック−監視ブロック」と組み合わせることにより「こうなったらこうして、更にこうなったらこうする」という連携サービスのサービスシナリオをつくることも可能である。
【００５０】
（サービス連携エンジン動作）
図５は、図２におけるサービス連携エンジン２の動作例を示すフローチャートである。
まず、サービスシナリオ設定部２１が、ユーザ端末装置９から送られてくるサービス提供依頼を受け付け（ステップＡ１）、ブロックを組み合わせ（ステップＡ２）、監視ブロック２１１１のカテゴリを設定し（ステップＡ３）、開始条件を設定し（ステップＡ４）、終了条件を設定し（ステップＡ５）、ＩＦ条件を設定し（ステップＡ６）、結合ブロック２１１２の結合条件（直結）を設定し（ステップＡ７）、処理ブロック２１１３のカテゴリを設定し（ステップＡ８）、ＩＦ条件を設定（ステップＡ９）する。
【００５１】
次に、サービスコンポーネント検出部２２が、選択の候補となるサービスコンポーネントのオペレーションメタデータを検出し、サービスコンポーネントのオペレーションメタデータの検出を継続する（ステップＡ１０）。
次に、サービスコンポーネント選択部２３が、検出された候補の中から利用するサービスコンポーネントのオペレーションメタデータを選択し、サービスコンポーネントのオペレーションメタデータの選択を継続する（ステップＡ１１)。このステップＡ１０とステップＡ１１との処理は、全カテゴリ（カテゴリＡ、カテゴリＢ）について行われる。
【００５２】
次に、サービスコンポーネント実行・連携部２４が、監視ブロック２１１１の開始条件が一致すると（ステップＡ１２）、更新されたサービスコンポーネントのオペレーションメタデータヘ切り換え（ステップＡ１３）、サービスコンポーネントのオペレーションを実行し（ステップＡ１４）、ＩＦ条件が一致した場合は（ステップＡ１５)、処理ブロック２１１３において更新されたサービスコンポーネントのオペレーションメタデータヘ切り換え（ステップＡ１６)、サービスコンポーネントのオペレーションを実行し（ステップＡ１７）、実行の結果をユーザ端末装置９に返送し（ステップＡ１８)、依頼サービスの実行を終了する（ステップＡ１９)。その後、ステップＡ１に戻り、ユーザ端末装置９から送られてくるサービス提供依頼の受信を待つ。
【００５３】
一方ステップＡ１５においてＩＦ条件が一致しなかった場合は、終了条件に一致しているか否かを判断し（ステップＡ２０）、終了条件に一致していなければ監視を継続するためにステップＡ１３に戻る。またステップＡ２０において終了条件に一致している場合は依頼サービスの実行を終了する（ステップＡ１９)
【００５４】
（システム動作）
次に、本システムの動作について説明する。合わせて本発明の方法について説明する。
図６は、図１における本システムの動作例を示すシーケンスチャートである。同図はユーザ端末装置９、ユーザコンテキスト・ポリシＤＢ８、サービス連携エンジン２、オントロジＤＢ４、サービスシナリオＤＢ７、サービスコンポーネント情報ＤＢ６、およびサービスコンポーネント提供装置５間のシーケンスを示している。
【００５５】
まず、ユーザ端末装置９が、サービス連携エンジン２にサービス提供依頼情報を送出する（ステップＢ１）。次に、サービス連携エンジン２が、１以上のサービスシナリオブロックを組み合わせ（ステップＢ２）、組み合わせたサービスシナリオブロックにカテゴリあるいは、および該当する条件を設定することによりサービスシナリオを作成し（ステップＢ３）、選択の候補となるサービスコンポーネントのオペレーションメタデータを検出し、検出を継続し(ステップＢ４)、検出された候補の中から利用するサービスコンポーネントのオペレーションメタデータを選択し、選択を継続し(ステップＢ５)、監視ブロックの開始条件が一致すると(ステップＢ６)、更新されたサービスコンポーネントのオペレーションメタデータに切り換え(ステップＢ７)、サービスコンポーネントのオペレーションを実行し(ステップＢ８)、ＩＦ条件が一致したことにより(ステップＢ９)、処理ブロックにおいて更新されたサービスコンポーネントのオペレーションメタデータに切り換え(ステップＢ１０)、サービスコンポーネントのオペレーションを実行し(ステップ１１)、実行の結果をユーザ端末装置９に返送する(ステップＢ１２)。
【００５６】
なお、上記ステップＢ２にあっては、サービスシナリオブロックとして監視ブロック、処理ブロックおよび結合ブロックをとることを許容するものである。
また、上記ステップＢ３にあっては、監視ブロックの該当する条件とは、開始条件、終了条件、ＩＦ条件であることを許容するものである。
また、上記ステップＢ３にあっては、処理ブロックの該当する条件とは、ＩＦ条件であることを許容するものである。
また、上記ステップＢ３にあっては、結合ブロックの該当する条件とは、入出力対応条件および入力のＡＮＤあるいはＯＲ条件であることを許容するものである。
【００５７】
（サービス提供依頼）
次に、図７と図８とを用いて、ユーザ端末装置９がサービスシナリオ作成処理部２１１に送信するサービス提供依頼と、該サービス提供依頼を受信したサービスシナリオ作成処理部２１１の受け付け処理とについて、説明する。
ここでは、上記において説明した作成処理例１であり「今日、○○会社の株価が１０００円を越したら電話で知らせてほしい」というサービス提供依頼情報の場合に、連携サービスのサービスシナリオを生成する場合について説明する。また、サービス提供依頼情報の中に始めから、サービスシナリオブロック、カテゴリ、該当する条件を含む場合（図７）と、最初に送られてくるサービス提供依頼情報の中には、サービスシナリオブロック、カテゴリ、該当する条件が含まれておらず、その後にサービス提供依頼情報の一環として、サービスシナリオ作成処理部２１１とユーザ端末装置９との間で情報のやり取りをして対話的に決める場合（図８）と、について説明する。
【００５８】
まず、図７を用いて、サービス提供依頼情報の中に始めから、サービスシナリオブロック、カテゴリ、該当する条件を含めてある場合について説明する。
この場合、ユーザ端末装置９は、「今日、○○会社の株価が１０００円を越したら電話で知らせてもらう」という情報と、更に、「使用するブロックが、監視ブロック、処理ブロック、および、結合ブロックである」ことを示す情報と、監視ブロックのカテゴリが「株価取得」であり、開始条件が「今日あたまから」であり、終了条件が「今日一杯まであるいは検出したら」であり、ＩＦ条件が「○○会社が１０００円を越したら」であるという情報と、また、処理ブロックのカテゴリが「電話通知」であるという情報と、が含められているサービス提供依頼をサービスシナリオ作成処理部２１１に送信する（ステップＳ１０１）。サービスシナリオ作成処理部２１１は、このサービス提供依頼に基づいて、サービスシナリオを作成する。
なお、このサービスシナリオ作成処理部２１１の処理は、例えば、受信したサービス提供依頼情報に対して、構文解析、形態素解析などの自然言語処理を実行し、この自然言語処理の結果に基づいて、監視ブロック、処理ブロック、結合ブロックを組み合わせるようにしてもよい。
【００５９】
次に、図８を用いて、最初に送られてくるサービス提供依頼情報の中には、サービスシナリオブロック、カテゴリ、該当する条件が含まれておらず、その後にサービス提供依頼情報の一環として、サービスシナリオ作成処理部２１１とユーザ端末装置９との間で情報のやり取りをして対話的に決める場合について説明する。
この場合、まず、ユーザ端末装置９は、例えば、「今日、○○会社の株価が１０００円を越したら電話で知らせてほしい」というサービス提供依頼情報を、サービスシナリオ作成処理部２１１に送信する（ステップＳ２０１）。
【００６０】
次に、このサービス提供依頼情報を受信したサービスシナリオ作成処理部２１１は、受信したサービス提供依頼情報に基づいて「こうなったらこうして欲しい」サービスと判断し、「こうなったら」から監視ブロックを選択し、「こうして欲しい」から処理ブロックを選択し、また、選択したブロックが２つであることから結合ブロックを選択する。
なお、このサービスシナリオ作成処理部２１１の処理は、例えば、受信したサービス提供依頼情報に対して、構文解析、形態素解析などの自然言語処理を実行し、この自然言語処理の結果に基づいて、監視ブロックまたは処理ブロックを選択するようにしてもよい。
【００６１】
次に、サービスシナリオ作成処理部２１１は、選択した監視ブロックに基づいて、「監視ブロックのカテゴリは？」という質問情報をユーザ端末装置９に送信する（ステップＳ２０２）。次に、ユーザ端末装置９は、受信した「監視ブロックのカテゴリは？」に応じて、ユーザの操作により、例えば、「株価取得」をサービスシナリオ作成処理部２１１に返信する（ステップＳ２０３）。
次に、サービスシナリオ作成処理部２１１は、ユーザ端末装置９からの返信を受信したことにより、選択した監視ブロックの「監視ブロックのカテゴリは？」に該当する設定箇所に、この受信した「株価取得」を設定するとともに、選択した監視ブロックに基づいて、「開始条件、終了条件は？」という質問情報をユーザ端末装置９に送信する（ステップＳ２０４）。
【００６２】
以後、同様に、サービスシナリオ作成処理部２１１は、選択した監視ブロック、処理ブロック、および、結合ブロックに基づいて、ユーザ端末装置９と順次対話的に、設定情報を受信し（ステップＳ２０５〜ステップＳ２１１）、受信した設定情報を選択した監視ブロック、処理ブロック、および、結合ブロックに設定する。
【００６３】
このように、サービスシナリオ作成処理部２１１は、ユーザ端末装置９から受信したサービス提供依頼情報に基づいて選択した監視ブロック、処理ブロック、および、結合ブロックを選択し、選択した監視ブロック、処理ブロック、および、結合ブロックが予め有する設定情報を設定するための質問情報をユーザ端末装置９に送信し、該送信した質問情報に応じたユーザ端末装置９からの返信を受信し、受信した返信に応じて、選択した監視ブロック、処理ブロック、および、結合ブロックが予め有する設定情報を対話的に順次設定する。
【００６４】
上記の実施形態の説明においては、結合ブロック２１１２の論理演算の演算方法としてＡＮＤまたはＯＲとして説明したが、これに限られるものではなく、任意の論理演算の演算方法を用いてもよい。また、カテゴリ・条件設定部も、サービス提供依頼に基づいて、結合ブロック２１１２の論理演算として、任意の論理演算の演算方法を設定してもよい。
【００６５】
上記に述べたとおり、本発明を実施するための最良の形態によれば、一般のユーザがユーザの状況に応じてＷＳあるいは機能を選択し、ユーザ自らの思いで連携サービスのサービスシナリオを容易に作成することが可能になる。
【００６６】
なお、オントロジＤＢ４、サービスコンポーネント情報ＤＢ６、サービスシナリオＤＢ７、または、ユーザコンテキスト・ポリシＤＢ８の記憶部は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＲ−ＲＯＭ等の読み出しのみが可能な記憶媒体、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
【００６７】
また、サービス連携エンジン２またはサービスコンポーネント提供装置５は専用のハードウェアにより実現されるものであってもよく、また、このサービス連携エンジン２またはサービスコンポーネント提供装置５はメモリおよびＣＰＵ（中央演算装置）により構成され、サービス連携エンジン２またはサービスコンポーネント提供装置５の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【００６８】
また、図１におけるサービス連携エンジン２またはサービスコンポーネント提供装置５の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりサービス連携エンジン２またはサービスコンポーネント提供装置５の機能を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００６９】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７０】
なお、本発明は、図面を用いて説明した実施形態に限定されるものではなく、その主旨を逸脱しない範囲において種々変更可能である。
【産業上の利用可能性】
【００７１】
上記に説明したとおり、本発明が産業上の利用が可能であることは明らかである。即ちエンドユーザにとっては、少ない記述量で思い通りの連携サービスがつくれることから満足度が高まり、サービス提供者にとっては、ユーザに対し容易に連携サービスがつくれる環境を提供できることからユーザの囲い込みができ、他社との差別化が図れることから、サービスの利用拡大、導入拡大が進められ、システムおよび関連装置の需要が一層高まることが期待できる。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施の形態におけるシステムの構成例を示す概略ブロック図である。
【図２】図１のシステムにおけるサービス連携ヱンジンの構成例を示す図である。
【図３】本発明のサービスシナリオブロックの構成例を説明するための図である。
【図４】図３のサービスシナリオブロックを用いたサービスシナリオ作成処理例を説明するための図である。
【図５】図２のサービス連携エンジンの動作例を示すフローチャートである。
【図６】図１におけるシステムの動作例を示すシーケンスチャートである。
【図７】サービス提供依頼情報を受信する場合のユーザ端末装置とサービスシナリオ作成処理部との動作例１を示すシーケンスチャートである。
【図８】サービス提供依頼情報を受信する場合のユーザ端末装置とサービスシナリオ作成処理部との動作例２を示すシーケンスチャートである。
【図９】従来のサービスシナリオ作成処理を説明するための図である。
【符号の説明】
【００７３】
１    ネットワーク
２    サービス連携エンジン
２１  サービスシナリオ設定部
２１１  サービスシナリオ作成処理部
２１１１  監視ブロック
２１１２  結合ブロック
２１１３  処理ブロック
２２  サービスコンポーネント検出部
２３  サービスコンポーネント選択部
２４  サービスコンポーネント実行・連携部
４    オントロジＤＢ
５（５ａ、５ｂ）  サービスコンポーネント提供装置
６    サービスコンポーネント情報ＤＢ
７    サービスシナリオＤＢ
８    ユーザコンテキスト・ポリシＤＢ
９    ユーザ端末装置
【図１】
0004729005.tif 000002
【図２】
0004729005.tif 000003
【図３】
0004729005.tif 000004
【図４】
0004729005.tif 000005
【図５】
0004729005.tif 000006
【図６】
0004729005.tif 000007
【図７】
0004729005.tif 000008
【図８】
0004729005.tif 000009
【図９】
0004729005.tif 000010