JP7230375B2 - Information processing device and program - Google Patents
Information processing device and program Download PDFInfo
- Publication number
- JP7230375B2 JP7230375B2 JP2018165624A JP2018165624A JP7230375B2 JP 7230375 B2 JP7230375 B2 JP 7230375B2 JP 2018165624 A JP2018165624 A JP 2018165624A JP 2018165624 A JP2018165624 A JP 2018165624A JP 7230375 B2 JP7230375 B2 JP 7230375B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- virtual machines
- information
- processing request
- receiving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Description
本発明は、情報処理装置およびプログラムに関する。 The present invention relates to an information processing device and program.
特許文献1には、情報処理装置と連携したデータ処理を行う処理提供装置に、データ処理が開始される前に資源の確保または解放の要求を送信することで、処理提供装置の応答性能を向上させるようにした情報処理システムが開示されている。 Japanese Patent Application Laid-Open No. 2002-200000 discloses that a request for securing or releasing resources is transmitted to a processing providing device that performs data processing in cooperation with an information processing device before data processing is started, thereby improving the response performance of the processing providing device. Disclosed is an information processing system adapted to allow
本発明の目的は、クライアント装置からの複数の処理要求を連続して受付けて処理する際に、処理要求を処理するために起動する仮想マシンの数を増減させる制御を実行する場合でも、ユーザからの処理要求を受付けてから必要な仮想マシンの数を確保する場合と比較して、仮想マシンの不要な増減処理を削減することが可能な情報処理装置およびプログラムを提供することである。 An object of the present invention is to continuously receive and process a plurality of processing requests from a client device, even when executing control to increase or decrease the number of virtual machines that are activated to process the processing requests. To provide an information processing device and a program capable of reducing unnecessary increase/decrease processing of virtual machines compared to the case of securing the required number of virtual machines after receiving a processing request of .
[情報処理装置]
請求項1に係る本発明は、クライアント装置からの複数の処理要求を連続的に受付ける受付手段と、
前記受付手段により受付けられた処理要求を一時的に格納する格納手段と、
前記格納手段に格納されている処理要求を取得して、取得した処理要求に基づく処理を実行する実行手段と、
前記受付手段により処理要求を受付ける前に、前記クライアント装置において処理要求の処理内容が確定する前にユーザの操作内容を参照することにより生成された情報であって、ユーザが処理を実行しようとするデータの種類に関する情報、そのユーザが処理を実行しようとするデータのデータ量に関する情報、及び、そのユーザが実行しようとする処理内容の種類に関する情報のうちの少なくとも1つの情報を前記クライアント装置から受信する受信手段と、
前記受信手段により受信された前記情報を用いて、当該処理要求を処理するために必要な仮想マシンの必要数を順次予測する予測手段と、
前記格納手段に格納された実行待ちの処理要求の量に応じて前記実行手段において起動する仮想マシンの数を増減させる制御を行う際に、前記予測手段により予測された仮想マシンの必要数が確保されるように仮想マシンの数を制御する制御手段とを備えた情報処理装置である。
[Information processing device]
The present invention according to
a storage means for temporarily storing the processing request accepted by the acceptance means;
execution means for acquiring the processing request stored in the storage means and executing processing based on the acquired processing request;
Information generated by referring to the user's operation content before the processing request is accepted by the receiving means and before the processing content of the processing request is determined in the client device, and the user intends to execute the processing. Receive from the client device at least one of information on the type of data, information on the amount of data the user intends to process, and information on the type of processing content the user intends to execute. receiving means for
prediction means for sequentially predicting the required number of virtual machines required to process the processing request using the information received by the reception means;
Securing the necessary number of virtual machines predicted by the prediction means when performing control to increase or decrease the number of virtual machines activated by the execution means according to the amount of processing requests waiting for execution stored in the storage means. and a control means for controlling the number of virtual machines so that the number of virtual machines is increased.
請求項2に係る本発明は、前記予測手段が、前記情報が更新された場合、当該処理要求を処理するために必要な仮想マシンの必要数を再度予測する請求項1記載の情報処理装置である。
The present invention according to
請求項3に係る本発明は、前記制御手段が、
仮想マシンの使用状況から起動中の未使用の仮想マシンの数である未使用数を算出する第1の算出手段と、
前記未使用数から前記予測手段により予測された必要数を減算することにより、当該処理要求を処理した場合に発生する仮想マシンの過不足数を算出する第2の算出手段とを備え、
前記過不足数により表された仮想マシンの過不足が解消されるように仮想マシンの数を制御することにより、前記予測手段により予測された仮想マシンの必要数が確保されるような仮想マシンの数の制御を実行する請求項1又は2記載の情報処理装置である。
In the present invention according to
a first calculation means for calculating an unused number, which is the number of unused virtual machines being activated, from the usage status of the virtual machines;
a second calculation means for calculating an excess or deficiency of virtual machines generated when the processing request is processed by subtracting the required number predicted by the prediction means from the unused number;
By controlling the number of virtual machines so as to eliminate the excess/deficiency of the virtual machines represented by the excess/deficiency number, the necessary number of virtual machines predicted by the prediction means is secured. 3. The information processing apparatus according to
請求項4に係る本発明は、前記制御手段が、前記未使用数が1以上であっても、前記過不足数が1より小さい場合には、仮想マシンの数を減じる制御を実行しない請求項3記載の情報処理装置である。 According to a fourth aspect of the present invention, the control means does not execute control to reduce the number of virtual machines when the excess/deficiency number is less than one even if the unused number is one or more. 3. The information processing apparatus according to 3 above.
請求項5に係る本発明は、前記受信手段が、前記受付手段により受け付けた処理要求が、前記格納手段に格納される前に、前記情報を前記クライアント装置から受信する請求項1から4のいずれか1項記載の情報処理装置である。
The present invention according to claim 5 is any one of
[プログラム]
請求項6に係る本発明は、クライアント装置からの複数の処理要求を連続的に受付ける受付ステップと、
前記受付ステップにおいて受付けられた処理要求を格納手段に一時的に格納する格納ステップと、
前記格納手段に格納されている処理要求を取得して、取得した処理要求に基づく処理を実行手段において実行する実行ステップと
前記受付ステップにおいて処理要求を受付ける前に、前記クライアント装置において処理要求の処理内容が確定する前にユーザの操作内容を参照することにより生成された情報であって、ユーザが処理を実行しようとするデータの種類に関する情報、そのユーザが処理を実行しようとするデータのデータ量に関する情報、及び、そのユーザが実行しようとする処理内容の種類に関する情報のうちの少なくとも1つの情報を前記クライアント装置から受信する受信ステップと、
前記受信ステップにおいて受信された前記処理要求の処理負荷を予測可能な情報を用いて、当該処理要求を処理するために必要な仮想マシンの必要数を順次予測する予測ステップと、
前記格納手段に格納された実行待ちの処理要求の量に応じて前記実行手段において起動する仮想マシンの数を増減させる制御を行う際に、前記予測ステップにおいて予測された仮想マシンの必要数が確保されるように仮想マシンの数を制御する制御ステップとをコンピュータに実行させるためのプログラムである。
[program]
The present invention according to claim 6 is a receiving step of continuously receiving a plurality of processing requests from a client device;
a storage step of temporarily storing the processing request received in the receiving step in a storage means;
an execution step of acquiring the processing request stored in the storage means and executing a process based on the acquired processing request in the execution means;
Information generated by referring to the user's operation content before the processing request is accepted in the receiving step and before the processing content of the processing request is determined in the client device, and the user intends to execute the processing. Receive from the client device at least one of information on the type of data, information on the amount of data the user intends to process, and information on the type of processing content the user intends to execute. a receiving step for
a prediction step of sequentially predicting the required number of virtual machines required to process the processing request, using information capable of predicting the processing load of the processing request received in the receiving step;
Securing the necessary number of virtual machines predicted in the prediction step when performing control to increase or decrease the number of virtual machines activated by the execution means according to the amount of processing requests waiting to be executed stored in the storage means and a control step for controlling the number of virtual machines to be run.
請求項1に係る本発明によれば、クライアント装置からの複数の処理要求を連続して受付けて処理する際に、処理要求を処理するために起動する仮想マシンの数を増減させる制御を実行する場合でも、ユーザからの処理要求を受付けてから必要な仮想マシンの数を確保する場合と比較して、仮想マシンの不要な増減処理を削減することが可能な情報処理装置を提供することができる。
According to the present invention of
また、請求項1に係る本発明によれば、クライアント装置において処理要求の処理内容が確定する前であっても、処理要求を処理するために必要な仮想マシンの必要数を予測することが可能な情報処理装置を提供することができる。 Further, according to the first aspect of the present invention, it is possible to predict the required number of virtual machines required to process a processing request even before the processing content of the processing request is determined in the client device. It is possible to provide a sophisticated information processing apparatus.
請求項2に係る本発明によれば、クライアント装置により処理要求の処理内容が変更された場合でも、変更された処理内容の処理要求を処理するために必要な仮想マシンの必要数を予測することが可能な情報処理装置を提供することができる。 According to the second aspect of the present invention, even when the processing content of the processing request is changed by the client device, the necessary number of virtual machines necessary for processing the processing request of the changed processing content can be predicted. can provide an information processing apparatus capable of
請求項3に係る本発明によれば、クライアント装置からの複数の処理要求を連続して受付けて処理する際に、処理要求を処理するために起動する仮想マシンの数を増減させる制御を実行する場合でも、ユーザからの処理要求を受付けてから必要な仮想マシンの数を確保する場合と比較して、仮想マシンの不要な増減処理を削減することが可能な情報処理装置を提供することができる。 According to the third aspect of the present invention, when continuously receiving and processing a plurality of processing requests from a client device, control is executed to increase or decrease the number of virtual machines activated to process the processing requests. Even in such a case, it is possible to provide an information processing apparatus capable of reducing unnecessary increase/decrease processing of virtual machines compared to the case of securing the required number of virtual machines after accepting a processing request from a user. .
請求項4に係る本発明によれば、起動中の未使用の仮想マシンが1つ以上ある場合でも、仮想マシンの数を減らすと今後受付けた処理要求を処理する際に仮想マシンの数が不足することが予測される場合には仮想マシンの数を減ずる制御が実行されないようにすることが可能な情報処理装置を提供することができる。 According to the fourth aspect of the present invention, even if one or more unused virtual machines are running, if the number of virtual machines is reduced, the number of virtual machines will be insufficient when processing requests received from now on. It is possible to provide an information processing apparatus capable of preventing the execution of control to reduce the number of virtual machines when it is predicted that the number of virtual machines will be reduced.
請求項5に係る本発明によれば、クライアント装置からの複数の処理要求を連続して受付けて処理する際に、処理要求を処理するために起動する仮想マシンの数を増減させる制御を実行する場合でも、ユーザからの処理要求を受付けてから必要な仮想マシンの数を確保する場合と比較して、仮想マシンの不要な増減処理を削減することが可能な情報処理装置を提供することができる。 According to the fifth aspect of the present invention, when continuously receiving and processing a plurality of processing requests from a client device, control is executed to increase or decrease the number of virtual machines activated to process the processing requests. Even in such a case, it is possible to provide an information processing apparatus capable of reducing unnecessary increase/decrease processing of virtual machines compared to the case of securing the required number of virtual machines after accepting a processing request from a user. .
請求項6に係る本発明によれば、クライアント装置からの複数の処理要求を連続して受付けて処理する際に、処理要求を処理するために起動する仮想マシンの数を増減させる制御を実行する場合でも、ユーザからの処理要求を受付けてから必要な仮想マシンの数を確保する場合と比較して、仮想マシンの不要な増減処理を削減することが可能なプログラムを提供することができる。
また、請求項6に係る本発明によれば、クライアント装置において処理要求の処理内容が確定する前であっても、処理要求を処理するために必要な仮想マシンの必要数を予測することが可能なプログラムを提供することができる。
According to the sixth aspect of the present invention, when continuously receiving and processing a plurality of processing requests from a client device, control is executed to increase or decrease the number of virtual machines activated to process the processing requests. Even in this case, it is possible to provide a program capable of reducing unnecessary increase/decrease processing of virtual machines, compared to the case of securing the required number of virtual machines after receiving a processing request from a user.
According to the sixth aspect of the present invention, it is possible to predict the required number of virtual machines required to process a processing request even before the processing content of the processing request is determined in the client device. program can be provided.
次に、本発明の実施の形態について図面を参照して詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
図1は本発明の一実施形態の情報処理システムのシステム構成を示す図である。 FIG. 1 is a diagram showing the system configuration of an information processing system according to one embodiment of the present invention.
本発明の一実施形態の情報処理システムは、図1に示されるように、サービス提供装置10と、画像形成装置20と、領収書保存サーバ61、名刺管理サーバ62、データ保存サーバ63とが、インターネット等のネットワーク30により相互に接続された構成となっている。
As shown in FIG. 1, an information processing system according to an embodiment of the present invention includes a
画像形成装置20は、画像形成装置10は、印刷(プリント)機能、スキャン機能、複写(コピー)機能、ファクシミリ機能等の複数の機能を有するいわゆる複合機と呼ばれる装置である。
The
そして、サービス提供装置10は、画像形成装置20において読み取られた文書画像等の各種画像データに対して、OCR(Optical Character Reading:光学式文字読取り)処理、翻訳処理、保存処理等を行う各種サービスを提供している。そして、サービス提供装置10は、他の事業会社により運営されている領収書保存サーバ61、名刺管理サーバ62、データ保存サーバ63等の各種サーバ装置と連携して、様々なサービスの提供を行っている。
The
例えば、画像形成装置20において領収書やレシート等の読み取った画像データをサービス提供装置10に転送することにより、その画像データに各種処理を行った後に領収書保存サーバ61に転送して格納することにより経費精算サービスが実現される。
For example, the
また、例えば画像形成装置20において名刺を読み取った画像データをサービス提供装置10に転送することにより、その画像データに各種処理を行った後に名刺管理サーバ62に転送して格納することにより名刺管理サービスが実現される。
Further, for example, by transferring image data obtained by reading a business card in the
このようなサービス提供装置10のハードウェア構成を図2に示す。
FIG. 2 shows the hardware configuration of such a
サービス提供装置10は、図2に示されるように、CPU11、メモリ12、ハードディスクドライブ(HDD)等の記憶装置13、ネットワーク30を介して外部の装置等との間でデータの送信及び受信を行う通信インタフェース(IF)14、タッチパネル又は液晶ディスプレイ並びにキーボードを含むユーザインタフェース(UI)装置15を有する。これらの構成要素は、制御バス16を介して互いに接続されている。
As shown in FIG. 2, the
CPU11は、メモリ12または記憶装置13に格納された制御プログラムに基づいて所定の処理を実行して、サービス提供装置10の動作を制御する。なお、本実施形態では、CPU11は、メモリ12または記憶装置13内に格納された制御プログラムを読み出して実行するものとして説明するが、当該プログラムをCD-ROM等の記憶媒体に格納してCPU11に提供することも可能である。
The
図3は、上記の制御プログラムが実行されることにより実現されるサービス提供装置10の機能構成を示すブロック図である。
FIG. 3 is a block diagram showing the functional configuration of the
本実施形態におけるサービス提供装置10は、図3に示されるように、処理要求受付部31と、処理要求格納部32と、オートスケール制御部33と、受信部34と、予測部35と、処理実行部36と、処理結果格納部37と、処理結果送信部38とを備えている。
As shown in FIG. 3, the
ここで、処理実行部36は、画像形成装置20から送信されてくる処理要求を、起動された複数の仮想マシン51によって処理理可能な処理手段である。
Here, the
ここで、仮想マシンとは、1つの物理的コンピュータ内において仮想的(疑似的)に作り上げられた実行環境を意味する。このような仮想マシンを用いることにより、1つのコンピュータにより構成されたサーバや装置等の物理的マシン内において、複数の仮想マシンを構成して、それぞれの仮想マシンを並列処理させるようなことが可能となる。なお、この仮想マシンは、インスタンスと呼ばれる場合もある。 Here, a virtual machine means an execution environment created virtually (pseudo) within one physical computer. By using such virtual machines, it is possible to configure a plurality of virtual machines in a physical machine such as a server or device configured by one computer and perform parallel processing on each virtual machine. becomes. Note that this virtual machine may also be called an instance.
そして、この仮想マシンの起動数を、実行すべき処理の処理量に応じて制御する処理はオートスケールと呼ばれている。このオートスケールが行われることにより、仮想マシンの起動数と比較して、実行すべき処理の処理量が多い場合には仮想マシンの起動数が増加するような制御(スケールアウト)が行われ、仮想マシンの起動数と比較して、実行すべき処理の処理量が少ない場合には仮想マシンの起動数が減少するような制御(スケールイン)が行われる。 The process of controlling the number of activated virtual machines according to the amount of processing to be executed is called auto-scaling. By performing this auto-scaling, when the amount of processing to be executed is large compared to the number of virtual machines started, control (scale out) is performed so that the number of virtual machines started increases. When the amount of processing to be executed is smaller than the number of virtual machines started, control (scale-in) is performed to reduce the number of virtual machines started.
処理要求受付部31は、クライアント装置である画像形成装置20からの複数の処理要求を連続的に受付ける。
The processing
処理要求格納部32は、処理要求受付部31により受付けられた処理要求をキューとして一時的に格納する。処理実行部36は、処理要求格納部32に格納されている処理要求を取得して、取得した処理要求に基づく処理を実行する。
The processing
オートスケール制御部33は、実行待ちの処理要求の量に応じて起動する仮想マシンの数を増減させる制御を行う際に、予測部35により予測された仮想マシンの必要数が確保されるように、処理実行部36において起動される仮想マシンの数を制御する。
When the auto-scaling
受信部34は、処理要求受付部31により処理要求を受付ける前に、その処理要求の処理負荷を予測可能な情報を画像形成装置20から受信する。受信部34は、処理要求の処理負荷を予測可能な情報として、画像形成装置20において処理要求の処理内容が確定する前に生成された情報を受信する。
The receiving
具体的には、受信部34は、処理要求の処理負荷を予測可能な情報として、画像形成装置20におけるユーザの操作内容を参照することにより生成された情報を受信する。
Specifically, the receiving
ここで、ユーザの操作内容を参照することにより生成された情報としては、ユーザが処理を実行しようとするデータの種類に関する情報、そのユーザが処理を実行しようとするデータのデータ量に関する情報、そのユーザが実行しようとする処理内容の種類に関する情報を用いることができる。 Here, the information generated by referring to the contents of the user's operation includes information on the type of data that the user intends to process, information on the amount of data that the user intends to process, Information about the type of processing that the user intends to perform can be used.
さらに、受信部34は、処理要求受付部31により受け付けた処理要求が、実行待ちの処理要求を格納する処理要求格納部32に格納される前に、その処理要求の処理負荷を予測可能な情報を画像形成装置20から受信する。
Furthermore, before the processing request received by the processing
予測部35は、受信部34により受信された処理要求の処理負荷を予測可能な情報を用いて、その処理要求を処理するために必要な仮想マシンの必要数を順次予測する。
The
なお、予測部35は、画像形成装置20において処理要求の処理内容が確定する前に生成された情報が更新された場合、その処理要求を処理するために必要な仮想マシンの必要数を再度予測する。
If the information generated before the processing content of the processing request is determined in the
処理結果格納部37は、処理実行部36により処理が行われた後の処理結果を格納する。処理結果送信部38は、処理結果格納部37に格納された処理結果を、領収書保存サーバ61、名刺管理サーバ62、データ保存サーバ63等の各種サーバに送信する。
The processing
次に、オートスケール制御部33の構成について図4を参照して説明する。
Next, the configuration of the
オートスケール制御部33は、図4に示されるように、未使用数算出部41と、過不足数算出部42と、仮想マシン数増減制御部43とから構成されている。
As shown in FIG. 4 , the
未使用数算出部41は、処理実行部36における仮想マシン51の使用状況から起動中の未使用の仮想マシンの数である未使用数を算出する。
The unused
過不足数算出部42は、未使用数算出部41により算出された未使用数から予測部35により予測された必要数を減算することにより、その処理要求を処理した場合に発生する仮想マシンの過不足数を算出する。
The excess/deficiency
仮想マシン数増減制御部43は、過不足数算出部42により算出された過不足数により表された仮想マシン51の過不足が解消されるように処理実行部36における仮想マシン51の起動数を制御することにより、予測部35により予測された仮想マシンの必要数が確保されるような仮想マシンの起動数の制御を実行する。
The virtual machine number increase/
上述したような制御が行われることにより、オートスケール制御部33は、未使用数が1以上であっても、過不足数が1より小さい場合には、仮想マシンの数を減じる制御を実行しないことになる。
By performing the above-described control, the auto-scaling
次に、本実施形態の情報処理システムにおけるサービス提供装置10の動作について図面を参照して詳細に説明する。
Next, the operation of the
先ず、予測部35が受信部34により受信された情報に基づいて仮想マシンの必要数を予測する際の具体例を図5、図6、図7を参照して説明する。
First, a specific example in which the
先ず、画像形成装置20において、ユーザが実行しようとする処理内容の種類、つまり実行しようとするサービス種類に基づいて、予測部35が仮想マシンの必要数を予測する場合について説明する。
First, in the
例えば、サービス種類毎の仮想マシンの必要数の設定例を図5に示す。図5では、領収書保存サービス、名刺管理サービス、データ記憶サービスというサービス種類に対して、それぞれ仮想マシンの必要数が、0.25、1、0.5と設定されている場合が示されている。 For example, FIG. 5 shows a setting example of the required number of virtual machines for each service type. FIG. 5 shows cases where the required number of virtual machines is set to 0.25, 1, and 0.5 for service types such as receipt storage service, business card management service, and data storage service, respectively. there is
このように設定されている場合、図6に示すような処理要求1、2、3についての仮想マシンの必要数を予測する場合、予測部35は、各処理要求のサービス種類を参照して、それぞれの処理要求を処理するために必要な仮想マシンの必要数を、図5の設定内容を参照して予測する。
With such settings, when predicting the required number of virtual machines for
ただし、この場合は処理対象のデータ量や種類等については考慮されていないため、予測部35は、図7に示すような計算式を用いて仮想マシンの必要数を算出するようにしても良い。
However, in this case, since the amount and type of data to be processed are not taken into account, the
図7の示した計算式例では、サービス種類、MIME(Multipurpose Internet Mail Extension)タイプ組み合わせ毎に、X(KB)のデータ量の場合の仮想マシンの必要数を算出するための計算式が示されている。ここで、MIMEタイプとは、データファイルの種類を示す情報である。 The calculation formula example shown in FIG. 7 shows a calculation formula for calculating the required number of virtual machines for a data amount of X (KB) for each combination of service type and MIME (Multipurpose Internet Mail Extension) type. ing. Here, the MIME type is information indicating the type of data file.
そして、このように予測部35により必要数が予測されると、オートスケール制御部33における過不足数算出部42では、未使用数算出部41により算出された仮想マシンの未使用数から、予測部35により予測された必要数を減算することにより過不足数を算出する。
Then, when the necessary number is predicted by the
ここで、過不足数が1より大きい場合には、仮想マシンの数が過剰であることを示し、マイナスの値の場合には、仮想マシンの数が不足していることを示している。 Here, when the excess/deficiency number is greater than 1, it indicates that the number of virtual machines is excessive, and in the case of a negative value, it indicates that the number of virtual machines is insufficient.
そのため、仮想マシン数増減制御部43は、算出された過不足数を用いて、例えば、図8に示すような仮想マシンの起動数の増減制御を行う。
Therefore, the virtual machine number increase/
仮想マシン数増減制御部43では、図8に示されるように、過不足数が1以上の場合にはスケールアウト、つまり仮想マシンの起動数を増加させる制御が行われる。具体的には、仮想マシン数増減制御部43は、過不足数以下の最大の整数を増減数として、仮想マシンの起動数を増加させるような制御を実行する。
As shown in FIG. 8, the virtual machine number increase/
また、仮想マシン数増減制御部43では、図8に示されるように、過不足数が0未満の場合にはスケールイン、つまり仮想マシンの起動数を減少させる制御が行われる。具体的には、仮想マシン数増減制御部43は、過不足数の絶対値以上の最小の整数を増減数として、仮想マシンの起動数を減少させるような制御を実行する。
As shown in FIG. 8, the virtual machine number increase/
なお、過不足数が0以上1未満の場合には、仮想マシン数増減制御部43は、仮想マシンの起動数を変化させずに現在の起動数を維持するような制御を行う。
When the excess/deficiency number is equal to or greater than 0 and less than 1, the virtual machine number increase/
このような設定の場合に行われる仮想マシンの具体的な増減制御例について図9を参照して説明する。 A specific example of virtual machine increase/decrease control performed in the case of such settings will be described with reference to FIG.
例えば、図9に示すように未使用数が2で必要数が1.75の場合、過不足数算出部42により算出される過不足数(未使用数-必要数)は、0.25(=2-1.75)となる。そのため、仮想マシン数増減制御部42は、現在の仮想マシンを維持するような制御を行う。
For example, when the unused number is 2 and the required number is 1.75 as shown in FIG. = 2-1.75). Therefore, the virtual machine number increase/
また、未使用数が3で必要数が1.75の場合、過不足数算出部42により算出される過不足数は、1.25(3-1.75)となる。つまり、過不足数が1以上であるため、仮想マシン数増減制御部42は、現在の仮想マシンを1減じるようなスケールイン制御を行う。
When the unused number is 3 and the required number is 1.75, the excess/deficiency number calculated by the excess/deficiency
さらに、未使用数が1で必要数が1.75の場合、過不足数算出部42により算出される過不足数は、-0.75(1-1.75)となる。つまり、過不足数が0未満であるため、仮想マシン数増減制御部42は、現在の仮想マシンを1増加させるようなスケールアウト制御を行う。
Furthermore, when the unused number is 1 and the required number is 1.75, the excess/deficiency number calculated by the excess/deficiency
次に、上記で説明したサービス提供装置10の動作を図10のフローチャートを参照して説明する。
Next, the operation of the
先ず、受信部34は、画像形成装置20から、処理要求が確定する前の処理要求の内容を示す操作情報を受信する(ステップS101)。
First, the receiving
すると、予測部35は、受信部34により受信された操作情報に基づいて、処理要求を処理するために必要となる仮想マシンの数を必要数として予測する(ステップS102)。
Based on the operation information received by the receiving
すると、オートスケール制御部33の過不足数算出部42は、未使用数算出部41により算出された未使用数から、予測部35により予測された必要数を減算して過不足数を算出する(ステップS103)。
Then, the excess/
そして、仮想マシン数増減制御部43は、過不足数算出部42により算出された過不足数が、0未満であるのか、0以上1未満であるのか、1以上であるのかを判定する(ステップS104)。
Then, the virtual machine number increase/
そして、ステップS104において過不足数が0未満であると判定された場合、仮想マシン数増減制御部43は、ユーザが操作中の処理要求が確定して送信されてきた場合、仮想マシン数が不足すると判定して、仮想マシンの起動数を増加させるスケールアウト制御を実行する(ステップS105)。
Then, if it is determined in step S104 that the excess/deficiency number is less than 0, the virtual machine number increase/
また、ステップS104において過不足数が0以上1未満であると判定された場合、仮想マシン数増減制御部43は、ユーザが操作中の処理要求が確定して送信されてきても、仮想マシン数が不足せずまた多過ぎもしないと判定して、仮想マシンの起動数を現状維持とする。
Further, when it is determined in step S104 that the excess/deficiency number is equal to or greater than 0 and less than 1, the virtual machine number increase/
また、ステップS104において過不足数が1以上であると判定された場合、仮想マシン数増減制御部43は、ユーザが操作中の処理要求が確定して送信されてきたとしても、仮想マシン数が多過ぎると判定する。そして、キュー(処理要求格納部32)に格納されている処理要求の数が0で、かつ100%空き状態の仮想マシンがある場合(ステップS106においてyes)、仮想マシン数増減制御部43は、仮想マシンの起動数を減少させるスケールイン制御を実行する(ステップS107)。
Further, when it is determined in step S104 that the excess/deficiency number is equal to or greater than 1, the virtual machine number increase/
このようにして実行されるスケールイン、スケールアウトの具体例について図11を参照して説明する。この図11では、時刻経過とともに連続して処理要求を受信する場合について説明する。 A specific example of scale-in and scale-out executed in this way will be described with reference to FIG. FIG. 11 illustrates a case where processing requests are received continuously as time elapses.
先ず、時刻t0において、起動中の仮想マシン数が1、未使用数が1で、必要数が1の場合、過不足数(未使用数-必要数)は0となる。そのため、仮想マシン数増減制御部43では、増減数は0と判定されることになる。
First, at time t0, if the number of running virtual machines is 1, the number of unused machines is 1, and the required number is 1, the excess/deficiency number (unused number - required number) is 0. Therefore, the virtual machine number increase/
そして、時刻t1において、起動中の仮想マシン数が1、未使用数が1で、必要数が2に増加した場合、過不足数は-1(=1-2)となる。そのため、仮想マシン数増減制御部43では、増減数は-1と判定され、仮想マシンの起動数を1増加させるスケールアウト制御が行われる。
At time t1, if the number of running virtual machines is 1, the number of unused machines is 1, and the required number increases to 2, the excess/deficiency number is -1 (=1-2). Therefore, the virtual machine number increase/
そして、時刻t2において、スケールアウト制御が行われたことにより起動中の仮想マシン数が2、未使用数が1で、必要数が1.5となった場合、過不足数は0.5(=2-1.5)となる。そのため、仮想マシン数増減制御部43では、増減数は0と判定されることになる。
Then, at time t2, if the number of running virtual machines is 2, the number of unused virtual machines is 1, and the required number is 1.5 due to the scale-out control being performed, the excess or deficiency is 0.5 ( = 2-1.5). Therefore, the virtual machine number increase/
そして、時刻t3において、起動中の仮想マシン数が2のままで、未使用数が1に減り、必要数が2に増加した場合、過不足数は-1(=1-2)となる。そのため、仮想マシン数増減制御部43では、増減数は-1と判定され、仮想マシンの起動数を1増加させるスケールアウト制御が行われる。
Then, at time t3, if the number of virtual machines being activated remains 2, the unused number decreases to 1, and the required number increases to 2, the excess/deficiency number becomes -1 (=1-2). Therefore, the virtual machine number increase/
もし、時刻t3において現在の起動中の仮想マシン数と、未使用の仮想マシン数である未使用数のみを参照してオートスケール制御が行われた場合、未使用数が1以上であるため仮想マシンの起動数を減らすスケールイン制御が行われてしまう。 If auto-scaling control is performed by referring only to the number of currently running virtual machines and the number of unused virtual machines at time t3, the number of unused virtual machines is 1 or more. Scale-in control is performed to reduce the number of machine startups.
しかし、時刻t3ではまだ確定していない処理要求に基づく必要数が2であるため、過不足数が-1となり逆に起動数を増加させるようなスケールアウト制御が行われる。 However, at time t3, the required number based on the processing request that has not yet been determined is 2, so the excess/deficiency becomes -1, and conversely, scale-out control is performed to increase the number of activations.
そして、時刻t4では、スケールアウト制御が行われたことにより起動中の仮想マシン数が3となり、未使用数が2で、必要数が1となった場合、過不足数は1(=2-1)となる。そのため、仮想マシン数増減制御部43では、増減数は-1と判定され、仮想マシンの起動数を1減少させるスケールイン制御が行われる。
At time t4, scale-out control is performed, and if the number of running virtual machines is 3, the unused number is 2, and the required number is 1, the excess/deficiency is 1 (=2- 1). Therefore, the virtual machine number increase/
その結果、時刻t5では、スケールイン制御が行われたことにより起動中の仮想マシン数が2となり、未使用数が1で、必要数が1となった場合、過不足数は0(=1-1)となる。そのため、仮想マシン数増減制御部43では、増減数は0と判定されることになる。
As a result, at time t5, due to the scale-in control, the number of running virtual machines is 2, the unused number is 1, and the required number is 1. If the number of excesses and deficiencies is 0 (=1 -1). Therefore, the virtual machine number increase/
最後に、時刻t6において、起動中の仮想マシン数が2のままで、未使用数が1、必要数が0.5となった場合、過不足数は0.5(=1-0.5)となる。そのため、仮想マシン数増減制御部43では、増減数は0と判定されることになる。
Finally, at time t6, if the number of running virtual machines remains 2, the unused number is 1, and the required number is 0.5, the excess/deficiency is 0.5 (=1-0.5 ). Therefore, the virtual machine number increase/
次に、本実施形態のサービス提供装置10における動作を図12のシーケンスチャートを参照して説明する。
Next, the operation of the
先ず、処理要求の確定前において画像形成装置20からサービス提供装置10に対して処理要求の内容に関する操作情報が送信されてくる(ステップS201)。
First, before the processing request is confirmed, the
例えば、図13に示すように、画像形成装置20において、ユーザがあるサービスを利用するために操作パネル71上において画像の選択を行っている場合、ユーザが利用しているサービスの内容や、現在選択中の画像データのデータ量、データ種類等の情報が操作情報としてサービス提供装置10に送信される。
For example, as shown in FIG. 13, in the
すると、サービス提供装置10における予測部35は、画像形成装置20から受信した操作情報に基づいて、その処理要求が送信されてきた場合に必要となる仮想マシンの数を必要数として予測する(ステップS202)
Based on the operation information received from the
そして、予測部35において予測された必要数の情報はオートスケール制御部33に送信される(ステップS203)。
Information on the required number predicted by the
オートスケール制御部33では、処理要求格納部32に格納されている処理要求のデータ量を取得して(ステップS204)、取得した処理要求のデータ量と予測部35から受信した必要数の情報に基づいて、処理実行部36における仮想マシンの起動数の増減制御を行う(ステップS205)。
The
その後、画像形成装置20において処理要求の処理内容が確定して、画像形成装置20からサービス提供装置10に処理要求が送信されてくると(ステップS206)、その処理要求は処理要求格納部32にキューとして格納される(ステップS207)。
Thereafter, when the processing content of the processing request is determined in the
すると、処理実行部36は、処理要求格納部32に格納されている処理要求を取得して(ステップS208)、取得した処理要求に基づく処理を実行する(ステップS209)。
Then, the
そして、得られた処理結果は処理結果格納部37に格納されて、処理結果送信部38から各種サーバ装置に送信される。
The obtained processing result is stored in the processing
[変形例]
上記実施形態では、サービス提供装置10に対して処理要求を送信するクライアント装置が画像形成装置20である場合を用いて説明したが、本発明はこのような場合に限定されるものではなく、スマートフォン、携帯電話端末、タブレット端末等の各種装置をクライアント装置として用いる場合でも同様に適用することが可能である。
[Variation]
In the above embodiment, the
10 サービス提供装置
11 CPU
12 メモリ
13 記憶装置
14 通信インタフェース(IF)
15 ユーザインタフェース(UI)装置
16 制御バス
20 画像形成装置
30 ネットワーク
31 処理要求受付部
32 処理要求格納部
33 オートスケール制御部
34 受信部
35 予測部
36 処理実行部
37 処理結果格納部
38 処理結果送信部
41 未使用数算出部
42 過不足数算出部
43 仮想マシン数増減制御部
51 仮想マシン
61 領収書保存サーバ
62 名刺管理サーバ
63 データ保存サーバ
71 操作パネル
10
12
15 User Interface (UI)
Claims (6)
前記受付手段により受付けられた処理要求を一時的に格納する格納手段と、
前記格納手段に格納されている処理要求を取得して、取得した処理要求に基づく処理を実行する実行手段と、
前記受付手段により処理要求を受付ける前に、前記クライアント装置において処理要求の処理内容が確定する前にユーザの操作内容を参照することにより生成された情報であって、ユーザが処理を実行しようとするデータの種類に関する情報、そのユーザが処理を実行しようとするデータのデータ量に関する情報、及び、そのユーザが実行しようとする処理内容の種類に関する情報のうちの少なくとも1つの情報を前記クライアント装置から受信する受信手段と、
前記受信手段により受信された前記情報を用いて、当該処理要求を処理するために必要な仮想マシンの必要数を順次予測する予測手段と、
前記格納手段に格納された実行待ちの処理要求の量に応じて前記実行手段において起動する仮想マシンの数を増減させる制御を行う際に、前記予測手段により予測された仮想マシンの必要数が確保されるように仮想マシンの数を制御する制御手段と、
を備えた情報処理装置。 receiving means for continuously receiving a plurality of processing requests from a client device;
a storage means for temporarily storing the processing request accepted by the acceptance means;
execution means for acquiring the processing request stored in the storage means and executing processing based on the acquired processing request;
Information generated by referring to the user's operation content before the processing request is accepted by the receiving means and before the processing content of the processing request is determined in the client device, and the user intends to execute the processing. Receive from the client device at least one of information on the type of data, information on the amount of data the user intends to process, and information on the type of processing content the user intends to execute. receiving means for
prediction means for sequentially predicting the required number of virtual machines required to process the processing request using the information received by the reception means;
Securing the necessary number of virtual machines predicted by the prediction means when performing control to increase or decrease the number of virtual machines activated by the execution means according to the amount of processing requests waiting for execution stored in the storage means. a control means for controlling the number of virtual machines so that
Information processing device with
仮想マシンの使用状況から起動中の未使用の仮想マシンの数である未使用数を算出する第1の算出手段と、
前記未使用数から前記予測手段により予測された必要数を減算することにより、当該処理要求を処理した場合に発生する仮想マシンの過不足数を算出する第2の算出手段とを備え、
前記過不足数により表された仮想マシンの過不足が解消されるように仮想マシンの数を制御することにより、前記予測手段により予測された仮想マシンの必要数が確保されるような仮想マシンの数の制御を実行する請求項1又は2記載の情報処理装置。 The control means is
a first calculation means for calculating an unused number, which is the number of unused virtual machines being activated, from the usage status of the virtual machines;
a second calculation means for calculating an excess or deficiency of virtual machines generated when the processing request is processed by subtracting the required number predicted by the prediction means from the unused number;
By controlling the number of virtual machines so as to eliminate the excess/deficiency of the virtual machines represented by the excess/deficiency number, the necessary number of virtual machines predicted by the prediction means is secured. 3. The information processing apparatus according to claim 1, wherein number control is executed.
前記受付ステップにおいて受付けられた処理要求を格納手段に一時的に格納する格納ステップと、
前記格納手段に格納されている処理要求を取得して、取得した処理要求に基づく処理を実行手段において実行する実行ステップと
前記受付ステップにおいて処理要求を受付ける前に、前記クライアント装置において処理要求の処理内容が確定する前にユーザの操作内容を参照することにより生成された情報であって、ユーザが処理を実行しようとするデータの種類に関する情報、そのユーザが処理を実行しようとするデータのデータ量に関する情報、及び、そのユーザが実行しようとする処理内容の種類に関する情報のうちの少なくとも1つの情報を前記クライアント装置から受信する受信ステップと、
前記受信ステップにおいて受信された前記処理要求の処理負荷を予測可能な情報を用いて、当該処理要求を処理するために必要な仮想マシンの必要数を順次予測する予測ステップと、
前記格納手段に格納された実行待ちの処理要求の量に応じて前記実行手段において起動する仮想マシンの数を増減させる制御を行う際に、前記予測ステップにおいて予測された仮想マシンの必要数が確保されるように仮想マシンの数を制御する制御ステップと、
をコンピュータに実行させるためのプログラム。 a receiving step of continuously receiving a plurality of processing requests from a client device;
a storage step of temporarily storing the processing request received in the receiving step in a storage means;
an execution step of acquiring the processing request stored in the storage means and executing a process based on the acquired processing request in the execution means;
Information generated by referring to the user's operation content before the processing request is accepted in the receiving step and before the processing content of the processing request is determined in the client device, and the user intends to execute the processing. Receive from the client device at least one of information on the type of data, information on the amount of data the user intends to process, and information on the type of processing content the user intends to execute. a receiving step for
a prediction step of sequentially predicting the required number of virtual machines required to process the processing request, using information capable of predicting the processing load of the processing request received in the receiving step;
Securing the necessary number of virtual machines predicted in the prediction step when performing control to increase or decrease the number of virtual machines activated by the execution means according to the amount of processing requests waiting to be executed stored in the storage means a control step for controlling the number of virtual machines so that
A program that causes a computer to run
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018165624A JP7230375B2 (en) | 2018-09-05 | 2018-09-05 | Information processing device and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018165624A JP7230375B2 (en) | 2018-09-05 | 2018-09-05 | Information processing device and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020038518A JP2020038518A (en) | 2020-03-12 |
JP7230375B2 true JP7230375B2 (en) | 2023-03-01 |
Family
ID=69738024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018165624A Active JP7230375B2 (en) | 2018-09-05 | 2018-09-05 | Information processing device and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7230375B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015087936A (en) | 2013-10-30 | 2015-05-07 | 富士ゼロックス株式会社 | Information processing device, information processing system, and program |
JP2017033234A (en) | 2015-07-31 | 2017-02-09 | 日本電信電話株式会社 | Request reception system, request reception method and program |
JP2017215901A (en) | 2016-06-02 | 2017-12-07 | 富士ゼロックス株式会社 | Information processing device, information processing system and program |
-
2018
- 2018-09-05 JP JP2018165624A patent/JP7230375B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015087936A (en) | 2013-10-30 | 2015-05-07 | 富士ゼロックス株式会社 | Information processing device, information processing system, and program |
JP2017033234A (en) | 2015-07-31 | 2017-02-09 | 日本電信電話株式会社 | Request reception system, request reception method and program |
JP2017215901A (en) | 2016-06-02 | 2017-12-07 | 富士ゼロックス株式会社 | Information processing device, information processing system and program |
Also Published As
Publication number | Publication date |
---|---|
JP2020038518A (en) | 2020-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5598229B2 (en) | Job distributed processing system, information processing apparatus, and program | |
JP6273773B2 (en) | Information processing apparatus, information processing system, and program | |
US10601904B2 (en) | Cooperation system | |
US20120140276A1 (en) | Image processing system, image processing method, image processing server, and recording medium | |
JP4474440B2 (en) | Provision of services using multifunction peripherals (MFPs) | |
EP3557403B1 (en) | Image forming system and image forming method | |
JP7230375B2 (en) | Information processing device and program | |
KR20190088292A (en) | Controlling apps providing same or similar services in an image forming apparatus supporting multiple platforms | |
JP2015087936A (en) | Information processing device, information processing system, and program | |
JP6597971B2 (en) | Image forming apparatus and program | |
JP6669101B2 (en) | Electronic device and startup sequence generation program | |
JP2016177481A (en) | Image processing device, image forming apparatus, and program | |
JP7230374B2 (en) | Information processing device and program | |
JP2017167836A (en) | Image formation device, program | |
JP2016184357A (en) | Information processing device, program, and information processing method | |
EP3644191A1 (en) | Memory system and electronic device | |
JP6834549B2 (en) | Job processing device | |
JP2014182412A (en) | Information processor, information processing method and program | |
JP6988644B2 (en) | Information processing system, information processing device, information processing method and program | |
JP2013073570A (en) | Image processing system, printing system, control device, image processing method and program | |
JP5742285B2 (en) | Image forming apparatus, usage restriction method, and usage restriction program | |
JP6579087B2 (en) | Electronic device and startup sequence generation program | |
JP2020144565A (en) | Electronic device and activation sequence generation program | |
JP6222200B2 (en) | Information processing apparatus, electronic device control system, and program | |
JP2009151376A (en) | Distribution processing method, calculator management device, and distribution processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20201102 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210831 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220615 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220802 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220914 |
|
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: 20230117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7230375 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |