(58)【調査した分野】(Int.Cl.,DB名)
第1の端末及び第2の端末と、ページを配信するWebサーバと、第1の端末及び第2の端末の間でページの表示を同期させるプロキシサーバとを有するシステムにおけるページ同期方法において、
第1の端末及び第2の端末はそれぞれ、プロキシサーバへ、Cometのリクエストを予め送信し、プロキシサーバは、Cometのリクエストを保留状態としておき、
ページ応答に埋め込み可能な状態通知プログラムは、そのページ内に構成された1つ以上のユーザ入力要素インタフェースに対するユーザ記述情報を含むページ状態通知を、当該プロキシサーバへ送信するように構成されており、
第1の端末がページ取得要求を前記プロキシサーバへ送信し、前記プロキシサーバが、前記状態通知プログラムを埋め込んだページ応答を第1の端末へ送信し、
前記プロキシサーバが、前記ページ取得要求のアドレスに対するアクセスを要求するページ遷移通知を、Cometのレスポンスとして、第2の端末へ送信し、
第2の端末が、当該ページ遷移通知に含まれるアドレスへ向けて、ページ取得要求を前記プロキシサーバへ送信し、前記プロキシサーバが、前記状態通知プログラムを埋め込んだページ応答を第2の端末へ送信する
第1のステップと、
第1の端末及び第2の端末が、前記プロキシサーバから受信したページをディスプレイに表示すると共に、そのページに含まれる前記状態通知プログラムを実行することによって、前記ページ状態通知を前記プロキシサーバへ送信する第2のステップと、
前記プロキシサーバが、一方の第1の端末又は第2の端末から受信したページ状態通知を、他方の第2の端末又は第1の端末へ転送する第3のステップと、
第1の端末又は第2の端末が、前記プロキシサーバから受信したページ状態通知に含まれるユーザ記述情報を、当該ページのユーザ入力要素インタフェースへ反映する
ことを特徴とするページ同期方法。
第1のステップについて、前記状態通知プログラムは、第1の端末及び第2の端末に対して第2のステップで、所定時間毎に、当該ページ状態通知を前記プロキシサーバへ送信するように構成されていることを特徴とする請求項1又は2に記載のページ同期方法。
第1の端末及び第2の端末と、ページを配信するWebサーバとの間で、第1の端末及び第2の端末の間でページの表示を同期させるプロキシサーバに搭載されたコンピュータを機能させるプログラムにおいて、
第1の端末及び第2の端末はそれぞれ、プロキシサーバへ、Cometのリクエストを予め送信し、プロキシサーバは、Cometのリクエストを保留状態としておき、
ページ応答に埋め込み可能な状態通知プログラムは、そのページ内に構成された1つ以上のユーザ入力要素インタフェースに対するユーザ記述情報を含むページ状態通知を、当該プロキシサーバへ送信するように構成されており、
第1の端末がページ取得要求を前記プロキシサーバへ送信し、前記プロキシサーバが、前記状態通知プログラムを埋め込んだページ応答を第1の端末へ送信し、
前記プロキシサーバが、前記ページ取得要求のアドレスに対するアクセスを要求するページ遷移通知を、Cometのレスポンスとして、第2の端末へ送信し、
第2の端末が、当該ページ遷移通知に含まれるアドレスへ向けて、ページ取得要求を前記プロキシサーバへ送信し、前記プロキシサーバが、前記状態通知プログラムを埋め込んだページ応答を第2の端末へ送信する
ページ応答転送手段と、
前記状態通知プログラムが実行されることによって、第1の端末及び第2の端末から、前記ページ状態通知を受信するページ状態通知受信手段と、
一方の第1の端末又は第2の端末から受信したページ状態通知を、他方の第2の端末又は第1の端末へ転送するページ状態通知転送手段と
してコンピュータを機能させ、
第1の端末又は第2の端末に、前記ページ状態通知に含まれるユーザ記述情報を、当該ページのユーザ入力要素インタフェースへ反映させることを特徴とするプロキシサーバ用のプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、非特許文献1によれば、端末は、同期させるページとは別に、ノードマネジャのウィンドウを開いておくことが必要となる。また、非特許文献2によれば、制御側UIページと、被制御側UIページとが別々に必要となる。更に、一方の端末のマウスの挙動さえも他方の端末で同期させようとした場合、先のページと後のページとの間で詳細な差分情報を取得することも必要となる。これらの同期処理の方法によれば、別途のページコンテンツの作成によるコンテンツサイズの増加や、完全に同期させることによる演算処理量の増加につながることとなる。
【0008】
そこで、本発明は、ブラウザに表示されるページを同期させるサービスについて、各端末やWebサーバに同期用の別のページを実行させることなく、システム全体で同期に要する処理負荷をできる限り軽減したページ同期方法、プロキシサーバ及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明によれば、第1の端末及び第2の端末と、ページを配信するWebサーバと、第1の端末及び第2の端末の間でページの表示を同期させるプロキシサーバとを有するシステムにおけるページ同期方法において、
第1の端末及び第2の端末はそれぞれ、プロキシサーバへ、Cometのリクエストを予め送信し、プロキシサーバは、Cometのリクエストを保留状態としておき、
ページ応答に埋め込み可能な状態通知プログラムは、そのページ内に構成された1つ以上のユーザ入力要素インタフェースに対するユーザ記述情報を含むページ状態通知を、当該プロキシサーバへ送信するように構成されて
おり、
第1の端末がページ取得要求をプロキシサーバへ送信し、プロキシサーバが、状態通知プログラムを埋め込んだページ応答を第1の端末へ送信し、
プロキシサーバが、ページ取得要求のアドレスに対するアクセスを要求するページ遷移通知を、Cometのレスポンスとして、第2の端末へ送信し、
第2の端末が、当該ページ遷移通知に含まれるアドレスへ向けて、ページ取得要求をプロキシサーバへ送信し、プロキシサーバが、状態通知プログラムを埋め込んだページ応答を第2の端末へ送信する
第1のステップと、
第1の端末及び第2の端末が、プロキシサーバから受信したページをディスプレイに表示すると共に、そのページに含まれる状態通知プログラムを実行することによって、ページ状態通知をプロキシサーバへ送信する第2のステップと、
プロキシサーバが、一方の第1の端末又は第2の端末から受信したページ状態通知を、他方の第2の端末又は第1の端末へ転送する第3のステップと、
第1の端末又は第2の端末が、プロキシサーバから受信したページ状態通知に含まれるユーザ記述情報を、当該ページのユーザ入力要素インタフェースへ反映する
ことを特徴とする。
【0010】
本発明のページ同期方法における他の実施形態によれば、
ユーザ入力要素インタフェースは、ボタン/ボックス部、テキスト/イメージ入力部、パラメータ入力部、及び/又は、スクロール/フォーカス位置部であることも好ましい。
【0011】
本発明のページ同期方法における他の実施形態によれば、
第1のステップについて、状態通知プログラムは、第1の端末及び第2の端末に対して第2のステップで、所定時間毎に、当該ページ状態通知をプロキシサーバへ送信するように構成されていることも好ましい。
【0012】
本発明のページ同期方法における他の実施形態によれば、
プロキシサーバは、ページ毎に、先に受信したページ状態通知に含まれるユーザ入力要素インタフェースのユーザ記述情報を記録しており、
第3のステップについて、先に受信した当該ページに対するユーザ記述情報と、現に受信した当該ページに対するユーザ記述情報とを比較して相違している場合にのみ、当該ページ状態通知を、他方の第2の端末又は第1の端末へ転送することも好ましい。
【0013】
本発明のページ同期方法における他の実施形態によれば、
第2のステップについて、
一方の第1の端末又は第2の端末は、同一ページを表示した同期状態ページ及び更新操作ページと、更新操作ページから同期状態ページへ反映する同期ボタンとを、ディスプレイに表示しており、
他方の第2端末又は第1の端末から受信したページ状態通知に含まれるユーザ記述情報によって、同期状態ページ及び更新操作ページを更新する第21のステップと、
更新操作ページのユーザ入力要素インタフェースに対して、ユーザによってそのユーザ記述情報が更新される第22のステップと、
ユーザによって同期ボタンが押下された際に、更新操作ページのユーザ入力要素インタフェースのユーザ記述情報を同期状態ページへ反映する第23のステップと
を有することも好ましい。
【0015】
本発明によれば、第1の端末及び第2の端末と、ページを配信するWebサーバとの間で、第1の端末及び第2の端末の間でページの表示を同期させるプロキシサーバにおいて、
第1の端末及び第2の端末はそれぞれ、プロキシサーバへ、Cometのリクエストを予め送信し、プロキシサーバは、Cometのリクエストを保留状態としておき、
ページ応答に埋め込み可能な状態通知プログラムは、そのページ内に構成された1つ以上のユーザ入力要素インタフェースに対するユーザ記述情報を含むページ状態通知を、当該プロキシサーバへ送信するように構成されて
おり、
第1の端末がページ取得要求をプロキシサーバへ送信し、プロキシサーバが、状態通知プログラムを埋め込んだページ応答を第1の端末へ送信し、
プロキシサーバが、ページ取得要求のアドレスに対するアクセスを要求するページ遷移通知を、Cometのレスポンスとして、第2の端末へ送信し、
第2の端末が、当該ページ遷移通知に含まれるアドレスへ向けて、ページ取得要求をプロキシサーバへ送信し、プロキシサーバが、状態通知プログラムを埋め込んだページ応答を第2の端末へ送信する
ページ応答転送手段と、
状態通知プログラムが実行されることによって、第1の端末及び第2の端末から、ページ状態通知を受信するページ状態通知受信手段と、
一方の第1の端末又は第2の端末から受信したページ状態通知を、他方の第2の端末又は第1の端末へ転送するページ状態通知転送手段と
を有し、
第1の端末又は第2の端末に、ページ状態通知に含まれるユーザ記述情報を、当該ページのユーザ入力要素インタフェースへ反映させる
ことを特徴とする。
【0016】
本発明によれば、第1の端末及び第2の端末と、ページを配信するWebサーバとの間で、第1の端末及び第2の端末の間でページの表示を同期させるプロキシサーバに搭載されたコンピュータを機能させるプログラムにおいて、
第1の端末及び第2の端末はそれぞれ、プロキシサーバへ、Cometのリクエストを予め送信し、プロキシサーバは、Cometのリクエストを保留状態としておき、
ページ応答に埋め込み可能な状態通知プログラムは、そのページ内に構成された1つ以上のユーザ入力要素インタフェースに対するユーザ記述情報を含むページ状態通知を、当該プロキシサーバへ送信するように構成されて
おり、
第1の端末がページ取得要求をプロキシサーバへ送信し、プロキシサーバが、状態通知プログラムを埋め込んだページ応答を第1の端末へ送信し、
プロキシサーバが、ページ取得要求のアドレスに対するアクセスを要求するページ遷移通知を、Cometのレスポンスとして、第2の端末へ送信し、
第2の端末が、当該ページ遷移通知に含まれるアドレスへ向けて、ページ取得要求をプロキシサーバへ送信し、プロキシサーバが、状態通知プログラムを埋め込んだページ応答を第2の端末へ送信する
ページ応答転送手段と、
状態通知プログラムが実行されることによって、第1の端末及び第2の端末から、ページ状態通知を受信するページ状態通知受信手段と、
一方の第1の端末又は第2の端末から受信したページ状態通知を、他方の第2の端末又は第1の端末へ転送するページ状態通知転送手段と
してコンピュータを機能させ、
第1の端末又は第2の端末に、ページ状態通知に含まれるユーザ記述情報を、当該ページのユーザ入力要素インタフェースへ反映させることを特徴とする。
【発明の効果】
【0017】
本発明のページ同期方法、プロキシサーバ及びプログラムによれば、ブラウザに表示されるページを同期させるサービスについて、各端末やWebサーバに同期用の別のページを実行させることなく、システム全体で同期に要する処理負荷をできる限り軽減することができる。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0020】
図1は、本発明におけるシステム構成図である。
【0021】
図1のシステムによれば、Webサーバ4から配信されるページの表示を、端末2及び端末3との間で同期させるために、プロキシサーバ1がインターネットに接続されている。端末2及び端末3は、プロキシサーバ1を介してWebサーバ4へアクセスし、ページをダウンロードして表示する。例えば端末2、3は、パーソナルコンピュータであってもよいし、スマートフォンやタブレット端末であってもよい。また、プロキシサーバ1は、不特定多数の端末からアクセスされるものであってもよいし、特定のネットワークドメインに接続する端末からのアクセスのみ受け付けるものであってもよい。
【0022】
端末同士の間でページを同期させる用途として、例えば、コールセンタのオペレータ操作の端末と、ユーザ操作の端末との間で、同一ページを閲覧しながら会話する場合がある。この場合、当該ページに対するオペレータの入力操作は、ユーザ操作の端末にも反映させる必要がある。逆に、当該ページに対するユーザの入力操作は、オペレータ操作の端末にも反映させる必要もある。
【0023】
図1によれば、各端末のディスプレイに表示されたページには、「ユーザ入力要素インタフェース」が構成されている。ユーザ入力要素インタフェースとしては、例えば、ボタン/ボックス部、テキスト/イメージ入力部、パラメータ入力部、及び/又は、スクロール/フォーカス位置部がある。即ち、ページの中で、ユーザが入力操作可能な要素インタフェースであればよい。また、当該ユーザ入力要素インタフェースの設定状態を、「ユーザ記述情報」として表す。ユーザ記述情報は、例えば、ボタンのON/OFFや、ボックスのチェック/非チェックのような設定情報である。
【0024】
これに対し、本願の発明者らは、各端末を操作する両方のユーザが同期によって認識したい部分は、本来、ページの中でもユーザ入力要素インタフェースの部分のみではないか?と考えた。そのために、端末間で同一ページが表示された後は、そのユーザ入力要素インタフェースの部分のみを、プロキシサーバ1を介して同期させればよい。
【0025】
図2は、端末間で同一ページを表示させるシーケンス図である。
【0026】
(S0)最初に、端末2及び3はそれぞれ、プロキシサーバ1との間でセッションを確立する。その上で、端末2及び3は予め、プロキシサーバ1との間で認証シーケンスを実行することによって、ページを同期させるグループを構成する。
図2によれば、オペレータ操作の端末2と、ユーザ操作の端末3とが、同一ページを表示させるグループとして構成される。
【0027】
[第1のステップ:S1]
(S11)端末2について、所望ページを開くためのURLがクリックされたとする。このとき、端末2は、そのページのURLを含むページ取得要求を、プロキシサーバ1へ送信する。ページ取得要求は、例えばHTTP(HyperText Transfer Protocol)のGETリクエストである。プロキシサーバ1は、そのページをキャッシュしていない場合、そのページ取得要求をWebサーバ4へ送信する。Webサーバ4は、要求されたページを含むページ応答を、プロキシサーバ1へ応答する。
【0028】
(S12)プロキシサーバ1は、Webサーバ4から受信したページ応答に、「状態通知スクリプト」(プログラム)を埋め込んで、当該ページ応答を端末2へ返信する。「状態通知スクリプト」は、そのページ内に構成された1つ以上のユーザ入力要素インタフェースに対する「ユーザ記述情報」を含むページ状態通知を、当該プロキシサーバ1へ送信するように構成されている。
【0029】
ページ応答を受信した端末2は、レンダリング処理を実行し、そのディスプレイに当該ページを表示すると共に、状態通知スクリプトも実行される。これによって、端末3に、オペレータが意図的に同期管理アプリケーションやプラグインをインストールすることなく、当該ページに対して操作された際(ユーザ入力要素インタフェースに入力操作がされた際)、「ページ状態通知」をプロキシサーバ1へ送信させることができる。
【0030】
「スクリプト」とは、機械語へのコンパイル(変換)を実行する必要がない簡易プログラムをいう。一般に、実行形式のプログラムは、ソースコードを機械語にコンパイルする必要があるのに対して、スクリプトはコンパイルを必要としない。スクリプトは、一般に、ページのHTML(Hyper Text Markup Language)に埋め込まれる。これによって、特別な開発環境は要さず、HTMLだけでは提供できない様々な機能を、スクリプトを実行することによって提供する。スクリプト記述言語としては、例えばJavaScript(登録商標)、VBScript(登録商標)、Perl等がある。
【0031】
ここで、JavaScriptとは、Web上で、インタラクティブに表現可能とするべきオブジェクト指向のスクリプト言語である。JavaScriptは、端末に実装された既存のブラウザによって実行できる。
例えば、HTMLファイルに、以下のようなダグを組み込むことができる。
<script type="text/javascript" src="sample.js">
・・・・・・・・・・・・
</script>
このタグは、「JavaScriptを使用しており、そのスクリプトファイルはsample.jsである」ことを意味する。
【0032】
(S13)次に、プロキシサーバ1は、ページ応答を端末2へ送信した後(S12)、端末2と同期するグループに属する端末3へ、「ページ遷移通知」を送信する。ページ遷移通知には、端末2に表示されたページのURLを含める。
【0033】
尚、ページ遷移通知は、一方の端末からのページ取得要求によって同期すべきページが更新された際、他方の端末へそのページを取得するべく通知するものである。ページ遷移通知は、例えばHTTP/XML POSTのSOAP(Simple
Object Access Protocol)を利用して、以下のようなコードで表される。尚、SOAPは、XML文書にエンベロープ(封筒)と呼ばれる付帯情報が付いたメッセージを、HTTPプロトコルで交換するプロトコルをいう。
<?xml
version="1.0" encoding="UTF-8" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<syncCallRequest xmlns="http://kddilabs.jp/wsdl/websync/v1/local">
<sessionID>a4f6cd5ddbf32bc24a0450ebdb766bce</sessionID>
<jsonReq>{";status";:";1";,";isinitiator";:";true";,";urlprev";
:";https://<Webサーバ>/index.jsp";}</jsonReq>#遷移前
<DEFANGED_option>https://<Webサーバ>/index.jsp?tag=1
</DEFANGED_option>#遷移後
</syncCallRequest>
</soapenv:Body>
</soapenv:Envelope>
ここで、callstatus=2が、ページ遷移通知を表す。このページ遷移通知を受信したブラウザ(calleeID(02))は、Webページにアクセスし、callerID(01)が遷移した先のWebページを受信する。
【0034】
尚、Webサーバ1から端末2へ「ページ遷移通知」が送信される技術として、「Comet」の技術を用いることも好ましい。「Comet」とは、サーバで発生したイベントを、クライアントからの要求メッセージを受信することなく、当該クライアントへ送信することができる技術をいう。具体的には、サーバは、クライアントからのリクエストに対して直ぐに応答することなく保留状態にしておく。当該サーバで、所定ページで何らかのイベントが発生したときに、そのページを応答する。これによって、サーバで発生したイベントを、直ぐにクライアントへ送信することができる。
【0035】
同期し合う端末2及び3はそれぞれ、プロキシサーバ1へ、Cometのリクエストを予め送信しておく。これに対し、プロキシサーバ1は、このCometのリクエストを保留状態とする。その後、プロキシサーバ1は、ページ遷移通知を送信すべきトリガが発生した際に、ページ遷移通知のCometのレスポンスを、端末2へ送信することができる。
【0036】
(S14)端末3は、ページ遷移通知を受信した際に、そのページ遷移通知に含まれたURLへ向けて、ページ取得要求をプロキシサーバ1へ送信する。プロキシサーバ1が、そのURLのページを既にキャッシュしている場合、あえてWebサーバ4へアクセスする必要がない。
【0037】
(S15)プロキシサーバ1が、前述したS12と同様に、要求されたページを含むページ応答に「状態通知プログラム」を埋め込んで、当該ページ応答を端末3へ送信する。ページ応答を受信した端末3は、レンダリング処理を実行し、そのディスプレイに当該ページを表示すると共に、状態通知スクリプトも実行される。これによって、端末3に、ユーザが意図的に同期管理アプリケーションをインストールすることなく、当該ページに対して操作された際(ユーザ入力要素インタフェースに入力操作がされた際)、「ページ状態通知」をプロキシサーバ1へ送信させることができる。即ち、端末側の機能は全て、プロキシサーバ1から送信されるページ応答に、状態通知スクリプトとして埋め込まれている。
【0038】
図3は、本発明における端末2から端末3へページを同期させるシーケンス図である。
【0039】
[第2のステップ:S2]
各端末2及び3は、状態通知スクリプトの実行によって、所定時間(例えば2,3秒程度)毎に、当該ページ状態通知をプロキシサーバ1へ送信する。ページ状態通知は、例えばページ状態に変化があっても無くても、所定時間毎に送信されるものであってもよい。
【0040】
ページ状態通知は、AjaxのJSON形式の例によれば、例えば以下のように記述される(例えば非特許文献1参照)。
funcID=01
¶m=http://<Webサーバのアドレス>/main.php?ws=client
¶m2=
[
{"wName":"this","kind":1,"ID":"sync_button1","value":"null"},
{"wName":"this","kind":1,"ID":"sync_button2","value":"null"},
{"wName":"this","kind":1,"ID":"sync_button3","value":"null"},
{"wName":"this","kind":2,"ID":"textBox1","value":"null"}
{"wName":"this","kind":2,"ID":"textBox2","value":"null"}
{"wName":"this","kind":2,"ID":"textBox3","value":"null"}
]
&time=1234567890123
--------------
funcID:プロキシが備える機能を一意に識別するための識別子
wName:状態を監視しているウィンドウを示す識別子
kind:状態を取得する要素を一意に識別するための識別子
(1:ボタン, 2:テキストボックス)
ID:同じ種類の要素の部品を一意に識別するための識別子
value:部品が持つ値
time:送信時刻
--------------
【0041】
図3によれば、オペレータが、端末2のブラウザに表示されたページについて、ユーザ入力要素インタフェースであるボタン[会員A]をクリックして選択したとする。その後に、端末2が送信するページ状態通知は、例えば以下のようなものである。
[ボタン1の押下、テキストボックスへの入力無し]
funcID=01
¶m=http://<Webサーバのアドレス>/main.php?ws=client
¶m2=
[
{"wName":"this","kind":1,"ID":"sync_button1","value":"ボタン1"},
{"wName":"this","kind":1,"ID":"sync_button2","value":"null"},
{"wName":"this","kind":1,"ID":"sync_button3","value":"null"},
{"wName":"this","kind":2,"ID":"textBox1","value":"null"}
{"wName":"this","kind":2,"ID":"textBox2","value":"null"}
{"wName":"this","kind":2,"ID":"textBox3","value":"null"}
]
&time=1234567890123
【0042】
[第3のステップ:S3]
プロキシサーバ1は、端末2から受信したページ状態通知を、他方の端末3へ転送する。
【0043】
ここで、プロキシサーバ1は、ページ毎に、先に受信したページ状態通知に含まれるユーザ入力要素インタフェースのユーザ記述情報を記録することも好ましい。この場合、先に受信した当該ページに対するユーザ記述情報と、現に受信した当該ページに対するユーザ記述情報とを比較して相違している場合にのみ、当該ページ状態通知を、他方の端末3へ転送する。
【0044】
[第4のステップ:S4]
端末3は、プロキシサーバ1から受信したページ状態通知に含まれるユーザ記述情報を、当該ページのユーザ入力要素インタフェースへ反映する。
これによって、既存のWebブラウザを搭載した端末であれば、本発明のプロキシサーバ1をネットワークに備えるだけで、端末間で、特にユーザ入力要素インタフェースにおけるページを同期させることができる。
【0045】
図4は、本発明における端末3から端末2へページを同期させるシーケンス図である。
【0046】
(S2)ユーザが、端末3のブラウザに表示されたページについて、ユーザ入力要素インタフェースであるテキスト部分[ユーザID]に、文字を入力したとする。その後に、端末3は、以下のようなページ状態通知をプロキシサーバ1へ送信する。
[ボタン1の押下、テキストボックスへの入力あり]
funcID=14
¶m=http://webserver/main.php?ws=client
¶m2=
[
{"wName":"this","kind":6,"ID":"sync_button1","value":"ボタン1"},
{"wName":"this","kind":1,"ID":"sync_button2","value":"null"},
{"wName":"this","kind":1,"ID":"sync_button3","value":"null"},
{"wName":"this","kind":2,"ID":"textBox1","value":"TASAKA"}
{"wName":"this","kind":2,"ID":"textBox2","value":"null"}
{"wName":"this","kind":2,"ID":"textBox3","value":"null"}
]
&time=1234567890123
【0047】
(S3)プロキシサーバ1は、端末3から受信したページ状態通知を、他方の端末2へ転送する。
【0048】
(S4)端末2は、プロキシサーバ1から受信したページ状態通知に含まれるユーザ記述情報を、当該ページのユーザ入力要素インタフェースへ反映する。
これによって、端末間で双方向に、特にユーザ入力要素インタフェースにおけるページを同期させることができる。
その後、各端末2及び3は、状態通知スクリプトの実行によって、所定時間(例えば2,3秒程度)毎に、当該ページ状態通知をプロキシサーバ1へ送信する。
【0049】
図5は、オペレータ側端末における操作画面図である。
【0050】
図5によれば、オペレータ操作の端末2には、2つの同一ページと、同期ボタンとが表示されている。
同期状態ページ:相手方端末3と同期した状態を表すページ
更新操作ページ:自側端末2に表示されたページに、オペレータが操作した状態
同期ボタン :更新操作ページから同期状態ページへ反映する操作ボタン
【0051】
ここで、第2のステップについて、
図5のページ操作を説明する。
(S21)相手方端末3から受信したページ状態通知に含まれるユーザ記述情報によって、同期状態ページ及び更新操作ページを更新する。
(S22)更新操作ページのユーザ入力要素インタフェースに対して、オペレータによってそのユーザ記述情報が更新される。
(S23)ユーザによって同期ボタンが押下された際に、更新操作ページのユーザ入力要素インタフェースのユーザ記述情報を同期状態ページへ反映する。
これによって、オペレータ操作の端末2における途中の操作内容は、相手方端末3へ直ぐに、ページ状態通知として送信されない。オペレータが最終的に決定した操作内容が、同期ボタンの押下に応じて、そのページ状態通知が、プロキシサーバ1を介して相手方端末3へ送信される。ユーザ操作の端末3から見ると、無駄な操作過程が見えず、最終的な操作内容だけを認識しやすくなる。
【0052】
図6は、本発明におけるプロキシサーバの機能構成図である。
【0053】
図6によれば、プロキシサーバ1は、インターネットに接続する通信インタフェース100と、HTTP処理部101と、プロキシ機能部102と、ページ応答転送部11と、ページ状態通知受信部12と、ページ状態通知転送部13とを有する。通信インタフェース100を除くこれら機能構成部は、サーバに搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
【0054】
HTTP処理部101は、HTTPに基づくメッセージを、端末2との間で交換する。プロキシ機能部102は、既存のプロキシ機能であって、ページのキャッシュ機能を有するものであってもよい。
【0055】
ページ応答転送部11は、第1の端末及び第2の端末へ応答すべきページに、状態通知プログラムを埋め込んで送信するものである(前述した
図2の第1のステップS1と同様)。状態通知プログラムは、そのページ内に構成された1つ以上のユーザ入力要素インタフェースに対するユーザ記述情報を当該プロキシサーバへ送信するように構成されている。
【0056】
ページ状態通知受信部12は、状態通知プログラムが実行されることによって、第1の端末及び第2の端末から、当該ページ内のユーザ入力要素インタフェースのユーザ記述情報を含むページ状態通知を受信する(前述した
図3の第2のステップS2と同様)。
【0057】
ページ状態通知転送部13は、一方の第1の端末又は第2の端末から受信したページ状態通知を、他方の第2の端末又は第1の端末へ転送する(前述した
図3の第3のステップS3と同様)。
【0058】
これによって、第1の端末又は第2の端末に、ページ状態通知に含まれるユーザ記述情報を、当該ページのユーザ入力要素インタフェースへ反映させることができる(前述した
図3の第4のステップS4と同様)。
【0059】
以上、詳細に説明したように、本発明のページ同期方法、プロキシサーバ及びプログラムによれば、ブラウザに表示されるページを同期させるサービスについて、各端末やWebサーバに同期用の別のページを実行させることなく、システム全体で同期に要する処理負荷をできる限り軽減することができる。本発明によれば、プロキシサーバを備えるだけで、既存のWebサーバやブラウザに更なる機能を追加する必要がない。また、ブラウザに表示されたページの同期も、ユーザ入力要素インタフェースのみであるために、同期シーケンスが簡単化される。特に、コールセンタのオペレータの端末とユーザの端末との間で、同期された同一アドレスのページを閲覧しながら会話する場合に、プロキシサーバを介するだけで、同一ページにおけるユーザ入力要素インタフェースのユーザ記述情報を同期させることができる。
【0060】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。