JP2011077708A - 中継サーバ装置および通信方法 - Google Patents
中継サーバ装置および通信方法 Download PDFInfo
- Publication number
- JP2011077708A JP2011077708A JP2009225368A JP2009225368A JP2011077708A JP 2011077708 A JP2011077708 A JP 2011077708A JP 2009225368 A JP2009225368 A JP 2009225368A JP 2009225368 A JP2009225368 A JP 2009225368A JP 2011077708 A JP2011077708 A JP 2011077708A
- Authority
- JP
- Japan
- Prior art keywords
- client
- server
- relay server
- login
- session
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
- Telephone Function (AREA)
Abstract
【課題】複数のクライアント端末を使用するマルチモーダルを実現する際のユーザの負担を小さくする。
【解決手段】サーバと複数のクライアントとの間に設けられる中継サーバ装置であって、各クライアントから入力されるログインIDと各クライアントを識別するセッションIDとを対応づけて保持する管理部と、第1のクライアントからのリクエストを前記サーバに中継すると共に、前記サーバから受信した前記リクエストに対応するレスポンスを、前記第1のクライアントに返送するWebサーバ部と、前記管理部に保持された第2のクライアントを識別するセッションIDに対応するログインIDが、前記管理部に保持された前記第1のクライアントを識別するセッションIDに対応するログインIDと同じであったときに、前記レスポンスを、前記第2のクライアントに送信する配信部、を有する。
【選択図】図4
【解決手段】サーバと複数のクライアントとの間に設けられる中継サーバ装置であって、各クライアントから入力されるログインIDと各クライアントを識別するセッションIDとを対応づけて保持する管理部と、第1のクライアントからのリクエストを前記サーバに中継すると共に、前記サーバから受信した前記リクエストに対応するレスポンスを、前記第1のクライアントに返送するWebサーバ部と、前記管理部に保持された第2のクライアントを識別するセッションIDに対応するログインIDが、前記管理部に保持された前記第1のクライアントを識別するセッションIDに対応するログインIDと同じであったときに、前記レスポンスを、前記第2のクライアントに送信する配信部、を有する。
【選択図】図4
Description
本発明は、マルチモーダルを提供するためのサーバ装置および通信方法に係わる。
近年、マルチモーダルシステムの提案または実用化が増えてきている。マルチモーダルシステムでは、ユーザは複数のクライアント端末を利用し、各端末において同一のまたは相異なるコミュニケーションモード(例えば、視覚、聴覚など)によってサーバシステムとのインタラクションが行われる。たとえば、ユーザは、複数のクライアント端末(例えば、電話機、TV受像機など)を利用してサーバとの間で通信を行う。
図1は、マルチモーダルを実現する技術の一例を示す図である。ここでは、ユーザが電話で商品(図1に示す例では、ピザ)を注文する際に、その商品の写真または注文内容をテレビ画面に表示するシステムについて説明する。
ユーザは、電話機101およびテレビ受像機(以下、単に「テレビ」と呼ぶ。)102を操作可能である。電話機101およびテレビ102は、いずれもインターネットに接続されている。また、ピザ屋の注文サーバ103もインターネットに接続されている。
ユーザは、ピザを注文する際、先ず、電話機101を利用してピザ屋に電話をかける。このとき、インターネットと連携可能なプロトコル(例えば、SIP(Session Initiation Protocol))が使用されるものとする。また、ユーザは、注文に際してピザの写真の画像を見たいときは、その旨を口頭でピザ屋の担当者に伝える。そうすると、ピザ屋の担当者は、注文サーバ103に指示を与えることにより、電話機101に画像送信先のIPアドレスを要求する。このとき、SIPを利用して要求メッセージが送信される。この要求に応じて、電話機101から注文サーバ103にテレビ102のIPアドレスが通知される。そして、注文サーバ103がテレビ102に画像データを送信すると、ピザの画像がテレビ102に表示される。
ただし、この方式では、テレビ102がグローバルIPアドレスを有している必要がある。このため、例えば、クライアント側にNAT(Network Address Translation)等が設けられており、テレビ102にローカルアドレスが割り当てられている場合には、注文サーバ103からテレビ102へ画像データを送信することはできない。
図2は、マルチモーダルを実現する他の技術を示す図である。このシステムでは、第1の端末(電話機101)から第2の端末(テレビ102)へ、SIPを利用してサーバの場所が通知される。すなわち、注文サーバ103は、画像にアクセスするためのURLを電話機101に通知する。そうすると、電話機101は、SIPを利用して、このURLをテレビ102に通知する。そして、テレビ102は、HTTPを利用してこのURLに接続して画像を取得する。この結果、要求した画像がテレビ102に表示される。
この方式によれば、テレビ102に対してグローバルIPアドレスが割り当てられていなくても、要求した画像がテレビ102に表示されが、以下の課題がある。すなわち、この方式では、テレビ102がSIP等の非同期通信をサポートする必要がある。しかし、既に出荷されているテレビの多くはSIPをサポートしていない。また、この方式は、電話機101にテレビ102のIPアドレスを予め設定または登録しておく必要があるが、多くのユーザにとってこの設定/登録作業は必ずしも簡単ではない。
なお、関連する技術として、セキュリティを確保する電子ショッピングシステムが提案されている。このシステムは、複数のユーザ端末をグルーピングして共通の表示画面を表示させ、ネットショッピングサイトとの間を仲介するプロキシサーバと、ネットショッピングサイトへのログイン時および決済時にグループのメンバを個別に認証する認証サーバとを有する。認証サーバは、さらに、グループのメンバを個別に認証し、正常に認証されたメンバに所定の認証完了情報をそれぞれ付与する。プロキシサーバはグループの各メンバの認証完了情報を用いて、ネットショッピングサイトとの間を仲介し、ネットショッピングサーバにおいて各メンバを識別可能する。
上述したマルチモーダルシステムでは、クライアント端末が特殊なソフトウェアまたはプロトコルを実装している必要がある。すなわち、ユーザは、マルチモーダルを実現するためには、特殊なソフトウェアまたはプロトコルを実装しているクライアント端末を用意する必要がある。或いは、ユーザは、クライアント端末において様々な設定/登録を行う必要がある。
本発明の課題は、複数のクライアント端末を使用するマルチモーダルを実現する際のユーザの負担を小さくすることである。
本発明の1つの態様の中継サーバ装置は、サーバと複数のクライアントとの間に設けられ、各クライアントから入力されるログインIDと各クライアントを識別するセッションIDとを対応づけて保持する管理部と、第1のクライアントからのリクエストを前記サーバに中継すると共に、前記サーバから受信した前記リクエストに対応するレスポンスを、前記第1のクライアントに返送するWebサーバ部と、前記管理部に保持された第2のクライアントを識別するセッションIDに対応するログインIDが、前記管理部に保持された前記第1のクライアントを識別するセッションIDに対応するログインIDと同じであったときに、前記レスポンスを、前記第2のクライアントに送信する配信部、を有する。
本出願において開示される構成または方法によれば、複数のクライアント端末を使用するマルチモーダルを実現する際のユーザの負担が小さくなる。
図3は、中継サーバを利用してマルチモーダルを実現する方法を説明する図である。図3において、電話機1およびテレビ受像機(以下、単に「テレビ」と呼ぶ。)2は、ユーザが使用するクライアント端末である。ここでは、電話機1およびテレビ2には、それぞれブラウザが実装されているものとする。また、以下の例では、ユーザは、電話機1およびテレビ2を利用してピザを注文するものとする。注文サーバ3は、クライアントからの注文に応じて対応する処理を実行し、サービスを提供する。中継サーバ4は、クライアント(電話機1およびテレビ2)とサーバ(注文サーバ3)との間に設けられ、ポータルサーバとして動作する。そして、図3に示すシステムでは、以下の手順によりマルチモーダルが実現される。
(1)ユーザは、電話機1のブラウザを利用してログインIDを入力することにより、中継サーバ4にログインする。
(2)ユーザは、テレビ2のブラウザを利用してログインIDを入力することにより、中継サーバ4にログインする。なお、ユーザは、電話機1およびテレビ2を利用して同じログインIDを入力するものとする。また、各クライアント端末を利用して入力されたログインIDは、管理テーブルにより管理される。
(3)電話機1と注文サーバ3との間で、SIPを利用して、音声通話のためのコネクションが設定される。ユーザは、このコネクションを利用して、例えば口頭で、ピザの画像を要求する。
(4)注文サーバ3から電話機1へ、ピザの画像を提供するガジェット(以下、ピザ画像ガジェット)のURL(Uniform Resource Locator)が通知される。なお、ガジェットは、特に限定されるものではないが、クライアント端末に配布されるアプリケーションプログラムであり、ウィジェットと呼ばれることもある。また、ガジェットは、Web上で実行されるプログラム部品を含んでもよい。さらに、ガジェットは、例えば、クライアント端末のDesktopに配置される。
(5)電話機1のブラウザは、通知されたURLにアクセスし、ピザ画像ガジェットを取得する。このとき、電話機1と注文サーバ3との間の通信は、中継サーバ4を介して行われる。
(6)電話機1のブラウザには、ピザ画像ガジェットにより、ピザ注文ページが表示される。
(7)中継サーバ4は、上述した管理テーブルを参照し、電話機1を利用して入力されたログインIDと同じログインIDが登録されているかチェックする。この例では、電話機1およびテレビ2を利用して同じログインIDが入力されている。この場合、中継サーバ4は、テレビ2に対して、非同期で、ピザ画像ガジェットのURLを通知する。
(8)テレビ2のブラウザは、通知されたURLにアクセスし、ピザ画像ガジェットを取得する。このとき、テレビ2と注文サーバ3との間の通信は、中継サーバ4を介して行われる。
(9)テレビ2のブラウザには、ピザ画像ガジェットにより、ピザ注文ページが表示される。このとき、テレビ2のブラウザには、電話機1とは異なる内容が表示されるようにしてもよい。例えば、テレビ2のブラウザには、より大きなピザ画像またはより詳細な注文情報が表示される。この後、ユーザは、テレビ2のブラウザに表示されるピザ画像を見ながら、所望のピザを注文することができる。
このように、図3に示す方式では、電話機1およびテレビ2を利用して入力されるログインIDが互いに同じであれば、中継サーバ4は、電話機1にピザ画像ガジェットを送信する際に、そのピザ画像ガジェットのURLをテレビ2に通知する。したがって、テレビ2のブラウザにも、ピザ画像ガジェットにより、ピザの画像が表示される。この方式によれば、電話機1とテレビ2との間で直接的な通信は行われない。
<第1の実施形態>
図4は、実施形態のマルチモーダルシステムの構成を示す図である。なお、図4に示すシステム構成は、基本的に、第1の実施形態および後述する第2の実施形態において共通である。以下、ユーザが電話機1およびテレビ2を利用して商品(ここでは、ピザ)を注文するものとする。
図4は、実施形態のマルチモーダルシステムの構成を示す図である。なお、図4に示すシステム構成は、基本的に、第1の実施形態および後述する第2の実施形態において共通である。以下、ユーザが電話機1およびテレビ2を利用して商品(ここでは、ピザ)を注文するものとする。
電話機1およびテレビ2は、ユーザが使用するクライアント端末である。また、電話機1およびテレビ2は、それぞれインターネットに接続されている。なお、電話機1およびテレビ2は、インターネットに直接的に接続されてもよいし、NAT等を介してインターネットに接続されてもよい。
電話機1は、例えば、移動端末または携帯電話機であり、HTTP通信でインターネット上のページを閲覧するブラウザ11が実装されている。また、電話機1は、通話部12および受信部13を備えている。通話部12は、SIPで発呼および着呼を行う機能を備え、音声通話のためのコネクションを終端する。受信部13は、SIPを利用する非同期通信のパケットを受信する。
テレビ2は、インターネットに接続された受像機である。また、テレビ2には、HTTP通信でインターネット上のページを閲覧するブラウザ21が実装されている。
注文サーバ3は、インターネットに接続され、クライアントからの注文に応じて対応する処理を実行し、サービスを提供する。注文サーバ3は、SIPサーバ部を備え、SIPを利用したリクエストを、未使用状態のコールセンター端末5に転送する。なお、コールセンター端末5は、注文サーバ3に接続され、オペレータにより入力される指示に応じてクライアント端末との間の送受信を制御する機能を備えている。また、注文サーバ3は、Webサーバ部を備え、HTTPリクエストを受け付けて、対応するレスポンスを返送する。さらに、注文サーバ3が備えるメモリには、ピザ画像ガジェット31が格納されている。そして、注文サーバ3は、クライアントからの要求に応じて、ピザ画像ガジェット31を配信する。
注文サーバ3は、インターネットに接続され、クライアントからの注文に応じて対応する処理を実行し、サービスを提供する。注文サーバ3は、SIPサーバ部を備え、SIPを利用したリクエストを、未使用状態のコールセンター端末5に転送する。なお、コールセンター端末5は、注文サーバ3に接続され、オペレータにより入力される指示に応じてクライアント端末との間の送受信を制御する機能を備えている。また、注文サーバ3は、Webサーバ部を備え、HTTPリクエストを受け付けて、対応するレスポンスを返送する。さらに、注文サーバ3が備えるメモリには、ピザ画像ガジェット31が格納されている。そして、注文サーバ3は、クライアントからの要求に応じて、ピザ画像ガジェット31を配信する。
中継サーバ4は、クライアント(電話機1およびテレビ2)とサーバ(注文サーバ3)との間に設けられ、この例では、電話機1およびテレビ2のポータルサーバとして動作する。なお、中継サーバ4も、NAT等を介してインターネットに接続されてもよい。この場合、電話機1、テレビ2、中継サーバ4が、NATによるプライベートネットワーク内に配置されるようにしてもよい。
中継サーバ4は、Webサーバ部41、配信部42、管理部43、スクリプト注入部44を備える。Webサーバ部41は、HTTPリクエストを受け付け、必要に応じてそのリクエストに対応するコンテンツを取得する。この例では、Webサーバ部41は、HTTPリクエストに対応するガジェット(ピザ画像ガジェット31)を取得する。配信部42は、Webサーバ部41が取得したコンテンツをクライアントに送信する。管理部43は、中継サーバ4にアクセスするクライアントのセッションを管理する。スクリプト注入部44は、Webサーバ部41または配信部42によりクライアントに配信されるコンテンツに、1または複数の予め用意してあるスクリプトを注入する。このスクリプトは、コンテンツを受信したクライアント端末において実行される。なお、スクリプト注入部44は、第2の実施形態において使用される。
上記構成のシステムにおいて、電話機1のブラウザ11およびテレビ2のブラウザ21には、ピザ画像ガジェット31が配信される。そうすると、ピザ画像ガジェット31は、ブラウザ11、21のポータル画面内に配置される。
図5は、ポータル画面の一例を示す図である。ポータル画面は、1つのWebページである。そして、インターネット上のサーバから取得したガジェットは、通常、このポータル画面内に配置される。図4に示す例では、ブラウザ11、21によりそれぞれポータル画面が表示され、各ポータル画面内にピザ画像ガジェット31が配置される。なお、ポータル画面内には、複数のガジェットを配置することができる。図5では、ポータル画面内に3つのガジェットが配置されている。
図6は、第1の実施形態においてマルチモーダルを実現する方法を示すフローチャート図である。
ステップS1〜S2において、ユーザは、通信を始める前に、マルチモーダルを実現したい全てのクライアント端末(この例では、電話機1およびテレビ2)の各ブラウザ11、21を利用して、同一のログインIDで中継サーバ(Webポータルサーバ)4にログインする。ブラウザ11を利用するログインが先に行われてもよいし、ブラウザ21を利用するログインが先に行われてもよい。このとき、ユーザは、例えば、キーパッドまたはリモコン入力装置等を操作することにより、各ブラウザ11、21において、中継サーバ4を指示するURLを入力する。或いは、予め登録されている中継サーバ4のURLが選択されるようにしてもよい。これにより、各ブラウザ11、21から中継サーバ4へ、ログインのためのHTTPリクエストが送信される。
ステップS1〜S2において、ユーザは、通信を始める前に、マルチモーダルを実現したい全てのクライアント端末(この例では、電話機1およびテレビ2)の各ブラウザ11、21を利用して、同一のログインIDで中継サーバ(Webポータルサーバ)4にログインする。ブラウザ11を利用するログインが先に行われてもよいし、ブラウザ21を利用するログインが先に行われてもよい。このとき、ユーザは、例えば、キーパッドまたはリモコン入力装置等を操作することにより、各ブラウザ11、21において、中継サーバ4を指示するURLを入力する。或いは、予め登録されている中継サーバ4のURLが選択されるようにしてもよい。これにより、各ブラウザ11、21から中継サーバ4へ、ログインのためのHTTPリクエストが送信される。
ユーザは、クライアント端末が備える入力デバイスを利用してログインIDを入力することができる。また、クライアント端末が、先に入力されたログインIDを保存する機能を備えている場合には、先に入力されたログインIDを読み出して使用するようにしてもよい。
中継サーバ4は、パスワード入力等の方法でユーザ認証を行い、ユーザのログインIDを特定する。また、中継サーバ4は、受信したリクエストに対応するHTTPレスポンスとして、ブラウザ11、21にポータル画面を返送する。ポータル画面は、例えば、図5を参照しながら説明したように、1つのページ内に1または複数のガジェットを配置することができる。このとき、中継サーバ4からブラウザ11、21へ、非同期通信を仮想的に実現するポータルアプリケーションがHTTPを利用してダウンロードされるようにしてもよい。この場合、このポータルアプリケーションは、例えば、ブラウザ11、21上のポータル画面内に配置される。また、このポータルアプリケーションは、ブラウザ内で実行可能なプログラム(例えば、JavaScript等)である。
中継サーバ4とブラウザ11、21との間で行われる非同期通信は、例えば、Cometである。この場合、ブラウザ11、21は、JavaScriptのXMLHttpRequest等の命令を使用して、中継サーバ4との間にHTTPのコネクションを設定し、HTTPレスポンスが返送されてくるのを待機する。また、中継サーバ4は、クッキー等を利用して、各クライアントのブラウザを一意に特定するためのセッションIDを生成する。これにより、ログインが成功した後は、ブラウザ11、21から発生するリクエストに対してセッションIDが付与され、中継サーバ4は、そのセッションIDを利用して、ブラウザ11、21へガジェット等を送信することが可能になる。
ログインに成功すると、中継サーバ4の管理部43は、ログインIDおよびセッションIDを互いに関連づけて管理する。ログインIDおよびセッションIDは、例えば図7に示すように、テーブル形式で管理される。ここで、図7に示す管理テーブルの1行目は、電話機1のブラウザ11を利用してログインID「user001」でログインが行われ、その際にセッションIDとして「ab93jdh4sb」が生成された状態を表している。また、管理テーブルの2行目は、テレビ2のブラウザ21を利用してログインID「user001」でログインが行われ、その際にセッションIDとして「dk4jdsnskk」が生成された状態を表している。すなわち、図7に示す例では、ユーザは、ブラウザ11、21を利用して同じログインIDでログインを行っている。なお、管理部43が管理する情報は、例えば、当該セッションのログアウト時、または当該セッションの通信が一定時間行われなかったときに削除される。
ステップS3において、ユーザは、電話機1を利用してピザ屋のコールセンターに電話をかける。このとき、電話機1の通話部12から注文サーバ3に対して発呼が行われる。そうすると、ステップS4において、注文サーバ3は、電話機1からの呼を、未使用状態のコールセンター端末5に転送する。このとき、コールセンター端末5のオペレータ(すなわち、ピザ屋の担当者)が着信した呼を受け付けるものとする。これにより、ユーザとコールセンターの担当者との間の通話が確立され、注文が可能になる。
ユーザは、商品(ここでは、ピザ)の写真を見たいときは、例えば、コールセンターの担当者にその旨を伝える。そうすると、担当者は、ステップS5において、コールセンター端末5を操作して電話機1への画像送信を指示する。このとき、画像送信指示は、注文サーバ3に与えられる。
ステップS6において、注文サーバ3は、上述の画像送信指示を受け取ると、SIPメッセージを利用して電話機1に対して画像を表示するためのURLを通知する。このURLは、例えば、図4に示すピザ画像ガジェット31の格納場所を表す。
ステップS7において、電話機1の受信部13は、注文サーバ3から送信されたSIPメッセージを受信する。そして、受信部13は、受信したSIPメッセージに含まれているURLをブラウザ11に通知する。すなわち、ブラウザ11は、ピザ画像ガジェット31のURLを取得する。このとき、ブラウザ11には、ポータル画面が表示されており、また、中継サーバ4から受信した非同期通信のためのポータルアプリケーションが実装されているものとする。
ステップS8において、電話機1のポータルアプリケーションは、HTTPリクエストで、注文サーバ3から取得したURLを中継サーバ4に通知する。このとき、このURLは、アクセス先を表すパラメータとして、クッキー等と共に中継サーバ4に送信される。なお、電話機1から中継サーバ4への通知は、Webサーバ部41により受信される。
ステップS9において、中継サーバ4のWebサーバ部41は、電話機1から通知されたURLを利用してHTTPで注文サーバ3にアクセスする。そうすると、注文サーバ3は、HTTPリクエストに対応するレスポンスとして、アクセスされたコンテンツのHTMLドキュメントを中継サーバ4に送信する。これにより、中継サーバ4は、ピザ画像ガジェット31を受信する。そして、Webサーバ部41は、注文サーバ3から取得したピザ画像ガジェット31を、HTTPリクエストの送信元である電話機1のポータルアプリケーションに返送する。
ステップS10において、電話機1のポータルアプリケーションは、ブラウザ11に表示されているポータル画面の中に、受信したガジェットを追加する。すなわち、ブラウザ11のポータル画面にピザ画像ガジェット31が追加される。このとき、ピザの画像を含むHTMLドキュメントがレンダリングされ、生成された画像がブラウザ11上に表示される。
ステップS11において、中継サーバ4は、電話機1との通信に対して生成されているクッキーに含まれるセッションIDを抽出する。そして、管理部43は、図7に示す管理テーブルを参照し、抽出されたセッションIDに対応するログインIDを特定する。さらに、管理部43は、特定されたログインIDと同じログインIDが管理テーブルに登録されているか否かを検索する。すなわち、中継サーバ4は、電話機1のユーザが他のクライアント端末を利用して同時にログインしているか否かを確認する。
図4および図7に示す例では、まず、ブラウザ11との通信に対して生成されているセッションID「ab93jdh4sb」が抽出される。そうすると、管理テーブルの1行目が参照され、このセッションIDに対応するログインID「user001」が特定される。さらに、「user001」でログインが行われた他のクライアント端末が検索される。この結果、管理テーブルの2行目からセッションID「dk4jdsnskk」が特定される。すなわち、電話機1のブラウザ11およびテレビ2のブラウザ21がログインしていると判定される。
ステップS12において、中継サーバ4の配信部42は、同じログインIDでログインしているテレビ2のブラウザ21に対して、非同期で、ピザ画像ガジェット31のHTMLドキュメントを送信する。すなわち、中継サーバ4からブラウザ11、21にピザ画像ガジェット31が配信される。なお、中継サーバ4からテレビ2へガジェット等を送信するための非同期通信方式としてCometを利用する場合には、ブラウザ21を利用してログインが行われたときに確立したHTTPセッションが保持される。そして、中継サーバ4は、所望のタイミングで、HTTPレスポンスとしてテレビ2へHTMLドキュメント等を送信する。
ステップS13において、テレビ2のブラウザ21のポータルアプリケーションは、中継サーバ4からの非同期通信でHTTPレスポンスを受信する。このHTTPレスポンスは、ピザ画像ガジェット31(HTMLドキュメント)を含んでいる。そうすると、テレビ2のポータルアプリケーションは、ブラウザ21に表示されているポータル画面の中に受信したガジェットを追加する。すなわち、ブラウザ21のポータル画面にピザ画像ガジェット31が追加される。このとき、ピザの画像を含むHTMLドキュメントがレンダリングされ、生成された画像がブラウザ21上に表示される。
このように、実施形態のマルチモーダルシステムにおいては、同じログインIDでログインした複数のブラウザに、ほぼ同時に、同じガジェットが配布される。図4に示す例では、ユーザにより操作されるクライアント端末(第1のクライアント端末)である電話機1のブラウザ11、および第1のクライアントと同時に使用されるクライアント端末(第2のクライアント端末)であるテレビ2のブラウザ21に、ピザ画像ガジェット31が表示される。このとき、テレビ2にインターネット上のページを閲覧するためのソフトウェア(例えば、ブラウザ)が実装されていれば、テレビ2は、ガジェットの画像を表示できる。すなわち、各クライアント端末にブラウザが実装されている環境においては、マルチモーダルを実現するために、ユーザが難しい操作または設定をする必要はなく、また、第2のクライアント端末にSIP等の通信プロトコルを実装する必要もない。さらに、第1のクライアント端末に第2クライアント端末のIPアドレスを予め登録しておく必要もない。
なお、上述の例では、電話機1のブラウザ11およびテレビ2のブラウザ12にピザ画像ガジェット31が配信されているが、ブラウザ11、12に配信されるHTMLドキュメントは異なっていてもよい。例えば、各クライアント端末の表示能力が異なる場合は、中継サーバ4は、各クライアント端末の表示能力に応じて編集したHTMLドキュメントを送信するようにしてもよい。
図8は、中継サーバ4の管理部43が備える管理テーブルの他の実施例である。この管理テーブルにおいては、ログインIDおよびセッションIDと共に、各クライアント端末の能力を表す情報が管理されている。なお、各クライアント端末から中継サーバ4に送信されるログイン情報の中にUser-Agent情報が含まれているものとする。この場合、中継サーバ4は、受信したUser-Agent情報に基づいて、クライアント端末の機種およびその能力を特定することができる。そして、中継サーバ4が備える編集部は、ガジェットを送信する際に、クライアント端末の能力(画像の解像度、通信速度など)に応じて、送信画像のサイズおよびテキストデータを編集する。この構成によれば、各クライアント端末にそれぞれ適切な情報が表示される。
或いは、中継サーバ4は、各クライアント端末(電話機1、テレビ2)に同じHTMLドキュメントが送信されてもよい。このとき、各クライアント端末は、それぞれ、受信したHTMLドキュメントから表示可能な部分のみを抽出して表示するようにしてもよい。
<第2の実施形態>
第2の実施形態のシステム構成は、上述したように、基本的に第1の実施形態と同じである。すなわち、第2の実施形態のシステムも、図4に示すように、クライアント(電話機1およびテレビ2)とサーバ(注文サーバ3)との間に中継サーバ4を備えている。
第2の実施形態のシステム構成は、上述したように、基本的に第1の実施形態と同じである。すなわち、第2の実施形態のシステムも、図4に示すように、クライアント(電話機1およびテレビ2)とサーバ(注文サーバ3)との間に中継サーバ4を備えている。
ただし、第2の実施形態においては、各クライアントに配信されるHTMLドキュメントにスクリプトが注入される。スクリプトは、中継サーバ4のスクリプト注入部44により注入される。そして、各クライアントにおいてスクリプトが実行されることにより、1つのクライアントにおいて発生するイベントが他のクライアントに通知され、複数のクライアントが同期または連携して動作する。
図9および図10は、第2の実施形態においてマルチモーダルを実現する方法を示すフローチャート図である。なお、ステップS1〜S8、S10〜S11、S13の処理は、第1の実施形態と同じであり、説明を省略する。
ステップS8において、電話機1のポータルアプリケーションは、注文サーバ3からブラウザ11に通知されたURLを、HTTPリクエストを利用して中継サーバ4に通知する。そして、Webサーバ部41がこのHTTPリクエストを受信すると、ステップS21以降の処理が実行される。
ステップS21において、中継サーバ4のWebサーバ部41は、HTTPリクエストで通知されたURLで注文サーバ3にアクセスする。そうすると、注文サーバ3は、HTTPリクエストに対応するレスポンスとして、アクセスされたコンテンツのHTMLドキュメントを中継サーバ4に送信する。これにより、中継サーバ4は、ピザ画像ガジェット31のHTMLドキュメントを受信する。
ステップS22〜S23において、中継サーバ4のスクリプト注入部44は、注文サーバ3から取得したHTMLドキュメントに、イベント発行スクリプトおよび/またはイベント受信スクリプトを挿入する。イベント発行スクリプトおよびイベント受信スクリプトは、予め作成されたJavaScriptである。
図11は、HTMLドキュメントにスクリプトを注入する方法を説明する図である。スクリプト注入部44は、HTMLドキュメントをクライアントに提供する際に、例えば、body部の末尾にイベント発行スクリプトおよびイベント受信スクリプトを注入する。ただし、スクリプトを注入する位置は、body部の末尾に限定されるものではなく、たとえば、body部の先頭にスクリプトが注入されてもよい。
ステップS22では、スクリプト注入部44は、注文サーバ3から取得したHTMLドキュメントにイベント発行スクリプトを注入することにより、イベント発行用HTMLドキュメントを作成する。ステップS23では、スクリプト注入部44は、注文サーバ3から取得したHTMLドキュメントにイベント受信スクリプトを注入することにより、イベント受信用HTMLドキュメントを作成する。
図12および図13は、それぞれ、イベント発行スクリプトおよびイベント受信スクリプトの実施例である。これら1組のスクリプトを実行することにより、1つのクライアント端末において矢印キーを押圧するユーザ操作を、複数のクライアント端末で共有することができる。
図12に示すイベント発行スクリプトおいて、記述Aは、ユーザにより押圧されたキーに対応するキーコードを引数として関数sendKeyを呼び出すための命令を含んでいる。記述Bは、関数sendKeyの定義キーコードを取得するための命令を含んでいる。記述Cは、XMLHttpRequestを利用して中継サーバ4に接続し、その接続先に対してイベント情報(キーコード、イベント種別、ガジェット種別)を送信するための命令を含む。この例では、イベント情報の送信先として「iwc/InterWidgetCommunicationServlet(中継サーバ4)」が指定されている。また、イベント種別は「sendKey」であり、ガジェット種別は「PizzaShop」である。
図13に示すイベント受信スクリプトにおいて、記述Dは、受信情報において指定されているガジェット種別が「PizzaShop」であったときに記述Eの処理を実行するための命令を含む。したがって、図12に示すイベント発行スクリプトにより生成されたイベント情報が与えられると、イベント受信スクリプトの記述Eの処理が実行される。記述Eは、Comet経由でイベントを受信したときに呼び出され、通知されたキーコードに応じて変数moveを制御する命令を含む。この例では、キーコードが「38(上向き矢印キー)」であったときに変数moveが1だけデクリメントされ、キーコードが「40(下向き矢印キー)」であったときに変数moveが1だけインクリメントされる。
記述Fは、配信されるガジェットが提供する複数のラジオボタンの中から選択されているラジオボタンの位置を取得する命令を含む。記述Gは、変数moveの値に応じて、ラジオボタンの選択位置を変化させる命令を含む。
図9に戻る。ステップS24において、中継サーバ4のWebサーバ部41は、ステップS8で受信したHTTPリクエストの送信元へ、イベント発行用HTMLドキュメントを送信する。ここで、HTTPリクエストの送信元は、電話機1のポータルアプリケーションである。また、イベント発行用HTMLドキュメントは、図12に示すイベント発行スクリプトが注入されたピザ画像ガジェット31である。すなわち、電話機1のポータルアプリケーションに、イベント発行スクリプトが注入されたピザ画像ガジェット31が送信される。この結果、ステップS10において、ブラウザ11のポータル画面にピザ画像ガジェット31が追加される。
ステップS25において、中継サーバ4の配信部42は、ステップS11で特定されるセッションIDに基づいて、イベント受信用HTMLドキュメントを送信する。この例では、ステップS11においてテレビ2のブラウザ21が特定される。また、イベント受信用HTMLドキュメントは、図13に示すイベント受信スクリプトが注入されたピザ画像ガジェット31である。すなわち、テレビ21のポータルアプリケーションに、イベント受信スクリプトが注入されたピザ画像ガジェット31が送信される。この結果、ステップS13において、ブラウザ21のポータル画面にピザ画像ガジェット31が追加される。
このように、第2の実施形態においても、電話機1のブラウザ11およびテレビ2のブラウザ21にピザ画像ガジェット31が表示される。ただし、第2の実施形態では、ピザ画像ガジェット31には、イベント発行/受信スクリプトが注入されている。
ステップS31〜S35は、イベント発行/受信スクリプトが注入されガジェットが配信された後に実行される手順である。すなわち、ステップS31において、ユーザは、電話機1の入力キーを操作することにより、電話機1に配信されたピザ画像ガジェット31が提供する機能を使用する。ステップS32では、電話機1において、イベント発行スクリプトは、発生したイベントを検出し、そのイベント内容を中継サーバ4に通知する。検出されるイベントは、例えば、ユーザによるキー入力操作である。この場合、イベント発行スクリプトは、イベント情報として、ユーザにより押圧されたキーを識別するキーコード、イベント種別、ガジェット種別を中継サーバ4に通知する。また、イベント発行スクリプトは、この例では、XMLHttpRequestを利用して中継サーバ4にイベント情報を送信する。
ステップS33において、中継サーバ4は、上記XMLHttpRequestの送信元端末において入力されたログインIDと同じログインIDが入力されたクライアント端末を検索する。このとき、管理部43の管理テーブルが参照され、図7に示す例では、テレビ2が特定される。ステップS33の検索手順は、基本的に、ステップS11と同じである。
ステップS34において、配信部42は、ステップS33で特定されたクライアント端末にイベント情報を送信する。このとき、配信部42は、Comet等の非同期通信方式でイベント情報をテレビ2へ送信する。このイベント情報は、テレビ2のポータルアプリケーションにより受信される。
ステップS35において、テレビ2のポータルアプリケーションは、イベント情報に含まれるガジェット種別が指示するガジェットを特定し、そのガジェットに対してイベント情報を通知する。このイベント情報を受信すると、上記特定されたガジェットに注入されているイベント受信スクリプトは、そのイベント情報に従って、電話機1で発生したイベントを再現する。すなわち、中継サーバ4を介して、電話機1において行われたユーザ操作と、テレビ2で実行されるガジェットの動作とが同期する。したがって、ユーザは、電話機1を操作することにより、実質的に、テレビ2を操作することができる。
図14は、電話機1のブラウザ11およびテレビ2のブラウザ21に実装されたピザ画像ガジェット31の表示例である。ブラウザ11においては、ピザ屋が販売している複数のピザ(aaaピザ、bbbピザ、cccピザ)の名称、および各ピザを選択するためのラジオボタンが表示されている。また、ブラウザ21においては、上記複数のピザの画像、および各ピザを選択するためのラジオボタンが表示されている。なお、ブラウザ11、21において、ピザを選択するためのラジオボタンは、画面内で縦方向に並んでいる。
ユーザは、ブラウザ11、21に実装されているピザ画像ガジェット31を参照してピザを注文する。この場合、ユーザは、例えば、電話機1の上向き矢印キーおよび下向き矢印キーを操作することにより、ブラウザ11上で所望のピザを選択する。そうすると、電話機1において、ピザ画像ガジェット31に注入されているイベント発行スクリプトは、ユーザにより指示されたキーを検出し、イベント情報として中継サーバ4に通知する。ここでは、ユーザにより下向き矢印キーが操作されたものとする。この場合、電話機1のブラウザ11において、aaaピザが選択されている状態から、bbbピザが選択された状態に変化する。
中継サーバ4の管理部43は、図7に示すように、ログインIDとセッションIDとの対応関係を管理している。したがって、中継サーバ4は、電話機1から受信したイベント情報をテレビ2に送信する。そうすると、テレビ2において、ピザ画像ガジェット31に注入されているイベント受信スクリプトは、テレビ2を操作するための入力装置が備える下向き矢印キーが指示されたときと同じ処理を実行する。すなわち、テレビ2のブラウザ21においても、電話機1のブラウザ11と同様に、aaaピザが選択されている状態から、bbbピザが選択された状態に変化する。
上記状態に続いて、再度、ユーザが電話機1の下向き矢印キーを操作すると、ブラウザ11、21においてそれぞれcccピザが選択される。さらに、ユーザが電話機1の下向き矢印キーを操作すると、ブラウザ11、21上でそれぞれピザ画像ガジェット画面のスクロールが実行され、例えば、aaaピザの代わりにdddピザが表示される。
このように、第2の実施形態においては、第1のクライアント端末(ここでは、電話機1)で発生するイベントが、第2のクライアント端末(ここでは、テレビ2)が通知され、第1および第2のクライアント端末間で同期動作が実現される。したがって、第2のクライアント端末のキーボードやリモコン入力装置等を使用することなく、第1のクライアント端末を操作すれば、実質的に、第1および第2のクライアント端末双方を操作することが可能となる。
なお、中継サーバ4は、各クライアント端末にHTMLドキュメントを送信する際に、イベント発行スクリプトおよびイベント受信スクリプトの双方をそのHTMLドキュメントに注入してもよい。ただし、中継サーバ4は、イベント発行スクリプトまたはイベント受信スクリプトの一方のみをクライアント端末に送信するようにしてもよい。例えば、上述の例では、ステップS8のリクエストの送信元(ここでは、電話機1)に送信するHTMLドキュメントにイベント発行スクリプトのみを注入してもよい。また、ステップS11で検索されたクライアント端末(ここでは、テレビ2)に送信するHTMLドキュメントにイベント受信スクリプトのみを注入するようにしてもよい。
<他の実施形態>
上述の例では、ピザ画像ガジェット31は、注文サーバ3が備えるメモリ領域に格納されているが、本発明はこれに限定されるものではない。すなわち、ピザ画像ガジェット31は、注文サーバ3とは異なるサーバ装置または記憶領域から提供されるようにしてもよい。
上述の例では、ピザ画像ガジェット31は、注文サーバ3が備えるメモリ領域に格納されているが、本発明はこれに限定されるものではない。すなわち、ピザ画像ガジェット31は、注文サーバ3とは異なるサーバ装置または記憶領域から提供されるようにしてもよい。
上述の例では、中継サーバ4は、HTTPリクエストの送信元および他の1つのクライアント端末(テレビ2)にピザ画像ガジェット31を送信するが、本発明はこれに限定されるものではない。すなわち、中継サーバ4は、同じログインIDでログインを行ったすべてのクライアント端末に対してピザ画像ガジェット31を送信することができる。
上述の例では、クライアント端末にガジェットが送信されるが、本発明はこれに限定されるものではない。すなわち、例えば、クライアント端末にWebアプリケーションが送信されるようにしてもよい。
上述の例では、同じログインIDを利用してログインを行ったクライアント端末に対してガジェットが送信されるが、本発明はこれに限定されるものではない。すなわち、中継サーバ4は、例えば、同じユーザID(クライアント端末のユーザを直接的または間接的に識別する情報を含む)が入力されたクライアント端末に対して、ガジェット/Webアプリケーションを送信するようにしてもよい。なお、ログインIDは、一般に、初期登録時にユーザにより決定される情報であり、ユーザを間接的に識別する情報として使用することができる。
<中継サーバ4のハードウェア構成>
図15は、中継サーバ4のハードウェア構成を示す図である。図4において、CPU51は、メモリ53を利用してマルチモーダル提供プログラムを実行することにより中継サーバに各処理手順を実行させる。記憶装置52は、例えばハードディスクであり、マルチモーダル提供プログラムを格納する。なお、記憶装置52は、外部記録装置であってもよい。メモリ53は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。
図15は、中継サーバ4のハードウェア構成を示す図である。図4において、CPU51は、メモリ53を利用してマルチモーダル提供プログラムを実行することにより中継サーバに各処理手順を実行させる。記憶装置52は、例えばハードディスクであり、マルチモーダル提供プログラムを格納する。なお、記憶装置52は、外部記録装置であってもよい。メモリ53は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。
読み取り装置54は、CPU51の指示に従って可搬型記録媒体55にアクセスする。可搬性記録媒体55は、例えば、半導体デバイス、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体を含むものとする。通信インタフェース56は、CPU51の指示に従って、ネットワークを介してデータを送受信する。入出力装置57は、例えば、ユーザからの指示を受け付けるデバイス等に相当する。
第1および第2の実施形態に係わるマルチモーダル提供プログラムは、例えば、下記の形態で提供される。
(1)記憶装置52に予めインストールされている。
(2)可搬型記録媒体55により提供される。
(3)プログラムサーバ60からダウンロードする。
(1)記憶装置52に予めインストールされている。
(2)可搬型記録媒体55により提供される。
(3)プログラムサーバ60からダウンロードする。
そして、上記構成のコンピュータでマルチモーダル提供プログラムを実行することにより、第1および第2の実施形態に係わる中継サーバ4が実現される。すなわち、上記構成のコンピュータでマルチモーダル提供プログラムを実行することにより、Webサーバ部41、配信部42、管理部43、スクリプト注入部44の一部または全部が実現される。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
サーバと複数のクライアントとの間に設けられる中継サーバ装置であって、
各クライアントから入力されるログインIDと各クライアントを識別するセッションIDとを対応づけて保持する管理部と、
第1のクライアントからのリクエストを前記サーバに中継すると共に、前記サーバから受信した前記リクエストに対応するレスポンスを、前記第1のクライアントに返送するWebサーバ部と、
前記管理部に保持された第2のクライアントを識別するセッションIDに対応するログインIDが、前記管理部に保持された前記第1のクライアントを識別するセッションIDに対応するログインIDと同じであったときに、前記レスポンスを、前記第2のクライアントに送信する配信部、
を有する中継サーバ装置。
(付記2)
付記1に記載の中継サーバ装置であって、
前記第1のクライアントへ送信されるレスポンスに、前記第1のクライアントで発生したイベントを表すイベント情報を前記中継サーバに送信させる第1のスクリプトを注入するとともに、前記第2のクライアントへ送信されるレスポンスに、前記第2のクライアントが前記中継サーバからイベント情報を受信したときに、前記第2のクライアントに前記イベント情報に対応する処理を実行させる第2のスクリプトを注入するスクリプト注入部をさらに備え、
前記配信部はさらに、前記第1のスクリプトに基づいて前記第1のクライアントから前記イベント情報を受信したときに、前記第2のクライアントに前記イベント情報を送信する
ことを特徴とする中継サーバ装置。
(付記3)
付記2に記載の中継サーバ装置であって、
前記配信部は、前記第1のクライアントから前記イベント情報を受信したときに、前記第1のクライアントを識別するセッションIDに対応するログインIDと同じログインIDに対応するセッションIDにより識別されるクライアントに対して、前記イベント情報を送信する
ことを特徴とする中継サーバ装置。
(付記4)
付記1に記載の中継サーバ装置であって、
前記第1または第2のクライアントの少なくとも一方に送信されるレスポンスを、前記第1または第2のクライアントの能力に応じて編集する編集部をさらに備える
ことを特徴とする中継サーバ装置。
(付記5)
サーバと複数のクライアントとの間に設けられる中継サーバ装置を利用した通信方法であって、
前記中継サーバ装置が、
第1のクライアントからのリクエストを前記サーバに中継すると共に、前記サーバから受信した前記リクエストに対応するレスポンスを、前記第1のクライアントに返送し、
各クライアントから入力されるログインIDと各クライアントを識別するセッションIDとを対応づけて保持したテーブルに基づいて、第2のクライアントを識別するセッションIDに対応するログインIDが、前記第1のクライアントを識別するセッションIDに対応するログインIDと同じであったと判断されたときに、前記レスポンスを、前記第2のクライアントに送信する、
ことを特徴とする通信方法。
(付記6)
付記5に記載の通信方法であって、
前記中継サーバ装置が、前記第1のクライアントへ送信されるレスポンスに、前記第1のクライアントで発生したイベントを表すイベント情報を前記中継サーバに送信させる第1のスクリプトを注入するとともに、前記第2のクライアントへ送信されるレスポンスに、前記第2のクライアントが前記中継サーバからイベント情報を受信したときに、前記第2のクライアントに前記イベント情報に対応する処理を実行させる第2のスクリプトを注入し、
前記中継サーバ装置が、前記第1のスクリプトに基づいて前記第1のクライアントから前記イベント情報を受信したときに、前記第2のクライアントに前記イベント情報を送信する
ことを特徴とする通信方法。
(付記7)
サーバと複数のクライアントとの間に設けられる中継サーバ装置に、
第1のクライアントからのリクエストを前記サーバに中継すると共に、前記サーバから受信した前記リクエストに対応するレスポンスを、前記第1のクライアントに返送するステップと、
各クライアントから入力されるログインIDと各クライアントを識別するセッションIDとを対応づけて保持したテーブルに基づいて、第2のクライアントを識別するセッションIDに対応するログインIDが、前記第1のクライアントを識別するセッションIDに対応するログインIDと同じであったと判断されたときに、前記レスポンスを、前記第2のクライアントに送信するステップと、
を実行させる通信プログラム。
(付記8)
付記7に記載の通信プログラムであって、
前記中継サーバ装置に、さらに、
前記第1のクライアントへ送信されるレスポンスに、前記第1のクライアントで発生したイベントを表すイベント情報を前記中継サーバに送信させる第1のスクリプトを注入するとともに、前記第2のクライアントへ送信されるレスポンスに、前記第2のクライアントが前記中継サーバからイベント情報を受信したときに、前記第2のクライアントに前記イベント情報に対応する処理を実行させる第2のスクリプトを注入するステップと、
前記第1のスクリプトに基づいて前記第1のクライアントから前記イベント情報を受信したときに、前記第2のクライアントに前記イベント情報を送信するステップと、
を実行させる通信プログラム。
(付記1)
サーバと複数のクライアントとの間に設けられる中継サーバ装置であって、
各クライアントから入力されるログインIDと各クライアントを識別するセッションIDとを対応づけて保持する管理部と、
第1のクライアントからのリクエストを前記サーバに中継すると共に、前記サーバから受信した前記リクエストに対応するレスポンスを、前記第1のクライアントに返送するWebサーバ部と、
前記管理部に保持された第2のクライアントを識別するセッションIDに対応するログインIDが、前記管理部に保持された前記第1のクライアントを識別するセッションIDに対応するログインIDと同じであったときに、前記レスポンスを、前記第2のクライアントに送信する配信部、
を有する中継サーバ装置。
(付記2)
付記1に記載の中継サーバ装置であって、
前記第1のクライアントへ送信されるレスポンスに、前記第1のクライアントで発生したイベントを表すイベント情報を前記中継サーバに送信させる第1のスクリプトを注入するとともに、前記第2のクライアントへ送信されるレスポンスに、前記第2のクライアントが前記中継サーバからイベント情報を受信したときに、前記第2のクライアントに前記イベント情報に対応する処理を実行させる第2のスクリプトを注入するスクリプト注入部をさらに備え、
前記配信部はさらに、前記第1のスクリプトに基づいて前記第1のクライアントから前記イベント情報を受信したときに、前記第2のクライアントに前記イベント情報を送信する
ことを特徴とする中継サーバ装置。
(付記3)
付記2に記載の中継サーバ装置であって、
前記配信部は、前記第1のクライアントから前記イベント情報を受信したときに、前記第1のクライアントを識別するセッションIDに対応するログインIDと同じログインIDに対応するセッションIDにより識別されるクライアントに対して、前記イベント情報を送信する
ことを特徴とする中継サーバ装置。
(付記4)
付記1に記載の中継サーバ装置であって、
前記第1または第2のクライアントの少なくとも一方に送信されるレスポンスを、前記第1または第2のクライアントの能力に応じて編集する編集部をさらに備える
ことを特徴とする中継サーバ装置。
(付記5)
サーバと複数のクライアントとの間に設けられる中継サーバ装置を利用した通信方法であって、
前記中継サーバ装置が、
第1のクライアントからのリクエストを前記サーバに中継すると共に、前記サーバから受信した前記リクエストに対応するレスポンスを、前記第1のクライアントに返送し、
各クライアントから入力されるログインIDと各クライアントを識別するセッションIDとを対応づけて保持したテーブルに基づいて、第2のクライアントを識別するセッションIDに対応するログインIDが、前記第1のクライアントを識別するセッションIDに対応するログインIDと同じであったと判断されたときに、前記レスポンスを、前記第2のクライアントに送信する、
ことを特徴とする通信方法。
(付記6)
付記5に記載の通信方法であって、
前記中継サーバ装置が、前記第1のクライアントへ送信されるレスポンスに、前記第1のクライアントで発生したイベントを表すイベント情報を前記中継サーバに送信させる第1のスクリプトを注入するとともに、前記第2のクライアントへ送信されるレスポンスに、前記第2のクライアントが前記中継サーバからイベント情報を受信したときに、前記第2のクライアントに前記イベント情報に対応する処理を実行させる第2のスクリプトを注入し、
前記中継サーバ装置が、前記第1のスクリプトに基づいて前記第1のクライアントから前記イベント情報を受信したときに、前記第2のクライアントに前記イベント情報を送信する
ことを特徴とする通信方法。
(付記7)
サーバと複数のクライアントとの間に設けられる中継サーバ装置に、
第1のクライアントからのリクエストを前記サーバに中継すると共に、前記サーバから受信した前記リクエストに対応するレスポンスを、前記第1のクライアントに返送するステップと、
各クライアントから入力されるログインIDと各クライアントを識別するセッションIDとを対応づけて保持したテーブルに基づいて、第2のクライアントを識別するセッションIDに対応するログインIDが、前記第1のクライアントを識別するセッションIDに対応するログインIDと同じであったと判断されたときに、前記レスポンスを、前記第2のクライアントに送信するステップと、
を実行させる通信プログラム。
(付記8)
付記7に記載の通信プログラムであって、
前記中継サーバ装置に、さらに、
前記第1のクライアントへ送信されるレスポンスに、前記第1のクライアントで発生したイベントを表すイベント情報を前記中継サーバに送信させる第1のスクリプトを注入するとともに、前記第2のクライアントへ送信されるレスポンスに、前記第2のクライアントが前記中継サーバからイベント情報を受信したときに、前記第2のクライアントに前記イベント情報に対応する処理を実行させる第2のスクリプトを注入するステップと、
前記第1のスクリプトに基づいて前記第1のクライアントから前記イベント情報を受信したときに、前記第2のクライアントに前記イベント情報を送信するステップと、
を実行させる通信プログラム。
1 電話機
2 テレビ
3 注文サーバ
4 中継サーバ
5 コールセンター端末
11、21 ブラウザ
31 ピザ画像ガジェット
41 Webサーバ
42 配信部
43 管理部
44 スクリプト注入部
2 テレビ
3 注文サーバ
4 中継サーバ
5 コールセンター端末
11、21 ブラウザ
31 ピザ画像ガジェット
41 Webサーバ
42 配信部
43 管理部
44 スクリプト注入部
Claims (4)
- サーバと複数のクライアントとの間に設けられる中継サーバ装置であって、
各クライアントから入力されるログインIDと各クライアントを識別するセッションIDとを対応づけて保持する管理部と、
第1のクライアントからのリクエストを前記サーバに中継すると共に、前記サーバから受信した前記リクエストに対応するレスポンスを、前記第1のクライアントに返送するWebサーバ部と、
前記管理部に保持された第2のクライアントを識別するセッションIDに対応するログインIDが、前記管理部に保持された前記第1のクライアントを識別するセッションIDに対応するログインIDと同じであったときに、前記レスポンスを、前記第2のクライアントに送信する配信部、
を有する中継サーバ装置。 - 請求項1に記載の中継サーバ装置であって、
前記第1のクライアントへ送信されるレスポンスに、前記第1のクライアントで発生したイベントを表すイベント情報を前記中継サーバに送信させる第1のスクリプトを注入するとともに、前記第2のクライアントへ送信されるレスポンスに、前記第2のクライアントが前記中継サーバからイベント情報を受信したときに、前記第2のクライアントに前記イベント情報に対応する処理を実行させる第2のスクリプトを注入するスクリプト注入部をさらに備え、
前記配信部はさらに、前記第1のスクリプトに基づいて前記第1のクライアントから前記イベント情報を受信したときに、前記第2のクライアントに前記イベント情報を送信する
ことを特徴とする中継サーバ装置。 - サーバと複数のクライアントとの間に設けられる中継サーバ装置を利用した通信方法であって、
前記中継サーバ装置が、
第1のクライアントからのリクエストを前記サーバに中継すると共に、前記サーバから受信した前記リクエストに対応するレスポンスを、前記第1のクライアントに返送し、
各クライアントから入力されるログインIDと各クライアントを識別するセッションIDとを対応づけて保持したテーブルに基づいて、第2のクライアントを識別するセッションIDに対応するログインIDが、前記第1のクライアントを識別するセッションIDに対応するログインIDと同じであったと判断されたときに、前記レスポンスを、前記第2のクライアントに送信する、
ことを特徴とする通信方法。 - サーバと複数のクライアントとの間に設けられる中継サーバ装置に、
第1のクライアントからのリクエストを前記サーバに中継すると共に、前記サーバから受信した前記リクエストに対応するレスポンスを、前記第1のクライアントに返送するステップと、
各クライアントから入力されるログインIDと各クライアントを識別するセッションIDとを対応づけて保持したテーブルに基づいて、第2のクライアントを識別するセッションIDに対応するログインIDが、前記第1のクライアントを識別するセッションIDに対応するログインIDと同じであったと判断されたときに、前記レスポンスを、前記第2のクライアントに送信するステップと、
を実行させる通信プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009225368A JP2011077708A (ja) | 2009-09-29 | 2009-09-29 | 中継サーバ装置および通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009225368A JP2011077708A (ja) | 2009-09-29 | 2009-09-29 | 中継サーバ装置および通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011077708A true JP2011077708A (ja) | 2011-04-14 |
Family
ID=44021240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009225368A Withdrawn JP2011077708A (ja) | 2009-09-29 | 2009-09-29 | 中継サーバ装置および通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011077708A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013066128A (ja) * | 2011-09-20 | 2013-04-11 | Oki Electric Ind Co Ltd | 制御サーバ、制御方法、プログラム、および制御システム |
WO2014002240A1 (ja) * | 2012-06-28 | 2014-01-03 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理システム、情報処理装置、情報端末装置、情報処理方法、情報処理プログラム |
JP2015534336A (ja) * | 2012-09-13 | 2015-11-26 | ゼットティーイー コーポレーションZte Corporation | 情報の処理方法、優先度情報の送信方法及び装置 |
JP2016091449A (ja) * | 2014-11-10 | 2016-05-23 | 富士通株式会社 | ローカルストレージ同期方法、ローカルストレージ同期装置およびローカルストレージ同期プログラム |
-
2009
- 2009-09-29 JP JP2009225368A patent/JP2011077708A/ja not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013066128A (ja) * | 2011-09-20 | 2013-04-11 | Oki Electric Ind Co Ltd | 制御サーバ、制御方法、プログラム、および制御システム |
WO2014002240A1 (ja) * | 2012-06-28 | 2014-01-03 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理システム、情報処理装置、情報端末装置、情報処理方法、情報処理プログラム |
CN104380268A (zh) * | 2012-06-28 | 2015-02-25 | 索尼电脑娱乐公司 | 信息处理系统、信息处理装置、信息终端装置、信息处理方法和信息处理程序 |
EP2869204A1 (en) * | 2012-06-28 | 2015-05-06 | Sony Computer Entertainment Inc. | Information processing system, information processing device, information terminal device, information processing method, and information processing program |
JP5841252B2 (ja) * | 2012-06-28 | 2016-01-13 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理システム、情報処理装置、情報端末装置、情報処理方法、情報処理プログラム |
EP2869204A4 (en) * | 2012-06-28 | 2016-11-30 | Sony Interactive Entertainment Inc | INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, INFORMATION TERMINAL, INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING PROGRAM |
US9559922B2 (en) | 2012-06-28 | 2017-01-31 | Sony Corporation | Information processing system, information processing appartus, information terminal apparatus, information processing method, and information processing program |
JP2015534336A (ja) * | 2012-09-13 | 2015-11-26 | ゼットティーイー コーポレーションZte Corporation | 情報の処理方法、優先度情報の送信方法及び装置 |
US9736225B2 (en) | 2012-09-13 | 2017-08-15 | Zte Corporation | Information processing method, and priority information sending method and device |
JP2016091449A (ja) * | 2014-11-10 | 2016-05-23 | 富士通株式会社 | ローカルストレージ同期方法、ローカルストレージ同期装置およびローカルストレージ同期プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6370033B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
US9807224B2 (en) | Method and apparatus for accessing services of a device | |
US9621627B2 (en) | Dynamically launching a server-based application on a mobile device | |
US9088458B2 (en) | Method and apparatus for notifying remote user interface client about event of remote user interface server in home network | |
JP2003108520A (ja) | 情報提供サーバ、端末装置及びその制御方法並びに情報提供システム | |
CN106028106A (zh) | 一种电视操控方法及装置 | |
JP2003022228A (ja) | 通信システムにおける状態の通知方法、状態通知サーバ、通信システム、記録媒体、及びプログラム | |
EP2704033A1 (en) | Method, apparatus and system for remote browsing | |
JP5909476B2 (ja) | 遠隔操作システム | |
JP2011077708A (ja) | 中継サーバ装置および通信方法 | |
GB2478767B (en) | Method and apparatus for accessing services of a device | |
JP2005323093A (ja) | Webサーバを利用した遠隔操作制御プログラム | |
KR101001512B1 (ko) | 인터넷 페이지에 링크 구조로 연결된 콘텐츠 파일의 송수신시스템 및 그 제어방법과, 그 시스템에 사용되는 브라우징장치 | |
JP2010176230A (ja) | 端末間連携方法、端末装置、端末間連携制御装置、及びプログラム | |
JP6862030B1 (ja) | プログラム、方法、および、情報処理装置 | |
JP6829359B2 (ja) | 画面共有及び遠隔操作システム | |
JP2011238201A (ja) | Webコンテンツ共有システム及びWebコンテンツ共有方法 | |
JP4695153B2 (ja) | ツールバー提供サーバ、ツールバー提供プログラム、ツールバー提供方法、ツールバー提供システム | |
JP2010011026A (ja) | 通信接続制御装置、通信接続方法、通信サービスシステム、及びプログラム | |
WO2013168492A1 (ja) | 通信端末装置、サイト装置、及び情報配信システム | |
JP4098728B2 (ja) | ツールバー構成情報提供サーバ及びツールバー構成情報提供システム | |
JP5251717B2 (ja) | リアルタイムWeb共有システム、リアルタイムWeb共有方法、及びプログラム | |
JP5521688B2 (ja) | 情報閲覧装置及び情報閲覧制御プログラム | |
JP5131884B1 (ja) | インターネット上のダウンロードサイトから携帯端末にダウンロードされるコンピュータプログラム | |
JP6861353B1 (ja) | プログラム、方法、および、情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20121204 |