(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024143771
(43)【公開日】2024-10-11
(54)【発明の名称】バックアップ支援プログラム、情報処理装置およびバックアップ支援方法
(51)【国際特許分類】
G06F 11/34 20060101AFI20241003BHJP
G06F 9/48 20060101ALI20241003BHJP
G06F 11/30 20060101ALI20241003BHJP
【FI】
G06F11/34 142
G06F11/34 176
G06F9/48 300G
G06F11/30 140C
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023056641
(22)【出願日】2023-03-30
(71)【出願人】
【識別番号】598057291
【氏名又は名称】エフサステクノロジーズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】大石 亮介
(72)【発明者】
【氏名】弘中 祐哉
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA22
5B042MA05
5B042MA14
5B042MC22
5B042MC31
5B042MC40
(57)【要約】
【課題】同一物理サーバ内の各サーバのバックアップの実行時間を短縮する。
【解決手段】物理サーバ1は、複数のAPサーバ22と、各APサーバ22と組のバックアップサーバ21とを含み、各バックアップサーバ21および各APサーバ22の一定時間毎のCPU使用率を負荷情報DB14に保存し、負荷情報DB14に基づいて、各バックアップサーバ21によって次回実行されるバックアップの開始時刻および実行時間を推定し、バックアップが同時に実行される時間帯が発生すると推定される場合には、負荷情報DB14を用いて、仮に同時に実行されない場合に時間短縮できるバックアップの順序を決定する。かかる物理サーバ1の処理は、例えば、複数の異なるユーザのシステムがブレードサーバを共有する場合に、適切なバックアップのタイミングの推定に適用できる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のアプリケーションサーバと、各アプリケーションサーバと組のバックアップサーバとを含むコンピュータに実行させるバックアップ支援プログラムであって、
各バックアップサーバの一定時間毎のCPU使用率を第1の履歴情報に保存し、
各アプリケーションサーバの一定時間毎のCPU使用率を第2の履歴情報に保存し、
前記第1の履歴情報に基づいて、各バックアップサーバによって次回実行されるバックアップの開始時刻および実行時間を推定し、
バックアップが同時に実行される時間帯が発生すると推定される場合には、前記第2の履歴情報を用いて、仮に同時に実行されない場合に時間短縮できるバックアップの順序を決定する
処理を前記コンピュータに実行させることを特徴とするバックアップ支援プログラム。
【請求項2】
該決定された順序の内、推定されたバックアップの開始時刻を遅らせる方の前記組を管理する管理者に、遅らせる時間を通知する
ことを特徴とする請求項1に記載のバックアップ支援プログラム。
【請求項3】
前記順序を決定する処理は、
前記第2の履歴情報を用いて、一方のバックアップサーバが推定された開始時刻から先にバックアップを開始し、推定された実行時間後から他方のバックアップサーバがバックアップを開始する場合のバックアップ中の前記組で対応付けられるアプリケーションサーバのCPU使用率から得られる総負荷を算出し、バックアップサーバの先後を入れ替えた場合のバックアップ中の前記組で対応付けられるアプリケーションサーバのCPU使用率から得られる総負荷を算出し、
それぞれ算出した総負荷を比較し、
総負荷が小さい方の順序をバックアップの順序として決定する
ことを特徴とする請求項1に記載のバックアップ支援プログラム。
【請求項4】
アプリケーションサーバと、当該アプリケーションサーバと組のバックアップサーバとを含む第1のシステムと、
前記アプリケーションサーバと異なるアプリケーションサーバと、当該アプリケーションサーバと組のバックアップサーバとを含む第2のシステムと、
制御部と、を含み、
前記制御部は、
各バックアップサーバの一定時間毎のCPU使用率を第1の履歴情報に保存する第1の保存部と、
各アプリケーションサーバの一定時間毎のCPU使用率を第2の履歴情報に保存する第2の保存部と、
前記第1の履歴情報に基づいて、各バックアップサーバによって次回実行されるバックアップの開始時刻および実行時間を推定する推定部と、
バックアップが同時に実行される時間帯が発生すると推定される場合には、前記第2の履歴情報を用いて、仮に同時に実行されない場合に時間短縮できるバックアップの順序を決定する決定部と、
を有することを特徴とする情報処理装置。
【請求項5】
複数のアプリケーションサーバと、各アプリケーションサーバと組のバックアップサーバとを含むコンピュータが実行するバックアップ支援方法であって、
各バックアップサーバの一定時間毎のCPU使用率を第1の履歴情報に保存し、
各アプリケーションサーバの一定時間毎のCPU使用率を第2の履歴情報に保存し、
前記第1の履歴情報に基づいて、各バックアップサーバによって次回実行されるバックアップの開始時刻および実行時間を推定し、
バックアップが同時に実行される時間帯が発生すると推定される場合には、前記第2の履歴情報を用いて、仮に同時に実行されない場合に時間短縮できるバックアップの順序を決定する
処理を前記コンピュータが実行することを特徴とするバックアップ支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、バックアップ支援プログラムなどに関する。
【背景技術】
【0002】
各サーバ装置と各ストレージ装置とが通信可能に接続されている環境がある。かかる環境で、各サーバ装置が、業務環境を共有する他のサーバ装置から情報を取得し、データコピー処理の終了時間を予測し、また、データコピー処理におけるタスクの重複度を予測する技術が開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2015-132987号公報
【特許文献2】特開2004-206611号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
また、同一物理サーバ内に異なる顧客の複数のアプリケーションサーバおよびバックアップサーバをそれぞれ仮想化した仮想マシン(VM:Virtual Machine)がある場合がある。かかる場合に、複数のバックアップサーバが同時にバックアップ動作を行うと、CPU(Central Processing Unit)の負荷が上昇し、各バックアップの実行時間が長くなるという問題がある。この結果、バックアップ時間が長くなると、バックアップ元のアプリケーションサーバの負荷が増大し、アプリケーションの実行に影響がでてしまう。
【0005】
従来技術では、各サーバ装置は、他のサーバ装置から情報を取得し、データコピー処理の終了時間やデータコピー処理におけるタスクの重複度を予測できる。しかしながら、従来技術では、各サーバ装置が同一物理サーバ内にある異なる顧客のサーバ装置である場合には、顧客が異なるので、他のサーバ装置から情報を取得できず、データコピー処理の終了時間やデータコピー処理におけるタスクの重複度を予測できない。
【0006】
本発明は、1つの側面では、同一物理サーバ内に異なる顧客の複数のサーバがある場合に、各サーバのバックアップの実行時間を短縮することを目的とする。
【課題を解決するための手段】
【0007】
1つの態様では、バックアップ支援プログラムは、複数のアプリケーションサーバと、各アプリケーションサーバと組のバックアップサーバとを含むコンピュータに実行させるバックアップ支援プログラムであって、各バックアップサーバの時点毎のCPU使用率を記憶する第1の履歴情報に基づいて、各バックアップサーバによって次回実行されるバックアップの開始時刻および実行時間を推定し、バックアップが同時に実行される時間帯が発生すると推定される場合には、同時に実行される時間帯が発生せず、総実行時間が短くなるようにバックアップの順序を決定する、処理をコンピュータに実行させる。
【発明の効果】
【0008】
1実施態様によれば、各サーバのバックアップの実行時間を短縮できる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施例に係る物理サーバの機能構成の一例を示す図である。
【
図2】
図2は、実施例に係る負荷情報DBの一例を示す図である。
【
図3】
図3は、実施例に係るスケジュール推定DBの一例を示す図である。
【
図4A】
図4Aは、実施例に係る通知処理の一例を示す図(1)である。
【
図4B】
図4Bは、実施例に係る通知処理の一例を示す図(2)である。
【
図5】
図5は、実施例に係るバックアップ支援処理のフローチャートの一例を示す図である。
【
図6】
図6は、バックアップ支援プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願の開示するバックアップ支援プログラム、情報処理装置およびバックアップ支援方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
【実施例0011】
[物理サーバの機能構成]
図1は、実施例に係る物理サーバの機能構成の一例を示すブロック図である。
図1に示す物理サーバ1は、各システム20のバックアップを支援し、バックアップ支援部10を有する。物理サーバ1は、バックアップサーバ21とアプリケーション(AP:APplication))サーバ22とを組とするシステム20を複数備える。
図1では、システム20Aおよびシステム20Bの2つのシステム20が備えられる。バックアップサーバ21は、アプリケーションサーバ22のバックアップを実行するサーバである。アプリケーションサーバ22は、アプリケーションを実行するサーバである。バックアップサーバ21およびアプリケーションサーバ22は、それぞれ仮想マシン(VM:Virtual Machine)によって実現される。
【0012】
なお、実施例に係る物理サーバ1の前提条件は、以下のとおりである。物理サーバ1とシステム20Aとシステム20Bとの管理者は、それぞれ異なる。物理サーバ1の管理者は、各システム20内のどのVMがバックアップサーバ21であるのかについては認識しているが、どのようなバックアップ設定を行っているのかについては認識できない。システム20Aのバックアップ設定を行うことができるのは、システム20Aの管理者だけである。システム20Bのバックアップ設定を行うことができるのは、システム20Bの管理者だけである。また、システム20Aの管理者およびシステム20Bの管理者は、いずれも自己の管理下にないVMの存在について認識していない。また、実施例では、以降で推定されるバックアップのスケジュールを前倒しするような通知を行わないものとする。
【0013】
システム20Aは、バックアップサーバ21と、APサーバ22と、ストレージ23とを有する。バックアップサーバ21は、VMによって実現され、VM1と記載される場合がある。APサーバ22は、VMによって実現され、VM3と記載される場合がある。バックアップサーバ21(VM1)は、APサーバ22(VM3)のバックアップを実行する。そして、バックアップサーバ21(VM1)は、ストレージ23(S1)に格納する。APサーバ22(VM3)は、アプリケーションを実行する。
【0014】
システム20Bは、バックアップサーバ21と、APサーバ22と、ストレージ23とを有する。バックアップサーバ21は、VMによって実現され、VM2と記載される場合がある。APサーバ22は、VMによって実現され、VM4と記載される場合がある。バックアップサーバ21(VM2)は、APサーバ22(VM4)のバックアップを実行する。そして、バックアップサーバ21(VM2)は、ストレージ23(S2)に格納する。APサーバ22(VM4)は、アプリケーションを実行する。
【0015】
バックアップ支援部10は、各バックアップサーバ21の一定時間毎のCPU使用率を記憶する履歴情報に基づいて、各バックアップサーバ21によって次回実行されるバックアップの開始時刻および実行時間を推定する。そして、バックアップ支援部10は、バックアップが同時に実行される時間帯が発生すると推定される場合には、仮に同時に実行されない場合に時間短縮できるバックアップの順序を決定する。バックアップ支援部10は、収集部11、推定部12、通知部13、負荷情報DB(DataBase)14およびスケジュール推定DB15を有する。なお、収集部11は、第1の保存部および第2の保存部の一例である。推定部12は、推定部の一例である。通知部13は、決定部の一例である。
【0016】
負荷情報DB14は、各VMについて、一定期間ごとに測定されるCPU使用率を負荷情報として記憶する。すなわち、負荷情報DB14は、バックアップサーバ21(VM1,VM2)およびAPサーバ22(VM3,VM4)のCPU使用率を一定時間ごとに記憶する。負荷情報DB14は、過去n日分の負荷情報を記憶する。一定時間ごととは、例えば、1分ごとであるが、これに限定されない。なお、物理サーバ1が複数のCPUで構成されている場合、複数のコアで構成されている場合、1つのCPU使用率は、各コアの使用率の平均値とする。なお、負荷情報DB14は、後述する収集部11によって生成される。
【0017】
ここで、負荷情報DB14の一例を、
図2を参照して説明する。
図2は、実施例に係る負荷情報DBの一例を示す図である。
図2に示すように、負荷情報DB14は、VM1のCPU使用率、VM2のCPU使用率、VM3のCPU使用率、VM4のCPU使用率を日時に対応付けて記憶する。VM1のCPU使用率は、システム20Aのバックアップサーバ21の一定期間ごとに測定されたCPU使用率の履歴情報である。VM2のCPU使用率は、システム20Bのバックアップサーバ21の一定期間ごとに測定されたCPU使用率の履歴情報である。VM3のCPU使用率は、システム20AのAPサーバ22の一定期間ごとに測定されたCPU使用率の履歴情報である。VM4のCPU使用率は、システム20BのAPサーバ22の一定期間ごとに測定されたCPU使用率の履歴情報である。なお、一定期間は、1秒であるが、10秒であっても良いし、30秒であっても良いし、これに限定されない。
【0018】
一例として、日時が「1/1 0:00」である場合に、VM1のCPU使用率として「61%」、VM2のCPU使用率として「3%」、VM3のCPU使用率として「12%」、VM4のCPU使用率として「2%」を記憶している。
【0019】
図1に戻って、スケジュール推定DB15は、各バックアップサーバ21のバックアップについて、推定される開始時刻および実行時間を記憶する。なお、スケジュール推定DB15は、後述する推定部12によって作成される。
【0020】
ここで、スケジュール推定DB15の一例を、
図3を参照して説明する。
図3は、実施例に係るスケジュール推定DBの一例を示す図である。
図3に示すように、スケジュール推定DB15は、バックアップサーバ21ごと(VM1,VM2)の推定開始時刻および実行時間を対応付けて記憶する。推定開始時刻は、バックアップの推定される開始時刻である。実行時間は、バックアップの推定される実行時間である。
【0021】
一例として、VM1のバックアップジョブについて、推定開始時刻が「1/1 1:00」(1月1日 午前1時)である場合に、実行時間として「2:05」(2時間5分)を記憶している。推定開始時刻が「1/8 1:00」(1月8日 午前1時)である場合に、実行時間として「未実施」を記憶している。また、VM2のバックアップジョブについて、推定開始時刻が「1/1 1:10」(1月1日 午前1時10分)である場合に、実行時間として「1:05」(1時間5分)を記憶している。推定開始時刻が「1/8 1:10」(1月8日 午前1時10分)である場合に、実行時間として「未実施」を記憶している。かかる実行時間が「未実施」である推定開始時刻が、次回実行されるバックアップの開始時刻として推定される。
【0022】
図1に戻って、収集部11は、各VMについて、負荷情報を収集する。例えば、収集部11は、システム20Aのバックアップサーバ21(VM1)およびAPサーバ22(VM3)の一定期間ごとのCPU使用率を測定し、過去n日分を負荷情報DB14に格納する。また、収集部11は、システム20Bのバックアップサーバ21(VM2)およびAPサーバ22(VM4)の一定期間ごとのCPU使用率を測定し、過去n日分を負荷情報DB14に格納する。なお、物理サーバ1が複数のCPUで構成されている場合や複数のコアで構成されている場合、収集部11は、1つの一定期間に対し、各コアの使用率の平均値を算出し、当該一定期間に対応するCPU使用率とする。
【0023】
推定部12は、負荷情報DB14に基づいて、各バックアップサーバ21によって次回実行されるバックアップの開始時刻および実行時間を推定する。例えば、推定部12は、負荷情報DB14に記憶される、システム20Aのバックアップサーバ21(VM1)の負荷情報を参照して、CPU使用率が閾値以上の時間帯をバックアップの時間帯として特定する。そして、推定部12は、特定した時間帯の開始時刻をバックアップの開始時刻として推定するとともに、特定した時間帯の実行時間をバックアップの実行時間として推定する。同様に、推定部12は、負荷情報DB14に記憶される、システム20Bのバックアップサーバ21(VM2)の負荷情報を参照して、CPU使用率が閾値以上の時間帯をバックアップの時間帯として特定する。そして、推定部12は、特定した時間帯の開始時刻をバックアップの開始時刻として推定するとともに、特定した時間帯の実行時間をバックアップの実行時間として推定する。そして、推定部12は、バックアップサーバ21に対応付けて、推定した開始時刻および実行時間を、スケジュール推定DB15に格納する。そして、推定部12は、各バックアップサーバ21について、スケジュール推定DB15に記憶された過去のバックアップの開始時刻および実行時間を用いて、次に実行されるバックアップの開始時刻と実行時間を推定する。そして、推定部12は、バックアップサーバ21に対応付けて、推定した開始時刻および実行時間をスケジュール推定DB15に格納する。
【0024】
通知部13は、推定されたバックアップスケジュールのスケジュール変更を依頼すべく、いずれかのシステム20A,20Bの管理者にアラートを通知する。
【0025】
例えば、通知部13は、スケジュール推定DB15から、次に実行されると推定されるバックアップサーバ21のジョブを選択する。一例として、通知部13は、スケジュール推定DB15を参照し、バックアップサーバ21ごとの実行時間が「未実施」を示す推定開始時刻の各ジョブを選択する。通知部13は、選択された各ジョブの推定実行時間を、スケジュール推定DB15に記憶された過去n日分の実行時間の平均値と推定する。通知部13は、選択された各ジョブを推定開始時刻から推定実行時間分実行する場合に、バックアップが同時に実行される時間帯が発生するか否かを判定する。通知部13は、同時に実行される時間帯が発生しない場合には、いずれのバックアップサーバ21の管理者にもアラートを通知しない。
【0026】
また、通知部13は、バックアップが同時に実行される時間帯が発生する場合には、仮に同時に実行されない場合に時間短縮できるバックアップの順序を決定する。一例として、通知部13は、負荷情報DB14を用いて、一方のバックアップサーバ21が推定開始時刻から先にバックアップを開始し、推定実行時間経過後から他方のバックアップサーバ21がバックアップを開始する場合のバックアップ中の総負荷を算出する。また、通知部13は、バックアップサーバ21の先後を入れ替えて、バックアップ中の総負荷を算出する。総負荷は、バックアップサーバ21と組であるAPサーバ22のCPU使用率の時間積分を算出すれば良い。そして、通知部13は、それぞれ算出された総負荷を比較し、総負荷が小さい方の順序をバックアップの順序として決定する。
【0027】
また、通知部13は、決定された順序の内、推定開始時刻を遅らせる方のシステム20の管理者に、遅らせる時間を通知する。
【0028】
[通知処理の一例]
ここで、通知部13によって実行される通知処理について、
図4Aおよび
図4Bを参照して説明する。
図4Aおよび
図4Bは、実施例に係る通知処理の一例を示す図である。なお、通知部13は、推定開始時刻を前倒しするような通知を行わない。
【0029】
まず、通知部13は、スケジュール推定DB15から、次に実行されると推定されるバックアップサーバ21(VM1,VM2)のジョブを選択する。一例として、通知部13は、スケジュール推定DB15を参照し、バックアップサーバ21(VM1,VM2)ごとの実行時間が「未実施」を示す推定開始時刻の各ジョブを選択する。ここでは、VM1のジョブを「j1」とし、VM2のジョブを「j2」とする。また、VM1のジョブ「j1」の推定開始時刻をTime(j1)とし、VM2のジョブ「j2」の推定開始時刻をTime(j2)とする。また、VM1のジョブ「j1」の推定実行時間を「t1」とし、VM2のジョブ「j2」の推定実行時間を「t2」とする。VM1のジョブ「j1」の推定実行時間は、スケジュール推定DB15のVM1に対応付けられた過去n日分の実行時間の平均値として計算される。VM2のジョブ「j2」の推定実行時間は、スケジュール推定DB15のVM2に対応付けられた過去n日分の実行時間の平均値として計算される。なお、「j1」の推定開始時刻が「j2」の推定開始時刻より早いとする。
【0030】
このような状況の下、通知部13は、選択された各ジョブを推定開始時刻から推定実行時間分実行する場合に、バックアップが同時に実行される時間帯が発生するか否かを判定する。具体的には、通知部13は、「j1」を先に推定開始時刻から実行し、且つ「j2」の推定開始時刻が「j1」の終了時刻より早いか否かを判定する。すなわち、通知部13は、「Time(j1)+t1」が「Time(j2)」より大きいか否かを判定する。
【0031】
ここで、通知部13は、バックアップが同時に実行される時間帯が発生しない場合には、システム20Aおよびシステム20Bの管理者にアラートを通知しない。具体的には、通知部13は、「Time(j1)+t1」が「Time(j2)」以下である場合には、システム20Aおよびシステム20Bの管理者にアラートを通知しない。かかる場合には、バックアップの時間帯が重なることによるCPU負荷が増大しないからである。
【0032】
図4Aは、「Time(j1)+t1」が「Time(j2)」以下である場合である。かかる場合には、VM1のジョブ「j1」とVM2のジョブ「j2」とが同時に実行されない可能性が高い。したがって、通知部13は、システム20Aおよびシステム20Bの管理者にアラートを通知しない。
【0033】
これに対して、
図4B上図は、「Time(j1)+t1」が「Time(j2)」より大きい場合である。かかる場合には、VM1のジョブ「j1」とVM2のジョブ「j2」とが同時に実行される時間帯が発生するので、バックアップの効率が悪化する可能性がある。そこで、通知部13は、システム20Aおよびシステム20Bのいずれかの管理者にアラートを通知する。
【0034】
例えば、通知部13は、通知部13は、負荷情報DB14を用いて、一方のバックアップサーバ21が推定開始時刻から先にバックアップを開始し、推定実行時間経過後から他方のバックアップサーバ21がバックアップを開始する場合のバックアップ中の総負荷を算出する。また、通知部13は、バックアップサーバ21の先後を入れ替えて、バックアップ中の総負荷を算出する。
【0035】
図4B中図([1])は、VM1のジョブ「j1」をVM2のジョブ「j2」より先に実行すると仮定した場合である。すなわち、VM1のジョブ「j1」が推定開始時刻Time(j1)から先にバックアップを開始し、「j1」の終了後にVM2のジョブ「j2」がバックアップを開始する場合である。かかる場合の総負荷は、「j1」を実行中に実行されるAPサーバ22であるVM3のCPU使用率の和(式(1))と、「j2」を実行中に実行されるAPサーバ22であるVM4のCPU使用率の和(式(2))とで求められる。つまり、総負荷は、時間積分で表される。なお、式(1)のUsage(VM3,j1,Time(j1))は、Time(j1)からジョブ「j1」を実行中に実行されるVM3の総負荷を示す。かかる総負荷は、Time(j1)からTime(j1)+t1までのVM3のCPU使用率の時間積分により計算され、[1]の総負荷(a)に対応する。式(2)のUsage(VM4,j2,Time(j1)+t1)は、Time(j1)+t1からジョブ「j2」を実行中に実行されるVM4の総負荷を示す。かかる総負荷は、Time(j1)+t1からTime(j1)+t1+t2までのVM4のCPU使用率の時間積分により計算され、[1]の総負荷(b)に対応する。
【0036】
【0037】
【0038】
また、
図4B下図([2])は、VM2のジョブ「j2」をVM1のジョブ「j1」より先に実行すると仮定した場合である。すなわち、VM2のジョブ「j2」が推定開始時刻Time(j2)から先にバックアップを開始し、「j2」の終了後にVM1のジョブ「j1」がバックアップを開始する場合である。かかる場合の総負荷は、「j2」を実行中に実行されるAPサーバ22であるVM4のCPU使用率の和(式(3))と、「j1」を実行中に実行されるAPサーバ22であるVM3のCPU使用率の和(式(4))とで求められる。つまり、総負荷は、時間積分で表される。なお、式(3)のUsage(VM4,j2,Time(j2))は、Time(j2)からジョブ「j2」を実行中のVM4の総負荷を示す。かかる総負荷は、Time(j2)からTime(j2)+t2までのVM4のCPU使用率の時間積分により計算され、[2]の総負荷(c)に対応する。式(4)のUsage(VM3,j1,Time(j2)+t2)は、Time(j2)+t2からジョブ「j1」を実行中のVM3の総負荷を示す。かかる総負荷は、Time(j2)+t2からTime(j2)+t1+t2までのVM3のCPU使用率の時間積分により計算され、「2」の総負荷(d)に対応する。
【0039】
【0040】
【0041】
そして、通知部13は、それぞれ算出された総負荷を比較する。すなわち、通知部13は、VM1のジョブ「j1」を先に実行すると仮定した場合([1])と、VM2のジョブ「j2」を先に実行すると仮定した場合([2])とで、「j1」と「j2」の総負荷の和を比較する。具体的には、通知部13は、“「j1」の総負荷(a)+「j2」の総負荷(b)”([1])と、“「j2」の総負荷(c)+「j1」の総負荷(d)“([2])とを比較する。
【0042】
そして、通知部13は、総負荷が小さい方の順序をバックアップの順序として決定する。具体的には、通知部13は、“「j1」の総負荷(a)+「j2」の総負荷(b)”([1])が“「j2」の総負荷(c)+「j1」の総負荷(d)“([2])より小さい場合には、「j1」「j2」の順序をバックアップの順序として決定する。これは、[1]の場合の方がより総バックアップ時間を短縮できる可能性が高いと推定されるからである。
【0043】
また、通知部13は、“「j1」の総負荷(a)+「j2」の総負荷(b)”([1])が“「j2」の総負荷(c)+「j1」の総負荷(d)“([2])以上の場合には、「j2」「j1」の順序をバックアップの順序として決定する。これは、[2]の場合の方がより総バックアップ時間を短縮できる可能性が高いと推定されるからである。
【0044】
そして、通知部13は、決定された順序の内、推定開始時刻を遅らせる方のシステム20の管理者に、遅らせる時間を通知する。具体的には、通知部13は、「j1」「j2」の順序をバックアップの順序として決定する場合には、順序の遅い方のシステム20Bの管理者に、「次回のジョブ実行開始時刻を「Time(j1)+t1-Time(j2)」だけ遅らせた方がよい」旨を通知する。なお、通知部13は、順序の早い方のシステム20Aの管理者に、通知を行わない。
【0045】
また、通知部13は、「j2」「j1」の順序をバックアップの順序として決定する場合には、順序の遅い方のシステム20Aの管理者に、「次回のジョブ実行開始時刻を「Time(j2)+t2-Time(j1)」だけ遅らせた方がよい」旨を通知する。なお、通知部13は、順序の早い方のシステム20Bの管理者に、通知を行わない。
【0046】
[バックアップ支援処理のフローチャート]
ここで、バックアップ支援部10が行うバックアップ支援処理のフローチャートを、
図5を参照して説明する。
図5は、実施例に係るバックアップ支援処理のフローチャートの一例を示す図である。なお、物理サーバ1には、システム20Aおよびシステム20Bが構成されているとする。また、バックアップ支援部10は、負荷情報DB14を参照して、システム20Aのバックアップサーバ21(VM1)のバックアップの開始時刻および実行時間を推定し、スケジュール推定DB15に格納したものとする。同様に、バックアップ支援部10は、負荷情報DB14を参照して、システム20Bのバックアップサーバ21(VM2)の過去のバックアップの開始時刻および実行時間を推定し、スケジュール推定DB15に格納したものとする。
【0047】
図5に示すように、バックアップ支援部10は、システム20Aおよびシステム20Bの各バックアップサーバ21によって次回実行される各ジョブを推定する(ステップS11)。例えば、バックアップ支援部10は、各バックアップサーバ21(VM1,VM2)について、スケジュール推定DB15に記憶された過去のバックアップのジョブの開始時刻および実行時間を用いて、次に実行されるバックアップのジョブの開始時刻と実行時間を推定する。
【0048】
そして、バックアップ支援部10は、推定した各ジョブは重複実行する可能性があるか否かを判定する(ステップS12)。例えば、バックアップ支援部10は、推定された各バックアップのジョブを推定開始時刻から推定実行時間分実行する場合に、バックアップが同時に実行される時間帯が発生するか否かを判定する。
【0049】
推定した各ジョブは重複実行する可能性がないと判定した場合には(ステップS12;No)、バックアップ支援部10は、アラート通知を行わない(ステップS13)。そして、バックアップ支援部10は、バックアップ支援処理を終了する。
【0050】
一方、推定した各ジョブは重複実行する可能性があると判定した場合には(ステップS12;Yes)、バックアップ支援部10は、(a)(b)(c)(d)のケースについて総負荷を計算する(ステップS14)。ここでいう(a)とは、
図4Bで示したように、「j1」を先に実行すると仮定した場合の、「j1」を実行中に実行されるAPサーバ22(例えばVM3)のCPU使用率の和(式(1))に対応する。ここでいう(b)とは、
図4Bで示したように、「j1」を先に実行すると仮定した場合の、後続する「j2」を実行中に実行されるAPサーバ22(例えばVM4)のCPU使用率の和(式(2))に対応する。ここでいう(c)とは、
図4Bで示したように、「j2」を先に実行すると仮定した場合の、「j2」を実行中に実行されるAPサーバ22(VM4)のCPU使用率の和(式(3))に対応する。ここでいう(d)とは、
図4Bで示したように、「j2」を先に実行すると仮定した場合の、後続する「j1」を実行中に実行されるAPサーバ22(例えばVM3)のCPU使用率の和(式(4))に対応する。
【0051】
そして、バックアップ支援部10は、(a)+(b)<(c)+(d)であるか否かを判定する(ステップS15)。(a)+(b)<(c)+(d)であると判定した場合には(ステップS15;Yes)、バックアップ支援部10は、システム20Bの管理者にアラートを通知する(ステップS16)。例えば、バックアップ支援部10は、総負荷の小さい方の「j1」「j2」の順序をバックアップの順序として決定する。これは、「j1」を先に実行すると仮定した場合の方が「j2」を先に実行すると仮定した場合よりも総バックアップ時間を短縮できる可能性が高いと推定されるからである。そして、バックアップ支援部10は、順序の遅い方のシステム20Bの管理者に、遅らせた方がよい時間を通知する。そして、バックアップ支援部10は、バックアップ支援処理を終了する。
【0052】
一方、(a)+(b)≧(c)+(d)であると判定した場合には(ステップS15;No)、バックアップ支援部10は、システム20Aの管理者にアラートを通知する(ステップS17)。例えば、バックアップ支援部10は、総負荷の小さい方の「j2」「j1」の順序をバックアップの順序として決定する。これは、「j2」を先に実行すると仮定した場合の方が「j1」を先に実行すると仮定した場合よりも総バックアップ時間を短縮できる可能性が高いと推定されるからである。そして、バックアップ支援部10は、順序の遅い方のシステム20Aの管理者に、遅らせた方がよい時間を通知する。そして、バックアップ支援部10は、バックアップ支援処理を終了する。
【0053】
[実施例の効果]
上記実施例によれば、物理サーバ1は、複数のAPサーバ22と、各APサーバ22と組のバックアップサーバ21とを含む。物理サーバ1におけるバックアップ支援部10は、各バックアップサーバ21の一定時間毎のCPU使用率を負荷情報DB14に保存する。バックアップ支援部10は、各APサーバ22の一定時間毎のCPU使用率を負荷情報DB14に保存する。バックアップ支援部10は、負荷情報DB14に基づいて、各バックアップサーバ21によって次回実行されるバックアップの開始時刻および実行時間を推定する。バックアップ支援部10は、バックアップが同時に実行される時間帯が発生すると推定される場合には、負荷情報DB14を用いて、仮に同時に実行されない場合に時間短縮できるバックアップの順序を決定する。かかる構成によれば、バックアップ支援部10は、同時に実行される時間帯を回避することで、バックアップの実行時間を短縮できる。
【0054】
また、上記実施例によれば、バックアップ支援部10は、該決定された順序の内、推定されたバックアップの開始時刻を遅らせる方の組を管理する管理者に、遅らせる時間を通知する。かかる構成によれば、バックアップ支援部10は、実際のバックアップのスケジュールに反映することができる。
【0055】
また、上記実施例によれば、バックアップ支援部10は、負荷情報DB14を用いて、一方のバックアップサーバ21が推定された開始時刻から先にバックアップを開始し、推定された実行時間後から他方のバックアップサーバ21がバックアップを開始する場合のバックアップ中の組で対応付けられるAPサーバ22のCPU使用率から得られる総負荷を算出し、バックアップサーバの先後を入れ替えた場合のバックアップ中の組で対応付けられるAPサーバ22のCPU使用率から得られる総負荷を算出する。バックアップ支援部10は、それぞれ算出した総負荷を比較し、総負荷が小さい方の順序をバックアップの順序として決定する。かかる構成によれば、バックアップ支援部10は、バックアップ中のAPサーバ22の総負荷の小さい方の順序を適用することで、バックアップの実行時間を短縮することが可能となる。
【0056】
[その他]
なお、図示した物理サーバ1におけるバックアップ支援部10の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、物理サーバ1におけるバックアップ支援部10の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。また、負荷情報DB14およびスケジュール推定DB15を含む記憶部(図示せず)を物理サーバ1の外部装置としてネットワーク経由で接続するようにしても良い。
【0057】
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、
図1に示した物理サーバ1におけるバックアップ支援部10と同様の機能を実現するバックアップ支援プログラムを実行するコンピュータの一例を説明する。ここでは、物理サーバ1におけるバックアップ支援部10と同様の機能を実現するバックアップ支援プログラムを一例として説明する。
図6は、バックアップ支援プログラムを実行するコンピュータの一例を示す図である。
【0058】
図6に示すように、コンピュータ200は、各種演算処理を実行するCPU(Central Processing Unit)203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信I/F(Interface)217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD(Hard Disk Drive)205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、表示装置209、ドライブ装置213、入力装置215、通信I/F217は、バス219で接続されている。
【0059】
ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、バックアップ支援プログラム205aおよびバックアップ支援処理関連情報205bを記憶する。通信I/F217は、ネットワークと装置内部とのインターフェースを司り、他のコンピュータからのデータの入出力を制御する。通信I/F217には、例えば、モデムやLANアダプタなどを採用することができる。
【0060】
表示装置209は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する表示装置である。表示装置209は、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイなどを採用することができる。
【0061】
CPU203は、バックアップ支援プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは物理サーバ1の各機能部に対応する。バックアップ支援処理関連情報205bには、例えば、負荷情報DB14およびスケジュール推定DB15が含まれる。そして、例えばリムーバブルディスク211が、バックアップ支援プログラム205aなどの各情報を記憶する。
【0062】
なお、バックアップ支援プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからバックアップ支援プログラム205aを読み出して実行するようにしても良い。
【0063】
また、上記実施例で説明した物理サーバ1が行うバックアップ支援処理は、例えば、複数の異なるユーザのシステムがブレードサーバを共有する場合に、適切なバックアップのタイミングの推定に適用することができる。