JP2016177376A - Program, information processing device and information processing method - Google Patents
Program, information processing device and information processing method Download PDFInfo
- 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
Links
Images
Landscapes
- Power Sources (AREA)
- Computer And Data Communications (AREA)
Abstract
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
特許文献2に開示された負荷分散システムは、複数のサーバのそれぞれの情報を格納する情報テーブルと、要求による処理状況に対する複数のサーバのそれぞれのサービスレベルを保つための閾値を保持する閾値保持部と、複数のサーバの稼動状況を監視管理するサーバ管理部と、複数のサーバへの要求の割り当ての際、複数のサーバの優先度に従い、優先度の高いサーバから、閾値に達するまで要求を割り当てる転送先判定部と、複数のサーバのそれぞれの要求に対する処理状況に応じて、複数のサーバの電源制御を行う電源制御部とを備える。このように特許文献2には、サービスレベルを保つためにサーバ間で負荷分散を行う点、及び、それらサーバの電源制御を行う点が示されている。
A load distribution system disclosed in
特許文献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.
複数の処理部で負荷分散を行う場合、新たな処理要求は負荷の少ない処理部に割り当てることが一般的である。しかし、このようは割り当て方式では、各処理部には常に何らかの処理が割り当てられている可能性が高いので、全体の負荷が少なくなっていても処理部を停止して起動中の処理部の数を減らす(スケールイン)することが難しい。 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
請求項2に係る発明は、前記コンピュータを、受け取ったデータ処理要求を、いずれかの処理部に割り当てられるまで受け取り順と対応づけて保持する処理要求保持手段、として更に機能させると共に、前記接続要求割り当て手段は、前記処理要求保持手段内にある各データ処理要求を、データ処理を実行中のいずれかの処理部に対してあらかじめ定められた規則に従って割り当てた場合の、割り当てられたデータ処理要求に応じたデータ処理の実行が終了するタイミングが遅い処理部ほど優先的に、前記接続要求を割り当てる、ことを特徴とする請求項1に記載のプログラムである。
The invention according to
請求項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
請求項4に係る発明は、各々が、ユーザからの接続要求を処理する接続処理と、データ処理要求に応じてデータを処理するデータ処理と、を実行可能な1以上の処理部について、各処理部におけるデータ処理の実行状況の情報を保持する状況情報保持手段と、ユーザから受けた接続要求を、データ処理を実行していない処理部よりもデータ処理を実行中の処理部に対して優先的に割り当てる接続要求割り当て手段と、接続処理もデータ処理も実行していない処理部を停止させる停止手段と、を含む情報処理装置である。
In the invention according to
請求項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.
図1を参照して、実施形態のシステム構成の例を説明する。 An example of the system configuration of the embodiment will be described with reference to FIG.
図1に示すジョブ処理システム10は、PC(パーソナルコンピュータ)やモバイル端末等のクライアント30を操作するユーザに対して、印刷ジョブを実行するというサービスを提供する。印刷ジョブ(以下単に「ジョブ」とも呼ぶ)とは、ユーザが指定した印刷対象の文書データをプリンタで印刷するために行うデータ処理である。ジョブ処理システム10は、図示しないネットワークを介してクライアント30から文書データを受け取り、その文書データをプリンタ(図示省略)で取扱可能なデータ形式の印刷データに変換し、変換結果の印刷データをネットワーク経由でプリンタに提供して印刷を実行させる。
A
ジョブ処理システム10は、0以上のVM(Virtual Machine:仮想マシン)12を有しており、それらVM12がそれぞれユーザからの印刷指示に対応するジョブを実行する。VM12は、例えば、IaaS(Infrastructure as a Service)プロバイダから提供されるインフラ上に構築されるものであってよい。なお同様に、後述するVM管理装置14、ユーザ振り分け装置16も、そのインフラ上に構築される仮想マシン上に構築されたものであってよく、共有ストレージ20はそのインフラ上のストレージであってよい。
The
VM12が実行するジョブ処理は、文書データを印刷データに変換する処理や、変換結果の印刷データをユーザから指定されたプリンタに送信する処理や、文書データを画像に変換して画像から情報を抽出する処理や、処理結果を他のサーバへ転送する処理を含む。
The job processing executed by the
個々のVM12は、割り当てられたジョブの処理の他に、ユーザからの要求を処理するユーザインタフェース処理も実行する。ユーザインタフェース処理には、ジョブ処理システム10に対するユーザの接続(ログイン)の可否を判定するログイン処理、ジョブについてのパラメータ(例えば印刷部数等の印刷属性)の設定を受け付ける処理、ジョブの実行開始要求を受け付ける処理、ジョブの状態確認の要求を受け付けてジョブの状態情報をユーザに提供する処理等が含まれる。
Each
この例では、VM12がユーザ(クライアント30)から受け付ける処理要求には、ログイン要求、ジョブ実行要求、ジョブ状態確認要求の3種類が含まれる。
In this example, the processing requests received by the
クライアント30からログイン要求を受けると、ユーザ振り分け装置16からそのログイン要求を割り当てられたVM12が、クライアント30から受け取ったパスワード等のユーザ認証情報を用いてユーザのログインを認めるか否かを判定する。ログインが認められると、ユーザはジョブ処理システム10に対してログインしている状態となる。ログイン状態のユーザからの要求は、ログインを受け付けたVM12が受け取って処理する。すなわち、ユーザは、そのVM12にログインしたと捉えることもできる。
When the login request is received from the
ログイン状態において、例えば、ユーザ(クライアント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
ユーザは、キューに入れられたジョブの状態を確認したい場合、ジョブ状態の確認を要求する。これに応じて、クライアント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
ユーザが明示的にログアウトを要求した場合、または操作をしない状態が所定時間続いてタイムアウトとなった場合、ユーザのログイン状態は解除される。ログイン解除の後、ユーザがジョブ処理システム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
VM管理装置14は、VM12の管理を行う装置であり、例えば停止状態のVM12を起動したり、起動状態(すなわち稼働状態)のVM12を停止させたりする。例えばジョブ処理システム10の運営者とIaaSプロバイダとの契約により、ジョブ処理システム10内で起動状態のVM12の上限数が決まっている。起動状態のVM12だけでは負荷に十分対応できなくなった場合でも、起動状態のVM数がその上限数に達していない場合には、停止状態のVM12を起動することでシステムの処理能力を高めることができる(スケールアウト)。また、システムの負荷が低下してきた場合、起動状態のVM12を停止させる(スケールイン)ことで、起動状態のVM12の数に応じたIaaSプロバイダの従量制課金を抑制できる。
The
ユーザ振り分け装置16は、ユーザ(クライアント30)からの要求をいずれかのVM12に振り分ける(割り当てる)。ログイン要求の振り分け先の決定手順については、後で具体例を挙げて説明する。ログイン後の要求(例えばジョブ実行要求やジョブ状態確認要求)については、従来からあるセッション維持技術を用いて、ログイン処理を行ったVM12に振り分けることで、セッション情報をVM12間で受け渡すためのオーバーヘッドをなくすようにしてもよい。
The
共有ストレージ20は、VM12群、VM管理装置14及びユーザ振り分け装置16の間で共有される記憶装置である。共有ストレージ20にはVM情報22とジョブ情報24が記憶されており、VM12群、VM管理装置14及びユーザ振り分け装置16はこれらの情報を参照しながら処理を進める。
The shared
図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
「最大ジョブ数」及び「最大ユーザ数」は、個々の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
VM12の「状態」として、前述の「起動」及び「停止」という状態の他に、「アイドル」状態を設けてもよい。「起動」状態とは、VM12が起動済みである状態、すなわちジョブやユーザインタフェース処理を実行可能な状態である。「停止」状態とは、VM12が停止している状態である。VM情報22内には「停止」状態のVM12の管理情報は存在するが、クラウドコンピューティングのインフラ上にはそのVM12は既に存在していない。「停止」状態のVM12(管理情報としてのみ存在)がジョブやユーザインタフェース処理(ユーザからの要求の受付等)を実行可能になるには、そのVM12を起動する起動処理が必要であり、この起動処理にはある程度の時間がかかる。「アイドル」状態とは、「起動」状態と「停止」状態の中間の状態であり、いわば「停止」の準備段階である。この状態ではVM12はまだ停止していないが、新たなジョブは受け入れないし、ユーザインタフェース処理も実行しない。これらのことを実行するには、VM12は「起動」状態に復帰する必要がある。ただし、「アイドル」状態のVM12は、まだ停止していないので、起動処理を行わなくてもほぼ即座に「起動」状態に復帰し、新たなジョブやユーザインタフェース処理を実行することができる。
As the “state” of the
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
図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
図4に、ジョブ情報24のデータ内容の一例を示す。ジョブ情報24には、ジョブ毎に、そのジョブを一意に識別する「ジョブ識別子」、そのジョブを投入したユーザのユーザ識別子(「ユーザ」)、そのジョブの印刷画質設定(「設定」)、そのジョブでの印刷対象の印刷データの格納場所(「入力」)、そのジョブの処理負荷の総量(言い換えれば、VM12がそのジョブを処理するのに要する時間)を示す情報(「総ページ」)、そのジョブの現在の「状況」、及びそのジョブの処理済み量を示す情報(「完了ページ」)の各項目が含まれる。この例でVM12が実行するジョブ処理の負荷は、大略的には印刷する画像のサイズ(用紙サイズ)に比例し、また当然ながらページ数にも比例する。このため、ジョブの処理負荷の総量や処理済み量は用紙サイズとページ数の組で表現している。例えば、図4の例では、ジョブ「Job1」の総処理負荷は、A4サイズ10ページ分であり、現時点ではそのうちのA4サイズ4ページの処理が完了している。
FIG. 4 shows an example of the data content of the
ジョブ情報24の内容は、各VM12により随時更新される。例えばVM12がユーザからジョブ実行要求を受けた場合、一意なジョブ識別子が生成され、そのジョブ識別子に対応するエントリがジョブ情報24内に作成され、そのエントリ内に、その要求を発した「ユーザ」、そのジョブについての「設定」(実行要求の発行前にユーザが入力済み)、そのジョブの印刷データの格納場所を示す「入力」、そのジョブの「総ページ」の値が登録される。このとき、そのジョブは「実行待ち」状態となり、実行要求の受付順にキューに入れられている。また、いずれかのVM12がキュー内のジョブを取得して実行を開始すると、ジョブ情報24内のそのジョブの「状況」が「(そのVM12で)実行中」に変更され、そのVM12がそのジョブの処理(例えば印刷可能なデータ形式への変換)を1ページ終える毎に、そのジョブの「完了ページ」のページ数に1が加算される。
The contents of the
次に図5を参照して、VM管理装置14が実行するオートスケール制御の例を説明する。なお、オートスケール制御とは、VM12を起動させることにより「起動」状態のVM12の数を増やしたり(スケールアウト)、VM12を停止させることで「起動」又は「アイドル」状態のVM12の数を減らしたり(スケールイン)する制御のことである。
Next, an example of autoscale control executed by the
VM管理装置14は、図5の処理を定期的に繰り返す。この処理では、まず前回の処理時と比べた場合の、実行中のジョブとキュー内(処理待ち状態)のジョブとの合計数の変化を判定する(S10)。その合計数が前回より増加した場合、その合計数が実行可能ジョブ数についての閾値以下であるかどうかを判定する(S12)。この閾値は、ジョブ処理システム10が同時に実行可能なジョブの総数に応じて定められる閾値である。その総数は、「起動」状態のVM12の「最大ジョブ数」の総和である。例えばこの総和の値そのものをその閾値としてもよいし、その総数にあらかじめ定めた係数をかけた値をその閾値としてもよい。S12の判定結果がYesの場合、現在ジョブ処理システム10が有するジョブ群は「起動」中のVM12群によりサービスの質を落とさずに処理可能なので、VM12の数の増減は不要である。この場合は、図5の処理は何も行わず終了する。
The
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
「アイドル」状態のVM12が複数存在する場合には、あらかじめ設定されている選択基準に従ってその中から1つ(又はあらかじめ定めた数)を選択して「アイドル」解除を行う。選択基準としては、例えば、(a)VM識別子が小さい順に選択するという基準、(b)起動されたタイミングが早い順に選択するという基準、(c)起動されたタイミングが遅い順に選択するという基準等がある。これらの基準は、「アイドル」状態のVM12がスケールイン可能になるタイミングを考慮に入れない、簡便な選択基準である。これに対し、スケールイン可能になるタイミングを考慮に入れた選択基準の例として、「アイドル」状態に遷移してからの経過時間が短いものほど優先的に選択するという基準がある。経過時間が長いものは「アイドル」状態が維持されやすいので、もう少しでスケールインできるVM12が「起動」状態に戻ってしまうという事態が生じにくい。また選択基準の別の例として、「アイドル」のVM12のうち、実行しているジョブの処理が終了するまでの残り時間が長いVM12ほど優先的に選択するという基準もある。その残り時間が長いほどスケールイン(「停止」状態への遷移)が可能になるタイミングが遅いので、この基準によれば、スケールインしやすい(残り時間が短い)VM12が「起動」状態に戻るという事態が起こりにくい。ここで残り時間の長さを示す値としては、VM情報22及びジョブ情報24から、「アイドル」のVM12が実行中のジョブの「総ページ数」から「完了ページ」を引き算した結果の値を用いればよい。このとき、「総ページ数」及び「完了ページ」は、基準とする用紙サイズでのページ数に換算した上で上述の引き算を行う。
If there are a plurality of “idle”
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
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
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”
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
次に、図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
ここで参照するユーザ振り分け情報は、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
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
次に図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
この手順では、まずユーザ振り分け装置16は、VM情報22を参照して、「起動」状態でありかつ「ログインユーザ数」が「最大ユーザ数」に達していないVM12を、ログイン先の候補である候補VMとして抽出する(S42)。候補VMが1以上抽出できたか否かを判定し(S44)、1以上抽出できた場合は、それら候補VMの中からユーザのログイン先を選択する(S46)。S46の選択処理については、後で具体例をいくつか説明する。
In this procedure, first, the
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
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
次に、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
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
次にキュー内のジョブ(実行待ちジョブ)の中に未計算(すなわち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
図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
次に、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
このように図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
このように図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
以上では、ジョブ処理システム10が印刷ジョブの実行サービスをユーザに提供する例を説明したが、ジョブ処理システム10は、スキャンした画像に対するデータ処理や画像の転送処理等の他のジョブを実行するものであってもよい。この場合クライアント30は、スキャナ、ファクシミリ装置、複合機(プリンタ、スキャナ、コピー機、ファクシミリ装置等の機能を併せ持つ装置)等であってもよい。
In the above, an example in which the
また、仮想マシンではなく物理的なコンピュータでジョブ処理やユーザインタフェース処理を分散して実行するシステムにおいても、上記実施形態の手法を用いてそれらコンピュータの起動(スケールアウト)や停止(スケールイン)を制御することができる。 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
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.
ユーザから受けた接続要求を、データ処理を実行していない処理部よりもデータ処理を実行中の処理部に対して優先的に割り当てる接続要求割り当て手段と、
接続処理もデータ処理も実行していない処理部を停止させる停止手段と、
を含む情報処理装置。 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:
接続要求割り当て手段が、ユーザから受けた接続要求を、データ処理を実行していない処理部よりもデータ処理を実行中の処理部に対して優先的に割り当てるステップと、
停止手段が、接続処理もデータ処理も実行していない処理部を停止させるステップと、
を含む情報処理方法。
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:
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018129003A (en) * | 2017-02-10 | 2018-08-16 | 富士ゼロックス株式会社 | Information processing device and program |
Citations (4)
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 |
-
2015
- 2015-03-18 JP JP2015055324A patent/JP6477081B2/en not_active Expired - Fee Related
Patent Citations (5)
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)
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 |