(57)【要約】【課題】サービスを実行中に、より適切なＳＥに、ＳＥを自動的に切り替えるようにする。【解決手段】検索部１１は、サービス実行中に、ＳＥレジストリ２から、該サービスに現在使用されているＳＥと同一カテゴリに属する他のＳＥを周期的に検索し、検索したＳＥのメタデータをＳＥ記述保持部１２に格納する。点数付け部１３は、ＳＥ記述保持部１２に格納されているＳＥを周期的に点数付けし、現在選択されているＳＥよりもよりも点数の高いＳＥがあれば、ＳＥ切替イベントを実行制御部１４に送信する。実行制御部１４は点数付け部１３よりＳＥ切替イベントを受信すると、実行中のサービスを一旦中断し、現在実行中のＳＥの状態を引き継いで、通知された新しいＳＥのオペレーションを呼び出し、新しいＳＥに切り替える。【選択図】図１
2006209509.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のサービスカテゴリを有し、各サービスカテゴリは１つ以上のサービス要素を含み、各カテゴリから選択された１つのサービス要素を組み合わせたサービスを実行中に、少なくとも一部のサービス要素を、同一カテゴリに属する他のサービス要素に切り替える、サービス合成装置で行われるサービス要素切り替え方法であって、
検索手段が、サービス実行中に、該サービスに現在使用されているサービス要素と同一カテゴリに属する他のサービス要素を周期的に検索し、検索したサービス要素のプロファイル記述をサービス要素プロファイル記述保持手段に格納するサービス要素検索ステップと、
点数付け手段が、前記サービス要素プロファイ記述保持手段に格納されているサービス要素を周期的に点数付けし、現在選択されているサービス要素よりもより良いサービス要素を選択し、より適したサービス要素があることを通知する点数付けステップと、
実行制御手段が、前記通知を受けると、現在実行中のサービス要素の状態を引き継いで、前記選択されたより良いサービス要素のオペレーションを呼び出し、現在使用されているサービス要素を前記選択されたより良いサービス要素に切り替える実行制御ステップと
を有する、サービス要素切り替え方法。
【請求項２】
前記点数付けステップは、ユーザの状況、嗜好を表すユーザコンテキスト情報と、当該サービス要素のプロファイル情報の関数である、各単評価基準の当該カテゴリに対する点数付け関数に、当該単評価基準の重みを乗算したものをすべての単評価基準について加算した値を、当該サービス要素の点数とする、請求項１に記載のサービス要素切り替え方法。
【請求項３】
前記点数付け手段は、現在のサービス要素が選択された際は、該サービス要素よりも低い点数だったサービス要素、あるいは発見されていなかったサービス要素を、今回の点数付けにより、これらが、現在選択されているサービス要素よりも点数が高くなった場合に、前記選択されたより良いサービス要素として前記実行制御手段に通知する、請求項１または２に記載のサービス要素切り替え方法。
【請求項４】
１つ以上のサービスカテゴリを有し、各サービスカテゴリは１つ以上のサービス要素を含み、各カテゴリから選択された１つのサービス要素を組み合わせたサービスを実行中に、少なくとも一部のサービス要素の、同一カテゴリに属する他のサービス要素への切り替えを、コンピュータに実行さるためのサービス要素切り換えプログラムであって、
サービス実行中に、該サービスに現在使用されているサービス要素と同一カテゴリに属する他のサービス要素を周期的に検索し、検索したサービス要素のプロファイル記述をサービス要素プロファイ記述保持手段に格納するサービス要素検索手順と、
前記サービス要素プロファイ記述保持手段に格納されているサービス要素を周期的に点数付けし、現在選択されているサービス要素よりもより良いサービス要素を選択し、より適したサービス要素があることを通知する点数付け手順と、
現在実行中のサービス要素の状態を引き継いで、前記選択されたより良いサービス要素のオペレーションを呼び出し、現在使用されているサービス要素を前記選択されたより良いサービス要素に切り替える実行手順と
をコンピュータに実行させるためのサービス要素切り替えプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つ以上のサービスカテゴリを有し、各サービスカテゴリは１つ以上のサービス要素を含み、各カテゴリから選択された１つのサービス要素を組み合わせたサービスを実行中に、少なくとも一部のサービス要素を、同一カテゴリに属する他のサービス要素に切り替えるサービス要素切り替え方法に関する。
【背景技術】
【０００２】
近年、ＩＴ技術の進歩により、数多くのサービス要素（Ｗｅｂ  Ｓｅｒｖｉｃｅ、Ｗｅｂページ、デバイス、コンテンツ、センサなど）がネットワークを介してアクセス可能になっている。これらのサービス要素を、ユーザの状況、嗜好に応じて合成し、基本的に必要なサービスを提供するサービス合成技術の研究が進んできた（非特許文献１）。
【０００３】
このサービス合成技術は、必要な機能を記述したサービス設計図に基づいて、合成するサービス要素を発見し、バインドすることで、合成サービスを実現する。
【０００４】
図５はサービス設計図の一例を模式的に示したものである。ここでは、サービス設計図をＳＴ（Ｓｒｖｉｃｅ  Ｔｅｍｐｌａｔｅ）、サービス要素をＳＥ（Ｓｅｒｖｉｃｅ  Ｅｌｅｍｅｎｔ）と呼ぶことにする。また、ＳＥが提供している機能を意味的・抽象的にカテゴライズした単位をサービスカテゴリと呼ぶことにする、図５に示した例では、あるサービスが、レストラン広告、翻訳、出力の３つのカテゴリからなり、レストラン広告には、フランス料理、中華料理といったＳＥがあり、翻訳には、フランス語→日本語、英語→日本語といったＳＥがあり、出力にはＴＶ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔｎｔ）といったＳＥ要素があることを示している。
【０００５】
図６は従来のサービス合成システムの模式図、図７はそのサービス合成のシーケンス図である。
【０００６】
インターネット等のネットワーク６には、複数のＳＥ１1 〜１nと、ＳＥレジストリ２と、サービス合成装置８とが接続されている。
【０００７】
ＳＥ１1 〜１n はＳＥ記述レジストラとサービス実体とからなっている。ＳＥレジストリ２は複数のＳＥ記述が格納されている。ＳＥ記述はＳＥインタフェース情報（ＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）やＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）文書など）と、サービスカテゴリ名と、ＳＥメタデータ（ＳＥ名、位置、値段、提供者名などの、ＳＥの特性を表す情報）からなる。サービス合成装置８は検索部１５と実行制御部１６を含んでいる。
【０００８】
次に、図６のシステムの動作を図７により説明する、ＳＥ記述レジストラはＳＥレジストリ２にＳＥ記述を登録する。ここで、ユーザ７がサービス合成装置８の検索部１５にＳＴを入力すると、検索部１５は入力されたＳＴからカテゴリ情報を取得し、該カテゴリ情報を元に、ＳＥレジストリ２から必要なカテゴリのＳＥを検索し、マッチするＳＥのＳＥ記述を取得し、ＳＥ記述群をユーザ７に提示する。ユーザ７が提示されたＳＥ記述群を見て利用するＳＥを選択すると、検索部１５はユーザ７が入力したＳＴと、選択したＳＥ記述を実行制御部１６に通知する。実行制御部１６は以後、ＳＥ１へのオペレーション呼び出し、オペレーション戻り値の受け取り、関数のパラメータの引継ぎの動作を繰り返す。
【非特許文献１】Ｍ．Ｔａｋｅｍｏｔｏ，Ｔ．Ｏｈｉｓｈｉ，Ｔ．Ｉｗａｔａ，Ｙ．Ｙａｍａｔｏ，Ｙ．Ｔａｎａｋａ，Ｋ．Ｓｈｉｎｎｏ，Ｓ．Ｔｏｋｕｍｏｔｏ，ａｎｄ  Ｎ．Ｓｈｉｍａｍｏｔｏ，“Ａ  Ｓｅｒｖｉｃｅ−Ｃｏｍｐｏｓｉｔｉｏｎ  ａｎｄ  Ｓｅｒｖｉｃｅ−Ｅｍｅｒｇｅｎｃｅ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｕｂｉｑｕｉｔｏｕｓ−Ｃｏｍｐｕｔｉｎｇ  Ｅｎｖｉｒｏｎｍｅｎｔｓ，”Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ａｐｐｌｉｃａｔｉｏｎｓ  ａｎｄ  ｔｈｅ  Ｉｎｔｅｒｎｅｔ  （ＳＡＩＮＴ２００４）ＷＳ，ｐｐ．３１３−３１８，Ｊａｎ．２００４．
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、上述した従来技術は、最初にＳＥを合成してユーザに適したサービスを作っても、サービスを実行中に、ユーザの状況変化に応じて、一部ＳＥを他のより最適なＳＥに切り替えることができない、という問題があった。
【００１０】
ユーザの状況変化に応じてＳＥを切替える必要がある例として、たとえば、コンテンツを出力表示するというサービスの場合は、出力ＳＥとして、ユーザが家に居るならば、テレビ、移動中ならば、ＰＤＡ、出張先ならば、プロジェクタなどのように、コンテンツを出力するデバイスを切れ替える例が考えられる。同様に、表示するコンテンツが近くの食事所のＣＭの場合なども、移動に応じてコンテンツを切替える必要がある。
【００１１】
本発明の目的は、サービスを実行中に、より適切なＳＥに、ＳＥを自動的に切り替えることができるＳＥ切り替え方法およびプログラムを提供することである。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明のＳＥ切り替え方法は、サービス合成装置で行われるＳＥ切り替え方法であって、
検索手段が、サービス実行中に、該サービスに現在使用されているＳＥと同一カテゴリに属する他のＳＥを周期的に検索し、検索したＳＥのプロファイル記述をＳＥプロファイル記述保持手段に格納するＳＥ検索ステップと、
点数付け手段が、ＳＥプロファイ記述保持手段に格納されているＳＥを周期的に点数付けし、現在選択されているＳＥよりもより良いＳＥを選択し、より適したＳＥがあることを通知する点数付けステップと、
実行制御手段が、前記通知を受けると、現在実行中のＳＥの状態を引き継いで、前記選択されたより良いＳＥのオペレーションを呼び出し、現在使用されているＳＥを前記選択されたより良いＳＥに切り替える実行制御ステップと
を有する。
【００１３】
本発明は、ユーザの移動などの状況変化に応じて、サービスのＳＥの一部をより最適なＳＥに切り替えるために、一定周期で、現在使われているＳＥと同一カテゴリに属するＳＥを検索し、検索したＳＥを何らかの評価基準により点数付けする。点数付けの結果、現在選択されているＳＥよりもより良いＳＥがあると、実行中のサービスのＳＥをより良いＳＥに切り替え、サービスの実行を継続する。
【００１４】
本発明の実施態様によれば、点数付けステップは、ユーザの状況、嗜好を表すユーザコンテキスト情報と、当該ＳＥのプロファイル情報の関数である、各単評価基準の当該カテゴリに対する点数付け関数に、当該単評価基準の重みを乗算したものをすべての単評価基準について加算した値を、当該ＳＥの点数とする、これにより、より適切なＳＥの選択が可能となる。
【００１５】
本発明の他の実施態様によれば、点数付け手段は、現在のＳＥが選択された際は、該ＳＥよりも低い点数だったＳＥ、あるいは発見されていなかったＳＥを、今回の点数付けにより、これらが、現在選択されているＳＥよりも点数が高くなった場合に、前記選択されたより良いＳＥとして前記実行制御手段に通知する。これにより、ＳＥの切り替えが頻繁に起きるのを避けることができる。
【発明の効果】
【００１６】
本発明は、サービスを実行中に、より適切なＳＥに、ＳＥを自動的に切り替えることができる。
【発明を実施するための最良の形態】
【００１７】
次に、本発明の実施の形態を、図面を参照して説明する。
【００１８】
図１は本発明の一実施形態を示すシステム構成図である。インターネット等のネットワーク６には、複数のＳＥ１1 〜１nと、ＳＥレジストリ２と、コンテキスト保持装置３と、コンテキスト検出機器４と、サービス合成装置５とが接続されている。
【００１９】
ＳＥ１1 〜１n はＳＥ記述レジストラとサービス実体とからなっている。ＳＥレジストリ２は複数のＳＥ記述が格納されている。
【００２０】
コンテキスト保持装置３はユーザコンテキストを保持している。ユーザコンテキストは、ユーザの状況、嗜好を表す情報群であり、たとえば、現在位置、時間、所持金、趣味など、様々なデータを含む。
【００２１】
コンテキスト検出機器４はコンテキスト収集部１７によりコンテキストを収集し、コンテキスト保持装置３に保持されているコンテキストを定期的に更新する。コンテキスト検出機器４として、たとえば市販のＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）を使うことができる。
【００２２】
サービス合成装置５は検索部１１とＳＥ記述保持部１２と点数付け部１３と実行制御部１４を含んでいる。検索部１１は、サービス実行中に、ＳＥレジストリ２から、該サービスに現在使用されているＳＥと同一カテゴリに属する他のＳＥを周期的に検索し、検索したＳＥのメタデータをＳＥ記述格納部１２に格納する。点数付け部１３は、サービスが実行されている最中に、ユーザ７の移動などの状況の変化に応じて一部のＳＥを最適なＳＥに切替えるために、ＳＥ記述保持部１２に格納されているＳＥを周期的に点数付けし、現在選択されているＳＥよりもよりも点数の高いＳＥがあれば、その旨（ＳＥ切替イベント）を実行制御部１４に通知する。実行制御部１４は点数付け部１３よりＳＥ切替イベントを通知されると、実行中のサービスを一旦中断し、現在実行中のＳＥの状態を引き継いで、点数付け部１３より通知された新しいＳＥのオペレーションを呼び出し、新しいＳＥに切替える。
【００２３】
ここで、点数付け部１３における、ＳＥの点数付けについて詳しく説明する。ＳＥの点数は、図２に示す、ユーザ評価基準、ユーザコンテキスト情報、ＳＥメタデータの３つで決まる。これらは全て、複数のデータの組み合わせで表現される。
【００２４】
ユーザ評価基準は、いくつかの単評価基準（１つの評価基準で、たとえば、位置の近さ、値段の安さ）の重ねあわせで表現される。ユーザはこれらの単評価基準に、図２に示すように、重みをつけることで、評価基準のカスタマイズ化が可能である。単評価基準と、単評価基準の点数付け関数は点数付け部１３に登録されているが、ネットワーク６上のデータベース（不図示）等に登録されていてもよい。ユーザコンテキストとＳＥメタデータは、前述したとおりである。点数付け関数は各単評価基準により全く異なるものとなる。例えば、距離の近さという単評価基準の点数付け関数としては
ｆ（現在地、ＳＥ位置）＝ｅｘｐ（−（ユーザ北緯−ＳＥ北緯）＾２
−（ユーザ東経−ＳＥ東経）＾２）
が考えられる。もちろん、これ以外の関数でもよい。
【００２５】
サービス実行中に、サービスカテゴリｊのｋ番目のＳＥの点数は、上記の３つの情報を使って以下のように表される。
【００２６】
【数１】
2006209509.tif 000003
【００２７】
ところで、ユーザ評価基準およびＳＥメタデータはサービスカテゴリ毎に異なるものである。そのため、ユーザは一個一個のカテゴリに対して重み付けすることが望ましいが、それではユーザに大変な負担を強いることになる。そのため、サービスカテゴリに依存しない、共通的な評価基準セットとＳＥメタデータで点数付けする形でもよい。
【００２８】
また、ＳＥの切り替えは頻繁に起きると、却ってわずらわしいものであり、客観的に現在のＳＥより適したＳＥだと評価できる以外は切り替えをすべきではない。よって、現在使われているＳＥよりも点数が高いＳＥが新たに出てきた場合に切り替え、その他の場合は現在のＳＥと同じＳＥをそのまま使用する。すなわち、図３に示すように
・新たに見つかったＳＥ（サービス実行中に新しく登録されたＳＥ）
・前回の評価時に比べ、順位が逆転して現在のＳＥよりも上になったＳＥ
がある場合にのみＳＥの切り替えを行うのが合理的である。
【００２９】
図４は本実施形態におけるＳＥの点数付けおよび切り替えのシーケンスを示している。
【００３０】
検索部１１は、サービス実行中に、ＳＥレジストリ２から、該サービスに現在使用されているＳＥと同一カテゴリに属する他のＳＥを周期的に検索し、検索したＳＥのメタデータをＳＥ記述保持部１２に格納する。点数付け部１３は、コンテキスト保持装置３からユーザコンテキストを、ＳＥ記述保持部１２からＳＥメタデータを取得し、ＳＥの点数付けを行う動作を周期的に繰り返す。なお、この間、コンテキスト検出機器のコンテキスト収集部１７によってコンテキストが逐次収集され、コンテキスト保持装置３内のコンテキストが更新されている。そして、現在選択されているＳＥよりもよりも点数の高いＳＥがあると、実行制御部１４にＳＥ切替イベントを通知する。実行制御部１４は点数付け部１３よりのＳＥ切替イベントに応答して、実行中のサービスを一旦中断し、現在実行中のＳＥの状態を引き継いで、点数付け部１３より通知された新しいＳＥのオペレーションを呼び出し、新しいＳＥに切り替える。
【００３１】
なお、サービス合成装置５の機能は専用のハードウェアによって実現されるもの以外に、該機能を実現するためのプログラムをコンピュータ読取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。ここで、コンピュータ読取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読取り可能な記録媒体は、インターネット等を介してプログラムを送信する場合のように。短時間の間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態のシステム構成図である。
【図２】コンテキストとユーザ評価基準とＳＥメタデータを用いた、ＳＥの点数付けのイメージ図である。
【図３】周期的な点数付けによるＳＥの切り替えの説明図である。
【図４】図１のシステムにおけるＳＥの点数付けおよび切り替えのシーケンス図である。
【図５】サービス設計図の一例を模式的に示す図である。
【図６】従来のシステムの構成図である。
【図７】図６のシステムの動作を示すシーケンス図である。
【符号の説明】
【００３３】
１  ＳＥ
２  ＳＥレジストリ
３  コンテキスト保持装置
４  コンテキスト検出機器
５  サービス合成装置
６  ネットワーク
７  ユーザ
８  サービス合成装置
１１  検索部
１２  ＳＥ記述保持部
１３  点数付け部
１４  実行制御部
１５  検索部
１６  実行制御部
１７  コンテキスト収集部
【図１】
2006209509.tif 000004
【図２】
2006209509.tif 000005
【図３】
2006209509.tif 000006
【図４】
2006209509.tif 000007
【図５】
2006209509.tif 000008
【図６】
2006209509.tif 000009
【図７】
2006209509.tif 000010