(57)【特許請求の範囲】
【請求項１】
ストレージ装置と、過去に前記ストレージ装置に格納されていたデータを格納しているデータ保存装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備えるデータ挿入システムであって、
前記データ保存装置に保存されている前記データについて、当該データが前記ストレージ装置に格納されていたときの前記ストレージ装置内における当該データの配置を示す第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得手段と、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置に格納されているデータの配置を表す第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求手段と、
前記複数の記憶領域の構成に基づいて、前記システム構成情報および前記第２の分散索引情報を生成する装置分散索引情報生成手段と、
前記装置分散索引情報生成手段によって生成された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得手段によって取得された前記第１の分散索引情報とに基づいて、前記第１の分散索引情報によって示されるデータの配置の少なくとも一部を含む新データ配置情報を生成する新データ配置情報生成手段と、を備え、
前記新データ配置情報生成手段は、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
ことを特徴とするデータ挿入システム。
【請求項２】
前記新データ配置情報生成手段は、
前記ストレージ装置に格納されていたときの関連性を示す連関情報に基づいて、前記ストレージ装置に格納されていたときの前記データの配置位置の少なくとも一部を維持する新データ配置情報を生成する
ことを特徴とする請求項１に記載のデータ挿入システム。
【請求項３】
前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判定手段、
を更に備えることを特徴とする請求項１または２に記載のデータ挿入システム。
【請求項４】
前記格納適否判定手段は、
前記新データ配置情報生成手段によって生成された前記新データ配置情報と、前記記憶領域の記憶容量に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する
ことを特徴とする請求項３に記載のデータ挿入システム。
【請求項５】
前記データ保存装置から送信されたデータを前記記憶領域に格納させる前記データとして受信するデータ受信手段と、
前記データ受信手段によって受信された前記データそれぞれに関する冗長データを作成し、作成された当該冗長データそれぞれを前記記憶領域に格納させるための複製割当手段と、
を更に備えることを特徴とする請求項１ないし４のいずれか１項に記載のデータ挿入システム。
【請求項６】
ストレージ装置と、過去に前記ストレージ装置に格納されていたデータを格納しているデータ保存装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムにおけるデータ制御装置であって、
前記データ保存装置に保存されている前記データについて、当該データが前記ストレージ装置に格納されていたときの前記ストレージ装置内における当該データの配置を示す第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得手段と、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求手段と、
前記構成情報要求手段によって要求された前記システム構成情報および前記第２の分散索引情報を受信する第２の分散索引情報受信手段と、
前記第２の分散索引情報受信手段で受信された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得手段によって取得された前記第１の分散索引情報とに基づいて、前記第１の分散索引情報によって示されるデータの配置の少なくとも一部を含む新データ配置情報を生成する新データ配置情報生成手段と、を備え、
前記新データ配置情報生成手段は、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
ことを特徴とするデータ制御装置。
【請求項７】
ストレージ装置と、過去に前記ストレージ装置に格納されていたデータを格納しているデータ保存装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムにおけるストレージ装置であって、
データを記憶する複数の記憶領域を有し、
前記複数の記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第２の分散索引情報を生成する装置分散索引情報生成手段と、
前記装置分散索引情報生成手段によって生成された前記システム構成情報および前記第２の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信手段と、
新データ配置情報生成手段によって生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信手段と、
前記新分散索引情報受信手段によって受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判定手段と、
を備えることを特徴とするストレージ装置。
【請求項８】
前記新データ配置情報は、
前記ストレージ装置に格納されていたときの関連性を示す連関情報に基づいて、前記ストレージ装置に格納されていたときの前記データの配置位置の少なくとも一部を維持する情報である
ことを特徴とする請求項７に記載のストレージ装置。
【請求項９】
前記格納適否判定手段は、
前記新データ配置情報生成手段によって生成された前記新データ配置情報と、前記記憶領域の記憶容量に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する
ことを特徴とする請求項７または８に記載のストレージ装置。
【請求項１０】
前記データ保存装置から送信されたデータを前記記憶領域に格納させる前記データとして受信するデータ受信手段と、
前記データ受信手段によって受信された前記データそれぞれに関する冗長データを作成し、作成された当該冗長データそれぞれを前記記憶領域に格納させるための複製割当手段と、
を更に備えることを特徴とする請求項７ないし９のいずれか１項に記載のストレージ装置。
【請求項１１】
前記記憶領域に格納された前記データのバックアップを作成する指示を受け付けるバックアップ受付手段と、
前記バックアップ受付手段によって前記バックアップを作成する指示が受け付けられると、前記記憶領域に格納された前記データのコピーを作成し、作成された当該コピーを前記データ保存装置に送信するデータ送信出力手段と、
前記記憶領域に配置されていたときのデータ配置情報を、前記データ送信出力手段によって送信された前記コピーにより、前記第１の分散索引情報を生成する分散索引情報生成手段と、
を更に備えることを特徴とする請求項７ないし１０のいずれか１項に記載のストレージ装置。
【請求項１２】
前記記憶領域に格納された前記データに対して、所定の時点における静止点情報を作成する静止点作成手段を更に備え、
前記データ送信出力手段は、
前記静止点作成手段によって作成された前記静止点情報に基づいて、前記記憶領域に格納された前記データを前記データ保存装置に送信する
ことを特徴とする請求項１１に記載のストレージ装置。
【請求項１３】
ストレージ装置と、過去に前記ストレージ装置に格納されていたデータを格納しているデータ保存装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムのデータ挿入方法であって、
前記データ保存装置に保存されている前記データについて、当該データが前記ストレージ装置に格納されていたときの前記ストレージ装置内における当該データの配置を示す第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得ステップと、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置に格納されているデータの配置を表す第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求ステップと、
前記複数の記憶領域の構成に基づいて、前記システム構成情報および前記第２の分散索引情報を生成する装置分散索引情報生成ステップと、
前記装置分散索引情報生成ステップで生成された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得ステップで取得された前記第１の分散索引情報に基づいて、前記第１の分散索引情報によって示されるデータの配置の少なくとも一部を含む新データ配置情報を生成する新データ配置情報生成ステップと、を含み、
前記新データ配置情報生成ステップは、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
ことを特徴とするデータ挿入方法。
【請求項１４】
ストレージ装置と、過去に前記ストレージ装置に格納されていたデータを格納しているデータ保存装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムにおけるデータ制御装置のデータ制御方法であって、
前記データ保存装置に保存されている前記データについて、当該データが前記ストレージ装置に格納されていたときの前記ストレージ装置内における当該データの配置を示す第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得ステップと、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置に格納されているデータの配置を表す第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求ステップと、
前記構成情報要求ステップで要求された前記システム構成情報および前記第２の分散索引情報を受信する第２の分散情報受信ステップと、
前記第２の分散索引情報受信ステップで受信された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得ステップで取得された前記第１の分散索引情報とに基づいて、前記第１の分散索引情報によって示されるデータの配置の少なくとも一部を含む新データ配置情報を生成する新データ配置情報生成ステップと、を備え、
前記新データ配置情報生成ステップは、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを前記記憶領域に格納させる
ことを特徴とするデータ制御方法。
【請求項１５】
ストレージ装置と、過去に前記ストレージ装置に格納されていたデータを格納しているデータ保存装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムにおけるストレージ装置のデータ格納方法であって、
データを記憶する複数の記憶領域を有し、
前記記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第２の分散索引情報を生成する装置分散索引情報生成ステップと、
前記装置分散索引情報生成ステップで生成された前記システム構成情報および前記第２の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信ステップと、
新データ配置情報生成ステップで生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信ステップと、
前記新分散索引情報受信ステップによって受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判定ステップと、
を含むことを特徴とするデータ格納方法。
【請求項１６】
ストレージ装置と、過去に前記ストレージ装置に格納されていたデータを格納しているデータ保存装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムにおけるデータ制御装置にデータ処理を実行させるデータ制御プログラムであって、
前記データ処理は、
前記データ保存装置に保存されている前記データについて、当該データが前記ストレージ装置に格納されていたときの前記ストレージ装置内における当該データの配置を示す第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得手順と、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置に格納されているデータの配置を表す第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求手順と、
前記構成情報要求手順で要求された前記システム構成情報および前記第２の分散索引情報を受信する第２の分散情報受信手順と、
前記第２の分散索引情報受信手順で受信された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得手順で取得された前記第１の分散索引情報とに基づいて、前記第１の分散索引情報によって示されるデータの配置の少なくとも一部を含む新データ配置情報を生成する新データ配置情報生成手順と、を備え、
前記新データ配置情報生成手順は、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
ことを特徴とするデータ制御プログラム。
【請求項１７】
ストレージ装置と、過去に前記ストレージ装置に格納されていたデータを格納しているデータ保存装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムにおけるストレージ装置にデータ処理を実行させるデータ格納プログラムであって、
前記データ処理は、
前記複数の記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第２の分散索引情報を生成する装置分散索引情報生成手順と、
前記装置分散索引情報生成手順で生成された前記システム構成情報および前記第２の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信手順と、
新データ配置情報生成手順で生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信手順と、
前記新分散索引情報受信手順で受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判定手順と、
を備えることを特徴とするデータ格納プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、データ挿入システム、データ制御装置、ストレージ装置、データ挿入方法、データ制御方法およびデータ格納方法に関する。
【背景技術】
【０００２】  現在、分散データ記憶配信システムが知られている。この分散データ記憶配信システムは、データを記憶するストレージ装置を備えたユーザ計算機（以下、ストレージノードともいう。）を、複数のネットワークに接続して、大容量のデータ記憶システムを構築している。そして、この分散データ記憶配信システムは、データを配置（格納）する機能と、データの配置を管理する機能（分散データ配置管理機能）を有している。【０００３】  これにより、ユーザ計算機から送信されたデータは、分散データ記憶配信システムにおける分散データ配置管理機能によって、複数のデータ断片に分割されるとともに冗長化され、複数のストレージノードに格納される。そして、同じネットワーク上に接続されたユーザ計算機は、分散データ配置管理機能を利用して、所望の分散データが配置されたストレージノードを特定し、当該ストレージノードから分散データを取得する。【０００４】  ここで、分散データ配置管理機能は、集中的な管理機能を有するメタデータサーバや、分散ハッシュテーブルなどを用いた分散的な管理機能を利用した索引機能を有する分散データ索引部によって実現されている。このため、分散データ記憶配信システムは、格納する多数のデータを分散して各ストレージノードに格納する。これにより、データの配置がシステムの性能、耐故障性または可用性等に大きく影響を与えることとなる。【０００５】  例えば、ストレージ装置として磁気ディスクドライブを利用する場合、連続してアクセスされる可能性が極めて高い二つのデータは、同じ磁気ディスクドライブ上の物理的に連続する領域に格納すると、アクセス性能が高くなる。また、ストレージノード間をつなぐネットワークの性能が低い場合は、同時に利用されるデータは、複数の異なるストレージノードに格納すると性能が高くなる。これに対して、極めて性能が低くなるアクセスが存在する場合には、システムが多量のアクセスに応答できなくなり、可用性が下がる。【０００６】  このように、同時アクセスまたは連続アクセスのパターンや、アクセスの有無の時間変化などといったデータの利用傾向に合わせ、より利用傾向に合致したデータの分散配置を行うことが重要である。【０００７】  また、分散データ記憶配信システムは、動的データマイグレーション機能によって、一度格納されたデータが別のストレージノードに移動することにより、データの配置を変更することができるデータ再配置機能を有する場合がある。【０００８】  例えば、ネットワーク構成上、別のストレージノードの方が利用者の利用に近い場合や、同時に利用されるようになった複数のデータを、異なるストレージノードで並列に読み出して、システム性能を向上させること等がある。【０００９】  これは、ネットワークを通じたデータの転送機能と、分散データ配置管理機能が持つ索引機能における登録データ変更機能により行われる。【００１０】  但し、動的データマイグレーション機能におけるデータ再配置機能は、ストレージ装置のアクセスが伴うため、データに適したデータ配置まで再配置を完了するために数分から数時間を要する場合があった。【００１１】  また、分散データ記憶配信システムでは、システム内のストレー���ノード数を増減させることが出来る。例えば、分散データ記憶配信システムは、システムのデータ提供性能が足りなくなったり、データ格納容量が足りなくなった場合には、ストレージノードを追加することが出来る。また、あるストレージノードが故障したり、扱うデータ量が少なくなった場合には、分散データ記憶配信システムは、ストレージノードを減らすことが出来る。このようなシステム構成の変更は、分散データ配置管理機能の持つシステムの構成を表す情報と、索引機能の変更とによって行われる。【００１２】  このような構成を有する分散データ記憶配信システムにおいて、未だデータが登録されていない状態の場合に、あらかじめ別のシステムに格納された大量のデータを、当該分散データ記憶配信システムに挿入することがある。【００１３】  例えば、データを挿入するケースとしては、バックアップデータのリストアがあげられる。まず、分散データ記憶配信システム全体が故障してデータが失われることに備えるために、分散データ記憶配信システムは、格納されているデータのバックアップを、別の記憶装置（例えば、バックアップ記憶装置）に作成する必要がある。【００１４】  ここで、全体の故障としては、例えば、電源や建物設備障害、ソフトウェアの不具合、天災等が考えられる。また、バックアップ記憶装置としては、テープ装置やディスクアレイ、あるいは別の分散データ記憶配信システム等が用いられる。【００１５】  なお、分散データ記憶配信システムにおいてバックアップを取るバックアップ方式は、システム全体の同期的な静止点における状態をバックアップすることが必要となる。なぜなら、ネットワークに並列に接続された計算機では、命令の送信が遅延し、各ノードでのバックアップ作成時間を一致させることが難しいためである。また、データによるノード間の移動があるため、ノード間でバックアップ作成時間がずれると失われるデータが発生したり、重複したデータが存在したりする。【００１６】  そこで、バックアップするデータを管理するデータ管理部において、システム全体で一貫したある時点のデータセットを表すスナップショットと呼ばれる状態を保存する。スナップショットは、例えば、特許文献１に記載された方法で作成することができる。その後、スナップショットのデータをバックアップの対象として、バックアップ記憶装置に送信する。【００１７】  また、非特許文献１には、並列に接続されたストレージ装置のデータをバックアップするためにスナップショットを作成し、そのスナップショットのデータをバックアップする手法が記載されている。【００１８】  ここで、分散データ記憶配信システム内のデータのバックアップを格納するための手法の一例として、スナップショットを作成後、ストレージノードごとに格納されているデータを、定められたバックアップ記憶装置に送信する方式が考えられる。この方式では、ストレージノードごとにバックアップデータやバックアップ装置を管理する必要があり、管理者の作業量が大きい。【００１９】  また、別の方法としては、データをブロックやチャンクなどの固定長データ塊単位、あるいはファイルなどの意味分割データ塊ごとに分割し、そのデータ塊を一意に表す識別子と共にバックアップ記憶装置に送信し保存する方法が考えられる。【００２０】  そして、分散データ記憶配信システムに障害が発生してデータが失われた場合、修理もしくは新しく構築した復旧後の分散データ記憶配信システムに対し、管理者は、バックアップ記憶装置からデータを復旧する。【００２１】  バックアップ記憶装置に格納されたバックアップデータは、格納時のデータ塊ごとに復旧後の分散データ記憶配信システムのストレージノードにコピーされる。コピー先のストレージノードは、復旧後の分散データ記憶配信システムの構成に依存し、復旧後の分散データ記憶配信システムの備えるデータ配置管理機能により決定される。【００２２】  また、ストレージノードにコピーされたデータのコピーが、別のストレージノードに配置されることもある。これは、ストレージノードの故障からデータの喪失を防ぐためである。これも復旧後の分散データ記憶配信システムの供えるデータ配置管理機能により決定される。【００２３】  また別の例としては、従来運用していたシステム中のデータを新しく構成された高性能な分散データ記憶配信システムに移動する場合にも、その新しいシステムに対して古いシステムから大量のデータを挿入する。【００２４】  この場合も、古いシステムに格納されたデータは、ブロックやチャンクなどの固定長データ塊単位、あるいはファイルなどの意味分割データ塊ごとに分割され、データ塊を一意に表す識別子と共に新しい分散データ記憶配信システムに対しコピーされる。
【先行技術文献】
【特許文献】
【００２５】
【特許文献１】特開２００４−３８９２９号公報
【非特許文献】
【００２６】
【非特許文献１】アイシロン・システムズ株式会社著「SnapshotIQ」、http://www.isilon.co.jp/materials/brochures/30480_Snapshot.pdf  2008
【発明の概要】
【００２７】  しかしながら、かかる構成の分散データ記憶配信システムにおいて、大量のデータを分散データ記憶配信システムに挿入する際、バックアップ記憶装置に記憶されたデータには、利用傾向に合致したデータ分散配置が存在するものがある。しかしながら、大量のデータが分散データ記憶配信システムに単に挿入されると、システムに挿入されたデータは、利用傾向に合致しないデータ分散配置状態になってしまう、という問題があった。
【００２８】  具体的には、先述のデータバックアップ・リストアの例では、データのバックアップ時とデータ復旧時では、ストレージノードの性能や記憶容量等の構成が異なることがある。このため、バックアップ記憶装置のデータを分散データ記憶配信システムに単に挿入すると、復旧後の分散データ記憶配信システムでは、データの利用傾向に合致しないデータ分散配置状態となってしまうことがある。
【００２９】  本発明は上記事情に鑑みてなされたものであり、その目的とするところは、バックアップ記憶装置に記憶されているデータの利用傾向に基づいて、分散データ記憶配信システムにデータを挿入するデータ挿入システム、データ制御装置およびストレージ装置を提供することを目的とする。
【００３０】  本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備えるデータ挿入システムであって、  前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得手段と、  前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求手段と、  前記複数の記憶領域の構成に基づいて、前記システム構成情報および前記第２の分散索引情報を生成する装置分散索引情報生成手段と、  前記装置分散索引情報生成手段によって生成された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得手段によって取得された前記第１の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成手段と、を備え、  前記新データ配置情報生成手段は、  生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる  ことを特徴とするデータ挿入システムが提供される。
【００３１】
本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える上記のデータ挿入システムにおけるデータ制御装置であって、
前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得手段と、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求手段と、
前記構成情報要求手段によって要求された前記システム構成情報および前記第２の分散索引情報を受信する第２の分散情報受信手段と、
前記第２の分散索引情報受信手段で受信された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得手段によって取得された前記第１の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成手段と、を備え、
前記新データ配置情報生成手段は、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
ことを特徴とするデータ制御装置が提供される。
【００３２】
本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える上記のデータ挿入システムにおけるストレージ装置であって、
データを記憶する複数の記憶領域を有し、
前記複数の記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第２の分散索引情報を生成する装置分散索引情報生成手段と、
前記装置分散索引情報生成手段によって生成された前記システム構成情報および前記第２の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信手段と、
前記新データ配置情報生成手段によって生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信手段と、
前記新分散索引情報受信手段によって受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判断手段と、
を備えることを特徴とするストレージ装置が提供される。
【００３３】  本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備えるデータ挿入システムのデータ挿入方法であって、  前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得ステップと、  前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求ステップと、  前記複数の記憶領域の構成に基づいて、前記システム構成情報および前記第２の分散索引情報を生成する装置分散索引情報生成ステップと、  前記装置分散索引情報生成ステップで生成された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得ステップで取得された前記第１の分散索引情報に基づいて、新データ配置情報を生成する新データ配置情報生成ステップと、を含み、  前記新データ配置情報生成ステップは、  生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる  ことを特徴とするデータ挿入方法が提供される。
【００３４】
本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える上記のデータ挿入システムにおけるデータ制御装置のデータ制御方法であって、
前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得ステップと、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求ステップと、
前記構成情報要求ステップで要求された前記システム構成情報および前記第２の分散索引情報を受信する第２の分散情報受信ステップと、
前記第２の分散索引情報受信ステップで受信された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得ステップで取得された前記第１の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成ステップと、を備え、
前記新データ配置情報生成ステップは、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
ことを特徴とするデータ制御方法が提供される。
【００３５】
本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える上記のデータ挿入システムにおけるストレージ装置のデータ格納方法であって、
データを記憶する複数の記憶領域を有し、
前記複数の記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第２の分散索引情報を生成する装置分散索引情報生成ステップと、
前記装置分散索引情報生成ステップで生成された前記システム構成情報および前記第２の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信ステップと、
新データ配置情報生成ステップで生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信ステップと、
前記新分散索引情報受信ステップによって受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判断ステップと、
を含むことを特徴とするデータ格納方法が提供される。
【００３６】
本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える上記のデータ挿入システムにおけるデータ制御装置にデータ処理を実行させるデータ制御プログラムであって、
前記データ処理は、
前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得手順と、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求手順と、
前記構成情報要求手順で要求された前記システム構成情報および前記第２の分散索引情報を受信する第２の分散情報受信手順と、
前記第２の分散索引情報受信手順で受信された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得手順で取得された前記第１の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成手順と、を備え、
前記新データ配置情報生成手順は、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを前記記憶領域に格納させる
ことを特徴とするデータ制御プログラムが提供される。
【００３７】
本発明によれば、所定のデータが保存されたデータ保存装置と、データを記憶する複数の記憶領域を有し前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える上記のデータ挿入システムにおけるストレージ装置にデータ処理を実行させるデータ格納プログラムであって、
前記データ処理は、
前記複数の記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第２の分散索引情報を生成する装置分散索引情報生成手順と、
前記装置分散索引情報生成手順で生成された前記システム構成情報および前記第２の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信手順と、
新データ配置情報生成手順で生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信手順と、
前記新分散索引情報受信手順で受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納可否判断手順と、
を備えることを特徴とするデータ格納プログラムが提供される。
【００３８】
本発明によれば、バックアップ記憶装置に記憶されているデータの利用傾向に基づいて、分散データ記憶配信システムにデータを挿入するデータ挿入システム、データ制御装置、ストレージ装置、データ制御方法、データ格納方法、データ制御プログラムおよびデータ格納プログラムが提供される。
【図面の簡単な説明】
【００３９】  上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００４０】
【図１】第１の実施の形態に係るデータ挿入システムを示した概略構成図である。
【図２】第１の実施の形態に係るストレージコントローラのハードウェアブロック図である。
【図３】第１の実施の形態に係るデータ配置情報の一例を示した図である。
【図４】第１の実施の形態に係るデータ挿入システムのバックアップ時のシーケンス図の一例を示した図である。
【図５】第１の実施の形態に係るデータ挿入システムのデータ復元作業時のシーケンス図の一例を示した図である。
【図６】第１の実施の形態に係るデータ挿入システムの第１の分散索引情報の一例を示した図である。
【図７】第１の実施の形態に係るデータ挿入システムの第２の分散索引情報の一例を示した図である。
【図８】第２の実施の形態に係るデータ挿入システムを示した機能ブロック図である。
【図９】第２の実施の形態に係るハッシュ関数ｈ（ｄ）によるノード割り当ての動作を示した図である。
【図１０】第２の実施の形態に係るノード割り当て表を示した図である。
【図１１】第２の実施の形態に係る複数割り当て表を示した図である。
【図１２】第２の実施の形態に係るデータ挿入システムのバックアップ時のシーケンス図の一例を示した図である。
【図１３】第２の実施の形態に係るデータ挿入システムのデータ復元作業時のシーケンス図の一例を示した図である。
【図１４】第３の実施の形態に係るデータ挿入システムにおいて、変更前のノード割り当て表の一例を示した図である。
【図１５】第３の実施の形態に係るデータ挿入システムにおいて、変更後のノード割り当て表の一例を示した図である。
【発明を実施するための形態】
【００４１】（第１の実施の形態）  以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００４２】  図１は、本実施の形態に係るデータ復元システム（データ挿入システム）を示した概略構成図である。図１に示すデータ復元システムは、所定のデータが保存されたバックアップ用ストレージ（データ保存装置）２と、バックアップ用ストレージ２からデータを受信するストレージシステム（ストレージ装置）１と、バックアップ用ストレージ２からストレージシステム１に送信されるデータを選択するバックアップコントローラ（データ制御装置）３とを備えるデータ復元システムであって、バックアップ用ストレージ２に保存されているデータについて、保存されている当該データがストレージシステム１に配置されていたときの第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得部３１１と、ストレージシステム１が有する複数のディスクドライブ（記憶領域）１１１〜１１４の構成を示すシステム構成情報と、ストレージシステム１の第２のデータ配置情報を示す第２の分散索引情報を、ストレージシステム１に要求する構成情報要求部３１２と、複数のディスクドライブ１１１〜１１４の構成に基づいて、システム構成情報および第２の分散索引情報を生成する装置分散索引情報生成部１０１１と、装置分散索引情報生成部１０１１によって生成されたシステム構成情報および第２の分散索引情報と、第１の分散索引情報取得部３１１によって取得された第１の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成部３１４と、を備え、新データ配置情報生成部３１４は、生成された新データ配置情報に基づいて、バックアップ用ストレージ２に格納されているデータをディスクドライブ１１１〜１１４に格納させる。
【００４３】  このように、本実施の形態では、新データ配置情報生成部３１４が、システム構成情報および第２の分散索引情報と、第１の分散索引情報とに基づいて、新データ配置情報を生成する。そして、新データ配置情報生成部３１４は、生成された新データ配置情報に基づいて、バックアップ用ストレージ２に保存されているデータを、ディスクドライブ１１１〜１１４の記憶領域に格納させる。
【００４４】  したがって、本実施の形態では、データ復元システムは、生成された新データ配置情報に基づいて、バックアップ用ストレージ２に格納されているデータをディスクドライブ１１１〜１１４に格納させることができる。これにより、データ復元システムは、大量のデータを挿入する際に、バックアップ用ストレージ２に格納されたデータの利用傾向に基づいて、バックアップ用ストレージ２に保存されたデータを、ストレージシステム１に復元することができる。
【００４５】  なお、本実施の形態では、バックアップ用ストレージ２に保存されているデータについて、保存されている当該データがストレージシステム１に配置されていたときの第１のデータ配置情報を、利用傾向を含む情報と把握することができる。すなわち、新データ配置情報を生成する際に、この第１のデータ配置情報を反映することにより、バックアップ時の最適化されたデータを復元することができる。
【００４６】  このように、このデータ復元システムは、バックアップ用ストレージ２に格納された第１の分散索引情報を活かして、ストレージシステム１を復元することができるので、データの利用傾向を反映したストレージシステム１を復元させることができる。
【００４７】  なお、記憶領域であるディスクドライブ１１１〜１１４や分散索引情報に関しては、後述にて詳述することとする。
【００４８】  バックアップコントローラ３は、バックアップ用ストレージ２に保存されているデータについて、保存されている当該データがストレージシステム１に配置されていたときの第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得部３１１と、ストレージシステム１が有するディスクドライブ１１１〜１１４の構成を示すシステム構成情報と、ストレージシステム１の第２のデータ配置情報を示す第２の分散索引情報を、ストレージシステム１に要求する構成情報要求部３１２と、構成情報要求部３１２によって要求されたシステム構成情報および第２の分散索引情報を受信する第２の分散索引情報受信部３１３と、第２の分散索引情報受信部３１３で受信されたシステム構成情報および第２の分散索引情報と、第１の分散索引情報取得部３１１によって取得された第１の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成部３１４と、を備え、新データ配置情報生成部３１４は、生成された新データ配置情報に基づいて、バックアップ用ストレージ２に格納されているデータを、記憶領域に格納させる。
【００４９】  ストレージシステム１は、データを記憶するディスクドライブ（複数の記憶領域）１１１〜１１４を有し、ディスクドライブ１１１〜１１４の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第２の分散索引情報を生成する装置分散索引情報生成部１０１１と、装置分散索引情報生成部１０１１によって生成されたシステム構成情報および第２の分散索引情報を、バックアップコントローラ３に送信する装置分散索引情報送信部１０１２と、新データ配置情報生成部３１４によって生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信部１０１３と、新分散索引情報受信部１０１３によって受信された新分散索引情報に基づいて、バックアップ用ストレージ２に保存されているデータを、ディスクドライブ１１１〜１１４に格納することの適否を判定する格納可否判断部１０１４と、を備えている。
【００５０】  新データ配置情報生成部３１４は、ディスクドライブ１１１〜１１４に配置されていたときの関連性を示す連関情報に基づいて、ディスクドライブ１１１〜１１４に配置されていたデータの配置位置の少なくとも一部を維持する新データ配置情報を生成する。
【００５１】  これにより、本実施の形態では、データ同士の関連性を示す連関情報であって、ストレージシステム１に保存されていた配置情報を少なくとも一部に含む情報に基づいて、新データ配置情報を生成するので、利用傾向を反映して最適化されて配置されていたデータを復元することができる。また、使用されるデータの種別による配置情報やデフラグの実行結果によるデータの配置情報なども、データ同士の関連性を示す連関情報の一態様とみなすことができる。
【００５２】  また、新データ配置情報生成部３１４は、データ同士の関連性を示す連関情報を新データ配置情報に反映することができるので、シーケンシャルアクセスを意識して、ディスクドライブ１１１〜１１４の性能を活かしながら、対象となるデータを格納することができる。なお、このデータ同士の関連性を示す連関情報については、第３の実施の形態にて詳述することにする。
【００５３】  格納可否判断部１０１４は、新データ配置情報生成部３１４によって生成された新データ配置情報と、ディスクドライブ１１１〜１１４の記憶容量に基づいて、バックアップ用ストレージ２に保存されているデータを、ディスクドライブ１１１〜１１４に格納することの適否を判定するようにしてもよい。
【００５４】  この場合、新データ配置情報と、ディスクドライブ１１１〜１１４の記憶容量を反映することができるので、ディスクドライブ１１１〜１１４に問題なく格納できる可能性を高めた上で、対象となるデータの格納の適否を判定することができる。
【００５５】  また、ストレージシステム１は、ディスクドライブ１１１〜１１４に格納されたデータのバックアップを作成する指示を受け付けるバックアップ受付部１０１５と、バックアップ受付部１０１５によってバックアップを作成する指示が受け付けられると、ディスクドライブ１１１〜１１４に格納されたデータのコピーを作成し、作成された当該コピーをデータ保存装置に送信するデータ送信出力部１０１６と、ディスクドライブ１１１〜１１４に配置されていたときのデータ配置情報を、データ送信出力部１０１６によって送信されたコピーにより、第１の分散索引情報を生成する分散索引情報生成部１０１７と、を更に備えている。
【００５６】  すなわち、本実施の形態において、ストレージシステム１は、ストレージコントローラ１０１と、ディスクドライブ１１１〜１１４とを備えている。ストレージコントローラ１０１は、装置分散索引情報生成部１０１１と、装置分散索引情報送信部１０１２と、新分散索引情報受信部１０１３と、格納可否判断部１０１４と、バックアップ受付部１０１５と、を備えている。また、ストレージコントローラ１０１は、データ送信出力部１０１６と、分散索引情報生成部１０１７と、を備えている。
【００５７】  ストレージシステム１は、ストレージコントローラ１０１を介して、データ接続ネットワーク４と、制御ネットワーク５に接続されている。
【００５８】  バックアップコントローラ３は、バックアップ管理部３１と、バックアップ復元部３２とを備えている。バックアップ管理部３１は、第１の分散索引情報取得部３１１と、構成情報要求部３１２と、第２の分散索引情報受信部３１３と、新データ配置情報生成部３１４とを備えている。また、バックアップコントローラ３は、図示しないＣＰＵ（Central Processing unit）と、メモリと、プログラム格納領域と、ネットワーク接続機能などにより、バックアップ管理部３１とバックアップ復元部３２を、実現している。
【００５９】  また、図１に示すデータ復元システムは、複数のディスクドライブを有するバックアップ用ストレージ２が接続されている。バックアップ用ストレージ２は、ストレージシステム１よりも大きな容量を備えている。
【００６０】  図２は、ストレージコントローラ１０１のハードウェアブロック図を示したものである。図２に示すストレージコントローラ１０１は、ストレージシステム１の全体制御を司るＣＰＵ６と、一時的なデータを格納するメモリ７と、プログラムなどを格納するローカル不揮発性メモリ８と、を備えている。また、ストレージコントローラ１０１は、ディスクドライブ１１１〜１１４を制御するＩ／Ｏコントローラ９と、データ接続ネットワーク４や制御ネットワーク５と接続するためのネットワークコントローラ１０と、を備えている。
【００６１】  ここで、ストレージシステム１のディスクドライブ１１１〜１１４のデータ配置情報は、ストレージコントローラ１０１のメモリ７及びローカル不揮発性メモリ８に格納されている。このデータ配置情報の一例を、図３に示す。
【００６２】  図３は、メモリ７に格納されたデータ配置情報の一例を示したデータ配置情報テーブルである。本実施の形態では、データは、固定長ブロック単位で格納されている。ここで、ブロックとは、ボリューム番号と、そのボリューム番号内で一意にブロックを指定することのできる相対ブロック番号との組み合わせにより、ストレージシステム１内で一意に識別される単位である。そして、ブロックの組み合わせをブロック番号とする。
【００６３】  図３に示すデータ配置情報テーブルは、ブロック番号によって、格納されているディスクドライブの番号と、そのディスクドライブ上のデータ位置を抽出することのできるテーブルである。また、ブロック番号により、ディスクドライブの番号と、そのディスクドライブの番号上のデータ位置を抽出するプログラムが実装されている。
【００６４】  このように、本実施の形態では、このデータ配置情報は、ブロック番号と、ディスクドライブの番号と、データ配置の配列を、分散索引情報として格納している。なお、バックアップ用ストレージ２においてデータが格納される場合には、このデータ配置情報のブロック番号の他に、バックアップを示す識別子が付与される。
【００６５】  次に、本実施の形態におけるデータ復元システムのバックアップ処理について、図４のシーケンス図を用いて、説明する。
【００６６】  図４に示すデータ復元システムのシーケンス図では、バックアップ管理部３１が、バックアップ用ストレージ２に対して、バックアップを行うための準備要求を行う（ステップＡ１）。この準備要求は、バックアップ識別名と、バックアップ元のディスクドライブ１１１〜１１４のアドレスを含んでいる。バックアップ用ストレージ２は、バックアップ識別名と、バックアップ元のストレージコントローラ１０１のアドレスを含む準備命令により、データを受け入れるための準備を行う（ステップＡ３）。この準備には、例えば、ネットワーク受信ポートの生成や、データ記録媒体の特定などが含まれる。
【００６７】  バックアップ用ストレージ２は、バックアップの準備が完了すると、バックアップ管理部３１に準備が完了した旨の通知を送信する（ステップＡ５）。
【００６８】  バックアップ管理部３１は、ストレージコントローラ１０１に対し、バックアップするデータを確定し、そのバックアップ対象データを通知する（ステップＡ７）。なお、バックアップの対象は、バックアップ管理部３１に事前に設定されていてもよく、また全データであってもよい。また、該当するユーザが利用するボリュームのみであってもよい。
【００６９】  ストレージコントローラ１０１は、バックアップ管理部３１からの通知を受けて、対象データを確定する（ステップＡ９）。これにより、ストレージコントローラ１０１は、バックアップ管理部３１に、データの確定が終了した旨を通知する（ステップＡ１１）。
【００７０】  なお、ステップＡ１からステップＡ１１までの処理は、ステップＡ１とステップＡ７が同時に行われてもよく、また、ステップＡ７〜ステップＡ１１の処理を、ステップＡ１〜ステップＡ５の処理よりも先に実施してもよい。
【００７１】  次に、バックアップ管理部３１は、ストレージコントローラ１０１とバックアップ用ストレージ２がバックアップの準備が終了した旨の通知を受信すると、ストレージコントローラ１０１に対して、バックアップ開始要求を送信する（ステップＡ１３）。ストレージコントローラ１０１は、このバックアップ開始要求を受けると、対象データをバックアップ用ストレージ２に送信する（ステップＡ１５）。
【００７２】  バックアップ用ストレージ２は、バックアップの対象データを受信すると、受信したデータを記録して記憶する（ステップＡ１７）。このとき、バックアップ用ストレージ２は、受信したデータを、バックアップ識別名とブロック番号により、当該データが記憶された位置を確認できる内部索引構造を生成する。そして、バックアップ用ストレージ２は、この内部索引構造を記録する。
【００７３】  ストレージコントローラ１０１は、バックアップ用ストレージ２に送信した対象データの分散索引情報を生成する（ステップＡ１９）。そして、ストレージコントローラ１０１は、生成された分散索引情報を、バックアップ用ストレージ２に送信する（ステップＡ２１）。
【００７４】  バックアップ用ストレージ２は、ストレージコントローラ１０１から分散索引情報を受信すると、その分散索引情報を、ディスクドライブに格納する（ステップＡ２３）。
【００７５】  ストレージコントローラ１０１は、バックアップ用ストレージ２に対象データの送信が終了すると、対象データの送信が終了したことを示す完了通知を、バックアップ管理部３１とバックアップ用ストレージ２に送信する（ステップＡ２５、Ａ２７）。バックアップ用ストレージ２は、ストレージコントローラ１０１から対象データの受信と分散索引情報の受信と内部索引構造の記録が完了し、またストレージコントローラ１０１から完了通知を受信すると、バックアップ管理部３１に対して、バックアップが終了したことを示す完了通知を送信する（ステップＡ２９）。
【００７６】  バックアップ管理部３１は、ストレージコントローラ１０１とバックアップ用ストレージ２から完了通知を受信すると、バックアップ処理を終了する（ステップＡ３１）。
【００７７】  次に、本実施の形態におけるデータ復元システムのデータ復元処理について、図５のシーケンス図を用いて、説明する。
【００７８】  本実施の形態では、一例として、ストレージシステム１のディスクドライブ１１２が故障したと仮定する。そのため、ディスクドライブ１１２の代わりに、図示しない同性能のディスクドライブ１１５が挿入され、バックアップ用ストレージ２からバックアップデータを復元することとする。
【００７９】  図５に示すデータ復元システムのシーケンス図では、バックアップ復元部３２は、バックアップ用ストレージ２に対して、バックアップ識別名を含む分散索引情報の要求を行う（ステップＢ１）。バックアップ用ストレージ２は、バックアップ復元部３２から、バックアップ識別名を含む分散索引情報の要求を受信する（ステップＢ３）。バックアップ用ストレージ２は、指定されたバックアップ識別名のバックアップ対象データの分散索引情報（第１の分散索引情報）を、バックアップ復元部３２に送信する（ステップＢ５）。
【００８０】  次に、バックアップ復元部３２は、ストレージコントローラ１０１に、ストレージシステム１の構成情報を要求する（ステップＢ７）。ストレージコントローラ１０１は、この構成情報の要求に対応するシステム構成情報と分散索引情報を生成する（ステップＢ９）。
【００８１】  ここで、このシステム構成情報は、例えば、ディスクドライブの番号リストと、ディスクドライブの容量値リストが該当する。なお、これ以外については、第２の実施の形態において説明する。また、分散索引情報は、現在のデータ復元システムの利用傾向に基づいた第２の分散索引情報を生成する。具体的には、図３に示した分散索引情報に相当する現在の利用傾向を示す第２の分散索引情報を生成する。
【００８２】  ストレージコントローラ１０１は、生成されたシステム構成情報と第２の分散索引情報を、バックアップ復元部３２に送信する（ステップＢ１１）。
【００８３】  バックアップ復元部３２は、ステップＢ１１で取得した第１の分散索引情報と、システム構成情報と、第２の分散索引情報とを受信すると、これらの情報を反映した新しい分散索引情報（これを新分散索引情報という。）を生成し、第１の分散索引情報から変更する（ステップＢ１３）。ここで、新分散索引情報は、バックアップ用ストレージ２に格納されていた第１の分散索引情報に基づいて、新しい分散索引情報の少なくとも一部に第１の分散索引情報が含まれるようにする。これにより、本実施の形態では、第１の分散索引情報を反映させることができる。
【００８４】  この一例について、図６と図７を用いて説明する。ここで、第１の分散索引情報の一部を図６に示す。また、第２の分散索引情報の一部を図７に示す。
【００８５】  バックアップ復元部３２は、第１の分散索引情報と、システム構成情報と、第２の分散索引情報に基づいて、新分散索引情報を生成する。図６と図７を対比すると、図７に示す第２の分散索引情報は、図６に示す第１の分散索引情報に比べ、任意のブロック番号において、ディスクドライブの番号が異なっている。すなわち、図７のディスクドライブ１１５は、図６のディスクドライブ１１２から変更されていることを示している。他のディスクドライブ内データ位置などは、同一である。
【００８６】  ここでは、ディスクドライブ１１２が減り、ディスクドライブ１１５が増えていることから、新分散索引情報は、第１の分散索引情報のディスクドライブ１１２を指す部分を、すべてディスクドライブ１１５に変更したものを、新分散索引情報として生成する。これにより、新分散索引情報は、ディスクドライブ１１５以外のドライブでは、過去の利用傾向を反映させることができる。
【００８７】  そして、バックアップ復元部３２は、第１の分散索引情報から変更されることによって生成された新分散索引情報を、ストレージコントローラ１０１へ送信する（ステップＢ１５）。
【００８８】  これにより、バックアップ時のデータ配置位置において同じディスクドライブにあったデータは、新しいデータ配置位置においても同じディスクドライブとなり、シーケンシャルアクセス性能を維持できる。
【００８９】  なお、第１の分散索引情報と第２の分散索引情報は、あくまでも例示であって、これに限定されるものではない。
【００９０】  ストレージコントローラ１０１は、生成された新分散索引情報を取得して、現在のディスクドライブ１１１、１１３、１１４および１１５の状態を比較して、格納することの適否を判定する（ステップＢ１７）。ここで、格納に適している場合には、ストレージコントローラ１０１は、バックアップ復元部３２に格納可能を示す応答を送信する。これに対し、格納に適していない場合には、ストレージコントローラ１０１は、バックアップ復元部３２に格納不可能を示す応答を送信する（ステップＢ１９）。
【００９１】  なお、データを格納することができない場合として、例えば、ＣＰＵの処理負荷により、データへのアクセスに時間的制限が生じる場合や、システム構成情報に含まれていない記憶装置の物理的制約等の要因によってデータにアクセスできない場合などが該当する。
【００９２】  バックアップ復元部３２は、ストレージコントローラ１０１から格納可能を示す応答を受信すると、第１の分散索引情報から変更された新分散索引情報を、バックアップ用ストレージ２に送信する（ステップＢ２１）。バックアップ用ストレージ２は、新分散索引情報に基づいて、対象データをストレージコントローラ１０１へ送信する（ステップＢ２３）。
【００９３】  ストレージコントローラ１０１は、変更された分散索引情報のディスクドライブの番号を元に、当該ブロックを該当するディスクドライブ１１１、１１３、１１４および１１５のうちのいずれかに保存する（ステップＢ２５）。ストレージコントローラ１０１は、保存されたディスク位置を、最新の分散索引情報に反映する。
【００９４】  バックアップ用ストレージ２は、すべてのバックアップ対象データを送信すると、ストレージコントローラ１０１にデータ送信の完了を示す完了通知を送信する（ステップＢ２７）。そして、ストレージコントローラ１０１は、バックアップ用ストレージ２から完了通知を受信すると、バックアップ対象データをすべて記録したのち、バックアップ復元部３２へ完了通知を送信する（ステップＢ２９）。
【００９５】  また、バックアップ用ストレージ２は、バックアップ対象データをすべて送信したことを示す完了通知を、バックアップ復元部３２へ送信する（ステップＢ３１）。
【００９６】  バックアップ復元部３２は、ストレージコントローラ１０１とバックアップ用ストレージ２から完了通知を受信すると、バックアップ復元作業が完了したと判断し、終了する（ステップＢ３３）。
【００９７】  以上説明したように、第１の実施の形態では、データ復元システムは、生成された新分散索引情報に基づいて、バックアップ用ストレージ２に格納されているデータを、ディスクドライブ１１１〜１１４に格納させることができる。これにより、データ復元システムは、大量のデータを挿入する際に、データの利用傾向に基づいて、バックアップ用ストレージ２に保存されたデータを、ストレージシステム１に復元することができる。
【００９８】（第２の実施の形態）  図８は、本発明の第２の実施の形態を示したデータ復元システムを示した機能ブロック図である。図８に示すデータ復元システムは、ストレージシステム１２に格納されたデータを、バックアップ処理およびデータ復元処理を行うシステムに関するものである。ストレージシステム１２に格納されたデータは、バックアップ用ストレージ１５にバックアップされる。そして、バックアップ用ストレージ１５にバックアップされたデータは、構成の変更されたストレージシステム１２に復元される。
【００９９】  ストレージシステム１は、バックアップ用ストレージ２から送信されたデータをディスクドライブ１１１〜１１４に格納させるデータとして受信するデータ受信部１０１８と、データ受信部１０１８によって受信されたデータそれぞれに関する冗長データを作成し、作成された当該冗長データそれぞれをディスクドライブ１１１〜１１４に格納させるための複製割当部１０１９と、を更に備えている。
【０１００】  また、ストレージシステム１は、ディスクドライブ１１１〜１１４に格納されたデータに対して、所定の時点における静止点情報を作成する静止点作成部１０２０を更に備え、データ送信出力部１０１６は、静止点作成部１０２０によって作成された静止点情報に基づいて、ディスクドライブ１１１〜１１４に格納されたデータをバックアップ用ストレージ２に送信する。
【０１０１】  ストレージシステム１２は、計算機であるストレージノード１２１〜１２４から構成されている。ストレージノード１２１〜１２４は、ＣＰＵ、メモリ、ディスクドライブ、ネットワークコントローラを備えている。そのため、ストレージノード１２１〜１２４は、ディスクドライブ内にデータを記憶するデータ記憶装置として機能する。
【０１０２】  また、図８の分散管理プロセス部１２１ａ〜１２４ａは、それぞれストレージノード１２１〜１２４上で動作するプログラムである。また、分散管理プロセス部１２１ａ〜１２４ａは、ネットワーク１３を介して、各ストレージノード上の記憶部１２１ｃ〜１２４ｃに格納されたデータへのアクセス情報を交換する。これにより、ストレージシステム１２は、ストレージノード１２１〜１２４上の記憶部１２１ｃ〜１２４ｃを、あたかも一つのファイルサーバであるかのように見せている。
【０１０３】  静止点作成プロセス部１２１ｂ〜１２４ｂは、それぞれストレージノード１２１〜１２４上で動作するプログラムであり、格納されているデータに対する一貫したスナップショットイメージを作成する。ここで、格納されているデータの現在のバージョンを記録し、静止点作成命令を受け取ったときには、静止点番号を作成し、当該バージョンと、当該静止点を関連付けるデータを作成する。また、その後の当該データへのアクセスがあった場合、静止点作成時のバージョンのデータとの差分データを作成し、当該データのバージョン番号を更新する。
【０１０４】  ストレージシステム１２は、ストレージノード１２１〜１２４をネットワーク１３に接続し、分散管理プロセス部１２１ａ〜１２４ａが相互にデータをやり取りすることができるように構成されている。
【０１０５】  また、ストレージシステム１２は、ネットワーク１３を介して、バックアップ用ストレージ１５に接続されている。
【０１０６】  バックアップ用ストレージ１５は、ディスクドライブ群１５１と、バックアップファイルサーバ機能とを備えている。バックアップファイルサーバ機能とは、ＣＰＵ、メモリ、プログラム格納領域、ネットワーク接続機能などを持つ計算機である。
【０１０７】  具体的には、バックアップファイルサーバ機能は、バックアップ資源管理部１５２の機能と、バックアップ管理部１５３の機能と、バックアップ復元部１５４の機能を有している。バックアップ資源管理部１５２は、ディスクドライブ群１５１上のデータの入出力を管理する。バックアップ管理部１５３は、データのバックアップ動作を統括する。バックアップ復元部１５４は、バックアップデータのシステムへの復元の統括制御を行っている。
【０１０８】  ストレージノードへのデータ配置は、ストレージノード上で動作する分散管理プロセス部１２１ａ〜１２４ａにより決定される。分散管理プロセス部１２１ａ〜１２４ａでは、あるバイト列ｄに対して、ある整数値を出力するハッシュ関数ｈ（ｄ）と、ハッシュ関数の出力値の範囲に基づくノード割り当て表を持っている。
【０１０９】  図９は、ハッシュ関数ｈ（ｄ）によるノード割り当ての動作を示した図である。ストレージシステム１２は、あるファイル名であって、任意長のデータ（ファイル）を含む格納依頼を受信すると、ある１つの分散管理プロセスにより定められた固定長の複数のデータ断片（チャンク）に分割される。そして、各チャンクには、連続のチャンク識別子が付与され、ファイル名とチャンク識別子を併せた値を、ハッシュ関数ｈ（ｄ）の入力とする。そして、出力されたハッシュ値により、ノード割り当て表からデータ格納ノードを決定する。
【０１１０】  図１０は、ノード割り当て表の一例を示した図である。データが格納されるデータ格納ノードは、ハッシュ値の出力により、複製保持ノード番号が決定する。そして、そのデータ格納ノードに、該当するデータを主データとして送信する。
【０１１１】  同時に、分散管理プロセスは、複製割り当て表を元に決定されたデータ格納ノードから、複製保持ノードを決定する。そして、分散管理プロセスでは、同じデータを複製データとして、複製保持ノードに送信する。
【０１１２】  図１１は、複製割り当て表の一例を示した図である。図１１に示す複製割り当て表は、プライマリデータ保持ノード番号に該当するノードのデータを、複製データ保持ノード番号に該当するノードに、複製データとして送信する。
【０１１３】  分散管理プロセスは、ハッシュ関数プログラム、ノード割り当て表および複製割り当て表を、部分分散索引情報として出力する機能を有している。
【０１１４】  なお、本実施の形態は、これに限定されるものではなく、例えば、定められた数のチャンク内のデータの排他的論理和により生成されるパリティデータを冗長データとして、その冗長データを複製データと同様に、割り当て表によって管理する構成であってもよい。
【０１１５】  次に、本実施の形態におけるデータ復元システムのバックアップ処理について、図１２のシーケンス図を用いて、説明する。
【０１１６】  図１２に示すデータ復元システムのシーケンス図では、バックアップ管理部１５３は、バックアップ資源管理部１５２に対して、バックアップを行うための準備要求を行う（ステップＣ１）。この準備要求は、バックアップ識別名と、バックアップ元のストレージノード１２１〜１２４のアドレスを含んでいる。バックアップ資源管理部１５２は、バックアップ識別名と、バックアップ元のストレージコントローラ１０１のアドレスを含む準備命令により、データを受け入れるための準備を行う（ステップＣ３）。この準備には、例えば、ネットワーク受信ポートの生成や、データ記録媒体の特定などが含まれる。
【０１１７】  バックアップ資源管理部１５２は、バックアップの準備が完了すると、バックアップ管理部１５３に準備が完了した旨の通知を送信する（ステップＣ５）。
【０１１８】  バックアップ管理部１５３は、ストレージノード１２１〜１２４のいずれかに、バックアップをするための命令を発行する。なお、本実施の形態では、ストレージノード１２１にバックアップの命令を発行したとする。命令を受け取ったストレージノード１２１の分散管理プロセス部１２１ａは、マスター分散管理プロセス部１２１ａとなる（ステップＣ７）。
【０１１９】  マスター分散管理プロセス部１２１ａは、ストレージノード１２１〜１２４上のすべての静止点作成プロセス部１２１ｂ〜１２４ｂに対して静止点作成命令を発行する（ステップＣ９）。静止点作成プロセス部１２１ｂ〜１２４ｂは、分散スナップショット作成アルゴリズムに基づいて、各ストレージノード１２１〜１２４間で論理的に一貫した時点におけるスナップショットイメージを作成する（ステップＣ１１）。
【０１２０】  静止点作成プロセス部１２１ｂ〜１２４ｂは、作成されたスナップショットイメージの番号（これをスナップショット番号という。）を、マスター分散管理プロセス部１２１ａに送信する（ステップＣ１３）。
【０１２１】  マスター分散管理プロセス部１２１ａは、すべてのスナップショット番号を受け取ると、すべての分散管理プロセス部１２１ａ〜１２４ａに対して、主データをバックアップ資源管理部１５２に転送するバックアップ開始要求を送信する（ステップＣ１５）。ここで、主データとは、他のノードにおける主データの複製データではないデータのことをいう。
【０１２２】  分散管理プロセス部１２１ａ〜１２４ａは、バックアップ開始要求を受信すると、主データをバックアップ資源管理部１５２に送信する（ステップＣ１７）。バックアップ資源管理部１５２は、分散管理プロセス部１２１ａ〜１２４ａから主データを受信すると、受信した主データを格納する（ステップＣ１９）。
【０１２３】  分散管理プロセス部１２１ａ〜１２４ａは、ストレージノード１２１〜１２４上のすべてのスナップショットイメージ上の主データの送信が終了すると、主データの送信が終了した旨の完了通知をマスター分散管理プロセス部１２１ａに送信する（ステップＣ２１）。また、分散管理プロセス部１２１ａ〜１２４ａは、バックアップ資源管理部１５２に対しても同様に、主データの送信が終了した旨の完了通知を通知する（ステップＣ２３）。
【０１２４】  マスター分散管理プロセス部１２１ａは、分散管理プロセス部１２１ａ〜１２４ａに対して、部分分散索引情報生成要求を送信する（ステップＣ２５）。分散管理プロセス部１２１ａ〜１２４ａは、それぞれのストレージノード１２１〜１２４の部分分散索引情報を生成する（ステップＣ２７）。分散管理プロセス部１２１ａ〜１２４ａは、生成した部分分散索引情報を、マスター分散管理プロセス部１２１ａに送信する（ステップＣ２９）。ここで、部分分散索引情報は、上述した、ハッシュ関数プログラム、ノード割り当て表、複数割り当て表のことをいう。
【０１２５】  マスター分散管理プロセス部１２１ａは、ストレージノード１２１〜１２４の部分分散索引情報から１つの分散索引情報を生成する（ステップＣ３１）。マスター分散管理プロセス部１２１ａは、生成された分散索引情報を、ハッシュ関数プログラムとともに、バックアップ資源管理部１５２に送信する（ステップＣ３３）。
【０１２６】  マスター分散管理プロセス部１２１ａは、生成された分散索引情報をバックアップ資源管理部１５２に送信すると、バックアップが完了した旨を示す完了通知をバックアップ資源管理部１５２に送信する（ステップＣ３５）。また、マスター分散管理プロセス部１２１ａは、バックアップ管理部１５３にも同様に、バックアップが完了した旨を示す完了通知を送信する（ステップＣ３７）。
【０１２７】  バックアップ資源管理部１５２は、マスター分散管理プロセス部１２１ａから分散索引情報を受信すると、その分散索引情報を格納する（ステップＣ３９）。そして、バックアップ資源管理部１５２は、バックアップの受信が終了したことを示す完了通知を、バックアップ管理部１５３に送信する（ステップＣ４１）。
【０１２８】  バックアップ管理部１５３は、マスター分散管理プロセス部１２１ａとバックアップ資源管理部１５２から完了通知を取得すると、バックアップ作業を終了する（ステップＣ４３）。
【０１２９】  次に、本実施の形態におけるデータ復元システムのデータ復元処理について、図１３のシーケンス図を用いて、説明する。
【０１３０】  本実施の形態では、一例として、ストレージノード１２１〜１２４と同様の性能を有するストレージノード１２５がストレージシステム１２に挿入された状態に、前述のバックアップデータを復元することとする。
【０１３１】  バックアップ復元部１５４は、ストレージノード１２１〜１２４のいずれか１つにバックアップ受け入れ準備命令を送信する（ステップＤ１）。ここでは、例えば、バックアップ復元部１５４は、ストレージノード１２１にバックアップ受け入れ準備命令を送信したこととする。また、バックアップ復元部１５４は、バックアップ資源管理部１５２に、分散索引情報を要求する（ステップＤ３）。
【０１３２】  ストレージノード１２１は、バックアップ受け入れ準備命令を受信すると、マスター分散管理プロセス部１２１ａとなる。そして、マスター分散管理プロセス部１２１ａは、受け入れ準備が完了すると応答を示す受け入れ準備終了通知を送信する（ステップＤ５）。
【０１３３】  マスター分散管理プロセス部１２１ａは、ストレージノードアドレスリストと、ディスクドライブの相対性能値リストと、相対容量値リストと、ノード割り当て表および複製割り当て表を、すべての分散管理プロセス部１２１ａ〜１２４ａに要求する（ステップＤ７）。
【０１３４】  分散管理プロセス部１２１ａ〜１２４ａは、それぞれの、ストレージノードアドレスリストと、ディスクドライブの相対性能値リストと、相対容量値リストと、ノード割り当て表および複製割り当て表を抽出する。また、分散管理プロセス部１２１ａ〜１２４ａは、それぞれの索引情報も抽出する（ステップＤ９）。なお、ストレージノードアドレスリストと、ディスクドライブの相対性能値リストと、相対容量値リストと、ノード割り当て表および複製割り当て表を、性能情報と定義する。
【０１３５】  分散管理プロセス部１２１ａ〜１２４ａは、抽出したそれぞれの性能情報と、索引情報を、マスター分散管理プロセス部１２１ａに送信する（ステップＤ１１）。なお、索引情報とは、図３に示したデータ配置情報を示すこととする。
【０１３６】  マスター分散管理プロセス部１２１ａは、取得したそれぞれの性能情報から、システム構成情報を生成する。また、マスター分散管理プロセス部１２１ａは、取得したそれぞれの索引情報から、分散管理情報（この場合、第２の分散索引情報が該当する。）を生成する（ステップＤ１３）。
【０１３７】  マスター分散管理プロセス部１２１ａは、生成したシステム構成情報および第２の分散作成情報を、バックアップ復元部１５４に送信する（ステップＤ１５）。また、マスター分散管理プロセス部１２１ａは、バックアップ資源管理部１５２から送信される分散索引情報（この場合、第１の分散索引情報が該当する。）を受信する（ステップＤ１７）。
【０１３８】  バックアップ復元部１５４は、マスター分散管理プロセス部１２１ａから受信したシステム構成情報と第２の分散索引情報と、バックアップ資源管理部１５２から受信した第１の分散索引情報とに基づいて、新しい分散索引情報を生成する（ステップＤ１９）。
【０１３９】  ここで、新しい分散索引情報（すなわち、新分散索引情報に該当する。）は、例えば、次のように生成される。
【０１４０】  例は、あるデータの並列アクセス性能を重視する場合のアルゴリズムにおいて、データ数の分配が格納サイズ比に近く、かつバックアップ前に同じストレージノードに入っていたデータは、できるだけ同じストレージノードに格納されるようにする、というものである。
【０１４１】  まず、バックアップ時の部分分散索引情報から、ハッシュ関数ｈ（ｄ）、ノード割り当て表を抽出する。そして、ノード割り当て表から、バックアップ時のストレージノードアドレスリストを作成する。例えば、図１０に示したノード割り当て表の複製保持ノード番号から、ストレージノードアドレスリストを作成することができる。
【０１４２】  次に、図９および図１０で示したハッシュ値範囲を変更する。例えば、ハッシュ関数ｈ（ｄ）の値域を分割する。ここで、分割領域の幅の比が、システム構成情報の相対容量値リストの比となるように分割する。そして、その相対容量値リストの比と同等になるように、ノード割り当て表を更新する。
【０１４３】  例えば、ストレージノード１２５が増えたことにより、分散索引情報のノード割り当て表を変更して、これまでストレージノード１２１〜１２４に等分に割り当てられていたハッシュ値に対する割り当て範囲を、ストレージノード１２１〜１２５に等分に割り当てる。なお、このように、ストレージノード１２１〜１２５の変更による割り当ての変更も、利用傾向を反映させたことによる変更に含まれる。
【０１４４】  これにより、バックアップ復元部１５４は、第1の分散索引情報を変更し、新分散索引情報を生成することができる。また、バックアップ復元部１５４は、新分散索引情報を、マスター分散管理プロセス部１２１ａに送信する（ステップＤ２１）。
【０１４５】  なお、分散索引情報の変更は、本実施の形態に限定されるものではない。例えば、第１の実施の形態のように、ノード割り当て表のノード番号を変更する処理であってもよい。この場合、データのシーケンシャルアクセス性を重視することができる。
【０１４６】  マスター分散管理プロセス部１２１ａは、新分散索引情報を受信すると、ステップＢ１７と同様に、変更された新分散索引情報が、現在の分散索引情報の状態に対して、格納することの適否を判定する（ステップＤ２３）。ここで、格納に適している場合には、マスター分散管理プロセス部１２１ａは、バックアップ復元部１５４に格納可能を示す応答を送信する。これに対し、格納に適していない場合には、マスター分散管理プロセス部１２１ａは、バックアップ復元部１５４に格納不可能を示す応答を送信する（ステップＤ２５）。
【０１４７】  バックアップ復元部１５４は、マスター分散管理プロセス部１２１ａから格納可能である旨の応答を受信すると、新分散索引情報をバックアップ資源管理部１５２に送信する（ステップＤ２７）。バックアップ資源管理部１５２は、新分散索引情報を受信すると、その新分散索引情報に基づいて、ディスクドライブ群１５１から対象データを、格納対象であるストレージノード１２１〜１２４に送信する（ステップＤ２９）。
【０１４８】  ストレージノード１２１〜１２４は、格納対象であるデータを受信すると格納する。同時に、分散管理プロセス部１２１ａ〜１２４ａは、複製割り当て表から、当該データに対する複製格納ノードを決定して、当該データの複製を作成する。そして、分散管理プロセス部１２１ａ〜１２４ａは、作成されたデータの複製を、複製格納ノードに送信する。複製格納対象ストレージノードは、バックアップ用ストレージ１５から送信される主データと共に、他のストレージノードから送信される複製データを格納する（ステップＤ３１）。
【０１４９】  バックアップ資源管理部１５２は、すべてのバックアップ対象データの送信が終了すると、バックアップ復元部１５４にデータの送信が完了したことを示す完了通知を送信する（ステップＤ３３）。また、ストレージノード１２１〜１２４は、バックアップ対象データをすべて記録すると、データの復元が完了したことを示す完了通知を、バックアップ復元部１５４に送信する（ステップＤ３５）。
【０１５０】  バックアップ復元部１５４は、分散管理プロセス部１２１ａ〜１２４ａと、バックアップ資源管理部１５２から完了通知を受信すると、バックアップからのデータ復元処理を終了する（ステップＤ３７）。
【０１５１】  以上説明したように、第２の実施の形態では、データ復元システムは、ストレージノード１２１〜１２４がネットワークを介して、それぞれ接続されている場合であっても、スナップショットを用いて静止点でのバックアップを取ることができる。これにより、本実施の形態では、利用傾向に基づいて、ネットワークを介したストレージノードのバックアップを取ることができる。また、本実施の形態では、利用傾向に基づいてバックアップされたこのバックアップデータを、ネットワークを介してストレージノード１２１〜１２４に利用傾向に基づくデータの配置を復元することができる。
【０１５２】（第３の実施の形態）  第３の実施の形態は、第２の実施の形態において、データのバックアップ時に、分散索引情報に加えて、データ利用傾向情報を取得するようになっている。
【０１５３】  第３の実施の形態では、ステップＣ３１において、マスター分散管理プロセス部１２１ａは、分散管理プロセス部１２１ａ〜１２４ａから、ノード割り当て表と、複製割り当て表と、ハッシュ関数プログラムを受信すると、第２の分散索引情報を生成する。また、マスター分散管理プロセス部１２１ａは、分散管理プロセス部１２１ａ〜１２４ａから、各データのごとの同時利用頻度情報を収集し、データ利用頻度情報を生成する。
【０１５４】  そして、マスター分散管理プロセス部１２１ａは、生成された第２の分散索引情報とデータ利用頻度情報を、バックアップ復元部１５４に送信する。
【０１５５】  ここで、同時利用頻度情報とは、例えば、データへの最近一定時間のアクセスログを元に相関ルールが抽出された頻出パターンなどでよい。具体的には、ストレージノード１２３内のデータとストレージノード１２４内のデータは、１つの大きなデータを分割したものであり、ストレージノード１２３とストレージノード１２４は必ず同時にアクセスされるものとする。なお、このような関係を、利用傾向に基づくデータ間の関連性を示す連関情報として扱う。
【０１５６】  この場合、ステップＤ１９において、バックアップ復元部１５４が、与えられたシステム構成情報と、格納されたデータ利用頻度情報に基づいて、分散索引情報のノード割り当て表を変更する。
【０１５７】  例えば、バックアップ作成時のストレージノード１２３の分散索引情報の一例を、図１４に示す。図１４は、ハッシュ値範囲と複製保持ノード番号（１２１〜１２４）が対応づけられている。
【０１５８】  そして、ストレージノード１２５が追加されたことにより、システム構成情報は、変更されている。また、データ利用頻度情報では、ストレージノード１２３とストレージノード１２４のデータが同時に利用されることから、ステップＤ１９において、分散索引情報のノード割り当て表を変更する。具体的には、これまでストレージノード１２１、１２２に当分に割り当てられていたハッシュ値に対する割り当て範囲を、ストレージノード１２１、１２２および１２５に等分に割り当てるように変更する。
【０１５９】  図１５は、変更後のノード割り当て表を示したものである。ストレージノード１２３とストレージノード１２４は、同時に利用されるため、ストレージノード１２３とストレージノード１２４の関係を保持したまま、ストレージノード１２１、１２２及び１２５を等分にするデータ配置情報となっている。
【０１６０】  そして、データの復元処理を行う場合には、このデータ配置情報に基づいて、新分散索引情報を生成し、バックアップ用ストレージ１５からストレージシステム１２にデータを復元することにより、利用傾向に基づいたデータの配置を行うことができる。
【０１６１】  以上説明したように、第３の実施の形態では、データ復元システムは、データ利用頻度情報に基づいてノード割り当て表を変更するとともに、かつ、ストレージノードが変更されたシステム構成情報に対応させてノード割り当て表を変更させることができる。これにより、第３の実施形態におけるデータ復元システムでは、データの利用傾向をシステム構成情報に反映させて、バックアップ用ストレージ１５に格納されているバックアップデータをストレージシステム１２に復元することができる。
【０１６２】  以上、図面を参照して本発明の実施形態について述べたが、これらは本実施の形態の例示であり、上記以外の様々な構成を採用することもできる。
【０１６３】  例えば、第１の実施の形態では、ディスクドライブ１１１〜１１４を記憶領域の一例として、説明したが、本実施の形態はこれに限定されるものではない。例えば、記憶領域は、ハードディスクドライブ、ＤＲＡＭ（Dynamic Random Access Memory）、不揮発性半導体メモリ（フラッシュメモリ、ＭＲＡＭ（Magnetoresistive Random Access Memory）、ＦｅＲＡＭ（Ferroelectric Random）など）などであってもよい。また、磁気テープなどのデータを記録可能な物理媒体、あるいはＲＡＩＤ（Redundant Arrays of Inexpensive Disks）コントローラに結合された１つ以上の上記媒体であってもよい。また、これらの媒体がストレージノードの外部に設置され、その媒体にデータを記憶可能に制御する制御装置、あるいはこれらの組み合わせ等であってもよい。
【０１６４】  第１から第３の実施の形態では、バックアップ処理とデータ復元処理が別々に行われていたが、本実施の形態はこれに限定されるものではない。例えば、第１から第３の実施の形態において、バックアップ処理とデータ復元処理をそれぞれ同時に実行するようにしてもよい。
【０１６５】  この場合、データ復元処理を開始すると同時にバックアップも同時に開始することができるので、別途、バックアップを取得することができる。これにより、バックアップ処理とデータ復元処理を同時に実行することによって、バックアップデータを入れ替えることができる。
【０１６６】  なお、本実施の形態の各種の構成要素は、その機能を実現するように形成されていればよい。例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与されたバックアップコントローラ３やストレージシステム１であってもよい。また、コンピュータプログラムによりバックアップコントローラ３やストレージシステム１に実現された所定の機能、これらの任意の組み合わせ、等として実現することができる。
【０１６７】  また、本実施の形態の各種の構成要素は、個々に独立した存在である必要はない。複数の構成要素が一個のデバイスとして形成されていること、一つの構成要素が複数のデバイスで形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でよい。
【０１６８】  また、本実施の形態のバックアップ処理とデータ復元処理の２つの処理に関しては、複数のステップを順番に記載してあるが、その記載の順番は複数のステップを実行する順番を必ずしも限定するものではない。このため、本実施の形態に係る方法を実施するときには、その複数のステップの順番は内容的に支障しない範囲で変更することができる。
【０１６９】  また、本実施の形態の上記方法の複数のステップは個々に相違するタイミングで実行されることに限定されない。このため、あるステップの実行中に他のステップが発生すること、あるステップの実行タイミングと他のステップの実行タイミングとの一部ないし全部が重複していること、等でもよい。
【０１７０】  例えば、データ復元処理において、ステップＢ７における構成情報要求と、ステップＢ９における構成情報生成と、ステップＢ１１におけるシステム構成情報と、ステップＢ１３における分散索引情報変更は、第１の実施の形態で説明した順序に限定されるものではない。具体的には、任意のタイミングで定期的にシステム構成情報を生成し、構成情報の要求を受け付けると、生成された最新のシステム構成情報を送信するようにしてもよい。
【０１７１】  また、本実施の形態のストレージシステム１やバックアップコントローラ３は、データの送受信ができる情報処理装置などにより実現することができる。また、ＣＰＵ、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、Ｉ／Ｆ（Interface）ユニット、等の汎用デバイスで構築されたハードウェア、所定の情報処理を実行するように構築された専用の論理回路、これらの組み合わせ、等として、実施することができる。
【０１７２】
この出願は、２００９年３月３０日に出願された日本出願特願２００９−０８３４２６を基礎とする優先権を主張し、その開示の総てをここに取り込む。
以下、参考形態の例を付記する。
１．  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備えるデータ挿入システムであって、
前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得手段と、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求手段と、
前記複数の記憶領域の構成に基づいて、前記システム構成情報および前記第２の分散索引情報を生成する装置分散索引情報生成手段と、
前記装置分散索引情報生成手段によって生成された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得手段によって取得された前記第１の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成手段と、を備え、
前記新データ配置情報生成手段は、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
ことを特徴とするデータ挿入システム。
２．  前記新データ配置情報生成手段は、
前記ストレージ装置に配置されていたときの関連性を示す連関情報に基づいて、前記ストレージ装置に配置されていた前記データの配置位置の少なくとも一部を維持する新データ配置情報を生成する
ことを特徴とする１．に記載のデータ挿入システム。
３．  前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判定手段、
を更に備えることを特徴とする１．または２．に記載のデータ挿入システム。
４．  前記格納適否判定手段は、
前記新データ配置情報生成手段によって生成された前記新データ配置情報と、前記記憶領域の記憶容量に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する
ことを特徴とする３．に記載のデータ挿入システム。
５．  前記データ保存装置から送信されたデータを前記記憶領域に格納させる前記データとして受信するデータ受信手段と、
前記データ受信手段によって受信された前記データそれぞれに関する冗長データを作成し、作成された当該冗長データそれぞれを前記記憶領域に格納させるための複製割当手段と、
を更に備えることを特徴とする１．ないし４．のいずれか１項に記載のデータ挿入システム。
６．  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムにおけるデータ制御装置であって、
前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得手段と、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求手段と、
前記構成情報要求手段によって要求された前記システム構成情報および前記第２の分散索引情報を受信する第２の分散索引情報受信手段と、
前記第２の分散索引情報受信手段で受信された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得手段によって取得された前記第１の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成手段と、を備え、
前記新データ配置情報生成手段は、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
ことを特徴とするデータ制御装置。
７．  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムにおけるストレージ装置であって、
データを記憶する複数の記憶領域を有し、
前記複数の記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第２の分散索引情報を生成する装置分散索引情報生成手段と、
前記装置分散索引情報生成手段によって生成された前記システム構成情報および前記第２の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信手段と、
新データ配置情報生成手段によって生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信手段と、
前記新分散索引情報受信手段によって受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判定手段と、
を備えることを特徴とするストレージ装置。
８．  前記新データ配置情報は、
前記ストレージ装置に配置されていたときの関連性を示す連関情報に基づいて、前記ストレージ装置に配置されていた前記データの配置位置の少なくとも一部を維持する情報である
ことを特徴とする７．に記載のストレージ装置。
９．  前記格納適否判定手段は、
前記新データ配置情報生成手段によって生成された前記新データ配置情報と、前記記憶領域の記憶容量に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する
ことを特徴とする７．または８．に記載のストレージ装置。
１０．  前記データ保存装置から送信されたデータを前記記憶領域に格納させる前記データとして受信するデータ受信手段と、
前記データ受信手段によって受信された前記データそれぞれに関する冗長データを作成し、作成された当該冗長データそれぞれを前記記憶領域に格納させるための複製割当手段と、
を更に備えることを特徴とする７．ないし９．のいずれか１項に記載のストレージ装置。
１１．  前記記憶領域に格納された前記データのバックアップを作成する指示を受け付けるバックアップ受付手段と、
前記バックアップ受付手段によって前記バックアップを作成する指示が受け付けられると、前記記憶領域に格納された前記データのコピーを作成し、作成された当該コピーを前記データ保存装置に送信するデータ送信出力手段と、
前記記憶領域に配置されていたときのデータ配置情報を、前記データ送信出力手段によって送信された前記コピーにより、前記第１の分散索引情報を生成する分散索引情報生成手段と、
を更に備えることを特徴とする７．ないし１０．のいずれか１項に記載のストレージ装置。
１２．  前記記憶領域に格納された前記データに対して、所定の時点における静止点情報を作成する静止点作成手段を更に備え、
前記データ送信出力手段は、
前記静止点作成手段によって作成された前記静止点情報に基づいて、前記記憶領域に格納された前記データを前記データ保存装置に送信する
ことを特徴とする１１．に記載のストレージ装置。
１３．  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムのデータ挿入方法であって、
前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得ステップと、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求ステップと、
前記複数の記憶領域の構成に基づいて、前記システム構成情報および前記第２の分散索引情報を生成する装置分散索引情報生成ステップと、
前記装置分散索引情報生成ステップで生成された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得ステップで取得された前記第１の分散索引情報に基づいて、新データ配置情報を生成する新データ配置情報生成ステップと、を含み、
前記新データ配置情報生成ステップは、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
ことを特徴とするデータ挿入方法。
１４．  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムにおけるデータ制御装置のデータ制御方法であって、
前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得ステップと、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求ステップと、
前記構成情報要求ステップで要求された前記システム構成情報および前記第２の分散索引情報を受信する第２の分散情報受信ステップと、
前記第２の分散索引情報受信ステップで受信された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得ステップで取得された前記第１の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成ステップと、を備え、
前記新データ配置情報生成ステップは、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを前記記憶領域に格納させる
ことを特徴とするデータ制御方法。
１５．  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムにおけるストレージ装置のデータ格納方法であって、
データを記憶する複数の記憶領域を有し、
前記記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第２の分散索引情報を生成する装置分散索引情報生成ステップと、
前記装置分散索引情報生成ステップで生成された前記システム構成情報および前記第２の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信ステップと、
新データ配置情報生成ステップで生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信ステップと、
前記新分散索引情報受信ステップによって受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判定ステップと、
を含むことを特徴とするデータ格納方法。
１６．  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムにおけるデータ制御装置にデータ処理を実行させるデータ制御プログラムであって、
前記データ処理は、
前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第１のデータ配置情報を、第１の分散索引情報として取得する第１の分散索引情報取得手順と、
前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第２のデータ配置情報を示す第２の分散索引情報を、前記ストレージ装置に要求する構成情報要求手順と、
前記構成情報要求手順で要求された前記システム構成情報および前記第２の分散索引情報を受信する第２の分散情報受信手順と、
前記第２の分散索引情報受信手順で受信された前記システム構成情報および前記第２の分散索引情報と、前記第１の分散索引情報取得手順で取得された前記第１の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成手順と、を備え、
前記新データ配置情報生成手順は、
生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
ことを特徴とするデータ制御プログラム。
１７．  所定のデータが保存されたデータ保存装置と、データを記憶する複数の記憶領域を有し前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項１に記載のデータ挿入システムにおけるストレージ装置にデータ処理を実行させるデータ格納プログラムであって、
前記データ処理は、
前記複数の記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第２の分散索引情報を生成する装置分散索引情報生成手順と、
前記装置分散索引情報生成手順で生成された前記システム構成情報および前記第２の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信手順と、
新データ配置情報生成手順で生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信手順と、
前記新分散索引情報受信手順で受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判定手順と、
を備えることを特徴とするデータ格納プログラム。
【図１】
0005516575.tif 000002
【図２】
0005516575.tif 000003
【図３】
0005516575.tif 000004
【図４】
0005516575.tif 000005
【図５】
0005516575.tif 000006
【図６】
0005516575.tif 000007
【図７】
0005516575.tif 000008
【図８】
0005516575.tif 000009
【図９】
0005516575.tif 000010
【図１０】
0005516575.tif 000011
【図１１】
0005516575.tif 000012
【図１２】
0005516575.tif 000013
【図１３】
0005516575.tif 000014
【図１４】
0005516575.tif 000015
【図１５】
0005516575.tif 000016