JP2019040344A - Transmission control program, transmission control apparatus and transmission control method - Google Patents
Transmission control program, transmission control apparatus and transmission control method Download PDFInfo
- Publication number
- JP2019040344A JP2019040344A JP2017161227A JP2017161227A JP2019040344A JP 2019040344 A JP2019040344 A JP 2019040344A JP 2017161227 A JP2017161227 A JP 2017161227A JP 2017161227 A JP2017161227 A JP 2017161227A JP 2019040344 A JP2019040344 A JP 2019040344A
- Authority
- JP
- Japan
- Prior art keywords
- request
- priority
- requests
- transmission
- transmission control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は送信制御プログラム、送信制御装置および送信制御方法に関する。 The present invention relates to a transmission control program, a transmission control apparatus, and a transmission control method.
現在、複数の情報処理装置がネットワークを介して通信する情報処理システムが利用されている。例えば、クライアントサーバシステムでは、サービスを提供する装置(サーバと呼ばれる)と、サービスを利用する装置(クライアントと呼ばれる)とがネットワークを介して通信する。クライアントは、サーバに対するリクエストを送信する。サーバは、リクエストを受信し、リクエストに応じたレスポンスをクライアントに送信する。 Currently, an information processing system in which a plurality of information processing apparatuses communicate via a network is used. For example, in a client-server system, a device that provides a service (called a server) and a device that uses the service (called a client) communicate with each other via a network. The client sends a request to the server. The server receives the request and sends a response according to the request to the client.
ここで、クライアントとサーバとの間に、クライアントのリクエストを受信してサーバへのアクセスを代行する制御装置を設け、制御装置の機能によりサーバに送信するリクエストの数を制限することがある。 Here, a control device that receives a client request and performs access to the server may be provided between the client and the server, and the number of requests transmitted to the server may be limited by the function of the control device.
例えば、クライアントからリクエストを受信し、受信したリクエストを蓄積してサーバに送信する負荷制御装置の提案がある。負荷制御装置は、サーバからの応答待ちリクエスト数が閾値に達しているならば、受信したリクエストをバッファに一時蓄積し、応答待ちリクエスト数が閾値を下回るまでバッファからのリクエストの送信を待ち合わせることで、応答待ちリクエスト数を制限する。この提案では、バッファ中のリクエストの実行順序に関し、リクエストの重要度や要求品質に応じて優先制御を行うことも考えられている。具体的には、負荷制御装置は、クラス別にリクエストをキューに格納し、各キュー間のリクエスト取り出し順序を、所定のスケジューリングアルゴリズム(Priority Queuing、Waited Fair QueuingまたはWaited Round Robin)を利用して決める。 For example, there is a proposal for a load control device that receives requests from a client, accumulates the received requests, and transmits the requests to a server. If the number of requests waiting for a response from the server has reached the threshold, the load control device temporarily stores the received requests in the buffer and waits for requests from the buffer until the number of requests waiting for a response falls below the threshold. Limit the number of requests waiting for a response. In this proposal, regarding the execution order of requests in the buffer, priority control may be performed in accordance with the importance of the request and the required quality. Specifically, the load control apparatus stores requests in queues for each class, and determines a request extraction order between the queues using a predetermined scheduling algorithm (Priority Queuing, Waited Fair Queuing, or Waited Round Robin).
なお、モバイルデバイス上にローカルプロキシを設けて、モバイルネットワークトラフィックを調整するシステムの提案もある。ローカルプロキシは、第1のアプリケーションによって開始された第1のデータ転送要求の転送を、第2のアプリケーションによって開始された第2のデータ転送要求がモバイルデバイス上で検出されるまで、遅延させる。そして、ローカルプロキシは、第1,第2の転送要求を単一の転送作動で転送する。 There is also a proposal for a system that adjusts mobile network traffic by providing a local proxy on a mobile device. The local proxy delays the transfer of the first data transfer request initiated by the first application until a second data transfer request initiated by the second application is detected on the mobile device. Then, the local proxy transfers the first and second transfer requests with a single transfer operation.
また、複数のサービス提供部を備えるサーバ装置に、外部装置と複数のサービス提供部との間の通信を仲介する仲介機能部の機能を付加する提案もある。この提案では、仲介機能部により、外部装置とサーバ装置との間で、複数のサービス提供部の動作に係るSOAP(Simple Object Access Protocol)リクエストおよびSOAPレスポンスを複数一括して送受信する。 There is also a proposal for adding a function of an intermediary function unit that mediates communication between an external device and a plurality of service providing units to a server device including a plurality of service providing units. In this proposal, a plurality of SOAP (Simple Object Access Protocol) requests and SOAP responses related to the operation of a plurality of service providing units are collectively transmitted and received between an external device and a server device by an intermediary function unit.
上記のように、クライアントとサーバとの間に設けられた制御装置により、サーバに送信するリクエストの数を制限することがある。このとき、制御装置により、リクエストに関して予め定められた優先度を基に、蓄積した複数のリクエストをサーバへ送信する順序を決定することが考えられる。しかし、予め定められた優先度が常に適切とは限らない。 As described above, the number of requests transmitted to the server may be limited by a control device provided between the client and the server. At this time, it is conceivable that the control device determines the order in which the plurality of accumulated requests are transmitted to the server on the basis of a predetermined priority regarding the requests. However, a predetermined priority is not always appropriate.
例えば、第1のリクエストに対するサーバのレスポンスの内容が、第2のリクエストに応じたサーバの処理結果の影響を受けることもある。この場合、第2のリクエストの優先度が比較的低いと、制御装置が第1,第2のリクエストを含む複数のリクエストを同時に受信したときに、第2のリクエストのサーバへの送信が遅延することがある。第2のリクエストのサーバへの送信が遅延すると、サーバは、第1のリクエストに対する応答に、第2のリクエストによる処理結果を反映できない可能性がある。したがって、クライアントは、第1のリクエストに対して、第2のリクエストによる処理結果が反映された最新の状態の応答を得られないことがあるという問題がある。 For example, the content of the server response to the first request may be affected by the processing result of the server corresponding to the second request. In this case, if the priority of the second request is relatively low, transmission of the second request to the server is delayed when the control device receives a plurality of requests including the first and second requests at the same time. Sometimes. If transmission of the second request to the server is delayed, the server may not be able to reflect the processing result of the second request in the response to the first request. Therefore, there is a problem that the client may not obtain a response in the latest state reflecting the processing result of the second request with respect to the first request.
1つの側面では、本発明は、リクエストを適切な順序で送信可能にすることを目的とする。 In one aspect, the present invention is directed to enabling requests to be sent in the proper order.
1つの態様では、送信制御プログラムが提供される。送信制御プログラムは、処理の実行に関する第1のリクエストを受信すると、複数のリクエスト間の関連性に関する情報およびリクエストの送信に関する優先度を該リクエストに対応付けて記憶する記憶部を参照して、第1のリクエストに関連する第2のリクエストと、第2のリクエストに対応する第1の優先度とを特定し、受信したリクエストに応じた処理を実行する情報処理装置に、第1の優先度よりも高い第2の優先度で第2のリクエストを送信する、処理をコンピュータに実行させる。 In one aspect, a transmission control program is provided. When the transmission control program receives the first request related to the execution of the process, the transmission control program refers to the storage unit that stores the information related to the relationship between the plurality of requests and the priority related to the transmission of the request in association with the request. The information processing apparatus that identifies the second request related to the first request and the first priority corresponding to the second request and executes the process according to the received request The second request is transmitted with the second priority that is higher, and the processing is executed by the computer.
また、1つの態様では、送信に関する優先度が対応付けられたリクエストを情報処理装置に送信する送信制御プログラムが提供される。送信制御プログラムは、処理の実行に関する特定のリクエストを受信すると、複数のリクエスト間の関連性に関する情報を記憶する記憶部を参照して、受信したリクエストに関連する他のリクエストを特定し、特定した他のリクエストを情報処理装置に送信する優先度を、他のリクエストに対応付けられた優先度よりも高める制御を実行する、処理をコンピュータに実行させる。 Moreover, in one aspect, a transmission control program is provided that transmits a request associated with a transmission priority to an information processing apparatus. When the transmission control program receives a specific request related to the execution of the process, the transmission control program identifies and identifies other requests related to the received request by referring to a storage unit that stores information regarding the relationship between a plurality of requests. A computer is caused to execute a process of executing a control for increasing the priority of transmitting another request to the information processing device higher than the priority associated with the other request.
1つの側面では、リクエストを適切な順序で送信できる。 In one aspect, requests can be sent in the proper order.
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の送信制御装置を示す図である。送信制御装置1は、ネットワーク(図示を省略している)に接続されており、ネットワークを介して、情報処理装置2および端末装置3,4と通信する。送信制御装置1は、端末装置3,4により送信されたリクエストを受信する。送信制御装置1は、受信したリクエストを一時的に記憶し、情報処理装置2に送信する。送信制御装置1は、リクエストに対するレスポンスを情報処理装置2から受信し、リクエストの送信元の端末装置3,4に送信する。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating a transmission control apparatus according to the first embodiment. The
ここで、端末装置3,4は、あるユーザにより利用されている。送信制御装置1は、情報処理装置2に対する同時接続数の上限値N(Nは1以上の整数)をユーザ毎に管理する。同時接続数は、応答待ちリクエストの数に相当する。応答待ちリクエストは、情報処理装置2に送信したリクエストのうち、情報処理装置2からのレスポンスを未受信であるリクエストである。
Here, the
送信制御装置1は、端末装置3,4による情報処理装置2に対する同時接続数M(Mは0以上の整数)が上限値Nに達していない場合、端末装置3,4からリクエストを受信すると、当該リクエストを情報処理装置2に直ちに送信する。一方、送信制御装置1は、同時接続数Mが上限値Nに達した場合、端末装置3,4からリクエストを受信すると、同時接続数Mが上限値Nを下回るまで当該リクエストを一時的に記憶する。そして、送信制御装置1は、同時接続数Mが上限値Nを下回ると、一時的に記憶した複数のリクエストを、各リクエストに対する優先度に応じた順番で、情報処理装置2に送信する。
When the number M of simultaneous connections to the
送信制御装置1は、各リクエストに対する優先度を制御する機能を提供する。送信制御装置1は、記憶部1aおよび処理部1bを有する。
記憶部1aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部1bは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部1bはプログラムを実行するプロセッサでもよい。「プロセッサ」は、複数のプロセッサの集合(マルチプロセッサ)も含み得る。
The
The
記憶部1aは、リクエストのバッファとして用いられる。また、記憶部1aは、リクエスト関連情報5および優先度情報6を記憶する。
リクエスト関連情報5は、複数のリクエスト間の関連性に関する情報である。2つのリクエストの関連性は、一方のリクエストに対する情報処理装置2の処理結果が、他方のリクエストに対する情報処理装置2の応答に影響を及ぼすという関係を示す。
The
The request related
例えば、リクエスト関連情報5には、関連のある2つのリクエストの種別の組を示す情報が登録される。より具体的には、リクエスト関連情報5には、種別“type1”および種別“type2”というレコードが登録されている。このレコードは、リクエストの種別が“type1”および“type2”である2つのリクエストは、関連があることを示す。このうち、前者の種別“type1”は、下記の優先度制御の契機となる予め特定された種別である。
For example, in the request
リクエストの種別とは、例えば、リクエストに応じた処理の内容や当該処理で扱われるデータの種類などに応じて分類される。一例では、リクエストは、HTTP(HyperText Transfer Protocol)によるリクエスト(HTTPリクエスト)である。この場合、種別は、例えば、HTTPリクエストメッセージのヘッダにおけるリクエスト行のパス名によって分類されてもよい。あるいは、種別は、当該ヘッダにおけるHost名あるいはHost名とパス名との組合せによって分類されてもよい。 The request type is classified according to, for example, the content of processing according to the request, the type of data handled in the processing, and the like. In one example, the request is a request (HTTP request) by HTTP (HyperText Transfer Protocol). In this case, the type may be classified by the path name of the request line in the header of the HTTP request message, for example. Alternatively, the type may be classified according to the host name or the combination of the host name and the path name in the header.
優先度情報6は、優先度をリクエストに対応付けて記録した情報である。例えば、優先度情報6には、リクエストの種別に対して、優先度が登録される。より具体的には、種別“type3”のリクエストの優先度は“1”である。種別“type1”の優先度は“2”である。種別“type4”の優先度は“3”である。種別“type2”の優先度は“4”である。本例では、優先度の数値が小さいほど、優先される度合が高く、優先度の数値が大きいほど、優先される度合が低いものとする。すなわち、優先度情報6の例によれば、種別“type3”のリクエストの優先度が最も高い。2番目に、種別“type1”のリクエストの優先度が高い。3番目に、種別“type4”のリクエストの優先度が高い。そして、種別“type2”のリクエストの優先度が最も低い。
The
ここで、予め優先度が定められた、関連性のある2つのリクエストとしては、種々の例が考えられる。例えば、優先度が高い方のリクエストが端末装置3を利用するユーザによるログの取得要求を示す種別であり、優先度が低い方のリクエストが端末装置3から情報処理装置2へのログの定期的な自動送信を示す種別である場合が考えられる。あるいは、優先度が高い方のリクエストが端末装置3を利用するユーザによるジョブの実行完了の確認要求を示す種別であり、優先度が低い方のリクエストが端末装置3から情報処理装置2へのジョブの実行完了報告を示す種別である場合が考えられる。ただし、関連性のある2つのリクエストの例はこれらに限られるものではない。
Here, various examples can be considered as two related requests, the priorities of which are determined in advance. For example, a request with a higher priority is a type indicating a log acquisition request by a user who uses the
処理部1bは、情報処理装置2における処理の実行に関する第1のリクエストを受信すると、記憶部1aを参照して、第1のリクエストに関連する第2のリクエストを特定する。例えば、処理部1bは、情報処理装置2に対する同時接続数が上限値Nに達している状態で、リクエストR1,R2を端末装置3から受信し、リクエストR3,R4を端末装置4から受信する。処理部1bは、リクエストR1,R2,R3,R4を記憶部1aに格納する(バッファリング)。
When the
ここで、リクエストR1の種別は“type1”である。したがって、リクエストR1(第1のリクエスト)は、特定の種別に対応する特定のリクエストである。リクエストR2の種別は“type2”である。リクエストR3の種別は“type3”である。リクエストR4の種別は“type4”である。 Here, the type of the request R1 is “type1”. Therefore, the request R1 (first request) is a specific request corresponding to a specific type. The type of the request R2 is “type2”. The type of the request R3 is “type3”. The type of the request R4 is “type4”.
例えば、処理部1bは、記憶部1aに記憶されたリクエスト関連情報5を参照して、リクエストR1(第1のリクエスト)に関連するリクエストR2(第2のリクエスト)を特定する。
For example, the
処理部1bは、記憶部1aに記憶された優先度情報6を参照して、第2のリクエストに対応する第1の優先度を特定する。例えば、処理部1bは、優先度情報6を参照して、種別“type2”であるリクエストR2(第2のリクエスト)に対応する第1の優先度“4”を特定する。
The
そして、処理部1bは、第1の優先度よりも高い第2の優先度で第2のリクエストを情報処理装置2に送信する。例えば、処理部1bは、第1の優先度“4”よりも高い第2の優先度でリクエストR2を情報処理装置2に送信する。これにより、優先度情報6に設定された優先度で送信するよりも早く、リクエストR2が情報処理装置2に送信される可能性を高められる。なお、処理部1bにより変更された優先度は、優先度情報6に反映されるものではなく、今回限りの一時的なものである。
Then, the
処理部1bは、リクエストR1の優先度“2”よりも高い優先度“1”を、第2の優先度としてもよい。このとき、例えば、端末装置3,4による同時接続数の上限値N=2とすると、処理部1bは、リクエストR1,R2,R3,R4を次の順番で情報処理装置2に送信する。
The
まず、処理部1bは、優先度が“1”であるリクエストR3と変更後の優先度が“1”であるリクエストR2とを、順次、情報処理装置2に送信する(ステップS1)。
次に、処理部1bは、優先度が“2”であるリクエストR1と優先度が“3”であるリクエストR4とを、順次、情報処理装置2に送信する(ステップS2)。すなわち、処理部1bは、記憶部1aに記憶されたリクエストR1に対応する優先度でリクエストR1を送信する。こうして、処理部1bは、リクエストR1よりも早くリクエストR2を情報処理装置2に送信することができる。
First, the
Next, the
このように、処理部1bは、処理の実行に関する特定のリクエストを受信すると、記憶部1aを参照して、受信したリクエストに関連する他のリクエストを特定する。そして、処理部1bは、特定した他のリクエストを情報処理装置2に送信する優先度を、他のリクエストに対応付けられた優先度よりも高める制御を実行する。
As described above, when the
ここで、リクエストR1に対する情報処理装置2の応答が、リクエストR2の処理結果の影響を受けることがある。この場合、処理部1bは、リクエストR1,R2を受信してバッファリングしているときに、優先度情報6に登録された優先度に従い、リクエストR1,R2の順番で、情報処理装置2に送信することも考えられる。しかし、リクエストR1の方がリクエストR2よりも先に情報処理装置2に送信されると、リクエストR1に対する情報処理装置2の応答に、送信制御装置1に到着済のリクエストR2に対する情報処理装置2の処理結果が反映されないことになる。すなわち、情報処理装置2からの端末装置3に対する応答は最新の情報ではないことになる。この場合、端末装置3は、最新の情報を得るために、情報処理装置2に対するリクエストを再送することになる。
Here, the response of the
そこで、送信制御装置1は、リクエストR1,R2を受信してバッファリングしている場合に、リクエストR2を特定し、リクエストR2の優先度を優先度情報6に設定された優先度よりも高める制御を行う。これにより、予め設定された優先度に従うよりも、リクエストR2が情報処理装置2に送信されるタイミングを早められる。
Therefore, when the
前述のように、処理部1bは、リクエストR2の優先度をリクエストR1の優先度より高めてもよい。このようにすると、リクエストR2が情報処理装置2に送信されるタイミングを一層早めることができる。特に、リクエストR2がリクエストR1よりも先に情報処理装置2に送信される可能性を高められる。
As described above, the
リクエストR2が情報処理装置2に送信されるタイミングを早めることで、リクエストR1に対する情報処理装置2の応答に、リクエストR2に対する情報処理装置2の処理結果が反映される可能性も高まる。したがって、端末装置3がリクエストR1に対して最新の状態の応答を得られる可能性が高まる。
By advancing the timing at which the request R2 is transmitted to the
こうして、送信制御装置1は、適切な順番でリクエストを情報処理装置2に送信することで、端末装置3に対して期待される応答(例えば、最新の情報)を提供することができる。また、端末装置3により余計なリクエストが再送されることを抑え、ネットワークの負荷を抑えられる。
In this way, the
以下では、より具体的な情報処理システムを例示して、送信制御装置1の機能を更に詳細に説明する。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、リバースプロキシサーバ100、Webサーバ200およびクライアント300,400を有する。リバースプロキシサーバ100、Webサーバ200およびクライアント300,400は、ネットワーク10に接続されている。ネットワーク10は、LAN(Local Area Network)やインターネットを含んでもよい。
Hereinafter, a more specific information processing system will be exemplified to describe the function of the
[Second Embodiment]
FIG. 2 illustrates an information processing system according to the second embodiment. The information processing system according to the second embodiment includes a
リバースプロキシサーバ100は、リバースプロキシ機能を提供するサーバコンピュータである。リバースプロキシサーバ100は、クライアント300,400からWebサーバ200へのリクエストの送信を仲介する。また、リバースプロキシサーバ100は、Webサーバ200からクライアント300,400へのレスポンスの送信を仲介する。
The
ここで、リクエストおよびレスポンスは、HTTPのメッセージである。リバースプロキシサーバ100は、クライアント300,400からリクエストを受信し、Webサーバ200に対する同時接続数の上限に達しないように、Webサーバ200へのリクエストの送信を制御する。同時接続数の制限により、リバースプロキシサーバ100は、Webサーバ200の負荷を削減し得る。
Here, the request and the response are HTTP messages. The
なお、リバースプロキシサーバ100は、第1の実施の形態の送信制御装置1の一例である。また、リバースプロキシサーバ100は、SSL(Secure Sockets Layer)アクセラレータなどのアプライアンスに組み込まれてもよい。
The
Webサーバ200は、Webサーバ機能を提供するサーバコンピュータである。Webサーバ200は、リバースプロキシサーバ100からリクエストを受信し、リクエストに応じた処理を実行する。Webサーバ200は、実行結果を示すレスポンスをリバースプロキシサーバ100に送信する。Webサーバ200は、第1の実施の形態の情報処理装置2の一例である。
The
クライアント300,400は、ユーザによって利用されるクライアントコンピュータである。クライアント300,400は、Webブラウザとして機能し、リバースプロキシサーバ100にリクエストを送信する。リクエストは、リバースプロキシサーバ100によるAPI(Application Programming Interface)の実行要求であり、「API実行リクエスト」と呼ばれてもよい。また、クライアント300,400は、リバースプロキシサーバ100から、リクエストに応じたレスポンスを受信する。クライアント300,400は、第1の実施の形態の端末装置3,4の一例である。
ここで、クライアント300,400により送信されるリクエストには、ユーザ操作リクエストおよび自動実行リクエストの2種類が含まれる。ユーザ操作リクエストは、クライアント300,400に対するユーザの操作に応じて送信されるリクエストである。例えば、ユーザ操作リクエストには、ユーザの操作入力に応じたログの取得要求や、ジョブの実行完了の確認要求などがある。
Here, the requests transmitted by the
自動実行リクエストは、クライアント300,400により実行される所定のソフトウェアによって自動的に(すなわち、ユーザの操作に依らずに)送信されるリクエストである。例えば、自動実行リクエストには、Webサーバ200との疎通確認やセッション維持を行うためのリクエストが考えられる。また、自動実行リクエストには、クライアント300,400のログをWebサーバ200に提供するためのリクエストやクライアント300,400によるジョブの実行完了を通知するためのリクエストなどが考えられる。
The automatic execution request is a request that is automatically transmitted by predetermined software executed by the
クライアント300,400を利用するユーザには、Webサーバ200に対する同時接続数の上限が予め定められている。例えば、同時接続数の上限は、リバースプロキシサーバ100およびWebサーバ200を提供する事業者と、クライアント300,400を利用するユーザ(テナント)との間の契約によって定められてもよい。または、リバースプロキシサーバ100およびWebサーバ200を提供する組織と、クライアント300,400を利用するユーザが属する組織とが同一であれば、当該組織のポリシーによって、ユーザ(例えば、部門)毎の同時接続数の上限が定められてもよい。
For users who use the
図3は、リバースプロキシサーバのハードウェア例を示す図である。リバースプロキシサーバ100は、プロセッサ101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106およびNIC(Network Interface Card)107を有する。各ハードウェアはリバースプロキシサーバ100のバスに接続されている。Webサーバ200やクライアント300,400もリバースプロキシサーバ100と同様のハードウェアを用いて実現できる。
FIG. 3 is a diagram illustrating a hardware example of the reverse proxy server. The
プロセッサ101は、リバースプロキシサーバ100の情報処理を制御するハードウェアである。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
The
RAM102は、リバースプロキシサーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
The
HDD103は、リバースプロキシサーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。リバースプロキシサーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
The
画像信号処理部104は、プロセッサ101からの命令に従って、リバースプロキシサーバ100に接続されたディスプレイ11に画像を出力する。ディスプレイ11として、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
The image
入力信号処理部105は、リバースプロキシサーバ100に接続された入力デバイス12から入力信号を取得し、プロセッサ101に出力する。入力デバイス12として、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
The input
媒体リーダ106は、記録媒体13に記録されたプログラムやデータを読み取る装置である。記録媒体13として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体13として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ106は、例えば、プロセッサ101からの命令に従って、記録媒体13から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
The
NIC107は、ネットワーク10を介して他の装置と通信を行う。NIC107は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
図4は、リバースプロキシサーバの機能例を示す図である。リバースプロキシサーバ100は、記憶部110、通信処理部120および優先度制御部130を有する。記憶部110は、RAM102や記憶部110の記憶領域により実現される。通信処理部120および優先度制御部130は、プロセッサ101により実現される。例えば、プロセッサ101は、RAM102に記憶されたプログラムを実行することで、通信処理部120および優先度制御部130の機能を発揮する。ただし、通信処理部120および優先度制御部130は、FPGAやASICなどのハードワイヤードロジックにより実現されてもよい。
The
FIG. 4 is a diagram illustrating a function example of the reverse proxy server. The
記憶部110は、クライアント300,400から受信したリクエストのキャッシュとして用いられる。記憶部110は、リクエスト関連テーブルを記憶する。リクエスト関連テーブルは、複数のリクエストの間の関連を示す情報である。また、記憶部110は、優先度テーブルを記憶する。優先度テーブルは、リクエスト毎の優先度を示す情報である。
The
通信処理部120は、クライアント300,400により送信されたリクエストを受信し、受信したリクエストをWebサーバ200に転送する。また、通信処理部120は、リクエストに応じてWebサーバ200により送信されたレスポンスを受信し、受信したレスポンスをクライアント300,400に転送する。
The
通信処理部120は、クライアント300,400に対して定められた同時接続数の上限に達しないように、Webサーバ200に対して送信するリクエストの数を制限する。同時接続数は、例えば、Webサーバ200に送信したリクエストのうち、Webサーバ200からのレスポンスを未受信であるリクエストの数である。通信処理部120は、同時接続数の上限を超えた数のリクエストを受信すると、受信したリクエストを記憶部110に格納する(バッファリング)。
The
通信処理部120は、優先度テーブルおよび優先度制御部130により決定された優先度に応じた順序で、バッファリングされたリクエストをWebサーバ200に送信する。
優先度制御部130は、記憶部110に格納されたリクエストに対する優先度の制御を行う。優先度制御部130は、記憶部110に格納された複数のリクエストの中から、リクエスト関連テーブルに基づいて関連性のあるリクエストを特定し、特定したリクエストの優先度を変更する。優先度制御部130は、変更後の優先度を通信処理部120に通知する。なお、優先度制御部130による優先度の変更は、今回限りの一時的な設定変更であり、記憶部110に記憶された優先度テーブルの設定内容が変更されるわけではない。
The
The
図5は、リクエスト関連テーブルの例を示す図である。リクエスト関連テーブル111は、記憶部110に予め格納されている。リクエスト関連テーブル111は、ユーザ操作リクエストおよび自動実行リクエストの項目を含む。
FIG. 5 is a diagram illustrating an example of a request relation table. The request related table 111 is stored in the
ユーザ操作リクエストの項目には、ユーザ操作リクエストの種別を示すURL(Uniform Resource Locator)が登録される。ユーザ操作リクエストは、優先度制御部130による優先度制御の契機となる特定のリクエストとして、リクエスト関連テーブル111に設定される。URLは、ホスト名とパス名との組合せを含む。自動実行リクエストの項目には、自動実行リクエストの種別を示すURLが登録される。
In the user operation request item, a URL (Uniform Resource Locator) indicating the type of the user operation request is registered. The user operation request is set in the request relation table 111 as a specific request that triggers priority control by the
ここで、URLは、Webサーバ200により提供されるサービスあるいはコンテンツに対応する識別情報であり、クライアント300,400により指定されるURLである。ただし、クライアント300,400によって指定されるURLは、リバースプロキシサーバ100へリクエストを送信するためのURLとなっている。リバースプロキシサーバ100は、クライアント300,400から受信したリクエストに含まれるURLを、Webサーバ200における該当のサービスまたはコンテンツに対応するURLに変換して、当該リクエストをWebサーバ200に転送する。
Here, the URL is identification information corresponding to a service or content provided by the
例えば、リクエスト関連テーブル111には、ユーザ操作リクエストが“https://xxx”、自動実行リクエストが“https://aaa”というレコードが登録されている。このレコードは、ユーザ操作リクエスト“https://xxx”と自動実行リクエスト“https://aaa”とが関連していることを示す。 For example, in the request relation table 111, a record that the user operation request is “https: // xxx” and the automatic execution request is “https: /// aaa” is registered. This record indicates that the user operation request “https: // xxx” and the automatic execution request “https: /// aaa” are related to each other.
ここで、自動実行リクエスト“https://aaa”は、例えば、Webサーバ200にログなどの所定の情報を提供するためのリクエストである。また、ユーザ操作リクエストは、例えば、Webサーバ200に提供された当該ログなどの所定の情報を取得するためのリクエストである。
Here, the automatic execution request “https: /// aaa” is a request for providing predetermined information such as a log to the
図6は、優先度テーブルの例を示す図である。優先度テーブル112は、記憶部110に予め格納されている。優先度テーブル112は、優先度およびリクエストの項目を含む。
FIG. 6 is a diagram illustrating an example of a priority table. The priority table 112 is stored in the
優先度の項目には、優先度を示す数値が登録される。優先度を示す数値が小さいほど、優先される度合が高いものとする。リクエストの項目には、リクエストの種別を示すURLが登録される。 In the priority item, a numerical value indicating the priority is registered. It is assumed that the smaller the numerical value indicating the priority is, the higher the priority is. In the request item, a URL indicating the type of request is registered.
例えば、優先度テーブル112には、優先度が“1”、リクエストが“https://111”という情報が登録されている。これは、リクエスト“https://111”の優先度が“1”であることを示す。 For example, information indicating that the priority is “1” and the request is “https: // 111” is registered in the priority table 112. This indicates that the priority of the request “https: // 111” is “1”.
ここで、優先度“1”は、最高の優先度である。優先度“1”に対応付けられるリクエストは、主に、Webサーバ200に対して重要性の高いメッセージ(例えば、クライアントにおける障害発生時のエラーなど)を通知するための自動実行リクエストである。
Here, the priority “1” is the highest priority. The request associated with the priority “1” is mainly an automatic execution request for notifying the
優先度“2”は、中間の優先度である。優先度“2”に対応付けられるリクエストは、主に、ユーザ操作リクエストである。
優先度“3”は、最低の優先度である。優先度“3”に対応付けられるリクエストは、主に、Webサーバ200に対して重要性の低いメッセージ(例えば、クライアントにおいて取得されたログなど)を通知するための自動実行リクエストである。
The priority “2” is an intermediate priority. Requests associated with the priority “2” are mainly user operation requests.
The priority “3” is the lowest priority. The request associated with the priority “3” is mainly an automatic execution request for notifying the
次に、リバースプロキシサーバ100による処理手順を説明する。
図7は、リバースプロキシサーバの処理例を示すフローチャートである。以下、図7に示す処理をステップ番号に沿って説明する。例えば、リバースプロキシサーバ100は、下記の手順を所定の周期(例えば、100ミリ秒や1秒など)で実行する。
Next, a processing procedure by the
FIG. 7 is a flowchart illustrating a processing example of the reverse proxy server. In the following, the process illustrated in FIG. 7 will be described along with step numbers. For example, the
(S11)通信処理部120は、クライアント300,400から受信したリクエストを記憶部110に蓄積し、蓄積したリクエストの数が、同時接続数の上限値Nよりも大きいか否かを判定する。蓄積したリクエストの数が上限値Nよりも大きい場合、通信処理部120は、ステップS13に処理を進める。蓄積したリクエストの数が上限値N以下の場合、通信処理部120は、ステップS12に処理を進める。
(S11) The
(S12)通信処理部120は、全てのリクエストをWebサーバ200に送信する。そして、通信処理部120は、処理を終了する。
(S13)通信処理部120は、記憶部110に蓄積されたリクエストのうち、ユーザ操作リクエストの数が同時接続数の上限値N以下であるか否かを判定する。ユーザ操作リクエストの数が上限値N以下である場合、通信処理部120は、ステップS15に処理を進める。ユーザ操作リクエストの数が上限値Nよりも大きい場合、通信処理部120は、ステップS14に処理を進める。ここで、通信処理部120は、記憶部110に蓄積されたリクエストのヘッダに含まれるパス名などから、ユーザ操作リクエストや自動実行リクエストを分類することができる。
(S12) The
(S13) The
(S14)通信処理部120は、上限値Nを超過した分のユーザ操作リクエストの受け付けを拒否する(蓄積されるユーザ操作リクエストの数の上限も上限値Nとなる)。例えば、通信処理部120は、上限値Nを超過してユーザ操作リクエストが送信されたことを、当該ユーザ操作リクエストの送信元のクライアント300またはクライアント400に通知し、超過した分のユーザ操作リクエストを破棄する。そして、通信処理部120は、ステップS15に処理を進める。
(S14) The
(S15)優先度制御部130は、蓄積したリクエストに対する優先度制御を行う。優先度制御の処理の詳細は後述される。
(S16)通信処理部120は、記憶部110に記憶された優先度テーブル112および優先度制御部130により変更された優先度に応じた順序で、記憶部110に蓄積されたリクエストをWebサーバ200に送信する。そして、通信処理部120は、処理を終了する。
(S15) The
(S16) The
このように、通信処理部120は、ユーザ操作リクエスト(第1のリクエスト)を受信すると、Webサーバからの応答待ちリクエスト数が上限値を超過するか否かを判定する。当該リクエスト数が上限数を超過する場合に、通信処理部120は、ユーザ操作リクエストを記憶部110に保存する。そして、通信処理部120は、記憶部110に保存されたリクエストから、ユーザ操作リクエストに関連する自動実行リクエスト(第2のリクエスト)を特定し、優先度に応じてユーザ操作リクエストおよび自動実行リクエストの送信順序を決定する。
As described above, when receiving the user operation request (first request), the
なお、ステップS13,S14のように、ユーザ操作リクエスト数が同時接続数の上限値Nを超過しない限り、ユーザ操作リクエストの受け付けを許容することで、自動実行リクエストによりユーザ操作リクエストの送信が妨げられることを防げる。すなわち、ユーザ操作によるAPI実行リクエスト数だけに着目すると同時接続数の制限値を超過していない状況では、ユーザ操作に関係なく自動送信されるAPI実行リクエスト数が多くても、ユーザ操作によるAPI実行リクエストの送信を妨げずに済む。 Note that, as in steps S13 and S14, as long as the number of user operation requests does not exceed the upper limit N of the number of simultaneous connections, the acceptance of the user operation request is permitted, thereby preventing the transmission of the user operation request by the automatic execution request. I can prevent that. In other words, if only the number of API execution requests by the user operation is considered, in a situation where the limit value of the number of simultaneous connections is not exceeded, even if the number of API execution requests automatically transmitted regardless of the user operation, the API execution by the user operation is large. There is no need to prevent the request from being sent.
図8は、優先度制御の例を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。以下に示す手順は、図7のステップS15に相当する。
(S21)優先度制御部130は、記憶部110に記憶されたリクエスト関連テーブル111を参照する。
FIG. 8 is a flowchart illustrating an example of priority control. In the following, the process illustrated in FIG. 8 will be described in order of step number. The procedure shown below corresponds to step S15 in FIG.
(S21) The
(S22)優先度制御部130は、記憶部110に蓄積されたリクエストを参照して、リクエスト関連テーブル111に登録されているユーザ操作リクエストを受信したか否かを判定する。リクエスト関連テーブル111に登録されているユーザ操作リクエストを受信した場合、優先度制御部130は、ステップS23に処理を進める。リクエスト関連テーブル111に登録されているユーザ操作リクエストを受信していない場合、優先度制御部130は、処理を終了する。
(S22) The
(S23)優先度制御部130は、ユーザ操作リクエストと該当のユーザ操作リクエストに関連する自動実行リクエストとを同一クライアントから受信した否かを判定する。両方のリクエストを同一クライアントから受信した場合、優先度制御部130は、ステップS24に処理を進める。ユーザ操作リクエストと当該ユーザ操作リクエストに関連する自動実行リクエストとを異なるクライアントから受信した場合、優先度制御部130は、処理を終了する。
(S23) The
(S24)優先度制御部130は、該当の自動実行リクエストの優先度をユーザ操作リクエストよりも高くする。
こうして、リバースプロキシサーバ100は、ユーザ操作リクエストに関連する自動実行リクエストの優先度を当該ユーザ操作リクエストの優先度よりも高くする。これにより、リバースプロキシサーバ100は、自動実行リクエストを、当該自動実行リクエストに関連するユーザ操作リクエストよりも早くWebサーバ200に送信することができる。
(S24) The
In this way, the
なお、ステップS23のように、優先度制御部130は、自動実行リクエストの送信元が関連するユーザ操作リクエストの送信元と同じであるか否かを判定する。そして、優先度制御部130は、両送信元が同じである場合に、当該自動実行リクエストの優先度を既定の優先度よりも高い優先度に変更する。これにより、適切なリクエストに絞って、優先度の変更を行える。
Note that, as in step S23, the
図9は、リクエストの優先度の変更例を示す図である。リバースプロキシサーバ100がクライアント300,400からリクエスト群113を受信し、記憶部110に蓄積している場合を考える。ここで、図中、“clientA”は、クライアント300の識別情報である。“clientB”は、クライアント400の識別情報である。
FIG. 9 is a diagram illustrating an example of changing the priority of a request. Consider a case where the
例えば、リクエスト群113は、クライアント300により送信されたリクエスト“https://aaa”を含む。優先度テーブル112に登録されているリクエスト“https://aaa”の優先度は“3”である。
For example, the
また、リクエスト群113は、クライアント300により送信されたリクエスト“https://xxx”を含む。優先度テーブル112に登録されているリクエスト“https://xxx”の優先度は“2”である。
The
また、リクエスト群113は、クライアント400により送信されたリクエスト“https://bbb”を含む。優先度テーブル112に登録されているリクエスト“https://bbb”の優先度は“3”である。
The
更に、リクエスト群113は、クライアント400により送信されたリクエスト“https://111”を含む。優先度テーブル112に登録されているリクエスト“https://111”の優先度は“1”である。
Further, the
優先度制御部130は、リクエスト関連テーブル111を参照して、リクエスト群113の中から相互に関連するリクエストの組を特定する。リクエスト関連テーブル111の例では、ユーザ操作リクエスト“https://xxx”と、自動実行リクエスト“https://aaa”との組が登録されている。また、ユーザ操作リクエスト“https://xxx”および自動実行リクエスト“https://aaa”は、同一のクライアント(クライアント300)により送信されたリクエストである。このため、優先度制御部130は、リクエスト群113において、自動実行リクエスト“https://aaa”の優先度を、ユーザ操作リクエスト“https://xxx”の優先度“2”よりも高くする。具体的には、優先度制御部130は、リクエスト群113における自動実行リクエスト“https”://aaa”の優先度を“1”に変更する。リクエスト群114は、自動実行リクエスト“https://aaa”の優先度を“1”に変更した結果を示している。通信処理部120は、変更後の優先度に応じた順序で、リクエスト群114に属する各リクエストをWebサーバ200に送信する。
The
図10は、リクエストの送信例(その1)を示す図である。クライアント300,400の両方による同時接続数の上限値Nが“2”である場合を考える。なお、図中、クライアント300,400からリバースプロキシサーバ100へのリクエストと、リバースプロキシサーバ100からWebサーバ200へのリクエストとの対応が分かり易いように、便宜的に、両リクエストを共通の表記(“https://aaa”など)としている(他の図でも同様に表記することがある)。ただし、前述のように、リバースプロキシサーバ100は、クライアント300,400から受信したリクエストのURLのドメインを、バックエンドのWebサーバ200のドメインまたはIP(Internet Protocol)アドレスに変換して転送する。
FIG. 10 is a diagram illustrating a transmission example (part 1) of a request. Consider a case where the upper limit N of the number of simultaneous connections by both the
あるタイミングで、リバースプロキシサーバ100は、クライアント300からリクエスト“https://aaa”、“https://xxx”を受信し、クライアント400からリクエスト“https://bbb”、“https://111”を受信する(ステップST11)。ステップST11の段階では、クライアント300,400の両方による同時接続数が上限値Nに達しているとする。また、ステップST11で受信したユーザ操作リクエストの数は“2”であり、同時接続数の上限値N以下である。
At a certain timing, the
この場合、リバースプロキシサーバ100は、リクエスト“https://aaa”、“https://xxx”、“https://bbb”、“https://111”を記憶部110に格納する。そして、図9で例示したように、リバースプロキシサーバ100は、クライアント300から送信されたリクエスト“https://aaa”、“https://xxx”の関連を検出する。このため、リバースプロキシサーバ100は、リクエスト“https://aaa”の優先度をリクエスト“https://xxx”の優先度よりも上げる。
In this case, the
その後、リバースプロキシサーバ100は、クライアント300,400による同時接続数に空きができたことを検出する。すると、リバースプロキシサーバ100は、記憶部110に格納した各リクエストの送信順序を決定する。このとき、リバースプロキシサーバ100は、リクエスト“https://xxx”、“https://bbb”、“https://111”については優先度テーブル112の優先度を用い、“https://aaa”については変更後の優先度を用いる。
Thereafter, the
具体的には、リクエスト“https://xxx”の優先度は“2”である。リクエスト“https://bbb”の優先度は“3”である。リクエスト“https://111”の優先度は“1”である。リクエスト“https://aaa”の変更後の優先度は“1”である。このため、リバースプロキシサーバ100は、まずは、リクエスト“https://aaa”、“https://111”を、順番に、Webサーバ200に送信する(ステップST12)。その後、リバースプロキシサーバ100は、リクエスト“https://xxx”、“https://bbb”を、順番に、Webサーバ200に送信する(ステップST13)。
Specifically, the priority of the request “https: // xxx” is “2”. The priority of the request “https: // bbb” is “3”. The priority of the request “https: // 111” is “1”. The priority after changing the request “https: // aaa” is “1”. For this reason, the
こうして、リバースプロキシサーバ100は、あるタイミングにおいて、互いに関連性のあるユーザ操作リクエストと自動実行リクエストとを受信した場合に、自動実行リクエストの優先度をユーザ操作リクエストの優先度よりも上げる。これにより、リバースプロキシサーバ100は、ユーザ操作リクエストよりも先に、自動実行リクエストをWebサーバ200に送信することができる。
In this way, when the
図11は、リクエストの送信例(その2)を示す図である。図11でも、クライアント300,400の両方による同時接続数の上限値Nが“2”である場合を考える。図11では、図10におけるリクエストを更に具体的に示している。
FIG. 11 is a diagram illustrating a transmission example (part 2) of a request. Also in FIG. 11, consider the case where the upper limit N of the number of simultaneous connections by both
ログ更新要求は、リクエスト“https://aaa”に対応する自動実行リクエストである。ログ更新要求は、Webサーバ200に対して、クライアント300のログを提供するためのリクエストである。例えば、Webサーバ200は、クライアント300により提供されたログを保持し、ログ取得要求に応じて、保持したログをクライアントに提供する。ログ更新要求に対して予め設定された優先度は“3”である。
The log update request is an automatic execution request corresponding to the request “https: /// aaa”. The log update request is a request for providing the log of the
ログ取得要求は、リクエスト“https://xxx”に対応するユーザ操作リクエストである。ログ取得要求は、Webサーバ200に対してクライアント300に関するログの提供を要求するためのリクエストである。ログ取得要求に対して予め設定された優先度は“2”である。
The log acquisition request is a user operation request corresponding to the request “https: // xxx”. The log acquisition request is a request for requesting the
所定処理要求は、リクエスト“https://111”に対応する自動実行リクエストである。所定処理要求は、Webサーバ200に対して所定の処理の実行を要求するためのリクエストである。所定処理要求に対して予め設定された優先度は“1”である。
The predetermined processing request is an automatic execution request corresponding to the request “https: // 111”. The predetermined process request is a request for requesting the
あるタイミングにおいて、リバースプロキシサーバ100は、ログ更新要求およびログ取得要求をクライアント300から受信し、所定処理要求をクライアント400から受信する(ステップST21)。なお、ステップST21の段階では、クライアント300,400の両方による同時接続数が上限値Nに達しているとする。また、ステップST21で受信したユーザ操作リクエストの数は“2”であり、同時接続数の上限値N以下である。
At a certain timing, the
この場合、リバースプロキシサーバ100は、ログ更新要求、ログ取得要求および所定処理要求を記憶部110に格納する。そして、図9で例示したように、リクエスト関連テーブル111に基づいて、ログ更新要求およびログ取得要求の関連を検出し、ログ更新要求の優先度をログ取得要求の優先度よりも上げる。
In this case, the
その後、リバースプロキシサーバ100は、クライアント300,400による同時接続数に空きができたことを検出する。すると、リバースプロキシサーバ100は、ログ取得要求および所定処理要求については、優先度テーブル112に設定された優先度に従い、ログ更新要求については、変更後の優先度に従って、ログ更新要求、ログ取得要求および所定処理要求の送信順序を決定する。具体的には、ログ取得要求の優先度は“2”である。所定処理要求の優先度は“1”である。ログ更新要求の変更後の優先度は“1”である。このため、リバースプロキシサーバ100は、まずは、所定処理要求およびログ更新要求を、順番に、Webサーバ200に送信する(ステップST22)。その後、リバースプロキシサーバ100は、ログ取得要求をWebサーバ200に送信する(ステップST23)。
Thereafter, the
こうして、リバースプロキシサーバ100は、ログ取得要求よりも前に、ログ更新要求をWebサーバ200に送信することができる。
図12は、リクエスト送信の比較例を示す図である。図12では、図11の例において、優先度テーブル112の優先度を変更せずに、リクエストの送信順序を決定する例を示す。ここで、図12の説明では、リバースプロキシサーバ100に代えて、リバースプロキシサーバ900を用いる。また、以下に示すログ更新要求に対して予め設定された優先度は“3”である。ログ取得要求に対して予め設定された優先度は“2”である。所定処理要求に対して予め設定された優先度は“1”である。
In this way, the
FIG. 12 is a diagram illustrating a comparative example of request transmission. FIG. 12 illustrates an example in which the transmission order of requests is determined without changing the priority of the priority table 112 in the example of FIG. Here, in the description of FIG. 12, a
あるタイミングにおいて、リバースプロキシサーバ900は、ログ更新要求およびログ取得要求をクライアント300から受信し、所定処理要求をクライアント400から受信する(ステップST31)。なお、ステップST31の段階では、クライアント300,400の両方による同時接続数が上限値Nに達しているとする。また、ステップST31で受信したユーザ操作リクエストの数は“2”であり、同時接続数の上限値N以下である。
At a certain timing, the
その後、リバースプロキシサーバ900は、クライアント300,400による同時接続数に空きができたことを検出する。すると、リバースプロキシサーバ900は、ログ更新要求、ログ取得要求および所定処理要求に対して予め定められた優先度に従って、ログ更新要求、ログ取得要求および所定処理要求の送信順序を決定する。具体的には、ログ更新要求の優先度は“3”である。ログ取得要求の優先度は“2”である。所定処理要求の優先度は“1”である。このため、リバースプロキシサーバ900は、まずは、所定処理要求およびログ取得要求を、順番に、Webサーバ200に送信する(ステップST32)。その後、リバースプロキシサーバ900は、ログ更新要求をWebサーバ200に送信する(ステップST33)。
Thereafter, the
この場合、ログ更新要求は、ログ取得要求より後に、Webサーバ200に送信されることになる。すると、Webサーバ200によるログ取得要求に対するレスポンス(Webサーバ200により保持されるクライアント300のログを含む)には、ステップST33のログ更新要求によるログ更新の結果が反映されないことになる。すなわち、ログ取得要求に対して、最新のログを取得することが期待されるが、クライアント300は最新のログを取得できないことになり、期待される動作になっていない。しかも、クライアント300は、最新のログを取得しようとすると、Webサーバ200にログ取得要求を再送することになる。
In this case, the log update request is transmitted to the
そこで、リバースプロキシサーバ100は、図11で例示したように、リクエストの優先度を変更することで、ログ取得要求よりも先に、ログ更新要求をWebサーバ200に送信する。これにより、リバースプロキシサーバ100は、ログ取得要求およびログ更新要求を適切な順序で送信することができる。すなわち、Webサーバ200によるログ取得要求へのレスポンスに、ログ更新要求によるログ更新の結果が反映される。このため、クライアント300は、ログ取得要求に対して、最新のログを取得可能になる。
Therefore, as illustrated in FIG. 11, the
こうして、Webサーバ200に対して期待される動作を実現できる可能性が高まる。すなわち、通常時は優先度の低いAPI実行リクエストでも、あるユーザ操作が行われたときは当該API実行リクエストを先に実行しないと期待する結果が返ってこない場合は、当該API実行リクエストの優先度を上げることで、期待しない結果が返ることを防げる。
In this way, the possibility of realizing the expected operation for the
また、クライアント300により、Webサーバ200へログ取得要求を再送せずに済む。クライアント300によるリクエストの再送を抑えることで、リバースプロキシサーバ100、Webサーバ200およびクライアント300やネットワークの負荷を軽減できる利点もある。
Further, it is not necessary for the
[第3の実施の形態]
次に、第3の実施の形態を説明する。前述の第2の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
[Third Embodiment]
Next, a third embodiment will be described. Items that differ from the second embodiment described above will be mainly described, and descriptions of common items will be omitted.
リバースプロキシサーバ100は、クライアント300,400から受信した複数のリクエストを1つのリクエストにまとめて、Webサーバ200に送信してもよい。このようにすると、Webサーバ200に対する同時接続数を減らすことができる。
The
図13は、第3の実施の形態のマルチパートのリクエストの例を示す図である。例えば、リバースプロキシサーバ100は、リクエストReq1,Req2を、マルチパートのリクエスト500にまとめる。ここで、一例として、リクエストReq1は、リクエスト“https://aaa”に相当する自動実行リクエストである。また、リクエストReq2は、リクエスト“https://111”に相当する自動実行リクエストである。
FIG. 13 is a diagram illustrating an example of a multipart request according to the third embodiment. For example, the
1つの方法として、例えば、リクエスト500のヘッダ部501に、複数のリクエストをひとまとめにしたことを示す識別情報を設定し、リクエスト500のボディ部502に、リクエストReq1,Req2の内容を挿入することが考えられる。識別情報としては、例えば、ヘッダ部501のContent−Typeヘッダにおける“multipart”が考えられる。このように、リバースプロキシサーバ100は、複数のリクエストからマルチパートの1つのリクエストを作成して、Webサーバ200に送信する。マルチパートのリクエストの作成方法には、特開2005−322222号公報も参考にすることができる。
As one method, for example, identification information indicating that a plurality of requests are grouped together is set in the
Webサーバ200は、マルチパートのリクエスト500を検出すると、ボディ部502におけるリクエストReq1,Req2を分離して処理する。そして、Webサーバ200は、リクエストReq1,Req2に対する処理結果をひとまとめにしたマルチパートのレスポンスを生成し、リバースプロキシサーバ100に送信する。
When detecting the multipart request 500, the
リバースプロキシサーバ100は、Webサーバ200から受信したマルチパートのレスポンスからリクエストReq1,Req2に対応する2つのレスポンスを抽出し、クライアント300,400に送信する。リバースプロキシサーバ100は、抽出したレスポンスを、リクエスト送信元のクライアントに適切に送信可能にするため、リクエスト送信元管理テーブルを保持する。
The
図14は、リクエスト送信元管理テーブルの例を示す図である。リクエスト送信元管理テーブル115は、記憶部110に格納される。リクエスト送信元管理テーブル115は、まとめられたリクエストの組毎に、通信処理部120により作成される。リクエスト送信元管理テーブル115は、リクエストおよび送信元の項目を含む。
FIG. 14 is a diagram illustrating an example of a request transmission source management table. The request transmission source management table 115 is stored in the
リクエストの項目には、リクエストの種別を示すURLが登録される。送信元の項目には、クライアントの識別情報が登録される。クライアントの識別情報は、IPアドレスなどのアドレス情報でもよい。 In the request item, a URL indicating the type of request is registered. Client identification information is registered in the transmission source item. The client identification information may be address information such as an IP address.
例えば、リクエスト送信元管理テーブル115には、リクエストが“https://aaa”、送信元が“clientA”というレコードが登録される。このレコードは、マルチパートのリクエスト要素のうち、URL“https://aaa”のリクエストの送信元が“clientA”で示されるクライアント300であることを示す。
For example, in the request transmission source management table 115, a record that the request is “https: // aaa” and the transmission source is “clientA” is registered. This record indicates that, among the multi-part request elements, the transmission source of the request of URL “https: // aaa” is the
次に、第3の実施の形態におけるリバースプロキシサーバ100の処理手順を説明する。
図15は、リバースプロキシサーバの処理例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
Next, the processing procedure of the
FIG. 15 is a flowchart illustrating a processing example of the reverse proxy server. In the following, the process illustrated in FIG. 15 will be described in order of step number.
(S31)通信処理部120は、クライアント300,400から受信したリクエストを記憶部110に蓄積し、蓄積したリクエストの数が、同時接続数の上限値Nよりも大きいか否かを判定する。蓄積したリクエストの数が上限値Nよりも大きい場合、通信処理部120は、ステップS33に処理を進める。蓄積したリクエストの数が上限値N以下の場合、通信処理部120は、ステップS32に処理を進める。
(S31) The
(S32)通信処理部120は、全てのリクエストをWebサーバ200に送信する。そして、通信処理部120は、処理を終了する。
(S33)通信処理部120は、記憶部110に蓄積されたリクエストのうち、ユーザ操作リクエストの数が同時接続数の上限値N以下であるか否かを判定する。ユーザ操作リクエストの数が上限値N以下である場合、通信処理部120は、ステップS35に処理を進める。ユーザ操作リクエストの数が上限値Nよりも大きい場合、通信処理部120は、ステップS34に処理を進める。
(S32) The
(S33) The
(S34)通信処理部120は、上限値Nを超過した分のユーザ操作リクエストの受け付けを拒否する(蓄積されるユーザ操作リクエストの数の上限も上限値Nとなる)。例えば、通信処理部120は、上限値Nを超過してユーザ操作リクエストが送信されたことを、当該ユーザ操作リクエストの送信元のクライアント300またはクライアント400に通知し、超過した分のユーザ操作リクエストを破棄する。そして、通信処理部120は、ステップS35に処理を進める。
(S34) The
(S35)優先度制御部130は、蓄積したリクエストに対する優先度制御を行う。優先度制御の処理手順は、図8で例示した手順と同様である。
(S36)通信処理部120は、ユーザ操作リクエストよりも高優先度の自動実行リクエストが複数あるか否かを判定する。ユーザ操作リクエストよりも高優先度の自動実行リクエストが複数ある場合、通信処理部120は、ステップS37に処理を進める。ユーザ操作リクエストよりも高優先度の自動実行リクエストが複数ない(すなわち、1つの)場合、通信処理部120は、ステップS39に処理を進める。
(S35) The
(S36) The
(S37)通信処理部120は、ユーザ操作リクエストよりも高優先度の複数の自動実行リクエストを含む1つのリクエスト(マルチパートのリクエスト)を生成する。このとき、通信処理部120は、まとめたリクエストの組に対して、リクエスト送信元管理テーブル115を生成し、記憶部110に格納する。
(S37) The
(S38)通信処理部120は、生成したリクエストをWebサーバ200に送信する。そして、通信処理部120は、ステップS40に処理を進める。
(S39)通信処理部120は、ユーザ操作リクエストよりも高優先度の自動実行リクエストをWebサーバ200に送信する。そして、通信処理部120は、ステップS40に処理を進める。
(S38) The
(S39) The
(S40)通信処理部120は、ユーザ操作リクエストをWebサーバ200に送信する。
(S41)通信処理部120は、ユーザ操作リクエストよりも低優先度の自動実行リクエストをWebサーバ200に送信する。
(S40) The
(S41) The
このように、通信処理部120は、ユーザ操作リクエストの優先度(第3の優先度)よりも高い優先度である自動実行リクエスト(第3のリクエスト)と当該ユーザ操作リクエストに関連する自動実行リクエスト(第2のリクエスト)とを含むマルチパートのリクエスト(第4のリクエスト)を生成する。そして、通信処理部120は、ユーザ操作リクエストの優先度(第3の優先度)よりも高い優先度で、生成したマルチパートのリクエストをWebサーバ200に送信する。
As described above, the
図16は、通信例(その1)を示す図である。図16(A)は、リバースプロキシサーバ100によるWebサーバ200へのリクエストの送信例を示す。クライアント300,400の両方による同時接続数の上限値Nが“2”である場合を考える。
FIG. 16 is a diagram illustrating a communication example (part 1). FIG. 16A shows an example of transmission of a request to the
あるタイミングでリバースプロキシサーバ100は、クライアント300からリクエスト“https://aaa”、“https://xxx”を受信し、クライアント400からリクエスト“https://bbb”、“https://111”を受信する(ステップST41)。ステップST41の段階では、クライアント300,400の両方による同時接続数が上限値Nに達しているとする。また、ステップST41で受信したユーザ操作リクエストの数は“2”であり、同時接続数の上限値N以下である。
At a certain timing, the
この場合、リバースプロキシサーバ100は、受信した4つのリクエストを記憶部110に格納する。そして、図9で例示したように、リクエスト“https://aaa”、“https://xxx”の関連を検出し、リクエスト“https://aaa”の優先度をリクエスト“https://xxx”の優先度よりも上げる。
In this case, the
すると、ユーザ操作リクエスト“https://xxx”よりも優先度の高い2つの自動実行リクエスト“https://aaa”、“https://111”が存在することになる。このため、リバースプロキシサーバ100は、これら2つの自動実行リクエスト“https://aaa”、“https://111”を1つにまとめたマルチパートのリクエストを生成する。そして、クライアント300,400による同時接続数に空きができると、生成したマルチパートのリクエスト、および、ユーザ操作リクエスト“https://xxx”を、順番に、Webサーバ200に送信する(ステップST42)。このとき、リバースプロキシサーバ100は、ひとまとめにしたリクエスト“https://aaa”、“https://111”の組に対して、リクエスト送信元管理テーブル115を生成し、記憶部110に格納する。その後、リバースプロキシサーバ100は、自動実行リクエスト“https://bbb”を、Webサーバ200に送信する(ステップST43)。
Then, two automatic execution requests “https: // aaaa” and “https: // 111” having higher priority than the user operation request “https: // xxx” exist. For this reason, the
図16(B)は、リバースプロキシサーバ100によるレスポンスの送信例(特に、マルチパートのリクエストに対するレスポンスの送信例)を示す。リバースプロキシサーバ100は、マルチパートのリクエストに対するマルチパートのレスポンスをWebサーバ200から受信する(ステップST44)。すると、リバースプロキシサーバ100は、当該レスポンスからリクエスト“https://aaa”および“https://111”それぞれに対応する2つのレスポンスを抽出する。そして、リバースプロキシサーバ100は、記憶部110に記憶されたリクエスト送信元管理テーブル115を参照して、抽出したレスポンスに対するリクエスト送信元を特定する。リバースプロキシサーバ100は、特定したリクエスト送信元のクライアントに当該レスポンスを、送信する(ステップST45)。具体的には、リバースプロキシサーバ100は、“https://aaa”に対応するレスポンスをクライアント300に送信する。また、リバースプロキシサーバ100は、“https://111”に対応するレスポンスをクライアント400に送信する。
FIG. 16B shows a transmission example of a response by the reverse proxy server 100 (particularly, a transmission example of a response to a multipart request). The
このように、リバースプロキシサーバ100は、ユーザ操作リクエストよりも優先度の高い2つの自動実行リクエストをまとめることで、ユーザ操作リクエストの送信タイミングを早めることもできる。
Thus, the
図17は、通信例(その2)を示す図である。第3の実施の形態では、リクエスト送信元管理テーブル115によりひとまとめにしたリクエストの送信元を管理する例を示したが、リバースプロキシサーバ100は、他の方法によりリクエストの送信元を管理してもよい。例えば、リバースプロキシサーバ100は、ひとまとめにしたリクエストに対して、クライアント300,400それぞれの識別情報を付加してもよい。この場合、Webサーバ200は、レスポンス内に、同識別情報を付加し、クライアント300向けのレスポンス部分であるか、クライアント400向けのレスポンス部分であるかを識別可能にする。
FIG. 17 is a diagram illustrating a communication example (2). In the third embodiment, an example is shown in which the request transmission sources managed together by the request transmission source management table 115 are managed. However, the
すなわち、あるタイミングでリバースプロキシサーバ100は、クライアント300からリクエスト“https://aaa”、“https://xxx”を受信し、クライアント400からリクエスト“https://bbb”、“https://111”を受信する(ステップST51)。ステップST51の段階では、クライアント300,400の両方による同時接続数が上限値Nに達しているとする。また、ステップST51で受信したユーザ操作リクエストの数は“2”であり、同時接続数の上限値N以下である。
That is, at a certain timing, the
この場合、リバースプロキシサーバ100は、受信した4つのリクエストを記憶部110に格納する。そして、図9で例示したように、リクエスト“https://aaa”、“https://xxx”の関連を検出し、リクエスト“https://aaa”の優先度をリクエスト“https://xxx”の優先度よりも上げる。
In this case, the
すると、ユーザ操作リクエスト“https://xxx”よりも優先度の高い2つの自動実行リクエスト“https://aaa”、“https://111”が存在することになる。このため、リバースプロキシサーバ100は、これら2つの自動実行リクエスト“https://aaa”、“https://111”を1つにまとめたマルチパートのリクエストを生成する。このとき、リバースプロキシサーバ100は、マルチパートのリクエストのうち、リクエスト“https://aaa”の部分にクライアント300の識別情報“clientA”を付加する。また、リバースプロキシサーバ100は、マルチパートのリクエストのうち、リクエスト“https://111”の部分にクライアント400の識別情報“clientB”を付加する。そして、クライアント300,400による同時接続数に空きができると、生成したリクエスト、および、ユーザ操作リクエスト“https://xxx”を、順番に、Webサーバ200に送信する(ステップST52)。その後、リバースプロキシサーバ100は、自動実行リクエスト“https://bbb”を、Webサーバ200に送信する(ステップST53)。
Then, two automatic execution requests “https: // aaaa” and “https: // 111” having higher priority than the user operation request “https: // xxx” exist. For this reason, the
図17(B)は、リバースプロキシサーバ100によるレスポンスの送信例(特に、マルチパートのリクエストに対するレスポンスの送信例)を示す。リバースプロキシサーバ100は、マルチパートのリクエストに対するマルチパートのレスポンスをWebサーバ200から受信する(ステップST54)。すると、リバースプロキシサーバ100は、当該レスポンスからリクエスト“https://aaa”および“https://111”それぞれに対応する2つのレスポンスを抽出する。このとき、リバースプロキシサーバ100は、各レスポンス部分に付加されたクライアントの識別情報を参照して、各レスポンスの送信先を特定し、特定した送信先にレスポンスを送信する(ステップST55)。具体的には、リバースプロキシサーバ100は、“https://aaa”に対応するレスポンスをクライアント300に送信する。また、リバースプロキシサーバ100は、“https://111”に対応するレスポンスをクライアント400に送信する。
FIG. 17B shows a transmission example of a response by the reverse proxy server 100 (particularly, a transmission example of a response to a multipart request). The
このように、リバースプロキシサーバ100は、図17で例示した方法によって、ユーザ操作リクエストよりも優先度の高い2つの自動実行リクエストをまとめてもよい。この場合も、図16と同様に、ユーザ操作リクエストの送信タイミングを早めることができる。ここで、第3の実施の形態の例では、2つの自動実行リクエストを1つのリクエストにまとめる例を示したが、リバースプロキシサーバ100は、3以上の自動実行リクエストを1つのリクエストにまとめてもよい。
As described above, the
なお、第1の実施の形態の情報処理は、処理部1bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体13に記録できる。
The information processing according to the first embodiment can be realized by causing the
例えば、プログラムを記録した記録媒体13を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体13に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
For example, the program can be distributed by distributing the
1 送信制御装置
1a 記憶部
1b 処理部
2 情報処理装置
3,4 端末装置
5 リクエスト関連情報
6 優先度情報
DESCRIPTION OF
Claims (13)
受信したリクエストに応じた処理を実行する情報処理装置に、前記第1の優先度よりも高い第2の優先度で前記第2のリクエストを送信する、
処理をコンピュータに実行させることを特徴とする送信制御プログラム。 When the first request related to the execution of the process is received, the storage unit that stores the information related to the relationship between the plurality of requests and the priority related to the transmission of the request in association with the request is referred to the first request. Identifying an associated second request and a first priority corresponding to the second request;
Transmitting the second request with a second priority higher than the first priority to an information processing apparatus that executes processing according to the received request;
A transmission control program for causing a computer to execute processing.
前記第2の優先度は、前記第3の優先度よりも高い優先度である、
ことを特徴とする請求項1記載の送信制御プログラム。 The first priority is a lower priority than a third priority corresponding to the first request;
The second priority is higher than the third priority.
The transmission control program according to claim 1.
前記第1のリクエストは、前記情報処理装置に提供された前記所定の情報を取得するためのリクエストである、
ことを特徴とする請求項1乃至5の何れか1項に記載の送信制御プログラム。 The second request is a request for providing predetermined information to the information processing apparatus,
The first request is a request for acquiring the predetermined information provided to the information processing apparatus.
The transmission control program according to any one of claims 1 to 5.
前記第2のリクエストは、前記送信元の装置によりユーザの操作に依らずに送信されたリクエストである、
ことを特徴とする請求項1乃至6の何れか1項に記載の送信制御プログラム。 The first request is a request transmitted in response to a user operation on a device that is a transmission source of the first request,
The second request is a request transmitted by the transmission source device without depending on a user operation.
The transmission control program according to any one of claims 1 to 6.
処理の実行に関する第1のリクエストを受信すると、前記記憶部を参照して、前記第1のリクエストに関連する第2のリクエストと、前記第2のリクエストに対応する第1の優先度とを特定し、受信したリクエストに応じた処理を実行する情報処理装置に、前記第1の優先度よりも高い第2の優先度で前記第2のリクエストを送信する処理部と、
を有することを特徴とする送信制御装置。 A storage unit that stores information relating to the relationship between a plurality of requests and priority related to transmission of the request in association with the request;
When the first request related to the execution of the process is received, the second request related to the first request and the first priority corresponding to the second request are identified with reference to the storage unit And a processing unit that transmits the second request with a second priority higher than the first priority to an information processing apparatus that executes processing according to the received request;
A transmission control apparatus comprising:
処理の実行に関する第1のリクエストを受信すると、複数のリクエスト間の関連性に関する情報およびリクエストの送信に関する優先度を該リクエストに対応付けて記憶する記憶部を参照して、前記第1のリクエストに関連する第2のリクエストと、前記第2のリクエストに対応する第1の優先度とを特定し、
受信したリクエストに応じた処理を実行する情報処理装置に、前記第1の優先度よりも高い第2の優先度で前記第2のリクエストを送信する、
ことを特徴とする送信制御方法。 Computer
When the first request related to the execution of the process is received, the storage unit that stores the information related to the relationship between the plurality of requests and the priority related to the transmission of the request in association with the request is referred to the first request. Identifying an associated second request and a first priority corresponding to the second request;
Transmitting the second request with a second priority higher than the first priority to an information processing apparatus that executes processing according to the received request;
The transmission control method characterized by the above-mentioned.
処理の実行に関する特定のリクエストを受信すると、複数のリクエスト間の関連性に関する情報を記憶する記憶部を参照して、受信した前記リクエストに関連する他のリクエストを特定し、
特定した前記他のリクエストを前記情報処理装置に送信する優先度を、前記他のリクエストに対応付けられた優先度よりも高める制御を実行する、
処理をコンピュータに実行させることを特徴とする送信制御プログラム。 In a transmission control program for transmitting a request associated with a transmission priority to an information processing device,
Upon receipt of a specific request related to the execution of the process, referring to a storage unit that stores information related to the relationship between a plurality of requests, identify other requests related to the received request,
Executing a control for raising the priority of transmitting the specified other request to the information processing device, higher than the priority associated with the other request;
A transmission control program for causing a computer to execute processing.
複数のリクエスト間の関連性に関する情報を記憶する記憶部と、
処理の実行に関する特定のリクエストを受信すると、前記記憶部を参照して、受信した前記リクエストに関連する他のリクエストを特定し、特定した前記他のリクエストを前記情報処理装置に送信する優先度を、前記他のリクエストに対応付けられた優先度よりも高める制御を実行する処理部と、
を有することを特徴とする送信制御装置。 In a transmission control device that transmits a request associated with a transmission priority to an information processing device,
A storage unit for storing information related to the relationship between a plurality of requests;
When receiving a specific request related to the execution of the process, the storage unit is referred to, the other request related to the received request is specified, and the priority for transmitting the specified other request to the information processing device is set. A processing unit that executes control higher than the priority associated with the other request;
A transmission control apparatus comprising:
処理の実行に関する特定のリクエストを受信すると、複数のリクエスト間の関連性に関する情報を記憶する記憶部を参照して、受信した前記リクエストに関連する他のリクエストを特定し、
特定した前記他のリクエストを前記情報処理装置に送信する優先度を、前記他のリクエストに対応付けられた優先度よりも高める制御を実行する、
ことを特徴とする送信制御方法。 In a transmission control method for transmitting a request associated with a priority related to transmission to an information processing apparatus,
Upon receipt of a specific request related to the execution of the process, referring to a storage unit that stores information related to the relationship between a plurality of requests, identify other requests related to the received request,
Executing a control for raising the priority of transmitting the specified other request to the information processing device, higher than the priority associated with the other request;
The transmission control method characterized by the above-mentioned.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017161227A JP2019040344A (en) | 2017-08-24 | 2017-08-24 | Transmission control program, transmission control apparatus and transmission control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017161227A JP2019040344A (en) | 2017-08-24 | 2017-08-24 | Transmission control program, transmission control apparatus and transmission control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019040344A true JP2019040344A (en) | 2019-03-14 |
Family
ID=65727369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017161227A Pending JP2019040344A (en) | 2017-08-24 | 2017-08-24 | Transmission control program, transmission control apparatus and transmission control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019040344A (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003283556A (en) * | 2002-03-26 | 2003-10-03 | Hitachi Ltd | Data communication repeater and system |
JP2004295731A (en) * | 2003-03-28 | 2004-10-21 | Japan Research Institute Ltd | System and program for managing batch job |
WO2007125942A1 (en) * | 2006-04-26 | 2007-11-08 | Nippon Telegraph And Telephone Corporation | Load control device and its method |
JP2011243120A (en) * | 2010-05-20 | 2011-12-01 | Nec Corp | Job management device, job management method and job management program |
JP2012511204A (en) * | 2008-12-08 | 2012-05-17 | ケーピーアイティ クミンズ インフォシステムズ リミテッド | How to reorganize tasks to optimize resources |
JP2017016494A (en) * | 2015-07-03 | 2017-01-19 | 富士ゼロックス株式会社 | Information processor and information processing program |
-
2017
- 2017-08-24 JP JP2017161227A patent/JP2019040344A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003283556A (en) * | 2002-03-26 | 2003-10-03 | Hitachi Ltd | Data communication repeater and system |
JP2004295731A (en) * | 2003-03-28 | 2004-10-21 | Japan Research Institute Ltd | System and program for managing batch job |
WO2007125942A1 (en) * | 2006-04-26 | 2007-11-08 | Nippon Telegraph And Telephone Corporation | Load control device and its method |
JP2012511204A (en) * | 2008-12-08 | 2012-05-17 | ケーピーアイティ クミンズ インフォシステムズ リミテッド | How to reorganize tasks to optimize resources |
JP2011243120A (en) * | 2010-05-20 | 2011-12-01 | Nec Corp | Job management device, job management method and job management program |
JP2017016494A (en) * | 2015-07-03 | 2017-01-19 | 富士ゼロックス株式会社 | Information processor and information processing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11240332B2 (en) | Subscription based event notifications | |
US8898336B2 (en) | Content conversion system and content conversion server | |
CN101370035B (en) | Method and system for dynamic client/server network management using proxy servers | |
US9659075B2 (en) | Providing high availability in an active/active appliance cluster | |
US7065588B2 (en) | Method and system for data transformation in a heterogeneous computer system | |
US8514750B2 (en) | Multiplexed communication for duplex applications | |
JP4512192B2 (en) | Congestion control device and network congestion control method | |
CN108718347B (en) | Domain name resolution method, system, device and storage medium | |
US20100011091A1 (en) | Network Storage | |
TWI486873B (en) | Method, computer-readable medium, and apparatus for reconciliation and remediation with communication archives | |
CN105939335A (en) | Method and system for managing channel ownership in a publish-subscribe data processing environment | |
JP6539341B2 (en) | Providing router information according to the programmatic interface | |
US20150149524A1 (en) | Network system, constant connection method, electronic device, server, and program | |
WO2013163648A2 (en) | Methods for optimizing service of content requests and devices thereof | |
JP4410608B2 (en) | Web service providing method | |
JP2005521945A (en) | Optimal server in common work queue environment | |
JP5951888B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM | |
US20140281019A1 (en) | Network Transmission Adjustment Based On Application-Provided Transmission Metadata | |
JP2014010703A (en) | System that supports cooperation of information processing systems, device, and cooperation method | |
JP5538310B2 (en) | Virtualization system and virtualization method | |
JP2019040344A (en) | Transmission control program, transmission control apparatus and transmission control method | |
JP5478554B2 (en) | Gateway apparatus and communication method | |
WO2014203728A1 (en) | Message control system, message control device, message control method, and program | |
JP2012074825A (en) | Qos guaranteed network system, centralized controller, and control method of centralized controller | |
JP4305364B2 (en) | Web service request relay system, Web service request relay method, relay server, and program thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200514 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200529 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200529 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210826 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220309 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220712 |