JP5571786B2 - ソースおよびターゲットを含む分散型環境におけるデータを重複排除する方法、システム、及びプログラム - Google Patents

ソースおよびターゲットを含む分散型環境におけるデータを重複排除する方法、システム、及びプログラム Download PDF

Info

Publication number
JP5571786B2
JP5571786B2 JP2012519989A JP2012519989A JP5571786B2 JP 5571786 B2 JP5571786 B2 JP 5571786B2 JP 2012519989 A JP2012519989 A JP 2012519989A JP 2012519989 A JP2012519989 A JP 2012519989A JP 5571786 B2 JP5571786 B2 JP 5571786B2
Authority
JP
Japan
Prior art keywords
deduplication
data
target
computing system
source
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
JP2012519989A
Other languages
English (en)
Other versions
JP2012533126A (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 JP2012533126A publication Critical patent/JP2012533126A/ja
Application granted granted Critical
Publication of JP5571786B2 publication Critical patent/JP5571786B2/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
    • 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
    • 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/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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
    • 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
    • G06F16/1752De-duplication implemented within the file system, e.g. based on file segments based on file chunks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques

Landscapes

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

Description

本発明は、一般に、データ記憶システム内で遂行されるデータの保存および維持オペレーションに関する。さらに具体的には、本発明は、データのソースおよびターゲットの両方で重複排除アクティビティを実施することによって記憶管理システム中のデータの重複を効率的に排除するための統合的アプローチに関する。
冗長データ排除のプロセスであるデータ重複排除は、記憶システムにおいて展開される重要な技術になりつつある。重複排除は、各々一意的なデータ部分だけが保管されるので必要記憶容量の低減を可能にする。典型的な構成では、記憶管理サーバまたはVTL(virtual tape library:バーチャル・テープ・ライブラリ)などのディスク・ベース記憶システムは、冗長データの「エクステント」(「チャンク」としても知られる)を検出し、かかるエクステント(extents)の冗長な保存を回避することによって、重複を低減する能力を有する。例えば、重複排除記憶システムは、ファイルAをチャンクa〜hに分割し、チャンクbとeとが重複していることを検出し、この重複するチャンクを一回だけ保管することができよう。この冗長性は、ファイルA内でも、記憶システムに保管された他のファイルとの間でも起こり得る。
データ・オブジェクトを重複排除するための周知の技法が存在する。しかしながら、既存の重複排除対処法では、ソースまたはターゲットのいずれかで実行された重複排除オペレーションで生成されたデータ・チャンクを共用することができない。顧客は、非効率的で不完全な重複排除アプライアンスを展開するか、もしくは重複排除されたデータを共用できない2つの製品での重複排除を展開することを強いられている。
本発明の一つの態様は、重複排除を実施するための統合されたアプローチを使って前述の問題を処理する対処法を含む。一つの実施形態において、システム構成は、ソース(クライアント)とターゲット(サーバ)との間で、重複排除アクティビティのシームレスな切り換えを可能にする。(本明細書では置き換え可能に使う用語として、クライアントはソースであり、サーバはターゲットである。)この切り換えは、ファイル・レベルまたはノード・レベル(ノードはターゲット記憶サーバ内から見た、あるソース・クライアントからの全データの表現)で実施可能である。従って、クライアント・ノードAはソース側重複排除を遂行するよう構成し、一方、クライアント・ノードBは、ターゲット側重複排除を遂行するよう構成することができる。さらに、ターゲットもしくはソースのいずれかで遂行された重複排除アクティビティにより生成されたチャンクは、複数のノードの間、および異なるファイルの間で再使用することができる。
本発明の一つの実装において、この統合的重複排除機能は、ソースとターゲットと両方の間で同一の重複排除プロセスを展開し、重複排除インデックスを共用することによって達成される。圧縮、暗号化など一切のデータ変換は、記憶管理システムのあらゆる部分を通して保管されたデータ・チャンクが相互に同一であることを確実にするため、データ・チャンクのフィンガープリント処理およびハッシュ識別の後に実施される。さらなる実装において、クライアント対サーバの環境において実施される重複排除の範囲の、自動的で粒度の細かい定義を可能にするため、重複排除の場所を決定するポリシーが定められる。
本開示では、クライアントおよびサーバに関連させて、本発明の各種態様を説明するが、本発明はクライアント−サーバ実装には限定はされない。それどころか、本開示のオペレーションは、ソースとターゲットとの間での重複排除されたデータの保存および読み出しを伴う一切の対処法に適用することができる。
本発明の一つの実施形態は、分散型記憶管理システム中のソースまたはターゲット場所のいずれでもデータ・ファイルの重複排除ができるようにする。記憶管理システムは、ターゲット・コンピューティング・システムに接続されたソース・コンピューティング・システムと、ターゲット・コンピューティング・システム内に配置されたターゲット・データ・ストアとを有する。記憶管理システムは、ターゲット・データ・ストア中に保管された重複排除済みのデータ・チャンクを追跡するための共有インデックスをさらに維持する。
一つの実施形態において、共有インデックスは、データベースとして共有され、ソース・コンピューティング・マシンおよびターゲット・コンピューティング・マシンの各々からアクセスが可能である。上記に換えて、ソースとターゲットとの間でデータ・チャンクの情報を通信可能にするクライアント−サーバ・プロトコルを介して、この共有インデックスへのアクセスを可能にすることもできる。
ターゲット・データ・ストア内に保管されることになるデータ・チャンクの重複排除のための重複排除プロセスが提供される。重複排除は、ターゲット・コンピューティング・システムもしくはソース・コンピューティング・システムのいずれかにおける、重複排除命令の実行を介して実施される。しかして、データ・ファイルは、重複排除プロセスを用いて重複排除されたデータ・チャンクのセットに変換される。重複排除の後、重複排除されたデータ・チャンクのセットは、ターゲット・データ・ストア内に保管され、共有インデックス中の、この重複排除されたデータ・チャンクのセットに対する重複排除情報が更新される。この重複排除されたデータ・チャンクのセットは、後にソースに向け復元することができる。
さらなる実施形態は、フィンガープリント処理アルゴリズムを用いてチャンクを定義する。ただし、ソースおよびターゲット双方が同じメカニズムを使う限りにおいて、チャンクを定義するための任意のメカニズムを選択して機能させることができる。一つの実施形態において、重複排除プロセスは、ソース・コンピューティング・システムおよびターゲット・コンピューティング・システムの各々において、データを可変サイズのチャンクに分割するためのフィンガープリント処理アルゴリズムと、重複したチャンクを識別するため用いるハッシュ処理アルゴリズムとを含む。上記に換えて、重複排除プロセスには、ソース・コンピューティング・システム上で重複排除アクティビティを実行するために使われる、フィンガープリント処理およびハッシュ処理アルゴリズムの第一セットと、ターゲット・コンピューティング・システム上で重複排除アクティビティを実行するために使われる、フィンガープリント処理およびハッシュ処理アルゴリズムの第二セットとを含めることもできる。
また、さらなる実施形態において、フィンガープリント処理およびハッシュ識別の後でデータ変換が実施される。このようなデータ変換には、圧縮および暗号化の一つまたは両方を含めることができる。このデータ変換は、重複排除されたデータ・チャンクのセットをソース・コンピューティング・マシンに向けて復元するのに応じ、ソース・コンピューティング・マシンによって各チャンクに対して逆処理を行うことができる。上記に換えて、ソース・コンピューティング・マシンに向け重複排除されたデータ・チャンクのセットを復元する前に、ターゲット・コンピューティング・マシンによってこの変換の逆処理をすることもできる。
本発明の別の実施形態は、選択されたポリシーの使用に従って、分散型記憶管理システム中のソースもしくはターゲット場所のいずれかでデータ・ファイルの重複排除ができるようにする。また、この記憶管理システムは、ターゲット・コンピューティング・システムに接続されたソース・コンピューティング・システムと、ターゲット・コンピューティング・システム内に配置されたターゲット・データ・ストアと、共用インデックスによって管理される、ターゲット・データ・ストア内に保管されたデータの重複排除情報とをサポートするように構成される。この実施形態では、ターゲット・データ・ストア内に保管されることになるデータ・ファイルの重複排除のため、ハッシュ処理アルゴリズムが選択される。
この実施形態では、複数の定義されたポリシーから選択されたポリシーが適用され、ソース・コンピューティング・マシンまたはターゲット・コンピューティング・マシンのいずれかに、重複排除アクティビティの場所が決定される。決定された場所において、選択された重複排除プロセスを使ってデータ・ファイルが重複排除され、共有インデックス内の、該データ・ファイルに対する重複排除情報が更新される。さらなる実施形態において、選択するポリシーは、いくつかのファクタの中でも特に、時間、システム負荷、ファイル・タイプ、ファイル特性、クライアント・ノード、またはポリシー・ドメインに基づいて選択することができる。
単なる例示として、添付の図面に示される好適な実施形態を参照しながら、以下に本発明を説明する。
従来技術で周知の、ソースにおいて重複排除アクティビティを実施する記憶管理システムの例示的構成を示す。 従来技術で周知の、ターゲットにおいて重複排除アクティビティを実施する記憶管理システムの例示的構成を示す。 従来技術で周知の、アプライアンスにおいて重複排除アクティビティを実施する記憶管理システムの例示的構成を示す。 本発明の一つの実施形態による、ソースにおいて統合的重複排除アクティビティを実施する記憶管理システムの例示的構成を示す。 本発明の一つの実施形態による、ターゲットにおいて統合的重複排除アクティビティを実施する記憶管理システムの例示的構成を示す。 本発明の一つの実施形態による、ソースでデータ重複排除アクティビティがどのように行われるかを表すフローチャートを示す。 本発明の一つの実施形態による、記憶システム内のソースおよびターゲットにおいて重複排除を実施する例示的オペレーションを表すフローチャートを示す。
本発明の各種の実施形態は、記憶管理システム内で行われる重複排除アクティビティの最適化された制御を可能にする。既存の記憶システムは、単一場所でだけ重複排除アクティビティを実施する。これに対し、本明細書で開示する構成は、データ・ソースおよびターゲット場所のどちらでもまたは双方で実施できる、統合的且つ最適化された重複排除プロセスを可能にする。
既存の記憶管理構成では、ソース、ターゲット、または外部記憶アプライアンスで、排他的に重複排除アクティビティ実施することにより、いくつかのトレードオフが生じる。本発明の各種実施形態は、ソースまたはターゲットとのいずれでも重複排除処理を実行できるようにすることによって、こういった制限に対処する。これは、クライアント側もしくはサーバ側のいずれかの重複排除によって記憶システム中に生成された、整合チャンクをうまく保管し、見出し、用いる能力を提供する。
本発明の各種実施形態は、いくつかのファクタに対応する、重複排除アクティビティの改良された制御をさらに提供する。記憶管理システム全体を通して実施される重複排除アクティビティの場所は、特定のポリシー、ファイル・タイプ、条件または他の定義設定に従って、細かい粒度レベルで制御することができる。
データ・オブジェクトの重複を排除するため使われる典型的重複排除プロセスでは、オブジェクトは、まず、ラビン・フィンガープリント処理などの方法を使ってチャンクに分割される。MD5またはSHA−1などのハッシュ関数を使い、各チャンクに対するハッシュ値が生成され、次いで、その値がシステム中に既に保管されているチャンクに対する値と対比されて、冗長なチャンクが検出される。これら保管されたチャンクに対するハッシュ値はインデックス中に維持される。冗長チャンクが識別されたならば、そのチャンクは、整合チャンクへのポインタで置き換えることができる。
クライアント−サーバ型記憶管理システムにおいて、重複排除アクティビティの場所(すなわち、冗長データ・チャンクが識別され除去される場所)は、特定のシステムの構成の如何による。既存の構成では、重複排除は、データ・ソース(クライアント)において、ターゲット(記憶サーバ)において、もしくは記憶サーバに接続された重複排除アプライアンス上で実施することができる。下記のように、重複排除オペレーションの各々の配置には関連するいくつかの利点および不利点がある。
データ・ソースでの重複排除の実施
データをターゲットに転送する前にデータのソースで重複排除アクティビティを実施する利点の一部には、ネットワークの省力、データ・ストレージの省力、ターゲットよりむしろソースのハードウェア上でCPUサイクルを消費することが含まれる。不利点の一部には、修復不能なデータをもたらすハッシュ衝突の可能性、ソース・ハードウェアが他の用途に使われている場合またはターゲットが利用可能なサイクルを有する場合であってもソースでCPUサイクルを消費する必要があること、および、ターゲット記憶サーバに既に保管されているレガシー・データを重複排除に使用できないことが含まれる。
図1は、従来技術で周知の、ソースの場所において重複排除アクティビティを実施する記憶管理システム100の例示的構成を示す。この記憶システムは、クライアント(データのソース)120、およびネットワーク130を介して接続されたサーバ(データのターゲット)140を含む。記憶システムの通常のオペレーション過程で、クライアント120などのさまざまなクライアント・ノードから、データが、バックアップ、保存、移動、または別途の管理のためにサーバ140内のデータ・リポジトリ145に転送される。
図示のように、ファイル105がクライアント120によって取り込まれる。ファイル105が読み込まれると、ファイルは、チャンク「A」110、「B」111、「B」112、「A」113、「C」114として示されているいくつかのブロックまたはチャンクに分割される。この例では、チャンクA110は、チャンクA113の重複であり、チャンクB111はチャンクB112の重複である。
このオペレーションでは、クライアント120は、(クライアントの構成によっては、一つまたは数個だけのチャンクしか生じない特に小さなファイルを例外として)、通常、ファイル全体が取り込まれるのを待たないでチャンクをサーバ140に送信する。クライアント120は、ファイル所在地から、または、eメールまたはデータベース・サーバなどサードパーティアプリケーションによってメモリ・バッファ中に提供されるデータとしてデータを読み取る。クライアント120がファイル105のデータを読み込むと、重複排除プロセス122は、フィンガープリント処理、ハッシュ処理、重複チャンクの識別、および一意的なチャンクのサーバへの送信を実施する。しかして、一切の関連する重複排除されたデータが最終的に記憶リポジトリ・サーバ140に送信される前に、クライアント120によって、ファイル105のデータ重複排除が遂行されることになる。
図1には、ファイル105に対するバンド内重複排除(ファイルがクライアントのデータ・ストアに取り込まれている間に行われる重複排除)の実施が描かれているが、当業者は、ファイル105に対し、バンド外重複排除(ファイルがクライアントに取り込まれた後で行われる重複排除)も、同様なクライアント側重複排除オペレーションを用いて実施できる可能性を認識していよう。
データ・チャンク151、152、153のセットは、どのデータ・チャンクが、クライアントからネットワーク130を介して記憶サーバに転送されるかを示す。ファイル105のチャンクは、クライアント・システム120上で重複排除されたので、元のファイル105の5つのデータ・チャンクではなく、3つの重複排除されたチャンクだけが、記憶サーバ140に送信されることになる。しかしながら、図示のように、チャンクA’161およびC’162が、記憶サーバのデータ・ストア145に既に存在する。この例において、チャンクA’161とA151、およびC’162とC153とは、それぞれ同じ内容を包含する重複したチャンクである。サーバでは重複排除は実施されないので、このデータ・ストアに新しく追加されたA163、B164、およびC165のチャンクに加えて、A’161およびC’162のチャンクが存在することになる。
データ・ターゲットでの重複排除の実施
データのターゲットで(すなわち、記憶サーバで)重複排除アクティビティを実施する利点の一部には、記憶サーバでのデータ・ストレージの省力、および、ソースよりむしろターゲット・ハードウェア上でCPUサイクルを消費することが含まれる。不利点の一部には、データをターゲットに送信する際に、冗長で重複したデータをネットワークを介して送らなければならないこと、および、ソース上でCPUサイクルの利用が可能な場合であっても、ターゲット上でCPUサイクルが消費されることが含まれる。
図2は、従来技術で周知の、ターゲット記憶の場所において重複排除アクティビティを実施する記憶管理システム100の例示的構成を示す。クライアント120、ターゲット140、およびネットワーク接続130の構成は、図1に示されたものと類似である。前図同様に、ファイル105がクライアント120に入力される。ターゲット側の重複排除が使われる場合、クライアント内ではファイルが単なるビットのストリーム125として取り扱われ得るので、クライアント120は、ファイル105がチャンクから成ることに気付かないことさえある。
クライアント120は、ターゲット140に送信されるファイル中にいかなる種類のチャンク・デリミタも挿入しない。ファイルのコピー150が、重複排除されていない形で、ネットワーク130を介してターゲット記憶サーバ・リポジトリ140に送信される。これはクライアントに始めに入力されたファイル全体(105)が送信されることを意味する。しかして、送信されたファイル150の一部は、相互に重複するチャンクを包含している可能性が高い。
送信されたファイルは、ターゲット上の重複排除コンポーネント142のオペレーションによって重複排除されることになる。このバンド外の重複排除の例では、全体ファイル150がターゲット140に到着したときに、ファイル150を構成するさまざまなチャンク、チャンクA151、B152、B153、A154、C155が、データ・ストア145に既に存在するデータに照らして重複排除されることになる。チャンクA’161およびC’162は、それぞれ、チャンクA151およびA154と、C155と重複している。チャンク「B」と重複するものはない。しかして、チャンクA151、B153、A154、およびC155はデータ・ストアから除去され、重複排除の後、これらの新規追加のチャンクのうちB152だけが、データ・ストア145中に残ることになる(B163として示す)。さらに、重複排除オペレーションの実施後は、あらゆる一意的チャンクのただ一つのコピーだけが、ターゲット・データ・ストア145に存在することになる。
アプライアンスでの重複排除の実施
ターゲット記憶サーバで、WAN重複排除または記憶装置ベースの重複排除を実施できるアプライアンスが存在する。本明細書での使用において、アプライアンスとは、一般に、記憶ネットワークに亘ってデータ管理オペレーションを実施するためのソフトウェアを運用する、特殊化されたスタンドアロン型システムをいう。通常、アプライアンスは、そのアプライアンスが記憶ネットワークに加えられた後、ターゲット記憶サーバに保管されたデータの重複排除を開始するよう構成される。例えば、アプライアンスは、一組のバーチャル・テープ上でデータを重複排除するバーチャル・テープ・ライブラリを維持することができる。
アプライアンスで重複排除アクティビティを実施する利点の一部には、記憶システムのバックアップ・ソフトウェアまたはバックアップ・オペレーションに依存しない別個のコンポーネントを展開すること、および、ターゲットまたはソース・ハードウェアよりむしろ別個のアプライアンス・ハードウェア上でCPUサイクルを消費することが含まれる。不利点の一部には、記憶装置ベースの重複排除アプライアンスの使用に伴い冗長なデータがネットワークを介してターゲットに送信されること、WANベースの重複排除アプライアンスの使用に伴い記憶装置中に冗長データが存在するようになること、記憶装置ベースおよびWANベースの重複排除アプライアンスを一緒に使う場合、どのデータを重複排除するかを選定するためのいかなる細かな粒度を提供することも非常に困難となり得ること、ターゲット・ハードウェアでもCPUサイクルが消費されること、アプライアンスがデータ不問()でその重複排除オペレーションを実施すること、および、アプライアンスがしばしば、例えば、ヘッダ、圧縮または暗号化されたデータなど、重複排除すべきでないデータを重複排除しようとすること、が含まれる。
図3は、従来技術で周知の、重複排除アプライアンス170の使用を介した重複排除アクティビティを実施する記憶管理システム100の例示的構成を示す。これもまた、ソース120、ネットワーク130、およびターゲット140の構成は、図1および図2に示されたのと同じのままである。アプライアンス170も、ネットワーク130を介してターゲット140に接続されている。アプライアンス170は、その独自の内蔵式処理パワーおよびリソースを使って、ターゲット140上で、重複排除オペレーションを実施するように動作する。しかして、アプライアンス170は、アプライアンスの重複排除能力およびプロセスに従って、そのデータ・ストア内に保管されている冗長データを除去することによって重複排除されたデータ・リポジトリを維持するよう動作する。
図示のように、ファイル105はクライアント120に入力され、次いでその全体がサーバ140に送信される。次に、チャンク「A」151および154と、「B」152および153と、「C」155とから成るファイルは、次いでその全体がアプライアンス170に送信される。データ・ストア175に示されているように、重複排除の前にデータが最初にアプライアンスのデータ・ストアに加えられたとき、(「A」161、163、および166、「B」164および165、「C」162および167など)データ・ストア内に所在するデータ・チャンクの多くは相互に重複することになる。
図3は、バンド外重複排除プロセスを使った、アプライアンスのデータ・ストアに対する重複排除オペレーションの重複排除前のデータ・ストア175と、重複排除後のデータ・ストア175’とをさらに示す。データ・ストア175’は、アプライアンス170内の重複排除機能172を使って重複排除がサーバ上で実施された後に、サーバ内に保管されるデータ・チャンクを示している。アプライアンスは、アプライアンス上の冗長なデータ・チャンクの全てを除去するよう作動し、各データ・チャンク、A’181、C’182、およびB183の一つの一意的コピーだけを残す。重複排除処理172は、アプライアンス170上で実行されるプロセスを介し、重複排除アクティビティの結果がサーバ140からは見えないように行われる。次いで、重複排除アプライアンス170は、データを、あたかもそれが重複排除されなかったようにしてサーバに返送提示することができる。
これら既存の対処法の各々は、表面上、好結果のデータ重複排除をもたらすが、既存技術で知られるように、重複排除アクティビティを、クライアント、ターゲット、または記憶アプライアンスのいずれかで実施することに起因する数多くのトレードオフおよび厄介な問題がある。ターゲット側とソース側との重複排除の組み合わせによって、特に重複排除アクティビティの場所が動的に管理されたとき、これらの問題を減少または全面的に軽減する対処法を導入することができる。
以下の開示では、重複排除の過程で一般的に遭遇する利点およびリスクを述べ、本発明の各種実施形態がこれらのリスクをいかに動的に軽減できるかを説明する。
ハッシュ衝突
ターゲット側での重複排除は、重複排除またはバイト単位の比較を実施する前にデータのコピーを作るなどの技法を介して、検出されないハッシュ衝突に起因するデータ喪失のリスクを軽減することができる。これに対し、ソース側での重複排除は、データがクライアントによって取り込まれるときの検出されないハッシュ衝突に起因するデータ喪失の影響を受けやすくなる可能性がある。このリスクが容認できなければ、リスクを軽減するための適切な方法(例えば、重複排除に先立ってデータをコピー記憶プールにコピーするなど)を使って、サーバ側で重複排除をするのが望ましいことになる。例としては、企業の方針で、機密eメールはサーバで重複排除することが指示されているなどのケースがあろう。
作業負荷のバランス保持
作業負荷のバランス保持に対する基本的アプローチは、ネットワークおよびCPUの利用をバランスさせるために、どこで重複排除を実施するかについて最適化された決定をできるようにすることである。ネットワークがボトルネックである場合、クライアントの重複排除が最適に実施され、そうでない場合は、サーバで重複排除を実施すべきである。これはランタイム決定とすることもでき、またはスケジュールすることもできる。例えば、ネットワークのトラフィックが多くない週末には、サーバ側重複排除を利用すべきである。平日の間は、ネットワークがパフォーマンス上のボトルネックになる可能性があり、クライアントが最適に重複排除を実施できよう。過去のデータを使って、重複排除を何時クライアントで、何時サーバで展開するかを決めることができる。他の関連するルールには、例えば、ファイル・サイズが5GBより大きい場合などは、クライアントでの重複排除はバックアップ速度を低下させバックアップ・ウィンドウを失うおそれがあるので、大きなファイルはサーバだけで重複排除することを含めることができる。
統合的重複排除アクティビティ
最適には、重複排除ではデータのフォーマットを因子分解する(factor)ことになる。本発明の各種実施形態において、このメカニズムは、外部による対処法と対照的に、クライアント−サーバのバックアップ製品の一部となる。バックアップ製品との統合によって、データ重複排除を最適化するためその製品の情報(すなわち、データ・フォーマット)を使う能力が得られる。データ・フォーマットの情報は、ファイル・タイプに基づく最適化を可能にし、特定のファイル・タイプに対し最適化された各種の重複排除アルゴリズムを用いることができる。例えば、ラビン−カープ・アルゴリズムをベース・アルゴリズムとして使用することができ、特定のファイル・タイプに対して他のフィンガープリント処理アルゴリズムがより良好に機能する場合は、それを使うことができる。別の例に、MP3およびPDFファイルのような圧縮データの重複排除があり、これらは、サーバだけで重複排除すると規定することができる。
レガシー・データの再使用
サーバに既に保管されているレガシー・データは、サーバ側重複排除を用いて最適に重複排除することができ、新規のバックアップは、サーバもしくはクライアント側重複排除のどちらかの利点を取ることができる。こういったことは既存のシステムでは可能でなく、既存システムでは、クライアント側重複排除は、進行中のものに展開する能力だけを有し、従って、クライアント側のレガシー・データには重複排除を適用することができない。本発明の各種実施形態は、クライアント側重複排除が、サーバで重複排除されたレガシー・データとの共通のチャンクを共用することを可能にする。これは、レガシー・データがその場所に関わらず重複排除できるので、クライアント単独の対処法にない利点である。
ソース(クライアント)およびターゲット(サーバ)の両方で重複排除オペレーションをうまく実施するためのキーとして、両方の場所で、同一の重複排除プロセス・アルゴリズムおよび重複排除インデックスを使うことが必要である。さらに、圧縮および暗号化など一切のデータ変換アクティビティは、さまざまな場所に亘って正確な重複排除結果を確実にするために、フィンガープリント処理の後およびハッシュ識別の後で実施される。
一つの実施形態によって実施される重複排除構成の一つの例として、重複排除オペレーションは、ソース側およびターゲット側重複排除の両方に対し、同一の、可変サイズ・ブロックのハッシュ処理アルゴリズムを用いる。上記に換えて、ソース側およびターゲット側重複排除に対して同一のアルゴリズム選択ルールが適用されるという条件で、一部のファイルには可変サイズ・ブロックのハッシュ処理を、他に対しては単一インスタンス・ストアを使うなど、複数のアルゴリズムを混用することもできよう。
重複排除がソースまたはターゲットのどちらで実施されるかに関わらず、既存のチャンクを追跡し重複排除されたオブジェクトを再集合するために、記憶システム内では同じ重複排除インデックスが使われ、これにより、ソースおよびターゲット側重複排除が共通のデータを共有することが可能になる。このインデックスは、共有データベースを使って実装することができ、または、ソースとターゲットとの間でチャンク情報の通信を可能にするクライアント−サーバ・プロトコルの使用を介して(すなわち、ターゲットからソースへの適切なチャンク情報のリレーを介して)実装することもできる。
重複するチャンクが識別された後においてだけデータ変換が実施されれば、これにより、変換が重複するチャンクの認識を妨害する可能性が防止される。データが復元されるときは、変換は、クライアント(ソース)によってチャンク・レベルで元に戻される。これにより、クライアントが、混合された(圧縮された、非圧縮の、および暗号化された)チャンクのストリームを受信することが可能になる。上記に換えて、変換を、復元の前にサーバ(ターゲット)によって元に戻すこともできる。
図4は、本発明の一つの実施形態による、クライアント・ソースにおいて統合的重複排除アクティビティを実施する記憶管理システム200の例示的構成のオペレーションを示す。図示のように、クライアント220(データのソース)はネットワーク230を介してサーバ240(データのターゲット)に接続されている。前図と同様に、記憶システムの通常のオペレーション過程で、バックアップ、保存、移動、または他の管理のためサーバ240のデータ・リポジトリ245に送信されることになるデータが、クライアント220によって取り込まれる。
クライアント220によって取り込まれると、ファイルは、サーバ240へのファイル・チャンクの最終送信の前に、重複排除コンポーネント222を使って重複排除される。この重複排除ステップは、どのチャンクがサーバ240上に既に存在するものでないかをチェックすることによって実施される。しかして、この重複排除プロセスは、クライアント上に存在するチャンクに基づいてファイルを重複排除するよりは、むしろ、どのチャンクがターゲットに保管されているかを検証することになる。一つの実施形態において、これは、ターゲット240内に配置されたインデックス241に問い合わせることによって実施され、インデックスは、サーバのデータ・ストア245内にどのようなチャンクが保管されているかを追跡する。
図4に示された例において、重複排除オペレーションがクライアント上で実施されるので、クライアントは、「A」、「B」、および「C」チャンクだけが一意的であると判定することになる。さらに、記憶システムのインデックス241が問い合わせを受けると、このインデックス内の重複排除情報242がクライアントに送信され、クライアントに対し、チャンクA’261およびC’262(「A」および「C」データ・チャンクのコピー)が現在サーバのデータ・ストア245に存在していることがさらに連絡される。従って、インデックス241からの情報の結果として、クライアントは、サーバのデータ・ストア245に保管されていない一意的チャンクは「B」チャンクのコピーだけであるのを見出すことになる。保管のためサーバに送信されるチャンクはB251だけとなり、チャンク263としてデータ・ストア245に保管されることになる。
図6は、本発明の一つの実施形態による、クライアントでデータ重複排除がどのように実行されるかをさらに説明するフローチャートを示す。このフローチャートは、図7のステップ431〜434に参照されているクライアント側の重複排除アクティビティの一つの実装の例を提示している。図6に示されるように、この重複排除プロセスは、ファイル/オブジェクト「F」を記憶リポジトリ・サーバにバックアップしてもらう際に、ステップ310でクライアントによって開始される。
ステップ320において、データの重複排除をクライアントで行うことができる場合、クライアントでの重複排除プロセスの過程でいくつかのステップが実施される。データの重複排除をクライアント上で実施できない場合、ステップ330において、重複排除のない通常の処理がクライアントで行われ、この場合、サーバでのファイルの重複排除が必要なことになろう。
重複排除アクティビティがクライアントで実施される場合、ファイル/オブジェクト「F」は、ステップ341でフィンガープリント処理されることになる。これは、ファイル/オブジェクト「F」に対するいくつかのチャンクの生成をもたらすことになる。ステップ342で、ファイルの次のチャンク(または最初のチャンク)Dが読み出され、ステップ343でこのチャンクに対するハッシュh(D)、長さl(D)が生成される。図6に示されていない一つの実施形態の別の実装では、フィンガープリント処理はこのループの一部として行われる。しかして、ファイル全体にフィンガープリント処理を行ってその後各々のチャンクを処理する代わりに、各チャンクは、それがフィンガープリント処理の過程で識別されるごとに処理される。
次に、ステップ350において、重複排除プロセスは、値[h,l]で識別されるチャンクが、サーバに所在するかどうかを判定することになる。当該チャンクが既にサーバに保管されている場合、ステップ370で、サーバ内でのチャンク[h,l]への参照だけが生成され、従って、チャンク参照だけがサーバに送信されることになる。当該チャンクがサーバに所在しない場合、そのときは、チャンク・データのサーバへの送信が必要なことになる。
ステップ360でのチャンクを圧縮するかどうかの判断に応じて、チャンクはサーバに送信するための準備がされる。チャンク内のデータを圧縮しない場合には、ステップ380において、チャンクD、ハッシュh、および長さlがサーバに送信されることになる。チャンクDはサーバのデータ・ストアに保管され、ハッシュh、および長さlは、重複排除インデックス中に格納されることになる。チャンク内のデータが圧縮される場合、ステップ361で、チャンクDは、チャンクc(D)に圧縮されることになる。ステップ362において、圧縮されたチャンクc(D)が、ハッシュh、および長さlとともにサーバに送信され、チャンクはサーバのデータ・リポジトリに保管され、ハッシュおよび長さは、重複排除インデックス中に格納されることになる。
ステップ385において、ファイル/オブジェクト「F」中のさらなる各々のチャンクに対して、サーバ内のチャンクの所在探索プロセスが繰り返される。全てのチャンクが完了したならば、ステップ395で、ファイル全体に対して生成されたMD5署名であるMD5(F)がサーバに送信される。データの完全性を検証するために、ファイル復元オペレーションの過程で随意的にMD5ダイジェストを使用することができる。
当業者は、本開示全体を通して説明するクライアント側の重複排除技法が、クライアントのデータ・ストアでのバンド内重複排除、バンド外重複排除による実施、または、さまざまな時間における重複排除の実施など、いろいろな置き換え(permutations)を使って修正しつつも、クライアントに実施させることが可能なのを認識していよう。どのような置き換えにおいても、本技法は、本発明による重複排除インデックスの使用を介し、ファイルを、重複排除の行われるデータ・ストアに効率的に通信しその中に格納しながら、ソースもしくはターゲットのいずれかにおいてどのように重複排除できるかを実証する。
図5は、本発明の一つの実施形態による、統合的重複排除アクティビティをターゲット・サーバで実施する記憶管理システム200の例示的構成を示す。図4と同様に、クライアント220(データのソース)はネットワーク230を介してサーバ240(データのターゲット)に接続されている。前述と同様に、ターゲット側の重複排除が使われる場合、クライアント内ではファイルが単なるビットのストリーム225として取り扱われ得るので、クライアント220は、ファイル205がチャンクから成ることに気付かないことさえある。
この実施形態においては、重複排除はターゲット240で行われるので、ファイル250(これはサーバでチャンクA251、B252、B253、A254、およびC255に分割されることになる)の各部分は、ネットワーク230を介してサーバ240に送信される。ターゲット240がファイルの各チャンクを取り込み次第、重複排除コンポーネント243はターゲットにおいて重複排除を実施するため作動する。このコンポーネントは、重複排除インデックス241にアクセスし、どのチャンクがサーバのデータ・ストア245に既に保管されているかを判断する。
図5の例において、重複排除プロセス243は、重複排除情報242を使って、インデックス241が「A」および「C」のデータ・チャンクに対するエントリを既に包含している(ターゲット・データ・ストア245にA’261およびC’262として格納されている)と判定することになろう。重複排除の後、ターゲットに加えられることになるデータ・チャンクはチャンク「B」のコピーだけであり、従って、「B」のデータ・チャンクの一意的コピーがデータ・ストアに263として配置される。当業者は、図5が、バンド内重複排除の一実施形態を示したものであることを認識するであろう。従って、上記に換えて、ターゲットでバンド外重複排除が使われる場合は、データ・ストア内で重複チャンクが識別された後、それら重複チャンクがデータ・ストアから除去されることになる。
これも同様に、当業者は、本開示全体に亘って説明したサーバ側の重複排除技法が、サーバのデータ・ストア上でのバンド内重複排除、バンド外重複排除による実施、または、さまざまな時間における重複排除の実施など、いろいろな置き換えを使って修正しつつも、サーバに実施させることが可能なのを認識していよう。どのような置き換えにおいても、本技法は、本発明による重複排除インデックスの使用を介し、ファイルを、重複排除の行われるデータ・ストア内で効率的に管理されるようにしながら、ソース・クライアントもしくはターゲット・サーバのいずれかにおいてどのように重複排除され得るかを実証する。
(前述の構成を用いたものなど)ソースおよびターゲット側重複排除アクティビティによって生成された共通のデータの共有を可能にする記憶システム・インフラストラクチャを前提として、さまざまな技法を用い、特定のクライアント・マシンで何時どの程度ソースによる重複排除を実施するか、およびターゲットによる重複排除を何時使うかを決定することができる。一つの実施形態において、ルール・ベースのポリシーが定義され、記憶管理システムが、ルールのセットまたはシステム状態に応じて重複排除を実施すべき場合を判定することを可能にする。以下は、かかるポリシーの限定されない一組の例である。
このポリシーは、当該クライアント・ノード、すなわち、そのデータを重複排除する当該マシンに基づくものとすることができる。上記に換えて、このポリシーを、同一のポリシー要求事項を有するクライアント・ノードの一群を定義するポリシー・ドメインに基づくものとすることもできる。一例として、一組のマシンが、高度に機密なデータを包含するとして指定されている場合、ソースでの重複排除は実施されないことになる。これは、ファイルがサーバに転送され、必要に応じバックアップされることを可能にし、その後でだけ、データの冗長チャンクを除去するための重複排除が実施されることになる。
このポリシーは、ファイルが保管されているファイル・システム、ファイルへのパス、ファイル名、ファイル・タイプまたはファイル・サイズなど、ファイル(オブジェクト)の特性に基づくものとすることができる。このポリシーは、ファイル自体の特性に基づき、重複排除をどこで最適に実施できるかを判定する選択ルールを使って実行することができる。
また、このポリシーは、時間に基づくものとすることもできる。時間に関連する測定値に従って、前述のポリシー群を変更するためのスケジュールを実行することができる。例えば、週末には平日と異なるポリシーを適用するなどが考えられよう。
このポリシーをシステム負荷に基づくものとすることも可能である。保護対象のクライアント・マシン、サーバ・システム、およびネットワーク上の負荷をモニタリングすることによって、利用可能な最良のリソースを保存するもしくは使用するまたはその両方のための決定を行うことができる。例えば、過度のネットワーク・トラフィックの時間の間は、ターゲットへの不必要なデータ転送を防止するため、ソース側重複排除を用いることができよう。
このポリシーは、特定のノードまたはソース・システム、あるいはソース・システム内の特定のファイル、データ・タイプ、デバイス、またはサブシステムに対し、細かい粒度レベルで個別に定義することができる。当業者なら認識するであろうように、本明細書で説明したさまざまなポリシー技法を組み合わせ統合して、ソースとターゲットとの間で重複排除のロバストな切り換えを可能にしながら、しかも特定環境の場所における重複排除の実施だけに対する対応性およびカスタム化性を有する高度なシステムを生成することができよう。さらに、当業者は、本明細書で説明したポリシーが、手動で、または自動的に、ネットワークの一部または全体に亘って実装可能なことを認識していよう。
図7は、本発明の一つの実施形態による、データの統合的重複排除を実施するオペレーションのフローチャートを示す。このオペレーションは、ステップ410において、データ・オブジェクトに対し重複排除が実施されようとするときに開始される。それに続くアクティビティは、重複排除アクティビティがソースで実施されるか、またはターゲットで実施されるかによって決まる。上記に沿って、この実施場所は、ステップ420でポリシーに従い、いくつかのポリシー判断項目(時間、システム負荷、ファイル特性、クライアント・ノード、またはポリシー・ドメインなど)に整合して選択される。
クライアント側で重複排除が行われる場合、ステップ431において、フィンガープリント処理、およびハッシュ処理アルゴリズムなど、重複排除プロセスの各種アルゴリズムが適用され、データ・オブジェクトを構成するデータ・チャンクの特性が識別される。ここでは、重複排除プロセスは、ターゲットに現在保管されているデータ・チャンクに基づいて実施されるので、ステップ432において、ターゲットにより維持されている重複排除インデックスへのアクセスが行われその情報が見定められることになる。ある特定のデータ・チャンクのハッシュ処理および識別は、通常、その特定のデータ・チャンクに対するインデックス情報に全面的にアクセスできる前に行わなければならない。次いで、ステップ433で、データ・チャンクに対し(暗号化などの)任意のデータ変換が実施されることになる。次いで、ステップ434において、データ・オブジェクトの重複排除されたチャンクが、保管のためクライアントからサーバに転送されることになる。
サーバ側の重複排除で取られるステップも同様である。最初のステップは、ステップ441で、クライアントからのデータ・オブジェクトを受信することを含む。データ・チャンクが受信されたならば、ステップ442で、データ・オブジェクトおよびそのチャンクに対し、フィンガープリント処理およびハッシュ処理アルゴリズムを適用することを含め、サーバでの重複排除アルゴリズムが実行され、ステップ443において、データ・オブジェクト・チャンクの重複排除インデックス情報へのアクセスが行われ、ステップ444で、最終的に任意のデータ変換が実施されることになる。
ステップ450で、サーバからデータ・オブジェクトを読み出す必要が生じたとき、以下のステップが実施されることになる。ステップ461において、重複排除されたデータ・オブジェクトのチャンクがサーバから読み出される。一つの実施形態において、ステップ462で、クライアントへのデータ送信の前に、チャンクの解読または解凍などデータ変換の逆処理(reversal)を実施することができる。クライアントへのこのデータ送信は、ステップ463で、データ・チャンクのストリームを使って行われる。サーバからのデータ・チャンクのストリームは、471においてクライアントで受信されることになり、このストリームには、圧縮されたチャンク、非圧縮のチャンク、および暗号化されたチャンクなど、混合された変換タイプのチャンクを含めることができる。別の実施形態では、サーバでデータ変換がまだ逆処理されていない場合、データ全体が受信され次第、ステップ472において、クライアントでそれらを逆処理することができる。最後に、ステップ473で、データ・チャンクは、それらが対応するデータ・オブジェクトに再構成される。
当業者ならよく理解するであろうように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具現することができる。従って、本発明の態様は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、あるいは、一般に本明細書では全て「回路」、「モジュール」、または「システム」といわれる、ソフトウェアおよびハードウェア態様を組み合わせた実施形態の形を取ることができる。さらに、本発明の態様は、内部に具体化されたコンピュータ可読プログラム・コードを有する一つ以上のコンピュータ可読媒体(群)中に具現されたコンピュータ・プログラム製品の形を取ることもできる。
一つ以上のコンピュータ可読媒体(群)の任意の組み合わせを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体、またはコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、以下に限らないが、電子的、磁気的、光学的、電磁気的、赤外的な、または半導体の、システム、装置、もしくはデバイス、あるいはこれらの任意の適切な組み合わせとすることができる。コンピュータ可読記憶媒体のさらに具体的な例(非包括的リスト)には、一つ以上の配線を有する電気接続、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read−only memory)、消去可能プログラム可能読み取り専用メモリ(EPROM(erasable programmable read−only memory)またはフラッシュ・メモリ)、光ファイバ、携帯型コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disc read−only memory)、光記憶デバイス、磁気記憶デバイス、またはこれらの任意の適切な組み合わせが含まれよう。本文書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによってまたはこれらに関連させて使用するためのプログラムを、包含または格納できる任意の有形媒体とすることができる。
コンピュータ可読信号媒体には、例えばベースバンド中にまたは搬送波の一部として具現されたコンピュータ可読のプログラム・コードを有する、伝播データ信号を含めることができる。かかる伝播信号は、以下に限らないが、電磁気的、光学的、またはこれらの任意の組み合わせを含め、さまざまな形態の任意の形を取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではないが、命令実行システム、装置、またはデバイスによってまたはこれらに関連させて使用するためのプログラムを通信、伝播、または伝送が可能な任意のコンピュータ可読媒体であり得る。
コンピュータ可読媒体中に具現されたプログラム・コードは、以下に限らないが、無線、有線、光ファイバ・ケーブル、RFなど、またはこれらの任意の適した組み合わせを含め、任意の適切な媒体を用いて送信することができる。本発明の態様のオペレーションを実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、“C”プログラミング言語または類似のプログラミング言語などの従来式手続き型プログラミング言語を含め、一つ以上のプログラミング言語の任意の組み合せで記述することができる。このプログラム・コードは、全体をユーザのコンピュータで、一部をユーザのコンピュータで、スタンドアロン・ソフトウェア・パッケージとして実行することができ、一部をユーザのコンピュータで他の部分を遠隔コンピュータで、または全体を遠隔のコンピュータまたはサーバで実行することができる。後者のシナリオでは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することができ、あるいは(例えばインターネット・サービス・プロバイダを使いインターネットを介し)外部のコンピュータへの接続を行うことができる。
本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート説明図もしくはブロック図またはその両方を参照しながら本発明の態様を上記で説明してきた。フローチャート説明図もしくはブロック図またはその両方の各ブロック、および、フローチャート説明図もしくはブロック図またはその両方中のブロックの組み合せは、コンピュータ・プログラム命令によって実行可能であることが理解されよう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに供給し、コンピュータ又は他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能群/処理群を実施するための手段を生成するようにすることができる。
また、これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに対し特定の仕方で機能するよう命令できるコンピュータ可読媒体に格納し、そのコンピュータ可読媒体に格納された命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能/処理を実施する命令群を包含する製品を形成するようにすることができる。
同様に、コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、これらコンピュータ、他のプログラム可能装置、または他のデバイス上で一連のオペレーション・ステップを実施させてコンピュータ実装のプロセスを生成し、これらコンピュータまたは他のプログラム可能装置で実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能群/処理群を実施するためのプロセスを提供するようにすることもできる。
図中のフローチャートおよびブロック図は、本発明のさまざまな実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、およびオペレーションを例示している。この点に関し、フローチャートまたはブロック図中の各ブロックは、所定の論理機能(群)を実行するための一つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの部分を表し得る。また、一部の別の実装においては、ブロック中に記載された機能が、図に記載された順序を外れて行われることがあり得ることに留意すべきである。例えば、連続して示された2つのブロックが、実際にはほぼ同時に実行されることがあり、関与する機能によっては、時には、これらブロックが逆の順序で実行されることもあり得る。また、ブロック図もしくはフローチャート説明図またはその両方の各ブロック、およびブロック図もしくはフローチャート説明図またはその両方中のブロックの組み合わせは、特定の機能または処置を実施する、特殊用途のハードウェア・ベースのシステム、または特殊用途のハードウェアとコンピュータ命令との組み合わせによって実装可能なことにも留意すべきである。
上記で、本発明のさまざまな代表的実施形態を、ある程度の特殊性を持たせて説明してきたが、当業者は、本明細書および請求項の中で述べられた本発明の主題の精神および範囲を逸脱することなく、開示した実施形態に数多くの変形を加えることができよう。

Claims (21)

  1. 分散型記憶管理システム中のソースおよびターゲット場所の各々でデータ・ファイルの重複排除ができるようにする方法であって、前記記憶管理システムは、ターゲット・コンピューティング・システムに接続されたソース・コンピューティング・システムと、前記ターゲット・コンピューティング・システム内に配置されたターゲット・データ・ストアとを包含し、前記方法は、
    前記ターゲット・データ・ストア内に保管された重複排除されたデータ・チャンクを追跡するための共有インデックスを維持するステップと、
    重複排除された形で前記ターゲット・データ・ストア内に保管されることになるデータ・チャンクの重複排除のための、重複排除プロセスを提供するステップと、
    前記ターゲット・コンピューティング・システムによる重複排除命令の実行、および前記ソース・コンピューティング・システムによる重複排除命令の実行を可能にするステップと、
    前記重複排除プロセスを使って、データ・ファイルを重複排除されたデータ・チャンクのセットに重複排除するステップであって、前記重複排除プロセスは、前記ソース・コンピューティング・システムまたは前記ターゲット・コンピューティング・システムのいずれかによって実行される重複排除命令のセットを含む、前記重複排除するステップと、
    前記重複排除されたデータ・チャンクのセットを前記ターゲット・データ・ストアに保管するステップと、
    前記共有インデックス内の、前記重複排除されたデータ・チャンクのセットについての重複排除情報を更新するステップと、
    を含む、前記方法。
  2. 前記重複排除命令は、前記ソース・コンピューティング・システムおよび前記ターゲット・コンピューティング・システムの各々において重複排除のために使われる、可変サイズ・ブロックのハッシュ処理アルゴリズムを含む、請求項1に記載の方法。
  3. 前記重複排除命令は、前記ソース・コンピューティング・システム上で実行される重複排除アクティビティのために使われる、フィンガープリント処理およびハッシュ処理アルゴリズムの第一セットと、前記ターゲット・コンピューティング・システム上で実行される重複排除アクティビティのために使われる、フィンガープリント処理およびハッシュ処理アルゴリズムの第二セットとを含む、請求項1または2のいずれかに記載の方法。
  4. 前記重複排除されたデータ・チャンクのセットを前記ソースに向けて復元するステップをさらに含む、先行いずれかの請求項に記載の方法。
  5. フィンガープリント処理およびハッシュ識別の後でデータ変換を実施するステップをさらに含み、前記フィンガープリント処理およびハッシュ識別は前記重複排除プロセスの中で行われる、先行いずれかの請求項に記載の方法。
  6. 前記データ変換は、圧縮および暗号化の一つ以上を包含する、請求項5に記載の方法。
  7. 前記ソース・コンピューティング・システムに前記重複排除されたデータ・チャンクのセットを復元するのに応じて、各チャンクに対し、前記ソース・コンピューティング・システムによって前記データ変換を元に戻すステップをさらに含む、請求項5または6のいずれかに記載の方法。
  8. 前記ソース・コンピューティング・システムに向け前記重複排除されたデータ・チャンクのセットを復元するのに先立って、前記ターゲット・コンピューティング・システムによって前記変換を元に戻すステップをさらに含む、請求項5〜7のいずれかに記載の方法。
  9. 前記共有インデックスは、前記ソース・コンピューティング・システムおよび前記ターゲット・コンピューティング・システムの各々がアクセス可能な、前記記憶管理システム内のデータベースとして共有される、先行いずれかの請求項に記載の方法。
  10. 前記共有インデックスは、前記ソースとターゲットとの間でデータ・チャンク情報の通信を可能にするクライアント−サーバ・プロトコルを介して、アクセスが可能である、先行いずれかの請求項に記載の方法。
  11. 分散型記憶管理システム中の選択されたソースもしくはターゲット場所でデータ・ファイルの重複排除ができるようにする方法であって、前記記憶管理システムは、ターゲット・コンピューティング・システムに接続されたソース・コンピューティング・システムと、前記ターゲット・コンピューティング・システム内に配置されたターゲット・データ・ストアとを包含し、前記方法は、
    前記ターゲット・データ・ストア内に保管された重複排除済みのデータ・チャンクに対する重複排除情報を追跡するステップと、
    前記ターゲット・データ・ストア内に保管されることになるデータ・ファイルの重複排除のための重複排除プロセスを提供するステップと、
    前記ソース・コンピューティング・システムまたは前記ターゲット・コンピューティング・システムのどちらかに前記重複排除プロセスの実行のための場所を決定するため、複数の定義されたポリシーから選択されたポリシーを適用するステップと、
    前記決定された場所において、前記重複排除プロセスを実行して前記データ・ファイルを重複排除するステップと、
    前記データ・ファイルに対する前記追跡された重複排除情報を更新するステップと、
    を含む、前記方法。
  12. 前記選択されるポリシーは、時間、システム負荷、ファイル特性、クライアント・ノード、およびポリシー・ドメインの一つ以上に基づいて選択される、請求項11に記載の方法。
  13. ソース・コンピューティング・システムと、
    前記ソース・コンピューティング・システムに接続されたターゲット・コンピューティング・システムと、
    前記ターゲット・コンピューティング・システム内に配置されたターゲット・データ・ストアと、
    記憶管理システム内の少なくとも一つのプロセッサと、
    前記記憶管理システム内の少なくとも一つメモリと、
    を含む前記記憶管理システムであって、
    前記メモリは、前記少なくとも一つのプロセッサを使って作動可能な、前記記憶管理システム中のソースおよびターゲット場所の各々においてデータ・ファイルの重複排除ができるようにするための命令を格納し、前記命令は、
    前記ターゲット・データ・ストア内に保管された重複排除済みのデータ・チャンクを追跡するための共有インデックスを維持するステップと、
    重複排除された形で前記ターゲット・データ・ストア内に保管されることになるデータ・チャンクの重複排除のための、重複排除プロセスを提供するステップと、
    前記ターゲット・コンピューティング・システムによる重複排除命令の実行、および前記ソース・コンピューティング・システムによる重複排除命令の実行を可能にするステップと、
    前記重複排除プロセスを使って、データ・ファイルを重複排除されたデータ・チャンクのセットに重複排除するステップであって、前記重複排除プロセスは、前記ソース・コンピューティング・システムまたは前記ターゲット・コンピューティング・システムのいずれかによって実行される重複排除命令のセットを含む、前記重複排除するステップと、
    前記重複排除されたデータ・チャンクのセットを前記ターゲット・データ・ストアに保管するステップと、
    前記共有インデックス内の、前記重複排除されたデータ・チャンクのセットについての重複排除情報を更新するステップと、
    のために実行される、前記記憶管理システム。
  14. 前記重複排除命令は、前記ソース・コンピューティング・システムおよび前記ターゲット・コンピューティング・システムの各々において重複排除のために使われる、可変サイズ・ブロックのハッシュ処理アルゴリズムを含む、請求項13に記載の記憶管理システム。
  15. 前記重複排除命令は、前記ソース・コンピューティング・システム上で実行される重複排除アクティビティのため使われる、フィンガープリント処理およびハッシュ処理アルゴリズムの第一セットと、前記ターゲット・コンピューティング・システム上で実行される重複排除アクティビティのため使われる、フィンガープリント処理およびハッシュ処理アルゴリズムの第二セットとを含む、請求項13または14のいずれかに記載の記憶管理システム。
  16. 前記重複排除されたデータ・チャンクのセットを前記ソースに向けて復元するステップのため実行される命令をさらに含む、請求項13〜15のいずれかに記載の記憶管理システム。
  17. フィンガープリント処理およびハッシュ識別の後でデータ変換を実施するステップのため実行される命令をさらに含み、前記フィンガープリント処理およびハッシュ識別は前記重複排除プロセスの中で行われ、前記データ変換は圧縮および暗号化の一つ以上を包含する、請求項13〜16のいずれかに記載の記憶管理システム。
  18. 前記共有インデックスは、前記ソース・コンピューティング・システムおよび前記ターゲット・コンピューティング・システムの各々がアクセス可能な、前記記憶管理システム内のデータベースとして共有される、請求項13〜17のいずれかに記載の記憶管理システム。
  19. ソース・コンピューティング・システムと、
    前記ソース・コンピューティング・システムに接続されたターゲット・コンピューティング・システムと、
    前記ターゲット・コンピューティング・システム内に配置されたターゲット・データ・ストアと、
    記憶管理システム内の少なくとも一つのプロセッサと、
    前記記憶管理システム内の少なくとも一つメモリと、
    を含む前記記憶管理システムであって、
    前記メモリは、前記少なくとも一つのプロセッサを使って作動可能な、前記記憶管理システム中の選択されたソースもしくはターゲット場所においてデータ・ファイルの重複排除ができるようにするための命令を格納し、前記命令は、
    前記ターゲット・データ・ストア内に保管された重複排除済みのデータ・チャンクに対する重複排除情報を追跡するステップと、
    前記ターゲット・データ・ストア内に保管されることになるデータ・ファイルの重複排除のための、重複排除プロセスを提供するステップと、
    前記ソース・コンピューティング・システムまたは前記ターゲット・コンピューティング・システムのどちらかに前記重複排除プロセスの実行のための場所を決定するため、複数の定義されたポリシーから選択されたポリシーを適用するステップと、
    前記決定された場所において、前記重複排除プロセスを実行して前記データ・ファイルを重複排除するステップと、
    前記データ・ファイルに対する前記追跡された重複排除情報を更新するステップと、
    のために実行される、前記記憶管理システム。
  20. 前記選択されるポリシーは、時間、システム負荷、ファイル特性、クライアント・ノード、およびポリシー・ドメインの一つ以上に基づいて選択される、請求項19に記載の記憶管理システム。
  21. 請求項1〜12のいずれかに記載のステップをコンピュータに実行させるプログラム。
JP2012519989A 2009-07-16 2010-07-12 ソースおよびターゲットを含む分散型環境におけるデータを重複排除する方法、システム、及びプログラム Active JP5571786B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/504,083 2009-07-16
US12/504,083 US9058298B2 (en) 2009-07-16 2009-07-16 Integrated approach for deduplicating data in a distributed environment that involves a source and a target
PCT/EP2010/059965 WO2011006859A1 (en) 2009-07-16 2010-07-12 An integrated approach for deduplicating data in a distributed environment that involves a source and a target

Publications (2)

Publication Number Publication Date
JP2012533126A JP2012533126A (ja) 2012-12-20
JP5571786B2 true JP5571786B2 (ja) 2014-08-13

Family

ID=42751627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012519989A Active JP5571786B2 (ja) 2009-07-16 2010-07-12 ソースおよびターゲットを含む分散型環境におけるデータを重複排除する方法、システム、及びプログラム

Country Status (6)

Country Link
US (1) US9058298B2 (ja)
JP (1) JP5571786B2 (ja)
CN (1) CN102473127B (ja)
DE (1) DE112010002938B4 (ja)
GB (1) GB2484019B (ja)
WO (1) WO2011006859A1 (ja)

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938595B2 (en) * 2003-08-05 2015-01-20 Sepaton, Inc. Emulated storage system
US9405894B2 (en) * 2008-04-21 2016-08-02 Syngrafii Inc. System, method and computer program for conducting transactions remotely with an authentication file
US8959062B2 (en) * 2009-08-13 2015-02-17 Hitachi Solutions, Ltd. Data storage device with duplicate elimination function and control device for creating search index for the data storage device
US8037349B2 (en) * 2009-08-28 2011-10-11 International Business Machines Corporation Data replication based on capacity optimization
US8572163B1 (en) * 2009-08-31 2013-10-29 Symantec Corporation Systems and methods for deduplicating data based on performance of a deduplication system
US8458144B2 (en) * 2009-10-22 2013-06-04 Oracle America, Inc. Data deduplication method using file system constructs
US8825969B2 (en) * 2009-11-30 2014-09-02 Netapp, Inc. Eliminating duplicate data by sharing file system extents
US8495312B2 (en) * 2010-01-25 2013-07-23 Sepaton, Inc. System and method for identifying locations within data
US8401185B1 (en) * 2010-02-01 2013-03-19 Symantec Corporation Systems and methods for securely deduplicating data owned by multiple entities
JP5434705B2 (ja) * 2010-03-12 2014-03-05 富士通株式会社 ストレージ装置、ストレージ装置制御プログラムおよびストレージ装置制御方法
US20120011101A1 (en) * 2010-07-12 2012-01-12 Computer Associates Think, Inc. Integrating client and server deduplication systems
GB2470498B (en) * 2010-07-19 2011-04-06 Quantum Corp Establishing parse scope
US10394757B2 (en) 2010-11-18 2019-08-27 Microsoft Technology Licensing, Llc Scalable chunk store for data deduplication
US9442806B1 (en) * 2010-11-30 2016-09-13 Veritas Technologies Llc Block-level deduplication
US9824091B2 (en) 2010-12-03 2017-11-21 Microsoft Technology Licensing, Llc File system backup using change journal
US8849898B2 (en) * 2010-12-09 2014-09-30 Jeffrey Vincent TOFANO Adaptive collaborative de-duplication
US20120150824A1 (en) * 2010-12-10 2012-06-14 Inventec Corporation Processing System of Data De-Duplication
US8620894B2 (en) 2010-12-21 2013-12-31 Microsoft Corporation Searching files
US8886901B1 (en) 2010-12-31 2014-11-11 Emc Corporation Policy based storage tiering
US10049116B1 (en) * 2010-12-31 2018-08-14 Veritas Technologies Llc Precalculation of signatures for use in client-side deduplication
US9280550B1 (en) * 2010-12-31 2016-03-08 Emc Corporation Efficient storage tiering
US8688651B2 (en) * 2011-01-25 2014-04-01 Sepaton, Inc. Dynamic deduplication
US8527472B2 (en) * 2011-03-29 2013-09-03 Kaseya International Limited Method and apparatus of securely processing data for file backup, de-duplication, and restoration
US8539008B2 (en) 2011-04-29 2013-09-17 Netapp, Inc. Extent-based storage architecture
US8812450B1 (en) 2011-04-29 2014-08-19 Netapp, Inc. Systems and methods for instantaneous cloning
US8745338B1 (en) 2011-05-02 2014-06-03 Netapp, Inc. Overwriting part of compressed data without decompressing on-disk compressed data
US8612392B2 (en) * 2011-05-09 2013-12-17 International Business Machines Corporation Identifying modified chunks in a data set for storage
US8868882B2 (en) * 2011-06-08 2014-10-21 Microsoft Corporation Storage architecture for backup application
CN108664555A (zh) * 2011-06-14 2018-10-16 慧与发展有限责任合伙企业 分布式文件系统中的去重复
US8600949B2 (en) * 2011-06-21 2013-12-03 Netapp, Inc. Deduplication in an extent-based architecture
US9229818B2 (en) 2011-07-20 2016-01-05 Microsoft Technology Licensing, Llc Adaptive retention for backup data
US8965856B2 (en) * 2011-08-29 2015-02-24 Hitachi, Ltd. Increase in deduplication efficiency for hierarchical storage system
US20130054919A1 (en) * 2011-08-30 2013-02-28 International Business Machines Corporation Methods and physical computer storage media for transferring de-duplicated data organized in virtual volumes to a target set of physical media
JP5780067B2 (ja) * 2011-09-01 2015-09-16 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御方法
US8990171B2 (en) * 2011-09-01 2015-03-24 Microsoft Corporation Optimization of a partially deduplicated file
US20140156607A1 (en) * 2011-10-18 2014-06-05 Hewlett-Packard Developement Company, L.P. Index for deduplication
US9047304B2 (en) 2011-11-28 2015-06-02 International Business Machines Corporation Optimization of fingerprint-based deduplication
CN103262071A (zh) * 2011-12-08 2013-08-21 华为技术有限公司 一种在分布式存储系统中删除数据的方法、装置及系统
EP2810171B1 (en) 2012-02-02 2019-07-03 Hewlett-Packard Enterprise Development LP Systems and methods for data chunk deduplication
US8805797B2 (en) * 2012-02-22 2014-08-12 International Business Machines Corporation Optimizing wide area network (WAN) traffic by providing home site deduplication information to a cache site
US20150088840A1 (en) * 2012-05-01 2015-03-26 Kave Eshghi Determining segment boundaries for deduplication
EP2688000A1 (en) * 2012-05-04 2014-01-22 Huawei Technologies Co., Ltd Data deduplication method and device
US9086819B2 (en) * 2012-07-25 2015-07-21 Anoosmar Technologies Private Limited System and method for combining deduplication and encryption of data
US20150142755A1 (en) * 2012-08-24 2015-05-21 Hitachi, Ltd. Storage apparatus and data management method
DK2765524T3 (en) * 2012-12-12 2017-05-22 Huawei Tech Co Ltd PROCEDURE FOR DATA PROCESSING AND FITTING IN A CLUSTER SYSTEM
US8954392B2 (en) * 2012-12-28 2015-02-10 Futurewei Technologies, Inc. Efficient de-duping using deep packet inspection
CN103049391B (zh) * 2012-12-29 2014-05-07 华为技术有限公司 数据处理方法和设备
US20140214775A1 (en) * 2013-01-29 2014-07-31 Futurewei Technologies, Inc. Scalable data deduplication
US9766832B2 (en) 2013-03-15 2017-09-19 Hitachi Data Systems Corporation Systems and methods of locating redundant data using patterns of matching fingerprints
US9639577B1 (en) * 2013-03-27 2017-05-02 Symantec Corporation Systems and methods for determining membership of an element within a set using a minimum of resources
US10339112B1 (en) * 2013-04-25 2019-07-02 Veritas Technologies Llc Restoring data in deduplicated storage
WO2014185918A1 (en) * 2013-05-16 2014-11-20 Hewlett-Packard Development Company, L.P. Selecting a store for deduplicated data
EP2997496B1 (en) 2013-05-16 2022-01-19 Hewlett Packard Enterprise Development LP Selecting a store for deduplicated data
US9256611B2 (en) 2013-06-06 2016-02-09 Sepaton, Inc. System and method for multi-scale navigation of data
US9552370B1 (en) * 2013-06-27 2017-01-24 EMC IP Holding Company LLC Signaling impending out of storage condition from a virtual tape drive
US9244830B2 (en) 2013-07-15 2016-01-26 Globalfoundries Inc. Hierarchical content defined segmentation of data
US9594766B2 (en) 2013-07-15 2017-03-14 International Business Machines Corporation Reducing activation of similarity search 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
US9268786B2 (en) 2013-07-15 2016-02-23 International Business Machines Corporation Applying a minimum size bound on content defined segmentation of data
US9286314B2 (en) 2013-07-15 2016-03-15 International Business Machines Corporation Applying a maximum 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
US10229131B2 (en) 2013-07-15 2019-03-12 International Business Machines Corporation Digest block segmentation based on reference segmentation 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
US10133502B2 (en) 2013-07-15 2018-11-20 International Business Machines Corporation Compatibility and inclusion of similarity element resolutions
US9892127B2 (en) 2013-07-15 2018-02-13 International Business Machines Corporation Global digests caching in a data deduplication system
US10229132B2 (en) 2013-07-15 2019-03-12 International Business Machines Corporation Optimizing digest based data matching in similarity based deduplication
US9892048B2 (en) 2013-07-15 2018-02-13 International Business Machines Corporation Tuning global digests caching in a data deduplication system
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
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
US9916112B1 (en) * 2013-09-30 2018-03-13 EMC IP Holding Company LLC Efficient file copy that avoids data duplication
US9678973B2 (en) 2013-10-15 2017-06-13 Hitachi Data Systems Corporation Multi-node hybrid deduplication
CN104572788B (zh) * 2013-10-29 2017-10-17 上海征途信息技术有限公司 一种游戏用户数据的数据存储方法
KR102187127B1 (ko) 2013-12-03 2020-12-04 삼성전자주식회사 데이터 연관정보를 이용한 중복제거 방법 및 시스템
US20150207742A1 (en) * 2014-01-22 2015-07-23 Wipro Limited Methods for optimizing data for transmission and devices thereof
US9514000B2 (en) * 2014-01-31 2016-12-06 Western Digital Technologies, Inc. Backup of baseline installation
US10374807B2 (en) 2014-04-04 2019-08-06 Hewlett Packard Enterprise Development Lp Storing and retrieving ciphertext in data storage
CN104978239B (zh) * 2014-04-08 2019-02-19 重庆邮电大学 一种实现多备份数据动态更新的方法、装置及系统
US9659047B2 (en) 2014-12-03 2017-05-23 Netapp, Inc. Data deduplication utilizing extent ID database
WO2016115663A1 (en) * 2015-01-19 2016-07-28 Nokia Technologies Oy Method and apparatus for heterogeneous data storage management in cloud computing
WO2016122593A1 (en) * 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Data encryption
US10621143B2 (en) * 2015-02-06 2020-04-14 Ashish Govind Khurange Methods and systems of a dedupe file-system garbage collection
US10650014B2 (en) 2015-04-09 2020-05-12 International Business Machines Corporation Data ingestion process
US9552384B2 (en) 2015-06-19 2017-01-24 HGST Netherlands B.V. Apparatus and method for single pass entropy detection on data transfer
US10152389B2 (en) 2015-06-19 2018-12-11 Western Digital Technologies, Inc. Apparatus and method for inline compression and deduplication
CN105069111B (zh) * 2015-08-10 2018-09-18 广东工业大学 云存储中基于相似性的数据块级数据去重方法
DE102015117353A1 (de) * 2015-10-12 2017-04-13 Turgay Coruh Optimierte Übertragung elektronischer Dokumente mittels verteilter Netzwerk-Ressourcen
CN105681273B (zh) * 2015-12-17 2018-11-20 西安电子科技大学 客户端重复数据删除方法
US10235396B2 (en) 2016-08-29 2019-03-19 International Business Machines Corporation Workload optimized data deduplication using ghost fingerprints
US11025600B1 (en) * 2017-11-08 2021-06-01 Massachusetts Institute Of Technology System for de-duplicating network coded distributed storage and related techniques
US10719251B2 (en) * 2018-01-31 2020-07-21 Nutanix, Inc. System and method for recursive de-duplication
JP7075077B2 (ja) * 2018-03-13 2022-05-25 Necソリューションイノベータ株式会社 バックアップサーバ、バックアップ方法、プログラム、ストレージシステム
US11263087B2 (en) * 2018-07-05 2022-03-01 EMC IP Holding Company LLC Methods and systems for serverless data deduplication
US11042519B2 (en) 2019-01-15 2021-06-22 Cisco Technology, Inc. Reinforcement learning for optimizing data deduplication
US11221778B1 (en) 2019-04-02 2022-01-11 Pure Storage, Inc. Preparing data for deduplication
US11989124B2 (en) 2019-04-26 2024-05-21 EMC IP Holding Company LLC Garbage collection for a deduplicated cloud tier with encrypted segments
US11580015B2 (en) * 2019-05-03 2023-02-14 EMC IP Holding Company LLC Garbage collection for a deduplicated cloud tier using functions
US11836267B2 (en) 2019-08-19 2023-12-05 International Business Machines Corporation Opaque encryption for data deduplication
CN110941598A (zh) * 2019-12-02 2020-03-31 北京锐安科技有限公司 一种数据去重方法、装置、终端及存储介质
CN111177082B (zh) * 2019-12-03 2023-06-09 世强先进(深圳)科技股份有限公司 一种pdf文件去重存储方法及系统
US11893109B2 (en) * 2020-01-21 2024-02-06 Exagrid Systems, Inc. Protection and recovery of backup storage systems from ransomware attacks
CN112380197A (zh) * 2020-10-29 2021-02-19 中科热备(北京)云计算技术有限公司 一种基于前端重复数据删除的方法
CN112527521B (zh) * 2020-12-03 2023-07-04 中国联合网络通信集团有限公司 消息处理方法及设备
US20220245097A1 (en) * 2021-02-02 2022-08-04 Maxlinear, Inc. Hashing with differing hash size and compression size
US11606277B2 (en) 2021-02-10 2023-03-14 Cohesity, Inc. Reducing the impact of network latency during a restore operation
US20220374401A1 (en) * 2021-05-18 2022-11-24 International Business Machines Corporation Determining domain and matching algorithms for data systems
CN113468509B (zh) * 2021-07-05 2024-01-30 曙光信息产业(北京)有限公司 一种用户认证的迁移方法、装置、设备及存储介质
CN113709510A (zh) * 2021-08-06 2021-11-26 联想(北京)有限公司 高速率数据实时传输方法及装置、设备、存储介质
US20230350763A1 (en) * 2022-04-27 2023-11-02 Cohesity, Inc. Utilizing fixed-sized and variable-length data chunks to perform source side deduplication

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60123442D1 (de) 2000-08-31 2006-11-09 Ontrack Data Internat Inc System und verfahren für datenverwaltung
AU2002304842A1 (en) 2001-08-20 2003-03-10 Datacentertechnologies N.V. File backup system and method
US8412682B2 (en) 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US8214517B2 (en) 2006-12-01 2012-07-03 Nec Laboratories America, Inc. Methods and systems for quick and efficient data management and/or processing
US7840537B2 (en) 2006-12-22 2010-11-23 Commvault Systems, Inc. System and method for storing redundant information
US20080243769A1 (en) 2007-03-30 2008-10-02 Symantec Corporation System and method for exporting data directly from deduplication storage to non-deduplication storage
US8166012B2 (en) 2007-04-11 2012-04-24 Emc Corporation Cluster storage using subsegmenting
JP2009019441A (ja) 2007-07-13 2009-01-29 Nippon Adox Kk コンクリートの補修方法
CN101415016A (zh) * 2007-10-17 2009-04-22 深圳市亚贝电气技术有限公司 一种数据复制方法、系统和存储服务器
US8782368B2 (en) * 2007-10-25 2014-07-15 Hewlett-Packard Development Company, L.P. Storing chunks in containers
US7870105B2 (en) * 2007-11-20 2011-01-11 Hitachi, Ltd. Methods and apparatus for deduplication in storage system
US8452731B2 (en) * 2008-09-25 2013-05-28 Quest Software, Inc. Remote backup and restore
US20100088296A1 (en) * 2008-10-03 2010-04-08 Netapp, Inc. System and method for organizing data to facilitate data deduplication
US8140491B2 (en) * 2009-03-26 2012-03-20 International Business Machines Corporation Storage management through adaptive deduplication
US8479304B1 (en) * 2009-03-31 2013-07-02 Symantec Corporation Selectively protecting against chosen plaintext attacks in untrusted storage environments that support data deduplication
US8612702B1 (en) * 2009-03-31 2013-12-17 Symantec Corporation Systems and methods for performing optimized backups of multiple volumes
US8412848B2 (en) * 2009-05-29 2013-04-02 Exagrid Systems, Inc. Method and apparatus for content-aware and adaptive deduplication
US8285681B2 (en) * 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites

Also Published As

Publication number Publication date
GB2484019B (en) 2016-09-28
GB201119845D0 (en) 2011-12-28
GB2484019A (en) 2012-03-28
JP2012533126A (ja) 2012-12-20
DE112010002938B4 (de) 2018-02-01
US9058298B2 (en) 2015-06-16
CN102473127A (zh) 2012-05-23
CN102473127B (zh) 2015-05-27
DE112010002938T5 (de) 2012-09-20
WO2011006859A1 (en) 2011-01-20
US20110016095A1 (en) 2011-01-20

Similar Documents

Publication Publication Date Title
JP5571786B2 (ja) ソースおよびターゲットを含む分散型環境におけるデータを重複排除する方法、システム、及びプログラム
US12093386B2 (en) Ransomware detection and data pruning management
US11416452B2 (en) Determining chunk boundaries for deduplication of storage objects
AU2014218837B2 (en) Deduplication storage system with efficient reference updating and space reclamation
US9792306B1 (en) Data transfer between dissimilar deduplication systems
US10656858B1 (en) Deduplication featuring variable-size duplicate data detection and fixed-size data segment sharing
US20190109870A1 (en) Ransomware detection and intelligent restore
US9626518B2 (en) Avoiding encryption in a deduplication storage
US9128948B1 (en) Integration of deduplicating backup server with cloud storage
US8650162B1 (en) Method and apparatus for integrating data duplication with block level incremental data backup
US10983867B1 (en) Fingerprint change during data operations
US8806062B1 (en) Adaptive compression using a sampling based heuristic
US20150046398A1 (en) Accessing And Replicating Backup Data Objects
US10248656B2 (en) Removal of reference information for storage blocks in a deduplication system
US9965487B2 (en) Conversion of forms of user data segment IDs in a deduplication system
WO2012079967A2 (en) Replicating data
CN113728303B (zh) 用于重复数据删除云分层的垃圾收集
US8655841B1 (en) Selection of one of several available incremental modification detection techniques for use in incremental backups
US8914324B1 (en) De-duplication storage system with improved reference update efficiency
US10761945B2 (en) Dynamically directing data in a deduplicated backup system
US11163748B1 (en) Fingerprint backward compatibility in deduplication backup systems
CN113728302B (zh) 用于删除重复的云分层的垃圾收集
US10592527B1 (en) Techniques for duplicating deduplicated data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140307

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140626

R150 Certificate of patent or registration of utility model

Ref document number: 5571786

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150