JP5663585B2 - 効率的なファイル保存のための複数のインデックスを有する重複排除ストレージシステム - Google Patents

効率的なファイル保存のための複数のインデックスを有する重複排除ストレージシステム Download PDF

Info

Publication number
JP5663585B2
JP5663585B2 JP2012534215A JP2012534215A JP5663585B2 JP 5663585 B2 JP5663585 B2 JP 5663585B2 JP 2012534215 A JP2012534215 A JP 2012534215A JP 2012534215 A JP2012534215 A JP 2012534215A JP 5663585 B2 JP5663585 B2 JP 5663585B2
Authority
JP
Japan
Prior art keywords
file
group
index
indexes
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.)
Expired - Fee Related
Application number
JP2012534215A
Other languages
English (en)
Other versions
JP2013508810A (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.)
NortonLifeLock Inc
Original Assignee
Symantec 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 Symantec Corp filed Critical Symantec Corp
Publication of JP2013508810A publication Critical patent/JP2013508810A/ja
Application granted granted Critical
Publication of JP5663585B2 publication Critical patent/JP5663585B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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

Description

本発明は、一般に、コンピュータシステム用のデータバックアップソフトウェアに関する。更に詳しくは、本発明は、重複排除ストレージシステムのために複数のインデックスを生成及び使用するべく動作するバックアップソフトウェアに関する。
大規模な組織は、しばしば、複数のクライアントコンピュータシステムによって使用されるファイルをバックアップするバックアップストレージシステムを使用している。バックアップストレージシステムは、データ重複排除技法を利用し、保存を要するデータ量を回避してもよい。例えば、ファイルが、バックアップの時点間において、ほとんど又はまったく変化していない場合が起こりうる。重複排除技法を使用すれば、既にバックアップ済みのファイルデータの一部の再度のバックアップ作業を不要にすることができる。ファイルは、複数のセグメントに分割してもよく、且つ、ファイルセグメントは、セグメントオブジェクトとして、バックアップストレージシステム内において個別に保存してもよい。ファイルの新しいバージョンをバックアップする際には、バックアップソフトウェアは、現在のファイルセグメントを表すセグメントオブジェクトがバックアップストレージシステム内に既に保存されているかどうかをチェックしてもよい。セグメントオブジェクトの新しい複製を保存することなしに、既に保存済みのそれぞれのセグメントオブジェクトを再度参照してもよい。
バックアップストレージシステムは、バックアップストレージシステム内におけるセグメントオブジェクトの保存場所を規定するインデックスを使用してもよい。ハッシュ関数をセグメントオブジェクトに適用することにより、セグメントオブジェクトのフィンガプリントを生成してもよい。インデックスは、セグメントオブジェクトのフィンガプリントをセグメントオブジェクトの保存場所にマッピングしてもよい。ファイルをシステムにバックアップする際には、ファイルをセグメントに分割し、且つ、セグメントのフィンガプリントをインデックス内においてルックアップする。セグメントがインデックス内において見出された場合には、そのセグメントを再使用可能であり、且つ、そのセグメントを再度保存する必要はない。従って、それぞれの一意のセグメントの1つのコピーのみが保存され、且つ、そのセグメントの単一のコピーを複数のファイルによって共有することができる。
インデックスのルックアップ速度を高速化するべく、インデックスをRAM内に保存することができる。この解決策は、小規模なバックアップストレージシステムの場合に有効であるが、大規模なシステムの場合には、同様に機能しない。システム容量が数百テラバイトに到達すると、セグメント数が百億を超過することになろう。メモリ内に納まるにはインデックスのサイズが過大となるため、100億個のフィンガプリントを1つのインデックスで管理する方式は、問題となる。
又、インデックスをディスク上に保存した場合には、低速であるため、インデックス内におけるエントリのルックアップ、生成、削除、及び変更が問題となる。ランダムディスクアクセスは、非常に性能が乏しく、いくつかのシステムにおいては、1000インデックスエントリアクセス/秒以下である。
重複排除ストレージシステムにおいてファイルをバックアップ及び回復するシステム及び方法の様々な形態を開示している。この方法の一実施形態によれば、1つ又は複数のインデックスの第1グループを第1タイプのストレージ装置上に保存してもよい。いくつかの実施形態においては、第1タイプのストレージ装置は、ストレージ装置のすべてのコンテンツに対する高速アクセスを可能にするストレージ装置であってよい。いくつかの実施形態においては、第1タイプのストレージ装置は、ランダムアクセスメモリ(Random Access Memory:RAM)であってよい。その他の実施形態においては、第1タイプのストレージ装置は、半導体ドライブ(Solid State Drive:SSD)であってよい。第1グループのそれぞれのインデックスは、重複排除ストレージシステム内に保存されているファイルセグメントの保存場所を規定している。
1つ又は複数のインデックスの第2グループを第2タイプのストレージ装置上に保存してもよい。いくつかの実施形態においては、第2タイプのストレージ装置は、例えば、1つ又は複数のディスクドライブなどの大量のデータを廉価に保存可能なストレージ装置であってよい。この場合にも、第2グループのそれぞれのインデックスは、重複排除ストレージシステム内に保存されているファイルセグメントの保存場所を規定している。
重複排除ストレージシステム内に保存される対象の第1ファイルを受信するのに応答して、本方法は、第1ファイルを複数のファイルセグメントに分割するべく動作してもよい。インデックスの第2グループではなく、インデックスの第1のグループを使用し、第1ファイルの複数のファイルセグメントの保存場所をルックアップするべく試みてもよい。
重複排除ストレージシステムから第2ファイルを回復するための要求を受信するのに応答して、本方法は、インデックスの第2グループの特定のインデックスが第2ファイルのファイルセグメントの保存場所を規定していると判定するべく動作してもよい。第2ファイルを回復するべくインデックスの第2グループの特定のインデックスを使用して第2ファイルのファイルセグメントの保存場所をルックアップしてもよい。
いくつかの実施形態においては、第1ファイルの複数のファイルセグメントは、第1ファイルを受信する前に重複排除ストレージシステム内に既に保存されていた特定のファイルセグメントを含んでいてもよい。インデックスの第2グループが特定のファイルセグメントの保存場所を規定したインデックスを含んでいるが、インデックスの第1グループのインデックスのいずれもが特定のファイルセグメントの保存場所を規定していないという状況が起こりうる。この場合に、本方法は、インデックスの第1グループのいずれのインデックスも特定のファイルセグメントの保存場所を規定していないと判定するのに応答して、特定のファイルセグメントの重複したコピーを重複排除ストレージシステム内に保存するべく動作してもよい。
更なる実施形態において、本方法は、第1グループの特定のインデックスが最大サイズに到達したか又は一杯になっていると判定するのに応答して、RAM内に保存されている第1グループの特定のインデックスを1つ又は複数のディスクドライブ上に保存されている第2グループに移動させるべく動作してもよい。又、いくつかの実施形態においては、本方法は、第1グループの特定のインデックスを第2グループに移動させることを要すると判定するのに応答して、第1グループの特定のインデックスの複数の最も頻繁に使用されるファイルセグメントを判定し、且つ、最も頻繁に使用されるファイルセグメントを第1グループの別のインデックスに追加してもよい。
添付図面との関連において以下の詳細な説明を参照することにより、本発明について十分に理解することができよう。
重複排除ストレージシステムに結合された複数のクライアントコンピュータシステムを示す。 重複排除ストレージシステム内のバックアップサーバーコンピュータの一例を示す図である。 バックアップサーバーコンピュータのシステムメモリ内に保存された様々なソフトウェアモジュールを示す。 新しいファイルを重複排除ストレージシステムにバックアップする方法の一実施形態を示すフローチャート図である。 重複排除ストレージシステムからファイルを回復する方法の一実施形態を示すフローチャート図である。 重複排除ストレージシステムによって使用されるインデックスを示す。 重複排除ストレージシステムによって使用されるインデックスを示す。 重複排除ストレージシステムによって使用されるインデックスを示す。
本発明は、様々な変更及び代替形態が可能であるが、一例として、その特定の実施形態を図面に示し、且つ、詳細に説明することとする。但し、図面及びそれらの図面に対する詳細な説明は、本発明を特定の開示された形態に限定することを意図したものではなく、むしろ、本発明は、添付の請求項によって規定される本発明の精神及び範囲に含まれるすべての変更、均等物、及び代替肢を含むことを理解されたい。
ファイルをバックアップ及び回復するシステム及び方法の様々な実施形態を開示する。本方法は、ファイルデータの重複するコピーの保存を回避するために重複排除技法を利用するストレージシステムにファイルをバックアップするべく動作してもよい。本明細書においては、重複排除を使用してデータオブジェクトの重複するコピーの保存を回避するストレージシステムを重複排除ストレージシステムと呼称する。ファイルをセグメントに分割してもよく、且つ、ファイルデータを個別のセグメントとして重複排除ストレージシステム内に保存してもよい。後述するように、本システムは、重複排除ストレージシステム内に保存されているセグメントの保存場所を規定する複数のインデックスを使用してもよく、これらのインデックスのうちの1つ又は複数のものは、RAM又は半導体ドライブなどの高速ストレージ内に保存され、且つ、1つ又は複数のものは、ディスクドライブなどの廉価なストレージ内に保存される。
図1は、ネットワーク84によって重複排除ストレージシステム30に結合された複数のクライアントコンピュータシステム82を示している。様々な実施形態において、クライアントコンピュータシステム82を任意のタイプのネットワーク又はネットワークの組合せによって重複排除ストレージシステム30に結合してもよい。例えば、ネットワーク84は、任意のタイプの又は組合せのローカルエリアネットワーク(Local Area Network:LAN)、ワイドエリアネットワーク(Wide Area Network:WAN)、イントラネット、インターネットなどを含んでもよい。ローカルエリアネットワークの例は、Ethernetネットワーク、FDDI(Fiber Distributed Data Interface)ネットワーク(Ethernetは登録商標、以下同じ)、及びトークンリングネットワークを含む。又、それぞれのコンピュータ又は装置を任意のタイプの有線又は無線接続媒体を使用してネットワークに結合してもよい。例えば、有線媒体は、Ethernet、ファイバチャネル、POTS(Plain Old Telephone Service)に接続されたモデムなどを含んでもよい。無線接続媒体は、衛星リンク、セルラーサービスを通じたモデムリンク、Wi−Fi(商標)などの無線リンク、IEEE802.11(無線Ethernet)、Bluetooth(Bluetoothは登録商標)などの無線通信プロトコルを使用する無線接続を含んでもよい。
重複排除ストレージシステム30は、クライアントコンピュータシステム82からネットワーク84を介してファイルを受信すると共に、例えば、バックアップ保存のためにファイルを保存するバックアップソフトウェア100を実行してもよい。例えば、バックアップソフトウェア100は、クライアントコンピュータシステム82上に配置されているファイルをバックアップするべくクライアントコンピュータシステム82と定期的に通信してもよい。
重複排除ストレージシステム30は、バックアップソフトウェア100を実行すると共にクライアントコンピュータシステム82と通信する1つ又は複数のバックアップサーバーコンピュータ32を含んでもよい。図2は、一実施形態に従ってバックアップサーバーコンピュータ32の一例を詳細に示す図である。一般に、バックアップサーバーコンピュータ32は、任意のタイプの物理的コンピュータ又は演算装置であってよく、且つ、図2は、一例として付与されるに過ぎない。図示の実施形態においては、バックアップサーバー32は、1つ又は複数の中央プロセッサユニット214、システムメモリ217(通常は、RAMであるが、ROM、フラッシュRAM、又はこれらに類似したものを含んでもよい)、入出力コントローラ218、オーディオ出力インターフェイス222を介したスピーカシステム220などの外部オーディオ装置、ディスプレイアダプタ226を介した表示画面224などの外部装置、シリアルポート228及び230、(キーボードコントローラ233とインターフェイスされた)キーボード232、ストレージインターフェイス234、フロッピーディスク238(フロッピーは登録商標、以下同じ)を受け入れるべく動作可能なフロッピーディスクドライブ237、Fibre Channelネットワーク290と接続するべく動作可能なHBA(Host Bus Adaptor)インターフェイスカード235A、SCSIバス239に接続するべく動作可能なHBA(Host Bus Adaptor)インターフェイスカード235B、光ディスク242を受け入れるべく動作可能な光ディスクドライブ240などのバックアップサーバー32の主要なサブシステム又はコンポーネントを相互接続するバス212を含む。又、マウス246(又は、シリアルポート228を介してバス212に結合されたその他のポイント及びクリック装置)、(シリアルポート230を介してバス212に結合された)モデム247、及び(バス212に直接結合された)ネットワークインターフェイス248も含まれている。
バス212により、1つ又は複数の中央プロセッサ214とシステムメモリ217はデータ通信が可能であり、システムメモリは、前述のように、読み出し専用メモリ(Read−Only Memory:ROM)又はフラッシュメモリ(いずれも図示されてはいない)及びランダムアクセスメモリ(Random Access Memory:RAM)を含んでもよい。RAMは、一般に、その内部にバックアップソフトウェア100を含むソフトウェアプログラムが読み込まれる主メモリである。ROM又はフラッシュメモリは、その他のコードに加えて、周辺コンポーネントとのやり取りなどの基本的なハードウェア動作を制御するBIOS(Basic Input−Output system)を収容することができる。バックアップサーバー32と共に常駐するソフトウェアは、一般に、ハードディスクドライブ(例えば、ハードディスク244)、光ドライブ(例えば、光ドライブ240)、フロッピーディスクユニット237、又はその他のストレージ媒体などのコンピュータ可読媒体上に保存され、且つ、これを介してアクセスされる。更には、ソフトウェアは、ネットワークモデム247又はネットワークインターフェイス248を通じて受信することも可能である。
ストレージインターフェイス234は、ノード10のその他のストレージインターフェイスと同様に、情報の保存及び/又は取得のためにディスクドライブ244などの標準的なコンピュータ可読媒体に接続することができる。バックアップソフトウェア100は、クライアントコンピュータシステム82から受信したファイルデータを1つ又は複数のディスクドライブ244上に保存してもよい。いくつかの実施形態においては、これに加えて又はこの代わりに、バックアップソフトウェア100は、共有されたストレージ装置40上にファイルを保存してもよい。いくつかの実施形態においては、共有されたストレージ装置40をファイバチャネルネットワーク290を通じてバックアップサーバー32に接続してもよい。その他の実施形態においては、共有されたストレージ装置40を様々なその他のタイプのストレージインターフェイス又はネットワークの任意のものを通じてバックアップサーバー32に結合してもよい。又、その他の実施形態においては、バックアップソフトウェア100は、例えば、テープストレージ装置などのバックアップサーバーコンピュータ32内に含まれた又はこれに結合された様々なその他のタイプのストレージ装置の任意のものにファイルデータを保存してもよい。
多くのその他の装置又はサブシステム(図示されてはいない)を同様の方式によってバックアップサーバー32に接続してもよい。逆に、本開示を実施するために、図2に示されている装置のすべてのものが存在する必要はない。装置及びサブシステムは、図2に示されているものとは異なる方式によって相互接続することも可能である。本明細書に記述されているバックアップソフトウェア100を実装するためのコードは、システムメモリ217、ディスクドライブ244、光ディスク242、又はフロッピーディスク238のうちの1つ又は複数のものなどのコンピュータ可読ストレージ媒体内に保存してもよい。バックアップサーバー32上に提供されるオペレーティングシステムは、Microsoft Windows(登録商標)オペレーティングシステム、UNIX(登録商標)オペレーティングシステム、Linux(登録商標)オペレーティングシステム、又はその他のオペレーティングシステムであってよい。
図3は、バックアップサーバー32のシステムメモリ217内に保存されている様々なソフトウェアモジュールを示している。ソフトウェアモジュールのプログラム命令は、バックアップサーバー32の1つ又は複数のプロセッサによって実行可能である。図3に示されているソフトウェアモジュールは、本明細書に記述されている様々な機能を実装するソフトウェアアーキテクチャの一例として付与されている。その他の実施形態においては、その他のソフトウェアアーキテクチャを使用してもよい。
図示の実施形態においては、バックアップサーバー32のソフトウェアは、バックアップサーバー32の基本的な動作を管理するオペレーティングシステムソフトウェア902を含む。又、バックアップサーバー32のソフトウェアは、ネットワーク通信モジュール904をも含む。オペレーティングシステムソフトウェア902、バックアップソフトウェア100、又はその他のソフトウェアモジュールは、クライアントコンピュータシステム82などのその他のコンピュータシステムと通信するべく、ネットワーク通信モジュール904を使用してもよい。又、バックアップサーバー32のソフトウェアは、バックアップソフトウェア100をも含む。バックアップソフトウェア100は、インデックス管理モジュール908、保存モジュール910、及び回復モジュール912などの様々なモジュールを含む。バックアップソフトウェア100の様々なモジュールによって実行される機能については、後述する。
バックアップソフトウェア100のインデックス管理モジュール908は、1つの大きなインデックスの代わりに、複数のインデックスを生成及び使用してもよい。それぞれのインデックスは、重複排除システム内に保存されている様々なファイルセグメントの保存場所を規定してもよい。1つ又は複数のインデックスの第1のグループを第1タイプのストレージ装置上に保存してもよい。第1タイプのストレージ装置は、ストレージ装置のすべてのコンテンツに対する高速アクセスを可能にするストレージ装置であってよい。いくつかの実施形態においては、第1タイプのストレージ装置は、例えば、システムメモリ217などのランダムアクセスメモリ(RAM)であってよい。その他の実施形態においては、第1タイプのストレージ装置は、半導体ドライブ(SSD)、フラッシュメモリ装置、又はその他のタイプのストレージ装置であってよい。
1つ又は複数のインデックスの第2グループを別のタイプのストレージ装置上に保存してもよい。この第2タイプのストレージ装置は、その内部に非常に大量のデータを廉価に保存可能な経済的に廉価なストレージ装置であってよい。いくつかの実施形態においては、第2タイプのストレージ装置は、例えば、ディスクドライブ244などの1つ又は複数のディスクドライブであってよい。
ファイルをバックアップする際には、バックアップソフトウェア100は、ディスクドライブ上に保存されているインデックスの第2グループではなく、高速ストレージ(例えば、RAM)内に保存されているインデックスの第1グループを使用し、そのファイルのファイルセグメントの保存場所をルックアップするべく試みてもよい。インデックスの第1グループは、必要とされる大部分のファイルセグメントをルックアップすることができるように十分に大きくてよいが、RAM内に収容されるべく十分に小さい。ファイルを回復する際には、後述するように、ディスクドライブ上に保存されているインデックスの第2グループを使用してもよい。
図4は、新しいファイルを重複排除ストレージシステム30にバックアップする方法の一実施形態を示すフローチャート図である。本方法は、重複排除ストレージシステム30の1つ又は複数のバックアップサーバーコンピュータ32上において稼働するバックアップソフトウェア100によって実装してもよい。
ブロック501に示されているように、ファイルを複数のセグメントに分割してもよい。ブロック503に示されているように、ハッシュ関数又はその他のアルゴリズムをセグメントのデータに適用することにより、それぞれのセグメントのフィンガプリント又はシグネチャを演算してもよい。それぞれのフィンガプリントごとに、以下のステップを実行してもよい。
ブロック505に示されているように、バックアップソフトウェア100は、高速ストレージ(例えば、RAM)内に保存されているインデックスの第1グループをチェックしてフィンガプリントのルックアップを試みてもよい。廉価なストレージ(例えば、ディスクドライブ)内に保存されているインデックスの第2グループは、フィンガプリントについてチェックされない。インデックスの第1グループは、RAM又は別のタイプの高速ストレージ装置内に保存されているため、これらのインデックスには、迅速にアクセスすることができる。
フィンガプリントが見出されない場合には、これは、対応するファイルセグメントが重複排除ストレージシステム30内に保存されていないであろうことを示している。従って、ブロック507に示されているように、そのセグメントを重複排除ストレージシステム300に追加し、且つ、そのセグメントにアクセス可能な保存場所を規定する情報と共に、フィンガプリントを第1グループ内のインデックスに追加する。フィンガプリントを追加した後にインデックスが一杯になった場合には、ブロック509に示されているように、インデックスを、ディスクドライブ上に保存されているインデックスの第2グループに移動させてもよい。そのインデックスを第1グループ内において新しい空のインデックスによって置換してもよい。
又、バックアップソフトウェア100は、ファイルのセグメントのフィンガプリントのリストを規定するファイル情報を保存してもよい。ブロック511に示されているように、現在のフィンガプリントをファイル情報内のフィンガプリントのリストに追加してもよい。更には、フィンガプリントが見出されたインデックス(又は、フィンガプリントが追加されたインデックス)をファイル情報に追加してもよい。この結果、バックアップソフトウェア100は、ファイルの回復が必要になった場合に、フィンガプリントをルックアップするべく使用可能なインデックスを判定することができる。
図5は、重複排除ストレージシステム30からファイルを回復する方法の一実施形態を示すフローチャート図である。本方法は、重複排除ストレージシステム30の1つ又は複数のバックアップサーバーコンピュータ32上において稼働するバックアップソフトウェア100によって実装してもよい。
バックアップソフトウェア100は、ファイルがバックアップされた際に保存されたファイルからファイル情報を取得してもよい。前述のように、ファイル情報は、ファイルのセグメントのフィンガプリントのリストを含む。ブロック601、603、及び605は、リスト内のそれぞれのフィンガプリントごとに実行してもよい。
ブロック601に示されているように、バックアップソフトウェア100は、ファイル情報をチェックし、フィンガプリントによって識別された対応するファイルセグメントの保存場所を規定するインデックスを判定してもよい。次いで、ブロック603に示されているように、このインデックスにアクセスし、ファイルセグメントの保存場所を見出してもよい。次いで、ブロック605に示されているように、ファイルセグメントを取得してもよい。
すべてのファイルセグメントが取得されたら、それらのセグメントを連結してファイルを回復することができる。
いくつかの実施形態においては、RAM内に保存されているインデックスの第1グループは、最も頻繁に遭遇するフィンガプリントを保存するベースインデックスと呼ばれる特殊なインデックスを含んでもよい。この結果、頻繁に使用されるフィンガプリントは、新しいファイルを重複排除ストレージシステムにバックアップする際にそれらのフィンガプリントを迅速に見出すことが可能な高速ストレージ内に留まることができよう。その他の実施形態においては、ベースインデックスは、その他の特殊なフィンガプリントを含んでもよい。例えば、いくつかの実施形態においては、それぞれのファイルの第1セグメントのフィンガプリントをベースインデックスに追加してもよい。
図6は、3つのインデックスがシステムメモリ(RAM)217内に保存されている一例を示している。ベースインデックスと呼ばれるインデックス901Aは、常にメモリ内に留まってよいが、その他の2つのインデックス901B及び901Cは、それらが一杯になった際には、ディスクドライブに移動させてもよい。ベースインデックス901Aは、最も頻繁に使用されるファイルセグメントのフィンガプリントを最も頻繁に使用されるファイルセグメントの保存場所にマッピングしている。新しいファイルがストレージシステムに追加されるのに伴って、ファイルに収容されている新しいセグメントのフィンガプリントがインデックス901Bに追加される。この例においては、インデックス901Bは、現在、フィンガプリントFP6、FP7、FP8、FP9、FP10、及びFP11を含む。図7は、後の時点におけるインデックスを示している。インデックス901Bは、いまや、一杯であり、従って、新しいフィンガプリントは、いまや、インデックス901Cに追加されている。
図8は、インデックス901Cが一杯になった後の時点におけるインデックスを示している。新しいフィンガプリントを追加可能な新しいインデックス用の場所を生成するべく、インデックス901Bは、RAM217からハードディスクドライブ244上に移動されている。更には、バックアップソフトウェア100は、インデックス901Bの最も頻繁に使用されるフィンガプリント(FP8及びFP11)を判定し、且つ、これらをインデックス901Aに追加している。新しいファイルセグメントの新しいフィンガプリントを追加するべく、新しいインデックス901Dが生成されている。
ここで、ストレージシステムに保存される対象である新しいファイルが受信され、且つ、そのファイルが、フィンガプリントFP9を有するセグメントを含んでいると仮定する。バックアップソフトウェア100の保存モジュール910は、フィンガプリントFP9を使用することにより、RAM217内に保存されているインデックス内においてセグメントの保存場所をルックアップするべく試みる。しかしながら、RAM217内のインデックスのいずれもがフィンガプリントFP9を含んでいないため、セグメントは見出されない。従って、この場合には、重複するセグメントがストレージシステムに追加される。但し、RAM217内に保存されるインデックスは、必要とされる大部分のフィンガプリントの「ワーキングセット」を含むように、十分に大きなものであってよい。従って、重複するセグメントが追加される状況は、相対的に稀であろう。いくつかの実施形態においては、インデックス901B及び901Cは、数日間分又は数週間分のバックアップ作業において遭遇するすべてのセグメントのフィンガプリントを収容するべく、十分に大きなものであってよい。
ここで、フィンガプリントFP10を有するセグメントを使用するファイルの回復が必要であると仮定する。この場合にも、フィンガプリントFP10は、RAM217内に保存されているインデックスのいずれにも含まれていない。しかしながら、ファイル情報は、そのファイルのセグメントをインデックス付けするべく使用したインデックスを示している。即ち、ファイル情報は、ファイルを回復することができるように、インデックス901Bを使用してファイルのセグメントの保存場所をルックアップするべきであると示している。従って、バックアップソフトウェア100の回復モジュール912は、ディスクドライブ244上のインデックス901Bにアクセスしてもよい。
従って、RAM内又はディスク上における保存を要する1つの大きなインデックスを使用する代わりに、複数の相対的に小さなインデックスが使用されている。最近追加されたセグメント及び最も頻繁に使用されるセグメントの大部分をルックアップするべく十分に大きな1つ又は複数のインデックスがRAM内に保存されている。新しいファイルをシステムに追加する際には、RAM内のインデックスのみを使用し、ファイルセグメントの保存場所をルックアップする。この結果、ルックアップが、高速化され、且つ、スケーラブルになる。長期間使用されなかったインデックスは、ディスク上に保存され、且つ、これらのインデックスは、ファイルを回復する際にセグメントの保存場所をルックアップするべく使用することができる。
最も頻繁に使用されるセグメントのフィンガプリントは、ベースインデックス内に維持されており、且つ、常に利用可能な状態にある。RAMがセグメントのフィンガプリントのワーキングセットを維持するように十分に大きいものである限り、重複排除におけるセグメントルックアップにより、スケーラビリティを犠牲にすることなしに、高速を実現することができる。RAM内に存在していないインデックスは、回復のためにのみ使用される。それぞれのファイルは、そのセグメントに使用されるインデックスを記録している。回復の際には、ディスクから古いインデックスをルックアップすることにより、それぞれのファイルのそれぞれのセグメントを依然として見出すことができる。
それぞれのインデックスは、1つの大きなインデックスを使用する従来のシステムよりも小さいため、エントリのルックアップ、生成、削除、及び変更などのインデックスを使用する動作が相対的に効率的である。RAM内に保存されているインデックスは、システム内に保存されているすべてのセグメントのサブセットのフィンガプリントのみを収容しているため、これらのインデックスをサーチしてそれらが所与のフィンガプリントを収容しているかどうかの判定が相対的に高速である。ファイルデータのかなりの部分が新しいデータである場合があるため、特定のフィンガプリントがインデックス内に存在していないことを判定するための速度は、重要である。
RAM内に保存されているインデックス内のフィンガプリントのワーキングセットが十分に大きくない場合には、システムは、セグメントの重複を結果的にもたらすことになろう。これは、費用と効率の間におけるトレードオフである。
回復の際には、いくつかのインデックスエントリのディスクからのサーチを要することになろう。これを更に高速化するべく、いくつかの実施形態においては、ディスク上のインデックスを、そのインデックスが使用されている間、RAM内に読み込んでもよい。
以上、ファイルをバックアップ及び回復する方法の様々な実施形態について説明した。本方法は、相互の関連において動作する様々な装置によって実装され、且つ、これらの装置のうちの1つ又は複数のものの変形をもたらす。例えば、前述のように、インデックスを保存することにより、重複排除ストレージシステムのバックアップサーバーコンピュータ(又は、バックアップサーバーコンピュータによって使用されるストレージ装置)を変形させてもよい。
本明細書に記述されている様々な機能は、いくつかの実施形態においては、クラウドに基づいた演算技法又はSaas(Software As A Service)技法に従って実行してもよいことに留意されたい。例えば、いくつかの実施形態においては、バックアップソフトウェア100の機能をクラウド演算サービスとして提供してもよい。
様々な実施形態は、コンピュータアクセス可能なストレージ媒体上において、上述の説明に従って実装された命令及び/又はデータを受信、送信、又は保存するステップを更に含んでもよいことに留意されたい。一般に、コンピュータアクセス可能なストレージ媒体は、使用の際に、命令及び/又はデータをコンピュータに提供するべく、1つ又は複数のコンピュータ(又は、プロセッサ)によってアクセス可能な任意のストレージ媒体を含んでもよい。例えば、コンピュータアクセス可能なストレージ媒体は、例えば、1つ又は複数のディスク(固定又はリムーバブル)、テープ、CD−ROM、DVD−ROM、CD−R、CD−RW、DVD−R、DVD−RWなどの磁気又は光学媒体などのストレージ媒体を含んでもよい。ストレージ媒体は、RAM(例えば、SDRAM(Synchronous Dynamic RAM)、RDRAM(Rambus DRAM)、SRAM(Static RAM)など)、ROM、フラッシュメモリ、USB(Universal Serial Bus)インターフェイスなどの周辺インターフェイスを介してアクセス可能な不揮発性メモリ(例えば、フラッシュメモリ)などの揮発性又は不揮発性メモリ媒体を更に含んでもよい。いくつかの実施形態においては、1つ又は複数のコンピュータは、ネットワーク及び/又は無線リンクなどの通信手段を介してストレージ媒体にアクセスしてもよい。
以上の内容は、説明を目的として、特定の実施形態を参照して記述した。しかしながら、以上の例示用の説明は、すべてを網羅したり、又は本発明を開示された形態そのままに限定することを意図したものではない。以上の開示内容に鑑み、多くの変更及び変形が可能である。実施形態は、本発明の原理とその実際的な適用を最良に説明することによって当業者が想定される特定の使用法に好適な様々な変更を伴って本発明及び様々な実施形態を最良に利用できるようにするべく、選択及び説明した。

Claims (16)

  1. プログラム命令を保存するコンピュータアクセス可能なストレージ媒体であって、
    前記プログラム命令は、
    1つ又は複数のインデックスの第1グループを第1タイプのストレージ装置上に保存するステップであって、前記第1グループのそれぞれのインデックスは、重複排除ストレージシステム内に保存されたファイルセグメントの保存場所を規定している、ステップと、
    1つ又は複数のインデックスの第2グループを第2タイプのストレージ装置上に保存するステップであって、前記第2グループのそれぞれのインデックスは、前記重複排除ストレージシステム内に保存されたファイルセグメントの保存場所を規定している、ステップと、
    前記重複排除ストレージシステム内に保存される対象の第1ファイルを受信するのに応答して、
    前記第1ファイルを複数のファイルセグメントに分割するサブステップであって、前記複数のファイルセグメントは、前記第1ファイルを受信する前に前記重複排除ストレージシステム内に既に保存されていた特定のファイルセグメントを含み、前記インデックスの第2グループは、前記特定のファイルセグメントの保存場所を規定するインデックスを含む、サブステップと、
    前記インデックスの第2グループではなく、前記インデックスの第1グループを使用して前記第1ファイルの前記複数のファイルセグメントの保存場所をルックアップするべく試みるサブステップと、
    前記インデックスの第1グループのいずれのインデックスも前記特定のファイルセグメントの前記保存場所を規定していないと判定するのに応答して、前記特定のファイルセグメントの重複するコピーを前記重複排除ストレージシステム内に保存するサブステップと、
    前記特定のファイルセグメントに対応するフィンガプリントが前記インデックスの第1グループ内に見出されないと判定することに基づいて、前記インデックスの第1グループ内に特定の位置情報を保存するサブステップであって、前記特定の位置情報は前記特定のファイルセグメントの前記重複するコピーの特定の保存場所を規定する、サブステップと、
    を含むステップと、
    前記重複排除ストレージシステムから第2ファイルを回復するための要求を受信するのに応答して、
    前記インデックスの第2グループの特定のインデックスが前記第2ファイルのファイルセグメントの保存場所を規定していると判定するサブステップと、
    前記第2ファイルを回復するべく前記インデックスの第2グループの前記特定のインデックスを使用して前記第2ファイルの前記ファイルセグメントの前記保存場所をルックアップするサブステップと、
    を含むステップと、
    を実行可能である、コンピュータアクセス可能なストレージ媒体。
  2. 前記プログラム命令は、
    前記第1グループの特定のインデックスが最大サイズに到達したと判定するのに応答して、前記第1タイプのストレージ装置上に保存されている前記第1グループの前記特定のインデックスを前記ストレージ装置の第2タイプ上に保存されている前記第2グループに移動させるステップを更に実行可能である請求項1に記載のコンピュータアクセス可能なストレージ媒体。
  3. 前記インデックスの第1グループは、頻繁に使用されるファイルセグメントの保存場所を規定する第1インデックスを含み、
    前記プログラム命令は、
    前記第1グループの前記特定のインデックスの複数の最も頻繁に使用されるファイルセグメントを判定するステップと、
    前記第1グループの前記特定のインデックスを前記第2グループに移動させることを要すると判定するのに応答して、前記複数の最も頻繁に使用されるファイルセグメントを前記第1インデックスに追加するステップと、
    を更に実行可能である請求項2に記載のコンピュータアクセス可能なストレージ媒体。
  4. 前記プログラム命令は、
    前記第1グループの前記特定のインデックスを前記第1タイプのストレージ装置上に保存されている新しいインデックスによって置換するステップを更に実行可能である請求項2に記載のコンピュータアクセス可能なストレージ媒体。
  5. 前記第1グループの前記インデックスは、前記ファイルセグメントのフィンガプリントを前記ファイルセグメントの前記保存場所にマッピングすることにより、ファイルセグメントの保存場所を規定しており、
    前記プログラム命令は、
    前記第1ファイルの前記複数のファイルセグメントのフィンガプリントを判定することにより、且つ、
    前記第1ファイルの前記複数のファイルセグメントの前記フィンガプリントを使用して前記第1グループの1つ又は複数のインデックス内において前記第1ファイルの前記複数のファイルセグメントの前記保存場所をルックアップするべく試みることにより、
    前記インデックスの第1グループを使用して前記第1ファイルの前記複数のファイルセグメントの前記保存場所をルックアップするべく試みるステップ、
    を実行可能である請求項1に記載のコンピュータアクセス可能なストレージ媒体。
  6. 前記ストレージ装置の第1タイプは、
    ランダムアクセスメモリ(RAM)と、
    半導体ドライブ(SSD)と、
    のうちの1つである請求項1に記載のコンピュータアクセス可能なストレージ媒体。
  7. 前記第2タイプのストレージ装置は、1つ又は複数のディスクドライブである請求項1に記載のコンピュータアクセス可能なストーレージ媒体。
  8. 1つ又は複数のインデックスの第1グループを第1タイプのストレージ装置上に保存するステップであって、前記第1グループのそれぞれのインデックスは、重複排除ストレージシステム内に保存されたファイルセグメントの保存場所を規定している、ステップと、
    1つ又は複数のインデックスの第2グループを第2タイプのストレージ装置上に保存するステップであって、前記第2グループのそれぞれのインデックスは、前記重複排除ストレージシステム内に保存されたファイルセグメントの保存場所を規定している、ステップと、
    前記重複排除ストレージシステム内に保存される対象の第1ファイルを受信するのに応答して、
    前記第1ファイルを複数のファイルセグメントに分割するサブステップであって、前記複数のファイルセグメントは、前記第1ファイルを受信する前に前記重複排除ストレージシステム内に既に保存されていた特定のファイルセグメントを含み、前記インデックスの第2グループは、前記特定のファイルセグメントの保存場所を規定するインデックスを含む、サブステップと、
    前記インデックスの第2グループではなく、前記インデックスの第1グループを使用して前記第1ファイルの前記複数のファイルセグメントの保存場所をルックアップするべく試みるサブステップと、
    前記インデックスの第1グループのいずれのインデックスも前記特定のファイルセグメントの前記保存場所を規定していないと判定するのに応答して、前記特定のファイルセグメントの重複するコピーを前記重複排除ストレージシステム内に保存するサブステップと、
    前記特定のファイルセグメントに対応するフィンガプリントが前記インデックスの第1グループ内に見出されないと判定することに基づいて、前記インデックスの第1グループ内に特定の位置情報を保存するサブステップであって、前記特定の位置情報は前記特定のファイルセグメントの前記重複するコピーの特定の保存場所を規定する、サブステップと、
    を含むステップと、
    前記重複排除ストレージシステムから第2ファイルを回復するための要求を受信するのに応答して、
    前記インデックスの第2グループの特定のインデックスが前記第2ファイルのファイルセグメントの保存場所を規定していると判定するサブステップと、
    前記第2ファイルを回復するべく前記インデックスの第2グループの前記特定のインデックスを使用して前記第2ファイルの前記ファイルセグメントの前記保存場所をルックアップするサブステップと、
    を含むステップと、
    を含む方法。
  9. 前記第1グループの特定のインデックスが最大サイズに到達したと判定するのに応答して、前記第1タイプのストレージ装置上に保存されている前記第1グループの前記特定のインデックスを前記第2タイプのストレージ装置上に保存されている第2グループに移動させるステップを更に含む請求項8に記載の方法。
  10. 前記インデックスの第1グループは、頻繁に使用されるファイルセグメントの保存場所を規定する第1インデックスを含み、
    前記方法は、
    前記第1グループの前記特定のインデックスの複数の最も頻繁に使用されるファイルセグメントを判定するステップと、
    前記第1グループの前記特定のインデックスを前記第2グループに移動させることを要すると判定するのに応答して、前記複数の最も頻繁に使用されるファイルセグメントを前記第1インデックスに追加するステップと、
    を更に含む請求項9に記載の方法。
  11. 前記第1グループの前記特定のインデックスを前記第1タイプのストレージ装置上に保存されている新しいインデックスによって置換するステップを更に含む請求項9に記載の方法。
  12. 前記第1グループの前記インデックスは、前記ファイルセグメントのフィンガプリントを前記ファイルセグメントの前記保存場所にマッピングすることによってファイルセグメントの保存場所を規定しており、
    前記方法は、
    前記第1ファイルの前記複数のファイルセグメントのフィンガプリントを判定することにより、且つ、
    前記第1ファイルの前記複数のファイルセグメントの前記フィンガプリントを使用して前記第1グループの1つ又は複数のインデックス内において前記第1ファイルの前記複数のファイルセグメントの前記保存場所をルックアップするべく試みることにより、
    前記第1ファイルの前記複数のファイルセグメントの前記保存場所をルックアップするべく試みるステップ
    を含む請求項8に記載の方法。
  13. 1つ又は複数のプロセッサと、
    プログラム命令を保存するランダムアクセスメモリと、
    を有するシステムであって、
    前記プログラム命令は、
    1つ又は複数のインデックスの第1グループを第1タイプのストレージ装置上に保存するステップであって、前記第1グループのそれぞれのインデックスは、重複排除ストレージシステム内に保存されたファイルセグメントの保存場所を規定している、ステップと、
    1つ又は複数のインデックスの第2グループを第2タイプのストレージ装置上に保存するステップであって、前記第2グループのそれぞれのインデックスは、前記重複排除ストレージシステム内に保存されたファイルセグメントの保存場所を規定している、ステップと、
    前記重複排除ストレージシステム内に保存される対象の第1ファイルを受信するのに応答して、
    前記第1ファイルを複数のファイルセグメントに分割するサブステップであって、前記複数のファイルセグメントは、前記第1ファイルを受信する前に前記重複排除ストレージシステム内に既に保存されていた特定のファイルセグメントを含み、前記インデックスの第2グループは、前記特定のファイルセグメントの保存場所を規定するインデックスを含む、サブステップと、
    前記インデックスの第2グループではなく、前記インデックスの第1グループを使用して前記第1ファイルの前記複数のファイルセグメントの保存場所をルックアップするべく試みるサブステップと、
    前記インデックスの第1グループのいずれのインデックスも前記特定のファイルセグメントの前記保存場所を規定していないと判定するのに応答して、前記特定のファイルセグメントの重複するコピーを前記重複排除ストレージシステム内に保存するサブステップと、
    前記特定のファイルセグメントに対応するフィンガプリントが前記インデックスの第1グループ内に見出されないと判定することに基づいて、前記インデックスの第1グループ内に特定の位置情報を保存するサブステップであって、前記特定の位置情報は前記特定のファイルセグメントの前記重複するコピーの特定の保存場所を規定する、サブステップと、
    を含むステップと、
    前記重複排除ストレージシステムから第2ファイルを回復するための要求を受信するのに応答して、
    前記インデックスの第2グループの特定のインデックスが前記第2ファイルのファイルセグメントの保存場所を規定していると判定するサブステップと、
    前記第2ファイルを回復するべく前記インデックスの第2グループの前記特定のインデックスを使用して前記第2ファイルの前記ファイルセグメントの前記保存場所をルックアップするサブステップと、
    を含むステップと、
    を前記1つ又は複数のプロセッサによって実行可能である、システム。
  14. 前記プログラム命令は、
    前記第1グループの特定のインデックスが最大サイズに到達したと判定するのに応答して、前記第1タイプのストレージ装置上に保存されている前記第1グループの前記特定のインデックスを前記第2タイプのストレージ装置上に保存されている前記第2グループに移動させるステップ
    を1つ又は複数のプロセッサによって更に実行可能である請求項13に記載のシステム。
  15. 前記インデックスの第1グループは、頻繁に使用されるファイルセグメントの保存場所を規定する第1インデックスを含み、
    前記プログラム命令は、
    前記第1グループの前記特定のインデックスの複数の最も頻繁に使用されるファイルセグメントを判定するステップと、
    前記第1グループの前記特定のインデックスを前記第2グループに移動させることを要すると判定するのに応答して、前記複数の最も頻繁に使用されるファイルセグメントを前記第1インデックスに追加するステップと、
    を前記1つ又は複数のプロセッサによって更に実行可能である請求項13に記載のシステム。
  16. 前記第1グループの前記インデックスは、前記ファイルセグメントのフィンガプリントを前記ファイルセグメントの前記保存場所にマッピングすることによってファイルセグメントの保存場所を規定しており、
    前記プログラム命令は、
    前記第1ファイルの前記複数のファイルセグメントのフィンガプリントを判定することにより、且つ、
    前記第1ファイルの前記複数のファイルセグメントの前記フィンガプリントを使用して前記第1グループの1つ又は複数のインデックス内において前記第1ファイルの前記複数のファイルセグメントの前記保存場所をルックアップするべく試みることにより、
    前記インデックスの第1グループを使用して前記第1ファイルの前記複数のファイルセグメントの前記保存場所をルックアップするべく試みるステップ
    を前記1つ又は複数のプロセッサによって更に実行可能である請求項13に記載のシステム。
JP2012534215A 2009-10-16 2010-10-01 効率的なファイル保存のための複数のインデックスを有する重複排除ストレージシステム Expired - Fee Related JP5663585B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/580,697 2009-10-16
US12/580,697 US20110093439A1 (en) 2009-10-16 2009-10-16 De-duplication Storage System with Multiple Indices for Efficient File Storage
PCT/US2010/051023 WO2011046754A1 (en) 2009-10-16 2010-10-01 De-duplication storage system with multiple indices for efficient file storage

Publications (2)

Publication Number Publication Date
JP2013508810A JP2013508810A (ja) 2013-03-07
JP5663585B2 true JP5663585B2 (ja) 2015-02-04

Family

ID=43558283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012534215A Expired - Fee Related JP5663585B2 (ja) 2009-10-16 2010-10-01 効率的なファイル保存のための複数のインデックスを有する重複排除ストレージシステム

Country Status (5)

Country Link
US (1) US20110093439A1 (ja)
EP (1) EP2488949B1 (ja)
JP (1) JP5663585B2 (ja)
CN (1) CN102640118B (ja)
WO (1) WO2011046754A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370315B1 (en) * 2010-05-28 2013-02-05 Symantec Corporation System and method for high performance deduplication indexing
WO2012030383A1 (en) * 2010-08-31 2012-03-08 Falconstor, Inc. Data deduplication
US8782003B1 (en) 2011-05-13 2014-07-15 Emc Corporation Synchronization of storage using log files and snapshots
US8745003B1 (en) * 2011-05-13 2014-06-03 Emc Corporation Synchronization of storage using comparisons of fingerprints of blocks
KR101583748B1 (ko) * 2011-12-08 2016-01-19 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 사용자 간의 중복제거를 허용하기 위한 저장소 할인
US8769627B1 (en) * 2011-12-08 2014-07-01 Symantec Corporation Systems and methods for validating ownership of deduplicated data
CN102523112B (zh) * 2011-12-14 2015-09-09 华为技术有限公司 信息处理方法及设备
US9659060B2 (en) 2012-04-30 2017-05-23 International Business Machines Corporation Enhancing performance-cost ratio of a primary storage adaptive data reduction system
US9177028B2 (en) 2012-04-30 2015-11-03 International Business Machines Corporation Deduplicating storage with enhanced frequent-block detection
US9563632B2 (en) * 2012-07-23 2017-02-07 Dell Products L.P. Garbage collection aware deduplication
US20140115260A1 (en) * 2012-10-18 2014-04-24 Oracle International Corporation System and method for prioritizing data in a cache
US8898118B2 (en) 2012-11-30 2014-11-25 International Business Machines Corporation Efficiency of compression of data pages
US20190007380A1 (en) * 2013-04-01 2019-01-03 International Business Machines Corporation De-duplication of data streams
US10339112B1 (en) * 2013-04-25 2019-07-02 Veritas Technologies Llc Restoring data in deduplicated storage
WO2015016817A1 (en) * 2013-07-29 2015-02-05 Hewlett-Packard Development Company, L.P. Integrity of frequently used de-duplication objects
CN103412802B (zh) * 2013-08-12 2016-12-28 浪潮(北京)电子信息产业有限公司 容灾数据文件访问控制列表备份的方法及装置
US20150213049A1 (en) * 2014-01-30 2015-07-30 Netapp, Inc. Asynchronous backend global deduplication
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
US9665287B2 (en) 2015-09-18 2017-05-30 Alibaba Group Holding Limited Data deduplication using a solid state drive controller
US10216748B1 (en) * 2015-09-30 2019-02-26 EMC IP Holding Company LLC Segment index access management in a de-duplication system
US11036394B2 (en) 2016-01-15 2021-06-15 Falconstor, Inc. Data deduplication cache comprising solid state drive storage and the like
CN106487937A (zh) * 2016-12-30 2017-03-08 郑州云海信息技术有限公司 一种云存储系统文件去重方法及系统
US10789002B1 (en) * 2017-10-23 2020-09-29 EMC IP Holding Company LLC Hybrid data deduplication for elastic cloud storage devices
US20190129806A1 (en) * 2017-10-27 2019-05-02 Synology Inc. Methods and computer program products for a file backup and apparatuses using the same
JP2020057305A (ja) * 2018-10-04 2020-04-09 富士通株式会社 データ処理装置およびプログラム
CN111200623B (zh) * 2018-11-19 2022-03-29 福建天泉教育科技有限公司 基于分布式存储实现终端数据同步的方法及其系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0282332A (ja) * 1988-09-20 1990-03-22 Fujitsu Ltd 索引ファイルのインデックス用入出力バッファ方式
JPH05233387A (ja) * 1992-02-20 1993-09-10 Matsushita Electric Ind Co Ltd ファイル管理方法
US5555391A (en) * 1993-12-23 1996-09-10 Unisys Corporation System and method for storing partial blocks of file data in a file cache system by merging partial updated blocks with file block to be written
US6032224A (en) * 1996-12-03 2000-02-29 Emc Corporation Hierarchical performance system for managing a plurality of storage units with different access speeds
GB9811574D0 (en) * 1998-05-30 1998-07-29 Ibm Indexed file system and a method and a mechanism for accessing data records from such a system
GB2406681B (en) * 2000-11-30 2005-05-18 Coppereye Ltd Database
US7065619B1 (en) * 2002-12-20 2006-06-20 Data Domain, Inc. Efficient data storage system
JP4380193B2 (ja) * 2003-03-25 2009-12-09 ブラザー工業株式会社 ファイルアクセス管理装置
US7373520B1 (en) * 2003-06-18 2008-05-13 Symantec Operating Corporation Method for computing data signatures
US8051252B2 (en) * 2005-03-11 2011-11-01 Ross Neil Williams Method and apparatus for detecting the presence of subblocks in a reduced-redundancy storage system
WO2006094367A1 (en) * 2005-03-11 2006-09-14 Rocksoft Limited Method for detecting the presence of subblocks in a reduced-redundancy storage system
US7636767B2 (en) * 2005-11-29 2009-12-22 Cisco Technology, Inc. Method and apparatus for reducing network traffic over low bandwidth links
US7716180B2 (en) * 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US7454592B1 (en) * 2006-02-16 2008-11-18 Symantec Operating Corporation Block-level and hash-based single-instance storage
US7478113B1 (en) * 2006-04-13 2009-01-13 Symantec Operating Corporation Boundaries
US20090132621A1 (en) * 2006-07-28 2009-05-21 Craig Jensen Selecting storage location for file storage based on storage longevity and speed
US7672981B1 (en) * 2007-02-28 2010-03-02 Emc Corporation Object classification and indexing of very large name spaces using grid technology
US20080243878A1 (en) * 2007-03-29 2008-10-02 Symantec Corporation Removal
US20080243769A1 (en) * 2007-03-30 2008-10-02 Symantec Corporation System and method for exporting data directly from deduplication storage to non-deduplication storage
US8028106B2 (en) * 2007-07-06 2011-09-27 Proster Systems, Inc. Hardware acceleration of commonality factoring with removable media
US20090132616A1 (en) * 2007-10-02 2009-05-21 Richard Winter Archival backup integration
JP5233233B2 (ja) * 2007-10-05 2013-07-10 日本電気株式会社 情報検索システム、情報検索用インデックスの登録装置、情報検索方法及びプログラム
US7567188B1 (en) * 2008-04-10 2009-07-28 International Business Machines Corporation Policy based tiered data deduplication strategy
CN101515255A (zh) * 2009-03-18 2009-08-26 成都市华为赛门铁克科技有限公司 一种数据的存储方法和存储装置

Also Published As

Publication number Publication date
CN102640118B (zh) 2015-09-09
US20110093439A1 (en) 2011-04-21
WO2011046754A1 (en) 2011-04-21
EP2488949A1 (en) 2012-08-22
EP2488949B1 (en) 2014-05-07
CN102640118A (zh) 2012-08-15
JP2013508810A (ja) 2013-03-07

Similar Documents

Publication Publication Date Title
JP5663585B2 (ja) 効率的なファイル保存のための複数のインデックスを有する重複排除ストレージシステム
US9250824B2 (en) Backing up method, device, and system for virtual machine
US9251160B1 (en) Data transfer between dissimilar deduplication systems
US8612700B1 (en) Method and system of performing block level duplications of cataloged backup data
US8086799B2 (en) Scalable deduplication of stored data
US8473462B1 (en) Change tracking for shared disks
JP2019096355A (ja) 論理ボリューム維持のための方法及び装置
US20130311429A1 (en) Method for controlling backup and restoration, and storage system using the same
JP5547727B2 (ja) ボリュームへの変更を追跡するシステムおよび方法
US10254964B1 (en) Managing mapping information in a storage system
US8001324B2 (en) Information processing apparatus and informaiton processing method
US10437682B1 (en) Efficient resource utilization for cross-site deduplication
US10372547B1 (en) Recovery-chain based retention for multi-tier data storage auto migration system
US10242021B2 (en) Storing data deduplication metadata in a grid of processors
US8572338B1 (en) Systems and methods for creating space-saving snapshots
CN110806911B (zh) 一种云桌面管控方法、装置及系统
US11861165B2 (en) Object tiering in a distributed storage system
US9749193B1 (en) Rule-based systems for outcome-based data protection
US10255288B2 (en) Distributed data deduplication in a grid of processors
US8914324B1 (en) De-duplication storage system with improved reference update efficiency
US20220398220A1 (en) Systems and methods for physical capacity estimation of logical space units
US9558197B2 (en) Assigning backup device path based on file coloring
US9465937B1 (en) Methods and systems for securely managing file-attribute information for files in a file system
US9436697B1 (en) Techniques for managing deduplication of data
US11614999B2 (en) Efficient method to index scheduled backup of same target and the corresponding files

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131022

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20131022

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140701

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141208

R150 Certificate of patent or registration of utility model

Ref document number: 5663585

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees