JP4646931B2 - サーバ装置およびリクエスト整理方法 - Google Patents
サーバ装置およびリクエスト整理方法 Download PDFInfo
- Publication number
- JP4646931B2 JP4646931B2 JP2007040974A JP2007040974A JP4646931B2 JP 4646931 B2 JP4646931 B2 JP 4646931B2 JP 2007040974 A JP2007040974 A JP 2007040974A JP 2007040974 A JP2007040974 A JP 2007040974A JP 4646931 B2 JP4646931 B2 JP 4646931B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- requests
- reference number
- session
- buffer
- 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.)
- Active
Links
Images
Description
Transfer Protocol)が用いられる。本明細書では、Webサービスを行うサーバシステム全体をWebサーバ、また、Webサーバ上でHTTPプロトコルを処理する機能をHTTPサーバ、リクエストに応じたコンテンツを生成する機能をWebアプリケーションと呼ぶ。
本発明のサーバ装置およびリクエスト整理方法を適用した本実施例のリクエスト整理システムの最良の実施形態について説明する。図1は本実施例のリクエスト整理システムの全体構成図である。本実施例は、一つ以上のクライアント装置1−1〜1−nと、クライアント装置1−1〜1−nと接続されたサーバ装置であるWebサーバ2とから構成される。図1の例では、クライアント装置1−1〜1−nとWebサーバ2とはインターネット5を介して接続されている。
整理部は、クライアント装置からリクエストを受信すると、リクエスト間の到着順序を比較するための整理番号をリクエストに対して発行する。整理番号は、リクエストを受信するたびに1つずつカウントアップされるカウンタ値でもよい。また、リクエストを受信した時刻(タイムスタンプ)を用いてもよい。
バッファに受信したリクエストを格納する。アプリケーション部がリクエストを処理可能であるならば、バッファからリクエストを取り出し、アプリケーション部に転送する。このとき、バッファ中のリクエストのうち、最も古い整理番号を有するリクエストから優先的に選択する。すなわち、より長く実行を待ち合わせているリクエストから処理する。一方、アプリケーション部が処理可能でないならば、バッファ中で処理を待ち合わせる。
バッファで所定時間以上、待ち合わせているリクエストに関しては、バッファからリクエストを取り出し、送信元のクライアント装置に対してビジーメッセージを通知する。ビジーメッセージとして、サーバが混雑していること、および、このまま待機していれば自動的にサーバと接続されることが通知される。また、待機しているリクエスト数や予想待ち時間を併せて通知してもよい。ビジーメッセージにはさらに、リクエストの整理番号、そしてブラウザにリクエストの再送を促す命令が埋め込まれる。
クライアント装置のブラウザが、ビジーメッセージの内容を表示する。これにより、クライアントは、後どれくらい待てばリクエストが処理開始されるのかを知ることができる。故に、クライアント装置は、いつ接続できるかわからない状態で接続を待ち続けることのストレスから解放される。
ビジーメッセージに埋め込まれたリクエスト再送命令に従って、クライアント装置のブラウザはリクエストをWebサーバに対して自動再送する。これにより、クライアント装置のユーザが手動で再アクセスする手間を削減できる。同時に、クライアント装置のユーザが再アクセスを繰り返すことによるWebサーバの負荷上昇を回避できる。
再送されたリクエストをバッファに格納する。再送されたリクエストには整理番号が既に付与されているため、新たな整理番号を付与しない。また、図2のように、再送されたリクエストに対して再度ビジーメッセージを送信し、ブラウザの画面を更新させてもよい。
整理番号が最も古いリクエストとして、当該クライアント装置のリクエスト(整理番号“10”)を選択し、アプリケーション部に転送する。
リクエストを処理してクライアント装置に対してレスポンスを返送する。
(リクエストレベルの応答時間とクライアント装置のユーザが体感できる応答時間との不一致)
セッション処理を構成する個々のリクエストを処理するたびに処理待ちが発生する。この結果、1つのセッション処理に要するリクエスト数が多いほど、セッション処理を完了するまでの時間が長くなる。
ブラウザの表示方法の制約から、セッション処理の2つ目以降のリクエストに対して返されたビジーメッセージの内容を、クライアント装置のブラウザに表示させることは困難である。
全てのリクエストをアプリケーション部に転送する際に、バッファから最も整理番号が古いリクエストを選び出す処理が必要となる。故に、リクエストを整理しない場合と比較して計算コストが増大する。
リクエストを受信し、バッファ10に格納する。このとき、セッション処理の開始リクエストに対して整理番号を付与する。
バッファ10からリクエストを選択し、アプリケーション部4に転送する。
バッファ10からリクエストを取り出し、ビジーメッセージをクライアント装置に返送する。
アプリケーション部4から受け取ったレスポンスを、そのリクエストの送信元に返送する。
セッション処理の開始リクエストに対応するURLを予め表に登録しておく。そして、受信したリクエストのURLが表中のリクエストのいずれかと一致した場合は、そのリクエストをセッション処理の開始リクエストであるとみなす。
多くのWebアプリケーションでは、セッション処理を開始するときセッションを識別するためのID、すなわちセッションIDを発行してクライアント装置に通知する。そして、クライアント装置は、Webサーバにリクエストを送信する際にセッションIDも併せて送信する。これにより、Webアプリケーションは、クライアント装置から送信されてきたリクエストがいずれのセッションに属するかを知ることができる。
Round Robin/Weighted Fair Queuing)などの優先制御アルゴリズムを用いてもよい。
バッファ10に格納され続けている時間が所定の時間を越えている場合に、ビジーメッセージを送信すべきと判定する。クライアント装置のユーザはWebサーバにアクセスしても暫く反応が無い場合には再アクセスを試みたり、接続を遮断して他のサイトに移動してしまったりする。このような事態を避けるため、クライアント装置のユーザに、サーバ装置が混雑していること、および接続を試みている最中であることを継続的に認識させる必要がある。
バッファ溢れを防ぐため、バッファ10中の開始リクエスト数がその上限を越えている場合には、越えている分の開始リクエストに対してビジーメッセージを通知する。このとき、整理番号が新しい開始リクエストからビジーメッセージを返すようにする。
クライアント装置とWebサーバとの間の接続を維持するため、ビジーメッセージにリクエスト再送命令が埋め込まれる。クライアント装置のブラウザは、サーバ装置の混雑状況を表示後、リクエスト再送命令に従って、Webサーバに対してリクエストを再送する。ブラウザにリクエストを再送させる方法として、300番台のステータスコードを返す方法、metaタグを返す方法、およびJava(登録商標)Scriptを使う方法などが利用できる。
当該リクエストの整理番号をビジーメッセージに埋め込む。そして、クライアント装置がリクエストを再送する際に、当該整理番号もリクエストに付与されるようにする。整理番号をクライアント装置に送り返すための手法として、Cookie、URLの書換えなどが利用できる。
バッファ10中の開始リクエストのうち、当該開始リクエストより古い整理番号を有する開始リクエストの数をクライアント装置に通知する。
ある開始リクエストがアプリケーション部4に送信されてから、次の開始リクエストがアプリケーション部4に送信されるまでの平均間隔(以下、平均リクエスト処理間隔)を計測しておく。そして、予測待ち時間として、
平均リクエスト処理間隔×待機リクエスト数
汎用の情報処理装置にインストールすることにより、その汎用の情報処理装置に、本実施例のWebサーバに相応する機能を実現させるプログラムとしての実施例を例示することができる。
2 Webサーバ
3 整理部
4 アプリケーション部
5 インターネット
6 リクエスト受信部
7 リクエスト送信部
8 ビジーメッセージ送信部
9 レスポンス送信部
10 バッファ
Claims (6)
- クライアント装置から送信されたリクエストを受信して処理しその結果をレスポンスとして前記クライアント装置に返送するサーバ装置において、
クライアント装置から受信したリクエストに整理番号が付与されているか否かを判定する判定手段と、
リクエストが到着した順番を比較するための整理番号を、前記判定手段の結果に基づいて整理番号が付与されていないリクエストに対して付与する手段と、
この整理番号を付与したリクエストを格納できるリクエスト数に上限が設けられているバッファに格納しその処理を待ち合わせる手段と、
バッファに格納されているリクエスト数がその上限値を超えた場合にはより新しい整理番号を持つリクエストをバッファから取り出す手段と、
バッファから取り出されたリクエストの送信元のクライアント装置に対して、当該リクエストを整理番号を付与した状態で再送させる命令を埋め込んだビジーメッセージを返信する手段と、
バッファ中で待ち合わせているリクエストの内、古い整理番号を持つリクエストから優先的に処理する手段と、
を備えることを特徴とするサーバ装置。 - クライアント装置から送信されたリクエストを受信して処理しその結果をレスポンスとして前記クライアント装置に返送し、かつ複数リクエストの処理を全て完了することにより初めて全体として一つの処理が完了するセッション処理を実行するサーバ装置において、
クライアント装置から受信したリクエストが、前記セッション処理の1番目のリクエストであるセッション処理の開始リクエストであるか、2番目以降のリクエストであるセッション処理の開始済みリクエストであるかを、受信したリクエストのURL、または受信したリクエストに付与されたセッションIDの有無に基づき判断する手段と、
セッション処理の開始リクエストに整理番号が付与されているか否かを判定する手段と、
セッション処理の開始リクエストが到着した順番を比較するための整理番号を、リクエスト受信時に整理番号が付与されていなかったセッション処理の開始リクエストに対して付与する手段と、
クライアントから受信したリクエストを格納できるリクエスト数に上限が設けられているバッファに格納しその処理を待ち合わせる手段と、
バッファに格納されているリクエスト数がその上限値を超えた場合により新しい整理番号を持つセッション処理の開始リクエストをバッファから取り出す手段と、
バッファから取り出されたセッション処理の開始リクエストの送信元のクライアント装置に対して、当該セッション処理の開始リクエストを整理番号を付与した状態で再送させる命令を埋め込んだビジーメッセージを返信する手段と、
バッファ中で待ち合わせているリクエストの内、セッション処理の開始済みリクエストをセッション処理の開始リクエストより優先して処理し、さらにセッション処理の開始リクエスト同士の間では、より古い整理番号を有するセッション処理の開始リクエストほど優先的に処理する手段と、
を備えることを特徴とするサーバ装置。 - 所定時間内に処理されなかったリクエストに対するビジーメッセージに、当該リクエストの予測待ち時間を付与する手段と、
整理番号が付与された一つのリクエストが処理されてから整理番号が付与された次のリクエストが処理されるまでの平均間隔である平均リクエスト処理間隔とを計測し、また処理を待ち合わせているリクエストのうち当該リクエストよりも古い整理番号を有するリクエストの数である待機リクエスト数を計測し、前記予測待ち時間を前記平均リクエスト処理間隔と前記待機リクエスト数との乗算により計算する手段と
を備えたことを特徴とする請求項1または2記載のサーバ装置。 - クライアント装置から送信されたリクエストを受信して処理しその結果をレスポンスとして前記クライアント装置に返送するサーバ装置が実行するリクエスト整理方法において、
クライアント装置から受信したリクエストに整理番号が付与されているか否かを判定するステップと、
リクエストが到着した順番を比較するための整理番号を、前記判定手段の結果に基づいて整理番号が付与されていないリクエストに対して付与するステップと、
この整理番号を付与したリクエストを格納できるリクエスト数に上限が設けられたバッファに格納しその処理を待ち合わせるステップと、
バッファに格納されているリクエスト数がその上限値を超えた場合にはより新しい整理番号を持つリクエストをバッファから取り出し、またはバッファ内で待ち合わせている時間がその閾値を超えたリクエストをバッファから取り出すステップと、
バッファから取り出されたリクエストの送信元のクライアント装置に対して、当該リクエストを整理番号を付与した状態で再送させる命令を埋め込んだビジーメッセージを返信するステップと、
バッファ中で待ち合わせているリクエストの内、古い整理番号を持つリクエストから優先的に処理するステップと、
を実行することを特徴とするリクエスト整理方法。 - クライアント装置から送信されたリクエストを受信して処理しその結果をレスポンスとして前記クライアント装置に返送し、かつ複数リクエストの処理を全て完了することにより初めて全体として一つの処理が完了するセッション処理を実行するサーバ装置が実行するリクエスト整理方法において、
クライアント装置から受信したリクエストが、前記セッション処理の1番目のリクエストである開始リクエストであるか、2番目以降のリクエストであるセッション処理の開始済みリクエストであるかを、受信したリクエストのURL、または受信したリクエストに付与されたセッションIDの有無に基づき判断するステップと、
セッション処理の開始リクエストに整理番号が付与されているか否かを判定するステップと、
セッション処理の開始リクエストが到着した順番を比較するための整理番号を、リクエスト受信時に整理番号が付与されていなかったセッション処理の開始リクエストに対して付与するステップと、
クライアントから受信したリクエストを格納できるリクエスト数に上限が設けられているバッファに格納しその処理を待ち合わせるステップと、
バッファに格納されているリクエスト数がその上限値を超えた場合により新しい整理番号を持つセッション処理の開始リクエストをバッファから取り出すステップと、
バッファから取り出されたセッション処理の開始リクエストの送信元のクライアント装置に対して、当該セッション処理の開始リクエストを整理番号を付与した状態で再送させる命令を埋め込んだビジーメッセージを返信するステップと、
バッファ中で待ち合わせているリクエストの内、セッション処理の開始済みリクエストをセッション処理の開始リクエストより優先して処理し、さらにセッション処理の開始リクエスト同士の間では、より古い整理番号を有するセッション処理の開始リクエストほど優先的に処理するステップと、
を実行することを特徴とするリクエスト整理方法。 - 汎用の情報処理装置にインストールすることにより、その汎用の情報処理装置に、請求項1ないし3のいずれか記載のサーバ装置に相応する機能を実現させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007040974A JP4646931B2 (ja) | 2007-02-21 | 2007-02-21 | サーバ装置およびリクエスト整理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007040974A JP4646931B2 (ja) | 2007-02-21 | 2007-02-21 | サーバ装置およびリクエスト整理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008204268A JP2008204268A (ja) | 2008-09-04 |
JP4646931B2 true JP4646931B2 (ja) | 2011-03-09 |
Family
ID=39781696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007040974A Active JP4646931B2 (ja) | 2007-02-21 | 2007-02-21 | サーバ装置およびリクエスト整理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4646931B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5225349B2 (ja) | 2010-09-28 | 2013-07-03 | 株式会社東芝 | 通信装置および通信方法 |
JP2013069006A (ja) * | 2011-09-21 | 2013-04-18 | Kanata Ltd | 情報システム、端末装置、第一サーバ装置、およびプログラム |
JP5933076B1 (ja) * | 2015-05-22 | 2016-06-08 | 株式会社Cygames | 情報処理システム、サーバ及びプログラム、並びに端末及びプログラム |
JP2021135786A (ja) * | 2020-02-27 | 2021-09-13 | 富士通株式会社 | リクエスト処理プログラム、リクエスト処理方法、及び情報処理装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014922A (ja) * | 2000-06-30 | 2002-01-18 | Fujitsu Ltd | ウエブサイトへのアクセス支援方法およびシステム並びに記録媒体 |
JP2002082906A (ja) * | 2000-09-06 | 2002-03-22 | Sony Communication Network Corp | 前処理装置とその装置を利用可能なリクエスト処理装置およびリクエスト処理方法 |
JP2002222123A (ja) * | 2001-01-25 | 2002-08-09 | Ibm Japan Ltd | 接続受付システム、受付サーバ、クライアント端末、接続受付管理方法、記憶媒体、コンピュータプログラム |
JP2006155578A (ja) * | 2004-10-27 | 2006-06-15 | Canon Inc | 情報管理装置、情報管理システム及び情報管理方法 |
JP2006201970A (ja) * | 2005-01-19 | 2006-08-03 | Fujitsu Ltd | 中継制御プログラムおよびその記録媒体、中継制御方法ならびに中継制御装置 |
JP2006259783A (ja) * | 2005-03-15 | 2006-09-28 | Hitachi Information Systems Ltd | ウェブサイト待ち状況管理・表示システム及び待ち状況管理・表示プログラム |
-
2007
- 2007-02-21 JP JP2007040974A patent/JP4646931B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014922A (ja) * | 2000-06-30 | 2002-01-18 | Fujitsu Ltd | ウエブサイトへのアクセス支援方法およびシステム並びに記録媒体 |
JP2002082906A (ja) * | 2000-09-06 | 2002-03-22 | Sony Communication Network Corp | 前処理装置とその装置を利用可能なリクエスト処理装置およびリクエスト処理方法 |
JP2002222123A (ja) * | 2001-01-25 | 2002-08-09 | Ibm Japan Ltd | 接続受付システム、受付サーバ、クライアント端末、接続受付管理方法、記憶媒体、コンピュータプログラム |
JP2006155578A (ja) * | 2004-10-27 | 2006-06-15 | Canon Inc | 情報管理装置、情報管理システム及び情報管理方法 |
JP2006201970A (ja) * | 2005-01-19 | 2006-08-03 | Fujitsu Ltd | 中継制御プログラムおよびその記録媒体、中継制御方法ならびに中継制御装置 |
JP2006259783A (ja) * | 2005-03-15 | 2006-09-28 | Hitachi Information Systems Ltd | ウェブサイト待ち状況管理・表示システム及び待ち状況管理・表示プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2008204268A (ja) | 2008-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11418620B2 (en) | Service request management | |
US10778554B2 (en) | Latency measurement in resource requests | |
US7702917B2 (en) | Data transfer using hyper-text transfer protocol (HTTP) query strings | |
US20160164965A1 (en) | System and method for segregating layer seven control and data traffic | |
US9083583B1 (en) | Latency reduction via adaptive speculative preconnection | |
US8271580B2 (en) | Mobile communication network system and server apparatus | |
WO2007125942A1 (ja) | 負荷制御装置およびその方法 | |
US10171610B2 (en) | Web caching method and system for content distribution network | |
JP2008040718A (ja) | 負荷分散制御装置および方法 | |
US20120246258A1 (en) | Http-based synchronization method and apparatus | |
US20110280247A1 (en) | System and method for reducing latency via multiple network connections | |
JP4646931B2 (ja) | サーバ装置およびリクエスト整理方法 | |
WO2012072045A1 (zh) | 一种cdn网络中的数据传输方法、网络节点及*** | |
JP4394710B2 (ja) | 負荷制御装置及び方法及びプログラム | |
US20110055342A1 (en) | Method and system for retrieving a resource | |
JP2008059040A (ja) | 負荷制御システムおよび方法 | |
US10944631B1 (en) | Network request and file transfer prioritization based on traffic elasticity | |
US11182452B2 (en) | Web acceleration via learning | |
US10567541B2 (en) | Network communication system and method with web push protocol | |
WO2018086575A1 (zh) | 媒体资源的控制方法及装置 | |
JP6403567B2 (ja) | コンテンツ配信ネットワークの通信装置及びプログラム | |
JP5142293B2 (ja) | 通信セッション規制装置 | |
US20070185971A1 (en) | Method and system for accelerating data communication that is using multipart | |
JP4943384B2 (ja) | リクエスト受付システム | |
CN113114606A (zh) | 配送数据采集的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20090527 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090527 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091208 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100330 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100531 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101207 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101207 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131217 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4646931 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |