(57)【特許請求の範囲】
【請求項１】
Ｗｅｂサービスにおけるサーバ、分散オブジェクト実行環境における分散オブジェクト、またはセンサとそれを操作するセンサ操作ソフトウェアであるネットワーク上の機能実体を、機能実体間で問い合わせパケットを転送するピアツーピア方式あるいは集中登録検索型のサーバの利用により探索・特定し、
前記探索・特定した機能実体が要求に応じて提供する機能の結果として取得した地理上の位置の情報を基に、地理上の位置を辿る地図を作成させる前記ネットワーク上に設置されたルート検索機能実体と、からなるシステムを利用して、
前記ネットワークの複数の機能実体が提供する機能の結果として取得した地理上の位置の情報をユーザに提示するプログラムを記憶する記憶装置とＣＰＵからなるユーザ機器において、
ユーザが所望の機能の種別を表す複数の機能カテゴリとその機能カテゴリの実行の順序とを入力したときに、前記実行の順序に従って並べた前記機能カテゴリと所定のソフトウェアであるルート検索機能実体へのアクセス指示子とを記述したサービステンプレートを生成するサービステンプレート生成手順と、前記アクセス指示子は、前記ルート検索機能実体がＷｅｂサービスにおけるサーバの場合にはＵＲＬであり、前記ルート検索機能実体が分散オブジェクト実行環境における分散オブジェクトの場合にはオブジェクトのリファレンスであり、
前記サービステンプレートに記述された機能カテゴリとユーザの状況とに対応する機能実体を前記ネットワーク上で探索してネットワーク上の位置を特定するために検索要求を送付するサーチ・ディスカバリ手順と、
前記サービステンプレートに記述された実行順序に基づいて、前記探索・特定した機能実体にメッセージを送信することにより、前記探索・特定した機能実体による処理を順番に若しくは並列に起動させる機能連携手順と、
前記探索・特定した機能実体が要求に応じて提供する機能の結果として取得した地理上の位置の情報を前記アクセス指示子に基づいて前記ルート検索機能実体に渡すルート検索手順と、
前記ルート検索機能実体により作成された地図をユーザに提示する出力手順、
とを前記憶装置に記憶されたプログラムに従って前記ＣＰＵに実行させる、ことを特徴とするナビゲーション方法。
【請求項２】
請求項１記載のナビゲーション方法において、
前記電子機器のグラフィカルユーザインタフェースによりユーザからの入力を受け付けることを特徴とするナビゲーション方法。
【請求項３】
Ｗｅｂサービスにおけるサーバ、分散オブジェクト実行環境における分散オブジェクト、またはセンサとそれを操作するセンサ操作ソフトウェアであるネットワーク上の機能実体を、機能実体間で問い合わせパケットを転送するピアツーピア方式あるいは集中登録検索型のサーバの利用により探索・特定し、
前記探索・特定した機能実体が要求に応じて提供する機能の結果として取得した地理上の位置の情報を基に、地理上の位置を辿る地図を作成させる前記ネットワーク上に設置されたルート検索手段と、からなるシステムを利用して、
前記ネットワークの複数の機能実体が提供する機能の結果として取得した地理上の位置の情報をユーザに提示するプログラムを記憶する記憶装置とＣＰＵからなるユーザ機器において、
ユーザが所望の機能の種別を表す複数の機能カテゴリとその機能カテゴリの実行の順序とを入力したときに、前記実行の順序に従って並べた前記機能カテゴリと所定のソフトウェアであるルート検索機能実体へのアクセス指示子とを記述したサービステンプレートを生成するサービステンプレート生成手順と、前記アクセス指示子は、前記ルート検索機能実体がＷｅｂサービスにおけるサーバの場合にはＵＲＬであり、前記ルート検索機能実体が分散オブジェクト実行環境における分散オブジェクトの場合にはオブジェクトのリファレンスであり、
前記サービステンプレートに記述された機能カテゴリとユーザの状況とに対応する機能実体を前記ネットワーク上で探索してネットワーク上の位置を特定するために検索要求を送付するサーチ・ディスカバリ手順と、
前記サービステンプレートに記述された実行順序に基づいて、前記探索・特定した機能実体にメッセージを送信することにより、前記探索・特定した機能実体による処理を順番に若しくは並列に起動させる機能連携手順と、
前記探索・特定した機能実体が要求に応じて提供する機能の結果として取得した地理上の位置の情報を前記アクセス指示子に基づいて前記ルート検索機能実体に渡すルート検索手順と、
前記ルート検索機能実体により作成された地図をユーザに提示する出力手順、
とを前記憶装置に記憶されたプログラムに従って前記ＣＰＵに実行させる、ことを特徴とするナビゲーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上に様々な機能実体が分散している環境において、ユーザの要求に応じた機能実体を探索し、探索した機能実体が提供する機能の結果として取得した地理上の位置情報をユーザに提示するナビゲーション方法、ナビゲーションシステムおよびプログラムに関するものである。
【背景技術】
【０００２】
近年、インターネット、ユビキタスネットワーク、センサネットワークなどの、端末とネットワークの技術の発展により、様々な機能がネットワークを介して利用可能となってきている。このような状況において、それら様々な機能を状況に応じて連携させることにより、ユーザに適した新しいサービスを提供する技術の確立が求められている。
複数のサービスを連携させる技術として、現在ウェブサービス（Web Services、以下、ＷＳとする）が注目を集めている。しかし、ＷＳは元来Ｂ２Ｂ（Business to Business）を目的とした技術であり、ユビキタス環境においてエンドユーザ側でオンデマンドに連携を行うには、課題があると考える。
【０００３】
例えば、ＷＳ同士を連携させる手法としてＢＰＥＬ４ＷＳ（Business Process Execution Language for Web Services）がある（非特許文献１参照）。ＢＰＥＬファイルは、個々のＷＳの連携手順を記述した連携サービスのフロー設計図であるが、その記述は複雑であり、そのまま一般のユーザが記述できるレベルにはない。
【０００４】
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【非特許文献１】Ｔ．アンドリュ他（T.Andrew et al. ），「ビジネスプロセスエグゼキューションランゲージフォアウェブサービスバージョン１．１（Business Process Execution Language for Web Services Ver 1.1）」，［平成１６年２月１７日検索］，インターネット＜http://www-106.ibm.com/developerworks/webservices/library/ws-bpel ＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
以上のように、従来のサービス生成方法では、サービス生成の基となるＢＰＥＬファイルの記述に手間がかかるという問題点があった。このため、ネットワーク上に様々な機能が分散している環境において、ユーザの要求に応じた機能をネットワーク上で探索し、探索した機能から地理上の位置情報を取得してユーザに提示するというナビゲーション型のサービスを生成することを考えた場合、ユーザが事前に厳密なＢＰＥＬファイルを記述する必要があり、エンドユーザにとっては敷居が高いという問題点があった。
【０００６】
本発明は、上記課題を解決するためになされたもので、サービス生成の基となるファイルの記述に手間をかけることなく、ナビゲーション型のサービスを容易に実現することができるナビゲーション方法、ナビゲーションシステムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、ＣＰＵと記憶装置とを備えたコンピュータによって構成される、ネットワーク上の電子機器において、前記ネットワーク上で予め定められた機能を提供する複数の機能実体をユーザの要求に応じて探索し、探索した機能実体が提供する機能の結果として取得した地理上の位置の情報をユーザに提示するナビゲーション方法であって、ユーザが所望の機能の種別を表す複数の機能カテゴリとその機能の実行の順序とを入力したときに、前記実行の順序に従って並べた前記機能カテゴリと所定のソフトウェアであるルート検索機能実体へのアクセス指示子とを記述したサービステンプレートを生成するサービステンプレート生成手順と、前記サービステンプレートに記述された機能カテゴリとユーザの状況とに対応する機能実体を前記ネットワーク上で探索してネットワーク上の位置を特定するサーチ・ディスカバリ手順と、前記サービステンプレートに記述された実行順序に基づいて、前記探索・特定した機能実体にメッセージを送信することにより、前記探索・特定した機能実体を順番に若しくは並列に起動させる機能連携手順と、前記探索・特定した機能実体が前記起動に応じて提供する機能の結果として取得した地理上の位置の情報を前記アクセス指示子に基づいて前記ルート検索機能実体に渡し、前記地理上の位置を辿る地図を作成させるルート検索手順と、前記作成された地図をユーザに提示する出力手順とを、前記記憶装置に記憶されたプログラムに従って前記ＣＰＵに実行させ、前記機能実体は、Ｗｅｂサービスにおけるサーバ、分散オブジェクト実行環境における分散オブジェクト、またはセンサとそれを操作するセンサ操作ソフトウェアであり、前記アクセス指示子は、前記ルート検索機能実体がＷｅｂサービスにおけるサーバの場合にはＵＲＬであり、前記ルート検索機能実体が分散オブジェクト実行環境における分散オブジェクトの場合にはオブジェクトのリファレンスであり、前記サーチ・ディスカバリ手順は、前記ネットワーク上に設置された集中登録検索型のサーバに問い合わせることにより前記機能実体を探索・特定するか、または前記ネットワーク上の機能実体間で問い合わせパケットを転送するピアツーピア方式により前記機能実体を探索・特定するようにしたものである。
【０００８】
また、本発明のナビゲーション方法の１構成例は、前記電子機器のグラフィカルユーザインタフェースによりユーザからの入力を受け付けるようにしたものである。
【０００９】
また、本発明は、ＣＰＵと記憶装置とを備えたコンピュータによって構成される、ネットワーク上の電子機器において、前記ネットワーク上で予め定められた機能を提供する複数の機能実体をユーザの要求に応じて探索し、探索した機能実体が提供する機能の結果として取得した地理上の位置の情報をユーザに提示するナビゲーションシステムであって、前記記憶装置に格納されたプログラムに従って前記ＣＰＵは、ユーザが所望の機能の種別を表す複数の機能カテゴリとその機能の実行の順序とを入力したときに、前記実行の順序に従って並べた前記機能カテゴリと所定のソフトウェアであるルート検索機能実体へのアクセス指示子とを記述したサービステンプレートを生成するサービステンプレート生成手段と、前記サービステンプレートに記述された機能カテゴリとユーザの状況とに対応する機能実体を前記ネットワーク上で探索してネットワーク上の位置を特定するサーチ・ディスカバリ手段と、前記サービステンプレートに記述された実行順序に基づいて、前記探索・特定した機能実体にメッセージを送信することにより、前記探索・特定した機能実体を順番に若しくは並列に起動させる機能連携手段と、前記探索・特定した機能実体が前記起動に応じて提供する機能の結果として取得した地理上の位置の情報を前記アクセス指示子に基づいて前記ルート検索機能実体に渡し、前記地理上の位置を辿る地図を作成させるルート検索手段と、前記作成された地図をユーザに提示する出力手段として機能し、前記機能実体は、Ｗｅｂサービスにおけるサーバ、分散オブジェクト実行環境における分散オブジェクト、またはセンサとそれを操作するセンサ操作ソフトウェアであり、前記アクセス指示子は、前記ルート検索機能実体がＷｅｂサービスにおけるサーバの場合にはＵＲＬであり、前記ルート検索機能実体が分散オブジェクト実行環境における分散オブジェクトの場合にはオブジェクトのリファレンスであり、前記サーチ・ディスカバリ手段は、前記ネットワーク上に設置された集中登録検索型のサーバに問い合わせることにより前記機能実体を探索・特定するか、または前記ネットワーク上の機能実体間で問い合わせパケットを転送するピアツーピア方式により前記機能実体を探索・特定するものである。
【００１０】
また、本発明は、ＣＰＵと記憶装置とを備えたコンピュータによって構成される、ネットワーク上の電子機器において、前記ネットワーク上で予め定められた機能を提供する複数の機能実体をユーザの要求に応じて探索し、探索した機能実体が提供する機能の結果として取得した地理上の位置の情報をユーザに提示するナビゲーションプログラムであって、ユーザが所望の機能の種別を表す複数の機能カテゴリとその機能の実行の順序とを入力したときに、前記実行の順序に従って並べた前記機能カテゴリと所定のソフトウェアであるルート検索機能実体へのアクセス指示子とを記述したサービステンプレートを生成するサービステンプレート生成手順と、前記サービステンプレートに記述された機能カテゴリとユーザの状況とに対応する機能実体を前記ネットワーク上で探索してネットワーク上の位置を特定するサーチ・ディスカバリ手順と、前記サービステンプレートに記述された実行順序に基づいて、前記探索・特定した機能実体にメッセージを送信することにより、前記探索・特定した機能実体を順番に若しくは並列に起動させる機能連携手順と、前記探索・特定した機能実体が前記起動に応じて提供する機能の結果として取得した地理上の位置の情報を前記アクセス指示子に基づいて前記ルート検索機能実体に渡し、前記地理上の位置を辿る地図を作成させるルート検索手順と、前記作成された地図をユーザに提示する出力手順とを、前記記憶装置に記憶されたプログラムに従って前記ＣＰＵに実行させ、前記機能実体は、Ｗｅｂサービスにおけるサーバ、分散オブジェクト実行環境における分散オブジェクト、またはセンサとそれを操作するセンサ操作ソフトウェアであり、前記アクセス指示子は、前記ルート検索機能実体がＷｅｂサービスにおけるサーバの場合にはＵＲＬであり、前記ルート検索機能実体が分散オブジェクト実行環境における分散オブジェクトの場合にはオブジェクトのリファレンスであり、前記サーチ・ディスカバリ手順は、前記ネットワーク上に設置された集中登録検索型のサーバに問い合わせることにより前記機能実体を探索・特定するか、または前記ネットワーク上の機能実体間で問い合わせパケットを転送するピアツーピア方式により前記機能実体を探索・特定するようにしたものである。
【発明の効果】
【００１１】
本発明によれば、ユーザが機能カテゴリと自身の状況を入力すると、機能カテゴリに対応するサービステンプレートを生成し、サービステンプレートとユーザの状況に対応する機能実体をネットワーク上で探索・特定して、探索・特定した機能実体から地理上の位置情報を取得するようにしたので、ユーザは、その場そのときに受けたいサービスの種別を示す機能カテゴリと自身の状況とを入力するだけで、どのような順序で対象を巡回すべきかを示すナビゲーション型のサービスを受けることができる。また、予め決定されているルート検索機能実体を用いて地図を作成するようにしたので、ユーザは、ルート検索機能実体をファイルに記述する際の困難さについて考慮する必要がなくなる。その結果、本発明では、サービス生成の基となるファイルの記述に手間をかけることなく、ナビゲーション型のサービスを容易に実現することができる。また、ユーザの嗜好や位置や時刻などのユーザの状況に対応することで、例えば「映画を見たい」というユーザの希望に応じてお勧め、かつ今ならば座れるという映画館の位置を示すといった最適なコンテンツヘの誘導も可能である。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面を用いて説明する。図１は、本発明の第１の実施の形態となるナビゲーションシステムの構成例を示すブロック図である。本実施の形態のナビゲーションシステムは、ユーザの要求に応じた機能実体をネットワーク上で探索し、探索した機能実体が提供する機能の結果として取得した地理上の位置情報をユーザに提示するというサービスを生成するものである。
【００１３】
ネットワーク１には、複数の電子機器（以下、ピアと呼ぶ）が接続されている。ピアの種類としては、ユーザピア２と、機能実体提供ピア３（３−１〜３−ｎ）と、ルート検索機能実体提供ピア４とがある。ネットワーク１は、ピア２〜４間の通信を実現するネットワークであれば何でもよい。ピア２〜４は、パーソナルコンピュータやサーバなどのネットワーク１に接続されたあらゆる電子機器である。
【００１４】
ユーザピア２は、ユーザからの入力を受け付けるユーザインタフェース（グラフィカルユーザインタフェース）２０と、ユーザが所望の機能の種別を表す複数の機能カテゴリとその機能の実行の順序とを入力したときに、実行の順序に従って並べた機能カテゴリと所定のルート検索機能実体へのアクセス指示子とを記述したサービステンプレートを生成するサービステンプレート生成部２１と、サービステンプレートに記述された機能カテゴリとユーザの状況とに対応する機能実体をネットワーク１上で探索してネットワーク上の位置を特定するサーチ・ディスカバリ機能部２２と、サービステンプレートに記述された実行順序に基づいて、探索・特定した機能実体にメッセージを送信することにより、探索・特定した機能実体を順番に若しくは並列に起動させ、機能実体が起動に応じて提供する機能の結果として取得した地理上の位置の情報をアクセス指示子に基づいてルート検索機能実体に渡し、地理上の位置を辿る地図を作成させる機能連携部２３と、ルート検索機能実体によって作成された地図をユーザに提示する出力部２４とを有する。機能連携部２３は、機能実体を起動させる機能連携手段と、取得した地理上の位置情報をルート検索機能実体に渡すルート検索手段とを構成している。
【００１５】
機能実体提供ピア３は、ネットワーク１上で予め定められた機能を提供する機能実体３０（３０−１〜３０−ｎ）を有し、ルート検索機能実体提供ピア４は、ユーザピア２から受け取った位置情報に基づいて地図を作成するルート検索機能実体４０を有する。
【００１６】
機能実体３０は、ネットワーク１を介してアクセス可能なあらゆる要素であり、ネットワーク１を介してメッセージを受信することにより、予め目的として設計されている機能を実現する。機能実体３０の例としては、Ｗｅｂサービスにおけるサーバや、コルバ（Common Object Request Broker Architecture：CORBA）やジャバ（Java，登録商標）といった分散オブジェクト環境においての分散オブジェクト、センサとそれを操作するためのセンサ操作ソフトウェアなどがある。さらには、信号を受信するとブザーを鳴らせるような専用のハードウェアでもよい。つまり、機能実体３０は、ソフトウェアをメモリとＣＰＵを搭載したコンピュータ上で実行させることにより存在する実行イメージとして実現されることが多いが、ハードウェアで実現してもよい。
【００１７】
機能実体３０は、異なる開発者が実装を行っても、非常に近い機能を見せるものがある。例えば、プリンタは、Ａ社が実装した場合とＢ社が実装した場合のいずれにおいても、「紙にデータを印刷する」という機能は同じである。また、Ｗｅｂサービスの例である航空機予約サービスは、Ｃ航空会社が提供する場合とＤ航空会社が提供する場合のいずれにおいても、「飛行機により乗客を運ぶためのフライトを予約する」という機能は同じである。
【００１８】
これら同じ機能を持つ機能実体３０をまとめて表すために、機能実体３０の機能種別を機能カテゴリと呼ぶ。当然、機能カテゴリが同じであっても、異なる機能実体３０には、取り扱えるデータや戻り値など、機能の細かいところでの違いはある。例えば、Ｃ航空会社が提供する航空機予約サービスでは、英国のロンドンヘのフライト予約ができないが、Ｄ航空会社が提供する航空機予約サービスでは、フライト予約ができるといった相違である。これらの違いが、後述するサーチの違いへと反映される。
【００１９】
次に、本実施の形態のナビゲーション方法について説明する。図２は本実施の形態のナビゲーション方法の概略を示すフローチャートである。ユーザからのサービス要求が発生したとき（図２ステップＳ１においてＹＥＳ）、ユーザピア４は、ユーザの要求に対応するサービステンプレートを生成するサービステンプレート生成手順（ステップＳ２）と、サービステンプレートに記述された機能カテゴリとユーザの状況とに対応する機能実体３０をネットワーク１上で探索してネットワーク１上の位置を特定するサーチ・ディスカバリ手順（ステップＳ３）と、サービステンプレートに記述された実行順序に基づいて、探索・特定した機能実体３０にメッセージを送信することにより、探索・特定した機能実体３０を順番に若しくは並列に起動させる機能連携手順（ステップＳ４）と、探索・特定した機能実体３０から取得した地理上の位置情報をルート検索機能実体４０に渡し、地理上の位置を辿る地図を作成させるルート検索手順（ステップＳ５）と、作成された地図をユーザに提示する出力手順（ステップＳ６）の５つの手順を実行する。
【００２０】
以下、ユーザピア２の処理をより詳細に説明する。まず、ユーザは、ユーザピア２に対してサービス要求を行う（図２ステップＳ１）。このとき、ユーザは、自身が欲するサービスの生成に必要な機能種別を表す複数の機能カテゴリを、ユーザインタフェース２０を介してユーザピア２に入力する。また、ユーザは、自身の嗜好や自身の位置情報、サービス提供を受ける希望の時刻といったコンテキストをユーザインタフェース２０を介してユーザピア２に入力する。
【００２１】
ユーザは、入力する複数の機能カテゴリの実行順序を指定してもよいし、指定しなくてもよい。機能カテゴリの実行順序の入力を必ずしも必要としない理由は、機能カテゴリの組み合わせによっては実行順序が存在しない場合もあるからである。例えば、ユーザの要求に応じて昼食と夕食のレストランを検索して、検索したレストランの地図をユーザに提示するというサービスの生成に必要な機能カテゴリの組み合わせとして、昼食用のレストランの広告という機能カテゴリと夕食用のレストランの広告という機能カテゴリの組み合わせを考えた場合、この組み合わせには昼食のレストラン→夕食のレストランという実行順序がある。
【００２２】
これに対して、ドレスの販売店とネクタイの販売店を検索して、検索した販売店の地図をユーザに提示するというサービスの生成に必要な機能カテゴリの組み合わせとして、ドレスの販売店の広告という機能カテゴリとネクタイの販売店の広告という機能カテゴリの組み合わせを考えた場合、この組み合わせには明確な実行順序は存在しない。
【００２３】
また、昼食のレストランとネクタイの販売店を検索して、レストランと販売店の地図をユーザに提示するというサービスの生成に必要な機能カテゴリの組み合わせとして、昼食のレストランの広告という機能カテゴリとネクタイの販売店の広告という機能カテゴリの組み合わせを考えた場合、この組み合わせは、検索を実行する時間帯やユーザの空腹状況に応じて、実行順序が発生する場合と発生しない場合とがある。例えば、昼食に近い時間帯に検索を実行するとか、ユーザが空腹であるとかいう場合には、昼食のレストラン→ネクタイの販売店という実行順序が発生する。
【００２４】
次に、ユーザピア２のサービステンプレート生成部２１は、ユーザが入力した機能カテゴリに対応するサービステンプレートを生成する（図２ステップＳ２）。図３はサービステンプレート生成部２１が生成するサービステンプレート４１１を模式的に示す図である。サービステンプレート４１１は、どのような機能カテゴリを組み合わせるかを示す、機能カテゴリ間の接続関係が記述された設計図である。
【００２５】
機能カテゴリ間の接続関係は、ユーザが指定した実行順序に基づいて記述される。図３の例では、機能カテゴリ２０１−１→２０１−２→・・・・２０１−ｎという順序が記述されている。なお、ユーザが機能カテゴリの実行順序を指定していない場合には、各機能カテゴリを平行動作させる指示情報が機能カテゴリ間の接続関係としてサービステンプレート４１１に記述される。
【００２６】
また、サービステンプレート４１１には、ユーザが入力した機能カテゴリ２０１−１〜２０１−ｎの他に、所定のルート検索機能実体４０への指示子２０２が記述される。ルート検索機能実体４０への指示子２０２のような機能実体への指示子の例としては、Ｗｅｂサービスの場合にはＵＲＬ（Uniform Resource Locators ）があり、分散オブジェクト実行環境の場合にはオブジェクトのリファレンスがある。なお、図３の例では、指示子２０２をサービステンプレート４１１の最後に追加しているが、上述した順序の制約と同じく最後でなくてもよい。
【００２７】
次に、ユーザピア２のサーチ・ディスカバリ機能部２２は、生成されたサービステンプレート４１１中の機能カテゴリに関する情報と、ユーザが入力したコンテキストに基づいて、サービス生成に必要な機能実体３０をネットワーク１上で探索（サーチ）して、機能実体３０の位置を特定（ディスカバリ）し、特定した機能実体３０へのアクセス指示子をサービステンプレート４１１に当てはめることにより、サービス設計図を生成する（図２ステップＳ３）。
【００２８】
ここで、サーチは、サービス生成に必要な機能実体３０が存在するか否か不明であるが、検索を行ってみるというときに用いる用語であるとする。一方、ディスカバリは、サービス生成に必要な機能実体３０が存在することは分かっているが、その機能実体３０へどのようにしてアクセスすればよいか分からないときに、アクセス方法をはっきりさせるために行う検索処理のことをいうものとする。つまり、サーチはサーチエンジンによるＷｅｂページの検索にあたり、ディスカバリはその検索結果のページにアクセスするために、ホスト名を解決する処理に当たる。
【００２９】
サーチとディスカバリは、ユーザが入力したコンテキストに応じて行われる。これにより、ユーザの嗜好や所在地あるいはユーザの希望する時刻などに適した機能実体３０が決定される。したがって、例えばユーザの要求に応じてコンサートを検索して、コンサート会場の地図をユーザに提示するというサービスを生成する場合、コンサートの予約サービスを提供する複数の機能実体３０の中から、既にチケットが売り切れている予約サービスがサーチ・ディスカバリの結果として選択されることはない。また、東京の銀座にいるユーザの要求に応じてレストランを検索して、レストランの地図をユーザに提示するというサービスを生成する場合、レストランの予約サービスを提供する複数の機能実体３０の中から、大阪のレストランの予約サービスがサーチ・ディスカバリの結果として選択されることはない。
【００３０】
このサーチとディスカバリは、グヌーテラ（Gnutella）やジャクスタ（JXTA）のようにピアツーピア（Ｐ２Ｐ）方式で行ってもよいし、ユーディーディーアイ（Universal Description, Discovery, and Integration:UDDI）やナップスター（Napster ）のように集中サーバ方式で行ってもよい。
【００３１】
ピアツーピア方式のサーチ・ディスカバリの場合には、ユーザピア２のサーチ・ディスカバリ機能部２２が隣接ピアに問い合わせパケットを送信し、この隣接ピアがユーザピア２からの問い合わせパケットを他の隣接ピアに中継することを繰り返す。そして、問い合わせパケットに記述されている条件に合致する機能実体３０は、問い合わせ元のユーザピア２に直接返答を返す。こうして、ユーザが要求したサービスの生成に必要な機能実体３０を探索し、特定する。
【００３２】
また、集中サーバ方式のサーチ・ディスカバリの場合には、機能実体３０のデータがネットワーク１上に設置された集中登録検索型のサーバに予め登録されている。サーチ・ディスカバリ機能部２２は、集中登録検索型のサーバに間い合わせることで、ユーザが要求したサービスの生成に必要な機能実体３０を探索し、特定する。
【００３３】
サーチ・ディスカバリの対象である機能実体３０とユーザが入力したコンテキストによって適した方式があるので、サーチ・ディスカバリ機能部２２は、ピアツーピア方式のサーチ・ディスカバリと集中サーバ方式のサーチ・ディスカバリを状況に応じて使い分けする。
【００３４】
図４はサーチ・ディスカバリ機能部２２が生成するサービス設計図４１２を模式的に示す図である。サービス設計図４１２は、探索・特定した機能実体３０への指示子２１１（２１１−１〜２１１−ｎ）が記述された設計図である。各指示子２１１間の接続関係は、サービステンプレート４１１に記述された機能カテゴリ２０１の実行順序に基づいて記述される。図４の例では、指示子２１１−１→２１１−２→・・・・２１１−ｎという順序が記述されている。
【００３５】
なお、ユーザが機能カテゴリの実行順序を指定していない場合には、サービステンプレート４１１に各機能カテゴリを平行動作させる情報が記述されているので、これにより各指示子２１１を平行動作させる順序情報がサービス設計図４１２に記述される。サービス設計図４１２には、ルート検索機能実体４０への指示子２０２も記述される。
【００３６】
また、サーチ・ディスカバリ機能部２２がサーチ・ディスカバリを行ったときに、探索・特定した機能実体３０から地理上の位置情報（例えばコンサート会場の位置やレストランの位置など）が得られる場合がある。サーチ・ディスカバリ機能部２２は、機能実体３０から地理上の位置情報が得られた場合には、この位置情報を保持する。機能実体３０を探索・特定した時点で、機能実体３０から地理上の位置情報が得られるかどうかは、例えば機能実体３０の設計によって異なる。
【００３７】
次に、サーチ・ディスカバリ機能部２２からサービス設計図４１２を受け取った機能連携部２３は、このサービス設計図４１２に記述された指示子２１１と指示子２１１間の順序情報に従って、サーチ・ディスカバリ機能部２２が探索・特定した機能実体３０にネットワーク１を通じてメッセージを送信し、機能実体３０を起動させる（図２ステップＳ４）。
【００３８】
図５は機能実体３０の起動によるサービス生成を説明するための図である。機能実体提供ピア３−１〜３−ｎの機能実体３０−１〜３０−ｎは、ユーザピア２の機能連携部２３からメッセージを受け取ると起動し、予め設計された機能をユーザピア２に提供する。機能連携部２３は、サービス設計図４１２に記述された指示子２１１，２０２間の順序情報に従って、各機能実体３０を順番に若しくは並列に起動させる。
【００３９】
起動した機能実体３０は、ネットワーク１を通じて機能連携部２３に地理上の位置情報を返す。例えば、レストランの広告あるいは予約サービスという機能を有する機能実体３０の場合、レストランの位置を機能連携部２３に返す。機能連携部２３は、サーチ・ディスカバリの段階でサーチ・ディスカバリ機能部２２に保持された位置情報４１４と、起動後に機能実体３０から取得した位置情報４１５とを合わせて、最終的な位置情報４１６を生成する。機能実体３０からの位置情報の取得が２度に分かれているのは、サーチ・ディスカバリの段階では、位置情報が一意に決まらない場合があるなど、位置に関する情報による絞込みが行われないことが有り得るからである。位置情報４１４と４１５の合成は、例えば後から取得した位置情報４１５を優先するなどして合成すればよい。
【００４０】
続いて、機能連携部２３は、サービス設計図４１２に記述された指示子２０２に基づいてルート検索機能実体４０にネットワーク１を通じてメッセージを送信し、起動したルート検索機能実体４０に位置情報４１６を渡す。ルート検索機能実体４０は、位置情報４１６に基づいて地図４１７を生成する（図２ステップＳ５）。機能連携部２３は、複数の機能実体３０を起動して、これら複数の機能実体３０から位置情報を取得している。したがって、ルート検索機能実体４０に渡される位置情報４１６にも複数の位置が記述されており、ルート検索機能実体４０は、これらの複数の位置を辿る経路を示す地図４１７を作成することになる。
【００４１】
ルート検索機能実体４０としては、ＮＴＴソフトウェア社製のＢｉｚＮａｖｉｇｅｎｔ（登録商標）が開発されている。本実施の形態のナビゲーションシステムにルート検索機能実体４０を取り込むには、メッセージによる起動が可能なインタフェースをルート検索機能実体４０に追加するだけでよい。もっとも容易なのは、ルート検索機能実体４０にＷｅｂサービスのインタフェースを追加することである。
【００４２】
ルート検索機能実体４０は、作成した地図４１７をネットワーク１を通じてユーザピア２に返す。ユーザピア２の出力部２４は、作成された地図４１７をユーザに提示する（図２ステップＳ６）。
【００４３】
図６に、本実施の形態のサービス提供のイメージを示す。まず、ユーザが機能カテゴリを選択すると、ユーザピア２のサービステンプレート生成部２１は、ユーザが入力した機能カテゴリに対応するサービステンプレート４１１を生成する。機能カテゴリの例として、図６では、観劇の広告あるいは予約サービスという機能カテゴリ２０１−１と、レストランの広告あるいは予約サービスという機能カテゴリ２０１−２と、ホテルの広告あるいは予約サービスという機能カテゴリ２０１−３とを挙げている。
【００４４】
続いて、ユーザピア２のサーチ・ディスカバリ機能部２２は、ネットワーク１上でサーチ・ディスカバリを行うことにより、サービステンプレート４１１とユーザのコンテキストとに対応する機能実体３０を探索する。サーチ・ディスカバリの結果、図６の例では、映画館Ａの広告あるいは予約サービスという機能実体３０−１と、レストランＢの広告あるいは予約サービスという機能実体３０−２と、ホテルＣの広告あるいは予約サービスという機能実体３０−３とが発見された。
【００４５】
次に、ユーザピア２の機能連携部２３は、サーチ・ディスカバリによって探索・特定した機能実体３０−１〜３０−３を起動させ、各機能実体３０−１〜３０−３から映画館Ａの位置情報とレストランＢの位置情報とホテルＣの位置情報とを取得する。そして、機能連携部２３は、所定のルート検索機能実体４０を起動して位置情報を渡すことにより地図４１７を作成させ、出力部２４は、作成された地図４１７をユーザに提示する。この地図４１７には、映画館ＡとレストランＢとホテルＣとを巡回する経路が記載されている。こうして、ユーザは、提示された地図４１７を見ることで、複数の対象を巡回することができる。
【００４６】
以上のように、本実施の形態によれば、ユーザが機能カテゴリとコンテキストを入力すると、機能カテゴリに対応するサービステンプレートを生成し、サービステンプレートとコンテキストに対応する機能実体をネットワーク上で探索・特定して、探索・特定した機能実体から地理上の位置情報を取得するようにしたので、ユーザは、その場そのときに受けたいサービスの種別を示す機能カテゴリと自身の状況を示すコンテキストとを入力するだけで、どのような順序で対象を巡回すべきかを示すナビゲーション型のサービスを受けることができる。また、予め決定されているルート検索機能実体を用いて地図を作成するようにしたので、ユーザは、ルート検索機能実体をファイルに記述する際の困難さについて考慮する必要がなくなる。その結果、本実施の形態では、従来のサービス生成方法のように、サービス生成の基となるファイルの記述に手間をかけることなく、ナビゲーション型のサービスを容易に実現することができる。
【００４７】
なお、本実施の形態では、各機能実体３０を起動しているので、機能実体３０から地理上の位置情報を取得するだけでなく、機能実体３０に対する予約（レストランなどの場合）が可能なことは言うまでもない。
【００４８】
また、本実施の形態では、サーチ・ディスカバリの時点で、各機能カテゴリ２０１に対応する機能実体３０が１つずつに絞り込まれているが、１つの機能カテゴリ２０１に対応する機能実体３０が複数存在する場合も有り得る。このような場合には、機能カテゴリ２０１毎に複数の機能実体３０が探索・特定され、これらの機能実体３０からそれぞれ地理上の位置情報が得られる。したがって、例えば映画館ＡとレストランＢとホテルＣとを巡回する経路を示す地図と、映画館ＤとレストランＢとホテルＣとを巡回する経路を示す地図といったように、地図４１７も複数作成される。この場合、ユーザピア２の出力部２４は、作成された複数の地図４１７をユーザに提示することで、複数の地図４１７の中から所望の経路をユーザに選択させることになる。
【００４９】
また、本実施の形態では、ユーザインタフェース２０とサービステンプレート生成部２１とサーチ・ディスカバリ機能部２２と機能連携部２３と出力部２４の全てがユーザピア２に備えられている場合を例に挙げて説明しているが、これに限るものではなく、これらの構成の一部がネットワーク１上の他のピアに設けられていてもよい。
【００５０】
本実施の形態のピア（電子機器）２〜４は、例えばＣＰＵ、記憶装置およびインタフェースを備えたコンピュータとこれらのハードウェア資源を制御するプログラムによって実現することができる。このようなコンピュータにおいて、本発明のナビゲーション方法を実現させるためのナビゲーションプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカードなどの記録媒体に記録された状態で提供される。ＣＰＵは、読み込んだプログラムを記憶装置に書き込み、前述の処理を実行する。
【産業上の利用可能性】
【００５１】
本発明は、数多くの多様な電子機器がネットワークに接続されたユビキタスコンピューティング環境に適用することができる。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の形態となるナビゲーションシステムの構成例を示すブロック図である。
【図２】本発明の実施の形態のナビゲーション方法の概略を示すフローチャートである。
【図３】本発明の実施の形態において生成されるサービステンプレートを模式的に示す図である。
【図４】本発明の実施の形態において生成されるサービス設計図を模式的に示す図である。
【図５】本発明の実施の形態における機能実体の起動によるサービス生成を説明するための図である。
【図６】本発明の実施の形態のナビゲーションシステムにおけるサービス提供のイメージを示す図である。
【符号の説明】
【００５３】
１…ネットワーク、２…ユーザピア、３…機能実体提供ピア、４…ルート検索機能実体提供ピア、２０…ユーザインタフェース、２１…サービステンプレート生成部、２２…サーチ・ディスカバリ機能部、２３…機能連携部、２４…出力部、３０…機能実体、４０…ルート検索機能実体。
【図１】
0004619011.tif 000002
【図２】
0004619011.tif 000003
【図３】
0004619011.tif 000004
【図４】
0004619011.tif 000005
【図５】
0004619011.tif 000006
【図６】
0004619011.tif 000007