(57)【要約】【課題】応答遅延状態が発生するのを回避する。【解決手段】指定応答時間情報を含む各種の情報を保存する記憶部43と、処理要求を受信するＨＴＴＰ受付部44と、処理要求を独自のプロトコルに変換する変換部46と、処理要求に基づいて要求された処理を実行し、処理要求により要求された処理の実行結果を生成する業務処理部52と、処理の実行結果を、処理要求に対する応答として、Ｗｅｂクライアント装置10に送信するＨＴＴＰ応答部48と、処理要求の受信時刻を受信時刻情報として記憶部に保存させる受信時刻記録部112と、処理の完了時刻を処理完了時刻情報として記憶部に保存させる処理完了時刻記録部114と、記憶部に保存された受信時刻情報と処理完了時刻情報と指定応答時間情報とに基づいて待ち時間を算出する待ち時間算出部116と、ＨＴＴＰ応答部に対して、待ち時間だけ、処理要求に対する応答の送信を停止させる待ち処理部118とを有することを特徴とする。【選択図】図１
2007249499.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたＷｅｂクライアント装置から送信された処理要求を受信して、受信した処理要求に基づいて要求された処理を実行し、処理の実行結果を処理要求に対する応答として該Ｗｅｂクライアント装置に送信するＷｅｂサーバシステムにおいて、
処理要求を送信した前記Ｗｅｂクライアント装置に対して処理要求に対する応答を送信する場合の最短応答時間として予め設定された指定応答時間情報を含む、各種の情報を保存する記憶部と、
前記Ｗｅｂクライアント装置から送信された処理要求を受信するＨＴＴＰ受付部と、
前記ＨＴＴＰ受付部により受信された処理要求を独自のプロトコルに変換するとともに、処理要求により要求された処理の実行結果を前記Ｗｅｂクライアント装置に搭載されたＷｅｂブラウザアプリケーションによって解析される形式のデータに変換する変換部と、
前記変換部により独自のプロトコルに変換された処理要求に基づいて要求された処理を実行し、処理要求により要求された処理の実行結果を生成する業務処理部と、
前記業務処理部によって生成され、さらに前記変換部によって前記Ｗｅｂクライアント装置に搭載されたＷｅｂブラウザアプリケーションによって解析される形式のデータに変換された処理の実行結果を、処理要求に対する応答として、前記Ｗｅｂクライアント装置に送信するＨＴＴＰ応答部と、
前記ＨＴＴＰ受付部により受信された処理要求の受信時刻を受信時刻情報として前記記憶部に保存させる受信時刻記録部と、
前記業務処理部より実行された処理の完了時刻を処理完了時刻情報として前記記憶部に保存させる処理完了時刻記録部と、
前記記憶部に保存された受信時刻情報と処理完了時刻情報と指定応答時間情報とに基づいて待ち時間を算出する待ち時間算出部と、
前記ＨＴＴＰ応答部に対して、前記待ち時間算出部によって算出された待ち時間だけ、処理要求に対する応答の前記Ｗｅｂクライアント装置への送信を待機処理させる待ち処理部と
を有することを特徴とするＷｅｂサーバシステム。
【請求項２】
請求項１に記載のＷｅｂサーバシステムにおいて、
前記待ち時間算出部は、受信時刻情報によって表される時刻を受信時刻とし、処理完了時刻情報によって表される時刻を処理完了時刻とし、指定応答時間情報によって表される時間を指定応答時間として、指定応答時間と（処理完了時刻−受信時刻）とを比較し、指定応答時間＞（処理完了時刻−受信時刻）と判定される場合に、（指定応答時間−（処理完了時刻−受信時刻））を待ち時間として算出する
ことを特徴とするＷｅｂサーバシステム。
【請求項３】
請求項１に記載のＷｅｂサーバシステムにおいて、
前記待ち時間算出部は、受信時刻情報によって表される時刻を受信時刻とし、処理完了時刻情報によって表される時刻を処理完了時刻とし、指定応答時間情報によって表される時間を指定応答時間として、指定応答時間と（処理完了時刻−受信時刻）とを比較し、指定応答時間≦（処理完了時刻−受信時刻）と判定される場合に、送信命令を前記待ち処理部に出力し、
前記待ち処理部は、前記待ち時間算出部から送信命令が入力された場合に、前記ＨＴＴＰ応答部に対して、前記Ｗｅｂクライアント装置への処理要求に対する応答の送信を直ちに実行させる
ことを特徴とするＷｅｂサーバシステム。
【請求項４】
コンピュータを、
処理要求を送信したＷｅｂクライアント装置に対して処理要求に対する応答を送信する場合の最短応答時間として予め設定された指定応答時間情報を含む、各種の情報を保存する記憶部と、
前記Ｗｅｂクライアント装置から送信された処理要求を受信するＨＴＴＰ受付部と、
前記ＨＴＴＰ受付部により受信された処理要求を独自のプロトコルに変換するとともに、処理要求により要求された処理の実行結果を前記Ｗｅｂクライアント装置に搭載されたＷｅｂブラウザアプリケーションによって解析される形式のデータに変換する変換部と、
前記変換部により独自のプロトコルに変換された処理要求に基づいて要求された処理を実行し、処理要求により要求された処理の実行結果を生成する業務処理部と、
前記業務処理部によって生成され、さらに前記変換部によって前記Ｗｅｂクライアント装置に搭載されたＷｅｂブラウザアプリケーションによって解析される形式のデータに変換された処理の実行結果を、処理要求に対する応答として、前記Ｗｅｂクライアント装置に送信するＨＴＴＰ応答部と、
前記ＨＴＴＰ受付部により受信された処理要求の受信時刻を受信時刻情報として前記記憶部に保存させる受信時刻記録部と、
前記業務処理部より実行された処理の完了時刻を処理完了時刻情報として前記記憶部に保存させる処理完了時刻記録部と、
前記記憶部に保存された受信時刻情報と処理完了時刻情報と指定応答時間情報とに基づいて待ち時間を算出する待ち時間算出部と、
前記ＨＴＴＰ応答部に対して、前記待ち時間算出部によって算出された待ち時間だけ、処理要求に対する応答の前記Ｗｅｂクライアント装置への送信を待機処理させる待ち処理部と
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを介して接続されたＷｅｂクライアント装置から処理要求を受信した場合に、受信した処理要求に基づいて要求された処理を実行し、処理の実行結果を処理要求に対する応答としてＷｅｂクライアント装置に送信するＷｅｂサーバシステムに関する。
【背景技術】
【０００２】
Ｗｅｂサーバシステムは、ネットワークを介して接続されたＷｅｂクライアント装置から処理要求を受信した場合に、受信した処理要求に基づいて要求された処理を実行し、処理の実行結果を処理要求に対する応答としてＷｅｂクライアント装置に送信するシステムである（例えば、特許文献１参照）。
【０００３】
以下、図３を参照して、従来のＷｅｂサーバシステムの構成につき説明する。なお、図３は、従来のＷｅｂサーバシステムの一構成例を示すブロック図である。
【０００４】
図３において、Ｗｅｂクライアント装置１０は、Ｗｅｂブラウザアプリケーションソフトウェア（以下、単に「Ｗｅｂブラウザアプリケーション」と称する）１２を搭載する端末装置である。Ｗｅｂブラウザアプリケーション１２は、Ｗｅｂクライアント装置１０のＣＰＵ１１に、ＨＴＴＰ（Ｈｙｐｅｒ−Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いて、インターネットやイントラネットなどのネットワーク２０を介してＷｅｂクライアント装置１０に接続されたＷｅｂサーバシステム３０と、データの送受信を行わせるソフトウェアである。
【０００５】
Ｗｅｂクライアント装置１０は、各種情報を記憶する記憶部１３や、各種情報を入力する入力部１５、各種情報を表示する表示部１７、その他を有している。記憶部１３は、ＲＡＭや、ハードディスクドライブ装置（以下、「ＨＤＤ」と称する）、その他で構成されている。また、入力部１５は、キーボードや、マウスなどのポインティングデバイス、各種記憶媒体のリーダライタ、その他で構成されている。また、表示部１７は、液晶やＣＲＴなどのディスプレイで構成されている。
【０００６】
Ｗｅｂクライアント装置１０は、ネットワーク２０を介して、Ｗｅｂサーバシステム３０に、ＨＴＴＰによる処理要求を送信する。
【０００７】
Ｗｅｂサーバシステム３０は、Ｗｅｂクライアント装置１０から処理要求を受信して、処理要求に基づいて要求された処理を実行するホスト装置である。Ｗｅｂサーバシステム３０は、処理要求に基づいて要求された処理を実行して、その実行結果を処理要求に対する応答としてＷｅｂクライアント装置１０に送信する。
【０００８】
Ｗｅｂサーバシステム３０は、１乃至複数のサーバで構成されている。図３に示す例では、Ｗｅｂサーバシステム３０は、アプリケーションサーバ４０とデータベースサーバ５０とを有する構成となっている。アプリケーションサーバ４０は、Ｗｅｂクライアント装置１０との間でデータの送受信を行うサーバである。データベースサーバ５０は、処理要求に基づいて要求された処理を実行するサーバである。
【０００９】
アプリケーションサーバ４０は、各種情報を記憶する記憶部４３や、各種情報を入力する入力部４５、各種情報を表示する表示部４７、その他を有している。記憶部４３は、ＲＡＭや、ＨＤＤ、その他で構成されている。また、入力部４５は、キーボードや、マウスなどのポインティングデバイス、各種記憶媒体のリーダライタ、その他で構成されている。また、表示部４７は、液晶やＣＲＴなどのディスプレイで構成されている。
【００１０】
また、アプリケーションサーバ４０は、ＨＴＴＰ受付部４４と変換部４６とＨＴＴＰ応答部４８とを有する。
【００１１】
ＨＴＴＰ受付部４４は、Ｗｅｂクライアント装置１０から送信された処理要求を受信する機能手段である。
【００１２】
変換部４６は、ＨＴＴＰ受付部４４によりＷｅｂクライアント装置１０から受信された処理要求を独自のプロトコルに変換する機能手段である。この変換部４６は、データベースサーバ５０の後述の業務処理部５２によって生成された処理要求により要求された処理の実行結果を、Ｗｅｂクライアント装置１０に搭載されたＷｅｂブラウザアプリケーション１２によって解析される形式のデータに変換する機能手段でもある。変換部４６は、アプリケーションサーバ４０の各種の動作を制御する主制御部の一機能としてＣＰＵ４１に構築されている。
【００１３】
ＨＴＴＰ応答部４８は、処理要求に対する応答を、Ｗｅｂクライアント装置１０に送信する機能手段である。ＨＴＴＰ応答部４８は、データベースサーバ５０の後述の業務処理部５２によって生成され、さらに変換部４６によってＷｅｂクライアント装置１０に搭載されたＷｅｂブラウザアプリケーション１２によって解析される形式のデータに変換された処理の実行結果を、処理要求に対する応答として、Ｗｅｂクライアント装置１０に送信する。
【００１４】
ＨＴＴＰ受付部４４と変換部４６とＨＴＴＰ応答部４８は、Ｗｅｂサーバシステム構築用プログラム３１によってアプリケーションサーバ４０のＣＰＵ４１に構築されている。なお、Ｗｅｂサーバシステム構築用プログラム３１は、コンピュータを、Ｗｅｂサーバシステムを構成する各種サーバとして機能させるためのプログラムである。アプリケーションサーバ４０は、入力部４５のリーダライタが各種記録媒体（図示せず）に記録されたＷｅｂサーバシステム構築用プログラム３１を読み取ることによって、これらの機能手段をＣＰＵ４１に構築する。
【００１５】
データベースサーバ５０は、各種情報を記憶する記憶部５３や、各種情報を入力する入力部５５、各種情報を表示する表示部５７、その他を有している。記憶部５３は、ＲＡＭや、ＨＤＤ、その他で構成されている。また、入力部５５は、キーボードや、マウスなどのポインティングデバイス、各種記憶媒体のリーダライタ、その他で構成されている。また、表示部５７は、液晶やＣＲＴなどのディスプレイで構成されている。
【００１６】
また、データベースサーバ５０は、業務処理部５２とデータ保存部５４とを有する。
【００１７】
業務処理部５２は、アプリケーションサーバ４０の変換部４６により独自のプロトコルに変換された処理要求に基づいて要求された処理を実行し、処理要求により要求された処理の実行結果を生成する機能手段である。この処理の実行結果は、例えばＷｅｂページなどである。この処理の実行結果は、データベースサーバ５０からアプリケーションサーバ４０に出力され、アプリケーションサーバ４０の変換部４６によって、Ｗｅｂクライアント装置１０に搭載されたＷｅｂブラウザアプリケーション１２によって解析される形式のデータに変換される。そして、変換された処理の実行結果は、処理要求に対する応答として、アプリケーションサーバ４０からＷｅｂクライアント装置１０に送信される。
【００１８】
業務処理部５２は、データベースサーバ５０のＣＰＵ５１に構築されている。データベースサーバ５０は、入力部５５のリーダライタが各種記録媒体（図示せず）に記録されたＷｅｂサーバシステム構築用プログラム３１を読み取ることによって、業務処理部５２をＣＰＵ５１に構築する。
【００１９】
データ保存部５４は、データベース（すなわち、各種の情報の集合）を保存する機能手段である。データ保存部５４は、ＨＤＤおよび／またはＲＡＭにより構成されている。
【００２０】
以下、図４を参照して、従来のＷｅｂサーバシステムの動作につき説明する。なお、図４は、従来例のＷｅｂサーバシステムの動作を示すフローチャートである。
【００２１】
図４に示されるように、Ｗｅｂクライアント装置１０は、クライアントが表示部１７を見ながら入力部１５を操作することにより、Ｗｅｂブラウザアプリケーション１２が起動する。このＷｅｂクライアント装置１０は、クライアントが所望の処理の実行を要求する指令を入力部１５から入力したときに、Ｗｅｂブラウザアプリケーション１２によって、入力された指令に基づいて、Ｗｅｂサーバシステム３０に対するＨＴＴＰを用いた処理要求を生成する。そして、Ｗｅｂクライアント装置１０は、ネットワーク２０を介して、Ｗｅｂサーバシステム３０に、生成した処理要求を送信する（Ｓ１０）。
【００２２】
Ｗｅｂサーバシステム３０では、アプリケーションサーバ４０が、ＨＴＴＰ受付部４４により、Ｗｅｂクライアント装置１０からＨＴＴＰを用いた処理要求を受信する（Ｓ１５）。
【００２３】
このとき、アプリケーションサーバ４０は、ＨＴＴＰ受付部４４により、受信した処理要求を記憶部４３に一旦保存するとともに、この処理要求から要求情報を抽出する。なお、要求情報の抽出は、処理要求から要求情報を抽出するための参照情報が記憶部４３に予め記憶されており、ＨＴＴＰ受付部４４によって、記憶部４３からこの参照情報が読み出され、さらに、読み出された参照情報と処理要求とが対比判定されることによって行われる。この抽出された要求情報は、ＨＴＴＰ受付部４４から変換部４６に出力されるとともに、記憶部４３に出力されて、記憶部４３に一旦保存される。
【００２４】
そして、アプリケーションサーバ４０は、変換部４６により、処理要求、ここではＨＴＴＰ受付部４４により抽出された要求情報、を独自のプロトコルに変換して（Ｓ２０）、変換された処理要求（以下、「変換済処理要求」と称する）を記憶部４３に保存するとともに、データベースサーバ５０に送信する（Ｓ２５）。
【００２５】
データベースサーバ５０は、アプリケーションサーバ４０から送信された変換済処理要求を受信する（Ｓ３０）。
【００２６】
これに応答して、データベースサーバ５０は、業務処理部５２により、変換済処理要求を解析して、処理要求により要求された処理を認識し、処理要求により要求された処理を実行するために予めデータ保存部５４に保存されたデータベースを参照しながら、処理要求により要求された処理を実行する（Ｓ３５）。
【００２７】
そして、データベースサーバ５０は、業務処理部５２により、処理の実行結果を生成して（Ｓ４０）、生成した処理の実行結果をアプリケーションサーバ４０に送信する（Ｓ４５）。
【００２８】
アプリケーションサーバ４０は、データベースサーバ５０から送信された処理の実行結果を受信する（Ｓ５０）。
【００２９】
これに応答して、アプリケーションサーバ４０は、受信した処理の実行結果を記憶部４３に保存するとともに、変換部４６により、当該受信した処理の実行結果を、Ｗｅｂクライアント装置１０に搭載されたＷｅｂブラウザアプリケーション１２によって解析される形式のデータ（具体的には、ＨＴＭＬ（Ｈｙｐｅｒ−Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｑａｑｅ）で記述したＷｅｂページ）に変換する（Ｓ５５）。これによって、アプリケーションサーバ４０は、Ｗｅｂブラウザアプリケーション１２によって解析される形式のデータに変換された処理の実行結果（以下、「変換済実行結果」と称する）を生成する。この変換済実行結果が、処理要求に対する応答となる。この後、変換部４６は、この変換済実行結果を記憶部４３に出力して記憶部４３に一旦保存させるとともに、記憶部４３から変換済実行結果を読み出すための情報（以下、「読出情報」と称する）をＨＴＴＰ応答部４８に出力する。なお、この読出情報は、記憶部４３に保存された該当する案件の変換済実行結果を指定する情報と、読み出した変換済実行結果を送信する宛先（すなわち、処理要求を行ったＷｅｂクライアント装置１０）を指定する情報とを含んでいる。
【００３０】
Ｓ５５の後、アプリケーションサーバ４０は、ＨＴＴＰ応答部４８により、変換済実行結果を処理要求に対する応答としてＷｅｂクライアント装置１０に送信する（Ｓ６０）。
【００３１】
このとき、ＨＴＴＰ応答部４８は、変換部４６から出力された読出情報に応答して、読出情報によって指定されている変換済実行結果を記憶部４３から読み出す。そして、ＨＴＴＰ応答部４８は、読み出した変換済実行結果を、読出情報によって指定されているＷｅｂクライアント装置１０に送信する。
【００３２】
Ｗｅｂクライアント装置１０は、Ｗｅｂサーバシステム３０のアプリケーションサーバ４０から送信された処理要求に対する応答（すなわち、変換済実行結果）を受信する（Ｓ６５）。そして、Ｗｅｂクライアント装置１０は、Ｗｅｂブラウザアプリケーション１２によって、受信した処理要求に対する応答を解析して、表示部１７に表示する。これにより、Ｗｅｂクライアント装置１０は、処理要求に対する応答をクライアントに閲覧させる。
【００３３】
このようなＷｅｂサーバシステム３０は、例えば、オンラインオークションシステムやオンライン証券システム、オンライン銀行システム、オンライン商取引システム、オンライン決済システム、その他に、適用されている。
【特許文献１】特開２００１−１０９６９５号公報（段落１〜段落２、図２）
【発明の開示】
【発明が解決しようとする課題】
【００３４】
ところで、一般に、Ｗｅｂサーバシステムは、Ｗｅｂクライアント装置から受信した処理要求の順番通りに、処理を実行し、処理を実行した順に、処理要求に対する応答をＷｅｂクライアント装置に送信する。
【００３５】
このようなＷｅｂサーバシステムは、Ｗｅｂクライアント装置からの処理要求が過多になった場合に、応答が遅延する状態（以下、「応答遅延状態」と称する）が発生し易いという課題がある。
【００３６】
この応答遅延状態は、以下のようにして発生する。すなわち、Ｗｅｂサーバシステムは、利便性を向上させるために、不特定多数のクライアントに解放される傾向にある。このようなＷｅｂサーバシステムは、多数のクライアントからの処理要求が一定時間内に集中する場合がある。この場合に、Ｗｅｂサーバシステムには、高い負荷がかかる。そして、Ｗｅｂサーバシステムの処理能力の上限（以下、「限界性能」と称する）よりも高い負荷がＷｅｂサーバシステムにかかったときに、応答遅延状態が発生する。
【００３７】
Ｗｅｂサーバシステムの限界性能よりも高い負荷が発生する原因は、クライアントの人数が純粋に多いことに起因する場合と、一部のクライアントが過剰に処理要求を繰り返し送信することに起因する場合とがある。後者の場合、過剰に処理要求を繰り返すクライアントは、他のクライアント（すなわち、過剰に処理要求を繰り返さないクライアント）のサービスの利用を妨げている。
【００３８】
この発明は、各クライアントへの応答時間を安定化して各クライアントの利用機会の均等化を図ることにより、過剰に処理要求を繰り返すクライアントによって、他のクライアントのサービスの利用が妨げられないようにしたＷｅｂサーバシステムを提供することを目的とする。
【課題を解決するための手段】
【００３９】
上述の課題を解決するために、この発明に係るＷｅｂサーバシステムは、従来と同様の記憶部とＨＴＴＰ受付部と変換部と業務処理部とＨＴＴＰ応答部に加え、受信時刻記録部と処理完了時刻記録部と待ち時間算出部と待ち処理部とを有する構成となっている。
【００４０】
上述の記憶部は、各種の情報を保存する機能手段である。なお、この発明では、記憶部は、保存する情報の一つとして、処理要求に対する応答をＷｅｂクライアント装置に送信する場合の最短応答時間を表す指定応答時間情報を保存するように構成されている。
【００４１】
上述のＨＴＴＰ受付部は、Ｗｅｂクライアント装置から送信された処理要求を受信する機能手段である。
【００４２】
上述の変換部は、ＨＴＴＰ受付部により受信された処理要求を独自のプロトコルに変換するとともに、処理要求により要求された処理の実行結果をＷｅｂクライアント装置に搭載されたＷｅｂブラウザアプリケーションによって解析される形式のデータに変換する機能手段である。
【００４３】
上述の業務処理部は、変換部により独自のプロトコルに変換された処理要求に基づいて要求された処理を実行し、処理要求により要求された処理の実行結果を生成する機能手段である。
【００４４】
上述のＨＴＴＰ応答部は、業務処理部によって生成され、さらに変換部によってＷｅｂクライアント装置に搭載されたＷｅｂブラウザアプリケーションによって解析される形式のデータに変換された処理の実行結果を、処理要求に対する応答として、Ｗｅｂクライアント装置に送信する機能手段である。
【００４５】
上述の受信時刻記録部は、ＨＴＴＰ受付部により受信された処理要求の受信時刻を受信時刻情報として記憶部に保存させる機能手段である。
【００４６】
上述の処理完了時刻記録部は、業務処理部より実行された処理の完了時刻を処理完了時刻情報として記憶部に保存させる機能手段である。
【００４７】
上述の待ち時間算出部は、記憶部に保存された受信時刻情報と処理完了時刻情報と指定応答時間情報とに基づいて待ち時間を算出する機能手段である。
【００４８】
上述の待ち処理部は、ＨＴＴＰ応答部に対して、待ち時間算出部によって算出された待ち時間だけ、処理要求に対する応答のＷｅｂクライアント装置への送信を待機処理させる機能手段である。
【発明の効果】
【００４９】
この発明に係るＷｅｂサーバシステムによれば、Ｗｅｂクライアント装置からの処理要求に対する応答の送信を制御する仕組みとして、受信時刻記録部と処理完了時刻記録部と待ち時間算出部と待ち処理部とが設けられている。これらの各機能手段は、処理要求に対する応答の送信が一定時間内に集中しないように、応答の送信を制御する。すなわち、これらの各機能手段は、処理要求に対する応答の送信を分散させる。
【００５０】
このようなＷｅｂサーバシステムは、Ｗｅｂクライアント装置からの処理要求が過多になった場合でも、一件当たりの応答時間を均一にすることができるので、処理要求に対する応答を常に安定して送信することができる。これにより、このＷｅｂサーバシステムは、応答遅延状態が発生するのを回避することができる。
【００５１】
その結果、このＷｅｂサーバシステムは、一部のクライアントが過剰に処理要求を繰り返し送信しても、そのクライアントにシステムが占有されない。そのため、他のクライアントのサービスの利用を妨げないようにすることができるという効果を得ることができる。
【００５２】
また、このＷｅｂサーバシステムは、サービスの提供機会をより多くのクライアントに提供することができるという効果を得ることができる。
【発明を実施するための最良の形態】
【００５３】
以下、図を参照して、この発明の実施の形態につき説明する。各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【００５４】
＜Ｗｅｂサーバシステムの構成＞
以下、図１を参照して、この発明が適用されるＷｅｂサーバシステムの構成につき説明する。なお、図１は、この発明に係るＷｅｂサーバシステムのブロック図である。
【００５５】
図１中、従来例と同様の構成（図３参照）については、同一の符号を付して示す。そして、従来例と同様の構成については、詳細な説明を省略する。
【００５６】
図１に示されるように、この発明に係るＷｅｂサーバシステム３０ａは、従来例のアプリケーションサーバ４０の代わりに、アプリケーションサーバ４０ａを有している。アプリケーションサーバ４０ａは、従来と同様の記憶部４３と入力部４５と表示部４７とＨＴＴＰ受付部４４と変換部４６とＨＴＴＰ応答部４８に加え、以下に説明する受信時刻記録部１１２と処理完了時刻記録部１１４と待ち時間算出部１１６と待ち処理部１１８とタイマー１２０とを有する構成となっている。
【００５７】
ただし、記憶部４３は、保存する情報の一つとして、処理要求に対する応答をＷｅｂクライアント装置１０に送信する場合の最短応答時間を表す指定応答時間情報を予め記憶している。また、ＨＴＴＰ応答部４８は、変換部４６が変換済実行結果を生成次第直ちに処理要求に対する応答をＷｅｂクライアント装置１０に送信するのではなく、待ち処理部１１８から送信命令が出力されるまで処理要求に対する応答をＷｅｂクライアント装置１０に送信しない。
【００５８】
受信時刻記録部１１２は、ＨＴＴＰ受付部４４により受信された処理要求の受信時刻（以下、単に「受信時刻」と称する）を受信時刻情報として記憶部（ここでは、ＲＡＭ）４３に保存させる機能手段である。この受信時刻記録部１１２は、ＨＴＴＰ受付部４４により処理要求が受信されたときに、そのときの時刻をタイマー１２０から読み取ることにより、処理要求の受信時刻を取得する。そして、受信時刻記録部１１２は、取得した処理要求の受信時刻をミリ秒単位で記憶部４３に保存させる。
【００５９】
処理完了時刻記録部１１４は、処理の完了時刻（以下、「処理完了時刻」と称する）を処理完了時刻情報として記憶部４３に保存させる機能手段である。なお、ここでは、変換部４６により変換済実行結果が生成された時刻を処理の完了時刻として説明する。この処理完了時刻記録部１１４は、変換部４６により変換済実行結果が生成されたときに、そのときの時刻をタイマー１２０から読み取ることにより、処理完了時刻を取得する。そして、処理完了時刻記録部１１４は、取得した処理完了時刻をミリ秒単位で記憶部４３に保存させる。
【００６０】
待ち時間算出部１１６は、記憶部４３にそれぞれ保存された受信時刻情報と処理完了時刻情報とに基づいて待ち時間を算出する機能手段である。
【００６１】
待ち処理部１１８は、ＨＴＴＰ応答部４８に対して、待ち時間算出部１１６によって算出された待ち時間だけ、処理要求に対する応答のＷｅｂクライアント装置１０への送信を待機処理させる機能手段である。
【００６２】
タイマー１２０は、時間を管理する機能手段である。タイマー１２０は、クロック信号を生成する水晶発振器や、クロック信号を分周して予め定められた高周波信号を生成する分周器、高周波信号をカウントするカウンタ、その他で構成されている。
【００６３】
ＨＴＴＰ受付部４４と変換部４６とＨＴＴＰ応答部４８と受信時刻記録部１１２と処理完了時刻記録部１１４と待ち時間算出部１１６と待ち処理部１１８は、Ｗｅｂサーバシステム構築用プログラム３１ａによってアプリケーションサーバ４０ａのＣＰＵ４１ａに構築されている。また、データベースサーバ５０の業務処理部５２は、Ｗｅｂサーバシステム構築用プログラム３１ａによってデータベースサーバ５０のＣＰＵ５１に構築されている。なお、Ｗｅｂサーバシステム構築用プログラム３１ａは、コンピュータを、この発明に係るＷｅｂサーバシステムを構成する各種サーバとして機能させるためのプログラムである。すなわち、Ｗｅｂサーバシステム構築用プログラム３１ａは、１乃至複数のコンピュータを、ＨＴＴＰ受付部４４と変換部４６とＨＴＴＰ応答部４８と受信時刻記録部１１２と処理完了時刻記録部１１４と待ち時間算出部１１６と待ち処理部１１８と業務処理部５２として機能させるためのプログラムである。
【００６４】
＜Ｗｅｂサーバシステムの動作＞
以下、図２を参照して、この発明に係るＷｅｂサーバシステムの動作につき説明する。なお、図２は、この発明に係るＷｅｂサーバシステムの動作を示すフローチャートである。
【００６５】
運用開始前において、サーバの管理者は、表示部４７を見ながら入力部４５を操作して、処理要求に対する応答をＷｅｂクライアント装置１０に送信する場合の最短応答時間を、Ｗｅｂサーバシステム３０ａのアプリケーションサーバ４０ａに入力する。これに応答して、アプリケーションサーバ４０ａは、入力された最短応答時間を、指定応答時間情報として、記憶部４３に登録する。以下、記憶部４３に登録された最短応答時間を「指定応答時間」と称する。この後、Ｗｅｂサーバシステム３０ａは、以下のように、運用を開始する。
【００６６】
図２に示されるように、Ｗｅｂクライアント装置１０は、クライアントが表示部１７を見ながら入力部１５を操作することにより、Ｗｅｂブラウザアプリケーション１２が起動する。このＷｅｂクライアント装置１０は、クライアントが所望の処理の実行を要求する指令を入力部１５から入力したときに、Ｗｅｂブラウザアプリケーション１２によって、入力された指令に基づいて、Ｗｅｂサーバシステム３０ａに対するＨＴＴＰを用いた処理要求を生成する。そして、Ｗｅｂクライアント装置１０は、ネットワーク２０を介して、Ｗｅｂサーバシステム３０ａに、生成した処理要求を送信する（Ｓ１１０）。
【００６７】
Ｗｅｂサーバシステム３０ａでは、アプリケーションサーバ４０ａが、ＨＴＴＰ受付部４４により、Ｗｅｂクライアント装置１０からＨＴＴＰを用いた処理要求を受信する（Ｓ１１５）。
【００６８】
このとき、アプリケーションサーバ４０ａは、ＨＴＴＰ受付部４４により、受信した処理要求を記憶部４３に一旦保存するとともに、この処理要求から要求情報を抽出する。なお、要求情報の抽出は、処理要求から要求情報を抽出するための参照情報が記憶部４３に予め記憶されており、ＨＴＴＰ受付部４４によって、記憶部４３からこの参照情報が読み出され、さらに、読み出された参照情報と処理要求とが対比判定されることによって行われる。この抽出された要求情報は、ＨＴＴＰ受付部４４から変換部４６に出力されるとともに、記憶部４３に出力されて、記憶部４３に一旦保存される。
【００６９】
また、このとき、アプリケーションサーバ４０ａは、受信時刻記録部１１２により、処理要求の受信時刻を受信時刻情報として記憶部４３に保存する（Ｓ１２０）。
【００７０】
そして、アプリケーションサーバ４０ａは、変換部４６により、処理要求、ここではＨＴＴＰ受付部４４により抽出された要求情報を独自のプロトコルに変換して（Ｓ１２５）、変換された処理要求（すなわち、変換済処理要求）を記憶部４３に保存するとともに、データベースサーバ５０に送信する（Ｓ１３０）。
【００７１】
データベースサーバ５０は、アプリケーションサーバ４０ａから送信された変換済処理要求を受信する（Ｓ１３５）。
【００７２】
これに応答して、データベースサーバ５０は、業務処理部５２により、変換済処理要求を解析して、処理要求により要求された処理を認識し、処理要求により要求された処理を実行するために予めデータ保存部５４に保存されたデータベースを参照しながら、処理要求により要求された処理を実行する（Ｓ１４０）。
【００７３】
そして、データベースサーバ５０は、業務処理部５２により、処理の実行結果を生成して（Ｓ１４５）、生成した処理の実行結果をアプリケーションサーバ４０ａに送信する（Ｓ１５０）。
【００７４】
アプリケーションサーバ４０ａは、データベースサーバ５０から送信された処理の実行結果を受信する（Ｓ１５５）。
【００７５】
これに応答して、アプリケーションサーバ４０ａは、受信した処理の実行結果を記憶部４３に保存するとともに、変換部４６により、当該受信した処理の実行結果を、Ｗｅｂクライアント装置１０に搭載されたＷｅｂブラウザアプリケーション１２によって解析される形式のデータ（具体的には、ＨＴＭＬで記述したＷｅｂページ）に変換して、変換済実行結果を生成する（Ｓ１６０）。この変換済実行結果が、処理要求に対する応答となる。この変換済実行結果は、変換部４６から記憶部４３に出力されて、記憶部４３に一旦保存される。この後、変換部４６は、記憶部４３から変換済実行結果を読み出すための情報（すなわち、読出情報）をＨＴＴＰ応答部４８に出力する。さらに、変換部４６は、処理の完了を表す情報（以下、「処理完了情報」と称する）を処理完了時刻記録部１１４に出力する。なお、この処理完了情報は、ＨＴＴＰ応答部４８に出力された読出情報と対応付けられている。
【００７６】
Ｓ１６０の後、アプリケーションサーバ４０ａは、処理完了時刻記録部１１４により、処理の完了時刻を処理完了時刻情報として記憶部４３に保存する（Ｓ１６５）。
【００７７】
このとき、処理完了時刻記録部１１４は、変換部４６から処理完了情報を取得して、これに応答して、そのときの時刻をタイマー１２０から読み取ることにより、処理完了時刻を取得する。そして、処理完了時刻記録部１１４は、取得した処理完了時刻を記憶部４３に出力して記憶部４３に保存させる。また、このとき、処理完了時刻記録部１１４は、変換部４６から取得した処理完了情報を待ち時間算出部１１６に出力して、待ち時間算出部１１６を作動させる。
【００７８】
Ｓ１６５の後、アプリケーションサーバ４０ａは、待ち時間算出部１１６により、記憶部４３から「指定応答時間」を表す「指定応答時間情報」と「受信時刻」を表す「受信時刻情報」と「処理完了時刻」を表す「処理完了時刻情報」とを読み出し、これらを用いて待ち時間を算出する（Ｓ１７０）。
【００７９】
この待ち時間は、以下のようにして、算出される。
【００８０】
まず、待ち時間算出部１１６は、以下の式（１）により、処理完了時刻から処理要求の受信時刻を減算した値（以下、「経過処理時間」と称する）を算出する。
【００８１】
経過処理時間＝（処理完了時刻−受信時刻）  …（１）
次に、待ち時間算出部１１６は、算出した経過処理時間と、記憶部４３から読み出した指定応答時間とを比較する。
【００８２】
この比較で、指定応答時間＞経過処理時間と判定される場合に、以下の式（２）により、待ち時間算出部１１６は、指定応答時間から経過処理時間を減算した値（以下、「待ち時間」と称する）を算出する。
【００８３】
待ち時間＝（指定応答時間−経過処理時間）  …（２）
このようにして、アプリケーションサーバ４０ａは、待ち時間を算出する。
【００８４】
この後、待ち時間算出部１１６は、算出された待ち時間を表す情報（以下、「待ち時間情報」と称する）を生成する。なお、この待ち時間情報は、処理完了情報に対応付けられていた読出情報と対応付けられている。そして、待ち時間算出部１１６は、生成した待ち時間情報を待ち処理部１１８に出力して待ち処理部１１８を作動させるとともに、記憶部４３に出力して記憶部４３に一旦保存させる。
【００８５】
なお、経過処理時間と指定応答時間との比較で、指定応答時間≦経過処理時間と判定される場合に、待ち時間算出部１１６は、待ち時間が０であることを表す待ち時間情報を待ち処理部１１８に出力する。
【００８６】
Ｓ１７０の後、アプリケーションサーバ４０ａは、待ち処理部１１８により、待ち時間だけ、処理要求に対する応答のＷｅｂクライアント装置１０への送信の待ち制御を行う（Ｓ１７５）。
【００８７】
このとき、待ち処理部１１８は、待ち時間算出部１１６から待ち時間情報を取得する。この待ち処理部１１８は、待ち時間情報に基づいて、待ち時間に相当する値だけ、タイマー１２０から出力される高周波信号をカウントする。そして、待ち処理部１１８は、カウント値が待ち時間に相当する値に達したときに、送信命令をＨＴＴＰ応答部４８に出力する。なお、この送信命令は、待ち時間情報に対応付けられていた読出情報と対応付けられている。ＨＴＴＰ応答部４８は、この送信命令を取得することにより、この送信命令に対応付けられた読出情報によって指定されている変換済実行結果を記憶部４３から読み出す。そして、ＨＴＴＰ応答部４８は、読み出した変換済実行結果を、読出情報によって指定されているＷｅｂクライアント装置１０に送信することになる。このようにして、待ち処理部１１８は、送信命令のＨＴＴＰ応答部４８への出力を待ち時間だけ待機処理した後、送信命令をＨＴＴＰ応答部４８に出力する。これにより、待ち処理部１１８は、ＨＴＴＰ応答部４８に対して、待ち時間だけ、処理要求に対する応答のＷｅｂクライアント装置１０への送信を待機処理させた後、処理要求に対する応答のＷｅｂクライアント装置１０への送信を実行させる。
【００８８】
なお、Ｓ１７０において、経過処理時間と指定応答時間との比較で、指定応答時間≦経過処理時間と判定される場合に、待ち処理部１１８は、待機処理することなく、直ちに送信命令をＨＴＴＰ応答部４８に出力する。これにより、待ち処理部１１８は、ＨＴＴＰ応答部４８に対して、処理要求に対する応答のＷｅｂクライアント装置１０への送信を直ちに実行させる。
【００８９】
Ｓ１７５の後、アプリケーションサーバ４０ａは、ＨＴＴＰ応答部４８により、変換済実行結果を処理要求に対する応答としてＷｅｂクライアント装置１０に送信する（Ｓ１８０）。
【００９０】
このとき、ＨＴＴＰ応答部４８は、待ち処理部１１８から出力された送信命令に応答して、送信命令に対応付けられている読出情報によって指定されている変換済実行結果を記憶部４３から読み出す。そして、ＨＴＴＰ応答部４８は、読み出した変換済実行結果を、処理要求に対する応答として、読出情報によって指定されているＷｅｂクライアント装置１０に送信する。
【００９１】
Ｗｅｂクライアント装置１０は、Ｗｅｂサーバシステム３０ａのアプリケーションサーバ４０ａから送信された処理要求に対する応答（すなわち、変換済実行結果）を受信する（Ｓ１８５）。これに応答して、Ｗｅｂクライアント装置１０は、Ｗｅｂブラウザアプリケーション１２により、受信した処理要求に対する応答を解析して、表示部１７に表示する。これにより、Ｗｅｂクライアント装置１０は、処理要求に対する応答をクライアントに閲覧させる。
【００９２】
以上の通り、この発明に係るＷｅｂサーバシステムによれば、Ｗｅｂクライアント装置からの処理要求が過多になった場合でも、一件当たりの応答時間を均一にすることができる。そのため、このＷｅｂサーバシステムによれば、過剰に処理要求を繰り返すクライアントによって、他のクライアントのサービスの利用を妨げないようにすることができるという効果を得ることができる。
【００９３】
また、このＷｅｂサーバシステムによれば、サービスの提供機会をより多くのクライアントに提供することができるという効果を得ることができる。
【００９４】
この発明は、インターネット上でＷｅｂサーバシステムとして提供されるサービス、例えば、オンラインオークションシステムやオンライン証券システム、オンライン銀行システム、オンライン商取引システム、オンライン決済システム、その他に、適用することができる。
【００９５】
特に、この発明は、一部のクライアントにシステムが占有されないので、フェアーな利用がクライアントに要求される金融系のＷｅｂサーバシステムに有効である。
【００９６】
この発明は、上述の構成に限定されることなく、この発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。
【００９７】
例えば、図１に示す例では、Ｗｅｂサーバシステム３０ａは、アプリケーションサーバ４０ａとデータベースサーバ５０とを有する構成となっているが、これら以外のサーバを有する構成にしてもよい。
【００９８】
また、Ｗｅｂサーバシステム３０ａは、アプリケーションサーバ４０ａとデータベースサーバ５０とを１つのサーバに統合した構成にしてもよい。
【００９９】
また、上述の説明では、変換部４６により変換済実行結果が生成された時刻を処理の完了時刻として説明したが、業務処理部５２により処理の実行結果が生成された時刻を処理の完了時刻としてもよい。ただし、この場合、待ち時間の算出式は、これに合わせて、適宜変更する必要がある。
【図面の簡単な説明】
【０１００】
【図１】この発明に係るＷｅｂサーバシステムのブロック図である。
【図２】この発明に係るＷｅｂサーバシステムの動作フローチャートである。
【図３】従来例のＷｅｂサーバシステムのブロック図である。
【図４】従来例のＷｅｂサーバシステムの動作フローチャートである。
【符号の説明】
【０１０１】
１０    …Ｗｅｂクライアント装置
１１    …ＣＰＵ
１２    …Ｗｅｂブラウザアプリケーションソフトウェア
１３    …記憶部（ＲＡＭ）
１５    …入力部
１７    …表示部
２０    …ネットワーク
３０ａ    …Ｗｅｂサーバシステム
３１ａ    …Ｗｅｂサーバシステム構築用プログラム
４０ａ    …アプリケーションサーバ
４１ａ    …ＣＰＵ
４３    …記憶部（ＲＡＭ）
４４    …ＨＴＴＰ受付部
４５    …入力部
４６    …主制御部（変換部）
４７    …表示部
４８    …ＨＴＴＰ応答部
５０    …データベースサーバ
５１    …ＣＰＵ
５２    …業務処理部
５３    …記憶部（ＲＡＭ）
５４    …データ保存部（データベース）
５５    …入力部
５７    …表示部
１１２    …受信時刻記録部
１１４    …処理完了時刻記録部
１１６    …待ち時間算出部
１１８    …待ち処理部
１２０    …タイマー
【図１】
2007249499.tif 000003
【図２】
2007249499.tif 000004
【図３】
2007249499.tif 000005
【図４】
2007249499.tif 000006