JP5404637B2 - 継続的データ保護を提供するための方法、システム及びコンピュータ・プログラム - Google Patents

継続的データ保護を提供するための方法、システム及びコンピュータ・プログラム Download PDF

Info

Publication number
JP5404637B2
JP5404637B2 JP2010531105A JP2010531105A JP5404637B2 JP 5404637 B2 JP5404637 B2 JP 5404637B2 JP 2010531105 A JP2010531105 A JP 2010531105A JP 2010531105 A JP2010531105 A JP 2010531105A JP 5404637 B2 JP5404637 B2 JP 5404637B2
Authority
JP
Japan
Prior art keywords
data
flash memory
cdp
updated data
remote server
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
JP2010531105A
Other languages
English (en)
Other versions
JP2011501317A (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 JP2011501317A publication Critical patent/JP2011501317A/ja
Application granted granted Critical
Publication of JP5404637B2 publication Critical patent/JP5404637B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/1456Hardware arrangements for backup
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、継続的データ保護(CDP:Continuous Data Protection)に係り、さらに詳細に説明すれば、継続的データ保護のためにローカル・フラッシュ・メモリ及びリモート・サーバを使用するためのシステム及び方法を提供することに係る。
ハード・ディスクは、脆弱であり、制限された寿命を有し、それらの障害は、貴重な格納データをアクセス不能にすることがある。既存の殆どのバックアップ解決法は、データ・コピーを周期的に作成するが、次のバックアップ時間の前には、最近に作成又は変更されたデータを保護することができない。この問題を解決するため、継続的データ保護(CDP)システムは、データがディスクに格納される都度、当該データのリモート・コピーを作成する(例えば、Tivoli(商標)CDP)。(連続的バックアップとも呼ばれる継続的データ保護(CDP)とは、コンピュータ・データに対し行われた全ての変更のコピーを自動的に格納し、ユーザが保存するデータの全てのバージョンを実質的に捕捉することにより、当該コンピュータ・データをバックアップすることを意味する。これは、ユーザ又は管理者がデータを任意の時点に復元することを可能にする。CDPは、データへの変更を別個のストレージ位置に捕捉するサービスである。継続的変更を捕捉するための複数の方法が存在し、これらの方法は、異なるニーズを満たす異なる技術を含む。CDPベースの解決法は、クラッシュ−整合イメージからファイル、メール・ボックス、メッセージ及びデータベース・ファイルのような論理オブジェクトやログまで及ぶ、復元可能なオブジェクトの細粒度を提供することができる。)IBM社が提供するファイル用のTivoli(商標)CDPは、破損、ユーザ・エラー、ウィルス又はシステム障害の場合に完全なデータ保護を提供する、統合回復解決法である。これは、数分でインストール及び構成され、バックグラウンドで不可視的に稼働する。IBM社が提供するファイル用のTivoli(商標)CDPの詳細については、非特許文献1を参照されたい。しかし、既存のCDPシステムは、リモート・サーバ上にバックアップ・コピーを作成し、ネットワーク接続が使用不能である場合は(これはモバイル・ユーザにとって普通のケースである)、データを保護しない。幾つかのCDPシステム(例えば、SonicWALL(商標)CDP−その詳細については、非特許文献2を参照されたい)は、冗長なローカル・ハード・ドライブ上にデータを複製する。しかし、このオプションも、モバイル・ユーザにとって便利ではない。というのは、ハード・ドライブは、かさばっていて、バッテリからの余分な電力を消費するからである。
フラッシュ・メモリは、より安く、より大きく、より速くなってきた。フラッシュ・メモリとは、電気的な消去及び再プログラムが可能な不揮発性メモリである。フラッシュ・メモリは、主としてメモリ・カード及びUSBフラッシュ・ドライブ(サム・ドライブ、ハンディ・ドライブ、メモリ・スティック、フラッシュ・スティック、ジャンプ・ドライブ)内で使用される技術であって、一般的なストレージとして、コンピュータ及び他のデジタル製品の間でデータを転送するために使用されるのが普通である。フラッシュ・メモリは、大きなブロックを単位として消去及びプログラムされる、特定のタイプのEEPROMである。初期のフラッシュ・メモリでは、チップ全体を一度に消去しなければならなかった。フラッシュ・メモリのコストは、バイト・プログラム可能なEEPROMのコストよりも著しく低く、そのため、相当な量の不揮発性の固体ストレージが必要とされる場合は、支配的な技術になってきた(フラッシュ・メモリの詳細については、非特許文献3を参照されたい)。その結果、フラッシュ・メモリは、取り外し可能ドライブ以外の目的に使用されることが多くなってきた。ハイブリッド・ドライブは、最近の書き込みデータがディスク・プラッタにコミットされる前に、これらの書き込みデータを格納するためのフラッシュ・メモリを含む。(ハイブリッド・ハード・ドライブ(HHD)とも呼ばれるハイブリッド・ドライブは、或るタイプの大容量バッファ付きのハード・ディスク・ドライブである。ハイブリッド・ドライブが標準的なハード・ドライブと異なるのは、前者が通常の使用中にデータをキャッシュするための不揮発性フラッシュ・メモリの大容量バッファ(最大1GB)を使用するという点である。この大容量バッファを主として不揮発性データ・ストレージとして使用することにより、ハード・ドライブのプラッタは、通常のハード・ドライブに見られるように、常時回転するのではなく、殆ど全ての時間にわたって静止することになる。これは、速度、電力消費の減少、改良された信頼性及びより速いブート・プロセス等を含む、多数の利点を提供する。HHDの詳細については、非特許文献4を参照されたい)。しかし、ハイブリッド・ドライブは、(1)データは、これがディスクにコミットされる前に、フラッシュ・メモリ内にのみ格納される、(2)フラッシュ・メモリ内のデータは、その直後に上書きされ得る、という理由でCDPを提供しない。しかし、フラッシュ・メモリは、次の幾つかの利点、すなわち(1)ハイブリッド・ドライブは、或る書き込みデータをフラッシュ・メモリ内に保存し、従ってハード・ディスクのプラッタが回転していない場合は、当該ハード・ディスクのスピン・アップ動作を延期可能であるために、電力を節約することができる、(2)フラッシュ・メモリは、一定で且つ小さなデータ・アクセス時間を有する、という利点を提供する。従って、ハイブリッド・ディスク及びマイクロソフト社が提供するWindows(登録商標)Vista のReadyBoostは、フラッシュ・メモリを使用してランダムな読み取り要求にサービスすることにより、性能を改良する。(ReadyBoostは、マイクロソフト社のWindows (登録商標)Vistaオペレーティング・システムに最初に含まれたディスク・キャッシング技術である。これは、USB2.0ドライブ上のフラッシュ・メモリ、SDカード、コンパクト・フラッシュ又は他の形式のフラッシュ・メモリを使用して、Windows(登録商標)Vista が稼働するコンピュータの応答性をより良くすることにより、システム性能を向上させることを目的とする)。
http://www-306.ibm.com/software/tivoli/resource-center/storage/cdp.jsp?S_TACT=104CB62&ca=104CB627 http://www.sonicwall.com/us/backup_and_recovery.html http://electronics.howstuffworks.com/flash-memory.htm http://www.engadget.com/tag/hhd Ext3cow: A Time-Shifting File System for Regulatory Compliance athttp://hssl.cs.jhu.edu/papers/peterson-tos05.pdf http://historyoftheinternet.org/
従って、当分野では、前記従来技術の少なくとも1つの欠点を解決するための解決法が要請されている。
一般に、本発明は、最新の変更データのバックアップ・コピーを維持するようにフラッシュ・メモリ(例えば、USBサム・ドライブ)を使用するための手段を提供する。ネットワーク接続性が存在しないか又は十分でない場合、最新の変更データは、ローカル・ハード・ドライブ上に格納され、そして(通常は複数のバージョンで)ローカル・フラッシュ・ドライブ上に複製される。ネットワーク接続性が確立されるとすぐに、累積されたデータは、リモートCDPサーバに送信されるから、前記フラッシュ・ドライブの全空間を再使用することができる。その結果、前記データは常に複製される。すなわち、1つのデータ・コピーが前記ハード・ドライブ上に格納され、そして他のデータ・コピーが(通常は複数のバージョンで)リモート・サーバ又はローカル・フラッシュ・ドライブ上に格納される。従って、前記CDPサーバ及び前記フラッシュ・ドライブ上の前記データの組み合わせを使用して、前記ハード・ドライブ上に格納されたデータを再構成することができる。
本発明は、次の利点を提供する。
1.CDPを常時提供する−これは、ネットワーク接続性が使用不能である場合さえ、該当する。
2.余分な電力消費は、無視できる程度に過ぎない−これは、モバイル・ユーザにとって重要である。
3.フラッシュ・ドライブは、これを取り外し且つバックアップ・システムとは別個に(例えば、ポケット内に)収納することができる。このようにすれば、主システム及びそのストレージが盗まれるか又は損傷を受けたとしても、フラッシュ・ドライブは、リモートCDPサーバ上に格納されていないデータを依然として保持することができる。
4.既存のシステムに対し、既存及び将来のフラッシュ・ドライブを追加することにより、アップグレードを容易に行うことができる。
5.(ハイブリッド・ドライブと同様に)ディスクの電力を節約し且つ(Windows(登録商標)VistaのReadyBoostと同様に)ランダム・アクセスの性能を改良するために、同じフラッシュ・ドライブ及び同じパッケージ・ソフトを潜在的に同時に使用することができる。
また、本発明は、関係する方法及びコンピュータ・プログラムを提供する。かかる方法及びコンピュータ・プログラムは、継続的データ保護のためにローカル・フラッシュ・メモリ及びリモート・サーバを使用する。
本発明に従ったスタック可能ファイル・システム・ベースの実装を示す図である。 本発明を実装することができる、ネットワークの構成を示す図である。 本発明に従ったCPDクライアントの実施形態を示す図である。 本発明に従った方法の実施形態の一部を示すフローチャートである。 本発明に従った方法の実施形態の残部を示すフローチャートである。
本発明は、継続的データ保護のためにローカル・フラッシュ・メモリ及びリモート・サーバを使用するための手段を提供する。但し、リモート・サーバは、リモート・サーバ・ハイブリッドであるとは限らない。
本発明は、(1)デバイス、(2)ブロック・ドライバ及び(3)ファイル・システムの3つの論理レベルのうち任意の論理レベルにおいて実装することができる。本発明がハイブリッド・ドライブを使用する場合、かかるハイブリッド・ドライブは、それらのフラッシュ・メモリを使用して、最新の書き込みデータ・ブロックのバックアップ・コピー及び複数のデータ・バージョンを維持するように、これを修正することができる。前述のように、本発明は、リモート・サーバ・ハイブリッドを使用することを必須としないが、所望であれば、リモート・サーバ・ハイブリッドを使用することができる。データ・バッファをリモート・サーバにコミットするために、ハイブリッド・ドライブは、特別のブロック・ドライバからのサポートを必要とすることがある。完全なブロック・ドライバ・レベルの解決法は、スタック可能デバイス・ドライバとして実装することができる。このスタック可能デバイス・ドライバは、ハード・ディスク・ドライバ(図3の242)、フラッシュ・ディスク・デバイス・ドライバ(図3の244)及びサーバ(図2のCDPサーバ104B)と通信するために使用されるネットワーク・プロトコル実装(図3の246)と対話する。同様に、スタック可能ファイル・システム(Windows(登録商標)上のフィルタ・ドライバ・ファイル・システムとして知られている)は、データをリモート・サーバに書き込むために、ディスク・ベースの2つのファイル・システム(一方はハード・ディスク用であり、他方はフラッシュ・ドライブ用である)及びネットワーク・ファイル・システムを使用することができる。ドライバ・レベル及びファイル・システム・レベルの両方の解決法は、フラッシュ・ドライブ(図3の240)がハード・ディスク・ドライブ(図3の218)から分離されるという利点を有する。その結果、既存の任意のハード・ディスク(図3の218)及びフラッシュ・ドライブ(図3の240)を使用したり、これらを独立的にアップグレードしたり、使用されていない場合は、これらを物理的に異なる位置に維持することにより、生存性(survivability)を改良することが可能となる。また、デバイス・レベルの実装は、ハードウェアの変更及び修正されたドライブと通信するための新しいAPIを必要とする。従って、本明細書では、デバイス・レベルの実装について、これ以上詳細に検討しない。
スタック可能デバイス及びファイル・システム実装の両方は、各書き込み要求に応答して、次のように動作する。図4に示すように、プロセス300がステップ302で開始した後、ステップ304で、書き込みのために更新済みデータをローカル・ハード・ディスクにサブミットする。ステップ311で、更新済みデータをローカル・ハード・ドライブ上に格納し、その後のステップ322で、プロセス300が終了する。同時に、ステップ306で、ネットワーク接続性が存在するか否かを決定する。そうであれば、ステップ308で、更新済みデータをバックアップのためにサーバに送信し、その後のステップ322で、プロセス300が終了する。そうでなければ、ステップ310で、更新済みデータを、ローカル・フラッシュ・ドライブ上のコミット済み書き込みのログに付加する。ステップ312で、フラッシュ・ドライブが一杯であるか否かを決定する。そうでなければ、ステップ313で、更新済みデータをフラッシュ・ドライブに格納し、その後プロセス300は、接続点Aを介して図5の処理に進行する。もし、フラッシュ・ドライブが一杯であれば、ステップ314で、フラッシュ・ドライブ内にデータの最新バージョンが格納されているか否かを決定する。そうでなければ、ステップ316で、新しい更新バージョンを、ログに以前に書き込まれた同じデータ・ブロックのより古いバージョンに上書きし、その後プロセス300は、接続点Aを介して図5の処理に進行する。もし、フラッシュ・ドライブが一杯であり且つデータの最新バージョンを保持していれば、ステップ318で、警告をユーザに送信して、当該ユーザの将来のデータ書き込みのうちの幾つかがバックアップされないであろうということを指示し、その後プロセス300は、接続点Aを介して図5の処理に進行する。この時点で、ユーザは、作業を停止したり、ローカルのDVD媒体へのバックアップを開始したり、フラッシュ・ドライブを予備のものと交換したり、又はハード・ディスク・ドライブ障害の場合には、最近のデータ更新バージョンのうちの幾つかが潜在的に失われるというリスクを冒して作業を継続することができる。もっとも、最近のフラッシュ・メモリ・ドライブは、ギガバイト相当のデータを維持することができるから、何千ものファイル(例えば、マイクロソフト社のパワーポイント用プレゼンテーション・ファイル又はマイクロソフト社のワード文書)を維持するのに十分である。従って、殆どのユーザは、ネットワーク接続が使用可能である2つのインターバルの前に(この時点で、フラッシュ・メモリの内容がリモート・サーバにコピーされる)、フラッシュ・メモリのログ空間を使い果たさないであろう。プロセス300は、接続点Aを介して図5の処理に進行する。図5のステップ320で、ネットワーク接続が存在するか否かを決定する。そうでなければ、ステップ320のチェックを連続的に行う。そうであれば、ステップ324で、更新済みデータを、バックアップのためにフラッシュ・ドライブからサーバに送信し、ステップ326で、更新済みデータをフラッシュ・ドライブから消去し、その後のステップ322で、プロセス300が終了する。
一方では、スタック可能ドライバ・レベルの実装は、ファイル・システム・レベルの実装よりも多くのカスタマイゼーション及び最適化を可能にする。例えば、スタック可能ドライバ・レベルの実装は、フラッシュ・ドライブ用のログのカスタム実装を含むことができる。図1は、スタック可能ファイル・システム・ベースの実装100を示す。
他方では、スタック可能ファイル・システムは、既に開発され且つサポートされているファイル・システムのコードをより良い態様で再使用することを可能にする。例えば、スタック可能ファイル・システム108は、フラッシュ・ドライブ用に設計され且つ独立的に維持される既存のファイル・システム(例えば、JFFS2)106及びネットワーク・ファイル・システム(例えば、NFS又はCIFS)104を使用することができる。(JFFS2は、「Journaling Flash File System version 2」の略称であって、フラッシュ・メモリ内で使用されるログ構造化ファイル・システムである。JFFS2は、JFFSの後継バージョンであり、2.4.10リリース以降のLinux(登録商標)カーネルに含まれている。また、JFFS2は、「eCos RTOS」及び「RedBoot」ブート・ローダについても使用可能である。NFSは、「Network File System」の略称であって、1984年にサン・マイクロシステムズ社によって最初に開発されたネットワーク・ファイル・システム・プロトコルである。NFSを使用すると、クライアント・コンピュータ上のユーザは、ネットワーク・デバイスがあたかもそのローカル・ディスクに接続されているかのように、ネットワーク上のファイルに容易にアクセスすることができる。CIFSは、「Common Internet File System」の略称であって、ファイル、プリンタ、シリアル・ポート及びネットワーク上にあるノード間の種々の通信への共有アクセスに主として適用されるアプリケーション・レベルのネットワーク・プロトコルである。また、CIFSは、認証されたプロセス間通信機構を提供する。CIFSは、マイクロソフト社のWindows(登録商標)を搭載したコンピュータによって主として使用され、その場合は、単に「Microsoft Windows Network」と呼ばれる。)これは、スタック可能ファイル・システムをサポートし且つ開発することを簡単にする。さらに、スタック可能ファイル・システムは、ファイル・システムであって、ファイル位置及び名前のようなメタ情報にアクセスする。これは、システムが異なるファイル用の異なるバックアップ・ポリシをサポートすることを可能にする。従って、幾つかのより重要なファイルを複数のバージョンでバックアップし、それほど重要でないファイルを複数のバージョンなしでバックアップし、再生可能なファイルを全くバックアップしないようにすることができる。このファイル・システム実装の追加の利点は、ファイル・システムのページ・キャッシュ上の動作である。すなわち、フラッシュ・メモリ内にあるデータの少なくとも一部がページ・キャッシュ内でキャッシュされることが予測され、その場合、これをリモート・サーバに容易に転送することができるので、フラッシュ・メモリからリモート・サーバへのデータの転送がより速くなる。従って、本発明の推奨実施形態は、スタック可能ファイル・システムとして実装されるが、ブロック・レベルの実装も適切であろう。
本発明の推奨実施形態では、スタック可能ファイル・システムは、バックアップ目的のために、(1)標準のNFS又はCIFSサーバ、又は(2)専用化されたCDPサーバ(例えば、Tivoli(商標)CDPによって使用されるのと同じもの)を使用することができる。
第1のケースでは、リモート・ファイル・サーバは、データのバージョン管理をサポートするために、バージョン管理ファイル・システム102を稼働させていなければならない。(バージョン管理ファイル・システム102は、例えば、「ext3cow」である。「ext3cow」は、「third extended file system with copy-on-write」の略称であって、「ext3」ファイル・システムに基づくオープン・ソースのバージョン管理ファイル・システムである。バージョン管理は、ブロック・レベルのコピー・オン・ライトを通して実装されるために、「ext3」の名前に「cow」が付されている。「ext3cow」の実装に関する詳細については、非特許文献5を参照されたい。)また、リモート・クライアントがバージョン管理ファイル・システムから或るファイルの特定のバージョンを要求することを可能にするためには、特殊な機構を実装することが必要である。また、クライアント上でスタック可能バージョン管理ファイル・システムを稼働させることが可能であることに留意されたい。この実装は、システムが既存のファイル・サーバ(例えば、NFS又はCIFSサーバ)104を修正なしに使用することを可能にするが、その場合は、貧弱な性能を有することが予測される。
第2のケースでは、CDPサーバと通信するようにネットワーク・ファイル・システムを設計することが必要である。
前述のように、図1及び図2は、本発明に従ったシステムの推奨実施形態のアーキテクチャを示す。さらに、クライアント(デスクトップ、ノートブック、サーバ)(図3)から開始することが記載されている。図2のCDPシステム100B内に示すように、CDPクライアント102Bがネットワーク110Bに結合されると、CDPクライアント102Bは、例えば、更新済みデータをアップロードするためにCDPサーバ104Bに結合されるか、或いは介在する私設又は公衆ネットワーク(ネットワーク110B)を介してリモート・プリンタ(プリンタ112B)又はストレージ・デバイス(ストレージ114B)に結合されるようになる。(コンピュータ・ネットワークは、データ、資源及び通信を共有する目的のために、通信システムを使用して相互に接続される複数のコンピュータから構成される。その詳細については、非特許文献6を参照されたい。)モデム、ケーブル・モデム及びイーサネット(登録商標)・カードは、現に使用可能なネットワーク・アダプタの少数のタイプである。(ネットワークカード、ネットワーク・アダプタ又はNIC(ネットワーク・インタフェース・カード)は、コンピュータがコンピュータ・ネットワークを介して通信することを可能にするように設計されたコンピュータ・ハードウェアの一部である。かかるデバイスは、ネットワーク媒体への物理的なアクセスを提供し且つMACアドレスの使用を通して低レベルのアドレッシング・システムを提供するので、OSI層1(物理層)及び層2(データ・リンク層)デバイスの両方である。かかるデバイスは、ケーブル又は無線を使用して、複数のユーザが相互に接続することを可能にする。)しかし、ネットワークは、折に触れて障害を起こすことがあり、又はCDPサーバ104Bにデータをアップロードすることができないようなピーク・トラフィックで過負荷になることがある。そのため、CDPクライアント102Bは、図4及び図5に示す本発明の方法を使用する必要がある。
図3に示すように、CDPクライアント200は、実行時バックアップを行うファイル・システムである。多くのデータ処理システムがそうであるように、CDPクライアント200は、プログラム・コードを格納及び/又は実行するのに適しており、システム・バスを通してメモリ要素に対し直接的に又は間接的に結合された少なくとも1つのプロセッサ(処理ユニット206)を含む。これらのメモリ要素は、当該プログラム・コードの実行中に使用されるローカル・メモリ(RAM230)、バルク・ストレージ(ストレージ218)及びキャッシュ・メモリ(キャッシュ232)を含むことができる。キャッシュ・メモリは、プログラム・コードの実行中にバルク・ストレージからのその検索回数を減少させるために、プログラム・コードの少なくとも一部の一時的ストレージを提供する。I/Oデバイス(外部デバイス216)(キーボード、ディスプレイ、ポインティング・デバイス等を含む)は、システムに対し直接的に又は介在するI/Oコントローラ(I/Oインタフェース214)を通して結合することができる。さらに、CDPクライアント200は、フラッシュ・メモリ240を有する。
CDPクライアント200は、階層的に設計されている。すなわち、フラッシュ・メモリ240は、リモートCDPサーバ104Bが使用不能である場合、データ更新バージョンを(潜在的にそれらの複数のバージョンで)維持するバッファとして作用する。言いかえれば、フラッシュ層240及びリモート・サーバ104Bの組み合わせは、任意のファイル又は任意のファイル・バージョンを任意の時間に回復するのに必要な全てのデータを保持する。一旦ネットワーク接続性(例えば、106B及び/又は108B)が再確立されると、収集されたデータは、リモート・サーバ104Bにサブミットされる。
一般に、フラッシュ層240は、制限された容量を有しており、性能を改良するために、データ更新を維持し且つ頻繁にアクセスされるファイルの最新バージョンを維持するために使用される。従って、CDPの場合、全てのバージョンがサーバ上に格納された後、最新のバージョンを除く全てのバージョンがフラッシュ層240から廃棄される。もし、クライアント200(102B)がサーバ104Bに接続されるならば、性能を改良するために、アクセス頻度が最も低いデータは、アクセス頻度がより高いデータと置換される。分離された動作の場合には、最新バージョンが格納されるように、データの以前のバージョンが廃棄される。一旦かかる全てのデータが廃棄された後に、より多くの空間が必要になると、同じファイルの同様のデータ・バージョンが廃棄される。本発明のシステムは、ファイル・システム層において動作するから、特定のファイル又はディレクトリの重要性に基づいて、余分のポリシを追加することができる。一旦、ファイルの過去の全てのバージョンが廃棄された後、新しい更新バージョンを格納するために残された空間が十分でなければ、本発明のシステムは、ユーザに対しファイル・システムが一杯であることを宣言するか、又は重要性が最も低いファイル・コピーの廃棄を開始することができる。
フラッシュ層を消耗させることを防止するために、ネットワーク接続性が使用可能である場合、データをフラッシュ・メモリに書き込む代わりに、データをバックアップ・サーバに直接的にサブミットすることができる。
一般に、本発明は、ハードウェア及び/又はソフトウェアを介してコンピュータで実装されることを理解されたい。そのため、クライアント・システム及び/又はサーバは、当分野で公知のコンピュータ化されたコンポーネントを含むであろう。一般に、かかるコンポーネントは、処理ユニット、メモリ、バス、I/Oインタフェース、外部デバイス等を含む。また、本明細書では、継続的データ保護のためにローカル・フラッシュ・メモリ及びリモート・サーバ・ハイブリッドを含む特定の実施形態を説明したが、任意のタイプのバックアップ・サーバに関連して本発明を実装できることを理解されたい。
本明細書では、継続的データ保護のためにローカル・フラッシュ・メモリ及びリモート・サーバを使用するシステム及び方法を開示した。しかし、本発明は、種々の代替実施形態を提供することを理解されたい。例えば、1つの実施形態では、本発明は、コンピュータ・プログラム・コードを含むコンピュータ可読/使用可能媒体を提供することにより、コンピュータ・インフラストラクチャが継続的データ保護のためにローカル・フラッシュ・メモリ及びリモート・サーバを使用することを可能にする。この点に関連して、コンピュータ可読/使用可能媒体に含まれるプログラム・コードは、本発明の種々のプロセス・ステップの各々を実装する。コンピュータ可読/使用可能媒体という用語は、プログラム・コードの任意のタイプの物理的実施形態のうち1つ以上を含むことを理解されたい。特に、コンピュータ可読/使用可能媒体は、1つ以上のポータブル・ストレージ製品(例えば、コンパクト・ディスク、磁気ディスク、テープ等)、メモリ及び/又はストレージ・システム(例えば、固定ディスク、読み取り専用メモリ、ランダム・アクセス・メモリ、キャッシュ・メモリ等)のようなコンピューティング・デバイスの1つ以上のデータ・ストレージ部分上に具体化されたプログラム・コードを含むか、又は(例えば、プログラム・コードの有線式/無線式電子配信中に)ネットワーク上を進行するデータ信号(例えば、伝播信号)として具体化されたプログラム・コードを含む。
本発明の種々の側面に係る前述の記述は、例示及び説明を目的として提示されたものであって、網羅的であること及び開示された形態に本発明を限定することを意図するものではない。当業者にとって、多くの修正及び変形が明らかであろう。かかる修正及び変形は、請求項の記載によって定義されるような本発明の範囲に属することが意図される。
100・・・スタック可能ファイル・システム・ベースの実装
102・・・バージョン管理ファイル・システム(ext3)
104・・・ネットワーク・ファイル・システム(NFS又はCIFS)
106・・・ファイル・システム(JFFS2)
108・・・スタック可能ファイル・システム
110・・・仮想ファイル・システム(VFS)
102B・・・CDPクライアント
104B・・・CDPサーバ
106B、108B・・・ネットワーク接続
110B・・・ネットワーク
206・・・処理ユニット
218・・・ハード・ディスク・ドライブ
240・・・フラッシュ・ドライブ
242・・・ハード・ディスク・ドライバ
244・・・フラッシュ・ディスク・デバイス・ドライバ
246・・・ネットワーク・プロトコル実装

Claims (5)

  1. 少なくとも1つの継続的データ保護(CDP)クライアントと、前記CDPクライアントからのバックアップ・データを格納するためのストレージを有する少なくとも1つのリモート・サーバと、前記CDPクライアント及び前記リモート・サーバを接続するためのネットワークとを備え、前記CDPクライアントが、データを当該CDPクライアントに対しローカルに格納するためのローカル・ハード・ドライブ・ストレージを有し、前記CDPクライアントが、バックアップ・データを当該CDPクライアントに対しローカルに格納するためのローカル・フラッシュ・メモリをさらに有するシステムにおいて、継続的データ保護(CDP)を提供するための方法であって、
    (a)更新済みデータを前記ローカル・ハード・ドライブ・ストレージに格納するステップと、
    (b)バックアップ目的のために前記更新済みデータを前記リモート・サーバに送信するための十分なネットワーク接続性が存在するか否かを決定するステップと、
    (c)前記ステップ(b)の否定的決定に応答して、前記更新済みデータを前記ローカル・フラッシュ・メモリに格納するステップと、
    (d)前記ステップ(b)の肯定的決定に応答して、前記更新済みデータをバックアップ目的のために前記リモート・サーバに送信するステップと、
    (e)前記ステップ(c)の前に、前記ローカル・フラッシュ・メモリが一杯であるか否かを決定するステップと、
    (f)前記ステップ(e)の否定的決定に応答して、前記更新済みデータを前記ローカル・フラッシュ・メモリに格納するステップと、
    (g)前記ステップ(e)の肯定的決定に応答して、前記ローカル・フラッシュ・メモリが前記更新済みデータの最新のバージョンを有するか否かを決定するステップと、
    (h)前記ステップ(g)の否定的決定に応答して、前記更新済みデータのより古いバージョン上に前記新しい更新バージョンを書き込むステップとを含む、
    方法。
  2. (i)前記ステップ(g)の肯定的決定に応答して、将来のデータ書き込みがバックアップされないことをユーザに通知するステップをさらに含む、請求項1記載の方法。
  3. (j)前記ステップ(c)、(h)又は(i)の後に、バックアップ目的のために前記更新済みデータを前記リモート・サーバに送信するための十分なネットワーク接続性が存在するか否かを決定するステップと、
    (k)前記ステップ(j)の肯定的決定に応答して、前記ローカル・フラッシュ・メモリからの前記更新済みデータを前記リモート・サーバに送信するステップとをさらに含む、請求項2記載の方法。
  4. 前記ステップ(k)の後に、前記ローカル・フラッシュ・メモリから前記更新済みデータを消去するステップをさらに含む、請求項3記載の方法。
  5. 請求項1ないし請求項4の何れか1項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
JP2010531105A 2007-10-24 2008-09-22 継続的データ保護を提供するための方法、システム及びコンピュータ・プログラム Active JP5404637B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/877,931 2007-10-24
US11/877,931 US8862689B2 (en) 2007-10-24 2007-10-24 Local flash memory and remote server hybrid continuous data protection
PCT/US2008/077152 WO2009055174A1 (en) 2007-10-24 2008-09-22 Local flash memory and remote server hybrid continuous data protection

Publications (2)

Publication Number Publication Date
JP2011501317A JP2011501317A (ja) 2011-01-06
JP5404637B2 true JP5404637B2 (ja) 2014-02-05

Family

ID=40579908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010531105A Active JP5404637B2 (ja) 2007-10-24 2008-09-22 継続的データ保護を提供するための方法、システム及びコンピュータ・プログラム

Country Status (6)

Country Link
US (1) US8862689B2 (ja)
EP (1) EP2218006B1 (ja)
JP (1) JP5404637B2 (ja)
KR (1) KR20100096075A (ja)
CN (1) CN101836192A (ja)
WO (1) WO2009055174A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101636777B1 (ko) * 2008-08-08 2016-07-21 시게이트 테크놀로지 엘엘씨 하이브리드 저장 장치 및 그에 대한 논리 블록 어드레스 할당 방법
US8244685B2 (en) * 2010-02-24 2012-08-14 Autonomy, Inc. Data restoration utilizing forward and backward deltas
JP2011203977A (ja) * 2010-03-25 2011-10-13 Hitachi-Lg Data Storage Inc ストレージ装置、及びストレージ装置におけるファイルシステムの生成方法
US8700949B2 (en) 2010-03-30 2014-04-15 International Business Machines Corporation Reliability scheme using hybrid SSD/HDD replication with log structured management
CN101860570B (zh) * 2010-06-10 2014-12-10 中兴通讯股份有限公司 一种备份和恢复移动终端用户数据的方法及系统
US9386098B2 (en) 2010-06-11 2016-07-05 Fidelithon Systems, Llc Smartphone management system and method
KR101578642B1 (ko) * 2010-11-16 2015-12-17 인텔 코포레이션 데이터 기억 시스템에 대한 엔드포인트 캐싱
US8924500B2 (en) 2011-03-29 2014-12-30 Amazon Technologies, Inc. Local storage linked to networked storage system
US8458134B2 (en) 2011-03-30 2013-06-04 International Business Machines Corporation Near continuous space-efficient data protection
US10552385B2 (en) 2012-05-20 2020-02-04 Microsoft Technology Licensing, Llc System and methods for implementing a server-based hierarchical mass storage system
AR086595A3 (es) * 2012-05-29 2014-01-08 Julio Enrique Rovelli Procedimiento de resguardo del sistema operativo windows contra los virus informaticos spyware, y/o hackers y disco rigido utilizado en dicho procedimiento
CN102802057B (zh) * 2012-07-05 2017-02-08 深圳创维数字技术有限公司 数字电视接收终端、将数据写入闪存的方法及系统
US10185631B2 (en) 2013-07-04 2019-01-22 Data Deposit Box Inc. System and method of performing continuous backup of a data file on a computing device
CN104637510A (zh) * 2013-11-12 2015-05-20 四零四科技股份有限公司 外接储存装置及外接储存装置的数据存储方法
US9146686B2 (en) * 2013-12-12 2015-09-29 Moxa Inc. External storage device and data storing method for the external storage device
US10642511B2 (en) * 2018-10-05 2020-05-05 EMC IP Holding Company LLC Continuous data protection storage media using smart solid state drives
US11500740B2 (en) * 2019-11-22 2022-11-15 EMC IP Holding Company LLC Continuous data protection
CN112306761A (zh) * 2020-10-12 2021-02-02 国家电网有限公司 一种面向多业务不停机检修的运维保障方法及系统
CN112540872B (zh) * 2020-11-26 2022-04-01 华云数据控股集团有限公司 通用持续数据保护方法、装置及电子设备

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119151A (en) 1994-03-07 2000-09-12 International Business Machines Corp. System and method for efficient cache management in a distributed file system
JPH09212261A (ja) * 1996-01-31 1997-08-15 Hitachi Ltd 情報処理装置の電源制御システム
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US7103797B1 (en) * 1998-03-30 2006-09-05 Emc Corporation Resource allocation throttling in remote data mirroring system
JP2000137636A (ja) 1998-10-30 2000-05-16 Hitachi Ltd バックアップ装置
US7203732B2 (en) * 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
US6748403B1 (en) * 2000-01-13 2004-06-08 Palmsource, Inc. Method and apparatus for preserving changes to data
US20030014523A1 (en) 2001-07-13 2003-01-16 John Teloh Storage network data replicator
JP2003186627A (ja) 2001-12-18 2003-07-04 Nec Corp 磁気テープ装置データパックアップ制御方式
US7028154B2 (en) * 2002-06-18 2006-04-11 Hewlett-Packard Development Company, L.P. Procedure to reduce copy time for data backup from short-term to long-term memory
US20040010628A1 (en) * 2002-07-11 2004-01-15 Gillam Richard J. System and method for discouraging unauthorized duplication of data stored on a storage media
JP2004148596A (ja) 2002-10-29 2004-05-27 Canon Inc インクジェット記録装置
US7036040B2 (en) * 2002-11-26 2006-04-25 Microsoft Corporation Reliability of diskless network-bootable computers using non-volatile memory cache
US7548201B2 (en) * 2003-04-16 2009-06-16 Cable Leakage Technologies, Inc. Method and system for automatically analyzing and modifying cable television signal leak information
GB0308991D0 (en) * 2003-04-17 2003-05-28 Psion Digital Ltd A data access replication or communication system comprising a distributed software application
US7069351B2 (en) * 2003-06-02 2006-06-27 Chung Keicy K Computer storage device having network interface
US7454443B2 (en) * 2003-08-26 2008-11-18 Tamir Ram Method, system, and program for personal data management using content-based replication
US7457828B2 (en) * 2003-08-29 2008-11-25 Sap Ag System and method for synchronizing distributed buffers when committing data to a database
US7415703B2 (en) * 2003-09-25 2008-08-19 International Business Machines Corporation Loading software on a plurality of processors
JP2005107805A (ja) 2003-09-30 2005-04-21 Hitachi Computer Peripherals Co Ltd 非同期リモートコピーデータの世代分割管理方法及びコンピュータシステム
US7406488B2 (en) * 2004-02-04 2008-07-29 Netapp Method and system for maintaining data in a continuous data protection system
US7315965B2 (en) * 2004-02-04 2008-01-01 Network Appliance, Inc. Method and system for storing data using a continuous data protection system
US20050273858A1 (en) * 2004-06-07 2005-12-08 Erez Zadok Stackable file systems and methods thereof
US20060051157A1 (en) * 2004-09-09 2006-03-09 International Business Machines Corporation Systems, methods, and media for backing up a computer system
US7502961B2 (en) * 2004-09-09 2009-03-10 Microsoft Corporation Method, system, and apparatus for providing alert synthesis in a data protection system
US7366861B2 (en) * 2005-03-07 2008-04-29 Microsoft Corporation Portable media synchronization manager
US7620773B2 (en) * 2005-04-15 2009-11-17 Microsoft Corporation In-line non volatile memory disk read cache and write buffer
US7389379B1 (en) * 2005-04-25 2008-06-17 Network Appliance, Inc. Selective disk offlining
US20070033356A1 (en) * 2005-08-03 2007-02-08 Boris Erlikhman System for Enabling Secure and Automatic Data Backup and Instant Recovery
US20070136397A1 (en) * 2005-12-09 2007-06-14 Interdigital Technology Corporation Information life-cycle management architecture for a device with infinite storage capacity
TWI307035B (en) * 2006-04-10 2009-03-01 Ind Tech Res Inst Method and system for backing up remote mirror data on internet
US7523149B1 (en) * 2006-05-23 2009-04-21 Symantec Operating Corporation System and method for continuous protection of working set data using a local independent staging device
US20080034019A1 (en) * 2006-08-04 2008-02-07 Pavel Cisler System for multi-device electronic backup
US20080140901A1 (en) * 2006-12-11 2008-06-12 Corrion Bradley W Safe removal of external device from computing device
US20080144601A1 (en) * 2006-12-18 2008-06-19 Nokia Corporation Systems, methods, devices, and computer program products providing data replication for mobile terminals
US8032472B2 (en) * 2007-04-04 2011-10-04 Tuen Solutions Limited Liability Company Intelligent agent for distributed services for mobile devices

Also Published As

Publication number Publication date
US20090109823A1 (en) 2009-04-30
US8862689B2 (en) 2014-10-14
EP2218006A4 (en) 2012-02-22
WO2009055174A1 (en) 2009-04-30
EP2218006A1 (en) 2010-08-18
CN101836192A (zh) 2010-09-15
EP2218006B1 (en) 2012-12-05
JP2011501317A (ja) 2011-01-06
KR20100096075A (ko) 2010-09-01

Similar Documents

Publication Publication Date Title
JP5404637B2 (ja) 継続的データ保護を提供するための方法、システム及びコンピュータ・プログラム
US9772938B2 (en) Auto-commit memory metadata and resetting the metadata by writing to special address in free space of page storing the metadata
US9606875B2 (en) Migration of computer data
US8627012B1 (en) System and method for improving cache performance
US8930947B1 (en) System and method for live migration of a virtual machine with dedicated cache
US9235524B1 (en) System and method for improving cache performance
ES2582364T3 (es) Sistemas y métodos para realizar replicación de datos
US8788628B1 (en) Pre-fetching data for a distributed filesystem
US9361306B1 (en) Managing concurrent write operations to a file system transaction log
US9542396B1 (en) Managing a file system to avoid unnecessary replay of a transaction log
US20130311429A1 (en) Method for controlling backup and restoration, and storage system using the same
US9524104B2 (en) Data de-duplication for information storage systems
US20140223096A1 (en) Systems and methods for storage virtualization
US20070006021A1 (en) Reliability of diskless network-bootable computers using non-volatile memory cache
JP4808275B2 (ja) ネットワークブートシステム
US8065442B1 (en) High performance journaling for replication and continuous data protection
JP2014533850A (ja) 記憶システム上に格納されたファイルを読み取るための方法、コンピュータ・プログラム、記憶システム
CN113568566B (zh) 利用索引物件来进行简易存储服务无缝迁移的方法、主装置以及存储服务器
JP2012507788A (ja) ストレージ・エリア・ネットワークを使用してコンピュータシステムを復旧するための方法およびシステム
US8321642B1 (en) Information storage system, snapshot acquisition method, and data storage medium
WO2015054897A1 (zh) 数据存储方法、数据存储装置和存储设备
US11314639B2 (en) Protecting against data loss during garbage collection
US9053033B1 (en) System and method for cache content sharing
US20190324868A1 (en) Backup portion of persistent memory
US9612914B1 (en) Techniques for virtualization of file based content

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130620

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131029

R150 Certificate of patent or registration of utility model

Ref document number: 5404637

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150