JP2009223810A - Flow rate controller - Google Patents
Flow rate controller Download PDFInfo
- Publication number
- JP2009223810A JP2009223810A JP2008070081A JP2008070081A JP2009223810A JP 2009223810 A JP2009223810 A JP 2009223810A JP 2008070081 A JP2008070081 A JP 2008070081A JP 2008070081 A JP2008070081 A JP 2008070081A JP 2009223810 A JP2009223810 A JP 2009223810A
- Authority
- JP
- Japan
- Prior art keywords
- request
- unit
- requests
- processed
- type
- 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.)
- Granted
Links
- 230000004044 response Effects 0.000 claims abstract description 11
- 230000010365 information processing Effects 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 3
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009118 appropriate response Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
Images
Abstract
Description
本発明は、ネットワーク経由で受け付けるリクエスト数を制限する流量制御技術に関する。 The present invention relates to a flow rate control technique for limiting the number of requests accepted via a network.
一般に、ネットワーク経由でリクエストを受け付けるサーバを運用する際には、サーバの処理能力を越えてリクエストを受信しないように、リクエスト数の上限を制限することでウェブアクセスのリクエスト流量を制御する流量制御装置をウェブサーバの前に配置することが行われる。これにより、サーバの処理能力がパンクして応答が返ってこなくなる事態を防止し、ウェブサーバから適切な応答時間で応答がなされるように維持することができる。 In general, when operating a server that accepts requests via a network, a flow control device that controls the request flow rate of web access by limiting the upper limit of the number of requests so that requests are not received beyond the processing capacity of the server Is placed in front of the web server. As a result, it is possible to prevent a situation in which the processing capability of the server is punctured and the response is not returned, and to maintain a response from the web server in an appropriate response time.
従来、システム業界では、一秒当たりに処理できる取引数であるTPS(Transaction Per Sec)単位でシステム性能要件の合意を得ることが一般的であり、処理システムとの単位時間当たりの同時接続数によって性能要件の合意を得ることは少ない。それに対し、従来の流量制御装置では、同時接続数の上限を設定することで流量制御を実行しているのが通常である。 Conventionally, in the system industry, it is common to obtain an agreement on system performance requirements in units of TPS (Transaction Per Sec), which is the number of transactions that can be processed per second, and depending on the number of simultaneous connections with the processing system per unit time There is little consensus on performance requirements. On the other hand, in the conventional flow control device, the flow control is usually executed by setting the upper limit of the number of simultaneous connections.
例えば、特許文献1は、エンドユーザ端末からの新規セッション確立要求を受信した際に、単位時間当たり接続可能なセッション数の上限値と、直近の単位時間において確立した接続セッション数との比較を行い、確立したセッション数が上限値以上の場合、セッション確立要求を廃棄するサーバ負荷分散装置を開示している。
しかしながら、上記特許文献1に記載のように、流量制御装置において同時接続数を保証することによってTPSを確保しようとすると、後続のシステムが過剰性能となってしまうおそれがある。例えば、図1に示すように、10TPSを確保するためにクライアントと処理システムの間の同時接続数を「10」に設定したとする。この場合、図1(a)に示すように、リクエストが平均的にシステムに到達すれば接続数は2本で済む。しかし、図1(b)に示すように、平均200ミリ秒の処理時間を要する10個のリクエストが一時に集中した場合を考える。この場合、同時接続数10とした場合には、図1(c)に示すように、最大50TPS分の処理性能を有するシステムを準備しなければならなくなる。このように同時接続数の上限を定めることによる流量制御では、リクエストが一時に集中した場合を想定して、システムを要件よりも過剰な性能を有するように作っておく必要がある。このように、クライアントと合意する性能要件とシステムの実際の仕様とが一致していないという問題がある。 However, as described in Patent Document 1, if the TPS is secured by guaranteeing the number of simultaneous connections in the flow rate control device, there is a risk that the subsequent system will have excessive performance. For example, as shown in FIG. 1, it is assumed that the number of simultaneous connections between the client and the processing system is set to “10” in order to secure 10 TPS. In this case, as shown in FIG. 1A, if the requests reach the system on average, the number of connections is two. However, as shown in FIG. 1B, consider a case where 10 requests that require an average processing time of 200 milliseconds are concentrated at a time. In this case, when the number of simultaneous connections is 10, as shown in FIG. 1C, a system having a processing performance of 50 TPS at the maximum must be prepared. As described above, in the flow control by determining the upper limit of the number of simultaneous connections, it is necessary to make the system so as to have a performance exceeding the requirement, assuming that requests are concentrated at one time. Thus, there is a problem that the performance requirements agreed with the client do not match the actual specifications of the system.
本発明はこうした状況に鑑みてなされたものであり、その目的は、後置される処理システムの性能要件を満足しつつ、過剰性能とならない処理システムの設計を可能とする流量制御技術を提供することにある。 The present invention has been made in view of such circumstances, and an object of the present invention is to provide a flow rate control technique that enables the design of a processing system that does not become excessive performance while satisfying the performance requirements of the subsequent processing system. There is.
本発明のある態様は、流量制御装置である。この装置は、所定の処理を実行するシステムに対する情報処理リクエストをクライアント端末から受け付け、単位時間内に受け付けたリクエスト数をカウントする受付リクエストカウント部と、システムからクライアント端末に対する処理結果の通知に基づき、単位時間内に処理が完了したリクエストの数をカウントする処理済みリクエストカウント部と、処理済みリクエストカウント部でカウントされたリクエスト数が単位時間内で予め定められた上限値に達したとき、新たなリクエストを発したクライアント端末に対してエラー応答を返すエラー処理部と、受付リクエストカウント部で受け取ったリクエストをキューに格納するリクエスト保持部と、システム上で同時に処理可能なリクエスト数である同時接続数を超えないように、リクエスト保持部内のリクエストをシステムに渡す同時接続制限部と、を備える。 One embodiment of the present invention is a flow control device. This device receives an information processing request for a system that executes a predetermined process from a client terminal, and based on a reception request count unit that counts the number of requests received within a unit time, and a notification of a processing result from the system to the client terminal, A processed request count unit that counts the number of requests that have been processed within a unit time, and when the number of requests counted by the processed request count unit reaches a predetermined upper limit within the unit time, a new An error processing unit that returns an error response to the client terminal that issued the request, a request holding unit that stores the requests received by the received request counting unit in a queue, and the number of simultaneous connections that can be processed simultaneously on the system So as not to exceed Comprising the simultaneous connection restriction unit that passes requests in list holding unit in the system, the.
この態様によると、リクエストの受け付けに関しては、処理システムが実際に処理を終えたリクエスト数に基づき制限される。これに対し、処理システムへのリクエストの引き渡しは、処理システムとの同時接続数に基づき処理する。これによって、処理システムが実際に処理を終えた数分だけリクエストを受けることになるので、処理システムの発注者との間で定めるTPSについての要件と、流量制御装置におけるリクエスト受付数を制限する仕組みとが同一になる。 According to this aspect, the acceptance of requests is limited based on the number of requests that the processing system has actually finished processing. On the other hand, the delivery of the request to the processing system is processed based on the number of simultaneous connections with the processing system. As a result, requests are received only for the number of times the processing system has actually finished processing, so the requirements for the TPS determined with the orderer of the processing system and the number of requests received in the flow control device are limited. And become the same.
リクエスト保持部は、受け取ったリクエストの種別を判断する種別判定部と、リクエスト種別毎にリクエストをキューに格納し、システムにリクエストを渡すタイミングをリクエスト種別毎に判定するキュー制御部と、を備えてもよい。これによると、受け付けたリクエストをその種別に応じた優先度に基づき処理システムに渡す順序を制御する優先制御を実行することが可能になる。 The request holding unit includes a type determination unit that determines the type of the received request, and a queue control unit that stores a request for each request type in a queue and determines the timing for passing the request to the system for each request type. Also good. According to this, it is possible to execute priority control for controlling the order in which the received request is passed to the processing system based on the priority according to the type.
同時接続制限部は、受け取ったリクエストの種別を判断する種別判定部と、リクエスト保持部から受け取るリクエストを種別毎に分けてキューに格納し、システムにリクエストを渡すタイミングをリクエスト種別毎に判定するキュー制御部と、を備えてもよい。これによると、受け付けたリクエストをその種別に応じた優先度に基づき処理システムに渡す順序を制御する優先制御を実行することが可能になる。 The simultaneous connection restriction unit is a type determination unit that determines the type of the received request, a queue that stores the requests received from the request holding unit for each type in a queue, and a queue that determines the timing for passing the request to the system for each request type And a control unit. According to this, it is possible to execute priority control for controlling the order in which the received request is passed to the processing system based on the priority according to the type.
種別判定部は、リクエスト種別毎に後続のシステムにおける処理の優先順位が設定されている優先度設定部と、優先度の高いリクエスト種別を保持するキューからリクエストを取り出すタイミング判定部と、を備えてもよい。これによると、特定種別のリクエストを優先して処理することが可能となる。 The type determination unit includes a priority setting unit in which the priority of processing in the subsequent system is set for each request type, and a timing determination unit that extracts a request from a queue holding a request type with a high priority. Also good. According to this, it becomes possible to preferentially process a specific type of request.
同時接続制限部は、システムにおけるリクエスト種別毎の平均処理時間を算出して保持する処理時間保持部と、リクエスト種別毎にキューに格納されているリクエストと、平均処理時間とに基づき、システムで単位時間内に処理可能なリクエスト数が最大となるようにリクエストを選択するリクエスト選択部と、をさらに備えてもよい。これによると、同時接続数を確保しつつ、処理システムにおいて単位時間当たりのリクエスト処理数を増加させることが可能となる。 The concurrent connection restriction unit is a unit in the system based on the processing time holding unit that calculates and holds the average processing time for each request type in the system, the request stored in the queue for each request type, and the average processing time. A request selection unit that selects requests so that the number of requests that can be processed in time is maximized. According to this, it is possible to increase the number of request processes per unit time in the processing system while securing the number of simultaneous connections.
なお、以上の構成要素の任意の組合せ、本発明を方法、装置、システム、記録媒体、コンピュータプログラムにより表現したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described components and a representation of the present invention by a method, apparatus, system, recording medium, and computer program are also effective as an aspect of the present invention.
本発明によれば、流量制御装置の後に配置される処理システムの性能要件を満足しつつ、過剰性能とならない処理システムの設計を可能とする流量制御を実行することができる。 ADVANTAGE OF THE INVENTION According to this invention, the flow control which enables the design of the processing system which does not become excess performance can be performed, satisfying the performance requirement of the processing system arrange | positioned after a flow control apparatus.
図2は、本発明の一実施形態に係る流量制御装置20を含むクライアントサーバシステム100の全体図である。クライアント端末12は少なくとも入力装置と表示装置とを備え、ネットワークへの接続機能を有するコンピュータ端末である。ユーザは、クライアント端末12にインストールされているブラウザを使用して、インターネット、LAN(Local Area Network)等のネットワーク14経由で様々なウェブサイトにアクセス可能である。クライアント端末12は、処理システム16に依頼する処理のタイプに応じて、パーソナルコンピュータ(PC)、携帯電話、PDA(Personal Digital Assistant)、POSレジスタ、自動販売機などであってよい。
FIG. 2 is an overall view of the
処理システム16はウェブサーバまたはアプリケーションサーバであり、ネットワーク14経由でクライアント端末12から処理リクエストを受け取り、リクエストに対する応答を各クライアント端末12に返す。処理システム16は、一例として、課金システム、予約システム、決済システムなどであるが、その対象とする処理に制限はない。
The
流量制御装置20は、処理システム16とネットワーク14の間に配置され、処理システム16に対する処理リクエストを受け付ける。そして、処理システム16に対するリクエストの集中を検出し、システムの処理能力以上のリクエストの受信制限制御や、特定のリクエストの優先制御等を実行する。本実施形態では、流量制御装置20は、従来の流量制御装置における同時接続数や同時実行数に基づいた流量制御を実施する代わりに、単位時間当たりに処理システム16で処理可能な取引数に着目して流量制御を実行する。これについては後述する。
The
図3は、図2の流量制御装置20の詳細な構成を示す機能ブロック図である。ここに示す各ブロックは、ハードウェア的には、コンピュータのCPUやメモリをはじめとする素子で実現でき、ソフトウェア的には以下で述べる機能を有するコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックとして描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
FIG. 3 is a functional block diagram showing a detailed configuration of the
受付リクエストカウント部30は、処理システム16に対する各クライアント端末からの処理リクエストを受け付ける。そして、所定の単位時間(例えば、1秒)内に受け付けたリクエストの数をカウントする。
The reception
リクエスト保持部32は、受付リクエストカウント部30で受け取ったリクエストをキューに格納(キューイング)する。このキューイングにより、クライアント端末からのリクエストのタイミングと、処理システム16におけるリクエスト処理のタイミングとを同期させる必要がなく、後述のリクエスト上限値以内のリクエスト数であれば確実にリクエストを処理することができる。
The
同時接続制限部34は、処理システム上で同時に処理可能なリクエスト数として設定されている同時接続数を超えないように、リクエスト保持部32にキューイングされているリクエストを取り出し、処理システム16に渡す。
The simultaneous
このように、同時接続制限部34は、後続の処理システム16に接続できるコネクション数を定義することで、処理システム16へと流れるリクエストの流量を制御する。
Thus, the simultaneous
処理済みリクエストカウント部24は、処理システム16からクライアント端末12に対する処理結果の通知を中継する。この通知を受け取ると、処理済みリクエストカウント部24は、処理システム16においてリクエストに対応する動作が終了したと判定する。処理済みリクエストカウント部24は、所定の単位時間(例えば1秒)内に処理が完了したリクエストの数をカウントする。但し、この単位時間の長さは、受付リクエストカウント部30において受付リクエスト数をカウントする単位時間と同一であることが好ましい。
The processed
エラー処理部26は、処理済みリクエストカウント部24でカウントされた、単位時間内の処理済みのリクエスト数を監視する。そして、処理済みリクエストが単位時間内で予め定められた上限値(以下「処理済みリクエスト上限値」という)に達した場合には、それ以降に受付リクエストカウント部30に届いたリクエストを発したクライアント端末12に対して、処理システム16がビジーでありリクエストを受け付けられない旨のエラー応答を返す。このように、リクエストに対する処理の終了によるコネクションの開放を検出することで、処理システム16の処理能力以上のリクエストの受信制限をすることができる。
The
設定部22は、システム管理者からの指令に基づき、同時接続数、処理済みリクエスト上限値、単位時間等のパラメータの変更をする。
The setting
以下、本実施形態に係る流量制御装置20の動作を説明する。
Hereinafter, the operation of the
処理済みリクエストカウント部24は、所定の単位時間内に処理システム16で処理されたリクエスト数をカウントし、規定の処理済みリクエスト上限値を超えたリクエストに対しては、エラー処理部26がクライアント端末12に対しエラー応答を返す。これとともに、同時接続制限部34は、処理システム16と流量制御装置20とのコネクションが最大接続数以下となるように、リクエスト保持部32でキューイングされているリクエストを順次処理システム16に渡す。このような構成により、流量制御装置20を、同時接続数ではなく、単位時間当たりに処理システム16で処理できるリクエスト数に基づき制御することができる。
The processed
なお、単位時間と、処理済みリクエスト上限値(すなわち、単位時間内に受付可能なリクエスト数)とは、処理システムの特性等に応じて任意に設定可能である。例えば、単位時間1秒以内に最大10リクエストまで、または単位時間60秒以内に最大200リクエストまでのような組合せが可能である。 The unit time and the processed request upper limit value (that is, the number of requests that can be accepted within the unit time) can be arbitrarily set according to the characteristics of the processing system. For example, a combination of up to 10 requests within a unit time of 1 second or up to 200 requests within a unit time of 60 seconds is possible.
上記のように、単位時間内に受付リクエスト数と処理済みリクエスト数とをカウントすると、当然ながら両者が一致しないこともある。この差分は、複数の単位時間をまたがって処理がなされているために発生すると判断できる。したがって、この差分に係るリクエストに対応する処理システムとのコネクションは開放されていないので、処理済みリクエスト数のみを考慮してリクエストの受付上限値を制限しても、処理システムがビジーとなることはない。 As described above, when the number of received requests and the number of processed requests are counted within a unit time, naturally, they may not match each other. It can be determined that this difference occurs because the processing is performed over a plurality of unit times. Therefore, since the connection with the processing system corresponding to the request related to this difference is not released, even if the upper limit value for accepting requests is limited considering only the number of processed requests, the processing system may not be busy. Absent.
図4および図5は、リクエストの種別を判定し、リクエスト種別に応じた流量制御を実施可能な構成を示す。これを実現するためには、1.リクエストを受け付けると直ちに種別毎に別のキューに格納する方法、2.リクエストをその種別に関係なくまとめてキューイングし、処理システムに渡す前に種別毎に分ける方法、の2種類がある。 4 and 5 show a configuration in which the request type is determined, and the flow rate control according to the request type can be performed. To achieve this, 1. 1. A method of storing a request in a different queue immediately after receiving a request; There are two types of methods: queuing requests regardless of their type and dividing them by type before passing them to the processing system.
図4は、上記リクエスト種別に応じた流量制御の第1の方法に対応し、リクエスト保持部32でリクエスト種別を判定する場合の構成を示す。
FIG. 4 corresponds to the first method of flow rate control according to the request type, and shows a configuration when the request type is determined by the
リクエスト保持部32は、種別判定部40、優先度設定部44、キュー制御部41およびタイミング判定部46を含む。種別判定部40は、受付リクエストカウント部30で受け付けたリクエストの種別を判定する。一例として、リクエストURLと予め準備されている文字列パターンとを比較して、リクエストの種別を判定する。ここでいう種別とは、一例として処理システムで行われるページ閲覧、購入手続、認証、決済などの処理を指しているが、その他リクエストURLに基づき区別できるものであれば特に限定されない。
The
優先度設定部44は、種別判定部40で判定される種別毎の優先度を保持する。この優先度は、システム管理者等により予め設定されているものとする。例えば、種別判定部40において、リクエストがA、B、Cの三種別に分類される場合、Aの優先度を1、Bの優先度を2、Cの優先度を3というように設定している。優先度の数値が小さいほど、優先して処理システムで処理される。
The
キュー制御部41は、種別判定部40で特定されたリクエスト種別毎に、それぞれ専用のキュー42に受付リクエストカウント部30から受け取ったリクエストを格納する。例えば、種別Aのリクエストは、全てキューAに格納される。
The
タイミング判定部46は、種別毎のキュー42に保持されているリクエストのうち、いずれの種別のキューにあるリクエストを同時接続制限部34に渡すかを、優先度に基づき判断する。上述のように、種別A、B、Cのリクエストの優先度がそれぞれ1、2、3であった場合、タイミング判定部46は、キューAに格納されているリクエストから先に同時接続制限部34に渡すようにする。キューAのリクエストがなくなると、続いてキューB内のリクエストを同時接続制限部34に渡す。この場合、同時接続制限部34は、リクエスト保持部32から渡されるリクエストを、同時接続数を上回らない範囲で処理システム16に流す。
The
なお、上記構成を取る場合でも、処理済みリクエストカウント部24でカウントされる処理済みリクエスト数については、種別毎にカウントする必要はない。
Even when the above configuration is adopted, the number of processed requests counted by the processed
上述のような構成により、受け付けたリクエストをその種別に応じた優先度に基づき処理システムに渡す順序を制御する優先制御を実行することが可能になる。つまり、予め設定されている優先度のリクエスト種別に応じた優先制御を実施可能である。 With the configuration as described above, it is possible to execute priority control for controlling the order in which the received request is transferred to the processing system based on the priority according to the type. That is, priority control according to a request type having a preset priority can be performed.
図5は、上記リクエスト種別に応じた流量制御の第2の方法に対応し、同時接続制限部34でリクエスト種別を判定する場合の構成を示す。
FIG. 5 corresponds to the second method of flow control according to the request type, and shows a configuration when the request type is determined by the simultaneous
同時接続制限部34は、種別判定部50、優先度設定部54、キュー制御部51およびタイミング判定部56を含む。種別判定部50は、リクエスト保持部32にキューイングされているリクエストの種別を判定する。優先度設定部54は、種別判定部50で判定される種別毎の優先度を保持する。これらの機能は、図4で既に説明したものと同様である。
The simultaneous
キュー制御部51は、種別判定部50で特定されたリクエスト種別毎に、それぞれ専用のキュー52にリクエスト保持部32から受け取ったリクエストを格納する。タイミング判定部56は、種別毎のキュー52に保持されているリクエストのうち、いずれの種別のキューにあるリクエストを処理システム16に渡すかを、優先度に基づき判断する。上述のように、種別A、B、Cのリクエストの優先度がそれぞれ1、2、3であった場合、タイミング判定部56は、キューAに格納されているリクエストから先に処理システム16に渡すようにする。キューAのリクエストがなくなると、続いてキューB内のリクエストを処理システム16に渡す。
The
上述のような構成により、受け付けたリクエストをその種別に応じた優先度に基づき処理システムに渡す順序を制御する優先制御を実行することが可能になる。 With the configuration as described above, it is possible to execute priority control for controlling the order in which the received request is transferred to the processing system based on the priority according to the type.
なお、リクエストの種別毎に、同時接続数を設定してもよい。一例として、全体の同時接続数が「10」であるとき、種別Aの同時接続数を最大「5」のように設定してもよい。こうすることで、キューAに格納されているリクエストのみが処理システムに渡され続けるような事象を予防することができる。
また、受付リクエストカウント部30および処理済みリクエストカウント部24における単位時間や、処理可能なリクエストの上限値をリクエストの種別毎に設定してもよい。例えば、リクエストの種別によって処理システム16における処理時間が大きく相違する場合には、単位時間と受け付けリクエスト数を適宜調整することで、処理システムにおける処理効率を向上させられる可能性がある。
The number of simultaneous connections may be set for each request type. As an example, when the total number of simultaneous connections is “10”, the number of simultaneous connections of type A may be set to a maximum of “5”. By doing so, it is possible to prevent an event in which only the request stored in the queue A continues to be passed to the processing system.
In addition, the unit time in the received
図6は、本実施形態に係る流量制御処理を説明するフローチャートである。
まず、受付リクエストカウント部30は、ネットワーク14経由で各クライアント端末12から処理システム16に対するリクエストを受け付ける(S10)。受付リクエストカウント部30は、受け付けたリクエスト数をカウントする(S12)。リクエスト保持部32は、受付リクエストカウント部30で受け取られたリクエストをキューに保持する(S14)。この場合、リクエストの種別毎に異なったキューに保持してもよい。このとき、各リクエストを発信したクライアント端末12を特定するための情報、例えばIPアドレス等を所定のメモリ(図示せず)に保持してもよい。
FIG. 6 is a flowchart illustrating the flow rate control process according to the present embodiment.
First, the reception
処理済みリクエストカウント部24は、単位時間毎に既に処理の完了したリクエスト数をカウントする(S16)。そして、この処理済みリクエスト数が予め定められている処理済みリクエスト上限値に達したか否かを判定し(S18)、上限値に達した場合には(S18のY)、エラー処理部26が受付リクエストカウント部30に照会してそれ以降にリクエストを発したクライアント端末12を特定し、リクエストを受け付けられないことを表すエラー応答をクライアント端末12に発信する(S20)。処理済みクエスト数が上限値に達していない場合には(S18のN)、S20をスキップする。
The processed
同時接続制限部34は、単位時間毎に、処理システム16に渡したリクエストの数をカウントし(S22)、このリクエストの数が同時接続数を上回らないように、リクエスト保持部32に保持されているリクエストを順次処理システム16に渡す流量制御を実行する(S24)。リクエスト保持部32において、種別毎に異なるキューにリクエストが保持されている場合には、いずれの種別のリクエストをシステムに渡すかを決定する優先制御を実行してもよい。
The simultaneous
以上説明したように、本実施形態による流量制御装置においては、流量制御装置が受け付け可能なリクエスト数と、処理システムに渡されるリクエスト数とが異なる。すなわち、リクエストの受け付けに関しては、処理システムが実際に処理を終えたリクエスト数に基づき制限される。これに対し、処理システムへのリクエストの引き渡しは、処理システムとの同時接続数に基づき処理する。これによって、処理システムが実際に処理を終えた数分だけリクエストを受けることになるので、処理システムの発注者との間で定めるTPSについての要件と、流量制御装置におけるリクエスト受付数を制限する仕組みとが同一になる。したがって、システムの設計が容易になる。また、従来の流量制御装置のように同時接続数で制御する場合と比べて、処理システムを過剰性能とする必要がない。 As described above, in the flow control device according to the present embodiment, the number of requests that can be accepted by the flow control device is different from the number of requests passed to the processing system. That is, the acceptance of requests is limited based on the number of requests that the processing system has actually finished processing. On the other hand, the delivery of the request to the processing system is processed based on the number of simultaneous connections with the processing system. As a result, requests are received only for the number of times the processing system has actually finished processing, so the requirements for the TPS determined with the orderer of the processing system and the number of requests received in the flow control device are limited. And become the same. Therefore, the system design becomes easy. Moreover, it is not necessary to make the processing system have excessive performance as compared with the case of controlling by the number of simultaneous connections as in the conventional flow control device.
また、リクエストが短期間に集中して到着した場合でも、処理システムで処理されているリクエストの数がTPSの範囲内であれば、単位時間当たりの処理済みリクエスト数が上限値に達することがない。したがって、エラー処理部からクライアント端末にエラー応答が返送されることはなく、リクエストをキューイングして、同時接続数の範囲内で処理システムにリクエストが送られることになる。よって、リクエストが集中した場合でも処理システムの能力を有効に活用できる。 Even if requests arrive in a short period of time, the number of processed requests per unit time will not reach the upper limit if the number of requests being processed by the processing system is within the TPS range. . Accordingly, an error response is not returned from the error processing unit to the client terminal, but the request is queued and the request is sent to the processing system within the range of the number of simultaneous connections. Therefore, the capacity of the processing system can be effectively utilized even when requests are concentrated.
以上、本発明をいくつかの実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 The present invention has been described based on some embodiments. It is understood by those skilled in the art that these embodiments are exemplifications, and that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. By the way.
請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。 It should also be understood by those skilled in the art that the functions to be fulfilled by the constituent elements described in the claims are realized by the individual functional blocks shown in the present embodiment or their linkage.
リクエスト種別毎に異なるキューにリクエストが保持される場合には、処理システムにおけるリクエスト種別毎の処理時間に応じて、処理システムに渡すべきリクエストを決定するようにしてもよい。一例として、同時接続制限部34が、図示しない処理時間保持部とリクエスト選択部とを備える。処理時間保持部は、処理システムにおけるリクエスト種別毎の平均処理時間を算出して保持する。リクエスト選択部は、リクエスト種別毎にキューに格納されているリクエストと、平均処理時間とに基づき、処理システムで単位時間内に処理可能なリクエスト数が最大となるようにリクエストを選択する。このような構成とすることで、同時接続数を確保しつつ、処理システムにおいて単位時間当たりのリクエスト処理数を増加させることが可能となる。
When requests are held in different queues for each request type, the request to be passed to the processing system may be determined according to the processing time for each request type in the processing system. As an example, the simultaneous
1 クライアント端末、 14 ネットワーク、 16 処理システム、 20 流量制御装置、 22 設定部、 24 処理済みリクエストカウント部、 26 エラー処理部、 30 受付リクエストカウント部、 32 リクエスト保持部、 34 同時接続制限部、 40 種別判定部、 42 キュー、 50 種別判定部、 52 キュー。 DESCRIPTION OF SYMBOLS 1 Client terminal, 14 Network, 16 Processing system, 20 Flow control apparatus, 22 Setting part, 24 Processed request count part, 26 Error processing part, 30 Accepted request count part, 32 Request holding part, 34 Simultaneous connection restriction part, 40 Type determination unit, 42 queues, 50 type determination unit, 52 queues.
Claims (7)
前記システムから前記クライアント端末に対する処理結果の通知に基づき、単位時間内に処理が完了したリクエストの数をカウントする処理済みリクエストカウント部と、
前記処理済みリクエストカウント部でカウントされたリクエスト数が前記単位時間内で予め定められた上限値に達したとき、新たなリクエストを発したクライアント端末に対してエラー応答を返すエラー処理部と、
前記受付リクエストカウント部で受け取ったリクエストをキューに格納するリクエスト保持部と、
前記システム上で同時に処理可能なリクエスト数である同時接続数を超えないように、前記リクエスト保持部内のリクエストを前記システムに渡す同時接続制限部と、
を備えることを特徴とする流量制御装置。 An acceptance request counting unit that accepts an information processing request for a system that executes a predetermined process from a client terminal and counts the number of requests accepted within a unit time;
Based on the processing result notification from the system to the client terminal, a processed request counting unit that counts the number of requests that have been processed within a unit time;
An error processing unit that returns an error response to a client terminal that has issued a new request when the number of requests counted by the processed request count unit reaches a predetermined upper limit within the unit time;
A request holding unit for storing the request received by the reception request counting unit in a queue;
A simultaneous connection limiting unit that passes the request in the request holding unit to the system so as not to exceed the number of simultaneous connections that is the number of requests that can be processed simultaneously on the system;
A flow rate control device comprising:
受け取ったリクエストの種別を判断する種別判定部と、
リクエスト種別毎にリクエストをキューに格納するキュー制御部と、
前記システムにリクエストを渡すタイミングをリクエスト種別毎に判定するタイミング判定部と、
を備えることを特徴とする請求項1に記載の流量制御装置。 The request holding unit
A type determination unit that determines the type of the received request;
A queue control unit that stores a request in a queue for each request type;
A timing determination unit that determines the timing of passing a request to the system for each request type;
The flow control device according to claim 1, comprising:
受け取ったリクエストの種別を判断する種別判定部と、
前記リクエスト保持部から受け取るリクエストを種別毎に分けてキューに格納するキュー制御部と、
前記システムにリクエストを渡すタイミングをリクエスト種別毎に判定するタイミング判定部と、
を備えることを特徴とする請求項1に記載の流量制御装置。 The simultaneous connection restriction unit includes:
A type determination unit that determines the type of the received request;
A queue control unit that stores requests received from the request holding unit in a queue for each type;
A timing determination unit that determines the timing of passing a request to the system for each request type;
The flow control device according to claim 1, comprising:
前記タイミング判定部は、優先度の高いリクエスト種別を保持するキューからリクエストを取り出すことを特徴とする請求項2または3に記載の流量制御装置。 A priority setting unit in which the priority of processing in the subsequent system is set for each request type;
The flow rate control apparatus according to claim 2, wherein the timing determination unit extracts a request from a queue that holds a request type having a high priority.
前記システムにおけるリクエスト種別毎の平均処理時間を算出して保持する処理時間保持部と、
リクエスト種別毎にキューに格納されているリクエストと、前記平均処理時間とに基づき、前記システムで単位時間内に処理可能なリクエスト数が最大となるようにリクエストを選択するリクエスト選択部と、
をさらに備えることを特徴とする請求項2または3に記載の流量制御装置。 The simultaneous connection restriction unit includes:
A processing time holding unit that calculates and holds an average processing time for each request type in the system;
A request selection unit that selects requests so that the number of requests that can be processed in a unit time in the system is maximized based on the requests stored in the queue for each request type and the average processing time;
The flow rate control device according to claim 2, further comprising:
前記システムから前記クライアント端末に対する処理結果の通知に基づき、単位時間内に処理が完了したリクエストの数をカウントする処理済みリクエストカウント機能と、
カウントされた処理済みのリクエスト数が前記単位時間内で予め定められた上限値に達したとき、新たなリクエストを発したクライアント端末に対してエラー応答を返すエラー処理機能と、
受け取ったリクエストをキューに格納するリクエスト保持機能と、
前記システム上で同時に処理可能なリクエスト数である同時接続数を超えないように、前記キューに格納されたリクエストを前記システムに渡す接続制御機能と、
を備えることを特徴とする流量制御プログラム。 An acceptance request count function that accepts an information processing request for a system that executes a predetermined process from a client terminal and counts the number of requests accepted within a unit time;
Based on the processing result notification from the system to the client terminal, a processed request count function that counts the number of requests that have been processed within a unit time; and
An error processing function for returning an error response to the client terminal that has issued a new request when the number of processed requests counted reaches a predetermined upper limit within the unit time;
A request holding function that stores received requests in a queue,
A connection control function for passing requests stored in the queue to the system so as not to exceed the number of simultaneous connections, which is the number of requests that can be processed simultaneously on the system;
A flow rate control program comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008070081A JP5291366B2 (en) | 2008-03-18 | 2008-03-18 | Flow control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008070081A JP5291366B2 (en) | 2008-03-18 | 2008-03-18 | Flow control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009223810A true JP2009223810A (en) | 2009-10-01 |
JP5291366B2 JP5291366B2 (en) | 2013-09-18 |
Family
ID=41240481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008070081A Active JP5291366B2 (en) | 2008-03-18 | 2008-03-18 | Flow control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5291366B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012073715A (en) * | 2010-09-28 | 2012-04-12 | Nec System Technologies Ltd | Information processing apparatus, electronic commerce method and electronic commerce program |
WO2017149725A1 (en) * | 2016-03-03 | 2017-09-08 | 株式会社日立製作所 | Connection management system and connection management method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004199678A (en) * | 2002-12-17 | 2004-07-15 | Internatl Business Mach Corp <Ibm> | Method, system, and program product of task scheduling |
JP2005062927A (en) * | 2003-08-11 | 2005-03-10 | Hitachi Ltd | Load control method and device, and processing program therefor |
JP2005184165A (en) * | 2003-12-17 | 2005-07-07 | Hitachi Ltd | Traffic control unit and service system using the same |
JP2007219650A (en) * | 2006-02-14 | 2007-08-30 | Kddi Corp | Request preferential receiving method and system |
JP2008040718A (en) * | 2006-08-04 | 2008-02-21 | Nippon Telegr & Teleph Corp <Ntt> | Load distribution control device and method |
-
2008
- 2008-03-18 JP JP2008070081A patent/JP5291366B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004199678A (en) * | 2002-12-17 | 2004-07-15 | Internatl Business Mach Corp <Ibm> | Method, system, and program product of task scheduling |
JP2005062927A (en) * | 2003-08-11 | 2005-03-10 | Hitachi Ltd | Load control method and device, and processing program therefor |
JP2005184165A (en) * | 2003-12-17 | 2005-07-07 | Hitachi Ltd | Traffic control unit and service system using the same |
JP2007219650A (en) * | 2006-02-14 | 2007-08-30 | Kddi Corp | Request preferential receiving method and system |
JP2008040718A (en) * | 2006-08-04 | 2008-02-21 | Nippon Telegr & Teleph Corp <Ntt> | Load distribution control device and method |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012073715A (en) * | 2010-09-28 | 2012-04-12 | Nec System Technologies Ltd | Information processing apparatus, electronic commerce method and electronic commerce program |
WO2017149725A1 (en) * | 2016-03-03 | 2017-09-08 | 株式会社日立製作所 | Connection management system and connection management method |
JPWO2017149725A1 (en) * | 2016-03-03 | 2018-07-05 | 株式会社日立製作所 | Connection management system and connection management method |
Also Published As
Publication number | Publication date |
---|---|
JP5291366B2 (en) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Session-based overload control in qos-aware web servers | |
Urgaonkar et al. | Analytic modeling of multitier internet applications | |
Samios et al. | Modeling the throughput of TCP Vegas | |
Iyer et al. | Overload control mechanisms for web servers | |
EP2023245A1 (en) | Load control device and its method | |
TWI473478B (en) | Network communication control method and system | |
JP5686815B2 (en) | Data update for website users based on preset conditions | |
CN110266557B (en) | Method, device, system and storage medium for monitoring broadband service quality | |
WO2000019325A1 (en) | Customer web log-in architecture | |
US10567492B1 (en) | Methods for load balancing in a federated identity environment and devices thereof | |
JP7277168B2 (en) | Resource service system and control method | |
US9609068B2 (en) | Session management system, session management apparatus, and non-transitory computer readable medium | |
EP3952256B1 (en) | Improved admission policies for queued website visitors | |
JP5291366B2 (en) | Flow control device | |
JP2008059040A (en) | Load control system and method | |
JP4350098B2 (en) | Execution control apparatus and method | |
JP4394710B2 (en) | Load control apparatus, method, and program | |
JP5268785B2 (en) | Login restriction method for Web server system | |
Reeser et al. | An analytic model of web servers in distributed computing environments | |
CN108600308A (en) | Data uploading method, device, storage medium and server | |
JP4472944B2 (en) | Request load adjusting apparatus and method, program, and performance data collecting method | |
CN110401708B (en) | Session processing system and method based on server load state | |
Sugiki et al. | Tuning mechanisms for two major parameters of Apache web servers | |
JP5570030B2 (en) | Service request acceptance control method, apparatus and system | |
JP2008217346A (en) | Method for reducing load in peak time period in online system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110105 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130402 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130510 |
|
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: 20130604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130607 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5291366 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |