(57)【要約】【課題】データの書き込み時間をより精度良く予測すること。【解決手段】更新される対象データが格納される記憶部１１と、対象データが格納されている記憶装置２０に更新後の対象データを書き込むとき、記憶装置２０にある更新前の対象データ３１と記憶部１１にある更新後の対象データ３２との重複を排除した残データ３２ａが記憶装置２０に書き込まれるように制御し、記憶装置２０に対象データ３２が書き込まれる度に、更新後の対象データ３２から排除されたデータの割合を記憶部１１に記憶させ、記憶装置２０に対象データ３２を書き込んでいるとき、記憶部１１に記憶されている複数の割合に基づいて現時点における割合を推定し、推定した割合に基づいて書き込み完了までの時間の予測値を計算する制御部１２とを有する、情報処理装置１０が提供される。【選択図】図１
2018055394.tif 000002
【特許請求の範囲】
【請求項１】
更新される対象データが格納される記憶部と、
前記対象データが格納されている記憶装置に更新後の前記対象データを書き込むとき、前記記憶装置にある更新前の前記対象データと前記記憶部にある更新後の前記対象データとの重複を排除した残データが前記記憶装置に書き込まれるように制御し、
前記記憶装置に前記対象データが書き込まれる度に、更新後の前記対象データから排除されたデータの割合を前記記憶部に記憶させ、
前記記憶装置に前記対象データを書き込んでいるとき、前記記憶部に記憶されている複数の前記割合に基づいて現時点における前記割合を推定し、推定した前記割合に基づいて書き込み完了までの時間の予測値を計算する制御部と
を有する、情報処理装置。
【請求項２】
前記制御部は、前記記憶部に記憶されている前記割合のうち、第１の時点に対応する第１の割合と、前記第１の時点より後の第２の時点に対応する第２の割合と、前記第１の時点から前記第２の時点までの経過時間とに基づいて現時点における前記割合を推定し、推定した前記割合及び前記記憶装置に対する書き込み速度に基づいて前記予測値を計算する
請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、
前記対象データが構造化データである場合には、構造化データを示す情報を前記割合に対応付けて前記記憶部に記憶させ、
前記対象データが非構造化データである場合には、非構造化データを示す情報を前記割合に対応付けて前記記憶部に記憶させ、
前記予測値を計算する際、前記記憶装置に書き込む前記対象データが構造化データである場合には、構造化データに対応付けて前記記憶部に記憶されている前記割合を利用し、前記記憶装置に書き込む前記対象データが非構造化データである場合には、非構造化データに対応付けて前記記憶部に記憶されている前記割合を利用する
請求項１又は２に記載の情報処理装置。
【請求項４】
前記制御部は、
前記対象データの種別がパーティションである場合には、パーティションを示す情報を前記割合に対応付けて前記記憶部に記憶させ、
前記対象データの種別がファイルである場合には、ファイルを示す情報を前記割合に対応付けて前記記憶部に記憶させ、
前記予測値を計算する際、前記記憶装置に書き込む前記対象データの種別がパーティションである場合には、パーティションに対応付けて前記記憶部に記憶されている前記割合を利用し、前記記憶装置に書き込む前記対象データの種別がファイルである場合には、ファイルに対応付けて前記記憶部に記憶されている前記割合を利用する
請求項１又は２に記載の情報処理装置。
【請求項５】
前記制御部は、前記記憶装置に書き込まれる前記対象データの更新回数が所定の閾値より大きい場合に前記記憶部に記憶されている前記割合を利用して前記予測値を計算する
請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記対象データは、前記記憶装置にバックアップされるバックアップデータであり、
前記制御部は、前記バックアップの中断を伴う処理が要求された場合に前記予測値を計算し、計算した前記予測値が設定時間より短い場合に前記処理を待機させて前記バックアップを継続する
請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
コンピュータに、
更新される対象データが格納される記憶部から前記対象データを取得し、前記対象データが格納されている記憶装置に更新後の前記対象データを書き込むとき、前記記憶装置にある更新前の前記対象データと前記記憶部にある更新後の前記対象データとの重複を排除した残データが前記記憶装置に書き込まれるように制御し、
前記記憶装置に前記対象データが書き込まれる度に、更新後の前記対象データから排除されたデータの割合を前記記憶部に記憶させ、
前記記憶装置に前記対象データを書き込んでいるとき、前記記憶部に記憶されている複数の前記割合に基づいて現時点における前記割合を推定し、推定した前記割合に基づいて書き込み完了までの時間の予測値を計算する
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及びプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータや情報端末などのコンピュータが利用する記憶領域として、ネットワークに接続されているストレージサーバの記憶領域が利用されることがある。例えば、ＮＦＳ（Network File System）などを利用してストレージサーバの記憶領域をコンピュータにマウントすることで、ユーザは、ネットワークの存在を意識することなくストレージサーバの記憶領域を利用することができる。
【０００３】
ストレージサーバの記憶領域に格納されているデータは、ストレージサーバに接続されているストレージ装置にバックアップされる。バックアップが実施されることで、コンピュータやストレージサーバの障害によるデータ消失のリスクが低減される。但し、ストレージサーバの記憶領域に格納されているデータの量が多いと、バックアップにかかる時間が長くなる。
【０００４】
バックアップにかかる時間を短縮する方法としては、例えば、ストレージ装置にあるデータと、ストレージサーバの記憶領域にあるデータとの重複を排除し、前回のバックアップ後に更新されたデータをバックアップの対象にする重複排除がある。重複排除を実施することで、重複の割合に応じてバックアップの対象となるデータの量を低減することが可能になり、バックアップにかかる時間を短縮することができる。
【０００５】
なお、帯域が変動するネットワークを利用するバックアップにかかる時間を予測する方法が提案されている。この方法では、記憶領域からストレージ装置にコピーされるデータの容量に基づいて将来のコピーデータの容量が予測され、コピーが行われる時刻のネットワークの可用帯域に基づいて将来の可用帯域が予測される。また、この方法では、予測された容量及び予測された可用帯域に基づいてデータのコピーにかかる時間が予測される。
【０００６】
また、ユーザが車両を使用しない空き時間帯に車両のプログラムを更新する方法が提案されている。この方法では、プログラムを更新可能な空き時間帯が予測され、予測された空き時間帯及び空き時間帯における車両の予測位置がユーザに報知される。また、この方法では、ユーザが指定した空き時間帯にプログラムが更新される。
【０００７】
また、レプリケーションの進捗率をより実態に近い値で算出する方法が提案されている。この方法では、重複排除機能を有するマスタ側ストレージ及びレプリカ側ストレージが利用される。また、この方法では、レプリケーションによりマスタ側ストレージからレプリカ側ストレージへ転送されるデータのデータ総量が推定され、推定されたデータ総量と所定の時点における転送データ量とに基づいてレプリケーションの進捗率が算出される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−８０６７０号公報
【特許文献２】特開２０１１−５３９５４号公報
【特許文献３】特開２０１４−１６４６３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
バックアップするデータの総量が大きい場合、重複排除を適用してもバックアップに長い時間がかかることがある。また、バックアップを実施している間、ストレージサーバが所定の処理を実行できない状態になることがある。そのため、ストレージサーバには、例えば、バックアップが完了するまで所定の処理を待機させ、バックアップが完了するまでにかかる残り時間を表示する仕組みなどが設けられる。残り時間の表示により、ユーザは、バックアップをキャンセルして所定の処理を優先的に実行するか、バックアップの完了を待つかを判断することが可能になる。
【００１０】
上記の残り時間は、例えば、バックアップサーバの記憶領域にあるデータの総量及びバックアップの進捗状況に基づいて予測されうる。但し、重複排除を実施している場合、ストレージ装置に対して実際に書き込まれるデータの量は、データの総量に占める重複データの割合（重複排除率）に応じて減少する。重複排除率は、ストレージシステムの運用期間が長くなるにつれて大きくなる傾向にある。つまり、実際にストレージ装置にバックアップされるデータの量は運用期間の経過と共に減少する。
【００１１】
上記の残り時間を予測する際、重複排除率の時間変化を考慮しないと、予測された残り時間が実際の残り時間よりも長くなることがある。予測精度が低いと、実際の残り時間は許容可能な範囲にあるのに、予測された残り時間が許容可能な範囲にないため、バックアップをキャンセルして所定の処理を優先的に実行してしまうなどのリスクがある。重複排除後のデータがストレージ装置に書き込まれるまでにかかる時間をより精度良く予測できれば、このようなリスクを低減することが可能になる。
【００１２】
１つの側面によれば、本開示の目的は、データの書き込み時間をより精度良く予測することができる情報処理装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
一態様によれば、更新される対象データが格納される記憶部と、対象データが格納されている記憶装置に更新後の対象データを書き込むとき、記憶装置にある更新前の対象データと記憶部にある更新後の対象データとの重複を排除した残データが記憶装置に書き込まれるように制御し、記憶装置に対象データが書き込まれる度に、更新後の対象データから排除されたデータの割合を記憶部に記憶させ、記憶装置に対象データを書き込んでいるとき、記憶部に記憶されている複数の割合に基づいて現時点における割合を推定し、推定した割合に基づいて書き込み完了までの時間の予測値を計算する制御部とを有する、情報処理装置が提供される。
【発明の効果】
【００１４】
データの書き込み時間をより精度良く予測することができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係る情報処理装置の一例を示した図である。
【図２】第２実施形態に係るストレージシステムの一例を示した図である。
【図３】重複排除バックアップについて説明するための図である。
【図４】重複排除率の経時変化について説明するための図である。
【図５】バックアップサーバのハードウェアの一例を示したブロック図である。
【図６】ストレージサーバが有する機能の一例を示したブロック図である。
【図７】アドレス情報の一例を示した図である。
【図８】ＪＯＢ管理情報の一例（ＪＯＢ番号テーブル）を示した図である。
【図９】履歴情報の一例（ＢＵ運用実績テーブル）を示した図である。
【図１０】履歴情報の一例（重複排除実績テーブル）を示した図である。
【図１１】ファイル情報の一例を示した図である。
【図１２】ファームウェアの更新に関する処理の流れを示したフロー図である。
【図１３】予測値の計算に関する処理の流れを示した第１のフロー図である。
【図１４】予測値の計算に関する処理の流れを示した第２のフロー図である。
【図１５】パーティション単位の予測値を計算する処理の流れを示した第１のフロー図である。
【図１６】パーティション単位の予測値を計算する処理の流れを示した第２のフロー図である。
【図１７】ファイル単位の予測値を計算する処理の流れを示した第１のフロー図である。
【図１８】ファイル単位の予測値を計算する処理の流れを示した第２のフロー図である。
【図１９】第２実施形態の一変形例（変形例＃１）について説明するための図である。
【図２０】第２実施形態の一変形例（変形例＃２）について説明するための図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１７】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。第１実施形態は、バックアップの際に重複排除を実施するストレージシステムにおいて、バックアップの対象となるデータ（対象データ）の書き込み完了までにかかる時間を予測する方法に関する。図１は、第１実施形態に係る情報処理装置の一例を示した図である。なお、図１に示した情報処理装置１０は、第１実施形態に係る情報処理装置の一例である。
【００１８】
図１に示すように、情報処理装置１０は、記憶部１１及び制御部１２を有する。また、情報処理装置１０は、ネットワークＮＷを介して記憶装置２０に接続されている。ネットワークＮＷは、例えば、ＬＡＮ（Local Area Network）や光回線などの通信回線を利用する通信ネットワークである。なお、情報処理装置１０と記憶装置２０とがケーブルを利用して直接接続されていてもよい。
【００１９】
記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。制御部１２は、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などのプロセッサである。制御部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００２０】
なお、図１の例では、説明の都合上、記憶部１１を１つのブロックで表現しているが、同じ又は異なる種類の複数の記憶装置であってもよい。例えば、記憶部１１の機能は、１つ又は複数の独立した記憶装置や、複数の記憶装置を組み合わせたＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置を用いて実現することも可能である。また、制御部１２を１つのブロックで表現しているが、制御部１２の機能は、複数のプロセッサや、マルチコアプロセッサなどを用いて実現することも可能である。このような変形も当然に第１実施形態の技術的範囲に属する。
【００２１】
記憶部１１には、更新される対象データ３２が格納される。例えば、ネットワークＮＷに接続されている所定のコンピュータ（非図示）がマウント可能な共有領域が記憶部１１に設定され、共有領域に対象データ３２が格納されている場合、所定のコンピュータにより対象データ３２が書き換えられうる。対象データ３２は、所定のタイミング（例えば、毎時、毎日、毎週、毎月など）で記憶装置２０にバックアップされる。
【００２２】
なお、説明の都合上、対象データ３２は前回バックアップされた対象データ３１の更新後データであるとし、記憶装置２０には対象データ３１が格納されているとする。
制御部１２は、記憶装置２０に対象データ３２を書き込むとき、記憶装置２０にある対象データ３１と記憶部１１にある対象データ３２との重複を排除する。そして、制御部１２は、対象データ３２から重複を排除した残りのデータ（残データ３２ａ）を記憶装置２０に書き込む。また、制御部１２は、対象データ３２から排除されたデータの割合（重複排除率）を記憶部１１に記憶させる。
【００２３】
上記のように、制御部１２は、バックアップの際、更新前の対象データと更新後の対象データとの重複を排除し、重複排除後のデータを記憶装置２０に書き込む。また、制御部１２は、更新後の対象データから排除されたデータの割合を計算し、計算した割合を割合情報４０として記憶部１１に記憶させる。このとき、制御部１２は、計算した割合に更新時（時間情報）を対応付けて記憶部１１に記憶させる。
【００２４】
制御部１２は、記憶装置２０に対象データを書き込んでいるとき、記憶部１１に記憶されている複数の割合（割合情報４０）に基づいて現時点における割合を推定する。
例えば、現時点が５：００であり、割合情報４０に更新時１：００、…、３：３０、４：００における割合４％、…、２０％、２２％が含まれる場合、制御部１２は、現時点に近い更新時３：３０、４：００に対応する割合２０％、２２％を取得する。また、制御部１２は、取得した割合に基づいて、単位時間当たりの割合の変化量（３０分で２％増加：４％／ｈ）を計算する。また、制御部１２は、最終更新時の割合（２２％）、最終更新時から現時点までの経過時間（１時間）、及び計算した変化量（４％／ｈ）を用いて、現時点における割合の推定値（２６％＝２２％＋４％／ｈ×１ｈ）を計算する。
【００２５】
制御部１２は、推定した割合に基づいて書き込み完了までの時間の予測値を計算する。
図１の例では、対象データ３２のデータ量が１０ＧＢ、現時点における書き込み完了の割合が８０％、記憶装置２０への書き込み速度が２００ＭＢ／ｓｅｃ．である。この場合、制御部１２は、推定した割合２６％に基づいて、現時点以降に記憶装置２０へ書き込まれる残データ３２ａのデータ量（１０ＧＢ×０．７４（重複２６％））を計算する。
【００２６】
また、制御部１２は、書き込み速度１００ＭＢ／ｓｅｃ．を用いて、計算したデータ量のデータを書き込み完了するまでにかかる時間の予測値Ｔｃ（７４ｓｅｃ．）を計算する。なお、対象データ３２の書き込み処理が進行している場合、制御部１２は、書き込み処理の実行開始から経過した時間（経過時間Ｔ）に基づき、予測値Ｔｃから経過時間Ｔを減算した時間を書き込み処理の残り時間（この例では６４ｓｅｃ．）として出力する。
【００２７】
上記のように、重複排除率に関する情報を割合情報４０として蓄積し、割合情報４０を参照して現時点における重複排除率を予測することで、実際に記憶装置２０に書き込まれるデータのデータ量から書き込み完了までにかかる時間を精度良く予測できる。なお、説明の都合上、２つの割合を利用して現時点における割合を推定する方法について述べたが、３つ以上の割合を利用して現時点における割合を推定してもよい。このような変形も当然に第１実施形態の技術的範囲に属する。
【００２８】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。第２実施形態は、バックアップの際に重複排除を実施するストレージシステムにおいて、バックアップの対象となるデータの書き込み完了までにかかる時間を予測する方法に関する。
【００２９】
［２−１．システム］
図２を参照しながら、第２実施形態に係るストレージシステムについて説明する。図２は、第２実施形態に係るストレージシステムの一例を示した図である。なお、図２に示したストレージシステム１００は、第２実施形態に係るストレージシステムの一例である。
【００３０】
図２に示すように、ストレージシステム１００は、バックアップサーバ１０１、ストレージサーバ１０２、及びストレージ装置１０３を有する。なお、ストレージシステム１００は、１つ又は複数の他のバックアップサーバ（非図示）を有していてもよい。
【００３１】
バックアップサーバ１０１とストレージサーバ１０２とはネットワークＮＷを介して接続されている。また、ストレージサーバ１０２とストレージ装置１０３とはネットワークＮＷを介して接続されている。ネットワークＮＷは、例えば、ＬＡＮや光回線などの通信回線を利用する通信ネットワークである。
【００３２】
なお、バックアップサーバ１０１とストレージサーバ１０２とを接続する通信ネットワークと、ストレージサーバ１０２とストレージ装置１０３とを接続する通信ネットワークとが異なっていてもよい。また、ストレージサーバ１０２とストレージ装置１０３とがケーブルを利用して直接接続されていてもよい。
【００３３】
ストレージサーバ１０２は、記憶部１２１を有する。ストレージ装置１０３は、記憶部１３１を有する。記憶部１２１、１３１は、例えば、ＨＤＤやＳＳＤ（Solid State Drive）などの記憶装置、或いは、複数の記憶装置を組み合わせたＲＡＩＤ装置などである。また、記憶部１２１には、ＮＦＳなどを用いてマウント可能な共有領域が設定されうる。以下では、説明の都合上、ＮＦＳを用いてバックアップサーバ１０１が記憶部１２１の共有領域をマウントしているとする。なお、記憶部１３１は、磁気テープであってもよい。
【００３４】
バックアップサーバ１０１は、例えば、パーソナルコンピュータ、情報端末（携帯情報端末やクライアント装置など）、ホストコンピュータなどのコンピュータである。ストレージサーバ１０２は、バックアップサーバ１０１がアクセス可能な共有領域を提供するサーバ装置である。ストレージサーバ１０２は、所定のタイミングで共有領域にあるデータをストレージ装置１０３にバックアップする。ストレージ装置１０３は、ストレージサーバ１０２にあるデータのバックアップに利用されるバックアップストレージである。
【００３５】
（重複排除バックアップ）
上記のストレージサーバ１０２は、記憶部１２１にあるデータをバックアップする際、図３に示すように、重複排除を実施する（重複排除バックアップ）。図３は、重複排除バックアップについて説明するための図である。
【００３６】
ストレージ装置１０３の記憶部１３１にデータＡ1があり、データＡ2をバックアップする場合、ストレージサーバ１０２は、データＡ2のうち、データＡ1から変更された分（変更分ｄＡ）をストレージ装置１０３に送る。図３の例では、データＡ2のうち、アドレスａ0からａ1の領域が変更されている。この場合、アドレスａ0からａ1の領域が変更分ｄＡとしてストレージ装置１０３に送られ、変更分ｄＡが記憶部１３１に書き込まれる。バックアップを実施する際、ストレージサーバ１０２は、このような方法で重複排除の処理を実行する。
【００３７】
（重複排除率の経時変化）
ストレージシステム１００の運用時間が経過すると、ストレージサーバ１０２の記憶部１２１にあるデータに占める重複データ（重複排除によりバックアップの対象から排除されるデータ）の割合（重複排除率）が増加する傾向にある。つまり、図４に示すように、実際にストレージ装置１０３の記憶部１３１に書き込まれるデータ（バックアップデータ）の量が運用時間の経過と共に減少する傾向がある。図４は、重複排除率の経時変化について説明するための図である。
【００３８】
ストレージサーバ１０２からストレージ装置１０３へとデータを送信する際の通信速度、及び記憶部１３１にデータを書き込む速度（書き込み速度）が一定であれば、バックアップデータの減少によりバックアップにかかる時間が短くなる。バックアップの残り時間は、例えば、上記の通信速度及び書き込み速度と、バックアップデータのデータ量とに基づいて計算される。そのため、バックアップの残り時間を予測する際、運用時間の経過に伴う重複排除率の増加を考慮しないと残り時間の予測値が実際の残り時間より長くなる。
【００３９】
残り時間の予測値は、例えば、バックアップの完了を待つユーザに対し、画面表示などの方法で通知される。また、バックアップが進行しているとストレージサーバ１０２やストレージ装置１０３で実行できない特定の処理（特定処理）がある場合に、バックアップの完了まで特定処理を待機させるか、バックアップを中断するかの判断に残り時間の予測値が利用される。例えば、残り時間の予測値が所定の閾値（１時間など）より長い場合にバックアップが中断される。
【００４０】
バックアップが中断されると、特定処理の終了後にバックアップが再実行される。バックアップを再実行すると、中断前に記憶部１３１への書き込みが完了しているデータについても再び書き込み処理が実行される。そのため、バックアップに再び長い時間がかかる。重複排除率の増加傾向を考慮しないと、実際には閾値より短い時間でバックアップが完了する状況であるのに残り時間の予測値が閾値より長くなり、バックアップが中断されてしまうリスクがある。この場合、バックアップに余計な時間がかかることになる。
【００４１】
特定処理としては、例えば、ファームウェア（Ｆ／Ｗ）の更新などがある。バックアップの処理が進行している場合、ストレージサーバ１０２及びストレージ装置１０３の少なくとも一方に対するＦ／Ｗの更新は実施できない。そのため、Ｆ／Ｗの更新が要求されると、バックアップを中断してＦ／Ｗの更新を開始するか、バックアップの完了を待ってＦ／Ｗの更新を開始するかの判断が求められる。
【００４２】
後述するように、ストレージサーバ１０２は、重複排除率の増加傾向を考慮して残り時間の予測値を計算する。そして、Ｆ／Ｗの更新などの特定処理が要求された場合に、ストレージサーバ１０２は、残り時間の予測値に基づいてバックアップを中断するか否かを判断する。重複排除率の増加傾向を考慮しているため、残り時間の予測精度が高く、より好適な判断が実施される。その結果、バックアップにかかる余計な時間を低減しうる。
【００４３】
以上、システムについて説明した。
［２−２．ハードウェア］
ここで、図５を参照しながら、バックアップサーバ１０１のハードウェアについて説明する。図５は、バックアップサーバのハードウェアの一例を示したブロック図である。
【００４４】
バックアップサーバ１０１が有する機能は、例えば、図５に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、バックアップサーバ１０１が有する機能は、コンピュータプログラムを用いて図５に示すハードウェアを制御することにより実現されうる。
【００４５】
図５に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【００４６】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【００４７】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられうる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられうる。
【００４８】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられうる。また、出力部９１８としては、スピーカ、又はプリンタなどが用いられうる。
【００４９】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤやＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【００５０】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられうる。
【００５１】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small Computer System Interface）、ＲＳ−２３２Ｃポートなど、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、プリンタなどが用いられる。
【００５２】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられうる。
【００５３】
通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮなどを含む。ネットワーク９３２は、上述したネットワークＮＷの一例である。
【００５４】
なお、バックアップサーバ１０１のハードウェアについて説明したが、ストレージサーバ１０２が有する機能も図５に示した情報処理装置のハードウェアを用いて実現可能である。また、バックアップサーバ１０１、ストレージサーバ１０２の機能を実現するにあたり、図５に示したハードウェアのうち一部の要素を省略することや、非図示の要素を追加するなどの変形も可能である。このような変形も当然に第２実施形態の技術的範囲に属する。
【００５５】
以上、ハードウェアについて説明した。
［２−３．機能］
ここで、図６を参照しながら、ストレージサーバ１０２の機能について説明する。図６は、ストレージサーバが有する機能の一例を示したブロック図である。
【００５６】
図６に示すように、ストレージサーバ１０２は、記憶部１２１、重複排除部１２２、ＢＵ制御部１２３、及びＦ／Ｗ管理部１２４を有する。記憶部１２１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。重複排除部１２２、ＢＵ制御部１２３、Ｆ／Ｗ管理部１２４の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【００５７】
記憶部１２１には、アドレス情報１２１ａ、ＪＯＢ管理情報１２１ｂ、履歴情報１２１ｃ、及びファイル情報１２１ｄが格納される。
アドレス情報１２１ａは、ストレージサーバ１０２の共有領域を利用するバックアップサーバ（例えば、バックアップサーバ１０１）のＩＰ（Internet Protocol）アドレスを含む情報である。ＪＯＢ管理情報１２１ｂは、各バックアップサーバが実行しているバックアップのジョブに関する情報である。ＪＯＢ管理情報１２１ｂは、各バックアップサーバに対応するジョブの情報を有するＪＯＢ番号テーブルを含む。
【００５８】
履歴情報１２１ｃは、バックアップの実績に関する情報である。履歴情報１２１ｃは、バックアップの運用実績に関する情報を有するＢＵ運用実績テーブル、及び重複排除の実績に関する情報を有する重複排除実績テーブルを含む。ファイル情報１２１ｄは、バックアップされたファイルのファイル名一覧やファイル属性に関する情報である。
【００５９】
図７から図１１を参照しながら、アドレス情報１２１ａ、ＪＯＢ管理情報１２１ｂ、履歴情報１２１ｃ、及びファイル情報１２１ｄについて、さらに説明する。
なお、図中では、バックアップサーバをＢＵサーバと表記する場合がある。また、バックアップが実施された日をＢＵ実施日と表記する場合がある。また、ジョブはＪＯＢ番号で識別される。また、拡張子が「ｄｂ」のファイルはデータベースソフトウェアのファイルを示し、拡張子が「ｘｌｓ」のファイルは表計算ソフトウェアのファイルを示す。
【００６０】
拡張子が「ｄｂ」や「ｘｌｓ」のファイルは構造化データの一例である。一方、圧縮又は非圧縮の画像ファイルやテキストファイルは非構造化データの一例である。以下では、構造化データのファイルをデータ種が「構造化」のファイル、非構造化データのファイルをデータ種が「非構造化」のファイルと呼ぶ場合がある。
【００６１】
バックアップの対象については、例えば、ファイルを単位とする設定（ファイル単位）や、記憶領域を論理的に分割したパーティションを単位とする設定（パーティション単位）が可能である。以下では、ファイル単位のバックアップをバックアップ種別（ＢＵ種別）が「ファイル」のバックアップ、パーティション単位のバックアップをＢＵ種別が「パーティション」のバックアップと呼ぶ場合がある。
【００６２】
アドレス情報１２１ａは、図７に示すような情報を有する。図７は、アドレス情報の一例を示した図である。図７の例では、ＢＵサーバの数（この例では４）、ＢＵサーバの識別情報（＃１、＃２、…）、ＢＵサーバのＩＰアドレス、ＪＯＢ番号テーブルの識別情報（＃１、＃２、…）がアドレス情報１２１ａに含まれている。アドレス情報１２１ａを参照すると、例えば、ＩＰアドレス１９２．１６８．１．１０１を有するＢＵサーバ＃１が実行するジョブの情報がＪＯＢ番号テーブル＃１にあることが分かる。
【００６３】
ＪＯＢ管理情報１２１ｂ（ＪＯＢ番号テーブル＃１）は、図８に示すような情報を有する。図８は、ＪＯＢ管理情報の一例（ＪＯＢ番号テーブル）を示した図である。なお、ＪＯＢ番号テーブル＃１は、ＢＵサーバ＃１に対応する（図７を参照）。ＪＯＢ管理情報１２１ｂには、各ＢＵサーバに対応するＪＯＢ番号テーブルが含まれる。
【００６４】
図８に示したＪＯＢ番号テーブル＃１には、ＢＵサーバ＃１が実行するＪＯＢ数（この例では３）、各ジョブのＪＯＢ番号、履歴情報の識別情報（＃１、＃２、…）が含まれている。ＪＯＢ番号テーブル＃１を参照すると、例えば、ＪＯＢ番号＃１のジョブに関する実行履歴が履歴情報＃１にあることが分かる。
【００６５】
履歴情報１２１ｃ（履歴情報＃１）のＢＵ運用実績テーブルは、図９に示すような情報を有する。図９は、履歴情報の一例（ＢＵ運用実績テーブル）を示した図である。図９の例では、ファイル容量、開始時刻、終了時刻、所要時間、ＢＵ実施日、ファイル名がＢＵ運用実績テーブルに含まれている。
【００６６】
ファイル容量は、ファイルのデータ量である。開始時刻は、バックアップが開始される時刻の情報である。終了時刻は、バックアップが終了した時刻の情報である。所要時間は、バックアップにかかった時間の情報である。例えば、ｆｉｌｅ０．ｄｂのバックアップが開始される時刻は１０：００である。
【００６７】
ＢＵ実施日は、バックアップを実施した日付の情報である。図９の例では、ＢＵ実施日の情報として、バックアップを実施した日付と共に曜日（Ｍｏｎ：月曜）の情報がＢＵ運用実績テーブルに含まれている。また、ＢＵ実施日の情報として、バックアップの最終実施日の情報と、最終実施日の前にバックアップを実施した日（前回実施日）の情報とがＢＵ運用実績テーブルに含まれる。
【００６８】
履歴情報１２１ｃ（履歴情報＃１）の重複排除実績テーブルは、図１０に示すような情報を有する。図１０は、履歴情報の一例（重複排除実績テーブル）を示した図である。図１０の例では、ＢＵ種別、データ種、ファイル名、ＢＵ実施日が重複排除実績テーブルに含まれている。図１０に示した重複排除実績テーブルの場合、ＢＵ種別は「ファイル」であり、データ種は「構造化」である。
【００６９】
また、ＢＵ実施日の情報として、前回実施日の日付、ファイル容量、及び重複排除率と、最終実施日の日付、ファイル容量、重複排除率と、転送速度（バックアップデータの送信及び書き込みを含む処理の速度）とが重複排除実績テーブルに含まれる。
【００７０】
例えば、ｆｉｌｅ０．ｄｂの重複排除率は、ｆｉｌｅ０．ｄｂのデータ量に占める重複データ（重複排除によりバックアップデータから排除される部分）の割合である。なお、ファイル容量の欄に記載されている括弧内の数字は重複排除後のデータ量（バックアップデータのデータ量）を示している。転送速度は、バックアップの際に計測される転送速度の統計値（平均値など）である。
【００７１】
ファイル情報１２１ｄは、図１１に示すような情報を有する。図１１は、ファイル情報の一例を示した図である。ファイル情報１２１ｄには、ファイル名、ファイル容量、バックアップの最終実施日（最終ＢＵ実施日）、更新日時が含まれる。更新日時は、記憶部１２１にあるファイルが最後に更新された日時を示す。ファイル情報１２１ｄを参照することで、バックアップ後に記憶部１２１にある各ファイルが更新されたかが分かる。
【００７２】
再び図６を参照する。重複排除部１２２は、バックアップの際に重複排除（図３を参照）の処理を実行する。また、重複排除部１２２は、バックアップの完了時に重複排除率の検出値を出力する。ＢＵ制御部１２３は、バックアップの処理を制御する。
【００７３】
例えば、ＢＵ制御部１２３は、バックアップ対象のファイルを重複排除部１２２に入力し、重複排除後のデータ（バックアップデータ）を取得する。また、ＢＵ制御部１２３は、バックアップデータをストレージ装置１０３に送信すると共に、ストレージ装置１０３に対してバックアップデータの記憶部１３１への書き込みを要求する。
【００７４】
また、ＢＵ制御部１２３は、ストレージサーバ１０２に接続されているＢＵサーバの接続状況に応じてアドレス情報１２１ａを更新する。また、ＢＵ制御部１２３は、ジョブの設定及びバックアップの完了に応じてＪＯＢ管理情報１２１ｂ、履歴情報１２１ｃ、ファイル情報１２１ｄを更新する。また、ＢＵ制御部１２３は、記憶部１２１にあるファイルの更新状況に応じてファイル情報１２１ｄを更新する。
【００７５】
Ｆ／Ｗ管理部１２４は、Ｆ／Ｗの更新を要求された場合にＦ／Ｗの取得、Ｆ／Ｗの組込み、ストレージサーバ１０２の再起動などの処理を実行する。また、Ｆ／Ｗ管理部１２４は、履歴情報１２１ｃに含まれる重複排除実績テーブルなどを参照し、バックアップの残り時間を予測し、バックアップを中断してＦ／Ｗの更新を実施するか、バックアップの完了を待ってＦ／Ｗの更新を実施するかを判断する。
【００７６】
以上、ストレージサーバ１０２の機能について説明した。
［２−４．処理フロー］
次に、ストレージサーバ１０２が実行する処理の流れについて説明する。
【００７７】
図１２を参照しながら、Ｆ／Ｗの更新時に実行される処理の流れについて説明する。図１２は、ファームウェアの更新に関する処理の流れを示したフロー図である。
（Ｓ１０１）Ｆ／Ｗ管理部１２４は、ＢＵ制御部１２３がバックアップの処理を実行中であるか否かを判定する。ＢＵ制御部１２３がバックアップの処理を実行中である場合、処理はＳ１０２へと進む。一方、ＢＵ制御部１２３がバックアップの処理を実行中でない場合、処理はＳ１０６へと進む。
【００７８】
（Ｓ１０２）Ｆ／Ｗ管理部１２４は、バックアップの処理が完了するまでにかかる時間（処理時間）の予測値を計算する。なお、予測値の計算方法については後述する。
（Ｓ１０３）Ｆ／Ｗ管理部１２４は、計算した予測値が閾値（例えば、１時間）より小さいか否かを判定する。なお、閾値は、ユーザや管理者により予め設定される。予測値が閾値より小さい場合、処理はＳ１０５へと進む。一方、予測値が閾値より小さくない場合、処理はＳ１０４へと進む。
【００７９】
（Ｓ１０４）Ｆ／Ｗ管理部１２４は、ＢＵ制御部１２３を制御してバックアップの処理を強制終了させる。
（Ｓ１０５）Ｆ／Ｗ管理部１２４は、バックアップの処理が終了しているか否かを判定する。バックアップの処理が終了していない場合、Ｓ１０５の処理が再実行される。つまり、バックアップの処理が終了するまで、Ｆ／Ｗ管理部１２４は、Ｆ／Ｗの更新に処理を進めずに待機する。一方、バックアップの処理が終了している場合、処理はＳ１０６へと進む。
【００８０】
（Ｓ１０６）Ｆ／Ｗ管理部１２４は、Ｆ／Ｗの更新処理を実行する。例えば、Ｆ／Ｗ管理部１２４は、新しいＦ／ＷをＦ／Ｗの格納領域（記憶部１２１）に格納し、ストレージサーバ１０２を再起動させる。なお、ストレージサーバ１０２は、起動時にＦ／Ｗの格納領域にあるＦ／Ｗを読み込み、読み込んだＦ／Ｗに基づいて動作する。
【００８１】
（Ｓ１０７）Ｆ／Ｗ管理部１２４は、Ｆ／Ｗの更新処理を実行するためにバックアップの処理が強制終了されたか否かを判定する。バックアップの処理が強制終了された場合、処理はＳ１０８へと進む。一方、バックアップの処理が強制終了されていない場合、図１２に示した一連の処理は終了する。
【００８２】
（Ｓ１０８）Ｆ／Ｗ管理部１２４は、ＢＵ制御部１２３を制御してバックアップの処理を再実行させる。Ｓ１０８の処理が完了すると、図１２に示した一連の処理は終了する。
ここで、図１３及び図１４を参照しながら、予測値の計算に関する処理の流れについて説明する。なお、図１３及び図１４に示す処理は、上述したＳ１０２の処理に対応する。図１３は、予測値の計算に関する処理の流れを示した第１のフロー図である。図１４は、予測値の計算に関する処理の流れを示した第２のフロー図である。
【００８３】
（Ｓ１１１）Ｆ／Ｗ管理部１２４は、ストレージサーバ１０２に接続されているＢＵサーバを検索する。そして、Ｆ／Ｗ管理部１２４は、ストレージサーバ１０２に接続されているＢＵサーバのＩＰアドレスを取得する。
【００８４】
（Ｓ１１２）Ｆ／Ｗ管理部１２４は、ＩＰアドレスを取得したＢＵサーバの中から、未選択のＢＵサーバ（該当ＢＵサーバ）を選択する。
（Ｓ１１３）Ｆ／Ｗ管理部１２４は、該当ＢＵサーバがアドレス情報１２１ａに登録済みか否かを判定する。該当ＢＵサーバがアドレス情報１２１ａに登録済みである場合、処理はＳ１１６へと進む。一方、該当ＢＵサーバがアドレス情報１２１ａに登録済みでない場合、処理はＳ１１４へと進む。
【００８５】
（Ｓ１１４）Ｆ／Ｗ管理部１２４は、該当ＢＵサーバをアドレス情報１２１ａに登録する。例えば、Ｆ／Ｗ管理部１２４は、該当ＢＵサーバを識別する識別情報を設定し、該当ＢＵサーバに対応するＪＯＢ番号テーブルを用意する。そして、Ｆ／Ｗ管理部１２４は、該当ＢＵサーバの識別情報と、取得したＩＰアドレスと、用意したＪＯＢ番号テーブルの識別情報とを対応付けるレコードをアドレス情報１２１ａに追加する。
【００８６】
（Ｓ１１５）Ｆ／Ｗ管理部１２４は、該当ＢＵサーバ用の履歴情報１２１ｃ（ＢＵ運用実績テーブル、重複排除実績テーブル）を準備する。
（Ｓ１１６）Ｆ／Ｗ管理部１２４は、該当ＢＵサーバに割り当てられたバックアップのジョブ（ＪＯＢ）を検索する。そして、Ｆ／Ｗ管理部１２４は、該当ＢＵサーバに割り当てられているＪＯＢのＪＯＢ番号を取得する。
【００８７】
（Ｓ１１７）Ｆ／Ｗ管理部１２４は、取得したＪＯＢの中から未選択のＪＯＢ（該当ＪＯＢ）を選択する。
（Ｓ１１８）Ｆ／Ｗ管理部１２４は、該当ＪＯＢがＪＯＢ番号テーブルに登録済みか否かを判定する。該当ＪＯＢがＪＯＢ番号テーブルに登録済みの場合、処理はＳ１２０へと進む。一方、該当ＪＯＢがＪＯＢ番号テーブルに登録済みでない場合、処理はＳ１１９へと進む。
【００８８】
（Ｓ１１９）Ｆ／Ｗ管理部１２４は、該当ＪＯＢをＪＯＢ番号テーブルに登録する。例えば、Ｆ／Ｗ管理部１２４は、該当ＪＯＢのＪＯＢ番号と、該当ＪＯＢの履歴を蓄積する履歴情報１２１ｃの識別情報とを対応付けるレコードをＪＯＢ番号テーブルに追加する。
【００８９】
（Ｓ１２０）Ｆ／Ｗ管理部１２４は、該当ＪＯＢが完了しているか否かを判定する。該当ＪＯＢが完了している場合、処理はＳ１２４へと進む。一方、該当ＪＯＢが完了していない場合、処理はＳ１２１へと進む。
【００９０】
（Ｓ１２１）Ｆ／Ｗ管理部１２４は、該当ＪＯＢでバックアップされる対象のＢＵ種別がパーティションであるか否かを判定する。ＢＵ種別がパーティションである場合、処理はＳ１２２へと進む。一方、ＢＵ種別がパーティションでない場合（ファイルである場合）、処理はＳ１２３へと進む。
【００９１】
（Ｓ１２２）Ｆ／Ｗ管理部１２４は、パーティション単位のバックアップに用いる予測値（パーティション単位バックアップ用の予測値）の計算を実行する。なお、パーティション単位バックアップ用の予測値の計算方法については後述する。Ｓ１２２の処理が完了すると、処理はＳ１２６へと進む。
【００９２】
（Ｓ１２３）Ｆ／Ｗ管理部１２４は、ファイル単位のバックアップに用いる予測値（ファイル単位バックアップ用の予測値）の計算を実行する。なお、ファイル単位バックアップ用の予測値の計算方法については後述する。Ｓ１２３の処理が完了すると、処理はＳ１２６へと進む。
【００９３】
（Ｓ１２４）Ｆ／Ｗ管理部１２４は、該当ＪＯＢの履歴情報１２１ｃを更新する。例えば、Ｆ／Ｗ管理部１２４は、該当ＪＯＢによるバックアップについて、ファイル容量、開始時刻、終了時刻、所要時間、ＢＵ実施日の内容を更新する。また、Ｆ／Ｗ管理部１２４は、該当ＪＯＢによるバックアップの完了後に重複排除部１２２から出力される重複排除率に基づいて重複排除実績テーブルの内容を更新する。また、Ｆ／Ｗ管理部１２４は、ファイル情報１２１ｄの最終ＢＵ実施日を更新する。
【００９４】
（Ｓ１２５）Ｆ／Ｗ管理部１２４は、ＪＯＢ番号テーブルから該当ＪＯＢの登録情報を削除する。
（Ｓ１２６）Ｆ／Ｗ管理部１２４は、該当サーバについて未選択のＪＯＢがあるか否かを判定する。未選択のＪＯＢがある場合、処理はＳ１１７へと進む。一方、未選択のＪＯＢがない場合、処理はＳ１２７へと進む。
【００９５】
（Ｓ１２７）Ｆ／Ｗ管理部１２４は、未選択のＢＵサーバがあるか否かを判定する。未選択のＢＵサーバがある場合、処理はＳ１１２へと進む。一方、未選択のＢＵサーバがない場合、図１３及び図１４に示した一連の処理は終了する。
【００９６】
ここで、図１５及び図１６を参照しながら、ＢＵ種別がパーティションの場合における予測値の計算に関する処理の流れについて説明する。なお、図１５及び図１６に示す処理は、上述したＳ１２２の処理に対応する。図１５は、パーティション単位の予測値を計算する処理の流れを示した第１のフロー図である。図１６は、パーティション単位の予測値を計算する処理の流れを示した第２のフロー図である。
【００９７】
（Ｓ１３１）Ｆ／Ｗ管理部１２４は、バックアップするパーティション（該当パーティション）内にあるファイルのうち、未選択のファイル（該当ファイル）を選択する。
（Ｓ１３２）Ｆ／Ｗ管理部１２４は、構造化データに関する重複排除実績テーブルの重複排除率（前回、最終）から、今回の重複排除率を推定する。
【００９８】
例えば、Ｆ／Ｗ管理部１２４は、前回のＢＵ実施日と最終のＢＵ実施日との間の経過時間を計算する。また、Ｆ／Ｗ管理部１２４は、前回のＢＵ実施日から最終のＢＵ実施日までの間における重複排除率の変化量を計算する。また、Ｆ／Ｗ管理部１２４は、単位時間当たりの重複排除率の増加量（増加率）を計算する。
【００９９】
また、Ｆ／Ｗ管理部１２４は、最終のＢＵ実施日から今回のＢＵ実施日までの経過時間と増加率とに基づいて今回の重複排除率の推定値を計算する。最終のＢＵ実施日における重複排除率をＸ、上記の増加率をＲ、最終のＢＵ実施日から今回のＢＵ実施日までの経過時間をＴとすると、今回の重複排除率の推定値Ｙは、下記の式（１）により与えられる。
【０１００】
Ｙ＝Ｘ＋Ｒ・Ｔ  …（１）
（Ｓ１３３）Ｆ／Ｗ管理部１２４は、非構造化データに関する重複排除実績テーブルの重複排除率（前回、最終）から、Ｓ１３２と同様に今回の重複排除率を推定する。
【０１０１】
（Ｓ１３４）Ｆ／Ｗ管理部１２４は、ファイル情報１２１ｄを参照し、最終のＢＵ実施日以降に該当ファイルが変更されているか否かを判定する。該当ファイルが変更されている場合、処理はＳ１３５へと進む。一方、該当ファイルが変更されていない場合、処理はＳ１３１へと進む。
【０１０２】
（Ｓ１３５）Ｆ／Ｗ管理部１２４は、該当ファイルが構造化データであるか否かを判定する。該当ファイルが構造化データである場合、処理はＳ１３６へと進む。一方、該当ファイルが構造化データでない場合（該当ファイルが非構造化データである場合）、処理はＳ１３７へと進む。
【０１０３】
（Ｓ１３６）Ｆ／Ｗ管理部１２４は、構造化データに関する今回の重複排除率に基づいて重複排除後のデータ量を計算する。例えば、Ｆ／Ｗ管理部１２４は、該当ファイルのデータ量と今回の重複排除率との積を重複排除後のデータ量とする。なお、構造化データの方が運用時間の経過に伴う重複排除率の増加傾向が顕著であることが多く、このようにデータ種で処理を分けることで予測精度の向上が期待できる。Ｓ１３６の処理が完了すると、処理はＳ１３８へと進む。
【０１０４】
（Ｓ１３７）Ｆ／Ｗ管理部１２４は、非構造化データに関する今回の重複排除率に基づいて重複排除後のデータ量を計算する。例えば、Ｆ／Ｗ管理部１２４は、該当ファイルのデータ量と今回の重複排除率との積を重複排除後のデータ量とする。
【０１０５】
（Ｓ１３８）Ｆ／Ｗ管理部１２４は、該当パーティション内に未選択のファイルがあるか否かを判定する。未選択のファイルがある場合、処理はＳ１３１へと進む。一方、未選択のファイルがない場合、処理はＳ１３９へと進む。
【０１０６】
（Ｓ１３９）Ｆ／Ｗ管理部１２４は、重複排除実績テーブルから転送速度の実績値を取得する。なお、転送速度は、ネットワーク（ＮＷ）速度及びＩＯＰＳ（Input/Output Per Second）に相当する。
【０１０７】
（Ｓ１４０）Ｆ／Ｗ管理部１２４は、該当パーティションのバックアップ回数が閾値（例えば、１０回）より大きいか否かを判定する。なお、この閾値は、バックアップ回数と処理時間の予測精度との関係（例えば、シミュレーションや実測により評価される関係）に基づいて決定される。バックアップ回数が閾値より大きい場合、処理はＳ１４１へと進む。一方、バックアップ回数が閾値より大きくない場合、処理はＳ１４２へと進む。
【０１０８】
（Ｓ１４１）Ｆ／Ｗ管理部１２４は、計算した重複排除後のデータ量を合計し、重複排除後の総データ量を計算する。Ｓ１４１の処理が完了すると、処理はＳ１４３へと進む。
（Ｓ１４２）Ｆ／Ｗ管理部１２４は、最終のＢＵ実施日以降に変更されたファイルに関する重複排除前の総データ量を計算する。
【０１０９】
このように、Ｆ／Ｗ管理部１２４は、バックアップ回数が少ない場合に重複排除前のデータ量を処理時間の予測に用いる。つまり、Ｆ／Ｗ管理部１２４は、重複排除率の推定に誤りが生じるリスクを考慮し、リスクの高い状況では重複排除前のデータ量に基づいて処理時間を評価する。このような評価方法を採用することで、予測値と実際の処理時間とが乖離するリスクを低減できる。
【０１１０】
（Ｓ１４３）Ｆ／Ｗ管理部１２４は、重複排除実績テーブルを参照し、転送速度の実測値と、計算した総データ量とに基づいて処理時間を予測する。例えば、Ｆ／Ｗ管理部１２４は、転送速度の実測値と総データ量との積を計算し、計算した積を処理時間の予測値とする。但し、ここで計算される予測値は、バックアップを最初から実行した場合にかかる処理時間の予測値（全処理時間の予測値）である。
【０１１１】
（Ｓ１４４）Ｆ／Ｗ管理部１２４は、予測した時間（全処理時間の予測値）と、処理の開始から経過した時間（バックアップ経過時間）とに基づいて残り時間を計算する。例えば、Ｆ／Ｗ管理部１２４は、全処理時間の予測値から、該当パーティションのバックアップ経過時間を減算した値を残り時間とする。
【０１１２】
（Ｓ１４５）Ｆ／Ｗ管理部１２４は、該当パーティションのバックアップにかかる処理時間の予測値として、計算した残り時間を表示する。Ｓ１４５の処理が完了すると、図１５及び図１６に示した一連の処理は終了する。
【０１１３】
ここで、図１７及び図１８を参照しながら、ＢＵ種別がファイルの場合における予測値の計算に関する処理の流れについて説明する。なお、図１７及び図１８に示す処理は、上述したＳ１２３の処理に対応する。図１７は、ファイル単位の予測値を計算する処理の流れを示した第１のフロー図である。図１８は、ファイル単位の予測値を計算する処理の流れを示した第２のフロー図である。
【０１１４】
（Ｓ１５１）Ｆ／Ｗ管理部１２４は、重複排除実績テーブルに該当ファイルがあるか否かを判定する。重複排除実績テーブルに該当ファイルがある場合、処理はＳ１５５へと進む。一方、重複排除実績テーブルに該当ファイルがない場合、処理はＳ１５２へと進む。
【０１１５】
（Ｓ１５２）Ｆ／Ｗ管理部１２４は、該当ファイルが構造化データであるか否かを判定する。該当ファイルが構造化データである場合、処理はＳ１５３へと進む。一方、該当ファイルが構造化データでない場合（該当ファイルが非構造化データである場合）、処理はＳ１５４へと進む。
【０１１６】
（Ｓ１５３）Ｆ／Ｗ管理部１２４は、構造化データに関する重複排除実績テーブルから、該当ファイルに近い容量のファイルを抽出する。例えば、Ｆ／Ｗ管理部１２４は、該当ファイルのデータ量に対し、誤差１０％以内の範囲にあるデータ量を持つファイルを重複排除実績テーブルから抽出する。Ｓ１５３の処理が完了すると、処理はＳ１５５へと進む。
【０１１７】
（Ｓ１５４）Ｆ／Ｗ管理部１２４は、非構造化データに関する重複排除実績テーブルから、該当ファイルに近い容量のファイルを抽出する。例えば、Ｆ／Ｗ管理部１２４は、該当ファイルのデータ量に対し、誤差１０％以内の範囲にあるデータ量を持つファイルを重複排除実績テーブルから抽出する。
【０１１８】
（Ｓ１５５）Ｆ／Ｗ管理部１２４は、重複排除実績テーブルから抽出したファイル（対象ファイル）の重複排除率（前回、最終）に基づいて該当ファイルの重複排除率を推定する。なお、複数の対象ファイルがある場合、Ｆ／Ｗ管理部１２４は、各対象ファイルについて今回の重複排除率を推定し、推定値の平均を該当ファイルの重複排除率と推定する。
【０１１９】
例えば、Ｆ／Ｗ管理部１２４は、前回のＢＵ実施日と最終のＢＵ実施日との間の経過時間を計算する。また、Ｆ／Ｗ管理部１２４は、前回のＢＵ実施日から最終のＢＵ実施日までの間における重複排除率の変化量を計算する。また、Ｆ／Ｗ管理部１２４は、単位時間当たりの重複排除率の増加量（増加率）を計算する。そして、Ｆ／Ｗ管理部１２４は、上記の式（１）に基づき、最終のＢＵ実施日から今回のＢＵ実施日までの経過時間と増加率とを用いて今回の重複排除率の推定値を計算する。
【０１２０】
（Ｓ１５６）Ｆ／Ｗ管理部１２４は、推定した重複排除率に基づいて重複排除後のデータ量を計算する。例えば、Ｆ／Ｗ管理部１２４は、該当ファイルのデータ量と、推定した重複排除率との積を重複排除後のデータ量とする。
【０１２１】
（Ｓ１５７）Ｆ／Ｗ管理部１２４は、重複排除実績テーブルから転送速度の実績値を取得する。なお、転送速度は、ネットワーク（ＮＷ）速度及びＩＯＰＳに相当する。
（Ｓ１５８）Ｆ／Ｗ管理部１２４は、該当ファイルのバックアップ回数が閾値（例えば、１０回）より大きいか否かを判定する。なお、この閾値は、バックアップ回数と処理時間の予測精度との関係（例えば、シミュレーションや実測により評価される関係）に基づいて決定される。バックアップ回数が閾値より大きい場合、処理はＳ１５９へと進む。一方、バックアップ回数が閾値より大きくない場合、処理はＳ１６０へと進む。
【０１２２】
（Ｓ１５９）Ｆ／Ｗ管理部１２４は、重複排除実績テーブルを参照し、転送速度の実測値と、重複排除後のデータ量とに基づいて処理時間を予測する。例えば、Ｆ／Ｗ管理部１２４は、転送速度の実測値と重複排除後のデータ量との積を計算し、計算した積を処理時間の予測値とする。但し、ここで計算される予測値は、バックアップを最初から実行した場合にかかる処理時間の予測値（全処理時間の予測値）である。
【０１２３】
（Ｓ１６０）Ｆ／Ｗ管理部１２４は、重複排除実績テーブルを参照し、転送速度の実測値と、重複排除前のデータ量とに基づいて処理時間を予測する。例えば、Ｆ／Ｗ管理部１２４は、転送速度の実測値と重複排除前のデータ量との積を計算し、計算した積を処理時間の予測値とする。但し、ここで計算される予測値は、バックアップを最初から実行した場合にかかる処理時間の予測値（全処理時間の予測値）である。
【０１２４】
このように、Ｆ／Ｗ管理部１２４は、バックアップ回数が少ない場合に重複排除前のデータ量を用いて処理時間を予測する。つまり、Ｆ／Ｗ管理部１２４は、重複排除率の推定に誤りが生じるリスクを考慮し、リスクの高い状況では重複排除前のデータ量に基づいて処理時間を評価する。このような評価方法を採用することで、予測値と実際の処理時間とが乖離するリスクを低減できる。
【０１２５】
（Ｓ１６１）Ｆ／Ｗ管理部１２４は、予測した時間（全処理時間の予測値）と、処理の開始から経過した時間（バックアップ経過時間）とに基づいて残り時間を計算する。例えば、Ｆ／Ｗ管理部１２４は、全処理時間の予測値から、該当ファイルのバックアップ経過時間を減算した値を残り時間とする。
【０１２６】
（Ｓ１６２）Ｆ／Ｗ管理部１２４は、該当ファイルのバックアップにかかる処理時間の予測値として、計算した残り時間を表示する。Ｓ１６２の処理が完了すると、図１７及び図１８に示した一連の処理は終了する。
【０１２７】
以上、処理の流れについて説明した。
［２−５．変形例］
ここで、第２実施形態に係る変形例について説明する。
【０１２８】
（変形例＃１：ＢＵ回数に応じた計算方法の切替え）
図１６及び図１８の説明において、予め設定された閾値とバックアップ回数とを比較し、バックアップ回数が閾値より少ない場合には重複排除前のデータ容量を用いてバックアップの残り時間を予測する方法について述べた。ここでは、変形例＃１として、図１９を参照しながら、複数の閾値を用いて残り時間の予測方法を切替える仕組みについて述べる。図１９は、第２実施形態の一変形例（変形例＃１）について説明するための図である。
【０１２９】
図１９に示すように、変形例＃１では、バックアップ回数（ＮBU）が１０超過の範囲、ＮBUが１以上１０以下の範囲、ＮBUが０の範囲（初めてのバックアップ）が設定され、実際のバックアップ回数に該当する範囲に対応する予測方法が適用される。この場合、第１の閾値が１、第２の閾値が１０となり、バックアップ回数と第１及び第２の閾値との比較から、バックアップ回数がどの範囲に対応するかが判定される。
【０１３０】
ＮBUが１０超過の範囲に対応する予測方法は、重複排除実績テーブルの重複排除率（前回、最終）から今回の重複排除率を推定し、推定した重複排除率を利用して残り時間を予測する方法である。つまり、重複排除率の履歴を利用する方法が適用される。該当ファイルが構造化データである場合、構造化データに対応する重複排除実績テーブルが利用される。一方、該当ファイルが非構造化データである場合、非構造化データに対応する重複排除実績テーブルが利用される。
【０１３１】
ＮBUが１以上１０以下の範囲に対応する予測方法は、バックアップ回数及びデータ容量を用いて重複排除率の履歴を絞り込み、絞り込まれた範囲の履歴から推定された今回の重複排除率を利用して残り時間を予測する方法である。
【０１３２】
例えば、Ｆ／Ｗ管理部１２４は、各ファイルのバックアップ回数を重複排除実績テーブルに追加し、該当ファイルにバックアップ回数が近いファイルを検索できるようにする。
Ｆ／Ｗ管理部１２４は、該当ファイルの重複排除率を推定する際に、該当ファイルのデータ容量に近いデータ容量（例えば、誤差１０％以内）を有するファイルを重複排除実績テーブルから抽出する。また、Ｆ／Ｗ管理部１２４は、抽出したファイルの中から、該当ファイルのバックアップ回数に近いバックアップ回数（例えば、±５）を有するファイルを抽出する。また、Ｆ／Ｗ管理部１２４は、抽出した各ファイルの重複排除率（前回、最終）から今回の重複排除率を推定し、推定した重複排除率の平均値を該当ファイルの重複排除率（今回）と推定する。
【０１３３】
そして、Ｆ／Ｗ管理部１２４は、推定した重複排除率を利用して残り時間を予測する。なお、該当ファイルが構造化データである場合、構造化データに対応する重複排除実績テーブルが利用される。一方、該当ファイルが非構造化データである場合、非構造化データに対応する重複排除実績テーブルが利用される。このように、バックアップ回数が少なく重複排除率の推定誤りが生じやすい状況では、バックアップ回数及びデータ容量が近いファイルの履歴を利用することで、残り時間の予測誤差が低減されうる。
【０１３４】
該当ファイルが初めてバックアップされる場合（ＮBUが０の範囲）に対応する予測方法は、重複排除実績テーブルを利用する重複排除率の推定を実施せず、重複排除前のデータ容量を利用して残り時間を予測する方法である。この方法では、重複排除前のデータ容量に基づいて該当ファイルが記憶部１３１に書き込まれるまでの時間が残り時間として算出されるため、実際の残り時間よりも予測値が長くなりうる。しかし、予測値より実際の残り時間が長くなるリスクが皆無になる。
【０１３５】
以上、変形例＃１について説明した。
（変形例＃２：３以上の履歴に基づく予測）
さて、これまでの説明では、今回の重複排除率を推定する際に、最終のＢＵ実施日における重複排除率、及び前回（最終の前）のＢＵ実施日における重複排除率が利用されていた。過去の２つの時点における重複排除率を利用すれば、今回の重複排除率を推定することはできるが、例えば、図２０に示すように、過去の３つ以上の時点における重複排除率を今回の重複排除率の推定に利用することもできる。図２０は、第２実施形態の一変形例（変形例＃２）について説明するための図である。
【０１３６】
この場合、Ｆ／Ｗ管理部１２４は、重複排除実績テーブルに前々回（最終の２つ前）のＢＵ実施日における重複排除率などの情報を格納する。今回の重複排除率を推定する際、Ｆ／Ｗ管理部１２４は、例えば、前々回、前回、最終のＢＵ実施日における重複排除率を用いて重複排除率の時系列変化（直線又は曲線）を最小二乗法などで計算し、その時系列変化から今回の重複排除率の推定値を求める。なお、前々回から前回までの期間における重複排除率の変化率と、前回から最終までの期間における重複排除率の変化率との平均から、今回の重複排除率の推定値を求めてもよい。
【０１３７】
このように、３つ以上の重複排除率の履歴を利用することで、偶然生じた重複排除率の大幅な変化に起因して予測誤差が拡大するリスクを回避することができ、予測精度の向上に寄与する。以上、変形例＃２について説明した。
【０１３８】
以上、第２実施形態について説明した。
【符号の説明】
【０１３９】
１０  情報処理装置
１１  記憶部
１２  制御部
２０  記憶装置
３１、３２  対象データ
３２ａ  残データ
４０  割合情報
ＮＷ  ネットワーク
【図１】
2018055394.tif 000003
【図２】
2018055394.tif 000004
【図３】
2018055394.tif 000005
【図４】
2018055394.tif 000006
【図５】
2018055394.tif 000007
【図６】
2018055394.tif 000008
【図７】
2018055394.tif 000009
【図８】
2018055394.tif 000010
【図９】
2018055394.tif 000011
【図１０】
2018055394.tif 000012
【図１１】
2018055394.tif 000013
【図１２】
2018055394.tif 000014
【図１３】
2018055394.tif 000015
【図１４】
2018055394.tif 000016
【図１５】
2018055394.tif 000017
【図１６】
2018055394.tif 000018
【図１７】
2018055394.tif 000019
【図１８】
2018055394.tif 000020
【図１９】
2018055394.tif 000021
【図２０】
2018055394.tif 000022