JP2018041190A - Information processing device, control method and program - Google Patents

Information processing device, control method and program Download PDF

Info

Publication number
JP2018041190A
JP2018041190A JP2016173461A JP2016173461A JP2018041190A JP 2018041190 A JP2018041190 A JP 2018041190A JP 2016173461 A JP2016173461 A JP 2016173461A JP 2016173461 A JP2016173461 A JP 2016173461A JP 2018041190 A JP2018041190 A JP 2018041190A
Authority
JP
Japan
Prior art keywords
server
request
processing
execution server
executed
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
Application number
JP2016173461A
Other languages
Japanese (ja)
Other versions
JP6891425B2 (en
Inventor
幸雄 山川
Yukio Yamakawa
幸雄 山川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2016173461A priority Critical patent/JP6891425B2/en
Publication of JP2018041190A publication Critical patent/JP2018041190A/en
Application granted granted Critical
Publication of JP6891425B2 publication Critical patent/JP6891425B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To suppress an occurrence of a failure based on a time required by the time an increased virtual machine operates when the virtual machine is increased in a system for providing a service with a virtual machine as a server.SOLUTION: The system includes: a request holding part 130 for holding a request for causing an execution server 200 to execute processing: a transmission and reception part 110 for transmitting the request held by the request holding part 130 to the execution server 200; and an execution server management part 160 for managing information of the execution server 200, and increasing a resource of the execution server 200 in the case that a state of the execution server 200 based on a load of processing to a request during execution of the execution server 200 and a predicted load of processing in the execution server 200 when processing to the request held by the request holding part 130 is executed satisfy a predetermined specific condition.SELECTED DRAWING: Figure 2

Description

本発明は、情報処理装置、制御方法およびプログラムに関する。   The present invention relates to an information processing apparatus, a control method, and a program.

ネットワーク上に設定された仮想マシン(仮想サーバ)をサーバとして用い、サービスを提供するシステムが実現されている。この種のシステムにおいて、処理の量に応じて仮想マシンを増加(スケールアウト)させたり、減少(スケールイン)させたりする制御が行われる場合がある。特許文献1には、システムの負荷に応じて仮想マシンを増減させる従来技術が開示されている。同文献に記載された情報処理装置は、監視部、制御部および記憶部を備え、監視部は、管理対象のシステムの負荷をモニタし、制御部は、システムに対して過去に起動指示を行い、かつ、起動処理中である仮想マシンの状況、および、負荷のモニタ結果に応じて、システムにおける仮想マシンの起動指示と起動処理中である仮想マシンの停止指示を行う。   A system that provides a service by using a virtual machine (virtual server) set on a network as a server has been realized. In this type of system, there are cases where control is performed to increase (scale out) or decrease (scale in) a virtual machine according to the amount of processing. Patent Document 1 discloses a conventional technique for increasing or decreasing a virtual machine according to a system load. The information processing apparatus described in the document includes a monitoring unit, a control unit, and a storage unit. The monitoring unit monitors the load of the system to be managed, and the control unit gives a start instruction to the system in the past. In addition, a virtual machine start instruction and a virtual machine stop instruction in the system are issued according to the status of the virtual machine in the start process and the load monitoring result.

特開2015−194958号公報JP-A-2015-194958

仮想マシンをサーバとしてサービスを提供するシステムでは、システムの負荷が増大すると、仮想マシンを増加させて対応することが行われる。しかし、仮想マシンを増加させる操作を完了して追加された仮想マシンによる処理の実行が可能となる(追加された仮想マシンが稼働する)までには、時間を要する。そのため、負荷が増大した際、増加した仮想マシンが稼働するまでの間に、エラーや遅延等の不具合が発生する可能性があった。   In a system that provides a service using a virtual machine as a server, when the load on the system increases, the number of virtual machines is increased. However, it takes time until the added virtual machine can execute processing after the operation for increasing the number of virtual machines is completed (the added virtual machine operates). For this reason, when the load increases, there is a possibility that problems such as errors and delays may occur before the increased virtual machine is operated.

本発明の目的は、仮想マシンをサーバとしてサービスを提供するシステムにおいて、仮想マシンを増加させた際に、増加した仮想マシンが稼働するまでに要する時間に基づく不具合の発生を抑制することにある。   An object of the present invention is to suppress the occurrence of problems based on the time required for an increased virtual machine to operate when the number of virtual machines is increased in a system that provides services using virtual machines as servers.

本発明の請求項1に係る情報処理装置は、
サーバに処理を実行させる要求を保持する要求保持部と、
前記要求保持部に保持された前記要求を前記サーバへ送信する送信部と、
前記サーバの情報を管理し、当該サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷とに基づく当該サーバの状態が、予め定められた特定の条件を満足する場合に、前記サーバの資源を増加させるサーバ管理部と、
を備えることを特徴とする、情報処理装置である。
請求項2に係る情報処理装置は、
前記サーバが、仮想サーバであり、前記サーバ管理部は、前記仮想サーバのインスタンスを増加させることを特徴とする、請求項1に記載の情報処理装置である。
請求項3に係る情報処理装置は、
前記サーバ管理部が、前記サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷の合計が予め定められた値よりも大きい場合に、前記サーバの資源を増加させることを特徴とする、請求項1または請求項2に記載の情報処理装置である。
請求項4に係る情報処理装置は、
前記サーバ管理部が、前記サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷に基づく当該サーバの状態が、前記特定の条件とは異なる予め定められた準備依頼条件を満足する場合に、前記サーバの資源を増加するための準備を依頼することを特徴とする、請求項1乃至請求項3に記載の情報処理装置である。
請求項5に係る情報処理装置は、
前記サーバ管理部が、前記サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷に基づく当該サーバの状態が、前記準備依頼条件を満足した後、前記特定の条件および当該準備依頼条件とは異なる予め定められた破棄条件を満足する場合に、前記資源を増加するための準備の依頼の破棄を依頼することを特徴とする、請求項4に記載の情報処理装置である。
請求項6に係る方法は、
要求をサーバへ送信し、当該要求に対する処理をサーバに実行させる制御方法であって、
サーバに処理を実行させる要求を記憶手段に保持するステップと、
当該サーバが実行中の前記要求に対する処理の負荷と前記記憶手段に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷とに基づく当該サーバの状態が、予め定められた特定の条件を満足する場合に、前記サーバの資源を増加させるステップと、
前記記憶手段に保持された前記要求を前記サーバへ送信するステップと、
を含むことを特徴とする、制御方法である。
請求項7に係るプログラムは、
コンピュータを、
サーバに処理を実行させる要求を保持する要求保持手段と、
前記要求保持手段に保持された前記要求を前記サーバへ送信する送信手段と、
前記サーバの情報を管理し、当該サーバが実行中の前記要求に対する処理の負荷と前記要求保持手段に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷とに基づく当該サーバの状態が、予め定められた特定の条件を満足する場合に、前記サーバの資源を増加させるサーバ管理手段として、
機能させることを特徴とする、プログラムである。
An information processing apparatus according to claim 1 of the present invention provides:
A request holding unit for holding a request to cause the server to execute processing;
A transmission unit that transmits the request held in the request holding unit to the server;
The server information is managed, and the processing load on the request being executed by the server and the processing load expected on the server when processing for the request held in the request holding unit is executed. A server management unit that increases the resource of the server when the state of the server based on satisfies a predetermined specific condition;
An information processing apparatus comprising:
An information processing apparatus according to claim 2
The information processing apparatus according to claim 1, wherein the server is a virtual server, and the server management unit increases instances of the virtual server.
An information processing apparatus according to claim 3 is:
The server management unit preliminarily calculates the total of the processing load for the request being executed by the server and the expected processing load for the server when processing for the request held in the request holding unit is executed. 3. The information processing apparatus according to claim 1, wherein when the value is larger than a predetermined value, the resource of the server is increased.
An information processing apparatus according to claim 4 is:
The server based on the processing load on the server that is expected when the server management unit executes processing load on the request being executed by the server and processing on the request held in the request holding unit When the state of the server satisfies a predetermined preparation request condition different from the specific condition, preparation for increasing the resource of the server is requested. It is an information processing apparatus as described in.
An information processing apparatus according to claim 5 is:
The server based on the processing load on the server that is expected when the server management unit executes processing load on the request being executed by the server and processing on the request held in the request holding unit If the state satisfies the preparation request condition and then satisfies the specific condition and a predetermined discard condition different from the preparation request condition, the preparation request for increasing the resource is discarded. The information processing apparatus according to claim 4, wherein the information processing apparatus requests the information processing apparatus.
The method according to claim 6 comprises:
A control method for transmitting a request to a server and causing the server to execute processing for the request,
Holding in the storage means a request to cause the server to execute processing;
The state of the server based on the processing load on the request being executed by the server and the processing load on the server that is expected when the processing on the request held in the storage unit is executed is determined in advance. Increasing the resource of the server if the specified specific condition is satisfied;
Transmitting the request held in the storage means to the server;
It is a control method characterized by including these.
The program according to claim 7 is:
Computer
Request holding means for holding a request to cause the server to execute processing;
Transmitting means for transmitting the request held in the request holding means to the server;
The server information is managed, and the processing load for the request being executed by the server and the processing load expected at the time when the processing for the request held in the request holding unit is executed. As a server management means for increasing the resource of the server when the state of the server based on satisfies a predetermined specific condition,
It is a program characterized by functioning.

請求項1の発明によれば、サーバの負荷が増大して資源の増加が必要になってから資源を増加する構成と比較して、エラーや遅延が生じることなくサーバの処理を実行することができる。
請求項2の発明によれば、仮想サーバの負荷が増大してインスタンスの増加が必要になってからインスタンスを増加する構成と比較して、エラーや遅延が生じることなくサーバの処理を実行することができる。
請求項3の発明によれば、仮想サーバの負荷が増大して資源の増加が必要になってから資源を増加する構成と比較して、保持している要求を実行する際に対応するように資源の増加を依頼することにより、エラーや遅延が生じることなくサーバの処理を実行することができる。
請求項4の発明によれば、仮想サーバの負荷が増大して資源の増加が必要になってから資源を増加する構成と比較して、資源の増加が必要になる前に予め準備を依頼することにより、速やかに資源を増加させることを可能とし、エラーや遅延が生じることなくサーバの処理を実行することができる。
請求項5の発明によれば、仮想サーバの負荷が減少して資源を増加する必要がなくなった場合に、資源の増加の準備を破棄することで、無駄な資源の準備を抑制することができる。
請求項6の発明によれば、要求をサーバへ送信し、当該要求に対する処理をサーバに実行させる制御方法において、サーバの負荷が増大して資源の増加が必要になってから資源を増加する構成と比較して、エラーや遅延が生じることなくサーバの処理を実行することができる。
請求項7の発明によれば、コンピュータを制御するプログラムにおいて、サーバの負荷が増大して資源の増加が必要になってから資源を増加する構成と比較して、エラーや遅延が生じることなくサーバの処理を実行することができる。
According to the first aspect of the present invention, it is possible to execute server processing without causing errors and delays as compared to a configuration in which resources are increased after the load on the server increases and resources need to be increased. it can.
According to the second aspect of the present invention, server processing is executed without causing an error or delay as compared with a configuration in which instances are increased after the load on the virtual server increases and an increase in instances is required. Can do.
According to the third aspect of the present invention, compared to the configuration in which the resources are increased after the load of the virtual server is increased and the resources need to be increased, it is possible to cope with the execution of the held request. By requesting an increase in resources, it is possible to execute server processing without causing errors or delays.
According to the invention of claim 4, preparation is requested in advance before an increase in resources is required, compared to a configuration in which the resources are increased after the load of the virtual server increases and an increase in resources is required. As a result, it is possible to quickly increase resources, and it is possible to execute server processing without causing errors or delays.
According to the invention of claim 5, when the load on the virtual server is reduced and it is no longer necessary to increase the resources, it is possible to suppress the preparation of useless resources by discarding the preparation for increasing the resources. .
According to the invention of claim 6, in the control method for transmitting a request to a server and causing the server to execute a process for the request, a configuration in which the resource is increased after the load on the server increases and the resource needs to be increased. Compared with, server processing can be executed without causing errors or delays.
According to the seventh aspect of the present invention, in the program for controlling the computer, there is no error or delay as compared with the configuration in which the resource is increased after the load of the server increases and the resource needs to be increased. Can be executed.

本実施形態が適用される情報処理システムの構成例を示す図である。It is a figure which shows the structural example of the information processing system to which this embodiment is applied. 管理サーバの機能構成を示す図である。It is a figure which shows the function structure of a management server. 管理サーバの動作を示すフローチャートである。It is a flowchart which shows operation | movement of a management server. 管理サーバの動作を示すフローチャートである。It is a flowchart which shows operation | movement of a management server. 管理サーバを実現するコンピュータ(情報処理装置)のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the computer (information processing apparatus) which implement | achieves a management server.

<本実施形態が適用される情報処理システムの構成>
図1は、本実施形態が適用される情報処理システムの構成例を示す図である。図1に示すように、本実施形態による情報処理システム10は、管理サーバ100と、実行サーバ200と、クライアント300とを備える。管理サーバ100と実行サーバ200とは、ネットワーク20を介して接続されている。また、図示の構成において、クライアント300は、ネットワーク20を介さずに管理サーバ100と接続されているが、ネットワーク20を介して接続してもよい。また、図示の構成において、サービスA、サービスB、サービスCをそれぞれ提供する3種類の実行サーバ200が示されているが、実行サーバ200の数は利用するサービスに応じて設定され、図示の3種類に限定されない。また、図1には、クライアント300が1台のみ記載されているが、実際のシステムにおいては複数台のクライアント300が管理サーバ100に接続されてもよい。
<Configuration of information processing system to which this embodiment is applied>
FIG. 1 is a diagram illustrating a configuration example of an information processing system to which the present embodiment is applied. As illustrated in FIG. 1, the information processing system 10 according to the present embodiment includes a management server 100, an execution server 200, and a client 300. The management server 100 and the execution server 200 are connected via the network 20. In the illustrated configuration, the client 300 is connected to the management server 100 without going through the network 20, but may be connected through the network 20. In the illustrated configuration, three types of execution servers 200 that provide service A, service B, and service C, respectively, are shown. However, the number of execution servers 200 is set according to the service to be used. It is not limited to the type. Although only one client 300 is illustrated in FIG. 1, a plurality of clients 300 may be connected to the management server 100 in an actual system.

ネットワーク20は、管理サーバ100と実行サーバ200との間で情報通信を行えるものであれば特に限定されず、例えばインターネットやLAN(Local Area Network)等としてよい。情報通信に用いられる通信回線は、有線であっても無線であっても良い。また、複数のネットワークや通信回線を介して管理サーバ100と実行サーバ200とを接続しても良い。特に図示しないが、ネットワーク20には、ネットワークや通信回線を接続するためのゲートウェイやハブ、無線LANにおけるアクセスポイント等の中継装置が適宜設けられる。なお、詳しくは後述するが、本実施形態において、実行サーバ200は、仮想マシンにより実現される。したがって、実際には、実行サーバ200が物理的にネットワーク20に接続されるのではなく、実行サーバ200が構築されている物理的なサーバマシンがネットワーク20に接続されている。   The network 20 is not particularly limited as long as information communication can be performed between the management server 100 and the execution server 200. For example, the network 20 may be the Internet or a LAN (Local Area Network). A communication line used for information communication may be wired or wireless. Further, the management server 100 and the execution server 200 may be connected via a plurality of networks or communication lines. Although not particularly illustrated, the network 20 is appropriately provided with a relay device such as a gateway or hub for connecting a network or a communication line, or an access point in a wireless LAN. Although described in detail later, in the present embodiment, the execution server 200 is realized by a virtual machine. Therefore, actually, the execution server 200 is not physically connected to the network 20, but a physical server machine in which the execution server 200 is constructed is connected to the network 20.

管理サーバ100とクライアント300とは、図1に示すように、ネットワークを介さずに直接接続してもよいし、ネットワーク20を介して接続してもよい。また、管理サーバ100と実行サーバ200とが接続されたネットワーク20とは異なるネットワークを介して接続してもよい。具体的な構成の一例としては、管理サーバ100とクライアント300とがLANにより接続され、管理サーバ100と実行サーバ200とがインターネットにより接続される構成が考えられる。   As shown in FIG. 1, the management server 100 and the client 300 may be directly connected without using a network, or may be connected through the network 20. The management server 100 and the execution server 200 may be connected via a network different from the network 20 to which the management server 100 and the execution server 200 are connected. As an example of a specific configuration, a configuration in which the management server 100 and the client 300 are connected by a LAN, and the management server 100 and the execution server 200 are connected by the Internet can be considered.

管理サーバ100は、コンピュータにより実現される。管理サーバ100は、クライアント300から要求(リクエスト)を受け付けて、要求に応じた処理を実行する実行サーバ200へ送信する。そして、実行サーバ200から返送された応答(レスポンス)を受け付けて、クライアント300へ送信する。本実施形態の管理サーバ100は、クライアント300から受け付けた要求に応じて、複数の実行サーバ200にアクセスし、処理を実行させることがある。すなわち、受け付けた要求が、複数の処理の実行を要する要求であって、要求された複数の処理が個別の実行サーバ200により実行される処理である場合、管理サーバ100は、各処理を実行する実行サーバ200にアクセスして処理を実行させる。複数の実行サーバ200に処理を実行させる場合、各処理を順次実行させてもよいし、並列実行が可能な複数の処理に関しては、並列に実行させてもよい。   The management server 100 is realized by a computer. The management server 100 receives a request (request) from the client 300 and transmits the request to the execution server 200 that executes processing according to the request. Then, the response returned from the execution server 200 is received and transmitted to the client 300. The management server 100 of this embodiment may access a plurality of execution servers 200 and execute processing in response to a request received from the client 300. That is, when the received request is a request that requires execution of a plurality of processes, and the requested plurality of processes are processes executed by the individual execution servers 200, the management server 100 executes each process. The execution server 200 is accessed to execute processing. When causing a plurality of execution servers 200 to execute processes, the respective processes may be executed sequentially, or a plurality of processes that can be executed in parallel may be executed in parallel.

具体例として、文字が書かれた画像データに対して、光学的文字認識処理(OCR;Optical Character Recognition/Reader)を行い、画像変換処理を行い、ネットワーク上の記憶装置に格納する処理(格納処理)を要求する場合を考える。ここで、光学的文字認識処理、画像変換処理、格納処理の各々は、別個の実行サーバ200により実行される処理であるものとする。この場合、この要求を受け付けた管理サーバ100は、まず、光学的文字認識処理を実行する実行サーバ200にアクセスして画像データを送り、光学的文字認識処理を実行させる。そして、実行サーバ200から光学的文字認識処理の処理結果を受け取ると、次に管理サーバ100は、画像変換処理を実行する実行サーバ200にアクセスして画像データを送り、画像変換処理を実行させる。そして、実行サーバ200から画像変換処理の処理結果を受け取ると、次に管理サーバ100は、格納処理を実行する実行サーバ200にアクセスし、光学的文字認識処理および画像変換処理の処理結果を記憶装置に格納させる。なお、上記の具体例において、例えば、光学的文字認識処理と画像変換処理とが互いに独立した処理である場合、画像変換処理を先に実行させてもよいし、これらの処理を並列に実行してもよい。   As a specific example, optical character recognition processing (OCR: Optical Character Recognition / Reader) is performed on image data in which characters are written, image conversion processing is performed, and the processing is stored in a storage device on the network (storage processing) ). Here, it is assumed that each of the optical character recognition process, the image conversion process, and the storage process is executed by a separate execution server 200. In this case, the management server 100 that has received this request first accesses the execution server 200 that executes the optical character recognition process, sends image data, and executes the optical character recognition process. When receiving the processing result of the optical character recognition process from the execution server 200, the management server 100 next accesses the execution server 200 that executes the image conversion process and sends the image data to execute the image conversion process. When receiving the processing result of the image conversion processing from the execution server 200, the management server 100 next accesses the execution server 200 that executes the storage processing, and stores the processing results of the optical character recognition processing and the image conversion processing in the storage device. To store. In the above specific example, for example, when the optical character recognition process and the image conversion process are independent processes, the image conversion process may be executed first, or these processes may be executed in parallel. May be.

実行サーバ200は、ネットワーク20に接続されたコンピュータ上に構築された仮想マシンにより実現される。一つの実行サーバ200は、1台のコンピュータ上に構築した仮想マシンであってもよいし、複数のコンピュータに機能を分散させて構築した仮想マシンであってもよい。また、1台のコンピュータ上に複数の実行サーバ200を構築し、複数のサービスを提供する構成としてもよい。サービスの提供における実行サーバ200の性能(処理能力や記憶容量など)は、サービスの提供者や仮想マシンの提供者により予め設定される。そして、処理を実行する資源としての実行サーバ200として動作する仮想マシンのインスタンスを増やしたり減らしたりすることにより、サービスの実行能力が変更される。管理サーバ100から利用可能な実行サーバ200のインスタンスの数および増減は、実行サーバ200の管理サイトにより管理される。図1に示す例では、サービスA、サービスB、サービスCをそれぞれ提供する3種類の実行サーバ200が示されており、以下、これらを区別する場合は、提供されるサービスの符号を添え字として用い、実行サーバ200A、実行サーバ200B、実行サーバ200C等と記載する。   The execution server 200 is realized by a virtual machine constructed on a computer connected to the network 20. One execution server 200 may be a virtual machine constructed on one computer, or may be a virtual machine constructed by distributing functions to a plurality of computers. A plurality of execution servers 200 may be constructed on one computer to provide a plurality of services. The performance (processing capacity, storage capacity, etc.) of the execution server 200 in providing the service is preset by the service provider or the virtual machine provider. The service execution capability is changed by increasing or decreasing the number of virtual machine instances that operate as the execution server 200 as a resource for executing processing. The number and increase / decrease of execution server 200 instances available from the management server 100 are managed by the management site of the execution server 200. In the example shown in FIG. 1, three types of execution servers 200 that provide service A, service B, and service C, respectively, are shown. In the following, in order to distinguish these, the code of the provided service is used as a subscript. Used, described as execution server 200A, execution server 200B, execution server 200C, and the like.

クライアント300は、実行サーバ200により提供されるサービスの利用者が使用する端末装置であり、パーソナルコンピュータ、携帯情報端末、プリンタ複合機、その他の種々の情報処理装置により実現される。   The client 300 is a terminal device used by a user of a service provided by the execution server 200, and is realized by a personal computer, a portable information terminal, a printer multifunction device, and other various information processing devices.

<管理サーバの機能構成>
図2は、管理サーバ100の機能構成を示す図である。図2に示すように、管理サーバ100は、送受信部110と、要求管理部120と、要求保持部130と、応答保持部140と、応答管理部150と、実行サーバ管理部160とを備える。送受信部110は、ネットワーク・インターフェイス(図示せず)を介して実行サーバ200およびクライアント300とデータ交換を行う。
<Functional configuration of the management server>
FIG. 2 is a diagram illustrating a functional configuration of the management server 100. As illustrated in FIG. 2, the management server 100 includes a transmission / reception unit 110, a request management unit 120, a request holding unit 130, a response holding unit 140, a response management unit 150, and an execution server management unit 160. The transmission / reception unit 110 exchanges data with the execution server 200 and the client 300 via a network interface (not shown).

要求管理部120は、送受信部110がクライアント300から受信した要求を受け付け、要求保持部130に保持させる。要求保持部130は、送信先の実行サーバ200ごとに設けられたキューである。図2に示す例では、図1に示した実行サーバ200A、200B、200Cに対応して、サービスA用のキュー131A、サービスB用のキュー131B、サービスC用のキュー131Cが記載されている(以下、各キュー131A、131B、131Cを区別しないときは、単にキュー131と記載する)。したがって、要求管理部120は、例えば、実行サーバ200Aにより提供されるサービスの要求を受け付けると、順次、要求保持部130のキュー131Aに保持させる。要求保持部130のキュー131A、131B、131Cに保持された要求は、各々保持された順に、送受信部110により、対応する実行サーバ200A、200B、200Cへ送信される。   The request management unit 120 receives a request received from the client 300 by the transmission / reception unit 110 and causes the request holding unit 130 to hold the request. The request holding unit 130 is a queue provided for each execution server 200 as a transmission destination. In the example shown in FIG. 2, a service A queue 131A, a service B queue 131B, and a service C queue 131C are described corresponding to the execution servers 200A, 200B, and 200C shown in FIG. Hereinafter, when the queues 131A, 131B, and 131C are not distinguished, they are simply referred to as queues 131). Therefore, for example, when receiving a request for a service provided by the execution server 200A, the request management unit 120 sequentially holds the request in the queue 131A of the request holding unit 130. The requests held in the queues 131A, 131B, and 131C of the request holding unit 130 are transmitted to the corresponding execution servers 200A, 200B, and 200C by the transmission / reception unit 110 in the order in which they are held.

