JP2019003568A - Processing planning device, processing planning method, and program - Google Patents
Processing planning device, processing planning method, and program Download PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 605
- 238000013439 planning Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims description 145
- YDLQKLWVKKFPII-UHFFFAOYSA-N timiperone Chemical compound C1=CC(F)=CC=C1C(=O)CCCN1CCC(N2C(NC3=CC=CC=C32)=S)CC1 YDLQKLWVKKFPII-UHFFFAOYSA-N 0.000 claims abstract 3
- 229950000809 timiperone Drugs 0.000 claims abstract 3
- 238000004891 communication Methods 0.000 description 55
- 238000010801 machine learning Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 17
- 230000004044 response Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000012384 transportation and delivery Methods 0.000 description 3
- 239000003814 drug Substances 0.000 description 2
- 229940079593 drug Drugs 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
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.
上記のように複数の処理を行う装置における処理のスケジューリングを行う場合、高精度にスケジューリングを行えることが好ましい。例えば、実行不可能な処理時間を見積もってスケジューリングを行った場合、得られたスケジュールに従うと期限までに処理を完了できない可能性がある。 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.
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図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
また、処理サーバ装置200と処理計画装置100とは、第一通信ネットワーク300を介して通信接続する。処理計画装置100とクライアントシステム910とは、第二通信ネットワーク920を介して通信接続する。
サービス提供システム1が備える処理サーバ装置200の数は、1つ以上であればよい。処理計画装置100に通信接続するクライアントシステム910の数も1つ以上であればよい。
Further, the
The number of
サービス提供システム1は、データ処理サービスを提供するシステムである。
処理計画装置100は、サービス提供システム1における窓口として機能する。具体的には、処理計画装置100は、クライアントシステム910からサービス提供要求及び処理対象のデータを受信し、処理サーバ装置200に処理を振り分ける。
また、処理計画装置100は、データ処理サービスの予約を受けて処理のスケジューリングを行う。処理計画装置100が決定したスケジュールに従ってクライアントシステム910がデータ処理を要求することで、処理が輻輳する可能性を低減させることができる。
The service providing system 1 is a system that provides a data processing service.
The
In addition, the
ここでいう処理の輻輳は、処理を実行するリソースに対して処理をダブルブッキングすることである。処理の輻輳が生じた場合、先の処理の完了を待って行われる後の処理のレスポンスタイム(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
また、処理の輻輳が生じた場合、処理を実行するリソースが、先の処理を実行する間、後の処理について処理対象データを含む処理要求を記憶しておくか、或いは処理要求元であるクライアントシステム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
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
これに対し、処理計画装置100が決定したスケジュールに従ってクライアントシステム910がデータ処理を要求して処理の輻輳を回避することで、リソースが後の処理要求の記憶容量を備える必要無しに、処理要求の再送によるクライアントシステム910及びリソースの負荷の増大及び通信帯域の消費を回避することができる。
処理計画装置100は、例えばワークステーション(Workstation)等のコンピュータを用いて構成される。
On the other hand, the
The
図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
通信部110は、他の機器と通信を行う。特に通信部110は、第二通信ネットワーク920を介してクライアントシステム910と通信接続する。通信部110は、クライアントシステム910からデータ処理要求を受信し、要求に対する回答として処理結果を送信する。また、通信部110は、クライアントシステム910との通信にて、データ処理サービスの予約を受ける。予約に際し、通信部110は、データ処理のスケジューリングを行う。
The
また、通信部110は、第一通信ネットワーク300を介して処理サーバ装置200と通信接続する。通信部110は、処理サーバ装置200へデータ処理要求を送信し、要求に対する回答として処理結果を受信する。処理サーバ装置200が複数ある場合、通信部110は、処理計画装置100が決定した送信先の処理サーバ装置200へデータ処理要求を送信して処理結果を受信する。
In addition, the
表示部120は、例えば液晶パネル又はLED(Light Emitting Diode、発光ダイオード)パネル等の表示画面を備え、各種画像を表示する。
操作入力部130は、例えばキーボード及びマウス等の入力デバイスを備え、ユーザ操作を受ける。
記憶部180は、各種データを記憶する。記憶部180は、処理計画装置100が備える記憶デバイスを用いて構成される。
The
The
The
制御部190は、処理計画装置100の各部を制御して各種処理を行う。制御部190は、処理計画装置100が備えるCPU(Central Processing Unit、中央処理装置)が記憶部180からプログラムを読み出して実行することで構成される。
期限情報取得部191は、通信部110が受信した複数のデータ処理要求の予約登録要求(データ処理の予約登録要求)の各々について、処理要求期限を示す処理要求期限情報、及び、処理結果出力期限を示す処理結果出力期限情報を取得する。以下では、データ処理要求を単に処理要求とも称する。
The
The time limit
通信部110がクライアントシステム910から処理要求期限情報を受信し、期限情報取得部191がクライアントシステム910からの受信データから処理要求期限情報を抽出するようにしてもよい。この場合、クライアントシステム910が、処理要求期限情報をデータ処理サービスの予約の情報に含めて送信するようにしてもよいし、別々に送信するようにしてもよい。
あるいは、処理要求期限が毎月同じ日時に定められている場合、記憶部180が処理要求期限の日時を記憶しておき、期限情報取得部191が記憶部180からその日時を読み出すようにしてもよい。
The
Alternatively, when the processing request deadline is set to the same date every month, the
処理結果出力期限についても、通信部110がクライアントシステム910から処理結果出力期限情報を受信し、期限情報取得部191がクライアントシステム910からの受信データから処理結果出力期限情報を抽出するようにしてもよい。この場合、クライアントシステム910が、処理結果出力期限情報をデータ処理サービスの予約の情報に含めて送信するようにしてもよいし、別々に送信するようにしてもよい。
あるいは、処理結果出力期限が毎月同じ日時に定められている場合、記憶部180が処理結果出力期限の日時を記憶しておき、期限情報取得部191が記憶部180からその日時を読み出すようにしてもよい。
Regarding the processing result output deadline, the
Alternatively, when the processing result output deadline is set to the same date every month, the
データ内容係数取得部192は、データ内容係数を取得する。ここでいうデータ内容係数は、処理要求における処理対象データの内容に応じた係数である。データ内容係数として、処理の難易度に基づく指標値を用いるようにしてもよい。例えば、データ内容係数として、データの内容から推定される処理の難易度に応じて決定される、標準の難易度の場合に対する処理時間の比の推定値を用いることができる。
The data content
例えば、クライアントシステム910のユーザであるサービス利用者が、予測される処理の難易度に基づいてデータ内容係数の値を決定し、決定された値をクライアントシステム910が処理時間推定装置100へ送信するようにしてもよい。データ内容係数取得部192は、クライアントシステム910からの受信データから、データ内容係数(の値)を抽出する。
For example, a service user who is a user of the
また、予約段階で処理対象データが得られている場合、通信部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
Alternatively, the data content
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
For example, the processing algorithm coefficient may be determined in advance for each processing algorithm, and the
The processing algorithm to be applied is designated by a user operation from the
処理時間要素推定部194は、通信部110が受信した複数の処理要求の予約登録要求の各々について、処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定する。ここでいう処理対象データ量は、処理対象データのデータ量である。ここでいう1回あたりの処理は、機械学習にて1つの解を求める処理である。ここでいう処理の繰り返しは、機械学習にて1つの解を求める処理を、判定基準を満たす解を得られるまで繰り返すことである。以下では、処理の繰り返し回数と1回あたりの処理時間とを総称して処理時間要素と表記する。
The processing time
例えば処理時間要素推定部194は、過去のデータ処理それぞれにおける処理対象データ量、処理の繰り返し回数、及び、1回あたりの処理時間を示すデータを学習用データとして取得する。そして、処理時間要素推定部194は、通信部110が受信した処理要求(予約登録を要求されている処理要求)それぞれについて、処理サーバ装置200が機械学習でデータ処理を行う場合の、処理の繰り返し回数及び1回あたりの処理時間を、機械学習で算出する。
For example, the processing time
例えば処理時間要素推定部194は、機械学習にて、処理対象データ量の入力を受けて処理の繰り返し回数を出力する関数、及び、処理対象データ量の入力を受けて1回あたりの処理時間を出力する関数を算出する。そして、処理時間要素推定部194は、予約登録を要求されている処理要求の各々における処理対象データ量を、得られた関数に入力して、処理の繰り返し回数及び1回あたりの処理時間を処理要求毎に算出する。
例えば記憶部180が、過去のデータ処理におけるデータを学習用データとして予め記憶しておく。そして、処理時間要素推定部194は、記憶部180から学習用データを読み出して使用する。
For example, the processing time
For example, the
処理時間要素推定部194が、処理対象データ量に加えてデータ内容係数に基づいて、処理の繰り返し回数及び1回あたりの処理時間のうち少なくともいずれか一方を推定するようにしてもよい。
例えば処理時間要素推定部194は、過去のデータ処理それぞれにおける処理対象データ量、データ内容係数、処理の繰り返し回数、及び、1回あたりの処理時間を示すデータを学習用データとして取得する。
The processing time
For example, the processing time
この場合、例えば処理時間要素推定部194は、機械学習にて、処理対象データ量及びデータ内容係数の入力を受けて処理の繰り返し回数を出力する関数、及び、処理対象データ量及びデータ内容係数の入力を受けて1回あたりの処理時間を出力する関数を算出する。処理時間要素推定部194は、予約登録対象となっている処理要求それぞれにおける処理対象データ量、及び、予約登録対象となっている処理要求それぞれに対してデータ内容係数取得部192が取得したデータ内容係数を、得られた各関数に入力して、処理の繰り返し回数及び1回あたりの処理時間を処理要求毎に算出する。
In this case, for example, the processing time
処理時間要素推定部194が、処理対象データ量に加えて処理アルゴリズム係数に基づいて、処理の繰り返し回数及び1回あたりの処理時間のうち少なくともいずれか一方を推定するようにしてもよい。
例えば処理時間要素推定部194は、過去のデータ処理それぞれにおける処理対象データ量、処理アルゴリズム係数、処理の繰り返し回数、及び、1回あたりの処理時間を示すデータを学習用データとして取得する。
The processing time
For example, the processing time
この場合、例えば処理時間要素推定部194は、機械学習にて、処理対象データ量及び処理アルゴリズム係数の入力を受けて処理の繰り返し回数を出力する関数、及び、処理対象データ量及び処理アルゴリズム係数の入力を受けて1回あたりの処理時間を出力する関数を算出する。処理時間要素推定部194は、予約登録対象となっている処理要求それぞれにおける処理対象データ量、及び、予約登録対象となっている処理要求それぞれに対して処理アルゴリズム係数取得部193が取得した処理アルゴリズム係数を、得られた各関数に入力して、処理の繰り返し回数及び1回あたりの処理時間を処理要求毎に算出する。
In this case, for example, the processing time
処理時間要素推定部194が、処理対象データ量に加えてデータ内容係数及び処理アルゴリズム係数に基づいて、処理の繰り返し回数及び1回あたりの処理時間のうち少なくともいずれか一方を推定するようにしてもよい。
例えば処理時間要素推定部194は、過去のデータ処理それぞれにおける処理対象データ量、データ内容係数、処理アルゴリズム係数、処理の繰り返し回数、及び、1回あたりの処理時間を示すデータを学習用データとして取得する。
The processing time
For example, the processing time
この場合、例えば処理時間要素推定部194は、機械学習にて、処理対象データ量、データ内容係数及び処理アルゴリズム係数の入力を受けて処理の繰り返し回数を出力する関数、及び、処理対象データ量、データ内容係数及び処理アルゴリズム係数の入力を受けて1回あたりの処理時間を出力する関数を算出する。処理時間要素推定部194は、予約登録対象となっている処理要求における処理対象データ量、予約登録対象となっている処理要求それぞれに対してデータ内容係数取得部192が取得したデータ内容係数、及び、予約登録対象となっている処理要求それぞれに対して処理アルゴリズム係数取得部193が取得した処理アルゴリズム係数を、得られた各関数に入力して、処理の繰り返し回数及び1回あたりの処理時間を処理要求毎に算出する。
In this case, for example, the processing time
処理時間要素推定部194が機械学習に用いるアルゴリズムは、特定のアルゴリズムに限定されない。例えば、処理時間要素推定部194が、ニューラルネットワーク、又は、一般化線形回帰のアルゴリズムを用いて機械学習を行うようにしてもよいが、これらに限らない。
The algorithm used by the processing time
処理時間推定部195は、通信部110が受信した複数の処理要求の各々について、処理の繰り返し回数及び1回あたりの処理時間に基づいて、要求される処理の実行時間を推定する。
例えば処理時間推定部195は、処理の繰り返し回数と1回あたりの処理時間とを乗算した積に、データ転送時間及びデータ変換時間など機械学習の実行以外の時間を加算した時間を実行時間として算出する。
機械学習の実行以外の時間は、例えば処理時間推定部195が、処理対象データ量に所定の係数を乗算して算出する。
The processing
For example, the processing
For example, the processing
スケジューリング部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
スケジューリング部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
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
スケジューリング部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
FIG. 5 is a diagram illustrating an example of a display screen on which the
処理開始期限は、スケジューリング部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
When the service user requests data processing according to the processing start time limit displayed by the
処理サーバ装置200は、サービス提供システム1が提供するデータ処理サービスにおけるデータ処理を実行する。処理サーバ装置200は、例えばメインフレーム(Mainframe)又はワークステーション等のコンピュータを用いて構成される。
処理サーバ装置200が実行するデータ処理の分野及び内容は特定の分野及び内容に限定されない。
例えば、医療分野において、処理サーバ装置200がカルテ又はレセプト情報から薬剤の使用状況を抽出して薬剤の消費量あるいは在庫状況を予測するようにしてもよい。あるいは、製造分野において、処理サーバ装置200が工場の生産管理情報から材料の使用量を抽出して在庫状況を予測する、あるいは、発注タイミングを提案するようにしてもよい。
The
The field and content of data processing executed by the
For example, in the medical field, the
クライアントシステム910は、サービス提供システム1に対してサービス提供を要求する。具体的には、クライアントシステム910はデータ処理要求を処理計画装置100に送信し、要求に対する応答にて処理結果を受信する。クライアントシステム910は、例えばパソコン(Personal Computer;PC)又はワークステーション等のコンピュータを用いて構成される。
The
第一通信ネットワーク300は、処理計画装置100と処理サーバ装置200との通信を仲介する通信ネットワークである。
第二通信ネットワーク920は、処理計画装置100とクライアントシステム910との通信を仲介する通信ネットワークである。
第一通信ネットワーク300、第二通信ネットワーク920の種類はいずれも特定の種類に限定されない。一例として、第一通信ネットワーク300はサービス提供システム1専用のLAN(Local Area Network)であってもよく、第二通信ネットワーク920はインターネット(Internet)であってもよいが、これらに限定されない。
また、第一通信ネットワーク300及び第二通信ネットワーク920が1つの通信ネットワークとして構成されていてもよい。
The
The
The types of the
Further, the
次に、図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
(ステップS111)
処理サーバ装置200は、処理対象データを取得する。具体的には、処理サーバ装置200は、処理対象データを含むデータ処理要求を処理計画装置100から受信する。そして、処理サーバ装置200は、受信したデータ処理要求から処理対象データを読み出す。
ステップS111の後、ステップS112へ進む。
(Step S111)
The
After step S111, the process proceeds to step S112.
(ステップS112)
処理サーバ装置200は、処理対象データに対して前処理を行う。例えば、処理サーバ装置200は、処理対象データを処理し易いデータ形式に変換する。
ステップS112の後、ステップS113へ進む。
(Step S112)
The
It progresses to step S113 after step S112.
(ステップS113)
処理サーバ装置200は、機械学習にてデータ処理を行う。
ステップS113の後、ステップS114へ進む。
(ステップS114)
処理サーバ装置200は、ステップS113でのデータ処理の結果を処理計画装置100へ通知(送信)する。
ステップS114の後、図6の処理を終了する。
(Step S113)
The
It progresses to step S114 after step S113.
(Step S114)
The
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
The
(Step S121)
The
例えば、処理サーバ装置200は、処理対象データとして、説明変数値及び目的変数値を示す複数の学習用データ(学習用データセット)を取得する。そして、処理サーバ装置200は、取得した学習用データセットのうち、例えば1割のデータなど幾つかのデータを検証用データセットに決定し、残りのデータをモデル構築用データセットに決定する。
ここでいう目的変数は、データ処理における取得対象の値を示す変数、すなわち、データ処理結果を示す変数である。ここでいう説明変数は、データ処理結果を算出する元となる値を示す変数である。
ステップS121の後、ステップS122へ進む。
For example, the
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
After step S122, the process proceeds to step S123.
(ステップS123)
処理サーバ装置200は、モデル構築用データセットを用いて機械学習アルゴリズムを実行し、学習結果を取得する。例えば、処理サーバ装置200は、説明変数値の入力を受けて目的変数値を出力する関数を学習結果として算出する。
ステップS123の後、ステップS124へ進む。
(Step S123)
The
After step S123, the process proceeds to step S124.
(ステップS124)
処理サーバ装置200は、ステップS123で得られた学習結果を、モデル検証用データセットを用いて評価する。
例えば、処理サーバ装置200は、学習結果として得られた関数にモデル検証用データに含まれる説明変数値を入力し、得られた目的変数値とモデル検証用データに含まれる説明変数値との差の大きさ(差の絶対値)を算出する。処理サーバ装置200は、モデル検証用データセットに含まれるモデルデータの各々について、かかる差の大きさを算出し、得られた差の大きさ平均値を、学習結果の評価値として算出する。
(Step S124)
The
For example, the
(ステップS125)
処理サーバ装置200は、ステップS124で得られた評価値に基づいて合否の判定を行う。具体的には、処理サーバ装置200は、ステップS124で得られた評価値と閾値とを比較する。評価値が閾値以下である場合、処理サーバ装置200は、学習結果を合格と評価する。一方、評価値が閾値より大きい場合、処理サーバ装置200は、学習結果を不合格と評価する。
(Step S125)
The
ステップ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
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
図8は、処理計画装置100がデータ処理の予約登録要求に対して行う処理の例を示すフローチャートである。処理計画装置100は、データ処理の予約登録要求を複数受けて処理計画装置100の処理を行う。例えば、処理計画装置100が、所定期間の間クライアントシステム910からの予約登録要求を記憶しておき、所定期間経過後に纏めてスケジューリングを行うようにしてもよい。
(ステップS211)
期限情報取得部191が、通信部110が受信した複数のデータ処理要求の各々について、処理要求期限情報及び処理結果出力期限情報を取得する。
ステップS211の後、ステップS212へ進む。
FIG. 8 is a flowchart illustrating an example of processing performed by the
(Step S211)
The time limit
After step S211, the process proceeds to step S212.
(ステップS212)
処理時間要素推定部194及び処理時間推定部195が、データ処理に要する処理時間を上記のように機械学習にて算出する。
通信部110が予約登録要求毎に、予約対象のデータ処理におけるデータ量の情報を含む時期情報予約を受信し、処理時間要素推定部194がこのデータ量の情報に基づいて処理時間要素を算出するようにしてもよい。あるいは、処理時間要素推定部194が、過去のデータ処理におけるデータ量に基づいて、予約登録要求毎に予約対象のデータ処理におけるデータ量を推定するようにしてもよい。
ステップS212の後、ステップS213へ進む。
(Step S212)
The processing time
For each reservation registration request,
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
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
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
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
以上のように、処理時間要素推定部194は、予約登録を要求されている複数の処理要求の各々について、処理要求における処理対象データ量に基づいて、処理の繰り返し回数及び1回あたりの処理時間を推定する。処理時間推定部195は、これら複数の処理要求の各々について、処理の繰り返し回数及び1回あたりの処理時間に基づいて、要求される処理の実行時間を推定する。スケジューリング部196は、これら処理要求毎に設定されている処理結果出力期限と、これら処理要求毎に推定された実行時間とに基づいて、これら複数の処理要求の実行のスケジューリングを行う。
As described above, the processing time
これにより、処理計画装置100では、処理時間(要求される処理の実行時間)の推定精度が高まることが期待され、処理時間の推定精度が高まることで処理のスケジューリングの精度が高まることが期待される。特に、処理時間推定部195が、処理の繰り返し回数及び1回あたりの処理時間に基づくことで、処理の繰り返し回数及び1回あたりの処理時間の傾向を反映させて処理時間を推定することができる。この点で、処理計画装置100によれば、単に処理対象データに基づく場合と比較して処理時間の推定精度が高まり、処理のスケジューリングの精度が高まることが期待される。
Thereby, in the
また、期限情報取得部191は、予約登録を要求されている複数の処理要求の各々について、処理要求期限を示す処理要求期限時情報、及び、処理結果出力期限を示す処理結果出力期限情報を取得する。スケジューリング部196は、各処理の実行時間の推定値、処理結果出力期限、処理要求期限、及び、処理を行うリソースの各条件を制約条件として、制約条件を満たすスケジュールを決定する。
クライアントシステム910が、得られたスケジュールに従ってデータ処理を要求することで、処理計画装置100は、処理結果出力期限までに処理結果をクライアントシステム910へ出力できるように、処理サーバ装置200へ処理を割り振ることができる。
Also, the time limit
When the
また、スケジューリング部196は、処理を行うリソースを提供する処理サーバ装置200の稼働時間を纏めるようにスケジューリングを行う。これにより、処理サーバ装置200が纏めて実行する処理のうち、後から実行する処理については、例えばクラウド上で借りている仮想マシンなど、処理に利用するマシンに対するログイン処理及び初期化処理をやり直す必要がない。この点で、処理計画装置100によれば処理サーバ装置200を効率よく利用することができ、その分だけ処理サーバ装置200の利用料金を低減させることができる。
In addition, the scheduling unit 196 performs scheduling so as to collect the operation time of the
また、スケジューリング部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
また、スケジューリング部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
With this configuration, the processing time
これにより、処理計画装置10では、処理時間(要求される処理の実行時間)の推定精度が高まることが期待され、処理時間の推定精度が高まることで処理のスケジューリングの精度が高まることが期待される。特に、処理時間推定部12が、処理の繰り返し回数及び1回あたりの処理時間に基づくことで、処理の繰り返し回数及び1回あたりの処理時間の傾向を反映させて処理時間を推定することができる。この点で、処理計画装置10によれば、単に処理対象データに基づく場合と比較して処理時間の推定精度が高まり、処理のスケジューリングの精度が高まることが期待される。
As a result, the
なお、処理計画装置100の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
It should be noted that a program for realizing all or part of the
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
Claims (7)
前記複数の処理要求の各々について、前記処理の繰り返し回数及び前記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回あたりの処理時間に基づいて、要求される処理の実行時間を推定し、
前記処理要求毎に設定されている処理結果出力期限と、前記処理要求毎に推定された前記実行時間に基づいて、前記複数の処理要求の実行のスケジューリングを行う
ことを含む処理計画方法。 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.
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)
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)
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 |
-
2017
- 2017-06-19 JP JP2017119977A patent/JP7074286B2/en active Active
Patent Citations (8)
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)
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 |