[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP3735022B2 - Request aggregator - Google Patents

Request aggregator Download PDF

Info

Publication number
JP3735022B2
JP3735022B2 JP2000250725A JP2000250725A JP3735022B2 JP 3735022 B2 JP3735022 B2 JP 3735022B2 JP 2000250725 A JP2000250725 A JP 2000250725A JP 2000250725 A JP2000250725 A JP 2000250725A JP 3735022 B2 JP3735022 B2 JP 3735022B2
Authority
JP
Japan
Prior art keywords
request
client
server
sent
registered
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.)
Expired - Fee Related
Application number
JP2000250725A
Other languages
Japanese (ja)
Other versions
JP2002063085A (en
Inventor
経正 林
敏明 宮崎
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000250725A priority Critical patent/JP3735022B2/en
Publication of JP2002063085A publication Critical patent/JP2002063085A/en
Application granted granted Critical
Publication of JP3735022B2 publication Critical patent/JP3735022B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、サーバにネットワークを介して接続する複数のクライアントからのサーバに対するリクエストを集約するリクエスト集約装置に関する。
【0002】
【従来の技術】
クライアント/サーバシステムは、ネットワークを利用して分散処理を行うコンピュータシステムである。サーバは、ファイル管理,データベース管理,データの提供および加工,通信機能などのサービスを、クライアントの要求に応じて行う。このサーバに、ネットワークを介して接続する複数のクライアントは、サーバに対してサービスを要求し、サーバが行ったデータ処理の結果を受け取り、結果表示などを行う。クライアントとサーバ各々が、処理を分散して行うことで、コンピュータ処理の負荷分散などを図ることができる。
【0003】
【発明が解決しようとする課題】
従来、クライアントからの要求(リクエスト)数が増えると、サーバでの処理数はリクエスト増加分だけ増加するため、サーバでの処理負荷が大きくなり、サーバでの処理速度が低下する。また、リクエスト数が増加しすぎると、場合によっては、サーバが機能しなくなるという問題があった。また、クライアントからのリクエスト数が増えると、サーバへのネットワークのトラヒック量を増加させてしまう問題があった。
【0004】
本発明は、以上のような問題点を解消するためになされたものであり、ネットワークにおけるトラヒック量を低く抑え、サーバの負荷を減らし、クライアントへの応答をより高速にすることを目的とする。
【0005】
【課題を解決するための手段】
本発明のリクエスト集約装置は、ネットワークを介してサーバに接続しているクライアントからサーバに送出されるリクエストが、リクエスト集約装置に到着した順に登録されるキューと、このキューに登録されているリクエストを送出したクライアントの情報が登録されるクライアント情報メモリと、キューに登録されているリクエストのサーバに対する送出状態が登録される送出情報メモリと、クライアントからリクエストが送出されると、このリクエストにリクエスト応答番号を付けると共にキューに格納し、リクエストを送出したクライアントの情報をクライアント情報メモリに登録し、キューに格納されているリクエストの順序をリクエストに対するサーバの応答に要する時間の短いものが先頭となるように並び替え、キューに登録されたリクエストを登録された順にサーバに送出するリクエスト制御回路とを備え、リクエスト制御回路は、特定クライアントからサーバに送出された新規リクエストと同一の先発リクエストがキューにすでに登録されている場合、新規リクエストはキューに登録せず、新規リクエストを送出した特定クライアントの情報を、先発リクエストを送出したクライアントとしてクライアント情報メモリに登録し、サーバから送出された応答を識別するサーバ応答番号と同一のリクエスト応答番号のリクエストを送出したクライアントの情報をクライアント情報メモリより取得し、この取得したクライアントの情報にある全てのクライアントに対して応答を送出するものである。
この発明によれば、複数のクライアントから送出された同一のリクエストは、1つのリクエストとされてサーバに送出される。
【0006】
上記発明において、リクエスト制御回路、キューに格納されているリクエストの順序を、リクエストに対するサーバの応答に要する時間の短いもの順に並び替えるので、リクエストに対するサーバの応答に要する時間は、予め設定されていればよい
また、上記発明において、サーバからの応答をこの応答を要求するリクエスト情報と共に一時記憶するキャッシュ装置を新たに備え、リクエスト制御回路は、クライアントからサーバに送出されたリクエストが、キャッシュ装置に記憶されているリクエストと同一の場合、キャッシュ装置にリクエストと共に記憶されている応答をクライアントに送出するようにしてもよい。この場合、キャッシュ装置は、所定時間がたつと記憶内容を消去するようにしてもよい。
【0007】
【発明の実施の形態】
以下、本発明の実施の形態について図を参照して説明する。
<実施の形態1>
図1は、本発明の第1の実施の形態におけるリクエスト集約装置100の構成を示す構成図である。リクエスト集約装置100は、まず、クライアントA201など各クライアントからのリクエストが、リクエスト集約装置100に到着した順に登録されるキュー101を備えている。また、リクエスト集約装置100は、リクエストがリクエスト集約装置100から送出されたかどうかの情報が登録される送出情報メモリm1と、同一のリクエストを送出した全てのクライアントの情報が登録されるクライアント情報メモリm2とを備えている。
【0008】
また、リクエスト集約装置100は、キュー101、送出情報メモリm1、クライアント情報メモリm2の情報入出力制御と各種データ管理を行うリクエスト制御回路102を備えている。
なお、各クライアントからのリクエストの受け取りと、各クライアントへの応答の出力は、クライアント側入出力部103を介して行う。同様に、図示していないサーバへのリクエストの送出と、サーバからの応答の入力は、サーバ側入出力部104を介して行う。
【0009】
キュー101には、各クライアントからのリクエストと、リクエストに対するサーバからの応答を一意に判定するための応答番号と、リクエストに関する詳細情報が登録される送出情報メモリm1内の格納アドレスとが登録される。応答番号は、通信プロトコルとしてTCP/IP(Transmission Control Protocol/Internet Protocol)を採用する場合、例えば、送信元IPアドレスとTCP(UDP)ポート番号の組み合わせになる。キュー101に登録される各リクエストに対して固有の組み合わせは、リクエスト制御回路102により決定される。
【0010】
送出情報メモリm1には、キュー101に登録されたリクエストの登録時間(時刻)と、リクエストがサーバに送出されたかどうかを識別する送出識別子と、リクエストを送出したクライアントA201の情報が登録されるクライアント情報メモリm2内の格納アドレスとが登録される。
クライアント情報メモリm2には、リクエストを送出したクライアントA201の情報と、このクライアント情報に続くクライアントの情報が登録されるクライアント情報メモリm2における格納アドレスとが登録される。
【0011】
登録されるクライアントの情報は、通信プロトコルとして、TCP/IPを採用する場合、例えば、IPヘッダ情報と、TCPヘッダ情報と、TCPの上位層のプロトコルの任意の情報となる。TCPの上位層のプロトコルの任意の情報は、TCPの上位層のプロトコルにHTTP(Hypertext Transfer Protocol)を使っている場合、「GET」などの命令とファイル名などになる。リクエストが、複数のクライアントからのリクエストを集約した代表リクエストである場合、クライアント情報に続くクライアントの情報には、2つ目以降のクライアントの情報が登録される。
【0012】
また、リクエスト制御回路102は、キュー101に登録されているリクエストの中から、最も登録時間の早いリクエスト、すなわちリクエスト集約装置100に最も早く到着したリクエストをサーバに送出し、送出識別子を「Yes」にする。送出識別子を「Yes」にすることで、リクエストをサーバに送出したことが示される。
【0013】
以下、リクエスト集約装置100の動作に関して説明する。
はじめに、クライアントA201からのリクエストAが、リクエスト集約装置100に到着すると、リクエスト制御回路102は、以下に示すような手順で、キュー101,送出情報メモリm1,クライアント情報メモリm2にリクエストを含む情報を登録する。
【0014】
リクエスト制御回路102は、まず、キュー101にすでにリクエストAが登録されているかどうかを判定する。ここでは、リクエスト集約装置100には、まだリクエストがきていないので、リクエストAはキュー101になく、リクエスト制御回路102は、リクエストAはないものと判断する。この判断の結果、リクエスト制御回路102は、まず、リクエストAと応答番号3033と送出情報メモリm1のアドレスm1−0とを、キュー101に登録する。
【0015】
次いで、リクエスト制御回路102は、登録時間8:30と送出識別子Noとクライアント情報メモリm2のアドレスm2−100とを、送出情報メモリm1のアドレスm1−0が示す格納領域に登録する。
次いで、リクエスト制御回路102は、クライアントA201の情報を、クライアント情報メモリm2のアドレスm2−100が示す格納領域に登録する。
以上のことにより、図2に示すように、各情報が登録される。
【0016】
つぎに、図3に示すように、他のクライアントB202,クライアントC203からリクエストAが、リクエスト集約装置100に到着すると、リクエスト制御回路102は、キュー101内にすでにリクエストAの情報があるかどうかを判定する。ここでは、すでにキュー101内にリクエストAが登録されているので、リクエスト制御回路102は、リクエストAの情報があるものと判断する。このように、同一のリクエストがすでに存在していた場合、リクエスト制御回路102は、クライアントB202,クライアントC203からのリクエストAをキュー101に登録せずに、クライアントA201の情報に続く情報として、クライアントB202,クライアントC203の情報をクライアント情報メモリm2に登録する。この結果、図3に示すように、新たなリクエストに関する各情報が追加される。
【0017】
図1〜3には示していないサーバからの、リクエストA(応答番号3033)に対する応答が、リクエスト集約装置100に到着すると、リクエスト制御回路102は、まず、キュー101内より同一応答番号(3033)の情報を取り出す。次いで、リクエスト制御回路102は、応答番号3033より、送出情報m1のアドレスm1−0を引き出し、このアドレスが示す送出情報メモリm1内の格納領域に登録されているクライアント情報メモリm2のアドレスm2−100を取得する。
【0018】
このことにより、リクエスト制御回路102は、クライアント情報メモリm2内のm2−100が示すクライアント情報であるクライアントA201の情報と、クライアントA201に続くクライアントB202の情報と、クライアントB202に続くクライアントC203の情報とを引き出し、引き出した情報による各クライアントにサーバからの応答を複製し、各クライアントに送出する。サーバからの応答を送出した後、リクエスト制御回路102は、リクエストAに関するキュー101内と、送出情報メモリm1内と、クライアント情報メモリm2内の情報を削除する。
【0019】
図4は、本実施の形態1におけるリクエスト集約装置100を用いたクライアント−サーバ・ネットワークの構成例を示す構成図である。
ネットワークに接続しているクライアントA201,クライアントB202〜クライアントn204から、WebサーバやFTPサーバなどのサーバ301に対して送出されるリクエストは、リクエスト集約装置100が受け取り、サーバ301に対する同じリクエストを1つの代表リクエストとして送出する。このことにより、サーバ301へのリクエスト数を減少でき、サーバ301へのトラヒック量を減らすことができる。
【0020】
図5は、リクエスト集約装置100を、ネットワーク1とネットワーク2のゲートウェイに実装した場合の構成例を示す構成図である。このような構成においても、リクエスト集約装置100が、同一のリクエストはまとめて代表リクエストとしてサーバ301に送出するので、ネットワーク1からネットワーク2へのトラヒック量を減らすことができる。
なお、サーバからの応答を所定のクライアントに送出すると、キュー101内と、送出情報メモリm1内と、クライアント情報メモリm2内の情報は、削除される。したがって、この後で他のクライアントからリクエストAが送出された場合は、キュー101,送出情報メモリm1,クライアント情報メモリm2へ、再度必要な情報を登録し、再度リクエストAをサーバに送出することになる。
【0021】
なお、キュー101に、連想メモリ(CAM:Contents Addressable Memory)を用いるようにしてもよい。連想メモリは、記憶の位置を番地(アドレス)で示すではなく、記憶内容を探索情報として与え、内容が一致する記憶位置をアドレスに変換することが可能なメモリであり、データの一部を探索情報として与えると、これに関連した情報を連想的に取り出す。したがって、例えばリクエストAがすでに記憶されていれば、リクエストAを与えるとすでに登録されているリクエストAが取り出されるので、このことによりリクエスト制御回路102は、リクエストAがすでに登録されているかどうかを判定できる。
【0022】
<実施の形態2>
つぎに、本発明の第2の実施の形態について説明する。
本実施の形態では、リクエスト制御回路102が、リクエストに対するサーバからの応答時間に応じて、キュー101に登録されているリクエストの状態を変更するようにしたものである。図6は、リクエスト集約装置100のキュー101に登録されているリクエストの状態を示す説明図である。図6に示すように、キュー101には、各リクエストが登録時間順に並べられている。なお、以降では、まず、クライアントからのリクエストA,B,Cは、各々ファイルA’、B’、C’をサーバに要求しているものとする。また、リクエストに対するサーバの応答時間は、前もって計算可能なもの、または、測定できるものとする。
【0023】
また、本実施の形態では、A’、B’のファイルをサーバからダウンロードするのに2秒かかり、C’のファイルをダウンロードするのに10分かかることが事前に判明しているものとする。この場合、A,Bのリクエストに対して、Cのリクエストに対するサーバからの応答時間が極めて長い。
このような場合、リクエスト制御回路102は、送出情報メモリm1に登録されている1番目のC(リクエスト)の登録時間をリクエスト順位3番目にし、リクエストA,Bの登録時間を繰り上げる。
【0024】
このリクエスト順位の変更により、リクエストA,Bをリクエストしたクライアントへの平均応答時間が早くなる。また、本実施の形態の場合、リクエストCを送出したクライアントへの応答は、4秒長くなり、10分4秒になるが、サーバからの応答時間10分の期待値に対する実際の遅延が、大きく変わることがないので問題にならない。このように、本実施の形態によれば、リクエストに対するサーバからの応答時間を平準化できるようになる。
【0025】
<実施の形態3>
つぎに、本発明の第3の実施の形態について説明する。図7は、実施の形態3におけるリクエスト集約装置100の構成を示す構成図である。図7に示すように、本実施の形態のリクエスト集約装置100は、キャッシュ装置105を備えるようにしたものである。キャッシュ装置105は、リクエスト集約装置100内に内蔵してもよく、外部の周辺装置として接続して用いるようにしてもよい。キャッシュ装置105は、クライアントからのリクエストと、サーバからの応答が登録される。図7の場合、リクエストAに対する応答はA’であり、リクエストBに対する応答はB’である。
【0026】
つぎに後続して到着するクライアントからのリクエストは、まず、キャッシュ装置105内にすでにあるリクエストと同じかどうかが、リクエスト制御回路102により判定される。この判定で、同じリクエストであるとされた場合、リクエスト制御回路102は、後続して到着したリクエストをサーバに送出せずに、後続して到着したリクエストを送出したクライアントに、キャッシュ装置105に登録してある応答を送出する。
【0027】
図7の場合、後続して到着するリクエストがAである場合は、キャッシュ装置105内の応答A’をリクエストを送出したクライアントに送出する。また、後続して到着するリクエストがBである場合は、キャッシュ装置105内の応答B’を送出する。
なお、キャッシュ装置105は、所定時間がたつと記憶内容を消去するようにしてもよい。また、キャッシュ装置105の記憶の消去を、外部から制御できるようにしてもよい。
【0028】
以上説明したように、本実施の形態のリクエスト集約装置100によれば、すでに発生したリクエストとこの応答の組をキャッシュしておき、同一のリクエストが発生した場合、キャッシュしてある応答を送出するようにしたので、クライアントからサーバへのリクエスト数を減少でき、トラヒックを減らし、クライアントに対する応答をより高速にできる。
【0029】
<実施の形態4>
つぎに、本発明の第4の実施の形態について説明する。
図8は、実施の形態4におけるリクエスト集約装置100の構成を示す構成図である。以降では、図8に示すように、クライアントA201,B202,C203からの共通のリクエストAに対し、3033の応答番号を持つリクエストAがキュー101に登録され、すでにリクエストAがサーバに送出された場合について述べる。
【0030】
リクエストAがサーバに送出された後、新たに、図示していない他のクライアントDからの任意のリクエストAが、リクエスト集約装置100に到着すると、図8の場合、リクエスト制御回路102は、キュー101に、同一のリクエストA(代表リクエストA)が存在するものと判断する。キュー101にすでに登録されていると判断されたリクエストAに関するリクエスト情報メモリm1内の送出識別子がYesである場合、リクエスト制御回路102は、代表リクエストAに関するクライアント情報としてクライアントDに関する情報をクライアント情報メモリm2に登録する。
【0031】
この結果、図9に示すように、クライアント情報メモリm2内のクライアントCの情報に続くクライアントの情報アドレスに、クライアントDの情報が登録され、アドレス(m2−103)が登録されることになる。また、この場合、キュー101,送出情報メモリm1,クライアント情報メモリm2の各情報が、まだ消去されていないので、サーバからの応答をクライアントに送出する前段階である。
したがって、サーバから代表リクエストAに対する応答が送出されれば、クライアントDに対しても、この応答を複製して送出することにるので、サーバへのリクエスト送出数を減少でき、トラヒック量を減らすことができる。
【0032】
【発明の効果】
以上説明したように、本発明によれば、複数のクライアントから送出された同一のリクエストは、1つのリクエストとされてサーバに送出されるので、ネットワークにおけるトラヒック量が低く抑えられ、サーバの負荷が減り、クライアントへの応答がより高速になるという優れた効果が得られる。
【図面の簡単な説明】
【図1】 本発明の実施の形態におけるリクエスト集約装置の構成を示す構成図である。
【図2】 本発明の実施の形態におけるリクエスト集約装置の状態を示す構成図である。
【図3】 本発明の実施の形態におけるリクエスト集約装置の他の状態を示す構成図である。
【図4】 実施の形態のリクエスト集約装置を用いたネットワークの構成を示す構成である。
【図5】 実施の形態のリクエスト集約装置を用いたネットワークの構成を示す構成である。
【図6】 本発明の他の形態におけるリクエスト集約装置におけるキューの状態を示す構成図である。
【図7】 本発明の他の形態におけるリクエスト集約装置の構成を示す構成図である。
【図8】 本発明の他の形態におけるリクエスト集約装置の構成を示す構成図である。
【図9】 本発明の他の形態におけるリクエスト集約装置の構成を示す構成図である。
【符号の説明】
100…リクエスト集約装置、101…キュー、102…リクエスト制御回路、103…クライアント側入出力部、104…サーバ側入出力部、201…クライアントA、m1…送出情報メモリ、m2…クライアント情報メモリ。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a request aggregation device that aggregates requests from a plurality of clients connected to a server via a network.
[0002]
[Prior art]
The client / server system is a computer system that performs distributed processing using a network. The server performs services such as file management, database management, data provision and processing, and communication functions in response to client requests. A plurality of clients connected to the server via a network requests a service from the server, receives a result of data processing performed by the server, and displays a result. Since each of the client and the server performs processing in a distributed manner, load distribution of computer processing can be achieved.
[0003]
[Problems to be solved by the invention]
Conventionally, when the number of requests (requests) from a client increases, the number of processes at the server increases by the amount of increase in requests, so the processing load on the server increases and the processing speed at the server decreases. In addition, if the number of requests increases too much, there is a problem that the server does not function in some cases. Further, when the number of requests from clients increases, there is a problem that the amount of network traffic to the server increases.
[0004]
The present invention has been made to solve the above problems, and has as its object to suppress the traffic volume in the network, reduce the load on the server, and make the response to the client faster.
[0005]
[Means for Solving the Problems]
The request aggregation device of the present invention includes a queue in which requests sent from a client connected to a server via a network to the server are registered in the order in which the requests arrive at the request aggregation device, and requests registered in the queue. The client information memory in which the information of the sent client is registered, the sending information memory in which the sending status of the request registered in the queue is registered to the server, and when a request is sent from the client, a request response number is given to this request And store it in the queue, register the information of the client that sent the request in the client information memory, and order the order of the requests stored in the queue so that the server that takes a short time to respond to the request starts Sort, in the queue registration A request control circuit that sends the received requests to the server in the order of registration, and the request control circuit includes a new request that is the same as the new request sent from the specific client to the server. The request is not registered in the queue, but the information of the specific client that sent the new request is registered in the client information memory as the client that sent the advance request, and the request response is the same as the server response number that identifies the response sent from the server. Information on the client that sent the number request is acquired from the client information memory, and responses are sent to all clients in the acquired client information.
According to the present invention, the same request sent from a plurality of clients is sent as one request to the server.
[0006]
In the above invention, the request control circuit, the order of the requests stored in the queue, so rearranged in short order of the time required for the server's response to the request, the time required for a server response to the request, is set in advance Just do it .
Further, in the above invention, a cache device that temporarily stores a response from the server together with request information requesting the response is newly provided, and the request control circuit stores the request sent from the client to the server in the cache device. If the request is the same as the request, the response stored together with the request in the cache device may be sent to the client. In this case, the cache device may erase the stored content after a predetermined time.
[0007]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<Embodiment 1>
FIG. 1 is a configuration diagram showing the configuration of the request aggregation device 100 according to the first embodiment of the present invention. The request aggregating apparatus 100 includes a queue 101 in which requests from clients such as the client A 201 are registered in the order in which the requests arrive at the request aggregating apparatus 100. The request aggregating apparatus 100 also includes a transmission information memory m1 in which information indicating whether a request has been transmitted from the request aggregating apparatus 100 is registered, and a client information memory m2 in which information of all clients that have transmitted the same request is registered. And.
[0008]
The request aggregation device 100 also includes a request control circuit 102 that performs information input / output control and various data management of the queue 101, the transmission information memory m1, and the client information memory m2.
The reception of a request from each client and the output of a response to each client are performed via the client side input / output unit 103. Similarly, sending a request to a server (not shown) and inputting a response from the server are performed via the server-side input / output unit 104.
[0009]
Registered in the queue 101 are a request from each client, a response number for uniquely determining a response from the server to the request, and a storage address in the transmission information memory m1 in which detailed information regarding the request is registered. . When the TCP / IP (Transmission Control Protocol / Internet Protocol) is adopted as a communication protocol, the response number is, for example, a combination of a transmission source IP address and a TCP (UDP) port number. A unique combination for each request registered in the queue 101 is determined by the request control circuit 102.
[0010]
In the transmission information memory m1, a registration time (time) of a request registered in the queue 101, a transmission identifier for identifying whether the request has been transmitted to the server, and a client in which information of the client A 201 that transmitted the request is registered. The storage address in the information memory m2 is registered.
In the client information memory m2, information on the client A 201 that sent the request and a storage address in the client information memory m2 in which the client information following the client information is registered are registered.
[0011]
When the TCP / IP is adopted as the communication protocol, the registered client information is, for example, IP header information, TCP header information, and arbitrary information of a TCP upper layer protocol. Arbitrary information of the upper layer protocol of TCP is a command such as “GET” and a file name when HTTP (Hypertext Transfer Protocol) is used for the upper layer protocol of TCP. When the request is a representative request in which requests from a plurality of clients are aggregated, information on the second and subsequent clients is registered in the client information following the client information.
[0012]
Further, the request control circuit 102 sends the request with the earliest registration time among the requests registered in the queue 101, that is, the request arriving at the request aggregation device 100 earliest to the server, and sets the sending identifier to “Yes”. To. Setting the transmission identifier to “Yes” indicates that the request has been transmitted to the server.
[0013]
Hereinafter, the operation of the request aggregation device 100 will be described.
First, when the request A from the client A 201 arrives at the request aggregating apparatus 100, the request control circuit 102 stores information including the request in the queue 101, the transmission information memory m1, and the client information memory m2 in the following procedure. sign up.
[0014]
The request control circuit 102 first determines whether or not the request A is already registered in the queue 101. Here, since the request is not yet received in the request aggregating apparatus 100, the request A is not in the queue 101, and the request control circuit 102 determines that there is no request A. As a result of this determination, the request control circuit 102 first registers the request A, the response number 3033, and the address m1-0 of the transmission information memory m1 in the queue 101.
[0015]
Next, the request control circuit 102 registers the registration time 8:30, the transmission identifier No, and the address m2-100 of the client information memory m2 in the storage area indicated by the address m1-0 of the transmission information memory m1.
Next, the request control circuit 102 registers the information of the client A201 in the storage area indicated by the address m2-100 of the client information memory m2.
As described above, each information is registered as shown in FIG.
[0016]
Next, as shown in FIG. 3, when the request A arrives at the request aggregating apparatus 100 from the other clients B202 and C203, the request control circuit 102 determines whether or not the information of the request A already exists in the queue 101. judge. Here, since the request A is already registered in the queue 101, the request control circuit 102 determines that there is information on the request A. As described above, when the same request already exists, the request control circuit 102 does not register the request A from the client B 202 and the client C 203 in the queue 101 and uses the client B 202 as information following the information of the client A 201. , The information of the client C203 is registered in the client information memory m2. As a result, as shown in FIG. 3, each piece of information regarding the new request is added.
[0017]
When a response to the request A (response number 3033) from a server not shown in FIGS. 1 to 3 arrives at the request aggregating apparatus 100, the request control circuit 102 first sends the same response number (3033) from the queue 101. Extract information. Next, the request control circuit 102 extracts the address m1-0 of the transmission information m1 from the response number 3033, and the address m2-100 of the client information memory m2 registered in the storage area in the transmission information memory m1 indicated by this address. To get.
[0018]
As a result, the request control circuit 102 receives the client A201 information that is client information indicated by m2-100 in the client information memory m2, the information of the client B202 following the client A201, and the information of the client C203 following the client B202. The response from the server is copied to each client based on the extracted information, and sent to each client. After sending the response from the server, the request control circuit 102 deletes the information in the queue 101 relating to the request A, the sending information memory m1, and the client information memory m2.
[0019]
FIG. 4 is a configuration diagram illustrating a configuration example of a client-server network using the request aggregation device 100 according to the first embodiment.
Requests sent from the client A 201 and the clients B 202 to n 204 connected to the network to the server 301 such as a Web server or an FTP server are received by the request aggregating apparatus 100, and the same request for the server 301 is received as one representative. Send out as a request. As a result, the number of requests to the server 301 can be reduced, and the amount of traffic to the server 301 can be reduced.
[0020]
FIG. 5 is a configuration diagram illustrating a configuration example when the request aggregation device 100 is mounted on the gateways of the network 1 and the network 2. Even in such a configuration, the request aggregating apparatus 100 collectively sends the same request to the server 301 as a representative request, so that the amount of traffic from the network 1 to the network 2 can be reduced.
When a response from the server is sent to a predetermined client, the information in the queue 101, the send information memory m1, and the client information memory m2 are deleted. Therefore, when a request A is sent from another client thereafter, necessary information is again registered in the queue 101, the sending information memory m1, and the client information memory m2, and the request A is sent again to the server. Become.
[0021]
Note that a content addressable memory (CAM) may be used for the queue 101. The associative memory is a memory that does not indicate the location of the memory as an address (address) but can give the memory content as search information and convert the memory location where the content matches to the address, and searches for a part of the data When given as information, information related to this is taken out associatively. Therefore, for example, if the request A has already been stored, the request A that has already been registered is taken out when the request A is given. Thus, the request control circuit 102 determines whether or not the request A has already been registered. it can.
[0022]
<Embodiment 2>
Next, a second embodiment of the present invention will be described.
In the present embodiment, the request control circuit 102 changes the status of the request registered in the queue 101 in accordance with the response time from the server to the request. FIG. 6 is an explanatory diagram showing the status of requests registered in the queue 101 of the request aggregation device 100. As shown in FIG. 6, in the queue 101, the requests are arranged in the order of registration time. In the following, it is assumed that the requests A, B, and C from the client respectively request the files A ′, B ′, and C ′ from the server. In addition, it is assumed that the response time of the server to the request can be calculated in advance or can be measured.
[0023]
In the present embodiment, it is assumed that it takes 2 seconds to download the files A ′ and B ′ from the server, and it takes 10 minutes to download the file C ′. In this case, the response time from the server to the C request is extremely long for the A and B requests.
In such a case, the request control circuit 102 sets the registration time of the first C (request) registered in the transmission information memory m1 to the third request rank, and advances the registration time of the requests A and B.
[0024]
By changing the request order, the average response time to the clients that have requested the requests A and B is shortened. In the case of the present embodiment, the response to the client that sent the request C is 4 seconds longer and 10 minutes and 4 seconds, but the actual delay with respect to the expected value of 10 minutes from the server is large. It doesn't matter because it doesn't change. As described above, according to the present embodiment, the response time from the server to requests can be leveled.
[0025]
<Embodiment 3>
Next, a third embodiment of the present invention will be described. FIG. 7 is a configuration diagram illustrating a configuration of the request aggregation device 100 according to the third embodiment. As shown in FIG. 7, the request aggregation device 100 according to the present embodiment includes a cache device 105. The cache device 105 may be built in the request aggregation device 100 or may be connected and used as an external peripheral device. The cache device 105 registers a request from the client and a response from the server. In the case of FIG. 7, the response to the request A is A ′, and the response to the request B is B ′.
[0026]
Next, the request control circuit 102 determines whether the request from the client that subsequently arrives is the same as the request already in the cache device 105. If it is determined that the requests are the same, the request control circuit 102 registers in the cache device 105 with the client that sent the subsequent arrival request without sending the subsequent arrival request to the server. Send a response.
[0027]
In the case of FIG. 7, if the request that arrives subsequently is A, a response A ′ in the cache device 105 is sent to the client that sent the request. If the request that arrives subsequently is B, a response B ′ in the cache device 105 is sent out.
Note that the cache device 105 may erase the stored content after a predetermined time. Further, the erasure of the cache device 105 may be controlled from the outside.
[0028]
As described above, according to the request aggregating apparatus 100 of the present embodiment, a combination of a request that has already occurred and this response is cached, and when the same request occurs, the cached response is sent out. As a result, the number of requests from the client to the server can be reduced, the traffic can be reduced, and the response to the client can be made faster.
[0029]
<Embodiment 4>
Next, a fourth embodiment of the present invention will be described.
FIG. 8 is a configuration diagram illustrating a configuration of the request aggregation device 100 according to the fourth embodiment. Thereafter, as shown in FIG. 8, when a request A having a response number of 3033 is registered in the queue 101 for the common request A from the clients A 201, B 202, and C 203, and the request A has already been sent to the server. Is described.
[0030]
When an arbitrary request A from another client D (not shown) arrives at the request aggregating apparatus 100 after the request A is sent to the server, in the case of FIG. It is determined that the same request A (representative request A) exists. When the transmission identifier in the request information memory m1 related to the request A that has been determined to be already registered in the queue 101 is Yes, the request control circuit 102 uses the information related to the client D as the client information related to the representative request A in the client information memory. Register at m2.
[0031]
As a result, as shown in FIG. 9, the information of the client D is registered in the information address of the client following the information of the client C in the client information memory m2, and the address (m2-103) is registered. In this case, since the information in the queue 101, the transmission information memory m1, and the client information memory m2 has not yet been deleted, this is a stage before sending a response from the server to the client.
Therefore, if a response to the representative request A is sent from the server, this response is also duplicated and sent to the client D, so that the number of requests sent to the server can be reduced and the traffic volume can be reduced. Can do.
[0032]
【The invention's effect】
As described above, according to the present invention, since the same request sent from a plurality of clients is sent to the server as one request, the amount of traffic in the network is kept low, and the load on the server is reduced. It is possible to obtain an excellent effect that the response to the client is reduced and the response is made faster.
[Brief description of the drawings]
FIG. 1 is a configuration diagram illustrating a configuration of a request aggregation device according to an embodiment of the present invention.
FIG. 2 is a configuration diagram showing a state of a request aggregating apparatus according to an embodiment of the present invention.
FIG. 3 is a configuration diagram illustrating another state of the request aggregation device according to the embodiment of the present invention.
FIG. 4 is a configuration showing a network configuration using the request aggregation device of the embodiment.
FIG. 5 is a configuration showing a network configuration using the request aggregation device of the embodiment.
FIG. 6 is a configuration diagram illustrating a queue state in a request aggregation device according to another embodiment of the present invention.
FIG. 7 is a configuration diagram showing a configuration of a request aggregation device according to another embodiment of the present invention.
FIG. 8 is a configuration diagram showing a configuration of a request aggregation device according to another embodiment of the present invention.
FIG. 9 is a configuration diagram showing a configuration of a request aggregation device according to another embodiment of the present invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 100 ... Request aggregation apparatus, 101 ... Queue, 102 ... Request control circuit, 103 ... Client side input / output part, 104 ... Server side input / output part, 201 ... Client A, m1 ... Transmission information memory, m2 ... Client information memory.

Claims (4)

ネットワークを介して接続された複数のクライアントとサーバとの間に配置され、前記クライアントから前記サーバに対して送出されたリクエストを一度集約するリクエスト集約装置であって、
クライアントからサーバに送出されるリクエストが、前記リクエスト集約装置に到着した順に登録されるキューと、
このキューに登録されているリクエストを送出したクライアントの情報が登録されるクライアント情報メモリと、
前記キューに登録されているリクエストの前記サーバに対する送出状態が登録される送出情報メモリと、
前記クライアントからリクエストが送出されると、このリクエストにリクエスト応答番号を付けると共に前記キューに格納し、前記リクエストを送出したクライアントの情報を前記クライアント情報メモリに登録し、前記キューに格納されているリクエストの順序をリクエストに対するサーバの応答に要する時間の短いものが先頭となるように並び替え、前記キューに登録されたリクエストを登録された順に前記サーバに送出するリクエスト制御回路と
を備え、
前記リクエスト制御回路は、
特定クライアントから前記サーバに送出された新規リクエストと同一の先発リクエストが前記キューにすでに登録されている場合、前記新規リクエストは前記キューに登録せず、前記新規リクエストを送出した特定クライアントの情報を、前記先発リクエストを送出したクライアントとして前記クライアント情報メモリに登録し、
前記サーバから送出された応答を識別するサーバ応答番号と同一のリクエスト応答番号のリクエストを送出したクライアントの情報を前記クライアント情報メモリより取得し、この取得したクライアントの情報にある全てのクライアントに対して前記応答を送出する
ことを特徴とするリクエスト集約装置。
A request aggregating apparatus that is arranged between a plurality of clients and servers connected via a network and aggregates requests sent from the clients to the server,
A queue in which requests sent from the client to the server are registered in the order in which they arrived at the request aggregation device;
A client information memory in which information of a client that has sent a request registered in this queue is registered;
A transmission information memory in which a transmission state of the request registered in the queue to the server is registered;
When a request is sent from the client, a request response number is attached to the request and the request is stored in the queue, information on the client that sent the request is registered in the client information memory, and the request stored in the queue A request control circuit that rearranges the order of the requests so that the server takes a short time to respond to the request to the top, and sends the requests registered in the queue to the server in the order of registration,
The request control circuit includes:
If the same advance request as the new request sent from the specific client to the server is already registered in the queue, the new request is not registered in the queue, and the information of the specific client that sent the new request is Register in the client information memory as the client that sent the advance request,
Information of the client that sent the request with the same request response number as the server response number that identifies the response sent from the server is acquired from the client information memory, and all the clients in the acquired client information are obtained. A request aggregating apparatus that sends the response.
請求項1記載のリクエスト集約装置において、
前記リクエストに対するサーバの応答に要する時間は、予め設定されていることを特徴とするリクエスト集約装置。
The request aggregation device according to claim 1,
The time required for the server to respond to the request is preset, and the request aggregating apparatus is characterized in that:
請求項1又は2記載のリクエスト集約装置において、
前記サーバからの応答をこの応答を要求するリクエスト情報と共に一時記憶するキャッシュ装置を備え、
前記リクエスト制御回路は、クライアントから前記サーバに送出されたリクエストが、前記キャッシュ装置に記憶されているリクエストと同一の場合、前記キャッシュ装置に前記リクエストと共に記憶されている応答を前記クライアントに送出する
ことを特徴とするリクエスト集約装置。
The request aggregation device according to claim 1 or 2 ,
A cache device for temporarily storing a response from the server together with request information for requesting the response;
When the request sent from the client to the server is the same as the request stored in the cache device, the request control circuit sends a response stored together with the request in the cache device to the client. A request aggregating apparatus.
請求項記載のリクエスト集約装置において、前記キャッシュ装置は、所定時間がたつと記憶内容を消去することを特徴とするリクエスト集約装置。 4. The request aggregating apparatus according to claim 3 , wherein the cache device erases stored contents after a predetermined time .
JP2000250725A 2000-08-22 2000-08-22 Request aggregator Expired - Fee Related JP3735022B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000250725A JP3735022B2 (en) 2000-08-22 2000-08-22 Request aggregator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000250725A JP3735022B2 (en) 2000-08-22 2000-08-22 Request aggregator

Publications (2)

Publication Number Publication Date
JP2002063085A JP2002063085A (en) 2002-02-28
JP3735022B2 true JP3735022B2 (en) 2006-01-11

Family

ID=18740249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000250725A Expired - Fee Related JP3735022B2 (en) 2000-08-22 2000-08-22 Request aggregator

Country Status (1)

Country Link
JP (1) JP3735022B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101998682A (en) * 2009-08-27 2011-03-30 中兴通讯股份有限公司 Device and method for acquiring service content by personal network equipment and related device thereof
WO2015122197A1 (en) * 2014-02-17 2015-08-20 日本電気株式会社 Screen rendering system, screen rendering method, and portal client
JP6524264B2 (en) * 2015-05-20 2019-06-05 コンヴィーダ ワイヤレス, エルエルシー Method and apparatus for analyzing and grouping service layer subscriptions and notifications to increase efficiency

Also Published As

Publication number Publication date
JP2002063085A (en) 2002-02-28

Similar Documents

Publication Publication Date Title
US11743190B2 (en) Techniques for steering network traffic to regions of a cloud computing system
US7685255B2 (en) System and method for prefetching uncacheable embedded objects
US8086634B2 (en) Method and apparatus for improving file access performance of distributed storage system
US7143184B1 (en) System and method for measuring round trip times in a network using a TCP packet
EP2266043B1 (en) Cache optimzation
US8307088B2 (en) HTML delivery from edge-of-network servers in a content delivery network (CDN)
US6801927B1 (en) Network adaptor card with reverse proxy and cache and method implemented therewith
US20080183838A1 (en) Method, system and computer program product for delivering data to a storage buffer assigned to an application
WO2021253889A1 (en) Load balancing method and apparatus, proxy device, cache device and serving node
WO2012176184A1 (en) Dynamic content caching
US20230018506A1 (en) Token-based authentication for a proxy web scraping service
US20150006622A1 (en) Web contents transmission method and apparatus
US9172744B2 (en) Scalable storage with programmable networks
US11843650B2 (en) Two-level cache architecture for live video streaming through hybrid ICN
JP3735022B2 (en) Request aggregator
JPH1049422A (en) Cache device for remote file
WO2010031297A1 (en) Method of wireless application protocol (wap) gateway pull service and system thereof
JP6368127B2 (en) Communication device, control method, and program
JP4031516B2 (en) Server side proxy device, client side proxy device, data transfer method and program
WO2012174499A2 (en) Application specific web request routing
JP3943867B2 (en) Server-side proxy, data transfer method and program
JPH07182263A (en) Distributed processing control system
CN114610691B (en) Storage object acquisition method, storage object acquisition device, equipment and medium
JP2001331398A (en) Server-managing system
EP4227829A1 (en) Web scraping through use of proxies, and applications thereof

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050404

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: 20051018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051020

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091028

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101028

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101028

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111028

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees