(57)【要約】  分散システム（３０００）は処理サーバ（３２００）を有する。処理サーバ（３２００）にはタスクが割り当てられる。速度情報取得部（２０２０）は、処理サーバ（３２００）上で実行されているタスクの処理速度に関する情報である速度情報を取得する。異常判定部（２０４０）は、速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する。割当除外部（２０６０）は、異常判定部（２０４０）によって判定対象のタスクの処理速度が異常であると判定された場合に、そのタスクが割り当てられている処理サーバ（３２００）を、新たなタスクの割り当て対象から一時的に除外する。
2015001850.tif 000002
【特許請求の範囲】
【請求項１】
分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するタスク割当判定装置であって、
前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得手段と、
前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定手段と、
前記異常判定手段によって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外手段と、
を有するタスク割当判定装置。
【請求項２】
前記タスクの処理速度の履歴である速度履歴を取得する速度履歴取得手段を有し、
前記異常判定手段は、前記判定対象のタスクの処理速度と、前記判定対象のタスクの速度履歴とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、
請求項１に記載のタスク割当判定装置。
【請求項３】
前記判定対象のタスクの速度履歴に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出手段を有し、
前記異常判定手段は、前記判定対象のタスクの処理速度が前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常である判定する、
請求項２に記載のタスク割当判定装置。
【請求項４】
前記異常判定手段は、前記判定対象のタスクの処理速度と、前記判定対象のタスク以外の前記タスクの処理速度とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、請求項１に記載のタスク割当判定装置。
【請求項５】
前記判定対象のタスク以外のタスクの処理速度、又は前記判定対象のタスクを含む複数の前記タスクの処理速度に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出手段を有し、
前記異常判定手段は、前記判定対象のタスクの処理速度が、前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常であると判定する、
請求項４に記載のタスク割当判定装置。
【請求項６】
前記タスクに対応するタスク種別を取得するタスク種別取得手段を有し、
前記異常判定手段が前記判定対象のタスクとの比較対象とする前記タスクは、前記判定対象のタスクと同一のタスク種別に対応する、
請求項４又は５に記載のタスク割当判定装置。
【請求項７】
前記サーバを新たなタスクの割り当て対象から除外する期間である除外期間を格納する除外期間格納手段を有し、
前記割当除外手段は、前記異常判定手段によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、前記除外期間の間、新たなタスクの割り当て対象から除外する請求項１乃至６いずれか一項に記載のタスク割当判定装置。
【請求項８】
前記除外期間格納手段は、前記サーバごとに前記除外期間を格納しており、
前記割当除外手段は、前記異常判定手段によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、そのサーバに対応付けられている前記除外期間の間、新たなタスクの割り当て対象から除外し、
前記異常判定手段によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバに対応付けられている前記除外期間を更新する除外期間更新手段を有する、
請求項７に記載のタスク割当判定装置。
【請求項９】
前記処理サーバを新たなタスクの割り当て対象から除外する除外期間の最大値を格納する最大除外期間格納手段を有し、
前記割当除外手段は、前記異常判定手段によって処理速度が異常であると判定された前記判定対象のタスクを実行している前記サーバが、既に新たなタスクの割り当て対象から除外されており、かつその前記サーバが新たなタスクの割り当て対象から除外された時点からの経過時間が、前記除外期間の最大値を超えている場合、そのサーバを新たなタスクの割り当て対象とする、
請求項１乃至８いずれ一項に記載のタスク割当判定装置。
【請求項１０】
分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するコンピュータによって実行される制御方法であって、
前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得ステップと、
前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定ステップと、
前記異常判定ステップによって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外ステップと、
を有する制御方法。
【請求項１１】
分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するタスク割当判定装置として動作する機能をコンピュータに持たせるプログラムであって、
前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得機能と、
前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定機能と、
前記異常判定機能によって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外機能と、
を前記コンピュータに持たせるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散システムにおけるタスク割り当ての技術に関する。
【背景技術】
【０００２】
ジョブを分割することで生成された複数のタスクを、複数の計算機（以下、処理サーバ）に分散して実行させる分散システムが開発されている。処理サーバは、タスクを実行できる状態になると、新たなタスクの割り当てを受ける。このような形態の分散システムでは、タスクが終了した処理サーバから順に新たなタスクが割り当てられるため、高速な処理サーバに対してより多くのタスクが割り当てられやすくなる。その結果、ジョブの実行効率が高くなる。【０００３】
処理サーバに対してタスクを割り当てる技術又はそれに関連する技術を開示している先行技術文献として、非特許文献１及び特許文献１〜５がある。非特許文献１は、処理サーバ上で実行されているタスクの処理に要する時間を予測し、その時間がこれまでに実行したタスクの処理に要した時間に対して十分に長い場合に、実行中のタスクの処理に要する時間を短くする技術を開示している。具体的には、１）上記実行中のタスクを同じサーバ上で再実行する、２）上記実行中のタスクを複製し、同じサーバ上で実行する、又は３）上記実行中のタスクを複製し、複製したタスクを別の複数の処理サーバに割り当てるという方法により、実行中のタスクの処理に要する時間を短くする。【０００４】
特許文献１及び２は、予め計測しておいたタスクの負荷指標と処理サーバの性能指標に基づいて、タスクの割当計画を静的に算出する技術を開示する。特許文献３は、ジョブの進捗状況に基づいて推定したジョブの完了時間がジョブの要求完了時間を満たさない場合に、そのジョブを複数のタスクに分割し、分割したタスクを複数の処理サーバに割り当てることで、タスクを並列処理する技術を開示する。特許文献４は、処理サーバの構成に基づいて算出された静的な性能指標値に基づき、高性能な処理サーバに対してタスクを割り当てる技術を開示する。特許文献５は、契約ユーザごとに契約ＣＰＵ使用率を定めておき、契約ユーザから受け付けた処理のＣＰＵ使用率が契約ＣＰＵ使用率を超えた場合に、その契約ユーザから受け付けた新たな処理の開始を所定の時間遅延する技術を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２４３２１６号公報
【特許文献２】特開２０１０−２７７６０４号公報
【特許文献３】特開２００８−１２３２０５号公報
【特許文献４】特開２００７−３１７０３８号公報
【特許文献５】特開２０１２−１５６８００号公報
【０００６】
【非特許文献１】Ganesh Ananthanarayanan、外６名、「Reining in the Outliers in Map-Reduce Clusters using Mantri」、Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation (OSDI '10)、２０１０年１０月４日
【発明の概要】
【発明が解決しようとする課題】
【０００７】
分散システムにおいて、一部のタスクの処理速度が一時的に遅れることがある。その要因は、そのタスクを実行している処理サーバの故障、その処理サーバ上で実行されているソフトウエアのバグ、タスクが利用するデータの断片化、その処理サーバが接続されているネットワークにおける輻輳など、多岐に渡る。ここで、ジョブを完了するためには、そのジョブを分割することで生成された全てのタスクを完了する必要がある。そのため、一部のタスクの進捗が遅くなると、そのタスクを含むジョブ全体の終了が遅くなってしまう。【０００８】
本発明者は、新たなタスクを割り当てる処理サーバを決定する際に、各処理サーバで実行されているタスクの処理速度を考慮する必要性を見出した。処理速度が遅いタスクを実行している処理サーバに対して新たなタスクを割り当てると、新たに割り当てたタスクの処理速度も遅くなると考えられる。【０００９】
非特許文献１が開示しているのは、既に実行されているタスクの処理に要する時間を短くするための技術であり、新たなタスクの割り当てを決定するための技術ではない。特許文献１または２記載の技術では、事前に計測したタスクの負荷指標と処理サーバの性能指標に基づいてタスクの割当計画を算出するため、タスクの処理速度の一時的な低下が割当計画に反映されない。特許文献３記載の技術も、非特許文献１記載の技術と同様に、既に実行されているタスクの完了に要する時間を短くするための技術であり、新たなタスクを決定するための技術ではない。特許文献４記載の技術は、事前に算出した処理サーバの性能指標値に基づいてタスクの割り当てを行う技術であり、実行されているタスクの処理速度がタスクの割り当てに反映されない。特許文献５記載の技術は、サーバに対して処理を割り当てた後にその処理の開始時間を遅延する技術であり、タスクの割り当てを決定する技術ではない。【００１０】
本発明は、以上の課題に鑑みてなされたものである。本発明の目的は、分散システムにおいて一部のタスクの処理速度が遅くなっている場合に、その他のタスクの処理速度が遅くなることを避けるようにタスクの割り当てを行う技術を提供することである。
【課題を解決するための手段】
【００１１】
本発明が提供するタスク割当判定装置は、分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定する。当該タスク割当判定装置は、前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得手段と、前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定手段と、前記異常判定手段によって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外手段と、を有する。【００１２】
本発明が提供する制御方法は、分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するコンピュータによって実行される。当該制御方法は、前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得ステップと、前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定ステップと、前記異常判定ステップによって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外ステップと、を有する。【００１３】
本発明が提供するプログラムは、コンピュータに、本発明が提供するタスク割当判定装置として動作する機能を持たせるプログラムである。当該プログラムは、このコンピュータに、本発明が提供するタスク割当判定装置が有する各機能構成部が有する機能を持たせる。
【発明の効果】
【００１４】
本発明によれば、分散システムにおいて一部のタスクの処理速度が遅くなっている場合に、その他のタスクの処理速度が遅くなることを避けるようにタスクの割り当てを行う技術が提供される。
【図面の簡単な説明】
【００１５】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１６】
【図１】実施形態１に係る割当判定装置をその使用環境と共に例示するブロック図である。
【図２】割当判定装置の構成を例示する図である。
【図３】実施形態１に係る割当判定装置のハードウエア構成を例示するブロック図である。
【図４】実施形態１に係る割当判定装置によって実行される処理の流れを例示するフローチャートである。
【図５】実施例１に係る割当判定装置をその使用環境と共に示すブロック図である。
【図６】実施例１の分散システムに含まれる処理サーバを示す図である。
【図７】コンピュータ c1 と c2 の速度情報格納部に格納されている速度情報を示す図である。
【図８】速度情報管理部によって管理されている速度情報を示す図である。
【図９】コンピュータ c1 と c2 の速度情報格納部に格納されている速度情報を示す図である。
【図１０】速度情報管理部によって管理されている速度情報を示す図である。
【図１１】異常判定部が算出したタスク T1 と T2 の１秒当たりの処理進捗率を示す図である。
【図１２】実施形態２に係る割当判定装置の構成を例示する図である。
【図１３】正常範囲算出部を有する実施形態２に係る割当判定装置の構成を例示する図である。
【図１４】実施形態２に係る割当判定装置によって実行される処理の流れを例示するフローチャートである。
【図１５】正常範囲算出部を有する実施形態３に係る割当判定装置の構成を例示する図である。
【図１６】実施形態３の割当判定装置によって実行される処理の流れを例示するフローチャートである。
【図１７】実施形態４に係る割当判定装置の構成を例示する図である。
【図１８】実施形態４の割当判定装置によって実行される処理の流れを例示するフローチャートである。
【図１９】実施例２における割当判定装置及びその使用環境を示すブロック図である。
【図２０】実施例２における分散システムに含まれる処理サーバを示す図である。
【図２１】実施例２におけるタスクとタスク種別との対応を表す図である。
【図２２】コンピュータ c1 〜 c3 の速度情報格納部に格納されている速度情報を合わせて示す図である。
【図２３】速度情報管理部によって管理されている速度情報を示す図である。
【図２４】コンピュータc1 〜 c3の速度情報格納部に格納されている速度情報を合わせて示す図である。
【図２５】速度情報管理部によって管理されている速度情報を示す図である。
【図２６】速度情報管理部から取得した速度情報に基づいて算出されたタスクの進捗度を示す図である。
【図２７】実施形態５に係る割当判定装置の構成を例示する図である。
【図２８】実施形態５の割当判定装置によって実行される処理の流れを例示するフローチャートである。
【図２９】実施形態６に係る割当判定装置の構成を例示する図である。
【図３０】実施形態６の割当判定装置によって実行される処理の流れを例示するフローチャートである。
【図３１】実施形態７に係る割当判定装置の構成を例示する図である。
【図３２】実施形態７の割当判定装置によって実行される処理の流れを例示するフローチャートである。
【図３３】実施例３に係る割当判定装置２０００及びその使用環境を示す図である。
【図３４】コンピュータ c1 及び c2 の速度情報格納部３２４０に格納されている速度情報を合わせて示す図である。
【図３５】速度情報管理部によって管理されている速度情報を示す図である。
【図３６】速度情報管理部から取得した速度情報に基づいて算出されたタスクの進捗度を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１８】
[実施形態１]
図１は、実施形態１に係る割当判定装置２０００をその使用環境と共に例示するブロック図である。図１において、矢印は情報の流れを表している。さらに、図１において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００１９】
分散システム３０００は、複数の処理サーバ３２００を有する。各処理サーバ３２００には、タスクが割り当てられる。処理サーバ３２００は、サーバ、パーソナルコンピュータ（ＰＣ）、タブレット端末など、種々の計算機である。処理サーバ３２００は、割り当てられたタスクを実行する。割当判定装置２０００は、処理サーバ３２００に対するタスクの割り当てを判定する。具体的には、処理サーバ３２００上で実行されているタスクの処理速度に基づいて、処理サーバ３２００を新たなタスクを割り当てる対象から一時的に除外するか否かを判定する。割当判定装置２０００は、処理サーバ３２００同様、種々の計算機である。なお、処理サーバ３２００上で実行するタスクは１つであってもよいし、複数であってもよい。
【００２０】
処理サーバ３２００と割当判定装置２０００は、ネットワークを介して接続されている。このネットワークは、有線回線で構成されるネットワークでもよいし、無線回線で構成されるネットワークでもよいし、有線回線と無線回線が混在するネットワークでもよい。
【００２１】
図２は、割当判定装置２０００の構成を例示する図である。図２において、矢印は情報の流れを表している。さらに、図２において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。割当判定装置２０００は、速度情報取得部２０２０、異常判定部２０４０、及び割当除外部２０６０を有する。以下、それぞれについて説明する。
【００２２】
＜速度情報取得部２０２０＞
速度情報取得部２０２０は、処理サーバ３２００上で実行されているタスクの処理速度に関する情報である速度情報を取得する。
【００２３】
＜異常判定部２０４０＞
異常判定部２０４０は、速度情報を用いて、判定対象のタスク（以下、対象タスク）の処理速度が異常であるか否かを判定する。
【００２４】
＜割当除外部２０６０＞
割当除外部２０６０は、異常判定部２０４０によって対象タスクの処理速度が異常であると判定された場合に、その対象タスクが割り当てられている処理サーバ３２００を、新たなタスクの割り当て対象から一時的に除外する。以下、新たなタスクの割り当て対象から一時的に除外された処理サーバ３２００を、除外サーバと表記する。ここで、新たなタスクとは、割当除外部２０６０の決定によって対象タスクを実行している処理サーバ３２００が除外サーバになった後に、いずれかの処理サーバ３２００へ割り当てられるタスクである。したがって、過去にある処理サーバ３２００上で実行されたことがあるタスクでも、現在その処理サーバ３２００上で実行されていなければ、その処理サーバ３２００にとって新たなタスクとしてよい。
【００２５】
＜ハードウエア構成＞
割当判定装置２０００が有する各機能構成部は、例えば、個々に又は複数組み合わせられた状態で、少なくとも１つのハードウエア構成要素として実現される。その他にも例えば、各機能構成部は、少なくとも１つのソフトウエア構成要素として実現される。その他にも例えば、各機能構成部は、ハードウエア構成要素とソフトウエア構成要素の組み合わせにより実現される。
【００２６】
図３は、実施形態１に係る割当判定装置２０００のハードウエア構成を例示するブロック図である。図３において、割当判定装置２０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージ１０８０、及びネットワークアダプタ１１００を有する。
【００２７】
バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージ１０８０、及びネットワークアダプタ１１００が、相互にデータを送受信するためのデータ伝送路である。プロセッサ１０４０は、例えば CPU (Central Processing Unit) や GPU (Graphics Processing Unit) などの演算処理装置である。メモリ１０６０は、例えば RAM (Random Access Memory) や ROM (Read Only Memory) などのメモリである。ストレージ１０８０は、例えばメモリカード、ハードディスク、又は SSD (Solid State Drive) などの記憶装置である。また、ストレージ１０８０は、RAM や ROM 等のメモリであってもよい。ネットワークアダプタ１１００は、割当判定装置２０００が外部の装置とネットワークを介して通信を行うためのインタフェースである。ネットワークアダプタ１１００は、無線回線に接続するためのインタフェースであってもよいし、有線回線に接続するためのインタフェースであってもよい。
【００２８】
速度情報取得モジュール１２２０は、割当判定装置２０００に、速度情報取得部２０２０の機能を持たせるためのプログラムである。プロセッサ１０４０は、速度情報取得モジュール１２２０を実行することで、速度情報取得部２０２０の機能を実現する。
【００２９】
異常判定モジュール１２４０は、割当判定装置２０００に、異常判定部２０４０の機能を持たせるためのプログラムである。プロセッサ１０４０は、異常判定モジュール１２４０を実行することで、異常判定部２０４０の機能を実現する。
【００３０】
割当除外モジュール１２６０は、割当判定装置２０００に、割当除外部２０６０の機能を持たせるためのプログラムである。プロセッサ１０４０は、割当除外モジュール１２６０を実行することで、割当除外部２０６０の機能を実現する。
【００３１】
例えばプロセッサ１０４０は、上記各モジュールをメモリ１０６０上に読み出して実行する。ただし、プロセッサ１０４０は、上記各モジュールを、メモリ１０６０上に読み出さずに実行してもよい。
【００３２】
ストレージ１０８０は、上記各モジュールを格納する。
【００３３】
割当判定装置２０００のハードウエア構成は、図３に示した構成に限定されない。例えば、上記各モジュールはメモリ１０６０に格納されてもよい。この場合、割当判定装置２０００は、ストレージ１０８０を備えていなくてもよい。
【００３４】
＜処理の流れ＞
図４は、実施形態１に係る割当判定装置２０００によって行われる処理の流れを例示するフローチャートである。
【００３５】
ステップＳ１０２において、速度情報取得部２０２０は、対象タスクの速度情報を取得する。ステップＳ１０４において、異常判定部２０４０は、速度情報を用いて、対象タスクの処理速度が異常であるか否かを判定する。ステップＳ１０６において、割当除外部２０６０は、異常判定部２０４０によって対象タスクの処理速度が異常であると判定されたか否かを判定する。異常判定部２０４０によって対象タスクの処理速度が異常であると判定された場合（ステップＳ１０６：ＹＥＳ）、図４の処理は、ステップＳ１０８に進む。一方、異常判定部２０４０によって対象タスクの処理速度が異常でないと判定された場合（ステップＳ１０６：ＮＯ）、図４の処理は終了する。ステップＳ１０８において、割当除外部２０６０は、対象タスクが割り当てられているサーバを、新たなタスクの割り当て対象から一時的に除外する。
【００３６】
以下、本実施形態の割当判定装置２０００について、さらに詳しく説明する。
【００３７】
＜速度情報取得部２０２０の詳細＞
速度情報取得部２０２０が取得する速度情報は、例えばタスクの処理速度を直接示す情報である。タスクの処理速度は、単位時間当たりのタスクの進捗率、単位時間当たりのデータ処理量、又は単位時間当たりのリソース使用量やリソース使用率などで表される。リソースは、例えば CPU、メモリ、ディスク帯域、又はネットワーク帯域などである。
【００３８】
また速度情報は、タスクの処理速度の算出に利用できる情報であってもよい。この場合、例えば速度情報は、時点と、その時点におけるタスクの進捗度とを組み合わせて示す。この速度情報を用いることで、例えばタスクの処理速度は、「タスクの進捗度の差／時点の差」を計算することで算出できる。
【００３９】
タスクの進捗度は、タスクの進捗率、処理対象のデータ量に対する処理済みのデータ量の割合などを示す。また例えば、タスクの進捗度は、タスクが使用したリソース量を累積した値を示す。タスクがどの程度リソースを使用してきたかを把握することで、タスクの進捗度合いを予測することができる。さらに、タスクの進捗度は、数学モデルなどを利用して計算された残り処理時間の予測値であってもよい。
【００４０】
速度情報取得部２０２０が速度情報を取得する方法は様々である。例えば速度情報取得部２０２０は、外部の装置から入力される速度情報や、手動で入力される速度情報を取得する。その他にも速度情報取得部２０２０は、外部の装置にアクセスして速度情報を取得してもよい。
【００４１】
＜異常判定部２０４０の詳細＞
異常判定部２０４０が、速度情報を用いて対象タスクの処理速度が異常であるか否かを判定する方法は、様々である。例えば、速度情報がタスクの処理速度を直接表している場合、異常判定部２０４０は、対象タスクの速度情報が表す処理速度に基づいて、対象タスクの処理速度が異常であるか否かを判定する。また例えば、速度情報がタスクの処理速度の算出に利用できる情報を表している場合、異常判定部２０４０は、対象タスクの速度情報を用いて、対象タスクの処理速度を算出する。そして、異常判定部２０４０は、算出した対象タスクの処理速度に基づいて、対象タスクの処理速度が異常であるか否かを判定する。
【００４２】
例えば異常判定部２０４０は、対象タスクの処理速度が所定の閾値に満たない場合に、その対象タスクの処理速度は異常であると判定する。また例えば異常判定部２０４０は、複数の対象タスクのうち、処理速度が最も小さい対象タスクについて、処理速度が異常であると判定する。また例えば、タスクの処理速度の分布を正規分布と仮定し、対象タスクの処理速度が、この正規分布の中央値や平均値などの基準値より一定以上小さい場合に、対象タスクの処理速度が異常であると判断する。他にも例えば、タスクの処理速度の確率分布を離散確率分布であるポアソン分布や連続確率分布であるカイ二乗分布などで仮定し、確率分布上における対象タスクの処理速度の発生確率が基準値より一定以上小さい場合に、対象タスクの処理速度が異常であると判断する。さらに例えば、K-means法やサポートベクトルマシンなどの機械学習アルゴリズムを使用して処理速度が小さいタスクを判定し、処理速度が小さいと判定されたタスクを、処理速度が異常であるタスクとしてもよい。
【００４３】
＜対象タスク＞
割当判定装置２０００がどのタスクを対象タスクとするかを決定する方法は様々である。例えば割当判定装置２０００は、分散システム３０００に含まれるタスクから、対象タスクをランダムに選択する。また、割当判定装置２０００は、外部の装置や人手による対象タスクの指定を受け付けてもよい。また、割当判定装置２０００は、外部の装置にアクセスしてどのタスクを対象タスクとするかを示す情報を取得してもよい。
【００４４】
例えば割当判定装置２０００は、各タスクを定期的に対象タスクとして処理を行う。また、割当判定装置２０００は、各タスクを対象タスクとして処理を行う時間間隔を、タスクごとに異ならせてもよい。その場合、例えば割当判定装置２０００の内部又は外部に、各タスクについて、そのタスクを対象タスクとして処理を実行する時点や時間間隔を示す情報が格納されている。
【００４５】
＜処理サーバ３２００＞
除外サーバとなった処理サーバ３２００が再度新たなタスクの割り当て対象となるタイミングは様々である。例えば割当判定装置２０００は、除外サーバ上で実行されているタスクについても、タスクの処理速度が異常であるか否かを判定する。そして、異常判定部２０４０によってタスクの処理速度が異常でないと判定されたタスクを実行している処理サーバ３２００が除外サーバである場合、割当除外部２０６０は、その処理サーバ３２００を新たなタスクの割り当て対象とする。その他にも例えば、処理サーバ３２００は、割当除外部２０６０によって指定された一定期間の間、除外サーバとなる。この場合、割当判定装置２０００は、一定期間の間、その除外サーバ上で実行されているタスクについては、処理速度が異常であるか否かの判定を行わなくてもよい。
【００４６】
＜作用・効果＞
本実施形態の割当判定装置２０００によれば、処理速度が異常なタスクを実行している処理サーバ３２００は、新たなタスクの割り当て対象から一時的に除外される。ここで、タスクの処理速度が異常である処理サーバ３２００に対してさらに新たなタスクを割り当てると、新たに割り当てたタスクの処理速度も異常になることが考えられる。その結果、タスクの進捗の遅れが大きくなっていき、結果として、ジョブ全体の進捗が遅くなる。本実施形態によれば、処理速度が異常なタスクを実行している処理サーバ３２００は、新たなタスクの割り当て対象から一時的に除外されるため、新たに割り当てられるタスクの処理速度が遅くなることを避けることができる。
【００４７】
＜実施例１＞
実施形態１に係る割当判定装置２０００の具体的な動作について、実施例を用いて説明する。なお、以下に示すのは、割当判定装置２０００の動作の一例である。本実施形態は以下に示す動作例によって何らの限定を受けない。
【００４８】
図５は、実施例１に係る割当判定装置２０００を、その使用環境と共に示すブロック図である。図５において、矢印は情報の流れを表している。さらに、図５において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００４９】
実施例１において、分散システム３０００は、マスタサーバ３１００を有する。マスタサーバ３１００は、割当部３１２０及び速度情報管理部３１４０を有する。割当部３１２０は、処理サーバ３２００に対するタスクの割り当てを行う。速度情報管理部３１４０は、各処理サーバ３２００から速度情報を収集し、それら速度情報を管理する。本実施例において、速度情報は、タスクの処理進捗率を表している。
【００５０】
処理サーバ３２００は、タスク実行部３２２０及び速度情報格納部３２４０を有する。タスク実行部３２２０は、１つ又は複数のタスクを実行する。例えばタスク実行部３２２０は、プロセス、スレッド、又は仮想マシンなどである。処理サーバ３２００は、複数のタスク実行部３２２０を有してもよい。速度情報格納部３２４０は、処理サーバ３２００上で実行されているタスクに関する速度情報を格納している。
【００５１】
実施例１の速度情報取得部２０２０は、速度情報管理部３１４０から、各タスクの速度情報を取得する。異常判定部２０４０は、速度情報取得部２０２０から取得した速度情報を用いて、タスクの処理速度が異常であるか否かを判定する。
【００５２】
実施例１の割当除外部２０６０は、処理サーバ３２００を新たなタスクの割り当て対象から一時的に除外するか否かの判定結果を、割当部３１２０へ通知する。こうすることで、割当部３１２０は、新たなタスクの割り当て対象から一時的に除外された処理サーバ３２００にタスクを割り当てないようにする。
【００５３】
図６は、実施例１の分散システム３０００に含まれる処理サーバ３２００を示す図である。実施例１の分散システム３０００は、処理サーバ３２００として、コンピュータ c1 及び c2 を備えている。コンピュータ c1 と c2 は、１台のネットワークスイッチを介して接続されている。コンピュータ c1 は、タスク実行部３２２０として、プロセス P1 とP2 を備えている。また、コンピュータ c2 は、タスク実行部３２２０として、プロセス P3 と P4 を備えている。プロセス P1 はタスク T1 を実行しており、プロセスP3 はタスク T2 を実行している。なお、図６において、マスタサーバ３１００及び速度情報格納部３２４０は省略されている。
【００５４】
コンピュータ c1 と c2 は、実行しているタスクの状態を監視して、実行しているタスクに関する速度情報を生成し、速度情報格納部３２４０に格納する。図７は、コンピュータ c1 と c2 の速度情報格納部３２４０に格納されている速度情報を示す図である。ここで、本実施例における速度情報は、タスクの処理進捗率を表している。例えば図７の１行目のレコードは、タスク T1 の処理進捗率が時刻 1:30:01 において 5% であることを示している。
【００５５】
コンピュータ c1 と c2 の速度情報格納部３２４０に格納されている速度情報は、マスタサーバ３１００が有する速度情報管理部３１４０によって収集される。図８は、速度情報管理部３１４０によって管理されている速度情報を示す図である。例えば、図８の１行目のレコードは、タスク T1 がコンピュータ c1 で実行されており、かつタスク T1 の処理進捗率が時刻1:30:01の時点において 5% であったことを表している。また、２番目のレコードは、タスク T2 がコンピュータ c2 で実行されており、かつタスク T2 の処理進捗率が時刻 1:30:00 の時点において 10% であったことを示している。
【００５６】
コンピュータ c1 と c2 は、さらにタスクの実行を継続し、速度情報をさらに生成する。図９は、この時点においてコンピュータ c1 と c2 の速度情報格納部３２４０に格納されている速度情報を示す図である。そして、図９が示す速度情報は速度情報管理部３１４０によって収集される。図１０は、速度情報管理部３１４０によって管理されている速度情報を示す。
【００５７】
実施例１において、コンピュータ c1 はタスク T1 を実行しており、コンピュータ c2 はタスク T2 を実行している。また、コンピュータ c1 はタスクが割り当てられていないプロセス P3 を有し、コンピュータ c2 はタスクが割り当てられていないプロセス P4 を有している。そこでマスタサーバ３１００は、コンピュータ c1 と c2 のいずれかに、新たなタスク T3 を割り当てようとする。そのために、マスタサーバ３１００の割当部３１２０は、割当判定装置２０００による判定結果を利用する。
【００５８】
割当判定装置２０００が行う処理について説明する。速度情報取得部２０２０は、速度情報管理部３１４０から、タスク T1 と T2 に関する速度情報を取得する。具体的には、速度情報取得部２０２０は、図１０に示されている情報を取得する。
【００５９】
本実施例において、異常判定部２０４０は、速度情報取得部２０２０から取得した速度情報から、タスクの１秒あたりの処理進捗率を算出し、算出した値をタスクの処理速度とする。図１１は、異常判定部２０４０が速度情報に基づいて算出した、タスク T1 と T2 の、１秒当たりの処理進捗率を示している。図１１は、コンピュータ c1 に割り当てられたタスク T1 の １ 秒あたりの処理進捗率が 5% であったこと、及びコンピュータ c2 に割り当てられたタスク T2 の １ 秒あたりの処理進捗率が 20% であったことを示している。
【００６０】
異常判定部２０４０は、複数のタスクのうち、最も処理速度が小さいタスクの処理速度が異常であると判定する。本実施例の場合、異常判定部２０４０は、タスク T1 の処理速度が異常であると判定する。そのため、割当除外部２０６０は、タスク T1 を実行しているコンピュータ c1 を、新たなタスクの割り当て対象から一時的に除外する。そのため、割当部３１２０は、コンピュータ c1 のプロセス P3 ではなく、コンピュータ c2 のプロセス P4 に、タスク T3 を割り当てる。
【００６１】
[実施形態２]
図１２は、実施形態２に係る割当判定装置２０００の構成を例示する図である。図１２において、矢印は情報の流れを表している。さらに、図１２において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態２の割当判定装置２０００は、実施形態１の割当判定装置２０００と同様である。
【００６２】
実施形態２の割当判定装置２０００は、対象タスクの処理速度の履歴に基づいて、対象タスクの処理速度が異常か否かを判定する。そのために、実施形態２の割当判定装置２０００は、速度履歴取得部２０８０を有する。以下、詳細に説明する。
【００６３】
＜速度履歴取得部２０８０＞
速度履歴取得部２０８０は、タスクの処理速度の履歴である速度履歴を取得する。例えば速度履歴は、過去のタスクの処理速度を表す情報である。また例えば速度履歴は、過去のタスクの処理速度を算出するために利用できる情報であってもよい。
【００６４】
その他にも例えば、速度履歴は、過去の処理速度の変化に対して統計処理を施した結果を示す値であってもよい。例えばこの場合、速度履歴は、過去の複数の時点における処理速度から算出した、処理速度の平均値、中央値、最小値、最大値、又は最頻値などである。
【００６５】
速度履歴取得部２０８０が速度履歴を取得する方法は様々である。例えば速度履歴取得部２０８０は、外部の装置から入力される速度履歴や、手動で入力される速度履歴を取得する。その他にも速度履歴取得部２０８０は、外部の装置にアクセスして速度履歴を取得してもよい。
【００６６】
＜異常判定部２０４０＞
実施形態２の異常判定部２０４０は、対象タスクの処理速度と、対象タスクの速度履歴とを比較することで、対象タスクの処理速度が異常であるか否かを判定する。例えば異常判定部２０４０は、対象タスクの処理速度が、速度履歴を用いて算出される過去の処理速度の統計値や速度履歴として示されている過去の処理速度の統計値よりも小さい場合に、対象タスクの処理速度が異常であると判定する。
【００６７】
その他にも例えば異常判定部２０４０は、以下のように動作する。この場合、図１３に示すように、割当判定装置２０００は、さらに正常範囲算出部２１００を有する。ここで、図１３において、矢印は情報の流れを表している。さらに、図１３において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００６８】
正常範囲算出部２１００は、対象タスクの速度履歴に基づいて、対象タスクの処理速度の正常な範囲である速度正常範囲を算出する。この場合、異常判定部２０４０は、対象タスクの処理速度が、速度正常範囲に含まれない場合に、対象タスクの処理速度が異常であると判断する。
【００６９】
正常範囲算出部２１００は、例えば、速度履歴に示されている過去の処理速度の確率分布を算出する。そして、正常範囲算出部２１００は、その確率分布における所定の範囲を、速度正常範囲とする。
【００７０】
＜処理の流れ＞
図１４は、実施形態２に係る割当判定装置２０００によって実行される処理の流れを例示するフローチャートである。実施形態２の割当判定装置２０００は、ステップＳ２０４の後に、図４に示されているステップＳ１０６及びＳ１０８の処理を、実施形態１の割当判定装置２０００と同様に実行する。図を簡潔にするため、図１４において、ステップＳ１０６及びＳ１０８は省略されている。
【００７１】
ステップＳ２０２において、速度履歴取得部２０８０は、対象タスクの速度履歴を取得する。ステップＳ２０４において、異常判定部２０４０は、対象タスクの処理速度と、対象タスクの速度履歴とを比較することで、対象タスクの処理速度が異常であるか否かを判定する。
【００７２】
＜作用・効果＞
本実施形態の割当判定装置２０００は、対象タスクの処理速度の履歴を用いて、対象タスクの処理速度が異常であるか否かを判定する。そのため、本実施形態の割当判定装置２０００によれば、対象タスクの処理速度が過去と比べて異常に変化した場合に、対象タスクの処理速度が異常であることを検出することができる。これより、新たに割り当てるタスクの処理速度が遅くなることを高い精度で防ぐことができる。
【００７３】
[実施形態３]
実施形態３に係る割当判定装置２０００の構成は、例えば実施形態１の割当判定装置や実施形態２の割当判定装置２０００と同様である。以下で説明する点を除き、実施形態３の割当判定装置２０００は、実施形態１又は２の割当判定装置２０００と同様である。
【００７４】
実施形態３の異常判定部２０４０は、対象タスクの処理速度を、その対象タスク以外のタスクの処理速度と比較することで、対象タスクの処理速度が異常であるか否かを判定する。例えば、速度情報取得部２０２０は、対象タスクに関する速度情報と、対象タスク以外のタスクに関する速度情報を取得する。そして、異常判定部２０４０は、各タスクの速度情報を用いて、対象タスクの処理速度と、他のタスクの処理速度とを比較する。
【００７５】
ここで、対象タスクは複数あってもよい。この場合、例えば異常判定部２０４０は、各対象タスクについて、その他の対象タスクと比較する。こうすることで、異常判定部２０４０は、複数の対象タスクそれぞれについて、処理速度が異常であるか否かを判定する。
【００７６】
例えば異常判定部２０４０は、対象タスクの処理速度が、比較する他の全てのタスクの処理速度よりも小さい場合に、その対象タスクの処理速度が異常であると判定する。その他にも例えば、異常判定部２０４０は、比較する各タスクを処理速度が大きい順にソートした場合に、対象タスクの処理速度が所定の順位以下であれば、対象タスクの処理速度が異常であると判定する。
【００７７】
その他にも例えば異常判定部２０４０は、以下のように動作する。この場合、図１５に示すように、割当判定装置２０００は、さらに正常範囲算出部２１００を有する。ここで、図１５において、矢印は情報の流れを表している。さらに、図１５において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００７８】
正常範囲算出部２１００は、対象タスクの処理速度の正常な範囲である速度正常範囲を算出する。例えば正常範囲算出部２１００は、対象タスク以外の１つ又は複数のタスクの処理速度に基づいて、速度正常範囲を算出する。その他にも例えば、正常範囲算出部２１００は、対象タスクを含む複数のタスクの処理速度に基づいて、速度正常範囲を算出する。この場合、異常判定部２０４０は、対象タスクの処理速度が、速度正常範囲に含まれない場合に、対象タスクの処理速度が異常であると判断する。
【００７９】
例えば正常範囲算出部２１００は、速度正常範囲の算出に用いるタスクの処理速度から、タスクの処理速度の確率分布を算出する。そして、正常範囲算出部２１００は、その確率分布における所定の範囲を、速度正常範囲とする。
【００８０】
＜処理の流れ＞
図１６は、実施形態３の割当判定装置２０００によって実行される処理の流れを例示するフローチャートである。実施形態３の割当判定装置２０００は、ステップＳ３０４の後に、図４に示されているステップＳ１０６及びＳ１０８の処理を、実施形態１の割当判定装置２０００と同様に実行する。図を簡潔にするため、図１６において、ステップＳ１０６及びＳ１０８は省略されている。
【００８１】
ステップＳ３０２において、速度情報取得部２０２０は、対象タスクを含む複数のタスクそれぞれの速度情報を取得する。ステップＳ３０４において、異常判定部２０４０は、対象タスクの処理速度を他のタスクの処理速度と比較することで、その対象タスクの処理速度が異常であるか否かを判定する。
【００８２】
＜作用・効果＞
本実施形態によれば、対象タスクの処理速度を、その対象タスク以外のタスクの処理速度と比較することで、対象タスクの処理速度が異常であるか否かを判定する。そのため、他のタスクと比べて処理速度が異常となっているタスクを特定し、そのタスクを実行している処理サーバ３２００を、新たなタスクの割当対象から一時的に除外することができる。そのため、新たに割り当てるタスクの処理速度が遅くなることを、高い精度で防ぐことができる。
【００８３】
[実施形態４]
図１７は、実施形態４に係る割当判定装置２０００の構成を例示する図である。図１７において、矢印は情報の流れを表している。さらに、図１７において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態４の割当判定装置２０００は、実施形態３の割当判定装置２０００と同様である。
【００８４】
実施形態４において、各タスクには、タスク種別が対応付けられている。タスク種別は、例えばジョブのＩＤで表される。例えば各タスクは、そのタスクの元となっているジョブのＩＤに対応付けられている。ただし、タスク種別は、ジョブのＩＤ以外でもよい。例えばその他のタスク種別は、ジョブのフェーズのＩＤや、ジョブのＩＤとフェーズのＩＤとの組み合わせなどである。
【００８５】
実施形態４の割当判定装置２０００は、タスク種別取得部２１２０を有する。タスク種別取得部２１２０は、タスクに対応するタスク種別を取得する。
【００８６】
実施形態４の異常判定部２０４０は、判定対象のタスクを、その判定対象のタスクと同一のタスク種別に対応する他のタスクと比較する。こうすることで、異常判定部２０４０は、判定対象のタスクの処理速度が異常であるか否かを判定する。例えば割当判定装置２０００が正常範囲算出部２１００を有する場合、正常範囲算出部２１００が速度正常範囲の算出に用いるタスクは、判定対象のタスクと同一のタスク種別に対応するタスクである。なお、実施形態４の異常判定部２０４０が、複数のタスクの処理速度を比較する方法は、実施形態３の異常判定部２０４０によって行われる方法と同様である。
【００８７】
＜処理の流れ＞
図１８は、実施形態４の割当判定装置２０００によって実行される処理の流れを例示するフローチャートである。実施形態４の割当判定装置２０００は、ステップＳ４０４の処理を行った後、実施形態１の割当判定装置２０００と同様の流れで、図４に示すステップＳ１０６及びＳ１０８を実行する。図を簡潔にするため、図１８において、ステップＳ１０６以降は省略されている。
【００８８】
ステップＳ４０２において、速度情報取得部２０２０は、対象タスクを含む複数のタスクそれぞれの速度情報を取得する。ステップＳ４０４において、タスク種別取得部２１２０は、各タスクのタスク種別を取得する。ステップＳ４０６において、異常判定部２０４０は、速度情報を用いて、対象タスクの処理速度と、タスク種別が対象タスクと同一である他のタスクの処理速度とを比較し、対象タスクの処理速度が異常であるか否かを判定する。
【００８９】
＜作用・効果＞
本実施形態によれば、同一のタスク種別に含まれるタスクの処理速度を比較することで、タスクの処理速度が異常であるか否かの判定が行われる。ここで、同一のタスク種別に含まれるタスクは、通常、処理速度が近いことが多いと考えられる。そのため、本実施形態によれば、高い精度でタスクの処理速度が異常であるか否かを判定することができる。
【００９０】
また、本実施形態によれば、タスクの処理速度が異常であると判定された処理サーバ３２００に対して、そのタスクと同一のタスク種別に対応する新たなタスクを割り当てないようにする。ここで、ある処理サーバ３２００上において、あるタスク種別に対応するタスクの処理速度が異常であっても、それ以外のタスク種別に対応するタスクの処理速度は異常にならないことがある。これは、タスクの種類によって、利用するリソースや処理するデータ量など、実行する処理の特性が異なることがあるためである。したがって、本実施形態によれば、特定のタスク種別に対応するタスクについてのみ処理速度が異常となってしまう処理サーバ３２００を、その他のタスク種別に対応するタスクの割り当てについては、割り当ての対象から除外しない。そのため、処理サーバ３２００を効率よく利用することができる。
【００９１】
＜実施例２＞
実施形態４に係る割当判定装置２０００の具体的な動作について、実施例を用いて説明する。なお、以下に示すのは、割当判定装置２０００の動作の一例である。本実施形態は以下に示す動作例によって何らの限定を受けない。
【００９２】
図１９は、実施例２における割当判定装置２０００及びその使用環境を示すブロック図である。なお、図１９における分散システム３０００の構成は、図５に示した実施例１における分散システム３０００の構成と同様である。また、図１９における割当判定装置２０００の構成は、図１７に示した実施形態４の割当判定装置の構成と同様である。
【００９３】
図２０は、実施例２における分散システム３０００に含まれる処理サーバ３２００を示す図である。実施例２の分散システム３０００は、処理サーバ３２００として、コンピュータ c1 〜 c4 の４台を備えている。各コンピュータは、ネットワークスイッチを介して接続されている。各コンピュータは、処理サーバ３２００として、複数のプロセスを有している。具体的には、コンピュータ c1 はプロセス P1 とP2 を、コンピュータ c2 はプロセス P3 と P4 を、コンピュータ c3 はプロセス P5 とP6 を、コンピュータ c4 はプロセス P7 と P8 を、それぞれ備えている。なお、図２０において、マスタサーバ３１００及び速度情報格納部３２４０は省略されている。
【００９４】
実施例２では、各タスクに、タスク種別が対応付けられている。図２１は、実施例２におけるタスクとタスク種別との対応を表す図である。例えば図２１の１行目のレコードは、タスク T0に対して、「Job1 のフェーズ1」というタスク種別が対応付けられていることを示す。
【００９５】
実施例１と同様に、各コンピュータは、実行しているタスクの状態を監視して、実行しているタスクに関する速度情報を生成し、それを速度情報格納部３２４０に格納する。図２２は、コンピュータ c1 〜 c3 の速度情報格納部３２４０に格納されている速度情報を合わせて示す図である。ここで、本実施例における速度情報は、累積 CPU 使用時間を表している。例えば図２２の１行目のレコードは、時刻 1:30:01 において、タスク T0 の累積 CPU 使用時間が 0.02 秒であったことを示している。そして、各コンピュータに格納されている速度情報は、速度情報管理部３１４０によって収集される。図２３は、速度情報管理部３１４０によって管理されている速度情報を示す図である。
【００９６】
各コンピュータのタスク実行部はさらにタスクの実行を進め、新たな速度情報を生成し、それらを速度情報格納部３２４０に格納する。図２４は、新たな速度情報が格納された後において、コンピュータc1 〜 c3の速度情報格納部３２４０に格納されている速度情報を合わせて示す図である。図２５は、速度情報管理部３１４０によって管理されている速度情報を示す図である。
【００９７】
ここで、マスタサーバ３１００が新たなタスク T4 を処理サーバ３２００に割り当てようとしている。そこで、割当部３１２０は、割当判定装置２０００に、タスク T4 を入力として与える。そして、割当部３１２０は、割当判定装置２０００から、タスク T4 と同一のタスク種別に対応し、かつ新たなタスクの割り当て対象から一時的に除外されるコンピュータを示す情報を取得する。
【００９８】
割当判定装置２０００のタスク種別取得部２１２０は、各タスクのタスク種別を取得する。これにより、割当判定装置２０００は、タスク T0、T1、T2、及び T4 のタスク種別がジョブJob1のフェーズ1であり、タスクT3及びT5のタスク種別がジョブJob2のフェーズ2であることを把握する。
【００９９】
図２６は、異常判定部２０４０が速度情報に基づいて算出したタスクの処理速度を示す図である。本動作例における割当判定装置２０００は、タスクの処理速度として、１ 秒あたりの CPU 使用時間を用いる。例えば図２６の１行目のレコードは、コンピュータc4に割り当てられたタスク T0 の １ 秒あたりの CPU使用時間 が 0.05 秒であったことを示している。
【０１００】
異常判定部２０４０は、新たに割り当てようとしているタスク T4 と同一のタスク種別のタスクについて処理を行う。ここで、図２１より、タスク T4 と同一のタスク種別に対応しているタスクは、タスク T0、T1、T2である。
【０１０１】
本実施例の異常判定部２０４０は、同一のタスク種別に対応するタスクの処理速度を用いて、中央値μ及び標準偏差σを求める。そして、タスクの処理速度が指標値「μ-ασ」より小さい場合、そのタスクの処理速度が異常であると判定する。
【０１０２】
そこで、異常判定部２０４０は、タスク T0、T1、及び T2 の処理速度から、中央値及び標準偏差を求める。計算の結果、中央値μは0.43秒、標準偏差σは約0.29となる。ここでα=1.0とすると、上記指標値は 0.14 となる。図２６を参照すると、タスク T0 の処理速度はこの指標値より小さく、タスク T1 及び T2 の処理速度はこの指標値より大きい。
【０１０３】
そこで、割当除外部２０６０は、タスク T0 を実行しているコンピュータ c4 を、「job1 のフェーズ1」というタスク種別に対応する新たなタスクを割り当てる対象から外す。割当部３１２０は、割当判定装置２０００から処理結果の通知を受け、「job1 のフェーズ1」というタスク種別に対応するタスク T4 を、コンピュータ c4 以外に割り当てる。
【０１０４】
[実施形態５]
図２７は、実施形態５に係る割当判定装置２０００の構成を例示する図である。図２７において、矢印は情報の流れを表している。さらに、図２７において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態５の割当判定装置２０００は、上述したいずれかの実施形態の割当判定装置２０００と同様である。
【０１０５】
＜除外期間格納部２１４０＞
割当判定装置２０００は、除外期間格納部２１４０を有する。除外期間格納部２１４０は、除外期間を格納する。除外期間は、対象タスクが割り当てられている処理サーバ３２００を新たなタスクの割り当て対象から一時的に除外する期間を表す。
【０１０６】
＜割当除外部２０６０＞
実施形態５の割当除外部２０６０は、異常判定部２０４０によって、対象タスクの処理速度が異常であると判定された場合、対象タスクが割り当てられている処理サーバ３２００を、除外期間の間、新たなタスクの割り当て対象から除外する。
【０１０７】
＜処理の流れ＞
図２８は、実施形態５の割当判定装置２０００によって実行される処理の流れを例示するフローチャートである。実施形態５の割当判定装置２０００は、図４に示すステップＳ１０２〜Ｓ１０６の処理を、実施形態１の割当判定装置２０００と同様の流れで実行する。図を簡潔にするため、図２８において、ステップＳ１０２及びＳ１０４は省略されている。
【０１０８】
ステップＳ５０２において、割当除外部２０６０は、除外期間格納部２１４０から除外期間を取得する。ステップＳ５０４において、割当除外部２０６０は、除外期間の間、対象タスクが割り当てられている処理サーバ３２００を、新たなタスクの割り当て対象から一時的に除外する。
【０１０９】
＜作用・効果＞
本実施形態の割当判定装置２０００によれば、異常判定部２０４０によって処理速度が異常であると判定された対象タスクを実行している処理サーバ３２００は、除外期間の間、新たなタスクの割り当て対象から除外される。そのため、本実施形態の割当判定装置２０００によれば、上記除外期間の間は、上記処理サーバ３２００上で実行されているタスクについては、処理速度が異常であるか否かの判定を行わなくてもよい。したがって、本実施形態の割当判定装置２０００によれば、割当判定装置２０００にかかる処理負荷が小さくなる。
【０１１０】
なお、除外期間格納部２１４０は、処理サーバ３２００ごとに除外期間を格納してもよい。こうすることで、処理サーバ３２００の特性や、処理サーバ３２００上で動作させるタスクの特性を考慮して、処理サーバ３２００ごとに適切な除外期間を設定できる。
【０１１１】
[実施形態６]
図２９は、実施形態６に係る割当判定装置２０００の構成を例示する図である。図２９において、矢印は情報の流れを表している。さらに、図２９において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態６の割当判定装置２０００は、実施形態５の割当判定装置２０００と同様である。
【０１１２】
＜除外期間格納部２１４０＞
実施形態６の除外期間格納部２１４０は、処理サーバ３２００ごとに除外期間を格納している。
【０１１３】
＜除外期間更新部２１６０＞
除外期間更新部２１６０は、異常判定部２０４０によって、対象タスクの処理速度が異常であると判定された場合に、対象タスクが割り当てられている処理サーバ３２００に対応する除外期間を更新する。
【０１１４】
例えば除外期間更新部２１６０は、新たなタスクの割り当て対象から除外された回数が多いほど除外期間が長くなるように、除外期間を更新する。例えばこの場合、除外期間更新部２１６０は、以下の数式（１）を用いて除外期間を更新する。ここで、i は、処理サーバ３２００の ID を表している。以下、ID が i である処理サーバ３２００を、処理サーバ３２００−ｉとも表記する。P(i) は、処理サーバ３２００−ｉに対応する除外期間を表す。また、T(i) は、処理サーバ３２００−ｉが新たなタスクの割り当て対象から除外された回数である。αは、所定の定数である。
【数１】
2015001850.tif 000003
【０１１５】
なおこの場合、除外期間格納部２１４０はさらに、各処理サーバ３２００が新たなタスクの割り当て対象から除外された回数を格納する。
【０１１６】
また、上述した方法で用いる、処理サーバ３２００が新たなタスクの割り当て対象から一時的に除外された回数は、過去の所定期間内における回数でもよいし、過去全ての期間内における回数でもよい。
【０１１７】
＜割当除外部２０６０＞
実施形態６の割当除外部２０６０は、異常判定部２０４０によって、対象タスクの処理速度が異常であると判定された場合に、対象タスクが割り当てられている処理サーバ３２００に対応する除外期間の間、その処理サーバ３２００を新たなタスクの割り当て対象から除外する。
【０１１８】
＜処理の流れ＞
図３０は、実施形態６の割当判定装置２０００によって実行される処理の流れを例示するフローチャートである。実施形態６の割当判定装置２０００は、ステップＳ１０６の処理を行う前に、図４に示すステップＳ１０２及びＳ１０４の処理を、実施形態１の割当判定装置２０００と同様の流れで実行する。図を簡潔にするため、図３０において、ステップＳ１０２及びＳ１０４は省略されている。
【０１１９】
ステップＳ６０２において、除外期間更新部２１６０は、除外期間格納部２１４０から、対象タスクを実行している処理サーバ３２００に対応する除外期間を取得する。ステップＳ６０４において、割当除外部２０６０は、対象タスクが割り当てられている処理サーバ３２００に対応する除外期間の間、その処理サーバ３２００を新たなタスクの割り当て対象から除外する。ステップＳ６０６において、除外期間更新部２１６０は、取得した除外期間を更新する。
【０１２０】
＜作用・効果＞
本実施形態によれば、除外期間が処理サーバ３２００ごとに設定されている。したがって、処理サーバ３２００の特性や処理サーバ３２００上で実行するタスクの特性などに合わせて、処理サーバ３２００ごとに適切な除外期間を設定できる。
【０１２１】
また、本実施形態の割当判定装置２０００によれば、処理サーバ３２００が新たなタスクの割り当て対象から一時的に除外される時に、その処理サーバ３２００に対応する除外期間を更新する。これにより、例えば、新たなタスクの割り当て対象から除外される回数が多いほど除外期間を長くすることができる。新たなタスクの割り当て対象から除外される回数が多い処理サーバ３２００は、タスクの処理速度が異常になりやすい処理サーバ３２００であると考えられる。そのため、本実施形態の割当判定装置２０００によれば、タスクの処理速度が異常になりやすい処理サーバ３２００ほど長い期間、新たなタスクの割り当て対象から除外することができる。そのため、新たに割り当てるタスクの進捗が遅くなることを、さらに効率よく防ぐことができる。また、タスクの処理速度が異常になりやすい処理サーバ３２００ほど長い期間、割当判定装置２０００の処理対象とする必要が無くなるため、割当判定装置２０００の処理負荷を減らすことができる。
【０１２２】
[実施形態７]
図３１は、実施形態７に係る割当判定装置２０００の構成を例示する図である。図３１において、矢印は情報の流れを表している。さらに、図３１において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態７の割当判定装置２０００は、実施形態１の割当判定装置２０００と同様である。
【０１２３】
＜最大除外期間格納部２１８０＞
実施形態７の割当判定装置２０００は、最大除外期間格納部２１８０を有する。最大除外期間格納部２１８０は、除外期間の最大値を格納する。
【０１２４】
＜割当除外部２０６０＞
割当除外部２０６０は、異常判定部２０４０によって処理速度が異常であると判定された対象タスクを実行している処理サーバ３２００が、既に新たなタスクの割り当て対象から一時的に除外されているか否かを判定する。ここで、前述したように、タスクの割り当て対象から一時的に除外されている処理サーバ３２００を、除外サーバとも表記する。そして、この処理サーバ３２００が除外サーバである場合、割当除外部２０６０は、この処理サーバ３２００が除外サーバとなった時点からの経過時間が、最大除外期間格納部２１８０に格納されている除外期間の最大値を超えているか否かを判定する。この処理サーバ３２００が除外サーバとなった時点からの経過時間が、最大除外期間格納部２１８０に格納されている除外期間の最大値を超えている場合、最大除外期間格納部２１８０は、この処理サーバ３２００を、新たなタスクの割り当て対象とする。
【０１２５】
割当除外部２０６０は、対象タスクを実行している処理サーバ３２００が、既に除外サーバとなっているか否かを把握する。例えば割当除外部２０６０は、割当判定装置２０００の内部又は外部から、対象タスクを実行している処理サーバ３２００が、既に除外サーバとなっているか否かを示す情報を取得する。この場合、例えば割当判定装置２０００の内部又は外部に、処理サーバ３２００ごとに、その処理サーバ３２００が除外サーバであるか否かを示す情報を格納する格納部が備えられている。割当除外部２０６０は、この格納部から情報を取得する。
【０１２６】
割当除外部２０６０は、処理サーバ３２００が除外サーバとなった時点からの経過時間を把握する。例えば割当除外部２０６０は、割当判定装置２０００の内部又は外部から、処理サーバ３２００が除外サーバとなった時点を示す情報を取得する。この場合、例えば割当判定装置２０００の内部又は外部に、除外サーバとなっている処理サーバ３２００ごとに、その処理サーバ３２００が除外サーバとなった時点を示す情報を格納する格納部が備えられている。割当除外部２０６０は、この格納部から、処理サーバ３２００が除外サーバとなった時点を取得し、現在時刻とこの時点との差異に基づいて、処理サーバ３２００が除外サーバとなった時点からの経過時間を算出する。なお、処理サーバ３２００が除外サーバとなった時点からの経過時間は、割当判定装置２０００の外部で算出されてもよい。この場合、割当除外部２０６０は、外部で算出された上記経過時間を取得する。
【０１２７】
＜処理の流れ＞
図３２は、実施形態７の割当判定装置２０００によって実行される処理の流れを例示するフローチャートである。実施形態７の割当判定装置２０００は、ステップＳ１０６の処理を行う前に、図４に示すステップＳ１０２及びＳ１０４の処理を、実施形態１の割当判定装置２０００と同様の流れで実行する。図を簡潔にするため、図３２において、ステップＳ１０２及びＳ１０４は省略されている。
【０１２８】
ステップＳ７０２において、割当除外部２０６０は、対象タスクを実行している処理サーバ３２００が、既に除外サーバになっているか否かを判定する。この処理サーバ３２００が除外まだ除外サーバになっていない場合、図３２の処理は、ステップＳ７１２に進む。一方、この処理サーバ３２００が既に除外サーバになっている場合、図３２の処理は、ステップＳ７０４に進む。
【０１２９】
ステップＳ７０４において、割当除外部２０６０は、最大除外期間格納部２１８０から、除外期間の最大値を取得する。ステップＳ７０６において、割当除外部２０６０は、処理サーバ３２００が除外サーバになった時点からの経過時間を算出する。
【０１３０】
ステップＳ７０８において、割当除外部２０６０は、処理サーバ３２００が除外サーバになった時点からの経過時間と、除外期間の最大値とを比較する。「処理サーバ３２００が除外サーバになった時点からの経過時間＞除外期間の最大値」である場合、図３２の処理は、ステップＳ７１０に進む。一方、「処理サーバ３２００が除外サーバになった時点からの経過時間＞除外期間の最大値」でない場合、図３２の処理は終了する。
【０１３１】
ステップＳ７１０において、割当除外部２０６０は、処理サーバ３２００を新たなタスクの割り当て対象とする。一方、ステップＳ７１２において、割当除外部２０６０は、処理サーバ３２００を新たなタスクの割り当て対象から一時的に除外する。
【０１３２】
＜作用・効果＞
本実施形態によれば、処理サーバ３２００が新たなタスクの割当対象から除外される期間に限度を設けることができる。これにより、処理サーバ３２００に対して恒常的にタスクが割り当てられなくなることを防ぐことができる。
【０１３３】
＜実施例３＞
以下、実施形態６と７の組み合わせに係る割当判定装置２０００について、実施例を用いて説明する。なお、以下に示すのは、割当判定装置２０００の動作の一例である。本実施形態は以下に示す動作例によって何らの限定を受けない。
【０１３４】
図３３は、実施例３における割当判定装置２０００及びその使用環境を示すブロック図である。なお、図３３における分散システム３０００の構成は、図５に示した実施例１における分散システム３０００の構成と同様である。
【０１３５】
実施例３の分散システム３０００に含まれる処理サーバ３２００は、実施例１と同様に、図６で表される。
【０１３６】
実施例３における除外期間格納部２１４０が格納している除外期間は、処理サーバ３２００を新たなタスクの割り当て対象から一時的に除外する回数を示す。ここで、除外期間格納部２１４０は除外期間として、１を格納している。また、除外期間更新部２１６０は、更新後の除外期間を、これまでの累積除外期間の２倍とする。
【０１３７】
実施例１と同様に、各コンピュータは、実行しているタスクの状態を監視して、実行しているタスクに関する速度情報を速度情報格納部３２４０に格納する。図３４は、コンピュータ c1 及び c2 の速度情報格納部３２４０に格納されている速度情報を合わせて示す図である。本実施例において、速度情報は、タスクの処理速度に関する２つの指標を示す。第１の指標は、処理対象データ量に対する処理完了データ量の割合である。以下、この割合を、処理完了データ率と表記する。第２の指標は、累積処理時間である。例えば図３４のレコード１は、時刻1:30:01において、タスクT1の処理完了データ率が5%であること、及びタスク T1 の累積処理時間が 30 秒であることを示している。また、図３５は、速度情報管理部３１４０によって管理されている速度情報を示す。
【０１３８】
ここで、マスタサーバ３１００が新たなタスクT3を処理サーバ３２００に割り当てようとしている。コンピュータc1のタスク実行部P2に対してタスクが未割り当てであるため、マスタサーバ３１００はコンピュータ c1 に対してタスクT3の割り当てを試みる。その処理の中で、割当部３１２０は、割当判定装置２０００にコンピュータc1を入力として与える。そして、割当判定装置２０００は、コンピュータ c1 を新たなタスクの割り当て対象から一時的に除外すべきか否かを判定する。
【０１３９】
実施例３において、異常判定部２０４０は、タスクの処理速度を示す指標値として、処理完了データ率rと累積処理時間tから算出した、予測処理時間t'を用いる。具体的な算出式として、t'=t/rを用いる。図３６は、異常判定部２０４０が算出したタスクの処理速度を示す図である。この図は、コンピュータc1に割り当てられたタスクT1の予測処理時間が600秒であり、コンピュータc2に割り当てられたタスクT2の予測処理時間が400秒であることを示している。
【０１４０】
異常判定部２０４０は、コンピュータc1に割り当てられたタスクT1の予測処理時間が最も長いため、タスクT1の処理速度が最も小さいと判断する。よって、割当除外部２０６０は、コンピュータc1を、新たなタスク割り当て対象から一時的に除外する。その結果、割当部３１２０は、タスク T3 をコンピュータc1に割り当てない。
【０１４１】
除外期間更新部２１６０は、上記判定結果に基づいて、コンピュータc1に対する累積遅延回数を１に更新して、除外期間格納部２１４０に格納する。ここで、マスタサーバ３１００の割当部３１２０が再度コンピュータ c1 に対してタスクT3の割り当てを試みたとする。この時、異常判定部２０４０は再度、タスク T1 の処理速度が異常であると判定したとする。しかし、最大除外期間格納部２１８０に格納されている最大除外期間が１であり、かつコンピュータ c1 は既に一回新たなタスクの割り当て対象から一時的に除外されている。そこで、割当除外部２０６０は、コンピュータ c1 を新たなタスクの割り当て対象とする。
【０１４２】
ただし、異常判定部２０４０は、タスク T1 の処理速度が異常であると判定したため、除外期間更新部２１６０は、最大除外期間格納部２１８０に格納されている最大除外期間を２に更新する。
【０１４３】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記実施形態の組み合わせ、及び上記実施形態以外の様々な構成を採用することもできる。
【０１４４】
以下、参考形態の例を付記する。
１．  分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを決定するタスク割当判定装置であって、
前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得手段と、
前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定手段と、
前記異常判定手段によって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外手段と、
を有するタスク割当判定装置。
２．  前記タスクの処理速度の履歴である速度履歴を取得する速度履歴取得手段を有し、
前記異常判定手段は、前記判定対象のタスクの処理速度と、前記判定対象のタスクの速度履歴とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、
１．に記載のタスク割当判定装置。
３．  前記判定対象のタスクの速度履歴に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出手段を有し、
前記異常判定手段は、前記判定対象のタスクの処理速度が前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常である判定する、
２．に記載のタスク割当判定装置。
４．  前記異常判定手段は、前記判定対象のタスクの処理速度と、前記判定対象のタスク以外の前記タスクの処理速度とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、１．に記載のタスク割当判定装置。
５．  前記判定対象のタスク以外のタスクの処理速度、又は前記判定対象のタスクを含む複数の前記タスクの処理速度に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出手段を有し、
前記異常判定手段は、前記判定対象のタスクの処理速度が、前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常であると判定する、
４．に記載のタスク割当判定装置。
６．  前記タスクに対応するタスク種別を取得するタスク種別取得手段を有し、
前記異常判定手段が前記判定対象のタスクとの比較対象とする前記タスクは、前記判定対象のタスクと同一のタスク種別に対応する、
４．又は５．に記載のタスク割当判定装置。
７．  前記サーバを新たなタスクの割り当て対象から除外する期間である除外期間を格納する除外期間格納手段を有し、
前記割当除外手段は、前記異常判定手段によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、前記除外期間の間、新たなタスクの割り当て対象から除外する１．乃至６．いずれか一項に記載のタスク割当判定装置。
８．  前記除外期間格納手段は、前記サーバごとに前記除外期間を格納しており、
前記割当除外手段は、前記異常判定手段によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、そのサーバに対応付けられている前記除外期間の間、新たなタスクの割り当て対象から除外し、
前記異常判定手段によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバに対応付けられている前記除外期間を更新する除外期間更新手段を有する、
７．に記載のタスク割当判定装置。
９．  前記処理サーバを新たなタスクの割り当て対象から除外する除外期間の最大値を格納する最大除外期間格納手段を有し、
前記割当除外手段は、前記異常判定手段によって処理速度が異常であると判定された前記判定対象のタスクを実行している前記サーバが、既に新たなタスクの割り当て対象から除外されており、かつその前記サーバが新たなタスクの割り当て対象から除外された時点からの経過時間が、前記除外期間の最大値を超えている場合、そのサーバを新たなタスクの割り当て対象とする、
１．乃至８．いずれ一項に記載のタスク割当判定装置。
１０．  分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するコンピュータによって実行される制御方法であって、
前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得ステップと、
前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定ステップと、
前記異常判定ステップによって処理速度が異常であると判定された前記タスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外ステップと、
を有する制御方法。
１１．  前記タスクの処理速度の履歴である速度履歴を取得する速度履歴取得ステップを有し、
前記異常判定ステップは、前記判定対象のタスクの処理速度と、前記判定対象のタスクの速度履歴とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、
１０．に記載の制御方法。
１２．  前記判定対象のタスクの速度履歴に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出ステップを有し、
前記異常判定ステップは、前記判定対象のタスクの処理速度が前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常である判定する、
１１．に記載の制御方法。
１３．  前記異常判定ステップは、前記判定対象のタスクの処理速度と、前記判定対象のタスク以外の前記タスクの処理速度とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、１０．に記載の制御方法。
１４．  前記判定対象のタスク以外のタスクの処理速度、又は前記判定対象のタスクを含む複数の前記タスクの処理速度に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出ステップを有し、
前記異常判定ステップは、前記判定対象のタスクの処理速度が、前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常であると判定する、
１３．に記載の制御方法。
１５．  前記タスクに対応するタスク種別を取得するタスク種別取得ステップを有し、
前記異常判定ステップが前記判定対象のタスクとの比較対象とする前記タスクは、前記判定対象のタスクと同一のタスク種別に対応する、
１３．又は１４．に記載の制御方法。
１６．  前記コンピュータは、前記サーバを新たなタスクの割り当て対象から除外する期間である除外期間を格納する除外期間格納手段を有し、
前記割当除外ステップは、前記異常判定ステップによって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、前記除外期間の間、新たなタスクの割り当て対象から除外する１０．乃至１５．いずれか一項に記載の制御方法。
１７．  前記除外期間格納手段は、前記サーバごとに前記除外期間を格納しており、
前記割当除外ステップは、前記異常判定ステップによって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、そのサーバに対応付けられている前記除外期間の間、新たなタスクの割り当て対象から除外し、
前記異常判定ステップによって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバに対応付けられている前記除外期間を更新する除外期間更新ステップを有する、
１６．に記載の制御方法。
１８．  前記コンピュータは、前記処理サーバを新たなタスクの割り当て対象から除外する除外期間の最大値を格納する最大除外期間格納手段を有し、
前記割当除外ステップは、前記異常判定ステップによって処理速度が異常であると判定された前記判定対象のタスクを実行している前記サーバが、既に新たなタスクの割り当て対象から除外されており、かつその前記サーバが新たなタスクの割り当て対象から除外された時点からの経過時間が、前記除外期間の最大値を超えている場合、そのサーバを新たなタスクの割り当て対象とする、
１０．乃至１７．いずれ一項に記載の制御方法。
１９．  分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するタスク割当判定装置として動作する機能をコンピュータに持たせるプログラムであって、
前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得機能と、
前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定機能と、
前記異常判定機能によって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外機能と、
を前記コンピュータに持たせるプログラム。
２０．  前記タスクの処理速度の履歴である速度履歴を取得する速度履歴取得機能を有し、
前記異常判定機能は、前記判定対象のタスクの処理速度と、前記判定対象のタスクの速度履歴とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、
１９．に記載のプログラム。
２１．  前記判定対象のタスクの速度履歴に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出機能を有し、
前記異常判定機能は、前記判定対象のタスクの処理速度が前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常である判定する、
２０．に記載のプログラム。
２２．  前記異常判定機能は、前記判定対象のタスクの処理速度と、前記判定対象のタスク以外の前記タスクの処理速度とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、１９．に記載のプログラム。
２３．  前記判定対象のタスク以外のタスクの処理速度、又は前記判定対象のタスクを含む複数の前記タスクの処理速度に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出機能を有し、
前記異常判定機能は、前記判定対象のタスクの処理速度が、前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常であると判定する、
２２．に記載のプログラム。
２４．  前記タスクに対応するタスク種別を取得するタスク種別取得機能を有し、
前記異常判定機能が前記判定対象のタスクとの比較対象とする前記タスクは、前記判定対象のタスクと同一のタスク種別に対応する、
２２．又は２３．に記載のプログラム。
２５．  前記コンピュータは、前記サーバを新たなタスクの割り当て対象から除外する期間である除外期間を格納する除外期間格納手段を有し、
前記割当除外機能は、前記異常判定機能によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、前記除外期間の間、新たなタスクの割り当て対象から除外する１９．乃至２４．いずれか一項に記載のプログラム。
２６．  前記除外期間格納手段は、前記サーバごとに前記除外期間を格納しており、
前記割当除外機能は、前記異常判定機能によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、そのサーバに対応付けられている前記除外期間の間、新たなタスクの割り当て対象から除外し、
前記異常判定機能によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバに対応付けられている前記除外期間を更新する除外期間更新機能を有する、
２５．に記載のプログラム。
２７．  前記コンピュータは、前記処理サーバを新たなタスクの割り当て対象から除外する除外期間の最大値を格納する最大除外期間格納手段を有し、
前記割当除外機能は、前記異常判定機能によって処理速度が異常であると判定された前記判定対象のタスクを実行している前記サーバが、既に新たなタスクの割り当て対象から除外されており、かつその前記サーバが新たなタスクの割り当て対象から除外された時点からの経過時間が、前記除外期間の最大値を超えている場合、そのサーバを新たなタスクの割り当て対象とする、
１９．乃至２６．いずれ一項に記載のプログラム。
【０１４５】
この出願は、２０１３年７月３日に出願された日本出願特願２０１３−１３９８６０号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2015001850.tif 000004
【図２】
2015001850.tif 000005
【図３】
2015001850.tif 000006
【図４】
2015001850.tif 000007
【図５】
2015001850.tif 000008
【図６】
2015001850.tif 000009
【図７】
2015001850.tif 000010
【図８】
2015001850.tif 000011
【図９】
2015001850.tif 000012
【図１０】
2015001850.tif 000013
【図１１】
2015001850.tif 000014
【図１２】
2015001850.tif 000015
【図１３】
2015001850.tif 000016
【図１４】
2015001850.tif 000017
【図１５】
2015001850.tif 000018
【図１６】
2015001850.tif 000019
【図１７】
2015001850.tif 000020
【図１８】
2015001850.tif 000021
【図１９】
2015001850.tif 000022
【図２０】
2015001850.tif 000023
【図２１】
2015001850.tif 000024
【図２２】
2015001850.tif 000025
【図２３】
2015001850.tif 000026
【図２４】
2015001850.tif 000027
【図２５】
2015001850.tif 000028
【図２６】
2015001850.tif 000029
【図２７】
2015001850.tif 000030
【図２８】
2015001850.tif 000031
【図２９】
2015001850.tif 000032
【図３０】
2015001850.tif 000033
【図３１】
2015001850.tif 000034
【図３２】
2015001850.tif 000035
【図３３】
2015001850.tif 000036
【図３４】
2015001850.tif 000037
【図３５】
2015001850.tif 000038
【図３６】
2015001850.tif 000039
【国際調査報告】
2015001850.tif 000040
2015001850.tif 000041
2015001850.tif 000042
2015001850.tif 000043