JP2019003568A - Processing planning device, processing planning method, and program - Google Patents

Processing planning device, processing planning method, and program Download PDF

Info

Publication number
JP2019003568A
JP2019003568A JP2017119977A JP2017119977A JP2019003568A JP 2019003568 A JP2019003568 A JP 2019003568A JP 2017119977 A JP2017119977 A JP 2017119977A JP 2017119977 A JP2017119977 A JP 2017119977A JP 2019003568 A JP2019003568 A JP 2019003568A
Authority
JP
Japan
Prior art keywords
processing
time
request
scheduling
requests
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017119977A
Other languages
Japanese (ja)
Other versions
JP7074286B2 (en
Inventor
近藤 学
Manabu Kondo
学 近藤
優次 種井
Yuji Tanei
優次 種井
一学 武田
Ichigaku Takeda
一学 武田
睦 池田
Mutsumi Ikeda
睦 池田
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.)
NEC Nexsolutions Ltd
Original Assignee
NEC Nexsolutions 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 NEC Nexsolutions Ltd filed Critical NEC Nexsolutions Ltd
Priority to JP2017119977A priority Critical patent/JP7074286B2/en
Publication of JP2019003568A publication Critical patent/JP2019003568A/en
Application granted granted Critical
Publication of JP7074286B2 publication Critical patent/JP7074286B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

To enable enhancement of accuracy of processing scheduling.SOLUTION: A processing planning device comprises: a processing time element estimation unit that estimates a repetition number of processing and processing time per one time on the basis of a processing target data amount in a processing request for each of the plurality of processing requests; a processing time estimation unit that estimates execution time of requested processing on the basis of the repetition number of processing and the processing time per one time for each of the plurality of processing requests; and a scheduling unit that performs scheduling of execution of the plurality of processing requests on the basis of a processing result output deadline set for each processing request and the execution time estimated for each processing request.SELECTED DRAWING: Figure 2

Description

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

複数のプロセスを実行する情報処理装置や、複数の通信信号を送信する通信装置など、複数の処理を行う装置において、期限までに処理を完了するため、あるいは、処理効率を向上させるためなどの理由で、処理のスケジューリングを行う場合がある。
例えば、特許文献1には、通信のスケジューリングを行う通信制御装置が記載されている。この通信制御装置では、非定周期送信部が、任意の時刻で送信要求を発生し、定周期送信部が、定周期で送信要求を発生する。そして、スケジュール部は、送信要求のある非定周期送信部の通信処理(通信のための処理)に要する時間である通信処理時間を演算し、定周期送信部の定周期の残り時間を求め、通信処理時間と定周期の残り時間とを比較して、通信のスケジューリングを行う。
Reasons for completing processing by the deadline or improving processing efficiency in devices that perform multiple processes, such as information processing devices that execute multiple processes and communication devices that transmit multiple communication signals In some cases, processing scheduling may be performed.
For example, Patent Literature 1 describes a communication control apparatus that performs communication scheduling. In this communication control device, the non-periodic transmission unit generates a transmission request at an arbitrary time, and the fixed-period transmission unit generates a transmission request at a constant period. Then, the schedule unit calculates a communication processing time which is a time required for communication processing (processing for communication) of the non-periodic transmission unit having a transmission request, and obtains the remaining time of the constant period of the constant period transmission unit, The communication scheduling is performed by comparing the communication processing time with the remaining time of the fixed period.

特開2012−170036号公報JP 2012-170036 A

上記のように複数の処理を行う装置における処理のスケジューリングを行う場合、高精度にスケジューリングを行えることが好ましい。例えば、実行不可能な処理時間を見積もってスケジューリングを行った場合、得られたスケジュールに従うと期限までに処理を完了できない可能性がある。   When scheduling a process in an apparatus that performs a plurality of processes as described above, it is preferable that scheduling can be performed with high accuracy. For example, when scheduling is performed by estimating an inexecutable processing time, there is a possibility that the processing cannot be completed by the deadline according to the obtained schedule.

本発明は、上述の課題を解決することのできる処理計画装置、処理計画方法及びプログラムを提供することを目的としている。   An object of the present invention is to provide a processing planning apparatus, a processing planning method, and a program that can solve the above-described problems.

本発明の第1の態様によれば、処理計画装置は、複数の処理要求の各々について、前記処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定する処理時間要素推定部と、前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記1回あたりの処理時間に基づいて、要求される処理の実行時間を推定する処理時間推定部と、前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間とに基づいて、前記複数の処理要求の実行のスケジューリングを行うスケジューリング部とを備える。   According to the first aspect of the present invention, the processing planning apparatus estimates the number of processing repetitions and processing time per time based on the processing target data amount in the processing request for each of the plurality of processing requests. A processing time element estimation unit, a processing time estimation unit for estimating the execution time of a required process based on the number of repetitions of the process and the processing time per time, for each of the plurality of processing requests; A scheduling unit that schedules execution of the plurality of processing requests based on the processing result output deadline set for each processing request and the execution time estimated for each processing request;

本発明の第2の態様によれば、処理計画方法は、複数の処理要求の各々について、前記処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定し、前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記1回あたりの処理時間に基づいて、要求される処理の実行時間を推定し、前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間に基づいて、前記複数の処理要求の実行のスケジューリングを行うことを含む。   According to the second aspect of the present invention, the processing planning method estimates, for each of a plurality of processing requests, the number of processing repetitions and the processing time per time based on the processing target data amount in the processing request. For each of the plurality of processing requests, the execution time of the requested processing is estimated based on the number of repetitions of the processing and the processing time per time, and the processing result output set for each processing request is output Scheduling execution of the plurality of processing requests based on a deadline and the execution time estimated for each processing request.

本発明の第3の態様によれば、プログラムは、コンピュータに、複数の処理要求の各々について、前記処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定させ、前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記1回あたりの処理時間に基づいて、要求される処理の実行時間を推定させ、前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間に基づいて、前記複数の処理要求の実行のスケジューリングを行わせるためのプログラムである。   According to the third aspect of the present invention, the program estimates, for each of a plurality of processing requests, the number of processing repetitions and the processing time per time based on the processing target data amount in the processing requests. For each of the plurality of processing requests, the execution time of the required processing is estimated based on the number of repetitions of the processing and the processing time per time, and the processing result set for each processing request A program for scheduling execution of the plurality of processing requests based on an output deadline and the execution time estimated for each processing request.

この発明によれば、処理のスケジューリングの精度が高まることが期待される。   According to the present invention, it is expected that the accuracy of processing scheduling is improved.

本発明の一実施形態に係るサービス提供システムの機能構成を示す概略ブロック図である。It is a schematic block diagram which shows the function structure of the service provision system which concerns on one Embodiment of this invention. 同実施形態に係る処理計画装置の機能構成を示す概略ブロック図である。It is a schematic block diagram which shows the function structure of the process plan apparatus which concerns on the same embodiment. 同実施形態にて処理を行うリソースを提供するサーバの稼働時間を纏めるスケジューリングの例を示す図である。It is a figure which shows the example of the scheduling which summarizes the operation time of the server which provides the resource which processes in the same embodiment. 同実施形態にて特定のリソースに優先的に処理を割り当てたスケジューリングの例を示す図である。It is a figure which shows the example of the scheduling which allocated the process preferentially to the specific resource in the same embodiment. 同実施形態に係るクライアントシステムが処理開始期限を表示する表示画面の例を示す図である。It is a figure which shows the example of the display screen on which the client system which concerns on the embodiment displays a process start time limit. 同実施形態に係る処理サーバ装置がデータ処理要求に対して行う処理の手順の例を示すフローチャートである。It is a flowchart which shows the example of the procedure of the process which the process server apparatus based on the embodiment performs with respect to a data process request. 同実施形態に係る処理サーバ装置がデータ処理を行う手順の例を示すフローチャートである。It is a flowchart which shows the example of the procedure in which the process server apparatus which concerns on the embodiment performs a data process. 同実施形態に係る処理計画装置がデータ処理の予約登録要求に対して行う処理の例を示すフローチャートである。It is a flowchart which shows the example of the process which the process plan apparatus which concerns on the embodiment performs with respect to the reservation registration request | requirement of a data process. 本発明に係る処理計画装置の最小構成の例を示す図である。It is a figure which shows the example of the minimum structure of the process plan apparatus which concerns on this invention.

以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本発明の一実施形態に係るサービス提供システムの機能構成を示す概略ブロック図である。図1に示すように、サービス提供システム1は、処理計画装置100と、処理サーバ装置200と、第一通信ネットワーク300とを備える。
Hereinafter, although embodiment of this invention is described, the following embodiment does not limit the invention concerning a claim. In addition, not all the combinations of features described in the embodiments are essential for the solving means of the invention.
FIG. 1 is a schematic block diagram showing a functional configuration of a service providing system according to an embodiment of the present invention. As shown in FIG. 1, the service providing system 1 includes a processing planning device 100, a processing server device 200, and a first communication network 300.

また、処理サーバ装置200と処理計画装置100とは、第一通信ネットワーク300を介して通信接続する。処理計画装置100とクライアントシステム910とは、第二通信ネットワーク920を介して通信接続する。
サービス提供システム1が備える処理サーバ装置200の数は、1つ以上であればよい。処理計画装置100に通信接続するクライアントシステム910の数も1つ以上であればよい。
Further, the processing server device 200 and the processing planning device 100 are communicatively connected via the first communication network 300. The processing planning apparatus 100 and the client system 910 are connected for communication via the second communication network 920.
The number of processing server devices 200 included in the service providing system 1 may be one or more. The number of client systems 910 that communicate with the process planning apparatus 100 may be one or more.

サービス提供システム1は、データ処理サービスを提供するシステムである。
処理計画装置100は、サービス提供システム1における窓口として機能する。具体的には、処理計画装置100は、クライアントシステム910からサービス提供要求及び処理対象のデータを受信し、処理サーバ装置200に処理を振り分ける。
また、処理計画装置100は、データ処理サービスの予約を受けて処理のスケジューリングを行う。処理計画装置100が決定したスケジュールに従ってクライアントシステム910がデータ処理を要求することで、処理が輻輳する可能性を低減させることができる。
The service providing system 1 is a system that provides a data processing service.
The processing planning apparatus 100 functions as a window in the service providing system 1. Specifically, the processing planning apparatus 100 receives a service provision request and processing target data from the client system 910 and distributes the processing to the processing server apparatus 200.
In addition, the processing planning apparatus 100 performs processing scheduling upon receiving a reservation for a data processing service. When the client system 910 requests data processing according to the schedule determined by the processing planning apparatus 100, the possibility of processing congestion can be reduced.

ここでいう処理の輻輳は、処理を実行するリソースに対して処理をダブルブッキングすることである。処理の輻輳が生じた場合、先の処理の完了を待って行われる後の処理のレスポンスタイム(Response Time)が長くなり、処理結果の回答期限までに回答できなくなる場合がある。
本実施形態では、処理を実行するリソースは、例えば処理サーバ装置200、又は、処理サーバ装置200が実行する仮想マシンである。
Processing congestion here refers to double-booking the processing for the resource that executes the processing. When processing congestion occurs, the response time (Response Time) of processing after waiting for completion of the previous processing becomes long, and it may not be possible to reply by the response time limit for processing results.
In the present embodiment, the resource for executing processing is, for example, the processing server device 200 or a virtual machine executed by the processing server device 200.

また、処理の輻輳が生じた場合、処理を実行するリソースが、先の処理を実行する間、後の処理について処理対象データを含む処理要求を記憶しておくか、或いは処理要求元であるクライアントシステム910が処理要求を再送する必要が生じる。
リソースが処理要求を記憶する場合、そのための記憶容量が必要であり、記憶容量が不足する場合は処理要求の再送が必要となる。
クライアントシステム910が処理要求を再送する場合、処理要求の送受信を繰り返す点でクライアントシステム910及びリソースの負荷が大きくなり、また、通信帯域を消費する。
Also, when processing congestion occurs, the resource that executes the process stores a processing request including processing target data for the subsequent process while the previous process is executed, or the client that is the process request source The system 910 needs to retransmit the processing request.
When a resource stores a processing request, a storage capacity for that purpose is necessary, and when the storage capacity is insufficient, the processing request needs to be retransmitted.
When the client system 910 retransmits the processing request, the load on the client system 910 and resources is increased in that transmission / reception of the processing request is repeated, and the communication band is consumed.

これに対し、処理計画装置100が決定したスケジュールに従ってクライアントシステム910がデータ処理を要求して処理の輻輳を回避することで、リソースが後の処理要求の記憶容量を備える必要無しに、処理要求の再送によるクライアントシステム910及びリソースの負荷の増大及び通信帯域の消費を回避することができる。
処理計画装置100は、例えばワークステーション(Workstation)等のコンピュータを用いて構成される。
On the other hand, the client system 910 requests data processing according to the schedule determined by the processing planning apparatus 100 and avoids processing congestion, so that the resource does not need to have storage capacity for subsequent processing requests. It is possible to avoid an increase in load on the client system 910 and resources due to retransmission and consumption of a communication band.
The processing planning apparatus 100 is configured using a computer such as a workstation.

図2は、処理計画装置100の機能構成を示す概略ブロック図である。図2に示すように、処理計画装置100は、通信部110と、表示部120と、操作入力部130と、記憶部180と、制御部190とを備える。制御部190は、期限情報取得部191と、データ内容係数取得部192と、処理アルゴリズム係数取得部193と、処理時間要素推定部194と、処理時間推定部195と、スケジューリング部196と、処理予約受付部197とを備える。   FIG. 2 is a schematic block diagram illustrating a functional configuration of the processing planning apparatus 100. As illustrated in FIG. 2, the processing planning apparatus 100 includes a communication unit 110, a display unit 120, an operation input unit 130, a storage unit 180, and a control unit 190. The control unit 190 includes a time limit information acquisition unit 191, a data content coefficient acquisition unit 192, a processing algorithm coefficient acquisition unit 193, a processing time element estimation unit 194, a processing time estimation unit 195, a scheduling unit 196, a processing reservation A reception unit 197.

通信部110は、他の機器と通信を行う。特に通信部110は、第二通信ネットワーク920を介してクライアントシステム910と通信接続する。通信部110は、クライアントシステム910からデータ処理要求を受信し、要求に対する回答として処理結果を送信する。また、通信部110は、クライアントシステム910との通信にて、データ処理サービスの予約を受ける。予約に際し、通信部110は、データ処理のスケジューリングを行う。   The communication unit 110 communicates with other devices. In particular, the communication unit 110 is connected to the client system 910 via the second communication network 920. The communication unit 110 receives a data processing request from the client system 910 and transmits a processing result as a response to the request. The communication unit 110 receives a data processing service reservation through communication with the client system 910. When making a reservation, the communication unit 110 schedules data processing.

また、通信部110は、第一通信ネットワーク300を介して処理サーバ装置200と通信接続する。通信部110は、処理サーバ装置200へデータ処理要求を送信し、要求に対する回答として処理結果を受信する。処理サーバ装置200が複数ある場合、通信部110は、処理計画装置100が決定した送信先の処理サーバ装置200へデータ処理要求を送信して処理結果を受信する。   In addition, the communication unit 110 is connected to the processing server device 200 via the first communication network 300. The communication unit 110 transmits a data processing request to the processing server device 200 and receives a processing result as a response to the request. When there are a plurality of processing server devices 200, the communication unit 110 transmits a data processing request to the transmission destination processing server device 200 determined by the processing planning device 100 and receives a processing result.

表示部120は、例えば液晶パネル又はLED(Light Emitting Diode、発光ダイオード)パネル等の表示画面を備え、各種画像を表示する。
操作入力部130は、例えばキーボード及びマウス等の入力デバイスを備え、ユーザ操作を受ける。
記憶部180は、各種データを記憶する。記憶部180は、処理計画装置100が備える記憶デバイスを用いて構成される。
The display unit 120 includes a display screen such as a liquid crystal panel or an LED (Light Emitting Diode) panel, and displays various images.
The operation input unit 130 includes input devices such as a keyboard and a mouse, for example, and receives user operations.
The storage unit 180 stores various data. The storage unit 180 is configured using a storage device provided in the processing planning apparatus 100.

制御部190は、処理計画装置100の各部を制御して各種処理を行う。制御部190は、処理計画装置100が備えるCPU(Central Processing Unit、中央処理装置)が記憶部180からプログラムを読み出して実行することで構成される。
期限情報取得部191は、通信部110が受信した複数のデータ処理要求の予約登録要求(データ処理の予約登録要求)の各々について、処理要求期限を示す処理要求期限情報、及び、処理結果出力期限を示す処理結果出力期限情報を取得する。以下では、データ処理要求を単に処理要求とも称する。
The control unit 190 performs various processes by controlling each unit of the process planning apparatus 100. The control unit 190 is configured by a CPU (Central Processing Unit) provided in the processing planning apparatus 100 reading out a program from the storage unit 180 and executing it.
The time limit information acquisition unit 191 includes, for each of a plurality of data processing request reservation registration requests (data processing reservation registration requests) received by the communication unit 110, processing request time limit information indicating a processing request time limit, and a processing result output time limit. Process result output deadline information is acquired. Hereinafter, the data processing request is also simply referred to as a processing request.

通信部110がクライアントシステム910から処理要求期限情報を受信し、期限情報取得部191がクライアントシステム910からの受信データから処理要求期限情報を抽出するようにしてもよい。この場合、クライアントシステム910が、処理要求期限情報をデータ処理サービスの予約の情報に含めて送信するようにしてもよいし、別々に送信するようにしてもよい。
あるいは、処理要求期限が毎月同じ日時に定められている場合、記憶部180が処理要求期限の日時を記憶しておき、期限情報取得部191が記憶部180からその日時を読み出すようにしてもよい。
The communication unit 110 may receive the processing request deadline information from the client system 910, and the deadline information acquisition unit 191 may extract the processing request deadline information from the received data from the client system 910. In this case, the client system 910 may transmit the processing request deadline information included in the data processing service reservation information, or may transmit it separately.
Alternatively, when the processing request deadline is set to the same date every month, the storage unit 180 may store the date and time of the processing request deadline, and the deadline information acquisition unit 191 may read the date and time from the storage unit 180. .

処理結果出力期限についても、通信部110がクライアントシステム910から処理結果出力期限情報を受信し、期限情報取得部191がクライアントシステム910からの受信データから処理結果出力期限情報を抽出するようにしてもよい。この場合、クライアントシステム910が、処理結果出力期限情報をデータ処理サービスの予約の情報に含めて送信するようにしてもよいし、別々に送信するようにしてもよい。
あるいは、処理結果出力期限が毎月同じ日時に定められている場合、記憶部180が処理結果出力期限の日時を記憶しておき、期限情報取得部191が記憶部180からその日時を読み出すようにしてもよい。
Regarding the processing result output deadline, the communication unit 110 may receive the processing result output deadline information from the client system 910, and the deadline information acquisition unit 191 may extract the processing result output deadline information from the received data from the client system 910. Good. In this case, the client system 910 may include the processing result output deadline information included in the data processing service reservation information and transmit it separately.
Alternatively, when the processing result output deadline is set to the same date every month, the storage unit 180 stores the date and time of the processing result output deadline, and the deadline information acquisition unit 191 reads the date and time from the storage unit 180. Also good.

データ内容係数取得部192は、データ内容係数を取得する。ここでいうデータ内容係数は、処理要求における処理対象データの内容に応じた係数である。データ内容係数として、処理の難易度に基づく指標値を用いるようにしてもよい。例えば、データ内容係数として、データの内容から推定される処理の難易度に応じて決定される、標準の難易度の場合に対する処理時間の比の推定値を用いることができる。   The data content coefficient acquisition unit 192 acquires a data content coefficient. The data content coefficient here is a coefficient corresponding to the content of the processing target data in the processing request. An index value based on the difficulty level of processing may be used as the data content coefficient. For example, as the data content coefficient, an estimated value of the ratio of the processing time to the standard difficulty level, which is determined according to the processing difficulty level estimated from the data content, can be used.

例えば、クライアントシステム910のユーザであるサービス利用者が、予測される処理の難易度に基づいてデータ内容係数の値を決定し、決定された値をクライアントシステム910が処理時間推定装置100へ送信するようにしてもよい。データ内容係数取得部192は、クライアントシステム910からの受信データから、データ内容係数(の値)を抽出する。   For example, a service user who is a user of the client system 910 determines the value of the data content coefficient based on the predicted processing difficulty level, and the client system 910 transmits the determined value to the processing time estimation apparatus 100. You may do it. The data content coefficient acquisition unit 192 extracts (the value of) the data content coefficient from the received data from the client system 910.

