(57)【要約】【課題】データ複製先としてのストレージを短時間で決定する。【解決手段】計算機システムは、複数のストレージと、これらの複数のストレージとネットワークを介して接続する管理サーバーを有する。管理サーバーは、データを格納している複数のストレージの各々の複製元ストレージに対応して、データのデータ喪失重みを用いて、データの複製データを格納する、複数のストレージの中の一つを第１複製先ストレージとして決定し、与えられた災害リスクを用いてデータ喪失重みを更新し、更新したデータ喪失重みを用いて、データを格納している複製元ストレージに対応して、複製データを格納する、複数のストレージの中の他の一つを第２複製先ストレージとして決定する。【選択図】  図１４
2015138378.tif 000002
【特許請求の範囲】
【請求項１】
複数のストレージ、及び、前記複数のストレージとネットワークを介して接続し、データを格納している前記複数のストレージの各々の複製元ストレージに対応して、前記データのデータ喪失重みを用いて、前記データの複製データを格納する、前記複数のストレージの中の一つを第１複製先ストレージとして決定し、与えられた災害リスクを用いて前記データ喪失重みを更新し、更新した前記データ喪失重みを用いて、前記データを格納している前記複製元ストレージに対応して、前記複製データを格納する、前記複数のストレージの中の他の一つを第２複製先ストレージとして決定する管理サーバーを有することを特徴とする計算機システム。
【請求項２】
前記管理サーバーは、前記データ喪失重みが所定の許容データ喪失重みを満足していない場合、与えられた災害リスクを用いて前記データ喪失重みを更新し、更新した前記データ喪失重みを用いて、前記データを格納している前記複製元ストレージに対応して、前記複製データを格納する、前記複数のストレージの中の他の一つを第２複製先ストレージとして決定することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記管理サーバーは、前記複製元ストレージと前記第１複製先ストレージとの組合せを仮決定して、仮決定した前記組合せの中で、データ喪失重みが最大の組合せについて、仮決定した前記複製元ストレージと仮決定した前記第１複製先ストレージとの組み合わせを入れ替え、前記データのデータ喪失重みを用いて、入れ替えた前記組合せの中から、仮決定した前記第１複製先ストレージを前記第１複製先ストレージとして決定することを特徴とする請求項１又は請求項２に記載の計算機システム。
【請求項４】
前記管理サーバーは、前記データ喪失重みを更新するとき、前記複製元ストレージと前記第１複製先ストレージの組合せに対応するデータ喪失重みの更新を除外することを特徴とする請求項３に記載の計算機システム。
【請求項５】
前記管理サーバーは、前記第１複製先ストレージを除外して、前記第２複製先ストレージを決定することを特徴とする請求項４に記載の計算機システム。
【請求項６】
複数のストレージとネットワークを介して接続した管理サーバーに、
データを格納している前記複数のストレージの各々の複製元ストレージに対応して、前記データのデータ喪失重みを用いて、前記データの複製データを格納する、前記複数のストレージの中の一つを第１複製先ストレージとして決定し、
与えられた災害リスクを用いて前記データ喪失重みを更新し、
更新した前記データ喪失重みを用いて、前記データを格納している前記複製元ストレージに対応して、前記複製データを格納する、前記複数のストレージの中の他の一つを第２複製先ストレージとして決定する手順を実行させるためのプログラム。
【請求項７】
前記管理サーバーに、前記データ喪失重みが所定の許容データ喪失重みを満足していない場合、与えられた災害リスクを用いて前記データ喪失重みを更新し、更新した前記データ喪失重みを用いて、前記データを格納している前記複製元ストレージに対応して、前記複製データを格納する、前記複数のストレージの中の他の一つを第２複製先ストレージとして決定する手順を実行させるための請求項６に記載のプログラム。
【請求項８】
前記管理サーバーに、前記複製元ストレージと前記第１複製先ストレージとの組合せを仮決定して、仮決定した前記組合せの中で、データ喪失重みが最大の組合せについて、仮決定した前記複製元ストレージと仮決定した前記第１複製先ストレージとの組み合わせを入れ替え、前記データのデータ喪失重みを用いて、入れ替えた前記組合せの中から、仮決定した前記第１複製先ストレージを前記第１複製先ストレージとして決定する手順を実行させるための請求項６又は請求項７に記載のプログラム。
【請求項９】
前記管理サーバーに、前記データ喪失重みを更新するとき、前記複製元ストレージと前記第１複製先ストレージの組合せに対応するデータ喪失重みの更新を除外する手順を実行させるための請求項８に記載のプログラム。
【請求項１０】
前記管理サーバーに、前記第１複製先ストレージを除外して、前記第２複製先ストレージを決定する手順を実行させるための請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ複製先としてのストレージを決定する計算機システム及びそのプログラムに関する。
【背景技術】
【０００２】
データ保護の方法として、非特許文献１では、地理的に分散したサイトに設置したストレージシステムを前提として、津波のような災害に対するデータ喪失リスクを定量評価し、低リスクのサイトを見出すことで、安全なサイトにデータを選択的に複製する方式を提案している。
【先行技術文献】
【特許文献】
【０００３】
【非特許文献１】「広域災害向けリスクアウェアデータ複製方式の提案」電気学会  第55回情報システム研究会資料 39-43ページ、2013.6.21
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１に示すような技術は、ストレージシステムを構成するサイトの各ストレージシステムの数や複製数が大きいと、ノードの組み合わせ数が増えるために、複製先決定にかかる時間が爆発的に増加する課題があった。
【０００５】
そこで、短時間でデータの複製先を決定できる計算機システムが必要となる。
【課題を解決するための手段】
【０００６】
開示する計算機システムは、複数のストレージと、これらの複数のストレージとネットワークを介して接続する管理サーバーを有する。管理サーバーは、データを格納している複数のストレージの各々の複製元ストレージに対応して、データのデータ喪失重みを用いて、データの複製データを格納する、複数のストレージの中の一つを第１複製先ストレージとして決定し、与えられた災害リスクを用いてデータ喪失重みを更新し、更新したデータ喪失重みを用いて、データを格納している複製元ストレージに対応して、複製データを格納する、複数のストレージの中の他の一つを第２複製先ストレージとして決定する。
【発明の効果】
【０００７】
本発明により、短時間で複製先を決定できる計算機システムが実現される。
【図面の簡単な説明】
【０００８】
【図１】計算機システムの構成図である。
【図２】ストレージの構成図である。
【図３】ストレージ構成管理テーブルの構成例である。
【図４】災害リスク管理テーブルの構成例である。
【図５】データ喪失重み管理テーブルの構成例である。
【図６】複製構成管理テーブルの構成例である。
【図７】第１複製先を決定する複製先決定処理のフローチャートである。
【図８】組み合わせ作業テーブルの構成例である。
【図９】複製元と複製先の組み合わせを決定する組み合わせ処理のフローチャートである。
【図１０】入れ替え作業テーブルの構成例である。
【図１１】より良い組み合わせに入れ替える手順を示す組み合わせ入れ替え処理のフローチャートである。
【図１２】第２複製先を決定する複製先決定処理のフローチャートである。
【図１３】データ喪失重みを更新したデータ喪失重み管理テーブルの構成例である。
【図１４】データ喪失重みを更新するデータ喪失重み更新処理のフローチャートである。
【図１５】実施例１による効果を示す図である。
【図１６】データ冗長度管理画面の構成例である。
【図１７】実施例２における、データ喪失重みを更新したデータ喪失重み管理テーブルの構成例である。
【図１８】実施例２における、データ喪失重みを更新する手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら実施形態を説明する。なお、以下の説明では、「管理テーブル」等の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。また、データ構造に依存しないことを示すために「管理テーブル」を「管理情報」と呼ぶことができる。
【００１０】
また、「プログラム」を主語として処理を説明する場合がある。そのプログラムは、プロセッサ、例えば、ＭＰ（Micro Processor）やＣＰＵ（Central Processing Unit）によって実行されるもので、定められた処理をするものである。なお、適宜に記憶資源（例えばメモリ）及び通信インターフェース装置（例えば、通信ポート）を用いながら行うため、処理の主語がプロセッサとされてもよい。プロセッサは、ＣＰＵの他に専用ハードウェアを有していても良い。コンピュータプログラムは、プログラムソースから各コンピュータにインストールされても良い。プログラムソースは、例えば、プログラム配布サーバー又は記憶メディアなどで提供されるものであっても良い。
【００１１】
また、各要素例えば、テーブルなどは番号などで識別可能であるが、識別可能な情報であれば、名前など他種の識別情報が用いられても良い。本発明の図及び説明において同一部分には同一符号を付与しているが、本発明が本実施例に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。また、特に限定しない限り、各構成要素は複数でも単数でも構わない。
【実施例１】
【００１２】
本実施例では、データ喪失重みの更新を伴う、反復的なデータ複製先の決定について説明する。
【００１３】
図１は、本実施例の計算機システム１００の構成図である。計算機システム１００は、複数のストレージ１０１（ストレージ１０１ａ〜１０１ｎ）と管理サーバー１０２を運用ネットワーク１０５により接続して構成する。管理サーバー１０２は、ＣＰＵ１０６、メモリ１０７、運用ネットワーク１０５に接続するためのインターフェース１０８（以下、運用Ｉ／Ｆ１０８）、及び、管理コンソール１０３に接続するためのインターフェース１０９（以下、コンソールＩ／Ｆ１０９）を有する。
【００１４】
メモリ１０７は、ストレージ構成管理テーブル１１０、災害リスク管理テーブル１１１、データ喪失重み管理テーブル１１２、及び、複製構成管理テーブル１１３の各テーブル、並びに、データ喪失重み計算プログラム１１４、複製先決定プログラム１１５、及び、複製制御プログラム１１６の各プログラム（処理部）を格納しており、ＣＰＵ１０６がこれらのプログラムを実行する。
【００１５】
運用ネットワーク１０５は、管理サーバー１０２がストレージ１０１を運用するためのネットワークであり、Ethernet（登録商標）などが好適である。データネットワーク１０４は複数のストレージ１０１の間でデータを転送するためのネットワークであり、Ethernet、ファイバーチャネル、インターネットなどが好適である。なお、データネットワーク１０４は運用ネットワーク１０５と同一のネットワークであってもよい。
【００１６】
図２は、本実施例のストレージ１０１の構成図である。ストレージ１０１は、ＣＰＵ２００、メモリ２０１、データを格納するボリューム２０２、運用ネットワーク１０５に接続するためのインターフェース２０３（運用Ｉ／Ｆ２０３）、及び、データネットワーク１０４に接続するためのインターフェース２０４（データＩ／Ｆ２０４）を有する。
【００１７】
メモリ２０１は、複製プログラム２０５を格納しており、ＣＰＵ２００が複製プログラム２０５を実行する。複製プログラム２０５は、他のストレージ１０１の複製プログラム２０５とデータネットワーク１０４を介して、ボリューム２０２に格納されたデータを他のストレージ１０１に複製する。データの複製単位は、ブロック単位やファイル単位、オブジェクト単位などである。
【００１８】
なお、メモリ１０７に格納された各テーブルおよび各プログラムをメモリ２０１に格納し、ＣＰＵ２００が各プログラムを実行する構成でもよい。
【００１９】
以下、計算機システム１００が４台のストレージ１０１と接続されており、各ストレージ１０１のデータ冗長度を３にする場合（すなわち、各ストレージが格納するデータの複製を２つ作成する場合）を例として説明する。
【００２０】
図３は、ストレージ構成管理テーブル１１０の構成例を示す図である。ストレージ構成管理テーブル１１０は、ストレージ１０１を特定するＩＤ３００、各ストレージ１０１が格納するデータ量（複製する元データの量）３０１、各ストレージ１０１が複製データを格納するための空き容量３０２、及び、各ストレージ１０１にアクセスするために必要なＩＰアドレス３０３を有する。データ量３０１及びは空き容量３０２の各々は、ＭＢ単位などで絶対量を示してもよいが、ここでは簡略化するために所定のデータ量で規格化した値を用いる。
【００２１】
ストレージ構成管理テーブル１１０は、データの複製に先立って、管理コンソール１０３を使って、管理者により作成される。
【００２２】
なお、ＩＰアドレス３０３は、各ストレージ１０１の運用Ｉ／Ｆ２０３のＩＰアドレスを例として示すが、ネットワークの構成に応じて、例えば、データＩ／Ｆ２０４であってもよいし、両方を含んでも良い。また、ネットワークがファイバーチャネルで構成されている場合は、ＷＷＮを含んでも良い。
【００２３】
図４は、災害リスク管理テーブル１１１の構成例を示す図である。災害リスク管理テーブル１１１は、複製元（複製元ストレージ）４００と複製先（複製先ストレージ）４０１の組み合わせのそれぞれの災害リスク４０２の値を格納する。災害リスク４０２は、複製元（複製元ストレージ）４００から複製先（複製先ストレージ）４０１へデータを複製するときの、そのデータに対応する災害リスクであるとみなせる。
【００２４】
災害リスクは、例えば、地震や津波などの災害により、複製元４００と複製先４０１のストレージ１０１が同時に損壊し、それらのストレージ１０１の格納データを喪失する確率である。
【００２５】
図４に示す例では、ストレージ１からストレージ２にデータを複製した場合、そのデータを喪失する確率は０．９であり、ストレージ２からストレージ３にデータを複製した場合、そのデータを喪失する確率は０．３である。ただし、データ保護の観点ではストレージ１からストレージ１への複製は意味がないため、そのリスク値は定義なし（−）である。
【００２６】
災害リスク値管理テーブル１１１は、データの複製を実行する前に事前に作成する。例えば、実際の地震や津波の被害に関する統計的情報から、被害確率を算定して作成してもよいし、既存の地震モデルや津波モデルを用いて算定して作成してもよいし、数値シミュレータを用いて算定して作成してもよい。
【００２７】
なお、複製元４００と複製元４０１は、ストレージ１０１の全て（ここでは、４台のストレージ１０１）を含んでもよいし、一部（４台中の３台のストレージ１０１）だけを含んでもよい。
【００２８】
図５は、データ喪失重み管理テーブル１１２の構成例を示す図である。データ喪失重み管理テーブル１１２は、複製元（複製元ストレージ）５００、複製先（複製先ストレージ）５０１の組み合わせのそれぞれのデータ喪失重み５０２の値を格納する。
【００２９】
データ喪失重み５０２は、データ喪失被害の大きさを示す数値である。データ喪失重み５０２は、例えば、災害リスク４０２と各ストレージ１０１のデータ量とを掛け算することで得られる。
【００３０】
図５に示すでは、データ量１であるストレージ１を複製元とした場合のデータ喪失重み５０２は災害リスク４０２と同じ値であり、データ量２であるストレージ２を複製元とした場合のデータ喪失重み５０２は災害リスク４０２の２倍である。
【００３１】
データ喪失重みテーブル１１２は、複製先の決定に先立って、データ喪失重み計算プログラム１１４によって生成される。データ喪失重み計算プログラム１１４は、ストレージ構成管理テーブル１１０と、災害リスク管理テーブル１１１とを読み込み、計算したデータ喪失重み５０２をデータ喪失重み管理テーブル１１２として書き込む。
【００３２】
図６は、複製構成管理テーブル１１３の構成例を示す図である。複製構成管理テーブル１１３は、複製元６００（複製元ストレージ）、複製元６００に格納されているデータの１つ目の複製先のストレージ１０１を示す第１複製先（第１複製先ストレージ）６０１、及び、そのデータの２つ目の複製先のストレージ１０１を示す第２複製先（第２複製先ストレージ）６０２を有する。
【００３３】
計算機システム１００が複製先を決定した後、管理コンソール１０３は、複製構成管理テーブル１１３の内容を表示・修正することができる。例えば、管理者が管理コンソール１０３を操作し、複製先に問題がないかを確認したり、特別な要件にあわせてカスタマイズしたりする。
【００３４】
なお、図６は、複製元６００、第１複製先６０２、及び、第２複製先６０３として、ストレージ１０１のＩＤ３００を示しているが、ストレージ１０１のＩＰアドレス３０３であってもよい。
【００３５】
複製先決定プログラム１１５は、データ複製の実行前に、第１複製先を決定する複製先決定処理および第２複製先を決定する複製先決定処理を実行する。後述するように、決定する複製先を異にするが、複製先決定処理は同様の処理である。
【００３６】
図７は、第１複製先を決定する複製先決定処理のフローチャートである。第１複製先を決定する複製先決定処理を開始すると、複製先決定プログラム１１５は、データ喪失重み管理テーブル１１２を読み込み（Ｓ７０１）、後述する組み合わせ処理を実行し、第１複製先となるストレージを決定し（Ｓ７０２）、複製構成管理テーブル１１３の第１複製先６０１に、第１複製先として決定したストレージのＩＤを書き込む（Ｓ７０３）。
【００３７】
図８は、複製元と複製先の組み合わせを決定する際に使用する組み合わせ作業テーブルの構成例を示す図である。組み合わせ作業テーブル８００は、データ喪失重み評価列８０１、および、複製元と複製先の組み合わせを決定する途中経過を記述する仮決定列８０２を有する。
【００３８】
データ喪失重み評価列８０１は、データ喪失重み管理テーブル１１２のコピーである。すなわち、データ喪失重み評価列８０１は、複製元となる各ストレージのＩＤ、複製先となる各ストレージのＩＤ、及び、それらの組み合わせの各々のデータ喪失重みの値である。
【００３９】
仮決定列８０２は、複製先を決定するための各ステップ、及び、そのステップで評価するデータ喪失重みの値である。複製先を決定するための各ステップを、図９を用いて説明する。
【００４０】
図９は、複製元と複製先の組み合わせを決定する組み合わせ処理のフローチャートである。本実施例の組み合わせ処理は、データ喪失の危険がある（リスクが高い）ストレージの組み合わせを、できる限り安全な組合せにする。
【００４１】
組み合わせ処理を開始すると、複製先決定プログラム１１５は組み合わせ作業テーブル８００を生成する（Ｓ９０１）。Ｓ９０１では、複製先決定プログラム１１５は、データ喪失重み管理テーブル１１２を、データ喪失重み評価列８０１にコピーする。そして、複製先決定プログラム１１５は、複製元の数と同じ数だけ、仮決定列８０２にステップを示す列（ここではステップ１〜ステップ４の４列）を作成する。ただし、このとき、仮決定列８０２にデータ喪失重みは書き込まない。
【００４２】
次に、複製先決定プログラム１１５は複製先の候補である各ストレージ１０１の空き容量をチェックする（Ｓ９０２）。Ｓ９０２では、複製先決定プログラム１１５は、ストレージ構成管理テーブル１１０のデータ量３０１及び空き容量３０２、並びに、組み合わせ作業テーブル８００の仮決定列８０２を読み込み、決定済みの組み合わせに基づく複製データによって減少する空き容量３０２を計算した後、データ喪失重み評価列８０１のうち、データ量３０１が空き容量３０２よりも大きくなる組み合わせを以後の組み合わせ処理から除外する。
【００４３】
複製先決定プログラム１１５は、複製元ごとに最もデータ喪失重みの小さい複製先を仮決定列８０２に書き込む（Ｓ９０３）。Ｓ９０２〜Ｓ９０６のループ処理において、最初にＳ９０３を実行するとき（１ループ目）、複製先決定プログラム１１５は、ストレージ１を複製元とする場合の、データ喪失重み評価列８０１のデータ喪失重み０．９、０．３、０．６から、最も小さい０．３を、仮決定列８０２の第１ステップ列に書き込む。次に、ストレージ２を複製元とする場合の、データ喪失重み評価列８０１のデータ喪失重み１．８、０．６、０．８のうち、最も小さい０．６を、仮決定列８０２の第１ステップ列に書き込む。以下同様に、ストレージ３に対しては０．３を、ストレージ４に対しては０．４を第１ステップ列に書き込む。以後、Ｓ９０３が複数回呼び出された場合は、その都度、第２ステップ列、第３ステップ列とインクリメンタルに列番号を増やして書き込む。なお、複製元ごとに同じデータ喪失重みの複製先が複数ある場合、それらに対応する、データ喪失重み評価列８０１にある各列の平均値を計算し、最も平均値の大きい列のデータ喪失重みを第１ステップ列に書き込むものとする。
【００４４】
複製先決定プログラム１１５は、仮決定列８０２から、最もデータ喪失重みの大きい複製元を検索し，その複製元に対する複製先を決定する（Ｓ９０４）。Ｓ９０２〜Ｓ９０６のループ処理において、最初にＳ９０４を実行するとき、複製先決定プログラム１１５は、第１ステップ列にあるデータ喪失重み０．３、０．６、０．３、０．４のうち、最も大きい０．６に対応する、ストレージ２を複製元とし、その複製先をストレージ３にする組み合わせを決定する。なお、仮決定列８０２に同じ最も大きいデータ喪失重みの、複製元と複製先との組み合わせが複数ある場合、データ喪失重み評価列８０１にある各行の平均値を計算し、最も平均値の大きい列のデータ喪失重みをもつ組み合わせに決定するものとする。
【００４５】
複製先決定プログラム１１５は、決定した複製元を組み合わせ作業テーブルから除外する（Ｓ９０５）。最初にＳ９０４を実行したとき、複製先決定プログラム１１５は、データ喪失重み評価列８０１と仮決定列８０２の、ストレージ２を複製元とした場合に相当する行を以後の組み合わせ処理対象から除外する。
【００４６】
複製先決定プログラム１１５は、全ての複製元に対して複製先が決定したかをチェックする（Ｓ９０６）。決定した場合は、複製先決定プログラム１１５は、Ｓ９０７に進む。決定していない場合は、複製先決定プログラム１１５は、Ｓ９０２に進む。最初にＳ９０４を実行したとき、複製先決定プログラム１１５は、ストレージ２を複製元としてストレージ３を複製先とする組合せを決定するが、他の３つのストレージを複製元とする複製先との組合せを決定していないため、Ｓ９０２に進む。また、最後にＳ９０４を実行すると、複製先決定プログラム１１５は、複製元と複製先の組合せとして、ストレージ１とストレージ４、ストレージ２とストレージ３、ストレージ３とストレージ１、および、ストレージ４とストレージ２の組み合わせを決定する。
【００４７】
複製先決定プログラム１１５は、組み合わせ入れ替え処理を実行し（Ｓ９０７）、処理を終了する。
【００４８】
図１０は、仮決定した組み合わせをもとに、より良い組み合わせに入れ替える組み合わせ入れ替え処理が使用する入れ替え作業テーブルの構成例を示す図である。入れ替え作業テーブル１０００は、名称列１００１、組み合わせ列１００２、実行可能列１００３、及び、喪失重み合計列１００４を有する。
【００４９】
名称列１００１は、入れ替え作業で作成する一時的な組み合わせの名称を示す。組み合わせ列１００２は、入れ替え作業で作成する、ストレージの複製元と複製先との組み合わせの内容を示す。図中、たとえば「１→４」は、複製元がストレージ１で、複製先がストレージ４である組み合わせを意味する。
【００５０】
実行可能列１００３は、複製元と複製先との組み合わせが許容される（実行可能）かどうかを示す。実行可能列がＯＫの場合は、その組み合わせが許容されることを示し、ＮＧの場合はその組み合わせが許容されないことを示す。
【００５１】
喪失重み合計１００４は、実行可能であると判定された複製元と複製先の組み合わせに対するデータ喪失重みを示す。図１０の例では、名称が「入替前」である組み合わせ（すなわち、「１→４」、「２→３」、「３→１」、「４→２」）のデータ喪失重みは、図５によれば、それぞれ、０．６、０．６、０．３、０．４である。したがって、その喪失重み合計列は、これらの合計である１．９である。
【００５２】
図１１は、仮決定した複製元と複製先の組み合わせをもとに、より良い組み合わせに入れ替える組み合わせ入れ替え処理（Ｓ９０７）のフローチャートである。組み合わせ入れ替え処理を開始すると、複製先決定プログラム１１５は、入れ替え作業テーブル１０００を作成する（Ｓ１１０１）。Ｓ１１０１では、複製先決定プログラム１１５は、メモリ１０７上に名称１００１に「入替前」を、組み合わせ１００２に仮決定した組み合わせを、実行可能１００３に「ＯＫ」を、「喪失重み合計」にその組み合わせのデータ喪失重みの合計値を、それぞれ書き込む。図１０に示すように、名称１００１の「入替前」に対応させて、組み合わせ１００２として「１→４」、「２→３」、「３→１」及び「４→２」を書き込み、実行可能１００３に「ＯＫ」を書き込み、喪失重み合計１００４に「１．９」を書き込む。
【００５３】
複製先決定プログラム１１５は、データ喪失重みが最大の組み合わせをもとに、組み合わせ入れ替え候補を生成する（Ｓ１１０２）。Ｓ１１０２では、複製先決定プログラム１１５は、仮決定した組み合わせのうち、データ喪失重みが最大の組み合わせを検索する。次に、データ喪失重みが最大の組み合わせにおける複製先と、他のすべての複製元に対する複製先とを、それぞれ入れ替えた候補を生成し、組み合わせ列１００２に書き込む。図１０に示す例では、図８の仮決定列８０２を参照して、「入替前」の組み合わせ１００２の中から、最も大きいデータ喪失重み０．６の「１→４」と「２→３」の２つの組み合せが検索される。そして、「１→４」の複製先である４を、「２→３」の複製先である３と入れ替えた組み合わせを「候補１」、「３→１」の複製先である１と入れ替えた組み合わせを「候補２」、「４→２」の複製先である２と入れ変えた組み合わせを「候補３」とし、組み合わせ列１００２に書き込む。さらに、検索した「２→３」の組み合せについても同様に、その複製先である３を、「３→１」の複製先である１と入れ替えた組み合わせを「候補４」、「４→２」の複製先である２と入れ替えた組み合わせを「候補５」とし、組み合わせ列１００２に書き込む。なお、「２→３」の複製先である３を「１→４」の複製先である４と入れ替えた複製先は、「候補１」と同じ組み合わせ「２→４」になるため省略したが、これを書き込んでもよい。
【００５４】
複製先決定プログラム１１５は、組み合わせ候補が実行可能か判定する（Ｓ１１０３）。Ｓ１１０３では、組み合わせ列１００２に書き込まれた全ての組み合わせ候補に対し、実行可能性をチェックし、チェック結果を実行可能列１００３に書き込む。実行可能の条件の１つは、複製元と複製先が異なる組み合わせであることである。複製元と複製先が同じ組み合わせは、複製元と複製先が異なる組み合わせに比べ、データの喪失リスクが明らかに高いため、複製先決定プログラム１１５は、これを実行不可能と判定する。図１０に示す例では、複製元と複製先が同じ組み合わせを持つ、候補２、候補３、候補４、候補５を、このチェックにより実行不可能と判定し、実行可能列１００３にＮＧを書き込む。また、複製先決定プログラム１１５は、他の実行可能性チェックとして、複製先の空き容量が不足する組み合わせを実行不可能とする。さらに他の実行実行可能性チェックとして、複製数が２以上であって、２回目に組み合わせ入れ替え処理を実行する際に、ある複製元に対して第１複製先と同じ複製先をもつ組み合わせを実行不可能としてもよい。
【００５５】
複製先決定プログラム１１５は、実行可能な組み合わせ候補の，データ喪失重み合計を計算する（Ｓ１１０４）。Ｓ１１０４では、データ喪失重み管理テーブル１１２を参照して、組み合わせ列１００２に書き込まれた全ての組み合わせ候補のうち、実行可能なもののデータ喪失重みの合計を計算し、喪失重み合計列１００４に結果を書き込む。図１０に示す例では、実行可能な候補１に対し、そのデータ喪失重み（０．３、０．８、０．３、０．４）の合計である１．８を喪失重み合計１００４に書き込む。
【００５６】
複製先決定プログラム１１５は、実行可能な組み合わせ候補に対して、データ喪失重みが減少したかどうか判定する（Ｓ１１０５）。Ｓ１１０５では、複製先決定プログラム１１５は、入替前の組み合わせと、実行可能な組み合わせ候補のデータ喪失重み合計を比較し、データ喪失重みが減少したかどうかを判定する。減少した候補が１つでもある場合は、複製先決定プログラム１１５は、Ｓ１１０６に進む。それ以外の場合は、Ｓ１１０７に進む。図１０に示す例では、候補１の組み合わせが、入替前の組み合わせに比べて、データ喪失重みが０．１減少しているので、Ｓ１１０６に進む。
【００５７】
複製先決定プログラム１１５は、データ喪失重みが最小の組み合わせ候補を組み合わせ入れ替え処理の結果として決定し（Ｓ１１０６）、処理を終了する。図１０に示す例では、候補１の組み合わせを組み合わせ入れ替え処理の結果として決定する。
【００５８】
なお、Ｓ１１０７に進んだ場合、複製先決定プログラム１１５は、入れ替え前の組み合わせを、組み合わせ入れ替え処理の結果として決定し（Ｓ１１０７）、処理を終了する。
【００５９】
図１２は、複製構成管理テーブル１１３の第２複製先６０２を決定する複製先決定処理のフローチャートである。第２複製先を決定する複製先決定処理を開始すると、複製先決定プログラム１１５は、データ喪失重み管理テーブル１１２の更新処理を実行し（Ｓ１２０１）、更新したデータ喪失重み管理テーブル１１２を読み込む（Ｓ１２０２）。次に、後述する組み合わせ処理を実行し、第２複製先となるストレージを決定する（Ｓ１２０３）。最後に、複製構成管理テーブル１１３の第２複製先６０２に、第２複製先として決定したストレージのＩＤを書き込み（Ｓ１２０４）、第２複製先を決定する複製先決定処理を終了する。
【００６０】
図１３は、本実施例における、データ喪失重み管理テーブル１１２のデータ喪失重みを更新することで得られるデータ喪失重み管理テーブル１３００の例を示す図である。更新後のデータ喪失重み管理テーブル１３００と、更新前のデータ喪失重み管理テーブル１１２との違いは、データ喪失重みの値である。データ喪失重み１３０３のうち「決定済」である組み合わせは、第１複製先を決定する複製先決定処理によって、その組み合わせが既に決定されている（図１０の候補１）ので、第２複製先を決定するための組み合わせの対象から外すことを意味する。それ以外の組み合わせのデータ喪失重み１３０３は、第１複製先に複製した上で、第２複製先を決定した場合の、データ喪失被害の大きさを示す数値である。
【００６１】
例えば、図１３のストレージ１を複製元とした場合のデータ喪失重み１３０３は、ストレージ１を複製元とした場合の更新前のデータ喪失重み５０２に、第１複製先として決定したストレージ３とのデータ喪失リスク０．３を掛け算して得られる。たとえば、ストレージ１を複製元とし、ストレージ２を第２複製先とした組合せのデータ喪失重み値１３０３は、更新前のデータ喪失重み５０２の値０．９にストレージ３とのデータ喪失リスクの値０．３を掛けた０．２７である。
【００６２】
図１４は、データ喪失重みを更新するデータ喪失重み更新処理のフローチャートである。データ喪失重み更新処理を開始すると、複製先決定プログラム１１５は、データ喪失重み管理テーブル１１２と複製構成管理テーブル１１３を読み込む（Ｓ１４０１）。
【００６３】
複製先決定プログラム１１５は、複製構成管理テーブル１１３から、各複製元の第１複製先を読み込み、データ喪失重み管理テーブル１１２の第１複製先との組み合わせを、次（Ｓ１４０３）の更新重み値の計算対象から除外する（Ｓ１４０２）。
【００６４】
複製先決定プログラム１１５は、更新重み値を計算する（Ｓ１４０３）。更新重み値は、図１３の説明で述べたように、更新前のデータ喪失管理テーブル１１２に記録されたデータ喪失重みに、災害リスク４０２を掛け算することで得る。
【００６５】
複製先決定プログラム１１５は、計算した更新重み値を更新後のデータ喪失リスク管理テーブル１３００に書き込み（Ｓ１４０４）、処理を終了する。
【００６６】
データ喪失重みを更新したデータ喪失重み管理テーブル１１２（図１３の１３００）を用いて、図７の複製先決定プログラムを再度実行することにより、複製元と第２複製先のストレージの組合せが得られ、複製元６００の各ストレージに対応する第２複製先６０２のストレージを決定する。以上が、複製先決定プログラム１１５による、本実施例における第２複製先の複製先決定処理である。
【００６７】
複製制御プログラム１１６は、複製構成管理テーブル１１３を参照し、各ストレージの複製プログラム２０５に対して複製を指示する。その結果、複製元６００の各ストレージの複製プログラム２０５が、第１複製先６０１および第２複製先６０２へデータを複製する。
【００６８】
なお、本実施例では、複製数が２の場合（冗長度が３）を例に説明したが、複製数が３以上（冗長度が４以上）の場合も同様の方法を用いることができる。例えば、複製数３の場合、第３複製先を決定する手順として、単に第２複製先を決定する手順を追加で実行すればよい。
【００６９】
なお、本実施例では、データ喪失重み５０２を、災害リスク４０２と各ストレージ１０１のデータ量とを掛け算することで得たが、単に災害リスク４０２としてもよい。また、データ喪失重み５０２をデータ安全重み（すなわち、値が大きいほどデータが安全であることを示す重み）としてもよい。
【００７０】
図１５は、本実施例による効果を示す図である。図１５（Ａ）のデータ喪失割合グラフは、本実施例の反復による複製先の決定と一括処理（たとえば、第１複製先の決定に伴い更新したデータ喪失重みを第２複製先の決定に反映しない）をそれぞれ用いた場合に、損壊ストレージ割合の増加に対して、データ喪失割合が増加する様子を示した実験データである。実験では、ストレージ１０１の数を135とした計算機システム１００を用いた。計算機システム１００において、複製先を決定しデータを複製した後、地震シミュレータを用いてストレージの損壊をシミュレートし、その結果からデータの喪失と残存を集計することで、データ損失割合を計算した。図１５（Ａ）のデータ喪失割合グラフは、本実施例の反復処理と一括処理のデータ喪失割合が、どの損壊ストレージ割合であってもほぼ同じであることを示している。すなわち、本実施例の反復処理による複製先の決定は、一括処理による複製先の決定と同等のデータ保護性能をもつことがわかる。
【００７１】
図１５（Ｂ）の複製先決定にかかる時間グラフは、本実施例の反復処理と一括処理をそれぞれ用いた場合に、計算機システム１００を構成するストレージ１０１の台数増加に対して、複製先決定にかかる時間が増加する様子を示した実験データである。図１５（Ｂ）の複製先決定にかかる時間グラフは、本実施例の反復処理による複製先決定に要する時間が、一括処理によるそれに比べて、どのストレージ台数であっても小さく、数千分の一以下になる場合すらあることを示している。すなわち、本実施例の反復処理によれば、一括処理に比べて、短時間で複製先を決定できることがわかる。
【００７２】
本実施例によれば、短時間でデータの複製先ストレージを決定することができるため、多くのストレージを地理的に分散した計算機システム（大規模分散システム）を運用する場合に、各ストレージの複製先として、データ保護性能が高いものを、短時間で決定することができる。そのため、利用者は、大規模分散システムの要件変更に合わせて、その都度複製先の変更を迅速に実施することができる。その際、データ保護効果は一括処理を用いた場合とほぼ同等に保たれる。
【実施例２】
【００７３】
本実施例では、ストレージごとに冗長度が異なる、反復的なデータ複製先の決定について説明する。本実施例では、実施例１と異なる部分を中心に説明する。
【００７４】
本実施例は、実施例１と異なり、複製元ストレージごとに異なるデータ冗長度でデータを複製する。本実施例では、計算機システム１００は、実施例１で述べた複製元を決定する各段階において、複製元となるストレージごとに、反復的にデータ複製先を決定する過程で、データ喪失重みがあらかじめ与えられた許容データ喪失重み以下であるならば、それ以上のデータ複製先を設けず、複製元となるストレージごとに異なる冗長度で複製する構成を備える。逆に言えば、複製元ストレージと第ｎ複製先ストレージとの組合せにおけるデータ喪失重みが予め与えられた許容データ喪失重みを超えているとき（所定の許容データ喪失重みを満足しないとき）、データ喪失重みを更新し、第n+1複製先ストレージを決定する。この結果、複製元となるストレージごとに異なる冗長度で複製する構成となる。
【００７５】
図１６は、本実施例における、管理コンソール１０３に表示するデータ冗長度管理画面の構成例を示す図である。データ冗長度管理画面１６００は、計算機システム１００の全てのストレージ１０１に対して、同じ冗長度でデータを複製するための設定を行う固定冗長度ラジオボタン１６０５、各ストレージに対して異なる冗長度でデータを複製するための設定を行う可変冗長度ラジオボタン１６０１を表示する。さらにデータ冗長度管理画面１６００は、可変冗長度ラジオボタン１６０１の選択に応答して許容する最大の冗長度を設定する最大冗長度テキストボックス１６０２、許容するデータ喪失重みテキストボックス１６０３、及び、管理サーバー１０２に設定完了を通知するＯＫボタン１６０４を備える。なお、許容するデータ喪失重みテキストボックス１６０３に入力された値を超えるデータ喪失重みの場合に、許容しないものとする。
【００７６】
システム管理者などの操作者は、管理コンソール１０３を操作してデータ冗長度管理画面１６００を表示し、固定冗長度ラジオボタン１６０５または可変冗長度ラジオボタン１６０１を選択する。可変冗長度ラジオボタン１６０１を選択した場合、許容する最大冗長度１６０２と許容するデータ喪失重み１６０３を設定した後、ＯＫボタン１６０４を押すことで、設定を完了する。管理コンソール１０３は、設定された内容を管理サーバー１０２のメモリ１０７上に保存する。本実施例は、可変冗長度ラジオボタン１６０１を選択した場合である。
【００７７】
図１７は、本実施例における、データ喪失重みを更新することで得られるデータ喪失重み管理テーブルの例を示す図である。データ喪失重みを更新することで得られる、データ喪失重み管理テーブル１７００と実施例１におけるデータ喪失重み管理テーブル１３００との違いは、データ喪失重み値１７０３に「除外」が格納され得ることである。データ喪失重み１７０３が「除外」である、複製元１７０１と複製先１７０２のストレージの組み合わせは、第１複製先として複製先決定プログラム１１５によって決定されたストレージのデータ喪失重み値が、許容するデータ喪失重み１６０３に入力された値以下であるため、複製先決定プログラム１１５が第２複製先を決定しない（処理を除外する）ことを意味する。
【００７８】
図１６に示した例では、許容するデータ喪失重み１６０３の値は０．３である。ストレージ１とその第１複製先であるストレージ３との間のデータ喪失重み値は０．３（図５参照）であり、許容するデータ喪失重み１６０３の値以下であるため、ストレージ１は第２複製先を決定する対象から除外される。一方、ストレージ２とその第１複製先であるストレージ４との間のデータ喪失重み値は０．８（図５参照）であり、許容するデータ喪失重み１６０３の値よりも大きいため、ストレージ２は第２複製先を決定する対象に含められる。同様に、ストレージ３はその対象から除外され、ストレージ４はその対象に含められる。
【００７９】
図１８は、本実施例における、データ喪失重みを更新する手順を示すフローチャートである。実施例１との違いは、図１８において、図１４のＳ１４０２とＳ１４０３の間にＳ１８０３を追加したものである。
【００８０】
データ喪失重み更新処理を開始すると、複製先決定プログラム１１５は、データ喪失重み管理テーブル１１２と複製構成管理テーブル１１３を読み込む（Ｓ１８０１）。複製先決定プログラム１１５は、複製構成管理テーブル１１３から、各複製元の第１複製先を読み込み、データ喪失重み管理テーブル１１２から、第１複製先との組み合わせを、Ｓ１８０４の更新重み値の計算対象から除外する（Ｓ１８０２）。
【００８１】
複製先決定プログラム１１５は、メモリ１０７から許容するデータ喪失重みの値（前述した、許容するデータ喪失重み１６０３に入力され、メモリ１０７に格納されている値）を読み取り、図１７の説明で述べたように、各複製元の第１複製先との組み合わせにおけるデータ喪失重みとこれを比較する。その結果、許容するデータ喪失重み１６０３以下である組み合わせをもつ複製元を、Ｓ１８０４更新重み値の計算対象から除外する（Ｓ１８０３）。
【００８２】
複製先決定プログラム１１５は、更新重み値を計算し（Ｓ１８０４）、計算した更新重み値を更新後のデータ喪失重み管理テーブル１７００として書き込み（Ｓ１８０５）、処理を終了する。以上が、複製先決定プログラム１１５による、本実施例における複製先決定処理である。
【００８３】
なお、本実施例は、ストレージごとに異なる冗長度でデータを複製する方法を示したが、本実施例と同様の手法で、データ（すなわちファイルやディレクトリ）ごとに異なる冗長度となるように実行してもよい。
【００８４】
本実施例によれば、許容するデータ喪失重み値に基づいて安全と判定された複製元は、それ以上の複製を作成しないため、安全なストレージに効率的にデータを複製でき、複製データを格納するストレージ容量を節約することができる。
【符号の説明】
【００８５】
１００：計算機システム、１０１：ストレージ、１０２：管理サーバー、１０３：管理コンソール、１１０：ストレージ構成管理テーブル、１１１：災害リスク管理テーブル、１１２：データ喪失重み管理テーブル、１１３：複製構成管理テーブル、１１４：データ喪失重み計算プログラム、１１５：複製先決定プログラム、１１６：複製制御プログラム。
【図１】
2015138378.tif 000003
【図２】
2015138378.tif 000004
【図３】
2015138378.tif 000005
【図４】
2015138378.tif 000006
【図５】
2015138378.tif 000007
【図６】
2015138378.tif 000008
【図７】
2015138378.tif 000009
【図８】
2015138378.tif 000010
【図９】
2015138378.tif 000011
【図１０】
2015138378.tif 000012
【図１１】
2015138378.tif 000013
【図１２】
2015138378.tif 000014
【図１３】
2015138378.tif 000015
【図１４】
2015138378.tif 000016
【図１５】
2015138378.tif 000017
【図１６】
2015138378.tif 000018
【図１７】
2015138378.tif 000019
【図１８】
2015138378.tif 000020