(57)【要約】【課題】  サーバの負荷状態を計測して負荷変動予測を行い、予め設定される制御周期内に、制御プログラムが実行できるようにしたクラウド制御システムの制御プログラムのスケジューリング方法を提供することを目的とする。【解決手段】  制御プログラムを複数の演算サーバ２にスケジューリングする管理サーバ１と、演算サーバと、ネットワーク３と、を備え、管理サーバ１は、予めプログラムの基準処理時間情報を収集して、最初のスケジューリングを行い、夫々の演算サーバ２は、負荷計測プログラムに基づいて、プログラムを実行して自身の負荷情報を計測し、管理サーバ１は、当該負荷情報の計測値から制御周期での負荷に相当する負荷変動相当処理時間を求め、更に、負荷変動予測時間を求めて、負荷均等化アルゴリズムに基づいてプログラムのスケジュール更新し、夫々の演算サーバの負荷予測を行って処理時間が均等となるようにしたことを特徴とする。【選択図】  図１
2015200986.tif 000002
【特許請求の範囲】
【請求項１】
複数のプログラムで構成される制御プログラムを複数の演算サーバに、予め定められる制御周期時間内で処理するようにスケジューリングする管理サーバと、前記管理サーバでスケジューリングされた１つ、又は前記複数のプログラムを実行する前記複数の演算サーバと、前記管理サーバと前記複数の演算サーバとを接続するネットワークと、を備え、
前記管理サーバは、並列実行可能な前記複数のプログラムと、当該プログラム毎の基準処理時間情報と、当該制御プログラム実行時の前記演算サーバの前記制御周期毎の負荷状態示す負荷情報から、予め定める負荷予測期間での基準となる基準負荷情報と、を予め記憶する第１の記憶部と、
前記複数の演算サーバの負荷を均等化する負荷均等化処理プログラムを備え、前記制御周期毎に前記複数の演算サーバの負荷が均等になるように前記複数のプログラムを分配送信するスケジュール設定部と、
前記演算サーバから送られた前記負荷情報と、前記第１の記憶部から抽出した前記基準負荷情報とから前記負荷変動予測時間を生成するための負荷変動相当処理時間演算プログラム、及び負荷変動予測演算プログラムと、を備える負荷変動予測演算部と、
を備え、
前記演算サーバは、前記複数のプログラムを記憶する第２の記憶部と、
前記スケジュール設定部で設定された前記複数のプログラムを実行する演算部と、
前記管理サーバから予め設定された負荷計測手法で当該演算サーバ自身の前記負荷情報を計測する負荷計測プログラムを記憶し、前記制御周期毎に計測した前記複数のプログラムの当該負荷情報の計測値を前記管理サーバに送信する負荷情報計測部と、
を備え、
前記スケジュール設定部は、最初の制御周期において、前記負荷均等化処理プログラムに基づいて前記基準処理時間情報を参照して、前記複数のプログラムについて夫々の前記基準処理時間情報を大きい順に並べて前記複数の演算サーバに割り当てし、
次に、割り当てた結果、処理時間の少ない前記演算サーバに対して、残った前記プログラムの前記基準処理時間情報の大きい順に割り当てし、
以後、この操作を繰り返して全ての前記プログラムを割り当てして、夫々の前記演算サーバのスケジュールを設定し、
次に、夫々の前記負荷情報計測部は、前記負荷計測プログラムに基づいて、スケジューリングされた前記プログラムを実行して、前記演算部の前記負荷情報を計測してその計測値を前記管理サーバに送信し、
次に、前記スケジュール設定部は、前記最初の制御周期の以降の前記負荷予測期間経過後の制御周期毎に、前記負荷変動相当処理時間演算プログラムに基づいて、今回の制御周期での前記負荷情報の計測値と前記基準負荷情報との差から負荷変動に相当する処理時間である負荷変動相当処理時間情報を求め、さらに、前記負荷変動予測演算プログラムに基づいて、前記負荷予測期間について予め設定される複数の予測法により前記負荷変動予測時間を求め、
さらに、今回の制御周期求めた複数の前記負荷変動予測時間と、前回の制御周期で求めた複数の前記負荷変動予測時間とを比較して、予め定める選択方法で１つの前記予測法を次制御周期の予測法として選択し、
次に、前記均等化処理プログラムに基づいて、算出された夫々の前記演算サーバの前記負荷変動予測時間の小さい順に、前記基準処理時間情報の大きい順に前記複数のプログラムを一つずつ順次割り当てし、
割り当てた結果、残った前記複数のプログラムがある場合には、さらに、前記負荷変動予測時間と前記基準処理時間情報との加算値を求め、加算した合計の処理時間が少ない前記演算サーバの順に、前記基準処理時間情報が大きい順に、残った前記プログラム割り当てして前記演算サーバのスケジュールを更新し、
予め設定される前記負荷予測期間後の制御周期毎に、夫々の前記演算サーバの負荷状態を計測して前記制御周期時間内で、前記制御プログラムの処理が最短の時間で終了するように、且つ、処理時間が均等となるようにしたことを特徴とするクラウド制御システム。
【請求項２】
前記負荷情報は、前記ＣＰＵ使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度であり、
前記スケジュール設定部は、前記負荷情報のいずれか１種類を予め前記演算サーバに設定しておき、前記負荷情報計測部で計測された前記負荷情報の計測値から、
負荷Ａ＝制御周期×α×（今回計測のＣＰＵ使用率−予め計測される基準ＣＰＵ使用率）、
負荷Ｂ＝制御周期×β×（今回計測のメモリ使用率−予め計測される基準メモリ使用率）、
負荷Ｃ＝制御周期×γ×（今回計測の演算時間−予め計測される基準演算時間）、
負荷Ｄ＝制御周期×δ×（今回計測の応答時間−予め計測される基準応答時間）、
負荷Ｅ＝制御周期×ε×（今回計測の演算サーバの演算チップ温度−予め計測される前記演算サーバの基準演算チップ温度）、
（但し、α、β、γ、δ、εは、０〜１．０の範囲の補正計数である。）の、
いずれか１つの演算式に基づいて前記負荷変動相当処理時間を求めるようにしたことを特徴とする前記請求項１に記載のクラウド制御システム。
【請求項３】
前記負荷情報は、前記ＣＰＵ使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度であり、
前記管理サーバは、前記負荷情報の種類を予め前記演算サーバに設定しておき、前記演算サーバで計測された前記負荷情報の計測値から、
負荷Ｆ＝（αｃ×負荷ＡＣ）＋（βｃ×負荷ＢＣ）＋（γｃ×負荷ＣＣ）＋（δｃ×負荷ＤＣ）＋（εｃ×負荷ＥＣ）、
（但し、
負荷ＡＣ＝制御周期×（今回計測のＣＰＵ使用率−予め計測される基準ＣＰＵ使用率）、
負荷ＢＣ＝制御周期×（今回計測のメモリ使用率−予め計測される基準メモリ使用率）、
負荷ＣＣ＝制御周期×（今回計測の演算時間−予め計測される基準演算時間）、
負荷ＤＣ＝制御周期×（今回計測の応答時間−予め計測される基準応答時間）、
負荷ＥＣ＝制御周期×（今回計測の演算サーバの演算チップ温度−予め計測される基準演算サーバの演算チップ温度
とする。また、補正係数αｃ、βｃ、γｃ、δｃ、εｃ、の夫々の値は、
０〜１．０の範囲とし、その総和は１．０以下とする。）の、
演算式による前記負荷変動相当処理時間を求めるようにし、
前記管理サーバは、前記ＣＰＵ使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度の全ての前記負荷情報が均等となるように前記補正係数を調整するようにしたことを特徴とする前記請求項１に記載のクラウド制御システム。
【請求項４】
前記複数の予測法は、平均値法、中央値法、勾配法、トリム平均値法、及びＡＲ法であり、前記負荷変動予測時間は、前記制御周期を最小単位時間とする前記負荷変動相当処理時間について前記負荷予測期間における夫々の前記予測法での値を求めるようにしたことを特徴とする請求項1に記載のクラウド制御システム。
【請求項５】
前記複数の予測法の選択方法は、前記負荷変動予測時間は、前記負荷変動相当処理時間が予め定める値以下の場合、及び予め定める負荷変動値以上でその変化が減少する場合には、前記中央値法で、その他の場合には、他の前記予測法を選択するようにしたことを特徴とする請求項１に記載のクラウド制御システム。
【請求項６】
前記複数の予測法の選択方法は、今回の制御周期求めた複数の前記負荷変動予測時間と、前回の制御周期で求めた複数の前記負荷変動予測時間とを比較して、最も大きい前記負荷変動予測時間の予測法を選択するようにしたことを特徴とする請求項１に記載のクラウド制御システム。
【請求項７】
前記複数の予測法の選択方法は、今回の制御周期での前記負荷変動相当処理時間の値に最も近い前記負荷変動予測時間の予測法を選択するようにしたことを特徴とする請求項１に記載のクラウド制御システム。
【請求項８】
前記管理サーバと、前記演算サーバとは、同じプラットフォームの仮想サーバで構成し、前記ネットワークは、当該仮想サーバを接続する仮想ネットワークとし、前記クラウド制御システムが容易に構成できるようにした前記請求項１に記載のクラウド制御システム。
【請求項９】
さらに、前記ネットワークに接続され、前記管理サーバがスケジューリングした前記制御プログラムのスケジューリング状態をモニタするスケジューリングモニタ処理部と、前記演算サーバの負荷状態をモニタする演算サーバ負荷情報モニタ処理部と、当該スケジューリングモニタ処理部及び当該演算サーバ負荷情報モニタ処理部が処理した結果をモニタするモニタと、を備える監視端末を備え、
当該モニタには、前記負荷情報、前記負荷変動予測時間、及び前記制御プログラムのスケジューリング結果を時系列に表示させ、前記制御プログラムの負荷状態を視認監視可能に表示させるようにした前記請求項１に記載のクラウド制御システム。
【請求項１０】
複数のプログラムで構成される制御プログラムを複数の演算サーバに、予め定められる制御周期時間内で処理するようにスケジューリングする管理サーバと、前記管理サーバでスケジューリングされた１つ、又は前記複数のプログラムを実行する前記複数の演算サーバと、前記管理サーバと前記複数の演算サーバとを接続するネットワークと、を備え、
前記管理サーバは、並列実行可能な前記複数のプログラムと、当該プログラム毎の基準処理時間情報と、当該制御プログラム実行時の前記演算サーバの前記制御周期毎の負荷状態を示す負荷情報から、予め定める負荷予測期間での基準負荷情報と、を予め記憶しておき、
前記管理サーバは、最初の制御周期の処理として、前記基準処理時間情報を参照して、複数の前記プログラムについて夫々の前記基準処理時間情報の大きい順に並べて前記複数の演算サーバに割り当てし、
次に、割り当てた結果、処理時間の少ない前記演算サーバに対して、残った前記プログラムの前記基準処理時間情報の大きい順に割り当てし、
以後、この操作を繰り返して全ての前記プログラムを割り当てして、夫々の前記演算サーバのスケジュールを設定し、
前記演算サーバは、スケジューリングされた前記プログラムを実行して、前記演算部の前記負荷情報を計測してその計測値を前記管理サーバに送信し、
次に、前記管理サーバは、前記最初の制御周期の以降の前記負荷予測期間経過後の制御周期毎に、今回の前記負荷情報の計測値と前記基準負荷情報との差から負荷変動に相当する処理時間である負荷変動相当処理時間を求め、
さらに、前記負荷予測期間について予め設定される複数の予測法により前記負荷変動予測時間を求め、今回の制御周期での複数の前記負荷変動予測時間と、前回の制御周期で求めた複数の前記負荷変動予測時間とを比較して、予め定める選択方法で１つの前記予測法を次制御周期の予測法として選択し、
次に、夫々の前記演算サーバの前記負荷変動予測時間の小さい順に前記基準処理時間情報の大きい順に前記複数のプログラムを一つずつ順次割り当てし、
割り当てた結果の残った前記複数のプログラムがある場合には、さらに、前記負荷変動予測時間と前記基準処理時間情報との加算値を求め、加算した処理時間が少ない前記演算サーバの順に、さらに前記基準処理時間情報が大きい順に残った前記プログラム割り当てして前記演算サーバのスケジュールを更新し、
予め設定される前記負荷予測期間後の制御周期毎に、夫々の前記演算サーバの負荷状態を計測して前記制御周期時間内で、前記制御プログラムの処理が最短の時間で終了するように、且つ、処理時間が均等となるようにしたことを特徴とするクラウド制御システムの制御プログラムのスケジューリング方法。
【請求項１１】
前記負荷情報は、前記ＣＰＵ使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度であり、
前記管理サーバは、前記負荷情報のいずれか１種類を予め前記演算サーバに設定しておき、前記演算サーバで計測された前記負荷情報の計測値から、
負荷Ａ＝制御周期×α×（今回計測のＣＰＵ使用率−予め計測される基準ＣＰＵ使用率）、
負荷Ｂ＝制御周期×β×（今回計測のメモリ使用率−予め計測される基準メモリ使用率）、
負荷Ｃ＝制御周期×γ×（今回計測の演算時間−予め計測される基準演算時間）、
負荷Ｄ＝制御周期×δ×（今回計測の応答時間−予め計測される基準応答時間）、
負荷Ｅ＝制御周期×ε×（今回計測の演算サーバの演算チップ温度−予め計測される前記演算サーバの基準演算チップ温度）、
（但し、α、β、γ、δ、εは、０〜１．０の範囲の補正計数である。）の、
予め設定されたいずれか１つの演算式に基づいて前記負荷変動相当処理時間を求めるようにしたことを特徴とする前記請求項１０に記載のクラウド制御システムの制御プログラムのスケジューリング方法。
【請求項１２】
前記負荷情報は、前記ＣＰＵ使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度であり、
前記管理サーバは、前記負荷情報の種類を予め前記演算サーバに設定しておき、前記演算サーバで計測された前記負荷情報の計測値から、
負荷Ｆ＝（αｃ×負荷ＡＣ）＋（βｃ×負荷ＢＣ）＋（γｃ×負荷ＣＣ）＋（δｃ×負荷ＤＣ）＋（εｃ×負荷ＥＣ）、
（但し、
負荷ＡＣ＝制御周期×（今回計測のＣＰＵ使用率−予め計測される基準ＣＰＵ使用率）、
負荷ＢＣ＝制御周期×（今回計測のメモリ使用率−予め計測される基準メモリ使用率）、
負荷ＣＣ＝制御周期×（今回計測の演算時間−予め計測される基準演算時間）、
負荷ＤＣ＝制御周期×（今回計測の応答時間−予め計測される応答時間）、
負荷ＥＣ＝制御周期×（今回計測の演算サーバの演算チップ温度−予め計測される演算サーバの基準演算チップ温度
とする。また、補正係数αｃ、βｃ、γｃ、δｃ、εｃ、の夫々の値は、
０〜１．０の範囲とし、その総和は１．０以下とする。）の、
演算式による前記負荷変動相当処理時間を求めるようにし、
前記管理サーバは、前記ＣＰＵ使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度の全ての前記負荷情報が均等となるように前記補正係数を調整するようにしたことを特徴とする前記請求項１０に記載のクラウド制御システムの制御プログラムのスケジューリング方法。
【請求項１３】
前記複数の予測法は、平均値法、中央値法、勾配法、トリム平均値法、及びＡＲ法であり、前記負荷変動予測情報は、前記制御周期を最小単位時間とする前記負荷変動相当処理時間について前記負荷予測期間における夫々の前記予測法での値を求めるようにし、
さらに、前記負荷変動予測情報は、前記負荷変動相当処理時間が予め定める値以下の場合、及び予め定める負荷変動値以上でその変化が減少する場合には、中央値法で求め、その他の場合には、他の前記予測法で求めるようにしたことを特徴とする請求項１０に記載のクラウド制御システムの制御プログラムのスケジューリング方法。
【請求項１４】
前記複数の予測法の選択方法は、前記負荷変動予測時間は、前記負荷変動相当処理時間が予め定める値以下の場合、及び予め定める負荷変動値以上でその変化が減少する場合には、前記中央値法で、その他の場合には、他の前記予測法を選択するようにしたことを特徴とする請求項１０に記載のクラウド制御システムの制御プログラムのスケジューリング方法。
【請求項１５】
前記複数の予測法の選択方法は、今回の制御周期求めた複数の前記負荷変動予測時間と、前回の制御周期で求めた複数の前記負荷変動予測時間とを比較して、最も大きい前記負荷変動予測時間の予測法を選択するようにしたことを特徴とする請求項１０に記載のクラウド制御システムの制御プログラムのスケジューリング方法。
【請求項１６】
前記複数の予測法の選択方法は、今回の制御周期での前記負荷変動相当処理時間の値に最も近い前記負荷変動予測時間の予測法を選択するようにしたことを特徴とする請求項１０に記載のクラウド制御システムの制御プログラムのスケジューリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、クラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法に関する。
【背景技術】
【０００２】
災害復旧を容易にするため、遠隔からネットワークを介して現場機器を制御する遠隔制御技術に注目が集まっている。遠隔に配置された複数のクラウドサーバから制御を行うシステムを、ここではクラウド制御システムと呼ぶ。
【０００３】
クラウド制御システムでは、制御プログラムを物理的に離れた複数のサーバに保持するので、被災時において、全ての制御プログラムが失われる恐れがないため、災害からの復旧の際、制御プログラムの再構築およびクラウドサーバの交換にかかる時間を短縮することができる。
【０００４】
このような背景から、クラウド制御システムにおいては、複数の制御プログラムを複数のサーバで並列実行させるため、夫々のサーバの負荷状態を正確に予測して過剰な負荷とならないように制御プログラムをスケジューリングするスケジューラ、または、スケジューリングシステムが求められている。
【０００５】
ところで、複数のタスクで構成される制御プログラム（タスク）を複数の演算サーバに負荷分散する方法として、各々の制御プログラムの信頼性や緊急度を考慮して割り当てる情報処理装置がある（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−２５０８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した特許文献１においては、演算器が故障した場合を想定して、複数のタスクを演算器に割り当てるようにしているが、タスクを割り当てられる演算器の負荷状態を計測していないので、負荷の高い演算器にさらに負荷が高くなるタスクを割り当てる恐れがある。そのため、予め設定される制御周期でプログラムの処理が完了しない恐れがある。
【０００８】
また、クラウド制御システムの制御周期かかわる負荷には、演算サーバ自身の負荷変動の他、ネットワークのトラフィク状態もサーバ間の通信時間に影響するので、演算サーバの負荷変動状態を計測するだけでなく、適切な負荷予測を行って制御プログラムをスケジューリング（ローディング）することが求められている。
【０００９】
本願は、複数のサーバのネットワークで構成されるクラウド制御システムにおいて、サーバの負荷変動状態を計測して、各サーバの負荷予測を行って予め設定される制御周期内に、制御プログラムが実行できるようにしたクラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本実施の形態のクラウド制御システムは、複数のプログラムで構成される制御プログラムを複数の演算サーバに、予め定められる制御周期時間内で処理するようにスケジューリングする管理サーバと、前記管理サーバでスケジューリングされた１つ、又は前記複数のプログラムを実行する前記複数の演算サーバと、前記管理サーバと前記複数の演算サーバとを接続するネットワークと、を備え、前記管理サーバは、並列実行可能な前記複数のプログラムと、当該プログラム毎の基準処理時間情報と、当該制御プログラム実行時の前記演算サーバの前記制御周期毎の負荷状態示す負荷情報から、予め定める負荷予測期間での基準となる基準負荷情報と、を予め記憶する第１の記憶部と、前記複数の演算サーバの負荷を均等化する負荷均等化処理プログラムを備え、前記制御周期毎に前記複数の演算サーバの負荷が均等になるように前記複数のプログラムを分配送信するスケジュール設定部と、前記演算サーバから送られた前記負荷情報と、前記第１の記憶部から抽出した前記基準負荷情報とから前記負荷変動予測時間を生成するための負荷変動相当処理時間演算プログラム、及び負荷変動予測演算プログラムと、を備える負荷変動予測演算部と、を備え、前記演算サーバは、前記複数のプログラムを記憶する第２の記憶部と、前記スケジュール設定部で設定された前記複数のプログラムを実行する演算部と、前記管理サーバから予め設定された負荷計測手法で当該演算サーバ自身の前記負荷情報を計測する負荷計測プログラムを記憶し、前記制御周期毎に計測した前記複数のプログラムの当該負荷情報の計測値を前記管理サーバに送信する負荷情報計測部と、を備え、前記スケジュール設定部は、最初の制御周期において、前記負荷均等化処理プログラムに基づいて前記基準処理時間情報を参照して、前記複数のプログラムについて夫々の前記基準処理時間情報を大きい順に並べて前記複数の演算サーバに割り当てし、次に、割り当てた結果、処理時間の少ない前記演算サーバに対して、残った前記プログラムの前記基準処理時間情報の大きい順に割り当てし、以後、この操作を繰り返して全ての前記プログラムを割り当てして、夫々の前記演算サーバのスケジュールを設定し、次に、夫々の前記負荷情報計測部は、前記負荷計測プログラムに基づいて、スケジューリングされた前記プログラムを実行して、前記演算部の前記負荷情報を計測してその計測値を前記管理サーバに送信し、次に、前記スケジュール設定部は、前記最初の制御周期の以降の前記負荷予測期間経過後の制御周期毎に、前記負荷変動相当処理時間演算プログラムに基づいて、今回の制御周期での前記負荷情報の計測値と前記基準負荷情報との差から負荷変動に相当する処理時間である負荷変動相当処理時間情報を求め、さらに、前記負荷変動予測演算プログラムに基づいて、前記負荷予測期間について予め設定される複数の予測法により前記負荷変動予測時間を求め、さらに、今回の制御周期求めた複数の前記負荷変動予測時間と、前回の制御周期で求めた複数の前記負荷変動予測時間とを比較して、予め定める選択方法で１つの前記予測法を次制御周期の予測法として選択し、次に、前記均等化処理プログラムに基づいて、算出された夫々の前記演算サーバの前記負荷変動予測時間の小さい順に、前記基準処理時間情報の大きい順に前記複数のプログラムを一つずつ順次割り当てし、割り当てた結果、残った前記複数のプログラムがある場合には、さらに、前記負荷変動予測時間と前記基準処理時間情報との加算値を求め、加算した合計の処理時間が少ない前記演算サーバの順に、前記基準処理時間情報が大きい順に、残った前記プログラム割り当てして前記演算サーバのスケジュールを更新し、予め設定される前記負荷予測期間後の制御周期毎に、夫々の前記演算サーバの負荷状態を計測して前記制御周期時間内で、前記制御プログラムの処理が最短の時間で終了するように、且つ、処理時間が均等となるようにしたことを特徴とする。
【００１１】
上記目的を達成するために、本実施の形態のクラウド制御システムの制御プログラムのスケジューリング方法は、複数のプログラムで構成される制御プログラムを複数の演算サーバに、予め定められる制御周期時間内で処理するようにスケジューリングする管理サーバと、前記管理サーバでスケジューリングされた１つ、又は前記複数のプログラムを実行する前記複数の演算サーバと、前記管理サーバと前記複数の演算サーバとを接続するネットワークと、を備え、前記管理サーバは、並列実行可能な前記複数のプログラムと、当該プログラム毎の基準処理時間情報と、当該制御プログラム実行時の前記演算サーバの前記制御周期毎の負荷状態を示す負荷情報から、予め定める負荷予測期間での基準負荷情報と、を予め記憶しておき、前記管理サーバは、最初の制御周期の処理として、前記基準処理時間情報を参照して、複数の前記プログラムについて夫々の前記基準処理時間情報の大きい順に並べて前記複数の演算サーバに割り当てし、次に、割り当てた結果、処理時間の少ない前記演算サーバに対して、残った前記プログラムの前記基準処理時間情報の大きい順に割り当てし、以後、この操作を繰り返して全ての前記プログラムを割り当てして、夫々の前記演算サーバのスケジュールを設定し、前記演算サーバは、スケジューリングされた前記プログラムを実行して、前記演算部の前記負荷情報を計測してその計測値を前記管理サーバに送信し、次に、前記管理サーバは、前記最初の制御周期の以降の前記負荷予測期間経過後の制御周期毎に、今回の前記負荷情報の計測値と前記基準負荷情報との差から負荷変動に相当する処理時間である負荷変動相当処理時間を求め、さらに、前記負荷予測期間について予め設定される複数の予測法により前記負荷変動予測時間を求め、今回の制御周期での複数の前記負荷変動予測時間と、前回の制御周期で求めた複数の前記負荷変動予測時間とを比較して、予め定める選択方法で１つの前記予測法を次制御周期の予測法として選択し、次に、夫々の前記演算サーバの前記負荷変動予測時間の小さい順に前記基準処理時間情報の大きい順に前記複数のプログラムを一つずつ順次割り当てし、割り当てた結果の残った前記複数のプログラムがある場合には、さらに、前記負荷変動予測時間と前記基準処理時間情報との加算値を求め、加算した処理時間が少ない前記演算サーバの順に、さらに前記基準処理時間情報が大きい順に残った前記プログラム割り当てして前記演算サーバのスケジュールを更新し、予め設定される前記負荷予測期間後の制御周期毎に、夫々の前記演算サーバの負荷状態を計測して前記制御周期時間内で、前記制御プログラムの処理が最短の時間で終了するように、且つ、処理時間が均等となるようにしたことを特徴とする。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態のクラウド制御システムのブロック構成図。
【図２】発明の処理動作原理を説明するフローチャート図。
【図３】発明の動作を説明するタイムチャート。
【図４】負荷変動予測情報の演算動作を説明するタイムチャート。
【図５】１周期目のスケジューリング（並べ替え処理）。
【図６】１周期目のスケジューリング動作の説明図。
【図７】負荷変動予測情報と負荷予測期間経過後の負荷均等化処理動作の説明図。
【図８】クラウド制御システムの処理動作を説明するフローチャート図。
【図９】第２の実施の形態のクラウド制御システムのブロック構成図。
【図１０】負荷情報とスケジューリング結果のモニタ例。
【図１１】負荷変動予測情報とスケジューリング結果のモニタ例
【図１２】負荷情報、スケジューリングした予測処理時間のトレンドモニタの例。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照して説明する。
【００１４】
（第１の実施の形態）
第１の実施の形態について図１乃至図８を参照して説明する。図１は、第１の実施の形態を説明するブロック構成図である。
【００１５】
図１において、本クラウド制御システムの構成は、複数のプログラムで構成される制御プログラムを複数の演算サーバ２Ａ、及び演算サーバ２Ｂに、予め定められる制御周期時間内で処理するようにスケジューリングする管理サーバ１と、管理サーバ１でスケジューリングされた１つ、又は複数のプログラムを実行する複数の演算サーバ２（以後、演算サーバ２Ａ及び演算サーバ２Ｂを総称する場合には演算サーバ２と記す）と、管理サーバ１と複数の演算サーバ２とを接続するネットワーク３と、を備える。
【００１６】
ここで複数のプログラムは、複数のタスクと同義語として使用する。また、ここでネットワーク３は、各サーバ結ぶコンピュータネットであって、一般的には、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等の通信インフラが適用可能で、専用回線でも、また、パブリックなインターネットのいずれでも良いが、夫々のサーバは、災害対策上適当な離間した場所に設けられることが好ましい。
【００１７】
次に、各サーバの構成について説明する。管理サーバ１は、スケジュール設定部１１と、第１の記憶部１２と、負荷変動予測演算部１３とを備える。
【００１８】
先ず、第１の記憶部１２には、並列実行可能な複数のプログラム１２ａ１及び当該プログラム毎の基準処理時間情報１２ａ２と、制御プログラム実行時の演算サーバ２の制御周期毎の負荷状態示す負荷情報から、予め定める負荷予測期間での基準となる基準負荷情報１２ｂと、を予め記憶しておく。
【００１９】
次に、スケジュール設定部１１は、制御周期毎に複数の演算サーバ２の負荷が均等になるように複数のプログラムを分配送信する負荷均等化処理プログラム１１ａを備える。
【００２０】
また、負荷変動予測演算部１３は、演算サーバ２から送られた負荷情報１２と、第１の記憶部１２から抽出した基準負荷情報１２ｂとから負荷変動予測情報を生成するための負荷変動相当処理時間演算プログラム１３ａ、及び負荷変動予測演算プログラム１３ｂと、を備える。
【００２１】
次に、夫々の演算サーバ２は、スケジュール設定部１１から設定された複数のプログラムを実行する演算部２１と、この複数のプログラム２２ａの全てを予め記憶した第２の記憶部２２と、管理サーバ１から予め設定された負荷計測手法で夫々の演算サーバ２自身の負荷状態を示す負荷情報を計測する負荷計測プログラム２３ａを記憶し、制御周期毎にローディングされた複数のプログラムを実行し、負荷情報の計測値を管理サーバ１に送信する負荷情報計測部２３と、を備える。
【００２２】
次に、各部の詳細構成について説明する。先ず、管理サーバ１の第１の記憶部１２に記憶する基準処理時間情報１２ａ２は、演算サーバ２が制御プログラム１２ａ１を実行した時の複数のプログラム毎の演算処理時間の基準となる処理時間である。
【００２３】
この基準情報処理時間１２ａ２（データＴｒｋ）は、制御プログラムを実行するクラウド制御システムの使用環境を設定し、標準的な演算サーバ２が夫々のプログラムを実行した時の処理時間を計測して求める。使用環境の変化、及び演算サーバ２の性能のバラツキを予測して、その平均的な処理時間を基準として記憶しておく。
【００２４】
次に、基準負荷情報１２ｂ（データＭｒ）は、制御プログラムの複数のプログラムを夫々実行した場合の演算サーバ２の負荷状態を示す計測値で、負荷計測プログラムに基づいて詳細を後述する種々の方法で計測し記憶したものである。
【００２５】
この基準負荷情報は、プログラム毎、またはスケジューリングする複数のプログラム毎の計測値を求めておくことが望ましい。
【００２６】
ここで、図２乃至図４を参照して、図１のように構成されたクラウド制御システムの動作原理を説明し、次に、各部の演算プログラムの詳細について説明する。
【００２７】
本実施の形態の処理は、制御プログラムを実行する前実行する前処理と、前処理された基準時間情報を基にしてプログラムを分配する最初の制御周期の第１のスケジューリング処理と、予め設定される負荷予測期Ｔａ以降の制御周期Ｔｃから逐次、制御周期毎に求められる負荷変動予測情報を求めて、この負荷変動予測時間と基準時間情報とからプログラムをスケジューリングする第２のスケジューリング処理と、がある。
【００２８】
第１のスケジューリング、及び第２のスケジューリングは、詳細を後述する負荷均等化処理プログラムに基づいて実行される。
【００２９】
図２において、前処理は、処理ステップ（ｐ１）〜処理ステップ（ｐ２）で、予め管理サーバ１の第１の記憶部１２に基準処理時間情報１２ａ１、及び基準負荷情報１２ｂを予め制御プログラム実行前に求めておく処理である。
【００３０】
前処理後の最初の制御周期で行う処理は、処理ステップ（ｐ３）〜処理ステップ（ｐ８）に示す６つの処理ステップで構成される。
【００３１】
図２には演算サーバ１〜演算サーバｎのｎ台の場合を図示し、その処理は、いずれの演算サーバの処理ステップも同じであるので、ｎ台目の演算サーバについて記載する。
【００３２】
夫々の処理ステップは、プログラム毎の基準処理時間情報１２ａ２（データＴｒｋ）を第１の記憶部１２から読みだして、複数の演算サーバ２に分配（ｐ３）する処理、そして、分配された夫々の演算サーバは、分配された複数のプログラムを実行する処理（ｐ４）、複数のプログラムを実行した後、負荷情報計測プログラム２３ａを実行して負荷情報の計測値の平均値を、求める処理（ｐ５）で構成される。
【００３３】
さらに、計測された負荷情報から、基準負荷情報Ｍｒと今回の制御周期で計測した負荷情報Ｍｉとの差を求め、さらに、この差（基準負荷情報からの変動値）を制御周期での時間に換算する負荷変動相当処理時間演算プログラムを実行して負荷変動相当処理時間を求める処理（ｐ６）と、負荷変動相当処理時間を求めた後、予め定める負荷予測期間Ｔａ単位で、予め定める詳細を後述する負荷変動予測演算プログラムに基づいて、複数の予測法による負荷変動予測時間Δｔｉを逐次求める処理（ｐ７）と、予測法毎の値を比較して予め定める判定方法で、次の制御周期での予測法を選択設定する負荷変動予測法の選択処理（ｐ８）とで構成される。
【００３４】
この負荷情報から、負荷変動予測時間Δｔｉを求めるまでの各演算プログラムについては、そのアルゴリズムの詳細を後述する。
【００３５】
即ち、図２に示す処理ステップは、図３のタイムチャートに示すように、制御周期Ｔｃの期間において、管理サーバ１の処理ステップｐ３で制御プログラムを分配し、夫々の演算サーバ２では、処理ステップｐ４〜ｐ５で分配された制御プログラムを実行し、さらに、管理サーバ１で次制御周期での負荷変動予測法を選択する処理ステップｐ６〜ｐ８までの処理を、１つの制御周期時間Ｔｃ内に完了させる。
【００３６】
最初の制御周期Ｔｃでは、基準処理時間情報Ｔｒｋのデータのみでプログラムを演算サーバ２に分配するが、次制御周期Ｔｃ以降では、選択された負荷変動予測法に基づく負荷変動予測時間Δｔｉ（負荷変動時間）を夫々の演算サーバ２の負荷（初期値）とし、負荷均等化処理プログラムに基づくスケジューリング処理を実行してプログラムを再分配する。
【００３７】
尚、図４に示すように、負荷予測期間Ｔａに満たない初期の制御周期期間においては、負荷情報の計測点数が不足するので正常な値が求まらないが、負荷予測期間Ｔａ以降の制御周期においては、正常な負荷変動予測演算が可能となる。
【００３８】
このように、夫々演算サーバ２の負荷状態の変動を負荷計測期間で測定して、次制御周期の負荷を予測してプログラムを再分配してゆくので、制御周期を超える恐れのない信頼性の高いプログラムのスケジューリングが可能となる。
【００３９】
次に、各処理ステップの演算プログラムの詳細について説明する。先ず、負荷計測プログラム２３ａについて説明する。負荷計測プログラム２３ａ（ｐ５）は、市販されている診断プログラムを使用して、ＣＰＵ使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度等の演算サーバ２の負荷状態を計測することが可能である。
【００４０】
また、演算サーバ２の温度計測は、演算サーバ２の演算チップの表面温度を検出する温度センサとその検出回路とが必要となる。
【００４１】
次に、負荷変動相当処理時間演算プログラム（ｐ６）の処理動作について説明する。負荷変動相当処理時間演算プログラム（ｐ６）の処理は、今回の制御周期でスケジューリングされた制御プログラムを実行して計測された負荷情報の計測値と、対応する基準負荷情報Ｍｒとの差を求め、この差分を制御周期での処理時間に相当する負荷変動時間、即ち、負荷変動相当処理時間として求めるものである。
【００４２】
この処理には、例えば、次のような方法がある。予め設定される負荷情報について、
負荷Ａ＝制御周期×α×（今回計測のＣＰＵ使用率−予め計測されたＣＰＵ使用率）、
負荷Ｂ＝制御周期×β×（今回計測のメモリ使用率−予め計測されたメモリ使用率）、
負荷Ｃ＝制御周期×γ×（今回計測の演算時間−予め計測された演算時間）、
負荷Ｄ＝制御周期×δ×（今回計測の応答時間−予め計測された応答時間）、
負荷Ｅ＝制御周期×ε×（今回計測の演算サーバの演算チップ温度−予め計測された前記演算サーバの演算チップ温度）、
（但し、α、β、γ、δ、εは、０〜１．０の範囲の補正計数である。）の、
上記演算式のいずれか１つの演算式に基づいて、演算サーバ２の処理時間に相当する負荷を予測する負荷変動相当処理時間を求める。
【００４３】
即ち、負荷変動相当処理時間は、前処理として計測された基準負荷情報と今回の制御周期での計測値の差を求め、この差分に対し補正計数を乗じて、制御周期での処理時間に相当する負荷変動相当の時間とする。
【００４４】
この負荷変動相当処理時間を求める処理の他の例には、次のような演算処理方法もある。負荷情報は、ＣＰＵ使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度であり、
管理サーバ１は、負荷情報の種類を予め演算サーバ２に設定しておき、演算サーバで計測された負荷情報の計測値から、
負荷Ｆ＝（αｃ×負荷ＡＣ）＋（βｃ×負荷ＢＣ）＋（γｃ×負荷ＣＣ）＋（δｃ×負荷ＤＣ）＋（εｃ×負荷ＥＣ）、
（但し、
負荷ＡＣ＝制御周期×（今回計測のＣＰＵ使用率−予め計測される基準ＣＰＵ使用率）、
負荷ＢＣ＝制御周期×（今回計測のメモリ使用率−予め計測される基準メモリ使用率）、
負荷ＣＣ＝制御周期×（今回計測の演算時間−予め計測される基準演算時間）、
負荷ＤＣ＝制御周期×（今回計測の応答時間−予め計測される基準応答時間）、
負荷ＥＣ＝制御周期×（今回計測の演算サーバの演算チップ温度−予め計測される基準演算サーバの演算チップ温度
とする。また、補正係数αｃ、βｃ、γｃ、δｃ、εｃ、の夫々の値は、
０〜１．０の範囲とし、その総和は１．０以下とする。）の、
負荷Ｆによる負荷変動相当処理時間を求めるようにし、
管理サーバ１は、ＣＰＵ使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度の全ての負荷情報が均等となるように補正係数を調整するようにして求める。
【００４５】
次に、負荷変動予測演算プログラム１３ｂについて説明する。スケジューリングされた制御プログラムを実行して、基準負荷情報Ｍｒとの差から負荷変動に相当する処理時間である負荷変動相当処理時間情報を求め、さらに、負荷変動予測演算プログラム１３ｂでは、予め定められる負荷予測期間Ｔａについて予め設定される複数の予測法により負荷変動予測時間Δｔｉを求めるものである。
【００４６】
複数の予測法は、平均値法、中央値法、勾配法、トリム平均値法、及びＡＲ法（Auto-regressive model）であり、負荷変動予測時間Δｔｉは、制御周期Ｔｃを最小単位時間とする負荷変動相当処理時間について負荷予測期間Ｔａｍにおける夫々の予測法での値を求める。
【００４７】
さらに、今回の制御周期求めた夫々の予測法の複数の負荷変動予測時間Δｔｉと、前回の制御周期で求めた複数の負荷変動予測時間Δｔｉとを比較して、最も大きい変動値を示した１つの予測法を選択し、次の制御周期の予測法として選択する、または、今回の制御周期での負荷変動相当処理時間の値に最も近い負荷変動予測時間Δｔｉの予測法を選択する方法もある。
【００４８】
尚、発明者らのシミュレーションによれば、クラウド制御システムにおいては、通常の制御周期時間近傍の時間で演算サーバの負荷が急変する現象がみられた。
【００４９】
このような変動パターンの場合には、負荷変動相当処理時間が予め定める値以下の場合、及び予め定める負荷変動値以上でその変化が減少する場合には、中央値法で求め、その他の変動の場合には、他の予測法で求めるのが効果的である。
【００５０】
次に、負荷均等化処理プログラム１１ａの処理動作について、説明する。前処理後の最初の制御周期での負荷均等化処理プログラム１１ａによる第１のスケジューリング（ｐ３）動作について、図５及び図６を参照して説明する。
【００５１】
図５、図６は、例えば、３台の演算サーバ２Ａ、２Ｂ、２Ｃに対して、図８（ａ）に示すような複数のプログラム１〜６を分配する場合について説明する。
【００５２】
第１のスケジューリング処理（ｐ３）では、例えば、図５（ａ）に示すような複数のプログラム１〜プログラム６について、予め取得したプログラム毎の処理時間情報を参照して、複数のプログラム１〜プログラム６を処理時間の長い順に並べ替え、プログラム３（基準処理時間情報７ｍｓ）、プログラム１（基準処理時間情報６ｍｓ）、・・・プログラム６（基準処理時間情報１ｍｓ）のように、一時記憶する。
【００５３】
そして、次に、図６に示すように、並び替えた複数のプログラムを複数の演算サーバ２に割り付ける。例えば、演算サーバ２Ａにはプログラム３、演算サーバ２Ｂにはプログラム１、演算サーバ２Ｃには、プログラム４（基準処理時間４ｍｓ）を割付する。
【００５４】
次に、残ったプログラム２、５、６は、割付した各演算サーバ２の処理時間が少ない順に、残ったプログラムの処理時間情報が大きい値の順に割付する。
【００５５】
即ち、初回の割付で一番処理時間の短かった演算サーバ２Ｃには、一番処理時間情報の大きい値のプログラム２（基準処理時間情報３ｍｓ）を、２番目に処理時間の短かった演算サーバ２Ｂには、プログラム５（基準処理時間情報２ｍｓ）、一番処理時間の大きい値が割り付けられた演算サーバ２Ａには、プログラム６（１ｍｓ）が割り付けられる。
【００５６】
このような割付が繰り返された結果、演算サーバＡの処理時間の合計値は８ｍｓ、演算サーバ３の処理時間の合計値は８ｍｓ、演算サーバＣの処理時間の合計値は７ｍｓとなる。
【００５７】
そして、このように割付された制御プログラムは、選択した基準負荷情報と合わせて、管理サーバ１からネットワーク３を介して、夫々の演算サーバ２に送信される。
【００５８】
この最初の制御周期の開始で負荷均等化処理プログラム１１ａによるスケジューリングをすることにより、予め取得した複数のプログラム毎の基準処理時間情報Ｔｒｋに基づいて、クラウド制御システムの制御プログラムを複数の演算サーバ２で実行する場合に、処理時間が均等になるように割付することが出来る。
【００５９】
次に、最初の制御周期以降の負荷予測期間後の制御周期で実行される負荷均等化処理プログラム１１ａによる第２のスケジューリング（ｐ９）動作について、図７を参照して説明する。
【００６０】
先ず、負荷均等化処理プログラム１１ａは、前制御周期での夫々の演算サーバ２Ａ、２Ｂ、２Ｃの、予め設定された１つの負荷情報の基準負荷情報と、今回の負荷情報の計測値との差を負荷に相当する負荷変動相当処理時間として求める。
【００６１】
そして、複数の演算サーバ２から送信された負荷情報に基づいて、夫々の負荷変動相当処理時間を求め、この値の少ない演算サーバ２の順に、複数のプログラムの基準処理時間情報Ｔｒｋが大きいものから順に割り当てる。
【００６２】
この詳細な動作例について、図７を参照して説明する。前回の制御周期で求めた負荷変動相当処理時間は、例えば、演算サーバ２Ａは５ｍｓ、演算サーバ２Ｂは６ｍｓ、演算サーバ２Ｃは４ｍｓ、であったとする。
【００６３】
すると、この値の最も小さい演算サーバ２Ｃにプログラム３（基準処理時間情報７ｍｓ）を、次に小さかった演算サーバ２Ａにプログラム１（基準処理時間情報６ｍｓ）を、この値が一番大きい演算サーバＢにプログラム４（基準処理時間情報４ｍｓ）を割付する。
【００６４】
そして、次の割付は、割り当てた結果の残った複数のプログラムがある場合には、さらに、当該基準処理時間情報の合計時間と負荷変動相当処理時間の加算値が少ない演算サーバ２の順に、残ったプログラムの基準処理時間情報が最も大きいものを順次割り当てる。
【００６５】
即ち、演算サーバＢは、加算値が１０ｍｓでもっとも小さいので、残ったプログラムの基準処理時間情報の最も大きいプログラム２（基準処理時間情報３ｍｓ）を、次に、演算サーバＡ、Ｃは、加算値がいずれも１１ｍｓなので、演算サーバＡにプログラム５（基準処理時間情報２ｍｓ）、最後に、演算サーバＣには残ったプログラム６（基準処理時間情報１ｍｓ）を割付して、夫々の負荷を均等になるように割付する。
【００６６】
このようにして作成したスケジュールを管理サーバ１から夫々の演算サーバ２にネットワーク３を介して送信する。
【００６７】
以後、制御プログラムを実行するとともに、第２の制御周期の処理を繰り返し実行してゆく。また、このスケジューリングを繰り返すことで、各演算サーバの負荷が均等になるように制御される。
【００６８】
次に、以上のように構成された、クラウド制御システムの全体の処理動作について図１及び図８を参照して説明する。
【００６９】
管理サーバ１は、並列実行可能な複数のプログラムと、当該プログラム毎の基準処理時間情報の取得（ｓ１）と、当該制御プログラム実行時の演算サーバ２の制御周期毎の負荷状態示す負荷情報の取得から、予め設定される基準負荷情報（ｓ２）と、を予め記憶しておき（ｓ３）、
管理サーバ１は、最初の制御周期の処理として、基準処理時間情報Ｔｒｋを参照して、複数のプログラムについて夫々の基準処理時間情報の大きい順に並べて複数の演算サーバ２に割り当てし、次に、割り当てた結果、処理時間の少ない演算サーバ２に対して、残ったプログラムの基準処理時間情報Ｔｒｋの大きい順に割り当てし、
以後、この操作を繰り返して全てのプログラムを割り当てして、夫々の演算サーバ２のスケジュールを設定し（ｓ４、ｓ５、ｓ６）、
演算サーバ２は、スケジューリングされたプログラムを実行（ｓ７）して、演算部２１の負荷情報を計測して（ｓ８）その計測値を管理サーバ１に送信し（ｓ９）、
次に、管理サーバ１は、最初の制御周期の以降の負荷予測期間Ｔａ経過後の制御周期Ｔｃ毎に、今回の負荷情報の計測値と基準負荷情報Ｍｒとの差から負荷変動に相当する処理時間である負荷変動相当処理時間情報を求め（ｓ１１）、
さらに、負荷予測期間Ｔａについての予め設定される複数の予測法により負荷変動予測時間Δｔｉを求め（ｓ１２）、今回の制御周期Ｔｃでの複数の負荷変動予測時間Δｔｉと、前回の制御周期で求めた複数の負荷変動予測時間Δｔｉとを比較して、最も大きい変動値を示した一つの予測法を次の制御周期の予測法として設定し（ｓ１３）、
次に、夫々の演算サーバ２の負荷変動予測時間Δｔｉの小さい順に基準処理時間情報Ｔｒｋの大きい順に複数のプログラムを一つずつ順次割り当てし、
割り当てた結果の残った複数のプログラムがある場合には、さらに、負荷変動予測時間と基準処理時間情報の合計時間との加算値を求め、加算した処理時間（予測処理時間）が少ない演算サーバ２の順に、さらに基準処理時間情報Ｔｒｋが大きい順に残ったプログラム割り当てして演算サーバのスケジュールを更新する（ｓ１４、ｓ１５）。
【００７０】
このように構成された第１の実施の形態のクラウド制御システムに依れば、予め設定される負荷予測期間Ｔａ後の制御周期Ｔｃ毎に、夫々の演算サーバ２の負荷状態を計測して制御周期時間内で、制御プログラムの処理が最短の時間で終了するように、且つ、夫々演算サーバ２の処理時間が均等となるようにできるクラウド制御システムを提供することができる。
【００７１】
また、このように構成された第１の実施の形態のクラウド制御システムに依れば、負荷状態を制御周期単位で計測し、この計測値と基準負荷情報をとの差を求め、この差分を制御周期の時間に相当する負荷変動相当処理時間情報に変換する。
【００７２】
さらに、求めた」負荷変動相当処理時間情報を予め設定される負荷予測期間について予め設定される予測法で負荷変動予測時間Δｔｉに変換してそれぞれの演算サーバ２の負荷状態を求めるようにしたので精度の高い負荷予測が可能である。
【００７３】
したがって、演算サーバ２の負荷の均一化が可能なスケジューリングを行うことができる。
【００７４】
尚、本実施の形態で説明したクラウド制御システムの演算サーバ２は、１つの基準処理時間情報で管理するので、同一仕様のプラットフォームで構成することが望ましいが、夫々の演算サーバに基準処理時間情報Ｔｒｋを備える場合はその限りではない。
【００７５】
また、夫々の演算サーバ２を仮想サーバで構成する場合には、同一仕様のプラットフォームで構成することが容易となる。
【００７６】
また、ネットワーク３は、一般的なインターネットや専用回線でも良く、仮想サーバで構成する場合には、仮想ネットワークでも良い。
【００７７】
(第２の実施の形態)
図９を参照して、クラウド制御システムの第２の実施の形態を説明する。第２の実施の形態について、第１の実施の形態の各部と同一の部分は同一の符号で示しその説明を省略する。
【００７８】
第２の実施の形態が、第１の実施の形態と異なる点は、制御プログラムをスケジューリングする場合の演算サーバ２の負荷情報、及びスケジューリングされた結果の予測処理時間、及びこれらを時系列に監視する監視端末５を、ネットワーク３を介して接続する構成としたことにある。
【００７９】
監視端末５は、管理サーバ１がスケジューリングした制御プログラムのスケジューリング状態をモニタするスケジューリングモニタ処理部５３と、演算サーバ２の負荷情報をモニタする演算サーバ負荷情報モニタ処理部５２と、当該スケジューリングモニタ処理部５３及び当該演算サーバ負荷情報モニタ処理部５２が処理した結果をモニタするモニタ５１と、を備える。
【００８０】
図１０は、最初の制御周期でスケジューリングした結果と、各演算サーバ２Ａ、演算サーバ２Ｂ、演算サーバ２Ｃの負荷情報とのモニタ例を示す。
【００８１】
また図１１は、制御プログラムを実行して負荷情報から負荷変動相当処理時間を求め、さらにその負荷変動相当処理時間に対して、スケジューリングした負荷時間のモニタ例を示す。
【００８２】
さらに、図１２は、スケジューリングした予測処理時間(割り当て時間)の結果、また、負荷情報の計測値のトレンドのモニタ例を示す。
【００８３】
このような監視端末５を備えることで、スケジューリング処理の状態や、演算サーバの負荷状態を、監視することができるので、クラウド制御システムの異常を素早く監視することができる。
【００８４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８５】
１  管理サーバ
２Ａ、２Ｂ  演算サーバ
３  ネットワーク
５  監視端末
１１  スケジュール設定部
１１ａ  負荷均等化処理プログラム
１２  第１の記憶部
１２ａ１  制御プログラム
１２ａ２  基準処理時間情報
１２ｂ１  基準負荷情報
１２ｂ２  負荷変動相当処理時間情報
１３  負荷変動予測演算部
１３ａ  負荷変動相当処理時間演算プログラム
１３ｂ  負荷変動予測演算プログラム
２１  演算部
２２  第２の記憶部
２２ａ  制御プログラム
２３  負荷情報計測部
２３ａ１  負荷計測プログラム
５１  モニタ
５２  演算サーバ負荷情報モニタ処理部
５３  スケジューリングモニタ処理部
【図１】
2015200986.tif 000003
【図２】
2015200986.tif 000004
【図３】
2015200986.tif 000005
【図４】
2015200986.tif 000006
【図５】
2015200986.tif 000007
【図６】
2015200986.tif 000008
【図７】
2015200986.tif 000009
【図８】
2015200986.tif 000010
【図９】
2015200986.tif 000011
【図１０】
2015200986.tif 000012
【図１１】
2015200986.tif 000013
【図１２】
2015200986.tif 000014