また、要求管理部120が受け付けた要求が、一つの実行サーバ200(例えば、実行サーバ200A)による処理結果に対して他の実行サーバ200(例えば、実行サーバ200B)による処理の実行を要求するものである場合を考える。この場合、要求管理部120は、実行サーバ200Aから返送された処理結果を新たな要求として、キュー131Bに保持させる。このようにして、一つの要求に対する複数の実行サーバ200による処理が順次実行される。   Further, the request received by the request management unit 120 requests execution of processing by another execution server 200 (for example, execution server 200B) with respect to the processing result by one execution server 200 (for example, execution server 200A). Consider the case. In this case, the request management unit 120 holds the processing result returned from the execution server 200A as a new request in the queue 131B. In this way, processing by a plurality of execution servers 200 for one request is sequentially executed.

要求保持部130は、上述したように、要求の送信先である実行サーバ200ごとに設けられたキュー131である。本実施形態では、クライアント300から受け付けた要求を要求保持部130に一時的に保持させた後、送信先の実行サーバ200ごとに順次送信する。このように、実行サーバ200へ送る要求を一時的に保持することにより、本実施形態は、受け付けた要求の量が増加したときに、直ちに実行サーバ200の処理能力を超えてしまう事態が発生することを回避する。また、本実施形態は、要求保持部130に保持された要求の量を監視することにより、現在の実行サーバ200の負荷だけでなく、これから実行サーバ200へ依頼する要求の量に基づいて予想される実行サーバ200の負荷に基づき、実行サーバ200のインスタンスの増加を依頼する。本実施形態における実行サーバ200のインスタンスの増加を依頼する機能の詳細については後述する。   As described above, the request holding unit 130 is a queue 131 provided for each execution server 200 that is a transmission destination of a request. In the present embodiment, the request received from the client 300 is temporarily stored in the request storage unit 130 and then sequentially transmitted to each execution server 200 as a transmission destination. As described above, by temporarily holding a request to be sent to the execution server 200, in the present embodiment, when the amount of received requests increases, a situation in which the processing capacity of the execution server 200 is immediately exceeded occurs. Avoid that. In addition, the present embodiment is predicted based on not only the current load on the execution server 200 but also the amount of requests to be requested from the execution server 200 by monitoring the amount of requests held in the request holding unit 130. The execution server 200 is requested to increase the number of instances based on the load of the execution server 200. Details of the function for requesting an increase in the number of instances of the execution server 200 in this embodiment will be described later.

応答保持部140は、送受信部110が実行サーバ200から受信した応答(処理結果)を保持するキューである。応答保持部140のキューは、上述した要求保持部130のキューと異なり、実行サーバ200ごとに設けられるのではなく単一である。すなわち、送受信部110により受信した応答は、いずれの実行サーバ200から送信されたかに関わらず、受信した順番に応答保持部140に保持される。   The response holding unit 140 is a queue that holds the response (processing result) received from the execution server 200 by the transmission / reception unit 110. Unlike the queue of the request holding unit 130 described above, the queue of the response holding unit 140 is not provided for each execution server 200 but is single. That is, the responses received by the transmission / reception unit 110 are held in the response holding unit 140 in the order received, regardless of which execution server 200 has transmitted the response.

応答管理部150は、応答保持部140に保持された応答を順次読み出し、処理する。ここでは、応答が要求を発行したクライアント300に返送されるべきものであるならば、応答管理部150は、送受信部110により、その応答をクライアント300へ返送させる。また、応答が次の実行サーバ200による処理の対象であるならば、応答管理部150は、その応答を要求管理部120に渡し、要求管理部120が、その要求を、次の処理を行う実行サーバ200に対応する要求保持部130のキュー131A、131B、131Cに保持させる。   The response management unit 150 sequentially reads and processes the responses held in the response holding unit 140. Here, if the response is to be returned to the client 300 that issued the request, the response management unit 150 causes the transmission / reception unit 110 to return the response to the client 300. If the response is a target of processing by the next execution server 200, the response management unit 150 passes the response to the request management unit 120, and the request management unit 120 executes the request for the next processing. The queues 131A, 131B, and 131C of the request holding unit 130 corresponding to the server 200 are held.

本実施形態は、応答管理部150が応答保持部140を管理することにより、実行サーバ200の動作状況を把握する。すなわち、応答管理部150は、要求管理部120から実行サーバ200へ送った要求の情報を取得し、実行サーバ200へ送った要求と実行サーバ200から受け取った応答との対応関係に基づいて、実行サーバ200における要求の実行状況を把握する。また、実行サーバ200のインスタンスの増減を行った場合は、実行サーバ200の動作状況を把握することにより、インスタンスの増減に基づく処理能力の変化(インスタンスを増加または減少した後の処理能力)を認識する。   In the present embodiment, the response management unit 150 manages the response holding unit 140 to grasp the operation status of the execution server 200. That is, the response management unit 150 acquires information on the request sent from the request management unit 120 to the execution server 200, and executes the execution based on the correspondence between the request sent to the execution server 200 and the response received from the execution server 200. The execution status of the request in the server 200 is grasped. Further, when the number of instances of the execution server 200 is increased / decreased, the change in the processing capacity based on the increase / decrease of the instance (processing capacity after increasing or decreasing the instance) is recognized by grasping the operation status of the execution server 200 To do.

実行サーバ管理部160は、各実行サーバ200のサービスの提供における性能の情報を管理する。実行サーバ200は、仮想マシンのインスタンスとして構成されるため、インスタンスを増減することにより性能が変更する。そこで、実行サーバ管理部160は、各サービスの実行サーバ200ごとに、インスタンス単位の性能の情報と、稼働しているインスタンスの数とを管理する。なお、インスタンス単位の性能の情報は、例えば予め、各実行サーバ200のサービスの提供者や仮想マシンの提供者から取得し、管理サーバ100の記憶装置(図示せず)に保持しておく。   The execution server management unit 160 manages information on the performance of each execution server 200 in providing the service. Since the execution server 200 is configured as an instance of a virtual machine, the performance is changed by increasing or decreasing the number of instances. Therefore, the execution server management unit 160 manages performance information for each instance and the number of running instances for each execution server 200 of each service. Note that the performance information for each instance is acquired in advance from a service provider or a virtual machine provider of each execution server 200 and stored in a storage device (not shown) of the management server 100, for example.

また、実行サーバ管理部160は、各実行サーバ200の負荷に応じて、実行サーバ200のインスタンスを増加(スケールアウト)、減少(スケールイン)させる。このインスタンスの増減は、実行サーバ200のオートスケール機能を利用して行ってもよいし、実行サーバ200の管理サイトに依頼して行ってもよい。実行サーバ200のオートスケール機能を利用する場合、実行サーバ管理部160は、オートスケール機能によりインスタンスの増加または減少を実行させるコマンドを、実行サーバ200に送信する。以下、具体的な手法に関わらず、実行サーバ200のインスタンスの増加(または減少)を実行させるための操作を行うことを、実行サーバ200のインスタンスの増加(または減少)を依頼する等と記載する。   Further, the execution server management unit 160 increases (scales out) and decreases (scales in) instances of the execution server 200 according to the load of each execution server 200. The increase / decrease of the instances may be performed using the autoscale function of the execution server 200 or may be performed by requesting the management site of the execution server 200. When using the auto-scaling function of the execution server 200, the execution server management unit 160 transmits a command for executing an increase or decrease in the instance to the execution server 200 by the auto-scaling function. Hereinafter, regardless of a specific method, performing an operation for executing an increase (or decrease) in the instance of the execution server 200 is referred to as requesting an increase (or decrease) in the instance of the execution server 200. .

さらに、実行サーバ管理部160は、実行サーバ200のインスタンスの負荷が増大する可能性が高いとして予め定められた条件を満たす場合に、実行サーバ200のインスタンスを増加させる操作の準備を行うように、実行サーバ200の管理サイトに依頼(準備依頼)する。準備依頼は、実際に増加することが必要になったときに、追加されたインスタンスが直ちに稼働できるように予め準備するように、実行サーバ200の管理サイトに依頼するものである。具体的にどのような準備をするかは、実行サーバ200の管理サイトに任されており、サービス内容等に応じて実行サーバ200ごとに定めてよい。また、実際にインスタンスを増加させる依頼が行われたときに、直ちに稼働できるサーバであれば、事前の準備のための操作は特に行う必要はない。   Further, the execution server management unit 160 prepares an operation for increasing the number of instances of the execution server 200 when a predetermined condition is satisfied that the load of the instance of the execution server 200 is likely to increase. A request (preparation request) is made to the management site of the execution server 200. The preparation request is for requesting the management site of the execution server 200 to prepare in advance that the added instance can be immediately operated when it is necessary to actually increase the number. The specific preparation is left to the management site of the execution server 200, and may be determined for each execution server 200 according to the service content and the like. Further, if the server can be operated immediately when a request to increase the number of instances is actually made, there is no need to perform an operation for preparing in advance.

<実行サーバのインスタンスの増減の依頼>
上述したように、実行サーバ管理部160は、現在の実行サーバ200の負荷およびこれから実行サーバ200へ依頼する要求の量に基づいて予想される実行サーバ200の負荷に基づいて、実行サーバ200に対し、インスタンスの増加を依頼する。現在の実行サーバ200の負荷とは、実行サーバ200が処理を実行中の要求を処理するために要する負荷(以下、現在負荷と呼ぶ)である。これから実行サーバ200へ依頼する要求の量に基づいて予想される実行サーバ200の負荷とは、要求保持部130において該当する実行サーバ200用のキュー131に保持されている要求を処理するために要する負荷(以下、予想負荷と呼ぶ)である。本実施形態において、実行サーバ管理部160は、現在負荷と予想負荷を加算した負荷(以下、合計負荷と呼ぶ)の、実行サーバ200において同時に実行可能な処理の量(以下、同時処理能力と呼ぶ)に対する割合に基づいて、インスタンスの増減を依頼する。
<Request for increase / decrease of execution server instance>
As described above, the execution server management unit 160 applies the execution server 200 to the execution server 200 based on the current load on the execution server 200 and the expected load on the execution server 200 based on the amount of requests to be requested from the execution server 200. , Request an increase in instances. The current load of the execution server 200 is a load required for the execution server 200 to process a request being executed (hereinafter referred to as a current load). The expected load of the execution server 200 based on the amount of requests to be requested to the execution server 200 from now on is required for processing the requests held in the queue 131 for the corresponding execution server 200 in the request holding unit 130. Load (hereinafter referred to as expected load). In the present embodiment, the execution server management unit 160 is an amount of processing that can be simultaneously executed in the execution server 200 (hereinafter, referred to as simultaneous processing capability) of a load obtained by adding the current load and the expected load (hereinafter referred to as total load). ) Request increase / decrease of instances based on the ratio to.

具体的な例を挙げて説明する。ある実行サーバ200において、「要求a」、「要求b」、「要求c」の3種類の要求に対する処理を実行可能であるとする。そして、実行サーバ200の同時処理能力を100とすると、「要求a」に対する処理を実行するのに要する実行サーバ200の同時処理能力は20であるものとする。これは、「要求a」に対する処理を実行する際に、実行サーバ200の同時処理能力の20%が使用されることを意味する。同様に、「要求b」に対する処理を実行するのに要する実行サーバ200の同時処理能力は10、「要求c」に対する処理を実行するのに要する実行サーバ200の同時処理能力は5であるものとする。   A specific example will be described. Assume that a certain execution server 200 can execute processing for three types of requests “request a”, “request b”, and “request c”. Then, assuming that the simultaneous processing capability of the execution server 200 is 100, the simultaneous processing capability of the execution server 200 required to execute the processing for “request a” is assumed to be 20. This means that 20% of the simultaneous processing capability of the execution server 200 is used when executing the processing for “request a”. Similarly, the simultaneous processing capability of the execution server 200 required for executing the processing for “request b” is 10, and the simultaneous processing capability of the execution server 200 required for executing the processing for “request c” is 5. To do.

また、一例として、実行サーバ200のインスタンスの増減に関する規則を、次のように設定する。
(1)稼働中の実行サーバ200のインスタンスの全てにおいて、合計負荷が、100%を超えたときは、インスタンスを1つ増加させる。
(2)稼働中の実行サーバ200のインスタンスの数をN(Nは2以上)としたとき、合計負荷が、(N−2)台のインスタンスで100%であり、1台のインスタンスで0%であり、残りの1台のインスタンスで80%を下回ったときは、インスタンスを1つ減少させる。
(3)稼働中の実行サーバ200のインスタンスの数をM(Mは1以上)としたとき、合計負荷が、(M−1)台のインスタンスで100%であり、1台のインスタンスで80%以上となったときは、インスタンスを増加するための準備依頼を行う。
Also, as an example, the rules regarding increase / decrease of instances of the execution server 200 are set as follows.
(1) When the total load exceeds 100% in all the instances of the active execution server 200, the number of instances is increased by one.
(2) When the number of running execution server 200 instances is N (N is 2 or more), the total load is 100% for (N-2) instances and 0% for one instance. When the remaining one instance falls below 80%, the instance is decreased by one.
(3) When the number of running execution server 200 instances is M (M is 1 or more), the total load is 100% for (M-1) instances and 80% for one instance. When this happens, make a preparation request to increase the number of instances.

簡単のために稼働中のインスタンスを1台として、負荷の計算例を示す。第1の計算例として、実行サーバ200において、1個の「要求a」に対する処理、2個の「要求b」に対する処理、3個の「要求c」に対する処理が実行されているものとする。そして、要求保持部130のキュー131に、1個の「要求b」が保持されているものとする。この場合、上記の各要求における負荷(要求に対する処理を実行するのに要する同時処理能力)に基づき、合計負荷は、
20×1+10×2+5×3+10×1=65
である。合計負荷が65なので、上記の規則に基づき、インスタンスの増減に関する操作は行われない。
For the sake of simplicity, an example of load calculation will be shown with one running instance. As a first calculation example, it is assumed that the execution server 200 is executing processing for one “request a”, processing for two “request b”, and processing for three “request c”. It is assumed that one “request b” is held in the queue 131 of the request holding unit 130. In this case, based on the load in each request (simultaneous processing capability required to execute processing for the request), the total load is
20 × 1 + 10 × 2 + 5 × 3 + 10 × 1 = 65
It is. Since the total load is 65, no operation relating to increase / decrease of instances is performed based on the above rules.

第2の計算例として、実行サーバ200において、1個の「要求a」に対する処理、2個の「要求b」に対する処理、6個の「要求c」に対する処理が実行されているものとする。そして、要求保持部130のキュー131に、1個の「要求b」が保持されているものとする。この場合、合計負荷は、
20×1+10×2+5×6+10×1=80
である。合計負荷が80なので、上記の規則に基づき、実行サーバ管理部160は、実行サーバ200の管理サイトにインスタンスを増加させるための準備依頼を行う。
As a second calculation example, it is assumed that the execution server 200 is executing processing for one “request a”, processing for two “request b”, and processing for six “request c”. It is assumed that one “request b” is held in the queue 131 of the request holding unit 130. In this case, the total load is
20 × 1 + 10 × 2 + 5 × 6 + 10 × 1 = 80
It is. Since the total load is 80, the execution server management unit 160 makes a preparation request for increasing the number of instances to the management site of the execution server 200 based on the above rules.

第3の計算例として、実行サーバ200において、2個の「要求a」に対する処理、3個の「要求b」に対する処理、5個の「要求c」に対する処理が実行されているものとする。そして、要求保持部130のキュー131に、1個の「要求b」が保持されているものとする。この場合、合計負荷は、
20×2+10×3+5×5+10×1=105
である。合計負荷が105で、100を上回ったので、上記の規則に基づき、実行サーバ管理部160は、実行サーバ200の管理サイトにインスタンスの増加を依頼する。
As a third calculation example, it is assumed that the execution server 200 is executing processing for two “requests a”, processing for three “requests b”, and processing for five “requests c”. It is assumed that one “request b” is held in the queue 131 of the request holding unit 130. In this case, the total load is
20 × 2 + 10 × 3 + 5 × 5 + 10 × 1 = 105
It is. Since the total load is 105 and exceeds 100, the execution server management unit 160 requests the management site of the execution server 200 to increase the number of instances based on the above rules.

第4の計算例では、既にインスタンスの増加が1回行われており、2台のインスタンスが稼働中である場合について例示する。2台のインスタンスのうち、1台のインスタンスでは処理が実行されておらず、負荷が0%であるものとする。また、残りの1台のインスタンスにおいて、2個の「要求a」に対する処理、3個の「要求b」に対する処理、3個の「要求c」に対する処理が実行されており、要求保持部130のキュー131には新規の要求が保持されていないものとする。そして、実行サーバ200において実行されていた処理のうち、1個の「要求b」に対する処理が完了し、処理結果の応答が返送されて応答保持部140に保持されたものとする。この場合、合計負荷は、
20×2+10×3+5×3−10×1=75
である。合計負荷が75で、80を下回ったので、上記の規則に基づき、実行サーバ管理部160は、実行サーバ200の管理サイトにインスタンスの減少を依頼する。
The fourth calculation example illustrates a case where the number of instances has already been increased once and two instances are operating. It is assumed that processing is not executed in one instance of the two instances, and the load is 0%. In the remaining one instance, processing for two “request a”, processing for three “request b”, and processing for three “request c” are executed. It is assumed that no new request is held in the queue 131. Then, it is assumed that the processing for one “request b” among the processing executed in the execution server 200 is completed, and a response as a processing result is returned and held in the response holding unit 140. In this case, the total load is
20 × 2 + 10 × 3 + 5 × 3-10 × 1 = 75
It is. Since the total load is 75, which is below 80, the execution server management unit 160 requests the management site of the execution server 200 to reduce the number of instances based on the above rules.

ここで、上記の第3の計算例を参照すると、現在負荷は、95(=20×2+10×3+5×5)であり、まだ、実行サーバ200の同時処理能力の100%に達していない。しかし、これから要求保持部130に保持されている要求が実行されると実行サーバ200の同時処理能力の100%を超えるため、実行サーバ管理部160は、この時点で実行サーバ200のインスタンスの増加を依頼する。これにより、実際に要求保持部130に保持されている要求が実行サーバ200に送られて処理が実行される時点ではインスタンスが増加されており、エラーや遅延が生じることなく処理が実行される。   Here, referring to the third calculation example, the current load is 95 (= 20 × 2 + 10 × 3 + 5 × 5), and has not yet reached 100% of the simultaneous processing capability of the execution server 200. However, when a request held in the request holding unit 130 is executed from now on, it exceeds 100% of the simultaneous processing capability of the execution server 200. Therefore, the execution server management unit 160 increases the number of instances of the execution server 200 at this time. Ask. As a result, the instances are increased at the time when the request actually held in the request holding unit 130 is sent to the execution server 200 and the process is executed, and the process is executed without causing an error or a delay.

また、上記の第2の計算例を参照すると、実行サーバ管理部160は、合計負荷が80に達した時点で、実行サーバ200のインスタンスを増加するための準備を依頼する。これにより、インスタンスの増加に時間を要するサービスが行われる実行サーバ200においては、予めインスタンスの増加の準備を行っておき、この後に要求が増えてインスタンスの増加が必要となった際に、直ちに追加のインスタンスを稼働して対応することが可能となる。   Referring to the second calculation example, the execution server management unit 160 requests preparation for increasing the number of instances of the execution server 200 when the total load reaches 80. As a result, in the execution server 200 in which a service that takes time to increase the instance is performed, preparation for increasing the instance is performed in advance, and when an increase in the number of requests becomes necessary after that, the instance is immediately added. It is possible to respond by running an instance of.

なお、上記のインスタンスの増減に関する各規則、各要求の負荷や計算例に示す数値などは、全て例示であり、上記の具体的な内容や値に限定されるものではない。実行サーバ200が要求に対する処理を実行する際の負荷は、実際のシステムにおいて具体的に特定される。また、インスタンスの増減に関する規則は、少なくともインスタンスを増加する依頼を行うための基準として現在負荷と予想負荷とを考慮するものであればよく、具体的には、実行サーバ200の仕様や情報処理システム10の運用の態様等に応じて設定される。   It should be noted that each rule relating to the increase / decrease of the instance, the load of each request, and the numerical values shown in the calculation examples are all examples, and are not limited to the specific contents and values described above. The load when the execution server 200 executes the processing for the request is specifically specified in the actual system. Further, the rules regarding the increase / decrease of the instance only need to consider the current load and the expected load as a reference for making a request to increase the instance, and specifically, the specification of the execution server 200 and the information processing system It is set according to 10 operation modes and the like.

<管理サーバの動作>
図3、4は、管理サーバ100の動作を示すフローチャートである。図3に示すように、管理サーバ100において、送受信部110を介して要求管理部120が、クライアント300から要求を受け付けると(ステップ301)、受け付けた要求の内容に基づき、その要求を処理するサービス(実行サーバ200)を決定する(ステップ302)。
<Operation of management server>
3 and 4 are flowcharts showing the operation of the management server 100. As shown in FIG. 3, in the management server 100, when the request management unit 120 receives a request from the client 300 via the transmission / reception unit 110 (step 301), a service that processes the request based on the content of the received request (Execution server 200) is determined (step 302).

次に、実行サーバ管理部160が、ステップ302で決定された実行サーバ200の性能の情報を記憶装置から読み出して取得し(ステップ303)、インスタンスの増加の準備依頼を行う条件(準備依頼条件)を満足するか否かを判断する(ステップ304)。準備依頼条件としては、例えば、上述した合計負荷に基づく規則(規則(3)参照)等が設定される。準備依頼条件を満足しない場合(ステップ304でNo)、要求管理部120による要求の実行依頼が行われる(ステップ311)。   Next, the execution server management unit 160 reads out and acquires the performance information of the execution server 200 determined in step 302 from the storage device (step 303), and a condition for making a preparation request for an instance increase (preparation request condition) Is judged (step 304). As the preparation request condition, for example, a rule based on the total load described above (see rule (3)) is set. When the preparation request condition is not satisfied (No in step 304), a request execution request is made by the request management unit 120 (step 311).

一方、準備依頼条件を満足する場合(ステップ304でYes)、次に実行サーバ管理部160は、既に準備依頼を行っているか否かを判断する(ステップ305)。まだ準備依頼が行われていない場合(ステップ305でNo)、実行サーバ管理部160は、実行サーバ200の管理サイトに対して準備依頼を実行する(ステップ306)。そして、要求管理部120による要求の実行依頼が行われる(ステップ311)。   On the other hand, when the preparation request condition is satisfied (Yes in step 304), the execution server management unit 160 determines whether or not a preparation request has already been made (step 305). If a preparation request has not been made (No in step 305), the execution server management unit 160 executes a preparation request for the management site of the execution server 200 (step 306). Then, a request execution request is made by the request management unit 120 (step 311).

これに対し、既に準備依頼が行われている場合(ステップ305でYes)、次に実行サーバ管理部160は、準備依頼を破棄する条件(破棄条件)を満足するか否かを判断する(図4、ステップ307)。例えば、準備依頼条件を満足しなくなったときは、破棄条件を満足すると設定することができる。この場合、上述した合計負荷に基づく規則(3)を準備依頼条件とすると、合計負荷が80%を下回ったとき、破棄条件を満足することになる。破棄条件を満足した場合(ステップ307でYes)、実行サーバ管理部160は、実行サーバ200の管理サイトに対して準備依頼の破棄を依頼する(ステップ310)。そして、要求管理部120による要求の実行依頼が行われる(ステップ311)。なお、ここでは、準備依頼条件を満足しなくなったときに破棄条件を満足することとしたが、準備依頼条件とは別に破棄条件を設定しても良い。   On the other hand, if a preparation request has already been made (Yes in step 305), the execution server management unit 160 next determines whether or not a condition for discarding the preparation request (discard condition) is satisfied (see FIG. 4, Step 307). For example, when the preparation request condition is not satisfied, it can be set that the discard condition is satisfied. In this case, if the rule (3) based on the total load described above is set as the preparation request condition, the discard condition is satisfied when the total load falls below 80%. If the discard condition is satisfied (Yes in Step 307), the execution server management unit 160 requests the management site of the execution server 200 to discard the preparation request (Step 310). Then, a request execution request is made by the request management unit 120 (step 311). Here, the discard condition is satisfied when the preparation request condition is no longer satisfied, but a discard condition may be set separately from the preparation request condition.

一方、破棄条件を満足しない場合(ステップ307でNo)、上記の破棄条件の例では、準備依頼条件を満足した状態が継続している場合、次に実行サーバ管理部160は、実行サーバ200のインスタンスを増加させるための条件(増加条件)を満足するか否かを判定する(ステップ308)。増加条件としては、例えば、上述した合計負荷に基づく規則(規則(1)参照)等が設定される。増加条件を満足しない場合(ステップ308でNo)、要求管理部120による要求の実行依頼が行われる(ステップ311)。   On the other hand, if the discard condition is not satisfied (No in step 307), in the example of the discard condition, if the state where the preparation request condition is satisfied continues, then the execution server management unit 160 It is determined whether or not a condition for increasing the instance (increase condition) is satisfied (step 308). As the increase condition, for example, a rule based on the total load described above (see rule (1)) is set. If the increase condition is not satisfied (No in Step 308), the request management unit 120 requests execution of the request (Step 311).

一方、増加条件を満足する場合(ステップ308でYes)、実行サーバ管理部160は、実行サーバ200のインスタンスの増加を依頼する(ステップ309)。そして、要求管理部120による要求の実行依頼が行われる(ステップ311)。   On the other hand, when the increase condition is satisfied (Yes in Step 308), the execution server management unit 160 requests an increase in the number of instances of the execution server 200 (Step 309). Then, a request execution request is made by the request management unit 120 (step 311).

ステップ311において、要求管理部120は、要求に対する処理を実行する実行サーバ200に対応する要求保持部130のキュー131に要求を保持させる。そして、キュー131に保持されている要求を、順次、実行サーバ200へ送る。要求が実行サーバ200へ送られると、ステップ311におけるその要求に対する実行依頼が完了する。   In step 311, the request management unit 120 holds the request in the queue 131 of the request holding unit 130 corresponding to the execution server 200 that executes processing for the request. The requests held in the queue 131 are sequentially sent to the execution server 200. When the request is sent to the execution server 200, the execution request for the request in step 311 is completed.

ステップ311における要求の実行依頼が完了すると、次に、実行サーバ管理部160は、実行サーバ200のインスタンスを減少させるための条件(減少条件)を満足するか否かを判定する(ステップ312)。減少条件としては、例えば、上述した合計負荷に基づく規則(規則(2)参照)等が設定される。減少条件を満足する場合(ステップ312でYes)、実行サーバ管理部160が実行サーバ200のインスタンスの減少を依頼する(ステップ313)。そして、この要求に関する処理が終了する。一方、減少条件を満足しない場合(ステップ312でNo)、インスタンスを減少させる必要がないので、そのままこの要求に関する処理が終了する。   When the request execution request in step 311 is completed, the execution server management unit 160 next determines whether or not a condition (decrease condition) for reducing the instances of the execution server 200 is satisfied (step 312). As the reduction condition, for example, a rule based on the total load described above (see rule (2)) is set. When the reduction condition is satisfied (Yes in Step 312), the execution server management unit 160 requests reduction of the instance of the execution server 200 (Step 313). Then, the processing related to this request ends. On the other hand, if the decrease condition is not satisfied (No in step 312), there is no need to decrease the instance, and the process related to this request is terminated as it is.

以上、本実施形態の管理サーバ100による実行サーバ200の制御方法について説明したが、上記の手順は例示に過ぎない。本実施形態は、管理サーバ100が実行サーバ200において実行中の要求および要求保持部130に保持されている要求に基づいて実行サーバ200のインスタンスの増加や増加の準備を依頼するものであればよく、具体的な動作は、図3、4に示す手順に限定されるものではない。   The method for controlling the execution server 200 by the management server 100 of the present embodiment has been described above, but the above procedure is merely an example. In the present embodiment, the management server 100 may request increase of the execution server 200 or preparation for increase based on the request being executed in the execution server 200 and the request held in the request holding unit 130. The specific operation is not limited to the procedure shown in FIGS.

<管理サーバ100のハードウェア構成例>
図5は、管理サーバ100を実現するコンピュータ(情報処理装置)のハードウェア構成例を示す図である。図5に示すように、管理サーバ100は、制御手段および演算手段であるCPU(Central Processing Unit)101と、RAM102およびROM103と、外部記憶装置104と、ネットワーク・インターフェイス部105とを備える。CPU101は、ROM103に格納されているプログラムを実行することにより、要求管理部120、応答管理部150および実行サーバ管理部160の機能を実現する。RAM102は、CPU201による制御や演算処理において作業メモリとして用いられるとともに、要求保持部130(キュー131)および応答保持部140として機能する。ROM103は、CPU101が実行するプログラムや制御において用いられる各種のデータを格納している。外部記憶装置104は、例えば磁気ディスク装置や、データの読み書きが可能で不揮発性の半導体メモリで実現され、RAM102に展開されてCPU101により実行されるプログラムや、CPU101による演算処理の結果を格納する。ネットワーク・インターフェイス部105は、ネットワーク20に接続して、実行サーバ200やクライアント300との間でデータの送受信を行う。なお、図5に示す構成例は、管理サーバ100をコンピュータで実現するハードウェア構成の一例に過ぎない。管理サーバ100の具体的構成は、本実施形態の機能を実現し得るものであれば、図5に示す構成例に限定されない。
<Example of Hardware Configuration of Management Server 100>
FIG. 5 is a diagram illustrating a hardware configuration example of a computer (information processing apparatus) that implements the management server 100. As shown in FIG. 5, the management server 100 includes a central processing unit (CPU) 101 that is a control unit and a calculation unit, a RAM 102 and a ROM 103, an external storage device 104, and a network interface unit 105. The CPU 101 implements the functions of the request management unit 120, the response management unit 150, and the execution server management unit 160 by executing a program stored in the ROM 103. The RAM 102 is used as a work memory in the control and arithmetic processing by the CPU 201 and functions as the request holding unit 130 (queue 131) and the response holding unit 140. The ROM 103 stores programs executed by the CPU 101 and various data used in control. The external storage device 104 is realized by, for example, a magnetic disk device or a non-volatile semiconductor memory that can read and write data, and stores a program that is expanded in the RAM 102 and executed by the CPU 101, and a result of arithmetic processing by the CPU 101. The network interface unit 105 is connected to the network 20 and transmits / receives data to / from the execution server 200 and the client 300. The configuration example illustrated in FIG. 5 is merely an example of a hardware configuration that implements the management server 100 with a computer. The specific configuration of the management server 100 is not limited to the configuration example illustrated in FIG. 5 as long as the functions of the present embodiment can be realized.

10…情報処理システム、20…ネットワーク、100…管理サーバ、110…送受信部、120…要求管理部、130…要求保持部、140…応答保持部、150…応答管理部、160…実行サーバ管理部 DESCRIPTION OF SYMBOLS 10 ... Information processing system 20 ... Network 100 ... Management server 110 ... Transmission / reception part 120 ... Request management part 130 ... Request holding part 140 ... Response holding part 150 ... Response management part 160 ... Execution server management part

Claims (7)

サーバに処理を実行させる要求を保持する要求保持部と、
前記要求保持部に保持された前記要求を前記サーバへ送信する送信部と、
前記サーバの情報を管理し、当該サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷とに基づく当該サーバの状態が、予め定められた特定の条件を満足する場合に、前記サーバの資源を増加させるサーバ管理部と、
を備えることを特徴とする、情報処理装置。
A request holding unit for holding a request to cause the server to execute processing;
A transmission unit that transmits the request held in the request holding unit to the server;
The server information is managed, and the processing load on the request being executed by the server and the processing load expected on the server when processing for the request held in the request holding unit is executed. A server management unit that increases the resource of the server when the state of the server based on satisfies a predetermined specific condition;
An information processing apparatus comprising:
前記サーバは、仮想サーバであり、前記サーバ管理部は、前記仮想サーバのインスタンスを増加させることを特徴とする、請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the server is a virtual server, and the server management unit increases the number of instances of the virtual server. 前記サーバ管理部は、前記サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷の合計が予め定められた値よりも大きい場合に、前記サーバの資源を増加させることを特徴とする、請求項1または請求項2に記載の情報処理装置。   The server management unit preliminarily calculates a total of a processing load for the request being executed by the server and a processing load in the server that is expected when a process for the request held in the request holding unit is executed. The information processing apparatus according to claim 1, wherein when the value is larger than a predetermined value, the resource of the server is increased. 前記サーバ管理部は、前記サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷に基づく当該サーバの状態が、前記特定の条件とは異なる予め定められた準備依頼条件を満足する場合に、前記サーバの資源を増加するための準備を依頼することを特徴とする、請求項1乃至請求項3に記載の情報処理装置。   The server management unit is based on the processing load on the request being executed by the server and the processing load on the server that is expected when the processing on the request held in the request holding unit is executed. When the state of the server satisfies a predetermined preparation request condition different from the specific condition, preparation for increasing the resource of the server is requested. The information processing apparatus described in 1. 前記サーバ管理部は、前記サーバが実行中の前記要求に対する処理の負荷と前記要求保持部に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷に基づく当該サーバの状態が、前記準備依頼条件を満足した後、前記特定の条件および当該準備依頼条件とは異なる予め定められた破棄条件を満足する場合に、前記資源を増加するための準備の依頼の破棄を依頼することを特徴とする、請求項4に記載の情報処理装置。   The server management unit is based on the processing load on the request being executed by the server and the processing load on the server that is expected when the processing on the request held in the request holding unit is executed. If the state satisfies the preparation request condition and then satisfies the specific condition and a predetermined discard condition different from the preparation request condition, the preparation request for increasing the resource is discarded. The information processing apparatus according to claim 4, wherein the information processing apparatus requests the information processing apparatus. 要求をサーバへ送信し、当該要求に対する処理をサーバに実行させる制御方法であって、
サーバに処理を実行させる要求を記憶手段に保持するステップと、
当該サーバが実行中の前記要求に対する処理の負荷と前記記憶手段に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷とに基づく当該サーバの状態が、予め定められた特定の条件を満足する場合に、前記サーバの資源を増加させるステップと、
前記記憶手段に保持された前記要求を前記サーバへ送信するステップと、
を含むことを特徴とする、制御方法。
A control method for transmitting a request to a server and causing the server to execute processing for the request,
Holding in the storage means a request to cause the server to execute processing;
The state of the server based on the processing load on the request being executed by the server and the processing load on the server that is expected when the processing on the request held in the storage unit is executed is determined in advance. Increasing the resource of the server if the specified specific condition is satisfied;
Transmitting the request held in the storage means to the server;
The control method characterized by including.
コンピュータを、
サーバに処理を実行させる要求を保持する要求保持手段と、
前記要求保持手段に保持された前記要求を前記サーバへ送信する送信手段と、
前記サーバの情報を管理し、当該サーバが実行中の前記要求に対する処理の負荷と前記要求保持手段に保持されている要求に対する処理が実行される場合に予想される当該サーバにおける処理の負荷とに基づく当該サーバの状態が、予め定められた特定の条件を満足する場合に、前記サーバの資源を増加させるサーバ管理手段として、
機能させることを特徴とする、プログラム。
Computer
Request holding means for holding a request to cause the server to execute processing;
Transmitting means for transmitting the request held in the request holding means to the server;
The server information is managed, and the processing load for the request being executed by the server and the processing load expected at the time when the processing for the request held in the request holding unit is executed. As a server management means for increasing the resource of the server when the state of the server based on satisfies a predetermined specific condition,
A program characterized by functioning.
JP2016173461A 2016-09-06 2016-09-06 Information processing equipment, control methods and programs Active JP6891425B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016173461A JP6891425B2 (en) 2016-09-06 2016-09-06 Information processing equipment, control methods and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016173461A JP6891425B2 (en) 2016-09-06 2016-09-06 Information processing equipment, control methods and programs

Publications (2)

Publication Number Publication Date
JP2018041190A true JP2018041190A (en) 2018-03-15
JP6891425B2 JP6891425B2 (en) 2021-06-18

Family

ID=61626191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016173461A Active JP6891425B2 (en) 2016-09-06 2016-09-06 Information processing equipment, control methods and programs

Country Status (1)

Country Link
JP (1) JP6891425B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021196912A (en) * 2020-06-15 2021-12-27 ヤフー株式会社 Execution apparatus, execution method, and execution program
DE112019001162B4 (en) 2018-03-07 2022-01-27 Honda Motor Co., Ltd. Control unit arrangement structure for a saddle-riding type vehicle

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118525A (en) * 2009-12-01 2011-06-16 Hitachi Ltd Server management apparatus, server management method, and server management program
JP2015511341A (en) * 2012-01-09 2015-04-16 マイクロソフト コーポレーション Pricing resources in virtual machine pools

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118525A (en) * 2009-12-01 2011-06-16 Hitachi Ltd Server management apparatus, server management method, and server management program
JP2015511341A (en) * 2012-01-09 2015-04-16 マイクロソフト コーポレーション Pricing resources in virtual machine pools

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019001162B4 (en) 2018-03-07 2022-01-27 Honda Motor Co., Ltd. Control unit arrangement structure for a saddle-riding type vehicle
JP2021196912A (en) * 2020-06-15 2021-12-27 ヤフー株式会社 Execution apparatus, execution method, and execution program

Also Published As

Publication number Publication date
JP6891425B2 (en) 2021-06-18

Similar Documents

Publication Publication Date Title
US8543692B2 (en) Network system
EP3115897A1 (en) Intelligent load balancer selection in a multi-load balancer environment
CN108028833A (en) A kind of method, system and the relevant device of NAS data accesses
JP6289092B2 (en) Information processing apparatus, control method thereof, and computer program
JP6062034B2 (en) Processing control system, processing control method, and processing control program
JP5757325B2 (en) Virtual desktop system, network processing apparatus, management method, and management program
KR102509988B1 (en) Storage system and method for connection-based load balancing
CN112087520B (en) Data processing method, device, equipment and computer readable storage medium
US8959171B2 (en) Method and apparatus for acknowledging a request for data transfer
JP6891425B2 (en) Information processing equipment, control methods and programs
EP1607880A1 (en) Decentralized processing control device, decentralized processing control method, decentralized processing control program
JP5702747B2 (en) Service order system, service order apparatus, service order method, and service order program
US20220214926A1 (en) Virtual machine monitoring device, virtual machine monitoring method, and program
JP6176161B2 (en) Print control apparatus and program
JP2008210110A (en) Business system and its execution request management method
JP2011238099A (en) Transaction processing device, transaction processing method, and transaction processing program
JP2017033234A (en) Request reception system, request reception method and program
US11695700B2 (en) Information processing apparatus, computer-readable recording medium storing overload control program, and overload control method
JP2019003245A (en) Service providing system, service providing server, service providing method and service providing program
WO2020184381A1 (en) Processing device, information processing system, information processing method, and program
JP5686184B2 (en) Network system, processing terminal, waiting time setting program, and waiting time setting method
JP2017016173A (en) Log output control device, log output control method, and program
JP6491944B2 (en) Packet processing apparatus and program
JP5551967B2 (en) Cluster system, cluster system scale-out method, resource manager device, server device
CN117896269A (en) Ping time delay simulation method, computing equipment and Ping time delay simulation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210510

R150 Certificate of patent or registration of utility model

Ref document number: 6891425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150