Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7074286B2 - Processing planning device, processing planning method and program - Google Patents
[go: Go Back, main page]

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

Processing planning device, processing planning method and program Download PDF

Info

Publication number
JP7074286B2
JP7074286B2 JP2017119977A JP2017119977A JP7074286B2 JP 7074286 B2 JP7074286 B2 JP 7074286B2 JP 2017119977 A JP2017119977 A JP 2017119977A JP 2017119977 A JP2017119977 A JP 2017119977A JP 7074286 B2 JP7074286 B2 JP 7074286B2
Authority
JP
Japan
Prior art keywords
processing
request
time
deadline
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017119977A
Other languages
Japanese (ja)
Other versions
JP2019003568A (en
Inventor
学 近藤
優次 種井
一学 武田
睦 池田
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)

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 equipment that performs multiple processes, such as information processing devices that execute multiple processes and communication devices that transmit multiple communication signals. In some cases, processing is scheduled.
For example, Patent Document 1 describes a communication control device that schedules communication. 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 fixed cycle. Then, the schedule unit calculates the communication processing time, which is the time required for the communication processing (processing for communication) of the non-periodic transmission unit having a transmission request, and obtains the remaining time of the fixed cycle of the fixed-period transmission unit. Communication is scheduled by comparing the communication processing time with the remaining time of the fixed cycle.

特開2012-170036号公報Japanese Unexamined Patent Publication No. 2012-170036

上記のように複数の処理を行う装置における処理のスケジューリングを行う場合、高精度にスケジューリングを行えることが好ましい。例えば、実行不可能な処理時間を見積もってスケジューリングを行った場合、得られたスケジュールに従うと期限までに処理を完了できない可能性がある。 When scheduling processes in a device that performs a plurality of processes as described above, it is preferable that the scheduling can be performed with high accuracy. For example, when scheduling is performed by estimating an infeasible processing time, it may not be possible to complete the processing 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 capable of solving the above-mentioned problems.

本発明の第1の態様によれば、処理計画装置は、複数の処理要求の各々について、前記処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定する処理時間要素推定部と、前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記1回あたりの処理時間に基づいて、要求される処理の実行時間を推定する処理時間推定部と、前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間とに基づいて、前記複数の処理要求の実行のスケジューリングを、処理を行うリソースを提供するサーバの稼働時間を纏めるように行い、スケジューリングの結果に基づいて、前記処理要求毎に処理開始期限を決定し、決定した処理開始期限までに処理を要求するようサービス利用者に促す通知を行うスケジューリング部とを備える。 According to the first aspect of the present invention, the processing planning apparatus estimates the number of times of processing and the processing time per processing based on the amount of data to be processed in the processing request for each of the plurality of processing requests. A processing time element estimation unit, 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 processing for each of the plurality of processing requests, and the processing time estimation unit. A server that provides a resource for scheduling 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. A scheduling unit that summarizes the operating time , determines the processing start deadline for each processing request based on the scheduling result, and notifies the service user to request processing by the determined processing start deadline. To prepare for.

本発明の第2の態様によれば、処理計画方法は、複数の処理要求の各々について、前記処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定し、前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記1回あたりの処理時間に基づいて、要求される処理の実行時間を推定し、前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間に基づいて、前記複数の処理要求の実行のスケジューリングを、処理を行うリソースを提供するサーバの稼働時間を纏めるように行い、スケジューリングの結果に基づいて、前記処理要求毎に処理開始期限を決定し、決定した処理開始期限までに処理を要求するようサービス利用者に促す通知を行うことを含む。 According to the second aspect of the present invention, the processing planning method estimates the number of times of processing and the processing time per processing based on the amount of data to be processed in the processing request for each of the plurality of processing requests. , 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 processing, and the processing result output set for each processing request is output. Based on the deadline and the execution time estimated for each processing request, the execution of the plurality of processing requests is scheduled so as to summarize the operating time of the server that provides the resource for processing, and the result of the scheduling is Based on this, the processing start deadline is determined for each of the processing requests, and the service user is notified to request the processing by the determined processing start deadline.

本発明の第3の態様によれば、プログラムは、コンピュータに、複数の処理要求の各々について、前記処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定させ、前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記1回あたりの処理時間に基づいて、要求される処理の実行時間を推定させ、前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間に基づいて、前記複数の処理要求の実行のスケジューリングを、処理を行うリソースを提供するサーバの稼働時間を纏めるように行わせ、スケジューリングの結果に基づいて、前記処理要求毎に処理開始期限を決定させ、決定した処理開始期限までに処理を要求するようサービス利用者に促す通知を行わせるためのプログラムである。
According to the third aspect of the present invention, the program estimates to the computer the number of times of processing and the processing time per processing based on the amount of data to be processed in the processing request for each of the plurality of processing requests. 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 processing, and the processing result set for each processing request. Based on the output deadline and the execution time estimated for each processing request, the execution of the plurality of processing requests is scheduled so as to summarize the operating time of the server that provides the resource for processing . Based on the result, the processing start deadline is determined for each of the processing requests, and the service user is notified to request the processing by the determined processing start deadline.

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

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

以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本発明の一実施形態に係るサービス提供システムの機能構成を示す概略ブロック図である。図1に示すように、サービス提供システム1は、処理計画装置100と、処理サーバ装置200と、第一通信ネットワーク300とを備える。
Hereinafter, embodiments of the present invention will be described, but the following embodiments do not limit the invention according to the claims. Also, not all combinations of features described in the embodiments are essential to the means of solving 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 communicated and connected via the first communication network 300. The processing planning device 100 and the client system 910 are communicated and connected via the second communication network 920.
The number of the processing server devices 200 included in the service providing system 1 may be one or more. The number of client systems 910 that are communicated and connected to the processing planning device 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 device 100 functions as a contact point in the service providing system 1. Specifically, the processing planning device 100 receives the service provision request and the data to be processed from the client system 910, and distributes the processing to the processing server device 200.
Further, the processing planning apparatus 100 receives a reservation for the data processing service and schedules the processing. 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が実行する仮想マシンである。
The processing congestion here is to double-book the processing to the resource that executes the processing. When processing congestion occurs, the response time of the processing after waiting for the completion of the previous processing becomes long, and it may not be possible to respond by the response deadline of the processing result.
In the present embodiment, the resource that executes processing is, for example, a processing server device 200 or a virtual machine executed by the processing server device 200.

また、処理の輻輳が生じた場合、処理を実行するリソースが、先の処理を実行する間、後の処理について処理対象データを含む処理要求を記憶しておくか、或いは処理要求元であるクライアントシステム910が処理要求を再送する必要が生じる。
リソースが処理要求を記憶する場合、そのための記憶容量が必要であり、記憶容量が不足する場合は処理要求の再送が必要となる。
クライアントシステム910が処理要求を再送する場合、処理要求の送受信を繰り返す点でクライアントシステム910及びリソースの負荷が大きくなり、また、通信帯域を消費する。
In addition, when processing congestion occurs, the resource that executes the processing stores the processing request including the processing target data for the subsequent processing while executing the previous processing, or the client that is the processing request source. The system 910 will need to retransmit the processing request.
When the resource stores the processing request, the storage capacity for that is required, 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 the resources increases at the point where the processing request is repeatedly transmitted and received, 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 to avoid processing congestion, so that the resource does not need to have the storage capacity of the later processing request. It is possible to avoid an increase in the load on the client system 910 and resources due to retransmission and consumption of communication bandwidth.
The processing planning apparatus 100 is configured by 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 showing a functional configuration of the processing planning apparatus 100. As shown in FIG. 2, the processing planning device 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 deadline 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, and a processing reservation. It is equipped with 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 communicates with the client system 910 via the second communication network 920. The communication unit 110 receives the data processing request from the client system 910 and transmits the processing result as a response to the request. Further, the communication unit 110 receives a reservation for a data processing service by communicating with the client system 910. At the time of reservation, the communication unit 110 schedules data processing.

また、通信部110は、第一通信ネットワーク300を介して処理サーバ装置200と通信接続する。通信部110は、処理サーバ装置200へデータ処理要求を送信し、要求に対する回答として処理結果を受信する。処理サーバ装置200が複数ある場合、通信部110は、処理計画装置100が決定した送信先の処理サーバ装置200へデータ処理要求を送信して処理結果を受信する。 Further, the communication unit 110 communicates with 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 the 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 destination processing server device 200 determined by the processing planning device 100, and receives the 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 an input device such as a keyboard and a mouse, and receives user operations.
The storage unit 180 stores various data. The storage unit 180 is configured by using the storage device included in the processing planning device 100.

制御部190は、処理計画装置100の各部を制御して各種処理を行う。制御部190は、処理計画装置100が備えるCPU(Central Processing Unit、中央処理装置)が記憶部180からプログラムを読み出して実行することで構成される。
期限情報取得部191は、通信部110が受信した複数のデータ処理要求の予約登録要求(データ処理の予約登録要求)の各々について、処理要求期限を示す処理要求期限情報、及び、処理結果出力期限を示す処理結果出力期限情報を取得する。以下では、データ処理要求を単に処理要求とも称する。
The control unit 190 controls each unit of the processing planning device 100 to perform various processes. The control unit 190 is configured by a CPU (Central Processing Unit) included in the processing planning device 100 reading a program from the storage unit 180 and executing the program.
The deadline information acquisition unit 191 has the processing request deadline information indicating the processing request deadline and the processing result output deadline for each of the reservation registration requests (data processing reservation registration request) of the plurality of data processing requests received by the communication unit 110. The processing result output deadline information indicating 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 include the processing request deadline information in the reservation information of the data processing service and transmit the information, or may transmit the information separately.
Alternatively, when the processing request deadline is set to the same date and time 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, even if the communication unit 110 receives the processing result output deadline information from the client system 910 and the deadline information acquisition unit 191 extracts 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 in the reservation information of the data processing service and transmit the information, or may transmit the information separately.
Alternatively, when the processing result output deadline is set to the same date and time 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. May be good.

