JP2009289163A - サーバ装置および通信システム - Google Patents

サーバ装置および通信システム Download PDF

Info

Publication number
JP2009289163A
JP2009289163A JP2008143103A JP2008143103A JP2009289163A JP 2009289163 A JP2009289163 A JP 2009289163A JP 2008143103 A JP2008143103 A JP 2008143103A JP 2008143103 A JP2008143103 A JP 2008143103A JP 2009289163 A JP2009289163 A JP 2009289163A
Authority
JP
Japan
Prior art keywords
web browser
round
time
server
unit
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.)
Pending
Application number
JP2008143103A
Other languages
English (en)
Inventor
Yuki Kaseda
佑樹 綛田
Kenjiro Naemura
健二郎 苗村
Masataka Yamada
正隆 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2008143103A priority Critical patent/JP2009289163A/ja
Publication of JP2009289163A publication Critical patent/JP2009289163A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】ウェブブラウザが停止した場合に、過大な負荷を要することなく、ウェブブラウザの停止を正しく判定して当該ウェブブラウザに関わるセッション情報を消去する。
【解決手段】ウェブブラウザはサーバにLongPollリクエストを送信する。サーバはLongPollリクエストをいったん保持し、任意の時点でウェブブラウザへのプッシュ処理を行なう。ウェブブラウザは、サーバからのプッシュされたデータを受信すると、LongPollリクエストをサーバに返す。ウェブサーバは、プッシュ処理を行なってからウェブブラウザからのLongPollリクエストを受信するまでの時間である往復通信時間を計測する。ウェブサーバは、プッシュ処理後に停止判定時間が経過してもウェブブラウザからのLongPollリクエストを受信しない場合に、ウェブブラウザが停止したと判定し、当該ウェブブラウザのセッション情報を消去する。
【選択図】 図1

Description

