JP2007140829A - バックアップシステム、方法及びプログラム - Google Patents

バックアップシステム、方法及びプログラム Download PDF

Info

Publication number
JP2007140829A
JP2007140829A JP2005332790A JP2005332790A JP2007140829A JP 2007140829 A JP2007140829 A JP 2007140829A JP 2005332790 A JP2005332790 A JP 2005332790A JP 2005332790 A JP2005332790 A JP 2005332790A JP 2007140829 A JP2007140829 A JP 2007140829A
Authority
JP
Japan
Prior art keywords
data
encoded data
redundancy
local storage
original data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005332790A
Other languages
English (en)
Other versions
JP4546387B2 (ja
Inventor
Hirosuke Kameyama
裕亮 亀山
Yosuke Senda
陽介 千田
Yuichi Sato
裕一 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005332790A priority Critical patent/JP4546387B2/ja
Priority to US11/407,109 priority patent/US7739465B2/en
Publication of JP2007140829A publication Critical patent/JP2007140829A/ja
Application granted granted Critical
Publication of JP4546387B2 publication Critical patent/JP4546387B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/103Hybrid, i.e. RAID systems with parity comprising a mix of RAID types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1057Parity-multiple bits-RAID6, i.e. RAID 6 implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数のローカルストレージにデータを分散配置してバックアップした際の障害に対し高い復元性を実現する。
【解決手段】バックアップシステムは、元データを記憶するメインストレージ12とそのデータを分散して記憶する複数のローカルストレージ22−1〜22−5で構成される。メインストレージサーバ10の符合化部26は、元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化化データを生成する。分配処理部32は複数の符合化データを、複数のローカルストレージ22−1〜22−5に分配して記憶させる。復元部36は、ローカルストレージ22−1〜22−5から少なくとも元データの分割数分の符合化データを回収して元データを復元する。冗長度制御部28は符合化部26における冗長度をデータが重要度が高いほど大きくなるように変化させる。更に分配処理部32はローカルストレージ22−1〜22−5の信頼度が高いほど多くなるように分配数を決定する。
【選択図】 図1

Description

本発明は、災害や事故に備えて複数のローカルストレージにデータを分散配置してバックアップするバックアップシステム、方法及びプログラムに関し、特に、ローカルストレージヘ分散するデータを冗長符合化して障害に対する耐性を高くするバックアップシステム、方法及びプログラムに関する。
従来、磁気ディスク装置等のストレージ上にあるデータを障害や不意の事故などから守るために、一般的に使用される技術としてRAID(Redundant Arraysof Independent Disks)がある。RAIDのレベルはその用途に応じてRAID0からRAID6まであるが、データの安全性を高める技術として用いられる代表的なものは、RAID1、RAID5、RAID6である。
RAID1は一般的には2台のディスクで用いて実現される。2台のディスクに同じデータを書き込むことで、ディスクの耐障害性を高める、最も単純な方法であり、ミラーリングと呼ばれる。
図14は、RAID1を適用した分散ストレージシステムである。図14において、メインストレージ100にはネットワーク102を介して分散ストレージとして機能するローカルストレージ104−1〜104−3が接続される。RAID1ではメインストレージ装置100のデータ106と同じ複製データ106−1〜106−3を全てのローカルストレージ104−1〜104−3がメインストレージ100と同じデータ106を持ち、メインストレージ100のデータ106が失われた場合には、ローカルストレージ104−1〜104−3のいずれかからデータを転送して失われたデータ106を復元できる。
RAID5は、複数台のディスクに分散してデータを記録する方法であり、書き込みの際にデータを加算して得られるパリティと呼ばれる冗長なコードを生成し同時に書き込む。これにより、どれか1台のディスクが故障しても、それ以外のディスクのデータとパリティ情報から、元の完全なデータを復元できる。
図15はRAID5を適用した分散ストレージである。メインストレージ100のデータはデータ108,110に分割されると共にパリティ112を生成し、ローカルストレージ104−1〜104−3に分散記憶している。この場合、例えばローカルストレージ104−2の障害等によりデータ110が失われても、ローカルストレージ装置104−1,104−3のデータ108とパリティ112から失われたデータ110を復元することができる。
RAID6はRAID5の拡張版であり、RAID5では1つであったパリティを2つ生成する。これにより、2台のディスクが同時に故障しても元のデータを復元できるようにする手法である。2つ目のパリティの取り方にはいくつか方法があるが、一般的にはリードソロモン符号が用いられる。
図16はRAID6を適用した分散ストレージである。メインストレージ100のデータはデータ108,110に分割されると共にパリティ112,114を生成し、ローカルストレージ104−1〜104−4に分散記憶している。この場合、例えばローカルストレージ104−1〜104−4の内の2台のデータが障害等により失われても、正常な2台のデータ及び又はパリティから失われたデータを復元することができる。
また従来の分散ストレージシステムの管理方法として、複数のストレージヘデータの保存を行なう際に、2重の冗長化を行なうことで、ストレージに障害が発生した際にもデータの回復を可能としたものがある(特許文献1)。
また広域分散ストレージシステムを利用したデータ格納方法として、データを複数のストレージに分散して格納することによりデータのセキュリティを向上させつつ、さらにストレージの間の物理的距離を考慮して最適なストレージのセットを選択することにより、回線効率と災害時のデータの安全性を向上させるようにしている(特許文献2)。

特表2004−539446号公報(特願2004−539446号) 特開2004−126716号公報
しかしながら、このような従来の地理的に分散している複数のローカルストレージヘRAID1のミラーリング方式でバックアップを行なうと、オリジナルのデータのコピーが各ローカルに作成されるため、耐障害性は高いがストレージの利用効率が非常に悪いという問題がある。
またRAID5ではRAID1と比べるとストレージの利用効率は高いが、回復可能なのは1台のローカルストレージが故障したときだけで、同時に2台以上が故障した場合には回復は不可能である。
更に、RAID6ではパリティを2つ生成するため、RAID5よりも1台分ディスクの利用効率が低く、また、2つ目のパリティを求めるためにリードソロモン符号を用いているため、計算量が大きいなどの問題がある。
一方、特許文献1のものは、複数のストレージヘデータの保存を行なう際に、2重の冗長化を行なうことで、ストレージに障害が発生した際にもデータの回復を可能とし、また読み出しを高速化する方法であるが、2台以上のストレージが同時に故障した場合にはデータの復旧は不可能である。
特許文献2のものは、データを複数のストレージに分散して格納することによりデータのセキュリティを向上させる方法であるが、各ストレージが格納するデータ量が同じであるため,ストレージの利用効率が悪いという問題がある。
本発明は、複数のローカルストレージにデータを分散配置してバックアップした際の障害に対し高い復元性をもつバックアップシステム、方法及びプログラムを提供することを目的とする。
(システム)
本発明はバックアップシステムを提供する。本発明のバックアップシステムは、
元データを記憶するメインストレージ装置と、
ストレージ装置のデータを分散して記憶する複数のローカルストレージ装置と、
元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化部と、
符合化部における冗長度を変化させる冗長度制御部と、
複数の符合化データを、複数のローカルストレージ装置に分配して記憶させる分配処理部と、
ローカルストレージ装置から少なくとも元データの分割数分の符合化データを回収して元データを復元する復元部と、
を備えたことを特徴とする。
ここで、符合化部は、
元データをn個のブロックデータに分割するブロック分割部と、
n個のブロックデータの中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、ヘッダで指定された1又は複数のブロックデータの排他論理和データから構成される符合化データを、冗長度Qに応じた数mだけ生成する符合データ生成部と、
を備え、
復元部は、複数のローカルストレージ装置から前記ブロック数n以上の符合化データを回収し、ガウスの消去法により前記ヘッダ部を単位行列化することにより前記n個のブロックデータを復元する。
冗長度制御部は、元データの重要度に応じて符合化部における冗長度を変化させる。冗長度制御部は、手動設定、若しくは、元データに含まれるキーワード、更新日時、又は更新頻度に基づいて元データの重要度を自動設定する。例えば冗長度制御部は、重要度の自動設定として、元データに含まれるキーワードから対応する重要度を設定した後、更新日時及び又は更新頻度に応じて重要度を修正する
分配処理部は、複数の符合化データの分配数を、複数のローカルストレージ装置の信頼度又は使用可能容量に応じて設定する。分配御部は、ローカルストレージ装置の重要度を、手動設定若しくは稼働率又は応答時間(RTT)に基づいて自動設定する。例えば分配御部は、ローカルストレージ装置の重要度を稼働率に応じて設定した後に、ローカルストレージの応答時間(RTT)に応じて修正する。
ローカルストレージ装置が新規追加または削除された時には、変更後のローカルストレージ装置に基づいて、符合化部で符合化データを再生成した後に分配処理部で再分配する。
メインストレージ装置はクライアントのストレージ装置のデータに同期して元データを記憶し、メインストレージ装置に対し複数のローカルストレージ装置はネットワーク接続される。
(方法)
本発明は、バックアップ方法を提供する。即ち、本発明は、元データを記憶するメインストレージ装置と、メインストレージ装置のデータを分散して記憶する複数のローカルストレージ装置と備えたシステムのバックアップ方法に於いて、
元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化ステップと、
符合化ステップにおける冗長度を変化させる冗長度制御ステップと、
複数の符合化データを、複数のローカルストレージ装置に分配して記憶させる分配処理ステップと、
ローカルストレージ装置から少なくとも元データの分割数分の符合化データを回収して元データを復元する復元ステップと、
を備えたことを特徴とする。
(プログラム)
本発明はバックアッププログラムを提供する。本発明のバックアッププログラムは、元データを複数のローカルストレージ装置に分散して記憶するメインストレージ装置のコンピュータに、
元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化ステップと、
符合化ステップにおける冗長度を変化させる冗長度制御ステップと、
複数の符合化データを、複数のローカルストレージ装置に分配して記憶させる分配処理ステップと、
ローカルストレージ装置から少なくとも元データの分割数分の符合化データを回収して元データを復元する復元部と復元ステップと、
を実行させることを特徴とする。
なお、本発明によるバックアップ方法及びプログラムの詳細は、本発明によるバックアップシステムと基本的に同じになる。
本発明では、1台以上のローカルストレージが同時に故障した場合でもデータの復旧が可能なように、冗長度(符号化率)を変更可能な符号化手法によりデータに対して冗長なデータを付け加えた符号化データを生成し、複数のローカルストレージに分散記憶しており、複数のローカルストレージで故障や災害が発生したとしても、残りのローカルストレージから復旧に必要な数の符号化データを集めることができれば、元データの復旧が可能であり、分散ストレージによるバックアップの信頼性を向上することができる。
また本発明はデータを符合化する際に、重要なデータは冗長率を高くし、あまり重要でないデータは冗長率を低くすることで、冗長率を固定した場合に比べ、必要以上に符合化データの数を増やすことなく、効率よく符合化データをローカルストレージに分散配置して元データのバックアップを行うことができる。
また本発明は、複数のローカルストレージに分配する符号化データの数を各ローカルストレージの信頼度に応じて決めており、信頼性が高いほど多くの符合化データを分配し、信頼性が低い場合には分配する符合化データの数を少なくすることで、ローカルストレージの故障による符合化データの消失を最小限に抑え、安定して元データの復元に必要な数の符合化データを集めることができるようにし、高い信頼性を保証しつつ、データの冗長率を抑えることができる。
また複数のローカルストレージに符合化データを分配する際には、各ローカルストレージの故障し難さ(稼働率)や使用可能容量などに応じて分配する符号化データの数を動的に決定することで、故障時の信頼性をさらに上げることができる。
更に、ローカルステージに分配する符合化データの数(データ量)が可変であるので、高性能なローカルストレージと低性能なローカルストレージ、或いはバックアップ使用可能容量の多いローカルストレージと少ないローカルストレージを一緒に使用することができ、ローカルストレージの利用効率を高め、バックアップシステムの構築を容易にする共にコストを低減できる。
図1は本発明によるバックアップシステムの一実施形態を示したシステム機能構成のブロック図である。図1において、本実施形態のバックアップシステムは、クライアント14のデータをバックアップするために構築されており、クライアント14に対しメインストレージサーバ10が接続され、メインストレージサーバ10のメインストレージ12にはクライアント14で利用者が作成したストレージ16に格納されるデータ、例えばファイルが同期してメインストレージ12に格納されている。
メインストレージサーバ10に対してはネットワーク18を介してローカルストレージサーバ20−1〜20−5が接続され、ローカルストレージサーバ20−1〜20−5はそれぞれローカルストレージ22−1〜22−5を備えており、このローカルストレージ22−1〜22−5はメインストレージ10に対し分散ストレージとして機能する。
クライアント14で作成更新したファイルをメインストレージサーバ10のメインストレージ12に格納すると、メインストレージ12に格納した利用者のファイルを元データとして、冗長度を可変な符号を用いて符号化データに変換した後に、ローカルストレージ22−1〜22−5に分配して記憶させる。メインストレージサーバ10でファイルの復元を必要とする場合には、ネットワーク18を介してローカルストレージサーバ20−1〜20−5にアクセスし、分散配置している符号化データを回収して元のファイルを復元する。
メインストレージサーバ10には、入出力部24、符号化部26、冗長度制御部28、重要度管理テーブル30、分配処理部32、分配管理テーブル34及び復元部36が設けられている。
このうちメインストレージサーバ10の基本的な機能は、符号化部26、分配処理部32及び復元部36で構成されている。符号化部26は、メインストレージ12に格納された利用者の元データとなるファイルを予め定めたブロック数nのブロックデータに分割した後に、各ブロックデータを冗長度を可変な符号、例えば本発明にあっては後の説明で明らかにするヘッダとXORデータで構成さけるランダムパリティ・ストリーム符号(RPS符号)に変換し、分割したブロック数以上の複数の符号化データを生成する。
分配処理部32は、符号化部26で生成された複数の符号化データをローカルストレージ22−1〜22−5に分配して記憶させる。復元部36は、ローカルストレージ22−1〜22−5から少なくとも元データとなるファイルの分割ブロック数分の符号化データを回収して、元のファイルを復元する。
ここで冗長度制御部28は、符号化部26における符号化処理の冗長度を変化させる。冗長度は、元データのブロック分割数をn、ランダムパリティストリーム符号により生成される符号化データの数をmとすると
冗長度Q=m/n
で表わすことができる。この冗長度Qは符号化率Rの逆数となる。即ち符号化率Rは
符号化率R=n/m=1/Q
と表わすことができる。ここで冗長度Qは1以上の値であり、一方、符号化率Rは1〜0の間の値である。
このため符号化部26にあっては、冗長度制御部28により設定された冗長度Qに基づき、元データとして分割したファイルのn個のブロックデータから冗長度Qに従ったm個の符号化データを生成することになる。更に冗長度制御部28は、元データとなるファイルの重要度に応じて、符号化部26における冗長度Qを変化させる。即ち、ファイルの重要度が高いほど冗長度Qを大きくし、ファイルの重要度が低ければ冗長度を小さくする。
ファイルの重要度の決定は、例えばファイルに含まれるキーワードを使用することができる。また重要度はキーワード以外に、ファイルの更新日時や更新頻度を使用することもできる。
また分配処理部32にあっては、ローカルストレージ22−1〜22−5に対する符号化データの分配数を、ローカルストレージ22−1〜22−5の信頼度に応じて決定することができる。即ち、ローカルストレージの信頼度が高ければ符号化データの分配数を多くし、信頼度が低ければ符号化データの分配数を小さくするように分配する。
ローカルストレージ22−1〜22−5の信頼度は、手動設定するか、あるいは稼働率や応答時間(RTT)に基づいて自動設定することができる。例えばローカルストレージの信頼度の自動設定について、まず稼働率から信頼度を決定した後に、応答時間(RTT)に応じて、その値を修正するような処理を行う。
更に、符号化データの分配数はローカルストレージの信頼度と使用可能容量に応じて決めてもよい。
復元部36は、冗長度を可変な符号としてランダムパリティストリーム符号を用いた場合、ローカルストレージ22−1〜22−5から少なくとも分割ブロック数n以上の符号化データを回収し、ガウスの消去法によりヘッダを単位行列化することにより、n個のブロックデータを復元することができる。
図2は図1のメインストレージサーバ10、ローカルストレージサーバ20−1〜20−5、更にはクライアント14が適用されるコンピュータのハードウエア環境のブロック図である。
図2において、CPU38のバス40に対しては、RAM42、ROM44、ハードディスクドライブ46、キーボード50,マウス52,ディスプレイ54を接続したデバイスインタフェース48、及びネットワークアダプタ56が設けられる。図1のメインストレージサーバ10にあっては、本実施形態のバックアップシステムを構築する処理プログラムをハードディスクドライブ46に格納しており、この処理プログラムを、コンピュータを起動した際にRAM42に読み出して、CPU38により実行することになる。
図3は本発明による符号化処理、分配処理、及び復元のための回収処理の説明図であり、更に図4に、図3の回収処理に続く復元処理を示している。本発明にあっては、図1の符号化部26において冗長度Qを可変な符号としてランダムパリティストリーム符号(RPS符号)を使用している。
ランダムパリティストリーム符号は、RAID6で用いられるリードソロモン符号よりも計算量が少なく、また冗長度Qを動的に変更することができるため、複数のローカルストレージにデータを分散配置するバックアップシステムを柔軟に構築することが可能である。
本発明で用いるランダムパリティストリーム符号の符合化は、図3に示すように、元データ58としてのファイルを予め定めたブロック数nに分割して、ブロックデータ60−1〜60−nを生成する。
実際の装置では例えば分割ブロック数n=1028、ブロックサイズ=1280バイトというように固定設定されており、分割ブロック数nとブロックサイズで決まるファイル容量を最大容量として、元データ58としてのユーザファイルを分割する。またユーザファイルが元データの最大サイズより小さい場合には、空き部分にダミーデータを入れて、一定の分割ブロック数nのブロックデータを生成する。
元データ58を分割ブロック数nに分割したブロックデータ60−1〜60−nは、ヘッダ64とXORデータ66で構成され、冗長度Qにより決まるm個の符号化データ62−1〜62−mに変換される。
符号化データ62−1を例にとると、ヘッダ64はXORデータ66を計算するために使用する元データ58における分割したブロックデータ60−1〜60−nの位置を示すnビットのビットマップデータである。例えば符号化データ62−1のヘッダ64は「10000・・・000」であり、左端の1ビットのみが「1」で残りは全て「0」となっている。
XROデータ66は、ヘッダ64のビットマップに従って元データ58から対応する1または複数のブロックデータを選択して排他論理和(XOR)を計算し、XORデータ66としてデータP1を計算して格納している。
この実施形態にあっては、n個のブロックデータ60−1〜60−nに対応した符号化データ62−1〜62−nとしては、それぞれのヘッダ64は対応するブロックデータの位置を示すビットを「1」とし、他を全て「0」としており、この結果、ヘッダ64により1つのブロックデータのみがXOR計算に使用される。
このためXORデータ66におけるP1,P2,P3,P4,・・・Pnは、ブロックデータBD1,BD2,BD3,BD4,・・・BDnと同じデータ、即ちブロックデータそのものである。
一方、分割ブロック数nを超える残りの符号化データ62−(n+1)〜62−mについては、そのヘッダ64に2以上のブロックを排他論理和計算に指定するためにビット「1」をセットしており、このヘッダ64におけるビットマップは例えばランダムに発生している。
また、符号化データ62−(n+1)〜62−mにおけるヘッダ64のビットマップとしては、後の説明で明らかにする復元処理の際の単位行列化に変換し易い数値を使用することが望ましく、この数値としては、例えば
1111・・・111
0101・・・101
1010・・・010
0000・・・111
1111・・・000
などがある。
符号化処理により生成されたm個の符号化データ62−1〜62−mは、ローカルストレージ22−1〜22−Nに均等もしくは信頼度に応じて分散配置されて記憶される。
ローカルストレージ22−1〜22−Nに分散配置された符号化データに基づく復元は、符号化データの回収68を行って回収データ70として符号化データ62−1〜62−kを求め、このk個の符号化データから図4に示すように、元のブロックデータ60−1〜60−mを復元データ74として復元することができる。
図4における復元処理は、回収データ70として得られたk個の符号化データ62−1〜62−kにおけるヘッダ64に対し、ガウスの消去法による単位行列化72の処理を行うことで、これに付加しているXORデータ66に対応した値P1〜Pnから元のブロックデータBD1〜BDnとして、ブロックデータ60−1〜60−nを復元することができる。
この復元処理の際に、図3に示すようにローカルストレージ22−1〜22−Nのうちの例えばローカルストレージ22−3で故障などにより符号化データの消失が発生したとしても、図4のように復元側で単位行列化72によりヘッダの逆行列が得られれば、元のブロックデータ60−1〜60−nを復元することができる。
即ち、本発明のランダムパリティストリーム符号を用いたデータの分散配置と、一部のデータが消失した開始による復元処理にあっては、冗長度Qにより元データ58のブロックデータ60−1〜60−nの分割nより数パーセント程度、余分となるm個の符号化データを生成して、これを分散配置しておくことで、元のデータを復元するために必要な符号化データの数をk個とすると、仮にローカルストレージが2台以上故障したとしても、残りの正常なローカルストレージから合計でk個の符号化データを集めることができれば、元データを復元することができる。
このことから本発明にあっては、ローカルストレージに分散配置して記憶するデータの重要度に応じて動的な冗長度(符号化率)の決定処理を行うようにしている。
ランダムパリティストリーム符号を用いた元データを復元可能な符号化データの数kは、生成する符号化データの数mに応じて変わるため、障害発生時におけるデータの安全性も変化する。符号化データの数mを多くするほど冗長度Qが増え、分散配置に必要なローカルストレージの総容量が増えることになるが、より確実に元データを復元することが可能になる。つまり符号化データの数mによって障害に対する耐性を調整することができる。
またランダムパリティストリーム符号における符号化の冗長度Qはバックアップするファイルごとに変更することができるため、元データとなるファイルの重要度に応じて冗長度Qを変更するように制御する。即ち、重要なファイルについては冗長度Qを増やして障害への耐性を上げ、それほど重要でないファイルについては冗長度Qを減らして障害に対する耐性を下げ、必要とするローカルストレージの容量を減らすことができる。
具体的には、元データとしてのファイルごとに予め重要度のレベルとしてV1〜Vnを決めておき、予め決定した重要度Viに応じて、生成する符号化データの数mを次式により決定する。
Figure 2007140829
この(1)式により符号化データの数mを求めるための重要度Viの決め方は、利用者が手動設定で行ってもよいし、自動的に設定してもよい。重要度の自動設定としては、例えばファイルの重要度を決定するためにキーワードをファイルに対応して登録しておき、ファイルを符号化する際に、ファイルの保有するキーワードと予め登録しているキーワードとの比較を行い、該当するキーワードがファイルに含まれている場合には、予め設定した重要度をキーワードに応じて設定する。
この場合、自動的に決定された重要度が、利用者が自動設定した重要度と大きく異なるような場合には、ユーザに自動設定された重要度を表示し、ユーザがいずれかを選択するようにしてもよい。
更にファイルの重要度を決定するパラメータとしては、ファイルの最終更新日やアクセス頻度などを使用することもできる。これらファイルの更新日時やアクセス頻度については、独立に重要度を例えばテーブル情報などにより設定して準備してもよいし、例えばキーワードに基づいて決定した重要度を最終更新日やアクセス頻度などに基づいて修正するようにしてもよい。
元データの重要度に応じて設定される符合化データの数mは、冗長度Q(=m/n)を変えることを意味し、重要度に応じて代わる冗長度Qの範囲は、冗長度を大きくしすぎるとローカルストレージに分配するデータ量が増加して利用効率が低下することから、実用的に範囲としては、例えば1.1〜1.5程度とする。
図5は符号化データ数nの算出に使用されるファイルの重要度を管理する図1の重要度管理テーブル30の説明図である。図5(A)の重要度管理テーブル30−1は、キーワード76と重要度78で構成されており、重要度を示すキーワードW1〜W5のいずれかをファイルに格納しておく。したがって、ファイルを符号化する際には、ファイルに対応したいずれかのキーワードを抽出し、重要度官吏テーブル30−1の参照により対応する重要度を設定する。
図5(B)の重要度管理テーブル30−2はファイルの最終更新日80と重要度78で構成されており、最終更新日80として例えば当日、3日未満、1週間未満、1ヶ月未満、3ヶ月未満などが設定され、これに対応して重要度V1〜V5が設定されている。この最終更新日80は、最終更新日が近いほど重要度78が高い値を持つことになる。
図5(C)の重要度管理テーブル30−3は更新頻度82と重要度78から構成されており、更新頻度82としては所定の更新頻度の範囲が5段階に分けて設定されており、更新頻度が多いほど重要度78が高い値を設定している。
この図5(A)(B)(C)に示した重要度管理テーブル30−1,30−2,30−3については、それぞれ独立に使用して重要度を設定してもよいし、例えば図5(A)の重要度管理テーブル30−1を使用してファイルのキーワード76から重要度78を決定した後、最終更新日が近ければキーワード76により設定した重要度78の値を増加するように修正し、最終更新日が古ければ小さくするように修正し、更にファイルの更新頻度により、更新頻度が高ければ重要度を高くするように修正し、更新頻度が低ければ重要度を低くするように修正する方法であってもよい。
次に図1の分散処理部32におけるローカルストレージの信頼度による符号化データの分配処理を説明する。従来のRAIDやミラーリングでは、分散ストレージを構成するためには同じ容量を持ったローカルストレージが必要になる。更に、データを確実に保存するためには全てのローカルストレージが同等の性能であることが望まれる。
これに対し本実施形態にあっては、元のデータを復元するためにはk個以上の符号化データをローカルストレージから集めることができればよいだけであり、各ローカルストレージがいくつの符号化データを持っているかは関係ない。
そこで本実施形態の符号化データの分配処理にあっては、符号化データをローカルストレージに分配する際に、信頼度の高いローカルストレージには多くの符号化データを分配して保存し、信頼度の低いローカルストレージには少ない符号化データを分配して保存する。これにより、同じ性能のローカルストレージを用意する必要がなく、より安価にローカルストレージを分散ストレージとしたバックアップシステムを構築することができる。
図6はローカルストレージ22−1〜22−5の信頼度が同一の場合のメインストレージサーバ10による符号化データ62の分配結果の説明図であり、この場合には例えばメインストレージサーバ10で符号化した20個の符号化データ62につき5台のローカルストレージ22−1〜22−5に均等に分けて、それぞれ5つの分配符号化データ94−1〜94−5を格納することになる。
図7はローカルストレージ22−1〜22−5の信頼度が異なった場合であり、例えばローカルストレージ22−1,22−2の信頼度R1,R2が同一で最も高く、次にローカルストレージ22−3,22−4の信頼度R3,R4が同一で次に高く、ローカルストレージ22−5の信頼度R5が最も低かった場合である。
このような場合には、メインストレージサーバ10で符号化した20個の符号化データ62について、信頼度R1,R2と最も高いローカルストレージ22−1,22−2には5つの分配符号化データ96−1,96−2を格納し、次に信頼度が高い信頼度R3,R4のローカルストレージ22−3,22−4には4つの分配符号化データ96−3,96−4を格納し、信頼度R5が最も低いローカルストレージ22−5については2つの分配符号化データ96−5を格納する。
このようにローカルストレージに格納する符号化データの分配数を決める信頼度としては、ストレージの信頼性の指標として一般に使用される稼動率の値を用いる。稼動率Aiは、平均故障時間MTBF(Mean Time Between Failure)と平均修理時間MTTR(Mean Time To Repare)から次式により求められる。
Figure 2007140829
ここで平均故障時間MTBFは平均して何時間に一度故障するかを表す指標であり、次式で求められる。
Figure 2007140829
また平均修理時間MTTRは故障が発生したときに修理するのにかかる時間を表しており、次式で求めることができる。
Figure 2007140829
したがって、ローカルストレージの信頼度Riは、前記(2)式の稼動率Aiを用いて次式で求められる値とする。
Figure 2007140829
更に、符号化により生成される符号化データの数がm個であり、n台のローカルストレージの信頼度がそれぞれRiであるならば、ローカルストレージに分配する符号化データの数Diは次式により決定できる。
Figure 2007140829
ここで(6)式の生成された符号化データの個数mは、前記(1)式により、元データとなるファイルの重要度Viを用いて表すことができるため、最終的には各ローカルストレージに分散される符号化データの数Viは、ファイルの重要度Viとローカルストレージの信頼度Riを用いて次式で表すことができる。
Figure 2007140829
以上の説明にあっては、ローカルストレージの信頼度Riを決定するためにローカルストレージの稼動率Aiを用いたが、メインストレージ12とローカルストレージ22−1〜22−5との間の物理的な距離であるRTT(Round Trip Time)やローカルストレージのバックアップに使用可能な容量Ciなどにより、分配する符号化データの数mを決めることもできる。
例えばメインストレージ12に対するローカルストレージの物理的な距離RTTを用いる場合には、前記(5)式で算出されたローカルストレージの信頼度Riを次式で修正する。
Figure 2007140829
またローカルストレージの使用可能容量Ciを用いる場合には、前記(6)式を次式に置き換えればよい。
Figure 2007140829
更に本発明にあっては、メインストレージサーバ10に対しネットワーク18を介して接続しているローカルストレージの台数Nが変更された際には、前記(6)式に従って変更後のローカルストレージに対する符号化データ分配数Diを再計算し、その差分だけの符号化データを再分配することになる。
図8は図1の分配処理部32でローカルストレージに符号化データを分配するために使用する分配管理テーブル34の説明図である。図8の分配管理テーブル34は、ローカルストレージ番号84、稼動率90、信頼度86及び分配データ数88で形成されており、(2)式で算出した稼動率90から(5)式により信頼度86を求めており、最終的に(6)式で算出された分配データ数88を格納している。
更に、必要があれば、ローカルストレージまでの物理的距離RRTを用いた信頼度の修正や、ローカルストレージの使用可能容量Ciを用いた(9)式による計算で求めた分配データ数をテーブルに格納し、これに基づいてローカルストレージに符号化データを分配するようにしてもよい。
図9は本実施形態で使用しているランダムパリティストリーム符号の冗長率に対する故障可能台数の関係を従来のRAIDと比較して示している。図9において、横軸はデータの冗長率であり、縦軸は復旧することが可能なローカルストレージの故障台数である。この場合にはローカルストレージの総数Nを10台としている。
このとき従来のRAID5では、特性点100に示すように故障可能なローカルストレージの台数は1台であり、データの冗長率は1.111と固定である。RAID6についても、特性点102に示すように故障可能なローカルストレージの台数は2台であり、データの冗長率は1.25と固定である。
これに対し本実施形態におけるランダムパリティストリーム符号を用いた場合には、冗長率を変更することによって、特性曲線98に示すように故障可能な台数を1台から4台まで変更することができ、ローカルストレージの故障に対して柔軟に対応することができる。
図10は図1のメインストレージサーバ10による本発明のバックアップ処理のフローチャートである。図10において、ステップS1でクライアント14からのファイル保存要求の有無をチェックしており、ファイル保存要求を受けると、ステップS2でクライアント14からの転送ファイルをメインストレージ12に保存する。続いてステップS3で保存ファイルの符号化処理を実行した後、ステップS4で符号化データをローカルストレージ22−1〜22−5に分配する分配処理を行う。
続いてステップS5でローカルストレージに構成変化、即ち台数の変化があるか否かチェックし、もしあった場合にはステップS4に戻り、符号化データの配分数を再計算し、差分となる符号化データ分の再分配を行う。
ローカルストレージの構成に変化がなければ、ステップS6でファイル復元要求の有無をチェックし、ファイル復元要求があった場合には、ステップS7でローカルストレージ22−1〜22−5から分配保存している符号化データを回収し、ステップS8で復元部36がガウス消去法によりヘッダを単位行列化して元データのファイルを復元する。このようなステップS1〜S8の処理を、ステップS9で停止指示があるまで繰り返す。
なおステップS6におけるファイル復元要求は、例えばメインストレージサーバ10のメインストレージ12でバックアップしているファイルが故障などにより消失し、故障回復によりメインストレージ12にバックアップしている元データを復元する必要が生じた場合などである。
図11は図10のステップS3における符号化処理のフローチャートである。図11において、符号化処理は、ステップS1で元データとしてのファイルの重要度の決定処理を行った後、ステップS2で、決定した重要度から前記(1)式に従って符号化データ数mを決定する。
続いてステップS3で、処理対象となる元データであるファイルをnブロック、例えばn=1028ブロックに分割した後、ステップS4で符号化データ数m分のヘッダを生成し、ステップS5でヘッダのビット1に対応するブロックを抽出して排他論理輪を計算することでXORデータを生成する。そしてステップS6で、ヘッダとXORデータを組み合わせて符号化データを生成する。
続いてステップS8でm個の符号化データを生成したか否かチェックし、生成していなければステップS5に戻り、次のヘッダについて同様にして符号化データを生成し、m個を生成すると、符号化処理を終了して図10のメインルーチンにリターンする。
図12は図11のステップS1の符号化処理に用いる重要度の決定処理のフローチャートである。図12において、重要度決定処理は、ステップS1でクライアント14によりユーザが設定した重要度Vuserを取り込み、ステップS2で自動設定重要度VをV=0に初期化する。
続いてステップS3で処理対象となるファイルにキーワードがあるか否かチェックし、キーワードがあった場合には、ステップS4で例えば図5(A)に示したような重要度管理テーブル30−1を参照し、キーワードに対応した重要度Vを取得する。
続いてステップS5でファイル最終更新日が新しいか否かチェックし、新しい場合にはステップS6に進んで、ステップS4で取得した重要度Vを所定量もしくは所定割合増加させる。一方、ファイル更新日が古い場合には、ステップS7に進み、重要度Vを所定量もしくは所定割合、減らす。
次にステップS8でデータの更新頻度が高いか否かチェックする。更新頻度が高い場合には、ステップS9で重要度Vを増やすように修正する。更新頻度が低ければ、ステップS10で重要度を減らすように修正する。
続いてステップS11で、利用者が設定した重要度VuserとステップS3〜S10の処理により自動決定した重要度Vを比較し、ステップS12で両者が大きく異なることを判別した場合には、ステップS13でクライアント14の画面上に自動決定した重要度を表示し、利用者の確認を取って、ステップS14で重要度を確定する。両者の差が大きくない場合には、そのままステップS14で重要度を確定する。
図13は図10のステップS4の符号化データの分配処理のフローチャートである。図13において、符号化データの分配処理は、ステップS1でローカルストレージの稼動率Aiを前記(2)式の演算により取得し、ステップS3でローカルストレージの信頼度Riを前記(5)式から算出する。
続いてステップS3でメインストレージ12から各ローカルストレージまでの物理的距離RTTによる修正の有無をチェックし、修正ありの場合にはステップS4に進み、ローカルストレージまでの応答時間RTTiを取得し、ステップS5で前記(8)式により信頼度Riを修正計算する。
続いてステップS6でローカルストレージの使用可能容量による修正の有無をチェックし、修正ありであれば、ステップS7でローカルストレージの使用可能容量Ciを取得し、ステップS8で前記(9)式により、信頼度Riと使用可能容量Ciからローカルストレージに送信する符号化データ数Diを算出する。
一方、ステップS6でローカルストレージ使用可能容量による修正がなかった場合には、ステップS9に進み、信頼度Riから前期(6)式により符号化データの分配数Diを算出する。なお、ステップS8,S9における符号化データ分配数の算出は、(6)式における符号化データ数mの代わりに、(7)式のように元データとなるファイルの重要度Viによる(1)式から算出するようにしてもよい。
また本発明は図1のメインストレージサーバ10のコンピュータにより実行されるバックアッププログラムを提供するものであり、このプログラムは図10,図11,図12及び図13のフローチャートに示した内容を持つ。
また本発明はバックアッププログラムを格納したコンピュータ可読の記録媒体を提供するものであり、この記録媒体としてはCD−ROM、フロッピィディスク(R)、DVDディスク、光ディスク、ICカードなどの可搬型記憶媒体や、コンピュータシステムの内外に備えられたハードディスクなどの記録装置の他、回線を介してプログラムを保持するデータベース、あるいは他のコンピュータシステム並びにそのデータベース、更に回線上の伝送媒体を含むものである。
なお、本実施形態にあっては、(1)式のように、ブロック分割数nを固定し、元データの重要度Viに応じて符合化データの数mを決めているが、即ち冗長度Q(=m/n)を変えているが、ブロック分割数nを元データの重要度に応じて
n=G(Vi)
として決めてもよい。この関係は、元データの重要度が高いほど、ブロック分割数を増加させる。
この場合、冗長度Qを例えば1.1〜1.5の範囲で固定値として設定しておくことで、ブロック分割数nが重要度Viに応じて決まれば、符合化データ数mは固定設定した冗長度Qから一義的にきまる。
また本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
ここで本発明の特徴をまとめて列挙すると次の付記のようになる。
(付記)

(付記1)
元データを記憶するメインストレージ装置と、
前記メインストレージ装置のデータを分散して記憶する複数のローカルストレージ装置と、
前記元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化部と、
前記符合化部における冗長度を変化させる冗長度制御部と、
前記複数の符合化データを、前記複数のローカルストレージ装置に分配して記憶させる分配処理部と、
前記ローカルストレージ装置から少なくとも前記元データの分割数分の符合化データを回収して前記元データを復元する復元部と、
を備えたことを特徴とするバックアップシステム。(1)
(付記2)
付記1記載のバックアップシステムに於いて、
前記符合化部は、
元データをn個のブロックデータに分割するブロック分割部と、
前記n個のブロックデータの中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、前記ヘッダ部で指定された1又は複数のブロックデータの排他論理和データから構成される符合化データを、冗長度Qに応じた数mだけ生成する符合データ生成部と、
を備え、
前記復元部は、前記複数のローカルストレージ装置から前記ブロック数n以上の符合化データを回収し、ガウスの消去法により前記ヘッダ部を単位行列化することにより前記n個のブロックデータを復元することを特徴とするバックアップシステム。(2)
(付記3)
付記1記載のバックアップ方法に於いて、前記冗長度制御部は、前記元データの重要度に応じて前記符合化部おける冗長度を変化させることを特徴とするバックアップ方法。
(付記4)
付記3記載のバックアップシステムに於いて、前記冗長度制御部は、前記元データの重要度を手動設定、若しくは前記元データに含まれるキーワード、更新日時、又は更新頻度に応じて自動設定することを特徴とするバックアップシステム。
(付記5)
付記4記載のバックアップシステムに於いて、前記冗長度制御部は、重要度の自動設定として、元データに含まれるキーワードから対応する重要度を設定した後、更新日時及び又は更新頻度に応じて前記重要度を修正することを特徴とするバックアップシステム。
(付記6)
付記1記載のバックアップシステムに於いて、前記分配処理部は、前記複数の符合化データの分配数を、前記複数のローカルストレージ装置の信頼度及び又は使用可能容量に応じて決定することを特徴とするバックアップシステム。
(付記7)
付記6記載のバックアップシステムに於いて、前記分配御部は、前記ローカルストレージ装置の信頼度を、手動設定若しくは稼働率又は応答時間(RTT)に基づいて自動設定することを特徴とするバックアップシステム。
(付記8)
付記6記載のバックアップシステムに於いて、前記分配御部は、前記ローカルストレージ装置の重要度を稼働率に応じて設定した後に、前記ローカルストレージの応答時間(RTT)に応じて修正することを特徴とするバックアップシステム。
(付記9)
付記1記載のバックアップシステムに於いて、前記ローカルストレージ装置が新規追加または削除された時には、変更後のローカルストレージ装置に基づいて、前記符合化部で符合化データを再生成した後に前記分配処理ステップで再分配することを特徴とするバックアップシステム。
(付記10)
付記1記載のバックアップシステムに於いて、前記メインストレージ装置はクライアントのストレージ装置のデータに同期して前記元データを記憶し、前記メインストレージ装置に対し前記複数のローカルストレージ装置はネットワーク接続されたことを特徴とするバックアップシステム。
(付記11)
元データを記憶するメインストレージ装置と、前記ストレージ装置のデータを分散して記憶する複数のローカルストレージ装置とを備えたシステムのバックアップ方法に於いて、
前記元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化ステップと、
前記符合化ステップにおける冗長度を変化させる冗長度制御ステップと、
前記複数の符合化データを、前記複数のローカルストレージ装置に分配して記憶させる分配処理ステップと、
前記ローカルストレージ装置から少なくとも前記元データの分割数分の符合化データを回収して前記元データを復元する復元ステップと、
を備えたことを特徴とするバックアップ方法。(3)
(付記12)
付記11記載のバックアップ方法に於いて、
前記符合化ステップは、
元データをn個のブロックデータに分割するブロック分割ステップと、
前記n個のブロックデータの中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、前記ヘッダステップで指定された1又は複数のブロックデータの排他論理和データから構成される符合化データを、冗長度Qに応じた数mだけ生成する符合データ生成ステップと、
を備え、
前記復元ステップは、前記複数のローカルストレージ装置から前記ブロック数n以上の符合化データを回収し、ガウスの消去法により前記ヘッダステップを単位行列化することにより前記n個のブロックデータを復元することを特徴とするバックアップ方法。(4)
(付記13)
付記11記載のバックアップ方法に於いて、前記冗長度制御ステップは、前記元データの重要度に応じて前記符合化ステップにおける冗長度を変化させることを特徴とするバックアップ方法。
(付記14)
付記13記載のバックアップ方法に於いて、前記冗長度制御ステップは、前記元データの重要度を手動設定、若しくは前記元データに含まれるキーワード、更新日時、又は更新頻度に基づいて自動設定することを特徴とするバックアップ方法。
(付記15)
付記11記載のバックアップ方法に於いて、前記分配処理ステップは、前記複数の符合化データの分配数を、前記複数のローカルストレージ装置の信頼度及び又は使用可能容量に応じて決定することを特徴とするバックアップ方法。
(付記16)
付記11記載のバックアップ方法に於いて、前記ローカルストレージ装置が新規追加または削除された時には、変更後のローカルストレージ装置に基づいて、前記符合化部で符合化データを再生成した後に前記分配処理ステップで再分配することを特徴とするバックアップ方法。
(付記17)
元データを複数のローカルストレージ装置に分散して記憶するメインストレージ装置のコンピュータに、
前記元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化ステップと、
前記符合化ステップにおける冗長度を変化させる冗長度制御ステップと、
前記複数の符合化データを、前記複数のローカルストレージ装置に分配して記憶させる分配処理ステップと、
前記ローカルストレージ装置から少なくとも前記元データの分割数分の符合化データを回収して前記元データを復元する復元ステップと、
を実行させることを特徴とするバックアッププログラム。(5)
(付記18)
付記17記載のバックアッププログラムに於いて、
前記符合化ステップは、
元データをn個のブロックデータに分割するブロック分割ステップと、
前記n個のブロックデータの中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、前記ヘッダステップで指定された1又は複数のブロックデータの排他論理和データから構成される符合化データを、冗長度Qに応じた数mだけ生成する符合データ生成ステップと、
を備え、
前記復元ステップは、前記複数のローカルストレージ装置から前記ブロック数n以上の符合化データを回収し、ガウスの消去法により前記ヘッダステップを単位行列化することにより前記n個のブロックデータを復元することを特徴とするバックアッププログラム。
(付記19)
付記17記載のバックアッププログラムに於いて、前記冗長度制御ステップは、前記元データの重要度を手動設定、若しくは前記元データに含まれるキーワード、更新日時、又は更新頻度に基づいて自動設定することを特徴とするバックアッププログラム。
(付記20)
付記17記載のバックアッププログラムに於いて、前記分配処理ステップは、前記複数の符合化データの分配数を、前記複数のローカルストレージ装置の信頼度及び又は使用可能容量に応じて決定することを特徴とするバックアッププログラム。
本発明の一実施形態を示したシステム機能構成のブロック図 図1のサーバが適用されるコンピュータのハードウェア環境のブロック図 本発明による符合化処理、分配処理及び復元のための回収処理の説明図 図3の回収処理に続く復元処理の説明図 図1の重要度管理テーブルの説明図 ローカルストレージに均等配分した配分処理の説明図 信頼度に応じてローカルストレージに配分した配分処理の説明図 図1の分配管理テーブルの説明図 本発明による符合化データとRAIDにおける冗長率と故障可能台数の特性図 本発明によるバックアップ処理のフローチャート 図10のステップS3における符合化処理のフローチャート 図11のステップS1における重要度決定処理のフローチャート 図10のステップS4における分配処理のフローチャート RAID1を用いた従来の分散ストレージの説明図 RAID5を用いた従来の分散ストレージの説明図 RAID6を用いた従来の分散ストレージの説明図
符号の説明
10:メインストレージサーバ
12:メインストレージ
14:クライアント
16:ストレージ
18:ネットワーク
20−1〜20−5:ローカルストレージサーバ
22−1〜22−5:ローカルストレージ
24:入出力部
26:符合化部
28:冗長度制御部
30,30−1〜30−3:重要度管理テーブル
32:分配処理部
34:分配管理テーブル
36:復元部
38:CPU
42:RAM
44:ROM
46:ハードディスクドライブ
48:デバイスインタフェース
50:キーボード
52:マウス
54:ディスプレイ
56:ネットワークアダプタ
58:元データ
60−1〜60−n:ブロックデータ
62,62−1〜62−m:符合化データ
64:ヘッダ
66:XORデータ
68:回収
70:回収データ
72:単位行列化
74:復元データ
76:キーワード
78:重要度
80:最終更新日
82:更新頻度
84:ローカルストレージ番号
86:信頼度
88:分配データ数
94−1〜94−5,96−1〜96−5:分配符合化データ

Claims (5)

  1. 元データを記憶するメインストレージ装置と、
    前記メインストレージ装置のデータを分散して記憶する複数のローカルストレージ装置と、
    前記元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化部と、
    前記符合化部における冗長度を変化させる冗長度制御部と、
    前記複数の符合化データを、前記複数のローカルストレージ装置に分配して記憶させる分配処理部と、
    前記ローカルストレージ装置から少なくとも前記元データの分割数分の符合化データを回収して前記元データを復元する復元部と、
    を備えたことを特徴とするバックアップシステム。
  2. 請求項1記載のバックアップシステムに於いて、
    前記符合化部は、
    元データをn個のブロックデータに分割するブロック分割部と、
    前記n個のブロックデータの中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、前記ヘッダ部で指定された1又は複数のブロックデータの排他論理和データから構成される符合化データを、冗長度Qに応じた数mだけ生成する符合データ生成部と、
    を備え、
    前記復元部は、前記複数のローカルストレージ装置から前記ブロック数n以上の符合化データを回収し、ガウスの消去法により前記ヘッダ部を単位行列化することにより前記n個のブロックデータを復元することを特徴とするバックアップシステム。
  3. 元データを記憶するメインストレージ装置と、前記ストレージ装置のデータを分散して記憶する複数のローカルストレージ装置とを備えたシステムのバックアップ方法に於いて、
    前記元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化ステップと、
    前記符合化ステップにおける冗長度を変化させる冗長度制御ステップと、
    前記複数の符合化データを、前記複数のローカルストレージ装置に分配して記憶させる分配処理ステップと、
    前記ローカルストレージ装置から少なくとも前記元データの分割数分の符合化データを回収して前記元データを復元する復元ステップと、
    を備えたことを特徴とするバックアップ方法。
  4. 請求項3記載のバックアップ方法に於いて、
    前記符合化ステップは、
    元データをn個のブロックデータに分割するブロック分割ステップと、
    前記n個のブロックデータの中の排他論理和をとる1又は複数のブロックを指定するビットマップを配置したヘッダと、前記ヘッダステップで指定された1又は複数のブロックデータの排他論理和データから構成される符合化データを、冗長度Qに応じた数mだけ生成する符合データ生成ステップと、
    を備え、
    前記復元ステップは、前記複数のローカルストレージ装置から前記ブロック数n以上の符合化データを回収し、ガウスの消去法により前記ヘッダステップを単位行列化することにより前記n個のブロックデータを復元することを特徴とするバックアップ方法。
  5. 元データを複数のローカルストレージ装置に分散して記憶するメインストレージ装置のコンピュータに、
    前記元データを分割した後に、冗長度を可変な符号を用いて分割数以上の複数の符合化データを生成する符合化ステップと、
    前記符合化ステップにおける冗長度を変化させる冗長度制御ステップと、
    前記複数の符合化データを、前記複数のローカルストレージ装置に分配して記憶させる分配処理ステップと、
    前記ローカルストレージ装置から少なくとも前記元データの分割数分の符合化データを回収して前記元データを復元する復元ステップと、
    を実行させることを特徴とするバックアッププログラム。
JP2005332790A 2005-11-17 2005-11-17 バックアップシステム、方法及びプログラム Expired - Fee Related JP4546387B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005332790A JP4546387B2 (ja) 2005-11-17 2005-11-17 バックアップシステム、方法及びプログラム
US11/407,109 US7739465B2 (en) 2005-11-17 2006-04-20 Backup system, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005332790A JP4546387B2 (ja) 2005-11-17 2005-11-17 バックアップシステム、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2007140829A true JP2007140829A (ja) 2007-06-07
JP4546387B2 JP4546387B2 (ja) 2010-09-15

Family

ID=38042295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005332790A Expired - Fee Related JP4546387B2 (ja) 2005-11-17 2005-11-17 バックアップシステム、方法及びプログラム

Country Status (2)

Country Link
US (1) US7739465B2 (ja)
JP (1) JP4546387B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006318467A (ja) * 2005-05-09 2006-11-24 Internatl Business Mach Corp <Ibm> トレリス・デコード再ビルドを伴う畳み込みエンコードraid
JP2007206993A (ja) * 2006-02-02 2007-08-16 Fujitsu Ltd ストレージシステム、制御方法及びプログラム
JP2007258796A (ja) * 2006-03-20 2007-10-04 Fujitsu Ltd Ip送信装置およびip送信方法
JP2009252201A (ja) * 2008-04-11 2009-10-29 Nec Corp ディスクアレイ装置
JPWO2009050761A1 (ja) * 2007-10-15 2011-02-24 富士通株式会社 ストレージシステム、ストレージ制御装置、ストレージシステムの制御方法及びそのプログラム
JP2015520588A (ja) * 2012-06-08 2015-07-16 株式会社Nttドコモ Fec技法を使用したキー値に基づく記憶システムに対する低遅延アクセスのための方法及びシステム
KR101756136B1 (ko) * 2016-01-22 2017-07-26 계명대학교 산학협력단 계층적 구조를 갖는 시스템의 정보 결함허용 방법

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12061519B2 (en) 2005-09-30 2024-08-13 Purage Storage, Inc. Reconstructing data segments in a storage network and methods for use therewith
US11327674B2 (en) * 2012-06-05 2022-05-10 Pure Storage, Inc. Storage vault tiering and data migration in a distributed storage network
US8806227B2 (en) * 2006-08-04 2014-08-12 Lsi Corporation Data shredding RAID mode
JP4973145B2 (ja) * 2006-11-20 2012-07-11 船井電機株式会社 管理サーバ及びコンテンツ移動システム
FI120809B (fi) * 2007-11-26 2010-03-15 Abb Oy Taajuusmuuttaja ja menetelmä taajuusmuuttajan muistiin talletetun datan ylläpitämiseksi
US8630987B2 (en) * 2008-07-16 2014-01-14 Cleversafe, Inc. System and method for accessing a data object stored in a distributed storage network
US8145838B1 (en) * 2009-03-10 2012-03-27 Netapp, Inc. Processing and distributing write logs of nodes of a cluster storage system
US8327186B2 (en) * 2009-03-10 2012-12-04 Netapp, Inc. Takeover of a failed node of a cluster storage system on a per aggregate basis
US8769055B2 (en) * 2009-04-24 2014-07-01 Microsoft Corporation Distributed backup and versioning
US8935366B2 (en) * 2009-04-24 2015-01-13 Microsoft Corporation Hybrid distributed and cloud backup architecture
US8560639B2 (en) * 2009-04-24 2013-10-15 Microsoft Corporation Dynamic placement of replica data
US8769049B2 (en) * 2009-04-24 2014-07-01 Microsoft Corporation Intelligent tiers of backup data
US8069366B1 (en) 2009-04-29 2011-11-29 Netapp, Inc. Global write-log device for managing write logs of nodes of a cluster storage system
KR101074010B1 (ko) * 2009-09-04 2011-10-17 (주)이스트소프트 블록 단위 데이터 압축 및 복원 방법 및 그 장치
KR101016776B1 (ko) * 2009-09-21 2011-02-25 (주)이스트소프트 상위 호환성 보장형 압축 및 복원 방법 및 장치
US8707088B2 (en) * 2010-05-19 2014-04-22 Cleversafe, Inc. Reconfiguring data storage in multiple dispersed storage networks
US10284437B2 (en) 2010-09-30 2019-05-07 Efolder, Inc. Cloud-based virtual machines and offices
US9705730B1 (en) 2013-05-07 2017-07-11 Axcient, Inc. Cloud storage using Merkle trees
WO2012147087A1 (en) * 2011-04-29 2012-11-01 Tata Consultancy Services Limited Archival storage and retrieval system
CN102799543B (zh) * 2012-08-10 2015-12-02 杭州极云网络技术有限公司 在动态变化的存储介质上分散存储数据及恢复方法
US9785647B1 (en) 2012-10-02 2017-10-10 Axcient, Inc. File system virtualization
US9852140B1 (en) 2012-11-07 2017-12-26 Axcient, Inc. Efficient file replication
US9952936B2 (en) * 2012-12-05 2018-04-24 Hitachi, Ltd. Storage system and method of controlling storage system
US9397907B1 (en) 2013-03-07 2016-07-19 Axcient, Inc. Protection status determinations for computing devices
CN103365739B (zh) * 2013-08-02 2016-03-02 深圳市瑞耐斯技术有限公司 一种nand闪存存储设备及其数据恢复方法
US9857974B2 (en) * 2013-10-03 2018-01-02 International Business Machines Corporation Session execution decision
US9229821B2 (en) 2013-11-13 2016-01-05 International Business Machines Corporation Reactionary backup scheduling around meantime between failures of data origination
US10146455B2 (en) * 2014-07-08 2018-12-04 Osr Enterprises Ag Device, system and method for storing data
CN117056130B (zh) * 2023-09-06 2024-10-18 飞创信息科技有限公司 一种虚拟磁带库备份系统及备份方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08508838A (ja) * 1993-06-23 1996-09-17 峰忠 小佐野 有限要素法の新しい解析法及び解析器
JP2003296176A (ja) * 2002-03-29 2003-10-17 Fujitsu Social Science Laboratory Ltd 分散格納方法および装置
WO2004030273A1 (ja) * 2002-09-27 2004-04-08 Fujitsu Limited データ配信方法、システム、伝送方法及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657468A (en) * 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
JP3736134B2 (ja) 1998-08-28 2006-01-18 日本電信電話株式会社 分散記憶方法及び分散記憶システム及び分散記憶プログラムを記録した記録媒体
US6320520B1 (en) * 1998-09-23 2001-11-20 Digital Fountain Information additive group code generator and decoder for communications systems
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US6411223B1 (en) * 2000-10-18 2002-06-25 Digital Fountain, Inc. Generating high weight encoding symbols using a basis
JP2004126716A (ja) * 2002-09-30 2004-04-22 Fujitsu Ltd 広域分散ストレージシステムを利用したデータ格納方法、その方法をコンピュータに実現させるプログラム、記録媒体、及び広域分散ストレージシステムにおける制御装置
JP2004192483A (ja) 2002-12-13 2004-07-08 Hitachi Ltd 分散ストレージシステムの管理方法
US7406621B2 (en) * 2004-04-02 2008-07-29 Seagate Technology Llc Dual redundant data storage format and method
US7263588B1 (en) * 2004-05-17 2007-08-28 United States Of America As Represented By The Secretary Of The Navy Data storage system using geographically-distributed storage devices/facilities

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08508838A (ja) * 1993-06-23 1996-09-17 峰忠 小佐野 有限要素法の新しい解析法及び解析器
JP2003296176A (ja) * 2002-03-29 2003-10-17 Fujitsu Social Science Laboratory Ltd 分散格納方法および装置
WO2004030273A1 (ja) * 2002-09-27 2004-04-08 Fujitsu Limited データ配信方法、システム、伝送方法及びプログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006318467A (ja) * 2005-05-09 2006-11-24 Internatl Business Mach Corp <Ibm> トレリス・デコード再ビルドを伴う畳み込みエンコードraid
US8245113B2 (en) 2005-05-09 2012-08-14 International Business Machines Corporation Convolution-encoded RAID with trellis-decode-rebuild
JP2007206993A (ja) * 2006-02-02 2007-08-16 Fujitsu Ltd ストレージシステム、制御方法及びプログラム
JP4718340B2 (ja) * 2006-02-02 2011-07-06 富士通株式会社 ストレージシステム、制御方法及びプログラム
JP2007258796A (ja) * 2006-03-20 2007-10-04 Fujitsu Ltd Ip送信装置およびip送信方法
JP4696008B2 (ja) * 2006-03-20 2011-06-08 富士通株式会社 Ip送信装置およびip送信方法
US8321766B2 (en) 2006-03-20 2012-11-27 Fujitsu Limited IP-data transmitting apparatus and IP-data transmitting method
JPWO2009050761A1 (ja) * 2007-10-15 2011-02-24 富士通株式会社 ストレージシステム、ストレージ制御装置、ストレージシステムの制御方法及びそのプログラム
JP2009252201A (ja) * 2008-04-11 2009-10-29 Nec Corp ディスクアレイ装置
JP2015520588A (ja) * 2012-06-08 2015-07-16 株式会社Nttドコモ Fec技法を使用したキー値に基づく記憶システムに対する低遅延アクセスのための方法及びシステム
KR101756136B1 (ko) * 2016-01-22 2017-07-26 계명대학교 산학협력단 계층적 구조를 갖는 시스템의 정보 결함허용 방법

Also Published As

Publication number Publication date
US20070113032A1 (en) 2007-05-17
JP4546387B2 (ja) 2010-09-15
US7739465B2 (en) 2010-06-15

Similar Documents

Publication Publication Date Title
JP4546387B2 (ja) バックアップシステム、方法及びプログラム
JP4718340B2 (ja) ストレージシステム、制御方法及びプログラム
US7827439B2 (en) System and method of redundantly storing and retrieving data with cooperating storage devices
EP2394220B1 (en) Distributed storage of recoverable data
US10102069B2 (en) Maintaining data storage in accordance with an access metric
Xin et al. Reliability mechanisms for very large storage systems
US9690657B2 (en) Writing data across storage devices in an erasure-coded system
EP3014450B1 (en) Erasure coding across multiple zones
CN101488104B (zh) 一种实现高效安全存储的系统和方法
US9811533B2 (en) Accessing distributed computing functions in a distributed computing system
EP2250563B1 (en) Storage redundant array of independent drives
US8484506B2 (en) Redundant array of independent disks level 5 (RAID 5) with a mirroring functionality
US11748009B2 (en) Erasure coding with overlapped local reconstruction codes
JP7355616B2 (ja) 分散ストレージシステムおよび分散ストレージシステムのパリティ更新方法
US12079083B2 (en) Rebuilding missing data in a storage network via locally decodable redundancy data
JP6375886B2 (ja) パリティレイアウト決定プログラム、パリティレイアウト決定方法、ストレージ装置およびストレージシステム
US20190012234A1 (en) Dynamically shifting tasks in distributed computing data storage
US20190138394A1 (en) Prioritized rebuilds using dispersed indices
EP3713094A1 (en) Application of the mojette transform to erasure correction for distributed storage
JP2004348281A (ja) 冗長記憶装置、方法、およびプログラム
Janakiram et al. ExR: A scheme for exact regeneration of a failed node in a distributed storage system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100608

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100701

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees