JP6663995B2 - 大規模分散スケールアウトデータシステムをバックアップするためのシステム及び方法 - Google Patents

大規模分散スケールアウトデータシステムをバックアップするためのシステム及び方法 Download PDF

Info

Publication number
JP6663995B2
JP6663995B2 JP2018531139A JP2018531139A JP6663995B2 JP 6663995 B2 JP6663995 B2 JP 6663995B2 JP 2018531139 A JP2018531139 A JP 2018531139A JP 2018531139 A JP2018531139 A JP 2018531139A JP 6663995 B2 JP6663995 B2 JP 6663995B2
Authority
JP
Japan
Prior art keywords
backup
storage
data
data objects
distributed scale
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
JP2018531139A
Other languages
English (en)
Other versions
JP2019505040A (ja
Inventor
スリドハーラン・スリニート
Original Assignee
ベリタス テクノロジーズ エルエルシー
ベリタス テクノロジーズ エルエルシー
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 ベリタス テクノロジーズ エルエルシー, ベリタス テクノロジーズ エルエルシー filed Critical ベリタス テクノロジーズ エルエルシー
Publication of JP2019505040A publication Critical patent/JP2019505040A/ja
Application granted granted Critical
Publication of JP6663995B2 publication Critical patent/JP6663995B2/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/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

デジタル時代において、組織は、益々、デジタルで記憶されたデータに頼っている。デジタルで記憶されたデータに対する依存が増すにつれ、組織は、益々、柔軟かつ手ごろなストレージソリューションを求める。このため、いくつかの組織は、分散スケールアウトストレージシステム上にデータを記憶し得る。分散スケールアウトストレージシステムは、ストレージの統一ビューを提供しつつ、管理者が新しいストレージデバイスをストレージバックエンドに追加することを可能にし得、これによって、ストレージの拡縮可能な拡張を容易化し、構成タスクを潜在的に最小化する。
データ損失を保護するために、組織は、重要データをバックアップするためにバックアップシステムを使用し得る。ただし、従来のバックアップシステムは、分散スケールアウトストレージシステム上に記憶されたデータをバックアップするときに不十分に実施し得る。例えば、従来のバックアップシステムは、分散スケールアウトストレージシステム上に記憶された大規模データセットをバックアップすることに非常に時間が掛かり得る、及び/又はバックアップを実施するために大量の高価なハードウェアを必要とし得る。
したがって、本開示は、大規模分散スケールアウトデータシステムをバックアップするための、追加の改良されたシステム及び方法の必要性を識別し、それに対処する。
以下により詳細に説明されることになるように、本開示は、概して、バックアップジョブのサイズに基づいて分散スケールアウトストレージシステムに適用するバックアップジョブのためのバックアップシステムを動的にプロビジョニングすること、バックアップジョブをプロビジョニングされたバックアップシステムに割り当てられた数個のより小さなバックアップタスクに分割すること、より小さなバックアップタスクを実施すること(例えば、プロビジョニングされたバックアップシステムによって並行して)、及びより小さなバックアップタスクの結果を統一バックアップに組み合わせること(例えば、分散スケールアウトデータシステムによって提供された統一ストレージビューを反映すること)によって、大規模分散スケールアウトデータシステムをバックアップするためのシステム及び方法に関する。加えて、いくつかの例においてこれらのシステム及び方法は、分散スケールアウトデータシステムの基礎的ストレージアーキテクチャに関する情報に基づいてバックアップジョブを分割し得る(分散スケールアウトデータシステムによって提供された統一ストレージビューに頼るのではなく)。
一例において、大規模分散スケールアウトデータシステムをバックアップするためのコンピュータ実装方法は、(1)統一ストレージビューを提示する分散スケールアウトストレージシステム上で実施されることになるバックアップジョブを識別することであって、バックアップジョブがデータオブジェクトグループを含む、識別することと、(2)分散スケールアウトストレージに適用するバックアップジョブに応答し、かつバックアップジョブの範囲に基づいて、バックアップジョブを実施するために配備するバックアップシステムの数を判定することと、(3)バックアップシステム内の各バックアップシステムに対して、(i)バックアップシステムに対して、バックアップするバックアップジョブ内のデータオブジェクトのサブセットを割り当てること、及び(ii)バックアップシステムによって、バックアップシステムに割り当てられた複数のデータオブジェクトのサブセットをバックアップすることによって、判定されたバックアップシステムの数に基づいてバックアップシステムグループを配備して、データオブジェクトを包含するバックアップグループを作成することと、(4)分散スケールアウトデータシステムの統一ストレージビューを表す統一バックアップにバックアップを組み合わせることを含み得る。
いくつかの例において、バックアップを作成することは、バックアップを並行して作成することを含み得る。
一実施形態において、バックアップシステムに対して、バックアップするバックアップジョブ内のデータオブジェクトのサブセットを割り当てることは、バックアップシステムに割り当てるデータオブジェクトのターゲット割合に基づいてデータオブジェクトのサブセット内に含むデータオブジェクトの数を判定することを含み得る。
一実施形態において、バックアップシステムに対して、バックアップするバックアップジョブ内のデータオブジェクトのサブセットを割り当てることは、データオブジェクトグループが分散スケールアウトストレージシステム内の単一のストレージノード上で共に記憶されることを判定すること、及び分散スケールアウトストレージシステム内の単一のストレージノード上で共に記憶されているデータオブジェクトグループに基づいて、バックアップシステムに割り当てられたデータオブジェクトのサブセット内にデータオブジェクトグループを含むことを含み得る。
いくつかの例において、データオブジェクトグループが分散スケールアウトストレージシステム内の単一のストレージノード上で共に記憶されることを判定することは、統一ストレージビュー内でデータオブジェクトグループ内の各データオブジェクトの記憶位置を判定するのではなく、分散スケールアウトストレージシステムの分散アーキテクチャのビュー内でデータオブジェクトグループ内の各データオブジェクトの記憶位置を判定することを含み得る。
いくつかの例において、分散スケールアウトストレージシステムの統一ストレージビューを表す統一バックアップにバックアップを組み合わせることは、バックアップ内の別個のバックアップ内に記憶された2つのデータオブジェクト間の少なくとも1つの関係を記述するメタデータをバックアップすること、及び2つのデータオブジェクト間の関係を統一バックアップ内で再構築することを含み得る。
いくつかの例において、判定されたバックアップシステムの数に基づいてバックアップシステムを配備することは、コンピュータリソースのプールからバックアップシステムを動的に始動することを含み得る。
いくつかの例において、バックアップを作成することは、データオブジェクトを含むスナップショットを撮るように分散スケールアウトストレージシステムに指示することと、バックアップをスナップショットから作成することと、を含み得る。
いくつかの例において、バックアップを作成することは、スナップショットグループを撮るように分散スケールアウトストレージシステムに指示することであって、各スナップショットがデータオブジェクトの整合性グループに対応し、これが整合性グループ内のデータオブジェクトの中の時点整合性のために構成されている、指示することと、バックアップをスナップショットから作成することと、を含み得る。
一実施形態において、分散スケールアウトストレージに適用するバックアップジョブに応答して、バックアップジョブを実施するために配備するバックアップシステムの数を判定することは、分散スケールアウトストレージシステムが分散スケールアウトストレージを表すことを判定することに応答してバックアップジョブに適用するコンピューティングリソースの静的セットを割り当てるのではなく、バックアップジョブに適用するコンピューティングリソースの量を動的に評価することを含み得る。
一実施形態において、上記の方法を実装するためのシステムは、(1)統一ストレージビューを提示する分散スケールアウトストレージシステム上で実施されることになるバックアップジョブを識別し、バックアップジョブがデータオブジェクトグループを含む、メモリ内に記憶された、識別モジュールと、(2)分散スケールアウトストレージに適用するバックアップジョブに応答し、かつバックアップジョブの範囲に基づいて、バックアップジョブを実施するために配備するバックアップシステムの数を判定する、メモリ内に記憶された判定モジュールと、(3)バックアップシステム内の各バックアップシステムに対して、(i)バックアップシステムに対して、バックアップするバックアップジョブ内のデータオブジェクトのサブセットを割り当てること、及び(ii)バックアップシステムによって、バックアップシステムに割り当てられた複数のデータオブジェクトのサブセットをバックアップすることによって、判定されたバックアップシステムの数に基づいてバックアップシステムグループを配備して、データオブジェクトを包含するバックアップグループを作成する、メモリ内に記憶された、配備モジュールと、(4)分散スケールアウトデータシステムの統一ストレージビューを表す統一バックアップにバックアップを組み合わせる、メモリ内に記憶された、組み合わせモジュールと、(5)識別モジュール、判定モジュール、配備モジュール、及び組み合わせモジュールを実行するように構成された少なくとも1つの物理的プロセッサと、を含み得る。
いくつかの例では、上記の方法は、非一過性コンピュータ可読媒体上にコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読媒体は、1つ又は2つ以上のコンピュータ実行可能命令を含み、コンピュータ実行可能命令は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されたときに、コンピューティングデバイスに、(1)統一ストレージビューを提示する分散スケールアウトストレージシステム上で実施されることになるバックアップジョブを識別することであって、バックアップジョブがデータオブジェクトグループを含む、識別することと、(2)分散スケールアウトストレージに適用するバックアップジョブに応答し、かつバックアップジョブの範囲に基づいて、バックアップジョブを実施するために配備するバックアップシステムの数を判定することと、(3)(i)各バックアップシステムに対して、バックアップするバックアップジョブ内のデータオブジェクトのサブセットを割り当てること、及び(ii)バックアップシステムによって、バックアップシステムに割り当てられた複数のデータオブジェクトのサブセットをバックアップすることによって、判定されたバックアップシステムの数に基づいてバックアップシステムグループを配備して、データオブジェクトを包含するバックアップグループを作成することと、(4)分散スケールアウトデータシステムの統一ストレージビューを表す統一バックアップにバックアップを組み合わせることと、を行わせ得る。
上記で述べた実施形態のうちのいずれかからの機能は、本明細書で説明する一般原理に従って互いと組み合わせて使用されてもよい。これらの及び他の実施形態、特性、及び利点は、添付の図面及び請求項と併せて、以下の詳細な説明を一読することで、より完全に理解されよう。
添付の図面は、いくつかの例示的な実施形態を例解し、かつ本明細書の一部である。以下の説明と共に、これらの図面は、本開示の種々の原理を実証及び説明する。
大規模分散スケールアウトデータシステムをバックアップするための例示的なシステムのブロック図である。 大規模分散スケールアウトデータシステムをバックアップするための追加の例示的なシステムのブロック図である。 大規模分散スケールアウトデータシステムをバックアップするための例示的な方法のフロー図である。 大規模分散スケールアウトデータシステムをバックアップするための例示的なコンピューティングシステムのブロック図である。 大規模分散スケールアウトデータシステムをバックアップするための例示的なデータストレージビューのブロック図である。 大規模分散スケールアウトデータシステムをバックアップするための例示的なコンピューティングシステムのブロック図である。 本明細書で説明及び/又は図示される実施形態のうちの1つ若しくは2つ以上を実装することができる例示的コンピューティングシステムのブロック図である。 本明細書で説明及び/又は図示される実施形態のうちの1つ若しくは2つ以上を実装することができる例示的なコンピューティングネットワークのブロック図である。 図面を通じて、同一の参照文字及び説明は、類似であるが、必ずしも同一ではない要素を示す。本明細書において説明される例示的な実施形態は、種々の修正及び代替的な形態が可能であるが、具体的な実施形態が、図面において、例として示されており、かつ本明細書において詳細に説明される。しかしながら、本明細書において説明される例示的な実施形態は、開示される特定の形態に限定されることを意図されない。むしろ、本開示は、添付の請求項の範囲内にある全ての修正物、同等物、及び代替物を網羅する。
本開示は、大規模分散スケールアウトデータシステムをバックアップするためのシステム及び方法を概して対象とする。以下により詳細に説明されるように、バックアップジョブのサイズに基づいて分散スケールアウトストレージシステムに適用するバックアップジョブのためのバックアップシステムを動的にプロビジョニングすること、バックアップジョブをプロビジョニングされたバックアップシステムに割り当てられた数個のより小さなバックアップタスクに分割すること、より小さなバックアップタスクを実施すること(例えば、プロビジョニングされたバックアップシステムによって並行して)、及びより小さなバックアップタスクの結果を統一バックアップに組み合わせること(例えば、分散スケールアウトデータシステムによって提供された統一ストレージビューを反映すること)によって、本明細書に説明されるシステム及び方法は、表面的に固定されたストレージシステムのストレージ構成を変更することに応答する様式で必要な場合にバックアップジョブのためのコンピューティングリソース柔軟に提供し得る。加えて、いくつかの例において、分散スケールアウトデータシステムの基礎的ストレージアーキテクチャに関する情報に基づいてバックアップジョブを分割することによって(分散スケールアウトデータシステムによって提供された統一ストレージビューに頼るのではなく)、これらのシステム及び方法は、バックアップ性能を改善し得る。
以下において、図1、図2、図4、及び図6を参照して、大規模分散スケールアウトデータシステムをバックアップするための例示的なシステムについての詳細な説明がなされる。対応するコンピュータ実装方法についての詳細な説明もまた、図3に関連して提供される。加えて、例示的なデータストレージビューの詳細な説明は、図5に関連して提供される。それに加えて、本明細書で説明する実施形態のうちの1つ若しくは2つ以上を実装できる例示的なコンピューティングシステム及びネットワークアーキテクチャについての詳細な説明が、図7及び図8と関連してそれぞれ提供される。
図1は、大規模分散スケールアウトデータシステムをバックアップするための例示的なシステム100のブロック図である。この図に示すように、例示的なシステム100は、1つ若しくは2つ以上のタスクを実施するための1つ若しくは2つ以上のモジュール102を含んでもよい。例えば、かつ下記でより詳細に説明するように、例示的なシステム100は、統一ストレージビューを提示する分散スケールアウトストレージ上で実施されることになるバックアップジョブを識別する識別モジュール104を含んでもよく、バックアップジョブは、複数のデータオブジェクトを含む。例示的なシステム100は、分散スケールアウトストレージに適用するバックアップジョブに応答し、かつバックアップジョブの範囲に基づいて、バックアップジョブを実施するために配備するバックアップシステムの数を判定する判定モジュール106を追加的に含み得る。例示的なシステム100はまた、複数のバックアップシステム内の各バックアップシステムに対して、(1)バックアップシステムに対して、バックアップするバックアップジョブ内の複数のデータオブジェクトのサブセットを割り当てること、(2)バックアップシステムによって、バックアップシステムに割り当てられた複数のデータオブジェクトのサブセットをバックアップすることによって、判定されたバックアップシステムの数に基づいて複数のバックアップシステムを配備して、複数のデータオブジェクトを包含する複数のバックアップを作成する配備モジュール108を含み得る。例示的なシステム100は、複数のバックアップを分散スケールアウトストレージシステムの統一ストレージビューを表す統一バックアップに組み合わせる組み合わせモジュール110を追加的に含み得る。別個の要素として例解されるが、図1のモジュール102のうちの1つ若しくは2つ以上は、単一のモジュール又はアプリケーションの一部分を表し得る。
特定の実施形態では、図1のモジュール102のうちの1つ若しくは2つ以上は、コンピューティングデバイスによって実行されるとき、コンピューティングデバイスに、1つ若しくは2つ以上のタスクを実施させてもよい1つ若しくは2つ以上のソフトウェアアプリケーション又はプログラムを表してもよい。例えば、かつ下記でより詳細に説明するように、モジュール102のうちの1つ若しくは2つ以上は、1つ若しくは2つ以上のコンピューティングデバイス、例えば、図2に示すデバイス(例えば、コンピューティングデバイス202、及び/又は分散スケールアウトストレージシステム206)、図7のコンピューティングシステム710、及び/又は図8の例示的なネットワークアーキテクチャ800の部分等において動作するように記憶及び構成されたソフトウェアモジュールを表してもよい。図1のモジュール102のうちの1つ若しくは2つ以上はまた、1つ若しくは2つ以上のタスクを実施するように構成された1つ若しくは2つ以上の特殊目的のコンピュータの全て又は部分を表してもよい。
図1に例解されるように、例示的なシステム100はまた、データベース120等の1つ又は2つ以上のデータベースを含み得る。一例において、データベース120は、データオブジェクト122を記憶するように構成され得る。
データベース120は、単一のデータベース若しくはコンピューティングデバイス、又は複数のデータベース若しくはコンピューティングデバイスの一部分を表し得る。例えば、データベース120は、図2の分散スケールアウトストレージシステム206の一部分、図7のコンピューティングシステム710、及び/又は図8の例示的なネットワークアーキテクチャ800の一部分を表し得る。代替的に、図1のデータベース120は、図2の分散スケールアウトストレージシステム206、図7のコンピューティングシステム710、及び/又は図8の例示的なネットワークアーキテクチャ800の一部分等のコンピューティングデバイスによって、アクセスされることが可能な1つ又は2つ以上の物理的に別個のデバイスを表し得る。一例において、データベース120は、バックアップデータリポジトリを表し得る。
図1の例示的なシステム100は、様々な態様で実装されてもよい。例えば、例示的なシステム100の全て又は一部分は、図2の例示的なシステム200の部分を表してもよい。図2に示すように、システム200は、ネットワーク204を介して分散スケールアウトストレージシステム206と通信する1つ又は2つ以上のコンピューティングデバイス202を含んでもよい。一例において、コンピューティングデバイス202は、モジュール102のうちの1つ若しくは2つ以上と共にプログラムされ得る、及び/又はデータベース120内のデータの全て若しくは一部分を記憶し得る。追加的又は代替的に、サーバ206は、モジュール102のうちの1つ若しくは2つ以上と共にプログラムされ得る、及び/又はデータベース120内のデータの全て若しくは一部分を記憶し得る。
一実施形態において、図1のモジュール102のうちの1つ又は2つ以上は、コンピューティングデバイス202及び/又は分散スケールアウトストレージシステム206の少なくとも1つのプロセッサによって実行されたとき、コンピューティングデバイス202及び/又は分散スケールアウトストレージシステム206が大規模分散スケールアウトデータシステムをバックアップすることを可能にし得る。例えば、かつ下記でより詳細に説明するように、モジュール102のうちの1つ又は2つ以上は、コンピュータデバイス202及び/又は分散スケールアウトストレージシステム206に、分散スケールアウトストレージシステム206によって記憶されたデータオブジェクト122をバックアップさせ得る。例えば、かつ下記でより詳細に説明するように、識別モジュール104は、統一ストレージビュー208を提示する分散スケールアウトストレージシステム206上で実施されることになるバックアップジョブ220を識別し得、バックアップジョブ220が、データオブジェクト122を含む。判定モジュール106は、分散スケールアウトストレージに適用するバックアップジョブ220に応答し、かつバックアップジョブ220の範囲に基づいて、バックアップジョブ220を実施するために配備するバックアップシステム222の数を判定し得る。配備モジュール108は、複数のバックアップシステム230内の各システムに対して、(1)バックアップシステムに対して、バックアップするバックアップジョブ220内のサブセットデータオブジェクト122を割り当てること、及び(2)バックアップシステムによって、バックアップシステムに割り当てられた複数のデータオブジェクト122のサブセットをバックアップすることによって、判定されたバックアップシステム222の数に基づいてバックアップシステム230を配備し、複数のデータオブジェクト122を包含するバックアップ240を作成し得る。組み合わせモジュール110は、分散スケールアウトストレージシステム206の統一ストレージビュー208を表す統一バックアップ250にバックアップ240を組み合わせ得る。
コンピューティングデバイス202は、コンピュータ実行可能命令を読み出すことができる任意のタイプ又は形式のコンピューティングデバイスを概して表す。コンピューティングデバイス202の例としては、限定することなく、ラップトップ、タブレット、デスクトップ、サーバ、携帯電話、個人情報機器(Personal Digital Assistants、PDA)、マルチメディアプレイヤー、組み込みシステム、ウェアラブルデバイス(例えば、スマートウォッチ、スマートグラス等)、ゲーム機、これらのもののうちの1つ若しくは2つ以上の組み合わせ、図7の例示的なコンピューティングシステム710、又は任意の別の好適なコンピューティングデバイスが挙げられる。
分散スケールアウトストレージシステム206は、データを記憶すること及び/又は1つ若しくは2つ以上のインターフェースを記憶されたデータに提供することができる任意のタイプ又は形式のコンピューティングシステムを概して表す。分散スケールアウトストレージシステム206の例としては、限定することなく、ストレージデバイス及び/又は記憶動作を実施するためのコンピューティングノードが挙げられる。
ネットワーク204は、通信又はデータ転送を容易にすることができる任意の媒体又はアーキテクチャを概して表す。ネットワーク204の例としては、限定することなく、イントラネット、ワイドエリアネットワーク(Wide Area Network、WAN)、ローカルエリアネットワーク(Local Area Network、LAN)、ストレージエリアネットワーク(Storage Area Network、SAN)、パーソナルエリアネットワーク(Personal Area Network、PAN)、インターネット、電力線通信(Power Line Communication、PLC)、セルラネットワーク(例えば、汎欧州デジタル移動電話方式(Global System for Mobile Communication、GSM(登録商標))ネットワーク)、又は図8の例示的なネットワークアーキテクチャ800などを含む。ネットワーク204は、無線又は有線接続を使用して、通信又はデータ転送を容易にし得る。一実施形態において、ネットワーク204は、コンピューティングデバイス202と分散スケールアウトストレージシステム206との間の通信を容易にし得る。
図3は、大規模分散スケールアウトデータシステムをバックアップするための例示的なコンピュータ実装方法300のフロー図である。図3に示す工程は、任意の好適なコンピュータ実行可能なコード及び/又はコンピューティングシステムによって実施されてもよい。いくつかの実施形態において、図3に示す工程は、図1のシステム100、図2のシステム200、図7のコンピューティングシステム710、及び/又は図8の例示的なネットワークアーキテクチャ800の部分の構成要素のうちの1つ若しくは2つ以上によって実施されてもよい。
図3で例示するように、工程302において、本明細書に説明されるシステムの1つ又は2つ以上は、統一ストレージビューを提示する分散スケールアウトストレージシステム上で実施されることになるバックアップジョブを識別し得、バックアップジョブが複数のデータオブジェクトを含む。例えば、識別モジュール104は、図2のコンピューティングデバイス202の一部として、統一ストレージビュー208を提示する分散スケールアウトストレージシステム206上で実施されることになるバックアップジョブ220を識別し得、バックアップジョブ220が複数のデータオブジェクト122を含む。
本明細書で使用される、「バックアップジョブ」という用語は、1つ又は2つ以上のバックアップ動作を実施するための任意の構成、スクリプト及び/又は仕様を意味し得る。いくつかの例において、バックアップジョブは、バックアップされることになるデータオブジェクト、データオブジェクトをバックアップするスケジュール、及び/又はデータオブジェクトがバックアップされることになる1つ若しくは2つ以上の条件を、直接的に及び/又は間接的に特定し得る。様々な例において、バックアップジョブは、完全バックアップ(例えば、分散スケールアウトストレージシステムによって供給される統一ストレージビューの)、選択されたバックアップ、差分バックアップ、及び/又は増分バックアップを含み得る。本明細書で使用される、「バックアップ動作」という用語は、データのバックアップ、保護、転送、及び/又は複製のための任意の動作を含み得る。
本明細書で使用される、「分散スケールアウトストレージシステム」という用語は、スケールアウトされ得る(例えば、ストレージシステムに1つ若しくは2つ以上のコンピューティングノード及び/又はストレージデバイスを追加することによって)任意のストレージシステムを意味し得る。本明細書で使用される、「ノード」という用語は、ストレージシステムを更にスケールアウトするために分散スケールアウトストレージシステムに追加され得る任意のコンピューティング要素を意味し得る。例えば、「ノード」という用語は、コンピューティングノード(例えば、記憶動作を容易化する)及び/又はストレージデバイスを意味し得る。統一ストレージビューは、分散スケールアウトストレージシステムによって記憶されたデータの論理的、仮想、及び/又は集約されたビューを含み得る。例えば、分散スケールアウトストレージシステムは、マルチコンピューティングノード及び/又はストレージデバイスを含み得るが、分散スケールアウトストレージシステムは、マルチコンピューティングノード及び/又はストレージデバイスを表す単一のデータリポジトリを公開し得る。いくつかの例において、公開されたデータリポジトリは、分散スケールアウトストレージシステムに新たに追加されたコンピューティングノード及び/又はストレージデバイスによって記憶されたデータオブジェクトのビューをシームレスに提供し得る。いくつかの例において、統一ビューは、分散スケールアウトストレージシステム内の個々のストレージデバイス及び/若しくはコンピューティングノードを無視し得る、並びに/又はデータオブジェクトの基礎的記憶位置(例えば、1つ若しくは2つ以上のコンピューティングノード及び/又はストレージデバイスに対応する)を提供しない場合がある。いくつかの例において、統一ストレージビューは、データオブジェクトを記述する及び/又はデータオブジェクト間の関係を定義するメタデータを含み得る。いくつかの例において、統一ストレージビューを介して提供されたメタデータは、分散スケールアウトストレージシステムによって別個に記憶され得る、及び/又はデータオブジェクトの一部として記憶されない場合がある。したがって、データオブジェクトのコピー(例えば、バックアップコピー)は、統一ストレージビューを介して提供されたメタデータを欠く場合がある。
本明細書で使用される、「データオブジェクト」という用語は、ストレージシステムによる記憶が可能である任意のデータアイテムを意味し得る。データオブジェクトの例としては、限定することなく、ファイルシステムオブジェクト(例えば、ファイル)、データベース、及びデータベースエントリが挙げられ得る。
識別モジュール104は、様々なコンテキストのいずれかにおいてバックアップジョブを識別し得る。例えば、識別モジュール104は、分散スケールアウトストレージシステム上で記憶されたデータオブジェクトをバックアップするように構成されるバックアップジョブを識別し得る。いくつかの例において、識別モジュール104は、統一ストレージビューによって提示されるものとしてデータをバックアップするように構成されるバックアップジョブを識別し得る。例えば、バックアップジョブは、統一ストレージビューによって提示された論理的データリポジトリ及び/又は統一ストレージビューによって提示されるものとして1つ若しくは2つ以上の論理的記憶位置を特定し得る(例えば、分散スケールアウトストレージシステム用のデータ並びに/あるいはコンピューティングノード及び/又はストレージデバイス上の1つ若しくは2つ以上のデータオブジェクトの記憶位置を記憶する、1つ若しくは2つ以上のコンピューティングノード及び/又はストレージデバイスを特定することと対照的に)。
いくつかの例において、識別モジュール104は、バックアップジョブが分散スケールアウトストレージシステムに適用することを判定し得る。例えば、バックアップジョブは、分散スケールアウトストレージシステムに対応するように分散スケールアウトストレージシステムの統一ストレージビューによって提示されたデータリポジトリを特定するように構成され得る。追加的又は代替的に、識別モジュール104は、分散スケールアウトストレージシステムが分散スケールアウトストレージシステムであることを判定するために分散スケールアウトストレージシステムを分析し得る。例えば、識別モジュール104は、分散スケールアウトストレージシステムが分散スケールアウトストレージであることを示す分散スケールアウトストレージシステムに関する製品情報を取得し得る、分散スケールアウトストレージシステムが分散スケールアウトストレージであることを示す情報について分散スケールアウトストレージシステムを問合わせ得る、及び/又は分散スケールアウトストレージシステムが分散スケールアウトストレージであることを示す分散スケールアウトストレージシステムによる行動パターンを識別し得る。いくつかの例において、下記でより詳細に説明するように、本明細書で説明されるシステムの1つ又は2つ以上は、バックアップジョブが分散スケールアウトストレージシステムに適用することを判定することに応答して本明細書で説明される工程の1つ又は2つ以上を実施し得る。
図3を参照すると、工程304において、本明細書で説明されるシステムの1つ又は2つ以上は、分散スケールアウトストレージに適用するバックアップジョブに応答し、かつバックアップジョブの範囲に基づいて、バックアップジョブを実施するために配備するバックアップシステムの数を判定し得る。例えば、判定モジュール106は、図2のコンピューティングデバイス202の一部として、分散スケールアウトストレージに適用するバックアップジョブ220に応答し、かつバックアップジョブ220の範囲に基づいて、バックアップジョブ220を実施するために配備するバックアップシステム222の数を判定し得る。
本明細書で使用される、「バックアップシステム」という用語は、データをバックアップするために使用され得る任意のシステム、サーバ、作業負荷、及び/又はプロセスを意味し得る。いくつかの例において、バックアップシステムは、動的にプロビジョニングされた仮想マシン内で実行するシステムを含み得る。
判定モジュール106は、任意の好適な様式で配備するバックアップシステムの数を判定し得る。例えば、判定モジュール106は、各バックアップシステムに対するターゲットタスクサイズ(例えば、バックアップするデータ量)を判定し、かつそのターゲットタスクサイズが与えられたバックアップジョブを包含することになるバックアップシステムの数を判定し得る。追加的又は代替的に、判定モジュール106は、バックアップジョブの全部分が包含されるまで、バックアップジョブに対してバックアップシステムを配備することによってバックアップシステムの数を判定し得る。いくつかの例において、判定モジュール106は、サービスレベル目標(例えば、バックアップジョブが完了されるまでの時間に関して)を識別すること、及びサービスレベル目標に合致するために十分なバックアップシステムの数を推定すること(例えば、バックアップシステムが並行して動作する仮定において)によってバックアップシステムの数を判定し得る。
いくつかの例において、判定モジュール106は、分散スケールアウトストレージシステムが分散スケールアウトストレージを表すことを判定することに応答してバックアップジョブに適用するコンピューティングリソースの静的セットを割り当てるのではなく、バックアップジョブに適用するコンピューティングリソースの量を動的に評価し得る。例えば、判定モジュール106は、(例えば、予め定義済みのバックアップセットを使用するのではなく)分散スケールアウトストレージシステムがスケーラブルシステムであることを判定することに基づいて配備するバックアップシステムの数を判定し得る。
図3を参照すると、工程306において、本明細書で説明されるシステムの1つ又は2つ以上は、複数のバックアップシステム内の各バックアップシステムに対して、(1)バックアップシステムに対して、バックアップするバックアップジョブ内の複数のデータオブジェクトのサブセットを割り当てること、(2)バックアップシステムによって、バックアップシステムに割り当てられた複数のデータオブジェクトのサブセットをバックアップすることによって、判定されたバックアップシステムの数に基づいて複数のバックアップシステムを配備して、複数のデータオブジェクトを包含する複数のバックアップを作成し得る。例えば、配備モジュール108は、図2のコンピューティングデバイス202の一部として、バックアップシステム230内の各システムに対して、(1)バックアップシステムに対して、バックアップするバックアップジョブ220内のデータオブジェクト122のサブセットを割り当てること、及び(2)バックアップシステムによって、バックアップシステムに割り当てられた複数のデータオブジェクト122のサブセットをバックアップすることによって、判定されたバックアップシステム222の数に基づいてバックアップシステム230を配備して、データオブジェクト122を包含するバックアップ240を作成し得る。
配備モジュール108は、複数のバックアップを任意の好適な様式で作成し得る。例えば、配備モジュール108は、バックアップシステムを並行に配備し得る、及び/又は複数のバックアップを並行に作成するようにバックアップシステムを指示し得る。例えば、配備モジュール108は、バックアップシステムをスケジュールされた時間に配備し得、バックアップシステムは、それらが配備されたときにバックアップを作成し得る。したがって、いくつかの例において、バックアップシステムの1つ又は2つ以上は、重複時間窓によってバックアップ動作を実施し得る。いくつかの例において、配備モジュール108は、スケジュールされたバックアップ時間(例えば、バックアップジョブによって特定された)の前にバックアップシステムを配備することを開始し得、それにより、バックアップシステムは、スケジュールされたバックアップ時間にバックアップを即座に実施する。
配備モジュール108は、各バックアップシステムに対し、複数のデータオブジェクトの対応するサブセットを任意の好適な様式で割り当て得る。例えば、配備モジュール108は、バックアップシステムに割り当てるデータオブジェクトのターゲット割合に基づいてサブセット内に含むデータオブジェクトの数を判定することによって、各サブセットを対応するバックアップシステムに割り当て得る。追加的又は代替的に、配備108は、バックアップシステムに割り当てるデータのターゲット割合に基づいてサブセット内に含む総データ量を判定することによって、各サブセットを対応するバックアップシステムに割り当て得る。したがって、いくつかの例において、配備モジュール108は、各バックアップシステムにバックアップするための同一データ量を概略的に割り当て得る(例えば、1つ又は2つ以上の追加の割り当て制約に従って)。いくつかの例において、配備モジュール108は、所定閾値未満に収まる差分範囲によってデータオブジェクトをバックアップシステムに割り当て得る。
いくつかの例において、配備モジュール108は、どのように及び/又はどこにデータオブジェクトが分散スケールアウトストレージシステムによって記憶されるかに基づいて、バックアップのためのバックアップシステムにデータオブジェクトのサブセットを割り当て得る。例えば、配備モジュール108は、データオブジェクトグループが分散スケールアウトストレージシステム内で単一のストレージノード(例えば、単一のコンピューティングノードによって及び/又は単一のストレージデバイスにおいて)上で共に記憶され、かつデータオブジェクトグループが分散スケールアウトストレージシステム内の単一のストレージノード上で共に記憶されていることに基づいて、単一のバックアップシステムに割り当てられることになるサブセット内のデータオブジェクトグループを含むことを判定し得る。いくつかの例において、1つ又は2つ以上のストレージノードは、バックアップのための各バックアップシステムに割り当てられ得るが、単一のストレージノードに対するバックアップ動作は、マルチバックアップシステムの中で分割されない場合がある。いくつかの例において、上記に説明されたように、マルチストレージノードは、マルチストレージノード内のデータ量(例えば、それにより、各バックアップシステムが略同一データ量をバックアップする)、及び/又はマルチストレージノード内のデータをバックアップするための推定時間量(例えば、それにより、各バックアップシステムは、データのバックアップに略同一時間量を費やす)に基づいてバックアップシステムに割り当てられ得る。いくつかの例において、マルチストレージノードは、マルチストレージノード間の関係に基づいてバックアップシステムに割り当てられ得る。例えば、マルチストレージノードは、互いに論理的に近接して位置しているマルチストレージノードに基づいて同一バックアップシステムに割り当てられ得る(例えば、同一ラック上に位置している等の互いの間の低ホップ数を有することに基づいて)。いくつかの例において、データオブジェクトは、データオブジェクトが属する整合性グループに少なくとも部分的に基づいてバックアップのためのバックアップシステムに割り当てられる。
配備モジュール108は、データオブジェクトグループが様々な方式のいずれかで分散スケールアウトストレージシステム内で共に記憶されること(例えば、単一のコンピューティングノードによって及び/又は単一のストレージノード上で)を判定し得る。例えば、配備モジュール108は、統一ストレージビュー内でデータオブジェクトグループ内の各データオブジェクトの記憶位置を判定するのではなく、分散スケールアウトストレージシステムの分散アーキテクチャのビュー内でデータオブジェクトグループ内の各データオブジェクトの記憶位置を判定し得る。配備モジュール108は、各データオブジェクトの記憶位置を任意の好適な様式で判定し得る。例えば、配備モジュール108は、統一ストレージビュー内で識別されたデータオブジェクトの基礎的記憶位置について分散スケールアウトストレージシステムを問合わせ得る。追加的又は代替的に、配備モジュール108は、データオブジェクトの基礎的記憶位置を判定するために、分散スケールアウトストレージシステムのアーキテクチャ及び/又はそれによって維持されたメタデータを分析し得る。いくつかの例において、配備モジュール108は、データオブジェクトの基礎的記憶位置のリストを別個に維持し得(例えば、分散スケールアウトストレージシステムの活動を監視することによって)、及び/又は別のシステムによって維持されたそのようなリストにアクセスし得る。
いくつかの例において、配備モジュール108は、コンピューティングリソースのプールから複数のバックアップシステムを動的に始動することによって複数のバックアップシステムを配備し得る。例えば、配備モジュール108は、バックアップシステムとしてマルチ仮想マシンをプロビジョニングし得る。追加的又は代替的に、配備モジュール108は、バックアップシステムをマルチクラウド基盤作業負荷配備し得る。いくつかの例において、配備モジュール108は、コンテナ(例えば、コンテナ基盤仮想環境)内でバックアップシステムを配備し得る。いくつかの例において、配備モジュール108は、物理的デバイスに事前にインストールされたバックアップエージェントを起動し得る。
いくつかの例において、バックアップシステムは、データオブジェクトを1つ又は2つ以上のスナップショットからバックアップし得る。例えば、配備モジュール108は、複数のデータオブジェクトを含むスナップショットを撮るように分散スケールアウトストレージシステムに指示し得る。バックアップシステムは、その後、複数のデータオブジェクトをスナップショットからバックアップし得る。追加的又は代替的に、配備モジュール108は、複数のスナップショットを撮るように分散スケールアウトストレージシステムに指示し得、各スナップショットがデータオブジェクトの整合性グループに対応し、これが整合性グループ内のデータオブジェクトの中の時点整合性のために構成される。この例において、バックアップシステムは、その後、複数のデータオブジェクトをそれぞれのスナップショットからバックアップし得る。配備モジュール108及び/又は分散スケールアウトストレージシステムは、整合性グループを任意の好適な様式で識別し得る。例えば、配備モジュール108は、整合性グループに属するように単一のアプリケーションに付属するデータオブジェクトを識別し得る。追加的又は代替的に、配備モジュール108は、整合性グループに属するように関連アプリケーション(例えば、互いに通信する並びに/又は互いの入力及び/若しくは出力によって影響を受けるアプリケーション)に付属するデータオブジェクトを識別し得る。いくつかの例において、配備モジュール108は、ユーザ定義済み整合性グループを識別し得る。いくつかの例において、分散スケールアウトストレージシステム内の同一基礎的記憶(例えば、同一ストレージデバイスにおける及び/又は同一ストレージノードによる)位置上に記憶されたデータオブジェクトは、同一整合性グループに割り当てられ得る。
図4は、大規模分散スケールアウトデータシステムをバックアップするための例示的なシステム400を図示する。図4で示すように、例示的なシステム400は、分散スケールアウトデータシステムのためのストレージを提供するストレージノード412、414、416、418、420、422、424、426、及び428を含み得る。一例において、バックアップジョブは、ストレージノード412、414、416、418、420、422、424、及び426によって記憶されたデータオブジェクトに適用し得る。したがって、本明細書で説明される1つ又は2つ以上のシステムは、ストレージノードをグループ化し、グループをバックアップシステムに割り当てることによって、データオブジェクトをバックアップするタスクを分割し得る。例えば、配備モジュール108は、ストレージノード412及び418を含むグループ432、ストレージノード414、416、420、及び422を含むグループ434、並びにストレージノード424及び426を含むグループ436を定義し得る。
図5は、分散スケールアウトデータシステムの例示的なストレージビュー500を図示する。図5で示すように、例示的なストレージビュー500は、データオブジェクト502、504、506、508、510、512、514、516、518、520、522、524、526、528、530、532、534、536、538、540、542、544、546、548、及び550を含み得る。加えて、例示的なストレージビュー500はまた、データオブジェクト間の関係を含み得る。例えば、ストレージビュー500は、データオブジェクト502とデータオブジェクト504、506、及び508との間の親子関係、データオブジェクト508とデータオブジェクト510との間の親子関係、データオブジェクト504とデータオブジェクト512、514、516、518、520、522、及び524との間の親子関係等を定義し得る。一例において、分散スケールアウトデータシステムに適用するバックアップジョブは、分散スケールアウトデータシステムによって記憶されたデータのいくつかのみに適用し得る(例えば、増分バックアップを表す)。一例において、配備モジュール108は、バックアップされることになるそれらのデータオブジェクトを3つのグループ、グループA、グループB、及びグループC(例えば、それぞれ図4のグループ432、434、及び436に対応する)に分割し得る。したがって、データオブジェクト506、516、534、544、及び550は、同一バックアップシステムによってバックアップされ得、データオブジェクト504、518、522、526、及び530は、同一バックアップシステムによってバックアップされ得、データオブジェクト510、512、520、542、及び546は、同一バックアップシステムによってバックアップされ得る。
図3を参照すると、工程308において、本明細書で説明されるシステムの1つ又は2つ以上は、分散スケールアウトストレージシステムの統一ストレージビューを表す統一バックアップに複数のバックアップを組み合わせ得る。例えば、組み合わせモジュール110は、図2のコンピューティングデバイス202の一部として、分散スケールアウトストレージシステム206の統一ストレージビュー208を表す統一バックアップ250にバックアップ240を組み合わせ得る。
組み合わせモジュール110は、任意の好適な様式で複数のバックアップを統一バックアップに組み合わせ得る。例えば、組み合わせモジュール110は、バックアップジョブによって単一のバックアップ用に特定された形式で複数のバックアップを記憶することによって複数のバックアップを組み合わせ得る。追加的又は代替的に、組み合わせモジュール110は、バックアップジョブによって統一バックアップ用の識別情報の下で複数のバックアップを記憶することによって複数のバックアップを組み合わせ得る。いくつかの例において、組み合わせモジュール110は、単一のストレージコンテナ内の複数のバックアップを記憶することによって複数のバックアップを組み合わせ得る。
いくつかの例において、組み合わせモジュール110は、データオブジェクトを記述するメタデータを含む複数のバックアップによって取得されたバックアップデータを統合することによって複数のバックアップを組み合わせ得る。例えば、組み合わせモジュール110は、複数のバックアップ内の別個のバックアップ内に記憶された2つのデータオブジェクト間の少なくとも1つの関係を記述するメタデータをバックアップし得、統一バックアップ内で2つのデータオブジェクト間の関係を再構築し得る。いくつかの例において、組み合わせモジュール110は、データオブジェクトを記述するメタデータにバックアップ内に記憶されたデータオブジェクトをマッピングすることによって統一バックアップを作成し得る。追加的又は代替的に、組み合わせモジュール110は、データオブジェクトを記述するメタデータをバックアップ内に記憶されたデータオブジェクトにマッピングすることによって統一バックアップを作成し得る。
図6は、大規模分散スケールアウトデータシステムをバックアップするための例示的なシステム600を示す。図6で示すように、例示的なシステム600は、分散スケールアウトデータシステムによって提示されるリポジトリ610を含み得る。例示的なシステム600はまた、図4に図示されたグループ432、434、及び436等のストレージノードを含み得る。一例において、本明細書で説明されるシステムは、リソースプール630からバックアップサーバ632、634、及び636をプロビジョニングし、グループ432、434、及び436内のデータオブジェクトをバックアップするためにバックアップサーバ632、634、及び636をそれぞれ配備し得る。バックアップサーバ632、634、及び636は、それによって、それぞれのバックアップ642、644、646を作成し得る。加えて、本明細書で説明されるシステムの1つ又は2つ以上は、リポジトリ610から関係メタデータ650を取得し得る(例えば、分散スケールアウトデータシステムによって提供された統一ストレージビューから)。組み合わせモジュール110は、統一バックアップ660を生成するために、関係メタデータ650と共に、バックアップ642、644、及び646を組み合わせ得る。
図3の方法300に関して上記で説明されたように、本明細書で説明されるシステムは、大規模リポジトリ全体内の適格データのバックアップを共に構成する管理可能なサイズの独立バックアップにバックアップジョブを分解することによって、分散スケールアウトデータシステム内に記憶された大量のデータを保護し得る(ただしクライアントに単一のリポジトリとして公開される)。例えば、バックアップが構成され得(例えば、選択によって)、これは、バックアップに適格であるデータを判定することになる。本明細書で説明されるシステムは、(1)適格データの独立的に記憶されたサブセットを識別するために1次ストレージシステム(つまり、分散スケールアウトシステムによって実装された)と相互作用し得る。本明細書で説明されるシステムは、適格データの複製が記憶され、独立的に記憶されたサブセットを形成する場所を判定し得る。例えば、百万個のデータオブジェクトがバックアップに対して適格であり得、これらのデータオブジェクトのうちの200000個が1つのノード内に記憶され、したがって1つのサブセットにグループ化され得、200000個が別のノード内に記憶され、したがって別のサブセットにグループ化され得る。
いくつかの例において、本明細書で説明されるシステムは、データオブジェクト及び/又は複製が分散スケールアウトシステムから記憶されるノードに関する情報を取得し得る。例えば、本明細書で説明されるシステムは、アプリケーションプログラミングインターフェース(「API」)を通して情報にアクセスし得る。独立サブセットの数及び独立サブセットのサイズに基づいて、本明細書で説明されるシステムは、バックアップノードの数をプロビジョニング及び/又は保証し得、各バックアップノードが1つ又は2つ以上の独立サブセットを包含する。識別されたバックアップノードの各々は、それ自体のサブセットのバックアップを実施し得る(例えば、管理可能な時間内にバックアップを完了するために)。本明細書で説明されるシステムは、どのように別個のバックアップが1次ストレージシステム全体内で適格データのバックアップを共に構成するかを識別するためにバックアップと共に記憶されたメタデータを使用し得る。様々な例において、本明細書で説明されるシステムは、オンプレミスストレージ、クラウドストレージ、及び/又はテープストレージへのバックアップを実施し得る。
いくつかの例において、1次ストレージシステムは、ストレージノードにわたるタスクを調整することによってスナップショットを撮り得る。別の例において、1次ストレージシステムは、データセット全体内の整合性グループによって判定されるようにストレージのサブセットのスナップショットを撮り得る。
1次ストレージシステムの分散スケールアウトアーキテクチャを認識することによって、及び保護されているデータによるスケーリングによって、本明細書で説明されるシステムは、分散スケールアウトストレージシステムのためのバックアップを効率的かつ効果的に実施し得る。これらのシステムは、バックアップジョブを複数のより小さいジョブに分解すること、及びバックアップ結果をメタデータと共に作成することによってバックアップスケーリングを達成し得る。
図7は、本明細書で説明及び/又は図示する実施形態のうちの1つ若しくは2つ以上を実装することができる例示的なコンピューティングシステム710のブロック図である。例えば、コンピューティングシステム710の全て又は一部分は、単独又は他の要素との組み合わせのいずれかで、本明細書において説明される工程のうちの1つ若しくは2つ以上(図3に例示する工程のうちの1つ若しくは2つ以上等)を実施してもよく、及び/又は実施するための手段であってもよい。コンピューティングシステム710の全て又は一部分はまた、本明細書に記載された及び/又は図示された任意の別の工程、方法、又はプロセスを実施してもよく、及び/又は実施するための手段であってもよい。
コンピューティングシステム710は、コンピュータ可読命令を実行することができる任意の単一又はマルチプロセッサコンピューティングデバイス又はシステムを広く表す。コンピューティングシステム710の例としては、限定することなく、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型計算システム、携帯用デバイス、又は任意の別のコンピューティングシステム若しくはデバイスが挙げられる。その最も基本的な構成において、コンピューティングシステム710は、少なくとも1つのプロセッサ714と、システムメモリ716と、を含んでもよい。
プロセッサ714は、データを処理すること、又は命令を解釈して実行することができる任意のタイプ又は形式の物理処理ユニット(例えば、ハードウェア実装中央処理ユニット)を概して表す。特定の実施形態では、プロセッサ714は、ソフトウェアアプリケーション又はモジュールから命令を受信してもよい。これらの命令は、プロセッサ714に、本明細書に記載及び/又は図示する例示的な実施形態のうちの1つ若しくは2つ以上の機能を実施させてもよい。
システムメモリ716は、データ及び/又は他のコンピュータ可読命令を記憶することが可能な任意のタイプ又は形式の揮発性又は非揮発性ストレージデバイス若しくは媒体を概して表す。システムメモリ716の例としては、限定することなく、ランダムアクセスメモリ(Random Access Memory、RAM)、読み取り専用メモリ(Read Only Memory、ROM)、フラッシュメモリ、又は任意の他の好適なメモリデバイスを含む。必須ではないが、特定の実施形態においてコンピューティングシステム710は、揮発性メモリユニット(例えば、システムメモリ716等)、及び非揮発性ストレージデバイス(例えば、以下で詳細に説明するような1次ストレージデバイス732等)の両方を含んでもよい。一例では、図1からのモジュール102のうちの1つ若しくは2つ以上は、システムメモリ716にロードされてもよい。
特定の実施形態では、例示的なコンピューティングシステム710はまた、プロセッサ714及びシステムメモリ716に加えて、1つ若しくは2つ以上の構成要素又は要素を含んでもよい。例えば、図7に示すように、コンピューティングシステム710は、メモリコントローラ718と、入力/出力(I/O)コントローラ720と、通信インターフェース722と、を含んでもよく、これらの各々は、通信インフラストラクチャ712を介して相互接続されてもよい。通信インフラストラクチャ712は、コンピューティングデバイスの1つ又は2つ以上の構成要素間の通信を容易にすることが可能な任意のタイプ又は形式のインフラストラクチャを概して表す。通信インフラストラクチャ712の例としては、限定することなく、通信バス(業界標準アーキテクチャ(Industry Standard Architecture、ISA)、周辺構成要素相互接続(Peripheral Component Interconnect、PCI)、PCIエクスプレス(PCI Express、PCIe)、又は類似のバス等)、及びネットワークが挙げられる。
メモリコントローラ718は、メモリ若しくはデータを取り扱うことが可能な、又はコンピューティングシステム710の1つ又は2つ以上の構成要素の間の通信を制御することが可能な任意のタイプ又は形式のデバイスを概して表す。例えば、特定の実施形態においてメモリコントローラ718は、通信インフラストラクチャ712を介して、プロセッサ714、システムメモリ716、及びI/Oコントローラ720の間の通信を制御してもよい。
I/Oコントローラ720は、コンピューティングデバイスの入出力機能を調整及び/又は制御することが可能な任意のタイプ又は形式のモジュールを概して表す。例えば、特定の実施形態においてI/Oコントローラ720は、プロセッサ714、システムメモリ716、通信インターフェース722、表示アダプタ726、入力インターフェース730、及び記憶インターフェース734等のコンピューティングシステム710の1つ若しくは2つ以上の要素の間のデータの転送を制御してもよく、又は容易にしてもよい。
通信インターフェース722は、例示的なコンピューティングシステム710と、1つ若しくは2つ以上の追加のデバイスとの間の通信を容易にすることが可能な任意のタイプ又は形式の通信デバイス又はアダプタを広く表す。例えば、特定の実施形態において通信インターフェース722は、コンピューティングシステム710と追加のコンピューティングシステムを含む私的又は公的ネットワークとの間の通信を容易にしてもよい。通信インターフェース722の例としては、限定することなく、有線ネットワークインターフェース(ネットワークインターフェースカードなど)、無線ネットワークインターフェース(無線ネットワークインターフェースカードなど)、モデム、及び任意の他の好適なインターフェースが挙げられる。少なくとも1つの実施形態では、通信インターフェース722は、インターネットなどのネットワークへの直接的なリンクを介して、リモートサーバへの直接的な接続を提供してもよい。通信インターフェース722はまた、例えば、ローカルエリアネットワーク(イーサネット(登録商標)ネットワークなど)、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラ電話接続、衛星データ接続、又は任意の他の好適な接続を通じて、かかる接続を間接的に提供してもよい。
特定の実施形態では、通信インターフェース722はまた、外部バス又は通信チャネルを介して、コンピューティングシステム710と、1つ若しくは2つ以上の追加のネットワーク又はストレージデバイスとの間の通信を容易にするように構成されたホストアダプタを表してもよい。ホストアダプタの例としては、限定することなく、スモールコンピュータシステムインターフェース(SCSI)ホストアダプタ、ユニバーサルシリアルバス(USB)ホストアダプタ、米国電気電子技術者協会(IEEE)1394ホストアダプタ、アドバンストテクノロジーアタッチメント(ATA)、パラレルATA(PATA)、シリアルATA(SATA)、及びエクスターナルSATA(eSATA)ホストアダプタ、ファイバチャネルインターフェースアダプタ、イーサネット(登録商標)アダプタなどが挙げられる。通信インターフェース722はまた、コンピューティングシステム710が分散又は遠隔コンピューティングに関与することを可能にしてもよい。例えば、通信インターフェース722は、実行のために、遠隔デバイスから命令を受信するか、又は遠隔デバイスに命令を送信してもよい。
図7に示すように、コンピューティングシステム710はまた、表示アダプタ726を介して、通信インフラストラクチャ712に連結される少なくとも1つの表示デバイス724を含んでもよい。表示デバイス724は、表示アダプタ726によって転送された情報を視覚的に表示することが可能な任意のタイプ又は形式のデバイスを概して表す。同様に、表示アダプタ726は、表示デバイス724上に表示するために、通信インフラストラクチャ712から(又は当該技術分野において既知のように、フレームバッファから)、グラフィックス、テキスト、及び他のデータを転送するように構成された任意のタイプ又は形式のデバイスを概して表す。
図7に示すように、例示的なコンピューティングシステム710はまた、入力インターフェース730を介して、通信インフラストラクチャ712に連結される少なくとも1つの入力デバイス728を含んでもよい。入力デバイス728は、コンピュータ又はヒトのいずれかによって生成された入力を、例示的なコンピューティングシステム710に提供することが可能な任意のタイプ又は形式の入力デバイスを概して表す。入力デバイス728の例としては、限定することなく、キーボード、ポインティングデバイス、音声認識デバイス、又は任意の他の入力デバイスを含む。
図7に示すように、例示的なコンピューティングシステム710はまた、記憶インターフェース734を介して、通信インフラストラクチャ712に連結される1次ストレージデバイス732及びバックアップストレージデバイス733を含んでもよい。ストレージデバイス732及び733は、データ及び/又は他のコンピュータ可読命令を記憶することが可能な任意のタイプ又は形式のストレージデバイス又は媒体を概して表す。例えば、ストレージデバイス732及び733は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ等であり得る。記憶インターフェース734は、コンピューティングシステム710のストレージデバイス732及び733と、他の構成要素との間でデータを転送するための任意のタイプ又は形式のインターフェース又はデバイスを概して表す。一例において、図1からのデータベース120は、1次ストレージデバイス732内に記憶され得る。
特定の実施形態では、ストレージデバイス732及び733は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を記憶するように構成された取り外し可能なストレージユニットから読み取るように、及び/又はそれに書き込むように構成されてもよい。好適な取り外し可能なストレージユニットの例としては、限定することなく、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。ストレージデバイス732及び733はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令が、コンピューティングシステム710にロードされることを可能にするための他の類似の構造又はデバイスを含んでもよい。例えば、ストレージデバイス732及び733は、ソフトウェア、データ、他のコンピュータ可読情報を読み取る、及び書き込むように構成されてもよい。ストレージデバイス732及び733は、コンピューティングシステム710の部分であってもよく、又は他のインターフェースシステムによってアクセスされる別個のデバイスであってもよい。
多くの他のデバイス又はサブシステムは、コンピューティングシステム710に接続されてもよい。逆に、図7に示す構成要素及びデバイスの全てが、本明細書において説明及び/又は例示される実施形態を実践するために存在する必要があるわけではない。上記で述べたデバイス及びサブシステムはまた、図7に示すものとは異なる様式で相互接続されてもよい。コンピューティングシステム710はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を採用してもよい。例えば、本明細書において開示される例示的な実施形態のうちの1つ若しくは2つ以上は、コンピュータ可読媒体上に、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される)としてコード化され得る。「コンピュータ可読媒体」という語句は、本明細書において使用される際、概して、コンピュータ可読命令を記憶又は担持することが可能な任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、限定することなく、搬送波等の伝送タイプ媒体、並びに磁気ストレージ媒体(例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク)、光ストレージ媒体(例えば、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、及びBLU−RAYディスク)、電子ストレージ媒体(例えば、ソリッドステートドライブ及びフラッシュ媒体)等の非一時的タイプ媒体、並びに他の分散システムが挙げられる。
コンピュータプログラムを含むコンピュータ可読媒体は、コンピューティングシステム710にロードされてもよい。次いで、コンピュータ可読媒体上に記憶されたコンピュータプログラムの全て又は一部分は、システムメモリ716及び/又はストレージデバイス732及び733の種々の部分に記憶されてもよい。プロセッサ714によって実行されるとき、コンピューティングシステム710にロードされたコンピュータプログラムは、本明細書において説明及び/又は図示する例示的な実施形態のうちの1つ若しくは2つ以上の機能をプロセッサ714に実施させてもよく、及び/又はそれらを実施するための手段であってもよい。追加的に又は代替案として、本明細書において説明及び/又は図示される例示的な実施形態のうちの1つ若しくは2つ以上は、ファームウェア及び/又はハードウェアにおいて実装され得る。例えば、コンピューティングシステム710は、本明細書において開示される例示的な実施形態のうちの1つ若しくは2つ以上を実装するように適合された特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)として構成されてもよい。
図8は、クライアントシステム810、820、及び830、並びにサーバ840及び845がネットワーク850に連結されてもよい例示的なネットワークアーキテクチャ800のブロック図である。上記で詳述されたように、ネットワークアーキテクチャ800の全て又は一部分は、単独又は他の要素との組み合わせのいずれかで、本明細書において開示される工程のうちの1つ若しくは2つ以上(図3に例示する工程のうちの1つ若しくは2つ以上等)を実施してもよく、及び/又は実施するための手段であってもよい。ネットワークアーキテクチャ800の全て又は一部分はまた、本開示において記載された他の工程及び機能を実施するために使用されてもよく、及び/又は実施するための手段であってもよい。
クライアントシステム810、820、及び830は、図7の例示的なコンピューティングシステム710等の任意のタイプ又は形式のコンピューティングデバイス又はシステムを概して表す。同様に、サーバ840及び845は、種々のデータベースサービスを提供するように、及び/又は特定のソフトウェアアプリケーションを走らせるように構成されたアプリケーションサーバ又はデータベースサーバ等のコンピューティングデバイス又はシステムを概して表す。ネットワーク850は、例えば、イントラネット、WAN、LAN、PAN、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを概して表す。一例では、クライアントシステム810、820、及び/又は830、並びに/あるいはサーバ840及び/又は845は、図1からのシステム100の全て又は一部分を含んでもよい。
図8に示すように、1つ若しくは2つ以上のストレージデバイス860(1)〜(N)は、サーバ840に直接取設されてもよい。同様に、1つ若しくは2つ以上のストレージデバイス870(1)〜(N)は、サーバ845に直接取設されてもよい。ストレージデバイス860(1)〜(N)及びストレージデバイス870(1)〜(N)は、データ及び/又は他のコンピュータ可読命令を記憶することが可能な任意のタイプ又は形式のストレージデバイス又は媒体を概して表す。特定の実施形態では、ストレージデバイス860(1)〜(N)及びストレージデバイス870(1)〜(N)は、ネットワークファイルシステム(Network File System、NFS)、サーバメッセージブロック(Server Message Block、SMB)、又は共通インターネットファイルシステム(Common Internet File System、CIFS)等の種々のプロトコルを使用して、サーバ840及び845と通信するように構成されたネットワーク接続型ストレージ(Network-Attached Storage、NAS)デバイスを表してもよい。
サーバ840及び845はまた、ストレージエリアネットワーク(Storage Area Network、SAN)ファブリック880に接続されてもよい。SANファブリック880は、複数のストレージデバイス間の通信を容易にすることが可能な任意のタイプ又は形式のコンピュータネットワーク又はアーキテクチャを概して表す。SANファブリック880は、サーバ840及び845と、複数のストレージデバイス890(1)〜(N)及び/又は知的ストレージアレイ895との間の通信を容易にしてもよい。SANファブリック880はまた、デバイス890(1)〜(N)及びアレイ895が、クライアントシステム810、820、及び830にローカルに取設されたデバイスとして見えるような態様で、ネットワーク850並びにサーバ840及び845を介して、クライアントシステム810、820、及び830と、ストレージデバイス890(1)〜(N)及び/又は知的ストレージアレイ895との間の通信を容易にしてもよい。ストレージデバイス860(1)〜(N)及びストレージデバイス870(1)〜(N)と同様に、ストレージデバイス890(1)〜(N)及び知的ストレージアレイ895は、データ及び/又は他のコンピュータ可読命令を記憶することが可能な任意のタイプ又は形式のストレージデバイス又は媒体を概して表す。
特定の実施形態では、図7の例示的なコンピューティングシステム710を参照すると、図7の通信インターフェース722等の通信インターフェースは、それぞれのクライアントシステム810、820、及び830と、ネットワーク850との間の接続性を提供するために使用されてもよい。クライアントシステム810、820、及び830は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ840又は845上の情報にアクセスすることが可能であってもよい。かかるソフトウェアは、クライアントシステム810、820、及び830が、サーバ840、サーバ845、ストレージデバイス860(1)〜(N)、ストレージデバイス870(1)〜(N)、ストレージデバイス890(1)〜(N)、又は知的ストレージアレイ895によってホストされるデータにアクセスすることを可能にしてもよい。図8は、データを交換するためのネットワーク(インターネット等)の使用を描写するが、本明細書において説明及び/又は例示する実施形態は、インターネット又はいずれの特定のネットワークベースの環境にも限定されない。
少なくとも1つの実施形態において、本明細書において開示される例示的な実施形態のうちの1つ若しくは2つ以上の全て又は一部分は、コンピュータプログラムとしてコード化されてもよく、サーバ840、サーバ845、ストレージデバイス860(1)〜(N)、ストレージデバイス870(1)〜(N)、ストレージデバイス890(1)〜(N)、知的ストレージアレイ895、又はこれらの任意の組み合わせにロードされ、これらによって実行されてもよい。本明細書において開示される例示的な実施形態のうちの1つ若しくは2つ以上の全て又は一部分はまた、コンピュータプログラムとしてコード化され、サーバ840内に記憶され、サーバ845によって実行され、ネットワーク850を通じてクライアントシステム810、820、及び830に分散されてもよい。
上記で詳述したように、コンピューティングシステム710及び/又はネットワークアーキテクチャ800の1つ若しくは2つ以上の構成要素は、単独又は他の要素との組み合わせのいずれかで、大規模分散スケールアウトデータシステムをバックアップするための例示的な方法の1つ若しくは2つ以上の工程を実施してもよく、及び/又は実施するための手段であってもよい。
上述の開示は、具体的なブロック図、フローチャート、及び実施例を使用して、種々の実施形態を記載するが、本明細書において説明及び/又は例解される各ブロック図の構成要素、フローチャートの工程、動作、及び/又は構成要素は、広範なハードウェア、ソフトウェア、又はファームウェア(又はこれらの任意の組み合わせ)構成を使用して、個々に、及び/又は集合的に実装され得る。加えて、他の構成要素内に含まれる構成要素のいずれの開示も、多くの他のアーキテクチャを実装して、同じ機能性を達成することができるため、事実上、例示的であると見なされるべきである。
いくつかの例では、図1の例示的なシステム100の全て又は一部分は、クラウドコンピューティング又はネットワークベース環境の部分を表してもよい。クラウドコンピューティング環境は、インターネットを介して、種々のサービス及びアプリケーションを提供し得る。これらのクラウドベースのサービス(例えば、サービスとしてのソフトウェア、サービスとしてプラットフォーム、サービスとしてのインフラストラクチャなど)は、ウェブブラウザ又は他の遠隔インターフェースを通じて、アクセス可能であり得る。本明細書において説明される種々の機能は、遠隔デスクトップ環境又は任意の他のクラウドベースのコンピューティング環境を通じて提供され得る。
種々の実施形態において、図1の例示的なシステム100の全て又は一部分は、クラウドベースのコンピューティング環境内のマルチテナンシーを容易にし得る。換言すると、本明細書において説明されるソフトウェアモジュールは、本明細書において説明される機能のうちの1つ若しくは2つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム(例えば、サーバ)を構成し得る。例えば、本明細書において説明されるソフトウェアモジュールのうちの1つ若しくは2つ以上は、2つ若しくは3つ以上のクライアント(例えば、顧客)が、サーバ上で実行されているアプリケーションを共有することを可能にするように、サーバをプログラムし得る。このようにプログラムされたサーバは、複数の顧客(即ち、テナント)間でアプリケーション、オペレーティングシステム、処理システム、及び/又はストレージシステムを共有し得る。本明細書において説明されるモジュールのうちの1つ若しくは2つ以上はまた、ある顧客が別の顧客のデータ及び/又は構成情報にアクセスすることができないように、各顧客に対して、マルチテナントアプリケーションのデータ及び/又は構成情報を分割し得る。
種々の実施形態によれば、図1の例示的なシステム100の全て又は一部分は、仮想環境内で実装され得る。例えば、本明細書において説明されるモジュール及び/又はデータは、仮想マシン内に存在し得る、及び/又はそこで実行し得る。本明細書において使用される際、「仮想マシン」という語句は、概して、仮想マシンマネージャ(例えば、ハイパーバイザ)によって、コンピューティングハードウェアから抽象化される任意のオペレーティングシステム環境を指す。追加的に又は代替案として、本明細書において説明されるモジュール及び/又はデータは、仮想化層内に存在し得る、及び/又はそこで実行し得る。本明細書において使用される際、「仮想化層」という語句は、概して、オペレーティングシステム環境に重なる、及び/又はそれから抽象化される、任意のデータ層及び/又はアプリケーション層を指す。仮想化層は、仮想化層を、根本的な基本オペレーティングシステムの一部であるかのように提示する、ソフトウェア仮想化ソリューション(例えば、ファイルシステムフィルタ)によって、管理され得る。例えば、ソフトウェア仮想化ソリューションは、最初は基本ファイルシステム及び/又はレジストリ内の場所に向けられた呼び出しを、仮想化層内の場所にリダイレクトし得る。
一部の実施例において、図1の例示的なシステム100の全て又は一部分は、モバイルコンピューティング環境の一部分を表し得る。モバイルコンピューティング環境は、モバイル電話、タブレットコンピュータ、電子書籍リーダ、パーソナルデジタルアシスタント、ウェアラブルコンピューティングデバイス(例えば、頭部装着型ディスプレイ、スマートウォッチなどを有するコンピューティングデバイス)などを含む、広範なモバイルコンピューティングデバイスによって実装され得る。一部の実施例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間に1つのフォアグラウンドアプリケーションのみを提示すること、遠隔管理特性、タッチスクリーン特性、場所及び移動データ(例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される)、システムレベルの構成への修正を制限する、及び/又は第3者のソフトウェアが他のアプリケーションの挙動を検査する能力、アプリケーションのインストールを制限する(例えば、承認されたアプリケーションストアのみから得る)能力などを制限する、制限されたプラットフォームを含む、1つ若しくは2つ以上の異なる特性を含み得る。本明細書において説明される種々の機能は、モバイルコンピューティング環境に対して提供され得る、及び/又はモバイルコンピューティング環境と相互作用し得る。
加えて、図1の例示的なシステム100の全て又は一部分は、情報管理のための1つ若しくは2つ以上のシステムの一部分を表し得る、それらの相互作用し得る、それらによって生成されるデータを消費し得る、及び/又はそれらによって消費されるデータを生成し得る。本明細書において使用される際、「情報管理」という語句は、データの保護、組織化、及び/又は記憶を指し得る。情報管理のためのシステムの例としては、限定することなく、ストレージシステム、バックアップシステム、アーカイバルシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどが挙げられ得る。
いくつかの実施形態では、図1の例示的なシステム100の全て又は一部分は、情報セキュリティのための1つ若しくは2つ以上のシステムの一部分を表し得る、それらによって保護されるデータを生成し得る、及び/又はそれらと通信し得る。本明細書において使用される際、「情報セキュリティ」という語句は、保護されたデータへのアクセスの制御を指し得る。情報セキュリティのためのシステムの例としては、限定することなく、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、アイデンティティ認証システム、アクセス制御システム、暗号化システム、ポリシーコンプライアンスシステム、侵入検出及び防止システム、電子ディスカバリシステムなどが挙げられ得る。
いくつかの例によれば、図1の例示的なシステム100の全て又は一部分は、エンドポイントセキュリティのための1つ若しくは2つ以上のシステムの一部分を表し得る、それらと通信し得る、及び/又はそれらから保護を受け得る。本明細書において使用される際、「エンドポイントセキュリティ」という語句は、不法及び/又は違法な使用、アクセス、及び/又は制御からのエンドポイントシステムの保護を指し得る。エンドポイント保護のためのシステムの例としては、限定することなく、マルウェア対策システム、ユーザ認証システム、暗号化システム、プライバシーシステム、スパムフィルタリングサービスなどが挙げられ得る。
本明細書において説明及び/又は例解される工程のプロセスパラメータ及び順序は、例として示されるに過ぎず、所望に応じて変化させることができる。例えば、本明細書において例解及び/又は説明される工程は、特定の順序で図示又は考察されるが、これらの工程は、必ずしも例解又は考察される順序で実施される必要はない。本明細書において説明及び/又は例解される種々の例示的な方法もまた、本明細書において説明若しくは例解される工程のうちの1つ若しくは2つ以上を省略し得るか、又は開示されるものに加えて追加の工程を含み得る。
種々の実施形態が、完全に機能的なコンピューティングシステムの文脈で、本明細書において説明及び/又は例解されているが、これらの例示的な実施形態のうちの1つ若しくは2つ以上は、分散を実際に行うために使用される特定のタイプのコンピュータ可読媒体にかかわらず、様々な形態のプログラム製品として分散され得る。本明細書において開示される実施形態はまた、あるタスクを実施するソフトウェアモジュールを使用して、実装され得る。これらのソフトウェアモジュールは、コンピュータ可読ストレージ媒体上に、又はコンピューティングシステム内に記憶され得る、スクリプト、バッチ、又は他の実行可能なファイルを含み得る。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書において開示される例示的な実施形態のうちの1つ若しくは2つ以上を実施するように、コンピューティングシステムを構成し得る。
加えて、本明細書において説明されるモジュールのうちの1つ若しくは2つ以上は、データ、物理的デバイス、及び/又は物理的デバイスの表現を、ある形態から別の形態に変換し得る。例えば、本明細書で列挙したモジュールのうちの1つ若しくは2つ以上は、変換されるべき記憶されたデータを受信することと、記憶されたデータをバックアップに変換することと、変換の結果をストレージシステムに出力することと、変換の結果を使用して統一バックアップを作成することと、変換の結果をバックアップストレージシステムに記憶することと、を行ってもよい。追加的に又は代替案として、本明細書において列挙されるモジュールのうちの1つ若しくは2つ以上は、コンピューティングデバイス上で実行すること、コンピューティングデバイス上にデータを記憶すること、及び/又はそうでなければ、コンピューティングデバイスと相互作用することによって、物理コンピューティングデバイスのプロセッサ、揮発性メモリ、非揮発性メモリ、及び/又は任意の他の部分を1つの形式からもう1つの形式に変換してもよい。
先述の説明は、当業者が、本明細書において開示される例示的な実施形態の種々の態様を最良に利用することを可能にするために提供されている。この例示的な説明は、包括的であること、又は開示されるいかなる正確な形態にも限定されることを意図されない。多くの修正及び改変が、本開示の趣旨及び範囲から逸脱することなく、可能である。本明細書において開示される実施形態は、全ての点において、例解的であり、制限的ではないと見なされるべきである。本開示の範囲を判定する上では、添付の請求項及びそれらの同等物を参照するべきである。
別途記載されない限り、「〜に接続される(connected to)」及び「〜に連結される(coupled to)」という用語(及びそれらの派生語)は、本明細書及び請求項において使用される際、直接的及び間接的(即ち、他の要素又は構成要素を介した)接続の両方を許容するとして解釈されるものとする。加えて、「a」又は「an」という用語は、本明細書及び請求項において使用される際、「〜のうちの少なくとも1つ(at least one of)」を意味するとして解釈されるものとする。最後に、使用を容易にするために、「含む(including)」及び「有する(having)」という用語(及びそれらの派生語)は、本明細書及び請求項において使用される際、「備える(comprising)」という語と同義的であり、かつ同じ意味を有する。

Claims (15)

  1. 大規模分散スケールアウトデータシステムをバックアップするためのコンピュータ実装方法であって、前記方法の少なくとも一部分は、少なくとも1つのプロセッサを備えるコンピューティングデバイスによって実施され、前記方法は、
    統一ストレージビューを提示する分散スケールアウトストレージシステム上で実施されることになるバックアップジョブを識別することであって、前記バックアップジョブが複数のデータオブジェクトを備え、前記分散スケールアウトストレージシステムが、前記統一ストレージビューとして、基礎的マルチストレージデバイスを表す単一のデータリポジトリをクライアントに公開する、識別することと、
    分散スケールアウトストレージに適用する前記バックアップジョブに応答して、かつ前記バックアップジョブの範囲に基づいて、前記バックアップジョブを実施するために配備するバックアップシステムの数を判定することと、
    前記判定されたバックアップシステムの数に基づいて複数のバックアップシステムを配備し、前記複数のデータオブジェクトを包含する複数のバックアップを作成することであって、前記複数のバックアップシステム内の各バックアップシステムに対して、(1)前記バックアップシステムに対して、バックアップする前記バックアップジョブ内の前記複数のデータオブジェクトのサブセットを割り当てること、及び(2)前記バックアップシステムによって、前記バックアップシステムに割り当てられた前記複数のデータオブジェクトの前記サブセットをバックアップすることによって、配備及び作成することであって、
    前記複数のバックアップシステムを配備することは、前記バックアップジョブを複数のサブセットに対応する複数のバックアップに分割することを含み、
    前記バックアップジョブは、前記統一ストレージビュー内で識別されたデータオブジェクトの基礎的記憶位置について前記分散スケールアウトストレージシステムに問い合わせることによって、少なくとも一部が前記分散スケールアウトストレージシステムの別個のそれぞれのストレージノードに元々記憶されていた前記バックアップジョブ内のデータオブジェクトを各サブセットが含むように分割されることと、
    前記複数のバックアップを、前記分散スケールアウトストレージシステムによって提示される前記統一ストレージビューを表す統一バックアップに組み合わせることと、を含む、コンピュータ実装方法。
  2. 前記複数のバックアップを作成することは、前記複数のバックアップを並行して作成することを含む、請求項1に記載のコンピュータ実装方法。
  3. 前記統一ストレージビューは、前記分散スケールアウトストレージシステム内の個々のコンピューティングノードを無視する、請求項1に記載のコンピュータ実装方法。
  4. 前記バックアップシステムに対して、バックアップする前記バックアップジョブ内の前記複数のデータオブジェクトの前記サブセットを割り当てることは、
    データオブジェクトグループが、前記分散スケールアウトストレージシステム内の前記別個のそれぞれのストレージノード上で共に記憶されていると判定することと、
    前記分散スケールアウトストレージシステム内の前記別個のそれぞれのストレージノード上で共に記憶されている前記データオブジェクトグループに基づいて、前記バックアップシステムに割り当てられた前記複数のデータオブジェクトの前記サブセット内に前記データオブジェクトグループを含むことと、を含む、請求項1に記載のコンピュータ実装方法。
  5. 前記データオブジェクトグループが前記分散スケールアウトストレージシステム内の前記別個のそれぞれのストレージノード上で共に記憶されることを判定することは、前記統一ストレージビュー内で前記データオブジェクトグループ内の各データオブジェクトの記憶位置を判定するのではなく、前記分散スケールアウトストレージシステムの分散アーキテクチャのビュー内で前記データオブジェクトグループ内の各データオブジェクトの記憶位置を判定することを含む、請求項4に記載のコンピュータ実装方法。
  6. 前記複数のバックアップを、前記分散スケールアウトストレージシステムの前記統一ストレージビューを表す統一バックアップに組み合わせることは、
    前記複数のバックアップ内の別個のバックアップ内に記憶された2つのデータオブジェクト間の少なくとも1つの関係を記述するメタデータをバックアップすることと、
    前記2つのデータオブジェクト間の前記関係を前記統一バックアップ内で再構築することと、を含む、請求項1に記載のコンピュータ実装方法。
  7. 前記判定されたバックアップシステムの数に基づいて前記複数のバックアップシステムを配備することは、前記複数のバックアップシステムをコンピューティングリソースのプールから動的に始動することを含む、請求項1に記載のコンピュータ実装方法。
  8. 前記複数のバックアップを作成することは、
    前記複数のデータオブジェクトを含むスナップショットを撮るように前記分散スケールアウトストレージシステムに指示することと、
    前記スナップショットから前記複数のバックアップを作成することと、を含む、請求項1に記載のコンピュータ実装方法。
  9. 前記複数のバックアップを作成することは、
    複数のスナップショットを撮るように前記分散スケールアウトストレージシステムに指示することであって、各スナップショットが、データオブジェクトの整合性グループに対応し、これが前記整合性グループ内のデータオブジェクトの中の時点整合性のために構成されている、指示することと、
    前記複数のスナップショットから前記複数のバックアップを作成することと、を含む、請求項1に記載のコンピュータ実装方法。
  10. 分散スケールアウトストレージに適用する前記バックアップジョブに応答して、前記バックアップジョブを実施するために配備する前記バックアップシステムの数を判定することは、前記分散スケールアウトストレージシステムが分散スケールアウトストレージを表すと判定することに応答して、前記バックアップジョブに適用するコンピューティングリソースの静的セットを割り当てるのではなく、前記バックアップジョブに適用するコンピューティングリソースの量を動的に評価することを含む、請求項1に記載のコンピュータ実装方法。
  11. 大規模分散スケールアウトデータシステムをバックアップするためのシステムであって、前記システムは、
    統一ストレージビューを提示する分散スケールアウトストレージシステム上で実施されることになるバックアップジョブを識別する、メモリ内に記憶された、識別モジュールであって、前記バックアップジョブが複数のデータオブジェクトを備え、前記分散スケールアウトデータシステムが、前記統一ストレージビューとして、基礎的マルチストレージデバイスを表す単一のデータリポジトリをクライアントに公開する、識別モジュールと、
    分散スケールアウトストレージに適用する前記バックアップジョブに応答して、かつ前記バックアップジョブの範囲に基づいて、前記バックアップジョブを実施するために配備するバックアップシステムの数を判定する、メモリ内に記憶された、判定モジュールと、
    前記判定されたバックアップシステムの数に基づいて複数のバックアップシステムを配備し、複数のデータオブジェクトを包含する複数のバックアップを作成する、メモリ内に記憶された、配備モジュールであって、前記複数のバックアップシステム内の各バックアップシステムに対して、
    前記バックアップシステムに対して、バックアップする前記バックアップジョブ内の前記複数のデータオブジェクトのサブセットを割り当てること、
    前記バックアップシステムによって、前記バックアップシステムに割り当てられた前記複数のデータオブジェクトの前記サブセットをバックアップすること、によって配備及び作成する、配備モジュールであって、
    前記複数のバックアップシステムを配備することは、前記バックアップジョブを複数のサブセットに対応する複数のバックアップに分割することを含み、
    前記バックアップジョブは、前記統一ストレージビュー内で識別されたデータオブジェクトの基礎的記憶位置について前記分散スケールアウトストレージシステムに問い合わせることによって、少なくとも一部が前記分散スケールアウトストレージシステムの別個のそれぞれのストレージノードに元々記憶されていた前記バックアップジョブ内のデータオブジェクトを各サブセットが含むように分割されることと、
    前記複数のバックアップを前記分散スケールアウトストレージシステムによって提示される前記統一ストレージビューを表す統一バックアップに組み合わせる、メモリ内に記憶された、組み合わせモジュールと、
    前記識別モジュール、前記判定モジュール、前記配備モジュール、及び前記組み合わせモジュールを実行するように構成された少なくとも1つの物理的プロセッサと、を備える、システム。
  12. 前記配備モジュールは、前記複数のバックアップを並行して作成することによって前記複数のバックアップを作成する、請求項11に記載のシステム。
  13. 前記配備モジュールは、前記バックアップシステムに割り当てるデータオブジェクトのターゲット割合に基づいて前記複数のデータオブジェクトの前記サブセット内に含むデータオブジェクトの数を判定することによって、前記バックアップシステムに対して、バックアップする前記バックアップジョブ内の前記複数のデータオブジェクトの前記サブセットを割り当てる、請求項11に記載のシステム。
  14. 前記配備モジュールは、前記バックアップシステムに対して、バックアップする前記バックアップジョブ内の前記複数のデータオブジェクトの前記サブセットを、
    データオブジェクトグループが、前記分散スケールアウトストレージシステム内の前記別個のそれぞれのストレージノード上で共に記憶されていると判定することと、
    前記分散スケールアウトストレージシステム内の前記別個のそれぞれのストレージノード上で共に記憶されている前記データオブジェクトグループに基づいて、前記バックアップシステムに割り当てられた前記複数のデータオブジェクトの前記サブセット内に前記データオブジェクトグループを含むことと、によって割り当てる、請求項11に記載のシステム。
  15. 1つ若しくは2つ以上のコンピュータ可読命令を含む非一過性コンピュータ可読媒体であって、前記命令は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
    統一ストレージビューを提示する分散スケールアウトストレージシステム上で実施されることになるバックアップジョブを識別することであって、前記バックアップジョブが複数のデータオブジェクトを備え、前記分散スケールアウトストレージシステムが、前記統一ストレージビューとして、基礎的マルチストレージデバイスを表す単一のデータリポジトリをクライアントに公開する、識別することと、
    分散スケールアウトストレージに適用する前記バックアップジョブに応答し、かつ前記バックアップジョブの範囲に基づいて、前記バックアップジョブを実施するために配備するバックアップシステムの数を判定することと、
    前記判定されたバックアップシステムの数に基づいて複数のバックアップシステムを配備し、複数のデータオブジェクトを包含する複数のバックアップを作成することであって、前記複数のバックアップシステム内の各バックアップシステムに対して、
    前記バックアップシステムに対して、バックアップする前記バックアップジョブ内の前記複数のデータオブジェクトのサブセットを割り当てること、
    前記バックアップシステムによって、前記バックアップシステムに割り当てられた前記複数のデータオブジェクトの前記サブセットをバックアップすること、によって配備及び作成することであって、
    前記複数のバックアップシステムを配備することは、前記バックアップジョブを複数のサブセットに対応する複数のバックアップに分割することを含み、
    前記バックアップジョブは、前記統一ストレージビュー内で識別されたデータオブジェクトの基礎的記憶位置について前記分散スケールアウトストレージシステムに問い合わせることによって、少なくとも一部が前記分散スケールアウトストレージシステムの別個のそれぞれのストレージノードに元々記憶されていた前記バックアップジョブ内のデータオブジェクトを各サブセットが含むように分割されることと、
    前記複数のバックアップを前記分散スケールアウトストレージシステムによって提示される前記統一ストレージビューを表す統一バックアップに組み合わせることと、を行わせる、非一過性コンピュータ可読媒体。
JP2018531139A 2015-12-28 2016-11-29 大規模分散スケールアウトデータシステムをバックアップするためのシステム及び方法 Active JP6663995B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/979,635 2015-12-28
US14/979,635 US10191817B2 (en) 2015-12-28 2015-12-28 Systems and methods for backing up large distributed scale-out data systems
PCT/US2016/064040 WO2017116593A1 (en) 2015-12-28 2016-11-29 Systems and methods for backing up large distributed scale-out data systems

Publications (2)

Publication Number Publication Date
JP2019505040A JP2019505040A (ja) 2019-02-21
JP6663995B2 true JP6663995B2 (ja) 2020-03-13

Family

ID=57590840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018531139A Active JP6663995B2 (ja) 2015-12-28 2016-11-29 大規模分散スケールアウトデータシステムをバックアップするためのシステム及び方法

Country Status (5)

Country Link
US (1) US10191817B2 (ja)
EP (1) EP3398046A1 (ja)
JP (1) JP6663995B2 (ja)
CN (1) CN108551764A (ja)
WO (1) WO2017116593A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579295B2 (en) 2016-10-14 2020-03-03 International Business Machines Corporation Tape backup in large scale distributed systems
US11526404B2 (en) * 2017-03-29 2022-12-13 International Business Machines Corporation Exploiting object tags to produce a work order across backup engines for a backup job
US11036877B2 (en) 2018-12-03 2021-06-15 Veritas Technologies Llc Systems and methods for controlling access to information stored in an information retention system
CN110008227B (zh) * 2019-04-11 2021-08-10 苏州浪潮智能科技有限公司 一种一致性组可靠性验证方法及相关装置
CN110597659B (zh) * 2019-08-28 2024-06-04 华为技术有限公司 备份处理方法及服务器
US20220083433A1 (en) * 2020-09-17 2022-03-17 EMC IP Holding Company LLC Data center backup at the edge

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4064033B2 (ja) * 2000-02-24 2008-03-19 富士通株式会社 複数の記録媒体を利用したデータバックアップ装置およびプログラム記憶媒体
JP2004252829A (ja) * 2003-02-21 2004-09-09 Mitsubishi Electric Corp バックアップ制御装置
US7584226B2 (en) * 2005-05-24 2009-09-01 International Business Machines Corporation System and method for peer-to-peer grid based autonomic and probabilistic on-demand backup and restore
US7549028B2 (en) * 2005-06-29 2009-06-16 Emc Corporation Backup and restore operations using a single snapshot driven by a server job request
US20070214384A1 (en) * 2006-03-07 2007-09-13 Manabu Kitamura Method for backing up data in a clustered file system
US7941404B2 (en) 2006-03-08 2011-05-10 International Business Machines Corporation Coordinated federated backup of a distributed application environment
EP1939760A1 (fr) * 2006-12-20 2008-07-02 Gemplus Procédé et dispositif de gestion de données dans un environnement distribué
US8244998B1 (en) 2008-12-11 2012-08-14 Symantec Corporation Optimized backup for a clustered storage system
US8225057B1 (en) * 2009-03-24 2012-07-17 Netapp, Inc. Single-system configuration for backing-up and restoring a clustered storage system
JP5444178B2 (ja) * 2010-09-22 2014-03-19 株式会社日立システムズ バックアップ・リストア処理装置とバックアップ・リストア処理方法およびプログラム
US20150169598A1 (en) * 2012-01-17 2015-06-18 Oracle International Corporation System and method for providing a persistent snapshot of a running system in a distributed data grid
CN202565318U (zh) * 2012-05-21 2012-11-28 成都因纳伟盛科技股份有限公司 分布式虚拟化存储系统
US20140229695A1 (en) 2013-02-13 2014-08-14 Dell Products L.P. Systems and methods for backup in scale-out storage clusters
CN103237046B (zh) * 2013-02-25 2016-08-17 中国科学院深圳先进技术研究院 支持混合云存储应用的分布式文件系统及实现方法
JP5956387B2 (ja) * 2013-07-16 2016-07-27 日本電信電話株式会社 データ管理サーバのスナップショット作成システム、および、サーバクラスタのスナップショット作成システム
MY186687A (en) * 2014-04-28 2021-08-06 Mimos Berhad A system and method for integrated backup solution in virtualization environments

Also Published As

Publication number Publication date
US20170185490A1 (en) 2017-06-29
US10191817B2 (en) 2019-01-29
WO2017116593A1 (en) 2017-07-06
EP3398046A1 (en) 2018-11-07
JP2019505040A (ja) 2019-02-21
CN108551764A (zh) 2018-09-18

Similar Documents

Publication Publication Date Title
JP6663995B2 (ja) 大規模分散スケールアウトデータシステムをバックアップするためのシステム及び方法
US9575789B1 (en) Systems and methods for enabling migratory virtual machines to expedite access to resources
US9092248B1 (en) Systems and methods for restoring distributed applications within virtual data centers
US9298724B1 (en) Systems and methods for preserving deduplication efforts after backup-job failures
AU2014318053B2 (en) Systems and methods for protecting virtual machine data
US9430332B1 (en) Systems and methods for enabling efficient access to incremental backups
EP3356941B1 (en) Systems and methods for restoring data from opaque data backup streams
US9836357B1 (en) Systems and methods for backing up heterogeneous virtual environments
US9946605B2 (en) Systems and methods for taking snapshots in a deduplicated virtual file system
EP2856317B1 (en) System and method for disaster recovery of multi-tier applications
US9354908B2 (en) Instantly restoring virtual machines by providing read/write access to virtual disk before the virtual disk is completely restored
US9524215B1 (en) Systems and methods for managing virtual machine backups
US9740520B1 (en) Systems and methods for virtual machine boot disk restoration
US8595192B1 (en) Systems and methods for providing high availability to instance-bound databases
US10298681B1 (en) Systems and methods for rerouting data sent between application containers and storage containers
JP6677803B2 (ja) 頻繁に使用されるイメージセグメントをキャッシュからプロビジョニングするためのシステム及び方法
EP3625683B1 (en) System and method for load balancing backup data
US9753810B1 (en) Systems and methods for backing up virtual machines deployed in virtual storage area networks
US9110965B1 (en) Systems and methods for disaster recovery from binary large objects
EP3891640B1 (en) Systems and methods for controlling access to information stored in an information retention system
US9830230B1 (en) Systems and methods for storing updated storage stack summaries
US11188393B1 (en) Systems and methods for performing load balancing and distributed high-availability
US10372607B2 (en) Systems and methods for improving the efficiency of point-in-time representations of databases
US9836515B1 (en) Systems and methods for adding active volumes to existing replication configurations
US9800647B1 (en) Systems and methods for provisioning computing systems with applications

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180614

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180614

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190815

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200217

R150 Certificate of patent or registration of utility model

Ref document number: 6663995

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250