JP6831701B2 - 異なるポイント・イン・タイムにおけるソース・データを有するリポジトリのソース・データのコピーからのリストア・コピーの生成 - Google Patents

異なるポイント・イン・タイムにおけるソース・データを有するリポジトリのソース・データのコピーからのリストア・コピーの生成 Download PDF

Info

Publication number
JP6831701B2
JP6831701B2 JP2016548352A JP2016548352A JP6831701B2 JP 6831701 B2 JP6831701 B2 JP 6831701B2 JP 2016548352 A JP2016548352 A JP 2016548352A JP 2016548352 A JP2016548352 A JP 2016548352A JP 6831701 B2 JP6831701 B2 JP 6831701B2
Authority
JP
Japan
Prior art keywords
time
copy
point
repository
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016548352A
Other languages
English (en)
Other versions
JP2017509958A (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 JP2017509958A publication Critical patent/JP2017509958A/ja
Application granted granted Critical
Publication of JP6831701B2 publication Critical patent/JP6831701B2/ja
Active 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
    • 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/1469Backup restoration techniques
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

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)

Description

本発明は、異なる時点におけるソース・データを有するリポジトリ内のソース・データのコピーからリストア・コピーを生成するためのコンピュータ・プログラム、システムおよび方法に関する。
ストレージ・コントローラは、ストレージ環境において、IBM(登録商標)FlashCopy(登録商標)、スナップショット等のようなポイント・イン・タイム・コピー技術を用いて、プロダクション・ボリュームのポイント・イン・タイム(「PiT」)コピーを生成することができる。ポイント・イン・タイム・コピーは瞬時に生じてホストがソース・ボリュームにアクセスし続けるのを可能にする方法でデータを複製し、その一方で、コピー・ボリュームへの実際のデータ転送は後に延期される。ソースからターゲット・ボリュームにデータをコピーすることなく関係データ構造が生成されたことに応答して、「完了」応答がコピー・オペレーションに返されるので、PiTコピーは瞬時に生じることとなる。典型的には、PiTコピー技術は、PiTコピー関係がコピー・ターゲット・ボリュームに対して確立した時点で、書き込み動作がソース・ボリューム上のそのデータ・ブロックに対して要求されるまでソース・ボリューム内のデータの転送を延期する。データ転送は、最小限のシステム性能への影響のみを伴うバックグラウンド・コピー・プロセスとして進行させてもよい。PiTコピー・コマンドに応答してすぐに確立されるPiTコピー関係は、ビットマップ、またはソース・ボリュームもしくはコピー・ボリュームのいずれかにおけるボリューム内のブロックの位置を示す他のデータ構造を含む。PiTコピーは、ソース・ボリューム内のデータとターゲット・ボリュームに転送される更新によって上書きされるデータとの組み合わせを含む。「IBM」および「FlashCopy」は、世界中の管轄区域において登録されているインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。
PiTコピー関係に関与するソース・ボリューム内のブロックに対する更新を受け取ると、その時点においてのトラックのコピーは、該トラックについての新しいデータをソース・ボリュームに書き込み、データのポイント・イン・タイム・コピーを上書きする前に、サイド・ファイルまたはターゲット・ボリュームにコピーする必要がある。異なる時点(ポイント・イン・タイム)におけるソース・データを有するリポジトリ内のソース・データのコピーからリストア・コピーを生成することは、複雑である。
従って、当技術分野において、上述の問題に対処するための必要性が存在する。
異なるポイント・イン・タイムにおけるソース・データを有するリポジトリ内のソース・データのコピーからリストア・コピーを生成するためのコンピュータ・プログラム製品、システムおよび方法が提供される。初期のポイント・イン・タイムにおけるソース・データをすべてリポジトリにコピーする。初期のポイント・イン・タイムの後の異なるポイント・イン・タイムにおいて、ソース・データのポイント・イン・タイム・コピーが開始される。それぞれのポイント・イン・タイム・コピーの完了に応じて、ポイント・イン・タイム・コピーのポイント・イン・タイムと後のポイント・イン・タイムとの間で変更されたソース・データ内の変更データを示す変更情報を、リポジトリに送信する。それぞれのポイント・イン・タイム・コピーについて、変更ソース・データをリポジトリにコピーする。変更ソース・データは、ポイント・イン・タイム・コピーについての変更情報内に、変更されたものとして示されるソース・データを含む。リストア・ポイント・イン・タイムにおけるソース・データをリストアするためのリストア要求を受け取る。リストア・ポイント・イン・タイムにおけるリポジトリ内のソース・データを決定し、決定されたソース・データをリポジトリからリストア・コピーにコピーする。
第1の態様から見ると、本発明は、ソース・データをリポジトリに維持するためのシステムであって、プロセッサと、オペレーションを実施するためにプロセッサにより実行されるプログラム命令を含むコンピュータ可読ストレージ媒体とを含む。このオペレーションは、初期のポイント・イン・タイムにおけるすべてのソース・データをリポジトリにコピーすることと、初期ポイント・イン・タイムの後の異なるポイント・イン・タイムにおいてソース・データのポイント・イン・タイム・コピーを開始することと、それぞれのポイント・イン・タイム・コピーの完了に応じて、ポイント・イン・タイム・コピーのポイント・イン・タイムと後のポイント・イン・タイムとの間で変更されたソース・データ内の変更データを示す変更情報を、リポジトリに送信することと、それぞれのポイント・イン・タイム・コピーについて、変更ソース・データをリポジトリにコピーすることであって、ポイント・イン・タイム・コピーについての変更情報内に、変更されたものとして示されるソース・データを含む、コピーすることと、リストア・ポイント・イン・タイムにおけるソース・データをリストアするためのリストア要求を受け取ることと、リストア・ポイント・イン・タイムにおけるリポジトリ内のソース・データを決定することと、決定されたソース・データをリポジトリからリストア・コピーにコピーすることとを含む、システムを提供する。
さらに別の態様から見ると、本発明は、ソース・データをリポジトリ内に維持するための方法を提供する。この方法は、初期のポイント・イン・タイムにおけるソース・データのすべてをリポジトリにコピーするステップと、初期のポイント・イン・タイムの後の異なるポイント・イン・タイムにおけるソース・データのポイント・イン・タイム・コピーを開始するステップと、それぞれのポイント・イン・タイム・コピーの完了に応じて、ポイント・イン・タイム・コピーのポイント・イン・タイムと後のポイント・イン・タイムとの間で変更されたソース・データ内の変更データを示す変更情報を、リポジトリに送信するステップと、それぞれのポイント・イン・タイム・コピーについて、変更ソース・データをリポジトリにコピーするステップであって、変更ソース・データは、ポイント・イン・タイム・コピーについての変更情報内に、変更されたものとして示されるソース・データを含む、コピーするステップと、リストア・ポイント・イン・タイムにおけるソース・データをリストアするためのリストア要求を受け取るステップと、リストア・ポイント・イン・タイムにおけるリポジトリ内のソース・データを決定するステップと、決定されたソース・データをリポジトリからリストア・コピーにコピーするステップとを含む。
さらに別の態様から見ると、本発明は、ソース・データをリポジトリに維持するための
コンピュータ・プログラム製品を提供し、このコンピュータ・プログラム製品は、処理回路により読み取り可能であり、本発明のステップを実施する方法を実施するための、処理回路により実行される命令を格納するコンピュータ可読ストレージ媒体を含む。
さらに別の態様から見ると、本発明は、コンピュータ可読媒体上に格納され、デジタル・コンピュータの内部メモリ内にロード可能なコンピュータ・プログラムであって、プログラムがコンピュータ上で実行されるとき、本発明のステップを実施するためのソフトウェア・コード部分を含む、コンピュータ・プログラムを提供する。
ここで、以下の図面に示されるような好ましい実施形態を参照して、本発明を単なる例として説明する。
本発明の好ましい実施形態による、ストレージ環境の1つの実施形態を示す。 本発明の好ましい実施形態による、ストレージ・コントローラ・ポイント・イン・タイム・コピー情報の1つの実施形態を示す。 本発明の好ましい実施形態による、リポジトリ・ポイント・イン・タイム・コピー情報の1つの実施形態を示す。 本発明の好ましい実施形態による、異なるポイント・イン・タイムにおけるソース・データおよびソース・データのポイント・イン・タイム情報を有するリポジトリを生成するための動作の1つの実施形態を示す。 本発明の好ましい実施形態による、異なるポイント・イン・タイムにおけるソース・データおよびリポジトリの状態の例を示す。 本発明の好ましい実施形態による、異なるポイント・イン・タイムにおけるソース・データおよびリポジトリの状態の例を示す。 本発明の好ましい実施形態による、異なるポイント・イン・タイムにおけるソース・データおよびリポジトリの状態の例を示す。 本発明の好ましい実施形態による、リストア・コピーを生成するための動作の1つの実施形態を示す。 本発明の好ましい実施形態による、リストア・コピーにコピーすべきソース・データを決定するための動作の1つの実施形態を示す。 従来技術による図1のコンポーネントを実装することができ、かつ、本発明の好ましい実施形態を実装することができる、コンピューティング環境を示す。
説明される実施形態は、ソース・データのフルコピーおよびソース・データのポイント・イン・タイム・コピーを維持し、異なるポイント・イン・タイムにおけるソース・データをリポジトリからリストアすることを可能にする、リポジトリを生成するための技術を提供する。さらに、説明される実施形態において、ポイント・イン・タイム(「PiT」)コピー情報をリポジトリ内に保持し、リストア動作を行うための動作は、ソース・データからPiTコピーを生成するストレージ・コントローラ論理とは別個のプログラム・コンポーネントによって行うことができ、その結果、リポジトリは、ストレージ・コントローラとは別個に保持され、使用され、管理される。
図1は、異なるホスト・システムにより用いられるプロダクション・ボリュームのようなソース・データ104を含む第1のストレージ102へのアクセスを管理するストレージ・コントローラ100を有するデータ・ストレージ環境の1つの実施形態を示す。ホスト106は、第2のストレージ112内のリポジトリ110へのソース・データ104のコピーを管理するためのリポジトリ・コピー管理プログラム108を含む。ストレージ・コントローラ100、ホスト106および第2のストレージ112は、ネットワーク11
4上で通信することができる。
ストレージ・コントローラ100は、例えば、FlashCopy、スナップショット等の、ソース・データ104のポイント・イン・タイム・コピーを生成するためのポイント・イン・タイム(「PiT」)コピー・マネージャ116を含む。PiTコピー・マネージャ116は,ある時点で生成されたPiTコピーについてのPiTコピー情報200aを生成する。ストレージ・コントローラ100は、ソース・データ104への入力/出力(「I/O」)要求を管理するためのコードおよび論理を含むオペレーティング・システム118をさらに含む。オペレーティング・システム118は、ソース・データ104を1つまたは複数のボリューム内に構成することができ、データは、トラック、論理ブロックアドレス(LBA)、エクステント等のようなデータ・ユニットで格納される。PiTコピー・マネージャ116は、オペレーティング・システム118により供給されるコピーサービスとしてもよい。
ストレージ102および112は、トラックを、該ストレージ102および112を含む複数のストレージ・デバイスにわたってトラックのストライドが書き込まれるRedundant Array of Independent Disks(RAID)構成内に格納することができる。ストレージ102および112はそれぞれ、相互接続されたストレージ・デバイスのような、当技術分野において周知の1つまたは複数のストレージ・デバイスを含むことができ、ストレージ・デバイスは、ハードディスク・ドライブ、EEPROM(電気的消去可能なプログラム可能読み出し専用メモリ)、フラッシュメモリ、フラッシュディスク、ランダム・アクセス・メモリ(RAM)ドライブ、ストレージ・クラス・メモリ(SCM)等のようなソリッド・ステート電子機器から構成されるソリッド・ステート・ストレージ・デバイス(SSD)、磁気ストレージ・ディスク、光ディスク、テープ等を含むことができる。
ネットワーク114は、1つまたは複数の相互接続されたローカル・エリア・ネットワーク(LAN)、ストレージ・エリア・ネットワーク(SAN)、広域ネットワーク(WAN)、ピア・ツー・ピ・ネットワーク、無線ネットワーク等のようなネットワークを含むことができる。
PiTコピー・マネージャ116は、瞬時に生じてプロセスがソース・ボリュームにアクセスし続けるのを可能にする方法でデータを複製し、その一方で、コピー・ボリュームへの実際のデータ転送は後に延期される、PiTコピー動作を行う。PiTコピーは瞬時に生じるが、これは、データをコピーすることなく、関係データ構造の生成に応答して、完全な応答がコピー動作に戻されるためである。
リポジトリ・コピー・マネージャ108は、異なるポイント・イン・タイムにおけるソース・データ104を、すべてのソース・データの初期のコピーを含むリポジトリ110にコピーし、ストレージ・コントローラ100におけるPiTコピー情報200をリポジトリ110にコピーし、リポジトリPiTコピー情報300としてリポジトリ110内に格納する。リポジトリ・コピー・マネージャ108は、PiTコピー情報300を用いて、リポジトリ110の変更データ120にコピーすべきソース・データ104における変更データを決定する。初期のポイント・イン・タイムにおけるソース・データのすべてをリポジトリ110にコピーするために、リポジトリ・コピー・マネージャ108は、ソース・データ104内の各データ・ユニットについて1ビットを有する、初期PiTコピーについての変更情報、すなわちPiTビットマップを修正することができ、ソース・データ104内の各データ・ユニットが変更されたことを示す修正された初期変更情報200’を生成するようにデータが変更されたかどうかを示す。次に、リポジトリ・コピー・マネージャ108は、修正された初期変更情報200’内に示されるすべてのソース・データ104を、リポジトリ110内の変更データ120にコピーし、リポジトリ内の初期のポイント・イン・タイムにおけるソース・データ104のフルコピーを提供することができる。リポジトリ・コピー・マネージャ108は、初期のポイント・イン・タイムの後のPiTコピーについてのPiTコピー情報200内の変更情報を用いて、異なるポイント・イン・タイムにおける変更データを、リポジトリ110内の変更データ120にコピーすることができる。
説明される実施形態において、リポジトリ・コピー・マネージャ108は、ソース・データ104の別個のフルコピーおよびソース・データ104のPiTコピー情報300を、別個のストレージ112に保持するので、データを、第1のストレージ102内のソース・データ104およびストレージ・コントローラ100におけるPiTコピー情報200aと関係なく、異なるポイント・イン・タイムにリストアすることができる。従って、リポジトリ110は、ソース・データ104の独立したリストアを可能にすることにより、ストレージ・コントローラ100と関係なく、冗長でセキュアなバックアップを提供し、ストレージ・コントローラ100または第1のストレージ102を故障から保護する。
特定の実施形態において、リポジトリ110の生成および監視は、PiTコピーを生成するPiTコピー・マネージャ116のようなストレージ・コントローラ100のプログラムとは分離したリポジトリ・コピー・マネージャ108により管理される。
リストア・コピー124を生成するために、リポジトリ・コピー・マネージャ108は、リストア・コピー124にコピーする必要がある変更データ120内のソース・データを示すリストア・コピー情報130を使用することができる。
図1の実施形態において、リポジトリの生成およびリストア動作は、例えば、PiTコピーを生成したPiTコピー・マネージャ116などの、ストレージ・コントローラ論理とは分離したリポジトリ・コピー・マネージャ108などのプログラム・コンポーネントによって実行することができる。代替的な実施形態において、リポジトリ・コピー・マネージャ108および/またはリポジトリ110は、ストレージ・コントローラ100上に保持することができる。
図2は、ストレージ・コントローラのPiTコピー情報200に関して保持される情報を含むことができ、かつ、ストレージ・コントローラ100においてPiTコピー・マネージャ116により生成されたPiTコピーを識別するPiTコピー識別子202と:データがその時点204において一貫していることを意味し得る、PiTコピー202のポイント・イン・タイム204と:ポイント・イン・タイム204からおよびPiTコピー202がオープンであった間、ソース・データ104内のどのデータまたはトラックが変更されたかを示し、ビットで表されるデータまたはトラックがポイント・イン・タイム204から更新されたかまたは更新されなかったかを示す2つの値のうちの1つに設定される各データ・ユニット(例えば、トラック)についてのビットを有するビットマップを含むことができる変更情報206とを含み、さらに、ポイント・イン・タイム204の後、PiTコピーがオープンであった間に変更され、依然として更新される、ポイント・イン・タイム204におけるデータを含む変更PiTデータ208を指し示すことができる。PiTコピー情報は、初期時間Tにおいてとられた初期PiTコピーおよび後のポイント・イン・タイムにおいてとられる後のPiTコピーに関して保持することができる。
1つの実施形態において、PiTコピーは、ポイント・イン・タイム204の後のある時間に完了するまたはフリーズすることができ、変更PiTデータ(変更時点データ)208は、PiTコピー202が完了する、例えばフリーズするまで、または新しいPiTコピーが開始されるまで、ポイント・イン・タイム204から変更されたデータを含み、PiTコピー202が完了した後、例えばフリーズした後の変更データは含まない。PiTコピー202は、フリーズ・コマンド時に、またはポイント・イン・タイム204に対する後のポイント・イン・タイムにおいて後のPiTコピーを開始したときに、完了することができる。完了したPiTコピー200は、その時点で一貫している。他の技術を用いて、PiTコピーを完了する、例えばフリーズすることもできる。
図3は、ストレージ・コントローラ100からのPiTコピー情報200のインスタンスから生成され、かつ、ストレージ・コントローラ100においてPiTコピー・マネージャ116により生成されるPiTコピー302を識別するPiTコピー識別子302と:その時点304で一貫していることを意味し得る。PiTコピー302のポイント・イン・タイム304と:ポイント・イン・タイム204からおよびPiTコピー302がオープンであった間、ソース・データ104内のどのデータまたはトラックが変更されたかを示し、ビットマップを含むことができる変更情報306と:PiTコピー302についての変更情報306内に示されたデータが位置する、変更データ120内のオフセットを示すリポジトリ・オフセット308とを含む、リポジトリ110内に保持されるPiTコピー情報300のインスタンスの1つの実施形態を示す。PiTコピー302についての特定の変更データ・ユニットの変更データ120内の位置は、例えば、変更情報306内に示される変更ユニット数、すなわちj番目のデータ・ユニットに、リポジトリ・オフセット308を加え、それにデータ・ユニットの長さを掛けることによって、変更データ120のリポジトリ・オフセット308からのオフセットを求めることができる。このように、PiTコピー302からの変更データは、リポジトリ110の変更データ120内の最後に書き込まれたデータの後に連続的に書き込まれる。
図4は、PiTコピー・マネージャ116が生成したプロダクション・ボリュームのような、ソース・データ104についてのPiTコピーから、異なるポイント・イン・タイムにおいてソース・データ104をリポジトリ110にコピーするために、リポジトリ・コピー・マネージャ108およびPiTコピー・マネージャ116によって実行される動作の1つの実施形態を示す。ソース・データ104についてのリポジトリ・コピー動作を開始すると(ブロック400において)、リポジトリ・コピー・マネージャ108は、ここではTと呼ばれる初期ポイント・イン・タイムにおける初期PiTコピー200を生成するためのコマンドをPiTコピー・マネージャ116に送る(ブロック402において)。リポジトリ・コピー・マネージャ108は、初期変更情報200を修正して、ソース・データ内のすべてのデータ・ユニットが変更されたことを示す修正された初期変更200’を生成することができる(ブロック404において)。リポジトリ・コピー・マネージャ108は、すべてのデータ・ユニットが変更されたことを示す修正された初期変更情報200’、およびすべてのソース・データを変更されたものとして示す、修正された初期変更情報200’内に示される初期PiTコピー(T)についての変更PiTデータ208を、リポジトリ110に送ることができる(ブロック406において)。初期のポイント・イン・タイムにおけるすべてのソース・データは、リポジトリ110内の変更データ120にコピーされる。ストレージ・コントローラ100からのPiTコピー200’は、初期PiTコピーTからのデータの始まりがリポジトリ110内の変更データ120の初めに格納されるので、ゼロのリポジトリ・オフセット308で、PiTコピー情報300として格納される。
リポジトリ・コピー・マネージャ108は、後のポイント・イン・タイムTi+1において後のPiTコピー(Ti+1)を生成し、それによりPiTコピー情報200(i+1)をもたらすためのコマンドをPiTコピー・マネージャ116に送ることができる(ブロック408において)。一実施形態において、リポジトリ・コピー・マネージャ10
8は、PiTコピーを生成し、前に生成されたPiTコピーをフリーズするための個々のコマンドをPiTコピー・マネージャ116に送ることができる。代替的な実施形態において、リポジトリ・コピー・マネージャ108は、1つのコマンドをPiTコピー・マネージャ116に送って、PiTコピー・マネージャ116に、ソース・データ104のPiTコピーを定期的に生成するよう命令することができ、そこで、後のPiTコピーの生成は、前に生成されたPiTコピーをフリーズさせる。さらに、ストレージ・コントローラ100におけるPiTコピー・マネージャ116は、リポジトリ・コピー・マネージャ108からの指示なしに、PiTコピーを独立して生成することができる。
における前のポイント・イン・タイムが完了したと決定すると(ブロック410において)、リポジトリ・コピー・マネージャ108は、変更情報206および変更PiTデータ208を含む、時間TにおけるPiTコピーについてのPiTコピー情報200を格納のためにリポジトリ110に送り(ブロック412において)、TについてのPiTコピー情報300をリポジトリ内に格納する。一実施形態において、ポイント・イン・タイムTにおけるPiTコピーは、時間Ti+1における後のPiTコピーの生成時に完了することができる。代替的な実施形態においては、フリーズ・コマンドを発行してPiTコピーをフリーズさせることによって、PiTコピーを完了することができ、その結果、変更情報206は、ソース・データ104への変更を示すのを停止する。リポジトリ・コピー・マネージャ108は、受け取ったPiTコピー情報200から、リポジトリPiTコピー情報300を生成する(ブロック414において)。
リポジトリ・コピー・マネージャ108は、前の時点T から変更された、後の時点T i+1 におけるソース・データ104をリポジトリ110内の変更データ120に伝送し、後の時点T i+1 のフルコピーを現在のフルコピーにすることができる(ブロック416において)。この動作を行うために、リポジトリ・コピー・マネージャ108は、Tにおける前のPiTコピーについての変更情報206から、変更されたソース・データ104内のデータ・ユニットを決定し、次に、それらのデータ・ユニットをソース・データ104から変更データ120にコピーすることができる。このように、後のポイント・イン・タイムTi+1において、後のPiTコピー(Ti+1)が生成されると、前のポイント・イン・タイムTと後のポイント・イン・タイムTi+1との間で変更されたソース・データ104内のデータ・ユニットが、リポジトリ110内の変更データ120にコピーされる。
リポジトリ・コピー・マネージャ108は、リポジトリ・オフセット308において、TにおけるPiTコピーについての変更データが変更データ120内で始まる、変更データ120内のデータ・ユニット・オフセットを指し示すことができる(ブロック418において)。(ブロック420において)さらに別のポイント・イン・タイム・コピーが生成される場合、リポジトリ・コピー・マネージャ108は、次のPiTコピーを処理する次の反復の間、(Ti+1)における現在の後のポイント・イン・タイム・コピーが、Tにおける前のポイント・イン・タイム・コピーになると考える(ブロック422において)。このように、現在の後のポイント・イン・タイムTi+1が前のポイント・イン・タイムになり、次のポイント・イン・タイムが新しい後のポイント・イン・タイムになると、iは有効にインクリメントされる。次に、制御はブロック408に戻り、新しい後のポイント・イン・タイムT i+2 における新しい後のPiTコピー(T i+2 ) を生成または処理する。(ブロック420において)処理するさらなるPiTコピーがない場合、制御は終了する。
図4の説明される実施形態において、PiTコピーを生成するためのストレージ・コントローラ100の動作と関係なく、異なるPiTコピーについてのPiTコピー情報を有するソース・データ104のフルコピーのリポジトリ110が生成される。このように、
リポジトリ管理動作の論理または動作は、PiTコピーを生成するためのストレージ・コントローラ100の論理とは独立している。
図5、図6、図7は、異なるポイント・イン・タイムにおけるすべてのソース・データを、変更データ120およびリポジトリPiTコピー情報200bにコピーするための、図4の動作の一例を示す。図5は、初期時間T時点のすべてのソース・データ104を含むことができるリポジトリ110内の変更データ120にコピーされる、ソース・ストレージ102内のソース・データ104の初期時間Tにおける状態を示す。さらに、ストレージ・コントローラ100においてすべてのソース・データが変更されたことを示す変更情報206’を有するPiTコピー情報200が、初期時間Tにおいて生成される。
図6は、Tにおける第2のPiTコピー200が生成された時間Tを示し、これは、TとTとの間に変更が行われる前に、その時点T においての変更データ208 を有する、Tにおける前のPiTコピー200の完了またはフリーズをもたらし得る。リポジトリ・コピー・マネージャ108は、ユニット520および522として示される、TとTとの間の変更データを、リポジトリ110内の変更データ120にコピーし、初期書き込みデータに続くT時点の変更データ520、522を有するように変更データ120を更新する。さらに、初期PiTコピー200についてのソース・データは、変更データ120に書き込まれる最初のデータであるため、Tにおける完了したまたはフリーズしたPiTコピー情報200は、ゼロを示すオフセット308を含むリポジトリPiTコピー300として格納される。
図7は、Tにおける第3のPiTコピー200が生成される時間Tを示し、これは、TとTとの間に変更が行われる前に、その時点T においての変更データ208 を有する、TにおけるPiTコピー200の完了またはフリーズをもたらし得る。リポジトリ・コピー・マネージャ108は、524および526として示される、TとTとの間の変更データを、リポジトリ110にコピーし、T時点のデータを有するように変更データ120を更新する。さらに、Tにおける完了したまたはフリーズしたPiTコピー情報200は、リポジトリ110にコピーされ、変更データ520および522が始まるリポジトリ120内のデータ・ユニット・オフセットを示すリポジトリ・オフセット308を含むリポジトリPiTコピー300として格納される。
図8は、リポジトリ・ポイント・イン・タイム・コピー200bの1つのポイント・イン・タイムを含むことができる、リストア時間(T)時点のリポジトリ110からリストア・コピー124を生成するために、リポジトリ・コピー・マネージャ108により実行される動作の1つの実施形態を示す。リストア時間(T)時点のソース・データのリストア・コピー124を生成するリストア要求を処理すると(ブロック600において)、リポジトリ・コピー・マネージャ108は、リストアのための変更データ120からのデータがコピーされる空のリストア・コピー124またはリストア・ボリュームを構成する(ブロック602において)。リポジトリ・コピー・マネージャ108は、初期PiTコピー200の変更データ120からの変更データ・ユニット、初期PiTコピー200の部分としてコピーされるデータ、およびリストア時間におけるまたはリストア時間前のポイント・イン・タイム・コピーの各々を含む、リストア・コピー124にコピーすべきソース・データを決定する(ブロック604において)。複数のPiTコピー300が、ソース・データについての同じデータ・ユニットを提供する場合、リストア時間に最も近いPiTコピーについてのデータ・ユニットが、決定されたコピーすべきソース・データ内に含まれる。次に、リポジトリ・コピー・マネージャ108は、決定されたソース・データをリストア・コピー124にコピーするための動作を開始する(ブロック606
において)。リポジトリ・コピー・マネージャ108は、決定されたソース・データのコピーの完了に応答して、リストア・コピー124を利用可能にし、リストア時間(T)時点のソース・データの完全なコピーを与える(ブロック608において)。
図9は、図8のブロック604で行われた動作のような、リストア・コピー124にコピーすべき、リポジトリ110内の変更データ120のソース・データを決定するための動作の1つの実施形態を示す。変更データ120からコピーすべきソース・データを決定するための動作を開始すると(ブロック700において)、リポジトリ・コピー・マネージャ108は、すべてのソース・データをリストア・コピー124にコピーされなかったものとして示す、ビットマップのようなリストア・コピー情報130を初期化する(ブロック702において)。TをTに設定する(ブロック704において)。リポジトリ・コピー・マネージャ108は、リストア・コピー情報130内に示される時間TにおけるPiTコピー300についての変更データ・ユニット120を、まだコピーされていないものとして、例えばコピーされていないことを示すビット値を有するものとして決定する。
ステップ706における決定された変更データ・ユニットの各々について、リポジトリ・コピー・マネージャ108は、TにおけるPiTコピーについてのリポジトリ・オフセット308から、データ・ユニットのリポジトリ内の位置(例えば、変更データ・ユニット数にリポジトリ・オフセットを加え、それにデータ・ユニット長を掛けたもの)を求める(ブロック708において)。一実施形態において、リポジトリ・オフセット308は、PiTコピーの第1の変更データについての情報を提供することができ、リポジトリ・コピー・マネージャ108は、変更データ・ユニット数、すなわちPiTコピー変更情報306内に示されるj番目の変更データ・ユニットに、リポジトリ・オフセット308を加え、その和にデータ・ユニット長を掛けたものに基づいて、特定のデータ・ユニットについてのオフセットを求める必要がある。代替的に、リポジトリ・オフセット308は、Tにおける初期PiTコピー後のPiTコピーの各変更データ・ユニットについての変更データ120内のオフセット数を指し示すことができる。
例えば、1つの実施形態において、リポジトリ・オフセット308が、TにおけるPiTコピーについての変更データが変更データ120内で始まるオフセットを含む場合、求められた位置は、データ・ユニットがTにおけるPiTコピーについて書き込まれた順の数を含む変更データ・ユニット数に、TにおけるPiTコピーについてのリポジトリ・オフセット308を加え、この和をデータ・ユニット長で乗算したものを含むことができる。例えば、データ・ユニットが、変更データ120に書き込まれたTにおけるPiTコピーについての第3のデータ・ユニットであり、TにおけるPiTコピーについての変更データが変更データ120内で始まる、データ・ユニット数のオフセットが100であり、データ・ユニット長が16バイトである場合、変更データ120内のデータ・ユニットについての位置は、3掛ける100の和を16で乗算したもの、例えば(3+100)×16を含み、これは、変更データ120内の4800番目のバイトに等しい。
ブロック708において、変更データ120内の位置が求められた、PiTコピー300からの決定された変更データ・ユニットは、求められた位置からリストア・コピー124にコピーされ(ブロック710において)、コピーされたデータ・ユニットは、リストア・コピー情報130内に、コピーされたものとして示される(ブロック712)。(ブロック714において)TがTに等しい場合、リストア時間(T)におけるまたはリストア時間(T)前のすべてのPiTコピー300が検討され、制御は終了する。そうではなくT がT に等しくない場合には、(ブロック716において)iを1デクリメントしてしてブロック706に戻る。最後に検討されたPiTコピー300 の直前の次のPiTコピー300 i−1 を検討する。図9の動作において、変更データ・ユニットは、逆時間順にリストア時間に最も近いPiTコピーからのPiTコピーから決定される。このように、複数のPiTコピーが同じソース・データ・ユニットについての変更データを提供する場合、コピーされる変更データは、リストア時間Tに最も近いそのデータ・ユニットについての変更データを提供するPiTコピーによってもたらされ、リストア・コピー124には、リストア時間T時点のリポジトリ110から変更データ120が与えられる。
図9の実施形態において、変更データ・ユニットは、次のPiTコピーを検討する前に検討されるPiTコピーに対してコピーされる。代替的な実施形態においては、変更データをリストア・コピー124にコピーする前に、異なるPiTコピーから、コピーすべきすべてのデータ・ユニットを決定することができる。
説明される実施形態は、初期時間からソース・データ104のPiTコピー間で変更されたソース・データ・ユニットを含む、初期時間時点のすべてのソース・データ・ユニットを有するリポジトリを生成するための技術を提供する。リポジトリは、ソース・データ104から生成されたPiTコピーのPiTコピー情報をさらに保持する。説明された実施形態において、リストアコピー・ボリュームは、リポジトリ内のPiTコピー情報を用いて、リポジトリ内の変更データからリストア時間時点で生成し、リストア時間におけるまたはリストア時間前のPiTコピーについてのPiTコピー情報を検討することにより、リストア時間時点の変更データを決定することができる。
本発明は、システム、方法、および/またはコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、プロセッサに、本発明の態様を実行させるための、コンピュータ可読プログラム命令をそこに有するコンピュータ可読ストレージ媒体を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスにより用いるための命令を保持し、格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または上記の任意の適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的リストとして、以下のもの:携帯型コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラム可能読み出し専用メモリ(EPROMまたはフラッシュメモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、携帯型コンパクトディスク読み出し専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピィ・ディスク、パンチカードもしくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、および上記の任意の適切な組み合わせが挙げられる。本明細書で用いられる場合、コンピュータ可読ストレージ媒体は、電波または他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通して伝搬する電磁波(例えば、光ファイバケーブルを通る光パルス)、または配線を通して伝送される電気信号のような、一時的信号自体として解釈されるべきではない。
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から、それぞれのコンピューティング/処理デバイスに、または、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワークおよび/または無線ネットワークなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ケーブル、無
線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、および/またはエッジ・サーバを含むことができる。各々のコンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体内に格納する。
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Java(登録商標)、Smalltalk、C++等のようなオブジェクト指向プログラミング言語、および、「C」プログラミング言語のような従来の手続き型プログラミング言語、または同様のプログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソースコードまたはオブジェクトコードのいずれかとすることができる。コンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行される場合もあり、独立型ソフトウェア・パッケージとして、一部がユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、または全体が遠隔コンピュータもしくはサーバ上で実行される場合もある。後者のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、または外部コンピュータへの(例えば、インターネット・サービス・プロバイダを用いてインターネットを通じて)接続がなされる場合もある。幾つかの実施形態において、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を用いて電子回路を個人化することにより、コンピュータ可読プログラム命令を実行することができる。JavaおよびすべてのJava関連の商標およびロゴは、Oracle社および/またはその関連会社の商標または登録商標である。
本発明の態様は、本明細書において、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図および/またはブロック図を参照して説明される。フローチャート図および/またはブロック図の各ブロック、並びにフローチャート図および/またはブロック図におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに与えて、マシンを製造し、その結果、コンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックにおいて指定された機能/動作を実装するための手段を生成するようにすることができる。これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能データ処理装置、および/または他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、その結果、内部に命令が格納されたコンピュータ可読ストレージ媒体が、フローチャートおよび/またはブロック図の1つまたは複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む製品を含むようにすることもできる。
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイス上にロードして、そのコンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを行わせてコンピュータ実装プロセスを生成
し、その結果、そのコンピュータまたは他のプログラム可能装置、または他のデバイス上で実行される命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックにおいて指定された機能/動作を実施するようにすることもできる。
図面内のフローチャートおよびブロック図は、本発明の種々の実施形態による、システム、方法およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能および動作を示す。この点に関して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実行するための1つまたは複数の実行可能な命令を含む、モジュール、セグメントまたは命令の一部を表すことができる。幾つかの代替的な実装において、ブロック内に記された機能は、図面内に記された順序とは異なる順序で行われることがある。例えば、連続して示された2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、またはこれらのブロックは、ときには逆の順序で実行されることもある。ブロック図および/またはフローチャート図の各ブロック、並びにブロック図および/またはフローチャート図内のブロックの組み合わせは、指定された機能または動作を実施する専用ハードウェアベースのシステム、または専用ハードウェアとコンピュータ命令との組み合わせによって実装できることにも留意されたい。
ストレージ・コントローラ100およびホスト106を含む図1のコンピュータ・コンポーネントは、図10に示されるコンピュータ・システム802のような1つまたは複数のコンピュータ・システム内に実装することができる。コンピュータ・システム/サーバ802は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行するまたは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータ・システム/サーバ802は、通信ネットワークを通じてリンクされた遠隔処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実施することができる。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよび遠隔両方のコンピュータ・システム・ストレージ媒体に配置することができる。
図10に示されるように、コンピュータ・システム/サーバ802は、汎用コンピューティング・デバイスの形で示される。コンピュータ・システム/サーバ802のコンポーネントは、これらに限定されるものではないが、1つまたは複数のプロセッサもしくは処理ユニット804、システム・メモリ806、およびシステム・メモリ806を含む種々のシステム・コンポーネントをプロセッサ804に結合するバス808を含むことができる。バス808は、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、および種々のバス・アーキテクチャのいずれかを用いるプロセッサまたはローカル・バスを含む、幾つかのタイプのバス構造のいずれかの1つまたは複数を表す。限定ではなく例として、このようなアーキテクチャは、業界標準アーキテクチャ(Industry Standard Architecture、ISA)バス、マイクロ・チャネル・アーキテクチャ(Micro Channel Architecture、MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカル・バス、およびPeripheral Component Interconnect(PCI)バスを含む。
コンピュータ・システム/サーバ802は、典型的には、種々のコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム/サーバ802によりアクセス可能な任意の利用可能な媒体とすることができ、揮発性媒体および不揮発性媒体の両方と、取り外し可能媒体および取り外し不能媒体の両方とを含む。
システム・メモリ806は、ランダム・アクセス・メモリ(RAM)810および/またはキャッシュ・メモリ812など、揮発性メモリの形のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ802は、他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単なる例として、取り外し不能の不揮発性磁気媒体(図示されておらず、典型的には「ハード・ドライブ」と呼ばれる)との間の読み出しおよび書き込みのために、ストレージ・システム813を設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク(例えば、「フロッピィ・ディスク」)との間の読み出しおよび書き込みのための磁気ディスク・ドライブと、CD−ROM、DVD−ROMまたは他の光媒体などの取り外し可能な不揮発性光ディスクとの間の読み出しおよび書き込みのための光ディスク・ドライブとを設けることができる。こうした例においては、それぞれを、1つまたは複数のデータ媒体インターフェースによってバス808に接続することができる。以下でさらに示され説明されるように、メモリ808は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールの組(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
限定ではなく例として、メモリ806内に、プログラム・モジュール816の組(少なくとも1つ)を有するプログラム/ユーティリティ814、並びにオペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データを格納することができる。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはそれらの何らかの組み合わせの各々は、ネットワーキング環境の実装形態を含むことができる。コンピュータ802のコンポーネントは、一般に、本明細書で説明されるような本発明の実施形態の機能および/または方法を実行するプログラム。モジュール816として実装することができる。図1のシステムは、1つまたは複数のコンピュータ・システム802内に実装することができ、そこで、それらのシステムがマルチコンピュータ・システム802内に実装される場合、コンピュータ・システムは、ネットワーク上で通信することができる。
コンピュータ・システム/サーバ802は、キーボード、ポインティング・デバイス、ディスプレイ820等のような1つまたは複数の外部デバイス818;ユーザがコンピュータ・システム/サーバ802と対話することを可能にする1つまたは複数のデバイス;および/またはコンピュータ・システム/サーバ802が1つまたは複数の他のコンピューティング・デバイスと通信することを可能にするいずれかのデバイス(例えば、ネットワーク・カード、モデム等)と通信することもできる。このような通信は、入力/出力(I/O)インターフェース822を経由して行うことができる。さらにまた、コンピュータ・システム/サーバ802は、ネットワーク・アダプタ824を介して、ローカル・エリア・ネットワーク(LAN)、汎用広域ネットワーク(WAN)、および/またはパブリック・ネットワーク(例えば、インターネット)などの1つまたは複数のネットワークと通信することもできる。示されるように、ネットワーク・アダプタ824は、バス808を介して、コンピュータ・システム/サーバ802の他のコンポーネントと通信する。図示されないが、他のハードウェアおよび/またはソフトウェア・コンポーネントをコンピュータ・システム/サーバ802と共に使用できることを理解されたい。例としては、これらに限定されるものではないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システム等が含まれる。
「1つの実施形態」、「実施形態」、「複数の実施形態」、「その実施形態」、「それらの実施形態」、「1つまたは複数の実施形態」、「幾つかの実施形態」、および「一実
施形態」という用語は、特に明示的に指定されていない限り、「本発明の(すべてではないが)1つまたは複数の実施形態」を意味する。
「含んでいる(including)」、「備えている(comprising)」、「有する(having)」およびそれらの変形の用語は、特に明示的に指定されていない限り、「含むがそれに限定されない」ことを意味する。
列挙された項目のリストは、特に明示的に指定されていない限り、項目のいずれかまたはすべてが相互に排他的であることを意味するものではない。
「1つの(a、an)」および「その(the)」という用語は、特に明示的に指定されていない限り、「1つまたは複数」を意味する。
互いに通信しているデバイスは、特に明示的に指定されていない限り、互いに継続的に通信している必要はない。さらに、互いに通信しているデバイスは、直接、または、1つまたは複数の媒介を介して間接的に通信することができる。
互いに通信している幾つかのコンポーネントを備える1つの実施形態の説明は、こうしたコンポーネントのすべてが必要であることを意味するものではない。これに対して、種々の随意的なコンポーネントは、本発明の種々の可能な実施形態を示すために記述されている。
本明細書において単一のデバイスまたは物品が説明される場合、単一のデバイス/物品の代わりに、1つより多いデバイス/物品が(それらが協働しているかどうかに関わらず)使用可能であることが容易に明らかであろう。同様に、本明細書において1つより多いデバイス/物品が(それらが協働しているかどうかに関わらず)説明される場合、1つより多いデバイスまたは物品の代わりに、単一のデバイス/物品が使用可能であること、または、示された数のデバイスまたはプログラムの代わりに、異なる数のデバイス/物品が使用可能であることが、容易に明らかであろう。デバイスの機能および/または特徴は、こうした機能/特徴を有するものとして明示的に説明されていない1つまたは複数の他のデバイスによって、代替的に具体化することができる。従って、本発明の他の実施形態は、デバイスそれ自体を含む必要はない。
本発明の様々な実施形態の前述の説明は、例示および説明の目的で示されたものである。本発明を網羅し、開示された精密な形に限定することは意図されていない。上記の教示に鑑みて、多くの修正および変更が可能である。本発明の範囲は、詳細な説明によってではなく、添付の特許請求の範囲によって限定されることが意図される。前述の仕様、例、およびデータは、本発明の構成の製造および使用についての完全な説明を提供する。本発明の多くの実施形態は、本発明の趣旨および範囲を逸脱することなく生成可能であるため、本発明は以下に添付の特許請求の範囲内にある。
100:ストレージ・コントローラ
102:第1のストレージ
104:ソース・データ
106:ホスト
108:リポジトリ・コピー・マネージャ
110:リポジトリ
112:第2のストレージ
114:ネットワーク
116:ポイント・イン・タイム(PiT)コピー・マネージャ
118:オペレーティング・システム
120:変更データ
124:リストア・コピー
130:リストア・コピー情報
200、300:PiTコピー情報
202、302:PiTコピー
204、304:ポイント・イン・タイム
206:変更情報
208:変更PiTデータ
308:オフセット

Claims (8)

  1. ソース・データをリポジトリに維持するためのシステムであって、
    プロセッサと、
    オペレーションを実施するために前記プロセッサにより実行されるプログラム命令を含むコンピュータ可読ストレージ媒体を含み、前記オペレーションは、
    初期の時点におけるソースからのソース・データを前記リポジトリにコピーすることと、
    前記初期の時点の後の異なる時点における前記ソース・データの複数のポイント・イン・タイム・コピーを開始することであって、前記ポイント・イン・タイム・コピーのそれぞれについて、前記ソースにおいての変更情報が生成され、前記変更情報は前記ポイント・イン・タイム・コピーがオープンであった間に変更された前記ソース・データ内の位置を示す、前記ポイント・イン・タイム・コピーを開始することと、
    前記開始されたポイント・イン・タイム・コピーのそれぞれの前のポイント・イン・タイム・コピーの完了に応じて、前記生成された変更情報のコピーを前記リポジトリに送信ことであって、前記変更情報は、
    前記前のポイント・イン・タイム・コピーについて変更された前記ソース・データ内の位置を示し、
    前記前のポイント・イン・タイム・コピーの時点前記開始されたポイント・イン・タイム・コピーの内の、新しいポイント・イン・タイム・コピーが生じた後の時点との間で変更される以前のある前の時点での前記ソース・データ内に存在したデータを含む変更時点データを示す、前記生成された変更情報のコピーを前記リポジトリに送信することと、
    前記変更時点データを前記リポジトリにコピーすることであって、前記変更時点データは、変更されたものとして前記ポイント・イン・タイム・コピーについての前記生成された変更情報内に示される前記ソース内のソース・データを含む、前記リポジトリにコピーすることと、
    前記前のポイント・イン・タイム・コピーについて、前記生成された変更情報のコピー内に示された前記リポジトリ中の変更データ内の位置を示すことであって、前記リポジトリの前記変更データは前記リポジトリに送信された前記前のポイント・イン・タイム・コピーについての前記生成された変更情報のコピー内に示された多数の前のポイント・イン・タイム・コピーについての前記変更時点データを有することを特徴とする、前記リポジトリの変更データ内の位置を示すことと、
    リストア時点においての前記ソース・データをリストアするためのリストア要求を受け取ることと、
    前記リストア時点における前記リポジトリにコピーされ、前記リポジトリ内の前記変更データ内に維持された前記前のポイント・イン・タイム・コピーについての前記生成された変更情報内に示されたソース・データを決定することと、
    前記決定されたソース・データを前記リポジトリからリストア・コピーにコピーすることと、を含み、
    前記ポイント・イン・タイム・コピーは、ポイント・イン・タイム・コピー・プログラムによって生成され、前記ポイント・イン・タイム・コピー・プログラムとは別個に実行されるリポジトリ・コピー・プログラムは、前記生成された変更情報のコピー、および前記生成された変更情報のコピー内に変更されたものとして示される前記変更時点データを前記リポジトリに転送するオペレーションを実行し、
    前記オペレーションは、前記ポイント・イン・タイム・コピーについての前記変更データのユニットが書き込まれる前記リポジトリ内のオフセットを示すためのリポジトリ・オフセットを示すことをさらに含み、
    前記変更データを前記リポジトリにコピーすることは、前記それぞれポイント・イン・タイム・コピーおいて、前記変更データ・ユニットは各リポジトリの変更データ内の最後に書き込まれたデータ・ユニットの後に連続的に書き込まれ、
    前記リストア・ポイント・イン・タイムにおける前記ソース・データを決定することは、前記リストア・ポイント・イン・タイムにおける前記リポジトリ内のソース・データ・ユニットを決定し、前記リポジトリが異なるポイント・イン・タイム・コピーについてのデータ・ユニットの複数のコピーを有する場合、前記決定されたソース・データ内に、前記リストア・ポイント・イン・タイムに最も近い前記ポイント・イン・タイム・コピーからの前記データ・ユニットを決定することと、
    前記初期の時点における前記ソース・データをコピーすることは、すべての前記ソース・データが変更されたことを示す変更情報を含む前記ソース・データの前記初期の時点におけるポイント・イン・タイム・コピーを生成することと、
    前記初期の時点における前記ポイント・イン・タイム・コピーについての前記変更情報を前記リポジトリに送信することと、を含む、システム。
  2. 前記リストア・コピーにコピーすべき前記リストア時点における前記ソース・データを決定することは、
    すべての前記ソース・データ・ユニットを前記リストア・コピーにコピーされていないものとして示すリストア・コピー情報を初期化することと、
    前記リストア時点における、または前記リストア時点の前の各ポイント・イン・タイム・コピーについて、前記リストア時点に最も近い前記ポイント・イン・タイム・コピーから開始し、逆時間順でポイント・イン・タイム・コピーを考慮することと、
    前記リストア・コピー情報内にまだコピーされていないものとして示される前記ポイント・イン・タイム・コピーについての前記変更データ・ユニットを決定することであって、前記決定された変更データ・ユニットは、前記決定されたコピーすべきソース・データ内に含まれる、決定することと、
    前記ポイント・イン・タイム・コピーについての前記リポジトリ・オフセットを用いて、前記決定された変更データ・ユニットが格納される前記リポジトリ内の位置を求めることと、
    前記変更データ・ユニットを前記リポジトリ内の前記決定された位置から前記リストア・コピーにコピーすることと、
    前記リストア・コピー情報内にコピーされたものとして前記決定された変更データ・ユニットを示すことと、を含む、請求項に記載のシステム。
  3. 前記オペレーションは、前記リストア・コピーについての前記データがコピーされる空のリストア・ボリュームを構成することをさらに含み、前記リストア・ボリュームは、前記リポジトリからの前記ソース・データについてのすべての前記データが前記リストア・ボリュームにコピーされた後に利用可能である、請求項1及び2のいずれか1項に記載のシステム。
  4. ソース・データをリポジトリ内に保持するための方法であって、
    ストレージ・コントローラとは独立として、リポジトリ・コピー・マネーシャを含むホスト制御は、
    初期の時点におけるソースからのソース・データを前記リポジトリにコピーすることと、
    前記初期の時点の後の異なる時点における前記ソース・データの複数のポイント・イン・タイム・コピーを開始することであって、前記ポイント・イン・タイム・コピーのそれぞれについて、前記ソースにおいての変更情報が生成され、前記変更情報は前記ポイント・イン・タイム・コピーがオープンであった間に変更された前記ソース・データ内の位置を示す、前記ポイント・イン・タイム・コピーを開始することと、
    前記開始されたポイント・イン・タイム・コピーのそれぞれの前のポイント・イン・タイム・コピーの完了に応じて、前記生成された変更情報のコピーを前記リポジトリに送信ことであって、前記変更情報は、
    前記前のポイント・イン・タイム・コピーについて変更された前記ソース・データ内の位置を示し、
    前記前のポイント・イン・タイム・コピーの時点前記開始されたポイント・イン・タイム・コピーの内の、新しいポイント・イン・タイム・コピーが生じた後の時点との間で変更される以前のある前の時点での前記ソース・データ内に存在したデータを含む変更時点データを示す、前記生成された変更情報のコピーを前記リポジトリに送信することと、
    前記変更時点データを前記リポジトリにコピーすることであって、前記変更時点データは、変更されたものとして前記ポイント・イン・タイム・コピーについての前記生成された変更情報内に示される前記ソース内のソース・データを含む、前記リポジトリにコピーすることと、
    前記前のポイント・イン・タイム・コピーについて、前記生成された変更情報のコピー内に示された前記リポジトリ中の変更データ内の位置を示すことであって、前記リポジトリの前記変更データは前記リポジトリに送信された前記前のポイント・イン・タイム・コピーについての前記生成された変更情報のコピー内に示された多数の前のポイント・イン・タイム・コピーについての前記変更時点データを有することを特徴とする、前記リポジトリの変更データ内の位置を示すことと、
    リストア時点においての前記ソース・データをリストアするためのリストア要求を受け取ることと、
    前記リストア時点における前記リポジトリにコピーされ、前記リポジトリ内の前記変更データ内に維持された前記前のポイント・イン・タイム・コピーについての前記生成された変更情報内に示されたソース・データを決定することと、
    前記決定されたソース・データを前記リポジトリからリストア・コピーにコピーすることと、を含み、
    前記ポイント・イン・タイム・コピーは、ポイント・イン・タイム・コピー・プログラムによって生成され、前記ポイント・イン・タイム・コピー・プログラムとは別個に実行されるリポジトリ・コピー・プログラムは、前記生成された変更情報のコピー、および前記生成された変更情報のコピー内に変更されたものとして示される前記変更時点データを前記リポジトリに転送するオペレーションを実行し、
    前記オペレーションは、前記ポイント・イン・タイム・コピーについての前記変更データのユニットが書き込まれる前記リポジトリ内のオフセットを示すためのリポジトリ・オフセットを示すことをさらに含み、
    前記変更データを前記リポジトリにコピーすることは、前記それぞれポイント・イン・タイム・コピーおいて、前記変更データ・ユニットは各リポジトリの変更データ内の最後に書き込まれたデータ・ユニットの後に連続的に書き込まれ、
    前記リストア・ポイント・イン・タイムにおける前記ソース・データを決定することは、前記リストア・ポイント・イン・タイムにおける前記リポジトリ内のソース・データ・ユニットを決定し、前記リポジトリが異なるポイント・イン・タイム・コピーについてのデータ・ユニットの複数のコピーを有する場合、前記決定されたソース・データ内に、前記リストア・ポイント・イン・タイムに最も近い前記ポイント・イン・タイム・コピーからの前記データ・ユニットを決定することと、
    前記初期の時点における前記ソース・データをコピーすることは、すべての前記ソース・データが変更されたことを示す変更情報を含む前記ソース・データの前記初期の時点におけるポイント・イン・タイム・コピーを生成することと、
    前記初期の時点における前記ポイント・イン・タイム・コピーについての前記変更情報を前記リポジトリに送信することと、を含む、方法。
  5. 前記リストア・コピーにコピーすべき前記リストア時点における前記ソース・データを決定することは、
    すべての前記ソース・データ・ユニットを前記リストア・コピーにコピーされていないものとして示すリストア・コピー情報を初期化することと、
    前記リストア時点における、または前記リストア時点の前の各ポイント・イン・タイム・コピーについて、前記リストア時点に最も近い前記ポイント・イン・タイム・コピーから開始し、逆時間順でポイント・イン・タイム・コピーを考慮することと、
    前記リストア・コピー情報内にまだコピーされていないものとして示される前記ポイント・イン・タイム・コピーについての前記変更データ・ユニットを決定することであって、前記決定された変更データ・ユニットは、前記決定されたコピーすべきソース・データ内に含まれる、決定することと、
    前記ポイント・イン・タイム・コピーについての前記リポジトリ・オフセットを用いて、前記決定された変更データ・ユニットが格納される前記リポジトリ内の位置を求めることと、
    前記変更データ・ユニットを前記リポジトリ内の前記決定された位置から前記リストア・コピーにコピーすることと、
    ストア・コピー情報内にコピーされたものとして前記決定された変更データ・ユニットを示すことと、を含む、請求項に記載の方法。
  6. 前記オペレーションは、前記リストア・コピーについての前記データをコピーされる空のリストア・ボリュームを構成することをさらに含み、前記リストア・ボリュームは、前記リポジトリからの前記ソース・データについてのすべての前記データが前記リストア・ボリュームにコピーされた後に利用可能である、請求項4及び5のいずれか1項に記載の方法。
  7. ソース・データをリポジトリに維持するためのコンピュータ・プログラムであって、請求項4〜6のいずれか1項に記載の方法を実施するための、処理回路により実行される命令を含む、コンピュータ・プログラム。
  8. コンピュータ可読媒体上に格納され、デジタル・コンピュータの内部メモリ内にロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されるとき、請求項4〜6のいずれか1項に記載の方法を実施するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
JP2016548352A 2014-02-07 2015-01-12 異なるポイント・イン・タイムにおけるソース・データを有するリポジトリのソース・データのコピーからのリストア・コピーの生成 Active JP6831701B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/175,980 2014-02-07
US14/175,980 US10372546B2 (en) 2014-02-07 2014-02-07 Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
PCT/IB2015/050225 WO2015125030A1 (en) 2014-02-07 2015-01-12 Creating restore copy from copy of source data in repository having source data at different point-in-times

Publications (2)

Publication Number Publication Date
JP2017509958A JP2017509958A (ja) 2017-04-06
JP6831701B2 true JP6831701B2 (ja) 2021-02-17

Family

ID=53775023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016548352A Active JP6831701B2 (ja) 2014-02-07 2015-01-12 異なるポイント・イン・タイムにおけるソース・データを有するリポジトリのソース・データのコピーからのリストア・コピーの生成

Country Status (6)

Country Link
US (2) US10372546B2 (ja)
JP (1) JP6831701B2 (ja)
CN (1) CN105960635B (ja)
DE (1) DE112015000343T5 (ja)
GB (1) GB2538464B (ja)
WO (1) WO2015125030A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11169958B2 (en) 2014-02-07 2021-11-09 International Business Machines Corporation Using a repository having a full copy of source data and point-in-time information from point-in-time copies of the source data to restore the source data at different points-in-time
US11194667B2 (en) 2014-02-07 2021-12-07 International Business Machines Corporation Creating a restore copy from a copy of a full copy of source data in a repository that is at a different point-in-time than a restore point-in-time of a restore request
US10372546B2 (en) 2014-02-07 2019-08-06 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
US10387446B2 (en) 2014-04-28 2019-08-20 International Business Machines Corporation Merging multiple point-in-time copies into a merged point-in-time copy
US10031917B2 (en) * 2014-07-29 2018-07-24 Commvault Systems, Inc. Efficient volume-level replication of data via snapshots in an information management system
US10372548B2 (en) * 2016-11-17 2019-08-06 International Business Machines Corporation Copying data from multiple point-in-time copies to a log storage to use to roll-back a source storage
US10261868B2 (en) 2016-11-17 2019-04-16 International Business Machines Corporation Using a forward log storage and backward log storage to recover a storage to a forward or backward point-in-time
US10162563B2 (en) * 2016-12-02 2018-12-25 International Business Machines Corporation Asynchronous local and remote generation of consistent point-in-time snap copies
CN107784093A (zh) * 2017-10-13 2018-03-09 郑州云海信息技术有限公司 一种分布式的大数据处理系统
CN110058958B (zh) * 2018-01-18 2023-07-25 伊姆西Ip控股有限责任公司 用于管理数据备份的方法、设备和计算机程序产品
US10783047B2 (en) * 2018-09-06 2020-09-22 International Business Machines Corporation Forming a consistency group comprised of volumes maintained by one or more storage controllers
CN111061423B (zh) * 2018-10-17 2023-09-26 杭州海康威视系统技术有限公司 一种数据处理方法、装置和管理节点

Family Cites Families (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2071346A1 (en) 1991-10-18 1993-04-19 Claus William Mikkelsen Method and means for time zero backup copy of data
AU5774200A (en) 1999-06-28 2001-01-31 Sangate Systems Inc. Intelligent splitter, system, and methods of use
US6912629B1 (en) 1999-07-28 2005-06-28 Storage Technology Corporation System and method for restoring data from secondary volume to primary volume in a data storage system
US6594744B1 (en) 2000-12-11 2003-07-15 Lsi Logic Corporation Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository
US6799258B1 (en) 2001-01-10 2004-09-28 Datacore Software Corporation Methods and apparatus for point-in-time volumes
US7237075B2 (en) * 2002-01-22 2007-06-26 Columbia Data Products, Inc. Persistent snapshot methods
US20030220948A1 (en) * 2002-01-22 2003-11-27 Columbia Data Products, Inc. Managing snapshot/backup collections in finite data storage
US7778958B2 (en) 2002-04-11 2010-08-17 Quantum Corporation Recovery of data on a primary data volume
AU2003265954A1 (en) 2002-09-09 2004-03-29 Evergreen Assurance, Inc. System and method for application monitoring and automatic disaster recovery for high-availability
AU2003282361A1 (en) 2002-11-20 2004-06-15 Filesx Ltd. Fast backup storage and fast recovery of data (fbsrd)
US7430568B1 (en) 2003-02-28 2008-09-30 Sun Microsystems, Inc. Systems and methods for providing snapshot capabilities in a storage virtualization environment
US7055009B2 (en) 2003-03-21 2006-05-30 International Business Machines Corporation Method, system, and program for establishing and maintaining a point-in-time copy
US7000145B2 (en) 2003-06-18 2006-02-14 International Business Machines Corporation Method, system, and program for reverse restore of an incremental virtual copy
US7412460B2 (en) 2003-06-19 2008-08-12 International Business Machines Corporation DBMS backup without suspending updates and corresponding recovery using separately stored log and data files
US7284104B1 (en) 2003-06-30 2007-10-16 Veritas Operating Corporation Volume-based incremental backup and recovery of files
JP2005038176A (ja) 2003-07-15 2005-02-10 Nec Corp コンピュータシステムおよびファイル管理方法
WO2005050386A2 (en) * 2003-11-13 2005-06-02 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
US7546324B2 (en) 2003-11-13 2009-06-09 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US7133884B1 (en) 2003-11-26 2006-11-07 Bmc Software, Inc. Unobtrusive point-in-time consistent copies
US7277997B2 (en) 2004-03-16 2007-10-02 International Business Machines Corporation Data consistency for mirroring updatable source data storage
US7318134B1 (en) 2004-03-16 2008-01-08 Emc Corporation Continuous data backup using distributed journaling
JP2005292865A (ja) 2004-03-31 2005-10-20 Hitachi Ltd ストレージシステム及びストレージシステムのバックアップ方法
JP2005301497A (ja) 2004-04-08 2005-10-27 Hitachi Ltd ストレージ管理装置、リストア方法及びそのプログラム
US7284019B2 (en) 2004-08-18 2007-10-16 International Business Machines Corporation Apparatus, system, and method for differential backup using snapshot on-write data
US7934064B1 (en) 2004-12-21 2011-04-26 Acronis Inc. System and method for consolidation of backups
US8335770B2 (en) 2005-02-03 2012-12-18 Hewlett-Packard Development Company, L.P. Method of restoring data
US7809691B1 (en) 2005-02-22 2010-10-05 Symantec Operating Corporation System and method of applying incremental changes prior to initialization of a point-in-time copy
US7814057B2 (en) * 2005-04-05 2010-10-12 Microsoft Corporation Page recovery using volume snapshots and logs
US7506116B2 (en) 2005-07-19 2009-03-17 International Business Machines Corporation Maintaining and using information on updates to a data group after a logical copy is made of the data group
CN100369000C (zh) 2005-08-12 2008-02-13 西安三茗科技有限责任公司 一种计算机硬盘数据多时间点快速存储与恢复方法
US7426618B2 (en) 2005-09-06 2008-09-16 Dot Hill Systems Corp. Snapshot restore method and apparatus
US8060713B1 (en) 2005-12-21 2011-11-15 Emc (Benelux) B.V., S.A.R.L. Consolidating snapshots in a continuous data protection system using journaling
US7822717B2 (en) 2006-02-07 2010-10-26 Emc Corporation Point-in-time database restore
US7467268B2 (en) 2006-04-14 2008-12-16 Hewlett-Packard Development Company, L.P. Concurrent data restore and background copy operations in storage networks
US7650533B1 (en) 2006-04-20 2010-01-19 Netapp, Inc. Method and system for performing a restoration in a continuous data protection system
US20070277012A1 (en) 2006-05-23 2007-11-29 Hitachi, Ltd. Method and apparatus for managing backup data and journal
JP5124989B2 (ja) 2006-05-26 2013-01-23 日本電気株式会社 ストレージシステム及びデータ保護方法とプログラム
US7613750B2 (en) 2006-05-29 2009-11-03 Microsoft Corporation Creating frequent application-consistent backups efficiently
US7461223B2 (en) 2006-05-29 2008-12-02 Microsoft Corporation Retaining shadow copy data during replication
JP2007334709A (ja) 2006-06-16 2007-12-27 Fujitsu Ltd ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法
US8311988B2 (en) 2006-08-04 2012-11-13 Apple Inc. Consistent back up of electronic information
US7836267B1 (en) 2006-08-30 2010-11-16 Barracuda Networks Inc Open computer files snapshot
US7587564B2 (en) 2006-09-26 2009-09-08 International Business Machines Corporation System, method and computer program product for managing data versions
KR100806343B1 (ko) 2006-10-19 2008-02-27 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법
US8880480B2 (en) 2007-01-03 2014-11-04 Oracle International Corporation Method and apparatus for data rollback
JP4900811B2 (ja) 2007-03-30 2012-03-21 株式会社日立製作所 記憶システムおよび記憶制御方法
US7865473B2 (en) * 2007-04-02 2011-01-04 International Business Machines Corporation Generating and indicating incremental backup copies from virtual copies of a data set
US8095804B1 (en) 2007-05-25 2012-01-10 Emc Corporation Storing deleted data in a file system snapshot
US7734885B2 (en) 2007-06-14 2010-06-08 International Business Machines Corporation Execution of point-in-time copy operations in continuous mirroring environments
US8818936B1 (en) 2007-06-29 2014-08-26 Emc Corporation Methods, systems, and computer program products for processing read requests received during a protected restore operation
CN100524238C (zh) 2007-11-02 2009-08-05 西安三茗科技有限责任公司 基于块级的增量备份和整卷恢复的方法
US7991972B2 (en) 2007-12-06 2011-08-02 International Business Machines Corporation Determining whether to use a full volume or repository for a logical copy backup space
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
KR101465789B1 (ko) 2008-01-24 2014-11-26 삼성전자주식회사 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
CN101499073B (zh) 2008-01-29 2011-10-12 国际商业机器公司 基于访问频率的连续存储数据的存储管理方法和系统
US8386733B1 (en) 2008-02-15 2013-02-26 Symantec Corporation Method and apparatus for performing file-level restoration from a block-based backup file stored on a sequential storage device
KR101477047B1 (ko) 2008-02-29 2014-12-30 삼성전자주식회사 메모리 시스템 및 그것의 블록 병합 방법
US8244681B2 (en) * 2008-06-09 2012-08-14 Symantec Operating Corporation Creating synthetic backup images on a remote computer system
JP5156518B2 (ja) 2008-07-23 2013-03-06 株式会社日立製作所 記憶制御装置及び方法
US7979735B2 (en) 2008-08-15 2011-07-12 International Business Machines Corporation Data storage with snapshot-to-snapshot recovery
US8495316B2 (en) 2008-08-25 2013-07-23 Symantec Operating Corporation Efficient management of archival images of virtual machines having incremental snapshots
US8250031B2 (en) 2008-08-26 2012-08-21 Hitachi, Ltd. Low traffic failback remote copy
US8250033B1 (en) 2008-09-29 2012-08-21 Emc Corporation Replication of a data set using differential snapshots
US8099572B1 (en) 2008-09-30 2012-01-17 Emc Corporation Efficient backup and restore of storage objects in a version set
US8006043B2 (en) 2008-10-06 2011-08-23 Vmware, Inc. System and method for maintaining memory page sharing in a virtual environment
US8473697B1 (en) 2008-10-29 2013-06-25 Netapp, Inc. Method and system for volume based snapshot restore
WO2010065271A2 (en) 2008-11-25 2010-06-10 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Systems and methods for providing continuous file protection at block level
US8819362B1 (en) 2009-03-26 2014-08-26 Emc Corporation Managing replication and reservations
US8452930B2 (en) 2009-03-27 2013-05-28 Hitachi, Ltd. Methods and apparatus for backup and restore of thin provisioning volume
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8555009B1 (en) 2009-07-31 2013-10-08 Symantec Corporation Method and apparatus for enabling and managing application input/output activity while restoring a data store
US8645647B2 (en) 2009-09-02 2014-02-04 International Business Machines Corporation Data storage snapshot with reduced copy-on-write
US8904125B1 (en) 2009-09-03 2014-12-02 Symantec Corporation Systems and methods for creating reference-based synthetic backups
US8161077B2 (en) 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US8417907B2 (en) 2009-10-29 2013-04-09 Symantec Corporation Synchronizing snapshot volumes across hosts
US8433867B2 (en) 2010-01-09 2013-04-30 International Business Machines Corporation Using the change-recording feature for point-in-time-copy technology to perform more effective backups
US8745002B2 (en) 2010-02-04 2014-06-03 Symantec Corporation Mounting applications on a partially replicated snapshot volume
US8244685B2 (en) 2010-02-24 2012-08-14 Autonomy, Inc. Data restoration utilizing forward and backward deltas
US8260752B1 (en) 2010-03-01 2012-09-04 Symantec Corporation Systems and methods for change tracking with multiple backup jobs
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
CN102236589B (zh) 2010-05-04 2013-04-17 南京壹进制信息技术有限公司 一种基于数字标识符管理增量文件的数据保护方法
US8453145B1 (en) 2010-05-06 2013-05-28 Quest Software, Inc. Systems and methods for instant provisioning of virtual machine files
JP2012014286A (ja) 2010-06-29 2012-01-19 Toshiba Corp ストレージシステム、同システムにおけるデータバックアップ方法及びデータバックアッププログラム
US8666944B2 (en) 2010-09-29 2014-03-04 Symantec Corporation Method and system of performing a granular restore of a database from a differential backup
US8924360B1 (en) * 2010-09-30 2014-12-30 Axcient, Inc. Systems and methods for restoring a file
US8788769B2 (en) 2010-11-16 2014-07-22 Actifio, Inc. System and method for performing backup or restore operations utilizing difference information and timeline state information
US8688645B2 (en) 2010-11-30 2014-04-01 Netapp, Inc. Incremental restore of data between storage systems having dissimilar storage operating systems associated therewith
US8886609B2 (en) 2010-12-17 2014-11-11 Microsoft Corporation Backup and restore of data from any cluster node
US8635187B2 (en) 2011-01-07 2014-01-21 Symantec Corporation Method and system of performing incremental SQL server database backups
US8738883B2 (en) * 2011-01-19 2014-05-27 Quantum Corporation Snapshot creation from block lists
US10114701B2 (en) 2011-01-28 2018-10-30 International Business Machines Corporation Space efficient cascading point in time copying
US8676763B2 (en) * 2011-02-08 2014-03-18 International Business Machines Corporation Remote data protection in a networked storage computing environment
JP2012230621A (ja) 2011-04-27 2012-11-22 Sony Corp メモリ装置、メモリ制御装置、メモリ制御方法
KR101790165B1 (ko) 2011-08-09 2017-11-20 삼성전자 주식회사 메모리 시스템 및 그것의 메타 데이터 관리 방법
EP2780796B1 (en) 2011-11-18 2019-01-02 Dell Software Inc. Method of and system for merging, storing and retrieving incremental backup data
US9218138B1 (en) 2012-03-30 2015-12-22 Emc Corporation Restoring snapshots to consistency groups of mount points
US20140136472A1 (en) 2012-05-23 2014-05-15 Bi-Builders As Methodology supported business intelligence (BI) software and system
CN103455440A (zh) 2012-06-04 2013-12-18 慧荣科技股份有限公司 快闪内存装置及快闪内存的数据存取方法
US9116726B2 (en) 2012-09-28 2015-08-25 Vmware, Inc. Virtual disk snapshot consolidation using block merge
US8832024B2 (en) 2012-10-26 2014-09-09 Netapp, Inc. Simplified copy offload
US9047238B2 (en) 2012-11-28 2015-06-02 Red Hat Israel, Ltd. Creating a virtual machine from a snapshot
US8990465B2 (en) 2012-12-09 2015-03-24 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Device presence detection using a single channel of a bus
US8782005B2 (en) 2012-12-12 2014-07-15 Storagecraft Technology Corporation Pruning previously-allocated free blocks from a synthetic backup
US9563655B2 (en) 2013-03-08 2017-02-07 Oracle International Corporation Zero and near-zero data loss database backup and recovery
IN2013CH01006A (ja) * 2013-03-08 2015-08-14 Lsi Corp
US11194667B2 (en) 2014-02-07 2021-12-07 International Business Machines Corporation Creating a restore copy from a copy of a full copy of source data in a repository that is at a different point-in-time than a restore point-in-time of a restore request
US11169958B2 (en) 2014-02-07 2021-11-09 International Business Machines Corporation Using a repository having a full copy of source data and point-in-time information from point-in-time copies of the source data to restore the source data at different points-in-time
US10372546B2 (en) 2014-02-07 2019-08-06 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
US10176048B2 (en) * 2014-02-07 2019-01-08 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times and reading data from the repository for the restore copy
US10387446B2 (en) 2014-04-28 2019-08-20 International Business Machines Corporation Merging multiple point-in-time copies into a merged point-in-time copy
US10241691B2 (en) 2014-11-04 2019-03-26 Rubrik, Inc. Data management system

Also Published As

Publication number Publication date
CN105960635B (zh) 2021-02-09
CN105960635A (zh) 2016-09-21
US10372546B2 (en) 2019-08-06
US11150994B2 (en) 2021-10-19
GB2538464B (en) 2020-08-12
DE112015000343T5 (de) 2016-09-22
GB201614650D0 (en) 2016-10-12
WO2015125030A1 (en) 2015-08-27
US20190179708A1 (en) 2019-06-13
JP2017509958A (ja) 2017-04-06
GB2538464A (en) 2016-11-16
US20150227432A1 (en) 2015-08-13

Similar Documents

Publication Publication Date Title
JP6831701B2 (ja) 異なるポイント・イン・タイムにおけるソース・データを有するリポジトリのソース・データのコピーからのリストア・コピーの生成
US11194667B2 (en) Creating a restore copy from a copy of a full copy of source data in a repository that is at a different point-in-time than a restore point-in-time of a restore request
US10956281B2 (en) Using a forward log storage and backward log storage to recover a storage to a forward or backward point-in-time
US11169958B2 (en) Using a repository having a full copy of source data and point-in-time information from point-in-time copies of the source data to restore the source data at different points-in-time
US11630839B2 (en) Merging multiple point-in-time copies into a merged point-in-time copy
US10176048B2 (en) Creating a restore copy from a copy of source data in a repository having source data at different point-in-times and reading data from the repository for the restore copy
JP5669988B2 (ja) 多重ターゲット・コピーの維持
JP7004714B2 (ja) 整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のためのコンピュータ・プログラム、システム、および方法
US9251230B2 (en) Exchanging locations of an out of synchronization indicator and a change recording indicator via pointers
US11175994B2 (en) Copying data from multiple point-in-time copies to a log storage to use to roll-back a source storage
US11182373B2 (en) Updating change information for current copy relationships when establishing a new copy relationship having overlapping data with the current copy relationships
US11042491B2 (en) Point in time copy operations from source volumes to space efficient target volumes in two stages via a non-volatile storage
US10776211B1 (en) Methods, systems, and apparatuses to update point in time journal using map reduce to create a highly parallel update
US10754730B2 (en) Copying point-in-time data in a storage to a point-in-time copy data location in advance of destaging data to the storage
US20140351533A1 (en) Parallel processes for performing multiple incremental copies
US10783047B2 (en) Forming a consistency group comprised of volumes maintained by one or more storage controllers
US11656947B2 (en) Data set recovery from a point-in-time logical corruption protection copy
US10705765B2 (en) Managing point-in-time copies for extents of data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181218

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190605

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20190605

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190613

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20190618

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20190705

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20190709

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200407

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20200609

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200623

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200908

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200908

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20200911

C272 Notice of ex officio correction

Free format text: JAPANESE INTERMEDIATE CODE: C272

Effective date: 20201006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201009

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20201124

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20210122

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20210128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210129

R150 Certificate of patent or registration of utility model

Ref document number: 6831701

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150