JP2015060279A - Scale control server, scale control method, and scale control program - Google Patents

Scale control server, scale control method, and scale control program Download PDF

Info

Publication number
JP2015060279A
JP2015060279A JP2013191905A JP2013191905A JP2015060279A JP 2015060279 A JP2015060279 A JP 2015060279A JP 2013191905 A JP2013191905 A JP 2013191905A JP 2013191905 A JP2013191905 A JP 2013191905A JP 2015060279 A JP2015060279 A JP 2015060279A
Authority
JP
Japan
Prior art keywords
job
execution
time
buffer
schedule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013191905A
Other languages
Japanese (ja)
Inventor
瑛彦 木村
Teruhiko Kimura
瑛彦 木村
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.)
Hitachi Systems Ltd
Original Assignee
Hitachi Systems 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 Hitachi Systems Ltd filed Critical Hitachi Systems Ltd
Priority to JP2013191905A priority Critical patent/JP2015060279A/en
Publication of JP2015060279A publication Critical patent/JP2015060279A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce wasteful operation cost of a virtual server by scale-controlling a system according to a load condition.SOLUTION: In a case where a job execution request is received from a client terminal, based on an execution condition of the job which a job management database stores and a load state which a resource monitor part monitors, such number of servers as execute the job is decided, and the job is executed. Further, the execution time is stored in a process history database as an execution result, and based on the execution time of the job made to be stored by a job management part, an execution schedule stored in a schedule management database, and the time managed by a buffer, the execution schedule or the buffer is updated to be the execution time of the job.

Description

本発明は、スケール制御サーバ、スケール制御方法、およびスケール制御プログラムに関する。   The present invention relates to a scale control server, a scale control method, and a scale control program.

昨今、クラウドコンピューティングが盛んである。クラウドコンピューティングとは、一般には、ネットワーク、サーバ、ストレージ等の共用可能なコンピューティングリソースにネットワーク経由でアクセスすることを可能とするモデルである。クラウドコンピューティングによって構築されたクラウド規模の拡大や縮小、コンピューティングリソースの起動時間の延長や短縮等を行うことをスケール制御という。   Recently, cloud computing is prosperous. In general, cloud computing is a model that makes it possible to access sharable computing resources such as a network, a server, and a storage via a network. Scale control refers to expanding or reducing the scale of a cloud constructed by cloud computing and extending or shortening the startup time of computing resources.

クラウドを提供するデータセンタ事業者、通信事業者、プロバイダ等の各種の事業者は、クラウドに割り当てられたサーバの利用状況を監視し、その負荷状況に応じてクラウドをスケール制御することで効率よくリソースを運用することがよく行われている。例えば、特許文献1では、負荷に伴う仮想サーバの起動時間の遅延を過去の実績から予測してスケジュールを生成し、そのスケジュールに従って仮想サーバを起動させることにより、遅延のないサービスを顧客に提供する技術が開示されている。   Various operators such as data center operators, telecommunications carriers, providers, etc. that provide the cloud efficiently monitor the usage status of servers assigned to the cloud and scale the cloud according to the load status. It is common to operate resources. For example, in Patent Document 1, a delay is generated from a past performance of a virtual server associated with a load, a schedule is generated, and a virtual server is started according to the schedule, thereby providing a service without delay to a customer. Technology is disclosed.

特開2013−41397号公報JP 2013-41397 A

上述した特許文献1に記載された技術では、仮想サーバの起動時間の遅延を考慮することにより、その時間だけ早めに仮想サーバを起動させ、目標日時までにサービスを提供可能な状態にしている。しかしながら、特許文献1では、仮想サーバが複数存在する場合、各仮想サーバの負荷状況に応じてどのようにスケール制御して効率よくサービスを提供させるかという具体的な手法については開示されていない。   In the technique described in Patent Document 1 described above, by taking into account the delay in the startup time of the virtual server, the virtual server is started earlier by that time, and the service can be provided by the target date and time. However, in Patent Document 1, when there are a plurality of virtual servers, there is no disclosure about a specific method of how to efficiently provide services by controlling the scale according to the load status of each virtual server.

また、システムの管理者等は、例えば、月次、週次といったサイクリックな処理を実行する場合、処理の実行タイミングや処理予測時間を見積もってスケジューリングし、その情報をジョブとともにクラウドを管理する管理サーバ上に登録し、処理を実行させることがある。通常、その管理者等は、他の仮想サーバでの処理やネットワークの負荷の影響を考慮し、ある程度の時間的なバッファを設けた上で、実行タイミングや処理予測時間を定める。しかし、仮想サーバが実際に受ける負荷によっては、設定したバッファを超えたり、バッファが余りすぎたりする場合が生じ、その結果、スケジュール通りに処理を実行させることができず、仮想サーバの運用コストに無駄が発生してしまう場合がある。   In addition, for example, when performing cyclic processing such as monthly or weekly, the system administrator etc. estimates and schedules the execution timing of the processing and the predicted processing time, and manages the information together with the job to manage the cloud It may register on the server and execute the process. In general, the administrator or the like determines the execution timing and the predicted processing time after providing a buffer for a certain amount of time in consideration of the effect of processing in other virtual servers and the load on the network. However, depending on the load that the virtual server actually receives, the set buffer may be exceeded or the buffer may be too large. As a result, the processing cannot be executed according to the schedule, which increases the operating cost of the virtual server. Waste may occur.

本発明は、上記に鑑みてなされたものであって、負荷状況に応じてシステムをスケール制御し、仮想サーバの運用コストの無駄を減らすことが可能なスケール制御サーバ、スケール制御方法、およびスケール制御プログラムを提供することを目的とする。   The present invention has been made in view of the above, and has a scale control server, a scale control method, and scale control capable of performing scale control of a system according to a load situation and reducing waste of operating costs of a virtual server. The purpose is to provide a program.

上述した課題を解決し、目的を達成するために、本発明にかかるスケール制御サーバは、ジョブを実行する複数のサーバを有したクラウドをスケール制御するスケール制御サーバであって、前記ジョブと、前記ジョブを実行するサーバの台数と、前記ジョブの実行条件とを対応付けて記憶するジョブ管理データベースと、前記ジョブの実行スケジュールと前記ジョブの処理時間の余裕分を示すバッファとを対応付けて記憶するスケジュール管理データベースと、前記ジョブの実行履歴を記憶する処理履歴データベースと、を記憶する記憶部と、前記複数のサーバのそれぞれの負荷状況を監視するリソース監視部と、クライアント端末から前記ジョブの実行要求を受けた場合に、前記ジョブ管理データベースが記憶するそのジョブの実行条件と、前記リソース監視部が監視する負荷状況とに基づいて、そのジョブを実行させる台数分のサーバを決定してそのジョブを実行させ、その実行時間を実行結果として前記処理履歴データベースに記憶させるジョブ管理部と、前記ジョブ管理部が記憶させた前記ジョブの実行時間と、前記スケジュール管理データベースに記憶されている実行スケジュールおよび前記バッファで管理された時間とに基づいて、前記実行スケジュールまたは前記バッファを前記ジョブの実行時間に更新するスケール制御部と、を備えるスケール制御サーバとして構成される。   In order to solve the above-described problems and achieve the object, a scale control server according to the present invention is a scale control server that controls a cloud having a plurality of servers that execute jobs, the job, A job management database that stores the number of servers that execute jobs and the job execution conditions in association with each other, and stores a job execution schedule and a buffer that indicates a margin of processing time for the job in association with each other. A storage unit for storing a schedule management database, a processing history database for storing the job execution history, a resource monitoring unit for monitoring the load status of each of the plurality of servers, and a job execution request from a client terminal When the job is received, the job management database stores the job execution condition and Based on the load status monitored by the resource monitoring unit, a job management unit that determines the number of servers to execute the job, executes the job, and stores the execution time in the processing history database as an execution result And the execution schedule stored in the job management unit, the execution schedule stored in the schedule management database, and the time managed in the buffer. And a scale control server that is updated at the execution time of the scale control server.

また、本発明は、上記スケール制御サーバで行われるスケール制御方法、およびスケール制御プログラムとして構成される。   Further, the present invention is configured as a scale control method and a scale control program performed by the scale control server.

本発明によれば、負荷状況に応じてシステムをスケール制御し、仮想サーバの運用コストの無駄を減らすことが可能となる。   According to the present invention, it is possible to control the scale of a system in accordance with the load status and reduce the waste of operating costs of virtual servers.

スケール制御システムの構成例を示す図である。It is a figure which shows the structural example of a scale control system. スケジュールDBの構成例を示す図である。It is a figure which shows the structural example of schedule DB. ジョブ管理DBの構成例を示す図である。It is a figure which shows the structural example of job management DB. 処理履歴DBの構成例を示す図である。It is a figure which shows the structural example of process log | history DB. キュー管理DBの構成例を示す図である。It is a figure which shows the structural example of queue management DB. カレンダーDBの構成例を示す図である。It is a figure which shows the structural example of calendar DB. リソース管理DBの構成例を示す図である。It is a figure which shows the structural example of resource management DB. スケール制御処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a scale control process.

以下に添付図面を参照して、本発明にかかるスケール制御サーバ、スケール制御方法、およびスケール制御プログラムの実施の形態を詳細に説明する。   Exemplary embodiments of a scale control server, a scale control method, and a scale control program according to the present invention will be described below in detail with reference to the accompanying drawings.

図1は、本発明にかかるスケール制御サーバ、スケール制御方法、およびスケール制御プログラムの一実施形態であるスケール制御システム1000の構成例を示す図である。図1に示すように、スケール制御システム1000は、スケール制御サーバ100と、クラウド200と、クライアント端末300とを有して構成されている。また、これらの各装置は、一般的な公衆回線網、LAN(Local Area Network)等のネットワークN1、N2によって互いに接続されている。まず、スケール制御サーバ100について説明する。   FIG. 1 is a diagram showing a configuration example of a scale control system 1000 that is an embodiment of a scale control server, a scale control method, and a scale control program according to the present invention. As shown in FIG. 1, the scale control system 1000 includes a scale control server 100, a cloud 200, and a client terminal 300. Each of these devices is connected to each other by networks N1 and N2 such as a general public line network and a LAN (Local Area Network). First, the scale control server 100 will be described.

図1に示すように、スケール制御サーバ100は、記憶部101と、スケール制御部102と、リソース制御部103と、ジョブ管理部104とを有して構成されている。また、記憶部101は、HDD(Hard Disk Drive)等の記憶装置から構成され、スケジュールDB1011と、ジョブ管理DB1012と、処理履歴DB1013と、キュー管理DB1014と、カレンダーDB1015と、リソース管理DB1016とを有している。   As shown in FIG. 1, the scale control server 100 includes a storage unit 101, a scale control unit 102, a resource control unit 103, and a job management unit 104. The storage unit 101 includes a storage device such as an HDD (Hard Disk Drive), and includes a schedule DB 1011, a job management DB 1012, a processing history DB 1013, a queue management DB 1014, a calendar DB 1015, and a resource management DB 1016. doing.

スケジュールDB1011は、クラウド200を構成する仮想サーバ210が処理を実行するジョブのスケジュールを管理するデータベースである。図2は、スケジュールDB1011の構成例を示す図である。図2に示すように、スケジュールDB1011は、ジョブを識別するためのジョブIDと、そのジョブ名と、そのジョブを実行するサイクルと、そのジョブの開始時刻および終了時刻と、そのジョブの処理遅延等による処理時間の余裕分を示すバッファと、そのジョブに続く後続ジョブを識別するための後続ジョブIDとを対応付けて記憶している。図2では、例えば、ジョブID「D00001」によって識別されるジョブ「日時売上集計」は、デイリー処理であり、22:00に開始され、23:30に終了するようにスケジュールが設定されていることを示している。また、その後続ジョブにはジョブ「S00001」があることを示している。さらに、処理時間のバッファとして30分が設定され、通常の実行条件(後述)であればそのジョブは60分(22:00〜23:00)で終了するところ、30分の余裕をみて、開始時刻および終了時刻が上述した時刻に設定されていることがわかる。スケジュールDB1011は、システムの管理者等によってあらかじめ設定される。   The schedule DB 1011 is a database that manages the schedule of jobs executed by the virtual server 210 that constitutes the cloud 200. FIG. 2 is a diagram illustrating a configuration example of the schedule DB 1011. As shown in FIG. 2, the schedule DB 1011 includes a job ID for identifying a job, a job name, a cycle for executing the job, a start time and an end time of the job, a processing delay of the job, and the like. Are stored in association with a buffer indicating a surplus of processing time by a subsequent job ID for identifying a subsequent job following the job. In FIG. 2, for example, the job “date and time sales summary” identified by the job ID “D00001” is a daily process, and the schedule is set to start at 22:00 and end at 23:30. Is shown. Further, it is indicated that there is a job “S00001” as the subsequent job. Furthermore, 30 minutes is set as a buffer for processing time, and if it is a normal execution condition (described later), the job will be finished in 60 minutes (22: 0 to 23:00). It can be seen that the time and end time are set to the above-mentioned times. The schedule DB 1011 is set in advance by a system administrator or the like.

後述するように、本システムでは、あらかじめスケジュールDB1011に登録された処理時間でスケジューリングされたジョブが、仮想サーバ210の負荷や他のジョブとの関係で処理が早く終了する頻度が高い場合には、上述した終了時刻やバッファにより管理される時間が短くなるようにそのジョブのスケジュールを自動的に更新することにより、そのジョブによる仮想サーバ210の使用時間を減らしている。クラウド200を利用するユーザは、スケジュールされたジョブによる仮想サーバ210の使用時間によって料金が課金される利用形態であることが多いが、そのような課金による運用コストの負担を抑制することができる。また、システム側から見て仮想サーバ210の台数が減る場合には、余った仮想サーバ210のCPUを有効活用できる。   As will be described later, in this system, when a job scheduled in advance with the processing time registered in the schedule DB 1011 is frequently terminated due to the load on the virtual server 210 or other jobs, By automatically updating the schedule of the job so that the end time and the time managed by the buffer are shortened, the usage time of the virtual server 210 by the job is reduced. A user who uses the cloud 200 is often in a usage form in which a fee is charged according to the usage time of the virtual server 210 by a scheduled job, but it is possible to suppress the burden of operation costs due to such charging. Further, when the number of virtual servers 210 decreases as viewed from the system side, the surplus CPUs of the virtual servers 210 can be used effectively.

また、これとは逆に、あらかじめスケジュールDB1011に登録された処理時間でスケジューリングされたジョブが、仮想サーバ210の負荷や他のジョブとの関係で処理が遅く終了する頻度が高い場合には、上述した終了時刻やバッファにより管理される時間が長くなるようにそのジョブのスケジュールを自動的に更新することにより、そのジョブによる仮想サーバ210の使用時間を増やしている。クラウド200を管理する管理者等は、スケジュールされたジョブによる仮想サーバ210の使用時間によって料金を課金することが多いが、そのような課金のための仮想サーバ210の使用状況の調査やスケジュールの設定変更等による更新コストの負担を抑制することができる。また、システム側から見て仮想サーバ210の台数が増える場合には、その仮想サーバ210の負荷を軽減できるとともに、他の余っている仮想サーバ210のCPUを有効活用できる。   On the other hand, if a job scheduled in advance with the processing time registered in the schedule DB 1011 is frequently terminated due to the load on the virtual server 210 or other jobs, the above-described case may occur. By automatically updating the schedule of the job so that the end time and the time managed by the buffer become longer, the usage time of the virtual server 210 by the job is increased. An administrator or the like who manages the cloud 200 often charges a fee according to the usage time of the virtual server 210 by a scheduled job, but the usage status of the virtual server 210 for such charging is investigated and a schedule is set. The burden of renewal costs due to changes or the like can be suppressed. Further, when the number of virtual servers 210 increases as viewed from the system side, the load on the virtual servers 210 can be reduced and the remaining CPUs of the virtual servers 210 can be effectively utilized.

ジョブ管理DB1012は、上述したジョブ実行時にクラウド200をスケール制御する範囲を管理するデータベースである。図3は、ジョブ管理DB1012の構成例を示す図である。図3に示すように、ジョブ管理DB1012は、上述したジョブIDおよびジョブ名およびサイクルと、上述したバッファと、そのジョブを実行する優先度と、そのジョブを実行する仮想サーバ210の最大台数を示すサーバ台数と、ジョブの実行する際の仮想サーバ210の条件を示す実行条件とを対応付けて記憶している。図3では、例えば、ジョブID「D000001」によって識別されるジョブは、最大3台の仮想サーバ210を用いて実行されることを示している。また、実行条件として、CPU使用率が70%以下の仮想サーバ210を用いてそのジョブを実行させることを示している。さらにそのジョブは、他のジョブと比べて優先して実行されることを示している。ジョブ管理DB1012は、システムの管理者等によってあらかじめ設定される。   The job management DB 1012 is a database that manages a range in which the cloud 200 is scale-controlled during the above-described job execution. FIG. 3 is a diagram illustrating a configuration example of the job management DB 1012. As shown in FIG. 3, the job management DB 1012 indicates the above-described job ID, job name, and cycle, the above-described buffer, the priority for executing the job, and the maximum number of virtual servers 210 that execute the job. The number of servers and the execution conditions indicating the conditions of the virtual server 210 when the job is executed are stored in association with each other. In FIG. 3, for example, a job identified by the job ID “D000001” is executed using a maximum of three virtual servers 210. In addition, as an execution condition, the job is executed using a virtual server 210 having a CPU usage rate of 70% or less. Furthermore, the job is executed with priority over other jobs. The job management DB 1012 is set in advance by a system administrator or the like.

処理履歴DB1013は、ジョブの処理結果を履歴形式で管理するデータベースである。図4は、処理履歴DB1013の構成例を示す図である。図4に示すように、処理履歴DB1013は、上述したジョブIDと、そのジョブの実際の処理開始時刻を示す開始実績時刻と、そのジョブの実際の処理終了時刻を示す終了実績時刻と、そのジョブを実行した仮想サーバ210を示す処理サーバとを対応付けて記憶している。また、これらの情報が、1つのレコードにサイクリックに(図4に示す例では、1つのレコードの右側に順次追加して)記憶されている。図4では、例えば、ジョブID「D000001」によって識別されるジョブが直近で実際処理を開始した時刻は「22:00」であり、その終了時刻は「23:10」であったことを示している。また、このときジョブを実行した仮想サーバ210は、「S00001、S00005、S00006」の3台であったことを示している。さらにその後のサイクルでは、そのジョブが「22:05」に開始され、「23:40」に終了し、「S00001、S00002、S00003」の3台の仮想サーバ210によって実行されたことを示している。処理履歴DB1013は、実際にジョブ実行部105がジョブを実行した際に更新される。   The processing history DB 1013 is a database that manages job processing results in a history format. FIG. 4 is a diagram illustrating a configuration example of the processing history DB 1013. As shown in FIG. 4, the processing history DB 1013 includes the job ID, the actual start time indicating the actual processing start time of the job, the actual end time indicating the actual processing end time of the job, and the job. Is stored in association with the processing server that indicates the virtual server 210 that executed. Further, these pieces of information are stored cyclically in one record (in the example shown in FIG. 4, they are sequentially added to the right side of one record). In FIG. 4, for example, it is indicated that the time when the job identified by the job ID “D000001” was most recently started is “22:00” and the end time is “23:10”. Yes. Further, it is indicated that there are three virtual servers 210 “S00001, S00005, S00006” that have executed the job at this time. Further, in the subsequent cycle, the job started at “22:05”, ended at “23:40”, and executed by the three virtual servers 210 of “S00001, S00002, and S00003”. . The processing history DB 1013 is updated when the job execution unit 105 actually executes a job.

キュー管理DB1014は、ジョブのキューイングを管理するデータベースである。図5は、キュー管理DB1014の構成例を示す図である。図5に示すように、キュー管理DB1014は、キューを識別するためのキューIDと、そのキューによってキューイングされているジョブを示す待ちジョブIDとを対応付けて記憶している。図5では、例えば、最初の順番にキューイングされているジョブは「D000001」であることを示している。キュー管理DB1014は、ジョブ管理部105がクライアント端末300からジョブの実行要求を受けた場合やスケジュールされた時刻が到来した場合に、そのジョブが待ちジョブIDに追加される。   The queue management DB 1014 is a database that manages job queuing. FIG. 5 is a diagram illustrating a configuration example of the queue management DB 1014. As shown in FIG. 5, the queue management DB 1014 stores a queue ID for identifying a queue and a waiting job ID indicating a job queued by the queue in association with each other. In FIG. 5, for example, the job queued in the first order is “D000001”. The queue management DB 1014 adds the job to the waiting job ID when the job management unit 105 receives a job execution request from the client terminal 300 or when a scheduled time arrives.

カレンダーDB1015は、一般的な年月日や暦等のカレンダー情報や企業固有の情報を管理するデータベースである。図6は、カレンダーDB1015の構成例を示す図である。図6に示すように、カレンダーDB1015は、一般的なカレンダー情報として、年月日や曜日、さらには企業固有の情報(例えば、特売日等のセール日程)を対応付けて記憶している。図6では、例えば、2013年3月のカレンダー情報に加え、1日、5日、10日等の網かけされた日が特売日であることを示している。カレンダーDB1015は、システムの管理者等によってあらかじめ設定される。   The calendar DB 1015 is a database that manages calendar information such as general date, calendar, and company-specific information. FIG. 6 is a diagram illustrating a configuration example of the calendar DB 1015. As shown in FIG. 6, the calendar DB 1015 stores date, day of the week, and company-specific information (for example, sale schedules such as special sales days) in association with each other as general calendar information. In FIG. 6, for example, in addition to the calendar information of March 2013, the shaded days such as 1st, 5th, 10th, etc. are special sales days. The calendar DB 1015 is set in advance by a system administrator or the like.

リソース管理DB1016は、仮想サーバ210の稼働状況を管理するデータベースである。図7は、リソース管理DB1016の構成例を示す図である。図7に示すように、リソース管理DB1016は、仮想サーバ210を識別するためのサーバIDと、その仮想サーバ210のCPU使用率と、メモリ使用量と、ディスク使用量とを対応付けて記憶している。図7では、例えば、サーバID「S00001」によって識別される仮想サーバ210のCPU使用率およびメモリ使用量およびディスク使用量は、それぞれ30%、50%、50%であることを示している。リソース管理DB1016のCPU使用率およびメモリ使用量およびディスク使用量それぞれの数値は、リソース監視部104によって定期的(例えば、図7に示す例では、5分ごとにn回分。)に更新される。続いて、図1に戻って、スケール制御部102について説明する。   The resource management DB 1016 is a database that manages the operating status of the virtual server 210. FIG. 7 is a diagram illustrating a configuration example of the resource management DB 1016. As shown in FIG. 7, the resource management DB 1016 stores the server ID for identifying the virtual server 210, the CPU usage rate of the virtual server 210, the memory usage amount, and the disk usage amount in association with each other. Yes. In FIG. 7, for example, the CPU usage rate, the memory usage amount, and the disk usage amount of the virtual server 210 identified by the server ID “S00001” are 30%, 50%, and 50%, respectively. The numerical values of the CPU usage rate, the memory usage amount, and the disk usage amount of the resource management DB 1016 are periodically updated by the resource monitoring unit 104 (for example, n times every 5 minutes in the example shown in FIG. 7). Next, returning to FIG. 1, the scale control unit 102 will be described.

スケール制御部102は、図2に示したスケジュールDB1011に登録されたジョブの開始時刻および終了時刻から標準的な処理時間(標準処理時間)を算出し、図4に示した処理履歴DB1013に記憶されている開始実績時刻および終了実績時刻から実際にかかった処理時間(実績処理時間)をサイクルごとに算出する。スケール制御部102は、標準処理時間と平均的な実績処理時間との差分の時間がバッファにより管理される時間よりも長い時間となった場合(すなわち、標準処理時間から実績処理時間を差し引いた時間がバッファにより管理される時間以上となって余裕がある場合)には、その差分の時間でスケジュールDB1011のバッファを更新し、平均的な終了実績時刻でスケジュールDB1011の終了時刻を更新する。スケール制御部102がスケジュールDB1011の終了時刻やバッファを更新することにより、上述したようにクラウド200を利用するユーザおよび管理者にとって、運用コストや更新コストの負担が抑制されるとともに、仮想サーバのCPUを有効活用できる。   The scale control unit 102 calculates a standard processing time (standard processing time) from the start time and end time of the job registered in the schedule DB 1011 illustrated in FIG. 2, and is stored in the processing history DB 1013 illustrated in FIG. The actual processing time (actual processing time) is calculated for each cycle from the start actual time and end actual time. When the difference between the standard processing time and the average actual processing time is longer than the time managed by the buffer, the scale control unit 102 determines that the actual processing time is subtracted from the standard processing time. If there is a margin after the time managed by the buffer, the buffer of the schedule DB 1011 is updated with the difference time, and the end time of the schedule DB 1011 is updated with the average end result time. By updating the end time and buffer of the schedule DB 1011 by the scale control unit 102, the operation cost and the update cost are suppressed for the user and the administrator who use the cloud 200 as described above, and the CPU of the virtual server Can be used effectively.

なお、以下では主に実績処理時間が、標準処理時間からバッファにより管理される時間を差し引いてもさらに余裕がある場合について説明しているが、これとは逆に、スケール制御部102が算出した標準処理時間と平均的な実績処理時間との差分の時間がバッファにより管理される時間を超えた場合(すなわち、標準処理時間から実績処理時間を差し引くとバッファにより管理される時間を使い果たしてマイナスになる場合)、上述した場合と同様に、その差分の時間でスケジュールDB1011のバッファを更新し、平均的な終了実績時刻でスケジュールDB1011の終了時刻を更新することも可能である。スケール制御部102がスケジュールDB1011の終了時刻やバッファを更新することにより、上述したようにクラウド200を利用するユーザおよび管理者にとって、運用コストや更新コストの負担が抑制されるとともに、仮想サーバのCPUを有効活用できる。   In the following description, a case where the actual processing time has a margin even when the time managed by the buffer is subtracted from the standard processing time is described. On the contrary, the scale control unit 102 calculates When the difference between the standard processing time and the average actual processing time exceeds the time managed by the buffer (ie, subtracting the actual processing time from the standard processing time will use up the time managed by the buffer and make it negative) As in the case described above, the buffer of the schedule DB 1011 can be updated with the difference time, and the end time of the schedule DB 1011 can be updated with the average end result time. By updating the end time and buffer of the schedule DB 1011 by the scale control unit 102, the operation cost and the update cost are suppressed for the user and the administrator who use the cloud 200 as described above, and the CPU of the virtual server Can be used effectively.

リソース監視部104は、それぞれの仮想サーバ210の稼働状況を監視し、図7に示したリソース管理DB1016のCPU使用率およびメモリ使用量およびディスク使用量を定期的に(例えば、5分ごと)更新する。なお、図7に示した例ではそれぞれの値を更新する場合について示しているが、リソース監視部104が、これらの情報を分、時、日、月、年等のサイクル(例えば、5分ごとにn回分)で、履歴形式でリソース管理DB1016に記憶させることとしてもよい。この場合、リソース監視部104が、過去の同時期における仮想サーバ210の稼働状況から今後の稼働状況を予測してその結果をスケール制御部103に出力し、スケール制御部103がスケジュールDB1011のサーバ台数や実行条件を更新することとしてもよい。例えば、リソース監視部104が、5分ごとに監視したCPU使用率およびメモリ使用量およびディスク使用量を1年分蓄積した場合には、月次処理として登録されているジョブが実行される時間帯において、それぞれの仮想サーバ210のCPU使用率は、ある月では平均して60%でありその翌月や翌々月では平均して30%であった場合には、今後はそのジョブが実行される時間帯では仮想サーバ210のCPU使用率は平均して30%であると判断してその結果をスケール制御部103に出力する。スケール制御部103は、リソース監視部104からその結果を受け取ると、スケジュールDB1011の実行条件を60%から30%に更新したり、あるいはジョブで使用するサーバの台数を集約してサーバ台数を8台から4台に更新することとしてもよい。   The resource monitoring unit 104 monitors the operating status of each virtual server 210 and periodically updates the CPU usage rate, the memory usage amount, and the disk usage amount of the resource management DB 1016 illustrated in FIG. 7 (for example, every 5 minutes). To do. Although the example shown in FIG. 7 shows the case where each value is updated, the resource monitoring unit 104 uses the information such as the minute, hour, day, month, and year cycles (for example, every five minutes). N times) may be stored in the resource management DB 1016 in a history format. In this case, the resource monitoring unit 104 predicts the future operating status from the operating status of the virtual server 210 in the same period in the past, and outputs the result to the scale control unit 103. The scale control unit 103 determines the number of servers in the schedule DB 1011. Or the execution condition may be updated. For example, when the resource monitoring unit 104 accumulates the CPU usage rate, the memory usage amount, and the disk usage amount monitored every 5 minutes for one year, the time zone when the job registered as monthly processing is executed In the case where the CPU usage rate of each virtual server 210 is 60% on average in a certain month and 30% on average in the following month or the next month, the time period in which the job is executed in the future Then, it is determined that the CPU usage rate of the virtual server 210 is 30% on the average, and the result is output to the scale control unit 103. When the scale control unit 103 receives the result from the resource monitoring unit 104, the scale control unit 103 updates the execution condition of the schedule DB 1011 from 60% to 30%, or aggregates the number of servers used in the job and sets the number of servers to eight. It is good also as updating to 4 sets.

ジョブ管理部105は、クライアント端末300から実行要求されたジョブやスケジュールされた時刻が到来したジョブをキューイングして仮想サーバ210に実行させる。ジョブ管理部105は、図5に示したキュー管理DB1014にキューイングされている待ちジョブを、キューIDが小さい順に(すなわち、早くキューイングされた順序で)仮想サーバ210に実行させる。ジョブ管理部105は、仮想サーバ210にジョブを実行させる際に、図7に示したリソース管理DB1016のCPU使用率および図3に示したジョブ管理DB1012の実行条件を参照し、実行しようとしているジョブの実行条件およびサーバ台数を満たす仮想サーバ210を用いて処理を行う。このとき、ジョブ管理部105は、ジョブの開始時刻と終了時刻を図4に示した処理履歴DB1013に書き込む。   The job management unit 105 queues a job requested to be executed from the client terminal 300 or a job with a scheduled time and causes the virtual server 210 to execute the job. The job management unit 105 causes the virtual server 210 to execute the queued jobs queued in the queue management DB 1014 illustrated in FIG. 5 in ascending order of queue ID (that is, in the order queued earlier). When the job management unit 105 causes the virtual server 210 to execute a job, the job management unit 105 refers to the CPU usage rate of the resource management DB 1016 illustrated in FIG. 7 and the execution condition of the job management DB 1012 illustrated in FIG. The processing is performed using the virtual server 210 that satisfies the execution condition and the number of servers. At this time, the job management unit 105 writes the start time and end time of the job in the processing history DB 1013 shown in FIG.

なお、ジョブ管理部105は、ジョブの実行条件を満たす仮想サーバ210がサーバ台数以上存在する場合には、その中でも最もCPU使用率が低い仮想サーバを特定し、さらにその仮想サーバ210の次にCPU使用率が低い仮想サーバを特定するというように、CPU使用率が低い順に、そのサーバ台数分の仮想サーバ210を用いてジョブを実行させる。ジョブ管理部105は、新たにジョブを実行させる都度、リソース管理DB1016にアクセスして仮想サーバ210のCPU使用率をチェックし、実行条件を満たす仮想サーバを特定する。以下の説明では、新たにジョブを実行させるタイミングで、使用する仮想サーバ210を特定しているが、ジョブが終了したタイミングで仮想サーバ210のCPU使用率をチェックし、次のジョブを実行する仮想サーバを特定することとしてもよい。このように、ジョブ管理部105が、CPU使用率が低い仮想サーバ210に対してジョブを実行させるので、クラウド200全体のロードバランスを平準化することができる。   If there are more virtual servers 210 that satisfy the job execution condition than the number of servers, the job management unit 105 identifies the virtual server with the lowest CPU usage rate, and then the CPU next to the virtual server 210 is the CPU. Jobs are executed using the virtual servers 210 corresponding to the number of servers in order of increasing CPU usage rate, such as specifying virtual servers with low usage rates. Each time a job is newly executed, the job management unit 105 accesses the resource management DB 1016 to check the CPU usage rate of the virtual server 210 and identifies a virtual server that satisfies the execution condition. In the following description, the virtual server 210 to be used is specified at the timing when a new job is executed. However, the CPU usage rate of the virtual server 210 is checked at the timing when the job is completed, and the virtual server 210 that executes the next job is executed. The server may be specified. In this way, the job management unit 105 causes the virtual server 210 with a low CPU usage rate to execute a job, so that the load balance of the entire cloud 200 can be leveled.

また、ジョブ管理部105が、ジョブIDをキーとして処理履歴DB1013を参照し、過去にそのジョブが実行されたタイミングで、他のジョブがどの仮想サーバ210(処理サーバ)で実行されていたのかをチェックし、最も少ないジョブが実行されていた仮想サーバ210に、そのジョブを処理させることとしてもよい。この場合も、ジョブ管理部105が、各仮想サーバ210でどの程度の数のジョブが過去に実行されているのかといった処理傾向を把握した上で、実行させるジョブを仮想サーバ210に割り振るので、クラウド200全体のロードバランスを平準化することができる。   Further, the job management unit 105 refers to the processing history DB 1013 using the job ID as a key, and in which virtual server 210 (processing server) the other job was executed at the timing when the job was executed in the past. It is also possible to cause the virtual server 210 that has been checked and executed the least job to process the job. Also in this case, the job management unit 105 allocates the job to be executed to the virtual server 210 after grasping the processing tendency such as how many jobs have been executed in the past in each virtual server 210. The load balance of the entire 200 can be leveled.

さらに、ジョブ管理部105が、キューIDをキーとしてキュー管理DB1014を参照し、その時点のキュー待ちのジョブ数をカウントするとともに、さらにそのキューIDに対応する待ちジョブIDをキーとして処理履歴DB1013を参照し、そのジョブの過去の処理時間をチェックする。そして、ジョブ管理部105は、チェックしたそのジョブの過去の処理時間から仮想サーバ210にかかる負荷を予測し、キューIDが1つ前のジョブをある仮想サーバ210に処理させた場合には、次のジョブは別の仮想サーバ210に処理させることとしてもよい。負荷の予測については、例えば、ジョブ管理部105は、ジョブの過去の処理時間が長いほど、あるいは仮想サーバ210の数が多いほど仮想サーバ210にかかる負荷が大きいと判断し、そのような負荷が一定の閾値以上(処理時間が規定時間以上、バッファにより管理される時間を超えた時間が規定時間以上、仮想サーバ210の台数が規定台数以上等)となった場合、その仮想サーバ210以外のサーバに次にキューイングされているジョブを処理させる。この場合も、ジョブ管理部105が、過去のジョブの処理時間を考慮して実行させるジョブを仮想サーバ210に割り振るので、クラウド200全体のロードバランスを平準化することができる。続いて、図1に戻って、クラウド200について説明する。   Further, the job management unit 105 refers to the queue management DB 1014 using the queue ID as a key, counts the number of jobs waiting for the queue at that time, and further stores the processing history DB 1013 using the waiting job ID corresponding to the queue ID as a key. Refer to and check the past processing time of the job. Then, the job management unit 105 predicts the load on the virtual server 210 from the past processing time of the checked job, and if the virtual server 210 processes the job with the previous queue ID, These jobs may be processed by another virtual server 210. Regarding the load prediction, for example, the job management unit 105 determines that the load applied to the virtual server 210 is larger as the past processing time of the job is longer or the number of virtual servers 210 is larger. Servers other than the virtual server 210 when the processing time exceeds a certain threshold (the processing time exceeds the specified time, the time exceeding the time managed by the buffer exceeds the specified time, the number of virtual servers 210 exceeds the specified number, etc.) Causes the next queued job to be processed. Also in this case, the job management unit 105 allocates jobs to be executed in consideration of the processing time of past jobs to the virtual server 210, so that the load balance of the entire cloud 200 can be leveled. Next, returning to FIG. 1, the cloud 200 will be described.

クラウド200は、例えば、ネットワーク、サーバ、ストレージ等の共用可能なコンピューティングリソースの集合体である。図1に示すように、クラウド200は、複数の仮想サーバ210を有して構成されている。仮想サーバ210は、制御部2101と、記憶部2102とを有している。制御部2101は、CPU等の演算装置から構成され、例えば、スケール制御サーバ100からの要求に応じて、ジョブを実行する。また、記憶部2101は、メモリやHDD(Hard Disk Drive)等の記憶媒体から構成され、例えば、ジョブに使用する様々なデータを一時的に記憶したり、あるいはその処理結果を記憶する。   The cloud 200 is a collection of sharable computing resources such as a network, a server, and a storage. As illustrated in FIG. 1, the cloud 200 includes a plurality of virtual servers 210. The virtual server 210 includes a control unit 2101 and a storage unit 2102. The control unit 2101 is configured by a calculation device such as a CPU, and executes a job in response to a request from the scale control server 100, for example. The storage unit 2101 includes a storage medium such as a memory and an HDD (Hard Disk Drive), and temporarily stores various data used for a job or stores the processing results.

クライアント端末300は、例えば、デスクトップ型、ノート型の一般的なコンピュータである。システムの利用者は、このクライアント端末300を操作して所望のジョブを実行させる。図1に示すように、クライアント端末300は、制御部301と、表示部302とを有して構成されている。制御部301は、CPU等の演算装置から構成され、ジョブの実行要求やその結果を取得する。表示部302は、LCD等のディスプレイ装置から構成され、ジョブの実行指示画面やその結果画面(いずれも不図示)を表示させる。   The client terminal 300 is, for example, a general desktop or notebook computer. A user of the system operates the client terminal 300 to execute a desired job. As illustrated in FIG. 1, the client terminal 300 includes a control unit 301 and a display unit 302. The control unit 301 is composed of an arithmetic device such as a CPU, and acquires job execution requests and results. The display unit 302 includes a display device such as an LCD, and displays a job execution instruction screen and a result screen (both not shown).

なお、本実施の形態では特に説明していないが、例えば、スケール制御部102は、スケジュールDB1011の終了時刻やバッファを更新する際に、カレンダーDB1015を参照し、例えば、週末や月初、月末、あるいは特売日等のセール日にジョブが実行されるスケジュールとなっている場合には、多くのジョブが処理されることによって処理時間が通常よりも多くかかると判断し、さらにその終了時刻に予備の時間を加えた時刻をスケジュールDB1011の終了時刻として設定したり、あるいはバッファにさらに予備のバッファを加えたバッファをスケジュールDB1011のバッファに設定することとしてもよい。この場合、ジョブが実行される状況に合ったスケジュールの設定が可能となる。   Although not specifically described in the present embodiment, for example, the scale control unit 102 refers to the calendar DB 1015 when updating the end time or buffer of the schedule DB 1011, for example, the weekend, the beginning of the month, the end of the month, If the job is scheduled to be executed on a sale day such as a special sale day, it is determined that the processing time will be longer than usual due to the processing of many jobs, and a spare time will be added at the end time. May be set as the end time of the schedule DB 1011 or a buffer obtained by adding a spare buffer to the buffer may be set in the buffer of the schedule DB 1011. In this case, it is possible to set a schedule that matches the situation in which the job is executed.

さらに、キューイングされたジョブの中には他のジョブよりも優先して処理すべきジョブが存在するケースもある。そのような場合、ジョブ管理部105は、キュー管理DB1014にキューイングされているジョブのジョブID(待ちジョブID)をキーとしてジョブ管理DB1012にアクセスし、そのジョブに対応する優先度を参照する。そして、ジョブ管理部105は、参照した優先度と、キューイングされている前後のジョブの優先度とを比較し、参照したジョブの優先度のほうが高いと判定した場合、そのジョブを比較対象としたジョブよりも前にキューイングさせることとしてもよい。この場合、優先度を考慮してジョブを実行させることができる。続いて、本システムで行われるスケール制御処理について説明する。   In addition, there are cases where queued jobs have a job to be processed with priority over other jobs. In such a case, the job management unit 105 accesses the job management DB 1012 using the job ID (waiting job ID) of the job queued in the queue management DB 1014 as a key, and refers to the priority corresponding to the job. Then, the job management unit 105 compares the referenced priority with the priorities of the queued jobs before and after, and if it is determined that the referenced job has a higher priority, the job is set as a comparison target. It is also possible to queue the job before the job. In this case, the job can be executed in consideration of the priority. Next, scale control processing performed in this system will be described.

図8は、スケール制御処理の処理手順を示すフローチャートである。図8に示すように、スケール制御処理では、まず、ジョブ管理部105は、クライアント端末300からジョブの実行要求があったか否か、あるいはジョブを実行するスケジュールが到来したか否かを判定し(ステップS801)、その実行要求がない、あるいはジョブを実行するスケジュールが到来していないと判定した場合(ステップS801;No)、これらのタイミングが到来するまでそのまま待機する。   FIG. 8 is a flowchart showing the processing procedure of the scale control processing. As shown in FIG. 8, in the scale control process, first, the job management unit 105 determines whether or not a job execution request has been received from the client terminal 300, or whether or not a job execution schedule has arrived (step S1). S801) When it is determined that there is no execution request or the schedule for executing the job has not arrived (step S801; No), the process waits until these timings arrive.

一方、ジョブ管理部105は、その実行要求があった、あるいはジョブを実行するスケジュールが到来したと判定した場合(ステップS801;Yes)、そのジョブをキュー管理DB1014にキューイングし(ステップS802)、ジョブを実行する順番になったか否かを判定する(ステップS803)。このとき、ジョブ管理部105は、ジョブを実行する順番になっていないと判定した場合(ステップS803;No)、その順番が到来するまでそのまま待機する。   On the other hand, when the job management unit 105 determines that the execution request has been made or the schedule for executing the job has arrived (step S801; Yes), the job is queued in the queue management DB 1014 (step S802). It is determined whether or not the job execution order has been reached (step S803). At this time, if the job management unit 105 determines that the job execution order has not been reached (step S803; No), the job management unit 105 stands by until the order arrives.

一方、ジョブ管理部105は、ジョブを実行する順番になったと判定した場合(ステップS803;Yes)、リソース管理DB1016のCPU使用率およびジョブ管理DB1012の実行条件を参照し、実行しようとしているジョブの実行条件およびサーバ台数を満たす仮想サーバ210を決定し(ステップS804)、決定した仮想サーバ210を用いてそのジョブの処理を実行する(ステップS805)。そして、ジョブ管理部105は、ジョブの開始時刻と終了時刻を、実行結果として処理履歴DB1013に書き込む(ステップS806)。   On the other hand, if the job management unit 105 determines that the job execution order has been reached (step S803; Yes), the job management unit 105 refers to the CPU usage rate of the resource management DB 1016 and the execution conditions of the job management DB 1012 to determine the job to be executed. A virtual server 210 that satisfies the execution condition and the number of servers is determined (step S804), and the job processing is executed using the determined virtual server 210 (step S805). Then, the job management unit 105 writes the job start time and end time in the processing history DB 1013 as execution results (step S806).

スケール制御部102は、スケジュールDB1011に登録されたジョブの標準処理時間と、処理履歴DB1013に記憶されている実績処理時間とを算出し、現在のバッファ、仮想サーバ台数、実行条件をチェック(確認)し(ステップS807)、これらの内容が現在の内容で妥当か否かを判定する(ステップS808)。具体的には、スケール制御部102は、標準処理時間と平均的な実績処理時間との差分の時間がバッファにより管理される時間よりも長い時間であるか否かを判定する。   The scale control unit 102 calculates the standard processing time of the job registered in the schedule DB 1011 and the actual processing time stored in the processing history DB 1013, and checks (confirms) the current buffer, the number of virtual servers, and the execution conditions. Then, it is determined whether or not these contents are appropriate with the current contents (step S808). Specifically, the scale control unit 102 determines whether or not the difference between the standard processing time and the average actual processing time is longer than the time managed by the buffer.

そして、スケール制御部102は、これらの内容が現在の内容で妥当であると判定した場合(ステップS808;Yes)、何もせずに処理を終了する。一方、スケール制御部102は、これらの内容が現在の内容で妥当でないと判定した場合(ステップS808;No)、すなわち、標準処理時間から実績処理時間を差し引いた時間がバッファにより管理される時間以上となって余裕がある場合には、その差分の時間でジョブ管理DB1011、スケジュールDB1011のバッファを更新し、平均的な終了実績時刻でスケジュールDB1011の終了時刻を更新し、その結果画面(例えば、図2に示したスケジュールDB、図3に示したジョブ管理DBと同様の画面)をクライアント端末300の表示部302に表示させる(ステップS809)。   If the scale control unit 102 determines that these contents are appropriate for the current contents (step S808; Yes), the process is terminated without doing anything. On the other hand, when the scale control unit 102 determines that these contents are not appropriate with the current contents (step S808; No), that is, the time obtained by subtracting the actual processing time from the standard processing time is equal to or longer than the time managed by the buffer. If there is a margin, the buffer of the job management DB 1011 and the schedule DB 1011 is updated with the difference time, the end time of the schedule DB 1011 is updated with the average end result time, and the result screen (for example, FIG. 2 and the job management DB shown in FIG. 3) are displayed on the display unit 302 of the client terminal 300 (step S809).

ここでは、処理の終了時刻についてのみ記載したが、上述したように、CPUの使用率やメモリの使用量、ディスク使用量等のリソースの各値の使用実績値の平均値を算出し、その値が現在の実行条件(例えば、CPU使用率70%)を一定以上下回った場合(例えば、10%下回った60%である場合)、現在の実行条件をその値に更新することとしてもよい。このステップS809の処理が終了すると、図8に示したスケール制御処理が終了する。   Here, only the processing end time is described, but as described above, the average value of the actual use values of each value of the resource such as the CPU usage rate, the memory usage amount, and the disk usage amount is calculated and the value is calculated. When the current execution condition falls below a certain level (for example, 60%, which is 10% lower), the current execution condition may be updated to that value. When the process of step S809 ends, the scale control process shown in FIG. 8 ends.

このように、本実施の形態におけるスケール制御処理を行うことにより、負荷状況に応じてシステムをスケール制御し、仮想サーバの運用コストの無駄を減らすことが可能となる。   As described above, by performing the scale control processing in the present embodiment, it is possible to control the scale of the system according to the load situation and reduce the waste of operating costs of the virtual server.

本実施形態のスケール制御サーバで実行される処理は、実際にはプログラムによって実行されるが、例えば、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供することも可能である。また、そのプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせたり、インターネット等のネットワーク経由で提供または配布するように構成しても良い。さらには、そのプログラムを、ROM等に予め組み込んで提供するように構成してもよい。   The processing executed by the scale control server of the present embodiment is actually executed by a program. For example, a file in an installable format or an executable format is a CD-ROM, a flexible disk (FD), a CD- It can also be provided by being recorded on a computer-readable recording medium such as R or DVD (Digital Versatile Disk). The program may be stored on a computer connected to a network such as the Internet and downloaded via the network, or provided or distributed via a network such as the Internet. Further, the program may be provided by being incorporated in advance in a ROM or the like.

なお、本実施の形態のスケール制御サーバで実行されるプログラムは、上述した各部(スケール制御部102、リソース監視部103、ジョブ管理部104等)を含むモジュール構成となっており、実際のハードウェアとしてはCPUが上記記憶媒体からプログラムを読み出して実行することにより上記各部が不図示の主記憶装置上にロードされ、スケール制御部102、リソース監視部103、ジョブ管理部104等がその主記憶装置上に生成されるようになっている。   The program executed by the scale control server of the present embodiment has a module configuration including the above-described units (scale control unit 102, resource monitoring unit 103, job management unit 104, etc.), and actual hardware As the CPU reads out the program from the storage medium and executes it, the above units are loaded onto a main storage device (not shown), and the scale control unit 102, the resource monitoring unit 103, the job management unit 104, etc. It is supposed to be generated above.

本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、例えば、ジョブの数が多い場合には、ジョブ管理部105の機能を1つのサーバに設け、スケール制御部102、リソース監視部103等の他の機能を別のサーバに設けて負荷を分散させることとしてもよい。   The present invention is not limited to the above-described embodiments, and includes various modifications. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment. For example, when the number of jobs is large, the function of the job management unit 105 is provided in one server, and the scale is Other functions such as the control unit 102 and the resource monitoring unit 103 may be provided in another server to distribute the load.

また、スケール制御部102が仮想サーバ台数、実行条件をチェックしてその内容が現在の内容で妥当か否かを判定する場合、標準処理時間から実績処理時間を差し引いた時間がバッファにより管理される時間以上と記載しているが、標準処理時間から実績処理時間を差し引いた時間がバッファにより管理される時間よりも長いか否か、あるいはバッファにより管理される時間よりも短い(あるいは長い)時間を基準時間として設定し、その時間と標準処理時間から実績処理時間を差し引いた時間とを比較して判定することも可能である。すなわち、スケール制御部102は、必ずしも本実施の形態で示したバッファによって仮想サーバ台数、実行条件をチェックしてその内容が現在の内容で妥当か否かを判定するわけではなく、このような様々な基準によって判定することができる。   In addition, when the scale control unit 102 checks the number of virtual servers and execution conditions to determine whether the contents are appropriate with the current contents, the time obtained by subtracting the actual processing time from the standard processing time is managed by the buffer. Although it is described as more than the time, whether the time obtained by subtracting the actual processing time from the standard processing time is longer than the time managed by the buffer, or shorter (or longer) than the time managed by the buffer It is also possible to set as a reference time and make a determination by comparing the time with the time obtained by subtracting the actual processing time from the standard processing time. That is, the scale control unit 102 does not necessarily check the number of virtual servers and execution conditions by using the buffers shown in the present embodiment to determine whether or not the contents are appropriate for the current contents. It can be judged by various criteria.

1000 スケール制御システム
100 スケール制御サーバ
101 記憶部
1011 スケジュールDB
1012 ジョブ管理DB
1013 処理履歴DB
1014 キュー管理DB
1015 カレンダーDB
1016 リソース管理DB
102 スケール制御部
103 リソース制御部
104 ジョブ管理部
200 クラウド
210 仮想サーバ
2101 制御部
2102 記憶部
300 クライアント端末
301 制御部
302 表示部
N1、N2 ネットワーク。
1000 Scale control system 100 Scale control server 101 Storage unit 1011 Schedule DB
1012 Job management DB
1013 Processing history DB
1014 Queue management DB
1015 Calendar DB
1016 Resource management DB
102 scale control unit 103 resource control unit 104 job management unit 200 cloud 210 virtual server 2101 control unit 2102 storage unit 300 client terminal 301 control unit 302 display unit N1, N2 network.

Claims (11)

ジョブを実行する複数のサーバを有したクラウドをスケール制御するスケール制御サーバであって、
前記ジョブと、前記ジョブを実行するサーバの台数と、前記ジョブの実行条件とを対応付けて記憶するジョブ管理データベースと、前記ジョブの実行スケジュールと前記ジョブの処理時間の余裕分を示すバッファとを対応付けて記憶するスケジュール管理データベースと、前記ジョブの実行履歴を記憶する処理履歴データベースと、を記憶する記憶部と、
前記複数のサーバのそれぞれの負荷状況を監視するリソース監視部と、
クライアント端末から前記ジョブの実行要求を受けた場合に、前記ジョブ管理データベースが記憶するそのジョブの実行条件と、前記リソース監視部が監視する負荷状況とに基づいて、そのジョブを実行させる台数分のサーバを決定してそのジョブを実行させ、その実行時間を実行結果として前記処理履歴データベースに記憶させるジョブ管理部と、
前記ジョブ管理部が記憶させた前記ジョブの実行時間と、前記スケジュール管理データベースに記憶されている実行スケジュールおよび前記バッファで管理された時間とに基づいて、前記実行スケジュールまたは前記バッファを前記ジョブの実行時間に更新するスケール制御部と、
を備えることを特徴とするスケール制御サーバ。
A scale control server that scales a cloud having a plurality of servers that execute jobs,
A job management database that stores the job, the number of servers that execute the job, and the execution condition of the job in association with each other; and a buffer that indicates an allowance for the job execution schedule and the job processing time. A storage unit that stores a schedule management database that stores the job in association with each other, a processing history database that stores an execution history of the job, and
A resource monitoring unit for monitoring the load status of each of the plurality of servers;
When a job execution request is received from a client terminal, the job management database stores the job execution conditions stored in the job management database and the load status monitored by the resource monitoring unit. A job management unit that determines a server, executes the job, and stores the execution time in the processing history database as an execution result;
Based on the execution time of the job stored by the job management unit, the execution schedule stored in the schedule management database, and the time managed by the buffer, the execution schedule or the buffer is executed for the job. A scale control that updates in time,
A scale control server comprising:
前記スケール制御部は、前記ジョブの実行時間と前記実行スケジュールおよび前記バッファで管理された時間との差が一定以上あるか否かを判定し、前記ジョブの実行時間と前記実行スケジュールおよび前記バッファで管理された時間との差が一定以上あると判定した場合に、前記実行スケジュールまたは前記バッファを前記ジョブの実行時間に更新する、
ことを特徴とする請求項1に記載のスケール制御サーバ。
The scale control unit determines whether or not a difference between the execution time of the job and the time managed by the execution schedule and the buffer is greater than or equal to a certain value, and the execution time of the job, the execution schedule, and the buffer Updating the execution schedule or the buffer to the execution time of the job when it is determined that the difference from the managed time is a certain value or more;
The scale control server according to claim 1.
前記スケール制御部は、前記ジョブの実行時間が前記実行スケジュールおよび前記バッファよりも一定以上少ないと判定した場合には、前記ジョブ管理データベースに記憶されている前記サーバ台数を減らし、または前記ジョブの実行時間が前記実行スケジュールおよび前記バッファよりも一定以上多いと判定した場合には、前記ジョブ管理データベースに記憶されている前記サーバ台数を増やす、
ことを特徴とする請求項1または2に記載のスケール制御サーバ。
The scale control unit reduces the number of servers stored in the job management database, or executes the job when it determines that the execution time of the job is less than or equal to the execution schedule and the buffer. When it is determined that the time is more than a certain amount than the execution schedule and the buffer, the number of servers stored in the job management database is increased.
The scale control server according to claim 1 or 2, characterized by the above.
前記ジョブ管理データベースは、前記実行条件としてCPU使用率を記憶し、
前記スケール制御部は、前記ジョブの実行時間が前記実行スケジュールおよび前記バッファよりも一定以上少ないと判定した場合には前記CPU使用率を低くし、または前記ジョブの実行時間が前記実行スケジュールおよび前記バッファよりも一定以上多いと判定した場合には前記CPU使用率を高くする、
ことを特徴とする請求項1〜3のいずれか1項に記載のスケール制御サーバ。
The job management database stores a CPU usage rate as the execution condition,
The scale control unit lowers the CPU usage rate when the execution time of the job is determined to be a certain amount or less than the execution schedule and the buffer, or the execution time of the job is the execution schedule and the buffer. If the CPU usage rate is determined to be more than a certain level, the CPU usage rate is increased.
The scale control server according to any one of claims 1 to 3.
前記ジョブ管理部は、前記CPU使用率を満たすサーバが前記サーバの台数以上存在する場合には、その中でもCPU使用率が低い順に、そのサーバ台数分のサーバを用いて前記ジョブを実行させる、
ことを特徴とする請求項4に記載のスケール制御サーバ。
When there are more servers than the number of servers satisfying the CPU usage rate, the job management unit causes the job to be executed using the servers for the number of servers in order of increasing CPU usage rate.
The scale control server according to claim 4.
前記記憶部は、前記ジョブをキューイングするキュー管理データベースをさらに記憶し、
前記ジョブ管理データベースは、前記ジョブを実行する優先度をさらに記憶し、
前記ジョブ管理部105は、クライアント端末から前記ジョブの実行要求を受けた場合に、そのジョブを前記キュー管理データベースにキューイングし、キューイングしたジョブの優先度が先にキューイングされたジョブよりも高い場合にはそのジョブを先に実行させる、
ことを特徴とする請求項1〜5のいずれか1項に記載のスケール制御サーバ。
The storage unit further stores a queue management database for queuing the job,
The job management database further stores a priority for executing the job,
When the job management unit 105 receives a job execution request from a client terminal, the job management unit 105 queues the job in the queue management database, and the priority of the queued job is higher than that of the job queued first. If it is higher, let the job run first,
The scale control server according to any one of claims 1 to 5, wherein the server is a scale control server.
前記記憶部は、カレンダーを記憶するカレンダーデータベースをさらに記憶し、
前記スケール制御部は、前記実行スケジュールおよび前記バッファを更新する際に前記カレンダーデータベースを参照し、前記ジョブが週末、月初、月末を含む特定日に実行された場合には、多くのジョブが処理されることによって処理時間が通常よりも多くかかると判断し、前記バッファにさらに予備の時間を加える、
ことを特徴とする請求項1〜6のいずれか1項に記載のスケール制御サーバ。
The storage unit further stores a calendar database for storing calendars,
The scale control unit refers to the calendar database when updating the execution schedule and the buffer, and when the job is executed on a specific day including a weekend, the beginning of the month, and the end of the month, many jobs are processed. The processing time is longer than usual, and further reserve time is added to the buffer.
The scale control server according to claim 1, wherein:
ジョブを実行する複数のサーバを有したクラウドをスケール制御するスケール制御方法であって、
前記複数のサーバのそれぞれの負荷状況を監視する第1のステップと、
クライアント端末から前記ジョブの実行要求を受けた場合に、前記ジョブと、前記ジョブを実行するサーバの台数と、前記ジョブの実行条件とを対応付けて記憶するジョブ管理データベースが記憶するそのジョブの実行条件と、監視された負荷状況とに基づいて、そのジョブを実行させる台数分のサーバを決定してそのジョブを実行させる第2のステップと、
その実行時間を実行結果として前記ジョブの実行履歴を記憶する処理履歴データベースに記憶させる第3のステップと、
前記ジョブの実行時間と、前記ジョブの実行スケジュールと前記ジョブの処理時間の余裕分を示すバッファとを対応付けて記憶するスケジュール管理データベースに記憶されている実行スケジュールおよびバッファとに基づいて、前記実行スケジュールおよび前記バッファを前記ジョブの実行時間に更新する第4のステップと、
を含むことを特徴とするスケール制御方法。
A scale control method that scales a cloud having a plurality of servers that execute jobs,
A first step of monitoring a load status of each of the plurality of servers;
When a job execution request is received from a client terminal, the job is stored in a job management database that stores the job, the number of servers that execute the job, and the job execution conditions in association with each other. A second step of determining the number of servers to execute the job based on the condition and the monitored load status and executing the job;
A third step of storing the execution time in the processing history database for storing the execution history of the job as an execution result;
The execution based on the execution schedule and the buffer stored in the schedule management database that stores the job execution time, the job execution schedule, and a buffer indicating a margin of the processing time of the job in association with each other A fourth step of updating the schedule and the buffer to the execution time of the job;
A scale control method comprising:
前記第4のステップにおいて、前記ジョブの実行時間と前記実行スケジュールおよび前記バッファとの差が一定以上あるか否かを判定するステップをさらに含み、前記ジョブの実行時間と前記実行スケジュールおよび前記バッファとの差が一定以上あると判定された場合に、前記実行スケジュールおよび前記バッファを前記ジョブの実行時間に更新する、
ことを特徴とする請求項8に記載のスケール制御方法。
In the fourth step, the method further includes a step of determining whether or not a difference between the execution time of the job and the execution schedule and the buffer is greater than or equal to a certain value, and the execution time of the job, the execution schedule, and the buffer; The execution schedule and the buffer are updated to the execution time of the job when it is determined that the difference between the two is greater than or equal to a certain value.
The scale control method according to claim 8.
コンピュータに、
スケール制御するクラウドに含まれ、ジョブを実行する複数のサーバのそれぞれの負荷状況を監視する第1のステップと、
クライアント端末から前記ジョブの実行要求を受けた場合に、前記ジョブと、前記ジョブを実行するサーバの台数と、前記ジョブの実行条件とを対応付けて記憶するジョブ管理データベースが記憶するそのジョブの実行条件と、監視された負荷状況とに基づいて、そのジョブを実行させる台数分のサーバを決定してそのジョブを実行させる第2のステップと、
その実行時間を実行結果として前記ジョブの実行履歴を記憶する処理履歴データベースに記憶させる第3のステップと、
前記ジョブの実行時間と、前記ジョブの実行スケジュールと前記ジョブの処理時間の余裕分を示すバッファとを対応付けて記憶するスケジュール管理データベースに記憶されている実行スケジュールおよびバッファとに基づいて、前記実行スケジュールおよび前記バッファを前記ジョブの実行時間に更新する第4のステップと、
を実行させることを特徴とするスケール制御プログラム。
On the computer,
A first step of monitoring a load status of each of a plurality of servers that are included in a cloud to be scaled and execute jobs;
When a job execution request is received from a client terminal, the job is stored in a job management database that stores the job, the number of servers that execute the job, and the job execution conditions in association with each other. A second step of determining the number of servers to execute the job based on the condition and the monitored load status and executing the job;
A third step of storing the execution time in the processing history database for storing the execution history of the job as an execution result;
The execution based on the execution schedule and the buffer stored in the schedule management database that stores the job execution time, the job execution schedule, and a buffer indicating a margin of the processing time of the job in association with each other A fourth step of updating the schedule and the buffer to the execution time of the job;
A scale control program characterized in that
前記第4のステップにおいて、前記ジョブの実行時間と前記実行スケジュールおよび前記バッファとの差が一定以上あるか否かを判定するステップをさらに含み、前記ジョブの実行時間と前記実行スケジュールおよび前記バッファとの差が一定以上あると判定された場合に、前記実行スケジュールおよび前記バッファを前記ジョブの実行時間に更新する、
ことを特徴とするスケール制御プログラム。
In the fourth step, the method further includes a step of determining whether or not a difference between the execution time of the job and the execution schedule and the buffer is greater than or equal to a certain value, and the execution time of the job, the execution schedule, and the buffer; The execution schedule and the buffer are updated to the execution time of the job when it is determined that the difference between the two is greater than or equal to a certain value.
A scale control program characterized by that.
JP2013191905A 2013-09-17 2013-09-17 Scale control server, scale control method, and scale control program Pending JP2015060279A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013191905A JP2015060279A (en) 2013-09-17 2013-09-17 Scale control server, scale control method, and scale control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013191905A JP2015060279A (en) 2013-09-17 2013-09-17 Scale control server, scale control method, and scale control program

Publications (1)

Publication Number Publication Date
JP2015060279A true JP2015060279A (en) 2015-03-30

Family

ID=52817785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013191905A Pending JP2015060279A (en) 2013-09-17 2013-09-17 Scale control server, scale control method, and scale control program

Country Status (1)

Country Link
JP (1) JP2015060279A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021149409A (en) * 2020-03-18 2021-09-27 株式会社日立製作所 Application development support system and application development support method
WO2022201908A1 (en) * 2021-03-24 2022-09-29 富士フイルム株式会社 System and method for processing medical information, method for providing medical information processing service, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021149409A (en) * 2020-03-18 2021-09-27 株式会社日立製作所 Application development support system and application development support method
JP7324165B2 (en) 2020-03-18 2023-08-09 株式会社日立製作所 Application development support system and application development support method
WO2022201908A1 (en) * 2021-03-24 2022-09-29 富士フイルム株式会社 System and method for processing medical information, method for providing medical information processing service, and program

Similar Documents

Publication Publication Date Title
US8793693B2 (en) Apparatus and method for predicting a processing time of a computer
US10162684B2 (en) CPU resource management in computer cluster
RU2697700C2 (en) Equitable division of system resources in execution of working process
KR20210056430A (en) Commitment-aware scheduler
US20200127938A1 (en) Systems and methods for provision of a guaranteed batch
EP1750200A2 (en) System and method for executing job step, and computer product
US10331481B2 (en) Automatic reconfiguration of high performance computing job schedulers based on user behavior, user feedback, and job performance monitoring
WO2012028213A1 (en) Re-scheduling workload in a hybrid computing environment
US11150999B2 (en) Method, device, and computer program product for scheduling backup jobs
US20150378782A1 (en) Scheduling of tasks on idle processors without context switching
US8539495B2 (en) Recording medium storing therein a dynamic job scheduling program, job scheduling apparatus, and job scheduling method
US10095546B2 (en) Batch processing of oversubscribed system based on subscriber usage patterns
CN113544647A (en) Capacity management in cloud computing systems using virtual machine family modeling
JP4555145B2 (en) Batch scheduling program, batch scheduling method, and batch scheduling apparatus
JP2015060279A (en) Scale control server, scale control method, and scale control program
US11303546B2 (en) Service system and control method of the same
US9612907B2 (en) Power efficient distribution and execution of tasks upon hardware fault with multiple processors
US9195515B1 (en) Method and system for process load balancing
US11513856B2 (en) Method, devices and computer program products for resource usage
CN111949442B (en) System and method for scalable backup service
US10114439B2 (en) Achieving a consistent computing device battery drain rate
US10599479B2 (en) Resource sharing management of a field programmable device
JP5755025B2 (en) Program update instruction device
CN112130979B (en) Method, device, terminal and medium for scheduling task and training neural network model
JP2003223335A (en) Out-sourcing system, out-sourcing method, and program for out-sourcing