【手続補正書】
【提出日】平成29年12月20日(2017.12.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
分散ストレージシステムにおいてオブジェクトレプリカの配置を管理するための方法であって、
１つ以上のプロセッサと、前記１つ以上のプロセッサによる実行のための１つ以上のプログラムを格納するメモリとを有する、前記分散ストレージシステムの第１のインスタンスにおいて、
第１の配置ポリシーに関連付けられる第１のオブジェクトを受け取ることを含み、前記第１の配置ポリシーは、前記第１のオブジェクトのレプリカが前記分散ストレージシステムにおいてどこに格納されるかについて基準を特定し、前記方法はさらに、
前記オブジェクトを複数のオブジェクトチャンクに分割し、前記複数のオブジェクトチャンクの第１のオブジェクトチャンクを複数のブロックへ分割することと、
関連付けられる配置ポリシーが前記第１の配置ポリシーにマッチする第１のジャーナルに前記複数のブロックを格納することと、
前記第１のオブジェクトについてグローバルメタデータを格納することとを含み、前記グローバルメタデータは前記複数のオブジェクトチャンクのリストを含み、前記リストは前記オブジェクトチャンクの各々についてそれぞれの識別子を含み、前記方法はさらに、
前記第１のオブジェクトチャンクについてローカルメタデータを格納することを含み、前記ローカルメタデータは、前記複数のブロックの各ブロックを識別するブロックリストを含み、前記ローカルメタデータは前記第１のジャーナルに関連付けられ、前記方法はさらに、
前記第１の配置ポリシーに従って前記第１のジャーナルを前記分散ストレージシステムの第２のインスタンスにレプリケートすることを含み、前記グローバルメタデータは当該レプリケーションを反映するために更新され、前記ローカルメタデータは前記レプリケーションによって変更されない、方法。
【請求項２】
前記グローバルメタデータは、各オブジェクトチャンクがブロックまたはブロックのリストかどうかを特定するフィールドを含み、第２のオブジェクトチャンクはブロックであり、前記第１のオブジェクトチャンクはブロックのリストである、請求項１に記載の方法。
【請求項３】
前記グローバルメタデータは、各オブジェクトチャンクがどのジャーナルに格納されるかを特定し、各それぞれのジャーナルレプリカは、前記それぞれのジャーナルレプリカに格納される各ブロックの位置を特定するブロックインデックスを含む、請求項１または２に記載の方法。
【請求項４】
前記第１のインスタンスにおいて、
第１のクローズドジャーナルのレプリカを選択することと、
前記グローバルメタデータに参照が存在しない前記レプリカに格納される１つ以上のオブジェクトチャンクを識別することと、
前記レプリカをコンパクト化し、これにより前記レプリカに格納される前記ブロックを連続するストレージに統合することとをさらに含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記分散ストレージシステムは、異なる地理的位置にて複数のインスタンスを有する、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
各オブジェクトチャンクについてのデータが暗号化され、各オブジェクトチャンクについての復号化キーが前記グローバルメタデータに格納され、前記方法はさらに、前記グローバルメタデータから対応する復号化キーを削除することによって、オブジェクトチャンクを事実上削除し、これにより、前記オブジェクトについてのデータをアクセス不能にすることを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
分散ストレージシステムにおいてオブジェクトレプリカの配置を管理するための方法であって、
１つ以上のプロセッサと、前記１つ以上のプロセッサによる実行のための１つ以上のプログラムを格納するメモリとを有する、前記分散ストレージシステムの第１のインスタンスにおいて、
オブジェクトチャンクの格納のために１つ以上のジャーナルをオープンにすることを含み、各それぞれのジャーナルは単一のそれぞれの配置ポリシーに関連付けられ、前記方法はさらに、
少なくとも第１のオブジェクトチャンクを含む第１のオブジェクトを受け取ることを含み、前記第１のオブジェクトは第１の配置ポリシーに関連付けられ、前記第１のオブジェクトチャンクは第１の複数のブロックを含み、前記方法はさらに、
関連付けられる配置ポリシーが前記第１の配置ポリシーとマッチする第１のジャーナルに前記第１の複数のブロックを格納することを含み、前記第１のジャーナルは、配置ポリシーが前記第１の配置ポリシーとマッチするオブジェクトについてのブロックのみを格納し、前記方法はさらに、
前記第１のオブジェクトについてのグローバルメタデータを格納することを含み、前記グローバルメタデータは、前記第１のオブジェクトに対応するオブジェクトチャンクの第１のリストを含み、前記第１のリストは前記第１のオブジェクトチャンクの識別子を含み、前記方法はさらに、
前記第１のオブジェクトチャンクについてローカルメタデータを格納することを含み、前記ローカルメタデータは、前記第１の複数のブロックの各ブロックを識別するブロックリストを含み、前記ローカルメタデータは前記第１のジャーナルに関連付けられ、前記方法はさらに、
前記第１のジャーナルについて、関連付けられる配置ポリシーが前記第１の配置ポリシーとマッチする第１の複数のオブジェクトについての前記受け取るステップおよび格納するステップを、第１の終了条件が発生するまで繰り返すことと、
前記第１の終了条件が発生した後、前記第１のジャーナルをクローズし、これにより、如何なる付加的なブロックも前記第１のジャーナルに格納されるのを防止することと、
前記第１の配置ポリシーに従って前記分散ストレージシステムの第２のインスタンスへ前記第１のジャーナルをレプリケートすることとを含み、前記グローバルメタデータは当該レプリケーションを反映するよう更新され、前記ローカルメタデータは前記レプリケーションによって変更されない、方法。
【請求項８】
各オブジェクトチャンクは１つ以上のブロックを含む、請求項７に記載の方法。
【請求項９】
前記グローバルメタデータは、各オブジェクトチャンクがブロックまたはブロックのリストであるかどうかを特定するフィールドを含む、請求項７または８に記載の方法。
【請求項１０】
第２のオブジェクトチャンクはブロックであり、前記第１のオブジェクトチャンクはブロックのリストである、請求項９に記載の方法。
【請求項１１】
前記第１のオブジェクトは、前記第１のオブジェクトチャンクとは異なる第２のオブジェクトチャンクを含む２つ以上のオブジェクトチャンクを含み、前記第２のオブジェクトチャンクは、関連付けられる配置ポリシーが前記第１の配置ポリシーとマッチする、前記第１のジャーナルとは異なる第２のジャーナルに格納される、請求項７〜１０のいずれか１項に記載の方法。
【請求項１２】
前記グローバルメタデータは、各オブジェクトチャンクがどのジャーナルに格納されるかを特定し、各それぞれのジャーナルレプリカは、前記それぞれのジャーナルレプリカに格納される各ブロックの位置を特定するブロックインデックスを含む、請求項７〜１１のいずれか１項に記載の方法。
【請求項１３】
前記第１のインスタンスにおいて、
第１のクローズドジャーナルのレプリカを選択することと、
前記グローバルメタデータに参照が存在しない前記レプリカに格納される１つ以上のオブジェクトチャンクを識別することと、
前記レプリカをコンパクト化し、これにより前記レプリカに格納される前記ブロックを連続するストレージに統合することとをさらに含む、請求項７〜１２のいずれか１項に記載の方法。
【請求項１４】
各配置ポリシーは、対象数のオブジェクトレプリカと、オブジェクトレプリカについての位置の対象セットとを特定する、請求項７〜１３のいずれか１項に記載の方法。
【請求項１５】
前記分散ストレージシステムは、異なる地理的位置にて複数のインスタンスを有する、請求項７〜１４のいずれか１項に記載の方法。
【請求項１６】
各オブジェクトチャンクについてのデータが暗号化され、各オブジェクトチャンクについての復号化キーが前記グローバルメタデータに格納される、請求項７〜１５のいずれか１項に記載の方法。
【請求項１７】
前記グローバルメタデータから対応する復号化キーを削除することによって、オブジェクトチャンクを事実上削除し、これにより、前記オブジェクトについてのデータをアクセス不能にすることをさらに含む、請求項１６に記載の方法。
【請求項１８】
複数のインスタンスを有する分散ストレージシステムにおけるオブジェクトレプリカの配置を管理するためのコンピュータシステムであって、各それぞれのインスタンスは、
１つ以上のプロセッサと、
メモリと、
前記メモリに格納される１つ以上のプログラムとを含み、前記１つ以上のプログラムは、請求項１〜１７のいずれか１項に記載の方法を実行するために前記１つ以上のプロセッサによって実行可能である命令を含む、コンピュータシステム。
【請求項１９】
複数のインスタンスを有する分散ストレージシステムにおいてオブジェクトレプリカの配置を管理するために格納されるプログラムを有するコンピュータ読取可能プログラムであって、各それぞれのインスタンスは、１つ以上のプロセッサとメモリとを含み、前記１つ以上のプログラムは、請求項１〜１７のいずれか１項に記載の方法を実行するために前記１つ以上のプロセッサによって実行可能である命令を含む、コンピュータ読取可能プログラム。