また、予約段階で処理対象データが得られている場合、通信部110が処理対象データを受信すると、処理計画装置100の管理者が処理対象データを参照してデータ内容係数を決定し、記憶部180が処理対象データ毎にデータ内容係数を記憶しておくようにしてもよい。そして、処理計画装置100が処理時間を算出する際に、データ内容係数取得部192が処理時間算出対象のデータに応じたデータ内容係数を記憶部180から読み出すようにしてもよい。
あるいはデータ内容係数取得部192が、処理対象データの分散又は標準偏差など予め定められた指標値に基づいて、データ内容係数を自動的に算出するようにしてもよい。あるいは処理時間推定装置100又は他の装置が、機械学習を行ってデータ内容係数値を算出し、データ内容係数取得部192が、機械学習の結果得られたデータ内容係数値を取得するようにしてもよい。この場合、処理時間推定装置100又は他の装置が、例えば
[処理時間]=[係数1]*データ1+[係数2]*データ2+…
のような回帰式を、重回帰分析のように機械学習で生成するようにしてもよい。
Further, when the processing target data is obtained at the reservation stage, when the communication unit 110 receives the processing target data, the administrator of the processing planning device 100 determines the data content coefficient with reference to the processing target data, and the storage unit 180 may store a data content coefficient for each processing target data. Then, when the processing planning apparatus 100 calculates the processing time, the data content coefficient acquisition unit 192 may read out the data content coefficient corresponding to the processing time calculation target data from the storage unit 180.
Alternatively, the data content coefficient acquisition unit 192 may automatically calculate the data content coefficient based on a predetermined index value such as variance or standard deviation of the processing target data. Alternatively, the processing time estimation apparatus 100 or another apparatus performs machine learning to calculate the data content coefficient value, and the data content coefficient acquisition unit 192 acquires the data content coefficient value obtained as a result of the machine learning. Also good. In this case, the processing time estimation device 100 or another device, for example, [processing time] = [coefficient 1] * data 1+ [coefficient 2] * data 2+.
Such a regression equation may be generated by machine learning like multiple regression analysis.

処理アルゴリズム係数取得部193は、処理アルゴリズム係数を取得する。ここでいう処理アルゴリズム係数は、処理要求に対する処理アルゴリズムに応じた係数である。
例えば、処理アルゴリズム毎に処理アルゴリズム係数が予め定められ、記憶部180が予め処理アルゴリズム毎に処理アルゴリズム係数を記憶しておくようにしてもよい。そして、処理計画装置100が処理時間を算出する際に、処理アルゴリズム係数取得部193が、適用予定の処理アルゴリズムに応じた処理アルゴリズム係数を記憶部180から読み出すようにしてもよい。あるいは処理時間推定装置100又は他の装置が、機械学習を行って処理アルゴリズム係数値を算出し、処理アルゴリズム係数取得部193が、機械学習の結果得られた処理アルゴリズム係数値を取得するようにしてもよい。
適用予定の処理アルゴリズムは、例えば処理計画装置100の管理者が操作入力部130からのユーザ操作にて指定する。あるいは、処理アルゴリズム係数取得部193が、処理対象データに基づいて自動的に、適用予定の処理アルゴリズムを決定するようにしてもよい。
The processing algorithm coefficient acquisition unit 193 acquires a processing algorithm coefficient. The processing algorithm coefficient here is a coefficient corresponding to the processing algorithm for the processing request.
For example, the processing algorithm coefficient may be determined in advance for each processing algorithm, and the storage unit 180 may store the processing algorithm coefficient in advance for each processing algorithm. Then, when the processing planning apparatus 100 calculates the processing time, the processing algorithm coefficient acquisition unit 193 may read out the processing algorithm coefficient corresponding to the processing algorithm to be applied from the storage unit 180. Alternatively, the processing time estimation apparatus 100 or another apparatus performs machine learning to calculate a processing algorithm coefficient value, and the processing algorithm coefficient acquisition unit 193 acquires a processing algorithm coefficient value obtained as a result of the machine learning. Also good.
The processing algorithm to be applied is designated by a user operation from the operation input unit 130 by the administrator of the processing planning apparatus 100, for example. Alternatively, the processing algorithm coefficient acquisition unit 193 may automatically determine a processing algorithm to be applied based on the processing target data.

処理時間要素推定部194は、通信部110が受信した複数の処理要求の予約登録要求の各々について、処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定する。ここでいう処理対象データ量は、処理対象データのデータ量である。ここでいう1回あたりの処理は、機械学習にて1つの解を求める処理である。ここでいう処理の繰り返しは、機械学習にて1つの解を求める処理を、判定基準を満たす解を得られるまで繰り返すことである。以下では、処理の繰り返し回数と1回あたりの処理時間とを総称して処理時間要素と表記する。   The processing time element estimation unit 194 estimates the number of processing repetitions and processing time per time based on the amount of processing target data in the processing request for each of the plurality of processing request reservation registration requests received by the communication unit 110. To do. The processing target data amount here is the data amount of the processing target data. The process per time here is a process for obtaining one solution by machine learning. The repetition of the processing here is to repeat the processing for obtaining one solution by machine learning until a solution satisfying the criterion is obtained. Hereinafter, the number of repetitions of processing and the processing time per time are collectively referred to as processing time elements.

例えば処理時間要素推定部194は、過去のデータ処理それぞれにおける処理対象データ量、処理の繰り返し回数、及び、1回あたりの処理時間を示すデータを学習用データとして取得する。そして、処理時間要素推定部194は、通信部110が受信した処理要求(予約登録を要求されている処理要求)それぞれについて、処理サーバ装置200が機械学習でデータ処理を行う場合の、処理の繰り返し回数及び1回あたりの処理時間を、機械学習で算出する。   For example, the processing time element estimation unit 194 acquires, as learning data, data indicating the processing target data amount in each past data processing, the number of repetitions of the processing, and the processing time per time. The processing time element estimation unit 194 repeats processing when the processing server apparatus 200 performs data processing by machine learning for each processing request (processing request for which reservation registration is requested) received by the communication unit 110. The number of times and the processing time per time are calculated by machine learning.

例えば処理時間要素推定部194は、機械学習にて、処理対象データ量の入力を受けて処理の繰り返し回数を出力する関数、及び、処理対象データ量の入力を受けて1回あたりの処理時間を出力する関数を算出する。そして、処理時間要素推定部194は、予約登録を要求されている処理要求の各々における処理対象データ量を、得られた関数に入力して、処理の繰り返し回数及び1回あたりの処理時間を処理要求毎に算出する。
例えば記憶部180が、過去のデータ処理におけるデータを学習用データとして予め記憶しておく。そして、処理時間要素推定部194は、記憶部180から学習用データを読み出して使用する。
For example, the processing time element estimation unit 194 receives, in machine learning, a function that receives the input of the processing target data amount and outputs the number of processing repetitions, and receives the processing target data amount and calculates the processing time per time. Calculate the function to output. Then, the processing time element estimation unit 194 inputs the processing target data amount in each processing request for which reservation registration is requested to the obtained function, and processes the number of processing repetitions and processing time per time. Calculate for each request.
For example, the storage unit 180 stores data in the past data processing as learning data in advance. Then, the processing time element estimation unit 194 reads the learning data from the storage unit 180 and uses it.

処理時間要素推定部194が、処理対象データ量に加えてデータ内容係数に基づいて、処理の繰り返し回数及び1回あたりの処理時間のうち少なくともいずれか一方を推定するようにしてもよい。
例えば処理時間要素推定部194は、過去のデータ処理それぞれにおける処理対象データ量、データ内容係数、処理の繰り返し回数、及び、1回あたりの処理時間を示すデータを学習用データとして取得する。
The processing time element estimation unit 194 may estimate at least one of the number of processing repetitions and the processing time per time based on the data content coefficient in addition to the processing target data amount.
For example, the processing time element estimation unit 194 acquires, as learning data, data indicating the processing target data amount, the data content coefficient, the number of repetitions of processing, and the processing time per time in each past data processing.

この場合、例えば処理時間要素推定部194は、機械学習にて、処理対象データ量及びデータ内容係数の入力を受けて処理の繰り返し回数を出力する関数、及び、処理対象データ量及びデータ内容係数の入力を受けて1回あたりの処理時間を出力する関数を算出する。処理時間要素推定部194は、予約登録対象となっている処理要求それぞれにおける処理対象データ量、及び、予約登録対象となっている処理要求それぞれに対してデータ内容係数取得部192が取得したデータ内容係数を、得られた各関数に入力して、処理の繰り返し回数及び1回あたりの処理時間を処理要求毎に算出する。   In this case, for example, the processing time element estimation unit 194 receives, in machine learning, a function that receives the processing target data amount and the data content coefficient and outputs the number of processing repetitions, and the processing target data amount and the data content coefficient. A function that receives the input and outputs the processing time per time is calculated. The processing time element estimation unit 194 includes the data content acquired by the data content coefficient acquisition unit 192 for each processing request to be processed for reservation registration and each processing request for the reservation registration. Coefficients are input to the obtained functions, and the number of processing repetitions and the processing time per time are calculated for each processing request.

処理時間要素推定部194が、処理対象データ量に加えて処理アルゴリズム係数に基づいて、処理の繰り返し回数及び1回あたりの処理時間のうち少なくともいずれか一方を推定するようにしてもよい。
例えば処理時間要素推定部194は、過去のデータ処理それぞれにおける処理対象データ量、処理アルゴリズム係数、処理の繰り返し回数、及び、1回あたりの処理時間を示すデータを学習用データとして取得する。
The processing time element estimation unit 194 may estimate at least one of the number of processing repetitions and the processing time per time based on the processing algorithm coefficient in addition to the processing target data amount.
For example, the processing time element estimation unit 194 acquires, as learning data, data indicating the processing target data amount, the processing algorithm coefficient, the number of repetitions of processing, and the processing time per time in each past data processing.

この場合、例えば処理時間要素推定部194は、機械学習にて、処理対象データ量及び処理アルゴリズム係数の入力を受けて処理の繰り返し回数を出力する関数、及び、処理対象データ量及び処理アルゴリズム係数の入力を受けて1回あたりの処理時間を出力する関数を算出する。処理時間要素推定部194は、予約登録対象となっている処理要求それぞれにおける処理対象データ量、及び、予約登録対象となっている処理要求それぞれに対して処理アルゴリズム係数取得部193が取得した処理アルゴリズム係数を、得られた各関数に入力して、処理の繰り返し回数及び1回あたりの処理時間を処理要求毎に算出する。   In this case, for example, the processing time element estimation unit 194 receives the input of the processing target data amount and the processing algorithm coefficient in machine learning and outputs the number of processing repetitions, and the processing target data amount and the processing algorithm coefficient. A function that receives the input and outputs the processing time per time is calculated. The processing time element estimation unit 194 includes a processing algorithm data amount obtained by the processing algorithm coefficient acquisition unit 193 for each processing request data amount in each processing request that is a reservation registration target and each processing request that is a reservation registration target. Coefficients are input to the obtained functions, and the number of processing repetitions and the processing time per time are calculated for each processing request.

処理時間要素推定部194が、処理対象データ量に加えてデータ内容係数及び処理アルゴリズム係数に基づいて、処理の繰り返し回数及び1回あたりの処理時間のうち少なくともいずれか一方を推定するようにしてもよい。
例えば処理時間要素推定部194は、過去のデータ処理それぞれにおける処理対象データ量、データ内容係数、処理アルゴリズム係数、処理の繰り返し回数、及び、1回あたりの処理時間を示すデータを学習用データとして取得する。
The processing time element estimation unit 194 may estimate at least one of the number of processing repetitions and the processing time per time based on the data content coefficient and the processing algorithm coefficient in addition to the processing target data amount. Good.
For example, the processing time element estimation unit 194 acquires, as learning data, data indicating the processing target data amount, the data content coefficient, the processing algorithm coefficient, the number of processing repetitions, and the processing time per process in each past data process. To do.

この場合、例えば処理時間要素推定部194は、機械学習にて、処理対象データ量、データ内容係数及び処理アルゴリズム係数の入力を受けて処理の繰り返し回数を出力する関数、及び、処理対象データ量、データ内容係数及び処理アルゴリズム係数の入力を受けて1回あたりの処理時間を出力する関数を算出する。処理時間要素推定部194は、予約登録対象となっている処理要求における処理対象データ量、予約登録対象となっている処理要求それぞれに対してデータ内容係数取得部192が取得したデータ内容係数、及び、予約登録対象となっている処理要求それぞれに対して処理アルゴリズム係数取得部193が取得した処理アルゴリズム係数を、得られた各関数に入力して、処理の繰り返し回数及び1回あたりの処理時間を処理要求毎に算出する。   In this case, for example, the processing time element estimation unit 194 receives, in machine learning, a processing target data amount, a data content coefficient, and a processing algorithm coefficient and outputs a processing repetition number, and a processing target data amount, A function that outputs the processing time per time is calculated by receiving the data content coefficient and the processing algorithm coefficient. The processing time element estimation unit 194 includes a data amount to be processed in a processing request that is a reservation registration target, a data content coefficient acquired by the data content coefficient acquisition unit 192 for each processing request that is a reservation registration target, and The processing algorithm coefficient acquired by the processing algorithm coefficient acquisition unit 193 for each processing request to be registered for registration is input to each obtained function, and the number of processing repetitions and the processing time per time are calculated. Calculate for each processing request.

処理時間要素推定部194が機械学習に用いるアルゴリズムは、特定のアルゴリズムに限定されない。例えば、処理時間要素推定部194が、ニューラルネットワーク、又は、一般化線形回帰のアルゴリズムを用いて機械学習を行うようにしてもよいが、これらに限らない。   The algorithm used by the processing time element estimation unit 194 for machine learning is not limited to a specific algorithm. For example, the processing time element estimation unit 194 may perform machine learning using a neural network or a generalized linear regression algorithm, but is not limited thereto.

処理時間推定部195は、通信部110が受信した複数の処理要求の各々について、処理の繰り返し回数及び1回あたりの処理時間に基づいて、要求される処理の実行時間を推定する。
例えば処理時間推定部195は、処理の繰り返し回数と1回あたりの処理時間とを乗算した積に、データ転送時間及びデータ変換時間など機械学習の実行以外の時間を加算した時間を実行時間として算出する。
機械学習の実行以外の時間は、例えば処理時間推定部195が、処理対象データ量に所定の係数を乗算して算出する。
The processing time estimation unit 195 estimates the execution time of the required processing for each of the plurality of processing requests received by the communication unit 110 based on the number of processing repetitions and the processing time per time.
For example, the processing time estimation unit 195 calculates, as an execution time, a time obtained by adding a time other than the execution of machine learning such as a data transfer time and a data conversion time to a product obtained by multiplying the number of process repetitions and a processing time per time. To do.
For example, the processing time estimation unit 195 calculates the time other than the execution of the machine learning by multiplying the processing target data amount by a predetermined coefficient.

スケジューリング部196は、処理要求毎に設定されている処理結果出力期限、及び、複数の処理要求の各々について推定された実行時間に基づいて、複数の処理要求の実行のスケジューリングを行う。
このスケジューリングにてスケジューリング部196は、予約登録対象となっている処理要求を、リソースに対するダブルブッキングが生じず、かつ、処理結果出力期限に処理を終了するようにリソースに割り当てる。
The scheduling unit 196 schedules the execution of a plurality of processing requests based on the processing result output deadline set for each processing request and the execution time estimated for each of the plurality of processing requests.
In this scheduling, the scheduling unit 196 assigns the processing request to be registered for reservation to the resource so that double booking for the resource does not occur and the processing ends at the processing result output deadline.

さらには、スケジューリング部196は、各処理の実行時間の推定値、処理結果出力期限、処理要求期限、及び、処理を行うリソースの各条件を制約条件として、制約条件を満たすスケジュールを決定する。
スケジューリング部196が、処理を行うリソースを提供するサーバの稼働時間を纏めるようにスケジューリングを行うようにしてもよい。
Furthermore, the scheduling unit 196 determines a schedule that satisfies the constraint condition by using the estimated value of the execution time of each process, the process result output deadline, the process request deadline, and each condition of the resource for processing as a constraint condition.
The scheduling unit 196 may perform scheduling so as to summarize the operating time of the server that provides the resources to be processed.

図3は、処理を行うリソースを提供するサーバの稼働時間を纏めるスケジューリングの例を示す図である。図3の横軸は日時を示す。
図3の例では、スケジューリング部196は、処理A及び処理Bの2つの処理を1つのリソースに割り当てる。処理Aは、日時T111から実行可能であり、日時T114が処理結果の回答期限である。処理Bは、日時T121から実行可能であり、日時T124が処理結果の回答期限である。また、図3の例では処理時間推定部195が処理A、処理Bそれぞれに要する処理時間を推定済みである。
FIG. 3 is a diagram illustrating an example of scheduling that summarizes the operation time of a server that provides resources for processing. The horizontal axis in FIG. 3 indicates the date and time.
In the example of FIG. 3, the scheduling unit 196 allocates two processes, process A and process B, to one resource. The process A can be executed from the date and time T111, and the date and time T114 is the response time limit for the processing result. The process B can be executed from the date and time T121, and the date and time T124 is the response time limit for the processing result. In the example of FIG. 3, the processing time estimation unit 195 has already estimated the processing time required for each of the processing A and the processing B.

スケジューリング部196は、処理Aの終了予定日時と処理Bの開始予定日時が同じになるようにスケジューリングを行う。例えば、スケジューリング部196は、処理Aを実行可能な期間である日時T111〜T114と、処理Bを実行可能な期間である日時T121〜T124とに共通の期間である日時T121〜T114の期間内の日時T131を、処理Aの終了予定日時かつ処理Bの開始予定日時に決定する。   The scheduling unit 196 performs scheduling so that the scheduled end date / time of process A and the scheduled start date / time of process B are the same. For example, the scheduling unit 196 has a date and time T121 to T114 that is a period in which the process A can be executed, and a date and time T121 to T114 that is a period common to the dates and times T121 to T124 that are the periods in which the process B can be executed. The date / time T131 is determined as the scheduled end date / time of the process A and the scheduled start date / time of the process B.

そして、スケジューリング部196は、日時T131から処理Aの実行時間推定値だけ遡った日時T113を処理Aの開始予定日時に決定する。また、スケジューリング部196は、日時T131から処理Bの実行時間だけ後の日時T122を処理Bの終了予定日時に決定する。これにより、スケジューリング部196は、処理Aと処理Bとを、日時T113〜T122の期間に纏めてリソースAに割り振っており、これによってリソースAを提供する処理サーバ装置200の稼働時間を纏めている。
スケジューリング部196が、処理Aの終了予定日時と処理Bの開始予定日時が同じになるようにスケジューリングを行うことで、処理Bの実行時にリソースへのログイン及び初期化処理(イニシャライズ)を行う必要がない。この点でリソースの使用時間を短くすることができ、リソースの使用が有償の場合には課金を低減させることができる。
Then, the scheduling unit 196 determines a date and time T113 that is back from the date and time T131 by the estimated execution time of the process A as the scheduled start date and time of the process A. Further, the scheduling unit 196 determines a date and time T122 after the execution time of the process B from the date and time T131 as the scheduled end date and time of the process B. As a result, the scheduling unit 196 allocates the process A and the process B to the resource A in a period of time T113 to T122, and thereby summarizes the operation time of the processing server device 200 that provides the resource A. .
It is necessary for the scheduling unit 196 to perform login and initialization processing (initialization) to the resource when executing the process B by performing scheduling so that the scheduled end date and time of the process A and the scheduled start date and time of the process B are the same. Absent. In this respect, the resource usage time can be shortened, and charging can be reduced when the resource usage is charged.

スケジューリング部196がさらに、日時T111から処理Aの実行時間推定値だけ後の日時T112以降、かつ、日時T124から処理Bの実行時間推定低だけ遡った日時T123以前の期間内の日時を処理Aの終了予定日時かつ処理Bの開始予定日時に決定することで、処理A、Bとも実行可能期間内に実行されるようにスケジューリングを行うことができる。図3の例では、日時T112〜T123の期間と日時T121〜T114の期間とに共通の期間は日時T121〜T114の期間であり、スケジューリング部196は、この期間内に処理Aの終了予定日時かつ処理Bの開始予定日時を決定している。   The scheduling unit 196 further selects the date and time within the period from the date and time T111 after the date and time T112 after the execution time estimated value of the process A and before the date and time T123 after the date and time T124 by the estimated execution time of the process B. By determining the scheduled end date and time and the scheduled start date and time of the process B, the processes A and B can be scheduled to be executed within the executable period. In the example of FIG. 3, the period common to the period of the date and time T112 to T123 and the period of the date and time T121 to T114 is the period of the date and time T121 to T114, and the scheduling unit 196 The scheduled start date and time for process B is determined.

スケジューリング部196が、日時T121〜T114の期間内でランダムに処理Aの終了予定日時かつ処理Bの開始予定日時を決定するようにしてもよい。あるいはスケジューリング部196が、日時T121〜T114の中間の日時など、ある特定の日時を処理Aの終了予定日時かつ処理Bの開始予定日時に決定するようにしてもよい。   The scheduling unit 196 may randomly determine the scheduled end date and time of the process A and the scheduled start date and time of the process B within the period of the dates T121 to T114. Alternatively, the scheduling unit 196 may determine a specific date and time, such as an intermediate date and time between the dates T121 to T114, as the scheduled end date and time of the process A and the scheduled start date and time of the process B.

また、スケジューリング部196が、料金の比較的安いリソースなど特定のリソースに優先的に処理を割り当てるようにしてもよい。
ここで、サービス提供者(サービス提供システム1の管理者)が、サービス利用者からの処理要求に対し、クラウドで仮想マシンを提供している事業者から仮想マシンを借りて処理を行う場合を考える。
例えばクラウドで仮想マシンを提供している事業者が複数ある場合、事業者毎に料金が異なることが考えられる。このような場合、スケジュールに余裕がないと、料金の安い事業者の仮想マシンが使用中で借りられず、料金の高い事業者の仮想マシンを借りる必要が生じることが考えられる。これに対し、スケジュールに余裕を持って仮想マシンを借りることができれば、料金の安い事業者の仮想マシンを予約するか、あるいは、料金の安い事業者の仮想マシンに空きがあるときに、その仮想マシンを借りて処理を行うことができる。サービス提供者は、このような仮想マシンの利用料金の違いを、サービス利用者に対する料金に反映させることができる。
サービス提供者が、事業者にバッチ処理でサービス提供を依頼する場合も同様である。
Further, the scheduling unit 196 may preferentially assign processing to a specific resource such as a resource with a relatively low charge.
Here, consider a case where a service provider (an administrator of the service providing system 1) borrows a virtual machine from a provider providing a virtual machine in the cloud and performs a process request from the service user. .
For example, when there are a plurality of businesses providing virtual machines in the cloud, it is conceivable that the fees differ for each business. In such a case, if there is no room in the schedule, it may be necessary to borrow a virtual machine of a provider with a high charge, because a virtual machine of a provider with a low charge cannot be borrowed in use. On the other hand, if you can rent a virtual machine with a sufficient schedule, you can reserve a virtual machine for a low-cost business operator or if the virtual machine of a low-cost business operator has a free space, You can borrow a machine for processing. The service provider can reflect the difference in the usage fee of the virtual machine in the fee for the service user.
The same applies when the service provider requests the service provider to provide the service by batch processing.

図4は、特定のリソースに優先的に処理を割り当てたスケジューリングの例を示す図である。図4の横軸は日時を示す。
図4の例では、スケジューリング部196は、処理C〜Gを、リソースA、Bの2つのリソースに割り当てる。その際、リソースAに処理を実行させる方がリソースBに処理を実行させるよりも料金が安価であるため、スケジューリング部196は、できるだけ多くの処理をリソースAに割り当て、リソースAに割り当てられない処理をリソースBに割り当てる。
FIG. 4 is a diagram illustrating an example of scheduling in which processing is preferentially assigned to a specific resource. The horizontal axis in FIG. 4 indicates the date and time.
In the example of FIG. 4, the scheduling unit 196 assigns processes C to G to two resources, resources A and B. At this time, since it is cheaper to cause the resource A to execute the process than to cause the resource B to execute the process, the scheduling unit 196 assigns as many processes as possible to the resource A and processes that cannot be assigned to the resource A. Is assigned to resource B.

具体的には、スケジューリング部196は、処理C、E、F及びGをリソースAに割り当て、処理C及びEとの実行可能期間の重なりによってリソースAに割り当てられなかった処理DをリソースBに割り当てている。
このように、スケジューリング部196が可能な限り処理をリソースAに割り当てるスケジューリングを行うことで、リソース使用料金を比較的安く抑えることができる。
Specifically, the scheduling unit 196 allocates the processes C, E, F, and G to the resource A, and allocates the process D that is not allocated to the resource A due to the overlap of the executable periods with the processes C and E to the resource B. ing.
As described above, the scheduling unit 196 performs scheduling for allocating the processing to the resource A as much as possible, so that the resource usage fee can be kept relatively low.

スケジューリング部196が、処理を行うリソースが不足しているか否かを判定するようにしてもよい。処理を行うリソースが不足していることをスケジューリング部196がスケジューリング段階で検出することで、処理計画装置100の管理者は、早めにリソースを手配することができる。処理計画装置100の管理者は、時間に余裕を持ってリソースを手配できることで、料金が比較的安いリソースを探して手配することができ、この点で処理コストを抑制することができる。   The scheduling unit 196 may determine whether or not resources for processing are insufficient. When the scheduling unit 196 detects that the resources to be processed are insufficient at the scheduling stage, the administrator of the process planning apparatus 100 can arrange the resources early. The administrator of the processing planning apparatus 100 can arrange resources with a sufficient time, so that it can search and arrange resources with relatively low charges, and can suppress processing costs in this respect.

スケジューリング部196が、スケジューリングの結果に基づいて、処理要求毎に処理開始期限を決定する。具体的には、スケジューリング部196は、スケジュールにおける各処理の開始予定日時を各処理の開始期限に決定する。クライアントシステム910は、処理開始期限を表示することで、期限内に処理を要求するようクライアントシステム910のユーザであるサービス利用者に促す。
図5は、クライアントシステム910が処理開始期限を表示する表示画面の例を示す図である。図5の例で、クライアントシステム910は、処理開始期限欄と、納品期限欄と、閉じるボタンとを含む処理スケジュール画面を表示している。
The scheduling unit 196 determines a process start time limit for each process request based on the scheduling result. Specifically, the scheduling unit 196 determines the scheduled start date and time of each process in the schedule as the start deadline for each process. The client system 910 prompts the service user who is the user of the client system 910 to request the processing within the time limit by displaying the processing start time limit.
FIG. 5 is a diagram illustrating an example of a display screen on which the client system 910 displays a process start time limit. In the example of FIG. 5, the client system 910 displays a process schedule screen including a process start time limit column, a delivery time limit column, and a close button.

処理開始期限は、スケジューリング部196が決定した処理開始期限の表示欄である。
納品期限欄は、データ処理要求に対する処理結果の回答期限の表示欄である。この回答期限を納品期限とも称する。
閉じるボタンは、処理スケジュール画面を閉じるよう指示するユーザ操作を受けるためのボタンアイコンである。サービス利用者が閉じるボタンを操作(例えばマウスクリック)すると、クライアントシステム910は、処理スケジュール画面の表示を終了して前画面へ戻る。
クライアントシステム910が表示する処理開始期限に従ってサービス利用者がデータ処理を要求することで、処理が輻輳する可能性を低減させることができる。
The process start time limit is a display field for the process start time limit determined by the scheduling unit 196.
The delivery time limit column is a display column for a response time limit of the processing result for the data processing request. This reply deadline is also referred to as the delivery deadline.
The close button is a button icon for receiving a user operation for instructing to close the processing schedule screen. When the service user operates a close button (for example, mouse click), the client system 910 ends the display of the processing schedule screen and returns to the previous screen.
When the service user requests data processing according to the processing start time limit displayed by the client system 910, the possibility of processing congestion can be reduced.

処理サーバ装置200は、サービス提供システム1が提供するデータ処理サービスにおけるデータ処理を実行する。処理サーバ装置200は、例えばメインフレーム(Mainframe)又はワークステーション等のコンピュータを用いて構成される。
処理サーバ装置200が実行するデータ処理の分野及び内容は特定の分野及び内容に限定されない。
例えば、医療分野において、処理サーバ装置200がカルテ又はレセプト情報から薬剤の使用状況を抽出して薬剤の消費量あるいは在庫状況を予測するようにしてもよい。あるいは、製造分野において、処理サーバ装置200が工場の生産管理情報から材料の使用量を抽出して在庫状況を予測する、あるいは、発注タイミングを提案するようにしてもよい。
The processing server device 200 executes data processing in a data processing service provided by the service providing system 1. The processing server device 200 is configured using a computer such as a mainframe or a workstation, for example.
The field and content of data processing executed by the processing server device 200 are not limited to a specific field and content.
For example, in the medical field, the processing server device 200 may extract the usage status of a drug from the medical record or receipt information to predict the consumption or inventory status of the drug. Alternatively, in the manufacturing field, the processing server apparatus 200 may extract the amount of material used from the production management information of the factory to predict the inventory status, or may propose an order timing.

クライアントシステム910は、サービス提供システム1に対してサービス提供を要求する。具体的には、クライアントシステム910はデータ処理要求を処理計画装置100に送信し、要求に対する応答にて処理結果を受信する。クライアントシステム910は、例えばパソコン(Personal Computer;PC)又はワークステーション等のコンピュータを用いて構成される。   The client system 910 requests the service providing system 1 to provide a service. Specifically, the client system 910 transmits a data processing request to the processing planning apparatus 100 and receives a processing result in response to the request. The client system 910 is configured using a computer such as a personal computer (PC) or a workstation.

第一通信ネットワーク300は、処理計画装置100と処理サーバ装置200との通信を仲介する通信ネットワークである。
第二通信ネットワーク920は、処理計画装置100とクライアントシステム910との通信を仲介する通信ネットワークである。
第一通信ネットワーク300、第二通信ネットワーク920の種類はいずれも特定の種類に限定されない。一例として、第一通信ネットワーク300はサービス提供システム1専用のLAN(Local Area Network)であってもよく、第二通信ネットワーク920はインターネット(Internet)であってもよいが、これらに限定されない。
また、第一通信ネットワーク300及び第二通信ネットワーク920が1つの通信ネットワークとして構成されていてもよい。
The first communication network 300 is a communication network that mediates communication between the processing planning device 100 and the processing server device 200.
The second communication network 920 is a communication network that mediates communication between the processing planning apparatus 100 and the client system 910.
The types of the first communication network 300 and the second communication network 920 are not limited to specific types. As an example, the first communication network 300 may be a LAN (Local Area Network) dedicated to the service providing system 1 and the second communication network 920 may be the Internet, but is not limited thereto.
Further, the first communication network 300 and the second communication network 920 may be configured as one communication network.

次に、図6〜図8を参照してサービス提供システム1の動作について説明する。
図6は、処理サーバ装置200がデータ処理要求に対して行う処理の手順の例を示すフローチャートである。処理サーバ装置200は、処理計画装置100からデータ処理要求を受信すると図6の処理を開始する。
Next, the operation of the service providing system 1 will be described with reference to FIGS.
FIG. 6 is a flowchart illustrating an example of a processing procedure performed by the processing server apparatus 200 in response to a data processing request. When receiving the data processing request from the processing planning device 100, the processing server device 200 starts the processing in FIG.

(ステップS111)
処理サーバ装置200は、処理対象データを取得する。具体的には、処理サーバ装置200は、処理対象データを含むデータ処理要求を処理計画装置100から受信する。そして、処理サーバ装置200は、受信したデータ処理要求から処理対象データを読み出す。
ステップS111の後、ステップS112へ進む。
(Step S111)
The processing server device 200 acquires processing target data. Specifically, the processing server device 200 receives a data processing request including processing target data from the processing planning device 100. Then, the processing server device 200 reads processing target data from the received data processing request.
After step S111, the process proceeds to step S112.

(ステップS112)
処理サーバ装置200は、処理対象データに対して前処理を行う。例えば、処理サーバ装置200は、処理対象データを処理し易いデータ形式に変換する。
ステップS112の後、ステップS113へ進む。
(Step S112)
The processing server device 200 performs preprocessing on the processing target data. For example, the processing server device 200 converts the processing target data into a data format that is easy to process.
It progresses to step S113 after step S112.

(ステップS113)
処理サーバ装置200は、機械学習にてデータ処理を行う。
ステップS113の後、ステップS114へ進む。
(ステップS114)
処理サーバ装置200は、ステップS113でのデータ処理の結果を処理計画装置100へ通知(送信)する。
ステップS114の後、図6の処理を終了する。
(Step S113)
The processing server device 200 performs data processing by machine learning.
It progresses to step S114 after step S113.
(Step S114)
The processing server device 200 notifies (transmits) the result of the data processing in step S113 to the processing planning device 100.
After step S114, the process of FIG.

図7は、処理サーバ装置200がデータ処理を行う手順の例を示すフローチャートである。図7の処理で、処理サーバ装置200は、機械学習にてデータ処理を行う。
処理サーバ装置200は、図6のステップS113で図7の処理を行う。
(ステップS121)
処理サーバ装置200は、モデル構築用データセット、及び、モデル検証用データセットを決定する。具体的には、処理サーバ装置200は、処理対象データをモデル構築用データセットとモデル検証用データセットとに分割する。
FIG. 7 is a flowchart illustrating an example of a procedure in which the processing server apparatus 200 performs data processing. In the processing of FIG. 7, the processing server device 200 performs data processing by machine learning.
The processing server device 200 performs the process of FIG. 7 in step S113 of FIG.
(Step S121)
The processing server device 200 determines a model construction data set and a model verification data set. Specifically, the processing server device 200 divides the processing target data into a model construction data set and a model verification data set.

例えば、処理サーバ装置200は、処理対象データとして、説明変数値及び目的変数値を示す複数の学習用データ(学習用データセット)を取得する。そして、処理サーバ装置200は、取得した学習用データセットのうち、例えば1割のデータなど幾つかのデータを検証用データセットに決定し、残りのデータをモデル構築用データセットに決定する。
ここでいう目的変数は、データ処理における取得対象の値を示す変数、すなわち、データ処理結果を示す変数である。ここでいう説明変数は、データ処理結果を算出する元となる値を示す変数である。
ステップS121の後、ステップS122へ進む。
For example, the processing server device 200 acquires a plurality of learning data (learning data set) indicating the explanatory variable value and the objective variable value as the processing target data. Then, the processing server device 200 determines some data such as 10% of the acquired learning data set as the verification data set, and determines the remaining data as the model construction data set.
The objective variable here is a variable indicating a value to be acquired in data processing, that is, a variable indicating a data processing result. The explanatory variable here is a variable indicating a value from which the data processing result is calculated.
After step S121, the process proceeds to step S122.

(ステップS122)
処理サーバ装置200は、解探索のステップ幅など機械学習における各種パラメータの値を初期設置する。ここでのパラメータ値の初期設定方法は、特定の方法に限定されない。例えば、処理サーバ装置200が、パラメータの初期設定値をランダムに決定するようにしてもよいし、予め定められている値に決定するようにしてもよいし、前回の学習結果に基づいて決定するようにしてもよい。
ステップS122の後、ステップS123へ進む。
(Step S122)
The processing server device 200 initially sets various parameter values in machine learning such as a solution search step width. The parameter value initial setting method here is not limited to a specific method. For example, the processing server device 200 may randomly determine the parameter initial setting value, may determine the parameter to a predetermined value, or may determine based on the previous learning result. You may do it.
After step S122, the process proceeds to step S123.

(ステップS123)
処理サーバ装置200は、モデル構築用データセットを用いて機械学習アルゴリズムを実行し、学習結果を取得する。例えば、処理サーバ装置200は、説明変数値の入力を受けて目的変数値を出力する関数を学習結果として算出する。
ステップS123の後、ステップS124へ進む。
(Step S123)
The processing server device 200 executes a machine learning algorithm using the model construction data set and acquires a learning result. For example, the processing server apparatus 200 calculates a function that receives an input of an explanatory variable value and outputs an objective variable value as a learning result.
After step S123, the process proceeds to step S124.

(ステップS124)
処理サーバ装置200は、ステップS123で得られた学習結果を、モデル検証用データセットを用いて評価する。
例えば、処理サーバ装置200は、学習結果として得られた関数にモデル検証用データに含まれる説明変数値を入力し、得られた目的変数値とモデル検証用データに含まれる説明変数値との差の大きさ(差の絶対値)を算出する。処理サーバ装置200は、モデル検証用データセットに含まれるモデルデータの各々について、かかる差の大きさを算出し、得られた差の大きさ平均値を、学習結果の評価値として算出する。
(Step S124)
The processing server device 200 evaluates the learning result obtained in step S123 using the model verification data set.
For example, the processing server device 200 inputs the explanatory variable value included in the model verification data to the function obtained as the learning result, and the difference between the obtained objective variable value and the explanatory variable value included in the model verification data. Is calculated (absolute value of the difference). The processing server device 200 calculates the magnitude of the difference for each model data included in the model verification data set, and calculates the average value of the obtained differences as an evaluation value of the learning result.

(ステップS125)
処理サーバ装置200は、ステップS124で得られた評価値に基づいて合否の判定を行う。具体的には、処理サーバ装置200は、ステップS124で得られた評価値と閾値とを比較する。評価値が閾値以下である場合、処理サーバ装置200は、学習結果を合格と評価する。一方、評価値が閾値より大きい場合、処理サーバ装置200は、学習結果を不合格と評価する。
(Step S125)
The processing server device 200 determines pass / fail based on the evaluation value obtained in step S124. Specifically, the processing server device 200 compares the evaluation value obtained in step S124 with a threshold value. When the evaluation value is equal to or less than the threshold value, the processing server device 200 evaluates the learning result as passing. On the other hand, when the evaluation value is larger than the threshold value, the processing server device 200 evaluates the learning result as rejected.

ステップS125で学習結果を合格と評価した場合(ステップS125:YES)、図7の処理を終了し、図6の処理へ戻る。
一方、ステップS125で学習結果を不合格と評価した場合(ステップS125:NO)、ステップS131へ進む。
If the learning result is evaluated as acceptable in step S125 (step S125: YES), the process in FIG. 7 is terminated, and the process returns to the process in FIG.
On the other hand, when the learning result is evaluated as rejected in step S125 (step S125: NO), the process proceeds to step S131.

(ステップS131)
処理サーバ装置200は、機械学習における各種パラメータの値を更新する。
ステップS131の後、ステップS123へ戻る。
ステップS121からS125までの一連の処理、ステップS131からS125までの一連の処理は、それぞれ機械学習における一回の処理の例に該当する。
処理サーバ装置200が図7の処理に用いる学習アルゴリズムは特定のアルゴリズムに限定されず、図7のように学習結果を評価して処理を繰り返すことが可能なものであればよい。
(Step S131)
The processing server device 200 updates various parameter values in machine learning.
After step S131, the process returns to step S123.
A series of processes from steps S121 to S125 and a series of processes from steps S131 to S125 correspond to an example of a single process in machine learning.
The learning algorithm used by the processing server device 200 for the processing in FIG. 7 is not limited to a specific algorithm, and any learning algorithm may be used as long as it can evaluate the learning result and repeat the processing as shown in FIG.

図8は、処理計画装置100がデータ処理の予約登録要求に対して行う処理の例を示すフローチャートである。処理計画装置100は、データ処理の予約登録要求を複数受けて処理計画装置100の処理を行う。例えば、処理計画装置100が、所定期間の間クライアントシステム910からの予約登録要求を記憶しておき、所定期間経過後に纏めてスケジューリングを行うようにしてもよい。
(ステップS211)
期限情報取得部191が、通信部110が受信した複数のデータ処理要求の各々について、処理要求期限情報及び処理結果出力期限情報を取得する。
ステップS211の後、ステップS212へ進む。
FIG. 8 is a flowchart illustrating an example of processing performed by the processing planning apparatus 100 in response to a data processing reservation registration request. The process planning apparatus 100 receives a plurality of data processing reservation registration requests and performs the process of the process planning apparatus 100. For example, the processing planning apparatus 100 may store a reservation registration request from the client system 910 for a predetermined period, and perform scheduling collectively after a predetermined period.
(Step S211)
The time limit information acquisition unit 191 acquires processing request time limit information and processing result output time limit information for each of the plurality of data processing requests received by the communication unit 110.
After step S211, the process proceeds to step S212.

(ステップS212)
処理時間要素推定部194及び処理時間推定部195が、データ処理に要する処理時間を上記のように機械学習にて算出する。
通信部110が予約登録要求毎に、予約対象のデータ処理におけるデータ量の情報を含む時期情報予約を受信し、処理時間要素推定部194がこのデータ量の情報に基づいて処理時間要素を算出するようにしてもよい。あるいは、処理時間要素推定部194が、過去のデータ処理におけるデータ量に基づいて、予約登録要求毎に予約対象のデータ処理におけるデータ量を推定するようにしてもよい。
ステップS212の後、ステップS213へ進む。
(Step S212)
The processing time element estimation unit 194 and the processing time estimation unit 195 calculate the processing time required for data processing by machine learning as described above.
For each reservation registration request, communication unit 110 receives a timing information reservation including data amount information in the data processing to be reserved, and processing time element estimation unit 194 calculates a processing time element based on the data amount information. You may do it. Alternatively, the processing time element estimation unit 194 may estimate the data amount in the reservation target data processing for each reservation registration request based on the data amount in the past data processing.
After step S212, the process proceeds to step S213.

(ステップS213)
スケジューリング部196は、リソースが不足しているか否かを判定する。具体的には、スケジューリング部196は、データ処理に要する処理時間の合計値と、利用可能なリソースが処理可能な処理時間の合計値とを比較する。データ処理に要する処理時間の合計値が、利用可能なリソースが処理可能な処理時間の合計値以下である、サービス提供システム1は、リソースが足りていると判定する。一方、データ処理に要する処理時間の合計値が、利用可能なリソースが処理可能な処理時間の合計値より大きい場合、サービス提供システム1は、リソースが不足していると判定する。一方、リソースが足りていると判定した場合(ステップS213:NO)、ステップS221へ進む。一方、リソースが不足していると判定した場合(ステップS213:YES)、ステップS231へ進む。
(Step S213)
The scheduling unit 196 determines whether resources are insufficient. Specifically, the scheduling unit 196 compares the total processing time required for data processing with the total processing time that can be processed by available resources. The service providing system 1 in which the total processing time required for data processing is equal to or less than the total processing time that can be used by the available resources determines that the resources are sufficient. On the other hand, when the total processing time required for data processing is larger than the total processing time that can be used by the available resources, the service providing system 1 determines that the resources are insufficient. On the other hand, if it is determined that there are sufficient resources (step S213: NO), the process proceeds to step S221. On the other hand, if it is determined that the resource is insufficient (step S213: YES), the process proceeds to step S231.

(ステップS221)
スケジューリング部196は、予約対象となっているデータ処理のスケジューリングを行う。予約対象となっている全てのデータ処理のスケジューリングを完了すると、スケジューリング部196は、スケジューリングの結果に基づいてデータ処理の予約を行う。具体的には、スケジューリング部196は、予約対象となっているデータ処理毎に、データ処理の開始予定日時情報及びデータ処理結果の出力予定日時情報とを含む予約情報を記憶部180に記憶させることで、予約の登録を行う。
ステップS221の後、ステップS222へ進む。
(Step S221)
The scheduling unit 196 performs scheduling of data processing to be reserved. When the scheduling of all the data processings to be reserved is completed, the scheduling unit 196 makes a data processing reservation based on the scheduling result. Specifically, the scheduling unit 196 causes the storage unit 180 to store reservation information including data processing scheduled start date and time information and data processing result output scheduled date and time information for each data process to be reserved. Then, register the reservation.
After step S221, the process proceeds to step S222.

(ステップS222)
スケジューリング部196は、通信部110を介して予約登録要求元のクライアントシステム910へ、スケジュールを通知する。例えば、スケジューリング部196は、処理開始期限情報と結果出力期限情報とを含む予約完了通知を、通信部110を介して予約登録要求元のクライアントシステム910へ送信する。予約完了通知を受けたクライアントシステム910は、図5の例のように、処理開始期限及び結果出力期限など、データ処理のスケジュールの情報を表示する。
ステップS222の後、図8の処理を終了する。
(Step S222)
The scheduling unit 196 notifies the schedule to the reservation registration requesting client system 910 via the communication unit 110. For example, the scheduling unit 196 transmits a reservation completion notification including processing start time limit information and result output time limit information to the client system 910 that is the reservation registration request source via the communication unit 110. Upon receiving the reservation completion notification, the client system 910 displays data processing schedule information such as a processing start time limit and a result output time limit, as in the example of FIG.
After step S222, the process of FIG. 8 ends.

(ステップS231)
スケジューリング部196は、リソースが不足していることを示す警報を表示部120に表示させる。この警報にて表示部120は、近い将来、リソースが不足しそうなことをサービス提供者(サービス提供装置1の管理者)に通知して事前に対策を促すことができる。また、リソースが不足した場合に、サービス提供システム1が自動的にリソースの追加割り当てを行うようにしてもよい。
ステップS231の後、図8の処理を終了する。この場合、データ処理の予約登録は行われていない。例えば、サービス提供システム1の管理者が不足分のリソースの追加を行った後、処理計画装置100に対して図8の処理を再度行うよう指示する。
(Step S231)
The scheduling unit 196 causes the display unit 120 to display an alarm indicating that the resource is insufficient. With this warning, the display unit 120 can notify the service provider (the administrator of the service providing apparatus 1) that the resource is likely to be short in the near future, and can promptly take countermeasures. Further, when resources are insufficient, the service providing system 1 may automatically perform additional allocation of resources.
After step S231, the process of FIG. In this case, data processing reservation registration is not performed. For example, after the administrator of the service providing system 1 adds a shortage of resources, it instructs the processing planning apparatus 100 to perform the processing in FIG. 8 again.

以上のように、処理時間要素推定部194は、予約登録を要求されている複数の処理要求の各々について、処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定する。処理時間推定部195は、これら複数の処理要求の各々について、処理の繰り返し回数及び1回あたりの処理時間に基づいて、要求される処理の実行時間を推定する。スケジューリング部196は、これら処理要求毎に設定されている処理結果出力期限と、これら処理要求毎に推定された実行時間とに基づいて、これら複数の処理要求の実行のスケジューリングを行う。   As described above, the processing time element estimation unit 194 determines, for each of a plurality of processing requests for which reservation registration is requested, the number of processing repetitions and the processing time per time based on the processing target data amount in the processing request. Is estimated. The processing time estimation unit 195 estimates the required processing execution time for each of the plurality of processing requests based on the number of processing repetitions and the processing time per time. The scheduling unit 196 schedules the execution of the plurality of processing requests based on the processing result output deadline set for each processing request and the execution time estimated for each processing request.

これにより、処理計画装置100では、処理時間(要求される処理の実行時間)の推定精度が高まることが期待され、処理時間の推定精度が高まることで処理のスケジューリングの精度が高まることが期待される。特に、処理時間推定部195が、処理の繰り返し回数及び1回あたりの処理時間に基づくことで、処理の繰り返し回数及び1回あたりの処理時間の傾向を反映させて処理時間を推定することができる。この点で、処理計画装置100によれば、単に処理対象データに基づく場合と比較して処理時間の推定精度が高まり、処理のスケジューリングの精度が高まることが期待される。   Thereby, in the process planning device 100, it is expected that the estimation accuracy of the processing time (the required execution time of the process) is increased, and the accuracy of the process scheduling is expected to be increased by increasing the estimation accuracy of the processing time. The In particular, the processing time estimation unit 195 can estimate the processing time by reflecting the tendency of the number of processing repetitions and the processing time per time based on the number of processing repetitions and the processing time per time. . In this respect, according to the processing planning apparatus 100, it is expected that the processing time estimation accuracy is higher than that based solely on the processing target data, and the processing scheduling accuracy is increased.

また、期限情報取得部191は、予約登録を要求されている複数の処理要求の各々について、処理要求期限を示す処理要求期限時情報、及び、処理結果出力期限を示す処理結果出力期限情報を取得する。スケジューリング部196は、各処理の実行時間の推定値、処理結果出力期限、処理要求期限、及び、処理を行うリソースの各条件を制約条件として、制約条件を満たすスケジュールを決定する。
クライアントシステム910が、得られたスケジュールに従ってデータ処理を要求することで、処理計画装置100は、処理結果出力期限までに処理結果をクライアントシステム910へ出力できるように、処理サーバ装置200へ処理を割り振ることができる。
Also, the time limit information acquisition unit 191 acquires processing request time limit information indicating a processing request time limit and processing result output time limit information indicating a processing result output time limit for each of a plurality of processing requests for which reservation registration is requested. To do. The scheduling unit 196 determines a schedule that satisfies the constraint condition by using the estimated value of the execution time of each process, the process result output deadline, the process request deadline, and each condition of the resource for processing as a constraint condition.
When the client system 910 requests data processing according to the obtained schedule, the processing planning device 100 allocates processing to the processing server device 200 so that the processing result can be output to the client system 910 by the processing result output deadline. be able to.

また、スケジューリング部196は、処理を行うリソースを提供する処理サーバ装置200の稼働時間を纏めるようにスケジューリングを行う。これにより、処理サーバ装置200が纏めて実行する処理のうち、後から実行する処理については、例えばクラウド上で借りている仮想マシンなど、処理に利用するマシンに対するログイン処理及び初期化処理をやり直す必要がない。この点で、処理計画装置100によれば処理サーバ装置200を効率よく利用することができ、その分だけ処理サーバ装置200の利用料金を低減させることができる。   In addition, the scheduling unit 196 performs scheduling so as to collect the operation time of the processing server device 200 that provides resources for processing. As a result, among the processes executed collectively by the processing server device 200, for the processes to be executed later, it is necessary to redo the login process and the initialization process for the machine used for the process, such as a virtual machine borrowed on the cloud. There is no. In this regard, according to the processing planning device 100, the processing server device 200 can be used efficiently, and the usage fee of the processing server device 200 can be reduced accordingly.

また、スケジューリング部196は、処理を行うリソースが不足しているか否かを判定する。
処理を行うリソースが不足していることをスケジューリング部196がスケジューリング段階で検出することで、処理計画装置100の管理者は、早めにリソースを手配することができる。処理計画装置100の管理者は、時間に余裕を持ってリソースを手配できることで、料金が比較的安いリソースを探して手配することができ、この点で処理コストを抑制することができる。
Further, the scheduling unit 196 determines whether or not resources for processing are insufficient.
When the scheduling unit 196 detects that the resources to be processed are insufficient at the scheduling stage, the administrator of the process planning apparatus 100 can arrange the resources early. The administrator of the processing planning apparatus 100 can arrange resources with a sufficient time, so that it can search and arrange resources with relatively low charges, and can suppress processing costs in this respect.

また、スケジューリング部196は、スケジューリングの結果に基づいて、処理要求毎に処理開始期限を決定する。
スケジューリング部196が決定した処理開始期限に従ってサービス利用者がデータ処理を要求することで、処理が輻輳する可能性を低減させることができる。
Further, the scheduling unit 196 determines a process start time limit for each process request based on the scheduling result.
When the service user requests data processing according to the processing start deadline determined by the scheduling unit 196, the possibility of processing congestion can be reduced.

次に、図9を参照して本発明の最小構成について説明する。
図9は、本発明に係る処理計画装置の最小構成の例を示す図である。図9に示す処理計画装置10は、処理時間要素推定部11と、処理時間推定部12と、スケジューリング部13とを備える。
かかる構成にて、処理時間要素推定部11は、複数の処理要求の各々について、処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定する。処理時間推定部12は、複数の処理要求の各々について、処理の繰り返し回数及び1回あたりの処理時間に基づいて、要求される処理の実行時間を推定する。スケジューリング部13は、処理要求毎に設定されている処理結果出力期限と、処理要求毎に推定された実行時間とに基づいて、複数の処理要求の実行のスケジューリングを行う。
Next, the minimum configuration of the present invention will be described with reference to FIG.
FIG. 9 is a diagram showing an example of the minimum configuration of the processing planning apparatus according to the present invention. The processing planning apparatus 10 illustrated in FIG. 9 includes a processing time element estimation unit 11, a processing time estimation unit 12, and a scheduling unit 13.
With this configuration, the processing time element estimation unit 11 estimates the number of processing repetitions and processing time per time based on the processing target data amount in the processing request for each of the plurality of processing requests. The processing time estimation unit 12 estimates the required processing execution time for each of the plurality of processing requests based on the number of processing repetitions and the processing time per time. The scheduling unit 13 schedules the execution of a plurality of processing requests based on the processing result output deadline set for each processing request and the execution time estimated for each processing request.

これにより、処理計画装置10では、処理時間(要求される処理の実行時間)の推定精度が高まることが期待され、処理時間の推定精度が高まることで処理のスケジューリングの精度が高まることが期待される。特に、処理時間推定部12が、処理の繰り返し回数及び1回あたりの処理時間に基づくことで、処理の繰り返し回数及び1回あたりの処理時間の傾向を反映させて処理時間を推定することができる。この点で、処理計画装置10によれば、単に処理対象データに基づく場合と比較して処理時間の推定精度が高まり、処理のスケジューリングの精度が高まることが期待される。   As a result, the processing planning apparatus 10 is expected to increase the estimation accuracy of the processing time (the required execution time of the processing), and the processing scheduling accuracy is expected to increase due to the increase in the estimation accuracy of the processing time. The In particular, the processing time estimation unit 12 can estimate the processing time by reflecting the tendency of the processing repetition count and the processing time per time based on the processing repetition count and the processing time per processing time. . In this respect, according to the processing planning apparatus 10, it is expected that the accuracy of estimation of processing time is increased and the accuracy of scheduling of processing is increased as compared with the case of simply based on processing target data.

なお、処理計画装置100の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
It should be noted that a program for realizing all or part of the processing planning apparatus 100 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed, thereby executing each part. Processing may be performed. Here, the “computer system” includes an OS and hardware such as peripheral devices.
The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes designs and the like that do not depart from the gist of the present invention.

1 サービス提供システム
10、100 処理計画装置
11、194 処理時間要素推定部
12、195 処理時間推定部
13、196 スケジューリング部
110 通信部
120 表示部
130 操作入力部
180 記憶部
190 制御部
191 期限情報取得部
192 データ内容係数取得部
193 処理アルゴリズム係数取得部
197 処理予約受付部
200 処理サーバ装置
300 第一通信ネットワーク
910 クライアントシステム
920 第二通信ネットワーク
DESCRIPTION OF SYMBOLS 1 Service provision system 10, 100 Process plan apparatus 11, 194 Processing time element estimation part 12, 195 Processing time estimation part 13, 196 Scheduling part 110 Communication part 120 Display part 130 Operation input part 180 Storage part 190 Control part 191 Time limit information acquisition Unit 192 data content coefficient acquisition unit 193 processing algorithm coefficient acquisition unit 197 processing reservation reception unit 200 processing server device 300 first communication network 910 client system 920 second communication network

Claims (7)

複数の処理要求の各々について、前記処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定する処理時間要素推定部と、
前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記1回あたりの処理時間に基づいて、要求される処理の実行時間を推定する処理時間推定部と、
前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間とに基づいて、前記複数の処理要求の実行のスケジューリングを行うスケジューリング部と
を備える処理計画装置。
For each of the plurality of processing requests, based on the processing target data amount in the processing request, a processing time element estimation unit that estimates the number of processing repetitions and processing time per time;
For each of the plurality of processing requests, a processing time estimation unit that estimates the execution time of the requested processing based on the number of repetitions of the processing and the processing time per one time;
A processing plan apparatus comprising: a scheduling unit that schedules execution of the plurality of processing requests based on a processing result output deadline set for each processing request and the execution time estimated for each processing request; .
前記複数の処理要求の各々について、処理要求期限を示す処理要求期限時情報、及び、処理結果出力期限を示す処理結果出力期限情報を取得する期限情報取得部を備え、
前記スケジューリング部は、各処理の実行時間の推定値、処理結果出力期限、処理要求期限、及び、処理を行うリソースの各条件を制約条件として、制約条件を満たすスケジュールを決定する、
請求項1に記載の処理計画装置。
For each of the plurality of processing requests, a processing request time limit information indicating a processing request time limit, and a time limit information acquisition unit for acquiring processing result output time limit information indicating a processing result output time limit,
The scheduling unit determines a schedule that satisfies the constraint condition, with the estimated value of the execution time of each process, the process result output deadline, the process request deadline, and each condition of the resource that performs the process as a constraint condition.
The processing plan apparatus according to claim 1.
前記スケジューリング部は、前記処理を行うリソースを提供するサーバの稼働時間を纏めるようにスケジューリングを行う、
請求項1又は請求項2に記載の処理計画装置。
The scheduling unit performs scheduling so as to summarize the operation time of a server that provides resources for performing the processing.
The processing plan apparatus of Claim 1 or Claim 2.
前記スケジューリング部は、前記処理を行うリソースが不足しているか否かを判定する、
請求項1から3の何れか一項に記載の処理計画装置。
The scheduling unit determines whether or not resources for performing the processing are insufficient.
The processing plan apparatus as described in any one of Claim 1 to 3.
前記スケジューリング部は、前記スケジューリングの結果に基づいて、処理要求毎に処理開始期限を決定する、
請求項1から4の何れか一項に記載の処理計画装置。
The scheduling unit determines a processing start time limit for each processing request based on the scheduling result;
The processing plan apparatus as described in any one of Claim 1 to 4.
複数の処理要求の各々について、前記処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定し、
前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記1回あたりの処理時間に基づいて、要求される処理の実行時間を推定し、
前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間に基づいて、前記複数の処理要求の実行のスケジューリングを行う
ことを含む処理計画方法。
For each of the plurality of processing requests, based on the processing target data amount in the processing request, estimate the number of processing repetitions and the processing time per time,
For each of the plurality of processing requests, the execution time of the required processing is estimated based on the number of repetitions of the processing and the processing time per time,
A process planning method including scheduling execution of the plurality of process requests based on a process result output deadline set for each process request and the execution time estimated for each process request.
コンピュータに、
複数の処理要求の各々について、前記処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定させ、
前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記1回あたりの処理時間に基づいて、要求される処理の実行時間を推定させ、
前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間に基づいて、前記複数の処理要求の実行のスケジューリングを行わせる、
ためのプログラム。
On the computer,
For each of the plurality of processing requests, based on the processing target data amount in the processing request, the number of processing repetitions and the processing time per time are estimated,
For each of the plurality of processing requests, the execution time of the required processing is estimated based on the number of repetitions of the processing and the processing time per time,
Based on the processing result output deadline set for each processing request and the execution time estimated for each processing request, the execution of the processing requests is scheduled.
Program for.
JP2017119977A 2017-06-19 2017-06-19 Processing planning device, processing planning method and program Active JP7074286B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017119977A JP7074286B2 (en) 2017-06-19 2017-06-19 Processing planning device, processing planning method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017119977A JP7074286B2 (en) 2017-06-19 2017-06-19 Processing planning device, processing planning method and program

Publications (2)

Publication Number Publication Date
JP2019003568A true JP2019003568A (en) 2019-01-10
JP7074286B2 JP7074286B2 (en) 2022-05-24

Family

ID=65004895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017119977A Active JP7074286B2 (en) 2017-06-19 2017-06-19 Processing planning device, processing planning method and program

Country Status (1)

Country Link
JP (1) JP7074286B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3975069A1 (en) 2020-09-09 2022-03-30 SCREEN Holdings Co., Ltd. Information processing apparatus, information processing system and information processing method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950412A (en) * 1995-08-10 1997-02-18 Hitachi Ltd Remote procedure calling method and system therefor
JPH09190474A (en) * 1996-01-11 1997-07-22 Toppan Printing Co Ltd Plate making process progress control system
JP2000276360A (en) * 1999-03-26 2000-10-06 Nec Ic Microcomput Syst Ltd Method and device for scheduling task
JP2007226587A (en) * 2006-02-24 2007-09-06 Mitsubishi Electric Corp Computer resource dynamic controller, computer resource dynamic control system and computer resource dynamic control method
JP2010160560A (en) * 2009-01-06 2010-07-22 Konica Minolta Business Technologies Inc Workflow management apparatus, workflow management method, and workflow management program
JP2011209885A (en) * 2010-03-29 2011-10-20 Fujitsu Ltd Program, method and device for estimating workload
WO2013030860A1 (en) * 2011-08-26 2013-03-07 株式会社日立製作所 Predictive sequential calculation device
JP2016057916A (en) * 2014-09-10 2016-04-21 キヤノン株式会社 Data sharing system, information processing method, and program

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950412A (en) * 1995-08-10 1997-02-18 Hitachi Ltd Remote procedure calling method and system therefor
JPH09190474A (en) * 1996-01-11 1997-07-22 Toppan Printing Co Ltd Plate making process progress control system
JP2000276360A (en) * 1999-03-26 2000-10-06 Nec Ic Microcomput Syst Ltd Method and device for scheduling task
JP2007226587A (en) * 2006-02-24 2007-09-06 Mitsubishi Electric Corp Computer resource dynamic controller, computer resource dynamic control system and computer resource dynamic control method
JP2010160560A (en) * 2009-01-06 2010-07-22 Konica Minolta Business Technologies Inc Workflow management apparatus, workflow management method, and workflow management program
JP2011209885A (en) * 2010-03-29 2011-10-20 Fujitsu Ltd Program, method and device for estimating workload
WO2013030860A1 (en) * 2011-08-26 2013-03-07 株式会社日立製作所 Predictive sequential calculation device
JP2016057916A (en) * 2014-09-10 2016-04-21 キヤノン株式会社 Data sharing system, information processing method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3975069A1 (en) 2020-09-09 2022-03-30 SCREEN Holdings Co., Ltd. Information processing apparatus, information processing system and information processing method

Also Published As

Publication number Publication date
JP7074286B2 (en) 2022-05-24

Similar Documents

Publication Publication Date Title
Singh et al. STAR: SLA-aware autonomic management of cloud resources
US9983900B2 (en) Capacity risk management for virtual machines
US9755988B2 (en) Method and system for arbitraging computer resources in a cloud computing environment
US9755990B2 (en) Automated reconfiguration of shared network resources
Gill et al. BULLET: particle swarm optimization based scheduling technique for provisioned cloud resources
US10033832B2 (en) Systems and methods for providing a client agent for delivery of remote services
US8909567B2 (en) Method and system for the dynamic allocation of resources based on fairness, throughput, and user behavior measurement
US20110313902A1 (en) Budget Management in a Compute Cloud
US9703285B2 (en) Fair share scheduling for mixed clusters with multiple resources
US9015723B2 (en) Resource optimization for real-time task assignment in multi-process environments
US20190180218A1 (en) Methods and systems for automated multi-user task scheduling
US20110154353A1 (en) Demand-Driven Workload Scheduling Optimization on Shared Computing Resources
US8843409B2 (en) Policy event management system and method
US20200342418A1 (en) Vehicle service center dispatch system
US20070101000A1 (en) Method and apparatus for capacity planning and resourse availability notification on a hosted grid
CN107003887A (en) Overloaded cpu setting and cloud computing workload schedules mechanism
US8744889B1 (en) Cost based employee scheduling
US11693655B2 (en) Method, apparatus, and system for outputting a development unit performance insight interface component comprising a visual emphasis element in response to an insight interface component request
CN113544647A (en) Capacity management in cloud computing systems using virtual machine family modeling
US20150242782A1 (en) Interactive Planning Method And Tool
Chard et al. Cost-aware cloud profiling, prediction, and provisioning as a service
US10545799B2 (en) Information processing apparatus, method for controlling same, and storage medium
JP2019003568A (en) Processing planning device, processing planning method, and program
US20150269510A1 (en) Workload determination for information technology service events
JP2019003567A (en) Processing time estimation device, processing time estimation method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220322

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220428

R150 Certificate of patent or registration of utility model

Ref document number: 7074286

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350