本発明は、クライアント装置との間の通信を行なうサーバ装置および通信システムに関する。
従来、通信システムのサーバ装置とクライアント装置の間で構築する一般的なウェブアプリケーションとしてクライアントプルと呼ばれる通信技術がある。
図9は、従来の通信システムのウェブブラウザとウェブサーバ間のクライアントプルによる送受信信号について説明する図である。
クライアントプルによる通信を行なう場合には、クライアント装置で動作するウェブブラウザが処理の起点となる。このクライアントプルでは、図9に示すように、ウェブブラウザは、ウェブサーバに当該ウェブサーバからのデータ送信を要求するためのリクエストを送信し、このリクエストを受信したウェブサーバは、リクエスト送信元のウェブブラウザでの表示用データなどのレスポンスを当該ウェブブラウザに返す。
また、ウェブアプリケーションの別の形態として、Cometと呼ばれる通信技術がある。Cometとは、ウェブアプリケーションとして例えば特許文献1に開示されるようなサーバプッシュを実現するための通信技術である。
図10は、従来の通信システムのウェブブラウザとウェブサーバ間のサーバプッシュによる送受信信号について説明する図である。
図10に示すように、サーバプッシュによる通信を行なう場合にはウェブサーバが処理の起点となり、このウェブサーバが、ウェブブラウザでの表示用データなどのプッシュ処理を行なう。
以下、サーバプッシュによる処理の流れを説明する。図11は、従来の通信システムのウェブブラウザとウェブサーバ間のサーバプッシュによる処理の流れを説明する図である。
前述したCometの処理を行なうには、図11に示すように、まず、ウェブブラウザからウェブサーバにリクエストを送信する(ステップS51)。
ウェブサーバは、ウェブブラウザからのリクエストを受信しても、クライアントプルのようにレスポンスをすぐには返さないで、当該リクエストを保持する(ステップS52)。
任意の時点で、ウェブサーバは、保持しているリクエストに対するレスポンスをウェブブラウザに返す処理であるプッシュ処理を行なう(ステップS53)。
そして、ウェブブラウザはウェブサーバに再びリクエストを送信し(ステップS54)、以下、ステップS52,S53,S54の処理が繰り返される。
このように、予めウェブブラウザからウェブサーバにリクエストを送信しておき、このリクエストをウェブサーバで保持しておくことで、任意の時点でデータをウェブブラウザにプッシュできる。
以後、サーバプッシュを実現するためにウェブブラウザから送信されるリクエストをLongPollリクエストと呼び、サーバプッシュを実現するためでない通常のリクエストと区別する。つまり、前述したステップS51の処理によりウェブブラウザから送信されたリクエストはLongPollリクエストである。
ウェブサーバでは、当該サーバ内でのデータが更新された等の場合にデータのプッシュ要求が発生する。このプッシュ要求は、ウェブサーバ内で生成されたデータである、クライアント装置での出力用データを含む。
ウェブサーバは、ステップS53の処理によるプッシュ処理後からステップS54の処理によるウェブブラウザからの再度のリクエストを受信するまでは当該ウェブブラウザからのLongPollリクエストを保持していないので、ウェブブラウザへデータをプッシュできないことになる。そこで、ウェブブラウザとウェブサーバとの間では、プッシュ要求に対するプッシュ処理を行なうために、以下に示すようなプッシュ要求の一時保存処理を行なう。
図12は、従来の通信システムのウェブブラウザとウェブサーバ間のサーバプッシュによるプッシュ要求の一時保存処理の流れを説明する図である。
まず、ウェブブラウザとウェブサーバ間で図11に示したステップS51,52の処理がなされた後(ステップS61,S62)、ウェブサーバは、ステップS62の処理によるプッシュ処理を行なったためにウェブブラウザからのLongPollリクエストを保持していない状態でプッシュ要求が発生した場合には(ステップS63)、ウェブブラウザから次のLongPollリクエストを受信するまで、発生済みのプッシュ要求をセッション情報として一時保存する(ステップS64)。
そして、ウェブブラウザがウェブサーバにLongPollリクエストを再び送信した場合には(ステップS65)、サーバは、一時保存していたセッション情報を取り出して(ステップS66)、ウェブブラウザへのプッシュ処理を行なう(ステップS67)。
ここで、ウェブブラウザが、ステップS61の処理によってLongPollリクエストの送信後からステップS65の処理によるLongPollリクエストの再度の送信前の間に停止した場合、当該ステップS65の処理によるLongPollリクエストの再度の送信がなされない。よって、サーバによるステップS66,67の処理であるセッション情報の取り出しおよびプッシュ処理もなされない。つまり、サーバがステップS64の処理により一時保存したデータが当該ウェブサーバに無駄にいつまでも残ってしまうことになる。
この問題を解決するためには、ウェブサーバでは自ら保存しているセッション情報をタイムアウトという方法を用いて消去している。タイムアウトとは、ウェブサーバがウェブブラウザとの通信が途絶えて一定時間後に当該ウェブブラウザが停止したと判定し、このウェブブラウザのセッション情報を消去する方法である。
特許第3682914号公報
ウェブサーバがタイムアウトによりウェブブラウザのセッション情報を消去する方法では、ウェブブラウザが停止しても、ウェブサーバと当該ウェブブラウザとの通信が途絶えてから一定時間経過するまでセッション情報が当該ウェブサーバに無駄に残ってしまう問題がある。
また、ウェブブラウザが停止していなくても、ユーザが一定時間ウェブブラウザを操作しないとウェブサーバは当該ウェブブラウザが停止したと誤って判定し、セッション情報を消去してしまう問題がある。
前述したセッション情報の無駄な保持を防ぐためには、タイムアウトの設定時間を任意に短い時間に設定することが考えられるが、設定時間を短くするほど、前述したようにウェブサーバがウェブブラウザの停止の誤った判定を行なってしまう可能性が高くなる。
ウェブブラウザが停止したとサーバが誤って判定してしまう問題を解決するために、ウェブブラウザが一定時間毎にウェブサーバにダミーのリクエスト、つまり特にサービスを要求しないリクエストを送信し、ウェブブラウザがウェブサーバに対して当該ウェブブラウザが停止していないことを通知する方法がある。しかし、この方法はダミーのリクエストの送受信を必要とするため、ウェブブラウザやネットワークに必要以上の負荷がかかる問題が新たに発生する。
そこで、本発明の目的は、クライアント装置で動作するウェブブラウザが停止した場合に、過大な負荷を要することなく、ウェブブラウザの停止を正しく判定して当該ウェブブラウザに関わるセッション情報を消去することが可能になるサーバ装置および通信システムを提供することにある。
すなわち、本発明に係わるサーバ装置は、クライアント装置で動作中のウェブブラウザに関するセッション情報を管理する管理手段と、クライアント装置のウェブブラウザとの間の往復通信時間をもとに、当該往復通信時間より長い当該ウェブブラウザの停止判定時間を計算し、クライアント装置のウェブブラウザに応答を要求し、当該要求を行なってから停止判定時間が経過しても要求先のウェブブラウザからの応答が無い場合に当該ウェブブラウザが停止したと判定し、当該ウェブブラウザに関するセッション情報を消去することを特徴とする。
本発明によれば、クライアント装置で動作するウェブブラウザが停止した場合に、過大な負荷を要することなく、ウェブブラウザの停止を正しく判定して当該ウェブブラウザに関わるセッション情報を消去することができる。
以下図面により本発明の実施形態について説明する。
(第1の実施形態)
まず、本発明の第1の実施形態について説明する。
本発明の第1の実施形態では、ウェブサーバがクライアント装置で動作するウェブブラウザにデータをプッシュした後で、ウェブサーバがウェブブラウザからのLongPollリクエストを所定の時間内に受信できない場合に当該ウェブブラウザが停止したと判定する。
本実施形態において、ウェブサーバがウェブブラウザを停止したと判定するまでの時間を停止判定時間と呼ぶ。この停止判定時間は、サーバが往復通信時間を基に算出する。この往復通信時間とは、ウェブサーバからウェブブラウザへの通信およびウェブブラウザからウェブサーバへの通信に要する時間である。
ウェブサーバは、データをプッシュする直前から往復通信時間の計測を開始し、このプッシュに伴うウェブブラウザからのLongPollリクエストの受信の直後で往復通信時間の計測を完了させる。
ウェブサーバが往復通信時間から停止判定時間を算出する具体的な方法は、例えば往復通信時間の4倍など、往復通信時間の1以上の実数倍を停止判定時間にしたり、往復通信時間に一定時間を加算した時間を停止判定時間にしたりする方法が挙げられる。停止判定時間の算出方法は特に限られないが、少なくとも往復通信時間より長い時間である必要がある。
停止判定時間を往復通信時間より長い時間とする必要がある理由は、往復通信時間が変動するためである。例えば、サーバが短い往復通信時間を偶々計測し、当該往復通信時間の1倍などを停止判定時間にしてしまうと、その後の往復通信時間が偶々長くなった場合に、ウェブサーバはウェブブラウザが実際には停止していないのに停止したと判定してしまう。
往復通信時間が変動する理由は、ブッシュ対象のデータやLongPollリクエストの通信時間がネットワークの混雑具合に影響されたり、ウェブサーバからのプッシュ処理を受けたウェブブラウザの処理時間が、LongPollリクエストをウェブサーバに送信する前に行なう処理、例えばサーバからプッシュされたデータを画面に反映させるなどの処理に影響されたりするためである。ここで述べた、サーバからプッシュされたデータをウェブブラウザが画面に反映させる処理時間は当該プッシュされたデータの内容に依存する。
また、往復通信時間は、ウェブブラウザが停止する前にサーバが予め計測しておく必要がある。しかし、サーバが往復通信時間を計測する前にウェブブラウザが停止してしまう場合もあり得るので、予めサーバ側で往復通信時間の初期値を定めておく。
例えば、ウェブアプリケーションをLAN内で用いるなら往復通信時間は1000ミリ秒、WANで用いるなら4000ミリ秒などと定めておく。この初期値が十分長い時間でないと、ウェブサーバは、ウェブブラウザが停止していないのに停止したと誤った判定をしてしまう。
図1は、本発明の第1の実施形態における通信システム上のウェブブラウザとウェブサーバ間の処理の流れを説明する図である。
まず、ウェブブラウザは、通信先のウェブサーバにLongPollリクエストを送信する(ステップS1)。そして、ウェブサーバはLongPollリクエストをいったん保持し、任意の時点でウェブブラウザへのプッシュ処理を行なう(ステップS2)。
ウェブブラウザは、ウェブサーバからプッシュされたデータを受信すると、LongPollリクエストをサーバに返す(ステップS3)。
ウェブサーバは、プッシュ処理を行なってからウェブブラウザからのLongPollリクエストを受信するまでの時間、つまり往復通信時間を計測する(ステップS4)。
ウェブブラウザがステップS3の処理後に停止した(ステップS5)とすると、ウェブサーバはステップS3の処理によりウェブブラウザから送信されたLongPollリクエストに対するプッシュ処理を行う(ステップS6)。この場合、停止したウェブブラウザに行なうことになる。
ウェブブラウザは既に停止しているため、前述したステップS3の処理のようにLongPollリクエストを送信しない。ウェブサーバは、ステップS6によるプッシュ処理後に停止判定時間が経過しても、ウェブブラウザからLongPollリクエストを受信することはない。
ウェブサーバは、ステップS6によるプッシュ処理後に停止判定時間が経過してもウェブブラウザからのLongPollリクエストを受信しない場合に、当該ウェブブラウザが停止したと判定する(ステップS7)。
そして、受信しない場合、サーバは停止したウェブブラウザのセッション情報を消去する(ステップS8)。
図2は、本発明の第1の実施形態における通信システムのサーバ装置の構成例を示すブロック図である。
本発明の第1の実施形態における通信システムはサーバ装置であるウェブサーバ1およびクライアント装置2を有する。クライアント装置2ではウェブブラウザが動作する。
図2に示したサーバ装置は、装置全体の動作を司る制御部11、記憶装置12、通信部13、往復通信時間計測部14、クライアント停止判定部15、セッション情報管理部16、プッシュ要求受付部17を備え、それぞれがバス18を介して相互に接続される。
記憶装置12は、例えばハードディスクドライブや不揮発性メモリなどの記憶媒体であり、通信部13、往復通信時間計測部14、クライアント停止判定部15、セッション情報管理部16、プッシュ要求受付部17による処理動作のためのプログラムを記憶する他、セッション情報記憶部21および停止判定時間記憶部22を有する。
通信部13は、クライアント装置2からのLongPollリクエストを受信する。また通信部13はLongPollリクエストへのレスポンスであるプッシュ処理用のデータをリクエスト元のクライアント装置2のウェブブラウザに送信する。また、通信部13は、セッション情報管理部16によって管理される情報を取得する機能、クライアント装置2からのLongPollリクエストを受信すると、この受信した旨を往復通信時間計測部14とクライアント停止判定部15に通知する機能、クライアント装置2のウェブブラウザにデータを送信する前に、当該送信の旨を往復通信時間計測部14とクライアント停止判定部15に通知する機能を有する。
往復通信時間計測部14は、通信部13がクライアント装置2のウェブブラウザにプッシュ処理用のデータを送信する旨を当該通信部13から通知されると往復通信時間の計測を開始する機能、通信部13がクライアント装置2からLongPollリクエストを受信した旨を当該通信部13から通知されると往復通信時間の計測を完了して当該計測結果をセッション情報管理部16に渡す機能、およびクライアント停止判定部15からウェブブラウザの停止を通知されると往復通信時間の計測を中止する機能を有する。
セッション情報管理部16は、クライアント装置2のウェブブラウザにプッシュするデータを通信部13に渡す機能、クライアント装置2のウェブブラウザにプッシュするデータをプッシュ要求受付部17から受け取る機能、通信対象のウェブブラウザ個々に関するデータをセッション情報として記憶装置12のセッション情報記憶部21に保持する機能、ウェブブラウザが停止したことがクライアント停止判定部15から通知された場合に当該ウェブブラウザに関するセッション情報を記憶装置12のセッション情報記憶部21から消去する機能を有する。
ウェブブラウザ個々に関するデータには、ウェブブラウザにプッシュするデータや、ウェブブラウザとウェブサーバ1間の往復通信時間などがある。また、セッション情報管理部16は、ウェブブラウザにプッシュするデータを一時保存する。また、セッション情報管理部16は、往復通信時間を往復通信時間計測部14より受け取る機能も有する。
プッシュ要求受付部17は、ウェブブラウザにプッシュしたいデータをクライアントウェブアプリケーションから受け取る機能、および当該受け取ったデータをセッション情報管理部16に渡す機能を有する。プッシュ要求受付部17が受け取るデータは、ウェブサーバ1側でのデータの更新などにより、クライアント装置2のウェブブラウザからの通常のリクエストによらずに当該ウェブブラウザへ出力されるべきデータである。
クライアント停止判定部15は、計算済みの往復通信時間をセッション情報管理部16から取得する機能、当該取得した往復通信時間から停止判定時間を算出して記憶装置12の停止判定時間記憶部22に記憶する機能、通信部13がクライアント装置2のウェブブラウザにデータを送信する旨を当該通信部13から通知されてから、前述したように算出された停止判定時間が経過しても、通信部13がクライアント装置2からLongPollリクエストを受信した旨を当該通信部13から通知されない場合、クライアント装置2のウェブブラウザが停止したと判定する機能、およびウェブブラウザが停止したと判定した場合に当該停止した旨を往復通信時間計測部14とセッション情報管理部16に通知する機能を有する。
図3は、本発明の第1の実施形態における通信システムのクライアント装置の構成例を示すブロック図である。
図3に示したクライアント装置2は、装置全体の動作を司る制御部31、記憶装置32、通信部33、リクエスト生成部34、LongPollリクエスト生成部35、キーボードやマウスなどの入力装置36、ディスプレイ装置などの表示装置37を備え、それぞれがバス38を介して相互に接続される。
記憶装置12は、例えばハードディスクドライブや不揮発性メモリなどの記憶媒体であり、通信部33、リクエスト生成部34、LongPollリクエスト生成部35による処理動作のためのプログラムを記憶する他、ウェブブラウザのプログラムを記憶する。
通信部33は、ウェブサーバ1から送信されたデータを受信する機能、およびウェブサーバ1にLongPollリクエストを送信する機能を有する。
リクエスト生成部34は、ウェブブラウザの動作にしたがってウェブサーバ1へのLongPollリクエストと異なる通常のリクエストを生成する。
LongPollリクエスト生成部35は、ウェブブラウザの動作にしたがってウェブサーバ1へのLongPollリクエストを生成する。
次に、ここまで示した構成の通信システムの動作について説明する。
図4は、本発明の第1の実施形態における通信システムの処理動作の一例を示すフローチャートである。
この処理は、ウェブサーバ1がウェブブラウザの停止判定のために当該ウェブブラウザとの間の通信を試みて当該ウェブブラウザの停止を判定し、当該停止と判定したウェブブラウザのセッション情報を消去する処理である。この消去処理の実行タイミングは、クライアント装置2のウェブブラウザへのプッシュ対象のデータを通信部13がセッション情報管理部16から渡されるタイミングである。
この処理の説明にあたり、ウェブサーバ1と停止判定対象のウェブブラウザとの間の往復通信時間は往復通信時間計測部14によって既に計測されて記憶装置12のセッション情報記憶部21に記憶されているものとする。
ウェブサーバ1の通信部13は、ウェブブラウザからのLongPollリクエストにしたがってクライアント装置2のウェブブラウザに送信するプッシュ処理用のデータをセッション情報管理部16から取得する(ステップS11)。
通信部13は、クライアント装置2のウェブブラウザへプッシュ処理用のデータを送信する旨をクライアント停止判定部15に通知する。クライアント停止判定部15は、通信部13からの通知を受け、セッション情報記憶部21から停止判定対象のウェブブラウザに関して計測済みの往復通信時間を取得し、当該取得した往復通信時間から停止判定時間を算出する(ステップS12)。
通信部13は、クライアント装置2のウェブブラウザへプッシュ処理用のデータを送信する旨を往復通信時間計測部14に通知する。往復通信時間計測部14は、通信部13からの通知を受け、往復通信時間の計測を開始する(ステップS13)。
通信部13は、ステップS11の処理で取得したプッシュ処理用のデータをクライアント装置2のウェブブラウザに送信する(ステップS14)。
クライアント装置2の通信部33がウェブサーバ1からのプッシュ処理用のデータを受信すると、停止していないウェブブラウザは、LongPollリクエストをLongPollリクエスト生成部35に生成させ、通信部33を介してウェブサーバ1に送信する。
ウェブサーバ1の通信部13は、停止していないウェブブラウザからLongPollリクエストを受信すると、当該受信した旨をクライアント停止判定部15と往復通信時間計測部14に通知する。
往復通信時間計測部14は、ウェブブラウザからLongPollリクエストを受信した旨を通信部13から通知される、つまりウェブブラウザが停止していない場合には(ステップS15のNO)、ステップS13の処理で開始した往復通信時間の計測を終了し、計測結果をセッション情報管理部16に渡す。セッション情報管理部16はこの計測結果を記憶装置12のセッション情報記憶部21に保存する(ステップS16)。
また、クライアント停止判定部15は、ウェブブラウザへプッシュ処理用のデータを送信する旨を通知されたタイミングからステップS12の処理で算出した停止判定時間が経過するタイミングまでの間、LongPollリクエストを受信した旨の通知が通信部13からなされない場合、ウェブブラウザが停止したと判定し(ステップS15のYES)、当該停止を判定した旨をセッション情報管理部16と往復通信時間計測部14に通知する。
往復通信時間計測部14は、クライアント停止判定部15からウェブブラウザが停止したことを通知されると、ステップS13の処理で開始した往復通信時間の計測を中止する(ステップS17)。
そして、セッション情報管理部16は、クライアント停止判定部15からウェブブラウザの停止を通知されると、当該ウェブブラウザに関するセッション情報を記憶装置12のセッション情報記憶部21から消去する(ステップS18)。
以上のように、本発明の第1の実施形態における通信システムでは、ウェブサーバ1はクライアント装置2のウェブブラウザからのLongPollリクエストのレスポンスであるプッシュ処理用のデータをウェブブラウザに送信して、当該送信に対して返されたLongPollリクエストを受信することで往復通信時間を計測して、ウェブブラウザの停止判定時間を算出する。そして、ウェブサーバ1は、ウェブブラウザからの次のLongPollリクエストのレスポンスであるプッシュ処理用のデータをウェブブラウザに送信して、当該送信タイミングから停止判定時間以内にウェブブラウザからのLongPollリクエストを受信できない場合にウェブブラウザが停止していると判定して、当該ウェブブラウザのセッション情報を消去する。
従来のタイムアウトを用いた方法では、ウェブサーバは、ウェブブラウザとのアクセスを行なうことなく当該ウェブブラウザの停止判定を行なっていたので、ウェブサーバはウェブブラウザとの通信が途絶えてから一定時間経つまで当該ウェブブラウザの停止を認識できず、かつ誤った停止判定を行なう場合があった。これに対し本実施形態では、サーバはウェブブラウザとのアクセスを行なう事で当該ウェブブラウザの停止判定を行なうので、誤った停止判定を行なうことが無くなる。
また、従来のタイムアウトによる停止判定の方法では、ウェブブラウザは、自身が停止したとウェブサーバに誤認されないために、ダミーのリクエストを定期的に当該サーバに送信する必要があった。この方法では、ウェブブラウザの停止判定を早くすることを目的として設定時間を短くするほどダミーのリクエストの送信間隔を短くする必要があり、ウェブブラウザやネットワークの負荷の増大を招いていたが、本実施形態では、ウェブブラウザはウェブサーバにダミーのリクエストをサーバに定期的に送信する必要がないので、停止判定時間の変化に伴うウェブブラウザやネットワークの負荷の増大を防止できる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。なお、本実施形態に係る通信システムの構成は図1に示したものと基本的にほぼ同様であるので同一部分の説明は省略する。
この第2の実施形態では、ウェブサーバ1からウェブブラウザへ送信される情報は、通常データと信号との2種類存在し、この情報の種別によって往復通信時間が導かれるまでの処理が異なる。このようにウェブサーバ1が通常データと信号を分別して処理を行なう理由は、より正確に往復通信時間を計測するためである。
通常データとは、ウェブサーバ1からウェブブラウザに送信されると、ウェブブラウザが当該送信されたデータに応じた処理を行なう情報である。例えばウェブサーバ1が航空便座席予約システムのサーバであって、航空便名「xxx」の座席が予約され、残りの座席が5席から4席に減った場合、ウェブサーバがウェブブラウザに「航空便名:xxx、残座席数:4席」といった通常データをプッシュする。この場合ウェブブラウザでは、画面に「航空便名xxx、残座席数5席」と表示しているのを「航空便名xxx、残座席数4席」と再表示しなければならない。
これに対してウェブサーバ1からウェブブラウザに送信された情報が通常データと異なる信号であった場合、当該信号の受信を確認したウェブブラウザは、画面の再表示など処理を何も行なわずに、LongPollリクエストをすぐにウェブサーバ1に送信する。
第1の実施形態では、プッシュ処理対象の情報が通常データであっても、当該データの送信にしたがって往復通信時間の計測および当該計測した時間をもとに算出した停止判定時間の算出を行なうが、通常データを送信にしたがって往復通信時間を計測すると、プッシュ対象のデータが「航空便名:xxx、残座席数:4席」というデータと「航空便名:xxx、残座席数:4席:航空便名:yyy、残座席数:3席」というデータでは、画面の再表示にかかる時間に差異があり、往復通信時間の変動が大きくなってしまう。
これに対し、第2の実施形態では、通常データも信号もウェブサーバからウェブブラウザに送信されるが、サーバは、信号を送信する場合のみに当該送信にともなう往復通信時間の計測を行なう。
このため、第2の実施形態における通信システムのウェブサーバ1は、ウェブブラウザが実行する処理に影響されずに往復通信時間を求めることが可能になり、当該求める往復通信時間のばらつきを抑えることができる。
なお、ウェブサーバ1がウェブブラウザに信号を送信するタイミングは、ウェブサーバ1が通信を開始したウェブブラウザから初めてLongPollリクエストを受信したタイミングと、この受信タイミングから一定時間経過毎のタイミングである。一定時間とは、例えば5分から30分ぐらいの時間である。
ウェブサーバ1がウェブブラウザから初めてLongPollリクエストを受信する場合の停止判定時間は、例えば往復通信時間の初期値を記憶装置12に記憶しておき、クライアント停止判定部15が当該初期値に一定時間を加算することによって算出する。
また、ウェブサーバ1の通信部13がクライアント装置2のウェブブラウザに通常データを送信する場合には、ウェブサーバ1はウェブブラウザからのLongPollリクエストにしたがった往復通信時間計測は行なわない。つまり、ウェブサーバ1はウェブブラウザ間の通信を経た往復通信時間の計測は行なわない。
ウェブサーバ1の通信部13が通常データをウェブブラウザに送信する場合には、クライアント停止判定部15は、ウェブブラウザから初めてLongPollリクエストを受信する場合と同様、往復通信時間の初期値に一定時間、例えば1000ミリ秒を加えることで算出する。
往復通信時間の初期値に一定時間を加える必要があるのは、ウェブサーバ1がウェブブラウザに通常データを送信する場合に要する往復通信時間が、ウェブサーバ1がウェブブラウザに信号を送信する場合に要する往復通信時間より当該ウェブブラウザが通常データについて実行する処理にかかる時間分だけ長いからである。
ウェブサーバ1の通信部13は、クライアント装置2のウェブブラウザに対し、通常データおよび信号のいずれかを送信する。また、往復通信時間計測部14、クライアント停止判定部15、セッション情報管理部16、プッシュ要求受付部17の機能は第1の実施形態で説明した機能と同じである。
図5は、本発明の第2の実施形態における通信システムのクライアント装置の構成例を示すブロック図である。
図5に示すように、第2の実施形態におけるクライアント装置2は、第1の実施形態と比較して、分離部41をさらに備える。分離部41は、通信部33がウェブサーバ1から受信した通常データおよび信号のいずれかであるかを判定する機能を有する。
図6は、本発明の第2の実施形態における通信システムのクライアント装置による処理動作の一例を示すフローチャートである。
第2の実施形態では、クライアント装置2側もComet以外の本発明に特有の機能を有する。
以下、クライアント装置2の通信部33がウェブサーバ1からのプッシュ処理により通常データまた信号を受信したときの処理、具体的には受信済みの情報が通常データか信号かを分離部41が判定する処理から、通信部33がウェブサーバ1にLongPollリクエストを送信するまでの処理を説明する。
この処理の説明において、ウェブサーバ1はクライアント装置2からのLongPollリクエストからのレスポンスまたはクライアント装置2からの最初のLongPollリクエストの受信後から一定時間ごとにプッシュ処理対象の情報として通常データおよび信号のいずれかをクライアント装置2のウェブブラウザに対して送信する。
クライアント装置2の分離部41は、ウェブサーバ1からプッシュされた情報を通信部33が受信すると、この情報が信号か通常データかを判定する(ステップS21)。
ウェブサーバ1からプッシュされた情報が通常データであると分離部41が判定した場合には(ステップS21のNO)、ウェブブラウザはプッシュされた通常データに応じた処理を行ない(ステップS22)、ウェブサーバ1へのLongPollリクエストをLongPollリクエスト生成部35に生成させて通信部33を介して送信する。(ステップS23)。
一方、ウェブサーバ1からプッシュされた情報が信号であると分離部41が判定した場合には(ステップS21のYES)、ウェブブラウザはウェブサーバ1へのLongPollリクエストをすぐにLongPollリクエスト生成部35に生成させて通信部33を介して送信する。(ステップS23)。
図7は、本発明の第2の実施形態における通信システムのサーバ装置による第1の処理動作の一例を示すフローチャートである。
図7に示したフローチャートでは、ウェブサーバ1がウェブブラウザに通常データをプッシュした場合の処理、具体的には、ウェブサーバ1の通信部13がウェブブラウザにプッシュするデータを取得する処理から、クライアント停止判定部15がウェブブラウザの停止を判定し、セッション情報管理部16が判定対象のウェブブラウザに関するセッション情報を消去する処理までを示す。ただし、ウェブブラウザが停止しなかった場合の処理も含まれる。
この処理の説明にあたり、ウェブサーバ1と停止判定対象のウェブブラウザとの間の往復通信時間は往復通信時間計測部14によって既に計測されて記憶装置12のセッション情報記憶部21に記憶されている一方で、当該往復通信時間は停止判定時間の算出に用いられないとする。
ウェブサーバ1の通信部13は、ウェブブラウザからのLongPollリクエストにしたがってクライアント装置2のウェブブラウザに送信するプッシュ処理用の通常データをセッション情報管理部16から取得する(ステップS31)。
通信部13は、クライアント装置2のウェブブラウザへプッシュ処理用の通常データを送信する旨をクライアント停止判定部15に通知する。クライアント停止判定部15は、通信部13からの通知を受け、記憶装置12から停止判定対象のウェブブラウザに関する往復通信時間の初期値取得し、当該取得した初期値に一定時間を加算することで停止判定時間を算出する(ステップS32)。
通信部13は、ステップS31の処理で取得したプッシュ処理用の通常データをクライアント装置2のウェブブラウザに送信する(ステップS33)。
クライアント装置2の通信部33がウェブサーバ1からのプッシュ処理用の通常データを受信すると、停止していないウェブブラウザは、LongPollリクエストをLongPollリクエスト生成部35に生成させて通信部33を介してウェブサーバ1に送信する。
ウェブサーバ1の通信部13は、ウェブブラウザからのLongPollリクエストを受信すると、当該受信した旨をクライアント停止判定部15に通知する。
クライアント停止判定部15は、ウェブブラウザへプッシュ処理用の通常データを送信する旨を通知されたタイミングからステップS32の処理で算出した停止判定時間が経過するタイミングまでの間、LongPollリクエストを受信した旨の通知が通信部13からなされない場合、ウェブブラウザが停止したと判定し(ステップS34のYES)、当該停止を判定した旨をセッション情報管理部16に通知する。
そして、セッション情報管理部16は、クライアント停止判定部15からウェブブラウザの停止を通知されると、当該ウェブブラウザに関するセッション情報を記憶装置12のセッション情報記憶部21から消去する(ステップS35)。
図8は、本発明の第2の実施形態における通信システムのサーバ装置による第2の処理動作の一例を示すフローチャートである。
図8に示したフローチャートでは、ウェブサーバ1がウェブブラウザに信号をプッシュした場合の処理、具体的には、ウェブサーバ1の通信部13がクライアント装置2のウェブブラウザに信号を送信する処理から、往復通信時間計測部14が往復通信時間の計測を行ない、クライアント停止判定部15がウェブブラウザの停止を判定し、セッション情報管理部16が判定対象のウェブブラウザに関するセッション情報を消去する処理までを示す。ただし、ウェブブラウザが停止しなかった場合の処理も含まれる。
この処理の説明にあたり、ウェブサーバ1と停止判定対象のウェブブラウザとの間の往復通信時間はウェブサーバ1からの先のプッシュ処理用の信号の送信および当該プッシュ処理に対するウェブブラウザからのLongPollリクエストの受信によって往復通信時間計測部14によって既に計測されて記憶装置12のセッション情報記憶部21に記憶されているものとする。
ウェブサーバ1の通信部13は、ウェブブラウザからのLongPollリクエストにしたがってクライアント装置2のウェブブラウザへ送信するプッシュ処理用の信号を送信する旨をクライアント停止判定部15に通知する。クライアント停止判定部15は、通信部13からの通知を受け、セッション情報記憶部21から停止判定対象のウェブブラウザに関する往復通信時間を取得し、当該取得した往復通信時間から停止判定時間を算出する(ステップS41)。
通信部13は、クライアント装置2のウェブブラウザへプッシュ処理用の信号を送信する旨を往復通信時間計測部14に通知する。往復通信時間計測部14は、通信部13からの通知を受け、往復通信時間の計測を開始する(ステップS42)。
通信部13は、プッシュ処理用の信号をクライアント装置2のウェブブラウザに送信する(ステップS43)。
クライアント装置2の通信部33がウェブサーバ1からのプッシュ処理用の信号を受信すると、停止していないウェブブラウザは、LongPollリクエストをすぐにLongPollリクエスト生成部35に生成させ、通信部33を介してウェブサーバ1に送信する。
ウェブサーバ1の通信部13は、ウェブブラウザからのLongPollリクエストを受信すると、当該受信した旨をクライアント停止判定部15と往復通信時間計測部14に通知する。
往復通信時間計測部14は、停止していないウェブブラウザからのLongPollリクエストを受信した旨を通信部13から通知される、つまりウェブブラウザが停止していない場合には(ステップS44のNO)、ステップS42の処理で開始した往復通信時間の計測を終了し、計測結果をセッション情報管理部16に通知する。セッション情報管理部16はこの計測結果をセッション情報記憶部21に保存する(ステップS45)。
また、クライアント停止判定部15は、クライアント装置2のウェブブラウザへプッシュ処理用の信号を送信する旨を通知されたタイミングからステップS41の処理で算出した停止判定時間が経過するタイミングまでの間、LongPollリクエストを受信した旨の通知が通信部13からなされない場合、ウェブブラウザが停止したと判定し(ステップS44のYES)、当該停止を判定した旨をセッション情報管理部16と往復通信時間計測部14に通知する。
往復通信時間計測部14は、クライアント停止判定部15からウェブブラウザが停止したことを通知されると、ステップS13の処理で開始した往復通信時間の計測を中止する(ステップS46)。
そして、セッション情報管理部16は、クライアント停止判定部15からウェブブラウザの停止を通知されると、当該ウェブブラウザに関するセッション情報を記憶装置12のセッション情報記憶部21から消去する(ステップS47)。
なお、この発明は前記実施形態そのままに限定されるものではなく実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を省略してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
本発明の第1の実施形態における通信システム上のウェブブラウザとウェブサーバ間の処理の流れを説明する図。 本発明の第1の実施形態における通信システムのサーバ装置の構成例を示すブロック図。 本発明の第1の実施形態における通信システムのクライアント装置の構成例を示すブロック図。 本発明の第1の実施形態における通信システムの処理動作の一例を示すフローチャート。 本発明の第2の実施形態における通信システムのクライアント装置の構成例を示すブロック図。 本発明の第2の実施形態における通信システムのクライアント装置による処理動作の一例を示すフローチャート。 本発明の第2の実施形態における通信システムのサーバ装置による第1の処理動作の一例を示すフローチャート。 本発明の第2の実施形態における通信システムのサーバ装置による第2の処理動作の一例を示すフローチャート。 従来の通信システムのウェブブラウザとウェブサーバ間のクライアントプルによる送受信信号について説明する図。 従来の通信システムのウェブブラウザとウェブサーバ間のサーバプッシュによる送受信信号について説明する図。 従来の通信システムのウェブブラウザとウェブサーバ間のサーバプッシュによる処理の流れを説明する図。 従来の通信システムのウェブブラウザとウェブサーバ間のサーバプッシュによるプッシュ要求の一時保存処理の流れを説明する図。
符号の説明
1…ウェブサーバ、2…クライアント装置、11,31…制御部、12,32…記憶装置、13,33…通信部、14…往復通信時間計測部、15…クライアント停止判定部、16…セッション情報管理部、17…プッシュ要求受付部、18,38…バス、21…セッション情報記憶部、22…停止判定時間記憶部、34…リクエスト生成部、35…LongPollリクエスト生成部、36…入力装置、37…表示装置、41…分離部。

Claims (5)

  1. クライアント装置で動作中のウェブブラウザに関するセッション情報を管理する管理手段と、
    前記クライアント装置のウェブブラウザとの間の往復通信時間をもとに、当該往復通信時間より長い当該ウェブブラウザの停止判定時間を計算する計算手段と、
    前記クライアント装置のウェブブラウザに応答を要求し、当該要求を行なってから前記計算手段により計算した停止判定時間が経過しても要求先のウェブブラウザからの応答が無い場合に当該ウェブブラウザが停止したと判定する停止判定手段と、
    前記ウェブブラウザが停止していると前記停止判定手段が判定した場合に、当該ウェブブラウザに関するセッション情報を消去するセッション情報消去手段と
    を備えたことを特徴とするサーバ装置。
  2. 前記クライアント装置のウェブブラウザに対して応答信号の送信要求信号を送信する送信手段と、
    前記送信手段により送信された送信要求信号にしたがって前記ウェブブラウザから送信された応答信号を受信する受信手段と、
    前記送信手段による送信要求信号の送信タイミングから前記受信手段による応答信号の受信タイミングまでの時間を前記往復通信時間として計測する計測手段とをさらに備え、
    前記計算手段は、前記計測手段により計測した往復通信時間をもとに前記停止判定時間を計算する
    ことを特徴とする請求項1に記載のサーバ装置。
  3. サーバ装置およびクライアント装置を有する通信システムであって、
    前記サーバ装置は、
    前記クライアント装置で動作中のウェブブラウザに関するセッション情報を管理する管理手段と、
    前記クライアント装置のウェブブラウザとの間の往復通信時間をもとに、当該往復通信時間より長い当該ウェブブラウザの停止判定時間を計算する計算手段と、
    前記クライアント装置のウェブブラウザに応答を要求し、当該要求を行なってから前記計算手段により計算した停止判定時間が経過しても要求先のウェブブラウザからの応答が無い場合に、当該ウェブブラウザが停止したと判定する停止判定手段と、
    前記ウェブブラウザが停止していると前記停止判定手段が判定した場合に、当該ウェブブラウザに関するセッション情報を消去するセッション情報消去手段とを備えた
    ことを特徴とする通信システム。
  4. 前記サーバ装置は、
    前記クライアント装置のウェブブラウザに、当該ウェブブラウザによる処理用情報および応答信号の送信要求信号の何れかを送信する送信手段と、
    前記送信手段による前記送信要求信号の送信にしたがって前記ウェブブラウザから送信された応答信号を受信する受信手段と、
    前記送信手段による送信要求信号の送信タイミングから前記受信手段による応答信号の受信タイミングまでの時間を前記往復通信時間として計測する計測手段と
    をさらに備え、
    前記サーバ装置の前記計算手段は、前記計測手段が往復通信時間の計測を行なった場合には、当該往復通信時間をもとに前記停止判定時間を計算し、前記送信手段により前記処理用情報を送信した場合には、前記往復通信時間の初期値をもとに前記停止判定時間を計算し、
    前記クライアント装置は、
    前記サーバ装置の前記送信手段により送信された送信要求信号を受信する受信手段と、
    前記受信手段による送信要求信号の受信にともなって当該ウェブブラウザにより生成された前記応答信号を前記サーバ装置に送信する送信手段と
    をさらに備えた
    ことを特徴とする請求項3に記載の通信システム。
  5. 前記サーバ装置は、
    前記クライアント装置のウェブブラウザに対して応答信号の送信要求信号を送信する送信手段と、
    前記送信手段により送信された送信要求信号にしたがって前記ウェブブラウザから送信された応答信号を受信する受信手段と、
    前記送信手段による送信要求信号の送信タイミングから前記受信手段による応答信号の受信タイミングまでの時間を前記往復通信時間として計測する計測手段と
    をさらに備え、
    前記サーバ装置の計算手段は、前記計測手段により計測した往復通信時間をもとに前記停止判定時間を計算する
    ことを特徴とする請求項3に記載の通信システム。
JP2008143103A 2008-05-30 2008-05-30 サーバ装置および通信システム Pending JP2009289163A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008143103A JP2009289163A (ja) 2008-05-30 2008-05-30 サーバ装置および通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008143103A JP2009289163A (ja) 2008-05-30 2008-05-30 サーバ装置および通信システム

Publications (1)

Publication Number Publication Date
JP2009289163A true JP2009289163A (ja) 2009-12-10

Family

ID=41458297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008143103A Pending JP2009289163A (ja) 2008-05-30 2008-05-30 サーバ装置および通信システム

Country Status (1)

Country Link
JP (1) JP2009289163A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192162A (ja) * 2010-03-16 2011-09-29 Nec Corp サーバ装置、省電力制御方法、省電力制御プログラム及びクライアントサーバシステム
JP2016133867A (ja) * 2015-01-16 2016-07-25 株式会社リコー 情報処理システム、情報処理方法、及びプログラム
JP2016133866A (ja) * 2015-01-16 2016-07-25 株式会社リコー 機器、情報処理システム、情報処理方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11234288A (ja) * 1998-02-13 1999-08-27 Sharp Corp データ通信処理装置
JP2000020423A (ja) * 1998-06-30 2000-01-21 Toshiba Corp リアルタイム情報配信方法
WO2006063875A1 (en) * 2004-12-16 2006-06-22 International Business Machines Corporation Usage consciousness in http/html for reducing unused data flow across a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11234288A (ja) * 1998-02-13 1999-08-27 Sharp Corp データ通信処理装置
JP2000020423A (ja) * 1998-06-30 2000-01-21 Toshiba Corp リアルタイム情報配信方法
WO2006063875A1 (en) * 2004-12-16 2006-06-22 International Business Machines Corporation Usage consciousness in http/html for reducing unused data flow across a network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192162A (ja) * 2010-03-16 2011-09-29 Nec Corp サーバ装置、省電力制御方法、省電力制御プログラム及びクライアントサーバシステム
JP2016133867A (ja) * 2015-01-16 2016-07-25 株式会社リコー 情報処理システム、情報処理方法、及びプログラム
JP2016133866A (ja) * 2015-01-16 2016-07-25 株式会社リコー 機器、情報処理システム、情報処理方法、及びプログラム

Similar Documents

Publication Publication Date Title
US10484464B2 (en) Connection control device, connection control system, and non-transitory computer readable medium
JPH11346238A (ja) 応答時間測定システム
WO2015074554A1 (zh) 消息同步方法和装置
US20130080518A1 (en) Web page supplying system, web page supplying method, and recording medium with control program stored therein
US20120143943A1 (en) Cloud service system and method, and recording medium
JP2009289163A (ja) サーバ装置および通信システム
US10951707B2 (en) Selection device, device selection method, and program
KR101901884B1 (ko) 원격 사용자 인터페이스 제공 장치 및 방법
KR20180052930A (ko) 클라우드 기반의 스마트 팩토리 서비스 제공 방법 및 장치
GB2575703A (en) Protocol to initiate session with partner site
US9516109B2 (en) Registry synchronizer and integrity monitor
US20200274786A1 (en) Apparatus and method for managing message transmission delay
US8276187B2 (en) Information processing system
US20220405871A1 (en) Operation information management method and information processing apparatus
US20220272104A1 (en) Authorization server, system, and method for system
KR20190047889A (ko) 시간 동기화를 위한 장치 및 방법
JP5982436B2 (ja) 画面転送サーバ装置、および画面転送方法
JP7189474B2 (ja) 推定システム、付加装置、推定方法、付加方法、推定プログラム、及び付加プログラム
US20180150336A1 (en) Management system and control method
JP5223428B2 (ja) 情報処理システム
JP2005284901A (ja) タイムスタンプ局選択システム及びタイムスタンプ局選択プログラム
JP2013232035A (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
US20240045623A1 (en) Server, printing system, information processing method, and non-transitory computer-readable storage medium
US20240045630A1 (en) Server, printing system, information processing method, and non-transitory computer-readable storage medium
JP2008009852A (ja) 負荷分散制御システム、方法、およびサーバ装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101026