(57)【要約】【課題】複数の端末間で同期させるページの表示時間差を、できる限り短くすることができる表示調整方法、サーバ及びプログラムを提供する。【解決手段】最初に、Ｗｅｂサーバが、端末２Ａ及び端末２Ｂへのページ応答のダウンロードスループットＤd及びページレンダリングスループットＲを取得する。次に、Ｗｅｂサーバが、端末２Ａへ送信すべきページ応答のパケットサイズに基づいて、端末２Ａ及び端末２Ｂに対するダウンロード時間Ｔd及びページレンダリング時間Ｔrを算出する。次に、端末２Ａに対するＴd1＋Ｔr1の第１の加算時間と、端末２Ｂに対するＴd2＋Ｔr2の第２の加算時間との時間差を、「待機時間Ｔw」として算出する。そして、Ｗｅｂサーバが、加算時間が長い一方の端末２Ａ又は端末２Ｂへページ応答を送信し、待機時間Ｔwだけ待機した後、加算時間が短い他方の端末２Ｂ又は端末２Ａへページ応答を送信する。【選択図】図６
2014095958.tif 000002
【特許請求の範囲】
【請求項１】
第１の端末及び第２の端末と、ページコンテンツを配信するＷｅｂサーバとを有するシステムについて、第１の端末と第２の端末との間でページコンテンツの表示時刻を合わせる表示調整方法であって、
前記Ｗｅｂサーバが、第１の端末へのページ応答のダウンロードスループットＤd1及びページレンダリングスループットＲ1と、第２の端末へのページ応答のダウンロードスループットＤd2及びページレンダリングスループットＲ2とを取得する第１のステップと、
前記Ｗｅｂサーバが、第１の端末へ送信すべきページ応答のパケットサイズに基づいて、第１の端末に対するダウンロード時間Ｔd1及びページレンダリング時間Ｔr1と、第２の端末に対するダウンロード時間Ｔd2及びページレンダリング時間Ｔr2を算出する第２のステップと、
前記Ｗｅｂサーバが、第１の端末に対するＴd1＋Ｔr1の第１の加算時間と、第２の端末に対するＴd2＋Ｔr2の第２の加算時間との時間差を、「待機時間Ｔw」として算出する第３のステップと、
前記Ｗｅｂサーバが、加算時間が長い一方の第１の端末又は第２の端末へ前記ページ応答を送信し、前記待機時間Ｔwだけ待機した後、加算時間が短い他方の第２の端末又は第１の端末へ前記ページ応答を送信する第４のステップと
を有することを特徴とする表示調整方法。
【請求項２】
第１のステップについて、
前記Ｗｅｂサーバが、グループ参加シーケンスの中で、各端末へ、同期制御スクリプトを埋め込んだページ応答を送信し、
前記端末が、実行された前記同期制御スクリプトに応じて、前記ページ応答のパケットサイズと、当該ページ応答のパケットに含まれる送信時刻と受信時刻との差の遅延時間とから、ダウンロードスループットＤdを算出し、
前記端末が、実行された前記同期制御スクリプトに応じて、前記ページ応答のコンテンツサイズから、レンダリングスループットを算出し、
前記端末が、前記ダウンロードスループット及び前記レンダリングスループットを、前記Ｗｅｂサーバへ送信する
ことを特徴とする請求項１に記載の表示調整方法。
【請求項３】
第１のステップについて、前記Ｗｅｂサーバが、グループ参加シーケンスの中で、各端末から受信したページ取得要求のパケットサイズと、当該ページ取得要求のパケットに含まれる送信時刻と受信時刻との差の遅延時間から、アップロードスループットＤuを算出し、
第２のステップについて、前記Ｗｅｂサーバが、第２の端末へ送信すべきページ遷移通知のパケットサイズに基づいて、第２の端末に対する当該ページ遷移通知のダウンロード時間Ｔc2と、第２の端末から受信するページ取得要求のパケットサイズに基づいて、第２の端末に対する当該ページ取得要求のアップロード時間Ｔu2とを更に算出し、
第３のステップについて、前記Ｗｅｂサーバが、第２の端末に対する第２の加算時間を、Ｔc2＋Ｔu2＋Ｔd2＋Ｔr2とする
ことを特徴とする請求項２に記載の表示調整方法。
【請求項４】
前記ページ遷移通知は、第１の端末からのページ取得要求によって同期すべきページコンテンツが更新された際、第２の端末へそのページコンテンツを取得するべく通知するものであることを特徴とする請求項３に記載の表示調整方法。
【請求項５】
第１の端末及び第２の端末へページコンテンツを配信すると共に、第１の端末と第２の端末との間でページコンテンツの表示時刻を合わせるＷｅｂサーバであって、
第１の端末へのページ応答のダウンロードスループットＤd1及びページレンダリングスループットＲ1と、第２の端末へのページ応答のダウンロードスループットＤd2及びページレンダリングスループットＲ2とを取得するスループット取得手段と、
第１の端末へ送信すべきページ応答のパケットサイズに基づいて、第１の端末に対するダウンロード時間Ｔd1及びページレンダリング時間Ｔr1と、第２の端末に対するダウンロード時間Ｔd2及びページレンダリング時間Ｔr2を算出する部分時間算出手段と、
第１の端末に対するＴd1＋Ｔr1の第１の加算時間と、第２の端末に対するＴd2＋Ｔr2の第２の加算時間との時間差を、「待機時間Ｔw」として算出する待機時間算出手段と、
加算時間が長い一方の第１の端末又は第２の端末へ前記ページ応答を送信し、前記待機時間Ｔwだけ待機した後、加算時間が短い他方の第２の端末又は第１の端末へ前記ページ応答を送信する待機時間制御手段と
を有することを特徴とするＷｅｂサーバ。
【請求項６】
前記Ｗｅｂサーバの前記スループット取得手段は、グループ参加シーケンスの中で、各端末へ、同期制御スクリプトを埋め込んだページ応答を送信し、これに対し、前記端末から、前記ダウンロードスループット及び前記レンダリングスループットを受信し、
前記端末によって実行された前記同期制御スクリプトが、
実行された前記同期制御スクリプトに応じて、前記ページ応答のパケットサイズと、当該ページ応答のパケットに含まれる送信時刻と受信時刻との差の遅延時間とから、ダウンロードスループットＤdを算出し、
実行された前記同期制御スクリプトに応じて、前記ページ応答のコンテンツサイズから、レンダリングスループットを算出し、
前記ダウンロードスループット及び前記レンダリングスループットを、前記Ｗｅｂサーバへ送信する
ことを特徴とする請求項７に記載のＷｅｂサーバ。
【請求項７】
前記Ｗｅｂサーバの前記スループット取得手段は、グループ参加シーケンスの中で、各端末から受信したページ取得要求のパケットサイズと、当該ページ取得要求のパケットに含まれる送信時刻と受信時刻との差の遅延時間から、アップロードスループットＤuを算出し、
前記Ｗｅｂサーバの前記部分時間算出手段は、第２の端末へ送信すべきページ遷移通知のパケットサイズに基づいて、第２の端末に対する当該ページ遷移通知のダウンロード時間Ｔc2と、第２の端末から受信するページ取得要求のパケットサイズに基づいて、第２の端末に対する当該ページ取得要求のアップロード時間Ｔu2とを更に算出し、
前記Ｗｅｂサーバの待機時間算出手段は、第２の端末に対する第２の加算時間を、Ｔc2＋Ｔu2＋Ｔd2＋Ｔr2とする
ことを特徴とする請求項６に記載のＷｅｂサーバ。
【請求項８】
前記ページ遷移通知は、第１の端末からのページ取得要求によって同期すべきページコンテンツが更新された際、第２の端末へそのページコンテンツを取得するべく通知するものであることを特徴とする請求項７に記載のＷｅｂサーバ。
【請求項９】
第１の端末及び第２の端末へページコンテンツを配信すると共に、第１の端末と第２の端末との間でページコンテンツの表示時刻を合わせるＷｅｂサーバに搭載されたコンピュータを機能させるプログラムであって、
第１の端末へのページ応答のダウンロードスループットＤd1及びページレンダリングスループットＲ1と、第２の端末へのページ応答のダウンロードスループットＤd2及びページレンダリングスループットＲ2とを取得するスループット取得手段と、
第１の端末へ送信すべきページ応答のパケットサイズに基づいて、第１の端末に対するダウンロード時間Ｔd1及びページレンダリング時間Ｔr1と、第２の端末に対するダウンロード時間Ｔd2及びページレンダリング時間Ｔr2を算出する部分時間算出手段と、
第１の端末に対するＴd1＋Ｔr1の第１の加算時間と、第２の端末に対するＴd2＋Ｔr2の第２の加算時間との時間差を、「待機時間Ｔw」として算出する待機時間算出手段と、
加算時間が長い一方の第１の端末又は第２の端末へ前記ページ応答を送信し、前記待機時間Ｔwだけ待機した後、加算時間が短い他方の第２の端末又は第１の端末へ前記ページ応答を送信する待機時間制御手段と
してコンピュータを機能させることを特徴とするＷｅｂサーバ用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の端末間で、各ディスプレイに同一ページを同期して表示させる技術に関する。
【背景技術】
【０００２】
インターネットに接続可能な端末には、一般的に、様々メディアを再生及び操作するためのユーザインタフェースとしての「Ｗｅｂブラウザ」が実装されている。ブラウザは、特に、ＡＪＡＸ(Asynchronous JavaScript＋XML)の普及によって、非同期でのコンテンツの取得や、動的なコンテンツの描画を可能とする。これに対し、近年、複数の端末間で、各ブラウザに同一ページを表示させるページ同期サービスが提供されてきている。
【０００３】
図１は、ページ同期サービスのシステム構成図である。
【０００４】
図１によれば、ページ同期サービスを提供するＷｅｂサーバ１と、ユーザ操作に基づく各端末２Ａ〜２Ｃとが、インターネットを介して接続されている。ここで、端末２Ａ、２Ｂ及び２Ｃによって、表示を同期させる１つのグループが構成されているとする。例えば、ユーザＡの操作に応じて、端末２Ａが、ページ取得要求をＷｅｂサーバ１へ送信し、ページコンテンツを取得した場合、他の端末２Ｂ及び２Ｃにも同一のページコンテンツが配信されるように制御される。即ち、端末２Ａのブラウザに新たに表示されたウィンドウページは、他の端末２Ｂ及び２Ｃにも表示される。尚、このようなＷｅｂサーバ１の機能は、Ｗｅｂサーバ自体に搭載されたものであってもよいし、グループを制御する同期制御サーバと連携して実現されるものであってもよい。
【０００５】
従来、制御側端末及び被制御側端末が、同期制御サーバを介してＷｅｂサーバにアクセスすることによって、制御側端末のブラウザ上での操作を、被制御側端末と同期させる技術がある（例えば特許文献１参照）。この技術によれば、最初に、制御側端末及び被制御側端末はそれぞれ、ユーザ操作に基づいて同期するウィンドウとは別に、同期制御サーバとの間の通信を管理するノードマネジャのウィンドウを開く。制御側端末について、ブラウザ上でユーザ操作に基づくページ遷移のイベントは、ページマネジャによって検知され、そのイベントは同期制御サーバへ送信される。同期制御サーバは、そのイベント情報を、被制御側端末へ送信する。被制御側端末は、イベント情報をノードマネジャによって受信し、そのイベント情報がページに反映される。このように、同期制御サーバを仲介させることによって、既存のＷｅｂサーバに更なる機能を追加することなく、ページ同期サービスを提供する。
【０００６】
また、同一出願人に基づく従来技術として、既存のＷｅｂサーバに更なる機能を追加することなく、第三者制御サーバを用いて、制御側端末に表示されたページを、被制御側端末に表示させる技術もある（例えば特許文献２参照）。この技術によれば、制御側端末は、イベント情報を第三者制御サーバに送信する制御ＵＩ(User Interface)ページを取得する。また、被制御端末は、第三者制御サーバから受信したイベント情報をページに反映する被制御ＵＩページを取得する。そして、第三者制御サーバが仲介することによって、制御ＵＩページから被制御ＵＩページへのブラウザ同期を実現する。
【０００７】
更に、同一出願人に基づく従来技術として、既存のＷｅｂサーバに更なる機能を追加することなく、且つ、端末に実装された既存のブラウザを用いて、複数の端末間で同一ページを表示させる技術もある（例えば特許文献３参照）。この技術によれば、端末とＷｅｂサーバとの間の通信を全て、同期制御サーバが仲介する。同期制御サーバは、Ｗｅｂサーバから返信されたページ応答に、同期制御スクリプトを含めて端末へ返信することによって、当該端末に対するユーザ操作に基づく操作イベントを、同期制御サーバへ送信するように制御する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０００−２１５１７３号公報
【特許文献２】特開２０１２−０１４６３５号公報
【特許文献３】特開２０１２−０４９７７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前述した従来技術によれば、端末間で同期させるページの表示タイミングについては何ら考慮されていない。一般に、端末とＷｅｂサーバと間の伝送路の通信環境に基づく遅延時間や、端末の処理能力に基づくページコンテンツのレンダリング時間は、端末毎に異なる。そのために、同期対象となるページコンテンツの表示完了時刻も、端末毎に異なることとなる。
【００１０】
例えば、コールセンタのサポート員の端末と顧客の端末との間で、同期されたブラウザを通じて会話する場合を想定する。ここで、コールセンタ側では、既に表示が完了したページコンテンツであっても、顧客側では、通信環境の影響によって、そのページコンテンツが未だ表示されていない場合もある。このような場合、コールセンタのサポート員の会話と、顧客の会話とが、ギクシャクしがちとなる。このように、ページ同期サービスにおけるページコンテンツの表示完了時刻の不一致は、ユーザ間のコミュニケーションに影響を与えやすい。
【００１１】
図２は、ページの表示時刻の差を表す画面表示図である。
図３は、ページコンテンツの表示時間差を表す第１のシーケンス図である。
【００１２】
最初に、端末２Ａ及び端末２Ｂの両方で、同期管理ページが起動されていると共に、第１のページが表示されている。同期管理ページに埋め込まれた同期制御スクリプトが実行されることによって、複数の端末間で同一ページを同期して表示させることができる。
【００１３】
（Ｓ４１）端末２Ａについて、ユーザ操作に応じて第２のページを開くためのＵＲＬ(Uniform Resource Locator)がクリックされたとする。これは、同期制御スクリプトによって、第２のページへのページ遷移のイベントとして検知される。そして、端末２Ａは、第２のページのＵＲＬを含むページ取得要求(HTTP GET)を、Ｗｅｂサーバ１へ送信する。
（Ｓ４２）ページ取得要求を受信したＷｅｂサーバ１は、端末２Ａに対して、要求された第２のページを含むページ応答(200OK)を返信する。
（Ｓ４３）ページ応答を受信した端末２Ａは、第２のページに対するレンダリング処理を実行する。そして、レンダリング処理のための所要時間が経過した後、端末２Ａのディスプレイに、第２のページが表示される。
【００１４】
（Ｓ４４）また、Ｗｅｂサーバ１は、ページ応答を端末２Ａへ送信した際（Ｓ４２）、同時に、端末２Ａと同期するグループに属する端末２Ｂへ、「ページ遷移通知」を送信する。ページ遷移通知には、Ｓ４１で端末２Ａから要求された第２のページのＵＲＬを含める。
（Ｓ４５）ページ遷移通知を受信した端末２Ｂは、第２のページのＵＲＬを含むページ取得要求を、Ｗｅｂサーバ１へ送信する。
（Ｓ４６）ページ取得要求を受信したＷｅｂサーバ１は、端末２Ｂに対して、要求された第２のページを含むページ応答(200OK)を返信する。
（Ｓ４７）ページ応答を受信した端末２Ｂは、第２のページに対するレンダリング処理を実行する。そして、レンダリング処理のための所要時間が経過した後、端末２Ｂのディスプレイに、第２のページが表示される。
これによって、端末２Ａ及び端末２Ｂの両方に、第２のページが同期して表示される。
【００１５】
ここで、図３によれば、端末２ＡとＷｅｂサーバ１との間の伝送遅延は、比較的小さいために、伝送スループットも比較的高い。一方で、端末２ＢとＷｅｂサーバ１との間の伝送遅延は、比較的大きいために、伝送スループットも比較的低い。また、端末２Ａのレンダリング処理能力は、比較的高いために、描画のためのレンダリング時間も比較的短い。一方で、端末２Ｂのレンダリング処理能力は、比較的低いために、描画のためのレンダリング時間も比較的長い。そのために、図３によれば、結果的に、端末２Ａにおける第２のページの表示時刻と、端末２Ｂにおける第２のページの表示時刻との間に、表示時間差が生じることなる。
【００１６】
図４は、ページコンテンツの表示時間差を表す第２のシーケンス図である。
【００１７】
図４によれば、図３と比較して、Ｓ４２について、Ｗｅｂサーバ１は、端末２Ａへページ応答(200OK)を送信するタイミングが異なる。即ち、Ｓ４２における端末２Ａへのページ応答と、Ｓ４６における端末２Ｂへのページ応答とが、同時に送信されている。これによって、図４におけるページの表示時間差は、図３におけるページの表示時間差と比較して、幾分短くすることができる。しかしながら、端末とＷｅｂサーバとの間の伝送遅延や、各端末のレンダリング処理能力の違いが、端末間のページの表示時間差に影響を与えることには変わりがない。
【００１８】
そこで、本発明は、複数の端末間で同期させるページの表示時間差を、できる限り短くすることができる表示調整方法、サーバ及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明によれば、第１の端末及び第２の端末と、ページコンテンツを配信するＷｅｂサーバとを有するシステムについて、第１の端末と第２の端末との間でページコンテンツの表示時刻を合わせる表示調整方法であって、
Ｗｅｂサーバが、第１の端末へのページ応答のダウンロードスループットＤd1及びページレンダリングスループットＲ1と、第２の端末へのページ応答のダウンロードスループットＤd2及びページレンダリングスループットＲ2とを取得する第１のステップと、
Ｗｅｂサーバが、第１の端末へ送信すべきページ応答のパケットサイズに基づいて、第１の端末に対するダウンロード時間Ｔd1及びページレンダリング時間Ｔr1と、第２の端末に対するダウンロード時間Ｔd2及びページレンダリング時間Ｔr2を算出する第２のステップと、
Ｗｅｂサーバが、第１の端末に対するＴd1＋Ｔr1の第１の加算時間と、第２の端末に対するＴd2＋Ｔr2の第２の加算時間との時間差を、「待機時間Ｔw」として算出する第３のステップと、
Ｗｅｂサーバが、加算時間が長い一方の第１の端末又は第２の端末へページ応答を送信し、待機時間Ｔwだけ待機した後、加算時間が短い他方の第２の端末又は第１の端末へページ応答を送信する第４のステップと
を有することを特徴とする。
【００２０】
本発明の表示調整方法における他の実施形態によれば、
第１のステップについて、
Ｗｅｂサーバが、グループ参加シーケンスの中で、各端末へ、同期制御スクリプトを埋め込んだページ応答を送信し、
端末が、実行された同期制御スクリプトに応じて、ページ応答のパケットサイズと、当該ページ応答のパケットに含まれる送信時刻と受信時刻との差の遅延時間とから、ダウンロードスループットＤdを算出し、
端末が、実行された同期制御スクリプトに応じて、ページ応答のコンテンツサイズから、レンダリングスループットを算出し、
端末が、ダウンロードスループット及びレンダリングスループットを、Ｗｅｂサーバへ送信することも好ましい。
【００２１】
本発明の表示調整方法における他の実施形態によれば、
第１のステップについて、Ｗｅｂサーバが、グループ参加シーケンスの中で、各端末から受信したページ取得要求のパケットサイズと、当該ページ取得要求のパケットに含まれる送信時刻と受信時刻との差の遅延時間から、アップロードスループットＤuを算出し、
第２のステップについて、Ｗｅｂサーバが、第２の端末へ送信すべきページ遷移通知のパケットサイズに基づいて、第２の端末に対する当該ページ遷移通知のダウンロード時間Ｔc2と、第２の端末から受信するページ取得要求のパケットサイズに基づいて、第２の端末に対する当該ページ取得要求のアップロード時間Ｔu2とを更に算出し、
第３のステップについて、Ｗｅｂサーバが、第２の端末に対する第２の加算時間を、Ｔc2＋Ｔu2＋Ｔd2＋Ｔr2とすることも好ましい。
【００２２】
本発明の表示調整方法における他の実施形態によれば、ページ遷移通知は、第１の端末からのページ取得要求によって同期すべきページコンテンツが更新された際、第２の端末へそのページコンテンツを取得するべく通知するものであることも好ましい。
【００２３】
本発明によれば、第１の端末及び第２の端末へページコンテンツを配信すると共に、第１の端末と第２の端末との間でページコンテンツの表示時刻を合わせるＷｅｂサーバであって、
第１の端末へのページ応答のダウンロードスループットＤd1及びページレンダリングスループットＲ1と、第２の端末へのページ応答のダウンロードスループットＤd2及びページレンダリングスループットＲ2とを取得するスループット取得手段と、
第１の端末へ送信すべきページ応答のパケットサイズに基づいて、第１の端末に対するダウンロード時間Ｔd1及びページレンダリング時間Ｔr1と、第２の端末に対するダウンロード時間Ｔd2及びページレンダリング時間Ｔr2を算出する部分時間算出手段と、
第１の端末に対するＴd1＋Ｔr1の第１の加算時間と、第２の端末に対するＴd2＋Ｔr2の第２の加算時間との時間差を、「待機時間Ｔw」として算出する待機時間算出手段と、
加算時間が長い一方の第１の端末又は第２の端末へページ応答を送信し、待機時間Ｔwだけ待機した後、加算時間が短い他方の第２の端末又は第１の端末へページ応答を送信する待機時間制御手段と
を有することも好ましい。
【００２４】
本発明のＷｅｂサーバにおける他の実施形態によれば、
Ｗｅｂサーバのスループット取得手段は、グループ参加シーケンスの中で、各端末へ、同期制御スクリプトを埋め込んだページ応答を送信し、これに対し、端末から、ダウンロードスループット及びレンダリングスループットを受信し、
端末によって実行される同期制御スクリプトが、
実行された同期制御スクリプトに応じて、ページ応答のパケットサイズと、当該ページ応答のパケットに含まれる送信時刻と受信時刻との差の遅延時間とから、ダウンロードスループットＤdを算出し、
実行された同期制御スクリプトに応じて、ページ応答のコンテンツサイズから、レンダリングスループットを算出し、
ダウンロードスループット及びレンダリングスループットを、Ｗｅｂサーバへ送信する
ことも好ましい。
【００２５】
本発明のＷｅｂサーバにおける他の実施形態によれば、
Ｗｅｂサーバのスループット取得手段は、グループ参加シーケンスの中で、各端末から受信したページ取得要求のパケットサイズと、当該ページ取得要求のパケットに含まれる送信時刻と受信時刻との差の遅延時間から、アップロードスループットＤuを算出し、
Ｗｅｂサーバの部分時間算出手段は、第２の端末へ送信すべきページ遷移通知のパケットサイズに基づいて、第２の端末に対する当該ページ遷移通知のダウンロード時間Ｔc2と、第２の端末から受信するページ取得要求のパケットサイズに基づいて、第２の端末に対する当該ページ取得要求のアップロード時間Ｔu2とを更に算出し、
Ｗｅｂサーバの待機時間算出手段は、第２の端末に対する第２の加算時間を、Ｔc2＋Ｔu2＋Ｔd2＋Ｔr2とすることも好ましい。
【００２６】
本発明のＷｅｂサーバにおける他の実施形態によれば、ページ遷移通知は、第１の端末からのページ取得要求によって同期すべきページコンテンツが更新された際、第２の端末へそのページコンテンツを取得するべく通知するものであることも好ましい。
【００２７】
本発明によれば、第１の端末及び第２の端末へページコンテンツを配信すると共に、第１の端末と第２の端末との間でページコンテンツの表示時刻を合わせるＷｅｂサーバに搭載されたコンピュータを機能させるプログラムであって、
第１の端末へのページ応答のダウンロードスループットＤd1及びページレンダリングスループットＲ1と、第２の端末へのページ応答のダウンロードスループットＤd2及びページレンダリングスループットＲ2とを取得するスループット取得手段と、
第１の端末へ送信すべきページ応答のパケットサイズに基づいて、第１の端末に対するダウンロード時間Ｔd1及びページレンダリング時間Ｔr1と、第２の端末に対するダウンロード時間Ｔd2及びページレンダリング時間Ｔr2を算出する部分時間算出手段と、
第１の端末に対するＴd1＋Ｔr1の第１の加算時間と、第２の端末に対するＴd2＋Ｔr2の第２の加算時間との時間差を、「待機時間Ｔw」として算出する待機時間算出手段と、
加算時間が長い一方の第１の端末又は第２の端末へページ応答を送信し、待機時間Ｔwだけ待機した後、加算時間が短い他方の第２の端末又は第１の端末へページ応答を送信する待機時間制御手段と
してコンピュータを機能させることを特徴とする。
【発明の効果】
【００２８】
本発明の表示調整方法、サーバ及びプログラムによれば、複数の端末間で同期させるページの表示時間差を、できる限り短くすることができる。
【図面の簡単な説明】
【００２９】
【図１】ページ同期サービスのシステム構成図である。
【図２】ページの表示時刻の差を表す画面表示図である。
【図３】ページコンテンツの表示時間差を表す第１のシーケンス図である。
【図４】ページコンテンツの表示時間差を表す第２のシーケンス図である。
【図５】本発明における端末とＷｅｂサーバとの間でスループットを取得するためのシーケンス図である。
【図６】本発明における端末間のページの表示時刻を同期させる第１のシーケンス図である。
【図７】本発明における端末間のページの表示時刻を同期させる第２のシーケンス図である。
【図８】本発明におけるＷｅｂサーバの機能構成図である。
【発明を実施するための形態】
【００３０】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００３１】
本発明によれば、Ｗｅｂサーバは、各端末についてページの表示に要する所要時間を算出し、当該所要時間が短い端末に対して、ページ応答を一時的に待機させた後に送信する。それによって、結果的に、端末間におけるそのページの表示時刻を、できる限り一致させることができる。
【００３２】
図５は、本発明における端末とＷｅｂサーバとの間でスループットを取得するためのシーケンス図である。
【００３３】
最初に、端末２Ａは、Ｗｅｂサーバ１との間でセッションを確立する。その後、ページの表示を同期させるグループ参加シーケンスを実行する。
端末２Ａのブラウザは、ユーザ操作に応じて１つのウィンドウを開き、Ｗｅｂサーバ１へアクセスする。具体的には、端末２Ａは、Ｗｅｂサーバ１のログインページのＵＲＬを宛先として、ページ取得要求を送信する。
これに対して、Ｗｅｂサーバ１は、ログインページを含むページ応答を、端末２Ａへ返信する。
次に、端末２Ａのブラウザにおけるウィンドウに表示されたログインページには、ユーザ操作に応じて、ユーザＩＤ及びパスワードが入力される。これら認証情報は、Ｗｅｂサーバ１へ送信される。
次に、Ｗｅｂサーバ１は、ユーザＩＤ及びパスワードに基づいて、サービスを提供すべきユーザか否かを認証する。正当なユーザと判定された際に、グループ一覧ページを含むページ応答を、端末２Ａへ返信する。
次に、端末２Ａは、ブラウザのウィンドウにグループ一覧ページを表示し、ユーザ操作に応じて、所望のグループを選択させる。そして、端末２Ａは、グループへの参加要求を、Ｗｅｂサーバ１へ送信する。
これに対して、Ｗｅｂサーバ１は、同期制御スクリプトを埋め込んだ同期管理ページを、端末２Ａへ返信する。
端末２Ｂも、端末２Ａと同様に、Ｗｅｂサーバ１に対してグループ参加シーケンスを実行する。
これによって、Ｗｅｂサーバ１は、グループに端末２Ａ及び２Ｂが属したものと認識する。
【００３４】
［第１のステップＳ１］前述のグループ参加シーケンスを実行することによって、Ｗｅｂサーバ１は、各端末の同期制御スクリプトから、少なくともダウンロードスループットＤd1及びページレンダリングスループットＲ1を取得する。
【００３５】
図５によれば、Ｗｅｂサーバ１は、同期管理ページのページ応答(200OK)に「同期制御スクリプト」を埋め込んでいる。「スクリプト」とは、機械語へのコンパイル（変換）を実行する必要がない簡易プログラムをいう。一般に、実行形式のプログラムは、ソースコードを機械語にコンパイルする必要があるのに対して、スクリプトはコンパイルを必要としない。スクリプトは、一般に、ページコンテンツのＨＴＭＬ(Hyper Text Markup Language)に埋め込まれる。これによって、特別な開発環境は要さず、ＨＴＭＬだけでは提供できない様々な機能を、スクリプトを実行することによって提供する。スクリプト記述言語としては、例えばJavaScript（登録商標）、VBScript（登録商標）、Perl等がある。
【００３６】
ここで、JavaScriptとは、Ｗｅｂ上で、インタラクティブに表現可能とするべきオブジェクト指向のスクリプト言語である。JavaScriptは、端末に実装された既存のブラウザによって実行できる。
例えば、ＨＴＭＬファイルに、以下のようなダグを組み込むことができる。
<script type="text/javascript" src="sample.js">
・・・・・・・・・・・・
</script>
このタグは、「JavaScriptを使用しており、そのスクリプトファイルはsample.jsである」ことを意味する。
【００３７】
本発明によれば、jsファイル（同期制御スクリプト）は、例えばウィンドウについて「表示完了」となった場合に、ページの単位サイズに対するダウンリンクスループット及びレンダリングスループットを計測する機能が記述されている。そして、ダウンリンクスループットＤd及びレンダリングスループットＲは、Ｗｅｂサーバ１へ送信される。また、端末２が、ページ遷移通知を受信した場合に、そのページ取得要求を送信する動作内容も、そのjsファイルに記述されている。
【００３８】
端末２によって実行される同期制御スクリプトが、以下の処理を実行する。
最初に、ページ応答のパケットサイズと、当該ページ応答のパケットに含まれる送信時刻とそのページ応答のパケットの受信時刻との差の遅延時間とから、ダウンロードスループットＤdを算出する。
ダウンロードスループット＝パケットサイズ／（受信時刻−送信時刻）
次に、受信したページ応答のコンテンツサイズと、当該ページのレンダリング表示完了時刻とレンダリング開始時刻との差の処理時間とから、レンダリングスループットを算出する。
レンダリングスループット＝コンテンツサイズ／（表示完了時刻−開始時刻）
尚、パケットサイズ及びコンテンツサイズは、同一のものであってもよいし、レンダリング時に呼び出される命令によって異なるものであってもよい。
そして、ダウンロードスループット及びレンダリングスループットを、Ｗｅｂサーバ１へ送信する。
【００３９】
これによって、Ｗｅｂサーバ１は、少なくとも、端末２Ａへのページ応答のダウンロードスループットＤd1及びページレンダリングスループットＲ1と、端末２Ｂへのページ応答のダウンロードスループットＤd2及びページレンダリングスループットＲ2とを取得する。
【００４０】
また、他の実施形態として、Ｗｅｂサーバ１が、端末２Ｂに対するページ遷移通知のダウンロードスループットＣu2と、端末２Ｂからのページ取得要求のアップロードスループットＤu2を更に取得することも好ましい。
ダウンロードスループット＝パケットサイズ／（受信時刻−送信時刻）
アップロードスループット＝パケットサイズ／（受信時刻−送信時刻）
尚、ダウンロードスループットＣu2は、前述した端末２Ｂに対するダウンロードスループットＤd2と同じものである。また、アップロードスループットＤu2は、Ｗｅｂサーバ１が端末２Ｂから受信するページ取得要求によって算出することができる。
【００４１】
図６は、本発明における端末間のページの表示時刻を同期させる第１のシーケンス図である。
【００４２】
［第２のステップＳ２］Ｗｅｂサーバ１が、端末２Ａへ送信すべきページ応答のパケットサイズに基づいて、端末２Ａへの当該ページ応答のダウンロード時間Ｔd1及びページレンダリング時間Ｔr1と、端末２Ｂへのパージ応答のダウンロード時間Ｔd2及びページレンダリング時間Ｔr2を算出する。
ダウンロード時間Ｔd1＝ページ応答のパケットサイズ／
端末２ＡのダウンロードスループットＤd1
レンダリング時間Ｔr1＝ページ応答のコンテンツサイズ／
端末２ＡのレンダリングスループットＲ1
ダウンロード時間Ｔd2＝ページ応答のパケットサイズ／
端末２ＢのダウンロードスループットＤd2
レンダリング時間Ｔr2＝ページ応答のコンテンツサイズ／
端末２ＢのレンダリングスループットＲ2
【００４３】
また、他の実施形態として、Ｗｅｂサーバ１が、端末２Ｂへ送信すべきページ遷移通知のサイズに基づいて、端末２Ａへの当該ページ遷移通知のダウンロード時間Ｔc2と、端末２Ｂから受信するページ取得要求のサイズに基づいて、端末２Ｂからの当該ページ取得要求のアップロード時間Ｔu2とを更に算出するものであってもよい。
ダウンロード時間Ｔc2＝ページ遷移通知のパケットサイズ／
端末２ＢのダウンロードスループットＤd2
アップロード時間Ｔu2＝ページ取得要求のパケットサイズ／
端末２ＢのアップロードスループットＤu2
【００４４】
［第３のステップＳ３］Ｗｅｂサーバ１が、端末２Ａに対するＴd1＋Ｔr1の第１の加算時間と、端末２Ｂに対するＴd2＋Ｔr2の第２の加算時間との時間差を、「待機時間Ｔwa」として算出する。この待機時間Twaは、第１の端末へページ取得応答を送信する時刻と、第２の端末へページ取得応答を送信する時刻との間の時間差を考慮したものである。図６によれば、以下のような関係にある。
端末２Ａに対するＴd1＋Ｔr1の第１の加算時間  ＜  
端末２Ｂに対するＴd2＋Ｔr2の第２の加算時間
【００４５】
また、他の実施形態として、Ｗｅｂサーバ１が、端末２Ｂに対する第２の加算時間を、Ｔc2＋Ｔu2＋Ｔd2＋Ｔr2とすることも好ましい。端末２Ａに対するＴd1＋Ｔr1の第１の加算時間と、端末２Ｂに対するＴc2＋Ｔu2＋Ｔd2＋Ｔr2の第２の加算時間との時間差を、「待機時間Ｔwb」として算出する。この待機時間Twbは、第１の端末へページ応答を送信する時刻と、第２の端末へページ遷移通知を送信する時刻との間の時間差を考慮したものである。図６によれば、以下のような関係にある。
端末２Ａに対するＴd1＋Ｔr1の第１の加算時間  ＜  
端末２Ｂに対するＴc2＋Ｔu2＋Ｔd2＋Ｔr2の第２の加算時間
【００４６】
［第４のステップＳ４］Ｗｅｂサーバ１が、加算時間が長い一方の端末２Ａ又は端末２Ｂへページ応答を送信し、待機時間Ｔwだけ待機した後、加算時間が短い他方の端末２Ｂ又は端末２Ａへページ応答を送信する。即ち、表示時刻が一番遅い端末におけるその表示時刻に合わせて、他の端末の表示時刻を遅延させる。
【００４７】
図６によれば、前述した図３及び図４のシーケンスに、本発明を適用したものであって、以下のような状態にある。
端末２Ａについて、伝送遅延が小さく、伝送スループットも高い。
端末２Ａについて、レンダリング処理能力が高く、レンダリング時間も短い。
端末２Ｂについて、伝送遅延が大きく、伝送スループットも低い。
端末２Ｂについて、レンダリング処理能力が低く、レンダリング時間も長い。
【００４８】
図６によれば、Ｗｅｂサーバ１が、加算時間が長い端末２Ｂへページ応答を送信し（Ｓ４６）、待機時間Ｔwaだけ待機した後、加算時間が短い端末２Ａへページ応答を送信する（Ｓ４２）。
また、他の実施形態として、Ｗｅｂサーバ１が、加算時間が長い端末２Ｂへページ遷移通知を送信し（Ｓ４４）、待機時間Ｔwbだけ待機した後、加算時間が短い端末２Ａへページ応答を送信する（Ｓ４２）。
結果的に、端末２Ａと端末２Ｂとの両方で、端末２Ａから要求されたページが、同時に表示されることとなる。
【００４９】
図７は、本発明における端末間のページの表示時刻を同期させる第２のシーケンス図である。
【００５０】
図７によれば、前述した図６と異なって、以下のような状態にある。
端末２Ａについて、伝送遅延が大きく、伝送スループットも低く。
端末２Ａについて、レンダリング処理能力が低く、レンダリング時間も長い。
端末２Ｂについて、伝送遅延が小さく、伝送スループットも高い。
端末２Ｂについて、レンダリング処理能力が高く、レンダリング時間も短い。
【００５１】
図７によれば、以下のような関係にある。
端末２Ａに対するＴd1＋Ｔr1の第１の加算時間  ＞  
端末２Ｂに対するＴd2＋Ｔr2の第２の加算時間
また、他の実施形態として、以下のような関係もある。
端末２Ａに対するＴd1＋Ｔr1の第１の加算時間  ＞  
端末２Ｂに対するＴc2＋Ｔu2＋Ｔd2＋Ｔr2の第２の加算時間
【００５２】
図７によれば、Ｗｅｂサーバ１が、加算時間が長い端末２Ａへページ応答を送信し（Ｓ４２）、待機時間Ｔwaだけ待機した後、加算時間が短い端末２Ｂへページ応答を送信する（Ｓ４６）。
また、他の実施形態として、Ｗｅｂサーバ１が、加算時間が長い端末２Ａへページ取得要求を受信し（Ｓ４５）、待機時間Ｔwbだけ待機した後、加算時間が短い端末２Ａへページ応答を送信する（Ｓ４２）。
結果的に、端末２Ａと端末２Ｂとの両方で、端末２Ａから要求されたページが、同時に表示されることとなる。
【００５３】
尚、ページ遷移通知は、第１の端末からのページ取得要求によって同期すべきページコンテンツが更新された際、第２の端末へそのページコンテンツを取得するべく通知するものである。ページ遷移通知は、例えば以下のようなコードで表される。
<?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>
<statusChangedRequest  xmlns="http://kddilabs.jp/wsdl/websync/notification">
<sessionIDsrc>e0a156244f2cd5bc4259d40000000000</sessionIDsrc>
<sessionIDdstList>e0a156244f2cd5bc4259d40000000000</sessionIDdstList>
<json>[truncated] {"notifyID":01,"callstatus":"2","callerID":"01",
"calleeID":"02"}</json>
</statusChangedRequest>
</soapenv:Body>
</soapenv:Envelope>
ここで、callstatus=2が、ページ遷移通知を表す。このページ遷移通知を受信したブラウザ(calleeID(02))は、Ｗｅｂページにアクセスし、callerID(01)が遷移した先のＷｅｂページを受信する。
【００５４】
他の実施形態として、ページ取得要求に、コンテンツの「再生」「停止」等の操作情報を含むものであってもよい。ページコンテンツにメディアプレーヤが含まれることによって、ＨＴＴＰに基づく再生操作を実行することができる。このような操作情報であっても、本発明によれば、ページ遷移通知に含めることによって、同一グループに属する他の端末の動作も制御することができる。JavaScriptによる動画コンテンツへの操作は、例えば、YouTube JavaScript Playerを利用することができる(http://code.google.com/intl/ja/apis/youtube/js_api_reference.html参照)。
【００５５】
図８は、本発明におけるＷｅｂサーバの機能構成図である。
【００５６】
図８によれば、Ｗｅｂサーバ１は、インターネットに接続する通信インタフェース１０と、ＨＴＴＰ処理部１１と、グループ参加処理部１２と、スループット取得部１３と、ページ取得要求受信部１４と、ページ遷移通知送信部１５と、部分時間算出部１６と、待機時間算出部１７と、待機時間制御部１８と、ページ応答送信部１９とを有する。通信インタフェースを除くこれら機能構成部は、サーバに搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
【００５７】
ＨＴＴＰ処理部１１は、ＨＴＴＰに基づくメッセージを、端末２との間で交換する。
【００５８】
グループ参加処理部１２は、ページを同期させる端末２のグループを管理する。具体的には、前述した図５のグループ参加シーケンスを実行する。
【００５９】
スループット取得部１３は、第１の端末へのページ応答のダウンロードスループットＤd1及びページレンダリングスループットＲ1と、第２の端末へのページ応答のダウンロードスループットＤd2及びページレンダリングスループットＲ2とを取得する（図５のＳ１と同様）。具体的には、図５のグループ参加シーケンスの中で、各端末２へ、同期制御スクリプトを埋め込んだページ応答を送信することによって、ダウンロードスループットＤd1及びページレンダリングスループットＲ1を取得する。
【００６０】
ページ取得要求受信部１４は、端末２からページ取得要求を受信し、その旨をページ遷移通知送信部１５及び部分時間算出部１６へ出力する。
【００６１】
ページ遷移通知送信部１５は、ページ取得要求を送信した端末２と同一グループに属する他の端末へ、ページ遷移通知を送信する。ページ遷移通知は、第１の端末からのページ取得要求によって同期すべきページコンテンツが更新された際、第２の端末へそのページコンテンツを取得するべく通知するものである。
【００６２】
部分時間算出部１６は、第１の端末へ送信すべきページ応答のパケットサイズに基づいて、第１の端末に対するダウンロード時間Ｔd1及びページレンダリング時間Ｔr1と、第２の端末に対するダウンロード時間Ｔd2及びページレンダリング時間Ｔr2を算出する（図６のＳ２と同様）。
【００６３】
待機時間算出部１７は、第１の端末に対するＴd1＋Ｔr1の第１の加算時間と、第２の端末に対するＴd2＋Ｔr2の第２の加算時間との時間差を、「待機時間Ｔw」として算出する（図６のＳ３と同様）。
【００６４】
待機時間制御部１８は、加算時間が長い一方の第１の端末又は第２の端末へページ応答を送信し、待機時間Ｔwだけ待機した後、加算時間が短い他方の第２の端末又は第１の端末へページ応答を送信する（図６のＳ４及び図７のＳ４と同様）。
【００６５】
ページ応答送信部１９は、端末２毎に、待機時間制御部１８の送信タイミングに応じて、ページ応答を送信する。
【００６６】
以上、詳細に説明したように、本発明の表示調整方法、サーバ及びプログラムによれば、複数の端末間で同期させるページの表示時間差を、できる限り短くすることができる。これによって、例えば、コールセンタのサポート員の端末と顧客の端末との間で、同期されたブラウザを通じて会話する場合に、端末とＷｅｂサーバとの間の伝送遅延や端末の処理能力に拘わらず、ページの表示時刻ができるかぎり一致し、ユーザ間のコミュニケーションが円滑となる。
【００６７】
また、本発明によれば、端末側の機能は全て、Ｗｅｂサーバから送信するページ応答に、同期制御スクリプトして埋め込まれている。そのために、既存のＷｅｂブラウザを搭載した端末であっても、本発明のＷｅｂサーバを備えるだけで実現することができる。
【００６８】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００６９】
１  Ｗｅｂサーバ
１０  通信インタフェース
１１  ＨＴＴＰ処理部
１２  グループ参加処理部
１３  スループット取得部
１４  ページ取得要求受信部
１５  ページ遷移通知送信部
１６  部分時間算出部
１７  待機時間算出部
１８  待機時間制御部
１９  ページ応答送信部
２  端末
【図１】
2014095958.tif 000003
【図２】
2014095958.tif 000004
【図３】
2014095958.tif 000005
【図４】
2014095958.tif 000006
【図５】
2014095958.tif 000007
【図６】
2014095958.tif 000008
【図７】
2014095958.tif 000009
【図８】
2014095958.tif 000010