(57)【要約】  本番クラスタ内の結果整合性データベースをバックアップするための開示されるコンピュータ実装方法は、（１）本番ノード上に、本番データの安定したコピーを形成することと、（２）安定したコピー内のデータ量及び複製係数に基づいて、バックアップノード上にストレージをプロビジョニングすることと、（３）安定したコピーからバックアップノード上のバックアップコピーに情報を転送することと、（４）バックアップコピーに対して記録合成を実行して、記録アップデートを統合して完全なバックアップ記録にすることと、（５）完全なバックアップ記録内の任意の古くなった記録及び任意の冗長記録を特定し破棄することと、（６）バックアップノードからクラウドストレージデバイスに完全なバックアップ記録を転送することと、を含み得る。様々な別の方法、システム、及びコンピュータ可読媒体もまた開示される。
2021515335.tif 000002
【特許請求の範囲】
【請求項１】
本番クラスタ内の結果整合性データベースをバックアップするためのコンピュータ実装方法であって、前記方法の少なくとも一部分が、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実行され、前記方法が、
本番ノード上に、本番データの安定したコピーを形成することと、
前記安定したコピー内のデータ量及び複製係数に基づいて、バックアップノード上にストレージをプロビジョニングすることと、
前記安定したコピーから前記バックアップノード上のバックアップコピーに情報を転送することと、
前記バックアップコピーに対して記録合成を実行して、記録アップデートを統合して完全なバックアップ記録にすることと、
前記完全なバックアップ記録内の任意の古くなった記録及び任意の冗長記録を特定し破棄することと、
前記バックアップノードからクラウドストレージデバイスに前記完全なバックアップ記録を転送することと、を含む、方法。
【請求項２】
前記本番ノードが構成部分である本番クラスタのトポロジーを特定して、前記本番ノードがバックアップを必要とするとして特定することを更に含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記安定したコピー内の前記データ量を判定することを更に含む、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記安定したコピー内の前記データ量に基づいて、バックアップクラスタ内に前記バックアップノードをプロビジョニングすることを更に含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記バックアップノードを転送前の状態に復帰させることを更に含む、請求項１に記載のコンピュータ実装方法。
【請求項６】
本番ノードが構成部分である本番クラスタ内の前記本番ノードの数が、バックアップノードが構成部分であるバックアップクラスタ内の前記バックアップノードの数と等しくない、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記クラウドストレージデバイスから前記本番ノードへ前記バックアップコピーを復元することを更に含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
本番クラスタ内の結果整合性データベースをバックアップするためのシステムであって、
本番ノード上に本番データの安定したコピーを形成する、メモリに記憶された形成モジュールと、
前記安定したコピー内のデータ量及び複製係数に基づいてバックアップノード上にストレージをプロビジョニングする、前記メモリに記憶されたプロビジョニングモジュールと、
前記安定したコピーから前記バックアップノード上のバックアップコピーに情報を転送する、前記メモリに記憶された第１の転送モジュールと、
前記バックアップコピーに対して記録合成を実行して、記録アップデートを統合して完全なバックアップ記録にする、前記メモリに記憶された実行モジュールと、
前記完全なバックアップ記録内の任意の古くなった記録及び任意の冗長記録を特定し破棄する、前記メモリに記憶された特定及び破棄モジュールと、
前記バックアップノードからクラウドストレージデバイスに前記完全なバックアップ記録を転送する、前記メモリに記憶された第２の転送モジュールと、
前記形成モジュール、前記プロビジョニングモジュール、前記第１の転送モジュール、前記実行モジュール、前記特定及び破棄モジュール、並びに前記第２の転送モジュールを実行する、少なくとも１つの物理的プロセッサと、を備える、システム。
【請求項９】
前記本番ノードが構成部分である本番クラスタのトポロジーを特定して、前記本番ノードを、バックアップを必要とするとして特定する、前記メモリに記憶された特定モジュールを更に備える、請求項８に記載のシステム。
【請求項１０】
前記安定したコピー内の前記データ量を判定する、前記メモリに記憶された判定モジュールを更に備える、請求項８に記載のシステム。
【請求項１１】
前記安定したコピー内の前記データ量に基づいて、バックアップクラスタ内に前記バックアップノードをプロビジョニングする、前記メモリに記憶されたプロビジョニングモジュールを更に備える、請求項８に記載のシステム。
【請求項１２】
前記バックアップノードを転送前の状態に復帰させる、前記メモリに記憶された復帰モジュールを更に備える、請求項８に記載のシステム。
【請求項１３】
本番ノードが構成部分である本番クラスタ内の前記本番ノードの数が、バックアップノードが構成部分であるバックアップクラスタ内の前記バックアップノードの数と等しくない、請求項８に記載のシステム。
【請求項１４】
前記クラウドストレージデバイスから前記本番ノードへ前記バックアップコピーを復元する、前記メモリに記憶された復元モジュールを更に備える、請求項８に記載のシステム。
【請求項１５】
１つ以上のコンピュータ実行可能命令を備える非一時的コンピュータ可読媒体であって、前記命令は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されたら、前記コンピューティングデバイスに、
本番ノード上に、本番データの安定したコピーを形成することと、
前記安定したコピー内のデータ量及び複製係数に基づいて、バックアップノード上にストレージをプロビジョニングすることと、
前記安定したコピーから前記バックアップノード上のバックアップコピーに情報を転送することと、
前記バックアップコピーに対して記録合成を実行して、記録アップデートを統合して完全なバックアップ記録にすることと、
前記完全なバックアップ記録内の任意の古くなった記録及び任意の冗長記録を特定し破棄することと、
前記バックアップノードからクラウドストレージデバイスに前記完全なバックアップ記録を転送することと、を行わせる、非一時的コンピュータ可読媒体。
【請求項１６】
前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、
前記本番ノードが構成部分である本番クラスタのトポロジーを特定して、前記本番ノードを、バックアップを必要とするとして特定することを行わせる、コンピュータ実行可能命令を含む、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、
前記安定したコピー内の前記データ量を判定することを行わせる、コンピュータ実行可能命令を含む、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、
前記安定したコピー内の前記データ量に基づいて、バックアップクラスタ内に前記バックアップノードをプロビジョニングすることを行わせる、コンピュータ実行可能命令を含む、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、
前記バックアップノードを転送前の状態に復帰させることを行わせる、コンピュータ実行可能命令を含む、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項２０】
本番ノードが構成部分である本番クラスタ内の前記本番ノードの数が、バックアップノードが構成部分であるバックアップクラスタ内の前記バックアップノードの数と等しくない、請求項１５に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
近年、ＡｐａｃｈｅのＣＡＳＳＡＮＤＲＡなどの、商業的ハードウェア上で実行されるスケールアウトした高性能データベースの数が増加している。これらのデータベースの典型的な本番展開は、６４ノード以上のような大規模なノード数を伴い得る。高性能データベースの最大本番展開のうちの１つは、Ａｐｐｌｅのデータベースで、７５，０００以上のノードを有し、１０ＰＢ以上のデータを記憶する。他の大型のＣＡＳＳＡＮＤＲＡ設備としては、Ｎｅｔｆｌｉｘ（２，５００ノード、４２０ＴＢ）、中国の検索エンジンＥａｓｏｕ（２７０ノード、３００ＴＢ）、及びｅＢａｙ（１００ノード、２５０ＴＢ超）が挙げられる。
【０００２】
高性能データベースのバックアップには多くの課題がある。いくつかの考慮すべき事項としては、以下が挙げられる。
【０００３】
データサイズ：高性能データベースは、多くの場合、膨大なデータセット（典型的には、複数のテラバイトのオーダー）を有する。これらの大規模なデータセットは、短い時間間隔内で保護されなければならない。
【０００４】
複製の照合：結果整合性を実装するシステムでは、信頼できるコピーがないために判定する時点での問題を提起し得る。
【０００５】
重複排除の課題：これらのシステムのストレージ形式は、ファイルレベルの複製から記録レベルの複製の範囲に及ぶ。複製の戦略から得られる全ての重複をコピーするためには、相当なリソースが必要である。従来の重複排除アプローチでは、機能しない可能性がある。
【０００６】
トポロジーの違い：次世代ハードウェアアーキテクチャは、より優れた計算及びストレージスタックを提供する。これらのアーキテクチャを効率的に活用するには、スケールアウトした高性能データベースシステムにおけるトポロジーを変更する必要がある。
【０００７】
再構成耐性保護：スケールアウトした高性能データベースシステムでは、ノードがクラスタに参加したり、クラスタから離脱したりすることが一般的なシナリオとなる。
【０００８】
ガベージコレクション：最大の性能を得るために、最新のデータベースは、ログ構造化されたストレージ形式を使用し、不変であり、及び／又は追加のみが可能である。これらのフォーマットは、定位置では決して上書きしないため、以前のバージョンのデータにアクセスする方法がないにもかかわらず、データファイルのサイズは増大し続ける。
【０００９】
したがって、本開示は、本番クラスタ内の結果整合性データベースをバックアップするためのシステム及び方法に対する必要性を特定し、対処する。
【発明の概要】
【００１０】
以下でより詳細に説明するように、本開示は、本番クラスタ内の結果整合性データベースをバックアップするための様々なシステム及び方法を記載する。
【００１１】
一実施形態では、本番クラスタ内の結果整合性データベースをバックアップするための方法は、（１）本番ノード上に、本番データの安定したコピーを形成することと、（２）安定したコピー内のデータ量及び複製係数に基づいて、バックアップノード上にストレージをプロビジョニングすることと、（３）安定したコピーからバックアップノード上のバックアップコピーに情報を転送することと、（４）バックアップコピーで記録合成を実行して、記録アップデートを統合して完全なバックアップ記録にすることと、（５）完全なバックアップ記録内の任意の古くなった記録及び任意の冗長記録を特定し破棄することと、（６）バックアップノードからクラウドストレージデバイスに完全なバックアップ記録を転送することと、を含み得る。
【００１２】
実施形態では、方法は、本番ノードがバックアップを必要とする本番ノードを特定する構成部分である本番クラスタのトポロジーを特定することを含み得る。一例では、方法は、安定したコピー内のデータ量を判定することを含み得る。実施例では、方法は、安定したコピー内のデータ量に基づいてバックアップクラスタ内にバックアップノードをプロビジョニングすることを含み得る。
【００１３】
実施形態では、方法は、バックアップノードを転送前状態に復帰させることを含み得る。いくつかの実施例では、本番ノードが構成部分である本番クラスタ内の本番ノードの数が、バックアップノードが構成部分であるバックアップクラスタ内のバックアップノードの数と等しくない。実施例では、方法は、クラウドストレージデバイスから本番ノードへバックアップコピーを復元することを含み得る。
【００１４】
一例では、本番クラスタ内の結果整合性データベースをバックアップするためのシステムは、（１）本番ノード上に、本番データの安定したコピーを形成する、メモリに記憶された形成モジュールと、（２）安定したコピー内のデータ量及び複製係数に基づいて、バックアップノード上にストレージをプロビジョニングする、メモリに記憶されたプロビジョニングモジュールと、（３）安定したコピーからバックアップノード上のバックアップコピーに情報を転送する、メモリに記憶された第１の転送モジュールと、（４）バックアップコピーに対して記録合成を実行して、記録アップデートを統合して完全なバックアップ記録にする、メモリに記憶された第１の実行モジュールと、（５）完全なバックアップ記録内の任意の古くなった記録及び任意の冗長記録を特定し破棄する、メモリに記憶された特定及び破棄モジュールと、（６）バックアップノードからクラウドストレージデバイスに完全なバックアップ記録を転送する、メモリに記憶された第２の転送モジュールと、を含む、メモリに記憶されたいくつかのモジュールを含み得る。システムはまた、形成モジュール、プロビジョニングモジュール、第１の転送モジュール、実行モジュール、特定及び破棄モジュール、及び第２の転送モジュールを実行する、少なくとも１つの物理的プロセッサを含み得る。
【００１５】
いくつかの例では、上記の方法は、非一時的コンピュータ可読媒体上にコンピュータ可読命令としてコード化されてもよい。例えば、１つ以上のコンピュータ実行可能命令を含み得る非一時的コンピュータ可読媒体は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されたら、コンピューティングデバイスに、（１）本番ノード上に、本番データの安定したコピーを形成することと、（２）安定したコピー内のデータ量及び複製係数に基づいて、バックアップノード上にストレージをプロビジョニングすることと、（３）安定したコピーからバックアップノード上のバックアップコピーに情報を転送することと、（４）バックアップコピーに対して記録合成を実行して、記録アップデートを統合して完全なバックアップ記録にすることと、（５）完全なバックアップ記録内の任意の古くなった記録及び任意の冗長記録を特定し破棄することと、（６）バックアップノードからクラウドストレージデバイスに完全なバックアップ記録を転送することと、を行わせ得る。
【００１６】
上記で述べた実施形態のうちのいずれかからの特性は、本明細書で説明する一般原理に従って互いと組み合わせて使用されてもよい。これらの及び他の実施形態、特性、及び利点は、添付の図面及び請求項と併せて、以下の詳細な説明を一読することで、より完全に理解されよう。
【図面の簡単な説明】
【００１７】
添付の図面は、いくつかの例示的な実施形態を例解し、かつ本明細書の一部である。以下の説明と共に、これらの図面は、本開示の種々の原理を実証及び説明する。
【図１】本番クラスタ内の結果整合性データベースをバックアップするための例示的なシステムのブロック図である。
【図２】本番クラスタ内の結果整合性データベースをバックアップするための追加の例示的なシステムのブロック図である。
【図３】本番クラスタ内の結果整合性データベースをバックアップするための例示的な方法のフロー図である。
【図４】リベース稼働の一例の図である。
【００１８】
図面を通じて、同一の参照文字及び説明は、類似であるが、必ずしも同一ではない要素を示す。本明細書に記載される例示的な実施形態は、様々な修正形態及び代替形態の影響を受けやすいが、特定の実施形態は、図面に例として示されており、本明細書で詳細に説明される。しかしながら、本明細書において説明される例示的な実施形態は、開示される特定の形態に限定されることを意図されない。むしろ、本開示は、添付の請求項の範囲内にある全ての修正物、同等物、及び代替物を網羅する。
【発明を実施するための形態】
【００１９】
本開示は、一般に、本番クラスタ内の結果整合性データベースをバックアップするためのシステム及び方法を対象とする。提供されたシステム及び方法は、結果整合性スケールアウトデータベース（例えば、ＣＡＳＳＡＮＤＲＡのような）のバックアップ及び／又は復元を、修復の少ない復元、複製の除去、及び記録合成を可能にするフェーズド方式で実行し得る。いくつかの実施例では、本明細書に記載されるシステム及び方法は、本番ノード上の本番データの安定したコピーを形成し、安定したコピーからバックアップノード上のバックアップコピーに情報を転送し、古くなったかつ冗長な記録を破棄する間に記録アップデートを統合して完全なバックアップ記録にし、バックアップノードからクラウドストレージデバイスに完全なバックアップ記録を転送し得る。実施形態では、開示された技術は、クラウドベースのストレージデバイスに関連して利用され得る。
【００２０】
そのようにすることによって、実施例では、本明細書に記載されるシステム及び方法は、短い時間間隔内で大規模なデータセットを自動的に保護し、信頼できるコピーを提供し、重複排除の課題を解決し、変更されたアーキテクチャに記憶された記録をバックアップし、再構成されたノードの記録をバックアップし、及び／又は経時的にサイズが増大するデータファイルをバックアップすることにより、コンピューティングデバイスの機能を向上させ、したがって費用効率の高いストレージ管理を可能にする。また、実施例では、本明細書に記載されるシステム及び方法はまた、電力を節約し及び／又はネットワーク帯域幅利用率をより良好に管理し得る。
【００２１】
下記において、図１〜図２を参照して、本番クラスタ内の結果整合性データベースをバックアップするための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実装方法の詳細な説明もまた、図３〜図４に関連して提供する。
【００２２】
図１は、本番クラスタ内の結果整合性データベースをバックアップするための例示的なシステム１００のブロック図である。この図に例解されるように、例示的なシステム１００は、１つ以上のタスクを実施するための１つ以上のモジュール１０２を含んでもよい。以下でより詳細に説明するように、モジュール１０２は、形成モジュール１０４、プロビジョニングモジュール１０６、第１の転送モジュール１０８、実行モジュール１１０、特定及び破棄モジュール１１２及び／又は第２の転送モジュール１１４を含み得る。別個の要素として例解されるが、図１のモジュール１０２のうちの１つ以上は、単一のモジュール又はアプリケーションの一部分を表し得る。
【００２３】
特定の実施形態では、図１のモジュール１０２のうちの１つ以上は、コンピューティングデバイスによって実行されたら、コンピューティングデバイスに、１つ以上のタスクを実施させてもよい１つ以上のソフトウェアアプリケーション又はプログラムを表してもよい。例えば、以下でより詳細に説明されるように、モジュール１０２のうちの１つ以上は、図２に例解されているデバイス（例えば、コンピューティングデバイス２０２、サーバ２０６、本番ノード２０８、バックアップノード２１２及び／又はクラウドストレージデバイス２２４）など、１つ以上のコンピューティングデバイス上で実行するように記憶及び構成されているモジュールを表し得る。図１のモジュール１０２のうちの１つ以上はまた、１つ以上のタスクを実施するように構成された１つ以上の特殊目的のコンピュータの全て又は一部分を表してもよい。
【００２４】
図１に例解されるように、例示的なシステム１００はまた、ストレージデバイス１２０など、１つ以上のストレージデバイスも含み得る。ストレージデバイス１２０は、一般に、データ及び／又はコンピュータ可読命令を記憶できる、任意の種類又は形式の揮発性又は不揮発性の記憶デバイス又は媒体を表す。一例では、ストレージデバイス１２０は、安定したコピー１２２及び／又は複製係数１２４内のデータ量のうちの１つ以上を示す情報を記憶、ロード、及び／又は維持し得る。一例では、ストレージデバイス１２０は、本番データ、本番データの安定したコピー２１０、バックアップコピー２１４、記録アップデート２１６、完全なバックアップ記録２１８、冗長記録２２０、及び／又は古くなった記録２２２のうちの１つ以上を示す情報を記憶、ロード、及び／又は維持し得る。ストレージデバイス１２０の例としては、限定するものではないが、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、光ディスクドライブ、キャッシュ、ＡＭＡＺＯＮ  ＥＬＡＳＴＩＣ  ＢＬＯＣＫ  ＳＴＯＲＥサービス、これらのうちの１つ以上の変形若しくは組み合わせ、及び／又は任意の他の好適なストレージメモリが挙げられる。
【００２５】
本明細書で使用するとき、用語「複製係数」は、一般に、ノードのクラスタにわたって記憶されたデータの整数のコピーを指す。例えば、限定するものではないが、クラスタの複製係数が２に等しく、データがクラスタに書き込まれると、データの２つのコピーがクラスタ内に（例えば、異なるノード及び／又はラックに）記憶される。２つ以上の複製係数は、障害の許容誤差を提供し得る。
【００２６】
図１に示されているように、例示的なシステム１００はまた、物理的プロセッサ１３０など、１つ以上の物理的プロセッサも含み得る。物理的プロセッサ１３０は、一般に、コンピュータ可読命令を解釈でき、かつ／又は実行できる任意の種類又は形式のハードウェア実装処理ユニットを表す。一例では、物理的プロセッサ１３０は、メモリ１４０に記憶されているモジュール１０２のうちの１つ以上にアクセスし得、かつ／又はこれらを修正し得る。追加的又は代替的に、物理的プロセッサ１３０は、１つ以上のモジュール１０２を実行して、本番クラスタ内の結果整合性データベースのバックアップを容易にしてもよい。物理的プロセッサ１３０の例としては、マイクロプロセッサ、マイクロコントローラ、中央処理ユニット（ＣＰＵ）、ソフトコアプロセッサを実装しているフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、これらのうちの１つ以上の部分、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適な物理的プロセッサが挙げられるが、これらに限定されない。
【００２７】
図１に示されているように、例示的なシステム１００はまた、メモリ１４０など、１つ以上のメモリデバイスも含み得る。メモリ１４０は、概して、データ及び／又はコンピュータ可読命令を記憶できる、任意の種類又は形式の揮発性又は不揮発性の記憶デバイス又は媒体を表す。一例では、メモリ１４０は、モジュール１０２のうちの１つ以上を記憶、ロード、及び／又は維持し得る。メモリ１４０の例としては、限定することなく、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、光ディスクドライブ、キャッシュ、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なストレージメモリが挙げられる。
【００２８】
図１の例示的なシステム１００は、様々な態様で実装され得る。例えば、例示的なシステム１００の全て又は一部分は、図２の例示的なシステム２００の部分を表し得る。図２に示すように、システム２００は、サーバ２０６、本番ノード２０８、バックアップノード２１２、及び／又はクラウドストレージデバイス２２４と通信している（例えば、ネットワーク２０４を介して）コンピューティングデバイス２０２を含み得る。一例では、モジュール１０２の機能性の全て又は一部分は、コンピューティングデバイス２０２、サーバ２０６、本番ノード２０８、バックアップノード２１２、クラウドストレージデバイス２２４及び／又は任意の他の好適なコンピューティングシステムによって実行され得る。実施例では、システム１００の全て又は一部分は、コンピューティングデバイス２０２、サーバ２０６、本番ノード２０８、本番クラスタ、バックアップノード２１２、バックアップクラスタ、クラウドストレージデバイス２２４及び／又は任意の他の好適なコンピューティングシステムの構成要素であり得る。以下でさらに詳細に説明するように、図１からのモジュール１０２の１つ以上は、コンピューティングデバイス２０２、サーバ２０６、本番ノード２０８、バックアップノード２１２、及び／又はクラウドストレージデバイス２２４のうちの少なくとも１つのプロセッサによって実行されたら、コンピューティングデバイス２０２、サーバ２０６、本番ノード２０８、バックアップノード２１２、及び／又はクラウドストレージデバイス２２４が、本番クラスタ内の結果整合性データベースをバックアップすることを可能にする。実施例では、本番ノード２０８は、本番クラスタの構成要素であり得る。実施形態では、バックアップノード２１２は、ＣＡＳＳＡＮＤＲＡクラスタなどのバックアップクラスタの構成要素であり得る。
【００２９】
コンピューティングデバイス２０２は、コンピュータ実行可能命令を読み出すことができる任意のタイプ又は形式のコンピューティングデバイスを概して表す。いくつかの実施例では、コンピューティングデバイス２０２は、記憶管理ソフトウェアを実行するコンピュータを表し得る。コンピューティングデバイス２０２の追加例としては、ノートブック、タブレット、デスクトップ、サーバ、携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）、マルチメディアプレイヤー、組み込みシステム、ウェアラブルデバイス（例えば、スマートウォッチ、スマートグラスなど）、スマートビークル、いわゆるＩｏＴデバイス（例えば、スマート家電など）、ゲーム機、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なコンピューティングデバイスが挙げられるが、これらに限定されない。
【００３０】
ネットワーク２０４は、通信又はデータ転送を容易にすることができる任意の媒体又はアーキテクチャを概して表す。一実施例において、ネットワーク２０４は、コンピューティングデバイス２０２とサーバ２０６との間の通信を容易にし得る。この例では、ネットワーク２０４は、無線及び／又は有線接続を使用して、通信又はデータ転送を容易にし得る。ネットワーク２０４の例としては、限定するものではないが、イントラネット、ワイドエリアネットワーク（Wide Area Network、ＷＡＮ）、ローカルエリアネットワーク（Local Area Network、ＬＡＮ）、パーソナルエリアネットワーク（Personal Area Network、ＰＡＮ）、インターネット、電力線通信（Power Line Communication、ＰＬＣ）、セルラネットワーク（例えば、汎欧州デジタル移動電話方式（Global System for Mobile Communications、ＧＳＭ）ネットワーク）、１つ以上の上記の部分、上記のうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なネットワークを含む。
【００３１】
サーバ２０６は、一般に、コンピュータ実行可能命令を読み出すことができる任意のタイプ又は形式のコンピューティングデバイスを表す。いくつかの実施例では、コンピューティングデバイス２０６は、記憶管理ソフトウェアを実行するコンピュータを表し得る。サーバ２０６の付加的な例としては、特定のソフトウェアアプリケーションを動作させ、かつ／又は様々なストレージ、データベース、及び／若しくはウェブサービスを提供するように構成された、ストレージサーバ、データベースサーバ、アプリケーションサーバ、及び／又はウェブサーバが挙げられるが、これらに限定されない。図２において単一体として例解されるが、サーバ２０６は、互いに連動して働き、かつ／又は動作する複数のサーバを含み、かつ／又は表してもよい。
【００３２】
本番ノード２０８は、一般に、コンピュータ実行可能命令を読み取ること、及び／又は情報を記憶することが可能である、任意のタイプ又は形態のコンピューティングデバイスを表す。いくつかの実施例では、本番ノード２０８は、記憶ソフトウェアを実行するコンピュータを表し得る。本番ノード２０８の付加的な例としては、特定のソフトウェアアプリケーションを動作させ、かつ／又は様々なストレージ、データベース、及び／若しくはウェブサービスを提供するように構成された、ストレージサーバ、データベースサーバ、アプリケーションサーバ、及び／又はウェブサーバが挙げられるが、これらに限定されない。図２において単一体として例解されるが、本番ノード２０８は、互いに連動して働き、かつ／又は動作する複数のサーバを含み、かつ／又は表してもよい。実施例では、本番ノード２０８は、本番クラスタの構成要素であり得る。実施形態では、本番ノード２０８は、ＡＰＡＣＨＥ  ＣＡＳＳＡＮＤＲＡデータベースに関する情報を記憶するノードのクラスタの一部であり得る。
【００３３】
実施例では、本番ノード２０８は、本番情報及び／又は本番データ２１０の安定したコピーを記憶し得る。
【００３４】
バックアップノード２１２は、一般に、コンピュータ実行可能命令を読み取ること、及び／又は情報を記憶することが可能である、任意のタイプ又は形態のコンピューティングデバイスを表す。いくつかの実施例では、バックアップノード２１２は、記憶ソフトウェアを実行するコンピュータを表し得る。バックアップノード２１２の付加的な例としては、特定のソフトウェアアプリケーションを動作させ、かつ／又は様々なストレージ、データベース、及び／若しくはウェブサービスを提供するように構成された、ストレージサーバ、データベースサーバ、アプリケーションサーバ、及び／又はウェブサーバが挙げられるが、これらに限定されない。図２において単一体として例解されるが、バックアップノード２１２は、互いに連動して働き、かつ／又は動作する複数のサーバを含み、かつ／又は表してもよい。実施形態では、バックアップノード２１２は、バックアップクラスタの構成要素であり得る。
【００３５】
実施例では、バックアップノード２１２は、バックアップコピー２１４、記録アップデート２１６、完全なバックアップ記録２１８、冗長記録２２０及び／又は古くなった記録２２２を記憶し得る。
【００３６】
クラウドストレージデバイス２２４は、一般に、コンピュータ実行可能命令を読み取ること、及び／又は情報を記憶することが可能である、任意のタイプ又は形態のコンピューティングデバイスを表す。いくつかの実施例では、クラウドストレージデバイス２２４は、記憶管理ソフトウェアを実行するコンピュータを表し得る。クラウドストレージデバイス２２４の付加的な例としては、特定のソフトウェアアプリケーションを動作させ、かつ／又は様々なストレージ、データベース、及び／若しくはウェブサービスを提供するように構成された、ストレージサーバ、データベースサーバ、アプリケーションサーバ、及び／又はウェブサーバが挙げられるが、これらに限定されない。実施例では、クラウドストレージデバイス２２４は、ＡＭＡＺＯＮ  ＳＩＭＰＬＥ  ＳＴＯＲＡＧＥ  サービス（Ｓ３）によって提供され得る。図２において単一体として例解されるが、クラウドストレージデバイス２２４は、互いに連動して働き、及び／又は動作する複数のサーバを含み、及び／又は表してもよい。
【００３７】
実施例では、クラウドストレージデバイス２２４は、バックアップコピー２１４及び／又は完全なバックアップ記録２１８を記憶し得る。
【００３８】
多くの他のデバイス又はサブシステムは、図１のシステム１００及び／又は図２のシステム２００に接続され得る。反対に、図１及び図２に例解される構成要素及びデバイスの全ては、本明細書に記載及び／又は例解される実施形態を実践するために存在する必要はない。上記で述べたデバイス及びサブシステムはまた、図２に示すものとは異なる様式で相互接続されてもよい。システム１００及び２００はまた、任意の数のソフトウェア、ファームウェア、及び／又はハードウェア構成を採用してもよい。例えば、本明細書において開示される例示的な実施形態のうちの１つ以上は、コンピュータ可読媒体上に、コンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、及び／又はコンピュータ制御論理とも称される）としてコード化され得る。
【００３９】
「コンピュータ可読媒体」という用語は、本明細書において使用される際、概して、コンピュータ可読命令を記憶又は担持することが可能な任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、限定することなく、搬送波などの伝送タイプ媒体、並びに磁気記憶媒体（例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク）、光記憶媒体（例えば、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、及びＢＬＵ−ＲＡＹディスク）、電子記憶媒体（例えば、ソリッドステートドライブ及びフラッシュ媒体）などの非一時的タイプ媒体、並びに他の分散システムが挙げられる。
【００４０】
図３は、本番クラスタ内の結果整合性データベースをバックアップするための例示的なコンピュータ実装方法３００のフロー図である。図３に示されている工程は、図１のシステム１００、図２のシステム２００、及び／又はこれらのうちの１つ以上の変形若しくは組み合わせを含む、任意の好適なコンピュータ実行可能コード及び／又はコンピューティングシステムによって実施され得る。一例では、図３に示されている工程のそれぞれは、複数の副工程を含む及び／又はそれらによって表される構造を有するアルゴリズムを表すものであり得、これらの例を以下に詳細に示す。
【００４１】
図３に例解されるように、工程３０２において、本明細書に記載のシステムのうちの１つ以上は、本番ノード上に本番データの安定したコピーを形成し得る。安定した本番コピーを形成することは、リベース稼働を実行するための本番データの独立したインスタンスをそこから提供し、及び／又は記憶スペースの再利用を可能にするために、リベースポイントの以前に行われた期限切れのバックアップを有効にし得る。本明細書に記載のシステムは、様々な方法で工程３０２を実行し得る。例えば、形成モジュール１０４は、図２のコンピューティングデバイス２０２の一部として、本番ノード２０８上に、本番データの安定したコピー２１０を形成し得る。安定したコピーを生成することにより、急速に変化する本番データのコピーを、時間内のそれぞれのインスタンスで確立する。
【００４２】
いくつかの実施形態では、方法３００は、本番ノードがバックアップを必要とする本番ノードを特定する構成部分である本番クラスタのトポロジーを特定することを含み得る。例えば、システム１００及び／又はコンピューティングデバイス２０２は、本番ノード２０８が構成要素である本番クラスタのトポロジーを特定し得る。システム１００及び／又はコンピューティングデバイス２０２はまた、バックアップを必要とする少なくとも１つの本番クラスタ及び／又は本番ノード（例えば、本番ノード２０８）を特定し得る。
【００４３】
いくつかの実施形態では、方法３００は、工程３０４で使用するためなどの、安定したコピー内のデータ量を判定することを含み得る。例えば、システム１００及び／又はコンピューティングデバイス２０２は、本番データ２１０の安定したコピー内のデータ量を判定し得る。
【００４４】
図３に例解されるように、工程３０４において、本明細書に記載されるシステムのうちの１つ以上は、安定したコピー内のデータ量及び／又は複製係数基づいてバックアップノード上にストレージをプロビジョニングし得る。複製係数は、バックアップに関与するキースペースの複製係数であり得る。本明細書に記載のシステムは、様々な方法で工程３０４を実施してよい。例えば、プロビジョニングモジュール１０６は、図２のコンピューティングデバイス２０２の一部として、安定したコピー１２２内のデータ量及び／又は複製係数１２４に基づいて、バックアップノード２１２上のストレージをプロビジョニングし得る。安定したコピー１２２内のデータ量は、本番データ２１０の安定したコピー内のデータ量であり得る。
【００４５】
一実施例では、方法３００は、バックアップクラスタにおいて、安定したコピー内のデータ量（すなわち、バックアップされるべきデータ量）及び／又はバックアップノードの処理電力に基づいて、バックアップノードをプロビジョニングすることを含み得る。例えば、システム１００及び／又はコンピューティングデバイス２０２は、安定したコピー１２２内のデータ量及び／又はバックアップノード２１２の処理電力に基づいてバックアップノード２１２をプロビジョニングし得る。
【００４６】
実施例では、本番ノードが構成部分である本番クラスタ内の本番ノードの数が、バックアップノードが構成部分であるバックアップクラスタ内のバックアップノードの数と等しくなり得ない。いくつかの実施形態では、本番ノードが構成部分である本番クラスタ内の本番ノードの数が、バックアップノードが構成部分であるバックアップクラスタ内のバックアップノードの数と等しくなり得る。
【００４７】
図３に例解されるように、工程３０６において、本明細書に記載されるシステムのうちの１つ以上は、安定したコピーからバックアップノード上のバックアップコピーに情報を転送し得る。本明細書に記載のシステムは、様々な方法で工程３０６を実行し得る。例えば、第１の転送モジュール１０８は、図２のコンピューティングデバイス２０２の一部として、本番データ２１０の安定したコピーからバックアップノード２１２上のバックアップコピー２１４に情報を転送し得る。実施例では、異なる安定したバックアップコピー（すなわち、複製）からのデータは、本番クラスタ内の異なるノードと並行して、バックアップクラスタ内の同じノードに転送され得る。
【００４８】
図３に例解されるように、工程３０８において、本明細書に記載されるシステムのうちの１つ以上は、記録アップデートを統合して完全なバックアップ記録にするために、バックアップコピーに対して記録合成を実行することにより、記録を最適化し得る。記録合成は、完全な記録を再作成するために、異なる時間で異なるカラムへの更新を統合し得る。工程３０８は、バックアップコピーをノード間通信することなく、並行して及び／又は実質的に処理するために、バックアップノードでローカルに実行され得る。本明細書に記載のシステムは、様々な方法で工程３０８を実行し得る。例えば、実行モジュール１１０は、図２のコンピューティングデバイス２０２の一部として、バックアップコピー２１４上で記録合成を実行して、記録アップデート２１６を統合して完全なバックアップ記録２１８にし得る。
【００４９】
図３に例解されるように、工程３１０において、本明細書に記載されるシステムのうちの１つ以上は、完全なバックアップ記録及び／又はバックアップコピー内の少なくとも１つの古くなった記録及び／又は少なくとも１つの冗長記録を特定及び／又は破棄することによって記録を最適化し得る。本明細書に記載のシステムは、様々な方法で工程３１０を実施し得る。例えば、特定及び破棄モジュール１１２は、図２のコンピューティングデバイス２０２の一部として、完全なバックアップ記録２１８及び／又はバックアップコピー２１４内の少なくとも１つの古くなった記録２２２及び／又は少なくとも１つの冗長記録２２０を特定及び／又は破棄し得る。重複排除することは、復元されたバックアップの不整合を調整するためにＣＡＳＳＡＮＤＲＡが自動的に修復を実行する確率を低下させるために一貫性のあるデータを提供し得る。
【００５０】
実施例では、方法３００は、ストレージスペースを再利用するために記録を最適化することを含み得る。永久的な増分バックアップ戦略に共通する問題は、バックアップ期限が切れることでスペースを再利用することである。実施形態では、提供されたシステム及び方法は、本番クラスタの独立したインスタンスから合成フルバックアップを作成することによってバックアップをリベースし得る。これは、独立したチェーンを効果的に作成し、リベースポイントまでの以前のバックアップを期限切れにし、期限切れのバックアップによって以前に使用されたストレージスペースを再利用し得る。例えば、方法３００は、完全なバックアップ記録２１８を形成するように、バックアップコピー２１４の少なくとも一部分をリベースし得る。
【００５１】
実施例では、方法３００は、本番ノード上のデータ上ではなく、バックアップノード内のバックアップコピー上でのリベースを実行し得る。一実施例では、バックアップコピーは異なるバックアップノード間で分割されるので、各バックアップノードは、リベース稼働を独立して実行し得る。リベースすることは、バックアップを削除し、関連するストレージスペースを回復するため、及び／又はより速い復元を可能にするために、バックアップの有効期限の間に発生し得る。リベースすることは、（例えば、増分バックアップの数を一貫して減らすために定期的に実行され得る。上書きされたデータは、より小さい結果として得られるデータセットを生成するために除去され得る。リベース稼働後、後続のバックアップは、新しいバックアップチェーンを作成するためにリペアレントされ得る。実施例では、方法３００は、リベースポイントの前にバックアップコピーを削除し得、及び削除されたバックアップによって以前に使用されたストレージスペースを再利用し得る。
【００５２】
図４は、リベース稼働４００の一例を示す。図４において、「Ｆ」はフルバックアップを表し、「Ｉ」は増分バックアップを表し、「Ｒ」は、リベースバックアップを表し、矢印は、先行バックアップに対するバックアップの依存性を表す（例えば、増分バックアップがフルバックアップに依存する）。
【００５３】
時間４０２において、フルバックアップＦ１は、その上に依存する６つの増分バックアップを有する（Ｉ１１、Ｉ１２、Ｉ１３、Ｉ２１、Ｉ２２、Ｉ２３）。
【００５４】
時間４０４において、リベース稼働は、フルバックアップＦ１及び増分バックアップＩ１１、Ｉ１２及びＩ１３からリベースバックアップＲ２を作成する。
【００５５】
時間４０６において、増分バックアップＩ２１は、Ｉ１３からＲ２にリペアレントされる。
【００５６】
時間４０８において、フルバックアップＦ１及び増分バックアップＩ１１、Ｉ１２及びＩ１３は、取り消し線によって図４に表されるように、期限切れにされ得る。実施例では、ストレージスペースを節約するために、フルバックアップＦ１及び増分バックアップＩ１１、Ｉ１２及びＩ１３のいずれかが削除され得る。
【００５７】
時間４１０において、リベース稼働は、リベースバックアップＲ２及び増分バックアップＩ２１、Ｉ２２及びＩ２３からリベースバックアップＲ３を作成する。
【００５８】
時間４１２において、リベースバックアップＲ２及び増分バックアップＩ２１、Ｉ２２及びＩ２３は、取り消し線によって図４に表されるように、期限切れにされ得る。実施例では、ストレージスペースを節約するために、リベースバックアップＲ２及び増分バックアップＩ２１、Ｉ２２及びＩ２３のいずれかが削除され得る。
【００５９】
時間４１４において、増分バックアップＩ３１が作成され、バックアップＲ３にペアレントされる。
【００６０】
図３に戻り、工程３１２において、本明細書に記載されるシステムのうちの１つ以上は、バックアップノードからクラウドストレージデバイスに完全なバックアップ記録を転送（すなわち、アップロード）し得る。バックアップデータは、バックアップクラスタ内のバックアップノードからバックアップ媒体に並行して転送され得る。本明細書に記載のシステムは、様々な方法で工程３１２を実施し得る。例えば、第２の転送モジュール１１４は、図２のコンピューティングデバイス２０２の一部として、バックアップノード２１２からクラウドストレージデバイス２２４に完全なバックアップ記録２１８を転送し得る。
【００６１】
一実施例では、方法３００は、バックアップノードを転送前状態に復帰させることを含み得る。例えば、バックアップコピー２１４の少なくとも一部分は、バックアップノード２１２から削除され得る。
【００６２】
一実施形態では、方法３００は、クラウドストレージデバイスから本番ノードへバックアップコピーを復元することを含み得る。例えば、バックアップコピー２１４の少なくとも一部分及び／又は完全なバックアップ記録２１８の少なくとも一部分は、クラウドストレージデバイス２２４から、コンピューティングデバイス２０２、サーバ２０６、本番ノード２０８、バックアップノード２１２、異なる本番ノード、及び／又はネットワーク２０４に結合されたデバイスに復元され得る。
【００６３】
一実施形態では、復元することは、バックアップコピーから処理するデータ量を判定することを含み得る。復元する必要があるキースペースが特定され得、増分バックアップのチェーンが、キースペースに対するフルバックアップが特定されるまで、特定される。復元することは、復元されるキースペースの各々に転送される必要があるデータ量を計算することを含み得る。実施形態では、復元することは、クラウドストレージデバイス２２４上で、バックアップコピーから処理するデータ量を判定することを含み得る。復元することは、復元されるキースペースの各々について、クラウドストレージデバイス２２４から転送される必要があるデータ量を計算することを含み得る。
【００６４】
一実施例では、復元することは、バックアップクラスタを準備することを含み得る。復元すべきデータ量を特定した後、バックアップクラスタ内にノードをプロビジョニングし、バックアップクラスタ内のバックアップノード上のストレージがプロビジョニングされ得る。プロビジョニングされる必要があるノードの数は、処理する必要があるデータ量及び／又はバックアップノードの処理電力に依存し得る。復元することは、２つのノードが同じカラム族を処理しないように、及び／又はデータがノードの各々に均等に分散されるように、個々のカラム族を処理する責任をバックアップクラスタ内のノードに分散することを含み得る。例えば、復元することは、バックアップノード２１２を含むバックアップクラスタを準備すること、及び／又はバックアップノード２１２上にストレージをプロビジョニングすることを含み得る。
【００６５】
実施例では、復元することは、バックアップ媒体（例えば、クラウドストレージデバイス）から、バックアップクラスタ内のノードの各々に並列してデータをダウンロードすることを含み得る。例えば、復元することは、クラウドストレージデバイス２２４からバックアップノード２１２にバックアップコピー２１４をダウンロードすることを含み得る。
【００６６】
一実施形態では、復元することは、任意選択的に、完全な記録を再作成するための異なる時間において異なるカラムに更新を統合する記録合成を実行することを含み得る。増分バックアップから復元するときなど、記録合成を実行することによって、ストレージスペースの節約が得られ得る。例えば、復元することは、完全なバックアップ記録２１８を再作成するための異なる時間において異なるカラムに記録アップデート２１６を統合する記録合成を実行することを含み得る。このようにバックアップデータを最適化することで、復元されるデータ量を低減し得る。
【００６７】
一実施形態では、復元することは、本番クラスタを準備することを含み得る。復元することは、復元される必要があるキースペースのための概略を作成すること及び／又はバックアップクラスタからデータを受信するために本番クラスタを準備することを含み得る。例えば、復元することは、バックアップノード２１２からデータを受信するために、本番ノード２０８を含む本番クラスタを準備することを含み得る。
【００６８】
実施例では、復元することは、データを転送することを含み得る。データは、バックアップクラスタ内のバックアップノードから本番クラスタ内の本番ノードへと並行して転送（例えば、散乱）され得る。復元することは、複製係数に応じて、異なる本番ノードに記録を多重に書き込むことを含み得る。実施例では、復元することは、バックアップノード２１２から本番ノード２０８にデータを転送することを含み得る。
【００６９】
実施形態では、復元することは、バックアップクラスタ内のバックアップノード上の一時的なデータ構造を除去することを含み得る。実施例では、復帰することは、バックアップノードを転送前状態に復元することを含み得る。例えば、復帰することは、バックアップノード２１２を転送前状態に復元することを含み得る。
【００７０】
上で詳述したように、図３の方法３００で概説された工程は、本番クラスタ内の結果整合性データベースをバックアップし、及び／又は結果整合性データベースをクラウドストレージデバイスから復元するための方法を提供することができる。実施例では、提供されたシステム及び方法は、スケールアウトした高性能データベースと共に使用され得る。そのようにすることによって、実施例では、本明細書に記載されるシステム及び方法は、短い時間間隔内で大規模なデータセットを自動的に保護し、信頼できるコピーを提供し、重複排除の課題を解決し、変更されたアーキテクチャに記憶された記録をバックアップし、再構成されたノードの記録をバックアップし、及び／又は経時的にサイズが増大するバックアップデータファイルのバックアップ記録することにより、コンピューティングデバイスの機能を向上させ、費用効率の高いストレージ管理を可能にする。また、実施例では、本明細書に記載されるシステム及び方法はまた、転送されるデータ量を低減することによって電力を節約し得る。
【００７１】
上述の開示は、具体的なブロック図、フローチャート、及び実施例を使用して、種々の実施形態を記載するが、本明細書において説明及び／又は例解される各ブロック図の構成要素、フローチャートの工程、動作、及び／又は構成要素は、広範なハードウェア、ソフトウェア、又はファームウェア（又はこれらの任意の組み合わせ）構成を使用して、個々に、かつ／又は集合的に実装され得る。加えて、他の構成要素内に含まれる構成要素のいずれの開示も、多くの他のアーキテクチャを実装して、同じ機能性を達成することができるため、事実上、例として見なされるべきである。
【００７２】
いくつかの例では、図１の例示的なシステム１００の全て又は一部分は、クラウドコンピューティング又はネットワークベース環境の部分を表してもよい。クラウドコンピューティング環境は、インターネットを介して、種々のサービス及びアプリケーションを提供し得る。これらのクラウドベースのサービス（例えば、サービスとしてのソフトウェア、サービスとしてプラットフォーム、サービスとしてのインフラストラクチャなど）は、ウェブブラウザ又は他のリモートインターフェースを通じて、アクセス可能であり得る。本明細書において説明される種々の機能は、リモートデスクトップ環境又は任意の他のクラウドベースのコンピューティング環境を通じて提供され得る。
【００７３】
種々の実施形態において、図１の例示的なシステム１００の全て又は一部分は、クラウドベースのコンピューティング環境内のマルチテナンシーを容易にし得る。換言すると、本明細書において説明されるモジュールは、本明細書において説明される機能のうちの１つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム（例えば、サーバ）を構成し得る。例えば、本明細書において説明されるモジュールのうちの１つ以上は、２つ以上のクライアント（例えば、顧客）が、サーバ上で実行されているアプリケーションを共有することを可能にするように、サーバをプログラムし得る。このようにプログラムされたサーバは、複数の顧客（即ち、テナント）間でアプリケーション、オペレーティングシステム、処理システム、及び／又は記憶システムを共有し得る。本明細書において説明されるモジュールのうちの１つ以上はまた、ある顧客が別の顧客のデータ及び／又は構成情報にアクセスすることができないように、各顧客に対して、マルチテナントアプリケーションのデータ及び／又は構成情報を分割し得る。
【００７４】
種々の実施形態によれば、図１の例示的なシステム１００の全て又は一部分は、仮想環境内で実装され得る。例えば、本明細書において説明されるモジュール及び／又はデータは、仮想マシン内に存在し得る、かつ／又はそこで実行し得る。本明細書において使用される際、「仮想マシン」という用語は、概して、仮想マシンマネージャ（例えば、ハイパーバイザ）によって、コンピューティングハードウェアから抽象化される任意のオペレーティングシステム環境を指す。
【００７５】
いくつかの例では、図１の例示的なシステム１００の全て又は一部分は、モバイルコンピューティング環境の部分を表し得る。モバイルコンピューティング環境は、モバイル電話、タブレットコンピュータ、電子書籍リーダ、パーソナルデジタルアシスタント、ウェアラブルコンピューティングデバイス（例えば、頭部装着型ディスプレイ、スマートウォッチなどを有するコンピューティングデバイス）、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なモバイルコンピューティングデバイスを含む、広範なモバイルコンピューティングデバイスによって実装され得る。一部の例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間に１つのフォアグラウンドアプリケーションのみを提示すること、遠隔管理特性、タッチスクリーン特性、場所及び移動データ（例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される）、システムレベルの構成への修正を制限する、かつ／又は第３者のソフトウェアが他のアプリケーションの挙動を検査する能力を制限する、アプリケーションのインストールを制限する（例えば、承認されたアプリケーションストアのみから得る）管理などを含む、１つ以上の異なる特性を有し得る。本明細書に記載される様々な機能は、モバイルコンピューティング環境に対して提供され得る、かつ／又はモバイルコンピューティング環境と相互作用し得る。
【００７６】
本明細書において説明及び／又は例解される工程のプロセスパラメータ及び順序は、例として示されるに過ぎず、所望に応じて変化させることができる。例えば、本明細書において例解及び／又は説明される工程は、特定の順序で図示又は考察されるが、これらの工程は、必ずしも例解又は考察される順序で実施される必要はない。本明細書において説明及び／又は例解される種々の例示的な方法もまた、本明細書において説明若しくは例解される工程のうちの１つ以上を省略し得るか、又は開示されるものに加えて追加の工程を含み得る。
【００７７】
種々の実施形態が、完全に機能的なコンピューティングシステムの文脈で、本明細書において説明及び／又は例解されているが、これらの例示的な実施形態のうちの１つ以上は、分散を実際に行うために使用される特定のタイプのコンピュータ可読媒体にかかわらず、様々な形態のプログラム製品として分散され得る。本明細書において開示される実施形態はまた、あるタスクを実施するモジュールを使用して、実装され得る。これらのモジュールは、コンピュータ可読記憶媒体上に、又はコンピューティングシステム内に記憶され得る、スクリプト、バッチ、又は他の実行可能なファイルを含み得る。いくつかの実施形態では、これらのモジュールは、本明細書において開示される例示的な実施形態のうちの１つ以上を実施するように、コンピューティングシステムを構成し得る。
【００７８】
先述の説明は、当業者が、本明細書において開示される例示的な実施形態の種々の態様を最良に利用することを可能にするために提供されている。この例示的な説明は、網羅的であることを意図するものでも、開示されたいずれかの正確な形態に限定されることを意図するものでもない。多くの修正及び改変が、本開示の趣旨及び範囲から逸脱することなく、可能である。本明細書において開示される実施形態は、全ての点において、例解的であり、制限的ではないと見なされるべきである。本開示の範囲を判定する上では、添付の請求項及びそれらの同等物を参照するべきである。
【００７９】
別途記載されない限り、「〜に接続される（connected to）」及び「〜に連結される（coupled to）」という用語（及びそれらの派生語）は、本明細書及び請求項において使用される際、直接的及び間接的（即ち、他の要素又は構成要素を介した）接続の両方を許容するとして解釈されるものとする。単数形は、可能な場合は複数形を示す。加えて、「ａ」又は「ａｎ」という用語は、本明細書及び請求項において使用される際、「〜のうちの少なくとも１つ（at least one of）」を意味するとして解釈されるものとする。最後に、使用を容易にするために、「含む（including）」及び「有する（having）」という用語（及びそれらの派生語）は、本明細書及び請求項において使用される際、「備える（comprising）」という語と同義的であり、かつ同じ意味を有する。
【図１】
2021515335.tif 000003
【図２】
2021515335.tif 000004
【図３】
2021515335.tif 000005
【図４】
2021515335.tif 000006
【手続補正書】
【提出日】令和2年9月4日(2020.9.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
本番クラスタ内の結果整合性データベースをバックアップするためのコンピュータ実装方法であって、前記方法の少なくとも一部分が、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実行され、前記方法が、
本番ノード上に、本番データの安定したコピーを形成することと、
前記安定したコピー内のデータ量及び複製係数に基づいて、バックアップノード上にストレージをプロビジョニングすることと、
前記安定したコピーから前記バックアップノード上のバックアップコピーに情報を転送することと、
前記バックアップコピーに対して記録合成を実行して、記録アップデートを統合して完全なバックアップ記録にすることと、
前記完全なバックアップ記録内の任意の古くなった記録及び任意の冗長記録を特定し破棄することと、
前記バックアップノードからクラウドストレージデバイスに前記完全なバックアップ記録を転送することと、を含む、方法。
【請求項２】
前記本番ノードが構成部分である本番クラスタのトポロジーを特定して、前記本番ノードを、バックアップを必要とするとして特定することを更に含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記安定したコピー内の前記データ量を判定することを更に含む、請求項１又は２に記載のコンピュータ実装方法。
【請求項４】
前記安定したコピー内の前記データ量に基づいて、バックアップクラスタ内に前記バックアップノードをプロビジョニングすることを更に含む、請求項１又は２又は３に記載のコンピュータ実装方法。
【請求項５】
本番ノードが構成部分である本番クラスタ内の前記本番ノードの数が、バックアップノードが構成部分であるバックアップクラスタ内の前記バックアップノードの数と等しくない、請求項１又は２又は３又は４に記載のコンピュータ実装方法。
【請求項６】
本番クラスタ内の結果整合性データベースをバックアップするためのシステムであって、
本番ノード上に本番データの安定したコピーを形成する、メモリに記憶された形成するための手段、
前記安定したコピー内のデータ量及び複製係数に基づいてバックアップノード上にストレージをプロビジョニングする、前記メモリに記憶された第１のプロビジョニングするための手段、
前記安定したコピーから前記バックアップノード上のバックアップコピーに情報を転送する、前記メモリに記憶された第１の転送するための手段、
前記バックアップコピーに対して記録合成を実行して、記録アップデートを統合して完全なバックアップ記録にする、前記メモリに記憶された実行するための手段、
前記完全なバックアップ記録内の任意の古くなった記録及び任意の冗長記録を特定し破棄する、前記メモリに記憶された特定し破棄するための手段、
前記形成するための手段、前記プロビジョニングするための手段、前記第１の転送するための手段、前記実行するための手段、前記特定し破棄するための手段、及び第２の転送するための手段を実行する、少なくとも１つの物理的プロセッサと、を備える、システム。
【請求項７】
前記本番ノードが構成部分である本番クラスタのトポロジーを特定して、前記本番ノードを、バックアップを必要とするとして特定する、前記メモリに記憶された特定するための手段を更に備える、請求項６に記載のシステム。
【請求項８】
前記安定したコピー内の前記データ量を判定する、前記メモリに記憶された判定するための手段を更に備える、請求項６又は７に記載のシステム。
【請求項９】
前記安定したコピー内の前記データ量に基づいて、バックアップクラスタ内に前記バックアップノードをプロビジョニングする、前記メモリに記憶された第２のプロビジョニングするための手段を更に備える、請求項６又は７又は８に記載のシステム。
【請求項１０】
本番ノードが構成部分である本番クラスタ内の前記本番ノードの数が、バックアップノードが構成部分であるバックアップクラスタ内の前記バックアップノードの数と等しくない、請求項６又は７又は８又は９に記載のシステム。
【請求項１１】
１つ以上のコンピュータ実行可能命令を備える非一時的コンピュータ可読媒体であって、前記命令は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されたら、前記コンピューティングデバイスに、
本番ノード上に、本番データの安定したコピーを形成することと、
前記安定したコピー内のデータ量及び複製係数に基づいて、バックアップノード上にストレージをプロビジョニングすることと、
前記安定したコピーから前記バックアップノード上のバックアップコピーに情報を転送することと、
前記バックアップコピーに対して記録合成を実行して、記録アップデートを統合して完全なバックアップ記録にすることと、
前記完全なバックアップ記録内の任意の古くなった記録及び任意の冗長記録を特定し破棄することと、
前記バックアップノードからクラウドストレージデバイスに前記完全なバックアップ記録を転送することと、を行わせる、非一時的コンピュータ可読媒体。
【請求項１２】
前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、
前記本番ノードが構成部分である本番クラスタのトポロジーを特定して、前記本番ノードを、バックアップを必要とするとして特定することを行わせる、コンピュータ実行可能命令を含む、請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、
前記安定したコピー内の前記データ量を判定することを行わせる、コンピュータ実行可能命令を含む、請求項１１又は１２に記載の非一時的コンピュータ可読媒体。
【請求項１４】
前記コンピュータ実行可能命令が、前記コンピューティングデバイスに、
前記安定したコピー内の前記データ量に基づいて、バックアップクラスタ内に前記バックアップノードをプロビジョニングすることを行わせる、コンピュータ実行可能命令を含む、請求項１１又は１２又は１３に記載の非一時的コンピュータ可読媒体。
【請求項１５】
本番ノードが構成部分である本番クラスタ内の前記本番ノードの数が、バックアップノードが構成部分であるバックアップクラスタ内の前記バックアップノードの数と等しくない、請求項１１又は１２又は１３又は１４に記載の非一時的コンピュータ可読媒体。
【国際調査報告】
2021515335.tif 000007
2021515335.tif 000008
2021515335.tif 000009