(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024152151
(43)【公開日】2024-10-25
(54)【発明の名称】ジョブ管理装置及びジョブ管理方法
(51)【国際特許分類】
G06F 9/48 20060101AFI20241018BHJP
【FI】
G06F9/48 300H
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023066182
(22)【出願日】2023-04-14
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】向田 晃士
(57)【要約】
【課題】マルチテナントで各ユーザが共有する限られたリソースが逼迫せず、且つ、ジョブの終了時間を守るようにジョブのスケジューリングを行うことができるジョブ管理装置及びジョブ管理方法を提供する。
【解決手段】ジョブ管理装置は、ジョブの実行開始時間及び実行終了時間に関する実行時間条件とジョブ実行を優先させるか否かを示す優先度フラグとを含むジョブの実行条件と、マルチテナントサーバの各テナントがジョブを実行するときのジョブ実行の課金額及び各テナントの消費電力に関する実績を分析したジョブ実行分析情報を取得し、ジョブの実行条件と、ジョブ実行分析情報とに基づいて、ジョブのスケジューリングを行う。
【選択図】
図1
【特許請求の範囲】
【請求項1】
マルチテナントサーバの各テナントが実行するジョブのスケジューリングを行う情報処理装置を備えるジョブ管理装置であって、
前記情報処理装置は、
前記各テナントのジョブの実行開始時間及び実行終了時間に関する実行時間条件とジョブ実行を優先させるか否かを示す優先度フラグとを含むジョブの実行条件と、ジョブの実行実績を分析したジョブ実行分析情報とを取得し、
前記ジョブの実行条件及び前記ジョブ実行分析情報に基づいて、ジョブのスケジューリングを行う、
ように構成された、
ジョブ管理装置。
【請求項2】
請求項1に記載のジョブ管理装置において、
前記情報処理装置は、
前記ジョブの実行条件の前記優先度フラグがジョブ実行を優先させることを示す場合、前記ジョブの実行開始時間を優先的にジョブの開始時間として設定するように、前記ジョブのスケジューリングを行う、
ように構成された、
ジョブ管理装置。
【請求項3】
請求項2に記載のジョブ管理装置において、
前記ジョブの実行条件は、ジョブ実行に使用する電力の種類である電力種を含み、
前記ジョブ実行分析情報は、前記ジョブを実行したときの課金額及び前記各テナントが消費する消費電力に関する実績を分析した情報を含み、
前記情報処理装置は、
前記優先度フラグがジョブ実行を優先させることを示さない、前記実行時間条件が重なる前記ジョブについて、
前記ジョブの電力種、前記ジョブ実行分析情報に基づく前記ジョブの課金額、及び、前記ジョブ実行分析情報に基づく前記ジョブの消費電力量の少なくとも一つに基づいて優先度を決め、前記優先度の高い前記ジョブの実行開始時間を優先的にジョブの開始時間として設定するように、前記ジョブのスケジューリングを行う、
ように構成された、
ジョブ管理装置。
【請求項4】
請求項3に記載のジョブ管理装置において、
前記情報処理装置は、
前記実行時間条件が重なるジョブについて、前記ジョブの電力種に基づいて前記優先度を決める場合、エコロジーに貢献する度合の高い電力種のジョブが、前記優先度が高くなるように、前記優先度を決める、
ように構成された、
ジョブ管理装置。
【請求項5】
請求項3に記載のジョブ管理装置において、
前記情報処理装置は、
前記実行時間条件が重なるジョブについて、前記ジョブの課金額に基づいて前記優先度を決める場合、前記課金額が高い方のジョブが、前記優先度が高くなるように、前記優先度を決める、
ように構成された、
ジョブ管理装置。
【請求項6】
請求項3に記載のジョブ管理装置において、
前記情報処理装置は、
前記実行時間条件が重なるジョブについて、前記ジョブの消費電力量に基づいて前記優先度を決める場合、前記消費電力量の少ない方のジョブが、前記優先度が高くなるように、前記優先度を決める、
ように構成された、
ジョブ管理装置。
【請求項7】
請求項3に記載のジョブ管理装置において、
前記情報処理装置は、
前記ジョブの電力種、前記ジョブの課金額及び前記ジョブの消費電力量の全てに基づいて前記優先度を決める場合、前記電力種に基づく前記優先度の決定、前記課金額に基づく前記優先度の決定及び前記消費電力量に基づく前記優先度の決定を、予め決められた順で行い、
予め決められた順に行われる各決定において、前記優先度が付けられない場合、次の順番の決定により、前記優先度が付けられないジョブについて、前記優先度を決定する、
ように構成された、
ジョブ管理装置。
【請求項8】
請求項3に記載のジョブ管理装置において、
前記情報処理装置は、
前記優先度が低い方の前記ジョブの実行開始時間を変更し、変更した時間をジョブの開始時間として設定することにより、前記ジョブのスケジューリングを行う、
ように構成された、
ジョブ管理装置。
【請求項9】
請求項8に記載のジョブ管理装置において、
前記情報処理装置は、
前記優先度の低いジョブについて、前記ジョブ実行分析情報に基づく前記各テナントの前記消費電力の合計が比較的に低い時間帯に、前記ジョブの開始時間を設定する、
ように構成された、
ジョブ管理装置。
【請求項10】
請求項9に記載のジョブ管理装置において、
前記情報処理装置は、時間帯毎の前記各テナントの消費電力の合計を予測し、予測した消費電力の合計と前記ジョブ実行分析情報に基づく前回の前記各テナントの消費電力の合計との誤差が所定の条件を満たす時間帯に、ジョブ開始時間を設定する、
ように構成された、
ジョブ管理装置。
【請求項11】
請求項2に記載のジョブ管理装置において、
前記ジョブの実行条件は、ジョブ実行に使用する電力の種類である電力種を含み、
前記ジョブ実行分析情報は、前記ジョブを実行したときの課金額及び前記各テナントが消費する消費電力に関する実績を分析した情報を含み、
前記情報処理装置は、
前記ジョブ実行分析情報に基づいて、スケジューリング対象の前記ジョブの中から、前記ジョブ実行分析情報に基づく前記各テナントの前記消費電力の合計が所定消費電力より高い時間帯に前記実行開始時間が含まれるジョブを抽出し、
抽出した前記ジョブについて、
前記優先度フラグ、前記ジョブの電力種、前記ジョブ実行分析情報に基づく前記ジョブの課金額、及び、前記ジョブ実行分析情報に基づく前記ジョブの消費電力量の少なくとも一つに基づいて優先度を決め、前記優先度の高い前記ジョブの実行開始時間を優先的にジョブの開始時間として設定するように、前記ジョブのスケジューリングを行う、
ように構成された、
ジョブ管理装置。
【請求項12】
請求項1に記載のジョブ管理装置において、
前記情報処理装置は、
前記ジョブのスケジューリングにおいて、スケジューリング済みのジョブが前記実行終了時間までに完了するか否かを確認する、
ように構成された、
ジョブ管理装置。
【請求項13】
請求項3に記載のジョブ管理装置において、
前記情報処理装置は、ジョブの実行結果を分析した提案レポート画面を、画像を表示可能な表示装置に表示する、
ように構成された、
ジョブ管理装置。
【請求項14】
請求項13に記載のジョブ管理装置において、
前記情報処理装置は、
ユーザによって情報を入力可能な情報入力装置に接続され、
前記情報処理装置は、前記情報入力装置に入力された情報に基づく要求に応じて、スケジューリング済みのジョブについて、課金額削減優先スケジューリング、消費電力削減優先スケジューリング及びエコ優先スケジューリングの何れかによって、ジョブの再スケジューリングを行う、
ように構成され、
前記情報処理装置は、課金額削減優先スケジューリングでジョブのスケジューリングを行う場合、前記優先度フラグがジョブ実行を優先させることを示さないジョブについて、前記課金額が減少するように、ジョブの再スケジューリングを行い、
消費電力削減優先スケジューリングでジョブのスケジューリングを行う場合、前記優先度フラグがジョブ実行を優先させることを示さないジョブについて、前記消費電力が減少するように、ジョブの再スケジューリングを行い、
エコ優先スケジューリングでジョブのスケジューリングを行う場合、前記優先度フラグがジョブ実行を優先させることを示さないジョブについて、前記ジョブの実行条件の電力種をエコロジーに貢献する度合の高い電力種に変更することにより、ジョブの再スケジューリングを行う、
ジョブ管理装置。
【請求項15】
マルチテナントサーバの各テナントが実行するジョブのスケジューリングを行う情報処理装置を用いたジョブ管理方法であって、
前記情報処理装置によって、
前記各テナントのジョブの実行開始時間及び実行終了時間に関する実行時間条件とジョブ実行を優先させるか否かを示す優先度フラグとを含むジョブの実行条件と、ジョブの実行実績を分析したジョブ実行分析情報とを取得し、
前記ジョブの実行条件及び前記ジョブ実行分析情報に基づいて、ジョブのスケジューリングを行う、
ジョブ管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジョブ管理装置及びジョブ管理方法に関する。
【背景技術】
【0002】
マルチテナントでは、複数の顧客(ユーザ)が、同一のハードウェアリソース又はソフトウェアリソースを共有して利用する。マルチテナントサーバ(マルチテナントシステム)は、複数のユーザのそれぞれのテナントにリソースを提供する。マルチテナントサーバでのジョブ運用では、複数顧客で同じリソースが競合し、リソースが逼迫することが生じ得る。例えば、複数の銀行が同じマルチテナントサーバを利用する場合、銀行の窓口業務が終了する時刻に、集計作業等の各銀行のジョブが一斉に開始されることが考えられる。この場合、従来技術では、リソースをスケールアウトすることによって、リソースが逼迫する問題を解消していた(特許文献1を参照。)。本発明に関連する技術として、特許文献2が存在する。特許文献2の技術は、ジョブの実行時間より短い一定時間毎のジョブ及び類似ジョブを実行した場合の各ジョブの消費電力の合計であるジョブの総消費電力量をジョブ情報データベースに基づいて計算し、総消費電力量に基づき、リソースの利用効率を向上するように、ジョブのスケジュールを作成する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2016-103113号公報
【特許文献2】特開2016-71841号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の技術のように、リソースが逼迫する問題をスケールアウトにより対応すると、費用(固定費/変動費)が大きくなってしまう。費用を考慮してリソースをスケールアウトせずに限られたリソースでマルチテナントを運用すると、各テナントのユーザは他のテナントのユーザが要求するジョブの実行条件がわからないので、ジョブ実行の最適な時間がわからない。このため、マルチテナントでは、各テナントのジョブを処理するためのリソースの使用が特定の時間に集中することにより、リソースが逼迫することが生じ得る。
【0005】
また、ジョブのスケジューリングを行う場合、各ユーザが要求するジョブの開始時刻の変更はある程度許容されるが、各ユーザが要求するジョブの終了時間は各ユーザの業務に支障が生じるため厳格に守ることが重要となる。
【0006】
特許文献2の技術は、ジョブのスケジューリングを対象とするが、マルチテナントにおける特有の課題(例えば、各テナントのユーザは他のテナントのジョブの実行条件がわからないという課題)を解消できる技術ではない。従って、特許文献2の技術をマルチテナントに適用した場合であっても、他のテナントのジョブの実行条件が考慮されないで、各テナントのジョブのスケジューリングを行うことになるので、リソースが逼迫することが生じ得る。
【0007】
そこで、本発明の目的の一つは、マルチテナントで各ユーザが共有する限られたリソースが逼迫せず、且つ、ジョブの終了時間を守るようにジョブのスケジューリングを行うことができるジョブ管理装置及びジョブ管理方法を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のジョブ管理装置は、マルチテナントサーバの各テナントが実行するジョブのスケジューリングを行う情報処理装置を備えるジョブ管理装置であって、前記情報処理装置は、前記各テナントのジョブの実行開始時間及び実行終了時間に関する実行時間条件とジョブ実行を優先させるか否かを示す優先度フラグとを含むジョブの実行条件と、ジョブの実行実績を分析したジョブ実行分析情報とを取得し、前記ジョブの実行条件及び前記ジョブ実行分析情報に基づいて、ジョブのスケジューリングを行うように構成されている。
【0009】
本発明のジョブ管理方法は、マルチテナントサーバの各テナントが実行するジョブのスケジューリングを行う情報処理装置を用いたジョブ管理方法であって、前記情報処理装置によって、前記各テナントのジョブの実行開始時間及び実行終了時間に関する実行時間条件とジョブ実行を優先させるか否かを示す優先度フラグとを含むジョブの実行条件と、ジョブの実行実績を分析したジョブ実行分析情報とを取得し、前記ジョブの実行条件及び前記ジョブ実行分析情報に基づいて、ジョブのスケジューリングを行う。
【発明の効果】
【0010】
本発明によればマルチテナントで各ユーザが共有する限られたリソースが逼迫せず、且つ、ジョブの終了時間を守るようにジョブのスケジューリングを行うことができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は本発明の実施形態に係るジョブ管理装置を含むシステムのシステム構成図である。
【
図2】
図2はマルチテナントサーバのハードウェア構成例を示す。
【
図3】
図3はマルチテナントサーバの構成例を示す機能ブロック図である。
【
図4】
図4はジョブ実行時の分析情報及びその取得例を説明するための図である。
【
図5】
図5はジョブ実行分析情報の例を説明するための図である。
【
図6】
図6は消費電力分析情報の例を説明するための図である。
【
図7】
図7はジョブ単価情報の例を説明するための図である。
【
図8A】
図8Aはジョブ消費電力予測情報の例を説明するための図である。
【
図8B】
図8Bは「消費電力予測」の処理フローを示すフローチャートである。
【
図9】
図9は判定条件情報の例を説明するための図である。
【
図10】
図10は判定条件情報の例を説明するための図である。
【
図11】
図11はジョブ登録日のスケジューリング判定情報の例を説明するための図である。
【
図12】
図12はジョブ作成画面の例を説明するための図である。
【
図13】
図13はジョブの自動スケジューリングの処理フローを示すフローチャートである。
【
図14】
図14は「新規ジョブ実行時間を決定する処理」の処理フローを示すフローチャートである。
【
図15】
図15は「条件1と条件2が同じ条件のジョブの開始時間を決定する処理」の処理フローを示すフローチャートである。
【
図16】
図16は「条件1と条件2が違う条件のジョブの開始時間を決定する処理」の処理フローを示すフローチャートである。
【
図17】
図17は「優先度の低いジョブの開始時間を決定する処理」を説明するためのフローチャートである。
【
図18】
図18は「条件2の実行終了時間までにジョブ実行を完了できることを確認する処理」を説明するためのフローチャートである。
【
図19】
図19はジョブ実行結果のレポート画面の例を説明するための図である。
【
図20】
図20は、
図19のレポート画面で選択オプション((1)課金額削減)を選択し実行した後に表示されるレポート画面の例を説明するための図である。
【
図21】
図21は、
図19のレポート画面で選択オプション((2)消費電力削減)を選択し実行した後に表示されるレポート画面の例を説明するための図である。
【
図22】
図22は
図19のレポート画面で選択オプション((3)電力種エコモード)を選択し実行した後に表示されるレポート画面の例を説明するための図である。
【
図23】
図23は選択オプション実行処理を説明するためのフローチャートである。
【
図24】
図24は「(1)課金額削減」におけるジョブの実行時間を決定する処理を説明するためのフローチャートである。
【
図25】
図25は「(2)消費電力削減」におけるジョブの実行時間を決定する処理を説明するためのフローチャートである。
【
図26】
図26は「(3)電力種エコモード」におけるジョブの実行時間を決定する処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を参照しながら説明する。なお、実施形態の全図において、同一又は対応する部分には同一の符号を付す場合がある。以下の説明では、「レコード」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されてもよい。識別情報について説明する際、「ID」、「名称」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。以下の説明では、プログラム又は機能ブロックを主語として処理を説明する場合があるが、処理の主語が、プログラム又は機能ブロックに代えて、CPU又は装置(サーバ)とされてもよい。
【0013】
<<実施形態>>
図1は本発明の実施形態に係るジョブ管理装置(ジョブ管理サーバ300)を含むシステムのシステム構成図である。システムは、マルチテナントサーバ100と、利用者端末200a乃至200cと、ジョブ管理サーバ300と、を含む。マルチテナントサーバ100、利用者端末200a乃至200c及びジョブ管理サーバ300は、ネットワークNW1を介して互いに情報を送受信可能に接続されている。なお、利用者端末200a乃至200cは、これらを特に区別する必要がない場合、「利用者端末200」と称呼される場合がある。利用者端末200は、例えば、ディスプレイ(表示装置)を備えた端末であり、例えば、PC(Personal Computer)であり、例えば、各テナントである銀行で利用される端末である。
【0014】
マルチテナントサーバ100は、テナント1TN1乃至テナント3TN3を含む。以下において、テナント1TN1乃至テナント3TN3は、これらを特に区別する必要がない場合、「テナントTN」と称呼される。各テナントTNは、マルチテナントサーバ100が各顧客(ユーザ)に提供する互いに論理的に隔離された計算機リソース空間である。本例において、マルチテナントサーバ100におけるテナントTNは、物理サーバ上に構築された1つ以上の仮想サーバで構成される。
【0015】
図2はマルチテナントサーバ100のハードウェア構成例を示す。
図2に示すように、マルチテナントサーバ100は、CPU111、ROM112、RAM113、データの読み出し及び書き込み可能な不揮発性の記憶装置(HDD)114、ネットワークインタフェース115及び入出力インタフェース116等を含む。これらは、バス117を介して互いに通信可能に接続されている。マルチテナントサーバ100は、複数の物理サーバで構成されていてもよい。マルチテナントサーバ100は、電力が蓄電される蓄電池160(
図2では図示せず)を含む。なお、蓄電池160はマルチテナントサーバ100の外部に設置されていてもよい。
【0016】
CPU111はROM112及び/又はHDD114に格納された図示しない各種プログラムをRAM113にロードし、RAM113にロードされたプログラムを実行することによって、各種機能を実現する。RAM113には、上述したようにCPU111が実行する各種プログラムがロードされ、CPU111が各種プログラムを実行する際に使用するデータが一時的に記憶される。ROM112及び/又はHDD114は、不揮発性の記憶媒体であり、各種プログラムが記憶されている。ネットワークインタフェース115は、マルチテナントサーバ100がネットワークNW1に接続されるためのインタフェースである。入出力インタフェース116は、キーボード、マウス等の操作装置及びディスプレイ(表示装置)に接続されるためのインタフェースである。なお、仮想サーバは、物理サーバの上記構成が仮想化された構成を有している。
【0017】
図3はマルチテナントサーバ100の構成例を示す機能ブロック図である。
図3に示すように、マルチテナントサーバ100は、テナント1TN1に含まれる仮想サーバ120aと、テナント2TN2に含まれる仮想サーバ120bと、テナント3TN3に含まれる仮想サーバ120cと、を含む。更に、マルチテナントサーバ100は、仮想サーバで構成される消費電力分析サーバ130と、仮想サーバで構成される電力管理サーバ140と、を含む。
【0018】
各テナントTNの各仮想サーバ120は、消費電力情報部121a(121b、121c)と、ジョブ実行登録部122a(122b、122c)と、実行制御部123a(123b、123c)とを含む。なお、消費電力情報部121a乃至121cは、これらを特に区別する必要がない場合、「消費電力情報部121」と称呼される。ジョブ実行登録部122a乃至122cは、これらを特に区別する必要がない場合、「ジョブ実行登録部122」と称呼される。実行制御部123a乃至123cは、これらを特に区別する必要がない場合、「実行制御部123」と称呼される。
【0019】
消費電力情報部121は、各テナントTNで消費される消費電力に関する情報(
図4のジョブ実行時の分析情報400)を取得し、保持(記憶、格納)する。なお、ジョブ実行時の分析情報400の詳細は、後述する。
【0020】
ジョブ実行登録部122には、利用者端末200から入力されたテナントTNで実行するスケジューリング対象となるジョブが登録されている。
【0021】
実行制御部123は、ジョブの実行がスケジュール通りに実行されるように、ジョブの実行タイミングを制御する。
【0022】
消費電力情報部121は、仮想化されたHDD114により構成される。ジョブ実行登録部122は、仮想化されたCPU111により実行される仮想化されたROM112及び/又はHDD114に格納されたプログラム、及び、仮想化されたHDD114により構成される。実行制御部123は、仮想化されたCPU111により実行される仮想化されたROM112及び/又はHDD114に格納されたプログラムにより構成される。
【0023】
消費電力分析サーバ130は、消費電力情報取得部131と、分析部132と、課金部133と、データ格納部134とを含む。
【0024】
消費電力情報取得部131は、各テナントTNから消費電力に関する情報を取得する。
【0025】
分析部132は、消費電力情報取得部131によって取得された情報を分析する。
【0026】
課金部133は、ジョブ実行の課金額を計算する。課金部133は、ジョブ実行の課金額(円)をジョブ単価(円)に消費電力(kw)を乗じることにより、計算する。
【0027】
データ格納部134は、消費電力情報取得部131によって取得された情報、分析部132及び課金部133によって計算された情報(
図5のジョブ実行分析情報500及び
図6の消費電力分析情報600及び
図8Aのジョブ消費電力予測情報800)及びその他分析に必要な情報(
図7のジョブ単価情報700)を格納(記憶、保持)する。なお、ジョブ実行分析情報500、消費電力分析情報600、ジョブ単価情報700及びジョブ消費電力予測情報800の詳細は、後述する。
【0028】
消費電力情報取得部131は、仮想化されたCPU111により実行される仮想化されたROM112及び/又はHDD114に格納されたプログラムにより構成される。
【0029】
分析部132は、仮想化されたCPU111により実行される仮想化されたROM112及び/又はHDD114に格納されたプログラムにより構成される。課金部133は、仮想化されたCPU111により実行される仮想化されたROM112及び/又はHDD114に格納されたプログラムにより構成される。データ格納部134は、HDD114により構成される。
【0030】
電力管理サーバ140は、電力種別判別部141と、電力取得部142と、を含む。電力種別判別部141は、蓄電池160に充電された電力量毎の電力種別を判別する。電力種別判別部141は、図示しない電力種別毎の電力管理情報を保持(記憶、格納)し、電力管理情報により、電力種別毎の電力量を管理する。電力管理情報は、蓄電池160に充電された電力量と、電力種とを対応付けた情報を含む。
【0031】
電力取得部142は、電力会社供給電源171、電力会社供給電源172、再生エネルギー173及び自家発電174の何れの電源からの電力を蓄電池160に充電するかを決定し、蓄電池160が決定した電源から電力を充電するように、コントローラに指令を送信することにより、蓄電池160を制御する。蓄電池160に蓄えられた電力は、マルチテナントサーバ100を動作させる電力として使用する。
【0032】
電力種別判別部141は、仮想化されたCPU111により実行される仮想化されたROM112及び/又はHDD114に格納されたプログラム、及び、HDD114により構成される。電力取得部142は、仮想化されたCPU111により実行される仮想化されたROM112及び/又はHDD114に格納されたプログラムにより構成される。
【0033】
ジョブ管理サーバ300は、スケジューリング部301と、データ格納部302とを含む。スケジューリング部301は、各テナントTNのジョブ実行登録部122に登録されたジョブの実行タイミングを決めるジョブのスケジューリングを行う。データ格納部302は、スケジューリング部301によって取得された、ジョブ実行登録部122に登録されたジョブ作成時の条件情報900、判定条件情報1000及びスケジューリング判定情報1100を格納(記憶、保持)している。
【0034】
なお、ジョブ作成時の条件情報900、判定条件情報1000及びスケジューリング判定情報1100の詳細は、後述する。ジョブ管理サーバ300は、上記
図2に示したハードウェア構成と同様のサーバで構成される。サーバは、複数のサーバで構成されていてもよく、クラウド上の仮想的なサーバであってもよい。サーバは、「情報処理装置」とも称呼される場合がある。
【0035】
スケジューリング部301は、CPU111により実行されるROM112及び/又はHDD114に格納されたプログラムで構成される。データ格納部302は、HDD114により構成される。
【0036】
蓄電池160は、充電及び放電可能な二次電池と、二次電池の充電及び放電の制御、充電する電力源の選択、及び、電力の測定等を行うコントローラとを含むバッテリモジュールである。蓄電池160は、マルチテナントサーバ100に電力を供給する電源として機能する。上述したように、電力管理サーバ140の電力種別判別部141は、蓄電池160に充電された電力量と、電力種とを対応付けた電力管理情報を保持(記憶、格納)する。電力種別判別部141は、電力管理情報によって、蓄電池160に蓄電されている電力を、電力種毎の電力量に仮想的に分類することにより、仮想的に管理する。
【0037】
例えば、電力種別判別部141は、蓄電池160が充電される場合、蓄電池160に電力を供給する電源種別に応じて、仮想的な電力種別毎の電力量は増加する。例えば、蓄電池160を充電するときの電源種別が再生エネルギーである場合、電力種別判別部141は、電力管理情報において、電力種:再生エネルギーに対応付けられた電力量を、充電した電力量の分だけ増加させる。
【0038】
電力種別判別部141は、電力種が指定されたあるジョブが実行された場合、そのジョブが実行されたときのジョブ単位の消費電力量を取得する。電力種別判別部141は、ジョブ実行によって消費されたジョブ単位の消費電力量を、ジョブに関連付けられた電力種の電力量が消費されたとみなして、蓄電池160の電力量のうち、対応する電力種の電力量を、ジョブの実行によって消費された消費電力量の分だけ、減少させることにより、電力管理情報を更新する。
【0039】
マルチテナントサーバ100では、各テナントTNがジョブを実行するために必要なマルチテナントサーバ100の計算リソースを各テナントTNに割り当てて、ジョブを実行する。同時間帯に同時に実行しているジョブの数が多くなるほど、その時間帯において計算リソースの使用量が多くなり、マルチテナントサーバ100の消費電力も増加する。なお、本例において、マルチテナントサーバ100の各テナントTNが大量なジョブを実行していて、マルチテナントサーバ100のリソース使用率が80%である場合、マルチテナントサーバ100の消費電力は80kwと仮定している。
【0040】
図4は各テナントTNの各仮想サーバ120の消費電力情報部121に格納されるジョブ実行時の分析情報400及びその取得例を説明するための図である。ジョブ実行時の分析情報400は、情報(値)を格納する列(カラム)として、#401と、ジョブ名402と、実行開始時間403と、実行完了時間404と、後続ジョブ405と、電力種406と、消費電力(kw)407と、課金額(円)408と、を含む。ジョブ実行時の分析情報400には、テナントTN1乃至TN3(本例では、テナントTN1)がジョブを実行したときの各列に対応する情報が互いに対応付けられて、行単位の情報(レコード)として格納されている。具体的に述べると、♯401には、情報(レコード)に対応付けられる番号が格納されている。ジョブ名402には、ジョブの名称が格納されている。実行開始時間403には、対応付けられたジョブが実際に実行を開始した時間が格納されている。実行完了時間404には、対応付けられたジョブが実際に実行を完了した時間(時刻)が格納されている。後続ジョブ405には、対応付けられたジョブの後続ジョブが格納されている。電力種406には、対応付けられたジョブを実行したときの電力種が格納されている。消費電力(kw)407には、対応付けられたジョブを実行したときの消費電力(kw)が格納されている。課金額(円)408には、対応付けられたジョブを実行したときの課金額(円)が格納されている。
【0041】
例えば、消費電力情報部121aは、テナントTN1がJob11、Job12及びJob13を実行した場合、ジョブ実行時の分析情報400の各列に対応する情報を取得し、ジョブ実行時の分析情報400を作成し、作成したジョブ実行時の分析情報400を消費電力分析サーバ130に送信する。消費電力分析サーバ130の消費電力情報取得部131は、テナントTN1の仮想サーバ120aから受信したジョブ実行時の分析情報400をデータ格納部134に格納し蓄積する。
【0042】
図5は、消費電力分析サーバ130のデータ格納部134に格納されるジョブ実行分析情報500の例を説明するための図である。ジョブ実行分析情報500は、データ格納部134に蓄積したジョブ実行時の分析情報400に基づいて作成(更新)される。ジョブ実行分析情報500は、逐次データ格納部134に蓄積される
図4のジョブ実行時の分析情報400に基づいて、新規作成又は情報の更新が行われる。
【0043】
ジョブ実行分析情報500は、情報(値)を格納する列(カラム)として、#501と、ジョブ名502と、実行開始時間(条件1)503と、実行終了時間(条件2)504と、電力種(条件3)505と、優先度フラグ506と、前回の実行開始時間507と、前回の実行完了時間508と、平均実行時間(分)509と、後続ジョブ510と、テナント511と、平均消費電力(kw)512と、課金額(円)513と、を含む。
【0044】
ジョブ実行分析情報500は、データ格納部134に格納(蓄積)されたジョブ実行時の分析情報400に基づいて分析及び作成(更新)した情報に関する各列に対応する情報が互いに対応付けられて、行単位の情報(レコード)として格納されている。具体的に述べると、♯501には、情報(レコード)に対応付けられる番号が格納されている。ジョブ名502には、ジョブの識別情報(名称)が格納されている。実行開始時間(条件1)503には、対応付けられたジョブの実行条件として設定された実行開始時間(条件1)が格納されている。実行終了時間(条件2)504には、対応付けられたジョブの実行条件として設定された実行終了時間(条件2)が格納されている。電力種(条件3)505には、対応付けられたジョブの実行条件として設定された電力種(条件3)が格納されている。優先度フラグ506には、対応付けられたジョブの実行条件として設定された優先度フラグ506の設定状態を示す情報(ON又はOFF)が格納されている。なお、優先度フラグ506の設定状態が「ON」である場合、対応付けられたジョブのジョブ実行の優先度が、優先度フラグ506の設定状態が「OFF」である場合のジョブ実行の優先度に比べて高いことを示す。なお、あるジョブの実行条件の優先度フラグ506の設定状態が「ON」であることは、「あるジョブに優先度が付与された」などと称呼される。あるジョブの実行条件の優先度フラグ506の設定状態が「OFF」であることは、「あるジョブに優先度が付与されていない」などと称呼される。
【0045】
前回の実行開始時間507には、対応付けられたジョブの前回の実行開始時間(実行開始時刻)が格納されている。前回の実行完了時間508には、対応付けられたジョブの前回の実行完了時間が格納されている。平均実行時間(分)509には、対応付けられたジョブの平均実行時間(分)が格納されている。後続ジョブ510には、対応付けられたジョブの後続ジョブの名称が格納されている。テナント511には、対応付けられたジョブのテナントの識別情報(番号)が格納されている。平均消費電力(kw)512には、対応付けられたジョブの平均消費電力(kw)が格納されている。課金額(円)513には、対応付けられたジョブの課金額(円)が格納されている。
【0046】
図6は、消費電力分析サーバ130のデータ格納部134に格納される消費電力分析情報600の例を説明するための図である。消費電力分析情報600は、情報(値)を格納する列(カラム)として、時刻601と、消費電力合計(kw)602と、テナント1の消費電力(kw)603と、テナント2の消費電力(kw)604と、テナント3の消費電力(kw)605と、ジョブ登録判定優先度606と、を含む。消費電力分析情報600には、各テナントの過去(例えば、前回ジョブを実行したとき(例えば、登録日の前日))の消費電力に関する各列に対応する情報が互いに対応付けられて、行単位の情報(レコード)として格納されている。具体的に述べると、時刻601には、消費電力の分析単位の時間帯が格納されている。消費電力合計(kw)602には、対応付けられた時間帯のテナント1TN1乃至テナント3TN3の消費電力合計が格納されている。テナント1の消費電力(kw)603には、対応付けられた時間帯のテナント1TN1の消費電力が格納されている。テナント2の消費電力(kw)604には、対応付けられた時間帯のテナント2TN2の消費電力が格納されている。テナント3の消費電力(kw)605には、対応付けられた時間帯のテナント3TN3の消費電力が格納されている。ジョブ登録判定優先度606には、ジョブを割り当てる時間帯の優先度が格納されている。
【0047】
図7は、消費電力分析サーバ130のデータ格納部134に格納されるジョブ単価情報700の例を説明するための図である。ジョブ単価情報700は、情報(値)を格納する列(カラム)として、#701と、電力種702と、1ジョブの単価(円)703と、を含む。ジョブ単価情報700には、各電力種の1ジョブ当たりの単価に関する各列に対応する情報が互いに対応付けられて、行単位の情報(レコード)として格納されている。具体的に述べると、♯701には、情報(レコード)に対応付けられる番号が格納されている。電力種702には、蓄電池160に蓄電される電力(電力源)の種類が格納されている。1ジョブの単価(円)には、対応付けられた電力種の1ジョブ当たりの単価(円)が格納されている。なお、電力種の1ジョブ当たりの単価(円)は、電力種の電力料金や発電にかかるコストなどに基づいて計算され、電力の料金及びコストが高くなるほど、1ジョブ当たりの単価(円)は高くなる。
【0048】
図8Aは消費電力分析サーバ130のデータ格納部134に格納されたジョブ消費電力予測情報800の例を説明する。ジョブ消費電力予測情報800は、情報(値)を格納する列(カラム)として、時刻801と、マルチテナントサーバ100の消費電力予測(kw)802と、ジョブ登録日のジョブ数合計803と、テナント1におけるジョブ登録日の消費電力予測(kw)804と、テナント2におけるジョブ登録日の消費電力予測(kw)805と、テナント3におけるジョブ登録日の消費電力予測(kw)806と、テナント1におけるジョブ登録日のジョブ数807と、テナント2におけるジョブ登録日のジョブ数808と、テナント3におけるジョブ登録日のジョブ数809と、を含む。
【0049】
ジョブ消費電力予測情報800には、マルチテナントサーバ100の消費電力予測に関する各列に対応する情報が互いに対応付けられて、行単位の情報(レコード)として格納されている。具体的に述べると、時刻801には、予測対象の時間範囲の時間帯が格納されている。マルチテナントの消費電力予測(kw)802には、対応付けられた時間帯のマルチテナントサーバ100における予測消費電力が格納されている。ジョブ登録日のジョブ数合計803には、対応付けられた時間帯のジョブ登録日のジョブ数の合計が格納されている。テナント1におけるジョブ登録日の消費電力予測(kw)804には、対応付けられた時間帯のテナント1TN1におけるジョブ登録日の予測消費電力が格納されている。テナント2におけるジョブ登録日の消費電力予測(kw)805には、対応付けられた時間帯のテナント2TN2のジョブ登録日の予測消費電力が格納されている。テナント3におけるジョブ登録日の消費電力予測(kw)806には、対応付けられた時間帯のテナント3TN3のジョブ登録日の予測消費電力が格納されている。テナント1におけるジョブ登録日のジョブ数807には、テナント1TN1におけるジョブ登録日のジョブ数が格納されている。テナント2におけるジョブ登録日のジョブ数808には、テナント2TN2におけるジョブ登録日のジョブ数が格納されている。テナント3TN3におけるジョブ登録日のジョブ数809には、テナント3におけるジョブ登録日のジョブ数が格納されている。
【0050】
ジョブ消費電力予測情報800は、分析部132によって、作成及び更新される。
図8Bは、消費電力分析サーバ130の分析部132が実行する「消費電力予測」の処理フローを示すフローチャートである。
【0051】
分析部132は、ジョブ管理サーバ300からの要求に応じて、ジョブ消費電力予測情報800を作成及び更新する。分析部132は、
図8Bのステップ820から「消費電力予測」を開始し、以下に述べるステップ821乃至ステップ825の処理を順に実行した後、ステップ830に進んで、本処理フローを一旦終了する。
【0052】
ステップ821:分析部132は、ジョブ登録日のジョブ登録情報(各テナントTNのジョブ数等)を取得する。
【0053】
ステップ822:分析部132は、10分単位でジョブ登録日のジョブ数を算出する。
【0054】
ステップ823:分析部132は、ジョブ実行分析情報500を参照し、平均消費電力を取得する。
【0055】
ステップ824:分析部132は、平均消費電力に基づき、10分単位でジョブ登録日の消費電力予測を算出する。
【0056】
ステップ825:分析部132は、ジョブ消費電力予測情報800の消費電力予測を更新する。
【0057】
図9はジョブ管理サーバ300のデータ格納部302に格納されたジョブ作成時の条件情報900の例を説明するための図である。なお、ジョブ作成時の条件情報900は、各テナントTNの仮想サーバ120のジョブ実行登録部122から取得され、データ格納部302に格納される。
【0058】
ジョブ作成時の条件情報900は、情報(値)を格納する列(カラム)として、#901と、ジョブ名902と、実行開始時間(条件1)903と、実行終了時間(条件2)904と、電力種(条件3)905と、優先度フラグ906と、後続ジョブ907と、テナント908と、を含む。
【0059】
ジョブ作成時の条件情報900には、ジョブ作成時、ユーザが設定したジョブの実行条件に関する各列に対応する情報が互いに対応付けられて、行単位の情報(レコード)として格納されている。具体的に述べると、#901には、情報(レコード)に対応付けられる番号が格納されている。ジョブ名902には、ジョブの名称が格納されている。実行開始時間(条件1)903には、対応付けられたジョブの条件1としての実行開始時間が格納されている。実行終了時間(条件2)904には、対応付けられたジョブの条件2としての実行終了時間(実行終了時刻)が格納されている。電力種(条件3)905には、対応付けられたジョブの条件3としての電力種が格納されている。優先度フラグ906には、対応付けられたジョブに対して付与される優先度フラグの状態を示す「ON」又は「OFF」が格納されている。後続ジョブ907には、対応付けられたジョブの後続ジョブの名称が格納されている。テナント908は、ジョブが実行されるテナントTNの識別情報(番号)が格納されている。
【0060】
図10はジョブ管理サーバ300のデータ格納部302に格納された判定条件情報1000の例を説明するための図である。判定条件情報1000は、情報(値)を格納する列(カラム)として、#1001と、判定種別1002と、前回の消費電力合計と登録日の消費電力予測の誤差閾値(kw)1003と、を含む。
【0061】
判定条件情報1000には、消費電力が低いジョブの割り当てにおける判定条件に関する各列に対応する情報が互いに対応付けられて、行単位の情報(レコード)として格納されている。具体的に述べると、#1001には、情報(レコード)に対応付けられる番号が格納されている。判定種別1002には、判定種別を示す情報(〇、△、又は、×)が格納されている。前回の消費電力合計と登録日の消費電力予測の誤差閾値(kw)1003には、対応付けられた判定種別に判定される場合の判定条件が格納されている。
【0062】
図11はジョブ管理サーバ300のデータ格納部302に格納されたジョブ登録日のスケジューリング判定情報1100の例を説明するための図である。ジョブ登録日のスケジューリング判定情報1100は、情報(値)を格納する列(カラム)として、時刻1101と、前回の消費電力合計(kw)1102と、登録日の消費電力予測1103と、ジョブ登録判定優先度1104と、判定1105と、スケジューリング決定1106と、を含む。
【0063】
ジョブ登録日のスケジューリング判定情報1100には、ジョブ登録日の消費電力予測に関連する各列に対応する情報が互いに対応付けられて、行単位の情報(レコード)として格納されている。具体的に述べると、時刻1101には、判定対象の時間範囲の時間帯が格納されている。前回の消費電力合計(kw)1102には、対応付けられた時間帯における、前回(例えば、登録日の前の日)の各テナントTNの消費電力の合計が格納されている。登録日の消費電力予測には、対応付けられた時間帯におけるジョブの登録日の予測消費電力が格納されている。ジョブ登録判定優先度1104は、対応付けられた時間帯の優先度(ジョブを割り当てる時間帯を判定するときの優先度)が格納されている。判定1105には、対応付けられた時間帯の前回の消費電力合計と登録日の予測消費電力の誤差の判定結果(判定条件情報1000に従う判定結果)を示す情報が格納されている。スケジューリング決定1106には、対応付けられた時間帯が決定されたことを示す情報(〇)が格納されている。
【0064】
<作動の概要>
各テナントTNのユーザは、利用者端末200のディスプレイに表示されるGUI画面である
図12のジョブ作成画面1200を操作することによって、各テナントTNに実行させるジョブをジョブ実行登録部122に登録する。ジョブ作成画面1200は、例えば、利用者端末200のディスプレイに表示される。
図12は、ジョブ作成画面1200の例を説明するための図である。ジョブ作成画面1200は、ジョブ名の入力ボックス1201と、実行登録日付の入力ボックス1202と、実行開始時間(条件1)の入力ボックス1203と、実行終了時間(条件2)の入力ボックス1204と、電力種(条件3)の入力ボックス1205と、優先度フラグの入力ボックス1206と、設定ボタン1207と、を含む。
【0065】
ユーザがジョブ作成画面1200の各入力ボックス1201乃至1206に情報を入力した後、設定ボタン1207を操作することにより、スケジューリング対象のジョブが入力された実行条件でジョブ実行登録部122に登録される。
【0066】
ジョブ管理サーバ300は、ジョブ実行登録部122からジョブ作成時の条件情報900を取得し、データ格納部302に格納する。ジョブ管理サーバ300は、ジョブ作成時の条件情報900を参照し、スケジューリング対象となっている各テナントTNの複数のジョブを対象として、スケジューリングを行う。このとき、ジョブ管理サーバ300は、ジョブ実行分析情報500、消費電力分析情報600、ジョブ単価情報700、ジョブ消費電力予測情報800、条件情報900(実行開始時間、実行終了時間、優先度フラグ及び電力種)、及び、判定条件情報1000、及び、ジョブ登録日のスケジューリング判定情報1100に基づいて、スケジューリングにおけるジョブの開始時間を最適に設定する。なお、このスケジューリング方法の詳細は、後述する。ジョブ実行分析情報500及び消費電力分析情報600は、ジョブを実行したときの課金額及び各テナントTNが消費する消費電力に関する実績を分析した情報であり、便宜上、「ジョブ実行分析情報」と称呼される場合がある。
【0067】
ジョブ管理サーバ300は、最終的なスケジュールを決定する前に、設定されているジョブの開始時間によるスケジュールで、各ジョブが実行終了時間(条件2)までに完了するかを確認する。ジョブ管理サーバ300は、設定されているスケジュールで、各ジョブが実行終了時間までに完了することを確認できた場合、設定されているスケジュールを決定する(最終的なスケジュールとして確定する。)。
【0068】
<具体的作動>
図13はジョブ管理サーバ300のスケジューリング部301が実行するジョブの自動スケジューリングの処理フローを示すフローチャートである。
【0069】
スケジューリング部301は、
図13のステップ1300から処理を開始し、以下に述べるステップ1305乃至ステップ1365の処理をフローチャートに従って実行した後、ステップ1395に進んで、本処理フローを一旦終了する。
【0070】
ステップ1305:スケジューリング部301は、
図9に示すジョブ作成時の条件情報900を取得することにより、スケジューリング対象となる複数のジョブ、各ジョブのジョブ実行時間条件(条件1及び条件2)、電力種(条件3)及び優先度フラグの付与の有無(ON又はOFF)を取得する。
【0071】
ステップ1310:スケジューリング部301は、スケジューリング対象の複数のジョブ(以下、「スケジューリング対象ジョブ」と称呼される。)の中に、優先度フラグが付与されているジョブがあるか否かを判定する。優先度フラグが付与されているジョブがある場合、スケジューリング部301は、「YES」と判定してステップ1315に進む。優先度フラグが付与されているジョブがない場合、スケジューリング部301は、「NO」と判定してステップ1320に直接進む。
【0072】
ステップ1315:スケジューリング部301は、スケジューリング対象ジョブの中の優先度フラグが付与されているジョブに対して、スケジューリングにおけるジョブの開始時間を条件1の実行開始時間に設定する。これにより、優先度フラグが付与されているジョブは、優先的に条件1の実行開始時間をジョブの開始時間として設定される。従って、例えば、ジョブの実行を優先させてほしいジョブ(例えば、重要度の高いジョブ)について、ユーザによる設定操作によって優先度フラグを付与すれば、そのジョブは優先的にスケジューリングされる。よって、ジョブ管理サーバ300は、重要度の高いジョブの実行を優先させてほしいというユーザの要求にマッチするように、ジョブのスケジューリングを行うことができる。
【0073】
ステップ1320:スケジューリング部301は、消費電力分析サーバ130からジョブ分析情報500を取得し、ジョブ分析情報500を参照して、スケジューリング対象ジョブの中の優先度フラグが付与されていないジョブのうち、ジョブの開始時間が未設定の新規ジョブがあるか否かを判定する。なお、「新規ジョブ」とは、ジョブ実行分析情報500に「同一のジョブ」又は「類似ジョブ」が格納されていないジョブのことをいう。「同一のジョブ」は、名称が完全に一致しているジョブのことであり、「類似ジョブ」は、名称は異なるが実行条件の少なくとも大部分が重複しているなど、実行条件が同一又は近いジョブのことである。
【0074】
ジョブの開始時間が未設定の新規ジョブがある場合、スケジューリング部301は、「YES」と判定してステップ1325に進む。ジョブの開始時間が未設定の新規ジョブがない場合、スケジューリング部301は、「NO」と判定してステップ1330に進む。
【0075】
ステップ1325:スケジューリング部301は、スケジューリング対象ジョブの中のジョブの開始時間が未設定の新規ジョブを抽出し、抽出した新規ジョブについて「新規ジョブの開始時間を決定する処理」によってジョブの開始時間を設定し、ステップ1320に戻る。なお、「新規ジョブの開始時間を決定する処理」の詳細は、後述する。
【0076】
ステップ1330:スケジューリング部301は、スケジューリング対象ジョブの中の新規ジョブ以外の優先度フラグが付与されていないジョブの中に、条件1及び条件2が全て同じ条件のジョブがあるか否かを判定する。
【0077】
条件1及び条件2が全て同じ条件のジョブがある場合、スケジューリング部301は、ステップ1330にて「YES」と判定してステップ1335に進む。スケジューリング対象ジョブの中に条件1及び条件2が全て同じ条件のジョブがない場合、スケジューリング部301は、ステップ1330にて「NO」と判定してステップ1345に進む。
【0078】
ステップ1335:スケジューリング部301は、スケジューリング対象ジョブの中の、条件1及び条件2が全て同じ条件のジョブについて「条件1と条件2が同じ条件のジョブの開始時間を決定する処理」によってジョブ実行時間を設定する。なお、「条件1と条件2が同じ条件のジョブの開始時間を決定する処理」の詳細は、後述する。
【0079】
ステップ1340:スケジューリング部301は、スケジューリング対象ジョブの中に、ジョブの開始時間が未設定のジョブが有るか否かを判定する。ジョブの開始時間が未設定のジョブが有る場合、スケジューリング対象ジョブの中に、ジョブの開始時間が未設定であって条件1と条件2が違うジョブが残っている。従って、この場合、スケジューリング部301は、「YES」と判定してステップ1345に進む。ジョブの開始時間が未設定のジョブがない場合、スケジューリング部301は、「NO」と判定してステップ1350に進む。
【0080】
ステップ1345:スケジューリング部301は、スケジューリング対象ジョブの中の、条件1及び条件2が違う条件のジョブについて「条件1と条件2が違う条件のジョブの開始時間を決定する処理」によってジョブの開始時間を設定した後、ステップ1350に進む。なお、「条件1と条件2が違う条件のジョブの開始時間を決定する処理」の詳細は後述する。
【0081】
ステップ1350:スケジューリング部301は、消費電力分析情報600を参照して、リソース使用率が80%を超えている時間帯(各時間帯の消費電力合計(kw)において、消費電力が80kwを超えている時間帯)があるか否かを判定する。スケジューリング部301は、リソース使用率が80%を超えている時間帯がない場合、スケジューリング部301は、「NO」と判定してステップ1365に進む。リソース使用率が80%を超えている時間帯がある場合、スケジューリング部301は、「YES」と判定してステップ1355に進む。
【0082】
ステップ1355:スケジューリング部301は、スケジューリング対象ジョブのうち、優先度フラグが付与されていないジョブを「優先度の低いジョブ」として設定する。
【0083】
ステップ1360:スケジューリング部301は、ステップ1355で設定した「優先度の低いジョブ」について、「優先度の低いジョブの開始時間を決定する処理」を実行する。なお、「優先度の低いジョブの開始時間を決定する処理」の詳細は後述する。これにより、リソースが逼迫すると予想される時間帯のジョブの開始時間がジョブの実行条件の実行開始時間から変更された時間に、ジョブの開始時間が設定されることにより、リソースの逼迫を改善する。
【0084】
ステップ1365:スケジューリング部301は、スケジューリング対象ジョブの各ジョブについて、「条件2の実行終了時間までにジョブ実行を完了できることを確認する処理」を実行する。「条件2の実行終了時間までにジョブ実行を完了できることを確認する処理」の詳細は、後述する。
【0085】
図14は、ジョブ管理サーバ300のスケジューリング部301が実行する「新規ジョブの開始時間を決定する処理」の処理フローを示すフローチャートである。
【0086】
スケジューリング部301は、
図13のステップ1325に進むと、
図14のステップ1400から「新規ジョブの開始時間を決定する処理」を開始し、以下に述べるステップ1405乃至ステップ1435の処理をフローチャートに従って実行した後、ステップ1495に進んで、本処理フローを一旦終了する。
【0087】
ステップ1405:スケジューリング部301は、スケジューリング対象ジョブの中からジョブの開始時間が未設定の新規ジョブを一つ選択する。
【0088】
ステップ1410:スケジューリング部301は、選択した新規ジョブのスケジューリングにおける開始時間を条件1の時間で設定する。
【0089】
ステップ1415:スケジューリング部301は、
図6の消費電力分析情報600を参照して、前回の消費電力合計において、条件1の時間(条件1が該当する時間帯)でリソース使用率80%を超えるか否かを判定する。条件1の時間でリソース使用率80%を超える場合、スケジューリング部301は、「YES」と判定してステップ1420に進む。条件1の時間でリソース使用率80%を超えない場合、スケジューリング部301は、「NO」と判定してステップ1435に進む。この場合、新規ジョブの開始時間は、ステップ1410の時間が設定される。
【0090】
ステップ1420:スケジューリング部301は、消費電力分析サーバ300からジョブ実行の消費電力の予測情報(ジョブ消費電力予測情報800)を取得する。
【0091】
ステップ1425:スケジューリング部301は、ジョブ消費電力予測情報800において、選択した新規ジョブの条件1及び条件2の範囲の時間帯のうち消費電力が最も低い時間帯にジョブを割り当てる。なお、最も消費電力が低い同じ消費電力の時間帯が複数ある場合、条件1の時間に最も近い時間帯にジョブを割り当てる。
【0092】
ステップ1430:スケジューリング部301は、ステップ1410にて設定した時間に代えて、ステップ1425にて割り当てた時間帯の始点をジョブの開始時間に設定する。これにより、新規ジョブの開始時間は、リソースが逼迫すると予想される時間帯を避けることができる。
【0093】
ステップ1435:スケジューリング部301は、スケジューリング対象ジョブの中の新規ジョブの全てについてジョブの開始時間を設定したか否かを判定する。新規ジョブの全てについてジョブの開始時間を設定していない場合、スケジューリング部301は「NO」と判定してステップ1405に戻る。新規ジョブの全てについてジョブの開始時間を設定した場合、スケジューリング部301は、「YES」と判定してステップ1495に進む。
【0094】
図15は、ジョブ管理サーバ300のスケジューリング部301が実行する「条件1と条件2が同じ条件のジョブの開始時間を決定する処理」の処理フローを示すフローチャートである。この処理フローでは、スケジューリング対象ジョブの中の実行開始条件及び実行終了条件が同じジョブに対して、ジョブの開始時間の設定及びジョブの実行を優先させる順を示す優先度の決定を行う。
【0095】
この処理では、スケジューリング対象ジョブにおいて、新規ジョブ以外のジョブであって、且つ、条件1と条件2とが同じ条件の複数のジョブについてジョブの開始時間の設定が行われ、更に、同じ条件の複数のジョブのそれぞれに対して優先度が付与される。
【0096】
スケジューリング部301は、
図13のステップ1335に進むと、
図15のステップ1500から「条件1と条件2が同じ条件のジョブの開始時間を決定する処理」を開始し、以下に述べるステップ1505乃至ステップ1550の処理をフローチャートに従って実行した後、ステップ1595に進んで本処理フローを一旦終了する。
【0097】
ステップ1505:スケジューリング部301は、スケジューリング対象ジョブの中から、条件1及び条件2が同じ複数のジョブを一組選択する。
【0098】
ステップ1510:スケジューリング部301は、消費電力分析サーバ130から
図7のジョブ単価情報700を取得し、ジョブ単価情報700から電力種毎の1ジョブの単価を取得し、選択した条件1及び条件2が同じ複数のジョブのうち、単価が高い電力種を優先させるように優先度をつける。
図7のジョブ単価情報700によれば、再生エネルギー>自家発電>電力会社供給電源>電力供給電源(余剰電力)の順で、1ジョブの単価が高いので、この順に従って優先度がつけられる。即ち、エコ(エコロジー)への貢献度が高い電力種が、優先度が高くなるように優先度がつけられる。
【0099】
ステップ1515:スケジューリング部301は、選択した条件1及び条件2が同じ複数のジョブのうち、同じ優先度の電力種が設定されているジョブが複数あるか否かを判定する。同じ優先度の電力種が設定されているジョブがない場合、「NO」と判定してステップ1545に進む。選択した条件1及び条件2が同じ複数のジョブのうち、同じ優先度の電力種が設定されているジョブが複数ある場合、「YES」と判定してステップ1520に進む。
【0100】
ステップ1520:スケジューリング部301は、同じ電力種が設定されている複数のジョブのそれぞれについて、ジョブ実行分析情報500から課金額を取得する。
【0101】
ステップ1525:スケジューリング部301は、同じ電力種が設定されている複数のジョブについて課金額が高い順で優先度をつける。
【0102】
ステップ1530:スケジューリング部301は、優先度をつけた同じ電力種が設定されているジョブについて、ジョブ課金額の差が10%未満のジョブがあるか否かを判定する。ジョブ課金額の差が10%未満のジョブがない場合、スケジューリング部301は、「NO」と判定してステップ1545に進む。ジョブ課金額の差が10%未満のジョブがある場合、スケジューリング部301は、「YES」と判定してステップ1535に進む。
【0103】
ステップ1535:スケジューリング部301は、ジョブ課金額の差が10%未満の複数のジョブのそれぞれについて、ジョブ実行分析情報500から平均消費電力の情報を取得する。
【0104】
ステップ1540:スケジューリング部301は、ジョブ課金額の差が10%未満の複数のジョブについて、平均消費電力が低い方を優先するように優先度をつける。
【0105】
ステップ1545:スケジューリング部301は、条件1と条件2とが同じ条件の複数のジョブのそれぞれについて、条件1でジョブの開始時間を設定すると共に、最終的な優先度を決定する。なお、この優先度は、後述する
図17のステップ処理で使用される。
【0106】
ステップ1550:スケジューリング部301は、スケジューリング対象ジョブの中に、ジョブの開始時間が未設定の条件1及び条件2が同じ同条件の複数のジョブからなる組があるか否かを判定する。スケジューリング対象ジョブの中に、ジョブの開始時間が未設定の条件1及び条件2が同じ同条件の複数のジョブからなる組がある場合、スケジューリング部301は、「YES」と判定してステップ1505に戻る。スケジューリング対象ジョブの中に、ジョブの開始時間が未設定の条件1及び条件2が同じ同条件の複数のジョブからなる組がない場合、スケジューリング部301は、「NO」と判定してステップ1595に進む。
【0107】
図16は、ジョブ管理サーバ300のスケジューリング部301が実行する「条件1と条件2が違う条件のジョブの開始時間を決定する処理」の処理フローを示すフローチャートである。なお、ステップ1340にて「NO」と判定されてステップ1345に進んだ場合、この「条件1と条件2が違う条件のジョブの開始時間を決定する処理」では、スケジューリング対象ジョブの中のジョブの開始時間が未設定の残りのジョブについてスケジューリングが行われる。
【0108】
スケジューリング部301は、
図13のステップ1345に進むと、
図16のステップ1600から「条件1と条件2が違う条件のジョブの開始時間を決定する処理」を開始し、以下に述べるステップ1605乃至ステップ1645の処理をフローチャートに従って実行した後、ステップ1695に進んで本処理フローを一旦終了する。
【0109】
ステップ1605: スケジューリング部301は、スケジューリング対象ジョブの中から、ジョブの開始時間が未設定のジョブを一つ選択する。
【0110】
ステップ1610:スケジューリング部301は、ジョブ登録日のスケジューリング判定情報1100を取得する。スケジューリング部301は、消費電力分析情報600を参照し、ジョブ登録日のスケジューリング判定情報1100の前回の消費電力合計(kw)1102の値を更新する。
【0111】
ステップ1615:スケジューリング部301は、選択した一つのジョブについて、ジョブ登録判定優先度を、「条件1の時間>消費電力が低い時間」で1から5まで、選択した一つのジョブの実行条件の時間範囲(条件1及び条件2の間の時間範囲)の時間帯に対して割り当てる。なお、1~5のうち数字が小さくなるほど、優先度が高い。即ち、
図11に示すように、ジョブ登録日のスケジューリング判定情報1100のジョブ登録判定優先度1104の時間帯に対応付けられる行にジョブ登録判定優先度を割り当てる(格納する。)。「条件1の時間>消費電力が低い時間」で1から5まで時間帯に対して割り当てるとは、まず条件1の時間に対応する時間帯に1を割り当てる。次に、2~5を消費電力合計(kw)602の消費電力が小さい時間帯の順で割り当てる。このとき、消費電力の同じ時間帯が複数ある場合、条件1の時間帯に近い方の時間帯に対して、高い優先度を割り当てる。
【0112】
ステップ1620:スケジューリング部301は、消費電力分析サーバ130からジョブ実行の消費電力の予測情報(ジョブ実行の消費電力の予測情報(ジョブ消費電力予測情報800))を取得する。スケジューリング部301は、取得したジョブ実行の消費電力の予測情報に基づいて、ジョブ登録日のスケジューリング判定情報1100の登録日の消費電力予測1103の値を更新する。
【0113】
ステップ1625:スケジューリング部301は、ジョブ登録日のスケジューリング判定情報1100を参照し、前回の消費電力情報と登録日の消費電力予測情報との誤差閾値(=「登録日の消費電力予測(kw)」-「前回の消費電力合計(kw)」)を算出する。
【0114】
ステップ1630:スケジューリング部301は、現時点のジョブ登録判定優先度に対応する時間帯の誤差閾値の判定条件(判定条件情報1000の判定種別)が「〇」であり、且つ、消費電力が80kw以下であるか否かを判定する。なお、1回目の判定においてのジョブ登録判定優先度は「1」である。ジョブ登録判定優先度に対応する時間帯の誤差閾値の判定条件が「〇」ではない、又は、消費電力が80kw以下ではない、又は、これらの両方である場合、スケジューリング部301は、「NO」と判定しステップ1635に進む。現時点のジョブ登録判定優先度に対応する時間帯の誤差閾値の判定条件が「〇」であり、且つ、消費電力が80kw以下である場合、スケジューリング部301は、「YES」と判定しステップ1640に進む。
【0115】
ステップ1635:スケジューリング部301は、現時点のジョブ登録判定優先度を「1」だけ増加してステップ1630に戻る。
【0116】
ステップ1640:スケジューリング部301は、判定条件が「〇」の時間帯の始点を、選択した一つのジョブのジョブの開始時間に設定する。
【0117】
ステップ1645:スケジューリング部301は、スケジューリング対象ジョブの中に開始時間が未設定のジョブがあるか否かを判定する。開始時間が未設定のジョブがある場合、スケジューリング部301は、「YES」と判定してステップ1605に戻る。開始時間が未設定のジョブがない場合、スケジューリング部301は、「NO」と判定してステップ1695に進む。
【0118】
図17は、スケジューリング部301が実行する「優先度の低いジョブの開始時間を決定する処理」を説明するためのフローチャートである。
【0119】
以下、説明の便宜上、スケジューリング対象ジョブの中の条件1及び条件2が同じジョブは、「重複ジョブ」と称呼する。
【0120】
この「優先度の低いジョブの開始時間を決定する処理」では、リソースが逼迫しないように、消費電力分析情報600の消費電力合計(kw)602の消費電力合計が80kwを超える時間帯において、優先度フラグがない(優先度の低い)重複ジョブについて、優先度(
図17の処理でジョブに付与(設定)された優先度)に基づいてジョブの開始時間を設定する。
【0121】
スケジューリング部301は、
図13のステップ1345に進むと、
図17のステップ1700から「優先度の低いジョブの開始時間を決定する処理」を開始し、以下に述べるステップ1705乃至ステップ1765の処理をフローチャートに従って実行した後、ステップ1795に進んで本処理フローを一旦終了する。
【0122】
ステップ1705:スケジューリング部301は、80kwを超える時間帯の優先度フラグがない重複ジョブを抽出する。
【0123】
ステップ1710:スケジューリング部301は、抽出した重複ジョブの中から未選択の一組の重複ジョブを選択する。
【0124】
ステップ1715:スケジューリング部301は、選択した重複ジョブの中で最も優先度が低いジョブを選択する。
【0125】
ステップ1720:スケジューリング部301は、ジョブ実行分析情報500を参照し、選択した優先度が低いジョブのジョブの開始時間を、優先度が高いジョブの前回の実行完了時間の直後の時間に変更する。
【0126】
ステップ1725:スケジューリング部301は、消費電力分析情報600を参照して、変更後のジョブの開始時間の時間帯の消費電力合計が、消費電力80kw(リソース使用率80%)を超えるか否かを判定(確認)する。リソース使用率80%を超えない場合、スケジューリング部301は、「NO」と判定してステップ1760に進む。リソース使用率80%を超える場合、スケジューリング部301は、「YES」と判定してステップ1730に進む。
【0127】
ステップ1730:スケジューリング部301は、ジョブ登録日のスケジューリング判定情報1100を取得する。スケジューリング部301は、消費電力分析情報600を参照し、ジョブ登録日のスケジューリング判定情報1100の前回の消費電力合計(kw)1102の値を更新する。
【0128】
ステップ1735:スケジューリング部301は、重複ジョブの実行条件の時間範囲(条件1及び条件2の間の時間範囲)の時間帯に対して、ジョブ登録判定優先度を消費電力が低い時間から順に1から5を割り当てる。スケジューリング部301は、ジョブ登録日のスケジューリング判定情報1100のジョブ登録判定優先度1104を割り当てた値で更新する。
【0129】
ステップ1740:消費電力分析サーバ130からジョブ実行の消費電力の予測情報(ジョブ実行の消費電力の予測情報(ジョブ消費電力予測情報800))を取得する。スケジューリング部301は、取得したジョブ実行の消費電力の予測情報に基づいて、ジョブ登録日のスケジューリング判定情報1100の登録日の消費電力予測1103の値を更新する。
【0130】
ステップ1745:スケジューリング部301は、ジョブ登録日のスケジューリング判定情報1100を参照し、ジョブ登録優先順位に対応する時間帯の前回の消費電力情報と登録日の消費電力予測情報の誤差閾値(=「登録日の消費電力予測(kw)」-「前回の消費電力合計(kw)」)を算出する。
【0131】
ステップ1750:スケジューリング部301は、ジョブ登録判定優先度に対応する誤差閾値の判定条件(判定条件情報1000の判定種別)が「〇」か否かを判定する。なお、1回目の判定においてのジョブ登録判定優先度は「1」である。ジョブ登録判定優先度に対応する誤差閾値の判定条件が「〇」ではない場合、スケジューリング部301は、「NO」と判定しステップ1755に進む。ジョブ登録判定優先度に対応する誤差閾値の判定条件が「〇」である場合、スケジューリング部301は、「YES」と判定しステップ1760に進む。
【0132】
ステップ1755:スケジューリング部301は、現時点のジョブ登録判定優先度を「1」だけ増加してステップ1750に戻る。
【0133】
ステップ1760:スケジューリング部301は、選択した最も優先度が低いジョブについて、ステップ1750にて判定条件が「○」に対応する時間帯の始点を、ジョブの開始時間に設定する。なお、スケジューリング部301は、ステップ1725にて「NO」と判定して本ステップに進んだ場合、ステップ1720にてジョブの開始時間が変更されたジョブについて、変更後の開始時間でジョブの開始時間を設定する。
【0134】
ステップ1765:スケジューリング部301は、優先度フラグがない重複ジョブの全ての組を選択済みであるか否かを判定する。優先度フラグがない重複ジョブの全ての組を選択済みではない場合、「NO」と判定してステップ1705に戻る。優先度フラグがない重複ジョブの全ての組を選択済みである場合、「YES」と判定してステップ1795に進む。
【0135】
図18は、スケジューリング部301が実行する「条件2の実行終了時間までにジョブ実行を完了できることを確認する処理」を説明するためのフローチャートである。「条件2の実行終了時間までにジョブ実行を完了できることを確認する処理」では、上述の処理によって、スケジューリング対象ジョブのそれぞれに対して設定されたジョブの開始時間で、それぞれのジョブが条件2の実行終了時間までに完了するかを確認する。即ち、上述の処理でスケジューリング済みのスケジューリング対象ジョブのそれぞれについて、条件2の実行終了時間までに完了するかを確認する。
【0136】
スケジューリング部301は、
図13のステップ1365に進むと、
図18のステップ1800から「条件2の実行終了時間までにジョブ実行を完了できることを確認する処理」を開始し、以下に述べるステップ1805乃至ステップ1845の処理をフローチャートに従って実行した後、ステップ1895に進んで本処理フローを一旦終了する。
【0137】
ステップ1805:スケジューリング部301は、ジョブ登録時間(スケジューリング対象ジョブの各ジョブに設定されたジョブの開始時間)を取得する
ステップ1810:スケジューリング部301は、ジョブ実行分析情報500からジョブの平均実行時間を取得する。
【0138】
ステップ1815:スケジューリング部301は、ジョブ登録時間と平均実行時間とに基づいて、ジョブ登録日のジョブ実行終了時間の予測時間を算出する。
【0139】
ステップ1820:スケジューリング部301は、「ジョブ登録日のジョブ実行終了時間の予測は、条件2の実行終了時間内に収まる時間であるか否か」を判定する。ジョブ登録日のジョブ実行終了時間の予測は、条件2の実行終了時間内に収まる時間ではない場合、スケジューリング部301は、「NO」と判定してステップ1825に進む。ジョブ登録日のジョブ実行終了時間の予測は、条件2の実行終了時間内に収まる時間である場合スケジューリング部301は、「YES」と判定してステップ1835に進む。
【0140】
ステップ1825:スケジューリング部301は、条件2の実行終了時間内に収まる時間でないと判定されたジョブについて、ジョブ登録を中止する。
【0141】
ステップ1830:スケジューリング部301は、条件2の実行終了時間内に収まる時間でないと判定されたジョブについて、条件1及び条件2を変更するようにユーザに通知する。なお、ユーザは、例えば、利用者端末200のディスプレイに表示された入力画面に変更後の時間を入力することによって、スケジューリング部301に対象のジョブの条件1及び条件の少なくとも何れかを入力された変更後の時間に変更させることができる。
【0142】
ステップ1835:スケジューリング部301は、設定したジョブの開始時間でジョブのスケジュールを決定(確定)する。
【0143】
図19は、ジョブ実行結果のレポート画面の例を説明するための図である。レポート画面1900は、日付表示欄1901と、課金額表示欄1902と、消費電力表示欄1903と、選択オプション表示入力欄1904と、電力種別使用割合グラフ1905と、課金内訳表1906と、実行ボタン1907と、を含む。日付表示欄1901には、ジョブ実行分析対象の期間が表示される。課金額表示欄1902には、ジョブ実行分析対象の期間のジョブ課金額が表示される。消費電力表示欄1903には、ジョブ実行分析対象の期間の消費電力が表示される。選択オプション表示入力欄1904には、入力された選択オプションが表示される。電力種別使用割合グラフ1905は、ジョブ実行分析対象の期間中にジョブの実行で使用された電力種別の使用割合を示すグラフである。課金内訳表1906は、電力種毎のジョブ課金額、ジョブ課金額、消費電力及び消費電力割合を示す表である。実行ボタン1907は、画像で構成されたボタンであり、ジョブ管理サーバ300にスケジューリング変更を実行させるために操作(押下)される。
【0144】
実行ボタン1907が操作されると、選択オプション表示入力欄1904に入力表示されているオプションに応じたスケジューリング(再スケジューリング)が実行される。本例において、(1)課金額削減、(2)消費電力削減及び(3)電力種エコモードの3つを入力できるようになっている。
(1)課金額削減が選択され実行されると、課金額が減少するように、ジョブのスケジューリング(再スケジューリング)が実行され、その結果のスケジュールが提案される。
(2)消費電力削減が選択され実行されると、消費電力が減少するように、ジョブのスケジューリング(再スケジューリング)が実行され、その結果のスケジュールが提案される。
(3)電力種エコモードが選択され実行されると、エコの貢献度が高くなるように、ジョブのスケジューリング(再スケジューリング)が実行され、その結果のスケジュールが提案される。
【0145】
図20は、
図19のレポート画面で選択オプション((1)課金額削減)を選択し実行した後に表示されるレポート画面の例を説明するための図である。レポート画面2000は、選択オプション表示欄2001と、変更ジョブ表示欄2002と、課金額削減予測表示欄2003と、ジョブ変更内容表2004と、実行ボタン2005と、を含む。
【0146】
選択オプション表示欄2001には、実行した選択オプションが表示される。変更ジョブ表示欄2002には、選択オプションの実行によって、実行条件が変更されるジョブの名称が表示される。課金額削減予測表示欄2003には、選択オプションの実行によって削減される課金額の予測額が表示される。ジョブ変更内容表2004には、実行条件が変更されたジョブに関する変更後の情報などが表示される。実行ボタン2005は、画像で構成されたボタンであり、ジョブ管理サーバ300によって変更された後のジョブのスケジュールをジョブ実行登録部122に確定(登録)させるために操作される。
【0147】
図21は、
図19のレポート画面で選択オプション((2)消費電力削減)を選択し実行した後に表示されるレポート画面の例を説明するための図である。レポート画面2100は、選択オプション表示欄2101と、変更ジョブ表示欄2102と、消費電力削減予測表示欄2103と、ジョブ変更内容表2104と、実行ボタン2105と、を含む。
【0148】
選択オプション表示欄2101には、実行した選択オプションが表示される。変更ジョブ表示欄2102には、選択オプションの実行によって、実行条件が変更されるジョブの名称が表示される。消費電力削減予測表示欄2103には、選択オプションの実行によって削減される消費電力の予測電力量が表示される。ジョブ変更内容表2104には、実行条件が変更されるジョブに関する変更後の情報などが表示される。実行ボタン2105は、画像で構成されたボタンであり、ジョブ管理サーバ300によって変更された後のジョブのスケジュールをジョブ実行登録部122に確定(登録)させるために操作される。
【0149】
図22は、
図19のレポート画面で選択オプション((3)電力種エコモード)を選択し実行した後に表示されるレポート画面の例を説明するための図である。レポート画面2200は、選択オプション表示欄2201と、変更ジョブ表示欄2202と、変更電力種別表示欄2203と、ジョブ変更内容表2204と、変更後の電力種別使用割合グラフ2205と、変更後の電力種別使用割合表2206と、実行ボタン2207と、を含む。
【0150】
選択オプション表示欄2201には、実行した選択オプションが表示される。変更ジョブ表示欄2202には、選択オプションの実行によって、実行条件が変更されるジョブの名称が表示される。変更電力種別表示欄2203には、変更される電力種別が表示される。ジョブ変更内容表2204には、実行条件が変更されるジョブに関する変更後の情報などが表示される。変更後の電力種別使用割合グラフ2205は、変更後の電力種別使用割合(来月の電力種別使用割合の予測)を示すグラフである。変更後の電力種別使用割合表2206には、電力種別使用割合の実績(今月の消費電力割合の実績)及び消費電力予測を示す情報(来月の消費電力割合予測)が表示される。実行ボタン2207は、画像で構成されたボタンであり、ジョブ管理サーバ300によって変更された後のジョブのスケジュールをジョブ実行登録部122に確定(登録)させるために操作される。
【0151】
図23は、ジョブ管理サーバ300のスケジューリング部301が実行する選択オプション実行処理を説明するためのフローチャートである。スケジューリング部301は、
図23のステップ1800から処理を開始し、以下に述べるステップ2305乃至ステップ2340の処理をフローチャートに従って実行した後、ステップ2395に進んで本処理フローを一旦終了する。
【0152】
ステップ2305:スケジューリング部301は、レポート作成対象のテナントTNのレポート画面1900を作成するためのレポート情報を取得する。
【0153】
ステップ2310:スケジューリング部301は、レポート作成対象のテナントTNに対応するユーザの利用者端末200にレポート画面1900を表示する。
【0154】
ステップ2315:スケジューリング部301は、提案オプションが選択(入力)された状態で実行ボタン1907が操作されたか否かを判定する。提案オプションが選択(入力)された状態で実行ボタン1907が操作されていない場合、「NO」と判定してステップ2320に進む。スケジューリング部301は、提案オプションが選択(入力)された状態で実行ボタン1907が操作された場合、スケジューリング部301は、「YES」と判定してステップ2325に進む。
【0155】
ステップ2320:スケジューリング部301は、本処理フローを一旦終了する。
【0156】
ステップ2325:スケジューリング部301は、実行ボタン1907が操作された時点でどの提案オプションが選択(入力)されてるか否かを判定する。「(1)課金額削減」が選択(入力)されている場合、スケジューリング部301はステップ2330に進む。「(2)消費電力削減」が選択(入力)されている場合、スケジューリング部301はステップ2335に進む。「(3)電力種エコモード」が選択(入力)されている場合、スケジューリング部301はステップ2340に進む。
【0157】
ステップ2330:スケジューリング部301は、「「(1)課金額削減」におけるジョブの開始時間を決定する処理」を実行する。なお、「「(1)課金額削減」におけるジョブの開始時間を決定する処理」の詳細は、後述する。
【0158】
ステップ2335:スケジューリング部301は、「「(2)消費電力削減」におけるジョブの開始時間を決定する処理」を実行する。なお、「「(2)消費電力削減」におけるジョブの開始時間を決定する処理」の詳細は、後述する。
【0159】
ステップ2340:スケジューリング部301は、「「(3)電力種エコモード」におけるジョブの開始時間を決定する処理」を実行する。なお、「「(3)電力種エコモード」におけるジョブの開始時間を決定する処理」の詳細は、後述する。
【0160】
図24は、ジョブ管理サーバ300のスケジューリング部301が実行する「「(1)課金額削減」におけるジョブの開始時間を決定する処理」を説明するためのフローチャートである。スケジューリング部301は、
図23のステップ2330に進むと、
図24のステップ2400から「「(1)課金額削減」におけるジョブの開始時間を決定する処理」を開始し、以下に述べるステップ2405乃至ステップ2450の処理をフローチャートに従って実行した後、ステップ2495に進んで本処理フローを一旦終了する。
【0161】
ステップ2405:スケジューリング部301は、消費電力分析サーバ130からジョブ実行分析情報500を取得する。
【0162】
ステップ2410:スケジューリング部301は、レポート作成対象のテナントTNに対応するジョブ実行登録部122からスケジューリング済みのジョブを取得し、スケジューリング済みのジョブの中から優先度フラグが付与されていないジョブを抽出する。
【0163】
ステップ2415:スケジューリング部301は、優先度フラグが付与されていないジョブから実行条件の電力種が「再生エネルギー」のジョブを抽出する。
【0164】
ステップ2420:スケジューリング部301は、ステップ2415にて抽出した優先度フラグが付与されていないジョブの実行条件の電力種を「再生エネルギー」から「電力会社供給電源」(即ち、ジョブの単価が現在より安い電力種)に変更する。
【0165】
ステップ2425:スケジューリング部301は、消費電力分析サーバ130から消費電力分析情報600を取得する。
【0166】
ステップ2430:スケジューリング部301は、現在の時間帯より消費電力が低い時間帯に実行条件を変更したジョブを割り当てる(即ち、ジョブの実行開始時間を現在の時間帯より消費電力が低い時間帯の始点に変更する。)。
【0167】
ステップ2435:スケジューリング部301は、課金額予測(課金額削減予測)を算出し、
図20のレポート画面2000上に表示する。
【0168】
ステップ2440:スケジューリング部301は、ジョブの開始時間の変更候補ジョブ(優先度フラグが付与されていないジョブであって電力種が「再生エネルギー」のジョブ)をレポート画面2000(例えば、変更ジョブ表示欄2002及びジョブ変更内容表2004)上に表示する。
【0169】
ステップ2445:スケジューリング部301は、レポート画面2000上で実行ボタン2005が押下(操作)されたか否かを判定する。レポート画面2000上で実行ボタン2005が押下された場合、スケジューリング部301は、「YES」と判定してステップ2450に進む。レポート画面2000上で実行ボタン2005が押下されていない場合、スケジューリング部301は、「NO」と判定してステップ2495に進む。
【0170】
ステップ2450:スケジューリング部301は、優先度フラグが付与されていないジョブについて、変更後のジョブの実行開始時間でジョブの開始時間を設定し、スケジュールを確定する。
【0171】
図25は、ジョブ管理サーバ300のスケジューリング部301が実行する「(2)消費電力削減」におけるジョブの開始時間を決定する処理を説明するためのフローチャートである。スケジューリング部301は、
図23のステップ2335に進むと、
図25のステップ2500から「「(2)消費電力削減」におけるジョブの開始時間を決定する処理」を開始し、以下に述べるステップ2505乃至ステップ2540の処理をフローチャートに従って実行した後、ステップ2595に進んで本処理フローを一旦終了する。
【0172】
ステップ2505:スケジューリング部301は、消費電力分析サーバ130からジョブ実行分析情報500を取得する。
【0173】
ステップ2510:スケジューリング部301は、レポート作成対象のテナントTNに対応するジョブ実行登録部122からスケジューリング済みのジョブを取得し、スケジューリング済みのジョブの中から優先度フラグが付与されていないジョブを抽出する。
【0174】
ステップ2515:スケジューリング部301は、消費電力分析サーバ130から消費電力分析情報600を取得する。
【0175】
ステップ2520:スケジューリング部301は、消費電力分析情報600を参照し、優先度フラグが付与されていないジョブから、マルチテナントサーバ100の消費電力合計が50kw以上(リソース使用率50%以上)の時間帯に対応するジョブを抽出する。
【0176】
ステップ2525:スケジューリング部301は、現在の時間帯より消費電力が低い時間帯に抽出したジョブを割り当てる(即ち、ジョブの実行開始時間を現在の時間帯より消費電力が低い時間帯の始点に変更する。)。
【0177】
ステップ2530:スケジューリング部301は、変更後の消費電力予測を算出し、
図21のレポート画面2100上に表示する。
【0178】
ステップ2535:スケジューリング部301は、ジョブの開始時間の変更候補ジョブをレポート画面2100(例えば、変更ジョブ表示欄2102及びジョブ変更内容表2104)上に表示する。
【0179】
ステップ2540:スケジューリング部301は、レポート画面2100上で実行ボタン2105が押下(操作)されたか否かを判定する。レポート画面2100上で実行ボタン2105が押下された場合、スケジューリング部301は、「YES」と判定してステップ2545に進む。レポート画面2100上で実行ボタン2105が押下されていない場合、スケジューリング部301は、「NO」と判定してステップ2595に進む。
【0180】
ステップ2545:スケジューリング部301は、優先度フラグが付与されていないジョブについて、変更後のジョブの実行開始時間でジョブの開始時間を設定し、スケジュールを確定する。
【0181】
図26は、ジョブ管理サーバ300のスケジューリング部301が実行する「(3)電力種エコモード」におけるジョブの開始時間を決定する処理を説明するためのフローチャートである。スケジューリング部301は、
図23のステップ2340に進むと、
図26のステップ2600から「「(3)電力種エコモード」におけるジョブの開始時間を決定する処理」を開始し、以下に述べるステップ2605乃至ステップ2645の処理をフローチャートに従って実行した後、ステップ2695に進んで本処理フローを一旦終了する。
【0182】
ステップ2605:スケジューリング部301は、消費電力分析サーバ130からジョブ実行分析情報500を取得する。
【0183】
ステップ2610:スケジューリング部301は、レポート作成対象のテナントTNに対応するジョブ実行登録部122からスケジューリング済みのジョブを取得し、スケジューリング済みのジョブの中から優先度フラグが付与されていないジョブを抽出する。
【0184】
ステップ2615:スケジューリング部301は、消費電力分析サーバ130から消費電力分析情報600を取得する。
【0185】
ステップ2620:スケジューリング部301は、優先度フラグが付与されていないジョブから実行条件の電力種が「電力会社供給電源」のジョブを抽出する。
【0186】
ステップ2625:スケジューリング部301は、ステップ2620にて抽出した優先度フラグが付与されていないジョブの実行条件の電力種を「電力会社供給電源」から「再生エネルギー」(即ち、エコの貢献度が現在より大きい電力種)に変更する。
【0187】
ステップ2630:スケジューリング部301は、変更後の各電力種の消費電力割合予測を算出し、レポート画面2200(例えば、変更後の電力種別使用割合グラフ2205及び変更後の電力種別使用割合表2206)上に表示する。
【0188】
ステップ2635:スケジューリング部301は、ジョブの開始時間の変更候補ジョブ(優先度フラグが付与されていないジョブであって電力種が「電力会社供給電源」のジョブ)をレポート画面2200(例えば、変更ジョブ表示欄2202及びジョブ変更内容表2204)上に表示する。
【0189】
ステップ2640:スケジューリング部301は、レポート画面2200上で実行ボタン2207が押下(操作)されたか否かを判定する。レポート画面2200上で実行ボタン2207が押下された場合、スケジューリング部301は、「YES」と判定してステップ2645に進む。レポート画面2200上で実行ボタン2207が押下されていない場合、スケジューリング部301は、「NO」と判定してステップ2595に進む。
【0190】
ステップ2645:スケジューリング部301は、優先度フラグが付与されていないジョブについて、スケジュール(変更後の電力種)を確定する。
【0191】
<効果>
以上説明したように、本発明の実施形態に係るジョブ管理装置は、リソースが逼迫する可能性がある時間帯の実行時間が重複するジョブについて、優先度の低いジョブの実行開始時間を、実行開始時間及び実行終了時間の間の時間に変更するように、ジョブのスケジューリングを行う。
【0192】
これにより、ジョブ管理装置は、マルチテナントで各ユーザが共有する限られたリソースが逼迫せず、且つ、ジョブの終了時間を守るようにジョブのスケジューリングを行うことができる。更に、ジョブ管理装置は、重要度の高いジョブの実行を優先させてほしいというユーザの要求にマッチするように、ジョブのスケジューリングを行うことができる。
【0193】
ジョブ管理装置は、スケジューリングにより設定したジョブのスケジュールで、各ジョブの実行終了時間までに各ジョブの実行が完了するかを確認した上で、ジョブのスケジュールを確定するので、各ユーザが要求するジョブの終了時間を守るようにジョブのスケジューリングを行うことができる。
【0194】
ジョブ管理装置は、ユーザによって選択されたオプションに応じたジョブの再スケジューリングを行う。これにより、ジョブ管理装置は、課金額の削減を優先させてほしいというユーザの要求、消費電力量の削減を優先させてほしいというユーザの要求、エコを優先させてほしいというユーザの要求にマッチするように、ジョブのスケジューリングを行うことができる。ジョブ管理装置は、消費電力量の削減を優先させてほしいというユーザの要求に対応できるので、消費電力削減に貢献することができる。また、ジョブ管理装置は、エコを優先させてほしいというユーザの要求にも対応できるので、CO2排出量削減及び省電力に貢献することができる。
【0195】
<<変形例>>
本発明は上記実施形態に限定されることなく、本発明の範囲内において種々の変形例を採用することができる。ジョブ管理サーバ300は、マルチテナントサーバ100の内部にあってもよく、クラウド上にあってもよい。
【0196】
上記実施形態において、ジョブ管理サーバ300は、次のようにジョブのスケジューリングを行ってもよい。
【0197】
ジョブ管理サーバ300は、消費電力分析情報600に基づいて、スケジューリング対象ジョブの中から80kwを超える時間帯に実行開始時間(条件1)が含まれる新規ジョブを除いたジョブを抽出する。ジョブ管理サーバ300は、抽出したジョブに、優先度フラグが付与されているジョブ及び優先度フラグが付与されていないジョブの両方が含まれる場合、優先度フラグが付与されているジョブについて、実行開始時間(条件1)をスケジューリングにおけるジョブの開始時間に設定する。優先度フラグが付与されてないジョブについて、上述した
図16の処理によりジョブの開始時間を設定する。
【0198】
ジョブ管理サーバ300は、抽出したジョブに、優先度フラグが付与されているジョブのみが含まれる場合、電力種、課金額及び消費電力の少なくとも一つに基づいて、実行開始時間(条件1)を優先させるジョブを決める。
【0199】
優先させるジョブについて、実行開始時間(条件1)をスケジューリングにおけるジョブの開始時間に設定する。優先させないジョブについて、上述した
図16の処理によりジョブの開始時間を設定する。
【0200】
ジョブ管理サーバ300は、抽出したジョブに、優先度フラグが付与されていないジョブのみが含まれる場合、電力種、課金額及び消費電力の少なくとも一つに基づいて、実行開始時間(条件1)を優先させるジョブを決める。
【0201】
優先させるジョブについて、実行開始時間(条件1)をスケジューリングにおけるジョブの開始時間に設定する。優先させないジョブについて、上述した
図16の処理によりジョブの開始時間を設定する。
【0202】
上記変形例において、電力種、課金額及び消費電力の全てに基づいて、実行開始時間(条件1)を優先させるジョブを決める場合、ジョブ管理サーバ300は、上述した
図15の処理により、ジョブの優先度を決めるようにしてもよい。
【0203】
上記実施形態において、ジョブ管理サーバ300は、ステップ1360に代えて、「優先度の低いジョブ」として設定されたジョブに対して、ユーザによって手動でジョブの開始時間を設定するようにしてもよい。
【符号の説明】
【0204】
100…マルチテナントサーバ、120a~120c…仮想サーバ、121a~121c…消費電力情報部、122a~122c…ジョブ実行登録部、123a~123c…実行制御部、130…消費電力分析サーバ、131…消費電力情報取得部、132…分析部、133…課金部、134…データ格納部、140…電力管理サーバ、141…電力種別判別部、142…電力取得部、160…蓄電池、200a~200c…利用者端末、300…ジョブ管理サーバ、301…スケジューリング部、302…データ格納部