JP2016177376A - Program, information processing device and information processing method - Google Patents

Program, information processing device and information processing method Download PDF

Info

Publication number
JP2016177376A
JP2016177376A JP2015055324A JP2015055324A JP2016177376A JP 2016177376 A JP2016177376 A JP 2016177376A JP 2015055324 A JP2015055324 A JP 2015055324A JP 2015055324 A JP2015055324 A JP 2015055324A JP 2016177376 A JP2016177376 A JP 2016177376A
Authority
JP
Japan
Prior art keywords
processing
job
user
request
executing
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
JP2015055324A
Other languages
Japanese (ja)
Other versions
JP6477081B2 (en
Inventor
森田 雅夫
Masao Morita
雅夫 森田
五十嵐 龍也
Tatsuya Igarashi
龍也 五十嵐
小坂 史
Chikashi Kosaka
史 小坂
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 JP2015055324A priority Critical patent/JP6477081B2/en
Publication of JP2016177376A publication Critical patent/JP2016177376A/en
Application granted granted Critical
Publication of JP6477081B2 publication Critical patent/JP6477081B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)
  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To stop a processing part more easily than a method for allocating connection processing for processing a connection request from a user to a processing part having a small load.SOLUTION: A user distribution device 16 determines a VM (virtual machine) 12 in charge of log-in processing if a user has not logged in yet in the case of receiving a connection request from the user. In this determination processing, the user distribution device 16 selects a VM currently executing a job more preferentially than a VM that does not currently execute a job as a log-in destination among VMs 12 in an "activating" state where a job can be received with reference to VM information 22 and job information 24.SELECTED DRAWING: Figure 1

Description

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

近年、クラウドコンピューティングサービスのように、サービス提供者の有するプロセッサやメモリ等の計算リソースをユーザに対して例えば課金方式等の形で利用させるシステムが普及しつつある。このようなサービスは、一般に、ユーザのための処理に用いる計算リソースを必要に応じて自動的に増減する、いわゆるオートスケーリング機能を有する。例えばAmazon EC2 (Elastic Compute Cloud)というクラウドサービスでは、ユーザに対してEC2インスタンスと呼ぶ仮想マシンを割り当てるが、処理負荷に応じてそのインスタンスの数を自動的に増減する。一般的に、インスタンスの数を増加させることを「スケールアウト」、減少させることを「スケールイン」と呼んでいる。例えば、サービスの利用料金が使用するリソースの量に応じて定められている場合、処理負荷が低下したときに使用リソースの量を自動的に減らすことで、利用料金が節約される。   2. Description of the Related Art In recent years, systems such as cloud computing services that allow users to use computing resources such as processors and memories possessed by service providers in the form of, for example, a charging method are becoming widespread. Such services generally have a so-called autoscaling function that automatically increases or decreases the computing resources used for processing for the user as necessary. For example, in a cloud service called Amazon EC2 (Elastic Compute Cloud), a virtual machine called an EC2 instance is allocated to a user, and the number of instances is automatically increased or decreased according to the processing load. Generally, increasing the number of instances is called “scale-out”, and decreasing the number is called “scale-in”. For example, when the service usage fee is determined according to the amount of resources used, the usage fee can be saved by automatically reducing the amount of resources used when the processing load is reduced.

特許文献1に開示された発明は、負荷分散装置が、サービス要求パケットのヘッダ情報から当該サービス要求がサーバに与える負荷の大きさを見積もる手段と、見積もり値を、振り分けられたサーバ毎に管理する手段とを有することにより、サーバのリアルタイムな負荷状態に基づく負荷分散を可能とする。また、予め、負荷見積もりを行うための負荷見積もりテーブル生成手段を備えることにより、サーバ・システム稼動時には余計な通信や負荷監視処理が発生せず、サーバ・システム全体を高い性能に保つことができる。   In the invention disclosed in Patent Document 1, the load balancer manages, for each allocated server, a means for estimating the load applied to the server by the service request from the header information of the service request packet and the estimated value. The load distribution based on the real-time load state of the server. Further, by providing a load estimation table generating means for performing load estimation in advance, unnecessary communication and load monitoring processing do not occur when the server system is operating, and the entire server system can be maintained at high performance.

特許文献2に開示された負荷分散システムは、複数のサーバのそれぞれの情報を格納する情報テーブルと、要求による処理状況に対する複数のサーバのそれぞれのサービスレベルを保つための閾値を保持する閾値保持部と、複数のサーバの稼動状況を監視管理するサーバ管理部と、複数のサーバへの要求の割り当ての際、複数のサーバの優先度に従い、優先度の高いサーバから、閾値に達するまで要求を割り当てる転送先判定部と、複数のサーバのそれぞれの要求に対する処理状況に応じて、複数のサーバの電源制御を行う電源制御部とを備える。このように特許文献2には、サービスレベルを保つためにサーバ間で負荷分散を行う点、及び、それらサーバの電源制御を行う点が示されている。   A load distribution system disclosed in Patent Literature 2 includes an information table that stores information of each of a plurality of servers, and a threshold holding unit that holds a threshold for maintaining each service level of the plurality of servers with respect to a processing status according to a request And a server management unit that monitors and manages the operational status of multiple servers, and when allocating requests to multiple servers, assigns requests from higher priority servers until the threshold is reached, according to the priorities of the multiple servers. A transfer destination determination unit; and a power control unit that performs power control of the plurality of servers in accordance with the processing status of each request of the plurality of servers. As described above, Patent Document 2 discloses that load distribution is performed among servers in order to maintain a service level, and that power control of these servers is performed.

特許文献3には、各サーバの負荷を予測し、その予測に従ってスケールアウト又はスケールインを行うことが示されている。すなわちこの文献に開示されたシステムでは、負荷情報収集部は、物理サーバと仮想サーバの負荷を収集して、各負荷を採取した時間に対応づけて、負荷情報として負荷情報テーブルに格納し、類似負荷情報選択部は、管理対象の負荷がスケールアウト閾値またはスケールイン閾値から外れたときに、現在時刻の負荷に類似する過去の負荷情報を負荷情報テーブルから選択し、スケールアウト判断部またはスケールイン判断部は、選択された負荷情報に従って管理対象の負荷が変化すると仮定して、管理対象の負荷が、その後も、いずれかの閾値から外れると予測したときには、スケールアウトまたはスケールインを実行する。   Patent Document 3 shows that the load of each server is predicted and scale-out or scale-in is performed according to the prediction. That is, in the system disclosed in this document, the load information collection unit collects the load of the physical server and the virtual server, associates each load with the time when the load is collected, and stores it in the load information table as load information. The load information selection unit selects past load information similar to the load at the current time from the load information table when the load to be managed deviates from the scale-out threshold value or the scale-in threshold value. The determination unit assumes that the load to be managed changes according to the selected load information, and performs scale-out or scale-in when it is predicted that the load to be managed will deviate from any threshold after that.

特開2002−091936号公報JP 2002-091936 A 特開2011−015196号公報JP 2011-015196 A 特開2011−118525号公報JP 2011-118525 A

複数の処理部で負荷分散を行う場合、新たな処理要求は負荷の少ない処理部に割り当てることが一般的である。しかし、このようは割り当て方式では、各処理部には常に何らかの処理が割り当てられている可能性が高いので、全体の負荷が少なくなっていても処理部を停止して起動中の処理部の数を減らす(スケールイン)することが難しい。   When load distribution is performed by a plurality of processing units, new processing requests are generally assigned to processing units with a low load. However, in this assignment method, there is a high possibility that some processing is always assigned to each processing unit. Therefore, even if the overall load is low, the processing unit is stopped and the number of processing units activated. It is difficult to reduce (scale in).

本発明は、ユーザからの接続要求を処理する接続処理を負荷の少ない処理部に割り当てる方式と比べて、処理部を停止させやすくできる仕組みを提供することを目的とする。   An object of the present invention is to provide a mechanism that makes it easier to stop a processing unit as compared with a method in which connection processing for processing a connection request from a user is assigned to a processing unit with a low load.

請求項1に係る発明は、コンピュータを、各々が、ユーザからの接続要求を処理する接続処理と、データ処理要求に応じてデータを処理するデータ処理と、を実行可能な1以上の処理部について、各処理部におけるデータ処理の実行状況の情報を保持する状況情報保持手段、ユーザから受けた接続要求を、データ処理を実行していない処理部よりもデータ処理を実行中の処理部に対して優先的に割り当てる接続要求割り当て手段、接続処理もデータ処理も実行していない処理部を停止させる停止手段、として機能させるためのプログラムである。   The invention according to claim 1 is directed to at least one processing unit capable of executing connection processing for processing a connection request from a user and data processing for processing data in response to the data processing request. , Status information holding means for holding data processing execution status information in each processing unit, a connection request received from a user to a processing unit that is executing data processing rather than a processing unit that is not executing data processing This is a program for functioning as a connection request assigning means for preferentially assigning, and a stopping means for stopping a processing unit that is not executing connection processing or data processing.

請求項2に係る発明は、前記コンピュータを、受け取ったデータ処理要求を、いずれかの処理部に割り当てられるまで受け取り順と対応づけて保持する処理要求保持手段、として更に機能させると共に、前記接続要求割り当て手段は、前記処理要求保持手段内にある各データ処理要求を、データ処理を実行中のいずれかの処理部に対してあらかじめ定められた規則に従って割り当てた場合の、割り当てられたデータ処理要求に応じたデータ処理の実行が終了するタイミングが遅い処理部ほど優先的に、前記接続要求を割り当てる、ことを特徴とする請求項1に記載のプログラムである。   The invention according to claim 2 further causes the computer to function as processing request holding means for holding the received data processing request in correspondence with the receiving order until it is assigned to any processing unit, and the connection request The assigning means is an assigned data processing request when assigning each data processing request in the processing request holding means to one of the processing units executing the data processing according to a predetermined rule. 2. The program according to claim 1, wherein the connection request is preferentially assigned to a processing unit whose execution timing of the corresponding data processing ends is later.

請求項3に係る発明は、前記接続要求割り当て手段は、前記処理部のうち現在実行中のデータ処理の完了までの時間が、あらかじめ設定されている当該情報処理装置に対するユーザの平均接続時間よりも長いと判定される処理部に対して前記接続要求を割り当てる、ことを特徴とする請求項1に記載のプログラムである。   According to a third aspect of the present invention, the connection request allocating unit is configured such that the time until the completion of the currently executed data processing in the processing unit is greater than the user's average connection time for the information processing apparatus set in advance. The program according to claim 1, wherein the connection request is assigned to a processing unit determined to be long.

請求項4に係る発明は、各々が、ユーザからの接続要求を処理する接続処理と、データ処理要求に応じてデータを処理するデータ処理と、を実行可能な1以上の処理部について、各処理部におけるデータ処理の実行状況の情報を保持する状況情報保持手段と、ユーザから受けた接続要求を、データ処理を実行していない処理部よりもデータ処理を実行中の処理部に対して優先的に割り当てる接続要求割り当て手段と、接続処理もデータ処理も実行していない処理部を停止させる停止手段と、を含む情報処理装置である。   In the invention according to claim 4, each process is performed for one or more processing units each capable of executing a connection process for processing a connection request from a user and a data process for processing data in response to the data processing request. Information processing means for storing information on the execution status of data processing in a part, and a connection request received from a user is given priority over a processing part that is executing data processing over a processing part that is not executing data processing The information processing apparatus includes a connection request assigning means to be assigned to the terminal, and a stopping means for stopping the processing unit that is not executing the connection process or the data process.

請求項5に係る発明は、各々が、ユーザからの接続要求を処理する接続処理と、データ処理要求に応じてデータを処理するデータ処理と、を実行可能な1以上の処理部について、各処理部におけるデータ処理の実行状況の情報を保持する状況情報保持手段を設けるステップと、接続要求割り当て手段が、ユーザから受けた接続要求を、データ処理を実行していない処理部よりもデータ処理を実行中の処理部に対して優先的に割り当てるステップと、停止手段が、接続処理もデータ処理も実行していない処理部を停止させるステップと、を含む情報処理方法である。   According to the fifth aspect of the present invention, each process is performed for one or more processing units each capable of executing a connection process for processing a connection request from a user and a data process for processing data in response to the data processing request. Providing status information holding means for holding information on the execution status of data processing in the section, and the connection request assigning means for executing the data processing of the connection request received from the user than the processing section not executing the data processing The information processing method includes a step of preferentially allocating to a processing unit therein, and a step of stopping a processing unit that is not executing connection processing or data processing.

請求項1、4又は5に係る発明によれば、ユーザからの接続要求を処理する接続処理を負荷の少ない処理部に割り当てる方式と比べて、処理部を停止させやすくすることができる。   According to the first, fourth, or fifth aspect of the present invention, it is possible to make it easier to stop the processing unit as compared with a method in which connection processing for processing a connection request from a user is assigned to a processing unit with a low load.

請求項2に係る発明によれば、規則に従って割り当てられるデータ処理の実行が終了するタイミングが早い処理部ほど停止しやすくすることができる。   According to the second aspect of the present invention, it is possible to make it easier to stop the processing unit with the earlier timing of completing the execution of the data processing assigned according to the rule.

請求項3に係る発明によれば、ユーザが接続していると考えられる時間よりジョブが早く終了する処理部を、停止しやすくすることができる。   According to the invention of claim 3, it is possible to easily stop the processing unit that finishes the job earlier than the time when the user is considered to be connected.

実施形態のシステム構成の一例を示す図である。It is a figure which shows an example of the system configuration | structure of embodiment. VM(仮想マシン)情報のデータ内容の一例を示す図である。It is a figure which shows an example of the data content of VM (virtual machine) information. VMの状態遷移を説明するための図である。It is a figure for demonstrating the state transition of VM. ジョブ情報のデータ内容の一例を示す図である。It is a figure which shows an example of the data content of job information. オートスケール制御の手順の例を示す図である。It is a figure which shows the example of the procedure of auto scale control. ユーザ振り分け処理の全体的な手順の例を示す図である。It is a figure which shows the example of the whole procedure of a user distribution process. ログイン先決定処理の手順の例を示す図である。It is a figure which shows the example of the procedure of a login destination determination process. 起動状態のVMの中からログイン先を選択する手順の第1の例を示す図である。It is a figure which shows the 1st example of the procedure which selects a login destination from VM of a starting state. 起動状態のVMの中からログイン先を選択する手順の第2の例を示す図である。It is a figure which shows the 2nd example of the procedure which selects a login destination from VM of a starting state. 起動状態のVMの中からログイン先を選択する手順の第3の例を示す図である。It is a figure which shows the 3rd example of the procedure which selects a login destination from VM of a starting state.

図1を参照して、実施形態のシステム構成の例を説明する。   An example of the system configuration of the embodiment will be described with reference to FIG.

図1に示すジョブ処理システム10は、PC(パーソナルコンピュータ)やモバイル端末等のクライアント30を操作するユーザに対して、印刷ジョブを実行するというサービスを提供する。印刷ジョブ(以下単に「ジョブ」とも呼ぶ)とは、ユーザが指定した印刷対象の文書データをプリンタで印刷するために行うデータ処理である。ジョブ処理システム10は、図示しないネットワークを介してクライアント30から文書データを受け取り、その文書データをプリンタ(図示省略)で取扱可能なデータ形式の印刷データに変換し、変換結果の印刷データをネットワーク経由でプリンタに提供して印刷を実行させる。   A job processing system 10 shown in FIG. 1 provides a service for executing a print job to a user who operates a client 30 such as a PC (personal computer) or a mobile terminal. The print job (hereinafter also simply referred to as “job”) is data processing performed to print document data to be printed designated by the user with a printer. The job processing system 10 receives document data from the client 30 via a network (not shown), converts the document data into print data in a data format that can be handled by a printer (not shown), and sends the converted print data via the network. To provide to the printer and execute printing.

ジョブ処理システム10は、0以上のVM(Virtual Machine:仮想マシン)12を有しており、それらVM12がそれぞれユーザからの印刷指示に対応するジョブを実行する。VM12は、例えば、IaaS(Infrastructure as a Service)プロバイダから提供されるインフラ上に構築されるものであってよい。なお同様に、後述するVM管理装置14、ユーザ振り分け装置16も、そのインフラ上に構築される仮想マシン上に構築されたものであってよく、共有ストレージ20はそのインフラ上のストレージであってよい。   The job processing system 10 includes zero or more VMs (Virtual Machines) 12, and each of the VMs 12 executes a job corresponding to a print instruction from a user. The VM 12 may be constructed on, for example, an infrastructure provided by an IaaS (Infrastructure as a Service) provider. Similarly, the VM management device 14 and the user distribution device 16 to be described later may also be constructed on a virtual machine constructed on the infrastructure, and the shared storage 20 may be a storage on the infrastructure. .

VM12が実行するジョブ処理は、文書データを印刷データに変換する処理や、変換結果の印刷データをユーザから指定されたプリンタに送信する処理や、文書データを画像に変換して画像から情報を抽出する処理や、処理結果を他のサーバへ転送する処理を含む。   The job processing executed by the VM 12 includes processing for converting document data into print data, processing for transmitting the conversion result print data to a printer designated by the user, and converting document data into an image and extracting information from the image. And processing for transferring the processing result to another server.

個々のVM12は、割り当てられたジョブの処理の他に、ユーザからの要求を処理するユーザインタフェース処理も実行する。ユーザインタフェース処理には、ジョブ処理システム10に対するユーザの接続(ログイン)の可否を判定するログイン処理、ジョブについてのパラメータ(例えば印刷部数等の印刷属性)の設定を受け付ける処理、ジョブの実行開始要求を受け付ける処理、ジョブの状態確認の要求を受け付けてジョブの状態情報をユーザに提供する処理等が含まれる。   Each VM 12 executes user interface processing for processing a request from a user in addition to processing of an assigned job. The user interface process includes a login process for determining whether or not a user can connect to the job processing system 10 (login), a process for accepting setting of parameters (for example, print attributes such as the number of copies), and a job execution start request. This includes processing to receive, processing to receive a job status confirmation request, and provide job status information to the user.

この例では、VM12がユーザ(クライアント30)から受け付ける処理要求には、ログイン要求、ジョブ実行要求、ジョブ状態確認要求の3種類が含まれる。   In this example, the processing requests received by the VM 12 from the user (client 30) include three types of login requests, job execution requests, and job status confirmation requests.

クライアント30からログイン要求を受けると、ユーザ振り分け装置16からそのログイン要求を割り当てられたVM12が、クライアント30から受け取ったパスワード等のユーザ認証情報を用いてユーザのログインを認めるか否かを判定する。ログインが認められると、ユーザはジョブ処理システム10に対してログインしている状態となる。ログイン状態のユーザからの要求は、ログインを受け付けたVM12が受け取って処理する。すなわち、ユーザは、そのVM12にログインしたと捉えることもできる。   When the login request is received from the client 30, the VM 12 to which the login request is assigned from the user distribution device 16 determines whether or not to allow the user to log in using user authentication information such as a password received from the client 30. If login is permitted, the user is logged in to the job processing system 10. A request from a logged-in user is received and processed by the VM 12 that has accepted the login. That is, the user can also be regarded as logging in to the VM 12.

ログイン状態において、例えば、ユーザ(クライアント30)からそのVM12に印刷データや印刷パラメータの入力が行われる。すると、VM12は一意なジョブ識別子を発行し、それら入力された情報をそのジョブ識別子に対応づけて共有ストレージ20に保存する(ジョブ情報24)。その後クライアント30からそのVM12にジョブ実行要求が入力されると、VM12は、そのジョブ識別子をキュー(印刷待ち行列:図示省略)の末尾に追加する。各VM12は、それぞれ次のジョブを受け入れ可能になると、そのキューの先頭のジョブを受け入れる。したがって、ログイン要求やジョブ実行要求を受けたVM12が、その要求に係るジョブを実行するとは限らない。   In the login state, for example, print data and print parameters are input to the VM 12 from the user (client 30). Then, the VM 12 issues a unique job identifier and stores the input information in the shared storage 20 in association with the job identifier (job information 24). Thereafter, when a job execution request is input from the client 30 to the VM 12, the VM 12 adds the job identifier to the end of the queue (print queue: not shown). When each VM 12 can accept the next job, it accepts the head job of the queue. Accordingly, the VM 12 that has received the login request or job execution request does not always execute the job according to the request.

ユーザは、キューに入れられたジョブの状態を確認したい場合、ジョブ状態の確認を要求する。これに応じて、クライアント30からジョブ処理システム10にジョブ状態確認要求が送られる。この要求を受け取ったシステム10内のVM12は、その要求の対象であるジョブの現在の状態を示す情報をクライアント30に返す。   When the user wants to check the status of a job queued, the user requests confirmation of the job status. In response to this, a job status confirmation request is sent from the client 30 to the job processing system 10. Upon receiving this request, the VM 12 in the system 10 returns information indicating the current state of the job that is the request target to the client 30.

ユーザが明示的にログアウトを要求した場合、または操作をしない状態が所定時間続いてタイムアウトとなった場合、ユーザのログイン状態は解除される。ログイン解除の後、ユーザがジョブ処理システム10に対して要求を行う場合は、再度ログインを行う必要がある。例えば、ユーザがログインしてジョブを投入し、ジョブ実行要求を行った後、ログインが解除され、その後そのユーザがそのジョブの状態を知りたいと思った場合、そのユーザは再びログイン要求を行ってシステム10にログインした上で、ジョブ状態確認要求を行う。   When the user explicitly requests logout, or when no operation is performed for a predetermined time and a timeout occurs, the user's login state is canceled. If the user makes a request to the job processing system 10 after canceling the login, it is necessary to log in again. For example, if a user logs in, submits a job, makes a job execution request, the login is canceled, and then the user wants to know the status of the job, the user makes a login request again. After logging into the system 10, a job status confirmation request is made.

VM管理装置14は、VM12の管理を行う装置であり、例えば停止状態のVM12を起動したり、起動状態(すなわち稼働状態)のVM12を停止させたりする。例えばジョブ処理システム10の運営者とIaaSプロバイダとの契約により、ジョブ処理システム10内で起動状態のVM12の上限数が決まっている。起動状態のVM12だけでは負荷に十分対応できなくなった場合でも、起動状態のVM数がその上限数に達していない場合には、停止状態のVM12を起動することでシステムの処理能力を高めることができる(スケールアウト)。また、システムの負荷が低下してきた場合、起動状態のVM12を停止させる(スケールイン)ことで、起動状態のVM12の数に応じたIaaSプロバイダの従量制課金を抑制できる。   The VM management device 14 is a device that manages the VM 12, and for example, activates the VM 12 in a stopped state or stops the VM 12 in an activated state (that is, an operating state). For example, the upper limit number of the activated VMs 12 in the job processing system 10 is determined by a contract between the operator of the job processing system 10 and the IaaS provider. Even when the activated VM 12 alone cannot sufficiently cope with the load, if the number of activated VMs does not reach the upper limit, the processing capacity of the system can be improved by activating the deactivated VM 12. Yes (scale out). Further, when the system load is reduced, the metered charge of the IaaS provider according to the number of the activated VMs 12 can be suppressed by stopping the activated VMs 12 (scale-in).

ユーザ振り分け装置16は、ユーザ(クライアント30)からの要求をいずれかのVM12に振り分ける(割り当てる)。ログイン要求の振り分け先の決定手順については、後で具体例を挙げて説明する。ログイン後の要求(例えばジョブ実行要求やジョブ状態確認要求)については、従来からあるセッション維持技術を用いて、ログイン処理を行ったVM12に振り分けることで、セッション情報をVM12間で受け渡すためのオーバーヘッドをなくすようにしてもよい。   The user distribution device 16 distributes (assigns) a request from the user (client 30) to one of the VMs 12. The procedure for determining the login request distribution destination will be described later with a specific example. Requests after login (for example, job execution requests and job status confirmation requests) are distributed to VMs 12 that have performed login processing using a conventional session maintenance technique, and overhead for passing session information between VMs 12 May be eliminated.

共有ストレージ20は、VM12群、VM管理装置14及びユーザ振り分け装置16の間で共有される記憶装置である。共有ストレージ20にはVM情報22とジョブ情報24が記憶されており、VM12群、VM管理装置14及びユーザ振り分け装置16はこれらの情報を参照しながら処理を進める。   The shared storage 20 is a storage device that is shared among the VM 12 group, the VM management device 14, and the user distribution device 16. The shared storage 20 stores VM information 22 and job information 24, and the VM 12 group, the VM management device 14, and the user distribution device 16 proceed with processing while referring to these information.

図2にVM情報22のデータ内容の一例を示す。この例では、VM情報22には、VM12ごとに、そのVM12を一意に識別する「VM識別子」、そのVM12の「状態」、そのVM12が同時に受付可能な「最大ユーザ数」、そのVM12に現在ログインしているユーザ数(「ログインユーザ数」)、現在ログインしているユーザのユーザ識別子のリスト(「ログインユーザ」)、そのVM12が並列的に実行可能な「最大ジョブ数」、そのVM12が現在実行しているジョブのジョブ識別子のリスト(「実行中ジョブ」)が登録されている。図2に示したテーブルの1つの行が、その行に対応するVM12の管理情報である。   FIG. 2 shows an example of the data contents of the VM information 22. In this example, the VM information 22 includes, for each VM 12, a “VM identifier” that uniquely identifies the VM 12, a “state” of the VM 12, a “maximum number of users” that the VM 12 can accept at the same time, The number of logged-in users (“logged-in users”), a list of user identifiers of currently logged-in users (“logged-in users”), the “maximum number of jobs” that the VM 12 can execute in parallel, and the VM 12 A list of job identifiers of currently executing jobs (“current job”) is registered. One row of the table shown in FIG. 2 is management information of the VM 12 corresponding to the row.

「最大ジョブ数」及び「最大ユーザ数」は、個々のVM12の処理能力に応じてあらかじめ定められた値である。図示例ではこれらの値は全てのVM12で同じ値になっているが、VM12毎に能力が異なる場合には、それらの値もVM12毎に異なってくる。   “Maximum number of jobs” and “maximum number of users” are values determined in advance according to the processing capacity of each VM 12. In the illustrated example, these values are the same for all the VMs 12, but when the capabilities differ for each VM 12, those values also differ for each VM 12.

VM12の「状態」として、前述の「起動」及び「停止」という状態の他に、「アイドル」状態を設けてもよい。「起動」状態とは、VM12が起動済みである状態、すなわちジョブやユーザインタフェース処理を実行可能な状態である。「停止」状態とは、VM12が停止している状態である。VM情報22内には「停止」状態のVM12の管理情報は存在するが、クラウドコンピューティングのインフラ上にはそのVM12は既に存在していない。「停止」状態のVM12(管理情報としてのみ存在)がジョブやユーザインタフェース処理(ユーザからの要求の受付等)を実行可能になるには、そのVM12を起動する起動処理が必要であり、この起動処理にはある程度の時間がかかる。「アイドル」状態とは、「起動」状態と「停止」状態の中間の状態であり、いわば「停止」の準備段階である。この状態ではVM12はまだ停止していないが、新たなジョブは受け入れないし、ユーザインタフェース処理も実行しない。これらのことを実行するには、VM12は「起動」状態に復帰する必要がある。ただし、「アイドル」状態のVM12は、まだ停止していないので、起動処理を行わなくてもほぼ即座に「起動」状態に復帰し、新たなジョブやユーザインタフェース処理を実行することができる。   As the “state” of the VM 12, an “idle” state may be provided in addition to the above-described “start” and “stop” states. The “activated” state is a state in which the VM 12 has been activated, that is, a state in which a job or user interface process can be executed. The “stop” state is a state where the VM 12 is stopped. The VM information 22 includes management information of the VM 12 in the “stopped” state, but the VM 12 does not already exist on the cloud computing infrastructure. In order for a VM 12 in a “stopped” state (existing only as management information) to execute a job or a user interface process (accepting a request from a user, etc.), a startup process for starting the VM 12 is necessary. Takes some time. The “idle” state is an intermediate state between the “start-up” state and the “stop” state, that is, a preparation stage for “stop”. In this state, the VM 12 has not yet stopped, but does not accept a new job and does not execute user interface processing. To perform these things, the VM 12 needs to return to the “activated” state. However, since the VM 12 in the “idle” state has not been stopped yet, it can return to the “started” state almost immediately without executing the start process, and a new job or user interface process can be executed.

VM情報22の内容は、VM管理装置14、ユーザ振り分け装置16、及び各VM12により随時更新される。例えばVM管理装置14がVM12の状態を遷移させた場合、VM情報22内のそのVM12の「状態」が遷移後の値に更新される。また、ユーザ振り分け装置16がユーザからのログイン要求をいずれかのVM12に振り分けた場合、VM情報22内のそのVM12の「ログインユーザ数」に1が加算される。また、VM12がログイン処理を実行してユーザを認証した場合、そのユーザ識別子が「ログインユーザ」の欄に追加される。また、VM12にログイン中のユーザがログアウトした場合、そのVM12の「ログインユーザ数」が1減算され、「ログインユーザ」の欄からそのユーザのユーザ識別子が削除される。また、VM12がキューから新たなジョブを取得して実行を開始すると、「実行中ジョブ」の欄にそのジョブのジョブ識別子が追加される。そして、VM12がジョブの実行を完了すると、「実行中ジョブ」の欄からそのジョブのジョブ識別子が削除される。   The contents of the VM information 22 are updated as needed by the VM management device 14, the user distribution device 16, and each VM 12. For example, when the VM management apparatus 14 changes the state of the VM 12, the “state” of the VM 12 in the VM information 22 is updated to the value after the transition. When the user distribution device 16 distributes a login request from a user to any VM 12, 1 is added to the “number of login users” of the VM 12 in the VM information 22. Further, when the VM 12 executes login processing to authenticate the user, the user identifier is added to the “login user” column. When a user who is logged in to the VM 12 logs out, the “number of login users” of the VM 12 is decremented by 1, and the user identifier of the user is deleted from the “login user” column. When the VM 12 acquires a new job from the queue and starts execution, the job identifier of the job is added to the “job being executed” column. When the VM 12 completes the execution of the job, the job identifier of the job is deleted from the “execution job” column.

図3に、この例における「停止」、「起動」、「アイドル」の3状態間の状態遷移を示す。まず、「停止」から「起動」への遷移は、ジョブ処理システム10の初期起動時又はVM管理装置14の管理下でのスケールアウト時に起こる。初期起動時は、あらかじめ定めた待機VMの下限数のVM12が起動されて「起動」状態となる。この例では、ジョブ処理システム10は、少なくともその下限数のVM12は常に「起動」(又は「アイドル」)状態としておくことで、ある程度の要求には即座に応えることができるようにしている。「起動」状態のVM12は、典型的には、ジョブ又はユーザインタフェース処理等を実行している。「起動」状態のVM12に対してログインしているユーザが無くなり、かつ、そのVM12に割り当てるべき次のジョブがキュー内にない場合に、そのVM2は「アイドル」状態に遷移する。「アイドル」状態のVM12は、VM管理装置14からのアイドル解除指示に応じて「起動」状態に戻る。アイドル解除指示は、「起動」状態のVM12群の上限負荷(最大ユーザ数又は最大ジョブ数)を超える場合に発行される。また「アイドル」状態に遷移してから、アイドル解除指示を受けないまま、あらかじめ定めた時間が経過すると、VM12は「停止」状態に遷移する。ただし、そのVM12を「停止」させると、「起動」又は「アイドル」のVM数が待機VMの下限数を下回ってしまう場合は、「停止」させずに「アイドル」状態を維持する。   FIG. 3 shows state transitions among the three states “stop”, “start”, and “idle” in this example. First, the transition from “stop” to “start” occurs at the time of initial startup of the job processing system 10 or scale-out under the management of the VM management device 14. At the time of initial activation, the VM 12 having a predetermined lower limit number of standby VMs is activated and enters the “activated” state. In this example, the job processing system 10 can respond to a certain amount of requests immediately by always keeping at least the lower limit number of VMs 12 in the “activated” (or “idle”) state. The VM 12 in the “activated” state typically executes a job or user interface processing. When there is no user logged in to the VM 12 in the “activated” state, and the next job to be assigned to the VM 12 is not in the queue, the VM 2 transitions to the “idle” state. The VM 12 in the “idle” state returns to the “started” state in response to an idle release instruction from the VM management device 14. The idle release instruction is issued when the upper limit load (the maximum number of users or the maximum number of jobs) of the VM 12 group in the “activated” state is exceeded. Further, when a predetermined time elapses without receiving an idle release instruction after transition to the “idle” state, the VM 12 transitions to a “stop” state. However, if the VM 12 is “stopped” and the number of “started” or “idle” VMs falls below the lower limit number of standby VMs, the “idle” state is maintained without being “stopped”.

図4に、ジョブ情報24のデータ内容の一例を示す。ジョブ情報24には、ジョブ毎に、そのジョブを一意に識別する「ジョブ識別子」、そのジョブを投入したユーザのユーザ識別子(「ユーザ」)、そのジョブの印刷画質設定(「設定」)、そのジョブでの印刷対象の印刷データの格納場所(「入力」)、そのジョブの処理負荷の総量(言い換えれば、VM12がそのジョブを処理するのに要する時間)を示す情報(「総ページ」)、そのジョブの現在の「状況」、及びそのジョブの処理済み量を示す情報(「完了ページ」)の各項目が含まれる。この例でVM12が実行するジョブ処理の負荷は、大略的には印刷する画像のサイズ(用紙サイズ)に比例し、また当然ながらページ数にも比例する。このため、ジョブの処理負荷の総量や処理済み量は用紙サイズとページ数の組で表現している。例えば、図4の例では、ジョブ「Job1」の総処理負荷は、A4サイズ10ページ分であり、現時点ではそのうちのA4サイズ4ページの処理が完了している。   FIG. 4 shows an example of the data content of the job information 24. The job information 24 includes, for each job, a “job identifier” that uniquely identifies the job, a user identifier of the user who submitted the job (“user”), a print image quality setting (“setting”) of the job, Information (“total page”) indicating the storage location (“input”) of print data to be printed in the job, the total processing load of the job (in other words, the time required for the VM 12 to process the job), Each item of the current “status” of the job and information indicating the processed amount of the job (“completion page”) is included. In this example, the load of job processing executed by the VM 12 is roughly proportional to the size of the image to be printed (paper size) and, of course, also proportional to the number of pages. For this reason, the total amount of processing load of the job and the processed amount are expressed as a combination of the paper size and the number of pages. For example, in the example of FIG. 4, the total processing load of the job “Job1” is 10 pages of A4 size, and the processing of 4 pages of A4 size has been completed at this time.

ジョブ情報24の内容は、各VM12により随時更新される。例えばVM12がユーザからジョブ実行要求を受けた場合、一意なジョブ識別子が生成され、そのジョブ識別子に対応するエントリがジョブ情報24内に作成され、そのエントリ内に、その要求を発した「ユーザ」、そのジョブについての「設定」(実行要求の発行前にユーザが入力済み)、そのジョブの印刷データの格納場所を示す「入力」、そのジョブの「総ページ」の値が登録される。このとき、そのジョブは「実行待ち」状態となり、実行要求の受付順にキューに入れられている。また、いずれかのVM12がキュー内のジョブを取得して実行を開始すると、ジョブ情報24内のそのジョブの「状況」が「(そのVM12で)実行中」に変更され、そのVM12がそのジョブの処理(例えば印刷可能なデータ形式への変換)を1ページ終える毎に、そのジョブの「完了ページ」のページ数に1が加算される。   The contents of the job information 24 are updated as needed by each VM 12. For example, when the VM 12 receives a job execution request from a user, a unique job identifier is generated, an entry corresponding to the job identifier is created in the job information 24, and the “user” that issued the request is included in the entry. The values of “setting” for the job (entered by the user before issuing the execution request), “input” indicating the print data storage location of the job, and “total page” of the job are registered. At this time, the job is in a “waiting for execution” state and is queued in the order in which execution requests are received. When one of the VMs 12 acquires a job in the queue and starts execution, the “status” of the job in the job information 24 is changed to “(executed by the VM 12)”, and the VM 12 Every time one page of the above process (for example, conversion to a printable data format) is completed, 1 is added to the number of pages of “completed page” of the job.

次に図5を参照して、VM管理装置14が実行するオートスケール制御の例を説明する。なお、オートスケール制御とは、VM12を起動させることにより「起動」状態のVM12の数を増やしたり(スケールアウト)、VM12を停止させることで「起動」又は「アイドル」状態のVM12の数を減らしたり(スケールイン)する制御のことである。   Next, an example of autoscale control executed by the VM management apparatus 14 will be described with reference to FIG. The auto scale control means that the number of VMs 12 in the “activated” state is increased by starting the VM 12 (scale-out), or the number of VMs 12 in the “activated” or “idle” state is decreased by stopping the VM 12. (Scaling-in) control.

VM管理装置14は、図5の処理を定期的に繰り返す。この処理では、まず前回の処理時と比べた場合の、実行中のジョブとキュー内(処理待ち状態)のジョブとの合計数の変化を判定する(S10)。その合計数が前回より増加した場合、その合計数が実行可能ジョブ数についての閾値以下であるかどうかを判定する(S12)。この閾値は、ジョブ処理システム10が同時に実行可能なジョブの総数に応じて定められる閾値である。その総数は、「起動」状態のVM12の「最大ジョブ数」の総和である。例えばこの総和の値そのものをその閾値としてもよいし、その総数にあらかじめ定めた係数をかけた値をその閾値としてもよい。S12の判定結果がYesの場合、現在ジョブ処理システム10が有するジョブ群は「起動」中のVM12群によりサービスの質を落とさずに処理可能なので、VM12の数の増減は不要である。この場合は、図5の処理は何も行わず終了する。   The VM management apparatus 14 periodically repeats the process of FIG. In this process, first, a change in the total number of jobs being executed and jobs in the queue (waiting for processing) as compared with the previous process is determined (S10). If the total number has increased from the previous time, it is determined whether the total number is equal to or less than a threshold for the number of executable jobs (S12). This threshold is a threshold determined according to the total number of jobs that can be executed simultaneously by the job processing system 10. The total number is the sum of the “maximum number of jobs” of the VM 12 in the “activated” state. For example, the total value itself may be used as the threshold value, or a value obtained by multiplying the total number by a predetermined coefficient may be used as the threshold value. When the determination result in S12 is Yes, the job group of the current job processing system 10 can be processed without degrading the quality of service by the VM 12 group that is “running”, and therefore the number of VMs 12 need not be increased or decreased. In this case, the process of FIG.

S12の判定結果がNoの場合、現在ジョブ処理システム10が有するジョブ群は「起動」中のVM12群だけではサービスの質を落とさずに処理することが困難である。この場合、VM管理装置14は、VM情報22から、「アイドル」状態のVM12を探す(S14)。「アイドル」状態のVM12が存在する場合(S14の判定結果がYes)、そのVM12の「アイドル」状態を解除する(S16)。これによりそのVM12は「起動」状態となり、新たなジョブを受け入れて処理することができる「起動」状態のVM12の数が増える。「アイドル」状態を解除されたVM12は、起動処理が不要のためほぼ即座に「起動」状態に復帰し、キューからジョブを取得して処理する。   When the determination result in S12 is No, it is difficult for the job group of the current job processing system 10 to be processed without degrading the service quality only with the “active” VM 12 group. In this case, the VM management device 14 searches the VM information 22 for the VM 12 in the “idle” state (S14). When there is a VM 12 in the “idle” state (Yes in S14), the “idle” state of the VM 12 is canceled (S16). As a result, the VM 12 enters the “activated” state, and the number of “activated” VMs 12 that can accept and process a new job increases. Since the VM 12 that has been released from the “idle” state does not need to be activated, it immediately returns to the “activated” state, acquires a job from the queue, and processes it.

「アイドル」状態のVM12が複数存在する場合には、あらかじめ設定されている選択基準に従ってその中から1つ(又はあらかじめ定めた数)を選択して「アイドル」解除を行う。選択基準としては、例えば、(a)VM識別子が小さい順に選択するという基準、(b)起動されたタイミングが早い順に選択するという基準、(c)起動されたタイミングが遅い順に選択するという基準等がある。これらの基準は、「アイドル」状態のVM12がスケールイン可能になるタイミングを考慮に入れない、簡便な選択基準である。これに対し、スケールイン可能になるタイミングを考慮に入れた選択基準の例として、「アイドル」状態に遷移してからの経過時間が短いものほど優先的に選択するという基準がある。経過時間が長いものは「アイドル」状態が維持されやすいので、もう少しでスケールインできるVM12が「起動」状態に戻ってしまうという事態が生じにくい。また選択基準の別の例として、「アイドル」のVM12のうち、実行しているジョブの処理が終了するまでの残り時間が長いVM12ほど優先的に選択するという基準もある。その残り時間が長いほどスケールイン(「停止」状態への遷移)が可能になるタイミングが遅いので、この基準によれば、スケールインしやすい(残り時間が短い)VM12が「起動」状態に戻るという事態が起こりにくい。ここで残り時間の長さを示す値としては、VM情報22及びジョブ情報24から、「アイドル」のVM12が実行中のジョブの「総ページ数」から「完了ページ」を引き算した結果の値を用いればよい。このとき、「総ページ数」及び「完了ページ」は、基準とする用紙サイズでのページ数に換算した上で上述の引き算を行う。   If there are a plurality of “idle” VMs 12, one (or a predetermined number) is selected from them according to a preset selection criterion and “idle” is canceled. As selection criteria, for example, (a) criteria for selecting VM identifiers in ascending order, (b) criteria for selecting in descending order of activation timing, (c) criteria for selecting in ascending order of activation timing, etc. There is. These criteria are simple selection criteria that do not take into account the timing at which the VM 12 in the “idle” state can be scaled in. On the other hand, as an example of a selection criterion that takes into account the timing at which the scale-in can be performed, there is a criterion in which selection is made preferentially as the elapsed time from the transition to the “idle” state is shorter. Since the “idle” state is easily maintained when the elapsed time is long, it is unlikely that the VM 12 that can be scaled in a little will return to the “activated” state. As another example of the selection criterion, there is a criterion that among the “idle” VMs 12, the VM 12 having a longer remaining time until the processing of the job being executed is selected is preferentially selected. The longer the remaining time, the later the timing at which scale-in (transition to the “stop” state) becomes possible, so according to this criterion, the VM 12 that is more likely to scale in (short remaining time) returns to the “started” state. It is hard to happen. Here, as a value indicating the length of the remaining time, a value obtained by subtracting “completion page” from “total number of pages” of the job being executed by the VM 12 of “idle” from the VM information 22 and the job information 24. Use it. At this time, the “total number of pages” and the “completed pages” are converted into the number of pages in the reference paper size, and the above-described subtraction is performed.

S14の判定結果がNo(すなわち「アイドル」のVMが存在しない)の場合、VM管理装置14は、「起動」状態のVM12の総数が、契約等で定められた起動できるVM12の上限数に達しているか、否(上限数未満)かを判定する(S18)。この判定の結果がNo(上限数未満)である場合、VM管理装置14は、「停止」状態のVM12を1つ(又はあらかじめ定めた数だけ)起動する(スケールアウト)(S20)。この結果そのVM12の起動処理が実行され、起動処理に必要な時間が経過した後、そのVM12は「起動」状態となり、新たなジョブを受け入れて実行する。   When the determination result in S14 is No (that is, there is no “idle” VM), the VM management apparatus 14 has reached the upper limit number of VMs 12 that can be activated, which is determined by a contract or the like, in the “activated” state. Or not (less than the upper limit number) (S18). When the result of this determination is No (less than the upper limit number), the VM management device 14 activates one (or a predetermined number) of VMs 12 in the “stop” state (scale-out) (S20). As a result, the activation process of the VM 12 is executed, and after the time necessary for the activation process has elapsed, the VM 12 enters the “activation” state and accepts and executes a new job.

S10の判定で、前回と今回でジョブの数に変化が無いと判定した場合、VM管理装置14は、更にジョブ処理システム10にログインしているユーザの数(図2の「ログインユーザ数」を全VMにわたる総和)と、ログイン待ち(ログイン要求を行ったがまだログインが認められていない)のユーザの数との合計数について、前回からの変化を判定する(S22)。S22で、その合計数が前回よりも増加したと判定した場合、VM管理装置14は、その合計数がジョブ処理システム10の受け入れ可能なユーザ数についての閾値を上回っているかどうかを判定する(S24)。この閾値は、ジョブ処理システム10が同時に受け入れ可能なログインユーザ数の総数に応じて定められる閾値である。その総数は、「起動」状態のVM12の「最大ユーザ数」の総和である。例えばこの総和の値そのものをその閾値としてもよいし、その総数にあらかじめ定めた係数をかけた値をその閾値としてもよい。S24の判定結果がNoの場合、現在ログイン中又はログイン待ちのユーザ群は「起動」中のVM12群によりサービスの質を落とさずに受け入れ可能なので、VM12の数の増減は不要である。この場合は、図5の処理は何も行わず終了する。   If it is determined in S10 that there is no change in the number of jobs between the previous time and the current time, the VM management apparatus 14 further sets the number of users logged in to the job processing system 10 ("number of login users" in FIG. 2). A change from the previous time is determined for the total number of the sum of all VMs) and the number of users waiting for login (login request is made but login is not yet permitted) (S22). If it is determined in S22 that the total number has increased from the previous time, the VM management apparatus 14 determines whether or not the total number exceeds a threshold value regarding the number of users that can be accepted by the job processing system 10 (S24). ). This threshold value is a threshold value that is determined according to the total number of logged-in users that can be simultaneously accepted by the job processing system 10. The total number is the sum of the “maximum number of users” of the VM 12 in the “activated” state. For example, the total value itself may be used as the threshold value, or a value obtained by multiplying the total number by a predetermined coefficient may be used as the threshold value. If the determination result in S24 is No, the user group currently logged in or waiting to log in can be accepted without degrading the quality of service by the “active” VM 12 group, and thus the number of VMs 12 need not be increased or decreased. In this case, the process of FIG.

S24の判定結果がYesの場合、現在ログイン中又はログイン待ちのユーザ群は「起動」中のVM12群によりサービスの質を落とさずに受け入れることができない。この場合、VM管理装置14は、前述したS14〜S20の処理により、「起動」状態のVM12を増加させることを試みる。   When the determination result in S24 is Yes, the currently logged-in or waiting-for-login user group cannot accept the service without degrading the service quality by the “active” VM 12 group. In this case, the VM management apparatus 14 attempts to increase the number of VMs 12 in the “activated” state by the processes of S14 to S20 described above.

S22で、ログイン中とログイン待ちのユーザの合計数が前回から減少又は前回と同じと判定した場合、VM管理装置14は、「起動」状態のVM12の中に、次に実行するジョブが無く、かつログイン中のユーザがいないものが有るかどうかを判定する(S26)。該当するVM12がない場合は、処理を終了する。該当するVM12がある(判定結果がYes)場合、VM管理装置14は、そのVM12の状態を「起動」から「アイドル」に遷移させ、そのVM12に対応づけたタイマーにあらかじめ定めた待ち時間をセットし、計時(カウントダウン)を開始させる(S28)。このタイマーは、そのVM12が「起動」状態に戻されるとリセットされる。そのタイマーの残り時間が0になると、VM管理装置14はそのVM12を「停止」状態に遷移させる。   If it is determined in S22 that the total number of users who are logged in and waiting for login has decreased from the previous time or is the same as the previous time, the VM management apparatus 14 has no job to be executed next in the VM 12 in the “activated” state, Then, it is determined whether there is any user who is not logged in (S26). If there is no corresponding VM 12, the process ends. When there is a corresponding VM 12 (judgment result is Yes), the VM management device 14 changes the state of the VM 12 from “started” to “idle”, and sets a predetermined waiting time in a timer associated with the VM 12. Then, timing (countdown) is started (S28). This timer is reset when the VM 12 is returned to the “activated” state. When the remaining time of the timer becomes 0, the VM management apparatus 14 transitions the VM 12 to the “stop” state.

次に、図6を参照して、ユーザ振り分け装置16が実行する処理の例を説明する。この処理は、ユーザがクライアント30上のウェブブラウザを操作して、ジョブ処理システム10に接続した場合に開始される。この場合、ユーザ振り分け装置16は、接続してきたユーザがログイン済みであるかどうかを、例えばVM情報22(図2)を参照して、あるいはCookie等の一般的なセッション管理手法を用いて調べる(S32)。この調査の結果、そのユーザがログイン済み(すなわちいずれかのVM12にログイン中)であると判定した場合(S34の判定結果がYes)、ユーザ振り分け情報を参照して、そのユーザが現在ログイン中のVM12を特定し(S36)、特定したVM12に対し、そのユーザからの接続に対する処理を振り分ける(S38)。ユーザ振り分け情報は、ログイン済みのユーザがログインしたVM12を表す情報である。この手順では、ログイン済みのユーザからの接続要求は、ユーザ振り分け情報を用いて、そのユーザがログインしたVM12に割り振る(すなわちセッションを維持する)。   Next, an example of processing executed by the user distribution device 16 will be described with reference to FIG. This process is started when the user operates the web browser on the client 30 to connect to the job processing system 10. In this case, the user distribution device 16 checks whether or not the connected user has been logged in, for example, by referring to the VM information 22 (FIG. 2) or using a general session management technique such as Cookie (see FIG. 2). S32). As a result of this investigation, if it is determined that the user has logged in (that is, logged in to any VM 12) (the determination result in S34 is Yes), the user is currently logged in with reference to the user distribution information. The VM 12 is specified (S36), and the process for the connection from the user is assigned to the specified VM 12 (S38). The user distribution information is information indicating the VM 12 to which a logged-in user has logged in. In this procedure, the connection request from the logged-in user is allocated to the VM 12 to which the user has logged in (ie, the session is maintained) using the user distribution information.

ここで参照するユーザ振り分け情報は、1つの例では、VM情報22(図2)中の「VM識別子」と「ログインユーザ」の対応関係の情報である。   In one example, the user distribution information referred to here is information on a correspondence relationship between the “VM identifier” and the “login user” in the VM information 22 (FIG. 2).

また、別の例として、Cookie等の一般的なセッション維持手法を用いてもよい。Cookieを用いたセッション維持の場合、ジョブ処理システム10は、ログイン時のレスポンスとして、セッションIDを含んだCookie情報をウェブブラウザに返す。ウェブブラウザは、次回のHTTPリクエストの際にそのCookie情報をジョブ処理システム10に送ってくる。そのセッションIDとログイン先のVM12のVM識別子との対応関係をユーザ振り分け情報として保存しておけばよい。そして、ウェブブラウザからの接続(HTTPリクエスト)にCookie情報が付随している場合、そのCookie情報中のセッションIDに対応するVM識別子をユーザ振り分け情報から求め、そのVM識別子に対応するVM12にその接続を振り分ければよい。また、ウェブブラウザがCookieを送ってこない場合は、そのCookieの有効期限が切れたということであり、ユーザのログイン状態がタイムアウトした、すなわち現在ユーザはログインしていない(ログイン済みで無い)と判定できる。   As another example, a general session maintenance method such as Cookie may be used. In the case of session maintenance using Cookie, the job processing system 10 returns Cookie information including the session ID to the web browser as a response at the time of login. The web browser sends the cookie information to the job processing system 10 at the next HTTP request. The correspondence between the session ID and the VM identifier of the login VM 12 may be stored as user distribution information. If the cookie information is attached to the connection (HTTP request) from the web browser, the VM identifier corresponding to the session ID in the cookie information is obtained from the user distribution information, and the connection is made to the VM 12 corresponding to the VM identifier. Can be sorted. Also, if the web browser does not send a cookie, it means that the cookie has expired and the user's login status has timed out, that is, the user is not logged in (not logged in). it can.

S34で、接続してきたユーザがログイン済みで無い(すなわち未ログイン)と判定した場合、ユーザ振り分け装置16は、ログイン先決定処理(S40。詳細は後述)を実行することで、ログイン先のVM12を決定し、決定したVM12にその接続を振り分ける(S38)。   If it is determined in S34 that the connected user has not been logged in (that is, has not logged in), the user distribution device 16 executes the login destination determination process (S40; details will be described later), thereby determining the VM 12 of the login destination. The connection is distributed to the determined VM 12 (S38).

