以下に添付図面を参照して、本発明に係るサービス提供システムおよびサービス提供方法の実施例を詳細に説明する。なお、以下では、実施例で用いる主要な用語、実施例1に係るサービス提供システムの概要、実施例1に係るサービス提供システムの構成、実施例1に係るサービス提供システムによる処理の手順、実施例1の効果を順に説明し、続いて、他の実施例について説明する。なお、この実施例によりこの発明が限定されるものではない。
ところで、「サービス提供サーバ」は、端末各々の関係や端末とサービス提供サーバとの関係、もしくは端末を利用する利用者同士の関係などに基づいて、サービスを制御する。具体的に例を挙げて説明すると、例えば、IMサービスにおいて、端末Aを利用する利用者と端末Bを利用する利用者とがファイル共有を実現する場合を想定する。端末Bが、「サービス提供サーバ」にアクセスしている際に、端末Aが、「サービス提供サーバ」にファイルをアップロードしたとする。このような場合、「サービス提供サーバ」は、端末Aの利用者と端末Bの利用者との関係に基づいて、端末Bにファイルを送信する。すなわち、「サービス提供サーバ」は、例えば、端末Aの利用者から利用者IDやパスワードの入力を受け付け、端末Bの利用者から利用者IDやパスワードの入力を受け付けることで、端末Aの利用者と端末Bの利用者とを特定する。そして、「サービス提供サーバ」は、特定した端末Aの利用者と端末Bの利用者との関係が、ファイル共有を互いに認めている関係であれば、当該関係に基づいて、端末Bにファイルを送信するよう、サービスを制御するのである。
また、例えば、SNS(Social Networking Service)において、サイトの運営者である端末Aの利用者が端末Bの利用者にサイトを閲覧させる場合を想定する。このような場合、「サービス提供サーバ」は、端末Aの利用者と端末Bの利用者との関係に基づいて、端末Bの利用者によるサイトの閲覧を制御する。すなわち、「サービス提供サーバ」は、特定した端末Aの利用者と特定した端末Bの利用者との関係が、端末Aの利用者によって端末Bの利用者によるサイトの閲覧が認められている関係であれば、当該関係に基づいて、端末Bの利用者によるサイトの閲覧を許可するよう、サービスを制御するのである。
また、例えば、音楽情報を提供する「サービス提供サーバ」が、端末Aの利用者に音楽情報のダウンロードを許可する場合を想定する。このような場合、「サービス提供サーバ」は、端末Aの利用者と「サービス提供サーバ」との関係に基づいて、端末Aによるダウンロード通信を制御する。すなわち、「サービス提供サーバ」は、特定した端末Aの利用者と「サービス提供サーバ」との関係が、「サービス提供サーバ」によって端末Aの利用者によるダウンロード通信が認められている関係であれば、当該関係に基づいて、端末Aによるダウンロード通信を許可するよう、サービス提供を制御するのである。
このように、端末各々の関係や端末とサービス提供サーバとの関係、もしくは端末を利用する利用者同士の関係などは、そのサービス内容によって様々な態様があるが、いずれの場合も、「サービス提供サーバ」が、これらの関係に基づいてサービスを制御することに変わりはない。
もっとも、従来のWebサービスは、このような関係が、予め登録されたものであることを前提として提供されてきた。例えば、従来の「サービス提供サーバ」は、利用者同士の関係などを予めバディリストに登録し、登録したバディリストに基づいて、チャットや画像データの共有などのサービスを制御していたのである。これに対し、本発明における「サービス提供サーバ」は、予め登録されたバディリストのような関係のみならず、通信相手との関係が一時的な場合(アドホックに変化する関係の場合)にも、かかる一時的な通信関係に基づいて、チャットや画像データの共有などのサービスを制御するものである。
[実施例1に係るサービス提供システムの全体構成]
図1に示すように、このサービス提供システムは、HGW・情報表示端末・SIPフォンなどを有する利用者宅A〜Cと、SIPプロキシと、セッション管理サーバと、サービス提供サーバとがネットワークを介して、相互に通信可能に接続されている。
各装置の機能を簡単に説明しておくと、利用者宅のHGWは、他の装置やネットワークとの通信を中継するホームゲートウェイであり、情報表示端末は、Webブラウザなどを用いてネットワーク上のサービスを利用するパーソナルコンピュータなどの装置であり、SIPフォンは、SIPを用いて音声接続を行う装置であり、ハードウエアで実現されていてもよく、パーソナルコンピュータなどに組み込むソフトウエアとして実現されていてもよい。
SIPプロキシは、SIPサーバの役割の一つであり、SIPフォンなどからのリクエストをほかのSIP端末(例えば、SIPフォンなど)やSIPサーバに転送するサーバである。セッション管理サーバは、後述するcallセッション情報や制御用セッション情報を用いて、利用者宅Aと利用者宅Bと利用者宅Cとの接続を行うサーバである。サービス提供サーバは、上記したように、端末各々の関係や端末とサービス提供サーバとの関係、もしくは端末を利用する利用者同士の関係などに基づいて、サービスを制御する。
なお、本実施例では、ネットワークに接続される1台のサービス提供サーバが利用者A宅および利用者B宅にサービスを提供する例について説明するが、これに限定されるものではなく、複数のサービス提供サーバがネットワークに接続されており、それぞれが利用者A宅や利用者B宅にサービスを提供してもよい。
このような構成を有するサービス提供システムによれば、通信相手との関係が一時的な場合(アドホックに変化する関係の場合)に、このような一時的な通信関係に基づいてサービスを制御することが可能であり、簡単な操作デバイスを表示装置と連携させてサービス画面を操作させることができる。例えば、実施例1に係るサービス提供システムでは、SIPフォンという簡単なインターフェースを用いて、一時的な通信関係で複数の利用者宅同士(情報表示端末同士)を接続することができる。また、実施例1に係るサービス提供システムでは、SIPフォンという簡単なインターフェースをパソコンなどの表示装置と連携させて、SIPフォンの操作のみで表示装置に表示されるサービス画面を操作することができる。
なお、ここでは、SIPフォンというハードウエアを用いた例を説明するが、これに限定されるものではなく、例えば、サービス画面を表示しているパソコンや、サービス画面を表示しているパソコンとは別のパソコンなどにソフトウエアにインストールされていてもよい。
[実施例1に係るサービス提供システムの構成]
次に、図2〜図14を用いて、実施例1に係るサービス提供システムの各装置の構成について説明する。なお、以下では、サービス提供システムの構成については簡単に説明し、各部の処理については後述する処理手順にて詳細に説明することとする。
(セッション管理サーバの構成)
図2は、セッション管理サーバの構成を示すブロック図である。図2に示すように、セッション管理サーバ100は、以下に説明する各部が汎用的なサーバなどに備えられることによって実現され、通信制御I/F部110と、記憶部120と、制御部130とを有する。
通信制御I/F部110は、HTTP通信用の一般的なインターフェースおよびライブラリを備え、情報表示端末20との間で情報を送受信したり、HGW10やサービス提供サーバ200との間で情報を送受信したりするなどする。
記憶部120は、制御部130における各種制御に用いられる情報を記憶し、特に本発明に密接に関連するものとしては、図2に示すように、制御用セッション管理テーブル123と発着間紐付けIDテーブル124とサービス管理テーブル125とを有する。
制御用セッション管理テーブル123は、制御用セッション情報(セッション管理サーバ100が情報表示端末20との間で通信を行うために、当該情報表示端末20のWebブラウザに対して付与する情報)を管理するテーブルである。例えば、制御用セッション管理テーブル123は、図3に示すように、制御用セッション情報と、Call−IDと、Fromと、Toと、発着判定フラグと、通話情報(開始時刻〜終了時刻)と、HGWのURLとを対応付けて記憶している。
例えば、セッション管理サーバ100が情報表示端末20との間で通信を行うために、当該情報表示端末20のWebブラウザに対して付与する情報のことであり、情報表示端末20とセッション管理サーバ100との間で確立されたWeb通信を一意に識別する情報である。後述するcallセッション情報収集部131が、情報表示端末20からサービス開始要求を受け付けた際に制御用セッション情報を払い出し、制御用セッション管理テーブル123に格納する。なお、制御用セッション情報としては、情報表示端末20がWeb通信を行う際に利用するブラウザに付与された情報である『セッションID』(CookieのIDなど)を用いる手法などが考えられる。また、制御用セッション情報は、一般的には確立されたセッションごとにユニークに生成される。
また、callセッション情報とは、SIPフォン30間でSIPによって確立されたセッションを一意に識別する情報である。後述するcallセッション情報収集部131が、情報表示端末20からサービス開始要求を受け付けた際に当該情報表示端末20から取得し、制御用セッション管理テーブル123に格納する。なお、callセッション情報としては、SIP通信に含まれる情報である『Call−ID』もしくは『isub』、または、『From』、『To』、『tag』、IPアドレス、もしくは、これらの組合せを用いる手法や、SIP通信に含まれるその他の情報(例えば、『Date』など)を組合せて用いる手法などが考えられ、SIPによって確立された通信を一意に識別することが可能な情報を用いる手法であれば、どのような手法でもよい。また、callセッション情報は、一般的には確立されたセッションごとにユニークに生成される。
また、発着判定フラグとは、SIPフォン30間でSIPによって確立されたセッションについて、SIPフォン30(制御用セッション情報を払い出した情報表示端末20と組で利用されるSIPフォン30)が発側であるのか着側であるのかを判定するフラグである。後述するcallセッション情報収集部131が、情報表示端末20からサービス開始要求を受け付けた際に当該情報表示端末20から取得し、制御用セッション管理テーブル123に格納する。
通話情報とは、callセッション情報によって一意に識別されるセッションの開始時刻と終了時刻とを示す情報である。例えば、後述するcallセッション情報収集部131が、情報表示端末20からサービス開始要求を受け付けた際に、その時刻を開始時刻として制御用セッション管理テーブル123に格納する。なお、後述するcallセッション情報収集部131が、情報表示端末20から開始時刻を取得し、制御用セッション管理テーブル123に格納してもよい。また、例えば、セッション管理サーバ100は、セッションが切断されたことを把握した際などに、その時刻を終了時刻として制御用セッション管理テーブル123に格納する。
HGWのURLとは、情報表示端末20によるHTTP通信を制御するHGW10のURLである。後述するcallセッション情報収集部131が、情報表示端末20からサービス開始要求を受け付けた際に当該情報表示端末20から取得し、制御用セッション管理テーブル123に格納する。また、グループIDは、通話接続(音声ブリッジ)されている端末をグループ化するための情報である。
このように、制御用セッション管理テーブル123は、セッション管理サーバ100が払い出した制御用セッション情報に対応付けて、SIPフォン30(情報表示端末20と組で利用されるSIPフォン30)によって確立されたセッションに関する情報(以下、callセッション情報、発着判定フラグおよび通話情報を「セッションに関する情報」という)等を記憶することで、制御用セッション情報が、どのような情報表示端末20に対して払い出されたものであるか等を管理するものである。なお、図5において、説明の便宜上、制御用セッション情報や『Call−ID』として規則的な数値が例示されているが、一般的には乱数などが格納されることになる。
発着間紐付けIDテーブル124は、発着間紐付けID(SIPによって確立されたセッションを一意に識別するcallセッション情報の仮名としてセッション管理サーバ100が払い出した仮名情報)を管理するテーブルである。例えば、発着間紐付けIDテーブル124は、図4に示すように、制御用セッション情報と、発着間紐付けIDと、仮名IDと、ステータスとを対応付けて記憶している。
発着間紐付けIDテーブル124が記憶するこれらの情報は、セッション管理サーバ100が発着間紐付けIDおよび仮名IDを発行する際などに登録される。ここで、発着間紐付けIDは、サービス提供サーバ200が、通話中の情報表示端末20各々、すなわち、利用者各々がSIPフォン30各々によって通話中である情報表示端末20各々を紐付けるために利用するIDである。後述するように、発着間紐付けIDは、確立されたセッションごと(すなわち、通話ごと)に新しく払い出されるため、サービス提供サーバ200は、セッション単位で(すなわち、通話単位で)情報表示端末20各々を紐付けることができる。
また、仮名IDとは、情報表示端末20と当該情報表示端末20が利用するサービスとの組合せごとに、かつ、確立されたセッションごと(すなわち、通話ごと)にセッション管理サーバ100が発行したものである。例えば、情報表示端末20と当該情報表示端末20が利用するサービスとの組合せを一意に識別する情報であり、サービス提供サーバ200が、2台の情報表示端末20のうちのどちらの情報表示端末20であるかを特定するために利用するIDである。すなわち、サービス提供サーバ200は、発着間紐付けIDを用いることで2台の情報表示端末20を特定し、特定した2台の情報表示端末20に提供するサービスを連携するように制御することまではできるが、発着間紐付けIDだけでは2台の情報表示端末20を区別してサービスを提供することまではできない。この点、仮名IDは、情報表示端末20とサービスとの組合せごとに発行されるため、サービス提供サーバ200は、この仮名IDを用いて2台の情報表示端末20それぞれを区別し、それぞれの情報表示端末20に適応したサービスを提供するように制御することができる。
また、ステータスとは、仮名IDによって識別される利用者が、サービスを利用中であるか否かの状態を示すものである。
サービス管理テーブル125は、利用者宅Aまたは利用者宅Bに提供しているサービスを管理するテーブルである。具体的には、サービス管理テーブル125は、図5に示すように、制御用セッション情報と、URLとを対応付けて管理する。ここで記憶される制御用セッション情報は、上記したように、利用者宅Aまたは利用者宅Bに割り振られたセッション情報である。また、URLとは、提供されるサービスごとに割り与えられたURL(http://ntt.co.jp)と、制御用セッション情報ごとに決まるURI(posttdata?id=PB,index=5)とから構成される。なお、このURLは、サービス提供サーバ200によって払出されるものであり、サービス提供サーバ200から仮名IDと発着間紐付けIDとURLとを含んだパラメータ登録要求を受信した際に、仮名IDと発着間紐付けIDから特定される制御用セッション情報と対応付けて登録される。さらに、セッション管理サーバ100は、制御用セッション情報ごとに決まるURI(posttdata?id=PB,index=5)の「PB」に、SIPフォン30から受け付けたPB信号(ユーザによって入力されたサービスを特定する識別子)を入力することで、ユーザに次に提供すべきサービスを特定することができる。なお、ここで示したURLやURIはあくまで例であり、これに限定されるものではない。
制御部130は、特に本発明に密接に関連するものとしては、図2に示すように、callセッション情報収集部131と、発着間紐付けID発行部132と、サービス制御部133とを有する。
callセッション情報収集部131は、サービス開始要求を送信してきた情報表示端末20毎に、当該情報表示端末20と組で利用されるSIPフォン30と他のSIPフォン30との間で確立された通信を識別するcallセッション情報を収集する。
発着間紐付けID発行部132は、callセッション情報収集部131によって収集された複数のcallセッション情報の中から同一の通信を示すcallセッション情報を特定し、特定したcallセッション情報によって識別されるSIPフォン10各々と組で利用される情報表示端末20各々を連携するための発着間紐付けIDを、情報表示端末各々に対して発行する。また、発着間紐付けID発行部132は、仮名IDを発行する。
サービス制御部133は、SIPフォン30から受け付けたPB信号をサービス管理テーブル125のURLに代入することによって、次に提供するサービスを特定し、特定したサービスをPB信号送信元のHGWに接続される装置に提供する。例えば、サービス制御部133は、利用者A宅と利用者B宅との間で通信が紐付けされた後に、利用者A宅および利用者B宅のセッションを特定する制御用セッション情報と、提供中のサービスとURLとを対応付けて、サービス管理テーブル125に格納する。その後、サービス制御部133は、利用者A宅のSIPフォン30からPB信号を受信した場合、当該PB信号をサービス管理テーブル125のURLに代入して次に提供するサービスを特定し、特定したサービスの提供依頼をサービス提供サーバ200に送信する。そして、サービス制御部133は、サービス提供サーバ200から提供されたサービス(データ)を利用者A宅の情報表示端末に送信する。
(サービス提供サーバの構成)
サービス提供サーバ200は、以下に説明する各部が汎用的なサーバなどに備えられることによって実現され、特に本発明に密接に関連するものとしては、図6に示すように、通信制御I/F部210と、記憶部220と、制御部230とを備える。
通信制御I/F部210は、HTTP通信用の一般的なインターフェースおよびライブラリを備え、セッション管理サーバ100との間や、情報表示端末20との間、SIPプロキシとの間などで情報を送受信する。
記憶部220は、制御部230における各種制御に用いられる情報を記憶し、特に本発明に密接に関連するものとしては、図6に示すように、Webセッション情報管理テーブル221とサービステーブル222とを有する。
Webセッション情報管理テーブル221は、発着間紐付けID(SIPによって確立された通信を一意に識別するcallセッション情報の仮名としてセッション管理サーバ100が発行した仮名情報であり、情報表示端末20各々を連携するための情報)などを管理するテーブルである。例えば、Webセッション情報管理テーブル221は、図7に示すように、Webセッション情報と、発着間紐付けIDと、仮名IDと、発着判定フラグとを対応付けて記憶している。
Webセッション情報管理テーブル221が記憶するこれらの情報の内、Webセッション情報(サービス提供サーバ200が情報表示端末20との間で通信を行うために、当該情報表示端末20のWebブラウザに対して付与する情報)は、サービス提供サーバ200が、情報表示端末20からサービス利用要求を受け付けた際に払い出し、登録するものである。また、発着間紐付けID、仮名IDおよび発着判定フラグは、サービス提供サーバ200が、情報表示端末20からサービス利用要求を受け付けた際に登録するものである。
ここで、Webセッション情報は、サービス提供サーバ200が、情報表示端末20を特定するために用いられる。すなわち、サービス提供サーバ200は、情報表示端末20からアクセスを受付けた際に、当該情報表示端末20のWebブラウザに付与されているWebセッション情報を取得し、情報表示端末20を特定する。また、発着間紐付けIDは、サービス提供サーバ200が、通話中の情報表示端末20各々、すなわち、利用者各々がSIPフォン30各々によって通話中である情報表示端末20各々を紐付けるために用いられる。
また、仮名IDは、サービス提供サーバ200が、接続されている情報表示端末20のうちのどちらの情報表示端末20であるかを特定するために用いられる。すなわち、サービス提供サーバ200は、発着間紐付けIDを用いることで情報表示端末20を特定し、特定した情報表示端末20に提供するサービスを連携するように制御することまではできるが、発着間紐付けIDだけでは複数の情報表示端末20それぞれを区別してサービスを提供することまではできない。この点、仮名IDは、情報表示端末20とサービスとの組合せごとに発行されるため、サービス提供サーバ200は、この仮名IDを用いて情報表示端末20それぞれを区別し、それぞれの情報表示端末20に適応したサービスを提供するように制御することができる。つまり、サービス提供サーバ200は、仮名IDを用いることによって、「通話中の利用者各々のいずれかであること」だけでなく、「いずれの利用者であるか」を特定することはできる。また、発着判定フラグは、サービス提供サーバ200が、情報表示端末20と組で利用されるSIPフォン30が、発側であるのか着側であるのかを判定するために用いられる。
サービステーブル222は、利用者宅Aまたは利用者宅Bに提供しているサービスを管理するテーブルである。具体的には、サービステーブル222は、図8に示すように、「Webセッション情報」と「URL」とを対応付けて記憶する。「Webセッション情報」は、サービス提供サーバ200によって払出された情報表示端末20を特定する情報であり、「URL」は、提供されるサービスごとに割り与えられたURL(http://ntt.co.jp)と、URI(posttdata?id=PB,index=5)とから構成される情報である。
なお、このURLは、図5で説明したURLと同様の情報であり、サービス提供サーバがWebセッション情報によって特定される情報表示端末20に対して提供したサービスのURLであり、サービス提供時に登録される。また、URI(posttdata?id=PB,index=5)の「PB」に、SIPフォン30から受け付けたPB信号を入力することで、ユーザに次に提供すべきサービスを特定することができる。なお、ここで示したURLやURIはあくまで例であり、これに限定されるものではない。
図6に戻り、制御部230は、特に本発明に密接に関連するものとしては、図6に示すように、発着間紐付けID収集部231と、サービス提供制御部232とを備える。
発着間紐付けID収集部231は、サービスの提供を要求する情報表示端末20毎に、セッション管理サーバ100によって発行された発着間紐付けIDを収集し、Webセッション情報管理テーブル221に格納する。すなわち、発着間紐付けID収集部231は、情報表示端末20からサービス提供の要求を受け付けると、当該情報表示端末20から発着間紐付けIDを収集する。発着間紐付けIDは、上記したように、確立されたセッションごと(すなわち、通話ごと)に新しく払い出されるものであるので、発着間紐付けID収集部231は、個々の情報表示端末20から発着間紐付けIDを収集した結果、2つの情報表示端末20からは同じ発着間紐付けIDを収集することにもなる。また、実施例1における発着間紐付けID収集部231は、情報表示端末20毎に、仮名IDおよび発着判定フラグを収集し、Webセッション情報管理テーブル221に格納する。なお、発着間紐付けID収集部231は、情報表示端末20から発着間紐付けIDを取得するようにしてもよいし、セッション管理サーバ100から取得するようにしてもよい。
サービス提供制御部232は、発着間紐付けID収集部231によって収集された複数の発着間紐付けIDの中からサービスを連携することを示す発着間紐付けIDを特定し、特定した発着間紐付けIDの収集元である情報表示端末20各々に提供するサービスを連携するように、サービス提供を制御する。
サービス提供制御部232は、ユーザが次に要求するサービス画面を示すURLを特定するために、セッション管理サーバ100からPB信号などを受信し、受信したPB信号を用いてURLを特定し、特定したURLによって示されるサービス画面をユーザ(情報表示端末)に提供する。例えば、サービス提供制御部232は、サービス提供制御部232によってサービスが提供されている情報表示端末20が接続されるHGWのSIPフォン30からPB番号が送信された場合に、このPB信号をセッション管理サーバ100を介して受信する。このとき、サービス提供制御部232は、PB信号を送信したHGWが接続される通信を特定するWebセッション情報もセッション管理サーバ100から受信する。そして、サービス提供制御部232は、受信したWebセッション情報をキーにしてサービステーブル222から使用中のサービス並びにURLを特定し、特定したURLに受信したPB信号を代入する。その後、サービス提供制御部232は、セッション管理サーバ100を介して、PB信号を代入して作成されたURLを情報表示端末20に送信する。このようにすることで、ユーザは、簡単なインターフェースであるSIPフォンで情報表示端末20に表示されているサービス画面を操作することができる。
(HGWの構成)
図9に示すHGW10は、以下に説明する各部が汎用的なゲートウェイ装置などに備えられることによって実現され、特に本発明に密接に関連するものとしては、SIP通信部/HTTP通信部11と、記憶部12と、制御部13とを備える。
SIP通信部/HTTP通信部11は、SIP用およびHTTP通信用の一般的なインターフェースおよびライブラリを備え、SIPフォン30とSIPプロキシとの間の通信、情報表示端末20とサービス提供サーバ200との間の通信、HGW10とセッション管理サーバ100との間の通信、HGW10とSIPプロキシとの間の通信、HGW10とサービス提供サーバ200との間の通信などを制御する。
記憶部12は、制御部13における各種制御に用いられる情報を記憶し、特に本発明に密接に関連するものとしては、図9に示すように、ブラウザセッション情報管理テーブル12aを有する。
ブラウザセッション情報管理テーブル12aは、配下の情報表示端末20に割り当てられたブラウザセッション情報を予め記憶する。例えば、ブラウザセッション情報管理テーブル12aは、図10に示すように、SIPフォン30を一意に識別する情報(SIPフォンID)と、当該SIPフォン30と組で利用される情報表示端末20を一意に識別する情報(情報表示端末ID)と、当該情報表示端末20を特定するためのブラウザセッション情報とを対応づけて予め記憶する。また、ブラウザセッション情報管理テーブル12aは、Call−IDと、Fromと、Toと、発着判定フラグと、通話情報とを対応付けて記憶している。ブラウザセッション情報管理テーブル12aが記憶するこれらの情報の内、Call−IDと、Fromと、Toとは、例えば、HGW10が収集し、登録したものである。発着判定フラグは、HGW10が、SIPによって確立された通信に含まれる情報から自ら生成した情報である。HGW10は、配下に接続するSIPフォン30を把握しているので、該当する呼が、発信であるのか、着信であるのかを判断することができる。また、ブラウザセッション情報管理テーブル12aは、情報表示端末に割り与えられているIPアドレスをさらに対応付けて記憶していてもよい。
図9に戻り、制御部13は、特に本発明に密接に関連するものとしては、図9に示すように、サービス利用制御部13aとデータ受け渡し部13bとを有する。
サービス利用制御部13aは、情報表示端末20によるサービス利用を制御する。データ受け渡し部13bは、セッション管理サーバ100による制御に従って、サービスに関連するデータの受け渡しを行う。
(SIPフォンの構成)
SIPフォン30は、汎用的なSIPフォンによって実現され、特に本発明に密接に関連するものとしては、図11に示すように、SIP通信部31と、入力部32と、出力部33と、入出力制御I/F部34とを有する。
いずれも汎用的なSIPフォン30と同様であるので簡単に説明すると、入力部32は、SIPフォン30に用いられる情報や、各種処理をするための操作指示などを、番号キーやマイクなどによって入力し、出力部33は、SIPフォン30による各種処理の結果や、各種処理をするための操作指示などを、ディスプレイやスピーカに出力し、入出力制御I/F部34は、入力部32と、出力部33と、SIP通信部31との間における情報転送を制御し、SIP通信部31は、SIP用の一般的なインターフェースおよびライブラリを備え、他方のSIPフォン30との間で(HGW10を介して)情報を送受信する。
(情報表示端末の構成)
情報表示端末20は、以下に説明する各部が汎用的なPCや情報家電などに備えられることによって実現され、特に本発明に密接に関連するものとしては、図12に示すように、HTTP通信部21と、入力部22と、出力部23と、入出力制御I/F部24と、制御部25とを有する。
入力部22は、情報表示端末20に用いられる情報や、各種処理をするための操作指示などを、キーボード、マウス、リモコンなどによって入力し、出力部23は、情報表示端末20による各種処理の結果や、各種処理をするための操作指示などを、ディスプレイやプリンタなどに出力し、入出力制御I/F部24は、入力部22と、出力部23と、HTTP通信部21と、制御部25との間における情報転送を制御し、HTTP通信部21は、HTTP通信用の一般的なインターフェースおよびライブラリを備え、サービス提供サーバ200との間で(HGW10を介して)情報を送受信する。
制御部25は、特に本発明に密接に関連するものとしては、図12に示すように、サービス利用部25aと受け渡し要求部25bとを備える。
サービス利用部25aは、サービス提供サーバ200によって提供されるサービスを利用する。具体的には、サービス利用部25aは、サービスの提供を開始するサービス提供開始要求をセッション管理サーバ100に送信したり、サービスの利用を要求するサービス利用要求をサービス提供サーバ200に送信したりする。
受け渡し要求部25bは、セッション管理サーバ100による制御に従って、サービスに関連するデータの受け渡しを行う。具体的には、受け渡し要求部25bは、サービスに関連するデータの受け渡しを要求する受け渡し要求や取得要求、提供要求をセッション管理サーバ100に送信するなどする。
[実施例1に係るサービス提供システムによる処理の手順]
続いて、図13〜図17を用いて、実施例1に係るサービス提供システムによる処理の流れを説明する。
(サービス提供に関する処理の手順)
図13に示すように、まず、SIPプロキシが、両SIPフォン30(SIP通信部31)による通信を制御することで、両SIPフォン30(SIP通信部31)間でステップS1〜S3のSIP通信が行われ、その結果、ステップS4において、両SIPフォン30間でSIPによって通信(呼)が確立される。なお、SIP通信におけるDigest認証やREGISTER処理などについては図示していないが、一般的なSIP通信と同様、ステップS1よりも前に行われている。
両SIPフォン30間でSIPによって通信が確立されると、HGW10(サービス利用制御部13a)は、SIPによって確立された通信を一意に識別するcallセッション情報を自ら収集することで取得し、また、発着判定フラグを取得する(ステップS5)。例えば、HGW10(サービス利用制御部13a)は、callセッション情報としての『Call−ID』、『From(SIP−URI)』および『To(SIP−URI)』を、SIPによって確立された通信に含まれる情報から自ら収集することで取得する。また、HGW10(サービス利用制御部13a)は、両SIPフォンが発側であるのか着側であるのかを示す『発着判定フラグ』を、SIPによって確立された通信に含まれる情報から自ら生成する。なお、HGW10(サービス利用制御部13a)は、取得したcallセッション情報等についてHGWの署名付証明書を発行し、当該署名付証明書をcallセッション情報に添付することで、当該callセッション情報を検証可能な形式で発行してもよい。
また、実施例1においては、HGW10がcallセッション情報を自ら収集し、発着判定フラグを自ら生成する手法を説明したが、この手法に限られるものではない。例えば、HGW10が、SIPプロキシによって収集されたcallセッション情報をSIPプロキシから受信することで収集し、発着判定フラグについては自ら生成する手法でもよい。また、SIPプロキシから通知される情報に、callセッション情報や発着判定フラグなどの情報が付与されていてもよい。
ここで、SIPプロキシがcallセッション情報を収集する点について簡単に説明しておくと、SIPプロキシは、SIPによって通信を確立する過程やSIPによって確立された通信を制御する装置自身であるので、自装置が制御することで確立したセッションに関する情報を管理しているのが一般的である。したがって、SIPプロキシは、自らが制御することで両SIPフォンの間にセッションを確立すると、callセッション情報としての『Call−ID』、『From(SIP−URI)』、『To(SIP−URI)』を、確立したセッションのSIP信号から収集することができる。そして、SIPプロキシは、収集したcallセッション情報を、発側のSIPフォン30を配下に接続するHGW10と、着側のSIPフォン30を配下に接続するHGW10とに、プッシュ型で送信するなどする。すると、HGW10は、SIPプロキシによって収集されたcallセッション情報をSIPプロキシから受信することで、callセッション情報を収集することができる。
なお、この手法の場合に、SIPプロキシは、callセッション情報についてSIPプロキシの署名付証明書を発行し、当該署名付証明書をcallセッション情報に添付することで、当該callセッション情報を検証可能な形式で発行してもよい。また、ここでは、SIPプロキシが発側のSIPフォンを配下に接続するHGW10にcallセッション情報を送信する例について記載したが、本願はこれに限定されるものではない。例えば、HGW10がcallセッション情報を収集してセッション管理サーバに送信し、また、SIPプロキシもcallセッション情報を収集してセッション管理サーバに送信する。そして、セッション管理サーバ100では、SIPプロキシから受信したcallセッション情報とHGW10から受信したcallセッション情報とが一致するか否かによって、callセッション情報を検証するようにしてもよい。
図13に戻り、続いて、HGW10(サービス利用制御部13a)は、配下のSIPフォンを一意に識別する情報であるSIPフォンIDを、当該SIP通信に含まれる情報から収集する(ステップS6)。なお、SIPフォンIDとは、例えば、SIPフォン30の内線番号のことである。HGW10の配下に複数のSIPフォン30が接続される構成の場合、SIP−URIはHGW10に対して付与され、HGW10配下のSIPフォン30各々には、内線番号が付与される。
そして、HGW10(サービス利用制御部13a)は、ステップS4においてSIPによって通信を確立したSIPフォン30と組で利用される情報表示端末20を特定する(ステップS7)。具体的には、HGW10(サービス利用制御部13a)は、まず、SIPフォンIDをキーとしてブラウザセッション情報管理テーブル12aを検索することで情報表示端末20を特定し、特定した情報表示端末20のブラウザセッション情報と、HGW10に対してポーリングを行う複数の情報表示端末20各々のブラウザセッション情報とを比較し、ブラウザセッション情報の一致によって、SIPによって通信を確立したSIPフォン30と組で利用される情報表示端末20を特定する。
そして、HGW10(サービス利用制御部13a)は、アクセス先変更指示を、ステップS7において特定された情報表示端末20に対して行う。具体的には、特定された情報表示端末20に対して、セッション管理サーバ100のURLにアクセス先を変更するよう指示するリダイレクト指示を、callセッション情報等とともに行う(ステップS8)。この時、実施例1におけるHGW10(サービス利用制御部13a)は、セッション管理サーバ100にHGW10のURLを通知することを目的として、リダイレクト指示に、HGW10のURLをも含めている。すなわち、リダイレクト指示に含められたHGW10のURLは、情報表示端末20によってセッション管理サーバ100に送信される。なお、実施例1においては、HGW10がセッション管理サーバ100のURLを予め記憶部に記憶していることで、当該URLにアクセス先を変更するようリダイレクト指示を行うことができる。この結果、情報表示端末20は、リダイレクト指示を受け、HGW10のURLからセッション管理サーバ100のURLにアクセス先を変更する。
すると、情報表示端末20(サービス利用部25a)はリダイレクトされ、接続先をセッション管理サーバ100に変更し、サービスを開始することを要求するサービス開始要求を、当該セッション管理サーバ100に送信する(ステップS9)。この時、情報表示端末20(サービス利用部25a)は、callセッション情報等と、HGW10のURLとを、セッション管理サーバ100に送信することになる。
一方、セッション管理サーバは100(callセッション情報収集部131)、情報表示端末20から送信されたcallセッション情報等を受信すると、当該callセッション情報等の検証を行う(ステップS10)。すなわち、セッション管理サーバ100(callセッション情報収集部131)は、callセッション情報等が真正な情報であることを検証する。例えば、セッション管理サーバ100(callセッション情報収集部131)は、SIPプロキシに問い合わせを行うことで、callセッション情報等が真正な情報であることを検証する。なお、callセッション情報等を、署名付証明書が添付された検証可能な形式で受信した場合には、セッション管理サーバ100(callセッション情報収集部131)は、例えば、当該署名付証明書を検証することで、callセッション情報等が真正な情報であることを検証してもよい。
続いて、セッション管理サーバ100(callセッション情報収集部131)は、ステップS10における検証の結果、callセッション情報等が真正な情報であることを確認すると、当該callセッション情報等、HGW10のURL、及び通話情報としての開始時刻を制御用セッション管理テーブル123に格納し、制御用セッション情報を払い出し、払い出した制御用セッション情報を制御用セッション管理テーブル123および発着間紐付けIDテーブル124に格納する(ステップS11)。
続いて、セッション管理サーバ100(callセッション情報収集部131)は、サービス開始要求を送信してきた情報表示端末20(発側)が利用可能なサービスを取得し(ステップS12)、サービス開始要求を送信してきた情報表示端末20(発側)に対して制御ページを生成する(ステップS13)。
続いて、セッション管理サーバ100(callセッション情報収集部131)は、情報表示端末20に対して、接続先監視機能と、ステップS11で払い出した制御用セッション情報と、ステップS13で生成した制御ページとを送信する(ステップS14)。ここで、接続先監視機能とは、例えば、JavaScriptファイルであり、情報表示端末20にインストールされることで、情報表示端末20とセッション管理サーバ100との間で通信を確立し、情報表示端末の接続先を監視する役割を果たす機能である。
すると、情報表示端末20は、セッション管理サーバ100から送信された制御ページをWebブラウザから表示する(ステップS15)。また、情報表示端末20は、セッション管理サーバ100から送信された接続先監視機能をインストールする。すると、当該接続先監視機能部は、セッション管理サーバ100との間で通信を確立し、セッション管理サーバ100から送信された制御用セッション情報を用いてポーリングを行うことで、情報表示端末20の接続先のURLをセッション管理サーバ100に定期的に送信する。一方、セッション管理サーバ100は、ポーリングに用いられている制御用セッション情報を確認することで(ステップS16)、当該制御用セッション情報を払い出した情報表示端末の接続先を定期的に監視する。
なお、これまで、発信側の情報表示端末20について説明してきたが、着信側の情報表示端末20についても同様の処理が行われる。こうして、発信側の情報表示端末20および着信側の情報表示端末20の両方に接続監視機能がインストールされ、接続先監視機能部各々とセッション管理サーバ100との間で通信が確立される。
続いて、図14に示すように、発信側の情報表示端末20の利用者が、Webブラウザに表示された制御ページの中からサービスを選択することで(ステップS17)、情報表示端末は、サービス開始要求をセッション管理サーバ100に対して送信する(ステップS18)。なお、サービス開始要求の送信は、図14に示すように、接続先監視機能を介して行われてもよく、あるいは、接続先監視機能を介さずに情報表示端末20から直接セッション管理サーバ100に送信されてもよい。
すると、セッション管理サーバ100(発着間紐付けID発行部132)は、情報表示端末20から送信された制御用セッション情報が、制御用セッション管理テーブル123に登録されているものであることを確認し(ステップS19)、発着間紐付けIDおよび仮名IDを発行する(ステップS20)。なお、発行された発着間紐付けIDおよび仮名IDが発着間紐付けID管理テーブル124に格納される実装例を説明する。例えば、発信側の情報表示端末20の利用者が、制御ページの中からサービスを選択すると(サービスを起動すると)、情報表示端末20(サービス利用部25a)は、選択したサービスをセッション管理サーバ100に送信する。この時、情報表示端末20(サービス利用部25a)は、制御用セッション情報を用いる。すると、セッション管理サーバ100(発着間紐付けID発行部132)は、情報表示端末20が用いた制御用セッション情報を検索キーとして制御用セッション管理テーブル123を参照し、情報表示端末20から送信された制御用セッション情報が、制御用セッション管理テーブル123に登録されているものであることを確認する。そして、セッション管理サーバ100(発着間紐付けID発行部132)は、確認した制御用セッション情報を用いて発着間紐付けIDテーブル124を参照する。情報表示端末20(サービス利用部25a)による当該制御用セッション情報の送信が初回である場合には、制御用セッション情報は発着間紐付けIDテーブル124に未だ格納されていないはずである。このため、セッション管理サーバ100(発着間紐付けID発行部132)は、発着間紐付けIDおよび仮名IDを発行し、発行した発着間紐付けIDおよび仮名IDを制御用セッション情報に対応付けて発着間紐付けIDテーブル124に格納し、さらに、ステータス(「利用中」)を格納する。一方、情報表示端末20(サービス利用部25a)による制御用セッション情報の送信が初回でない場合には、制御用セッション情報は発着間紐付けIDテーブル124に格納されているはずである。このため、セッション管理サーバ100(発着間紐付けID発行部132)は、発着間紐付けIDおよび仮名IDを新たに発行し、新たに発行した発着間紐付けIDおよび仮名IDを、既に格納済みの制御用セッション情報に対応付けて発着間紐付けIDテーブル124に格納し(発着間紐付けIDおよび仮名IDは更新される)、さらに、ステータス(「利用中」)を格納する。
ここで、発着間紐付けIDとは、サービス提供サーバ200において、発信側の情報表示端末と着信側の情報表示端末とを紐付けるために用いられるIDのことである。発信側のSIPフォン30と着信側のSIPフォン30との間でSIPによって確立された通信は、callセッション情報によって一意に識別することができるので、サービス提供サーバ200は、当該callセッション情報を用いれば、発信側の情報表示端末20と着信側の情報表示端末20とを紐付けることができる。しかしながら、callセッション情報をサービス提供サーバ200に開示することにセキュリティ上の問題があると考えられるような場合(例えば、どの利用者同士からのアクセスであるかをサービス提供事業者にはわからないようにする場合)には、callセッション情報そのものをサービス提供サーバ200に開示するべきではない。そこで、実施例1においては、callセッション情報を匿名化し、かつ紐付け可能とするために、仮名の形式で、セッション管理サーバ100が、発着間紐付けIDを発行するものである。また、仮名IDとは、サービス提供サーバ200において、発信側の利用者もしくは着信側の利用者を特定するために用いられるIDのことである。すなわち、発着間紐付けIDのみでは利用者までを特定することができないため、サービス提供事業者が利用者を特定することを目的として、情報表示端末20と当該情報表示端末20が利用するサービスとの組合せごとに、セッション管理サーバ100が発行するものである。
セッション管理サーバ100(発着間紐付けID発行部132)は、情報表示端末20に対して、サービス提供サーバ200のURL(ステップS12において取得したもの)と、発着間紐付けIDと、仮名IDと、発着判定フラグとを送信する(ステップS21)。また、実施例1におけるセッション管理サーバ100(発着間紐付けID発行部132)は、発着間紐付けID、仮名IDおよび発着判定フラグを検証可能な形式で送信する。例えば、セッション管理サーバ100(発着間紐付けID発行部132)は、発着間紐付けID、仮名IDおよび発着判定フラグについてセッション管理サーバ100の署名付証明書を発行し、当該署名付証明書を発着間紐付けID、仮名IDおよび発着判定フラグに添付することで、当該発着間紐付けID、仮名IDおよび発着判定フラグを検証可能な形式で発行する。なお、署名付証明書を添付する手法に限られるものではなく、添付しない手法を用いてもよい。
一方、情報表示端末20(サービス利用部25a)は、セッション管理サーバ100から送信されたURLに接続し、セッション管理サーバ100から送信された発着間紐付けID、仮名IDおよび発着判定フラグを、サービス提供サーバ200に送信する(ステップS22)。
すると、サービス提供サーバ200(発着間紐付けID収集部231)は、情報表示端末20から送信された発着間紐付けID、仮名IDおよび発着判定フラグを受信すると、当該発着間紐付けID、仮名IDおよび発着判定フラグの検証を行う(ステップS23)。すなわち、サービス提供サーバ200(発着間紐付けID収集部231)は、発着間紐付けID、仮名IDおよび発着判定フラグに添付された署名付証明書を検証することで、発着間紐付けID、仮名IDおよび発着判定フラグが真正な情報であることを検証する。なお、発着間紐付けID、仮名IDおよび発着判定フラグが真正な情報であることを検証する手法としては、セッション管理サーバ100に問い合わせを行う手法でもよい。
続いて、サービス提供サーバ200(発着間紐付けID収集部231)は、ステップS23における検証の結果、発着間紐付けID、仮名IDおよび発着判定フラグが真正な情報であることを確認すると、発着間紐付けID、仮名IDおよび発着判定フラグを送信した情報表示端末が行うWeb通信(サービス提供を受けるために情報表示端末がサービス提供サーバとの間で行うWeb通信)に付与する情報として、Webセッション情報を払い出し、Webセッション情報管理テーブル221に格納する(ステップS24)。すると、Webセッション情報管理テーブル221は、Webセッション情報と発着間紐付けIDと仮名IDと発着判定フラグとを格納することになる。なお、このように、サービス提供サーバ200(発着間紐付けID収集部231)は、仮名IDや発着判定フラグをも格納していれば、サービス提供サーバ200がサービスを提供する際に、この仮名IDや発着判定フラグに基づいたサービス提供を制御することも可能になる。
サービス提供サーバ200(発着間紐付けID収集部231)は、続いて、サービス提供画面を生成し(ステップS25)、ステップS24において払い出したWebセッション情報とともに、生成したサービス提供画面を情報表示端末20に送信する(ステップS26)。
すると、情報表示端末20のWebブラウザには、サービス提供画面が表示される(ステップS27)。
ところで、実施例1においては、セッション管理サーバ100(発着間紐付けID発行部132)は、ステップS18におけるサービス開始要求に応じて発信側の情報表示端末20を制御すると同時に、発信側の情報表示端末20から着信側へのサービス開始要求を受信した場合、また、着信側の情報表示端末20からサービス開始要求を受信した場合など、所定の契機で、着信側の情報表示端末20についても制御する(ステップS28〜S35)。すなわち、図14には図示していないが、着信側の情報表示端末20も、ステップS18〜S20と同様の処理手順によってステップS28に移行する。ステップS28は、発信側の情報表示端末20について行われるステップS21に対応する処理である。また、着信側の情報表示端末20も、ステップS21〜S27と同様の処理手順、すなわちステップS31〜S35を行う結果、着信側の情報表示端末20のWebブラウザにも、サービス提供画面が表示される。このため、発信側の情報表示端末20および着信側の情報表示端末20の両方が直ちにサービスを利用する状態となる。
すなわち、サービス提供サーバ200(サービス提供制御部232)は、ステップS24において発信側の情報表示端末20に対してWebセッション情報を払い出してWebセッション情報管理テーブル221に格納するとともに、ステップS31において着信側の情報表示端末20に対してWebセッション情報を払い出してWebセッション情報管理テーブル221に格納する。すると、サービス提供サーバ200(サービス提供制御部232)は、Webセッション情報管理テーブル221に格納されている複数の発着間紐付けIDの内、所定の発着間紐付けID各々がサービスを連携すべきものであることを示す場合に、当該発着間紐付けID各々に対応づけて格納されているWebセッション情報各々を用いて提供されるサービスを、互いに関連づけて制御する(ステップS36)。
その後、サービス提供サーバ200(サービス提供制御部232)は、図15に示すように、利用者宅Aの情報表示端末20と利用者宅Bの情報表示端末20とがSIPフォン30によって接続されてSIP通信を基に紐付けると、両端末に払い出したWebセッション情報に対して、図16に示すようなサービス画面を利用者A宅の情報表示端末20に送信する(ステップS40)。このとき、サービス提供サーバ200(サービス提供制御部232)は、提供したサービスのURLとサービス提供先の端末が利用するWebセッション情報とを対応付けてサービステーブル222に格納する。なお、SIPフォン30は、自装置に画面表示機能が付いている場合には、情報表示端末20からサービス画面(図16参照)を取得して表示するようにしてもよい(ステップS41)。
続いて、利用者宅Aの情報表示端末20は、サービス提供サーバ200から受信したサービス画面(図16参照)をディスプレイなどの表示部に出力し(ステップS42)、当該画面を介して、サービス提供サーバ200とポーリングを実施する(ステップS43)。
そして、利用者宅Aの情報表示端末20は、セッション管理サーバ100に対して、セッション管理サーバ100から払出された仮名IDと発着間紐付けIDとURLとを含んだパラメータ登録要求をセッション管理サーバ100に送信する(ステップS44)。このパラメータ登録要求を受信したセッション管理サーバ100(サービス制御部133)は、受信した仮名IDと発着間紐付けIDをキーに発着間紐付けIDテーブル124を検索して、制御用セッション情報を特定し、特定した制御用セッション情報と受信したURLとを対応付けてサービス管理テーブル125に格納する(ステップS45)。
その後、SIPフォン30は、ユーザからPB番号の選択(例えば、図16の「3」など)を受け付けると(ステップS46)、当該選択されたPB番号を示すPB信号をHGW10に送信する(ステップS47)。
すると、HGW10(サービス利用制御部13a)は、配下のSIPフォン30を一意に識別する情報であるSIPフォンIDを、当該SIP通信に含まれる情報から収集し、収集したSIPフォンIDをキーにしてブラウザセッション情報管理テーブル12aからcallセッション情報を特定する(ステップS48)。続いて、HGW10(サービス利用制御部13a)は、特定したcallセッション情報とSIPフォン30から受信したPB信号とをセッション管理サーバ100に送信する(ステップS49)。
このようにして、callセッション情報とPB信号とを受信したセッション管理サーバ100(サービス制御部133)は、受信したcallセッション情報をキーにして制御用セッション管理テーブル123から制御用セッション情報を取得し、取得した制御用セッション情報をキーに発着間紐付けIDテーブル124またはサービス管理テーブル125から利用中サービスを特定する(ステップS50)。さらに、セッション管理サーバは、ステップS50で利用中サービスを特定するのに用いた制御用セッション情報をキーに発着間紐付けIDテーブル124から発着間紐付けIDと仮名IDとを特定するとともに、ステップS50で特定した利用中サービスや利用中サービスを特定するのに用いた制御用セッション情報をキーにサービス管理テーブル125からURLを検索し(ステップS51)、当該URL(サービス提供サーバが提供するサービス画面)に対して、特定した発着間紐付けIDと仮名IDと受信したPB信号とを送信する(ステップS52)。
そして、サービス提供サーバ200(サービス提供制御部232)は、セッション管理サーバ100から受信した発着間紐付けIDと仮名IDとをキーにしてWebセッション情報管理テーブル221からWebセッション情報を特定し、特定したWebセッション情報に対応付けてサービステーブル222に記憶されるURLのPB信号に、セッション管理サーバ100から受信したPB信号を代入することで特定されるURL(例えば、図17に示すように、図16の「3」に対応する画面=サービス提供サーバが新たに提供するサービス画面)をセッション管理サーバ100に送信する(ステップS53)。このとき、サービス提供サーバ200(サービス提供制御部232)は、PB信号を代入することで特定されたURL(サービス提供サーバが新たに提供するサービス画面)とともに、受信した発着間紐付けIDと仮名IDも送信する。
セッション管理サーバ100(サービス制御部133)は、サービス提供サーバ200から受信した発着間紐付けIDと仮名IDをキーにしてサービス管理テーブル125からURLを検索し、当該URLをサービス提供サーバ200から受信したURL(PB信号を代入することで特定されたURL)で更新した後(ステップS54)、URL(PB信号を代入することで特定されたURL=サービス画面)を取得したことを利用者A宅のURLに送信する(ステップS55)。
その後、サービス提供サーバ200(サービス提供制御部232)は、セッション管理サーバ100から受信したPB信号によって特定した新たなURLを利用者A宅の情報表示端末20に送信し、利用者A宅の情報表示端末20は、受信した新たなURLをディスプレイなどの表示部に出力する(ステップS56)。
[実施例1による効果]
このように実施例1によれば、利用者A宅のユーザは、SIPフォン30で利用したいサービスのPB信号を押下するだけで、利用者A宅の情報表示端末20は、当該PB信号に対応するサービスをサービス提供サーバ200から取得してユーザに提供することができる。すなわち、通信相手との関係が一時的な場合(アドホックに変化する関係の場合)に、このような一時的な通信関係に基づいてサービスを制御することが可能であり、簡単な操作デバイスを表示装置と連携させてサービス画面を操作させることができる。例えば、実施例1に係るサービス提供システムでは、SIPフォン30という簡単なインターフェースを用いて、一時的な通信関係で複数の利用者宅同士(情報表示端末同士)を接続することができる。また、実施例1に係るサービス提供システムでは、SIPフォン30という簡単なインターフェースを情報表示端末20と連携させて、SIPフォン30の操作のみで情報表示端末20に表示されるサービス画面を操作することができる。また、本願をコールセンターなどに適用した場合、電話機のPBを押下した際の画面と、起動中のサービスとの対応が1対1となり対応が取りやすい。さらに、友人間で複数サービスを起動した場合に、受信した信号がどのサービスに送信すべきかをHGW10が把握する必要がないので、HGW10側の処理が簡単になる。
ところで、実施例1では、PB信号によって新たなサービス画面を提供する例で、例えば、コールセンターなどで有効活用できるサービス形態について説明したが、本願はこれに限定されるものではなく、様々なサービスに適用することができる。そこで、実施例2では、本願を適用した様々なサービス例について説明する。
(画面スクロール)
まず、図18を用いて、PB信号によって、情報表示端末20に表示される画面をスクロールする例について説明する。図18は、情報表示端末に表示される画面をPB信号でスクロールさせる場合の処理の流れを示すシーケンス図である。
図18に示すように、実施例1と同様の処理(ステップS1〜ステップS36)が実行されていることによって、利用者宅Aの情報表示端末20と利用者宅Bの情報表示端末20とがSIPフォン30によって接続されてSIP通信を基に紐付けられた利用者A宅の情報表示端末20は、セッション管理サーバ100から接続先監視機能を読み込んで自装置にインストールする(ステップS60)。ここで、接続先監視機能とは、例えば、JavaScriptファイルであり、情報表示端末20にインストールされることで、情報表示端末20とセッション管理サーバ100との間で通信を確立し、情報表示端末20の接続先を監視する役割を果たす機能である。
また、サービス提供サーバ200は、利用者宅Aと利用者宅Bとの両情報表示端末20に払い出したWebセッション情報をキーにサービステーブルからURLを特定し、特定したURLにより提供されるサービス画面(図19参照)を利用者A宅の情報表示端末20に送信する(ステップS61)。
そして、利用者宅Aの情報表示端末20は、セッション管理サーバ100に対して、セッション管理サーバ100から払出された仮名IDと発着間紐付けIDとURLとを含んだパラメータ登録要求をセッション管理サーバ100に送信する(ステップS62)。その後、利用者宅Aの情報表示端末20にインストールされた接続先監視機能は、サービス画面を受信したブラウザのブラウザセッション情報をキーにブラウザセッション情報管理テーブルを検索してcallセッション情報を特定し、特定したcallセッション情報とモード指定情報とをセッション管理サーバ100に送信し(ステップS63)、サービス提供サーバとポーリングを実施する(ステップS64)。ここで送信されるモード指定情報とは、セッション管理サーバ100により記憶され、PB信号を受信した契機でどのような動作を行うのかを特定する情報である。例えば、連携接続(通話接続)されている利用者宅Bについても、利用者宅Aから発しされたPB信号に基づいた制御を行うモードや、連携接続(通話接続)されている利用者宅Bについては何の制御も行わないモードなどがあり、ユーザは利用状況によって任意に設定することができる。また、ここで送信されたモード指定情報は、一緒に送信されたcallセッション情報と対応付けてメモリなどに記憶され、callセッション情報とPB信号を送信してきた情報表示端末20(この場合、利用者A宅の情報表示端末20)に対して、PB信号によって特定されるサービスを提供する際に、連携接続される情報表示端末20(この場合、利用者B宅の情報表示端末20)にも同様のサービスを提供するか否かの判断などに利用される。
一方で、利用者宅Aの情報表示端末20は、サービス提供サーバ200から受信したサービス画面、例えば、図19に示すような画面をディスプレイなどの表示部に出力する(ステップS65)。図19に示される画面における画面操作方法とは、スクロールさせたい方向とPB信号とを対応付けたものであり、この例では、上にスクロールするには「2」、下にスクロールするには「8」、右にスクロールするには「6」、左にスクロールするには「4」が対応付けられている。なお、SIPフォン30は、自装置に画面表示機能が付いている場合には、情報表示端末20からサービス画面を取得して表示するようにしてもよい。
その後、利用者宅AのSIPフォン30は、スクロール方向と特定するPB信号の入力を受け付けると(ステップS66)、入力されたPB信号をHGWに送信する(ステップS67)。
すると、HGW10は、配下のSIPフォン30を一意に識別する情報であるSIPフォンIDを、当該SIP通信に含まれる情報から収集し、収集したSIPフォンIDをキーにしてブラウザセッション情報管理テーブル12aからcallセッション情報を特定する(ステップS68)。続いて、HGW10は、特定したcallセッション情報とSIPフォンから受信したPB信号とをセッション管理サーバ100に送信する(ステップS69)。
このようにして、callセッション情報とPB信号とを受信したセッション管理サーバ100は、受信したcallセッション情報をキーにしてステップS63で受信してメモリなどに記憶したモード指定情報を特定する(ステップS70)。さらに、セッション管理サーバ100(サービス制御部133)は、受信したcallセッション情報をキーにして制御用セッション情報テーブルから制御用セッション情報を取得し、取得した制御用セッション情報と受信したcallセッション情報をキーにして制御用セッション管理テーブル123の発着判定フラグを参照することで通話先を特定するとともに、取得した制御用セッション情報をキーに発着間紐付けIDテーブル124から利用中サービスを特定する(ステップS71)。
そして、セッション管理サーバ100(サービス制御部133)は、PB信号によって特定される方向にスクロールさせる指示を利用者A宅の情報表示端末20に送信し(ステップS72)、情報表示端末20は、指示された方向に画面をスクロールさせる(ステップS73)。なお、ここで例示した情報表示端末は、特定の方向にスクロールする指示を受け付けた場合に、その方向に自動的にスクロールする機能を有している。
また、セッション管理サーバ100(サービス制御部133)は、ステップS70で特定したモードが、通話接続先(この場合、利用者A宅の通話先なので利用者B宅の情報表示端末となる)も一緒にスクロールさせるモードである場合には、PB信号によって特定される方向にスクロールさせる指示を利用者B宅の情報表示端末20に送信する(ステップS74)。
こうすることによって、SIPフォン30という簡単なインターフェースを用いて、一時的な通信関係で複数の利用者宅同士(情報表示端末同士)を接続することができる。また、SIPフォンでPB信号を指定するだけで、情報表示端末に表示される画面を所定の方向にスクロールさせることができる。
(文字入力)
次に、図20を用いて、PB信号によって、情報表示端末に表示される画面に文字を入力する例について説明する。図20は、情報表示端末に表示される画面にPB信号で文字入力する場合の処理の流れを示すシーケンス図である。
図20に示すように、実施例1と同様の処理(ステップS1〜ステップS36)が実行されていることによって、利用者宅Aの情報表示端末20と利用者宅Bの情報表示端末20とがSIPフォン30によって接続されてSIP通信を基に紐付けられた利用者A宅の情報表示端末20は、セッション管理サーバ100から接続先監視機能を読み込んで自装置にインストールする(ステップS80)。
また、サービス提供サーバ200は、利用者宅Aと利用者宅Bとの両情報表示端末に払い出したWebセッション情報をキーにサービステーブル222からURLを特定し、特定したURLにより提供されるサービス画面(図21参照)を利用者A宅の情報表示端末20に送信する(ステップS81)。
そして、利用者宅Aの情報表示端末20は、セッション管理サーバ100に対して、セッション管理サーバ100から払出された仮名IDと発着間紐付けIDとURLとを含んだパラメータ登録要求をセッション管理サーバ100に送信する(ステップS82)。その後、利用者宅Aの情報表示端末20にインストールされた接続先監視機能は、サービス画面を受信したブラウザのブラウザセッション情報をキーにブラウザセッション情報管理テーブル12aを検索してcallセッション情報を特定し、特定したcallセッション情報とモード指定情報とをセッション管理サーバ100に送信し(ステップS83)、サービス提供サーバ200とポーリングを実施する(ステップS84)。ここで送信されるモード指定情報とは、PB信号を受信した契機でどのような動作を行うのかを特定する情報であり、例えば、連携接続(通話接続)されている利用者宅Bについても、利用者宅Aから発しされたPB信号に基づいた制御を行うか否かなどの情報である。また、ここで送信されたモード指定情報は、一緒に送信されたcallセッション情報と対応付けてメモリなどに記憶される。
一方で、利用者宅Aの情報表示端末20は、サービス提供サーバ200から受信したサービス画面、例えば、図21に示すような画面をディスプレイなどの表示部に出力する(ステップS85)。図21に示される文字入力画面は、PB信号によって縦軸と横軸とを特定し、該当する文字が入力される画面であり、「00」が終了を意味している。
その後、利用者宅AのSIPフォン30は、縦軸を特定するPB信号(例えば、1)の入力を受け付けると(ステップS86)、入力されたPB信号をHGWに送信する(ステップS87)。
すると、HGW10は、配下のSIPフォン30を一意に識別する情報であるSIPフォンIDを、当該SIP通信に含まれる情報から収集し、収集したSIPフォンIDをキーにしてブラウザセッション情報管理テーブル12aからcallセッション情報を特定する(ステップS88)。続いて、HGW10は、特定したcallセッション情報とSIPフォンから受信したPB信号とをセッション管理サーバ100に送信する(ステップS89)。
このようにして、callセッション情報とPB信号とを受信したセッション管理サーバは、受信したcallセッション情報をキーにしてステップS83で受信してメモリなどに記憶したモード指定情報を特定する(ステップS90)。さらに、セッション管理サーバ100(サービス制御部133)は、受信したcallセッション情報をキーにして制御用セッション管理テーブル123から制御用セッション情報を取得し、取得した制御用セッション情報と受信したcallセッション情報をキーにして制御用セッション管理テーブル123の発着判定フラグを参照することで通話先を特定するとともに、取得した制御用セッション情報をキーに発着間紐付けIDテーブル124から利用中サービスを特定する(ステップS91)。
そして、セッション管理サーバ100(サービス制御部133)は、利用者A宅のHGWから受信したPB信号とステップS90で特定した制御用セッション情報とを利用者A宅の接続先監視機能に送信する(ステップS92)。このとき、セッション管理サーバ100(サービス制御部133)は、ステップS91で特定した制御用セッション情報をキーにして、サービス管理テーブルなど200から取得できるURL、さらに、制御用セッション情報をキーにして発着間紐付けIDテーブル124から特定できる発着間紐付けIDや仮名IDも送信する。
すると、HGW10は、図22の(1)に示すように、受信した制御用セッション情報、URLと、PB信号(入力中データ)とを対応付けてデータベースに格納し(ステップS93)、PB信号を格納したことを接続先監視機能に送信する(ステップS94)。この情報が通知された接続先監視機能は、ステップS84で表示した画面(図21参照)を再び表示する(ステップS95)。
そして、利用者宅AのSIPフォン30は、横軸を特定するPB信号(例えば、5)の入力を受け付けると(ステップS96)、ステップS88〜ステップS95までの処理を繰り返し、図22の(2)に示すように、ステップS93で作成したデータベースの入力中データを「15」に更新し、縦軸「1」・横軸「5」に対応する「お」を入力データに格納する(ステップS97)。
その後、利用者宅AのSIPフォン30は、横軸を特定するPB信号(例えば、00)の入力を受け付けると(ステップS98)、図22の(3)に示すように、ステップS93で作成したデータベースの入力中データに「00」を格納し、入力データを「お」と確定する(ステップS99)。そして、利用者宅Aの接続先監視機能は、ステップS92で受信した発着間紐付けID、仮名IDとともに、確定した「お」をサービス提供サーバ200に送信する(ステップS100)。なお、利用者宅Aの接続先監視機能が上記情報をサービス提供サーバ200に送信する手法としては、直接送信する以外にも、情報表示端末20を介したリダイレクトで表示することもできる。
このようにすることで、サービス提供サーバ200は、利用者と電話で会話する必要も無く、利用者A宅のユーザが入力する情報をWeb画面などで取得することができる。また、ステップS89で特定したモードが、通話接続先(この場合、利用者A宅の通話先なので利用者B宅の情報表示端末となる)にも入力文字を送信するモードである場合には、PB信号によって特定された文字を利用者B宅に送信することができる。その結果、利用者Aと利用者Bは、電話している一方で、情報表示端末に入力された情報を共有することができる。
(入力情報の即時表示(ゲーム例))
さらに、上記したように、一方の端末で入力された入力情報を通話相手に即時通知することにより、図23に示すようなリバーシゲームを行うこともできる。
具体的には、図23の(1)に示すように、利用者A宅および利用者B宅の情報表示端末に、自分の色の石を置く場所を数字で特定する同じ画面を表示させる。そして、利用者A宅のユーザがSIPフォンで「1」を入力すると、図23の(2)に示すように、利用者A宅および利用者B宅の両方の情報表示端末に表示される画面が更新される。このように、SIPフォン30による場所指定を交互にすることで、リバーシを実現することができる。