(57)【要約】【課題】情報処理装置の負荷が過大となることを防止しながら、処理を正常に且つ迅速に実行することが可能な負荷制御システムを提供すること。【解決手段】このシステム１は、複数の情報処理装置３０ａ〜３０ｄを備える。システム１は、処理を特定するジョブ情報と、当該処理を実行可能な実行装置を特定する実行装置特定情報と、当該実行装置以外の当該処理を実行可能な移動先装置を特定する移動先装置特定情報と、を含む装置特定情報を記憶する。システム１は、ジョブ情報により特定される処理を実行装置特定情報により特定される実行装置に実行させる。システム１は、取得された実行装置の負荷が閾値よりも大きい場合、その実行装置に移動対象処理の実行を中断させる。更に、システム１は、移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させる。【選択図】図１
2010044596.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置を備えるとともに、
処理を特定するジョブ情報と、当該処理を実行可能な実行装置としての前記情報処理装置を特定する実行装置特定情報と、当該実行装置以外の前記情報処理装置であって当該処理を実行可能な移動先装置としての前記情報処理装置を特定する移動先装置特定情報と、を含む装置特定情報を記憶する装置特定情報記憶手段と、
前記記憶されている装置特定情報に含まれる前記ジョブ情報により特定される処理を当該装置特定情報に含まれる前記実行装置特定情報により特定される実行装置に実行させる処理実行手段と、
前記実行装置の負荷を表す装置負荷情報を取得する装置負荷情報取得手段と、を備え、
前記処理実行手段は、
前記取得された前記装置負荷情報が表す負荷が閾値よりも大きい場合、前記実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させるとともに、当該実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む前記装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行するように構成された負荷制御システム。
【請求項２】
請求項１に記載の負荷制御システムであって、
前記実行装置が前記移動対象処理の実行を中断してから、前記移動先装置が当該移動対象処理の実行を再開するまでに要する処理移動時間の推定値である予測処理移動時間を取得する予測処理移動時間取得手段と、
前記実行装置が実行している処理毎に、現時点から当該処理の実行を完了するまでに要する実行残余時間の推定値である予測実行残余時間を取得する予測実行残余時間取得手段と、
前記実行装置が実行している処理のうちの、前記取得された予測実行残余時間が前記取得された予測処理移動時間よりも短い処理毎に、当該処理の負荷を表す処理負荷情報を取得する処理負荷情報取得手段と、を備えるとともに、
前記処理実行手段は、前記取得された処理負荷情報が表す負荷の和が、前記取得された装置負荷情報が表す負荷から前記閾値を減じた値よりも大きい場合、前記処理移動処理を実行しないように構成された負荷制御システム。
【請求項３】
請求項１又は請求項２に記載の負荷制御システムであって、
前記ジョブ情報と、前記情報処理装置が当該ジョブ情報により特定される処理を実行するために要した処理実行時間を表す処理実行時間情報と、を含む実行履歴情報を記憶する実行履歴情報記憶手段を備え、
前記予測実行残余時間取得手段は、現時点から前記処理の実行を完了するまでに要する実行残余時間の推定値を、前記記憶されている実行履歴情報のうちの、当該処理を特定するジョブ情報を含む実行履歴情報に含まれる処理実行時間情報に基づいて算出するように構成された負荷制御システム。
【請求項４】
請求項１乃至請求項３のいずれか一項に記載の負荷制御システムであって、
前記移動先装置に前記移動対象処理を実行させた場合における当該移動先装置の負荷の推定値である予測装置負荷を取得する予測装置負荷取得手段を備え、
前記処理実行手段は、前記取得された予測装置負荷が前記閾値よりも大きい場合、前記処理移動処理を実行しないように構成された負荷制御システム。
【請求項５】
請求項４に記載の負荷制御システムであって、
前記処理実行手段は、前記移動先装置が複数存在する場合、前記取得された予測装置負荷が最も小さい前記移動先装置に前記移動対象処理を実行させるための前記処理移動処理を実行するように構成された負荷制御システム。
【請求項６】
請求項１乃至請求項５のいずれか一項に記載の負荷制御システムであって、
前記処理実行手段は、現時点から前記移動対象処理の実行を完了するまでに要する実行残余時間の推定値として取得された前記予測実行残余時間が、前記取得された予測処理移動時間よりも短い場合、前記処理移動処理を実行しないように構成された負荷制御システム。
【請求項７】
請求項１乃至請求項６のいずれか一項に記載の負荷制御システムであって、
前記処理移動処理を実行した日時を表す処理移動日時情報と、当該処理移動処理の対象となった前記移動対象処理を特定するジョブ情報と、当該処理移動処理が実行される前に当該移動対象処理を実行していた実行装置を特定する実行装置特定情報と、当該処理移動処理が実行された後に当該移動対象処理を実行していた移動先装置を特定する移動先装置特定情報と、を含む処理移動履歴情報を記憶する処理移動履歴情報記憶手段と、
前記ジョブ情報と、当該ジョブ情報により特定される処理を実行する日時を表す実行予定日時情報と、を受け付けるジョブ情報受付手段と、を備え、
前記装置特定情報記憶手段は、前記受け付けられた実行予定日時情報が表す日時と予め定められた関係を有する日時を表す情報を前記処理移動日時情報として含み且つ前記受け付けられたジョブ情報を含む前記処理移動履歴情報に含まれる移動先装置特定情報を前記実行装置特定情報として含み、且つ、当該受け付けられたジョブ情報を含む前記装置特定情報を記憶するように構成された負荷制御システム。
【請求項８】
処理を特定するジョブ情報と、当該処理を実行可能な実行装置としての情報処理装置を特定する実行装置特定情報と、当該実行装置以外の情報処理装置であって当該処理を実行可能な移動先装置としての情報処理装置を特定する移動先装置特定情報と、を含む装置特定情報を記憶する装置特定情報記憶手段と、
前記記憶されている装置特定情報に含まれる前記ジョブ情報により特定される処理を当該装置特定情報に含まれる前記実行装置特定情報により特定される実行装置に実行させる処理実行手段と、
前記実行装置の負荷を表す装置負荷情報を取得する装置負荷情報取得手段と、を備え、
前記処理実行手段は、
前記取得された前記装置負荷情報が表す負荷が閾値よりも大きい場合、前記実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させるとともに、当該実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む前記装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行するように構成された負荷制御装置。
【請求項９】
請求項８に記載の負荷制御装置であって、
前記実行装置が前記移動対象処理の実行を中断してから、前記移動先装置が当該移動対象処理の実行を再開するまでに要する処理移動時間の推定値である予測処理移動時間を取得する予測処理移動時間取得手段と、
前記実行装置が実行している処理毎に、現時点から当該処理の実行を完了するまでに要する実行残余時間の推定値である予測実行残余時間を取得する予測実行残余時間取得手段と、
前記実行装置が実行している処理のうちの前記移動対象処理以外の処理であって、前記取得された予測実行残余時間が前記取得された予測処理移動時間よりも短い処理毎に、当該処理の負荷を表す処理負荷情報を取得する処理負荷情報取得手段と、を備えるとともに、
前記処理実行手段は、前記取得された処理負荷情報が表す負荷の和が、前記取得された装置負荷情報が表す負荷から前記閾値を減じた値よりも大きい場合、前記処理移動処理を実行しないように構成された負荷制御装置。
【請求項１０】
記憶装置を備える負荷制御装置に、
処理を特定するジョブ情報と、当該処理を実行可能な実行装置としての情報処理装置を特定する実行装置特定情報と、当該実行装置以外の情報処理装置であって当該処理を実行可能な移動先装置としての情報処理装置を特定する移動先装置特定情報と、を含む装置特定情報を前記記憶装置に記憶させる装置特定情報記憶処理手段と、
前記記憶されている装置特定情報に含まれる前記ジョブ情報により特定される処理を当該装置特定情報に含まれる前記実行装置特定情報により特定される実行装置に実行させる処理実行手段と、
前記実行装置の負荷を表す装置負荷情報を取得する装置負荷情報取得手段と、を実現させるとともに、
前記処理実行手段は、
前記取得された前記装置負荷情報が表す負荷が閾値よりも大きい場合、前記実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させるとともに、当該実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む前記装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行するように構成された負荷制御プログラム。
【請求項１１】
請求項１０に記載の負荷制御プログラムであって、
前記負荷制御装置に、更に、
前記実行装置が前記移動対象処理の実行を中断してから、前記移動先装置が当該移動対象処理の実行を再開するまでに要する処理移動時間の推定値である予測処理移動時間を取得する予測処理移動時間取得手段と、
前記実行装置が実行している処理毎に、現時点から当該処理の実行を完了するまでに要する実行残余時間の推定値である予測実行残余時間を取得する予測実行残余時間取得手段と、
前記実行装置が実行している処理のうちの前記移動対象処理以外の処理であって、前記取得された予測実行残余時間が前記取得された予測処理移動時間よりも短い処理毎に、当該処理の負荷を表す処理負荷情報を取得する処理負荷情報取得手段と、を実現させるとともに、
前記処理実行手段は、前記取得された処理負荷情報が表す負荷の和が、前記取得された装置負荷情報が表す負荷から前記閾値を減じた値よりも大きい場合、前記処理移動処理を実行しないように構成された負荷制御プログラム。
【請求項１２】
処理を特定するジョブ情報と、当該処理を実行可能な実行装置としての情報処理装置を特定する実行装置特定情報と、当該実行装置以外の情報処理装置であって当該処理を実行可能な移動先装置としての情報処理装置を特定する移動先装置特定情報と、を含む装置特定情報を記憶装置に記憶させる装置特定情報記憶処理工程と、
前記記憶されている装置特定情報に含まれる前記ジョブ情報により特定される処理を当該装置特定情報に含まれる前記実行装置特定情報により特定される実行装置に実行させる処理実行工程と、
前記実行装置の負荷を表す装置負荷情報を取得する装置負荷情報取得工程と、を含み、
前記処理実行工程は、
前記取得された前記装置負荷情報が表す負荷が閾値よりも大きい場合、前記実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させるとともに、当該実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む前記装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行するように構成された負荷制御方法。
【請求項１３】
請求項１２に記載の負荷制御方法であって、
前記実行装置が前記移動対象処理の実行を中断してから、前記移動先装置が当該移動対象処理の実行を再開するまでに要する処理移動時間の推定値である予測処理移動時間を取得する予測処理移動時間取得工程と、
前記実行装置が実行している処理毎に、現時点から当該処理の実行を完了するまでに要する実行残余時間の推定値である予測実行残余時間を取得する予測実行残余時間取得工程と、
前記実行装置が実行している処理のうちの前記移動対象処理以外の処理であって、前記取得された予測実行残余時間が前記取得された予測処理移動時間よりも短い処理毎に、当該処理の負荷を表す処理負荷情報を取得する処理負荷情報取得工程と、を含むとともに、
前記処理実行工程は、前記取得された処理負荷情報が表す負荷の和が、前記取得された装置負荷情報が表す負荷から前記閾値を減じた値よりも大きい場合、前記処理移動処理を実行しないように構成された負荷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置の負荷を制御する負荷制御システムに関する。
【背景技術】
【０００２】
複数の情報処理装置を含み、ある情報処理装置（実行装置）の負荷が閾値よりも大きくなった場合に、当該情報処理装置が実行している処理の１つである移動対象処理を中断させ、その移動対象処理を他の情報処理装置（移動先装置）に継続して実行させるように構成された負荷制御システムが知られている（例えば、特許文献１を参照）。
【特許文献１】特開２００２−７３６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、移動対象処理が、実行装置が実行している他の処理と通信を行う処理である場合、及び、移動対象処理が、実行装置にて実行可能なプログラム又は実行装置に接続された周辺機器を利用する処理である場合が存在する。このような場合、上記移動先装置が移動対象処理を正常に実行することができない場合が生じるという問題があった。
【０００４】
このため、本発明の目的は、上述した課題である「情報処理装置の負荷が過大となることを防止しながら、処理を正常に実行することができない場合が生じること」を解決することが可能な負荷制御システムを提供することにある。
【課題を解決するための手段】
【０００５】
かかる目的を達成するため本発明の一形態である負荷制御システムは、
複数の情報処理装置を備えるとともに、
処理を特定するジョブ情報と、当該処理を実行可能な実行装置としての上記情報処理装置を特定する実行装置特定情報と、当該実行装置以外の上記情報処理装置であって当該処理を実行可能な移動先装置としての上記情報処理装置を特定する移動先装置特定情報と、を含む装置特定情報を記憶する装置特定情報記憶手段と、
上記記憶されている装置特定情報に含まれる上記ジョブ情報により特定される処理を当該装置特定情報に含まれる上記実行装置特定情報により特定される実行装置に実行させる処理実行手段と、
上記実行装置の負荷を表す装置負荷情報を取得する装置負荷情報取得手段と、を備える。
【０００６】
更に、上記処理実行手段は、
上記取得された上記装置負荷情報が表す負荷が閾値よりも大きい場合、上記実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させるとともに、当該実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む上記装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行するように構成される。
【０００７】
また、本発明の他の形態である負荷制御装置は、
処理を特定するジョブ情報と、当該処理を実行可能な実行装置としての情報処理装置を特定する実行装置特定情報と、当該実行装置以外の情報処理装置であって当該処理を実行可能な移動先装置としての情報処理装置を特定する移動先装置特定情報と、を含む装置特定情報を記憶する装置特定情報記憶手段と、
上記記憶されている装置特定情報に含まれる上記ジョブ情報により特定される処理を当該装置特定情報に含まれる上記実行装置特定情報により特定される実行装置に実行させる処理実行手段と、
上記実行装置の負荷を表す装置負荷情報を取得する装置負荷情報取得手段と、を備える。
【０００８】
更に、上記処理実行手段は、
上記取得された上記装置負荷情報が表す負荷が閾値よりも大きい場合、上記実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させるとともに、当該実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む上記装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行するように構成される。
【０００９】
また、本発明の他の形態である負荷制御プログラムは、
記憶装置を備える負荷制御装置に、
処理を特定するジョブ情報と、当該処理を実行可能な実行装置としての情報処理装置を特定する実行装置特定情報と、当該実行装置以外の情報処理装置であって当該処理を実行可能な移動先装置としての情報処理装置を特定する移動先装置特定情報と、を含む装置特定情報を上記記憶装置に記憶させる装置特定情報記憶処理手段と、
上記記憶されている装置特定情報に含まれる上記ジョブ情報により特定される処理を当該装置特定情報に含まれる上記実行装置特定情報により特定される実行装置に実行させる処理実行手段と、
上記実行装置の負荷を表す装置負荷情報を取得する装置負荷情報取得手段と、を実現させるためのプログラムである。
【００１０】
更に、上記処理実行手段は、
上記取得された上記装置負荷情報が表す負荷が閾値よりも大きい場合、上記実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させるとともに、当該実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む上記装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行するように構成される。
【００１１】
また、本発明の他の形態である負荷制御方法は、
処理を特定するジョブ情報と、当該処理を実行可能な実行装置としての情報処理装置を特定する実行装置特定情報と、当該実行装置以外の情報処理装置であって当該処理を実行可能な移動先装置としての情報処理装置を特定する移動先装置特定情報と、を含む装置特定情報を記憶装置に記憶させる装置特定情報記憶処理工程と、
上記記憶されている装置特定情報に含まれる上記ジョブ情報により特定される処理を当該装置特定情報に含まれる上記実行装置特定情報により特定される実行装置に実行させる処理実行工程と、
上記実行装置の負荷を表す装置負荷情報を取得する装置負荷情報取得工程と、を含む。
【００１２】
更に、上記処理実行工程は、
上記取得された上記装置負荷情報が表す負荷が閾値よりも大きい場合、上記実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させるとともに、当該実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む上記装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行するように構成される。
【発明の効果】
【００１３】
本発明は、以上のように構成されることにより、情報処理装置の負荷が過大となることを防止しながら、処理を正常に且つ迅速に実行することができる。
【発明を実施するための最良の形態】
【００１４】
本発明の一形態である負荷制御システムは、
複数の情報処理装置を備えるとともに、
処理を特定するジョブ情報と、当該処理を実行可能な実行装置としての上記情報処理装置を特定する実行装置特定情報と、当該実行装置以外の上記情報処理装置であって当該処理を実行可能な移動先装置としての上記情報処理装置を特定する移動先装置特定情報と、を含む装置特定情報を記憶する装置特定情報記憶手段と、
上記記憶されている装置特定情報に含まれる上記ジョブ情報により特定される処理を当該装置特定情報に含まれる上記実行装置特定情報により特定される実行装置に実行させる処理実行手段と、
上記実行装置の負荷を表す装置負荷情報を取得する装置負荷情報取得手段と、を備える。
【００１５】
更に、上記処理実行手段は、
上記取得された上記装置負荷情報が表す負荷が閾値よりも大きい場合、上記実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させるとともに、当該実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む上記装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行するように構成される。
【００１６】
これによれば、実行装置の負荷が閾値よりも大きい場合、当該実行装置は、移動対象処理の実行を中断する。更に、移動先装置は、中断された移動対象処理を継続して実行する。これにより、実行装置の負荷が過大となることを防止することができる。更に、移動対象処理の実行を迅速に完了することができる。
【００１７】
また、上記負荷制御システムは、実行装置が実行を中断した移動対象処理を継続して実行させる移動先装置として、移動対象処理を実行可能な情報処理装置のみを用いるように構成されている。従って、中断された移動対象処理を正常に継続して実行することができる。
【００１８】
このように、上記負荷制御システムによれば、情報処理装置の負荷が過大となることを防止しながら、処理を正常に且つ迅速に実行することができる。
【００１９】
この場合、上記負荷制御システムは、
上記実行装置が上記移動対象処理の実行を中断してから、上記移動先装置が当該移動対象処理の実行を再開するまでに要する処理移動時間の推定値である予測処理移動時間を取得する予測処理移動時間取得手段と、
上記実行装置が実行している処理毎に、現時点から当該処理の実行を完了するまでに要する実行残余時間の推定値である予測実行残余時間を取得する予測実行残余時間取得手段と、
上記実行装置が実行している処理のうちの、上記取得された予測実行残余時間が上記取得された予測処理移動時間よりも短い処理毎に、当該処理の負荷を表す処理負荷情報を取得する処理負荷情報取得手段と、を備えるとともに、
上記処理実行手段は、上記取得された処理負荷情報が表す負荷の和が、上記取得された装置負荷情報が表す負荷から上記閾値を減じた値よりも大きい場合、上記処理移動処理を実行しないように構成されることが好適である。
【００２０】
実行装置が移動対象処理の実行を中断してから、移動先装置が当該移動対象処理の実行を再開するまでには、比較的長い処理移動時間を要する。従って、その処理移動時間が経過するまでに、実行装置が実行している他の処理の実行が完了する場合には、実行装置が移動対象処理の実行を中断しなくても、その処理の実行が完了することにより実行装置の負荷が閾値よりも小さくなることがある。
【００２１】
具体的には、処理移動時間が経過するまでに実行が完了する処理の負荷の和が、実行装置の現時点の負荷から閾値を減じた値よりも大きい場合には、その処理の実行が完了することにより、実行装置が移動対象処理の実行を中断しなくても、実行装置の負荷が閾値よりも小さくなる。
【００２２】
このような場合に、仮に、移動対象処理を実行装置に代えて移動先装置に実行させるための処理移動処理を実行すると、却って移動対象処理の実行の完了が遅くなってしまう。
【００２３】
これに対し、上記構成によれば、処理移動時間が経過するまでに実行が完了する処理の負荷の和が、実行装置の現時点の負荷から閾値を減じた値よりも大きい場合には、移動対象処理を実行装置に代えて移動先装置に実行させるための処理移動処理を実行しない。この結果、無駄に処理移動処理が実行されることを回避することができる。従って、移動対象処理の実行を迅速に完了することができる。
【００２４】
この場合、上記負荷制御システムは、
上記ジョブ情報と、上記情報処理装置が当該ジョブ情報により特定される処理を実行するために要した処理実行時間を表す処理実行時間情報と、を含む実行履歴情報を記憶する実行履歴情報記憶手段を備え、
上記予測実行残余時間取得手段は、現時点から上記処理の実行を完了するまでに要する実行残余時間の推定値を、上記記憶されている実行履歴情報のうちの、当該処理を特定するジョブ情報を含む実行履歴情報に含まれる処理実行時間情報に基づいて算出するように構成されることが好適である。
【００２５】
ある処理を実行するために要する時間は、その処理と同一の処理を実行するために要した時間と略同じ時間となる可能性が高い。従って、上記構成によれば、予測実行残余時間を高い精度にて算出することができる。
【００２６】
この場合、上記負荷制御システムは、
上記移動先装置に上記移動対象処理を実行させた場合における当該移動先装置の負荷の推定値である予測装置負荷を取得する予測装置負荷取得手段を備え、
上記処理実行手段は、上記取得された予測装置負荷が上記閾値よりも大きい場合、上記処理移動処理を実行しないように構成されることが好適である。
【００２７】
既に実行している処理の負荷が比較的大きい移動先装置に、移動対象処理を実行させると、その移動先装置の負荷が過大となる虞がある。これに対し、上記構成によれば、移動先装置の負荷が過大となることを回避することができる。
【００２８】
この場合、
上記処理実行手段は、上記移動先装置が複数存在する場合、上記取得された予測装置負荷が最も小さい上記移動先装置に上記移動対象処理を実行させるための上記処理移動処理を実行するように構成されることが好適である。
【００２９】
これによれば、移動先装置のうちの負荷が最小の装置に移動対象処理を実行させることができる。この結果、移動先装置の負荷が過大となることを確実に防止することができる。
【００３０】
この場合、
上記処理実行手段は、現時点から上記移動対象処理の実行を完了するまでに要する実行残余時間の推定値として取得された上記予測実行残余時間が、上記取得された予測処理移動時間よりも短い場合、上記処理移動処理を実行しないように構成されることが好適である。
【００３１】
処理移動処理を実行している期間中、実行装置の負荷は、その処理移動処理の負荷だけ増加する。従って、移動対象処理の予測実行残余時間が予測処理移動時間よりも短い場合、仮に、その移動対象処理を実行装置に代えて移動先装置に実行させるための処理移動処理を実行すると、却って実行装置の負荷が過大となっている期間が長くなってしまう虞がある。更に、移動対象処理の実行の完了が遅くなってしまうという問題がある。
【００３２】
これに対し、上記構成によれば、無駄に処理移動処理が実行されることを回避することができる。従って、実行装置の負荷が過大となっている期間が無駄に長くなることを防止することができる。更に、移動対象処理の実行を迅速に完了することができる。
【００３３】
この場合、上記負荷制御システムは、
上記処理移動処理を実行した日時を表す処理移動日時情報と、当該処理移動処理の対象となった上記移動対象処理を特定するジョブ情報と、当該処理移動処理が実行される前に当該移動対象処理を実行していた実行装置を特定する実行装置特定情報と、当該処理移動処理が実行された後に当該移動対象処理を実行していた移動先装置を特定する移動先装置特定情報と、を含む処理移動履歴情報を記憶する処理移動履歴情報記憶手段と、
上記ジョブ情報と、当該ジョブ情報により特定される処理を実行する日時を表す実行予定日時情報と、を受け付けるジョブ情報受付手段と、を備え、
上記装置特定情報記憶手段は、上記受け付けられた実行予定日時情報が表す日時と予め定められた関係を有する日時を表す情報を上記処理移動日時情報として含み且つ上記受け付けられたジョブ情報を含む上記処理移動履歴情報に含まれる移動先装置特定情報を上記実行装置特定情報として含み、且つ、当該受け付けられたジョブ情報を含む上記装置特定情報を記憶するように構成されることが好適である。
【００３４】
過去に実行された処理移動処理の対象となった移動対象処理の実行が開始された日時と予め定められた関係を有する日時（例えば、異なる日の同じ時刻、又は、同じ曜日の同じ時刻等）にて、上記移動対象処理と同じ処理の実行が予定されている場合、この処理も、処理移動処理の対象となる可能性が比較的高い。
【００３５】
そこで、上記構成のように、過去に実行された処理移動処理によって、実行装置が中断した移動対象処理を継続して実行した移動先装置を、実行装置として設定することにより、処理移動処理が無駄に行われることを回避することができる。この結果、情報処理装置の負荷が過大となることを回避することができる。更に、移動対処処理の実行を迅速に完了することができる。
【００３６】
また、本発明の他の形態である負荷制御装置は、
処理を特定するジョブ情報と、当該処理を実行可能な実行装置としての情報処理装置を特定する実行装置特定情報と、当該実行装置以外の情報処理装置であって当該処理を実行可能な移動先装置としての情報処理装置を特定する移動先装置特定情報と、を含む装置特定情報を記憶する装置特定情報記憶手段と、
上記記憶されている装置特定情報に含まれる上記ジョブ情報により特定される処理を当該装置特定情報に含まれる上記実行装置特定情報により特定される実行装置に実行させる処理実行手段と、
上記実行装置の負荷を表す装置負荷情報を取得する装置負荷情報取得手段と、を備える。
【００３７】
更に、上記処理実行手段は、
上記取得された上記装置負荷情報が表す負荷が閾値よりも大きい場合、上記実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させるとともに、当該実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む上記装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行するように構成される。
【００３８】
この場合、上記負荷制御装置は、
上記実行装置が上記移動対象処理の実行を中断してから、上記移動先装置が当該移動対象処理の実行を再開するまでに要する処理移動時間の推定値である予測処理移動時間を取得する予測処理移動時間取得手段と、
上記実行装置が実行している処理毎に、現時点から当該処理の実行を完了するまでに要する実行残余時間の推定値である予測実行残余時間を取得する予測実行残余時間取得手段と、
上記実行装置が実行している処理のうちの上記移動対象処理以外の処理であって、上記取得された予測実行残余時間が上記取得された予測処理移動時間よりも短い処理毎に、当該処理の負荷を表す処理負荷情報を取得する処理負荷情報取得手段と、を備えるとともに、
上記処理実行手段は、上記取得された処理負荷情報が表す負荷の和が、上記取得された装置負荷情報が表す負荷から上記閾値を減じた値よりも大きい場合、上記処理移動処理を実行しないように構成されることが好適である。
【００３９】
また、本発明の他の形態である負荷制御プログラムは、
記憶装置を備える負荷制御装置に、
処理を特定するジョブ情報と、当該処理を実行可能な実行装置としての情報処理装置を特定する実行装置特定情報と、当該実行装置以外の情報処理装置であって当該処理を実行可能な移動先装置としての情報処理装置を特定する移動先装置特定情報と、を含む装置特定情報を上記記憶装置に記憶させる装置特定情報記憶処理手段と、
上記記憶されている装置特定情報に含まれる上記ジョブ情報により特定される処理を当該装置特定情報に含まれる上記実行装置特定情報により特定される実行装置に実行させる処理実行手段と、
上記実行装置の負荷を表す装置負荷情報を取得する装置負荷情報取得手段と、を実現させるためのプログラムである。
【００４０】
更に、上記処理実行手段は、
上記取得された上記装置負荷情報が表す負荷が閾値よりも大きい場合、上記実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させるとともに、当該実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む上記装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行するように構成される。
【００４１】
この場合、上記負荷制御プログラムは、
上記負荷制御装置に、更に、
上記実行装置が上記移動対象処理の実行を中断してから、上記移動先装置が当該移動対象処理の実行を再開するまでに要する処理移動時間の推定値である予測処理移動時間を取得する予測処理移動時間取得手段と、
上記実行装置が実行している処理毎に、現時点から当該処理の実行を完了するまでに要する実行残余時間の推定値である予測実行残余時間を取得する予測実行残余時間取得手段と、
上記実行装置が実行している処理のうちの上記移動対象処理以外の処理であって、上記取得された予測実行残余時間が上記取得された予測処理移動時間よりも短い処理毎に、当該処理の負荷を表す処理負荷情報を取得する処理負荷情報取得手段と、を実現させるとともに、
上記処理実行手段は、上記取得された処理負荷情報が表す負荷の和が、上記取得された装置負荷情報が表す負荷から上記閾値を減じた値よりも大きい場合、上記処理移動処理を実行しないように構成されることが好適である。
【００４２】
また、本発明の他の形態である負荷制御方法は、
処理を特定するジョブ情報と、当該処理を実行可能な実行装置としての情報処理装置を特定する実行装置特定情報と、当該実行装置以外の情報処理装置であって当該処理を実行可能な移動先装置としての情報処理装置を特定する移動先装置特定情報と、を含む装置特定情報を記憶装置に記憶させる装置特定情報記憶処理工程と、
上記記憶されている装置特定情報に含まれる上記ジョブ情報により特定される処理を当該装置特定情報に含まれる上記実行装置特定情報により特定される実行装置に実行させる処理実行工程と、
上記実行装置の負荷を表す装置負荷情報を取得する装置負荷情報取得工程と、を含む。
【００４３】
更に、上記処理実行工程は、
上記取得された上記装置負荷情報が表す負荷が閾値よりも大きい場合、上記実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させるとともに、当該実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む上記装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行するように構成される。
【００４４】
この場合、上記負荷制御方法は、
上記実行装置が上記移動対象処理の実行を中断してから、上記移動先装置が当該移動対象処理の実行を再開するまでに要する処理移動時間の推定値である予測処理移動時間を取得する予測処理移動時間取得工程と、
上記実行装置が実行している処理毎に、現時点から当該処理の実行を完了するまでに要する実行残余時間の推定値である予測実行残余時間を取得する予測実行残余時間取得工程と、
上記実行装置が実行している処理のうちの上記移動対象処理以外の処理であって、上記取得された予測実行残余時間が上記取得された予測処理移動時間よりも短い処理毎に、当該処理の負荷を表す処理負荷情報を取得する処理負荷情報取得工程と、を含むとともに、
上記処理実行工程は、上記取得された処理負荷情報が表す負荷の和が、上記取得された装置負荷情報が表す負荷から上記閾値を減じた値よりも大きい場合、上記処理移動処理を実行しないように構成されることが好適である。
【００４５】
上述した構成を有する、負荷制御装置、負荷制御プログラム、又は、負荷制御方法、の発明であっても、上記負荷制御システムと同様の作用を有するために、上述した本発明の目的を達成することができる。
【００４６】
以下、本発明に係る、負荷制御システム、負荷制御装置、負荷制御プログラム、及び、負荷制御方法、の各実施形態について図１〜図１０を参照しながら説明する。
【００４７】
＜第１実施形態＞
図１に示したように、第１実施形態に係る負荷制御システム１は、端末装置１０と、負荷制御装置２０と、複数（本例では、４つ）のサーバ（情報処理装置）３０ａ〜３０ｄと、を含む。端末装置１０及び負荷制御装置２０は、第１の通信回線（本例では、インターネット）ＮＷ１を介して、互いに通信可能に接続されている。更に、負荷制御装置２０及びサーバ３０ａ〜３０ｄは、第２の通信回線（本例では、ローカル・エリア・ネットワーク）ＮＷ２を介して、互いに通信可能に接続されている。
【００４８】
端末装置１０は、図示しない中央処理装置（ＣＰＵ；Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、記憶装置（メモリ及びハードディスク駆動装置（ＨＤＤ））、入力装置及び出力装置を備える。
【００４９】
出力装置は、ディスプレイを有する。出力装置は、ＣＰＵから出力された画像情報に基づいて、文字及び図形等からなる画像をディスプレイに表示させる。入力装置は、キーボード及びマウスを有する。端末装置１０は、キーボード及びマウスを介して、ユーザの操作に基づく情報が入力されるように構成されている。
【００５０】
端末装置１０は、記憶装置に記憶されているプログラムをＣＰＵが実行することにより、下記の機能を実現するように構成されている。
端末装置１０は、ユーザが入力装置を用いて入力したジョブ情報、実行装置特定情報及び移動先特定情報を受け付ける。端末装置１０は、受け付けたジョブ情報、実行装置特定情報及び移動先特定情報を負荷制御装置２０へ送信する。
【００５１】
ここで、ジョブ情報は、処理を特定する情報である。本例では、ジョブ情報は、その処理を実行するための実行モジュール（ファイル）の、ファイルシステムにおける位置（ファイルへのパス）を表す情報である。また、実行装置特定情報は、上記処理を実行可能な実行装置としてのサーバ３０ａ〜３０ｄの１つを特定する情報である。更に、移動先特定情報は、実行装置以外のサーバ３０ａ〜３０ｄであって上記処理を実行可能な移動先装置としてのサーバ３０ａ〜３０ｄを特定する情報である。なお、移動先特定情報により特定される移動先装置は、１つ又は複数である。
【００５２】
負荷制御装置２０は、端末装置１０と同様に、図示しないＣＰＵ及び記憶装置を備える。負荷制御装置２０は、端末装置１０と同様に、記憶装置に記憶されているプログラムをＣＰＵが実行することにより、後述する機能を実現するように構成されている。
【００５３】
各サーバ３０ａ〜３０ｄは、端末装置１０と同様に、図示しないＣＰＵ及び記憶装置を備える。各サーバ３０ａ〜３０ｄは、端末装置１０と同様に、記憶装置に記憶されているプログラムをＣＰＵが実行することにより、下記の機能を実現するように構成されている。
【００５４】
各サーバ３０ａ〜３０ｄは、負荷制御装置２０からジョブ実行指示を受信する。ジョブ実行指示は、ジョブ情報及びジョブ識別情報を含む。ジョブ識別情報は、ジョブ情報を識別するための情報である。各サーバ３０ａ〜３０ｄは、ジョブ実行指示を受信すると、受信したジョブ実行指示に含まれるジョブ情報により特定される処理を実行する。
【００５５】
また、各サーバ３０ａ〜３０ｄは、予め設定された経過時間が経過する毎に、実行している処理の負荷（処理負荷）を表す処理負荷情報と、その処理の実行を開始してから経過した時間（処理実行時間）を表す処理実行時間情報と、を取得する。例えば、処理負荷は、ＣＰＵの使用率及びメモリの使用率等である。そして、各サーバ３０ａ〜３０ｄは、取得した処理負荷情報及び処理実行時間情報と、当該処理を実行する基となったジョブ情報を識別するためのジョブ識別情報と、を負荷制御装置２０へ送信する。
【００５６】
更に、各サーバ３０ａ〜３０ｄは、負荷制御装置２０から処理移動指示を受信する。処理移動指示は、ジョブ識別情報と移動先装置特定情報とを含む。各サーバ３０ａ〜３０ｄは、処理移動指示を受信すると、受信した処理移動指示に含まれるジョブ識別情報により識別されるジョブ情報によって特定される（ジョブ識別情報により識別される）処理（移動対象処理）の実行を中断する。
【００５７】
更に、各サーバ３０ａ〜３０ｄは、受信した処理移動指示に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を実行するためにメモリに記憶させられていた処理継続実行用情報を送信する。
【００５８】
加えて、各サーバ３０ａ〜３０ｄは、他のサーバ３０ａ〜３０ｄから処理継続実行用情報を受信し、受信した処理継続実行用情報に基づいて、その処理継続実行用情報を送信してきたサーバ３０ａ〜３０ｄ（実行装置）が中断した移動対象処理を継続して実行する。即ち、サーバ３０ａ〜３０ｄは、プロセスマイグレーションを行う。
【００５９】
図２は、上記のように構成された負荷制御装置２０の機能を表すブロック図である。この機能は、負荷制御装置２０のＣＰＵが後述する図５〜図７に示したフローチャートにより表されるプログラム等を実行することにより、実現される。
【００６０】
この負荷制御装置２０の機能は、ジョブ情報受付部４１と、装置特定情報記憶部（装置特定情報記憶手段、装置特定情報記憶処理手段、装置特定情報記憶処理工程）４２と、処理負荷情報記憶部４３と、装置負荷情報取得部（装置負荷情報取得手段、装置負荷情報取得工程）４４と、予測装置負荷取得部（予測装置負荷取得手段）４５と、予測処理移動時間取得部（予測処理移動時間取得手段、予測処理移動時間取得工程）４６と、実行履歴情報記憶部（実行履歴情報記憶手段）４７と、予測実行残余時間取得部（予測実行残余時間取得手段、予測実行残余時間取得工程）４８と、処理負荷情報取得部（処理負荷情報取得手段、処理負荷情報取得工程）４９と、処理実行部（処理実行手段、処理実行工程）５０と、を含む。
【００６１】
ジョブ情報受付部４１は、端末装置１０により送信されたジョブ情報、実行装置特定情報及び移動先特定情報を受信する（受け付ける）。
【００６２】
装置特定情報記憶部４２は、ジョブ情報受付部４１から、ジョブ情報と、実行装置特定情報と、移動先装置特定情報と、を受信すると、ジョブ識別情報を生成する。そして、装置特定情報記憶部４２は、受信したジョブ情報、実行装置特定情報及び移動先装置特定情報と、生成したジョブ識別情報と、を含む装置特定情報を記憶装置に記憶させる。
【００６３】
本例では、図３に示したように、装置特定情報が記憶装置に記憶されている。「ＳＡ」は、サーバ３０ａを表し、「ＳＢ」は、サーバ３０ｂを表し、「ＳＣ」は、サーバ３０ｃを表し、「ＳＤ」は、サーバ３０ｄを表す。
【００６４】
装置特定情報が移動先装置特定情報を含まないことは、その装置特定情報に含まれるジョブ情報により特定される処理が、その装置特定情報に含まれる実行装置特定情報により特定されるサーバ以外のサーバにより実行することができないことを表す。即ち、このような処理は、移動不能処理（移動不能ジョブ）と呼ばれる。
【００６５】
一方、装置特定情報が移動先装置特定情報を含むことは、その装置特定情報に含まれるジョブ情報により特定される処理が、その装置特定情報に含まれる実行装置特定情報により特定されるサーバ以外のサーバ（移動先装置特定情報により特定されるサーバ）により実行することができることを表す。即ち、このような処理は、移動可能処理（移動可能ジョブ）と呼ばれる。
【００６６】
処理負荷情報記憶部４３は、各サーバ３０ａ〜３０ｄからジョブ識別情報、処理負荷情報及び処理実行時間情報を受信する。処理負荷情報記憶部４３は、ジョブ識別情報、処理負荷情報及び処理実行時間情報を受信する毎に、受信したジョブ識別情報、処理負荷情報及び処理実行時間情報を、サーバ３０ａ〜３０ｄを識別するためのサーバ識別情報と対応付けて記憶装置に記憶させる。
【００６７】
更に、処理負荷情報記憶部４３は、記憶されていたジョブ識別情報と同一のジョブ識別情報が受信されなかった場合、そのジョブ識別情報と対応付けて記憶されていた処理実行時間情報を、ジョブ識別情報により識別されるジョブ情報とともに実行履歴情報記憶部４７へ送る。
【００６８】
装置負荷情報取得部４４は、サーバ３０ａ〜３０ｄ毎に、処理負荷情報記憶部４３により記憶されている処理負荷情報が表す負荷の和を装置負荷として算出することにより、装置負荷を表す装置負荷情報を生成（取得）する。
【００６９】
予測装置負荷取得部４５は、サーバ３０ａ〜３０ｄ毎に、処理負荷情報記憶部４３により記憶されている処理負荷情報が表す負荷の和を装置負荷として算出する。更に、予測装置負荷取得部４５は、算出した装置負荷に、処理負荷情報記憶部４３により記憶されている処理負荷情報が表す負荷のうちの移動対象処理の負荷を加えることにより、移動先装置の負荷の推定値である予測装置負荷を算出（取得）する。
【００７０】
予測処理移動時間取得部４６は、装置特定情報記憶部４２により記憶されている装置特定情報のうちの、移動先装置特定情報を含む装置特定情報に含まれるジョブ識別情報を抽出する。予測処理移動時間取得部４６は、抽出したジョブ識別情報のそれぞれに対して（即ち、移動可能処理毎に）、そのジョブ識別情報と対応付けて処理負荷情報記憶部４３により記憶されている処理負荷情報が表す負荷に基づいて、予測処理移動時間を算出（取得）する。
【００７１】
予測処理移動時間は、実行装置（実行装置特定情報により特定されるサーバ）が上記ジョブ識別情報により識別される処理（移動対象処理）の実行を中断してから、移動先装置（移動先特定情報により特定されるサーバ）が当該移動対象処理の実行を再開するまでに要する処理移動時間の推定値である。
更に、予測処理移動時間取得部４６は、サーバ３０ａ〜３０ｄ毎に、算出した予測処理移動時間の最小値を算出する。
【００７２】
実行履歴情報記憶部４７は、処理負荷情報記憶部４３から処理実行時間情報及びジョブ情報を受け取ると、受け取った処理実行時間情報及びジョブ情報を含む実行履歴情報を記憶装置に記憶させる。本例では、図４に示したように、実行履歴情報が記憶装置に記憶されている。処理実行時間情報が表す時間は、秒を単位とした時間である。
【００７３】
予測実行残余時間取得部４８は、各サーバ３０ａ〜３０ｄが実行している処理毎に、現時点から当該処理の実行を完了するまでに要する実行残余時間の推定値である予測実行残余時間を算出（取得）する。このとき、予測実行残余時間取得部４８は、実行履歴情報記憶部４７により記憶されている実行履歴情報のうちの、上記処理を特定するジョブ情報を含む実行履歴情報に含まれる処理実行時間情報に基づいて、予測実行残余時間を算出する。本例では、予測実行残余時間取得部４８は、処理実行時間情報が表す処理実行時間の平均値を予測実行残余時間として算出する。
【００７４】
処理負荷情報取得部４９は、サーバ３０ａ〜３０ｄ毎に、そのサーバ３０ａ〜３０ｄが実行している処理のうちの、予測実行残余時間取得部４８により算出された予測実行残余時間が、予測処理移動時間取得部４６により算出された予測処理移動時間の最小値よりも短い処理毎に、当該処理の負荷を表す処理負荷情報を、処理負荷情報記憶部４３により記憶されている処理負荷情報の中から取得する。
処理負荷情報取得部４９は、サーバ３０ａ〜３０ｄ毎に、取得した処理負荷情報が表す負荷の和を算出する。
【００７５】
処理実行部５０は、装置特定情報記憶部４２により装置特定情報が新たに記憶されると、記憶された装置特定情報に含まれるジョブ情報及びジョブ識別情報を含むジョブ実行指示を、その装置特定情報に含まれる実行装置特定情報により特定されるサーバ３０ａ〜３０ｄへ送信する。即ち、処理実行部５０は、記憶されている装置特定情報に含まれるジョブ情報により特定される処理を当該装置特定情報に含まれる実行装置特定情報により特定されるサーバ（実行装置）に実行させる。
【００７６】
また、処理実行部５０は、装置負荷情報取得部４４により取得された装置負荷情報が表す負荷（装置負荷）が、予め定められた閾値αよりも大きい場合、その装置負荷に係るサーバ３０ａ〜３０ｄ（実行装置）へ、ジョブ識別情報と移動先装置特定情報とを含む処理移動指示を送信する。
【００７７】
これにより、実行装置は、処理移動指示を受信し、受信した処理移動指示に含まれるジョブ識別情報により識別される処理（移動対象処理）の実行を中断する。更に、実行装置は、受信した処理移動指示に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を実行するためにメモリに記憶させられていた処理継続実行用情報を送信する。そして、移動先装置は、実行装置から処理継続実行用情報を受信し、受信した処理継続実行用情報に基づいて、実行装置が中断した移動対象処理を継続して実行する。
【００７８】
このように、処理実行部５０は、装置負荷が閾値αよりも大きい場合、実行装置に、ジョブ識別情報により識別される処理（当該実行装置が実行している処理の１つである移動対象処理）の実行を中断させる。更に、処理実行部５０は、実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させる。即ち、処理実行部５０は、処理移動処理を実行する。
【００７９】
また、処理実行部５０は、移動先装置特定情報により特定される移動先装置が複数存在する場合、予測装置負荷取得部４５により算出された予測装置負荷が最も小さい移動先装置に移動対象処理を実行させるための処理移動処理を実行する。
【００８０】
なお、処理実行部５０は、実行装置に対して処理負荷情報取得部４９により算出された負荷の和が、装置負荷情報取得部４４により取得された装置負荷情報が表す当該実行装置の装置負荷から上記閾値αを減じた値よりも大きい場合、上記処理移動処理を実行しない。
更に、処理実行部５０は、予測装置負荷取得部４５により算出された予測装置負荷が上記閾値αよりも大きい場合、上記処理移動処理を実行しない。
【００８１】
加えて、処理実行部５０は、予測実行残余時間取得部４８により算出された予測実行残余時間のうちの、移動対象処理に係る予測実行残余時間が、予測装置負荷取得部４５により算出された予測処理移動時間のうちの、当該移動対象処理に係る予測処理移動時間よりも短い場合、上記処理移動処理を実行しない。
【００８２】
次に、上述した負荷制御システム１の作動について具体的に述べる。
負荷制御装置２０のＣＰＵは、図５にフローチャートにより示した負荷分散処理プログラムを、予め設定された制御周期が経過する毎に実行するようになっている。
【００８３】
具体的に述べると、ＣＰＵは、負荷分散処理プログラムの処理を開始すると、ステップ５０５にて、サーバ識別情報のリストを作成する。サーバ識別情報は、負荷制御装置２０と通信可能に接続されているサーバ３０ａ〜３０ｄを識別するための情報である。
【００８４】
次いで、ＣＰＵは、ステップ５１０にて、上記リスト内にサーバ識別情報が存在しているか否かを判定する。この状態においては、リスト内にサーバ３０ａ〜３０ｄのそれぞれを識別するためのサーバ識別情報が存在している。
【００８５】
従って、ＣＰＵは、ステップ５１０にて「Ｙｅｓ」と判定してステップ５１５に進み、上記リストの先頭からサーバ識別情報を１つだけ取得し、取得したサーバ識別情報をリストから削除する。
【００８６】
そして、ＣＰＵは、ステップ５２０にて、取得したサーバ識別情報により識別されるサーバの装置負荷Ｌｐとして、そのサーバ識別情報と対応付けて記憶装置に記憶されている処理負荷情報が表す負荷の和を算出する。
【００８７】
次いで、ＣＰＵは、ステップ５２５にて、算出した装置負荷Ｌｐが予め設定された閾値αよりも大きいか否かを判定する。
【００８８】
装置負荷Ｌｐが閾値α以下である場合、ＣＰＵは、ステップ５２５にて「Ｎｏ」と判定してステップ５１０へ戻る。一方、装置負荷Ｌｐが閾値αよりも大きい場合、ＣＰＵは、ステップ５２５にて「Ｙｅｓ」と判定してステップ５３０に進み、図６に示した処理移動判定プログラムを、上記サーバ識別情報により識別されるサーバ（実行装置）に対して実行する。この処理移動判定プログラムの詳細については後述する。その後、ＣＰＵは、ステップ５１０へ戻る。
【００８９】
そして、ＣＰＵは、リスト内にサーバ識別情報が存在しなくなるまで、ステップ５１０〜ステップ５３０の処理を繰り返し実行する。
【００９０】
次に、処理移動判定プログラムの処理の詳細について説明する。
先ず、ＣＰＵは、ステップ６０５にて、上記サーバ識別情報と対応付けて記憶装置に記憶されている処理実行時間情報に基づいて、上記実行装置が実行している処理毎の予測実行残余時間Ｔｒを算出する。次いで、ＣＰＵは、ステップ６１０にて、上記サーバ識別情報と対応付けて記憶装置に記憶されている処理負荷情報が表す負荷に基づいて、上記実行装置が実行している移動可能処理毎の予測処理移動時間Ｔｍを算出する。
【００９１】
そして、ＣＰＵは、ステップ６１５にて、上記算出された予測処理移動時間Ｔｍの最小値Ｔｍｍｉｎを取得する。次いで、ＣＰＵは、ステップ６２０にて、上記実行装置が実行している処理のうちの、上記取得した最小値Ｔｍｍｉｎよりも小さい予測実行残余時間Ｔｒを有する処理の処理負荷Ｌａを、上記サーバ識別情報と対応付けて記憶装置に記憶されている処理負荷情報が表す負荷から取得し、取得した処理負荷Ｌａの和Ｌｓを算出する。
【００９２】
そして、ＣＰＵは、ステップ６２５にて、上記ステップ５２０にて算出した装置負荷Ｌｐから上記ステップ６２０にて算出した和Ｌｓを減じた値により、装置負荷Ｌｐを更新する。次いで、ＣＰＵは、ステップ６３０にて、上記ステップ６２５にて算出した装置負荷Ｌｐが閾値αよりも大きいか否かを判定する。
【００９３】
装置負荷Ｌｐが閾値α以下である場合、ＣＰＵは、ステップ６３０にて「Ｎｏ」と判定してこの処理移動判定プログラムの実行を終了する。一方、装置負荷Ｌｐが閾値αよりも大きい場合、ＣＰＵは、ステップ６３０にて「Ｙｅｓ」と判定してステップ６３５に進み、図７に示した処理移動処理プログラムを実行する。その後、ＣＰＵは、この処理移動判定プログラムの実行を終了する。
【００９４】
次に、処理移動処理プログラムの処理の詳細について説明する。
先ず、ＣＰＵは、ステップ７０５にて、上記実行装置が実行している処理のうちの移動可能処理を識別するためのジョブ識別情報のリストを作成する。
【００９５】
次いで、ＣＰＵは、ステップ７１０にて、リスト内のジョブ識別情報により識別される処理の処理負荷Ｌａを、記憶装置に記憶されている処理負荷情報が表す負荷から取得する。更に、ＣＰＵは、リスト内のジョブ識別情報が、先頭から末尾へ向かうにつれて、取得された処理負荷Ｌａが小さくなる順に並ぶように、リスト内のジョブ識別情報を並び替える。
【００９６】
次いで、ＣＰＵは、ステップ７１５にて、算出されている装置負荷Ｌｐが閾値αよりも大きいか否かを判定する。
いま、装置負荷Ｌｐが閾値αよりも大きい場合を想定して説明を続ける。なお、装置負荷Ｌｐが閾値α以下である場合、ＣＰＵは、ステップ７１５にて「Ｎｏ」と判定してこの処理移動処理プログラムの実行を終了する。即ち、負荷制御装置２０は処理移動処理を実行しない。
【００９７】
上記仮定に従えば、ＣＰＵは、ステップ７１５にて「Ｙｅｓ」と判定してステップ７２０に進み、上記リスト内にジョブ識別情報が存在するか否かを判定する。
いま、上記リスト内にジョブ識別情報が存在する場合を想定して説明を続ける。
【００９８】
この場合、ＣＰＵは、ステップ７２０にて「Ｙｅｓ」と判定してステップ７２５に進み、上記リストの先頭からジョブ識別情報を１つだけ取得し、取得したジョブ識別情報をリストから削除する。
【００９９】
そして、ＣＰＵは、ステップ７３０にて、取得したジョブ識別情報により識別される処理（移動対象処理）の予測処理移動時間Ｔｍを、当該ジョブ識別情報と対応付けて記憶装置に記憶されている処理負荷情報が表す負荷に基づいて算出する。更に、ＣＰＵは、当該移動対象処理の予測実行残余時間Ｔｒを、記憶装置に記憶されている実行履歴情報のうちの、上記ジョブ識別情報により識別されるジョブ情報を含む実行履歴情報に含まれる処理実行時間情報に基づいて算出する。
【０１００】
そして、ＣＰＵは、ステップ７３５にて、上記算出した予測実行残余時間Ｔｒが、上記算出した予測処理移動時間Ｔｍよりも大きい（長い）か否かを判定する。
【０１０１】
予測実行残余時間Ｔｒが予測処理移動時間Ｔｍ以下である場合、ＣＰＵは、ステップ７３５にて「Ｎｏ」と判定してステップ７２０へ戻る。即ち、この場合、負荷制御装置２０は処理移動処理を実行しない。
【０１０２】
一方、予測実行残余時間Ｔｒが予測処理移動時間Ｔｍよりも大きい場合、ＣＰＵは、ステップ７３５にて「Ｙｅｓ」と判定してステップ７４０へ進む。そして、ＣＰＵは、ステップ７４０にて、記憶装置に記憶されている装置特定情報の中から、上記ジョブ識別情報を含む装置特定情報を取得する。
【０１０３】
更に、ＣＰＵは、取得した装置特定情報に含まれる移動先装置特定情報により特定される移動先装置毎に、その移動先装置を識別するためのサーバ識別情報と対応付けて記憶されている処理負荷情報が表す負荷の和を装置負荷Ｌｍとして算出する。加えて、ＣＰＵは、移動先装置毎に、算出した装置負荷Ｌｍに上記ジョブ識別情報と対応付けて記憶されている処理負荷情報が表す処理負荷Ｌａを加えた値を、予測装置負荷Ｌｍ１として算出する。
【０１０４】
そして、ＣＰＵは、ステップ７４５にて、上記ステップ７４０にて算出された予測装置負荷Ｌｍ１の最小値Ｌｍ１ｍｉｎを取得する。次いで、ＣＰＵは、ステップ７５０にて、上記取得した最小値Ｌｍ１ｍｉｎが閾値αよりも小さいか否かを判定する。
【０１０５】
最小値Ｌｍ１ｍｉｎが閾値α以上である場合、ＣＰＵは、ステップ７５０にて「Ｎｏ」と判定してステップ７２０へ戻る。即ち、この場合、負荷制御装置２０は処理移動処理を実行しない。
【０１０６】
一方、最小値Ｌｍ１ｍｉｎが閾値αよりも小さい場合、ＣＰＵは、ステップ７５０にて「Ｙｅｓ」と判定してステップ７５５へ進む。そして、ＣＰＵは、ステップ７５５にて、最小値Ｌｍ１ｍｉｎが予測装置負荷Ｌｍ１として算出された移動先装置を特定する移動先装置特定情報とジョブ識別情報とを含む処理移動指示を、上記実行装置（ステップ５１５にて取得されたサーバ識別情報により識別されるサーバ）へ送信する。
【０１０７】
これにより、実行装置は、処理移動指示を受信し、受信した処理移動指示に含まれるジョブ識別情報により識別される処理（移動対象処理）の実行を中断する。更に、実行装置は、受信した処理移動指示に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を実行するためにメモリに記憶させられていた処理継続実行用情報を送信する。そして、移動先装置は、実行装置から処理継続実行用情報を受信し、受信した処理継続実行用情報に基づいて、実行装置が中断した移動対象処理を継続して実行する。
【０１０８】
次いで、ＣＰＵは、ステップ７６０にて、算出されている装置負荷Ｌｐから上記処理負荷Ｌａを減じた値により、装置負荷Ｌｐを更新する。そして、ＣＰＵは、ステップ７１５へ戻る。その後、ＣＰＵは、装置負荷Ｌｐが閾値α以下となるまで、又は、リスト内にジョブ識別情報が存在しなくなるまで、ステップ７１５〜ステップ７６０の処理を繰り返し実行する。
【０１０９】
以上、説明したように、本発明による負荷制御システムの第１実施形態によれば、実行装置の負荷（装置負荷）Ｌｐが閾値αよりも大きい場合、当該実行装置は、移動対象処理の実行を中断する。更に、移動先装置は、中断された移動対象処理を継続して実行する。これにより、実行装置の負荷が過大となることを防止することができる。更に、移動対象処理の実行を迅速に完了することができる。
【０１１０】
また、上記負荷制御システム１は、実行装置が実行を中断した移動対象処理を継続して実行させる移動先装置として、移動対象処理を実行可能なサーバのみを用いるように構成されている。従って、中断された移動対象処理を正常に継続して実行することができる。
【０１１１】
このように、上記負荷制御システム１によれば、サーバの負荷が過大となることを防止しながら、処理を正常に且つ迅速に実行することができる。
【０１１２】
更に、上記第１実施形態において、負荷制御装置２０は、処理移動時間が経過するまでに実行が完了する処理の負荷の和が、実行装置の現時点の装置負荷から閾値αを減じた値よりも大きい場合には、移動対象処理を実行装置に代えて移動先装置に実行させるための処理移動処理を実行しないように構成されている。この結果、無駄に処理移動処理が実行されることを回避することができる。従って、移動対象処理の実行を迅速に完了することができる。
【０１１３】
加えて、上記第１実施形態において、負荷制御装置２０は、同一の処理を実行するために要した時間（実行履歴情報に含まれる処理実行時間情報）に基づいて、予測実行残余時間を算出するように構成されている。これによれば、予測実行残余時間を高い精度にて算出することができる。
【０１１４】
更に、上記第１実施形態において、負荷制御装置２０は、移動対象処理を実行させた場合における移動先装置の負荷の推定値である予測装置負荷が閾値αよりも大きい場合、処理移動処理を実行しないように構成されている。これによれば、移動先装置の負荷が過大となることを回避することができる。
【０１１５】
加えて、上記第１実施形態において、負荷制御装置２０は、移動先装置が複数存在する場合、予測装置負荷が最も小さい移動先装置に移動対象処理を実行させるための処理移動処理を実行するように構成されている。これによれば、移動先装置のうちの負荷が最小の装置に移動対象処理を実行させることができる。この結果、移動先装置の負荷が過大となることを確実に防止することができる。
【０１１６】
また、上記第１実施形態において、負荷制御装置２０は、現時点から移動対象処理の実行を完了するまでに要する実行残余時間の推定値（予測実行残余時間）Ｔｒが、予測処理移動時間Ｔｍよりも短い（小さい）場合、処理移動処理を実行しないように構成されている。これによれば、無駄に処理移動処理が実行されることを回避することができる。従って、実行装置の負荷が過大となっている期間が無駄に長くなることを防止することができる。更に、移動対象処理の実行を迅速に完了することができる。
【０１１７】
＜第２実施形態＞
次に、本発明の第２実施形態に係る負荷制御システムについて説明する。第２実施形態に係る負荷制御システムは、上記第１実施形態に係る負荷制御システムに対して、過去に移動先装置へ移動された処理と同一の処理が、予めその移動先装置により実行されるように構成されている点において相違している。従って、以下、かかる相違点を中心として説明する。
【０１１８】
第２実施形態に係る負荷制御装置２０の機能は、第１実施形態に係る負荷制御装置２０の機能に加えて、処理移動履歴情報記憶部（処理移動履歴情報記憶手段）５１を含む。
【０１１９】
処理移動履歴情報記憶部５１は、ジョブ情報と、実行装置特定情報と、移動先装置特定情報と、処理移動日時情報と、を含む処理移動履歴情報を記憶装置に記憶させる。
【０１２０】
ここで、ジョブ情報は、処理移動処理の対象となった移動対象処理を特定する情報である。実行装置特定情報は、その処理移動処理が実行される前にその移動対象処理を実行していた実行装置を特定する情報である。移動先装置特定情報は、その処理移動処理が実行された後にその移動対象処理を実行していた移動先装置を特定する情報である。処理移動日時情報は、その処理移動処理を実行した日時を表す情報である。
【０１２１】
処理移動履歴情報記憶部５１は、処理実行部５０により処理移動処理が実行される毎に、上記処理移動履歴情報を記憶装置に記憶させる。本例では、図９に示したように、処理移動履歴情報が記憶装置に記憶されている。
【０１２２】
また、第２実施形態に係る端末装置１０は、ユーザが入力装置を用いて入力したジョブ情報、実行装置特定情報、移動先特定情報及び実行予定日時情報を受け付ける。実行予定日時情報は、そのジョブ情報により特定される処理を実行する日時を表す情報である。端末装置１０は、受け付けたジョブ情報、実行装置特定情報、移動先特定情報及び実行予定日時情報を負荷制御装置２０へ送信する。
【０１２３】
更に、ジョブ情報受付部４１は、端末装置１０から送信された、ジョブ情報、実行装置特定情報、移動先特定情報及び実行予定日時情報を受信する（受け付ける）。
【０１２４】
また、装置特定情報記憶部４２は、ジョブ情報受付部４１により受信された実行予定日時情報が表す日時と予め定められた関係を有する日時（本例では、実行予定日時情報が表す日時と、異なる日の同じ時刻）を表す情報を処理移動日時情報として含み且つ受信されたジョブ情報と同じジョブ情報を含む処理移動履歴情報を、記憶装置に記憶されている処理移動履歴情報の中から抽出する。
【０１２５】
そして、装置特定情報記憶部４２は、処理移動履歴情報が抽出されなかった場合、上記受信されたジョブ情報、実行装置特定情報、移動先特定情報及び実行予定日時情報と、生成したジョブ識別情報と、を含む装置特定情報を記憶装置に記憶させる。
【０１２６】
一方、装置特定情報記憶部４２は、処理移動履歴情報が抽出された場合、抽出された処理移動履歴情報に含まれる移動先装置特定情報を実行装置特定情報として含み、且つ、上記受信されたジョブ情報及び実行予定日時情報を含み、且つ、生成したジョブ識別情報を含む装置特定情報を記憶装置に記憶させる。
【０１２７】
また、処理実行部５０は、装置特定情報記憶部４２により記憶されている装置特定情報のうちの、現時点以前の日時を表す実行予定日時情報を含む装置特定情報を取得し、取得した装置特定情報を記憶装置から削除する。そして、処理実行部５０は、取得した装置特定情報に含まれるジョブ情報及びジョブ識別情報を含むジョブ実行指示を、その装置特定情報に含まれる実行装置特定情報により特定されるサーバ３０ａ〜３０ｄへ送信する。
【０１２８】
以上、説明したように、本発明による負荷制御システムの第２実施形態によれば、負荷制御装置２０は、過去に実行された処理移動処理によって、実行装置が中断した移動対象処理を継続して実行した移動先装置を、実行装置として設定する。これにより、処理移動処理が無駄に行われることを回避することができる。この結果、サーバ３０ａ〜３０ｄの負荷が過大となることを回避することができる。更に、移動対処処理の実行を迅速に完了することができる。
【０１２９】
また、第２実施形態によれば、第１実施形態に係る負荷制御システム１と同様の作用及び効果も奏することができる。
【０１３０】
なお、上記第２実施形態において、負荷制御装置２０は、端末装置１０から送信された実行予定日時情報が表す日時と、異なる日の同じ時刻を表す情報を処理移動日時情報として含む処理移動履歴情報に含まれる移動先装置特定情報を実行装置特定情報として含む装置特定情報を記憶装置に記憶させるように構成されていた。
【０１３１】
ところで、上記第２実施形態の変形例において、負荷制御装置２０は、端末装置１０から送信された実行予定日時情報が表す日時と、同じ曜日の同じ時刻を表す情報を処理移動日時情報として含む処理移動履歴情報に含まれる移動先装置特定情報を実行装置特定情報として含む装置特定情報を記憶装置に記憶させるように構成されていてもよい。
【０１３２】
なお、本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記実施形態の変形例において、負荷制御装置２０は、図１０に示したように、装置特定情報記憶部４２、装置負荷情報取得部４４及び処理実行部５０のみを機能として含むように構成されていてもよい。
【０１３３】
この場合、装置特定情報記憶部４２は、ジョブ情報と、実行装置特定情報と、移動先装置特定情報と、を含む装置特定情報を記憶装置に記憶させる。
また、装置負荷情報取得部４４は、実行装置の負荷を表す装置負荷情報を取得する。
【０１３４】
そして、処理実行部５０は、装置特定情報記憶部４２により記憶されている装置特定情報に含まれるジョブ情報により特定される処理を当該装置特定情報に含まれる実行装置特定情報により特定される実行装置に実行させる。
【０１３５】
更に、処理実行部５０は、装置負荷情報取得部４４により取得された装置負荷情報が表す負荷が閾値よりも大きい場合、実行装置に、当該実行装置が実行している処理の１つである移動対象処理の実行を中断させる。加えて、処理実行部５０は、その実行装置を特定する実行装置特定情報と当該移動対象処理を特定するジョブ情報とを含む装置特定情報に含まれる移動先装置特定情報により特定される移動先装置に、当該中断された移動対象処理を継続して実行させるための処理移動処理を実行する。
【０１３６】
この変形例においても、実行装置の負荷が閾値よりも大きい場合、当該実行装置は、移動対象処理の実行を中断する。更に、移動先装置は、中断された移動対象処理を継続して実行する。これにより、実行装置の負荷が過大となることを防止することができる。更に、移動対象処理の実行を迅速に完了することができる。更に、中断された移動対象処理を正常に継続して実行することができる。即ち、サーバ３０ａ〜３０ｄの負荷が過大となることを防止しながら、処理を正常に且つ迅速に実行することができる。
【０１３７】
また、上記各実施形態に係る負荷制御システム１は、ユーザにより入力された移動先装置特定情報を含む装置特定情報を記憶装置に記憶させるように構成されていたが、負荷制御装置２０が受け付けた実行装置特定情報及び／又はジョブ情報に基づいて移動先装置特定情報を取得し、取得した移動先装置特定情報を含む装置特定情報を記憶装置に記憶させるように構成されていてもよい。
【０１３８】
更に、上記各実施形態においては、負荷制御装置２０とサーバ３０ａ〜３０ｄと、は互いに独立した装置であったが、サーバ３０ａ〜３０ｄの１つ又は複数が、負荷制御装置２０の機能を有していてもよい。
【産業上の利用可能性】
【０１３９】
本発明は、複数のサーバの負荷を制御する負荷制御システム等に適用可能である。
【図面の簡単な説明】
【０１４０】
【図１】本発明の第１実施形態に係る負荷制御システムの概略構成を表す図である。
【図２】図１に示した負荷制御装置の機能の概略を表すブロック図である。
【図３】図１に示した負荷制御装置の記憶装置に記憶されている装置特定情報を示したテーブルである。
【図４】図１に示した負荷制御装置の記憶装置に記憶されている実行履歴情報を示したテーブルである。
【図５】図１に示した負荷制御装置のＣＰＵが実行する負荷分散処理プログラムを示したフローチャートである。
【図６】図１に示した負荷制御装置のＣＰＵが実行する処理移動判定プログラムを示したフローチャートである。
【図７】図１に示した負荷制御装置のＣＰＵが実行する処理移動処理プログラムを示したフローチャートである。
【図８】本発明の第２実施形態に係る負荷制御装置の機能の概略を表すブロック図である。
【図９】本発明の第２実施形態に係る負荷制御装置の記憶装置に記憶されている処理移動履歴情報を示したテーブルである。
【図１０】本発明の第１実施形態の変形例に係る負荷制御装置の機能の概略を表すブロック図である。
【符号の説明】
【０１４１】
１      負荷制御システム
１０    端末装置
２０    負荷制御装置
３０ａ〜３０ｄ  サーバ
４１    ジョブ情報受付部
４２    装置特定情報記憶部
４３    処理負荷情報記憶部
４４    装置負荷情報取得部
４５    予測装置負荷取得部
４６    予測処理移動時間取得部
４７    実行履歴情報記憶部
４８    予測実行残余時間取得部
４９    処理負荷情報取得部
５０    処理実行部
５１    処理移動履歴情報記憶部
【図１】
2010044596.tif 000003
【図２】
2010044596.tif 000004
【図３】
2010044596.tif 000005
【図４】
2010044596.tif 000006
【図５】
2010044596.tif 000007
【図６】
2010044596.tif 000008
【図７】
2010044596.tif 000009
【図８】
2010044596.tif 000010
【図９】
2010044596.tif 000011
【図１０】
2010044596.tif 000012