次に図7を参照してログイン先決定処理の手順の例を説明する。この手順では、「アイドル」状態のVM12よりも「起動」状態のVM12を優先的にログイン先に決定する。   Next, an example of the procedure of the login destination determination process will be described with reference to FIG. In this procedure, the VM 12 in the “activated” state is preferentially determined as the login destination over the VM 12 in the “idle” state.

この手順では、まずユーザ振り分け装置16は、VM情報22を参照して、「起動」状態でありかつ「ログインユーザ数」が「最大ユーザ数」に達していないVM12を、ログイン先の候補である候補VMとして抽出する(S42)。候補VMが1以上抽出できたか否かを判定し(S44)、1以上抽出できた場合は、それら候補VMの中からユーザのログイン先を選択する(S46)。S46の選択処理については、後で具体例をいくつか説明する。   In this procedure, first, the user distribution device 16 refers to the VM information 22, and the VM 12 that is in the “activated” state and whose “number of login users” has not reached the “maximum number of users” is a candidate for a login destination. A candidate VM is extracted (S42). It is determined whether or not one or more candidate VMs have been extracted (S44). If one or more candidate VMs have been extracted, a login destination of the user is selected from the candidate VMs (S46). Several specific examples of the selection process in S46 will be described later.

S44で候補VMが1つもないと判定した場合、ユーザ振り分け装置16は、「アイドル」状態のVM12があるか否かを判定する(S48)。「アイドル」状態のVM12がある場合、その中からユーザのログイン先を選択する(S50)。この選択は、S16で「アイドル」状態の複数のVM12から「アイドル」状態の解除対象を選択する際と同様の選択基準に従って行えばよい。ログイン先とする「アイドル」状態のVM12が選択された場合、その選択されたVM12の「アイドル」状態の解除が行われ、これにより「起動」状態に復帰したそのVM12に対してユーザ振り分け装置16がそのユーザからの接続要求に対する処理を割り振る。   If it is determined in S44 that there is no candidate VM, the user distribution device 16 determines whether there is a VM 12 in the “idle” state (S48). If there is a VM 12 in the “idle” state, a user login destination is selected from the VMs 12 (S50). This selection may be performed in accordance with the same selection criteria as in selecting the release target of the “idle” state from the plurality of VMs 12 in the “idle” state in S16. When the VM 12 in the “idle” state as the login destination is selected, the “idle” state of the selected VM 12 is released, and thus the user distribution device 16 is returned to the VM 12 that has returned to the “activated” state. Allocates processing for connection requests from the user.

S48で「アイドル」状態のVM12が無いと判定した場合、ユーザ振り分け装置16は、VM情報22内に「停止」状態のVM12があるか否かを判定する(S52)。「停止」状態のVM12があるということは、「起動」状態のVM12の数が契約等により定められたVM12の上限数に達していないということである。この場合、ユーザ振り分け装置16は、VM識別子が小さい順に選択する、過去に起動されていれば停止されたタイミングが早い順に選択する、停止されたタイミングが遅い順に選択する、等といった選択基準に従い、「停止」中のVM12の中からログイン先を選択する。そして、選択したVM12の起動処理を開始する(スケールアウト)。起動処理にはある程度の時間を要するので、ユーザに待機を促すメッセージを送る等の起動待ち処理を実行する(S54)。そして、起動処理が完了すると、そのVM12にそのユーザの接続要求を処理させる。S52で「停止」中のVM12もないことが判明した場合、「起動」状態のVM12の数が契約等により定められたVM12の上限数に達しているということであり、これ以上スケールアウトすることができない。この場合、そのユーザの接続が受け入れられないので、受け入れ不可のレスポンスをクライアント30に返す(S56)。   If it is determined in S48 that there is no VM 12 in the “idle” state, the user distribution device 16 determines whether there is a VM 12 in the “stop” state in the VM information 22 (S52). The fact that there are VMs 12 in the “stop” state means that the number of VMs 12 in the “start” state has not reached the upper limit number of VMs 12 determined by a contract or the like. In this case, the user distribution device 16 selects the VM identifiers in ascending order, selects the stop timings in order from the earlier if started in the past, selects the stop timings in the late order, etc. A login destination is selected from the “stopped” VMs 12. Then, the activation process of the selected VM 12 is started (scale out). Since a certain amount of time is required for the activation process, an activation waiting process such as sending a message prompting the user to wait is executed (S54). When the activation process is completed, the VM 12 is caused to process the connection request of the user. If it is determined in S52 that no VM 12 is “stopped”, it means that the number of VMs 12 in the “started” state has reached the upper limit number of VMs 12 determined by the contract and the like. I can't. In this case, since the connection of the user is not accepted, an unacceptable response is returned to the client 30 (S56).

次に、S46における候補VMの中からユーザのログイン先を決定する処理の具体例を説明する。ログイン先の選択の方針は、まずその選択の時点でジョブを実行している候補VMと、ジョブを実行していない候補VMがあった場合、前者を優先的にログイン先に選ぶというものである。ジョブを実行している候補VMが複数存在する場合、更なる方針として、それら複数のうち、ジョブの実行が終了するタイミングが最も遅いものをログイン先に選択する方針を用いてもよい。ジョブの実行が終了するタイミングとしては、その時点で実行中のジョブの終了タイミングとしてもよいし、キュー内にあるジョブ群をそれらジョブ実行中の候補VM群に順に割り当てたと仮定して、各候補ジョブがそれぞれ割り当てられた全てのジョブの実行を終了するタイミングとしてもよい。また、ユーザがVM12にログインしている時間の推測値(後述の平均ログイン時間L)を考慮に入れてもよい。以下、具体例をいくつか説明する。   Next, a specific example of the process for determining the user login destination from the candidate VMs in S46 will be described. The policy for selecting the login destination is to first select the former as a login destination when there is a candidate VM that is executing a job at the time of the selection and a candidate VM that is not executing a job. . When there are a plurality of candidate VMs executing the job, as a further policy, a policy of selecting the one with the latest timing at which the job execution is completed as the login destination may be used. The timing at which job execution ends may be the timing at which the job currently being executed ends, or it is assumed that job groups in the queue are sequentially assigned to candidate VM groups that are executing jobs. It may be the timing to end the execution of all jobs to which the jobs are assigned. Further, an estimated value of the time when the user is logged in to the VM 12 (an average login time L described later) may be taken into consideration. Several specific examples will be described below.

まず第1の例として図8に示す処理手順を説明する。この処理手順は、最も後までジョブを実行していると推測される候補VMをログイン先に選択するものである。   First, the processing procedure shown in FIG. 8 will be described as a first example. In this processing procedure, a candidate VM that is presumed to be executing a job until the end is selected as a login destination.

この手順では、まずユーザ振り分け装置16は、候補VM(「起動」状態かつ最大ユーザ数未満のVM12)の中にジョブを実行中のVM12があるかどうかを判定し(S60)、ないと判定した場合には、予め設定されている選択基準に従ってそのユーザのログイン先を決定する(S62)。ここで用いる選択基準としては、例えば、候補VMのうち他のユーザがログインしているVM12(ただしログインユーザ数が最大ユーザ数未満のものに限る)があれば、それを選択するという基準がある。この基準によれば、ユーザがログインしていない候補VM(このVM12はジョブも実行していない)に新たなログイン処理が割り当てられることが無いので、そのVM12が「アイドル」状態に遷移する(ひいては「停止」する)という方向性が妨げられにくい。なお、ログイン処理等のユーザインタフェース処理はジョブ実行よりも一般に負荷が低いので、最大ユーザ数以内であればユーザが集中しても処理速度等のサービスの質の劣化は生じにくい。また別の選択基準として、上述した基準(a)、(b)、又は(c)等の他の基準を用いてもよい。   In this procedure, first, the user distribution device 16 determines whether there is a VM 12 that is executing a job among the candidate VMs (the VMs 12 in the “activated” state and less than the maximum number of users) (S60). In this case, the login destination of the user is determined according to a preset selection criterion (S62). As a selection criterion used here, for example, if there is a VM 12 in which other users are logged in among candidate VMs (however, the number of logged-in users is limited to those less than the maximum number of users), there is a criterion of selecting it. . According to this criterion, since a new login process is not assigned to a candidate VM to which the user has not logged in (this VM 12 has not executed a job), the VM 12 transitions to an “idle” state (and eventually) The direction of “stopping” is difficult to be hindered. Since user interface processing such as login processing generally has a lower load than job execution, service quality such as processing speed is unlikely to deteriorate even if users are concentrated within the maximum number of users. As another selection criterion, another criterion such as the above-described criterion (a), (b), or (c) may be used.

S60の判定結果がYesの場合、ジョブ実行中の候補VM毎に、変数「合算時間」に対して、その実行中のジョブの残り時間(すなわち現時点からそのジョブの処理が完了するまでの時間)をセットする(S64)。変数「合算時間」は、その判定の時点でキュー内にあるジョブを、あらかじめ設定されているジョブ分配の規則に従って、ジョブ実行中の各候補VMに対して分配したと仮定した場合の、それら各候補VMが分配された全てのジョブの処理を終えるまでに要する時間を示すための変数である。図8の例は、VM12が1つのジョブの処理を終え次のジョブを受け入れ可能になるとキューから次のジョブを取得する、というジョブ分配規則を用いた場合の例である。なお、候補VMであってもジョブを実行していないものは、早晩「アイドル」状態に移行するので、キューにジョブを取りに行かないと仮定する。また実行中のジョブの残り時間は、VM情報22及びジョブ情報24を参照し、当該候補VMが実行中のジョブの「総ページ」から「完了ページ」を引き算することで求めればよい(前者及び後者を基準のページサイズでのページ数に換算の上、引き算)。ジョブの実行に要する所要時間は、用紙(ページ)サイズにほぼ比例し、且つページ数にほぼ比例するので、基準ページサイズ換算でのジョブの残りページ数(「総ページ」−「完了ページ」)は、そのジョブ完了までの残り時間にほぼ比例する。したがって、基準ページサイズ換算での残りページ数をジョブの残り時間の指標値として用いる。   When the determination result in S60 is Yes, the remaining time of the job being executed (that is, the time from the current time until the processing of the job is completed) with respect to the variable “total time” for each candidate VM being executed. Is set (S64). The variable “total time” indicates that each job in the queue at the time of the determination is distributed to each candidate VM during job execution in accordance with a preset job distribution rule. This is a variable for indicating the time required for finishing processing of all jobs to which candidate VMs are distributed. The example of FIG. 8 is an example in the case of using the job distribution rule that the VM 12 obtains the next job from the queue when the processing of one job is completed and the next job can be accepted. Note that it is assumed that a candidate VM that has not executed a job shifts to an “idle” state early and therefore does not go to the job queue. The remaining time of the job being executed can be obtained by referring to the VM information 22 and the job information 24 and subtracting the “completion page” from the “total page” of the job being executed by the candidate VM (the former and Subtract after converting the latter to the number of pages at the standard page size). The time required to execute the job is almost proportional to the paper (page) size and is also almost proportional to the number of pages. Therefore, the number of remaining pages of the job in terms of the standard page size (“total pages” − “completed pages”) Is approximately proportional to the time remaining until the job is completed. Therefore, the remaining page number in terms of the reference page size is used as an index value for the remaining time of the job.

