(57)【要約】  バックアップデータをロードバランシングするための開示されたコンピュータ実装方法は、（１）マルチノードコンピューティングクラスタ内のファイルをバックアップする要求を受信することと、（２）複数のバックアップクライアント間のファイルのバックアップ分散を識別することと、（３）クラスタ内のデータノードから現行ファイルの開始データブロックを読み出すことと、（４）クラスタ内の別のデータノードから追加ファイルの開始データブロックのコピーを読み出すことと、（５）クラスタ内のデータノードから現行ファイルの後続データブロックを読み出すことと、（６）マルチノードコンピューティングクラスタ内の別のデータノードから追加ファイルの後続バックアップデータブロックのコピーを読み出すことによって、データノード及び別のデータノード間で現行ファイル及び追加ファイルのバックアップをバランシングすることと、を含み得る。様々な他の方法、システム、及びコンピュータ可読媒体もまた開示される。
2020518927.tif 000002
【特許請求の範囲】
【請求項１】
バックアップデータをロードバランシングするためのコンピュータ実装方法であって、前記方法の少なくとも一部分が、少なくとも１つの物理プロセッサを備えるコンピューティングデバイスによって実施され、前記方法が、
マルチノードコンピューティングクラスタ内のファイルをバックアップする要求を受信することと、
前記要求に基づいて、複数のバックアップクライアント間の前記ファイルのバックアップ分散を識別することと、
前記マルチノードコンピューティングクラスタ内のデータノードから現行ファイルの開始バックアップデータブロックを読み出すことと、
前記マルチノードコンピューティングクラスタ内の別のデータノードから追加ファイルの開始バックアップデータブロックのコピーを読み出すことと、
前記マルチノードコンピューティングクラスタ内の前記データノードから前記現行ファイルの後続バックアップデータブロックを読み出すことと、
前記マルチノードコンピューティングクラスタ内の前記別のデータノードから前記追加ファイルの後続バックアップデータブロックのコピーを読み出すことによって、前記データノード及び前記別のデータノード間で前記現行ファイル及び前記追加ファイルのバックアップをバランシングすることと、を含む、コンピュータ実装方法。
【請求項２】
少なくとも前記現行ファイルの前記開始バックアップデータブロック及び前記後続バックアップデータブロックをストレージシステムに記憶することを更に含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
少なくとも前記追加ファイルの前記開始バックアップデータブロック及び前記後続バックアップデータブロックの前記コピーをストレージシステムに記憶することを更に含む、請求項２に記載のコンピュータ実装方法。
【請求項４】
前記要求に基づいて、複数のバックアップクライアント間の前記ファイルのバックアップ分散を識別することが、前記マルチノードコンピューティングクラスタ内のネームノードからバックアップ分散データを取得することを含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
別のデータノードから追加ファイルの前記開始バックアップデータブロックのコピーを読み出すことが、前記データノードから前記現行ファイルの前記開始バックアップデータブロックを読み出すことと並行して前記開始バックアップデータブロックの前記コピーを読み出すことを含む、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記別のデータノードから追加ファイルの前記後続バックアップデータブロックのコピーを読み出すことが、前記データノードから前記現行ファイルの前記後続バックアップデータブロックを読み出すことと並行して前記後続バックアップデータブロックの前記コピーを読み出すことを含む、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記マルチノードコンピューティングクラスタが、ハドゥープ分散ファイルシステム（ＨＤＦＳ）を備える、請求項１に記載のコンピュータ実装方法。
【請求項８】
バックアップデータをロードバランシングするためのシステムであって、
マルチノードコンピューティングクラスタ内のファイルをバックアップする要求を受信する、メモリに記憶された受信モジュールと、
前記要求に基づいて、複数のバックアップクライアント間の前記ファイルのバックアップ分散を識別する、メモリに記憶された識別モジュールと、
メモリに記憶されたバックアップ読み出しモジュールであって、
前記マルチノードコンピューティングクラスタ内のデータノードから現行ファイルの開始バックアップデータブロックを読み出し、
前記マルチノードコンピューティングクラスタ内の前記データノードから前記現行ファイルの後続バックアップデータブロックを読み出す、バックアップ読み出しモジュールと、
メモリに記憶された別のバックアップ読み出しモジュールであって、
前記マルチノードコンピューティングクラスタ内の別のデータノードから追加ファイルの前記開始バックアップデータブロックのコピーを読み出し、
前記マルチノードコンピューティングクラスタ内の前記別のデータノードから前記追加ファイルの前記後続バックアップデータブロックのコピーを読み出すことによって、前記データノード及び前記別のデータノード間で前記現行ファイル及び前記追加ファイルのバックアップをバランシングさせる、別のバックアップ読み出しモジュールと、
前記受信モジュール、前記識別モジュール、前記バックアップ読み出しモジュール、及び前記別のバックアップ読み出しモジュールを実行する少なくとも１つの物理プロセッサと、を備える、システム。
【請求項９】
少なくとも、前記現行ファイルの前記開始バックアップデータブロック、前記現行ファイルの前記後続バックアップデータブロック、前記追加ファイルの前記開始バックアップデータブロックの前記コピー、及び前記追加ファイルの前記後続バックアップデータブロックの前記コピーをストレージシステムに更に記憶する記憶モジュールを更に備える、請求項８に記載のシステム。
【請求項１０】
前記識別モジュールが、前記マルチノードコンピューティングクラスタ内のネームノードからバックアップ分散データを取得することによって、複数のバックアップクライアント間の前記ファイルのバックアップ分散を識別する、請求項９に記載のシステム。
【請求項１１】
前記読み出しモジュールが、前記データノードから前記現行ファイルの前記開始バックアップデータブロックを読み出すことと並行して前記開始バックアップデータブロックの前記コピーを読み出すことによって、前記別のデータノードから追加ファイルの前記開始バックアップデータブロックのコピーを読み出す、請求項８に記載のシステム。
【請求項１２】
前記読み出しモジュールが、前記データノードから前記追加ファイルの前記後続バックアップデータブロックを読み出すことと並行して前記後続バックアップデータブロックの前記コピーを読み出すことによって、前記別のデータノードから前記追加ファイルの前記後続バックアップデータブロックのコピーを読み出す、請求項８に記載のシステム。
【請求項１３】
前記マルチノードコンピューティングクラスタが、ハドゥープ分散ファイルシステム（ＨＤＦＳ）を備える、請求項８に記載のシステム。
【請求項１４】
１つ以上のコンピュータ実行可能命令を備える非一時的コンピュータ可読媒体であって、前記命令が、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
マルチノードコンピューティングクラスタ内のファイルをバックアップする要求を受信させ、
前記要求に基づいて、複数のバックアップクライアント間の前記ファイルのバックアップ分散を識別させ、
前記マルチノードコンピューティングクラスタ内のデータノードから現行ファイルの開始バックアップデータブロックを読み出させ、
前記マルチノードコンピューティングクラスタ内の別のデータノードから追加ファイルの前記開始バックアップデータブロックのコピーを読み出させ、
前記マルチノードコンピューティングクラスタ内の前記データノードから前記現行ファイルの後続バックアップデータブロックを読み出させ、
前記マルチノードコンピューティングクラスタ内の前記別のデータノードから前記追加ファイルの前記後続バックアップデータブロックのコピーを読み出すことによって、前記データノード及び前記別のデータノード間で前記開始ファイル及び前記追加ファイルのバックアップをバランシングさせる、非一時的コンピュータ可読媒体。
【請求項１５】
前記１つ以上のコンピュータ可読命令が、前記コンピューティングデバイスに、更に、少なくとも前記現行ファイルの前記開始バックアップデータブロック及び前記後続バックアップデータブロックをストレージシステムに記憶させる、請求項１４に記載の非一時的コンピュータ可読媒体。
【請求項１６】
前記１つ以上のコンピュータ可読命令が、前記コンピューティングデバイスに、更に、前記追加ファイルの前記開始バックアップデータブロック及び前記後続バックアップデータブロックの前記コピーを前記ストレージシステムに記憶させる、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記１つ以上のコンピュータ可読命令が、前記コンピューティングデバイスに、前記要求に基づいて、前記マルチノードコンピューティングクラスタ内のネームノードからバックアップ分散データを取得することによって、複数のバックアップクライアント間の前記ファイルのバックアップ分散を識別させる、請求項１４に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記１つ以上のコンピュータ可読命令が、前記コンピューティングデバイスに、前記データノードから前記現行ファイルの前記開始バックアップデータブロックを読み出すことと並行して前記開始バックアップデータブロックの前記コピーを読み出すことによって、前記別のデータノードから追加ファイルの前記開始バックアップデータブロックのコピーを読み出させる、請求項１４に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記１つ以上のコンピュータ可読命令が、前記コンピューティングデバイスに、前記データノードから前記追加ファイルの前記後続バックアップデータブロックを読み出すことと並行して前記後続バックアップデータブロックの前記コピーを読み出すことによって、前記別のデータノードから前記追加ファイルの後続バックアップデータブロックのコピーを読み出させる、請求項１４に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記マルチノードコンピューティングクラスタが、ハドゥープ分散ファイルシステム（ＨＤＦＳ）を備える、請求項１４に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
常時接続性の時代では、大規模なデータセットを効率的にバックアップ及び復元できないことは、重大な責任を負うことになり得る。従来のシステムは、コンピューティングクラスタノードの複数のプロキシクライアントにわたって大規模なバックアップワークロードを分割し、及び分散させるスケールアウトバックアップアーキテクチャを利用し得る。しかしながら、従来のシステムにおけるバックアップワークロードのワークロード分散は、プロキシクライアントが、コンピューティングクラスタノードからバックアップデータブロックを不均一にフェッチし、それによって、バックアップ入出力動作中に他のノードを利用している間に一部のノードを過剰利用し（例えば、オーバーロードする）得る。したがって、本開示は、ロードバランシングバックアップデータのためのシステム及び方法に対する必要性を識別して対処する。
【発明の概要】
【０００２】
以下でより詳細に説明されるように、本開示は、（１）マルチノードコンピューティングクラスタ内のファイルをバックアップする要求を受信することと、（２）複数のバックアップクライアント間のファイルのバックアップ分散を識別することと、（３）クラスタ内のデータノードから現行ファイルの開始データブロックを読み出すことと、（４）クラスタ内の別のデータノードから追加ファイルの開始データブロックのコピーを読み出すことと、（５）クラスタ内のデータノードから現行ファイルの後続データブロックを読み出すことと、（６）マルチノードコンピューティングクラスタ内の別のデータノードから追加ファイルの後続バックアップデータブロックのコピーを読み出すことによって、データノード及び別のデータノード間で現行ファイル及び追加ファイルのバックアップをバランシングすることと、によって、バックアップデータをロードバランシングするための様々なシステム及び方法を記載する。
【０００３】
いくつかの例では、方法は、少なくとも現行ファイルの開始バックアップデータブロック及び後続バックアップデータブロックをストレージシステムに記憶することを含んでもよい。追加的に又は代替的に、方法は、少なくとも追加ファイルの開始バックアップデータブロック及び後続バックアップデータブロックのコピーをストレージシステムに記憶することを含んでもよい。
【０００４】
いくつかの例では、複数のバックアップクライアント間のファイルのバックアップ分散を識別することは、マルチノードコンピューティングクラスタ内のネームノードからバックアップ分散データを取得することを含んでもよい。マルチノードコンピューティングクラスタは、ハドゥープ分散ファイルシステム（Hadoop Distributed File System、ＨＤＦＳ）を含んでもよい。
【０００５】
いくつかの例では、別のデータノードから追加ファイルの開始バックアップデータブロックのコピーを読み出すことは、データノードから現行ファイルの開始バックアップデータブロックを読み出すことと並行して、開始バックアップデータブロックのコピーを読み出すことを含んでもよい。いくつかの例では、別のデータノードから追加ファイルの後続バックアップデータブロックのコピーを読み出すことは、データノードから追加ファイルの後続バックアップデータブロックを読み出すことと並行して、後続バックアップデータブロックのコピーを読み出すことを含んでもよい。
【０００６】
一例では、バックアップデータをロードバランシングするためのシステムは、（１）マルチノードコンピューティングクラスタ内のファイルをバックアップする要求を受信する受信モジュールと、（２）複数のバックアップクライアント間のファイルのバックアップ分散を識別する識別モジュールと、（３）データノードから現行ファイルの開始バックアップデータブロックを読み出し、マルチノードコンピューティングクラスタ内のデータノードから現行ファイルの後続バックアップデータブロックを読み出すバックアップ読み出しモジュールと、（４）別のデータノードからの追加ファイルの開始バックアップデータブロックのコピーを読み出し、マルチノードコンピューティングクラスタ内の別のデータノードから追加ファイルの後続バックアップデータブロックのコピーを読み出すことによって、データノード及び別のデータノード間の現行ファイル及び追加ファイルのバックアップをバランシングする  別のバックアップ読み出しモジュールと、を含む、メモリに記憶されたいくつかのモジュールを含んでもよい。加えて、システムは、受信モジュール、識別モジュール、バックアップ読み出しモジュール、及び別のバックアップ読み出しモジュールを実行する少なくとも１つの物理プロセッサを含んでもよい。
【０００７】
いくつかの例では、上記の方法は、非一時的コンピュータ可読媒体上にコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読媒体は、１つ以上のコンピュータ実行可能命令を含んでもよく、この命令は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、コンピューティングデバイスに、（１）マルチノードコンピューティングクラスタ内のファイルをバックアップする要求を受信させ、（２）複数のバックアップクライアント間のファイルのバックアップ分散を識別させ、（３）クラスタ内のデータノードから現行ファイルの開始データブロックを読み出させ、（４）クラスタ内の別のデータノードから追加ファイルの開始データブロックのコピーを読み出させ、（５）クラスタ内のデータノードから現行ファイルの後続データブロックを読み出させ、（６）マルチノードコンピューティングクラスタ内の別のデータノードから追加データファイルの後続バックアップデータブロックのコピーを読み出すことによって、データノード及び別のデータノード間の現行ファイル及び追加ファイルのバックアップをバランシングさせてもよい。
【０００８】
上記で述べた実施形態のうちのいずれかからの機能は、本明細書で説明する一般原理に従って互いと組み合わせて使用されてもよい。これらの及び他の実施形態、特徴、及び利点は、添付の図面及び請求項と併せて、以下の詳細な説明を一読することで、より完全に理解されよう。
【図面の簡単な説明】
【０００９】
添付の図面は、いくつかの例示的な実施形態を示し、かつ本明細書の一部である。以下の説明とともに、これらの図面は、本開示の種々の原理を実証及び説明する。
【図１】バックアップデータをロードバランシングするための例示的なシステムのブロック図である。
【図２】バックアップデータをロードバランシングするための更なる例示的なシステムのブロック図である。
【図３】バックアップデータをロードバランシングするための例示的な方法のフロー図である。
【図４】バックアップデータをロードバランシングするための更なる例示的なシステムのブロック図である。
【００１０】
図面を通じて、同一の参照文字及び説明は、類似であるが、必ずしも同一ではない要素を示す。本明細書において説明される例示的な実施形態は、種々の修正及び代替的な形態が可能であるが、具体的な実施形態が、図面において、例として示されており、かつ本明細書において詳細に説明される。しかしながら、本明細書において説明される例示的な実施形態は、開示される特定の形態に限定されることを意図されない。むしろ、本開示は、添付の請求項の範囲内にある全ての修正物、同等物、及び代替物を網羅する。
【発明を実施するための形態】
【００１１】
本開示は、概して、バックアップデータをロードバランシングするためのシステム及び方法を対象とする。以下でより詳細に説明するように、マルチノードコンピューティングクラスタ内のファイルをバックアップする要求を受信した後、開示されたシステム及び方法は、複数のバックアップクライアント間のファイルのバックアップ分散を識別し、複数のデータノードからバックアップファイルブロック及びバックアップファイルブロックのコピーの両方を読み出し得る。したがって、本明細書に記載されるシステム及び方法は、ユーザが、オリジナルのファイルブロックのみを読み出して、他のノードを関与させずに、少数のノードに障害をもたらし得るのではなく、マルチノードコンピューティングクラスタ内の複数のノードからオリジナルのファイルブロックと並行して複製ファイルブロックを読み出すことによって、ロードバランシングされたファイルバックアップを効率的に実施することを可能にし得る。
【００１２】
更に、本明細書に記載されるシステム及び方法は、クラスタ内の複数のノードにわたるバックアップワークロードの分散を改善することによって、バックアップサーバの機能を改善し得る。これらのシステム及び方法はまた、コンピュータクラスタ内のノードの使用を最適化することによって、ロードバランシングされたサーババックアップを実施するフィールドを改善することができ、これは、クラスタ内の任意のノードのオーバーロードを回避しながらリソースの使用を最大化し、より高速なバックアップ動作につながり得る。
【００１３】
以下に、図１〜図２を参照して、バックアップデータをロードバランシングするための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実装方法についての詳細な説明もまた、図３に関連して提供される。加えて、更なる例の詳細な説明［バックアップデータをロードバランシングするためのシステムもまた、図４に関連して提供される］。
【００１４】
図１は、バックアップデータをロードバランシングするための例示的なシステム１００のブロック図である。この図に示されるように、例示的なシステム１００は、１つ以上のタスクを実施するための１つ以上のモジュール１０２を含んでもよい。以下でより詳細に説明されるように、モジュール１０２は、マルチノードコンピューティングクラスタ内のファイルをバックアップする要求を受信する受信モジュール１０４と、要求に基づいて、複数のバックアップクライアント間のファイルのバックアップ分散を識別する識別モジュール１０６と、マルチノードコンピューティングクラスタ内のデータノードからファイルのバックアップデータブロック及びバックアップデータブロックのコピーを読み出す読み出しモジュール１０８Ａ〜１０８Ｎと、マルチノードコンピューティングクラスタ内のデータノードからのファイルのバックアップデータブロックを記憶する記憶モジュール１１０と、を含んでもよい。別個の要素として示されるが、図１のモジュール１０２のうちの１つ以上は、単一のモジュール又はアプリケーションの一部分を表し得る。
【００１５】
特定の実施形態では、図１のモジュール１０２のうちの１つ以上は、コンピューティングデバイスによって実行されるとき、コンピューティングデバイスに、１つ以上のタスクを実施させ得る１つ以上のソフトウェアアプリケーション又はプログラムを表してもよい。例えば、以下でより詳細に記載されるように、モジュール１０２のうちの１つ以上は、図２内に示されたデバイス（例えば、サーバ２０６）などの、１つ以上のコンピューティングデバイス上で記憶され、動作するように構成されたモジュールを表してもよい。図１のモジュール１０２のうちの１つ以上はまた、１つ以上のタスクを実施するように構成された１つ以上の特殊目的のコンピュータの全て又は一部分を表してもよい。
【００１６】
図１に示されているように、例示的なシステム１００はまた、メモリ１４０など、１つ以上のメモリデバイスも含み得る。メモリ１４０は、データ及び／又はコンピュータ可読命令を記憶することが可能な任意のタイプ又は形態の揮発性又は不揮発性のストレージデバイス又は媒体を概して表す。一例では、メモリ１４０は、モジュール１０２のうちの１つ以上を記憶、ロード、及び／又は維持し得る。メモリ１４０の例としては、限定することなく、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、光ディスクドライブ、キャッシュ、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なストレージメモリが挙げられる。
【００１７】
図１に示されているように、例示的なシステム１００はまた、物理プロセッサ１３０など、１つ以上の物理プロセッサも含み得る。物理プロセッサ１３０は、コンピュータ可読命令を解釈及び／又は実行することができる任意のタイプ又は形態のハードウェア実装型処理ユニットを概して表す。一例では、物理プロセッサ１３０は、メモリ１４０に記憶されているモジュール１０２のうちの１つ以上にアクセスし、及び／又はこれらを修正し得る。追加的に又は代替的に、物理プロセッサ１３０は、バックアップデータをロードバランシングすることを容易にするためにモジュール１０２のうちの１つ以上を実行し得る。物理プロセッサ１３０の例としては、限定することなく、マイクロプロセッサ、マイクロコントローラ、中央処理ユニット（Central Processing Unit、ＣＰＵ）、ソフトコアプロセッサを実装しているフィールドプログラマブルゲートアレイ（Field-Programmable Gate Array、ＦＰＧＡ）、特定用途向け集積回路（Application-Specific Integrated Circuit、ＡＳＩＣ）、これらのうちの１つ以上の部分、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適な物理プロセッサが挙げられる。
【００１８】
図１に示されるように、例示的なシステム１００はまた、ストレージ１２０などのバックアップストレージも含み得る。ストレージ１２０は、読み出しモジュール１０８Ａ〜１０８Ｎによってマルチノードコンピューティングクラスタ内のデータノードから読み出されたバックアップデータブロック１２２を記憶するための任意のタイプ又は形態のバックアップストレージデバイス又はデバイスを概して表す。
【００１９】
図１の例示的なシステム１００は、様々な態様で実装され得る。例えば、例示的なシステム１００の全て又は一部分は、図２の例示的なシステム２００の部分を表し得る。図２に示されるように、システム２００は、ネットワーク２０４を介してサーバ２０６と通信するコンピューティングデバイス２０２を含み得る。一例では、モジュール１０２の機能性の全て又は一部分は、サーバ２０６及び／又は任意の他の好適なコンピューティングシステムによって実施され得る。下記でより詳細に記載されるように、図１のモジュール１０２のうちの１つ以上は、サーバ２０６の少なくとも１つのプロセッサによって実行されるとき、サーバ２０６がバックアップデータをロードバランシングすることを可能にし得る。
【００２０】
コンピューティングデバイス２０２Ａ〜２０２Ｃは、コンピュータ実行可能命令を読み出すことができる任意のタイプ又は形態のコンピューティングデバイスを概して表す。一例では、コンピューティングデバイス２０２Ａ〜２０２Ｃは、複数のデータブロックの形態でバックアップファイルを維持するマルチノードコンピューティングクラスタを表し得る。例えば、クラスタ内のコンピューティングデバイス２０２Ａは、コンピューティングデバイス２０２Ｂ及び２０２Ｃのためのバックアップ分散データ２０８（例えば、バックアップ分散ワークロード）を記憶するためのネームノードを表し得る。一実施形態では、コンピューティングデバイス２０２Ｂ及び２０２Ｃは、図１の読み出しモジュール１０８Ａ〜１０８Ｎによって読み出されるバックアップデータブロック１２４を記憶するためのデータノードを表し得る。一実施形態では、マルチノードコンピューティングクラスタは、ＨＤＦＳ／ＨＢａｓｅクラスタであってもよい。コンピューティングデバイス２０２Ａ〜２０２Ｃの更なる例としては、限定することなく、ノートブック、タブレット、デスクトップ、サーバ、携帯電話、個人情報機器（Personal Digital Assistant、ＰＤＡ）、マルチメディアプレイヤー、組み込みシステム、ウェアラブルデバイス（例えば、スマートウォッチ、スマートガラスなど）、ゲーム機、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なコンピューティングデバイスが挙げられる。
【００２１】
サーバ２０６Ａ〜２０６Ｃは、マルチノードコンピューティングクラスタからバックアップデータブロックを読み出すために使用されるアプリケーションが可能である、任意のタイプ又は形態のコンピューティングデバイスを概して表す。一例では、サーバ２０６Ａ〜２０６Ｃは、モジュール１０２を利用してコンピューティングデバイス２０２Ａからバックアップ分散データ２０８を受信し、かつマルチノードクラスタ内のコンピューティングデバイス２０２Ｂ及び２０２Ｃからバックアップデータブロック１２４を読み出す、複数のプロキシクライアントとして機能する複数のＮＥＴＢＡＣＫＵＰサーバを表し得る。サーバ２０６Ａ〜２０６Ｃは、ストレージ１２２内にバックアップデータブロック１２４を記憶するように更に構成されてもよい。サーバ２０６の更なる例としては、限定することなく、ストレージサーバ、データベースサーバ、アプリケーションサーバ、並びに／又は特定のソフトウェアアプリケーションを動作させ、かつ／又は様々なストレージ、データベース、及び／若しくはウェブサービスを提供するように構成されたウェブサーバが挙げられる。図２において単一体として例示されるが、サーバ２０６は、互いに連動して働き及び／又は動作する複数のサーバを含み及び／又は表してもよい。
【００２２】
ネットワーク２０４は、通信又はデータ転送を容易にすることができる任意の媒体又はアーキテクチャを概して表す。一実施例において、ネットワーク２０４は、コンピューティングデバイス２０２とサーバ２０６との間の通信を容易にし得る。この例では、ネットワーク２０４は、無線及び／又は有線接続を使用して、通信又はデータ転送を容易にし得る。ネットワーク２０４の例としては、限定するものではないが、イントラネット、ワイドエリアネットワーク（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）」という語と置き換え可能であり、かつ同じ意味を有する。
【図１】
2020518927.tif 000003
【図２】
2020518927.tif 000004
【図３】
2020518927.tif 000005
【図４】
2020518927.tif 000006
【手続補正書】
【提出日】令和1年11月2日(2019.11.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バックアップデータをロードバランシングするためのコンピュータ実装方法であって、前記方法の少なくとも一部分が、少なくとも１つの物理プロセッサを備えるコンピューティングデバイスによって実施され、前記方法が、
マルチノードコンピューティングクラスタ内のファイルをバックアップする要求を受信することと、
前記要求に基づいて、複数のバックアップクライアント間の前記ファイルのバックアップ分散を識別することと、
前記マルチノードコンピューティングクラスタ内のデータノードから現行ファイルの開始バックアップデータブロックを読み出すことと、
前記マルチノードコンピューティングクラスタ内の別のデータノードから追加ファイルの開始バックアップデータブロックのコピーを読み出すことと、
前記マルチノードコンピューティングクラスタ内の前記データノードから前記現行ファイルの後続バックアップデータブロックを読み出すことと、
前記マルチノードコンピューティングクラスタ内の前記別のデータノードから前記追加ファイルの後続バックアップデータブロックのコピーを読み出すことによって、前記データノード及び前記別のデータノード間で前記現行ファイル及び前記追加ファイルのバックアップをバランシングすることと、を含み、前記後続バックアップデータブロックの前記コピーが、前記開始バックアップデータブロックの前記コピーに続くバックアップデータブロックの任意のコピーを表し、前記後続のバックアップデータブロックの前記コピーが、前記開始バックアップデータブロックの前記コピーに直接続かない、コンピュータ実装方法。
【請求項２】
少なくとも前記現行ファイルの前記開始バックアップデータブロック及び前記後続バックアップデータブロックをストレージシステムに記憶することを更に含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
少なくとも前記追加ファイルの前記開始バックアップデータブロック及び前記後続バックアップデータブロックの前記コピーをストレージシステムに記憶することを更に含む、請求項２に記載のコンピュータ実装方法。
【請求項４】
前記要求に基づいて、複数のバックアップクライアント間の前記ファイルのバックアップ分散を識別することが、前記マルチノードコンピューティングクラスタ内のネームノードからバックアップ分散データを取得することを含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
別のデータノードから追加ファイルの前記開始バックアップデータブロックのコピーを読み出すことが、前記データノードから前記現行ファイルの前記開始バックアップデータブロックを読み出すことと並行して前記開始バックアップデータブロックの前記コピーを読み出すことを含む、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記別のデータノードから追加ファイルの前記後続バックアップデータブロックのコピーを読み出すことが、前記データノードから前記現行ファイルの前記後続バックアップデータブロックを読み出すことと並行して前記後続バックアップデータブロックの前記コピーを読み出すことを含む、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記マルチノードコンピューティングクラスタが、ハドゥープ分散ファイルシステム（ＨＤＦＳ）を備える、請求項１に記載のコンピュータ実装方法。
【請求項８】
バックアップデータをロードバランシングするためのシステムであって、
マルチノードコンピューティングクラスタ内のファイルをバックアップする要求を受信する受信手段と、
前記要求に基づいて、複数のバックアップクライアント間の前記ファイルのバックアップ分散を識別する識別手段と、
バックアップ読み出し手段であって、
前記マルチノードコンピューティングクラスタ内のデータノードから現行ファイルの開始バックアップデータブロックを読み出し、
前記マルチノードコンピューティングクラスタ内の前記データノードから前記現行ファイルの後続バックアップデータブロックを読み出す、バックアップ読み出し手段と、
別のバックアップ読み出し手段であって、
前記マルチノードコンピューティングクラスタ内の別のデータノードから追加ファイルの前記開始バックアップデータブロックのコピーを読み出し、
前記マルチノードコンピューティングクラスタ内の前記別のデータノードから前記追加ファイルの前記後続バックアップデータブロックのコピーを読み出すことによって、前記データノード及び前記別のデータノード間で前記現行ファイル及び前記追加ファイルのバックアップをバランシングさせ、
前記後続バックアップデータブロックの前記コピーが、前記開始バックアップデータブロックの前記コピーに続くバックアップデータブロックの任意のコピーを表し、前記後続バックアップデータブロックの前記コピーが、前記開始バックアップデータブロックの前記コピーに直接続かない、別のバックアップ読み出し手段と、
前記受信手段、前記識別手段、前記バックアップ読み出し手段、及び前記別のバックアップ読み出し手段を実行する少なくとも１つの物理プロセッサと、を備える、システム。
【請求項９】
少なくとも、前記現行ファイルの前記開始バックアップデータブロック、前記現行ファイルの前記後続バックアップデータブロック、前記追加ファイルの前記開始バックアップデータブロックの前記コピー、及び前記追加ファイルの前記後続バックアップデータブロックの前記コピーをストレージシステムに更に記憶する記憶手段を更に備える、請求項８に記載のシステム。
【請求項１０】
前記識別手段が、前記マルチノードコンピューティングクラスタ内のネームノードからバックアップ分散データを取得することによって、複数のバックアップクライアント間の前記ファイルのバックアップ分散を識別する、請求項９に記載のシステム。
【請求項１１】
前記別のバックアップ読み出し手段が、前記データノードから前記現行ファイルの前記開始バックアップデータブロックを読み出すことと並行して前記開始バックアップデータブロックの前記コピーを読み出すことによって、前記別のデータノードから追加ファイルの前記開始バックアップデータブロックのコピーを読み出す、請求項８に記載のシステム。
【請求項１２】
前記別のバックアップ読み出し手段が、前記データノードから前記追加ファイルの前記後続バックアップデータブロックを読み出すことと並行して前記後続バックアップデータブロックの前記コピーを読み出すことによって、前記別のデータノードから前記追加ファイルの前記後続バックアップデータブロックのコピーを読み出す、請求項８に記載のシステム。
【請求項１３】
前記マルチノードコンピューティングクラスタが、ハドゥープ分散ファイルシステム（ＨＤＦＳ）を備える、請求項８に記載のシステム。
【請求項１４】
１つ以上のコンピュータ実行可能命令を備える非一時的コンピュータ可読媒体であって、前記命令がコンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
マルチノードコンピューティングクラスタ内のファイルをバックアップする要求を受信させ、
前記要求に基づいて、複数のバックアップクライアント間の前記ファイルのバックアップ分散を識別させ、
前記マルチノードコンピューティングクラスタ内のデータノードから現行ファイルの開始バックアップデータブロックを読み出させ、
前記マルチノードコンピューティングクラスタ内の別のデータノードから追加ファイルの前記開始バックアップデータブロックのコピーを読み出させ、
前記マルチノードコンピューティングクラスタ内の前記データノードから前記現行ファイルの後続バックアップデータブロックを読み出させ、
前記マルチノードコンピューティングクラスタ内の前記別のデータノードから前記追加ファイルの前記後続バックアップデータブロックのコピーを読み出すことによって、前記データノード及び前記別のデータノード間で前記開始ファイル及び前記追加ファイルのバックアップをバランシングさせ、前記後続バックアップデータブロックの前記コピーが、前記開始バックアップデータブロックの前記コピーに続くバックアップデータブロックの任意のコピーを表し、前記後続バックアップデータブロックの前記コピーが、前記開始バックアップデータブロックの前記コピーに直接続かない、非一時的コンピュータ可読媒体。
【請求項１５】
前記１つ以上のコンピュータ可読命令が、前記コンピューティングデバイスに、更に、少なくとも前記現行ファイルの前記開始バックアップデータブロック及び前記後続バックアップデータブロックをストレージシステムに記憶させる、請求項１４に記載の非一時的コンピュータ可読媒体。
【国際調査報告】
2020518927.tif 000007
2020518927.tif 000008
2020518927.tif 000009