(A)第1の実施形態
以下では、本発明の情報通信システム、サービス情報検索サーバ及びサービス情報検索プログラムの第1の実施形態を図面を参照しながら説明する。
第1の実施形態では、本発明を適用したシステムを用いて、サービス利用者がSIPを採用したVoIP(Voice Over IP)サービスを利用する場合の実施形態を例示する。
勿論、VoIPサービス以外のサービスを利用することもでき、また複数のサービスを利用することもできる。
(A−1)第1の実施形態の構成
図1は、第1の実施形態の情報通信システムの全体構成を示すシステム構成図である。
図1において、第1の実施形態の情報通信システム1Aは、サービス情報検索サーバ100、近傍検索端末200、管理端末300、通信要求元端末400、サービス提供サーバ500、機器(以下、近傍機器ともいう)600、ネットワーク700を少なくとも有して構成される。
ネットワーク700は、例えば通信プロトコルをインターネットプロトコル(IP)とする通信網を適用することができる。また、ネットワーク700は、有線通信網、無線通信網のいずれであっても良く、また有線通信網と無線通信網とを結合した通信網であっても良い。
近傍検索端末200は、ネットワーク700を通じてサービス情報検索サーバ100から、近傍に存在する近傍機器600の近傍機器情報の収集要求を受け取ると、近傍機器600の検索を行い、この検索により得られた近傍機器情報をサービス情報検索サーバ100に与えるものである。
また、近傍検索端末200は、例えば、移動可能な端末を適用することができ、例えば、スマートフォン、PDA、携帯電話機、PHS端末、ゲーム端末等の携帯端末を適用することができる。また、近傍検索端末200は、近傍機器600を検索する専用の検索端末であっても良い。
なお、近傍機器600は、近距離無線通信機能を有する電話機(例えば、IP電話機等)、プリンタ、テレビジョン(TV)、パーソナルコンピュータ(PC)等が該当する。
図2は、近傍検索端末200の内部構成を示す内部構成図である。図2において、近傍検索端末200は、近距離無線通信部210、ネットワーク通信部220、制御部230を少なくとも有して構成されるものである。
近距離無線通信部210は、近距離無線通信を行う処理部又は装置である。近距離無線通信部210は、所定の近距離無線領域(以下、近傍領域ともいう)800に存在する近傍機器600との間で近距離無線通信を行い、近傍機器600の近傍機器情報を取得し、近傍機器600の検索を行うものである。
ここで、近距離無線通信部210は、近傍機器600との間で近距離無線通信を行うことができれば、種々の近距離無線通信技術を広く適用することができ、例えば、Bluetooth、ZigBee(登録商標)、UWB(Ultra Wideband)等の近距離無線通信インタフェースを適用することができる。なお、第1の実施形態では、Bluetoothインタフェースを適用した場合を例示する。
ネットワーク通信部220は、ネットワーク700との間で通信を行う処理部又は装置である。ネットワーク通信部220は、ネットワーク700との間で通信することができれば、種々の通信手段を適用することができ、例えば、WiFi(登録商標)やWiMAX(登録商標)等の無線インタフェースや有線インタフェースを適用することができる。
制御部230は、近傍検索端末200の機能を司る処理部又は装置である。図2に示すように、制御部230は、主な機能として、管理情報通知部231、近傍機器検索部232、近傍機器情報通知部233を有する。
管理情報通知部231は、起動時やネットワークアドレス変更時等に、近傍検索端末200の管理情報(例えば、ID、パスワード、ネットワークアドレス等)をサービス情報検索サーバ100に送信するものである。これにより、サービス情報検索サーバ100に自身の管理情報を登録させることができる。
近傍機器検索部232は、ネットワーク通信部220を介してサービス情報検索サーバ100から、近傍機器情報の収集要求を受信すると、近距離無線通信部210に対して近距離無線通信を行わせて近傍機器600の検索を行うものである。
近傍機器情報通知部233は、近傍領域の近傍機器600を検索し、取得した近傍機器情報を、ネットワーク通信部220を介してサービス情報検索サーバ100に与えるものである。
サービス情報検索サーバ100は、近傍検索端末200の管理情報を管理するものである。また、サービス情報検索サーバ100は、各近傍検索端末200の周辺に存在する近傍機器600の近傍機器情報を管理するものである。
サービス情報検索サーバ100は、利用者の希望する近傍検索端末200の指定を通信要求元端末400から受信すると、指定された近傍検索端末200の近傍機器600の近傍機器情報に基づき、提供することができるサービス情報を通信要求元端末400に送信するものである。
また、サービス情報検索サーバ100は、指定した近傍検索端末200の近傍機器600のそれぞれが、それぞれのサービスを利用可能であるか否かを確認して、利用可能なサービス情報を決定して通信要求元端末400に送信するものである。
図3は、サービス情報検索サーバ100の内部構成を示す内部構成図である。図3において、サービス情報検索サーバ100は、制御部110、近傍機器情報記憶部120、アカウント情報記憶部130、近傍検索要求処理部140、通信元要求処理部150、サービスサーバ要求処理部160、管理要求処理部170、ネットワーク通信部180を少なくとも有する。
制御部110は、サービス情報検索サーバ100の機能を司る処理部及び装置である。図3において、制御部110は、主な機能として、アカウント処理部111、近傍機器情報処理部112、サービスサーバ接続部113、サービス情報決定部114を有する。
アカウント処理部111は、管理端末300からの要求に従って、サービス情報検索サーバ100の利用者のアカウント情報をアカウント情報記憶部130に記憶して管理するものである。
近傍機器情報処理部112は、通信要求元端末400からの要求に従って、利用者により指定された近傍検索端末200の周辺に存在する近傍機器600の近傍機器情報を取得し、その近傍機器情報を近傍機器情報記憶部120に記憶するものである。
サービスサーバ接続部113は、通信要求元端末400からの要求に従って、近傍機器情報処理部112により検索された近傍機器600がそれぞれ、サービス提供サーバ400に正しく管理されているか否かの確認を行うものである。
サービス情報決定部114は、近傍機器情報処理部112の近傍機器600の検索結果やサービスサーバ113のサービス利用可能性の確認結果に基づいて、サービス要件に従って提供可能なサービス情報の順位付けを決定するものである。
近傍検索要求処理部140は、制御部110の制御の下、近傍検索端末200に対して近傍機器600の検索を行うものである。また、近傍検索要求処理部140は、ネットワーク通信部180を介して、近傍検索端末200から近傍機器情報を取得すると、その取得した制御部110に与えるものである。なお、近傍検索要求とは、制御部110からの要求であり、近傍検索端末200の近距離に存在する近傍機器600の検出を行う要求をいう。
通信元要求処理部150は、通信要求元端末400から指定された近傍検索端末200へのサービス情報を検索するものである。なお、通信元要求とは、通信要求元端末400からの要求であり、指定した近傍検索端末200へのサービス情報を検索する要求をいう。
サービスサーバ要求処理部160は、制御部110の制御の下、指定された近傍検索端末200の近傍機器600のそれぞれが利用可能か否かを、サービス提供サーバ500に確認するものである。なお、サービスサーバ要求とは、制御部110からの要求であり、近傍機器600と関連するサービス提供サーバ500が正しく要求を処理できるサーバであるか否かを確認する要求をいう。
管理要求処理部170は、管理端末300からの要求に従って、利用者のアカウント情報を管理するものである。なお、管理要求とは、ネットワーク700上の管理端末300からの要求であり、サービス情報検索サーバ100の利用者アカウント情報の参照、登録、削除等の管理的な要求をいう。
アカウント情報記憶部130は、事前に利用者の近傍機器端末200のアカウント情報を記憶するものである。アカウント情報は、サービス情報サーバ100の外部からのアカウント情報設定/参照要求の過程で、設定/変更/追加/削除される。
図4は、アカウント情報記憶部130に記憶されるアカウント情報の構成例を示す構成図である。図4において、アカウント情報は、「ID」、「パスワード」、「IPアドレス/FQDN」、「公開名」が少なくとも対応付けられて構成される。
「ID」及び「パスワード」は、利用者を識別する識別情報を示す。
「IPアドレス/FQDN」は、近端検索端末200のネットワークアドレス(例えば、IPアドレス等)が分かっている場合にはそのネットワークアドレス、又は、近傍検索端末200が接続するサーバのサーバ名を示す。
「公開名」は、サービス情報検索サーバ100の利用者が近傍検索端末200を公開する際の公開名である。公開名は、利用者が任意に決めることができ、また1台の近傍検索端末200に対して複数個の名前を決定することができる。
近傍機器情報記憶部120は、事前に近傍機器600の近傍機器管理情報を近傍検索端末200毎に記憶するものである。
図5は、近傍機器情報記憶部120に記憶される近傍機器管理情報の構成例を示す構成図である。図5において、近傍機器管理情報は、「デバイスアドレス」、「IPアドレス」、「基本情報(種別、性能)」、「端末属性(1)〜(n)」を少なくとも有する。
「デバイスアドレス」は、近傍機器600が有する近距離無線端末装置のデバイスアドレスを示す。例えば、第1の実施形態では、Bluetoothを近距離無線通信装置とする場合を例示しているので、Bluetoothデバイスアドレスが「デバイスアドレス」に該当する。
「IPアドレス」は、近傍機器600にIPアドレスが割り当てられている場合には、その近傍機器600に割り当てられているIPアドレスを示す。
「基本情報(種別、性能)」は、近傍機器600の機種や機器性能値などを示す基本情報である。
ここで、近傍機器の機種とは、近傍機器600の種別を示すものであり、例えば、IP Phone、Printer、エアコンなどの種類が格納される。
また、機器性能値とは、近傍機器600の性能を示す値である。第1の実施形態では、機能性能値として「性能優先度値」を用いる。「性能優先度値」とは、同一サービス内での近傍機器600の相対的な性能を示す数値である。「性能優先度値」は、例えば、同一の機種内で予め定義した相対数値を用いることができ、例えば、それぞれの近傍機器の性能を、「1」〜「10」の10段階の相対数値としたり、「−50」〜「+50」の間の数値で示したりすることができる。
「端末属性(1)〜(n)」は、近傍機器600が行うサービスに関する属性情報が格納される。「端末属性(1)〜(n)」には、1個の属性情報に限らず、複数個の属性情報を格納することができる。
例えば、「端末属性(1)」の第1データには、サービスタイプや使用プロトコルを示す「サービス/プロトコル」が記憶され、第2データには、サーバ名やサーバアドレス情報やサービス重要情報(例えば、SIP URIやプリンタ名等)、端末で使用されるアプリケーション名等の付属情報などを示す「属性値」が記憶される。
ネットワーク通信部180は、ネットワーク700との間で通信を行う処理部又は装置である。ネットワーク通信部180は、ネットワーク700との間で通信することができれば、種々の通信手段を適用することができ、例えば、WiFi(登録商標)やWiMAX(登録商標)等の無線インタフェースや有線インタフェースを適用することができる。
サービス提供サーバ500は、例えば、IP電話、プリンタ、映像監視などの各種の通信サービスを提供するサーバである。例えば、サービス提供サーバ500としては、IP電話サーバ(例えばSIPサーバ等)、プリンタサーバ、映像監視サーバ等を適用することができる。
また、サービス提供サーバ500は、ネットワーク700に接続しており、各種の通信サービスを提供する近傍機器600に関する情報を登録しているものである。そして、サービス提供サーバ500は、サービス情報検索サーバ100から、近傍機器600がサービス提供サーバ500に登録されているか否かの問い合わせを受けると、当該近傍機器600の登録情報の有無を検索し、その検索結果をサービス情報検索サーバ100に返信するものである。
通信要求元端末400は、サービス情報提供サーバ100を利用する利用者が操作する通信端末である。通信要求元端末400は、ある近傍検索端末200を指定して、その近傍検索端末200の周辺に存在する近傍機器600のサービス情報を、サービス情報検索サーバ100に要求するものである。
また、通信要求元端末400は、サービス情報検索サーバ100から提示された提供サービス情報を出力する。これにより、利用者は、利用可能なサービスを認識することができる。さらに、通信要求元端末400は、所望のサービスの提供を受ける場合、サービス提供サーバ500に対して、近傍機器600との間の通信を要求して、所望の通信サービスの提供を行うことを要求する。
なお、通信要求元端末400は、例えば、スマートフォン、PDA等の携帯端末の他に、通信機能を搭載したパーソナルコンピュータ(ノート型、デスクトップ型、ネットブックなどを含む概念)など、ネットワーク700に接続可能な通信端末を広く適用することができる。
図6は、通信要求元端末400の内部構成を示す内部構成図である。図6において、通信要求元端末400は、制御部410、ネットワーク通信部420を少なくとも有して構成される。
ネットワーク通信部420は、ネットワーク700との間で通信を行う処理部又は装置である。ネットワーク通信部420は、ネットワーク700との間で通信することができれば、種々の通信手段を適用することができ、例えば、WiFi(登録商標)やWiMAX(登録商標)等の無線インタフェースや有線インタフェースを適用することができる。
制御部410は、通信要求元端末400の機能を司る処理部及び装置である。図6に示すように、制御部410は、主な機能として、サービス情報要求部411、最大選抜上限数指定部412、機器性能値による選択指定部413、音声通信処理部414を少なくとも有するものである。
サービス情報要求部411は、ユーザAの操作を受けて、サービス情報検索サーバ100に対してサービス情報の要求を行うものである。サービス情報要求部411は、所望の近傍検索端末200の指定や、所望のサービスタイプ及びプロトコル等の情報を付与した要求を行う。これにより、指定した近傍検索端末200の周辺に存在し、所望のサービスタイプを利用することができる近傍機器600に関する情報を、サービス情報として取得することができる。
最大選抜上限数指定部412は、サービス情報とする機器600に関する情報の数を指定するか否かをサービス情報検索サーバ100に通知するものである。
機器性能値による選択指定部413は、サービス情報とする機器600に関する情報の提示順序を指定するか否かをサービス情報検索サーバ100に通知するものである。
音声通信処理部414は、例えばSIPを採用した音声通信処理を行うものである。なお、ここでは、通信要求元端末400が利用するサービス処理を行う機能部の一例として音声通信処理を行う場合を例示するため、音声通信処理部414を設けた場合を例示する。
(A−2)第1の実施形態の動作
次に、第1の実施形態の情報通信システム1Aにおける処理を図面を参照しながら説明する。
以下の例では、ユーザAが、通信要求元端末400を操作して、ユーザBが所持する近傍検索端末200の周辺に存在する近傍機器600のサービス情報を取得し、そのサービス情報に基づいて近傍機器600との間の通信を行う場合を例示する。
(A−2−1)アカウント情報の登録/更新処理
第1の実施形態のサービス情報検索サーバ100が提供するサービスを利用するためには、利用者のアカウント情報をサービス情報検索サーバ100に登録することが必要となる。
ここで、利用者とは、システム管理者、通信要求元端末400の利用者であるユーザAと、近傍検索端末200の利用者であるユーザBとからなるものとする。
図7は、利用者のアカウント情報の登録又は更新処理を示すシーケンス図である。なお、図7は、システム管理者が管理端末300を用いてアカウント情報の登録又は更新を行う場合を例示する。
利用者のアカウント情報を登録するためには、例えばID及びパスワード等の識別情報の登録が必要である。
まず、システム管理者は、管理端末300を用いて、管理用アカウント情報(管理用ID、パスワード)の入力を行い、サービス情報検索サーバ100に接続する(ステップS101)。
次に、システム管理者は、ネットワークに接続されている管理端末300を用いて、登録したい(又は更新したい)利用者のアカウント情報の入力を行う。これにより、入力されたアカウント情報がサービス情報検索サーバ100に与えられる(ステップS102)。
このとき、近傍検索端末200のユーザBについては、ID及びパスワードの他に、近傍検索端末200の公開名(例えば、ニックネーム等)がアカウント情報として入力される。これは、検索元のユーザAは、近傍検索端末200を特定する際に、近傍検索端末200の公開名を指定するためである。
入力されたアカウント情報がサービス情報検索サーバ100に与えられると、サービス情報検索サーバ100では、アカウント情報の正当性が検査され、正当性に問題がなければ、アカウント情報がアカウント情報記憶部130に登録される(ステップS103)。
なお、アカウント情報の正当性に問題がある場合には、エラー返却処理がなされる。
そして、アカウント情報記憶部130にアカウント情報が登録(又は登録に失敗)されると、その結果が管理端末300に返信される(ステップS104)。なお、登録に失敗した場合には、その理由を付した情報を返信するようにしても良い。
なお、アカウント情報の更新の場合、既存のアカウント情報に対する要求となる点が異なる。つまり、更新を行う場合には、既登録されている利用者のID及びパスワードが入力されることで、サービス情報検索サーバ100は、既登録のアカウント情報を呼び出して更新処理を行う。
(A−2−2)近傍機器管理情報の登録又は更新処理
次に、近傍機器600の近傍機器管理情報の登録及び更新処理について図面を参照しながら説明する。
第1の実施形態において、検索対象の近傍機器600のサービスに関する情報は、事前にサービス情報検索サーバ100の近傍機器情報記憶部120に登録する。
図8は、近傍機器管理情報の登録及び更新処理を示すシーケンス図である。
図8において、システム管理者は、管理用アカウントを用いて、サービス情報検索サーバ100に接続する(ステップS201)。
システム管理者は、登録したい(又は更新したい)近傍機器600の近傍機器管理情報を管理端末300に入力し、近傍機器情報をサービス情報検索サーバ100に送信して、近傍機器情報記憶部120への登録(又は更新)要求を行う(ステップS202)。
ここで、近傍機器600の近傍機器管理情報としては、上述したように、例えば、Bluetoothデバイスアドレス、基本情報、端末属性、IPアドレスを所有する機器のみIPアドレス等である。
Bluetoothデバイスアドレスは、Bluetoothの管理ユーティリティ等で事前に取得しておくことができる。また、端末属性について、サービス/プロトコルは、それぞれの機器に予め定義されているサービスやプロトコルを用いるが、必要に応じてこれらサービスやプロトコルを拡張することもできる。また、端末属性の属性値は、例えば、CSV形式によるリストで、第1パラメータのみ、サービス提供サーバを示す。
サービス情報検索サーバ100では、入力された近傍機器管理情報の正当性を検査し、正当性に問題がなければ、近傍機器情報記憶部120に近傍機器管理情報が登録される(ステップS203)。なお、登録に失敗した場合には、その理由を付した情報を返信するようにしても良い。
そして、近傍機器情報記憶部120に近傍機器管理情報が登録(又は更新)すると、その結果が管理端末300に返信される(ステップS204)。
なお、近傍機器情報の更新の場合、既存の近傍機器情報に対する要求となる点が異なる。
(A−2−3)近傍機器検索によるサービス情報検索処理
次に、第1の実施形態の情報通信システム1Aにおける近傍機器検索によるサービス情報検索処理について図面を参照しながら説明する。
図9及び図10は、近傍機器検索によるサービス情報検索処理を示すシーケンス図である。
なお、図9及び図10のシーケンス開始時点で、ユーザAのアカウント情報の登録と、近傍機器600の近傍機器管理情報の登録とは完了しているものとする。
まず、ユーザBの近傍検索端末200は、起動時又はネットワークアドレス変更時に、近傍検索端末200のアカウント情報をサービス情報検索サーバ100に登録(又は更新)する(ステップS301)。
ここで、近傍検索端末200のアカウント情報の登録又は更新は、図7で説明したアカウント情報の登録又は更新処理を適用することができる。その際、認証を必要とするため、近傍検索端末200は、ID、パスワード、ネットワークアドレスをサービス情報検索サーバ100に送信する。また、近傍検索端末200は、その性質上、移動することが多いことが想定されるため、DNS(Domain Name System)と連携したホスト名による登録が望ましい。これにより、移動可能な近傍検索端末200の現在の位置に応じたホスト名やネットワークアドレスを、アカウント情報記憶部130に登録することができる。
また、近傍検索端末200とサービス情報検索サーバ100との間の通信のプロトコルは、サービス情報検索サーバ100の管理インタフェースに準じると想定するが、例えばTCP/IPベースのメッセージ通信を利用することができる。
さらに、図9でのステップS301の処理は、複数の近傍検索端末200間において非同期で実行することができる。そのため、近傍検索端末200のそれぞれの移動に応じて、アカウント情報をアカウント情報記憶部130に登録することができる。
このような状態で、ユーザAの通信要求元端末400は、ユーザBの近傍検索端末200の周辺に存在する、利用可能な近傍機器600のサービス情報を取得し、いずれかのサービス(第1の実施形態では、例えばSIPを採用したVoIPサービス)を利用する場面を例示する。
ユーザAの操作を受けて、通信要求元端末400は、サービス提供検索サーバ100に対して、近傍機器600のサービス情報の検索要求を送出する(ステップS302)。
このとき、通信要求元端末400は、要求する情報に、近傍検索端末200の公開名(例えば、ニックネーム、SIP URI等)、利用したいサービスタイプ、プロトコル等を付加した情報を送信する。なお、複数のサービスタイプを指定するようにしても良い。
例えば、SIP URIが「xxx@yyy.com」である近傍検索端末200を指定して、VoIPサービスを要求する場合、「sip://xxx@yyy.com、VoIP、SIP」のような情報を要求メッセージに付加する。
なお、通信要求元端末400からの要求の通信プロトコルは、例えば、TCP/IPベースのメッセージ通信や、HTTPなど一般的に広く使われ汎用性のあるものを利用することができる。
通信要求元端末400からサービス情報の検索要求を受信したサービス提供検索サーバ100では、まず、近傍機器情報処理部112が、要求情報に付加されている近傍検索端末200の公開名に基づいてアカウント情報記憶部130を検索し、近傍検索端末200の公開名がアカウント情報記憶部130に登録されているかどうかを確認する(ステップS303)。
このとき、アカウント情報記憶部130に近傍検索端末200の公開名が登録されていなければ、近傍検索端末200の公開名が未登録である旨を示すエラーを通信要求元端末400に返信する。
一方、アカウント情報記憶部130に近傍検索端末200の公開名が登録されていれば、近傍機器情報処理部112は、アカウント情報記憶部130から、公開名に基づいて当該近傍検索端末200のネットワークアドレス又はホスト名を逆引きする。そして、近傍検索要求処理部140は、制御部110からの指示を受けて、そのネットワークアドレスの近傍検索端末200に対して、周辺の近傍機器600を検索させる近傍機器検索要求を送出する(ステップS304)。
サービス情報検索サーバ100から近傍機器検索要求を受信した近傍検索端末200では、近傍機器検索部232が、自身の周辺に存在する近傍機器600の検索を行う(ステップS305)。
ここで、近傍機器検索部232が近傍機器を検索する方法としては、例えば、近傍機器検索部232が、BluetoothのInquiryコマンドを発行し、このInquiryコマンドを送出する方法を適用する。このInquiryコマンドは、デバイス情報を取得するためのコマンドである。Inquiryコマンドは、Bluetoothデバイスを検索することを目的とするものであり、アプリケーションレベルの通信を行うものではない。そのため、Pairingなどの手続きを必要とない点で有効である。
近傍検索端末200から送出されたBluetoothのInquiryコマンドを受信した近傍機器600は、距離や通信条件に応じて、順次、Bluetoothデバイスアドレスを含むInquiry Result EVENTを、近傍検索端末200に返信する(ステップS306)。
これにより、近傍検索端末200は、近傍領域800に存在するBluetoothデバイスアドレスを近傍機器情報として受信することができる。そして、近傍検索端末200は、一定時間待機して、その他の近傍機器(Bluetoothデバイス)600からの返信を待ってから、受信したBluetoothデバイスアドレスを、サービス情報検索サーバ100に送信する(ステップS307)。
サービス情報検索サーバ100では、近傍機器情報処理部112が、受信したBluetoothデバイスアドレスと、通信要求元端末400の要求するサービスタイプ及びプロトコルとに基づいて、近傍機器情報記憶部120から対応する近傍機器管理情報の登録があるか否かを確認し、抽出する(ステップS308)。
近傍機器管理情報の登録(エントリ)が確認されると、サービス情報検索サーバ100では、サービスサーバ接続部113が、抽出した近傍機器管理情報の端末属性に基づいてサービス提供サーバ500と接続し、当該近傍機器600のサービス利用可能性の確認を、サービス提供サーバ500に対して行う(ステップS309)。
第1の実施形態では、サービス利用者がSIPを採用したVoIPサービスを利用する場合を例示する。この場合、このサービス利用可能性の確認方法の詳細については、図11を用いて後述するが、サービス情報検索サーバ100は、SIPを用いてサービス提供サーバ500に近傍機器600の利用可能性の問い合わせを行う。
また、サービス利用については、VoIPサービスに限定されるものではなく、この他に、例えば、プリンタサービス、ビデオ会議サービス、電力制御サービスなどにも適用することができる。その際の問い合わせには、例えば、プリンタサービスを利用する場合、例えばSMB(Server Message Block)プロトコルを利用したり、又ビデオ会議サービスの場合、例えばSIPプロトコルでサービス利用性確認を実行したりすることができる。
サービス提供サーバ500は、依頼された近傍機器600が利用可能な状態であるか否かを確認し、その確認結果をサービス情報サーバ100に送信する(ステップS310)。
この近傍機器600の利用可能性の確認方法は、種々の方法を適用することができる。例えば、サービス提供サーバ500が、サービスを実現する機器の識別情報を記憶するデータベースを有しており、確認依頼を受けた近傍機器600が上記データベースに登録されているか否かを確認することで判断することができる。
ステップS310で、サービス提供サーバ500から近傍機器600の利用可能性の確認結果を受け取ると、サービス情報検索サーバ100では、サービス情報決定部114が、通信要求元端末400が要求したサービスが利用可能であるか否かを示すサービス情報を決定し(ステップS311)、サービス情報を通信要求元端末400に送信して提示する(ステップS312)。なお、サービス情報の決定処理の例については、図12を用いて後述する。
(A−2−4)近傍機器600のサービス利用可能性の確認方法の例
図11は、サービス情報検索サーバ100が、VoIP通信を行う近傍機器600のサービス利用可能性を確認する処理を示すシーケンス図である。なお、図11に示すステップ番号は、図9及び図10に示すステップ番号に相当する。
ここでは、通信要求元端末400からのサービスタイプ及びプロトコルの条件が、VoIP及びSIPと指定されており、SIPプロトコルを用いて近傍機器600のプレゼンスチェックを行う場合を例示する。
図11において、近傍検索端末200から近傍機器情報(Bluetoothデバイスアドレス)を受信すると(ステップS307)、サービス情報検索サーバ100では、近傍機器情報処理部112が、当該近傍機器情報(Bluetoothデバイスアドレス)に基づいて、近傍機器情報記憶部120から近傍機器管理情報を検索する(ステップS308)。
ここで、近傍機器情報処理部112は、検索した近傍機器管理情報の端末属性から、通信要求元端末400が要求してきたサービスタイプ及びプロトコルに対応する端末属性を選択する。複数の端末属性が登録されている場合もあるので、その場合には、要求に該当する端末属性を選択する。
例えば、この場合、通信要求元端末400から「VoIP/SIP」の要求を受けているので、近傍機器管理情報の端末属性から「VoIP/SIP」のエントリを選択する。
このとき、通信要求元端末400から複数のサービスの指定がある場合には、その複数のサービス指定に対応して複数の近傍機器600のエントリを選択するようにしても良い。また、要求されたサービスを提供する近傍機器600が複数ある場合もあるが、この場合、全ての近傍機器600の近傍機器管理情報の端末属性を選択する。
そして、近傍機器情報処理部112は、選択した近傍機器管理情報の端末属性の属性値から、最初にエントリされているSIPサーバ(SIPレジストラも含む)<SIP server>と、次にエントリされているSIP URI<ニックネーム(URI)>とを取り出す。
次に、ステップS309において、サービスサーバ接続部113は、取り出したSIP URIを含むSUBSCRIBEメッセージを、SIPサーバであるサービス提供サーバ500に送信して、プレゼンスサーバにおけるSIP URIに該当する機器600の状態確認要求を行う(ステップS309)。
ステップS310においてサービス提供サーバ500であるプレゼンスサーバは、上記SIP URIの機器600が登録されているか否かを確認を行い、現在の機器600の登録状態をNOTIFYメッセージでサービス情報検索サーバ100に通知する(ステップS310)。
これにより、サービス提供検索サーバ100は、サービス提供サーバ500からのNOTIFYメッセージに基づいて、当該近傍機器600の現在の登録状態を認識することができるので、当該近傍機器600がサービス利用可能か否かを判断することができる。
そして、サービス提供検索サーバ100において、サービスサーバ接続部113が登録状態を受信後、SIPのUNSUBSCRIBEメッセージを、SIPサーバであるサービス提供サーバ500に送信し、状態監視を終了させる。
なお、SIPサーバ(サービス提供サーバ)500が、必ずしも、プレゼンスメッセージをサポートしているとは限らないので、SUBSCRIBEメッセージがエラーで返ってきた場合でも、サービス利用不可能とは判断しない。
サービス情報検索サーバ100において、近傍機器600がプレゼンスサーバに登録されている場合には、SIPを採用したVoIP通信の利用が可能であると判断し、サービス情報決定部114は、当該近傍機器600を用いたVoIP/SIPの利用が可能である旨を示すサービス情報を決定して(ステップS311)、送信する(ステップS312)。
(A−2−5)サービス情報決定処理
図12は、サービス情報検索サーバ100におけるサービス情報の決定処理を示すフローチャートである。なお、図12に示すサービス情報の決定方法は、一例であり、このような方法に限定されない。
サービス情報検索サーバ100は、ステップS308の処理で、近傍機器管理情報を選択する。
ここで、選択した近傍機器管理情報がN個あり、m個(ただし、m≦N)のエントリを選抜する決定方法を説明する。なお、選択したN個の近傍機器管理情報を「候補リスト」と呼び、選抜するm個の近傍機器管理情報を「最終選抜リスト」と呼ぶ。
ここで、通信要求元端末は、最大選抜上限n(ただし、m≦n)を指定することができる。また、システム上で、最大選抜上限nを指定するようにしても良い。以下では、最大選抜上限nが指定される場合と指定されない場合も想定して説明する。
また、サービス情報の決定方法を開始する時点の候補リストは、近傍検索端末200からの距離が近い順で順序付けされていると想定できる。
さらに、通信要求元端末400は、後述するように同一サービス内で優先順位を決定する性能優先度値を用いた選択方法の指定をすることができるものとする。
ここで、性能優先度値を用いた選択方法として、性能優先度値による順序付けと、性能優先度値による均等選択とがある。
性能優先度値による順序付けは、通信要求元端末400が要求するサービスにおいて、性能優先度値が高い順に順序付けする方法をいう。また、性能優先度値による均等選択は、性能優先度値に基づいて、性能優先度が同一レベルのグループを形成し、各グループから均等に候補を選択する方法をいう。
なお、通信要求元端末400は、性能優先度値による順序付けのみの指定、又は、性能優先度値による順序付けと性能優先度値による均等選択との双方の指定をするようにしても良い。
まず、サービス情報決定部114は、通信要求元端末400から性能優先度値による選択指定がなされているか否かを判断する(ステップS401)。
性能優先度値による選択指定がされていない場合、ステップS403に移行する。
一方、性能優先度値による選択指定がなされている場合、サービス情報決定部114は、それぞれの近傍機器管理情報の基本情報に格納されている性能優先度値を参照して、性能優先度値の降順で現在の候補リストをソーティングする(ステップS402)。
次に、サービス情報決定部114は、最大選抜上限が指定されているか否かを判断する(ステップS403)。
最大選抜上限が指定されていない場合、ステップS407に移行し、サービス情報決定部141は、現在の順序の候補リストをサービス情報として決定する(ステップS407)。すなわち、単に距離が近い順の候補リスト又は性能優先度値の順の候補リストがサービス情報となる。
一方、最大選抜上限が指定されている場合、サービス情報決定部114は、通信要求元端末400からの指定に基づいて、性能優先度値による順序付けを適用し、かつ、性能優先度値による均等選択を適用するか否かを判断する(ステップS404)。
ステップS404で性能優先度値順でかつ均等選択を適用する場合、サービス情報決定部141は、以下のようにして、性能優先度値が同一レベルのグループから、n個の候補を均等に抽出してリストの上位に配置するように、候補リストの並べ替えを行う(ステップS405)。
(1)サービス情報決定部141は、最大選抜上限数n<候補リスト数Nの場合、N個の候補リストをN/n(整数切り上げ)個のグループを形成する。そして、それぞれのグループから性能優先度値の高い候補を1つずつ選択する。n個に満たない場合には、再度各グループの候補を選択していき、n個に達するまで繰り返して、新たな候補リストを作成する。
(2)また、サービス情報決定部141は、最大選抜上限n≧候補リストNの場合、現在の候補リストのままとする。
ステップS404で性能優先度値順でかつ均等選択を適用しない場合、又は、ステップS405で均等選択をした場合、候補リストから上位n個のみを残して、他の候補をリストから削除する(ステップS406)。
そして、サービス情報決定部114は、現在の候補リストを最終選抜リストとして、現在の最終選抜リストの基本情報と端末属性を含む情報をサービス情報と決定する(ステップS407)。また、サービス情報検索サーバ100は、このようにして決定したサービス情報を通信要求元端末400に送信する。
(A−2−6)通信サービスの開始処理
通信要求元端末400は、サービス情報検索サーバ100から受信したサービス情報に基づいてサービスの接続先を選択したり、サービス情報の最初(先頭)にエントリされている機器600を接続先として自動的に選択したりする。
図13は、通信要求元端末400によるVoIPサービスを利用する場合の処理を示すシーケンス図である。
以下では、ユーザAが、近傍機器検索端末200の近傍機器600として、IP電話機Bを発呼先に選択する場合を例示する。
サービス情報検索サーバ100は、サービス情報を通信要求元端末400に送信する(ステップS312)。
このサービス情報は、上述したように、最終選抜リストにエントリされた近傍機器600に関する情報であり、例えば、SIPサーバ、SIP URI、サービス利用可能状態、機種や利用しているアプリケーションなどが含まれている。
通信要求元端末400は、サービス情報検索サーバ100からのサービス情報から、IP電話機Bの発呼先を選択する(ステップS313)。これにより、IP電話機Bへの発呼動作が開始される。
図13の場合、通信要求元端末400は、IP電話機Bを発呼先とするINVITEメッセージをサービス提供サーバ(SIPサーバ群)500に送信して、呼確立シーケンスを行う(ステップS314、S315)。そして、呼が確立すると、通信要求元端末400とIP電話機Bとの間で、通話が開始する(ステップS316)。
通話を終了する際(例えば、通信要求元端末400から通話を終了する際)、通信要求元端末400は、SIPのBYEメッセージをIP電話機Bに送信し、呼切断シーケンスを行い、通話を終了する(ステップS317)。
(A−3)第1の実施形態の効果
以上のように、第1の実施形態によれば、移動するユーザ/端末に対して通信サービスを開始したい場合に、例えばBluetoothという近距離無線通信の仕組みを活用して、最適な通信相手の機器の情報を取得することができ、その情報を元に通信サービスを開始することが可能となる。
さらに、第1の実施形態で説明した機構を利用すると、以下のような効果を奏する。
例えばBluetoothという比較的簡単な近距離無線通信の仕組みを利用して、移動中の通信相手の近傍機器の情報を検索することができる。機器検索も、例えばBluetoothのプリミティブなコマンドを利用するため、利用のハードルが低い。
通信先候補の検索結果に対して、機器能力の優先度値を使用して、複数の視点で順序付けできる。例えば、距離の近い順の情報、性能の高い順の情報、候補が多い場合に性能レベルごとに均等にふるい分けした後の情報などである。これにより、いろいろな通信要求に対して、利便性が向上する。
サービス情報検索時にサービス利用性確認方法を組み込めるため、機器が実際にサービス利用の準備ができているかも情報を提示することができ、選択した通信先への接続/利用要求の成功確率を高めることができる。
サービスに関する端末属性、利用可能性判定方法を拡張することで、新しい通信サービスを動的に追加することが可能である。
(B)第2の実施形態
次に、本発明の情報通信システム、サービス情報検索サーバ及びサービス情報検索プログラムの第2の実施形態を図面を参照しながら説明する。
(B−1)第2の実施形態の構成
図14は、第2の実施形態の情報通信システムの全体構成を示すシステム構成図である。
図14において、第2の実施形態の情報通信システム1Bは、サービス情報検索サーバ100、近傍検索端末200、管理端末300、通信要求元端末400、サービス提供サーバ500、機器(以下、近傍機器ともいう)600、ネットワーク700、近傍機器代理端末900を少なくとも有して構成される。
第2の実施形態が、第1の実施形態と異なる点は、第1の実施形態の構成に加えて、近傍機器代理端末900を備える点である。
これは、近傍機器600の位置づけである機器が、ネットワーク700に接続していても、必ずしも近距離無線通信装置(例えばBluetoothインタフェース)を持たない場合もある。そこで、第2の実施形態では、このような近距離無線通信装置を持たない機器600であっても、近傍機器代理端末900を備えることで、第1の実施形態と同様のサービスを提供できるようにする。
近傍機器代理端末900は、近距離無線通信装置(例えばBluetoothインタフェース等)を備える端末であり、近傍機器検索の際に近傍検索端末200と近距離無線通信を行うものである。なお近傍機器代理端末900は、通信サービスには関与しない。これにより、代理端末として、各種機器(例えば、PCやプリンタや電話機など)を本システムの近傍機器600と見せることができる。
近傍機器代理端末900は、近距離無線通信装置を有するが、例えば、Bluetooth通信機能を有する端末接続装置(例えば、USBドングルや、Bluetoothカード、Bluetoothアダプタ等)をインタフェースを介して接続するようにしても良い。また、近傍機器代理端末900は、例えば、近傍機器代理端末900の内部に近距離無線通信装置を搭載した専用の端末であっても良い。
なお、近傍機器代理端末900は、近傍に存在する近距離無線通信装置を持たない機器600(例えば、PC、プリンタ、電話機等)の代わりに近距離無線通信を行うものであり、近傍に機器600が存在していれば、機器600と接続していなくて良い。
第2の実施形態において近傍機器代理端末900を備えることにより、サービス情報検索サーバ100の近傍機器情報記憶部120は、同一のBluetoothデバイスアドレスが複数のデータを対応付けて記憶するようなデータベースのIndex構造とする。
(B−2)第2の実施形態の動作
次に、第2の実施形態の情報通信システム1Bにおける処理を説明する。
第2の実施形態において、アカウント情報の登録又は更新処理、近傍機器のサービス利用可能性の確認処理、通信サービスの開始処理は、第1の実施形態と同様の処理を適用することができるから、ここでの詳細な説明は省略する。
また、近傍機器管理情報の登録又は更新処理、近傍機器検索によるサービス情報検索処理、サービス情報決定処理については、基本的には第1の実施形態と同様の処理を適用することができるので、第1の実施形態で用いた図面を参照しながら、第2の実施形態の特有の処理を説明する。
近傍機器管理情報の登録又は更新処理では、図8のステップS203において、近傍機器管理情報が近傍機器情報記憶部120に登録される。ここで、近傍機器管理情報は、同一のBluetoothデバイスアドレスが複数のデータを許容するようにする必要がある。そのため、近傍機器情報記憶部120に、Bluetoothデバイスアドレスが登録されている場合でも、新規登録を行えるようにする。
また、近傍機器検索によるサービス情報検索処理では、図9のステップS308において、近傍機器情報処理部112が、近傍検索端末200から受信したBluetoothデバイスアドレスと、サービスタイプ及びプロトコルとに基づいて、近傍機器情報記憶部120から近傍機器管理情報を抽出する。このとき、Bluetoothデバイスアドレスには、複数のデータが対応付けられている場合もあるので、このよう場合でも近傍機器情報処理部112は、該当する近傍機器管理情報をすべて抽出し、すべてを候補リストに載せる。
さらに、サービス情報決定処理では、図12のステップS401において、サービス情報決定部114が性能優先度順を適用するか否かを判断する。第1の実施形態では、性能優先度順を適用しない場合、近傍検索端末200から距離が近い順の候補リストとした場合を例示した。しかし、第2の実施形態では、近傍機器代理端末900が機器600の代理でBluetoothデバイスアドレスを送信するので、近傍検索端末200が必ずしも距離に基づく情報をサービス情報検索サーバ100に返信できない場合もある。
この点について、例えば、近傍機器管理情報に、近傍機器代理端末900と各近傍機器600との間の距離を示す距離パラメータを追加しておき、サービス情報決定部114が、この距離パラメータを用いて候補リストの順序を決定する等の方法を適用するようにしても良い。
(B−3)第2の実施形態の効果
以上のように、第2の実施形態によれば、第1の実施形態の効果に加えて、近距離無線通信装置を有しない機器を本システムに包含するための近傍機器代理端末900を導入することで、通信サービスおよびサービス対象機器を拡大することができる。
さらに、第2の実施形態で説明した機構を利用すると、以下のような効果を奏する。
Bluetoothインタフェースとしては、例えば安価なUSBドングルが多く販売されているため、近傍機器代理端末900もUSBインタフェースさえ備えれば、高性能の機器を必要とせずに、本代理端末に仕立てることができる。これは、システム導入のハードルをさらに小さくすることに貢献する。
既設の会議室の端末のUSBインタフェースなどを利用することで、新規にはこのBluetooth機能を有するUSBドングルのみ購入すればよく、初期の導入コストを抑制することができる。
(C)第3の実施形態
次に、本発明の情報通信システム、サービス情報検索サーバ及びサービス情報検索プログラムの第3の実施形態を図面を参照しながら説明する。
(C−1)第3の実施形態の構成
図15は、第3の実施形態の情報通信システムの全体構成を示すシステム構成図である。
図15において、第3の実施形態の情報通信システム1Cは、サービス情報検索サーバ100、近傍検索端末200、管理端末300、通信要求元端末400、サービス提供サーバ500、機器(以下、近傍機器ともいう)600、ネットワーク700を少なくとも有して構成される。
第3の実施形態は、第2の実施形態のように、近傍機器600が近距離無線通信装置を有していない点、第1の実施形態のように、近傍機器代理端末900が存在しない点である。
これにより、近傍検索端末200の近傍に存在する機器600自体を代理することができるので、近距離無線通信装置を持つ機器を縮退したモデルとすることができる。
第3の実施形態のモデルの意味は2つある。
1つは、近傍検索端末200自らがBluetoothインタフェースを有することで近傍機器自身を仮想的に検出できたと想定すること。
もう1つは、近傍検索端末200自身が近傍機器(距離0)でもあることを実現できることである。後者をサポートできると、近傍検索端末200自体への通信サービスが可能となる。
近傍検索端末200は、少なくとも、近距離無線通信機能と、ネットワーク700との間の通信機能を有するものである。また、近傍検索端末200は、サービス情報検索サーバ100から近傍機器検索要求を受けると、自身のBluetoothデバイスアドレスをサービス情報検索サーバ100に返信する。
例えば、近傍検索端末200は、第1及び第2の実施形態の近傍検索端末の適用例の他に、機器自体を近傍検索端末200とすることができる。
さらに、第3の実施形態を第1及び第2の実施形態と組み合わせて適用することで、サービス利用者が選択する通信相手端末の選択の拡大を図ることができる。すなわち、第1及び2の実施形態では、移動可能な近傍検索端末の近傍に存在する近傍機器600のみの選択であったが、第3の実施形態の場合には、移動可能な近傍検索端末の近傍機器600だけでなく、固定的に配置された機器に相当する近傍検索端末200自体や近傍検索端末200の近傍機器600も選択することができる。そのため、サービス利用者の通信相手端末として選択する機器の選択の幅が広がる。
第3の実施形態では、第1の実施形態に対して、以下の拡張をデータや手順に適用することで、同じ目的を実現することができる。
この点について、第2の実施形態と類似して、近傍検索端末200のBluetoothデバイスアドレスが近傍機器600のデバイスアドレスとして登録されることになる。近傍検索端末200が代理する近傍機器600は複数になる可能性がある。
そのため、近傍機器情報記憶部120は、第2の実施形態と同様に、同一のBluetoothデバイスアドレスが複数のデータを許容するようなデータベースのIndex構造とする。(C−2)第3の実施形態の動作
次に、第3の実施形態の情報通信システム1Cにおける処理を説明する。
第3の実施形態において、アカウント情報の登録又は更新処理、近傍機器のサービス利用可能性の確認処理、通信サービスの開始処理は、第1の実施形態と同様の処理を適用することができるから、ここでの詳細な説明は省略する。
また、近傍機器管理情報の登録又は更新処理、サービス情報決定処理については、基本的には第2の実施形態と同様の処理を適用することができるから、ここでの詳細な説明は省略する。
以下では、近傍機器検索によるサービス情報検索処理について、図16及び図17を参照しながら説明する。
図16及び図17は、第3の実施形態の近傍機器検索によるサービス情報検索処理を示すシーケンス図である。
図16において、ステップS301〜S303の処理は、第1の実施形態と同様の処理である。
近傍検索端末200がサービス情報検索サーバ100から機器情報の収集要求を受信すると(ステップS304)、近傍検索端末200は自らのBluetoothデバイスアドレスを読み出す(ステップS501)。
そして、近傍検索端末200は、自身のBluetoothデバイスアドレスを機器情報として、サービス情報検索サーバ100に対して送信する(ステップS306)。
機器情報を受信したサービス情報検索サーバ100は、近傍機器情報処理部112が、受信したBluetoothデバイスアドレスに基づいて、近傍機器情報記憶部120にエントリされている端末属性を検索する(ステップS307)。
このとき、近傍機器情報処理部112は、同一のBluetoothデバイスアドレスの複数のエントリが検索される場合があるので、この場合には、検索したすべてを候補とする。
なお、サービス情報決定処理では、近傍検索端末200自身が近傍機器600を代理するので、性能優先度順を適用しない場合に必ずしも距離に基づいた情報を返すことができなくなる。
この点については、第2の実施形態と同様に、例えば、運用時の注意とするか、又例えば、距離パラメータを近傍機器600の近傍機器管理情報に追加し、サービス情報決定フローでその距離パラメータを候補リストの並び替えに利用することができる。
(C−3)第3の実施形態の効果
以上のように、第3の実施形態によれば、近傍検索端末自身が近傍機器と一体化又は代理化することで、通信サービスおよびサービス対象機器を拡大することができる。
この機構を利用すると、以下の2点の効果を奏する。
近傍検索端末自身が通信サービスを提供する能力を有する場合に、自らのBluetoothデバイスアドレスを登録し、検索時にそのアドレスを通知して、検索対象に包含することが可能になる。
近傍機器の代理端末として、端末管理情報をサービス情報検索サーバに登録し、検索時にそれらのアドレスを通知できるため、初期のシステム導入コストを抑制することができる。
(D)第4の実施形態
次に、本発明の情報通信システム、サービス情報検索サーバ及びサービス情報検索プログラムの第4の実施形態を図面を参照しながら説明する。
(D−1)第4の実施形態の構成
図18は、第4の実施形態の情報通信システムの全体構成を示すシステム構成図である。
図18において、第4の実施形態の情報通信システム1Dは、サービス情報検索サーバ100、通信要求元/近傍検索端末950、管理端末300、近傍機器600、サービス提供サーバ700を少なくとも有して構成される。
第4の実施形態が、第1の実施形態と異なる点は、通信要求元端末と近傍検索端末とが同居したモデルとする点である。
これは、サービス利用者が、別のユーザと通信サービスを行うケースではなく、通信要求元/近傍検索端末950の近傍にある、例えばプリンタや家電等の機器600を検索して、サービス利用や機器の制御などを行う場合に利用することができる。
通信要求元/近傍検索端末950は、第1の実施形態で説明した通信要求元端末400と近傍検索端末200との内部構成を一体的に備えるものである。すなわち、通信要求元/近傍検索端末950は、自身が、少なくとも近距離無線通信部(例えばBluetoothインタフェース等)を有する。
第4の実施形態では、第1の実施形態に対して、以下の拡張をデータや手順に適用することで、同じ目的を実現することができる。
近傍機器情報記憶部120は、第1の実施形態と同様に近傍機器600の近傍機器管理情報を記憶する。第4の実施形態の近傍機器情報記憶部120は、通信要求元/近傍検索端末950が自らBluetoothインタフェースを持つため、近傍機器の代理としてデバイスアドレスを複数登録することができる。
そのため、近傍機器情報記憶部120は、第2、第3の実施形態と同様に、同一のBluetoothデバイスアドレスが複数のデータを許容するようなデータベースのIndex構造となる。
(D−2)第4の実施形態の動作
次に、第4の実施形態の情報通信システム1Dにおける処理を説明する。
第4の実施形態において、アカウント情報の登録又は更新処理、近傍機器のサービス利用可能性の確認処理、通信サービスの開始処理は、第1の実施形態と同様の処理を適用することができるから、ここでの詳細な説明は省略する。
また、近傍機器管理情報の登録又は更新処理、サービス情報決定処理については、基本的には第2の実施形態と同様の処理を適用することができるから、ここでの詳細な説明は省略する。
以下では、近傍機器検索によるサービス情報検索処理について、図19及び図20を参照しながら説明する。
通信要求元/近傍検索端末950は、起動時又はネットワークアドレスの変更時に、ID、パスワード及びネットワークアドレスをサービス情報検索サーバ100に送信する(ステップS601)。
サービス利用者は、自身の通信要求元/近傍検索端末950の近傍に存在する近傍機器600を利用する際、自身の通信要求元/近傍検索端末950の公開名、サービスタイプ及びプロトコルを、通信要求元/近傍検索端末950に入力する。
そして、通信要求元/近傍検索端末950が、これら入力された通信要求元/近傍検索端末950の公開名、サービスタイプ及びプロトコルを、サービス情報検索サーバ100に送信して近傍機器情報の要求を行う(ステップS602)。
サービス情報検索サーバ100では、アカウント情報記憶部130を参照して、受信した通信要求元/近傍検索端末950の公開名に基づいて対応するアカウント情報の検索を行う(ステップS603)。
そして、サービス情報検索サーバ100は、アカウント情報から得られた通信要求元/近傍検索端末950のIPアドレスに対して、近傍機器情報の収集要求を行う(ステップS604)。
近傍機器情報の収集要求が与えられると、通信要求元/近傍検索端末950は、BluetoothのInquiryコマンドを利用して、近傍機器600の探索を行い、近傍機器600からBluetoothデバイスアドレスを取得する(ステップS605、S606)。
その後、通信要求元/近傍検索端末950は、自らのBluetoothデバイスアドレスを読み出す(S307)。
通信要求元/近傍検索端末950は、取得した近傍機器600のBluetoothデバイスアドレス及び自身のBluetoothデバイスアドレスを機器情報として、サービス情報検索サーバ100に送信する(ステップS608)。
通信要求元/近傍検索端末950から機器情報を受信すると、サービス情報検索サーバ100は、受信した機器情報に基づいて近傍機器情報記憶部120から、対応する端末属性を検索する(ステップS609)。このとき、複数のBluetoothデバイスアドレスのエントリが検索されることがあるが、その場合でもすべてを候補とする。
その後、サービス情報検索サーバ100は、候補リストを参照して、各機器600のサービス利用可能性をサービス提供サーバ500に確認し(ステップS610、S611)、例えば図12に例示したサービス情報の決定を行い(ステップS612)、決定したサービス情報を通信要求元/近傍検索端末950に送信する(ステップS613)。
なお、図12に例示するサービス情報の決定方法において、性能優先度値を適用しない場合に、必ずしも距離に基づく順序で候補リストを作成ことはできないが、例えば、運用時の注意としたり、例えば、距離パラメータを近傍機器の管理情報に追加し、サービス情報決定フローでその距離パラメータを用いて候補リストの並び替えをしたりすることができる。
(D−3)第4の実施形態の効果
以上のように、第4の実施形態によれば、通信要求元と近傍検索端末を同一とすることで、自分の近傍にある機器に対して、サービスを利用したり、制御を実行したりすることができるようになる。また、Bluetoothインタフェースを有することで、近傍機器の代理機能もサポートすることができる。
この機構を利用すると、以下の2点の効果が期待できる。
Bluetoothインタフェースを持つ端末であれば、希望のサービス機能を有する自分の近傍機器を検索することができる。これは、簡易なプリンタサービスから、移動しながら適切な利用機器を選択する複雑な機能まで低コストで便利なサービスを実現できる。
自分自身の通信サービス機能を利用させるため、簡易に自分のアドレスの登録、検索時アドレスの通知ができ、他の実施例との併用により、利便性が向上する。
(E)他の実施形態
(E−1)上述した第1〜第4の実施形態において、近傍機器管理情報の定義にある端末属性と、サービス利用性確認方法をセットで拡張することで、サポートするサービスを増やすことも可能である。
また、上述した第1〜第4の実施形態では、サービス情報検索サーバが、近傍機器のサービス利用可能性をサービス提供サーバに確認する場合を例示したが、近傍機器のサービス利用可能性を確認しないようにしても良い。
(E−2)第1〜第4の実施形態は、それぞれ個別のシステムとして説明したが、第1〜第4の実施形態で説明した構成の全て又はいずれかを組み合わせて、1つのシステムとして、第1〜第4の近傍検索端末、通信要求元/近傍検索端末を混在して利用することもできる。その場合は、上記のそれぞれ端末に実装する制御プログラムを各実施形態のフローと合わせ、端末属性検索では複数のBluetoothデバイスアドレスの存在仮定を、提供情報サービス決定では距離パラメータの導入を適用するようにしても良い。
(E−3)第1〜第4の実施形態では、各近傍機器のサービス管理情報に含まれるサービスを指定して通信サービスを特定したが、サービスグループという概念を導入し、個別のサービスを所属させると、サービスグループを指定したサービスの検索も可能である。
例えば、音声電話サービス、TV電話サービス、チャットサービスを、双方向コミュニケーションサービスグループと定義し、ユーザは双方向コミュニケーションサービスグループを指定してサービス検索を実行すれば状況に応じて適切なサービスを選択できるメリットがある。
この場合、第1〜第4の実施形態で説明した実施形態に加えた拡張として、近傍機器管理情報が、サービスグループ属性の追加と、近傍機器情報要求時にサービスグループの指定とを可能とすること、サービスの検索時にサービスグループを指定された場合は所属するサービスを検索対象と判定することが必要となる。
(E−4)第1〜第4の実施形態では、近傍検索端末は、起動時/変更時にIPアドレスをサービス情報提供サーバに登録するが、その際、ユーザアカウント、パスワードを使用するようにしても良い。この場合、これらの情報をセキュアに管理するため、例えば、IDデバイスのような耐タンパ性を有するデバイス(例えば、SDインタフェースで機器に装着等)を利用するようにしても良い。
(E−5)第1〜第4の実施形態において、サービス情報検索サーバが実現する機能は、分散処理により実現するようにしても良い。例えば、第1〜第4の実施形態では、サービス情報検索サーバが物理的に同一の装置の場合を例示したが、第1〜第4の実施形態で説明したサービス情報検索サーバの各機能を行う装置がネットワーク上に分散配置され、各装置がネットワークを通じて相互に必要なデータの授受を図りながら同様の機能を実現するようにしても良い。
(E−6)第1〜第4の実施形態において、サービス情報検索サーバ、近傍検索端末、通信要求端末、サービス提供サーバ等の各サーバや端末が実現する各種機能は、ソフトウェア処理により実現することができる。例えば、各サーバや端末のハードウェアは、CPU、ROM、RAM、EEPROM等から構成され、CPUが、ROMに格納される各種処理の処理プログラムを読み出して実行することにより実現されるものである。