次にキュー内のジョブ(実行待ちジョブ)の中に未計算(すなわちS68〜S72の計算がまだ試されていない)のものが無くなるまで、S68〜S72の計算処理を繰り返す(S66)。   Next, the calculation processing of S68 to S72 is repeated until there are no uncalculated jobs (that is, the calculations of S68 to S72 have not yet been tried) among jobs in the queue (jobs waiting to be executed) (S66).

S68では、キュー内の未計算の先頭のジョブの所要時間Rを見積もる。この見積もりでは、当該ジョブの「総ページ」を基準のページサイズでのページ数に換算し、その換算結果を所要時間の指標値Rとすればよい。次にS70でジョブ実行中の候補VMのうち合算時間が最も短いVMを選択する。選択したVMは、そのS70の時点でキュー内の未計算の先頭ジョブを取得する(分配される)と推測されるVMである。そして、S72でその選択したVMの合算時間に対しS68で推定した所要時間Rを加算する。これにより、ジョブの分配がシミュレートされる。   In S68, the required time R of the uncalculated head job in the queue is estimated. In this estimation, the “total pages” of the job may be converted into the number of pages at the reference page size, and the conversion result may be used as the index value R for the required time. Next, in S70, the VM with the shortest total time is selected from the candidate VMs that are executing the job. The selected VM is a VM that is estimated to acquire (distribute) an uncalculated head job in the queue at the time of S70. In S72, the required time R estimated in S68 is added to the total time of the selected VM. This simulates job distribution.

そして、キュー内の最後のジョブの分配のシミュレートが終了すると、S66の判定結果がNoとなり、ユーザ振り分け装置16は、合算時間が最も長いVM12を今回のログイン処理の振り分け先に選択する(S74)。   When the simulation of the distribution of the last job in the queue is completed, the determination result in S66 is No, and the user distribution device 16 selects the VM 12 with the longest total time as the distribution destination of the current login process (S74). ).

図8の処理によれば、最も後までジョブを実行していると推測される候補VMが今回のユーザのログイン先に選ばれる。このように最後までジョブを実行している可能性が高いVM12にログイン処理(ひいてはその後に続く他のユーザインタフェース処理)を集中させることで、起動状態であってもジョブを実行していないVM12は、ユーザインタフェース処理が割り当てられにくいので、アイドル状態に移行しやすくなり、ひいては停止しやすくなる。また、ジョブを実行しているVM12でも、割り当てられるジョブ群が早く終了するVM12は、遅く終了するVM12よりもユーザインタフェース処理が割り当てられにくいので、そのようなVM12も相対的にアイドル状態に移行しやすくなる。   According to the process of FIG. 8, the candidate VM that is estimated to be executing the job until the end is selected as the login destination of the current user. In this way, by concentrating login processing (and thus other user interface processing subsequent thereto) on the VM 12 that has a high possibility of executing the job to the end, the VM 12 that is not executing the job even in the activated state can be obtained. Since the user interface process is difficult to be assigned, it becomes easier to shift to the idle state, and thus easier to stop. Further, even in the VM 12 that is executing a job, the VM 12 in which the assigned job group ends earlier is less likely to be assigned the user interface process than the VM 12 that ends later, so that the VM 12 also shifts to an idle state relatively. It becomes easy.

次に、S46(ログイン先選択)の処理の別の例を、図9を参照して説明する。この例では、ユーザ振り分け装置16は、各候補VMが実行中のジョブの実行残り時間Rを求め、その残り時間が最も長い候補VM(便宜上、VM−Rと呼ぶ)を選ぶ(S80)。次に、選んだ候補VMのジョブ実行残り時間Rがユーザの平均ログイン時間Lよりも長いかどうかを判定する(S82)。平均ログイン時間Lは、様々なユーザがジョブ処理システム10(すなわちいずれかのVM12)にログインしてから、明示的又は無操作によるタイムアウトによりログアウトするまでの時間の平均値であり、ジョブ処理システム10の運用側が経験的に知っている値である。S82の判定結果がYesの場合、S80で選んだ候補VM−Rをログイン先に選択する(S84)。そうでない場合は図8の手順のS62で用いた選択基準と同様の基準に従ってログイン先を選択する(S86)。   Next, another example of the process of S46 (login destination selection) will be described with reference to FIG. In this example, the user distribution device 16 obtains the remaining execution time R of the job being executed by each candidate VM, and selects the candidate VM having the longest remaining time (referred to as VM-R for convenience) (S80). Next, it is determined whether or not the remaining job execution time R of the selected candidate VM is longer than the average login time L of the user (S82). The average login time L is an average value of the time from when various users log in to the job processing system 10 (that is, one of the VMs 12) until the user logs out due to an explicit or no-operation timeout, and the job processing system 10 This is a value that the operational side of knows empirically. If the determination result in S82 is Yes, the candidate VM-R selected in S80 is selected as the login destination (S84). Otherwise, the login destination is selected according to the same criteria as the selection criteria used in S62 of the procedure of FIG. 8 (S86).

このように図9の処理手順では、今回振り分けようとしているユーザがログインしていると考えられる間(すなわち平均ログイン時間L)に、実行中のジョブが終了しないと考えられる候補VMにそのユーザが振り分けられることになる。したがって、ジョブを実行中であっても、ユーザがログインしている間にその実行が終わる可能性が高い候補VMにはユーザが振り分けられにくいので、そのような候補VMはアイドル状態(ひいては停止状態)に移行しやすくなる。候補VM以外のVMは、アイドル状態への移行や停止状態への移行が更にしやすくなる。   As described above, in the processing procedure of FIG. 9, while the user who is going to distribute this time is considered to be logged in (that is, the average login time L), the user is considered to be a candidate VM that is considered not to end the job being executed. It will be distributed. Therefore, even if a job is being executed, it is difficult for a user to be assigned to a candidate VM that is likely to end execution while the user is logged in. Therefore, such a candidate VM is in an idle state (and thus in a stopped state). ). VMs other than the candidate VMs can further easily shift to the idle state or to the stopped state.

次に、S46(ログイン先選択)の処理の更に別の例を、図10を参照して説明する。この例では、ユーザ振り分け装置16は、候補VMの中にジョブを実行中のものがあるかどうかを調べ(S90)、そのような候補VMがあれば、そのうち現在実行中のジョブの実行残り時間Rが最も長い候補VM−Rを求め、求めたVM−Rをログイン先に選択する(S92)。ジョブ実行中の候補VMがない場合は、図8の手順のS62で用いた選択基準と同様の基準に従ってログイン先を選択する(S94)。   Next, still another example of the processing of S46 (login destination selection) will be described with reference to FIG. In this example, the user distribution device 16 checks whether there is a candidate VM that is executing a job (S90), and if there is such a candidate VM, the remaining execution time of the job that is currently being executed A candidate VM-R with the longest R is obtained, and the obtained VM-R is selected as a login destination (S92). If there is no candidate VM during job execution, a login destination is selected according to the same criteria as the selection criteria used in S62 of the procedure of FIG. 8 (S94).

このように図10の処理手順では、現在実行中のジョブに終了が最も遅い候補VMにユーザが振り分けられることになる。したがって、ジョブを実行中であっても、現在実行中のジョブがVM−Rよりも早く終わると考えられる候補VMにはユーザが振り分けられにくいので、そのような候補VMはアイドル状態(ひいては停止状態)に移行しやすくなる。ジョブを実行していないVMや候補VM以外のVMは、アイドル状態への移行や停止状態への移行が更にしやすくなる。
以上、本発明の実施形態を説明した。ジョブを実行していないVM12にログイン処理(やそれに続くユーザインタフェース処理)が割り当てられると、そのVM12は停止(スケールイン)できなくなるが、本実施形態では、ジョブを実行中のVM12を優先的にログイン先に選択するので、ジョブを実行していないVM12がスケールインしやすくなる。また、本実施形態では、ジョブを最も遅くまで実行していると推定できるVM12から順にログイン先に選択するので、それより早くジョブを終了するVM12がスケールインしやすくなる。
As described above, in the processing procedure of FIG. 10, the user is assigned to the candidate VM whose end is the slowest in the job currently being executed. Therefore, even if a job is being executed, it is difficult for a user to be assigned to a candidate VM that is considered to end the job currently being executed earlier than the VM-R. ). VMs that are not executing jobs or VMs other than candidate VMs can more easily transition to an idle state or to a stopped state.
The embodiments of the present invention have been described above. If a login process (or subsequent user interface process) is assigned to a VM 12 that is not executing a job, that VM 12 cannot be stopped (scaled in). In this embodiment, the VM 12 that is executing a job is given priority. Since the login destination is selected, the VM 12 that is not executing the job can easily scale in. Further, in this embodiment, since the login destinations are selected in order from the VM 12 that can be estimated that the job is executed until the latest, the VM 12 that finishes the job earlier than that becomes easier to scale in.

以上では、ジョブ処理システム10が印刷ジョブの実行サービスをユーザに提供する例を説明したが、ジョブ処理システム10は、スキャンした画像に対するデータ処理や画像の転送処理等の他のジョブを実行するものであってもよい。この場合クライアント30は、スキャナ、ファクシミリ装置、複合機(プリンタ、スキャナ、コピー機、ファクシミリ装置等の機能を併せ持つ装置)等であってもよい。   In the above, an example in which the job processing system 10 provides a print job execution service to a user has been described. However, the job processing system 10 executes other jobs such as data processing and image transfer processing on a scanned image. It may be. In this case, the client 30 may be a scanner, a facsimile machine, a multifunction machine (an apparatus having functions such as a printer, a scanner, a copier, and a facsimile machine).

