JP5878548B2 - 重複排除ストレージ・システム、その内部の合成バックアップを容易にする方法、及び、プログラム - Google Patents

重複排除ストレージ・システム、その内部の合成バックアップを容易にする方法、及び、プログラム Download PDF

Info

Publication number
JP5878548B2
JP5878548B2 JP2013541283A JP2013541283A JP5878548B2 JP 5878548 B2 JP5878548 B2 JP 5878548B2 JP 2013541283 A JP2013541283 A JP 2013541283A JP 2013541283 A JP2013541283 A JP 2013541283A JP 5878548 B2 JP5878548 B2 JP 5878548B2
Authority
JP
Japan
Prior art keywords
deduplication
data
segment
input data
storage
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.)
Active
Application number
JP2013541283A
Other languages
English (en)
Other versions
JP2014503886A (ja
Inventor
アロノビッチ、リオール
トーフ、ヤイール
ヒルシュ、マイケル
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014503886A publication Critical patent/JP2014503886A/ja
Application granted granted Critical
Publication of JP5878548B2 publication Critical patent/JP5878548B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は一般にコンピュータに関し、より具体的にはコンピューティングストレージ環境における重複排除(deduplication)ストレージ・システム内の合成バックアップを容易にすることに関する。
データ重複排除とは、冗長データを減らすこと及び/又は排除を意味する。データ重複排除プロセスにおいて、データの重複コピーが減らされ又は排除され、それぞれデータの最小限の量の冗長コピー又は単一のコピーが残される。重複排除プロセスを使用することにより、必要とされるストレージ容量の削減及びネットワーク帯域幅の削減などの様々な利益がもたらされる。これら及び他の利益のために、近年、重複排除がコンピューティングストレージシステムにおける非常に重要な技術分野として浮上してきた。重複排除機能を提供するための課題は、通常は大容量のストレージリポジトリ内で重複データ・パターンを効率的に見出すこと、及び、重複排除されたストレージに効率的な形態でデータ・パターンを格納することなどの局面を含む。
米国特許第7,523,098号
本発明の課題は、重複排除ストレージ・システム内の合成バックアップの構築を容易にする方法及びシステムを提供することである。
バックアップ環境において、完全バックアップは、バックアップされる全データ・セットを含む。増分バックアップは、最新のバックアップが完全バックアップであっても、増分バックアップであっても、その最新バックアップの後に修正されたデータ・セットの部分のみを含む(通常、ファイルの解像度で)。差分バックアップは、最新の完全バックアップの後に修正されたデータ・セットの部分のみを含む。増分及び差分バックアップの利点は、完全バックアップよりも含むデータが少ないのでストレージ及び処理時間の点でより効率的であることである。
ある特定の時点までのバックアップされたデータ・セットを完全に復元するためには、普通、その時点に先立つ完全バックアップが復元され、次にその時点までの全てのその後の増分バックアップがそれらの経時的順序で復元される。同様のプロセスが差分バックアップを用いて行われるが、この場合には完全バックアップを復元した後で復元すべきなのは一般に1つの差分バックアップのみである。明らかに、そのような復元動作は時間がかかり、単一のバックアップを復元するよりも複雑である。
上記の復元プロセスの複雑さを軽減するために、合成バックアップの考えが導入された。合成バックアップは、完全バックアップ及びその後の特定の時点に至るまでの増分バックアップからのデータが1つの合成バックアップ内に組み込まれるプロセスを用いる、バックアップ・アプリケーションによって構築される。作成された合成バックアップは、実際にはその時点に対応する完全バックアップである。そのようなバックアップは、データがソースから読み出されてバックアップとして格納される正規のバックアップ・プロセスによって作成されるのではなく、既存のバックアップのデータを用いて合成バックアップが構築される「合成」プロセスによって作成されることから、「合成」と呼ばれる。合成バックアップの復元は、完全バックアップの復元と同じく簡単であり、前述の増分バックアップ又は差分バックアップを復元するプロセスよりも迅速に行われる。合成バックアップの付加的な利点は、合成バックアップの作成が、データに関して同一の完全バックアップの作成に比べてより速いことである。
合成バックアップによってもたらされる効率及びその他の特性における利点のために、合成バックアップ機能及び関連するアーキテクチャを重複排除ストレージ・システム内に組み込むことが望ましい。従って、重複排除ストレージ・システムにおける合成バックアップの構築を容易にするための種々の実施形態を提供する。一実施形態において、例示のみを目的として、重複排除ストレージ・システムは、バックアップ・アプリケーションから、ソース及びターゲット・データを記述する一連の圧縮メタデータ命令を受け取り、これに基づいて、重複排除ストレージ・システムは、構築中の合成バックアップのために作成されるメタデータ構造の中に既存のバックアップのデータに対する参照を追加することにより、合成バックアップを効率的に構築する。さらに別の実施形態において、例示のみを目的として、重複排除ストレージ・システムは、既に構築された合成バックアップのデータを用いて新規入力データを重複排除することを可能にし、この目的のために、構築中の合成バックアップに関する重複排除ダイジェストを、合成バックアップによって参照されるデータの既存のダイジェストに基づいて効率的に計算する。構築中の合成バックアップの複数の入力データ・セグメントの各々の入力データ・セグメントに対して、該入力データ・セグメントによって参照される格納データ・セグメントの複数の重複排除ダイジェストがインデックスから取り出される。各々のデータ・セグメントは、複数の固定サイズのデータ・サブ・セグメントの各々に分割され、複数の入力データ・サブ・セグメントの各々が、複数の格納データ・サブ・セグメントを参照することができる。複数の入力データ・サブ・セグメントの各々に対して、入力データ・サブ・セグメントに関する重複排除ダイジェストを生成する計算が実行され、その計算は、入力データ・サブ・セグメントによって参照される複数の格納データ・サブ・セグメントの取り出された重複排除ダイジェストに基づく。複数のサブ・セグメント重複排除ダイジェストが集約されて、各々の入力データ・セグメントの重複排除ダイジェストが生成される。各々の入力データ・セグメントの重複排除ダイジェストが、合成バックアップの重複排除ダイジェストを形成する。
前述の例示的な方法の実施形態に加えて、他の例示的なシステム及びコンピュータ製品の実施形態が提供され、関連する利点が提供される。
これから、本発明の実施形態を、添付の図面を参照しながら単に例証として説明する。
例示的な合成バックアップ・アーキテクチャを示す。 合成バックアップの例示的な構築フローを示す。 データ・パターン内の例示的な参照手法を示す。 重複排除ストレージ・システムにおける使用のための合成バックアップを構築する例示的な方法を示す。 例示的な重複排除プロセスを示す。 例示的なデータの最大ブロック及びシフト・ブロックを示す。 入力データ・セグメントに関するk個及びm個の識別特性の例示的な計算を示す。 例示的な識別特性(DC)及びストレージ識別子(SI)のインデックスを示す。 格納サブ・セグメントによる入力サブ・セグメントの例示的なマッピングを示す。 図11と共に、合成バックアップ内のデータ・セグメントの識別特性を計算する例示的な方法を示す。 図10と共に、合成バックアップ内のデータ・セグメントの識別特性を計算する例示的な方法を示す。 例証的な実施形態の態様を実装することができる、プロセッサ・デバイスを含む重複排除システムの例示的な部分を示す。
図1は、例示的な合成バックアップのアーキテクチャ10を示す。アーキテクチャ10は、図に示すようにタイム・ライン12にわたって実施される。完全バックアップ14は最も初期の時点で作成される。この時間から、増分バックアップ16、18、及び20が図に示すような後続の間隔で実行される。完全バックアップ14並びに増分バックアップ16、18及び20の各々を、図に示すように、そして以下でさらに説明するように合成バックアップ22に組み込むことができる。
合成バックアップ22のような合成バックアップの構築は、普通は既存のバックアップ14、16、18、及び20からのデータを合成バックアップ22内にコピーすることからなる。コピーは、バックアップ・アプリケーションにより、ソース・バックアップからデータ・セグメントを読み出し、これらのデータ・セグメントをターゲットの合成バックアップ内に書込むことにより実行することもでき、又は、より効率的には、ストレージ・システムにより、ソース及びターゲット・データ・セグメントを識別するバックアップ・アプリケーションにより供給される情報を用いてデータのコピーを実行することができる。
次の図2は、これら2つの場合を合成バックアップの例示的な構築フロー30で示す。第1の場合には、上述のように、バックアップ・アプリケーション32は、図示するようにストレージデバイス40と通信するストレージサーバ36との通信によって、ソース・バックアップからデータ・セグメントを読み出し、これらデータ・セグメントをターゲットの合成バックアック内に書込む。第2の場合には、やはり上述のように、ストレージデバイス42と通信するストレージサーバ38が、やはり図示するようにバックアップ・アプリケーション34から得られるソース及びターゲット・データ・セグメントを識別するメタデータ情報を用いて、合成バックアップの構築中にデータをコピーする。
例証的な実施形態の機構は、重複排除ストレージ・システム内での合成バックアップの効率的な構築を規定する。重複排除ストレージ・システムは、一般に、新規入力データのセグメントを既存のデータのセグメントによって効率的に表すように設計されている。入力データを処理してストレージ内の整合するセグメントを見出し、次いでこれらが、新規データを格納するプロセスにおいて(データ自体を格納するのではなく)参照される。整合しないデータ・セグメントだけが実データとしてストレージ内に書込まれる。参照は、実データ(参照なし)として格納されている物理データ・パターンとすることもでき、又は、物理データ・パターン及び論理データ・パターンの両方に対する参照とすることもでき、この場合、後者はそれ自体が、物理及び論理パターンに対する参照の集合である。
合成バックアップの効率的な構築のための例証的な実施形態の第1の態様は、バックアップ・アプリケーションが、データ・コピー動作を用いて合成バックアップを構築するのではなく、重複排除ストレージ・システムに対して、既存の(ソース)バックアップのデータ・セグメントと構築中の(ターゲット)合成バックアップ内でのその指定位置とを指定する一連の圧縮メタデータ命令を発行することができることである。例証的な実施形態は、重複排除ストレージ・システム内でこれら命令を効率的に処理して合成バックアップを構築することを規定する。
例証的な実施形態の1つにおいて、重複排除ストレージ・システム内で、それら命令の各々が効率的に処理され、その結果、その命令によって参照されるデータ・セグメントに関連付けられたメタデータが取り出され、この情報に基づいて、既存バックアップのデータ・セグメントに対する参照が作成され、構築中の合成バックアップのメタデータに加えられる。さらに、バックアップ・アプリケーションによって発行された入力命令をストレージ・システムにより最適化して処理効率を向上させることができる。一例は、隣接するソース・データ・セグメントを参照する命令を統合して、このプロセス内でのストレージ・アクセスの効率を向上させることである。この方法により、合成バックアップは、重複排除ストレージ・システムにより通常本来的にサポートされている内部的な高速メタデータ動作である参照動作を用いて高度に効率的なプロセスで構築される。
例証的な実施形態の機構はまた、合成バックアップのデータを用いて新規入力データを重複排除することも可能にする。これは、重複排除プロセス中のストレージ内の類似データ・セグメントの検索に役立つ、合成バックアップのデータのダイジェストを計算し、このダイジェストを、本明細書ではダイジェスト・インデックスと呼ぶ重複排除を促進するインデックス内に挿入することによって達成される。新規入力データが処理されるときに、その入力データのダイジェストが計算され、ダイジェスト・インデックス内で検索される。整合するダイジェスト(各々がストレージ内の類似のデータ・セグメントを指示する)がインデックス内で見出された場合には、付加的なプロセスを用いてストレージ内の正確な整合データ・セグメントが精徴化され(refine)識別される。このようにして、合成バックアップのデータを後で重複排除プロセス内の新規入力データと整合させることができる。
さらに、例証的な実施形態の機構において、合成バックアップのデータのダイジェストは、合成バックアップのデータ自体に基づいて新たに計算されるのではなく、合成バックアップによって参照されるデータ・セグメントの既存の格納されたダイジェストに基づいて効率的に計算される。このことにより、合成バックアップの構築中に合成バックアップのデータへのアクセスを減らすことが可能になり、さらに、データ自体に基づくダイジェストの計算を減らすことが可能になる。例証的な実施形態の機構は、合成バックアップに関する重複排除ダイジェストの計算を著しく加速し、従って、合成バックアップの構築時間全体を著しく改善する。例証的な実施形態の態様を実現することができる重複排除ストレージ・システムの例示的な一実施形態において実装することができる、重複排除のためのデータのダイジェストを計算して使用するための方法は、引用によりその関連部分が本明細書に組み入れられる「Systems and Methods for Efficient Data Searching, Storage and Reduction」と題する特許文献1で明記されている。
例証的な実施形態の一つの態様は次のように要約される。合成バックアップの入力データ・セグメントに対して、該入力データ・セグメントにより参照される格納データ・セグメントの精細化された(fine−grained)重複排除ダイジェストがインデックスから取り出される。入力データ・セグメントは、固定サイズのサブ・セグメントに分割され、これらサブ・セグメントの各々は、複数の格納サブ・セグメントを参照することができる(アラインメントに応じて)。入力サブ・セグメントの各々に対して、該入力サブ・セグメントに関する重複排除ダイジェストを生成する計算が実行され、この計算は、入力サブ・セグメントによって参照された格納サブ・セグメントの取り出された重複排除ダイジェストに基づく。この計算を完了できない特定の場合には、入力サブ・セグメントのデータに基づいて重複排除ダイジェストが計算される。しかし、これらの場合の頻度は、計算を完了することができる場合に比べて通常は低い。次いで入力サブ・セグメントの計算されたダイジェストを集約して入力データ・セグメントの重複排除ダイジェストを生成する。合成バックアップの全データ・セグメントの重複排除ダイジェストが、合成バックアップ全体の重複排除ダイジェストを形成する。
新規入力データのセグメントを既存データのセグメントによって表す機能は、重複排除ストレージ・システムにとって本来的なものである。入力データを処理してストレージ内の整合するセグメントが見出され、次にこれが新規データを格納するプロセスにおいて(データ自体を格納するのではなく)参照される。整合しないデータ・セグメントだけが実データとしてストレージに書込まれる。
参照機能を実装するための幾つかの方式がある。一般に、参照は、物理データ・パターン又は論理データ・パターンに基づいて実装することができる。第1の選択肢において、新規データ・パターンは、実データ(参照なし)として格納されているデータ・パターンであって、ある種のストレージ識別子を用いて参照することができるデータ・パターンを参照する。そのようなデータ・パターンを物理データ・パターンと呼ぶ。第2の選択肢においては、新規データ・パターンは物理データ・パターン及び論理データ・パターンの両方を参照することができ、ここで論理データ・パターンは、それら自体が物理パターン及び論理パターンに対するそのような参照の集合である。
次いで、図3において、2つの参照手法52、54をひとまとめにして参照パターン50として示す。物理データ・パターンの参照を示す事例(A)において、新規データ・パターン56、58は、図に示すように物理データ・パターン60−74(即ち、実データ)として格納されているデータ・パターンを参照する。論理データ・パターンの参照を示す事例(B)において、新規データ・パターン76は、図に示すように、論理データ・パターン78、80並びに物理データ・パターン82−96の両方を参照する。
例証的な一実施形態において、重複排除されたデータは、物理データ・パターンとしてストレージブロック内に格納され、ここで各ストレージブロックは関連付けられた参照計数プロパティを有する。新規データ・セグメントを格納するために、新規セグメントは既存データ・セグメントと照合され(種々の手法を用いて実施することができる、整合データを見出すための独立した方法を用いて)、整合データ・セグメントのメタデータが取り出され、次いで、新規データ・パターンに関して、整合データ・セグメントによって参照されたストレージブロック(物理データ・パターンを含む)を指示する参照が作成される。これらの参照は、新規データ・パターンに関して作成されたメタデータ・ファイル内のレコード内にカプセル化される。ストレージブロックは全体として又は部分的に参照することができ、この情報はメタデータ・レコード内で示される。どの既存データ・セグメントとも整合しない新規データ・セグメントを格納するために、そのデータがストレージブロック内に格納され、これらのブロックに対する参照が作成され、そのメタデータ・ファイルに加えられる。あるストレージブロックが参照されたとき、その参照計数プロパティの値は、そのブロックに対してなされた新たな参照の数に応じて増やされる。ストレージブロックが逆参照されたとき、即ち、そのブロックを参照するデータ・セグメントを削除することにより逆参照されたとき、その参照計数プロパティの値は、除去される参照の数に応じて減らされる。あるストレージブロックの参照計数プロパティの値がゼロより大きい限り、そのブロックはストレージ内に維持されなければならない。この値がゼロになったときには、そのブロックをストレージから除去することができる。
次に図4を参照すると、重複排除ストレージ・システム内で用いるための合成バックアップを構築する例示的な方法100が示される。一実施形態において、方法100は、重複排除システム・コンポーネント、又はコンピューティング環境におけるその他の種々の処理コンポーネント、ネットワーキング・コンポーネント及びストレージ・コンポーネントを用いて実装することができる。当業者であれば、方法100の種々のステップは、特定の用途に適した種々異なる方法で実装することができることを認識するであろう。さらに、ここで説明する方法は、コンピューティング環境上で又はそれ以外にコンピューティング環境との関連で動作可能な、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組合せなどの種々の手段によって実装することができる。例えば、方法100及び以下に説明する例示的方法は、部分的に又は全体として、内部に格納したコンピュータ可読プログラム・コード部分を有するコンピュータ可読記憶媒体を含む、コンピュータ・プログラム製品として実装することができる。コンピュータ可読記憶媒体としては、ディスク・ドライブ、フラッシュ・メモリ、デジタル多用途ディスク(DVD)、コンパクト・ディスク(CD)、及び、前述の他の形式の記憶媒体を挙げることができる。
方法100は、構築中の合成バックアップに関するメタデータ・ファイルをストレージ内で作成する(104)ことで開始する(ステップ102)。合成バックアップに関係した連続的な命令を最適化して適用可能に統合し、処理効率を向上させる。具体的には、隣接するソース・データ・セグメントを参照する命令を統合して、メタデータへのアクセスの効率を向上させる。一連の最適化された命令が作成される(106)。第1の最適化された命令を検討する(ステップ108)。各々の最適化された命令に対して、その命令によって指示されるソース・データ・セグメントに関連付けられたメタデータ・セグメントがストレージから取り出される。このメタデータ情報は一般に、ストレージブロック(ソース・データ・セグメントを構成するデータ・パターンを含む)に対する参照を含む(ステップ110)。
このメタデータ・セグメントは、ソース・データ・セグメントのみを反映するのに必要なように調整される(ステップ112)。具体的には、例えば、ソース・データ・セグメントの端部にあるストレージブロックへの参照は、参照されるブロックのより短い部分を指示するように調整することができる。調整されたメタデータ・セグメントは、合成バックアップのメタデータ・ファイルにコピーされる(付け加える)(ステップ114)。このメタデータ・セグメントによって参照されたストレージブロックの参照計数プロパティの値は、各ブロックについて、メタデータ・セグメント内のそのブロックに対する参照の数に応じて増やされる(ステップ116)。更なる最適化された命令が存在する場合(ステップ118)には、方法100は更なる処理のためにステップ110に戻る。そうでなければ方法100は終了する(ステップ120)。上述の例示的な方法を用いることにより、合成バックアップは、重複排除ストレージ・システムにより通常本来的にサポートされている内部的な高速メタデータ動作である参照動作を用いて、高度に効率なプロセスで構築される。
例証的な実施形態の一態様において、合成バックアップは、ひとたび作成されると元のバックアップから独立したものとなり、バックアップ・アプリケーションによってそのようにみなされることができる。即ち、合成バックアップを構築するのにデータが参照されたバックアップの幾つか又は全てが削除された場合でも、合成バックアップは影響を受けない。このことは、例証的な実施形態の一態様において、合成バックアップが正規のバックアップが格納されるのと本質的に同じ方式で重複排除ストレージ・システム内に格納されることに起因する。具体的には、合成バックアップ及び正規バックアップに対して同様のメタデータ構造体が作成され、ストレージブロックは合成バックアップ及び正規バックアップに関して同じ方法で参照される。上記の特性に内在する利点は、新しい合成バックアップを構築するときに、合成バックアップをバックアップ・アプリケーションによって参照することができるということである。
さらに、新規入力データを合成バックアップに含まれるデータを用いて重複排除することを可能にすることは、特に合成バックアップが構築される元になった幾つか又は全てのバックアップがストレージから既に削除されている場合に有益である(合成バックアップが使用可能である限り、その参照されるストレージブロックは使用可能であることに留意されたい)。そのような重複排除を可能にするためには、合成バックアップ内に含まれるデータを新たなバックアップのデータとの照合に使用可能であるようにする必要がある。この使用可能性の実装は、データ重複排除プロセスにおいて新規データと既存データとの照合プロセスを実現するのに用いられる具体的な方法に依存する。
例証的な実施形態の態様を組み込んだ例示的な重複排除ストレージ・システムにおいて、格納データを新規入力データとの重複排除に使用可能にすることは、重複排除プロセス中のストレージ内の類似データ・セグメントの検索に役立つデータのダイジェストを計算し、このダイジェストを本明細書ではダイジェスト・インデックスと呼ぶ重複排除を促進するインデックス内に挿入することによって実装される。その後、新規入力データが処理されるときに、その入力データのダイジェストが計算され、ダイジェスト・インデックス内で検索される。このインデックスは、新規データのダイジェストが与えられると整合する格納データのダイジェストの検索を可能にする。インデックス内で整合するダイジェスト(各々がストレージ内の類似のデータ・セグメントを指示する)が見出された場合には、付加的なプロセスを用いてストレージ内の正確に整合するデータ・セグメントを精緻化し識別する。次いで、入力データのダイジェストがダイジェスト・インデックスに挿入され(従って、より新しいデータを現在の入力データと照合することが可能になる)、場合によっては、入力データと整合した格納データのダイジェストの一部又は全てがインデックスから置き換えられる。
次に、図5は、前述の議論を考慮した例示的な重複排除プロセス130を示す。方法130は、新規入力データのそれぞれのダイジェストを計算する(ステップ134)ことによって開始する(ステップ132)。ダイジェスト・インデックス(149)を格納データの整合するダイジェストに関して検索する(ステップ136)。整合が見出された場合(ステップ138)、ストレージ内の格納データ150から整合データ・セグメントが取り出される(ステップ142)。取り出されたデータ及びダイジェスト情報を用いて、ストレージ内の正確な整合データ・セグメントが精緻化され識別される(ステップ144)。正確な整合の情報を用いて、新規入力データが、既存の格納データに対する参照の集合(整合に基づく)に不整合データを加えたものとして格納される(ステップ146)。新規入力データのダイジェストはダイジェスト・インデックス内に格納され、場合によっては、整合データ・セグメントのダイジェストが存在するならばそれを置き換える(ステップ148)。ステップ138に戻ると、整合が見出されない場合には、新規入力データは既存の格納データに対する参照なしで格納される(ステップ140)。方法130はその後、終了する(ステップ152)。
合成バックアップのデータのダイジェストを計算してダイジェスト・インデックス内に挿入することにより、合成バックアップのデータを、後で重複排除プロセス内の新規入力データと照合することができる。合成バックアップのデータのダイジェストを計算するための可能な方法は、合成バックアップの構築中にこのデータをストレージから取り出し、そのデータに基づいてダイジェストを計算することである。しかし、例証的実施形態の一態様において、合成バックアップはデータ自体になんらアクセスすることなくメタデータ操作のみを用いて構築される(即ち、バックアップ・アプリケーションはメタデータ命令をストレージ・システムに与え、ストレージ・システムはメタデータ操作のみを実行して合成バックアップを構築する)ので、そしてまた、データへのアクセス及びデータに対する操作は、メタデータへのアクセス及びメタデータに対する操作よりも著しく遅い(データのサイズは通常、関連付けられたメタデータのサイズよりも遥かに大きいため)ので、合成バックアップの構築プロセス中にデータにアクセスして取り出すことは、このプロセスを著しく遅くする場合があり、おそらくはその効率を低下させる。
この問題に対処するために、例証的な実施形態の一態様は、データ自体へのアクセスを最小限にして、合成バックアップのデータのダイジェストを効率的に計算する方法を提供する。この点について、合成バックアップのデータのダイジェストは、合成バックアップにより参照されるデータ・セグメントの既存の格納されたダイジェストに基づいて(データ自体に基づいて新しく計算されるのではなく)効率的に計算される。この方法は、より精細なダイジェストの集約として計算されるダイジェストに一般的に適用可能である。
以下、データの重複排除ダイジェストの例示的な計算を提供する。第1のステップとして、入力データがセグメントに分割され、各セグメントに重複排除の処理が行われる。一実施形態において、それらデータ・セグメントの各々のサイズは16MBとする。それらセグメントの各々に対して、そのセグメントの重複排除ダイジェストを構成するそれぞれ検索及び表示のためのk個及びm個の識別特性が、図7に示す以下の例示的な方法170を用いて計算される。通常、kの値は低く(例えば、数十)、mの値は10未満とすることができる。
方法170は、入力データ・セグメント内の全てのブロックに対するハッシュ値を計算することによって開始し(ステップ172)、ここで、これらブロックのサイズは、入力データ・セグメントのサイズよりも実質的に小さく(例えば、4KB)、且つ、ブロック同士は重なっており、即ち、あるブロックが入力セグメント内の位置l(位置はバイトで指定される)で始まるとすると、次のブロックが始まる位置は位置l+1である(ステップ174)。一実施形態において、これらのハッシュ値はローリングハッシュ関数を用いて計算される。そのようなハッシュ関数を用いて、ハッシュ値は、各ブロックが前のブロックの開始バイトの1バイト後に開始するような連続的なデータ・ブロックに基づいて効率的に計算される。ローリングハッシュ関数は、ひとたびデータのあるブロックに対するハッシュ値が既知になると、次のブロック(前のブロックの開始バイトの1バイト後に開始する)のハッシュ値の計算はO(1)操作で行うことができるという利点を有する。
前のステップにおいてデータ・セグメントに対して生成されたハッシュ値のうちのk個の最大ハッシュ値が選択され、それらの値の降順に並べられ、この順序を重要性の順序(order of significance)と呼ぶ。k個の最大ハッシュ値に対応するブロックは、k個の最大ブロックと呼ばれ、最大ハッシュ値と同じ順序に論理上で並べられる(計算の次のステップのために)(ステップ176)。最大ブロック(k個の最大ハッシュ値に関連付けられる)の1バイト後に続くブロックが選択され、最大ブロックと同じ順序に論理上で並べられる。これらのブロックはシフト・ブロックと呼ばれる。遡って図6は、最大ブロック162、それぞれの位置166、それぞれのシフト・ブロック164、及びそれぞれのシフト位置168を描いたシナリオ160を示す。
図7に戻ると、次のステップとして、シフト・ブロックのk個のハッシュ値が、類似性検索を目的とした入力データ・セグメントの識別特性として選択される(ステップ180)。これらの識別特性を引き続き用いて、ストレージ内の類似データ・セグメントに関してダイジェスト・インデックスを検索する。新規入力データ・セグメントの類似性検索中に、最大でk個の識別特性に関してダイジェスト・インデックス内で検索される可能性がある。最後に、重要性の順に最初のm個(ここでm<k)のシフト・ブロックのハッシュ値が、ダイジェスト・インデックスにおける表示を目的とした入力データ・セグメントの識別特性として選択される(ステップ182)。これらの識別特性はその後、入力データ・セグメントを表すためにダイジェスト・インデックス内に格納され、その後の新規入力データ・セグメントが類似性検索中にその入力データ・セグメントを見出すことを可能にする。方法170はその後、終了する(ステップ184)。
最大値は、一様ではない数値分布を有することに留意されたい。しかし、良いハッシュ関数を用いると、このステップで選択される識別特性の数値分布は一様に非常に近くなり、従って、このようにして選択された識別特性はデータのセグメントを一意に識別するためにより効果的になる。任意の繰返し可能なハッシュ値選択基準を図7のステップ176に適用することができることにもまた留意されたい。例えば、k個の最小ハッシュ値を選択すること、又はデータ・セグメントに対して計算された全てのハッシュ値の中央値に最も近いk個のハッシュ値を選択すること、又はある所定の定数に最も近いk個のハッシュ値を選択することなどである。さらに、最大ハッシュ値に対応するブロックの1バイト・シフトを用いる代りに、なんらかのその他の所定の繰返し可能なシフトを用いることもでき、又は、場合により位置及び/又は計算されたハッシュ値に応じて異なるシフトを用いることもできる。最大ハッシュ値及び1バイト・シフトを用いることは1つの例示的な実施形態である。
上記の例示的な方法170は、所与のデータ・セグメントに関して、広範囲まで、一意性の、ロバストな、良く広がった、繰返し可能な識別特性を生成する。一意性とは、2つの異なるデータ・セグメントに対して、十分に高い確率で2つの異なる特性集合が割り当てられることを意味する。ロバストとは、あるデータ・セグメントに割り当てられた特性が、データ・セグメントが限定された変化(例えば、その計数の25%までにおける)を被ってもかなり一定のまま留まることを意味する。良く広がったとは、特性位置がデータ・セグメントにわたって概ね一様に広がっていることを意味する。繰返し可能とは、データ・セグメントの特定の形が、常に同じ値の識別特性を生成することを意味する。
ダイジェスト・インデックスにおける類似性検索のためにk個の識別特性を用い、表示のためにm個の識別特性を用いる理由は、類似の格納データ・セグメントに関しての新規データ・セグメントの変更により引き起こされ得る最大ハッシュ値に対する2つの可能な影響が存在することである。第1の影響は、対応するブロックを含むデータが変更されたために最大ハッシュ値が消滅する場合があることである。第2の影響は、変更データがより大きい最大ハッシュ値を導入し、それにより以前の最大ハッシュ値を置き換える場合があることである。第2の影響を解決するために、k個の識別特性を用いた類似性検索が行われる一方で、データ・セグメントはm個の識別特性で表される。
一実施形態において、入力データ・セグメントは、複数の固定サイズのサブ・セグメントに分割される。このセグメントの可能な固定サイズの値は、数十又は数百キロバイト、例えば512KBである。kの値はサブ・セグメントの固定サイズより小さいと仮定する。類似性検索のためのk個の識別特性が全データ・セグメントに対して計算されると同時に、m個の識別特性が各々のサブ・セグメント、並びに全データ・セグメントに対して計算され、ダイジェスト・インデックス内に格納される。
さらに、一実施形態において、ダイジェスト・インデックスは2つの機能(場合により2つの内部インデックス構造を伴う)を提供する。識別特性(distinguishing characteristic)インデックス又はDCインデックスと呼ぶ第1の機能において、インデックスは、全データ・セグメントのm個の識別特性、及び検索のための識別特性の所与の値を格納し、格納データ・セグメントの整合する識別特性の検出を可能にする。照合される識別特性の各インデックス・レコードはまた、それぞれのデータ・セグメントの格納位置と、それぞれのデータ・セグメント内の識別特性の特定の位置とに対するポインタを含む。ストレージ識別子インデックス又はSIインデックスと呼ぶ第2の機能において、インデックスは、データ・サブ・セグメントのm個の識別特性、及びサブ・セグメントの所与のストレージ識別子(ここでストレージ識別子は、本質的にストレージ内でのそれぞれのデータ・サブ・セグメントの位置を識別する)を格納し、特定のサブ・セグメントの識別特性の検出を可能にする。取り出された識別特性の各インデックス・レコードは、その値、識別特性に関連付けられた最大ハッシュ値、及びその識別特性の格納位置を含む。
図8は、例示的な識別特性(DC)インデックス及びストレージ識別子(SI)インデックス、並びにインデックスを用いる例示的な方法190を示す。ブロック192において、入力データ・セグメントのk個の識別特性に関する検索が行われる。これらは、ブロック194において、各データ・セグメントに関するm個の識別特性を格納するDCインデックスに供給される。類似の格納データ・セグメントの整合する識別特性を含む検索結果がブロック196において示される。ブロック198において、格納サブ・セグメントのストレージ識別子/位置を用いて検索が行われる。これらは、ブロック200において、各データ・サブ・セグメントに関するm個の識別特性を格納するSIインデックスに供給される。指定された格納データ・サブ・セグメントの識別特性を含む検索結果がブロック202において示される。
DCインデックスは、入力データ・セグメントの類似性検索プロセスにおいて、ストレージ内の類似のデータ・セグメントを見出すために用いられる。SIインデックスは、(1)以下で詳述する合成バックアップの識別特性の最適化計算、(2)データ・セグメント集合がストレージから削除されたときに、これらのデータ・セグメントの識別特性をSIインデックスから取り出し、次いでDCインデックス(SIインデックスからの情報を用いて)及びSIインデックスの両方から削除すること、及び(3)あるデータ・セグメントの識別特性をDCインデックスから除去する必要があるときに(例えば、より新しいデータ・セグメントの識別特性でそれらを置き換えるために)、その識別特性をSIインデックスから取り出し、次いでDCインデックスから除去すること、を含む幾つかの目的のために用いられる。
次に図10及び図11を参照すると、合成バックアップ内のデータ・セグメントの識別特性を既存の識別特性に基づいて計算する例示的な方法200の説明がひとまとめで示される。方法200は、入力データ・セグメントにより参照される格納データ・サブ・セグメントを決定する(ステップ204)ことによって開始する(ステップ202)。これは、バックアップ・アプリケーションによって与えられるメタデータ命令に基づいて行われ、それにより合成バックアップ内のデータ・セグメントが構築される。これらのメタデータ命令は、所与のセグメントを構築するために用いられる格納データを指定する。この情報から、ストレージ・システムは、入力データ・セグメントにより参照される格納データ・サブ・セグメント(及びそれらのストレージ識別子)を推定する。
参照されたサブ・セグメントの識別特性(各サブ・セグメントに関するm個の識別特性)がSIインデックスから取り出される(ステップ206)。合成バックアップからの入力データ・セグメントは固定サイズのサブ・セグメントに分割され、そのサイズは格納サブ・セグメントのサイズと同一である(ステップ208)。第1の入力サブ・セグメントが検討される(ステップ210)。入力サブ・セグメントの各々のサブ・セグメントに対して、以下が実行される。入力サブ・セグメントは、少なくとも1つの、且つ、f個までの格納サブ・セグメントを参照する。サブ・セグメントのサイズが合成バックアップによって参照されるストレージ内のデータ・セグメントの最小サイズよりも小さいと仮定すると、入力サブ・セグメントと格納サブ・セグメントとのアラインメントに応じて、入力サブ・セグメントは1個と4個との間の格納サブ・セグメントを参照することができる。このことは、前の図9に示される。この図において、入力サブ・セグメントは、それらが参照する格納サブ・セグメントの上に示され、垂直の実線はサブ・セグメントのアラインメント境界を示す。この図の部分(A)及び(B)は、連続した格納セグメントを参照する入力サブ・セグメントを示し、部分(C)−(E)は2つの分離した格納セグメントを参照する入力サブ・セグメントを示す。サブ・セグメントのサイズが、合成バックアップにより参照されるストレージ内のデータ・セグメントの最小サイズよりも大きいと仮定すると、入力サブ・セグメントはf個までの格納サブ・セグメントを参照することができ、ここで、fは、入力サブ・セグメントのサイズを合成バックアップにより参照される格納データ・セグメントの最小サイズで割り、2を掛けた(各参照には2つの格納サブ・セグメントを関連付けることができるため)値に等しい。
図10に戻ると、入力サブ・セグメントによって参照される格納サブ・セグメントの数はrで表される。参照されるサブ・セグメントの各々にはSIインデックスから取り出されたm個の識別特性が関連付けられ(図9に示すように)、これらのr×m個の識別特性を以下のように検討する。この識別特性の各々に関連付けられた最大ハッシュ値を考える。SIインデックスから取り出された各々の識別特性のレコード内には、それに関連付けられた最大ハッシュ値も含まれることに留意されたい。ストレージ内のr個の参照されるサブ・セグメントのうちのサブ・セグメントjの識別特性に関連付けられた最大ハッシュ値の集合は、次式で表される。
Figure 0005878548

閾値ハッシュ値は、次式のように計算される(ステップ212)。
Figure 0005878548
入力サブ・セグメントが1つよりも多くの格納セグメントを参照する場合(図9の部分(C)−(E)で例示)、且つ、サブ・セグメントの識別特性もまたその最後のブロックのバイトに基づいて計算される場合、2つの参照された格納セグメントの間の分離が起る入力サブ・セグメント内の位置に隣接する、図9のブロックb1及びb2で示す分離位置の両側のデータ・ブロックがロードされ、ハッシュ値は、ブロックb1の各バイト・オフセットに対して、以前に指定した方法を用いて計算される(ステップ214)。参照されるサブ・セグメントのr×m個の識別特性に関連付けられた最大ハッシュ値、及び前のステップで計算されたハッシュ値を含むハッシュ値の集合から、以下の方法を用いて「候補」ハッシュ値の部分集合が計算される。ハッシュ値は、その値がhに等しいか又はそれより大きく、且つ、そのストレージ位置が入力サブ・セグメントの境界内にある場合に、そのハッシュ値の部分集合に含められる(ステップ216)。
候補ハッシュ値の集合の中のハッシュ値の数がmに等しいか又はそれより大きい場合(ステップ218)、以下のことが実行される。この集合のハッシュ値が、それらの値の降順に並べられる(ステップ222)。最初の(即ち、最も大きい)m個のハッシュ値が、m個の識別特性を計算するのに用いられ、その結果、各々のハッシュ値νに対して、その識別特性が、ハッシュ値νに関連付けられたブロックに対して1バイトだけシフトしたブロックのハッシュ値となるように選択される(ステップ224)。検討中のハッシュ値νが参照されるサブ・セグメントのr×m個の識別特性の集合からの識別特性に関連付けられる場合、その識別特性の値は、SIインデックスから取り出されたそれぞれのレコードから容易に得ることができる。検討中のハッシュ値νがステップ214で計算されたハッシュ値である場合には、その識別特性は、ステップ214で計算されたハッシュ値の集合から容易に得ることができる。前のステップで計算されたm個の識別特性が入力サブ・セグメントのm個の識別特性として指定される(ステップ226)。指定された識別特性は後で(そのそれぞれの入力サブ・セグメントに関連付けられて)SIインデックス内に格納され、さらに、後にDCインデックス内に格納される、全入力データ・セグメントのm個の識別特性を計算するための基礎として役立つ(以下に詳述するように)。ステップ228は、入力セグメント内にさらなるサブ・セグメントが存在するかどうか問い合わせ、存在する場合には、方法200はさらなる処理のためにステップ212に戻る。
ステップ218に戻ると、候補ハッシュ値の集合の中のハッシュ値の数がmより小さい場合、以下のことが実行される。入力サブ・セグメントのそれぞれのデータがストレージから取り出され、その識別特性がデータに基づいて計算される(ステップ220)。この場合、サブ・セグメントのm個の識別特性は、既存の識別特性に基づいて計算することができない。しかし、それらのストレージ位置に関しての識別特性の予想される一様な分布に基づけば、この場合の頻度は、入力サブ・セグメントのm個の識別特性を既存の識別特性に基づいて計算することができる場合に比べて低いはずである。再び方法200はステップ228に戻り、該当する場合にはさらなる処理のためにステップ212に戻る。
ステップ228において、さらなるサブ・セグメントが存在しない場合、入力データ・セグメントのm個の識別特性は、以下の方法を用いて計算される。入力セグメント内にs個のサブ・セグメントがあると仮定して、入力セグメントの全てのサブ・セグメントに対して計算されたs×m個の識別特性の集合を考える。この集合の識別特性は、そのそれぞれの最大ハッシュ値の降順に並べられる(ステップ230)。この集合のこの順序における最初のm個の識別特性(即ち、最も大きいそれぞれの最大ハッシュ値を有するm個の識別特性)が、入力データ・セグメントのm個の識別特性として選択される(ステップ232)。これらの識別特性は、後でDCインデックス内に格納される(そのそれぞれの入力データ・セグメントに関連付けられる)。方法200はその後、終了する(ステップ234)。
合成バックアップのデータのダイジェストを合成バックアップにより参照されるデータ・セグメントの既存の格納されたダイジェストに基づいて効率的に計算するための上述の方法200は、計算プロセス中のデータ自体へのアクセスを最小限にし、従って、ダイジェスト計算プロセス及び合成バックアップ全体の構築時間の両方を著しく加速する。
図12は、例証的な実施形態の態様を実装することができるプロセッサ・デバイスを前もって含む重複排除システム250の例示的な部分252を示す。重複排除システム250の部分252は、以下の例証的な実施形態の機構を実装することができるコンピュータ環境においてその一部分として動作することができる。しかし、図12は単に例示的なものに過ぎず、種々の実施形態の例示的な態様を実装することができる特定のアーキテクチャに対する何らかの限定を表明又は含意することを意図したものではないことを理解されたい。図12に示すアーキテクチャに対する多くの変更を以下の説明及び特許請求される主題の範囲及び趣旨から逸脱せずに行うことができる。
部分252は、プロセッサ254、及びランダム・アクセス・メモリ(RAM)などのメモリ256を含む。重複排除システム250は、便宜上図示しないが、ウィンドウなどの画像をグラフィカル・ユーザ・インタフェース上でユーザに示すディスプレイ、キーボード、マウス、プリンタなどを含む幾つかのコンポーネントに動作可能に結合することができる。勿論、当業者であれば、上記のコンポーネントの任意の組合せ、又は任意の数の異なるコンポーネント、周辺装置、及び他のデバイスを重複排除システム250と共に使用することができることを認識するであろう。
例証的な実施形態において、重複排除システム250及び/又は部分252は、メモリ256に格納されているオペレーティング・システム(OS)258(例えば、z/OS、OS/2、LINUX、UNIX、WINDOWS、MAC OS)並びに入力及びコマンドを受け取って結果を表示するためのユーザとのインタフェースの制御下で動作する。本発明の一実施形態において、OS258は、本発明による合成バックアップ機能を促進する。最後に、OS258は、以下に説明する例示的な方法における種々のプロセス及び機構を実行するように適合させることができるタスク・スケジューリング・モジュール264を含む。
重複排除システム250及び/又は部分252は、例えばCOBOL、PL/1、C、C++、JAVA、ADA、BASIC、VISUAL BASICなどのプログラミング言語又は任意の他のプログラミング言語で書かれたアプリケーション・プログラム260をプロセッサ254により可読なコードに変換することを可能にするコンパイラ262を実装することができる。コンパイル後、アプリケーション・プログラム260は、コンパイラ262を用いて生成された関係及び論理を用いて、重複排除システム250及び/又は部分252のメモリ256の内部に格納されているデータにアクセスし、操作する。
本発明による機構及びプロセスをさらに実装及び実行するために、OS258は、メモリ256、プロセッサ254、アプリケーション・プログラム260並びに他のコンピュータ処理コンポーネント、ネットワーキング・コンポーネント及びストレージ・コンポーネントと合同して、合成バックアップ機能を実行及び促進するための付加的なモジュールを実装することができるが、これらは便宜上図示しない。当業者であれば認識するように、ここで説明したこれらの付加的なモジュールの機構は、種々の形態及びアーキテクチャで実装することができる。従って、この図におけるタスク・スケジューリング・モジュール264の説明もやはり、重複排除システム250及び/又は部分252内の可能なコンピューティング・コンポーネント間の論理的関係を明示することを意図したものであり、特定の物理構造又は関係を含意するものではない。
一実施形態において、オペレーティング・システム258、アプリケーション・プログラム260及びコンパイラ262並びにタスク・スケジューリング・モジュール264及び付加的なモジュールを実装する命令は、コンピュータ可読媒体内に有形に具体化され、この媒体としては、1つ又は複数の固定若しくは取外し可能なデータ記憶装置、例えば、zipドライブ、ディスク、ハード・ドライブ、DVD/CD−ROM、デジタル・テープ、SSDなどを挙げることができる。さらに、オペレーティング・システム258及びアプリケーション・プログラム260は、重複排除システム250及び/又は部分252によって読み出されて実行されたときに、重複排除システム250及び/又は部分252に本発明を実施及び/又は使用するのに必要なステップを実行させる。アプリケーション・プログラム260及び/又はオペレーティング・システム258の命令はまた、メモリ256内に有形に具体化することもでき、及び/又は、種々のコンポーネントを介したネットワーク機能により伝送するか又はアクセスすることができる。従って、用語「製品」、「プログラムストレージデバイス」及び「コンピュータ・プログラム製品」は、本明細書で用いる場合、任意のコンピュータ可読デバイス又は媒体からアクセス可能な及び/又は動作可能なコンピュータ・プログラムを包含することが意図されている。
本発明の実施形態は、例えば、ストレージ・エリア・ネットワーク(SAN)のようなコンピューティング・デバイスのネットワークを含む分散コンピュータ・システムを管理するための機能を含む1つ又は複数の関連付けられたソフトウェア・アプリケーション・プログラム260を含むことができる。従って、プロセッサ254は、1つ又は複数のストレージ管理プロセッサ(SMP)又は他の専用デバイスを含むことができる。アプリケーション・プログラム260は、単一コンピュータ及び/又は重複排除システム250内で動作することもでき、又は、コンピューティング・デバイスのネットワークを含む分散コンピュータ・システムの一部として動作することもできる。ネットワークは、ローカル・エリア・ネットワーク及び/又はインターネット接続(これは公設のもの、又は、例えば仮想プライベート・ネットワーク(VPN)接続を介したセキュリティ保護されたものとすることができる)を介して、又はファイバ・チャネルSAN若しくは当業者にはれば理解される他の既知の種類のネットワークを介して接続された、1つ又は複数のコンピュータを包含することができる。(ファイバ・チャネルSANは、通常はコンピュータがストレージ・システムと通信するためだけに用いられ、コンピュータ相互の通信には用いられないことに留意されたい)。
当業者であれば認識するように、本発明の態様は、システム、方法又はコンピュータ・プログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、又はソフトウェア態様とハードウェア態様とを組み合せた実施形態の形を取ることができ、これらは全て一般的に、本明細書では「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明の態様は、具体化されたコンピュータ可読プログラム・コードを有する1つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータ・プログラム製品の形態を取ることができる。
1つ又は複数のコンピュータ可読媒体の任意の組合せを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、それらに限定されないが、電子、磁気、光、電磁気、赤外、又は半導体のシステム、装置、若しくはデバイス、又はこれらの任意の適切な組合せとすることができる。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)には、1つ又は複数の線を有する電気接続、携帯用コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、携帯用コンパクト・ディスク読み出し専用メモリ(CD−ROM)、光記憶デバイス、磁気記憶デバイス、又はこれらの任意の適切な組合せが含まれる。本明細書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、若しくはデバイスによって、又はそれとの関連で用いられるプログラムを含む又は格納することができる任意の有形媒体とすることができる。
コンピュータ可読媒体上に具体化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RFなど、又はこれらの任意の適切な組合せを含むがそれらに限定されない任意の適切な媒体を用いて伝達することができる。本発明の態様の動作を実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++などのオブジェクト指向言語、及び、「C」プログラミング言語又は類似のプログラミング言語などの通常の手続型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組合せで記述することができる。プログラム・コードは、完全にユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上及び部分的に遠隔コンピュータ上で、又は完全に遠隔コンピュータ若しくはサーバ上で実行することができる。後者のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意の型のネットワークを通じてユーザのコンピュータに接続することができ、又は、外部コンピュータへの接続を行う(例えば、インターネット・サービス・プロバイダを用いてインターネットを通じて)ことができる。
上で本発明の態様を、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照しながら説明した。フローチャート図及び/又はブロック図の各ブロック、及び、フローチャート図及び/又はブロック図内のブロックの組合せは、コンピュータ・プログラム命令によって実施することができることを理解されたい。これらのコンピュータ・プログラム命令を汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置に供給して機械を生成し、コンピュータ又は他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作成するようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は特定の様式で機能する他のデバイスに指示することができるコンピュータ可読媒体内に格納して、コンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実施する命令を含んだ製品を生成するようにすることもできる。コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスにロードし、一連の動作ステップがコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で実行されてコンピュータ実施のプロセスを生成するようにして、コンピュータ又は他のプログラム可能データ処理装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実施するためのプロセスをもたらすようにすることもできる。
上記の図のフローチャート及びブロック図は、本発明の種々の実施形態によるシステム、方法及びコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、及び動作を示す。これに関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実施するための1つ又は複数の実行可能命令を含むモジュール、セグメント、又はコード部分を表すことができる。また、幾つかの代替的実施において、ブロック内に示された機能は、図に示した順序とは別の順序で行うことができることに留意されたい。例えば、連続して示した2つのブロックは、実際には、実質的に同時に実行することができ、又は、ブロックは、関与する機能に応じて、場合によっては逆の順序で実行することができる。また、ブロック図及び/又はフローチャート図の各ブロック、及びブロック図及び/又はフローチャート図内のブロックの組合せは、指定された機能若しくは動作を実行する専用ハードウェアをベースとするシステム、又は、専用ハードウェアとコンピュータ命令との組合せによって実施することができることに留意されたい。
本発明の1つ又は複数の実施形態を詳しく説明したが、当業者であれば、それらの実施形態に対する変更及び改造を、添付の特許請求の範囲に示す本発明の範囲から逸脱せずに施すことができることを理解するであろう。
10:合成バックアップのアーキテクチャ
30:合成バックアップの構築フロー
100:合成バックアップを構築する方法
130:重複排除プロセス
170:識別特性の計算方法
190:インデックス及びインデックスを用いる方法
200:合成バックアップ内のデータ・セグメントの識別特性を計算する方法
250:重複排除システム
252:重複排除システム250の部分

Claims (11)

  1. 重複排除ストレージ・システム内の複数の入力データ・セグメントに対して、合成バックアップのプロセッサ・デバイスによる構築を容易にする方法であって、
    前記複数の入力データ・セグメントの各々の入力データ・セグメントに対して、前記入力データ・セグメントによって参照される格納データ・セグメントの複数の格納重複排除ダイジェストを取り出すステップと、
    前記各々の入力データ・セグメントを複数の固定サイズのデータ・サブ・セグメントの各々に分割するステップと、
    前記複数のデータ・サブ・セグメントの各々に対して、前記取り出された複数の格納重複排除ダイジェストに基づいて、複数の入力重複排除ダイジェストの各々を計算するステップと、
    複数のサブ・セグメント重複排除ダイジェストの各々を集約して前記各々の入力データ・セグメントの重複排除ダイジェストを生成するステップとを含み、
    前記各々の入力データ・セグメントの前記重複排除ダイジェストが前記合成バックアップの重複排除ダイジェストを形成する、
    方法。
  2. 前記格納データ・セグメントの前記複数の格納重複排除ダイジェストを前記複数の入力重複排除ダイジェストに対して照合することによって、前記各々の入力データ・セグメントを重複排除するステップをさらに含む、請求項1に記載の方法。
  3. 前記照合の後で、前記複数の入力重複排除ダイジェストをインデックス内に格納するステップをさらに含み、
    前記複数の入力重複排除ダイジェストのうちの少なくとも1つの入力重複排除ダイジェストと整合する前記複数の格納重複排除ダイジェストのうちの少なくとも1つの格納重複排除ダイジェストを、前記少なくとも1つの入力重複排除ダイジェストで置き換えることができる、
    請求項2に記載の方法。
  4. 前記合成バックアップを構築するステップをさらに含む、請求項1〜3のいずれか1項に記載の方法。
  5. 前記合成バックアップを構築する前記ステップは、前記重複排除ストレージ・システム内にメタデータ・ファイルを作成するステップ、及び連続するストレージ命令を最適化するステップをさらに含む、請求項4に記載の方法。
  6. 各々の前記最適化されたストレージ命令に対して、
    前記最適化されたストレージ命令によって指示される入力データ・セグメントに関連付けられたメタデータ・セグメントを取り出すステップと、
    前記メタデータ・セグメントを、前記入力データ・セグメントのみを参照するように調整するステップと、
    前記調整されたメタデータ・セグメントを前記合成バックアップの前記メタデータ・ファイルにコピーするステップと、
    前記メタデータ・セグメントによって参照された各々のストレージブロックに対して、参照計数値を増加させるステップと
    をさらに含む、請求項5に記載の方法。
  7. 複数のサブ・セグメント重複排除ダイジェストの各々を計算するステップは、
    バイト・オフセットした前記複数の入力データ・セグメント内の各々のブロックに対するハッシュ値を計算するステップと、
    選択された複数の最大ハッシュ値を重要性の順序に従って降順に並べるステップと、
    前記最大ハッシュ値に関連付けられた前記ブロックに対して決定された位置にあるブロックをシフト・ブロックとして識別するステップと、
    前記シフト・ブロックの前記ハッシュ値の部分集合を、複数の入力データ・サブ・セグメントの少なくとも1つの第1の識別特性のために選択するステップと、
    前記シフト・ブロックの前記ハッシュ値の付加的な部分集合を、前記複数の入力データ・セグメントの少なくとも1つの第2の識別特性のために選択するステップと
    を含む、請求項1〜6のいずれか1項に記載の方法。
  8. 前記少なくとも1つの第2の識別特性を格納するための、前記複数の入力データ・セグメントに関する識別特性(DC)インデックスを構成するステップと、前記少なくとも1つの第1の識別特性を格納するための、前記複数の入力データ・サブ・セグメントに関するストレージ識別子(SI)インデックスを構成するステップとをさらに含む、請求項7に記載の方法。
  9. 前記少なくとも1つの第1及び第2の識別特性を計算するステップをさらに含む、請求項8に記載の方法。
  10. 重複排除ストレージ・システム内の複数の入力データ・セグメントに対して、合成バックアップの構築を容易にするためのシステムであって、
    重複排除コンピューティングストレージ環境において動作可能な少なくとも1つのプロセッサ・デバイスを備え、
    前記少なくとも1つのプロセッサ・デバイスは、請求項1〜9のいずれか1項に記載の方法ステップを実行するように適合される、システム。
  11. 重複排除ストレージ・システム内の複数の入力データ・セグメントに対して、少なくとも1つのプロセッサ・デバイスによる合成バックアップの構築を容易にするためのコンピュータ・プログラムであって、
    コンピュータによって実行されたとき、請求項1〜9のいずれか1項に記載の方法ステップを実行する、コンピュータ・プログラム。
JP2013541283A 2010-12-01 2011-11-16 重複排除ストレージ・システム、その内部の合成バックアップを容易にする方法、及び、プログラム Active JP5878548B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/958,205 2010-12-01
US12/958,205 US8682873B2 (en) 2010-12-01 2010-12-01 Efficient construction of synthetic backups within deduplication storage system
PCT/EP2011/070290 WO2012072419A1 (en) 2010-12-01 2011-11-16 Synthetic backups within deduplication storage system

Publications (2)

Publication Number Publication Date
JP2014503886A JP2014503886A (ja) 2014-02-13
JP5878548B2 true JP5878548B2 (ja) 2016-03-08

Family

ID=45033951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013541283A Active JP5878548B2 (ja) 2010-12-01 2011-11-16 重複排除ストレージ・システム、その内部の合成バックアップを容易にする方法、及び、プログラム

Country Status (8)

Country Link
US (9) US8682873B2 (ja)
EP (1) EP2646915B1 (ja)
JP (1) JP5878548B2 (ja)
KR (1) KR101599113B1 (ja)
CN (1) CN103229147B (ja)
AU (1) AU2011335219B2 (ja)
CA (1) CA2817119C (ja)
WO (1) WO2012072419A1 (ja)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762348B2 (en) * 2009-06-09 2014-06-24 Emc Corporation Segment deduplication system with compression of segments
US8401181B2 (en) * 2009-06-09 2013-03-19 Emc Corporation Segment deduplication system with encryption of segments
US8731190B2 (en) * 2009-06-09 2014-05-20 Emc Corporation Segment deduplication system with encryption and compression of segments
US8495022B1 (en) * 2010-05-13 2013-07-23 Symantec Corporation Systems and methods for synthetic backups
US8682873B2 (en) 2010-12-01 2014-03-25 International Business Machines Corporation Efficient construction of synthetic backups within deduplication storage system
US8495304B1 (en) * 2010-12-23 2013-07-23 Emc Corporation Multi source wire deduplication
CN102810108A (zh) * 2011-06-02 2012-12-05 英业达股份有限公司 重复数据的处理方法
US9026496B1 (en) * 2011-09-30 2015-05-05 Emc Corporation Efficient building of restore list
US8442945B1 (en) * 2012-01-03 2013-05-14 Don Doerner No touch synthetic full backup
US8719234B2 (en) * 2012-01-25 2014-05-06 International Business Machines Corporation Handling rewrites in deduplication systems using data parsers
US9880771B2 (en) 2012-06-19 2018-01-30 International Business Machines Corporation Packing deduplicated data into finite-sized containers
US8904147B2 (en) * 2012-09-11 2014-12-02 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Method for generating a delta for compressed data
US9594643B2 (en) * 2013-03-06 2017-03-14 Quest Software Inc. Handling restores in an incremental backup storage system
KR101505263B1 (ko) 2013-03-07 2015-03-24 포항공과대학교 산학협력단 데이터 중복 제거 방법 및 장치
US9483494B1 (en) * 2013-03-14 2016-11-01 Emc Corporation Opportunistic fragmentation repair
US9244937B2 (en) 2013-03-15 2016-01-26 International Business Machines Corporation Efficient calculation of similarity search values and digest block boundaries for data deduplication
US9547662B2 (en) * 2013-03-15 2017-01-17 International Business Machines Corporation Digest retrieval based on similarity search in data deduplication
US9430332B1 (en) * 2013-04-29 2016-08-30 Veritas Technologies Llc Systems and methods for enabling efficient access to incremental backups
US9268786B2 (en) 2013-07-15 2016-02-23 International Business Machines Corporation Applying a minimum size bound on content defined segmentation of data
US10789213B2 (en) 2013-07-15 2020-09-29 International Business Machines Corporation Calculation of digest segmentations for input data using similar data in a data deduplication system
US10133502B2 (en) 2013-07-15 2018-11-20 International Business Machines Corporation Compatibility and inclusion of similarity element resolutions
US10229132B2 (en) * 2013-07-15 2019-03-12 International Business Machines Corporation Optimizing digest based data matching in similarity based deduplication
US9286314B2 (en) 2013-07-15 2016-03-15 International Business Machines Corporation Applying a maximum size bound on content defined segmentation of data
US10296597B2 (en) 2013-07-15 2019-05-21 International Business Machines Corporation Read ahead of digests in similarity based data deduplicaton
US9891857B2 (en) 2013-07-15 2018-02-13 International Business Machines Corporation Utilizing global digests caching in similarity based data deduplication
US9594766B2 (en) 2013-07-15 2017-03-14 International Business Machines Corporation Reducing activation of similarity search in a data deduplication system
US9892127B2 (en) * 2013-07-15 2018-02-13 International Business Machines Corporation Global digests caching in a data deduplication system
US10296598B2 (en) 2013-07-15 2019-05-21 International Business Machines Corporation Digest based data matching in similarity based deduplication
US9244830B2 (en) 2013-07-15 2016-01-26 Globalfoundries Inc. Hierarchical content defined segmentation of data
US9892048B2 (en) 2013-07-15 2018-02-13 International Business Machines Corporation Tuning global digests caching in a data deduplication system
US10339109B2 (en) 2013-07-15 2019-07-02 International Business Machines Corporation Optimizing hash table structure for digest matching in a data deduplication system
US9922042B2 (en) 2013-07-15 2018-03-20 International Business Machines Corporation Producing alternative segmentations of data into blocks in a data deduplication system
US10229131B2 (en) * 2013-07-15 2019-03-12 International Business Machines Corporation Digest block segmentation based on reference segmentation in a data deduplication system
US9836474B2 (en) 2013-07-15 2017-12-05 International Business Machines Corporation Data structures for digests matching in a data deduplication system
US10073853B2 (en) 2013-07-17 2018-09-11 International Business Machines Corporation Adaptive similarity search resolution in a data deduplication system
US9519805B2 (en) * 2013-08-01 2016-12-13 Cellco Partnership Digest obfuscation for data cryptography
US20150066976A1 (en) * 2013-08-27 2015-03-05 Lighthouse Document Technologies, Inc. (d/b/a Lighthouse eDiscovery) Automated identification of recurring text
US9785643B1 (en) * 2013-09-06 2017-10-10 Veritas Technologies Llc Systems and methods for reclaiming storage space in deduplicating data systems
US9336260B2 (en) * 2013-10-16 2016-05-10 Netapp, Inc. Technique for global deduplication across datacenters with minimal coordination
CN104714859B (zh) * 2013-12-17 2017-10-03 南京壹进制信息技术股份有限公司 一种海量文件的快速备份与恢复的方法
US10229056B1 (en) * 2014-03-25 2019-03-12 EMC IP Holding Company LLC Alignment fixing on a storage system during continuous data replication to deduplicated storage
TWI511037B (zh) * 2014-05-09 2015-12-01 Wistron Corp 儲存叢集化系統與提供對叢集式儲存的存取的方法
US9645888B1 (en) * 2014-06-02 2017-05-09 EMC IP Holding Company LLC Caching of backup chunks
WO2016003481A1 (en) * 2014-07-04 2016-01-07 Hewlett-Packard Development Company, L.P. Data deduplication
EP3213211A4 (en) 2014-10-29 2017-09-06 Hewlett-Packard Enterprise Development LP Data restoration using allocation maps
CN114356651A (zh) * 2015-05-27 2022-04-15 谷歌有限责任公司 用于移动设备上的自动基于云的全数据备份和恢复的***和方法
US10621151B2 (en) 2015-09-25 2020-04-14 Netapp Inc. Elastic, ephemeral in-line deduplication service
US10255288B2 (en) * 2016-01-12 2019-04-09 International Business Machines Corporation Distributed data deduplication in a grid of processors
US10261946B2 (en) 2016-01-12 2019-04-16 International Business Machines Corporation Rebalancing distributed metadata
US10242021B2 (en) 2016-01-12 2019-03-26 International Business Machines Corporation Storing data deduplication metadata in a grid of processors
US20180024767A1 (en) * 2016-07-19 2018-01-25 Western Digital Technologies, Inc. Reference Set Construction for Data Deduplication
KR102306672B1 (ko) * 2016-11-23 2021-09-29 삼성전자주식회사 데이터 중복 제거를 수행하는 스토리지 시스템, 스토리지 시스템 및 데이터 처리 시스템의 동작방법
US11644992B2 (en) * 2016-11-23 2023-05-09 Samsung Electronics Co., Ltd. Storage system performing data deduplication, method of operating storage system, and method of operating data processing system
WO2019037878A1 (en) * 2017-08-25 2019-02-28 Huawei Technologies Co., Ltd. APPARATUS AND METHOD FOR STORING DATA BLOCKS RECEIVED AS DEDPLICATED DATA BLOCKS
CN109726037B (zh) * 2017-10-27 2023-07-21 伊姆西Ip控股有限责任公司 用于备份数据的方法、设备和计算机程序产品
US20200034244A1 (en) * 2018-07-26 2020-01-30 EMC IP Holding Company LLC Detecting server pages within backups
US11269733B2 (en) * 2018-11-13 2022-03-08 Exagrid Systems, Inc. Synthetic full backups and deduplication backup storage with landing zone
US11593225B2 (en) * 2019-05-01 2023-02-28 EMC IP Holding Company LLC Method and system for live-mounting database backups
US11429573B2 (en) * 2019-10-16 2022-08-30 Dell Products L.P. Data deduplication system
US20210191821A1 (en) 2019-12-20 2021-06-24 EMC IP Holding Company LLC Method and system for generating conversation specific user data backups of limited-access user data
CN113448491B (zh) * 2020-03-26 2024-05-17 伊姆西Ip控股有限责任公司 存储***的数据迁移
TWI789984B (zh) * 2021-06-11 2023-01-11 威聯通科技股份有限公司 合成增量資料備份方法、系統及電腦可讀取儲存媒體
US20220398169A1 (en) * 2021-06-11 2022-12-15 Qnap Systems, Inc. Method, system and computer-readable medium for synthetic incremental data backup

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204966A (en) * 1990-03-09 1993-04-20 Digital Equipment Corporation System for controlling access to a secure system by verifying acceptability of proposed password by using hashing and group of unacceptable passwords
CA2166420C (en) * 1993-07-01 2006-03-28 James R. Woodhill System and method for distributed storage management on networked computer systems
WO1996025801A1 (en) * 1995-02-17 1996-08-22 Trustus Pty. Ltd. Method for partitioning a block of data into subblocks and for storing and communicating such subblocks
AU5386796A (en) * 1995-04-11 1996-10-30 Kinetech, Inc. Identifying data in a data processing system
JP3597697B2 (ja) 1998-03-20 2004-12-08 富士通株式会社 文書要約装置およびその方法
US6374266B1 (en) * 1998-07-28 2002-04-16 Ralph Shnelvar Method and apparatus for storing information in a data processing system
US6487561B1 (en) * 1998-12-31 2002-11-26 Emc Corporation Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size
US8311946B1 (en) * 1999-10-15 2012-11-13 Ebrary Method and apparatus for improved information transactions
US6667700B1 (en) 2002-10-30 2003-12-23 Nbt Technology, Inc. Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation
US7065619B1 (en) 2002-12-20 2006-06-20 Data Domain, Inc. Efficient data storage system
US7055008B2 (en) * 2003-01-22 2006-05-30 Falconstor Software, Inc. System and method for backing up data
US8938595B2 (en) 2003-08-05 2015-01-20 Sepaton, Inc. Emulated storage system
US8280926B2 (en) 2003-08-05 2012-10-02 Sepaton, Inc. Scalable de-duplication mechanism
US7814056B2 (en) 2004-05-21 2010-10-12 Computer Associates Think, Inc. Method and apparatus for data backup using data blocks
US8725705B2 (en) * 2004-09-15 2014-05-13 International Business Machines Corporation Systems and methods for searching of storage data with reduced bandwidth requirements
US7523098B2 (en) 2004-09-15 2009-04-21 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US7756833B2 (en) 2004-09-22 2010-07-13 Microsoft Corporation Method and system for synthetic backup and restore
US20080243769A1 (en) * 2007-03-30 2008-10-02 Symantec Corporation System and method for exporting data directly from deduplication storage to non-deduplication storage
US8352692B1 (en) * 2007-03-30 2013-01-08 Symantec Corporation Utilizing peer-to-peer services with single instance storage techniques
US7844117B2 (en) * 2007-09-07 2010-11-30 Xerox Corporation Method for identifying images under distortion via noise characterization and bregman optimal matrix approximations
US7962452B2 (en) * 2007-12-28 2011-06-14 International Business Machines Corporation Data deduplication by separating data from meta data
US8447938B2 (en) * 2008-01-04 2013-05-21 International Business Machines Corporation Backing up a deduplicated filesystem to disjoint media
CN101939737A (zh) * 2008-01-16 2011-01-05 赛帕顿有限公司 可扩展的重复数据删除机构
US8041679B1 (en) * 2008-06-04 2011-10-18 Symantec Operating Corporation Synthetic differential backups creation for a database using binary log conversion
US8244681B2 (en) * 2008-06-09 2012-08-14 Symantec Operating Corporation Creating synthetic backup images on a remote computer system
US8099572B1 (en) * 2008-09-30 2012-01-17 Emc Corporation Efficient backup and restore of storage objects in a version set
US8751462B2 (en) * 2008-11-14 2014-06-10 Emc Corporation Delta compression after identity deduplication
US8412677B2 (en) 2008-11-26 2013-04-02 Commvault Systems, Inc. Systems and methods for byte-level or quasi byte-level single instancing
US8315985B1 (en) 2008-12-18 2012-11-20 Symantec Corporation Optimizing the de-duplication rate for a backup stream
US8200926B1 (en) * 2009-05-28 2012-06-12 Symantec Corporation Methods and systems for creating full backups
US8255365B2 (en) * 2009-06-08 2012-08-28 Symantec Corporation Source classification for performing deduplication in a backup operation
US8904125B1 (en) 2009-09-03 2014-12-02 Symantec Corporation Systems and methods for creating reference-based synthetic backups
US8346787B1 (en) * 2009-09-15 2013-01-01 Symantec Corporation Method and apparatus for continuous data protection
US8311964B1 (en) * 2009-11-12 2012-11-13 Symantec Corporation Progressive sampling for deduplication indexing
US8380678B2 (en) * 2009-11-24 2013-02-19 Symantec Corporation Tracking files which have been processed by a backup or a restore operation
US8156306B1 (en) 2009-12-18 2012-04-10 Emc Corporation Systems and methods for using thin provisioning to reclaim space identified by data reduction processes
US8694469B2 (en) * 2009-12-28 2014-04-08 Riverbed Technology, Inc. Cloud synthetic backups
US20120011101A1 (en) 2010-07-12 2012-01-12 Computer Associates Think, Inc. Integrating client and server deduplication systems
US8682873B2 (en) * 2010-12-01 2014-03-25 International Business Machines Corporation Efficient construction of synthetic backups within deduplication storage system
US8442945B1 (en) 2012-01-03 2013-05-14 Don Doerner No touch synthetic full backup

Also Published As

Publication number Publication date
US10585857B2 (en) 2020-03-10
US20150227545A1 (en) 2015-08-13
EP2646915B1 (en) 2017-09-13
WO2012072419A1 (en) 2012-06-07
CA2817119C (en) 2019-09-10
US9575983B2 (en) 2017-02-21
US20130232119A1 (en) 2013-09-05
KR20130123410A (ko) 2013-11-12
US20180081898A1 (en) 2018-03-22
US20130232116A1 (en) 2013-09-05
CA2817119A1 (en) 2012-06-07
JP2014503886A (ja) 2014-02-13
CN103229147B (zh) 2016-03-16
AU2011335219A1 (en) 2013-04-04
US20130232120A1 (en) 2013-09-05
CN103229147A (zh) 2013-07-31
US20120239625A1 (en) 2012-09-20
US20120143835A1 (en) 2012-06-07
EP2646915A1 (en) 2013-10-09
AU2011335219B2 (en) 2015-06-04
US20180095986A1 (en) 2018-04-05
US9858286B2 (en) 2018-01-02
US9852145B2 (en) 2017-12-26
KR101599113B1 (ko) 2016-03-14
US9031921B2 (en) 2015-05-12
US8682854B2 (en) 2014-03-25
US10621142B2 (en) 2020-04-14
US20130232117A1 (en) 2013-09-05
US8682873B2 (en) 2014-03-25
US9697222B2 (en) 2017-07-04

Similar Documents

Publication Publication Date Title
JP5878548B2 (ja) 重複排除ストレージ・システム、その内部の合成バックアップを容易にする方法、及び、プログラム
JP6304406B2 (ja) ストレージ装置、プログラム、情報処理方法
CN105493043B (zh) 用于虚拟机转换的***和方法
JP5886447B2 (ja) ロケーション非依存のファイル
KR20170054299A (ko) 메모리 관리 시의 중복 제거를 위해서 기준 세트로 기준 블록을 취합하는 기법
US9740422B1 (en) Version-based deduplication of incremental forever type backup
US9396071B1 (en) System and method for presenting virtual machine (VM) backup information from multiple backup servers
US10261946B2 (en) Rebalancing distributed metadata
US10242021B2 (en) Storing data deduplication metadata in a grid of processors
JP2015514241A (ja) ストレージ装置
JP2018097450A (ja) データ処理装置,データ処理プログラムおよびデータ処理方法
US20170199891A1 (en) Distributed data deduplication in a grid of processors
US20220398220A1 (en) Systems and methods for physical capacity estimation of logical space units
JP7007565B2 (ja) 情報処理装置および情報処理プログラム
US20200341648A1 (en) Method, device and computer program product for storage management
US20240143213A1 (en) Fingerprint tracking structure for storage system
CN118159936A (zh) 顺序存储介质上的并行重复数据删除机制

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150421

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150717

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150818

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151130

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20151207

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: 20160105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160128

R150 Certificate of patent or registration of utility model

Ref document number: 5878548

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150