(57)【要約】【課題】リストア時間を短縮させること。【解決手段】複数のブロックデータで構成されるデータを、要求に応じて複数のブロックデータを送信することで送信先において１つのデータを復元可能であり、ブロックデータは、他のブロックデータの一部である部分ブロックデータを複数組み合わせることによって生成可能であり、複数の地点に設置され１以上のブロックデータを記憶する複数のデータセンタから、要求されるデータを生成するために必要となるブロックデータ又は部分ブロックデータを送信する通信システムにおける管理システムであって、複数の部分ブロックデータの組み合わせを記憶するブロックリスト記憶部と、複数の部分ブロックデータを組み合わせて生成する際に要する時間を算出する処理時間算出部と、データを構成するブロックデータを受信するのに要する時間と、算出された時間とに基づいて、取得方法を決定する決定部とを備える。【選択図】図２
2014056407.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックデータで構成される１つのデータを、要求に応じて前記複数のブロックデータを送信することによって送信先において前記１つのデータを復元可能であり、前記ブロックデータは、他のブロックデータの一部である部分ブロックデータを複数組み合わせることによって生成可能であり、複数の地点にそれぞれ設置され１以上の前記ブロックデータを記憶する複数のデータセンタから、ユーザが要求するデータを生成するために必要となる前記ブロックデータ又は前記部分ブロックデータを送信する通信システムにおける管理システムであって、
前記ブロックデータ毎に、前記ブロックデータを生成可能な前記複数の部分ブロックデータの組み合わせを記憶するブロックリスト記憶部と、
前記ブロックデータ毎に、前記ブロックデータを前記複数の部分ブロックデータを組み合わせることによって生成する際に要する処理時間を、前記ブロックリスト記憶部に記憶される前記組み合わせ毎に算出する処理時間算出部と、
前記データ毎に、前記データを構成する前記ブロックデータを前記データセンタから受信するのに要する処理時間と、前記処理時間算出部によって算出された処理時間と、に基づいて、前記ブロックデータ毎の取得方法を決定する決定部と、
を備える管理システム。
【請求項２】
前記処理時間算出部は、前記ブロックデータを生成するために必要となる複数の前記部分ブロックデータを受信するのに要する通信時間と、複数の前記ブロックデータを組み合わせることによって前記ブロックデータを生成するのに要する生成処理時間と、の和に基づいて前記処理時間を算出する、請求項１に記載の管理システム。
【請求項３】
前記決定部は、
前記ブロックデータ毎に、前記ブロックデータを前記データセンタから受信するのに要する処理時間と、前記処理時間算出部によって算出された各処理時間と、を比較して最も短い処理時間における取得方法を候補として選択する候補選択部と、
前記データを構成する複数のブロックデータの各候補の前記処理時間のうち最長の処理時間を最長時間として決定し、前記最長時間の候補を最長候補として決定する最長時間決定部と、
前記最長候補以外の候補毎に、前記処理時間が前記最長時間を超えない範囲で、前記生成処理時間が最短となる前記取得方法を最終候補として決定する最終候補決定部と、
前記最長候補及び前記最終候補の組み合わせを、前記データを取得する際の処理方法として出力する出力部と、
を備える請求項２に記載の管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルを複数のデータに分割して管理する技術に関する。
【背景技術】
【０００２】
近年、データのバックアップ方法の１つとして、重複排除技術が提案されている（特許文献１参照）。重複排除技術とは、ストレージ内にあるブロックデータの重複を検出し、重複しているブロックデータの一方を排除することでストレージ容量を効率的に利用できる技術である。
このような技術を用いることによって、データセンタは、ストレージ内に同一の情報を格納しているブロックデータが蓄積されることを無くすことを可能にする。さらに、データセンタは、ストレージ内に記憶するデータ量を削減できる。
【０００３】
データセンタは、ネットワークを介して他のデータセンタと連携することで、データセンタ間でのブロックデータの重複排除を行う（以下、「グローバル重複排除処理」という。）。複数のデータセンタは、グローバル重複排除処理を行うことによって、データセンタ間でブロックデータの重複を排除し、データセンタ全体でストレージを効率的に利用することを可能にする。
このようなデータセンタが実現されている場合、ユーザはリストアを行うことによって所望のデータを取得する。具体的には、ユーザは、所望のファイルを復元するのに必要となるブロックデータを各データセンタから取得し、取得されたブロックデータに対してリストア処理を行うことによって所望のファイルを復元する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２０５２０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、グローバル重複排除処理を行う場合、重複排除されたブロックデータは、データセンタ全体で唯一のブロックデータとなってしまう。ユーザは、リストアを行う際に、ファイルをリストアするのに必要なブロックデータを保持しているデータセンタに、必要なブロックデータを取得しに行かなければならない。そのため、リストア時のブロックデータ転送にかかる遅延の影響によってリストア時間が大幅にかかってしまうという問題があった。
【０００６】
上記事情に鑑み、本発明は、リストア時間を短縮させる技術の提供を目的としている。
【課題を解決するための手段】
【０００７】
本発明の一態様は、複数のブロックデータで構成される１つのデータを、要求に応じて前記複数のブロックデータを送信することによって送信先において前記１つのデータを復元可能であり、前記ブロックデータは、他のブロックデータの一部である部分ブロックデータを複数組み合わせることによって生成可能であり、複数の地点にそれぞれ設置され１以上の前記ブロックデータを記憶する複数のデータセンタから、ユーザが要求するデータを生成するために必要となる前記ブロックデータ又は前記部分ブロックデータを送信する通信システムにおける管理システムであって、前記ブロックデータ毎に、前記ブロックデータを生成可能な前記複数の部分ブロックデータの組み合わせを記憶するブロックリスト記憶部と、前記ブロックデータ毎に、前記ブロックデータを前記複数の部分ブロックデータを組み合わせることによって生成する際に要する処理時間を、前記ブロックリスト記憶部に記憶される前記組み合わせ毎に算出する処理時間算出部と、前記データ毎に、前記データを構成する前記ブロックデータを前記データセンタから受信するのに要する処理時間と、前記処理時間算出部によって算出された処理時間と、に基づいて、前記ブロックデータ毎の取得方法を決定する決定部と、を備える管理システムである。
【０００８】
本発明の一態様は、上記の管理システムであって、前記処理時間算出部は、前記ブロックデータを生成するために必要となる複数の前記部分ブロックデータを受信するのに要する通信時間と、複数の前記ブロックデータを組み合わせることによって前記ブロックデータを生成するのに要する生成処理時間と、の和に基づいて前記処理時間を算出する。
【０００９】
本発明の一態様は、上記の管理システムであって、前記決定部は、前記ブロックデータ毎に、前記ブロックデータを前記データセンタから受信するのに要する処理時間と、前記処理時間算出部によって算出された各処理時間と、を比較して最も短い処理時間における取得方法を候補として選択する候補選択部と、前記データを構成する複数のブロックデータの各候補の前記処理時間のうち最長の処理時間を最長時間として決定し、前記最長時間の候補を最長候補として決定する最長時間決定部と、前記最長候補以外の候補毎に、前記処理時間が前記最長時間を超えない範囲で、前記生成処理時間が最短となる前記取得方法を最終候補として決定する最終候補決定部と、前記最長候補及び前記最終候補の組み合わせを、前記データを取得する際の処理方法として出力する出力部と、を備える。
【発明の効果】
【００１０】
本発明により、リストア時間を短縮させることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】ファイルを構成するデータの関係性を表した図である。
【図２】本実施形態における管理システムのシステム構成を示す図である。
【図３】データセンタ１０及び中央管理装置２０の機能構成を表す概略ブロック図である。
【図４】部分ブロックリスト及びブロック配置リストの具体例を示す図である。
【図５】ブロックデータ“Ａ”に関するブロックデータリストの構成図である。
【図６】ファイル１を構成するブロックデータ毎のブロックデータリストを表す図である。
【図７】ファイル１を構成するブロックデータ毎のブロックデータリストを表す図である。
【図８】本実施形態のインデックスリスト作成の処理の流れを示すフローチャートである。
【図９】本実施形態のインデックスリスト作成の処理の流れを示すフローチャートである。
【図１０】本実施形態のリストアの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態を、図面を参照しながら説明する。
図１は、ファイルを構成するデータの関係性を表した図である。図１（Ａ）は、ユーザからバックアップされたファイル１の構成例を表す図である。ファイル１は、複数のブロックデータで構成される。ブロックデータとは、ファイルをリストアするのに必要となるデータである。図１（Ａ）では、例えば、ファイル１を構成するブロックデータは、“Ａ”、“Ｂ”、“Ｃ”である。
図１（Ｂ）は、ブロックデータの構成例を表す図である。ブロックデータは、複数の部分ブロックデータを用いて生成することができる。部分ブロックデータとは、ブロックデータに対して分割処理が行われることによって生成されるデータである。言い換えれば、部分ブロックデータとは、ブロックデータの一部分を切り出して構成されるデータである。
【００１３】
図１（Ｂ）の例では、ブロックデータ“Ｅ”は、“１１０１１１”の２進数で表される。また、ブロックデータ“Ｆ”は、“００１１０１”の２進数で表される。ブロックデータ“Ｅ”は、分割処理が行われることによって部分ブロックデータ“Ｅ１”、部分ブロックデータ“Ｅ２”に分割される。部分ブロックデータ“Ｅ１”は、“１１０”の２進数で表される。部分ブロックデータ“Ｅ２”は、“１１１”の２進数で表される。
ブロックデータ“Ｆ”は、分割処理が行われることによって部分ブロックデータ“Ｆ１”、部分ブロックデータ“Ｆ２”に分割される。部分ブロックデータ“Ｆ１”は、“００１”の２進数で表される。部分ブロックデータ“Ｆ２”は、“１０１”の２進数で表される。
【００１４】
ブロックデータ“Ａ”は、“１１０１０１”の２進数で表される。ブロックデータ“Ａ”は、分割処理が行われることによって部分ブロックデータ“Ａ１”、部分ブロックデータ“Ａ２”に分割される。部分ブロックデータ“Ａ１”は、“１１０”の２進数で表される。部分ブロックデータ“Ａ２”は、“１０１”の２進数で表される。部分ブロックデータ“Ａ１”と部分ブロックデータ“Ｅ１”とは、同じ２進数で表される。また、部分ブロックデータ“Ａ２”と部分ブロックデータ“Ｆ２”とは、同じ２進数で表される。すなわち、図１（Ｂ）に示すように、ブロックデータ“Ａ”は、部分ブロックデータ“Ｅ１”と部分ブロックデータ“Ｆ２”との組み合わせにより生成することが可能である。
【００１５】
図２は、本実施形態における管理システムのシステム構成を示す図である。本実施形態の管理システムは、複数のデータセンタ１０、中央管理装置２０、複数のＰＣ３０及びネットワーク４０を備える。
データセンタ１０は、ネットワーク４０を介してＰＣ３０からバックアップされたファイル（以下、「バックアップファイル」という。）を記憶している。
中央管理装置２０は、情報処理装置を用いて構成される。中央管理装置２０は、各データセンタ１０から転送されるブロックデータを管理する。
【００１６】
ＰＣ３０は、ネットワーク４０を介してデータセンタ１０にファイルをバックアップする。また、ＰＣ３０は、ネットワーク４０を介してデータセンタ１０からデータを受信し、ユーザが所望するファイルをリストアする。
ネットワーク４０は、どのように構成されたネットワークでも良い。例えば、インターネットを用いて構成されてもよい。
【００１７】
図３は、データセンタ１０及び中央管理装置２０の機能構成を表す概略ブロック図である。まず、データセンタ１０の機能構成を説明する。
データセンタ１０は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、データセンタプログラムを実行する。データセンタプログラムの実行によって、データセンタ１０は、通信部１０１、構成リスト作成部１０２、リストアデータ記憶部１０３、重複排除部１０４、ブロックデータ記憶部１０５、ブロックリスト記憶部１０６、処理時間算出部１０７、決定部１０８を備える装置として機能する。また、決定部１０８は、候補選択部１０９、最長時間決定部１１０、最終候補決定部１１１、出力部１１２、インデックスリスト記憶部１１３、部分ブロックデータ生成部１１４として機能する。なお、データセンタ１０の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されても良い。また、データセンタプログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、データセンタプログラムは、電気通信回線を介して送受信されても良い。
【００１８】
通信部１０１は、他のデータセンタ１０、中央管理装置２０及びＰＣ３０との間でデータの送受信を行う。
構成リスト作成部１０２は、リストアデータ構成リストを作成する。リストアデータ構成リストは、各バックアップファイルについて、復元するために必要となるブロックデータの情報が定義されているリストである。
リストアデータ記憶部１０３は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。例えば、半導体記憶装置は、ＳＳＤ（Solid State Drive）である。リストアデータ記憶部１０３は、構成リスト作成部１０２で作成されたリストアデータ構成リストを記憶している。
【００１９】
重複排除部１０４は、複数のデータセンタ１０間でグローバル重複排除処理を行う。重複排除部１０４は、グローバル重複排除処理を行うことによって他のデータセンタ１０に存在しないブロックデータを選択する。
ブロックデータ記憶部１０５は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。ブロックデータ記憶部１０５は、他のデータセンタ１０に存在しないブロックデータを記憶している。
【００２０】
ブロックリスト記憶部１０６は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。例えば、半導体記憶装置は、ＳＳＤである。ブロックリスト記憶部１０６は、部分ブロックリスト及びブロック配置リストを記憶している。部分ブロックリストは、ブロックデータ毎にブロックデータを生成可能な部分ブロックデータの組み合わせ（以下、「部分ブロックグループ」という。）が記述されているリストである。なお、部分ブロックグループには、ブロックデータをデータセンタ１０から直接取得する部分ブロックグループが含まれてもよい。ブロック配置リストは、各部分ブロックデータに関する情報が記述されているリストである。例えば、ブロック配置リストには、部分ブロックデータのブロックサイズ、部分ブロックデータの配置情報（部分ブロックデータを記憶しているデータセンタ１０の所在地）が記述されても良い。
【００２１】
処理時間算出部１０７は、ブロックリスト記憶部１０６に記憶されている部分ブロックリスト及びブロック配置リストに基づいて、総リストア時間（処理時間）を算出する。総リストア時間は、ファイルのリストアを行うのに要する処理時間の合計時間である。処理時間算出部１０７は、部分ブロックリスト及びブロック配置リストを用いて、部分ブロックグループ毎に総リストア時間を算出する。
【００２２】
決定部１０８は、ファイルを構成するブロックデータ毎に１つの部分ブロックグループを決定する。以下、決定部１０８の具体的な構成について説明する。
候補選択部１０９は、ファイルを構成するブロックデータ毎に候補部分ブロックグループを選択する。候補部分ブロックグループは、部分ブロックグループの中で総リストア時間が最も短い部分ブロックグループである。
最長時間決定部１１０は、候補選択部１０９が選択した候補部分ブロックグループの中から、総リストア時間が最長となる部分ブロックグループ（以下、「最長部分ブロックグループ」という。）を決定する。最長時間決定部１１０は、最長部分ブロックグループの総リストア時間を最長リストア時間として取得する。
【００２３】
最終候補決定部１１１は、まず、候補部分ブロックグループ毎に、ブロックデータをデータセンタ１０から直接取得する場合に要する総リストア時間（以下、「直接リストア時間」という。）を取得する。そして、最終候補決定部１１１は、最長部分ブロックグループ以外の候補部分ブロックグループ毎に、最長リストア時間と、直接リストア時間と、を比較する。
【００２４】
最長リストア時間より直接リストア時間の方が短い場合、最終候補決定部１１１は、ブロックデータをデータセンタ１０から直接取得する部分ブロックグループ（以下、「直接リストアグループ」という。）を、最終部分ブロックグループに決定する。
一方、最長リストア時間より直接リストア時間の方が長い場合、最終候補決定部１１１は、候補部分ブロックグループを最終部分ブロックグループに決定する。最終候補決定部１１１は、このような処理をブロックデータ毎に行うことによって、ブロックデータ毎の最終部分ブロックグループを決定する。
【００２５】
出力部１１２は、最長部分ブロックグループ及び最終部分ブロックグループに基づいて、ファイル毎にインデックスリストを生成する。インデックスリストは、総リストア時間が最短となる部分ブロックデータの組み合わせが記述されたリストである。出力部１１２は、生成したインデックスリストをインデックスリスト記憶部１１３に出力する。出力部１１２は、インデックスリストを生成する際に各部分ブロックデータの先頭ポインタ情報及びバイト数をインデックスリストに記録する。
【００２６】
インデックスリスト記憶部１１３は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。例えば、半導体記憶装置は、ＳＳＤである。インデックスリスト記憶部１１３は、出力部１１２が出力したインデックスリストを記憶する。インデックスリスト記憶部１１３は、出力部１１２がインデックスリストを出力する度に、インデックスリストを追加して記憶する。
部分ブロックデータ生成部１１４は、インデックスリスト記憶部１１３が記憶しているインデックスリストを参照することによって、ブロックデータの分割処理を行い、部分ブロックデータを生成する。例えば、部分ブロックデータ生成部１１４は、先頭ポインタ情報が指し示すアドレスから、インデックスリストに記録されているバイト数分のデータを、部分ブロックデータとして取得する。
【００２７】
次に、中央管理装置２０の機能構成を説明する。中央管理装置２０は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、管理プログラムを実行する。管理プログラムの実行によって、中央管理装置２０は、通信部２０１、ブロックデータ記憶部２０２、分割処理部２０３、検出部２０４、更新部２０５を備える装置として機能する。なお、中央管理装置２０の各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されても良い。また、管理プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、管理プログラムは、電気通信回線を介して送受信されても良い。
【００２８】
通信部２０１は、複数のデータセンタ１０との間でのデータの送受信を行う。
ブロックデータ記憶部２０２は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。例えば、半導体記憶装置は、ＳＳＤである。ブロックデータ記憶部２０２は、通信部２０１が複数のデータセンタ１０から受信したブロックデータを記憶している。
分割処理部２０３は、ブロックデータ記憶部２０２に記憶されているブロックデータの分割処理を行う。分割処理は、１つのブロックデータを、複数の部分ブロックデータに細分化する処理である。分割処理部２０３は、ブロックデータを分割処理することによって部分ブロックデータを生成する。
検出部２０４は、生成された部分ブロックデータの重複を検出する。
更新部２０５は、検出部２０４による検出結果に応じて、部分ブロックリスト及びブロック配置リストを更新する。
【００２９】
図４は、部分ブロックリスト及びブロック配置リストの具体例を示す図である。
図４（Ａ）は、部分ブロックリストの具体例を表す図である。部分ブロックリストは、レコード５０を複数有する。レコード５０は、ブロックデータ及び部分ブロックグループの値を有する。
ブロックデータの値は、ブロックデータの識別情報を表す。
【００３０】
部分ブロックグループの値は、ブロックデータを生成可能な部分ブロックデータの識別情報を表す。なお、図４では部分ブロックグループに含まれる部分ブロックデータの数が２つであるが、１つであっても良いし３つ以上であっても良い。
図４（Ａ）では、例えば、ブロックデータ“Ａ”は、部分ブロックデータ“Ｅ１”と部分ブロックデータ“Ｆ２”との組み合わせによって生成可能である。また、ブロックデータ“Ａ”は、部分ブロックデータ“Ｄ１”と部分ブロックデータ“Ｊ２”との組み合わせによって生成可能である。
【００３１】
図４（Ｂ）は、ブロック配置リストの具体例を表す図である。ブロック配置リストは、レコード５１を複数有する。レコード５１は、部分ブロックデータ、ブロックサイズ、配置先の各値を有する。
部分ブロックデータの値は、部分ブロックデータの識別情報を表す。ブロックサイズは、部分ブロックデータ容量の大きさを表す。ブロックサイズは、例えば、単位Ｂ（バイト）で表されても良い。配置先は、部分ブロックデータの配置情報（部分ブロックデータを記憶しているデータセンタ１０の所在地）を表す。
図４（Ｂ）では、例えば、部分ブロックデータ“Ｅ１”は、大きさが１００ＭＢ（メガバイト）であり、“愛媛”のデータセンタ１０に記憶されている。
【００３２】
図５〜図７を用いて、インデックスリストを作成する具体的な方法について説明する。以下の説明では簡単化のために、ファイル１のインデックスリストを作成する場合について説明する。ファイル１は、例えば、ブロックデータ“Ａ”、ブロックデータ“Ｂ”及びブロックデータ“Ｃ”で構成される。
【００３３】
図５は、ブロックデータ“Ａ”に関するブロックデータリストの構成図である。
ブロックデータリストは、リストア情報を表すレコード５２を複数有する。レコード５２は、ブロックデータ部分ブロックグループ、ＣＰＵ処理時間（生成処理時間）、転送時間（通信時間）、総リストア時間の各値を有する。
ブロックデータの値は、ブロックデータの識別情報を表す。
部分ブロックグループの値は、各部分ブロックグループに含まれる部分ブロックデータの識別情報を表す。
【００３４】
ＣＰＵ処理時間の値は、１つのブロックデータを生成する際に要する生成処理時間を表す。なお、直接リストアグループを表すレコード５２（図５最上段のレコード５２）のＣＰＵ処理時間は、部分ブロックデータを組み合わせる必要がないため“０”である。ＣＰＵ処理時間は、部分ブロックデータの数毎にテーブルとして保持されていても良い。この場合、処理時間算出部１０７は、テーブルを参照することによって、部分ブロックグループに含まれる部分ブロックデータの数に応じたＣＰＵ処理時間を算出する。
【００３５】
転送時間の値は、リストアに必要なブロックデータ及び部分ブロックデータを、各データセンタ１０からリストア要求元（ＰＣ３０）に転送する際に要する時間を表す。転送時間は、例えばブロック配置リストに基づいてリストアを行うのに必要なブロックデータ及び部分ブロックデータのブロックサイズを、ブロックデータ及び部分ブロックデータをデータセンタ１０から受信するのに要する遅延時間で除算することで算出される。
総リストア時間の値は、各部分ブロックグループの総リストア時間を表す。具体的には、レコード５２毎にＣＰＵ処理時間と転送時間との和によって算出される合計時間である。
【００３６】
図６は、ファイル１を構成するブロックデータ毎のブロックデータリストを表す図である。
図６（Ａ）は、ブロックデータ“Ａ”に関するブロックデータリストの具体例を表す図である。図６（Ｂ）は、ブロックデータ“Ｂ”に関するブロックデータリストの具体例を表す図である。図６（Ｃ）は、ブロックデータ“Ｃ”に関するブロックデータリストの具体例を表す図である。
【００３７】
候補選択部１０９は、ファイルを構成するブロックデータ毎に候補部分ブロックグループを選択する。図６（Ａ）では、部分ブロックデータ“Ｅ１”及び“Ｆ２”で構成される部分ブロックグループの総リストア時間が“１０”であり、ブロックデータ“Ａ”に関する部分ブロックグループの中で最も総リストア時間が短い。したがって、候補選択部１０９は、部分ブロックデータ“Ｅ１”及び“Ｆ２”で構成される部分ブロックグループをブロックデータ“Ａ”の候補部分ブロックグループに選択する（図６（Ａ）の太枠）。
【００３８】
図６（Ｂ）では、ブロックデータ“Ｂ”のみで構成される直接リストアグループの総リストア時間（直接リストア時間」が“１４”であり、ブロックデータ“Ｂ”に関する部分ブロックグループの中で最も総リストア時間が短い。したがって、候補選択部１０９は、ブロックデータ“Ｂ”のみで構成される直接リストアグループをブロックデータ“Ｂ”の候補部分ブロックグループに選択する（図６（Ｂ）の太枠）。
【００３９】
図６（Ｃ）では、部分ブロックデータ“Ｐ２”及び“Ｏ２”で構成される部分ブロックグループの総リストア時間が“１１”であり、ブロックデータ“Ｃ”に関する部分ブロックグループの中で最も総リストア時間が短い。したがって、候補選択部１０９は、部分ブロックデータ“Ｐ２”及び“Ｏ２”で構成される部分ブロックグループをブロックデータ“Ｃ”の候補部分ブロックグループに選択する（図６（Ｃ）の太枠）。
【００４０】
次に、最長時間決定部１１０は、ブロックデータリスト毎の候補部分ブロックグループの中から、総リストア時間が最長となる部分ブロックグループを決定する。図６では、ブロックデータ“Ｂ”の候補部分ブロックグループの総リストア時間が最も長い。したがって、最長時間決定部１１０は、ブロックデータ“Ｂ”の総リストア時間をファイル１の最長リストア時間に決定する。また、最長時間決定部１１０は、最長リストア時間の部分ブロックグループを最長部分ブロックグループに決定する。
【００４１】
図７は、ファイル１を構成するブロックデータ毎のブロックデータリストを表す図である。
図７において、最終候補決定部１１１は、最長部分ブロックグループ以外の候補部分ブロックグループ毎に、最終部分ブロックグループを決定する。最終候補決定部１１１は、候補部分ブロックグループ毎に、最長リストア時間と直接リストア時間とを比較する。直接リストア時間が最長リストア時間よりも短い場合、最終候補決定部１１１は、直接リストアグループを最終部分ブロックグループに決定する。一方、直接リストア時間が最長リストア時間より長い場合、最終候補決定部１１１は、候補部分ブロックグループを最終部分ブロックグループに決定する。
【００４２】
図７（Ａ）において、最終候補決定部１１１は、ブロックデータ“Ａ”の直接リストア時間と、最長リストア時間とを比較する。ブロックデータ“Ａ”の直接リストア時間は“１２”であり、最長リストア時間は“１４”である。すなわち、ブロックデータ“Ａ”の直接リストア時間は最長リストア時間より短い。そのため、最終候補決定部１１１は、直接リストアグループを、ブロックデータ“Ａ”の最終部分ブロックグループに決定する。
【００４３】
図７（Ｃ）において、最終候補決定部１１１は、ブロックデータ“Ｃ”の直接リストア時間と、最長リストア時間とを比較する。ブロックデータ“Ｃ”の直接リストア時間は“１５”であり、最長リストア時間は“１４”である。すなわち、ブロックデータ“Ｃ”の直接リストア時間は最長リストア時間より長い。そのため、最終候補決定部１１１は、候補部分ブロックグループを、ブロックデータ“Ｃ”の最終部分ブロックグループに決定する。
出力部１１２は、最長部分ブロックグループと最終部分ブロックグループとに基づいて、ファイル１のインデックスリストを生成する。
【００４４】
図８及び図９は、本実施形態のインデックスリスト作成の処理の流れを示すフローチャートである。
通信部１０１は、複数のＰＣ３０からバックアップファイルを受信する（ステップＳ１０１）。構成リスト作成部１０２は、リストアデータ構成リストを作成する。構成リスト作成部１０２は、複数のＰＣ３０からバックアップファイルをリストアデータ構成リストにファイル単位で記述する（ステップＳ１０２）。重複排除部１０４は重複排除処理を行うことによって、データセンタ１０間でブロックデータの重複を排除する（ステップＳ１０３）。各データセンタ１０は、自装置（データセンタ１０）が記憶しているブロックデータを中央管理装置２０に転送する（ステップＳ１０４）。
【００４５】
中央管理装置２０の通信部２０１は、各データセンタ１０から転送されたブロックデータを受信する。分割処理部２０３は、受信したブロックデータの分割処理を行う。分割処理部２０３はブロックデータを生成可能な部分ブロックデータを生成する。検出部２０４は、分割処理部２０３が生成した部分ブロックデータの重複を検出する（ステップＳ１０５）。
【００４６】
更新部２０５は、検出部２０４による検出結果に応じて、部分ブロックリストを更新する（ステップＳ１０６）。更新部２０５は、検出部２０４による検出結果に応じて、ブロック配置リストを更新する（ステップＳ１０７）。通信部２０１は、部分ブロックリスト及びブロック配置リストを、各データセンタ１０に転送する（ステップＳ１０８）。
【００４７】
データセンタ１０の通信部１０１は、中央管理装置２０から転送された部分ブロックリスト及びブロック配置リストを受信する。通信部１０１は、受信した部分ブロックリスト及びブロック配置リストをブロックリスト記憶部１０６に記録する。処理時間算出部１０７は、ブロックリスト記憶部１０６に記憶されている部分ブロックリスト及びブロック配置リストに基づいて、ファイルを構成する部分ブロックデータ毎に部分ブロックグループの総リストア時間を算出する（ステップＳ１０９）。
【００４８】
候補選択部１０９は、ファイルを構成するブロックデータ毎に部分ブロックグループの中から、総リストア時間が最も短い部分ブロックグループ（候補部分ブロックグループ）を選択する（ステップＳ１１０）。
最長時間決定部１１０は、候補部分ブロックグループの中から、総リストア時間が最長となる最長部分ブロックグループを決定する。最長時間決定部１１０は、最長部分ブロックグループの総リストア時間を最長リストア時間として取得する（ステップＳ１１１）。
【００４９】
最終候補決定部１１１は、最長部分ブロックグループ以外の候補部分ブロックグループ毎に、直接リストア時間と直接リストア時間とを比較する（ステップＳ１１２）。直接リストア時間が最長リストア時間よりも長い場合（ステップＳ１１２−ＹＥＳ）、最終候補決定部１１１は、候補部分ブロックグループを最終部分ブロックグループに決定する（ステップＳ１１３）。
【００５０】
一方、ステップＳ１１２の処理において、直接リストア時間が最長リストア時間よりも短い場合（ステップＳ１１２−ＮＯ）、最終候補決定部１１１は、直接リストアグループを最終部分ブロックグループに決定する（ステップＳ１１４）。
出力部１１２は、最終部分ブロックグループと最長部分ブロックグループとに基づいて、インデックスリストを生成する（ステップＳ１１５）。出力部１１２は、生成したインデックスリストをインデックスリスト記憶部１１３に出力する。インデックスリスト記憶部１１３は、出力部１１２がインデックスリストを出力する度に、インデックスリストを追加し記憶する（ステップＳ１１６）。
【００５１】
図１０は、本実施形態のリストアの処理の流れを示すフローチャートである。
データセンタ１０の通信部１０１は、ネットワーク４０を介してＰＣ３０から送信されたユーザのリストア要求を受信する（ステップＳ２０１）。通信部１０１は、受信したリストア要求に応じてインデックスリストを参照することによって、リストア要求されたファイルを構成するブロックデータ及び部分ブロックデータとその配置先を判定する（ステップＳ２０２）。通信部１０１は、リストア要求されたファイルを構成するブロックデータ及び部分ブロックデータのうち、自装置（データセンタ１０）に記憶されているデータについては、ブロックデータ記憶部１０５からブロックデータを読み出す。通信部１０１は、インデックスリストを参照することによって、リストア要求されたファイルを構成するブロックデータを要求元（ＰＣ３０）に送信する。
【００５２】
また、部分ブロックデータ生成部１１４は、インデックスリストに記憶されている先頭ポインタ情報及びバイト数を参照する。部分ブロックデータ生成部１１４は、先頭ポインタ情報及びバイト数に基づいて、ブロックデータの分割処理を行い、部分ブロックデータを生成する。通信部１０１は、生成された部分ブロックデータを要求元（ＰＣ３０）に送信する。通信部１０１は、リストア要求されたファイルを構成するブロックデータ及び部分ブロックデータのうち、自装置（データセンタ１０）に記憶されていないデータについては、その配置先のデータセンタ１０に対して、要求元（ＰＣ３０）へブロックデータ又は部分ブロックデータを転送することを要求する（ステップＳ２０３）。
【００５３】
以上のように構成された管理システムによれば、各データセンタ１０は、自装置と各データセンタ１０との間のデータ転送時間に基づいて、ファイル毎にリストアに要する時間を最短にするためのインデックスリストを作成する。そのため、ユーザによってリストアが要求されているファイルについて、リストアに要する時間を低減する事が可能となる。
【００５４】
また、最長リストア時間よりも短い時間でリストア可能なブロックデータについては、部分ブロックデータの結合を行うことなくブロックデータを直接転送するように、インデックスリストが生成される。一般的に、部分ブロックデータを結合してブロックデータを生成する処理はユーザの装置（ＰＣ３０）で行われる。そのため、結合を行う回数を減らすことによって、ユーザの装置（ＰＣ３０）におけるＣＰＵの処理負荷を軽減することができる。
【００５５】
＜変形例＞
ブロック配置リストのレコード５１は、ブロックサイズ及び配置先以外の情報を有しても良い。
上述したステップＳ１０９〜ステップＳ１１５の処理は、データセンタ１０以外で行われても良い。例えば、中央管理装置２０がインデックスリストを作成して、各データセンタ１０にインデックスリストを転送しても良い。各データセンタ１０の通信部１０１は、転送されたインデックスリストをインデックスリスト記憶部１１３に記録する。
複数のデータセンタ１０の中の１つのデータセンタ１０が、中央管理装置２０として機能するように構成されても良い。
ユーザによって操作される装置は、上述したＰＣ３０に限定される必要は無い。例えば、ＰＣ（パーソナルコンピュータ）に変えて、スマートフォン、携帯電話機、ゲーム装置、テレビ受像機、映像記録装置などの通信端末装置であればどのような装置であっても良い。
【００５６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００５７】
１０…データセンタ，  ２０…中央管理装置，  ３０…ＰＣ，  ４０…ネットワーク，  １０１…通信部，  １０２…構成リスト作成部，  １０３…リストアデータ記憶部，  １０４…重複排除部，  １０５…ブロックデータ記憶部，  １０６…ブロックリスト記憶部，  １０７…処理時間算出部，  １０８…決定部，  １０９…候補選択部，  １１０…最長時間決定部，  １１１…最終候補決定部，  １１２…出力部，  １１３…インデックスリスト記憶部，  １１４…部分ブロックデータ生成部，  ２０１…通信部，  ２０２…ブロックデータ記憶部，  ２０３…分割処理部，  ２０４…検出部，  ２０５…更新部
【図１】
2014056407.tif 000003
【図２】
2014056407.tif 000004
【図３】
2014056407.tif 000005
【図４】
2014056407.tif 000006
【図５】
2014056407.tif 000007
【図６】
2014056407.tif 000008
【図７】
2014056407.tif 000009
【図８】
2014056407.tif 000010
【図９】
2014056407.tif 000011
【図１０】
2014056407.tif 000012