データ内容係数取得部192は、データ内容係数を取得する。ここでいうデータ内容係数は、処理要求における処理対象データの内容に応じた係数である。データ内容係数として、処理の難易度に基づく指標値を用いるようにしてもよい。例えば、データ内容係数として、データの内容から推定される処理の難易度に応じて決定される、標準の難易度の場合に対する処理時間の比の推定値を用いることができる。 The data content coefficient acquisition unit 192 acquires the data content coefficient. The data content coefficient referred to here is a coefficient according to the content of the data to be processed in the processing request. As the data content coefficient, an index value based on the difficulty of processing may be used. For example, as the data content coefficient, an estimated value of the ratio of the processing time to the case of the standard difficulty level, which is determined according to the processing difficulty 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 a value of the data content coefficient based on the predicted difficulty of processing, and the client system 910 transmits the determined value to the processing time estimation device 100. You may do so. The data content coefficient acquisition unit 192 extracts (value) the data content coefficient from the data received 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. The 180 may store the data content coefficient for each data to be processed. Then, when the processing planning apparatus 100 calculates the processing time, the data content coefficient acquisition unit 192 may read the data content coefficient corresponding to the data for which the processing time is calculated 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 the variance or standard deviation of the data to be processed. Alternatively, the processing time estimation device 100 or another device 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 machine learning. May be good. In this case, the processing time estimation device 100 or another device may use, for example, [processing time] = [coefficient 1] * data 1 + [coefficient 2] * data 2+ ...
Regression equations such as may be generated by machine learning as in multiple regression analysis.

処理アルゴリズム係数取得部193は、処理アルゴリズム係数を取得する。ここでいう処理アルゴリズム係数は、処理要求に対する処理アルゴリズムに応じた係数である。
例えば、処理アルゴリズム毎に処理アルゴリズム係数が予め定められ、記憶部180が予め処理アルゴリズム毎に処理アルゴリズム係数を記憶しておくようにしてもよい。そして、処理計画装置100が処理時間を算出する際に、処理アルゴリズム係数取得部193が、適用予定の処理アルゴリズムに応じた処理アルゴリズム係数を記憶部180から読み出すようにしてもよい。あるいは処理時間推定装置100又は他の装置が、機械学習を行って処理アルゴリズム係数値を算出し、処理アルゴリズム係数取得部193が、機械学習の結果得られた処理アルゴリズム係数値を取得するようにしてもよい。
適用予定の処理アルゴリズムは、例えば処理計画装置100の管理者が操作入力部130からのユーザ操作にて指定する。あるいは、処理アルゴリズム係数取得部193が、処理対象データに基づいて自動的に、適用予定の処理アルゴリズムを決定するようにしてもよい。
The processing algorithm coefficient acquisition unit 193 acquires the processing algorithm coefficient. The processing algorithm coefficient referred to here is a coefficient corresponding to the processing algorithm for the processing request.
For example, the processing algorithm coefficient may be predetermined for each processing algorithm, and the storage unit 180 may store the processing algorithm coefficient for each processing algorithm in advance. Then, when the processing planning apparatus 100 calculates the processing time, the processing algorithm coefficient acquisition unit 193 may read the processing algorithm coefficient corresponding to the processing algorithm to be applied from the storage unit 180. Alternatively, the processing time estimation device 100 or another device performs machine learning to calculate the processing algorithm coefficient value, and the processing algorithm coefficient acquisition unit 193 acquires the processing algorithm coefficient value obtained as a result of machine learning. May be good.
The processing algorithm to be applied is specified, for example, by a user operation from the operation input unit 130 by the administrator of the processing planning apparatus 100. Alternatively, the processing algorithm coefficient acquisition unit 193 may automatically determine the 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 the processing time per processing based on the amount of data to be processed in the processing request for each of the reservation registration requests of the plurality of processing requests received by the communication unit 110. do. The amount of data to be processed here is the amount of data to be processed. The one-time processing referred to here is a processing for obtaining one solution by machine learning. The repetition of the process referred to here is to repeat the process of finding one solution by machine learning until a solution satisfying the determination criteria is obtained. In the following, the number of times the process is repeated and the process time per process are collectively referred to as a process time element.

例えば処理時間要素推定部194は、過去のデータ処理それぞれにおける処理対象データ量、処理の繰り返し回数、及び、1回あたりの処理時間を示すデータを学習用データとして取得する。そして、処理時間要素推定部194は、通信部110が受信した処理要求(予約登録を要求されている処理要求)それぞれについて、処理サーバ装置200が機械学習でデータ処理を行う場合の、処理の繰り返し回数及び1回あたりの処理時間を、機械学習で算出する。 For example, the processing time element estimation unit 194 acquires data indicating the amount of data to be processed, the number of times of processing repetition, and the processing time per processing as learning data in each of the past data processing. Then, the processing time element estimation unit 194 repeats processing when the processing server device 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 one time are calculated by machine learning.

例えば処理時間要素推定部194は、機械学習にて、処理対象データ量の入力を受けて処理の繰り返し回数を出力する関数、及び、処理対象データ量の入力を受けて1回あたりの処理時間を出力する関数を算出する。そして、処理時間要素推定部194は、予約登録を要求されている処理要求の各々における処理対象データ量を、得られた関数に入力して、処理の繰り返し回数及び1回あたりの処理時間を処理要求毎に算出する。
例えば記憶部180が、過去のデータ処理におけるデータを学習用データとして予め記憶しておく。そして、処理時間要素推定部194は、記憶部180から学習用データを読み出して使用する。
For example, the processing time element estimation unit 194 receives an input of the amount of data to be processed and outputs the number of repetitions of processing in machine learning, and receives an input of the amount of data to be processed and determines the processing time per time. Calculate the output function. Then, the processing time element estimation unit 194 inputs the amount of data to be processed in each of the processing requests for which reservation registration is requested into the obtained function, and processes the number of times of processing and the processing time per processing. Calculated for each request.
For example, the storage unit 180 stores in advance the data in the past data processing as learning data. Then, the processing time element estimation unit 194 reads out 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 times of processing and the processing time per processing based on the data content coefficient in addition to the amount of data to be processed.
For example, the processing time element estimation unit 194 acquires data indicating the amount of data to be processed, the data content coefficient, the number of times of processing repetition, and the processing time per processing as training data in each of the past data processing.

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

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

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

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

処理時間推定部195は、通信部110が受信した複数の処理要求の各々について、処理の繰り返し回数及び1回あたりの処理時間に基づいて、要求される処理の実行時間を推定する。
例えば処理時間推定部195は、処理の繰り返し回数と1回あたりの処理時間とを乗算した積に、データ転送時間及びデータ変換時間など機械学習の実行以外の時間を加算した時間を実行時間として算出する。
機械学習の実行以外の時間は、例えば処理時間推定部195が、処理対象データ量に所定の係数を乗算して算出する。
The processing time estimation unit 195 estimates the execution time of the requested processing for each of the plurality of processing requests received by the communication unit 110 based on the number of times the processing is repeated and the processing time per processing.
For example, the processing time estimation unit 195 calculates the execution time as the time obtained by adding the time other than the execution of machine learning such as the data transfer time and the data conversion time to the product obtained by multiplying the number of times of processing repetition and the processing time per processing. do.
The time other than the execution of machine learning is calculated, for example, by the processing time estimation unit 195 by multiplying the amount of data to be processed 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 estimated execution time for each of the plurality of processing requests.
In this scheduling, the scheduling unit 196 allocates the processing request to be reserved and registered to the resource so that the double booking for the resource does not occur and the processing is completed by the processing result output deadline.

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

図3は、処理を行うリソースを提供するサーバの稼働時間を纏めるスケジューリングの例を示す図である。図3の横軸は日時を示す。
図3の例では、スケジューリング部196は、処理A及び処理Bの2つの処理を1つのリソースに割り当てる。処理Aは、日時T111から実行可能であり、日時T114が処理結果の回答期限である。処理Bは、日時T121から実行可能であり、日時T124が処理結果の回答期限である。また、図3の例では処理時間推定部195が処理A、処理Bそれぞれに要する処理時間を推定済みである。
FIG. 3 is a diagram showing an example of scheduling that summarizes the operating time of a server that provides a resource for performing 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 deadline for replying the processing result. Process B can be executed from the date and time T121, and the date and time T124 is the deadline for replying the processing result. Further, in the example of FIG. 3, the processing time estimation unit 195 has already estimated the processing time required for each of processing A and 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 and time of process A and the scheduled start date and time of process B are the same. For example, the scheduling unit 196 is within the period of the date and time T121 to T114, which is a period common to the date and time T111 to T114, which is the period during which the process A can be executed, and the date and time T121 to T124, which is the period during which the process B can be executed. The date and time T131 is determined to be the scheduled end date and time of process A and the scheduled start date and time of 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 the date and time T113, which is traced 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 the 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 collectively allocates the process A and the process B to the resource A during the period from the date and time T113 to T122, thereby summarizing the operating time of the process server device 200 that provides the resource A. ..
By scheduling the scheduling unit 196 so that the scheduled end date and time of process A and the scheduled start date and time of process B are the same, it is necessary to log in to the resource and perform initialization processing (initialization) when processing B is executed. do not have. In this respect, the resource usage time can be shortened, and if the resource usage is charged, the billing can be reduced.

スケジューリング部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 processes the date and time within the period before the date and time T123, which is after the date and time T112 which is after the estimated execution time of process A from the date and time T111 and which is earlier than the estimated execution time of process B from the date and time T124. By determining the scheduled end date and time and the scheduled start date and time of process B, both 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 sets the scheduled end date and time of the process A within this period. The scheduled start date and time of 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 date and time T121 to T114. Alternatively, the scheduling unit 196 may determine a specific date and time, such as an intermediate date and time between the date and time T121 to T114, as the scheduled end date and time of process A and the scheduled start date and time of process B.

また、スケジューリング部196が、料金の比較的安いリソースなど特定のリソースに優先的に処理を割り当てるようにしてもよい。
ここで、サービス提供者(サービス提供システム1の管理者)が、サービス利用者からの処理要求に対し、クラウドで仮想マシンを提供している事業者から仮想マシンを借りて処理を行う場合を考える。
例えばクラウドで仮想マシンを提供している事業者が複数ある場合、事業者毎に料金が異なることが考えられる。このような場合、スケジュールに余裕がないと、料金の安い事業者の仮想マシンが使用中で借りられず、料金の高い事業者の仮想マシンを借りる必要が生じることが考えられる。これに対し、スケジュールに余裕を持って仮想マシンを借りることができれば、料金の安い事業者の仮想マシンを予約するか、あるいは、料金の安い事業者の仮想マシンに空きがあるときに、その仮想マシンを借りて処理を行うことができる。サービス提供者は、このような仮想マシンの利用料金の違いを、サービス利用者に対する料金に反映させることができる。
サービス提供者が、事業者にバッチ処理でサービス提供を依頼する場合も同様である。
Further, the scheduling unit 196 may preferentially allocate processing to a specific resource such as a resource having a relatively low charge.
Here, consider a case where a service provider (administrator of the service provision system 1) rents a virtual machine from a business operator that provides a virtual machine in the cloud to process a processing request from a service user. ..
For example, if there are multiple businesses that provide virtual machines in the cloud, it is possible that the charges will differ for each business. In such a case, if there is no room in the schedule, it is conceivable that the virtual machine of the low-priced business operator cannot be rented because it is in use, and it may be necessary to rent the virtual machine of the high-priced business operator. On the other hand, if you can rent a virtual machine with plenty of time to spare, you can either reserve a virtual machine of a low-priced operator or reserve a virtual machine of a low-priced operator when there is a vacancy. You can rent a machine to do the processing. The service provider can reflect such a 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 business operator 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 showing an example of scheduling in which processing is preferentially assigned to a specific resource. The horizontal axis of FIG. 4 indicates the date and time.
In the example of FIG. 4, the scheduling unit 196 allocates the processes C to G to the two resources A and B. At that time, since it is cheaper to have the resource A execute the processing than to cause the resource B to execute the processing, the scheduling unit 196 allocates as much processing as possible to the resource A and cannot allocate the processing 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 was not assigned to the resource A due to the overlap of the executable period with the processes C and E to the resource B. ing.
In this way, by scheduling the scheduling unit 196 to allocate the processing to the resource A as much as possible, the resource usage fee can be suppressed relatively low.

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

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

処理開始期限は、スケジューリング部196が決定した処理開始期限の表示欄である。
納品期限欄は、データ処理要求に対する処理結果の回答期限の表示欄である。この回答期限を納品期限とも称する。
閉じるボタンは、処理スケジュール画面を閉じるよう指示するユーザ操作を受けるためのボタンアイコンである。サービス利用者が閉じるボタンを操作(例えばマウスクリック)すると、クライアントシステム910は、処理スケジュール画面の表示を終了して前画面へ戻る。
クライアントシステム910が表示する処理開始期限に従ってサービス利用者がデータ処理を要求することで、処理が輻輳する可能性を低減させることができる。
The processing start deadline is a display column of the processing start deadline determined by the scheduling unit 196.
The delivery deadline column is a display column for the response deadline of the processing result for the data processing request. This response deadline is also called the delivery deadline.
The close button is a button icon for receiving a user operation instructing to close the processing schedule screen. When the service user operates the close button (for example, clicks the mouse), 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 deadline 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 the data processing service provided by the service providing system 1. The processing server device 200 is configured by using a computer such as a mainframe or a workstation.
The fields and contents of data processing executed by the processing server device 200 are not limited to specific fields and contents.
For example, in the medical field, the processing server device 200 may extract the usage status of the drug from the medical record or the receipt information to predict the consumption amount or the inventory status of the drug. Alternatively, in the manufacturing field, the processing server device 200 may extract the amount of material used from the production control information of the factory to predict the inventory status, or propose the ordering timing.

クライアントシステム910は、サービス提供システム1に対してサービス提供を要求する。具体的には、クライアントシステム910はデータ処理要求を処理計画装置100に送信し、要求に対する応答にて処理結果を受信する。クライアントシステム910は、例えばパソコン(Personal Computer;PC)又はワークステーション等のコンピュータを用いて構成される。 The client system 910 requests the service provision system 1 to provide the service. Specifically, the client system 910 transmits a data processing request to the processing planning apparatus 100, and receives the processing result in response to the request. The client system 910 is configured by 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 device 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. 6 to 8.
FIG. 6 is a flowchart showing an example of a processing procedure performed by the processing server device 200 for a data processing request. When the processing server device 200 receives the data processing request from the processing planning device 100, the processing server device 200 starts the processing of FIG.

(ステップS111)
処理サーバ装置200は、処理対象データを取得する。具体的には、処理サーバ装置200は、処理対象データを含むデータ処理要求を処理計画装置100から受信する。そして、処理サーバ装置200は、受信したデータ処理要求から処理対象データを読み出す。
ステップS111の後、ステップS112へ進む。
(Step S111)
The processing server device 200 acquires the data to be processed. Specifically, the processing server device 200 receives a data processing request including the data to be processed from the processing planning device 100. Then, the processing server device 200 reads out the data to be processed 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 data to be processed. For example, the processing server device 200 converts the processing target data into a data format that is easy to process.
After step S112, the process proceeds to step S113.

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

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

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

(ステップS122)
処理サーバ装置200は、解探索のステップ幅など機械学習における各種パラメータの値を初期設置する。ここでのパラメータ値の初期設定方法は、特定の方法に限定されない。例えば、処理サーバ装置200が、パラメータの初期設定値をランダムに決定するようにしてもよいし、予め定められている値に決定するようにしてもよいし、前回の学習結果に基づいて決定するようにしてもよい。
ステップS122の後、ステップS123へ進む。
(Step S122)
The processing server device 200 initially installs the values of various parameters in machine learning such as the step width of the solution search. The method of initializing the parameter value here is not limited to a specific method. For example, the processing server device 200 may randomly determine the initial setting value of the parameter, may determine it to a predetermined value, or determine it based on the previous learning result. You may do so.
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 building data set and acquires the learning result. For example, the processing server device 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 validation data set.
For example, the processing server device 200 inputs the explanatory variable value included in the model verification data into the function obtained as the training result, and the difference between the obtained objective variable value and the explanatory variable value included in the model verification data. Calculate the magnitude of (absolute value of difference). The processing server device 200 calculates the magnitude of the difference for each of the model data included in the model validation data set, and calculates the average value of the obtained difference magnitudes as the 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 the 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 a failure.

ステップS125で学習結果を合格と評価した場合(ステップS125:YES)、図7の処理を終了し、図6の処理へ戻る。
一方、ステップS125で学習結果を不合格と評価した場合(ステップS125:NO)、ステップS131へ進む。
When the learning result is evaluated as passing in step S125 (step S125: YES), the process of FIG. 7 is terminated, and the process returns to the process of 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 the values of various parameters in machine learning.
After step S131, the process returns to step S123.
The series of processes from steps S121 to S125 and the series of processes from steps S131 to S125 correspond to the example of one process in machine learning, respectively.
The learning algorithm used by the processing server device 200 for the processing of FIG. 7 is not limited to a specific algorithm, and may be any one that can evaluate the learning result and repeat the processing as shown in FIG. 7.

図8は、処理計画装置100がデータ処理の予約登録要求に対して行う処理の例を示すフローチャートである。処理計画装置100は、データ処理の予約登録要求を複数受けて処理計画装置100の処理を行う。例えば、処理計画装置100が、所定期間の間クライアントシステム910からの予約登録要求を記憶しておき、所定期間経過後に纏めてスケジューリングを行うようにしてもよい。
(ステップS211)
期限情報取得部191が、通信部110が受信した複数のデータ処理要求の各々について、処理要求期限情報及び処理結果出力期限情報を取得する。
ステップS211の後、ステップS212へ進む。
FIG. 8 is a flowchart showing an example of processing performed by the processing planning apparatus 100 in response to a reservation registration request for data processing. The processing planning apparatus 100 receives a plurality of reservation registration requests for data processing and processes the processing planning apparatus 100. For example, the processing planning apparatus 100 may store the reservation registration request from the client system 910 for a predetermined period, and perform scheduling collectively after the elapse of the predetermined period.
(Step S211)
The deadline information acquisition unit 191 acquires the processing request deadline information and the processing result output deadline information for each of the plurality of data processing requests received by the communication unit 110.
After step S211 it 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.
The communication unit 110 receives a time information reservation including information on the amount of data in the data processing to be reserved for each reservation registration request, and the processing time element estimation unit 194 calculates the processing time element based on the information on the amount of data. You may do so. Alternatively, the processing time element estimation unit 194 may estimate the amount of data in the data processing to be reserved for each reservation registration request based on the amount of data 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 or not the resource is insufficient. Specifically, the scheduling unit 196 compares the total value of the processing time required for data processing with the total value of the processing time that can be processed by the available resources. The service providing system 1 determines that the resources are sufficient, in which the total value of the processing times required for data processing is equal to or less than the total value of the processing times that can be processed by the available resources. On the other hand, when the total value of the processing time required for data processing is larger than the total value of the processing time that can be processed by the available resources, the service providing system 1 determines that the resources are insufficient. On the other hand, if it is determined that the resources are sufficient (step S213: NO), the process proceeds to step S221. On the other hand, if it is determined that the resources are insufficient (step S213: YES), the process proceeds to step S231.

(ステップS221)
スケジューリング部196は、予約対象となっているデータ処理のスケジューリングを行う。予約対象となっている全てのデータ処理のスケジューリングを完了すると、スケジューリング部196は、スケジューリングの結果に基づいてデータ処理の予約を行う。具体的には、スケジューリング部196は、予約対象となっているデータ処理毎に、データ処理の開始予定日時情報及びデータ処理結果の出力予定日時情報とを含む予約情報を記憶部180に記憶させることで、予約の登録を行う。
ステップS221の後、ステップS222へ進む。
(Step S221)
The scheduling unit 196 schedules the data processing to be reserved. When the scheduling of all the data processing to be reserved is completed, the scheduling unit 196 makes a reservation for the data processing based on the scheduling result. Specifically, the scheduling unit 196 stores the reservation information including the scheduled start date / time information of the data processing and the output scheduled date / time information of the data processing result in the storage unit 180 for each data processing 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 client system 910 of the reservation registration request source via the communication unit 110 of the schedule. For example, the scheduling unit 196 transmits a reservation completion notification including the processing start deadline information and the result output deadline information to the client system 910 of the reservation registration request source via the communication unit 110. Upon receiving the reservation completion notification, the client system 910 displays information on the data processing schedule such as the processing start deadline and the result output deadline, as in the example of FIG.
After step S222, the process of FIG. 8 is terminated.

(ステップ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 alarm, the display unit 120 can notify the service provider (administrator of the service providing device 1) that the resource is likely to be insufficient in the near future, and prompt measures in advance. Further, when the resources are insufficient, the service providing system 1 may automatically allocate additional resources.
After step S231, the process of FIG. 8 is terminated. In this case, the reservation registration for data processing is not performed. For example, after the administrator of the service providing system 1 adds the shortage of resources, the processing planning apparatus 100 is instructed to perform the processing of FIG. 8 again.

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

これにより、処理計画装置100では、処理時間(要求される処理の実行時間)の推定精度が高まることが期待され、処理時間の推定精度が高まることで処理のスケジューリングの精度が高まることが期待される。特に、処理時間推定部195が、処理の繰り返し回数及び1回あたりの処理時間に基づくことで、処理の繰り返し回数及び1回あたりの処理時間の傾向を反映させて処理時間を推定することができる。この点で、処理計画装置100によれば、単に処理対象データに基づく場合と比較して処理時間の推定精度が高まり、処理のスケジューリングの精度が高まることが期待される。 As a result, in the processing planning apparatus 100, it is expected that the estimation accuracy of the processing time (execution time of the required processing) will be improved, and the accuracy of the processing scheduling will be improved by increasing the estimation accuracy of the processing time. To. 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 processing based on the number of processing repetitions and the processing time per processing. .. In this respect, according to the processing planning apparatus 100, it is expected that the estimation accuracy of the processing time will be improved and the accuracy of the processing scheduling will be improved as compared with the case of simply based on the processing target data.

また、期限情報取得部191は、予約登録を要求されている複数の処理要求の各々について、処理要求期限を示す処理要求期限時情報、及び、処理結果出力期限を示す処理結果出力期限情報を取得する。スケジューリング部196は、各処理の実行時間の推定値、処理結果出力期限、処理要求期限、及び、処理を行うリソースの各条件を制約条件として、制約条件を満たすスケジュールを決定する。
クライアントシステム910が、得られたスケジュールに従ってデータ処理を要求することで、処理計画装置100は、処理結果出力期限までに処理結果をクライアントシステム910へ出力できるように、処理サーバ装置200へ処理を割り振ることができる。
Further, the deadline information acquisition unit 191 acquires the processing request deadline information indicating the processing request deadline and the processing result output deadline information indicating the processing result output deadline for each of the plurality of processing requests for which reservation registration is requested. do. The scheduling unit 196 determines a schedule that satisfies the constraint conditions, with each condition of the estimated value of the execution time of each process, the process result output deadline, the process request deadline, and the resource to be processed as the constraint conditions.
When the client system 910 requests data processing according to the obtained schedule, the processing planning device 100 allocates the 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の利用料金を低減させることができる。 Further, the scheduling unit 196 performs scheduling so as to summarize the operating time of the processing server device 200 that provides the resource for processing. As a result, among the processes executed collectively by the processing server device 200, it is necessary to redo the login process and the initialization process for the machine used for the process, for example, the virtual machine rented on the cloud. There is no. In this respect, according to the processing planning apparatus 100, the processing server apparatus 200 can be efficiently used, and the usage fee of the processing server apparatus 200 can be reduced by that amount.

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

また、スケジューリング部196は、スケジューリングの結果に基づいて、処理要求毎に処理開始期限を決定する。
スケジューリング部196が決定した処理開始期限に従ってサービス利用者がデータ処理を要求することで、処理が輻輳する可能性を低減させることができる。
Further, the scheduling unit 196 determines the processing start deadline for each processing 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 shown in FIG. 9 includes a processing time element estimation unit 11, a processing time estimation unit 12, and a scheduling unit 13.
In such a configuration, the processing time element estimation unit 11 estimates the number of times of processing and the processing time per processing based on the amount of data to be processed in the processing request for each of the plurality of processing requests. The processing time estimation unit 12 estimates the execution time of the requested processing for each of the plurality of processing requests based on the number of times the processing is repeated and the processing time per processing. 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, in the processing planning apparatus 10, it is expected that the estimation accuracy of the processing time (execution time of the required processing) will be improved, and the accuracy of the processing scheduling will be improved by increasing the estimation accuracy of the processing time. To. In particular, the processing time estimation unit 12 can estimate the processing time by reflecting the tendency of the number of processing repetitions and the processing time per processing based on the number of processing repetitions and the processing time per processing. .. In this respect, according to the processing planning apparatus 10, it is expected that the estimation accuracy of the processing time will be improved and the accuracy of the processing scheduling will be improved as compared with the case of simply based on the processing target data.

なお、処理計画装置100の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
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. Processing may be performed. The term "computer system" as used herein includes hardware such as an OS and peripheral devices.
Further, the "computer-readable recording medium" refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, or a CD-ROM, and a storage device such as a hard disk built in a computer system. Further, the above-mentioned program may be for realizing a part of the above-mentioned functions, and may be further realized for realizing the above-mentioned functions in combination with a program already recorded in the computer system.

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

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

Claims (6)

複数の処理要求の各々について、前記処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定する処理時間要素推定部と、
前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記1回あたりの処理時間に基づいて、要求される処理の実行時間を推定する処理時間推定部と、
前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間とに基づいて、前記複数の処理要求の実行のスケジューリングを、処理を行うリソースを提供するサーバの稼働時間を纏めるように行い、スケジューリングの結果に基づいて、前記処理要求毎に処理開始期限を決定し、決定した処理開始期限までに処理を要求するようサービス利用者に促す通知を行うスケジューリング部と
を備える処理計画装置。
For each of the plurality of processing requests, a processing time element estimation unit that estimates the number of times of processing and the processing time per processing based on the amount of data to be processed in the processing request, and
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 processing for each of the plurality of processing requests.
A server that provides a resource for scheduling 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. A scheduling unit that summarizes the operating hours of the server, determines the processing start deadline for each processing request based on the scheduling result, and notifies the service user to request processing by the determined processing start deadline. A processing planning device equipped with.
前記複数の処理要求の各々について、処理要求期限を示す処理要求期限時情報、及び、処理結果出力期限を示す処理結果出力期限情報を取得する期限情報取得部を備え、
前記スケジューリング部は、各処理の実行時間の推定値、処理結果出力期限、処理要求期限、及び、処理を行うリソースの各条件を制約条件として、制約条件を満たすスケジュールを決定する、
請求項1に記載の処理計画装置。
For each of the plurality of processing requests, a deadline information acquisition unit for acquiring processing request deadline information indicating the processing request deadline and processing result output deadline information indicating the processing result output deadline is provided.
The scheduling unit determines a schedule that satisfies the constraint conditions, with each condition of the execution time estimated value of each process, the process result output deadline, the process request deadline, and the resource to be processed as the constraint conditions.
The processing planning apparatus according to claim 1.
前記スケジューリング部は、前記処理を行うリソースが不足しているか否かを判定する、
請求項1または請求項2に記載の処理計画装置。
The scheduling unit determines whether or not the resource for performing the processing is insufficient.
The processing planning apparatus according to claim 1 or 2 .
前記スケジューリング部は、料金が比較的安いリソースに優先的に処理を割り当てる、
請求項1からの何れか一項に記載の処理計画装置。
The scheduling unit preferentially allocates processing to resources with relatively low charges.
The processing planning apparatus according to any one of claims 1 to 3 .
複数の処理要求の各々について、前記処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定し、
前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記1回あたりの処理時間に基づいて、要求される処理の実行時間を推定し、
前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間に基づいて、前記複数の処理要求の実行のスケジューリングを、処理を行うリソースを提供するサーバの稼働時間を纏めるように行い、
スケジューリングの結果に基づいて、前記処理要求毎に処理開始期限を決定し、
決定した処理開始期限までに処理を要求するようサービス利用者に促す通知を行う
ことを含む処理計画方法。
For each of the plurality of processing requests, the number of processing repetitions and the processing time per processing are estimated based on the amount of data to be processed 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 processing.
A server that provides resources for scheduling 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. Do it so that the operating hours are summarized ,
Based on the scheduling result, the processing start deadline is determined for each processing request, and the processing start deadline is determined.
A processing planning method that includes notifying service users to request processing by the determined processing start deadline.
コンピュータに、
複数の処理要求の各々について、前記処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定させ、
前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記1回あたりの処理時間に基づいて、要求される処理の実行時間を推定させ、
前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間に基づいて、前記複数の処理要求の実行のスケジューリングを、処理を行うリソースを提供するサーバの稼働時間を纏めるように行わせ、
スケジューリングの結果に基づいて、前記処理要求毎に処理開始期限を決定させ、
決定した処理開始期限までに処理を要求するようサービス利用者に促す通知を行わせる
ためのプログラム。
On the computer
For each of the plurality of processing requests, the number of times the processing is repeated and the processing time per processing are estimated based on the amount of data to be processed 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 processing.
A server that provides resources for scheduling 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. Let them summarize the operating hours
Based on the result of scheduling, the processing start deadline is determined for each processing request.
A program to notify service users to request processing by the determined processing start deadline.
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 JP2019003568A (en) 2019-01-10
JP7074286B2 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7489275B2 (en) 2020-09-09 2024-05-23 株式会社Screenホールディングス Information processing device, information processing system, and information processing method
WO2026071110A1 (en) * 2024-09-30 2026-04-02 中外製薬株式会社 Information processing system, information processing method, and prediction method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 control device, 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

Family Cites Families (2)

* 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
JPH09190474A (en) * 1996-01-11 1997-07-22 Toppan Printing Co Ltd Platemaking process progress management system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 control device, 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

Also Published As

Publication number Publication date
JP2019003568A (en) 2019-01-10

Similar Documents

Publication Publication Date Title
US8843409B2 (en) Policy event management system and method
US10033832B2 (en) Systems and methods for providing a client agent for delivery of remote services
US8285836B2 (en) Policy creation support method, policy creation support system, and program therefor
US8498887B2 (en) Estimating project size
US8909567B2 (en) Method and system for the dynamic allocation of resources based on fairness, throughput, and user behavior measurement
US20190180218A1 (en) Methods and systems for automated multi-user task scheduling
US10742526B2 (en) System and method for dynamically controlling sample rates and data flow in a networked measurement system by dynamic determination of statistical significance
EP2736192B1 (en) Method and apparatus to manage service level agreement
US20080184241A1 (en) Techniques for automated balancing of tasks across multiple computers
US9152919B2 (en) Method and system for recommending tasks to crowdworker
US20220334837A1 (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
US20150347693A1 (en) Method and system for selecting readers for the analysis of radiology orders using due-in-time requirements of radiology orders
US8914798B2 (en) Production control for service level agreements
US20150254560A1 (en) Predicting application programming interface consumption using social networks
US20130160018A1 (en) Method and system for the dynamic allocation of resources based on a multi-phase negotiation mechanism
JP7074286B2 (en) Processing planning device, processing planning method and program
WO2017044408A1 (en) System and method for characterizing crowd users that participate in crowd-sourced jobs and scheduling their participation
US8990122B2 (en) Method and system for providing computer application support
JP6131725B2 (en) Information processing apparatus and information processing program
KR101398099B1 (en) The method, server and terminal for providing advertising service
JP6984943B2 (en) Processing time estimation device, processing time estimation method and program
US20090228315A1 (en) Project Assessment Using Project Yield Determination
US9400681B1 (en) Managing scheduled tasks within a virtual space
US20250390594A1 (en) Dynamic account-related action system with automated processing of data structures
JP2026067497A (en) Information processing systems, information processing methods, and programs

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250