また、仮想マシンではなく物理的なコンピュータでジョブ処理やユーザインタフェース処理を分散して実行するシステムにおいても、上記実施形態の手法を用いてそれらコンピュータの起動(スケールアウト)や停止(スケールイン)を制御することができる。   Further, even in a system in which job processing and user interface processing are distributed and executed by physical computers rather than virtual machines, the computers of the above embodiment are used to start (scale out) or stop (scale in) those computers. Can be controlled.

以上に例示したVM12、VM管理装置14、ユーザ振り分け装置16は、例えば、汎用のコンピュータにそれら各装置の処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、HDD(ハードディスクドライブ)を制御するHDDコントローラ、各種I/O(入出力)インタフェース、ローカル・エリア・ネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)又はFPGA(Field Programmable Gate Array)等のハードウエア回路として構成してもよい。   The VM 12, the VM management device 14, and the user distribution device 16 exemplified above are realized by, for example, causing a general-purpose computer to execute a program representing the processing of each device. Here, the computer includes, as hardware, a microprocessor such as a CPU, a memory (primary storage) such as a random access memory (RAM) and a read only memory (ROM), an HDD controller that controls an HDD (hard disk drive), Various I / O (input / output) interfaces, network interfaces that perform control for connection to a network such as a local area network, and the like have a circuit configuration connected via a bus, for example. Also, portable non-volatile recording of various standards such as a disk drive and a flash memory for reading and / or writing to a portable disk recording medium such as a CD or a DVD via the I / O interface, for example. A memory reader / writer for reading from and / or writing to a medium may be connected. A program in which the processing contents of each functional module exemplified above are described is stored in a fixed storage device such as a hard disk drive via a recording medium such as a CD or DVD, or via a communication means such as a network, and stored in a computer. Installed. The program stored in the fixed storage device is read into the RAM and executed by a microprocessor such as a CPU, thereby realizing the functional module group exemplified above. Some or all of these functional module groups are used as hardware circuits such as dedicated LSI (Large Scale Integration), ASIC (Application Specific Integrated Circuit), or FPGA (Field Programmable Gate Array). It may be configured.

10 ジョブ処理システム、12 VM(仮想マシン)、14 VM管理装置、16 ユーザ振り分け装置、20 共有ストレージ、22 VM情報、24 ジョブ情報、30 クライアント。

10 job processing system, 12 VM (virtual machine), 14 VM management device, 16 user distribution device, 20 shared storage, 22 VM information, 24 job information, 30 clients.

Claims (5)

コンピュータを、
各々が、ユーザからの接続要求を処理する接続処理と、データ処理要求に応じてデータを処理するデータ処理と、を実行可能な1以上の処理部について、各処理部におけるデータ処理の実行状況の情報を保持する状況情報保持手段、
ユーザから受けた接続要求を、データ処理を実行していない処理部よりもデータ処理を実行中の処理部に対して優先的に割り当てる接続要求割り当て手段、
接続処理もデータ処理も実行していない処理部を停止させる停止手段、
として機能させるためのプログラム。
Computer
For each of one or more processing units capable of executing connection processing for processing a connection request from a user and data processing for processing data in response to the data processing request, Status information holding means for holding information,
A connection request assigning unit that preferentially assigns a connection request received from a user to a processing unit that is executing data processing over a processing unit that is not executing data processing;
Stop means for stopping a processing unit that is not performing connection processing or data processing,
Program to function as.
前記コンピュータを、
受け取ったデータ処理要求を、いずれかの処理部に割り当てられるまで受け取り順と対応づけて保持する処理要求保持手段、として更に機能させると共に、
前記接続要求割り当て手段は、前記処理要求保持手段内にある各データ処理要求を、データ処理を実行中のいずれかの処理部に対してあらかじめ定められた規則に従って割り当てた場合の、割り当てられたデータ処理要求に応じたデータ処理の実行が終了するタイミングが遅い処理部ほど優先的に、前記接続要求を割り当てる、
ことを特徴とする請求項1に記載のプログラム。
The computer,
It further functions as a processing request holding means for holding the received data processing request in correspondence with the receiving order until it is assigned to any processing unit, and
The connection request assigning means assigns each data processing request in the processing request holding means to the assigned data when assigned to any of the processing units executing the data processing according to a predetermined rule. The connection request is preferentially assigned to a processing unit with a slower timing at which execution of data processing according to the processing request is completed,
The program according to claim 1.
前記接続要求割り当て手段は、前記処理部のうち現在実行中のデータ処理の完了までの時間が、あらかじめ設定されている当該情報処理装置に対するユーザの平均接続時間よりも長いと判定される処理部に対して前記接続要求を割り当てる、
ことを特徴とする請求項1に記載のプログラム。
The connection request allocating unit is a processing unit that determines that the time until the completion of the currently executed data processing is longer than the user's average connection time for the information processing device set in advance. Assigning the connection request to
The program according to claim 1.
各々が、ユーザからの接続要求を処理する接続処理と、データ処理要求に応じてデータを処理するデータ処理と、を実行可能な1以上の処理部について、各処理部におけるデータ処理の実行状況の情報を保持する状況情報保持手段と、
ユーザから受けた接続要求を、データ処理を実行していない処理部よりもデータ処理を実行中の処理部に対して優先的に割り当てる接続要求割り当て手段と、
接続処理もデータ処理も実行していない処理部を停止させる停止手段と、
を含む情報処理装置。
For each of one or more processing units capable of executing connection processing for processing a connection request from a user and data processing for processing data in response to the data processing request, Status information holding means for holding information;
A connection request assigning means for preferentially assigning a connection request received from a user to a processing unit that is executing data processing over a processing unit that is not executing data processing;
Stop means for stopping a processing unit that is not executing connection processing or data processing;
An information processing apparatus including:
各々が、ユーザからの接続要求を処理する接続処理と、データ処理要求に応じてデータを処理するデータ処理と、を実行可能な1以上の処理部について、各処理部におけるデータ処理の実行状況の情報を保持する状況情報保持手段を設けるステップと、
接続要求割り当て手段が、ユーザから受けた接続要求を、データ処理を実行していない処理部よりもデータ処理を実行中の処理部に対して優先的に割り当てるステップと、
停止手段が、接続処理もデータ処理も実行していない処理部を停止させるステップと、
を含む情報処理方法。

For each of one or more processing units capable of executing connection processing for processing a connection request from a user and data processing for processing data in response to the data processing request, Providing status information holding means for holding information;
A step in which the connection request assigning means assigns a connection request received from a user preferentially to a processing unit that is executing data processing over a processing unit that is not executing data processing;
A step of stopping a processing unit that is not executing connection processing or data processing;
An information processing method including:

JP2015055324A 2015-03-18 2015-03-18 PROGRAM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD Expired - Fee Related JP6477081B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015055324A JP6477081B2 (en) 2015-03-18 2015-03-18 PROGRAM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015055324A JP6477081B2 (en) 2015-03-18 2015-03-18 PROGRAM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD

Publications (2)

Publication Number Publication Date
JP2016177376A true JP2016177376A (en) 2016-10-06
JP6477081B2 JP6477081B2 (en) 2019-03-06

Family

ID=57071153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015055324A Expired - Fee Related JP6477081B2 (en) 2015-03-18 2015-03-18 PROGRAM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD

Country Status (1)

Country Link
JP (1) JP6477081B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018129003A (en) * 2017-02-10 2018-08-16 富士ゼロックス株式会社 Information processing device and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281008A (en) * 2002-03-26 2003-10-03 Toshiba Corp Device, method and program for distributing server computer load, and server computer system
JP2011076468A (en) * 2009-09-30 2011-04-14 Nomura Research Institute Ltd Load management device, information processing system and load management method
JP2013186745A (en) * 2012-03-08 2013-09-19 Fuji Xerox Co Ltd Processing system and program
JP2013247475A (en) * 2012-05-24 2013-12-09 Nippon Telegr & Teleph Corp <Ntt> Streaming distribution system, streaming distribution control method, dispatch server and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281008A (en) * 2002-03-26 2003-10-03 Toshiba Corp Device, method and program for distributing server computer load, and server computer system
US20030225904A1 (en) * 2002-03-26 2003-12-04 Kabushiki Kaisha Toshiba Server load distribution apparatus, server load distribution program and server system
JP2011076468A (en) * 2009-09-30 2011-04-14 Nomura Research Institute Ltd Load management device, information processing system and load management method
JP2013186745A (en) * 2012-03-08 2013-09-19 Fuji Xerox Co Ltd Processing system and program
JP2013247475A (en) * 2012-05-24 2013-12-09 Nippon Telegr & Teleph Corp <Ntt> Streaming distribution system, streaming distribution control method, dispatch server and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018129003A (en) * 2017-02-10 2018-08-16 富士ゼロックス株式会社 Information processing device and program

Also Published As

Publication number Publication date
JP6477081B2 (en) 2019-03-06

Similar Documents

Publication Publication Date Title
US8908220B2 (en) Information processing system, print system, and method and computer-readable storage medium for controlling information processing system
US8570574B2 (en) Processing system, control method, and storage medium therefor
JP5539017B2 (en) Cloud computing system, document processing method, and computer program
US10802779B2 (en) Print processing system and method having print server converts document data into print data and to store the print data into plural storage servers for printing at image processing apparatus
US20110299112A1 (en) Cloud computing system, method for processing document, and storage medium for same
JP2013186745A (en) Processing system and program
CN106330855B (en) Communication system, management server, and control method
JP2012079124A (en) Job distribution processing system, information processor, and program
US8730506B2 (en) Image forming apparatus that can request ending time for processing print data by an external apparatus from the external apparatus and control method thereof
US20150188986A1 (en) Information processing apparatus, control method, and storage medium
JP6897136B2 (en) Information processing equipment and programs
JP6872117B2 (en) Information processing equipment and programs
JP2007325235A (en) Electronic apparatus
JP4964683B2 (en) Communication apparatus and program
JP6492865B2 (en) Information processing apparatus, program, and information processing method
JP6477081B2 (en) PROGRAM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD
JP6127716B2 (en) Printing device
JP6817751B2 (en) Information processing system Its control method, printing system and program
JP5434289B2 (en) Billing processing apparatus and billing processing program
JP6176161B2 (en) Print control apparatus and program
US8760703B2 (en) Job control system and job control method
US11200088B2 (en) Information processing system, information processing method, and information processing apparatus
JP7215031B2 (en) Printing system, printing method and program
US11481171B2 (en) Image forming system, server, control method for image forming system, control method for server, and storage medium
JP7230375B2 (en) Information processing device and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190121

R150 Certificate of patent or registration of utility model

Ref document number: 6477081

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees