(57)【特許請求の範囲】
【請求項１】
データストレージを集合的に管理する複数のノードを含む分散型記憶システムにおいてデータを記憶するための方法であって、
不揮発性キャッシュストレージリソースおよび不揮発性非キャッシュストレージリソースを含むレポジトリへのアクセスを有するデータ記憶制御ロジックと通信している、前記分散型記憶システムにおける第１のノードで、第１のデータを受信する段階と、
前記受信された第１のデータに基づいて第１のメタデータを生成する段階と、
前記受信された第１のデータおよび前記第１のメタデータを、前記データ記憶制御ロジックに転送する段階と、
を備え、
前記第１のメタデータは、前記受信された第１のデータの複製が前記分散型記憶システムにおける前記第１のノードとは異なる第２のノードから入手可能であることを検出することに応答して、前記不揮発性キャッシュストレージリソースにおける前記受信された第１のデータの記憶を回避することを、前記データ記憶制御ロジックに対して指し示す、
方法。
【請求項２】
前記不揮発性キャッシュストレージリソースのアクセス時間は、前記不揮発性非キャッシュストレージリソースのアクセス時間よりも短く、
前記第１のメタデータは、前記レポジトリの前記不揮発性非キャッシュストレージリソースにおいて前記受信された第１のデータを記憶することを、前記データ記憶制御ロジックに対して指し示す、
請求項１に記載の方法。
【請求項３】
前記不揮発性キャッシュストレージリソースは、不揮発性メモリであり、
前記不揮発性非キャッシュストレージリソースは、ディスクドライブストレージリソースである、
請求項１または２に記載の方法。
【請求項４】
前記第１のメタデータは、前記受信された第１のデータが前記レポジトリの前記不揮発性キャッシュストレージリソースにおいて記憶されるべきことを、前記第１のノードの前記データ記憶制御ロジックに対して指し示す、
請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記第１のノードで、前記分散型記憶システムにおける第２のノードで記憶されたデータの複製である第２のデータを受信する段階と、
前記第１のノードの前記データ記憶制御ロジックに対し、前記不揮発性キャッシュストレージリソースにおいて、前記受信された第２のデータの記憶を回避し、前記受信された第２のデータを前記不揮発性非キャッシュストレージリソースにおいて記憶することを指し示す、第２のメタデータを生成する段階と、
前記第２のデータおよび前記第２のメタデータを、前記第１のノードの前記データ記憶制御ロジックへ転送する段階と、
を更に備える、
請求項４に記載の方法。
【請求項６】
データストレージを集合的に管理する複数のノードを含む分散型記憶システムにおいてデータを記憶するための方法であって、
不揮発性キャッシュストレージリソースおよび不揮発性非キャッシュストレージリソースを含むレポジトリへのアクセスを有するデータ記憶制御ロジックと通信している、前記分散型記憶システムにおける第１のノードで、第１のデータを受信する段階と、
前記受信された第１のデータに基づいて第１のメタデータを生成する段階と、
前記受信された第１のデータおよび前記第１のメタデータを、前記データ記憶制御ロジックに転送する段階と、
を備え、
前記受信された第１のデータは、前記分散型記憶システムにおける故障した第２のノードで記憶されたデータの複製を表し、
前記故障した第２のノードにおける故障は、前記故障した第２のノードによって管理される第２のデータへのアクセスを阻止し、
前記方法は、
前記受信された第１のデータが前記故障したノードにおいて記憶された第２のデータの複製であることを検出することに応答して、前記不揮発性キャッシュストレージリソースにおいて前記受信された第１のデータの記憶を回避し、前記レポジトリの前記不揮発性非キャッシュストレージリソースにおいて前記受信された第１のデータを記憶することを、前記データ記憶制御ロジックに対して指し示す前記第１のメタデータを生成する段階を
更に備える、
方法。
【請求項７】
前記分散型記憶システムにおける故障していない第３のノードにおいて記憶された第３のデータに基づいて、前記故障した第２のノードで記憶された前記第２のデータの複製を生成する段階と、
前記第１のノードで、前記第２のデータの複製を受信する段階と、
を更に備える、
請求項６に記載の方法。
【請求項８】
データストレージを集合的に管理する複数のノードを含む分散型記憶システムにおいてデータを記憶するための方法であって、
不揮発性キャッシュストレージリソースおよび不揮発性非キャッシュストレージリソースを含むレポジトリへのアクセスを有するデータ記憶制御ロジックと通信している、前記分散型記憶システムにおける第１のノードで、第１のデータを受信する段階と、
前記受信された第１のデータに基づいて第１のメタデータを生成する段階と、
前記受信された第１のデータおよび前記第１のメタデータを、前記データ記憶制御ロジックに転送する段階と、
を備え、
前記第１のメタデータは、前記不揮発性キャッシュストレージリソースにおいて前記第１のデータを記憶することを指し示し、
前記方法は、
前記第１のノードで、前記分散型記憶システムにおける第２のノードで記憶されたデータの複製である第２のデータを受信する段階と、
前記不揮発性キャッシュストレージリソースにおいて前記受信された第２のデータの記憶を回避し、前記レポジトリの前記不揮発性非キャッシュストレージリソースにおいて前記受信された第２のデータを記憶することを、前記データ記憶制御ロジックに対して指し示す第２のメタデータを前記第１のノードで生成する段階と、
前記第２のデータおよび前記第２のメタデータを、前記第１のノードにおける前記データ記憶制御ロジックへ転送する段階と、
を更に備える、
方法。
【請求項９】
前記不揮発性キャッシュストレージリソースにおいて前記受信された第１のデータの記憶を回避し、前記レポジトリの前記不揮発性非キャッシュストレージリソースにおいて前記受信された第１のデータを記憶することを、前記データ記憶制御ロジックに対して指し示す前記第１のメタデータを生成する段階と、
前記分散型記憶システムにおける第２のノードの故障を検出することに応答して、前記受信された第１のデータの複製である複製データを生成する段階と、
前記複製データを前記分散型記憶システムにおける第３のノードへ転送する段階と、
を更に備える、
請求項１に記載の方法。
【請求項１０】
前記分散型記憶システムにおける前記第３のノードで、前記複製データを受信する段階と、
前記第３のノードで、前記第３のノードの前記不揮発性非キャッシュストレージリソースにおいて、前記複製データを記憶することを指し示す第３のメタデータを生成する段階と、
を更に備える、
請求項９に記載の方法。
【請求項１１】
データストレージを集合的に管理する複数の相互接続されたノードを備える分散型記憶システムであって、
前記複数の相互接続されたノードは、第１のノードを含み、
不揮発性キャッシュストレージリソースおよび不揮発性非キャッシュストレージリソースを含むレポジトリへのアクセスを有するデータ記憶制御ロジックと通信している、前記分散型記憶システムにおける前記第１のノードは、前記分散型記憶システムと通信しているリソースから第１のデータを受信し、
前記受信された第１のデータに基づいて第１のメタデータを生成し、
前記受信された第１のデータおよび前記第１のメタデータを前記データ記憶制御ロジックに転送する、
ように動作可能であり、
前記第１のメタデータは、前記受信された第１のデータの複製が前記分散型記憶システムにおける前記第１のノードとは異なる第２のノードから入手可能であることを検出することに応答して、前記不揮発性キャッシュストレージリソースにおいて前記受信された第１のデータの記憶を回避することを、前記データ記憶制御ロジックに対して指し示す、
分散型記憶システム。
【請求項１２】
前記第１のメタデータは、前記レポジトリの前記不揮発性非キャッシュストレージリソースにおいて前記受信された第１のデータを記憶することを、前記データ記憶制御ロジックに対して指し示す、
請求項１１に記載の分散型記憶システム。
【請求項１３】
前記不揮発性キャッシュストレージリソースは、不揮発性メモリであり、
前記不揮発性非キャッシュストレージリソースは、ディスクドライブストレージリソースである、
請求項１１または１２に記載の分散型記憶システム。
【請求項１４】
前記第１のメタデータは、前記受信された第１のデータが前記レポジトリの前記不揮発性キャッシュストレージリソースにおいて記憶されるべきことを、前記第１のノードの前記データ記憶制御ロジックに対して指し示す、
請求項１１から１３のいずれか１項に記載の分散型記憶システム。
【請求項１５】
前記第１のノードで、前記分散型記憶システムにおける第２のノードで記憶されたデータの複製である第２のデータを受信し、
前記第１のノードのデータ記憶制御ロジックに対し、前記不揮発性キャッシュストレージリソースにおいて前記受信された第２のデータの記憶を回避し、前記不揮発性非キャッシュストレージリソースにおいて、前記受信された第２のデータを記憶することを指し示す、第２のメタデータを生成し、
前記第２のデータおよび前記第２のメタデータを、前記第１のノードの前記データ記憶制御ロジックへ転送する、
ように更に動作可能である、
請求項１４に記載の分散型記憶システム。
【請求項１６】
データストレージを集合的に管理する複数の相互接続されたノードを備える分散型記憶システムであって、
前記複数の相互接続されたノードは、第１のノードを含み、
不揮発性キャッシュストレージリソースおよび不揮発性非キャッシュストレージリソースを含むレポジトリへのアクセスを有するデータ記憶制御ロジックと通信している、前記第１のノードは、前記分散型記憶システムと通信しているリソースから第１のデータを受信し、
前記受信された第１のデータに基づいて第１のメタデータを生成し、
前記受信された第１のデータおよび前記第１のメタデータを前記データ記憶制御ロジックに転送する、
ように動作可能であり、
前記受信された第１のデータは、前記分散型記憶システムにおける故障した第２のノードで記憶されたデータの複製を表し、
前記故障した第２のノードにおける対応する故障は、前記故障した第２のノードによって管理される第２のデータへのアクセスを阻止し、
前記第１のノードは、前記受信された第１のデータが前記故障した第２のノードにおいて記憶された第２のデータの複製であることを検出することに応答して、前記不揮発性キャッシュストレージリソースにおいて、前記受信された第１のデータの記憶を回避し、前記レポジトリの前記不揮発性非キャッシュストレージリソースにおいて前記受信された第１のデータを記憶することを、前記データ記憶制御ロジックに対して指し示す前記第１のメタデータを生成する、
ように更に動作可能である、
分散型記憶システム。
【請求項１７】
前記分散型記憶システムは、
前記分散型記憶システムにおける故障していない第３のノードにおいて記憶された第３のデータに基づいて、前記故障した第２のノードで記憶された前記第２のデータの複製を生成する前記第３のノードと、
を更に備え、
前記第１のノードは、
前記第２のデータの複製を受信する、
ように更に動作可能である、
請求項１６に記載の分散型記憶システム。
【請求項１８】
データストレージを集合的に管理する複数の相互接続されたノードを備える分散型記憶システムであって、
前記複数の相互接続されたノードは、第１のノードを含み、
不揮発性キャッシュストレージリソースおよび不揮発性非キャッシュストレージリソースを含むレポジトリへのアクセスを有するデータ記憶制御ロジックと通信している、前記第１のノードは、前記分散型記憶システムと通信しているリソースから第１のデータを受信し、
前記受信された第１のデータに基づいて第１のメタデータを生成し、
前記受信された第１のデータおよび前記第１のメタデータを前記データ記憶制御ロジックに転送する、
ように動作可能であり、
前記第１のメタデータは、前記不揮発性キャッシュストレージリソースにおいて前記第１のデータを記憶することを指し示し、
前記第１のノードは、
前記分散型記憶システムにおける第２のノードで記憶されたデータの複製である第２のデータを受信し、
前記不揮発性キャッシュストレージリソースにおいて前記受信された第２のデータの記憶を回避し、前記レポジトリの前記不揮発性非キャッシュストレージリソースにおいて前記受信された第２のデータを記憶することを、前記データ記憶制御ロジックに対して指し示す第２のメタデータを生成し、
前記第２のデータおよび前記第２のメタデータを、前記第１のノードにおける前記データ記憶制御ロジックへ転送する、
ように更に動作可能である、
分散型記憶システム。
【請求項１９】
前記第１のノードは、
前記不揮発性キャッシュストレージリソースにおいて前記受信された第１のデータの記憶を回避し、前記レポジトリの前記不揮発性非キャッシュストレージリソースにおいて前記受信された第１のデータを記憶することを、前記データ記憶制御ロジックに対して指し示す前記第１のメタデータを生成し、
前記分散型記憶システムにおける第２のノードの故障を検出することに応答して、前記受信された第１のデータの複製である複製データを生成し、
前記複製データを前記分散型記憶システムにおける第３のノードに転送する、
ように更に動作可能である、
請求項１１に記載の分散型記憶システム。
【請求項２０】
前記分散型記憶システムにおける第３のノードは、前記複製データを受信し、
前記第３のノードの前記不揮発性非キャッシュストレージリソースにおいて、前記複製データを記憶することを指し示す第３のメタデータを生成する、
ように動作可能である、
請求項１９に記載の分散型記憶システム。
【請求項２１】
請求項１１から２０のいずれか一項に記載の分散型記憶システムへのアクセスを有するコンピュータシステムであって、
前記分散型記憶システムの前記第１のノードによって受信された前記第１のデータの少なくとも一部に基づいて、画像をレンダリングするためのディスプレイスクリーンを含む、
コンピュータシステム。
【請求項２２】
複数の命令が記憶されているコンピュータ可読記憶ハードウェアであって、
前記複数の命令は、コンピュータプロセッサハードウェアによって実行される場合、前記コンピュータプロセッサハードウェアに、
分散型記憶システムにおける複数のノードのうちの１つであり、
不揮発性キャッシュストレージリソースおよび不揮発性非キャッシュストレージリソースを含むレポジトリへのアクセスを有するデータ記憶制御ロジックと通信している、前記分散型記憶システムにおける第１のノードで、第１のデータを受信し、
前記受信された第１のデータに基づいて第１のメタデータを生成し、
前記受信された第１のデータおよび前記第１のメタデータを、前記データ記憶制御ロジックに転送する、
動作を実行させ、
前記第１のメタデータは、前記受信された第１のデータの複製が前記分散型記憶システムにおける前記第１のノードとは異なる第２のノードから入手可能であることを検出することに応答して、前記不揮発性キャッシュストレージリソースにおいて前記受信された第１のデータの記憶を回避することを、前記データ記憶制御ロジックに対して指し示す、
コンピュータ可読記憶ハードウェア。
【請求項２３】
前記第１のメタデータは、前記レポジトリの前記不揮発性非キャッシュストレージリソースにおいて前記受信された第１のデータを記憶することを前記データ記憶制御ロジックに対して指し示す、
請求項２２に記載のコンピュータ可読記憶ハードウェア。
【請求項２４】
前記不揮発性キャッシュストレージリソースは、不揮発性メモリであり、
前記不揮発性非キャッシュストレージリソースは、ディスクドライブストレージリソースである、
請求項２２または２３に記載のコンピュータ可読記憶ハードウェア。
【請求項２５】
複数の命令が記憶されているコンピュータ可読記憶ハードウェアであって、
前記複数の命令は、コンピュータプロセッサハードウェアによって実行される場合、前記コンピュータプロセッサハードウェアに、
分散型記憶システムにおける複数のノードのうちの１つであり、
不揮発性キャッシュストレージリソースおよび不揮発性非キャッシュストレージリソースを含むレポジトリへのアクセスを有するデータ記憶制御ロジックと通信している、前記分散型記憶システムにおける第１のノードで、第１のデータを受信し、
前記受信された第１のデータに基づいて第１のメタデータを生成し、
前記受信された第１のデータおよび前記第１のメタデータを、前記データ記憶制御ロジックに転送する、
動作を実行させ、
前記受信された第１のデータは、前記分散型記憶システムにおける故障した第２のノードで記憶された第２のデータの複製を表し、
前記故障した第２のノードにおける故障は、前記故障した第２のノードによって管理される第２のデータへのアクセスを阻止し、
前記複数の命令は、前記コンピュータプロセッサハードウェアに、
前記受信された第１のデータが前記故障したノードで記憶された第２のデータの複製であることを検出することに応答して、前記不揮発性キャッシュストレージリソースにおいて前記受信された第１のデータの記憶を回避し、前記レポジトリの前記不揮発性非キャッシュストレージリソースにおいて前記受信された第１のデータを記憶することを前記データ記憶制御ロジックに指し示す前記第１のメタデータを生成する、
動作を更に実行させる、
コンピュータ可読記憶ハードウェア。
【発明の詳細な説明】
【背景技術】
【０００１】
一般的に、分散型記憶システムは、対応するデータを記憶するための異なる位置に配置された複数のノードを含み得る。通常、複数の記憶ノードは、ネットワークを介して互いに相互接続されている。複数の記憶ノード間の通信により、複数の記憶ノードは、記憶されたデータを集合的に管理することが可能となる。コンピュータは、１または複数のノードで記憶されたデータを取得すべく、分散型記憶システムと通信することが可能である。
【０００２】
必要に応じて、データの複数のバックアップコピーが分散型記憶システムにおいて記憶され得る。例えば、分散型記憶システムにおける第１の記憶ノードは、データの一次コピーを記憶するように構成され得る。分散型記憶システムにおける第２の記憶ノードは、一次データのバックアップコピーを記憶するように構成され得る。複数のノードのうち１つが入手可能でなくなると、残りの記憶ノードは、対応するデータを取得すべくアクセスされ得る。
【０００３】
分散型記憶システムは、クラウドインフラストラクチャにおいて、低コストで信頼性のあるデータのストレージを提供するための手段として普及してきた。分散型記憶システムは、多くの場合、ソフトウェアにおいて実装され、標準の高容量のサーバ上で実行され、データを記憶するハードディスクドライブ等の安価な回転媒体を利用する。場合によっては、データを記憶するべく回転ディスクを含むことに加えて、従来の分配ストレージシステムにおける複数の記憶ノードもまた、データを記憶するキャッシュリソース（１または複数のソリッドステートメモリデバイス等）を含み得る。
【図面の簡単な説明】
【０００４】
【図１】本明細書における複数の実施形態に従って、分散型記憶システムの第１のノードで受信されたデータのストレージおよび第２のノードでの対応する複製データのストレージを示す例示的な図である。
【図２】本明細書における複数の実施形態に従って、分散型記憶システムの第２のノードで受信されたデータのストレージおよび第１のノードで対応する複製データのストレージを示す例示的な図である。
【図３】本明細書における複数の実施形態に従って、分散型記憶システムの一次データの追跡を保持するためのマップ情報の使用および複数の異なるノードで記憶されたバックアップデータを示す例示的な図である。
【図４】本明細書における複数の実施形態に従って、マップ情報を示す例示的な図である。
【図５】本明細書における複数の実施形態に従って、分散型記憶システムにおけるノード障害からの回復およびデータの複製を示す例示的な図である。
【図６】本明細書における複数の実施形態に従って、分散型記憶システムにおけるノード障害からの回復およびデータの複製を示す例示的な図である。
【図７】本明細書における複数の実施形態に従って、分散型記憶システムにおける異なるコンテンツのストレージを示すアップデートされたマップ情報を示す例示的な図である。
【図８】本明細書における複数の実施形態に従って、１または複数の方法を実行するための処理アーキテクチャを示す例示的な図である。
【図９】本明細書における複数の実施形態に係る方法を示す例示的なフローチャートである。
【発明を実施するための形態】
【０００５】
回転ディスクドライブの代わりとしてのソリッドステートメモリデバイス等のキャッシュの普及に関する１つの理由は、性能である。ソリッドステートメモリ（例えば、１または複数の静止している物理回路デバイス）におけるデータのアクセスは、通常、ディスク（例えば、物理的に回転している記憶媒体）において記憶されたデータへのアクセスよりもはるかに迅速である。データを記憶すべく、ソリッドステートメモリを回転ディスクドライブの代わりに用いることの不都合な点は、容量コストである。つまり、ソリッドステートドライブは、より迅速なアクセスを提供するが、対応するメモリデバイスにデータを記憶するためのビット当たりのコストは、ディスクドライブにおいてデータを記憶するためのビット当たりのコストよりも大幅に高くなり得る。
【０００６】
上記で検討されたように、従来の分配ストレージシステムにおける各ノードは、データを記憶すべく、不揮発性キャッシュリソースおよび対応するディスクドライブリソースの両方を含み得る。データを記憶する場合、データを受信する一次ノードは、最初に、一次ノードの対応するキャッシュリソースにおいて受信されたデータのコピーを記憶してよい。キャッシュにおいてデータを記憶する１つの理由は、データが頻繁に取得される可能性があることである。キャッシュにおいてデータを記憶する他の理由は、データが近い将来に取得される可能性があることである。
【０００７】
一次ノードは、データがいつキャッシュから除去されるかを判断するように構成され得る。データをキャッシュから除去する１つの理由は、データはほとんど取得されず、より頻繁に取得されるであろうデータによって置き換えられ得ることである。キャッシュからデータを除去する他の理由は、データが近い将来、取得されると予想されず、近い将来に取得される可能性がより高いデータによって置き換えられ得ることである。一次ノードが、キャッシュリソースにおける受信されたデータのコピーが、キャッシュから除去されるべきであることを判断した場合、一次ノードは、キャッシュからディスクドライブリソースへのデータの転送を開始してよい。転送後、一次ノードは、次に、他のデータを記憶するためにキャッシュリソースにおける複数の記憶セルを使えるようにするべく、キャッシュリソースにおける受信されたデータのコピーを消去する。
【０００８】
上記で検討されたように、場合によっては、分散型記憶システムにおいて第１の記憶ノードで記憶されたデータの複製は、また、分散型記憶システムの第２の記憶ノードにおいても記憶されることが望ましい。これは、冗長性を提供する。複製データの記憶は、多くの場合、複数の記憶ノードのうち１つが機能不全になる複数の状況において有用である。例えば、第１の記憶ノードは、障害に遭遇し得、対応するデータへのアクセスを阻止し得る。データの複製は、分散型記憶システムにおいて第２の記憶ノードで記憶されることから、クライアントデバイスは、第２の記憶ノードからデータの複製を取得し得る。
【０００９】
本開示は、従来の分配ストレージシステムは、キャッシュおよび非キャッシュリソースにおいて効率的にデータを記憶しないという見解を含む。例えば、分散型記憶システムにおける従来のストレージロジックは、キャッシュにおける受信されたデータを、そのようなデータがアクセスされる可能性が低いにもかかわらず、記憶してよい。
【００１０】
本明細書において検討されるように、場合によっては、分散型記憶システムにおいて第１の記憶ノードで記憶されたデータの複製は、また、分散型記憶システムの第２の記憶ノードにおいても記憶されることが望ましい。これは、冗長性を提供する。複製データのストレージは、多くの場合、複数の記憶ノードのうち１つが機能不全になる複数の状況において有用である。例えば、第１の記憶ノードは、障害に遭遇し得、対応するデータへのアクセスを阻止し得る。データの複製は、分散型記憶システムにおいて第２の記憶ノードで記憶されることから、クライアントデバイスは、第２の記憶ノードからデータの複製を取得し得る。
【００１１】
本開示は、従来の分配ストレージシステムは、キャッシュおよび非キャッシュリソースにおいて効率的にデータを記憶しないという見解を含む。例えば、分散型記憶システムにおける従来のストレージロジックは、キャッシュにおける受信されたデータを、そのようなデータがアクセスされる可能性が低いにもかかわらず、記憶してよい。
【００１２】
本明細書における複数の実施形態は、分散型ストレージ環境において、キャッシュおよび非キャッシュリソースの改善された使用を提供することを含む。
【００１３】
例えば、本明細書における複数の実施形態は、対応するデータストレージを集合的に管理する複数のノードを含む分散型記憶システムを含む。分散型記憶システムの１または複数のノードの各々は、データを記憶するべく、キャッシュリソース（不揮発性メモリストレージリソース等）および不揮発性非キャッシュリソース（ディスクドライブ、ソリッドステートドライブ等）の両方を含むように構成され得る。
【００１４】
本明細書において検討されるように、例示的な一実施形態において、キャッシュリソースにおいて記憶されたデータにアクセスするアクセス時間は、非キャッシュリソースにおいて記憶されたデータにアクセスするアクセス時間よりも実質的に高速である。
【００１５】
複数の従来の技術とは対照的に、記憶するためのデータを受信すると、分散型記憶システムにおけるそれぞれのノードは、受信されたデータに基づいてメタデータを生じさせる。メタデータは、キャッシュストレージリソースにおける、受信されたデータの記憶を回避するか否か、および、受信されたデータをレポジトリの非キャッシュストレージリソースに記憶するか否かを示し得る。本明細書における複数の実施形態は、有用である。それは、メタデータが、キャッシュにおいてデータのストレージが不必要と見なされる場合、キャッシュにおける対応する受信されたデータのストレージを阻止することを示し得るからである。
【００１６】
より具体的な実施形態において、それぞれの記憶ノードにおけるデータ記憶制御ロジックは、受信されたデータがどのように記憶されるかを制御するのに、（対応する受信されたデータのために生成される）メタデータを使用する。例えば、述べられたように、メタデータの状態は、それぞれの記憶ノードに関連する対応するキャッシュリソースにおいて受信されたデータの記憶を阻止することを示し得る。そのような場合、受信されたメタデータに従って、データ記憶制御ロジックは、対応する記憶ノードのキャッシュリソースにおいてデータを記憶することとは対照的に、対応する非キャッシュリソースにおいて受信されたデータの記憶を開始する。
【００１７】
複数の更なる実施形態に従って、メタデータは、それぞれの記憶ノードで受信されたデータのコピーが、分散型記憶システムにおいて他の位置で既に記憶された複製データであるかどうかを示し得る。記憶用のデータを受信するそれぞれのノードは、受信されたデータが、分散型記憶システムにおいて他のノードから入手可能なデータの複製であるかどうかを判断するように構成され得る。データが、複製されたデータ（データが最初に分散型記憶システムにおいて記憶された場合の最初の複製から等）、または再構築から（損傷ノードから喪失されたデータが、他のノードでの記憶用に複製された場合等）である場合、それぞれのノードは、受信されたデータが非キャッシュリソースにおいて記憶されるべきであることを示すべく、対応するメタデータを生じさせる。
【００１８】
従って、本明細書におけるいくつかの実施形態は、非キャッシュリソースに記憶された複製データが、仮にアクセスされるとしても、頻繁にはアクセスされない可能性があることから、複製データがキャッシュ内に記憶されることを阻止することを含み得る。それは、データの他のコピーが、分散型記憶システムにおける異なるノードから既に入手可能であるからである。述べられたように、複数の対応するキャッシュリソースにおけるより多くの記憶セルが、アクセスされる可能性がより高い他のデータを記憶するために次に使用され得る。
【００１９】
ここで、複数の図をより具体的に参照し、図１は、本明細書における複数の実施形態に従って、分散型記憶システムの実装を示す例示的な図である。
【００２０】
示されるように、ネットワーク環境１００は、コンピュータシステム１１０−１、コンピュータシステム１１０−２等を含む。コンピュータシステム１１０の各々は、ネットワーク１９０上において分散型記憶システム１１５へのアクセスを有する。分散型記憶システム１１５における複数のノードは、コンピュータシステム１１０に代わってデータを記憶する。ネットワーク１９０は、通信をサポートする任意の好適な１または複数のタイプのネットワークを含み得る。例えば、ネットワーク１９０は、インターネット、１または複数のローカルエリアネットワーク、１または複数の広域エリアネットワーク、携帯電話ネットワーク、ＷｉＦｉ（商標）ネットワーク等を含み得る。ネットワーク１９０上での複数の通信を介して、複数のコンピュータシステム１１０は、分散型記憶システム１１５の複数の記憶ノードからデータを取得し、分散型記憶システム１１５内にデータを記憶する能力を有する。ネットワーク１９０上での複数の通信は、任意の適切なタイプのネットワーク通信プロトコルに基づき得る。例えば、一実施形態において、複数の通信は、ＨＴＴＰ（ハイパーテキスト伝送プロトコル）、ＦＴＰ（ファイル伝送プロトコル）、ＴＣＰ（送信制御プロトコル）、ＵＤＰ（ユーザデータグラムプロトコル）等の１または複数のインターネットプロトコルに基づく。
【００２１】
分散型記憶システム１１５は、データのストレージを管理すべく、任意の好適な数のノードを含む。この例示的な実施形態において、示されるように、分散型記憶システム１１５は、記憶ノード１２１、記憶ノード１２２、記憶ノード１２３等を含む。一実施形態において、分散型記憶システム１１５における記憶ノードの各々は、ネットワーク１９０等の好適なリンク上において、互いに通信することが可能である。
【００２２】
非限定的な例として、分散型記憶システム１１５におけるノードの各々は、データの対応するリポジトリへのアクセスを提供するように構成され得る。この例示的な実施形態において、示されるように、ノード１２１は、データ記憶制御ロジック１３１との複数の通信を介してレポジトリ１９１に対する読出し／書込みアクセスを有し、ノード１２２は、データ記憶制御ロジック１３２との複数の通信を介してレポジトリ１９２に対する読出し／書込みアクセスを有し、ノード１２３は、データ記憶制御ロジック１３３との複数の通信を介してレポジトリ１９３において記憶されたデータに対する読出し／書込みアクセスを有する、等である。
【００２３】
一実施形態において、分散型記憶システム１１５におけるノードの各々は、対応するコンピュータプロセッサハードウェアまたは本明細書において検討されるような複数の動作を実行するソフトウェアを表す。各ノードに関連している対応するデータ記憶制御ロジック（ハードウェアまたはソフトウェア）は、ノードによって同じ位置に配置され、実行され得る。あるいは、対応するデータ記憶制御ロジックは、ノードに関して遠隔の位置に配置されたコンピュータ処理ハードウェアにおいて実行され得る、または存在し得る。従って、ノード１２１および対応するデータ記憶制御ロジック１３１は、同じ位置に配置され得るか、または異なる位置に配置され得、対応するデータ記憶制御ロジック１３２におけるノード１２２は、同じ位置に配置され得るか、または異なる位置に配置され得る等である。
【００２４】
更に示されるように、各ノードに関連しているストレージリソースは、キャッシュストレージリソースおよび非キャッシュストレージリソースを含み得る。例えば、レポジトリ１９１は、キャッシュストレージリソース１８１−１および非キャッシュストレージリソース１８１−２を含み、レポジトリ１９２は、キャッシュストレージリソース１８２−１および非キャッシュストレージリソース１８２−２を含み、レポジトリ１９３は、キャッシュストレージリソース１８３−１および非キャッシュストレージリソース１８３−２を含む等である。本明細書において検討されるように、一実施形態において、キャッシュストレージリソースおよび非キャッシュストレージリソースの各々は、不揮発性ストレージリソースである。
【００２５】
複数の更なる実施形態に従って、それぞれの不揮発性キャッシュリソースのデータアクセス時間は、それぞれの不揮発性非キャッシュリソースのデータアクセス時間よりも実質的に短くてよい。例えば、キャッシュストレージリソース１８１−１からデータを読み出すまたはそこへデータを書込むアクセス時間は、非キャッシュストレージリソース１８１−２からデータを読み出すまたはそこへデータを書込むアクセス時間よりも実質的に短くてよく、キャッシュストレージリソース１８２−１からデータを読み出すまたはそこへデータを書込むアクセス時間は、非キャッシュストレージリソース１８２−２からデータを読み出すまたはそこへデータを書込むアクセス時間よりも実質的に短くてよく、キャッシュストレージリソース１８３−１からデータを読み出すまたはそこへデータを書込むアクセス時間は、非キャッシュストレージリソース１８３−２からデータを読み出すまたはそこへデータを書込むアクセス時間よりも実質的に短くてよい、等である。
【００２６】
更に、非限定的な例として、分散型記憶システム１１５におけるキャッシュストレージリソースの各々は、データを記憶すべく１または複数の不揮発性メモリデバイスを含むソリッドステートドライブを表し得る。より具体的な例として、キャッシュストレージリソースの各々（キャッシュストレージリソース１８１−１、キャッシュストレージリソース１８２−１、キャッシュストレージリソース１８３−１、...等）は、相変化メモリ（ＰＣＭ）、３次元クロスポイントメモリ、抵抗メモリ、ナノワイヤメモリ、強誘電トランジスタランダムアクセスメモリ（ＦｅＴＲＡＭ）、ＮＡＮＤフラッシュまたはＮＯＲフラッシュ等のフラッシュメモリ、磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）、メモリスタ技術を組み込むメモリ、スピン移動トルク（ＳＴＴ）‐ＭＲＡＭ等の１もしくは複数の不揮発性タイプメモリデバイス、もしくはデータの記憶を可能にする任意の適切なタイプの不揮発性メモリであり得る、またはそれらを含み得る。
【００２７】
分散型記憶システム１１５において複数の異なるノードで非キャッシュストレージリソースの各々（非キャッシュストレージリソース１８１−２、非キャッシュストレージリソース１８２−２、非キャッシュストレージリソース１８３−２、...等）は、対応するデータを記憶すべく、複数の記憶セルの１または複数の回転するディスクを含むディスクドライブストレージリソースであり得る。
【００２８】
この例示的な実施形態において、コンピュータシステム１１０−１は、示されるように分散型記憶システム１１５において、データＡ（画像データ、アプリケーションデータ、文書、...等）の記憶を開始すべく、ノード１２１と通信すると仮定されたい。この目標を達成するべく、コンピュータシステム１１０−１は、データＡをネットワーク１９０上でノード１２１へと記憶用に送信する。示されるように、記憶ノード１２１は、データＡを受信する。
【００２９】
レポジトリ１９１において記憶するためのデータＡを受信することに応答し、ノード１２１は、データＡに関連しているメタデータＭ１を生成する。メタデータＭ１は、データＡの記憶に関して誘導を提供すべく、任意の好適なビット数の情報であり得るか、またはそれを含み得る。
【００３０】
この例示的な実施形態において、ノード１２１は、データＡが複製データ（すなわち、分散型記憶システム１１５において既に記憶されているデータ）ではないことを知っていると仮定されたい。なぜならば、データは、分散型記憶システム１１５における記憶用にコンピュータシステム１１０−１から新たに受信されたデータであるからである。必要な場合、ノード１２１は、データのコピーがそれぞれのノードで既に記憶されているかを判断すべく、複数の他のノードと通信し得る。ノード１２１は、データＡが分散型記憶システム１１５における他の箇所において記憶された複製データではないことを反映させるべく、メタデータＭ１を生成する。
【００３１】
示されるように、レポジトリ１９１内に対応するデータＡを記憶することを促進するため、ノード１２１は、ネットワーク１９０等の好適な通信リンク上で通信し、データＡのコピーおよびメタデータＭ１をデータ記憶制御ロジック１３１へ転送する。このように、ノード１２１は、受信されたデータＡの通知および対応する生成されたメタデータＭ１をデータ記憶制御ロジック１３１へ提供する。
【００３２】
一実施形態において、メタデータＭ１は、レポジトリ１９１において受信されたデータＡを記憶するための誘導を提供する制御情報、ラベル情報等である。非限定的な例として、メタデータＭ１は、論理０に設定されて、データＡがキャッシュストレージリソース１８１−１におけるストレージに適格であることを示す単一のビットであり得る。
【００３３】
更にこの例示的な実施形態において、データ記憶制御ロジック１３１は、データＡのコピーおよび対応するメタデータＭ１を受信する。この例において、メタデータＭ１は、キャッシュストレージリソース１８１−１におけるデータＡの記憶を阻止することを示さないことから、データ記憶制御ロジック１３１がキャッシュストレージリソース１８１−１内にデータＡの記憶を開始すると仮定されたい。
【００３４】
レポジトリ１９１においてデータＡの記憶を開始することに加えて、ノード１２１は、ノード１２２に対し、複製Ａ'を生じさせ、転送する。この例において、複製Ａ'は、キャッシュストレージリソース１８１−１において記憶されたデータＡのバックアップコピーを表す。複製Ａ'を他のノード（ノード１２２等）で記憶することは、ノード１２１に関連する障害があり、対応するデータＡが対応するリポジトリ１９１から取得できない場合において、有用である。
【００３５】
ノード１２２は、複製Ａ'を受信し、レポジトリ１９２において、この受信されたデータの対応する記憶を開始する。受信されたデータ（複製Ａ'）は、（それがノード１２１から複製データとして受信されたことから、またはノード１２１がそうであることを示すメッセージを送信することから）データのバックアップコピーであることがノード１２２によって既知であり、ノード１２２は、キャッシュストレージリソース１８２−１内での複製Ａ'の記憶を阻止するためのメタデータＭ２を生じさせる。より具体的には、分散型記憶システム１１５において、複製データＡ'のコピー（Ａ）がノード（ノード１２１等）から入手可能であることの検出に応答し、ノード１２２は、データ記憶制御ロジック１３２に、キャッシュストレージリソース１８２−１内での受信されたデータＡ'の記憶を回避し、代わりに受信された複製データＡ'を非キャッシュストレージリソースネイへ記憶することを指し示すメタデータＭ２を生成する。
【００３６】
更に非限定的な例として、メタデータＭ２は、論理１に設定されて、記憶ノード１２２で受信された複製データＡ'がキャッシュストレージリソース１８１−１において記憶されるべきでないことを示す単一のビットであり得る。従って、上記で述べたように、ノード１２２で生成されたメタデータは、どのように対応するデータを記憶するかに関する誘導を提供するステータス情報、ラベル、タグ、制御情報等としての機能を果たし得る。
【００３７】
記憶を完了すべく、ノード１２２は、Ａ'および対応するメタデータＭ２をデータ記憶制御ロジック１３２へ転送する。データ記憶制御ロジック１３２は、複製Ａ'に関連するメタデータＭ２を分析する。キャッシュストレージリソース内での複製Ａ'の記憶を阻止することをメタデータＭ２が指し示すので、データ記憶制御ロジック１３２は、非キャッシュストレージリソース１８２−２内で複製Ａ'の記憶を開始する。
【００３８】
従って、データの記憶を制御する、対応するメタデータの生成を介して、キャッシュストレージリソースの１８２−１の複数の記憶セルは、複製データＡ'を記憶するために不必要に消費されない。複製データＡ'は、データＡ（一次コピー等）がノード１２１との複数の通信およびキャッシュストレージリソース１８１−１からのデータの取得を介してコンピュータシステム１１０−１によって入手可能であることから、仮にあったとしても、多くの場合は、アクセスされる可能性があまり高くない。
【００３９】
図２は、本明細書における複数の実施形態に従って、分散型記憶システムにおいて、第２のノードで受信されたデータの記憶および第１のノードで対応する複製データの記憶を示す例示的な図である。
【００４０】
この例示的な実施形態において、コンピュータシステム１１０−２は、示されるように、分散型記憶システム１１５においてデータＢ（画像データ、アプリケーションデータ、文書データ、...等）の記憶を開始すべく、ノード１２２と通信すると仮定されたい。この目標を達成すべく、コンピュータシステム１１０−２は、ネットワーク１９０上においてデータＢを、記憶用にノード１２２へ送信する。
【００４１】
記憶ノード１２２は、データＢを受信する。記憶用のデータＢを受信することに応答し、ノード１２１は、データＢに関連するメタデータＭ３を生成する。メタデータＭ３は、任意の好適なビット数の情報であり得るか、またはそれを含み得る。生成されたメタデータＭ３は、データＢの記憶に関する誘導を提供する。
【００４２】
この例示的な実施形態において、ノード１２２は、データＢが、分散型記憶システム１１５におけるデータを記憶するよう要求する新たな要求を受信することから、データＢは複製データではない（すなわち、分散型記憶システム１１５において既に記憶されているデータではない）ことを知っていると仮定されたい。メタデータを生成する場合、ノード１２２は、メタデータＭ３を生成し、データＢが、分散型記憶システム１１５の他の箇所において記憶された複製データではないことを反映させる。データＢは、複製データではないことから、データＢは、キャッシュストレージリソース１８２−１内での記憶に適格である。
【００４３】
示されるように、ノード１２２で対応するデータＢを記憶することを促進するため、ノード１２２は、データＢのコピーおよび対応する生成されたメタデータＭ３を、データ記憶制御ロジック１３２へ転送する。このように、ノード１２２は、受信されたデータＢおよびメタデータＭ３の通知をデータ記憶制御ロジック１３２へ提供する。
【００４４】
一実施形態において、メタデータＭ３は、レポジトリ１９２において、受信されたデータＢを記憶するための誘導を提供する制御情報である。非限定的な例として、メタデータＭ３は、論理ゼロに設定されて、データＢがキャッシュストレージリソース１８２−１内での記憶に適格であることを示す単一のビットであり得る。
【００４５】
更にこの例示的な実施形態において、データ記憶制御ロジック１３２は、データＢのコピーおよび対応するメタデータＭ３を受信する。メタデータＭ３は、キャッシュストレージリソース１８２−１内でのデータＢの記憶を阻止することを指し示さないことから、データ記憶制御ロジック１３２は、キャッシュストレージリソース１８２−１内でのデータＢの記憶を開始すると仮定されたい。
【００４６】
レポジトリ１９２におけるデータＢの記憶を開始することに加えて、ノード１２２は、複製Ｂ'（データＢのコピー）をノード１２１に対して生じさせ、転送する。この例において、複製Ｂ'は、キャッシュストレージリソース１８２−１内に記憶されたデータＢのバックアップコピーを表す。他のノード（ノード１２１等）での複製Ｂ'（すなわち、データＢのコピー）の記憶は、ノード１２２に関連する障害があり、対応するデータＢが、ノード１２２でレポジトリ１９２から取得できない場合に有用である。
【００４７】
ノード１２１は、複製Ｂ'を受信し、レポジトリ１９２内での、この受信されたデータの対応する記憶を開始する。受信されたデータ（複製Ｂ'）は、（それがノード１２２から複製データとして受信されたことから）データのバックアップコピーであることがノード１２１によって既知であり、ノード１２１は、レポジトリ１９１においてキャッシュストレージリソース１８１−１内への複製Ｂ'の記憶を阻止すべく、メタデータＭ４を生じさせる。
【００４８】
一実施形態において、複製データＢ'のコピーが、分散型記憶システム１１５において、ノード（ノード１２２等）から入手可能であることの検出に応答し、ノード１２１は、メタデータＭ４を生成し、データ記憶制御ロジック１３１に対して、キャッシュストレージリソース１８１−１において受信されたデータＢ'の記憶を回避し、代わりにレポジトリ１９１の非キャッシュストレージリソース１８１−２において受信された複製データを記憶することを指し示す。
【００４９】
前に検討されたように、生成されたメタデータＭ４は、論理１に設定されて、複製データＢ'がキャッシュストレージリソース１８１−１内に記憶されるべきでないことを示す単一のビットであり得る。従って、ノード１２１によって生成されるメタデータは、どのように対応するデータＢ'を記憶するかに関する誘導を提供するステータス情報、ラベル、タグ、制御情報等としての機能を果たしてよい。
【００５０】
更にこの例示的な実施形態において、記憶を完了するべく、ノード１２１は、データＢ'および対応するメタデータＭ４をデータ記憶制御ロジック１３１へ転送する。データ記憶制御ロジック１３１は、複製データＢ'に関連するメタデータＭ４を分析する。この例においてメタデータＭ４は、キャッシュストレージリソースにおいて複製Ｂ'の記憶を（それが複製データとして検出されたことから）阻止することを指し示し、データ記憶制御ロジック１３１は、非キャッシュストレージリソース１８１−２内への複製Ｂ'の記憶を開始する。
【００５１】
従って、データの記憶を制御する、対応するメタデータＭ４の生成を介して、キャッシュストレージリソースの１８１−１の複数の記憶セルは、複製データＢ'を記憶するために不必要には無駄に消費されない。複製データＢ'は、データＢ（一次コピー等）が、ノード１２２との複数の通信およびキャッシュストレージリソース１８２−１からのデータＢの取得を介し、コンピュータシステム１１０−２（または場合によっては他のコンピュータ）によって入手可能であることから、仮にアクセスされるとしても、非常に頻繁にはアクセスされる可能性はあまり高くない。
【００５２】
図３は、本明細書における複数の実施形態に従って、分散型記憶システムにおいて複数の異なるノードで記憶された一次コンテンツおよびバックアップコンテンツの追跡を保持するべく、マップ情報の使用を示す例示的な図である。示されるように、コンピュータシステム１１０−１（または他の適切なリソース）は、対応するデータが入手可能である分散型記憶システム１１５において、複数の対応するノードを示すマップ情報１１２−１を生じさせるように構成され得る。
【００５３】
例えば、前に検討されたように、コンピュータシステム１１０−１は、分散型記憶システム１１５においてデータＡの記憶を開始した。データを記憶するよう依頼する要求を受信することに応答し、分散型記憶システム１１５における適切なノード１２１は、対応するデータＡを記憶した。そのような処理の間、ノード１２１等の適切なリソース（または、セントラルマネージャ等、他の適切なリソース）は、分散型記憶システム１１５において、データの一次コピー（すなわち、データＡ）が入手可能である位置を示すノード情報（ネットワークアドレス情報等）をコンピュータシステム１１０−１に通信するように構成され得る。この例においては、データＡがノード１２１で記憶されているという通知を受信することに基づいて、マップ情報１１２−１は、データＡがノード１２１から取得可能であることを示す。
【００５４】
一構成に従って、コンピュータシステム１１０−１は、また、対応するデータのバックアップコピーが分散型記憶システム１１５において記憶されている場所を示すノード情報も受信し得る。例えば、ノード１２２は、レポジトリ１９２において複製Ａ'（すなわち、データＡのコピー）を記憶することを思い出されたい。そのような場合、コンピュータシステム１１０−１は、データＡ'が、分散型記憶システム１１５においてノード１２２（または、セントラルマネージャ等、他の適切なリソース）での複数の通信を介して入手可能であることを通知され得る。
【００５５】
一実施形態において、コンピュータシステム１１０−１は、データＡ'が取得可能であるノード１２２のための対応するネットワークアドレスまたはポインタを含むようにマップ情報１１２−１を生じさせる。
【００５６】
コンピュータシステム１１０−２（または他の適切なリソース）は、対応するデータが入手可能である分散型記憶システム１１５において対応する複数のノードを示すマップ情報１１２−２を生じさせるように構成され得る。例えば、前に検討されたように、コンピュータシステム１１０−２は、分散型記憶システム１１５においてデータＢの記憶を開始した。データを記憶するよう依頼する要求を受信することに応答し、分散型記憶システム１１５において適切なノード１２２は、対応するデータＢを記憶した。そのような処理の間、分散型記憶システム１１５におけるノード１２２等の適切なリソース（または、セントラルマネージャ等のリソース）は、データの一次コピー（すなわち、データＢ）が入手可能である位置を示すノード情報をコンピュータシステム１１０−２に通信する。この例において、データＢがノード１２２で記憶されたという通知を受信することに基づいて、コンピュータシステム１１０−２は、データＢがノード１２２から取得可能であることを示すマップ情報１１２−２を生じさせる。
【００５７】
一構成に従って、コンピュータシステム１１０−２は、また、対応するデータのバックアップコピーＢ'が分散型記憶システム１１５において記憶されている場所を示すノード情報も受信する。例えば、ノード１２１は、レポジトリ１９２において複製Ｂ'（すなわち、データＢのコピー）を記憶することを思い出されたい。そのような場合、コンピュータシステム１１０−２は、データＢ'が、分散型記憶システム１１５においてノード１２１との複数の通信を介して入手可能であることを通知され得る。一実施形態において、コンピュータシステム１１０−２は、データＢ'が取得可能であるノード１２１を指定する、ネットワークアドレス、ポインタ等のリソースを含むべくマップ情報１１２−２を生じさせる。
【００５８】
また更に複数の非限定的な例の実施形態に従って、分散型記憶システム１１５におけるセントラルマネージャまたは１または複数のノード等のリソースは、互いの間で通信し、異なるコンテンツおよび対応するコンテンツが記憶されている場所を示すマップ情報１１７を生成するように構成され得る。対応するマップ情報１１７の例は、図４において示される。
【００５９】
図４に示されるように、この例示的な実施形態において、マップ情報１１７は、データＡがノード１２１との複数の通信を介して入手可能であることを示し、マップ情報１１７は、複製データＡ'がノード１２２との複数の通信を介して入手可能であることを示し、マップ情報１１７は、データＢがノード１２２との複数の通信を介して入手可能であることを示し、マップ情報１１７は、複製データＢ'がノード１２２との複数の通信を介して入手可能であることを示す等である。
【００６０】
マップ情報１１２−１、マップ情報１１２−２等のマップ情報は、一次コンテンツおよびバックアップコンテンツの位置を判断するのに有用である。例えば、それぞれのコンピュータシステムが、タイムアウト期間内に第１のノードからコンテンツを取得することが不可能である場合、対応するコンピュータシステムは、代わりにバックアップコピーを取得するべく、第２のノードと通信するように構成され得る。
【００６１】
より具体的に、コンピュータシステム１１０−１は、ノード１２１からデータＡを取得することを試みると仮定されたい。２秒等のタイムアウト（他の好適な時間のアクセスマネージャ）内にノード１２１からの応答が無い場合、コンピュータシステム１１０−１は、バックアップコピーＡ'を取得するべく、ノード１２２と（マップ情報１１２−１によって指定されるように）通信を開始する。このように、コンピュータシステムは、対応するデータの位置を識別すべく、マップ情報１１２を使用し得る。
【００６２】
以下で検討されるように、記憶されたコンテンツにおけるマップ情報１１７は、喪失データの修復を必要とする、分散型記憶システム１１５におけるノード障害が発生した場合に有用であり得ることに留意されたい。
【００６３】
図５は、本明細書における複数の実施形態に従って、分散型記憶システムにおけるノード障害からの回復およびデータの複製を示す例示的な図である。
【００６４】
この例示的な実施形態において、ノード１２２またはデータ記憶制御ロジック１３２、レポジトリ１９２における複数の記憶セル等の複数の関連するコンポーネントが機能不全になると仮定されたい。
【００６５】
ノード１２２に関連する障害は、ノード１２２が、ネットワーク１９０上で複数のコンピュータシステム１１０によってアクセスされる能力が不能になること、データ記憶制御ロジック１３２がレポジトリ１９２において記憶された対応するデータを取得する能力が不能になること、レポジトリ１９２における複数の記憶セルが、データを記憶することに失敗すること等の結果をもたらし得る。
【００６６】
ノード１２２に関連する障害は、幾つものやり方で検出されてもよい。例えば、分散型記憶システム１１５において、１または複数のノードは、複数の他のノードと通信（ハートビート信号を介して等）するように構成され得、これらのステータスを判断し得る。ノード１２２等のノードが通信に応答しない場合、ノード障害が生じており、レポジトリ１９２において記憶された対応するデータは、取得可能でないと仮定され得る。
【００６７】
障害を検出すると、分散型記憶システム１１５における複数のノードは、レポジトリ１９２内の利用不可のデータを複数の他のノードに複製するべく、互いに通信する。
【００６８】
より具体的に、この例示的な実施形態において、ノード１２２に関連している障害は、キャッシュストレージリソース１８２−２において記憶されたデータＡ'へのアクセスを阻止する。前に検討されたように、マップ情報１１７に基づいて、ノード１２１に関連しているキャッシュストレージリソース１８１−１は、データＡのコピーを記憶することが既知である。
【００６９】
分散型記憶システム１１５において、データＡのバックアップコピーが記憶されることを保証するべく、ノード１２２に関連している障害を検出することに応答して、ノード１２１は、データ記憶制御ロジック１３１との通信を介してキャッシュストレージリソース１８１−１からのデータＡのコピーの取得を開始する。
【００７０】
データＡのコピーを取得した後、データ記憶制御ロジック１３１は、複製コピーＡ"を生じさせる。ノード１２１は、複製Ａ"（すなわち、データＡ）のコピー）を、ノード１２３に示されるようにノード１２３へ転送する。従って、ノード１２３によって受信されたデータＡ"は、分散型記憶システム１１５において故障したノード１２２で記憶された利用不可のデータＡ'の複製を表す。
【００７１】
ノード１２１（または分散型記憶システム１１５に関連している他の適切なリソース）は、データＡ"が、記憶されたデータのコピーであることをノード１２３へ通知する。ノード１２１から受信されたデータＡ"が再構築データ（すなわち、故障したノード１２２に関連しているレポジトリ１９２において記憶されたデータＡ'のコピー）であることを検出することに応答して、ノード１２３は、メタデータＭ５を生成し、データ記憶制御ロジック１３３に対し、キャッシュストレージリソース１８３−１内への受信されたデータＡ"の記憶を回避することを指し示し、受信されたデータＡ"を、レポジトリ１９３の非キャッシュストレージリソース１８３−２において記憶する。
【００７２】
従って、本明細書における複数の実施形態は、非故障ノード１２１のキャッシュストレージリソース１８１−１内に記憶されたデータＡに基づいて、故障したノードで記憶されたデータＡ'のコピー（すなわち、データＡ"）を生じさせること、およびレポジトリ１９３の非キャッシュストレージリソース１８３−２において、データＡ"の記憶を開始することを含み得る。
【００７３】
図６は、本明細書における複数の実施形態に従って、分散型記憶システムにおけるノード障害からの回復およびデータの複製を示す例示的な図である。この例示的な実施形態において、ノード１２２に関連している障害もまた、キャッシュストレージリソース１８２−１において記憶されたデータＢへのアクセスを阻止する。前に検討されたように、マップ情報１１７に基づいて、ノード１２１に関連している非キャッシュストレージリソース１８１−２がデータＢ'を記憶することは、既知である。データＢのバックアップコピーが分散型記憶システム１１５において記憶されていることを保証すべく、本明細書における複数の実施形態は、ノード１２２に関連している障害を検出することに応答して、ノード１２１が、データ記憶制御ロジック１３１への通信を介してキャッシュストレージリソース１８１−１からの複製データＢ'のコピーの取得を開始することを含む。
【００７４】
この例において、分散型記憶システム１１５における複数のノードの間でノード１２４は、データＢに関連しているバックアップコピーを生じさせ、記憶するように（他のノードまたはセントラルマネージャ等のリソースによって）選択されていたと仮定されたい。そのような場合、ノード１２１は、示されるように、複製Ｂ"（すなわち、元データＢのコピー）をノード１２４へ転送する。ノード１２４によって受信されたデータＢ"は、故障したノード１２２で記憶されたデータＢの複製を表す。
【００７５】
受信されたデータＢ"は、故障したノード１２２に関連しているレポジトリ１９２において記憶されたデータＢのコピーであることを検出することに応答して、ノード１２４は、メタデータＭ６を生成し、データ記憶制御ロジック１３４に対し、キャッシュストレージリソース１８４−１において受信されたデータＢ"の記憶を回避することを指し示し、受信されたデータＢ"を、レポジトリ１９４の非キャッシュストレージリソース１８４−２等の非キャッシュストレージリソース内に記憶する。
【００７６】
従って、本明細書における複数の実施形態は、非障害ノード１２１の非キャッシュストレージリソース１８１−２において記憶されたデータＢ'に基づいて故障したノードで記憶されたデータＢのコピー（すなわちデータＢ"）を生じさせることを含み得る。
【００７７】
上記で検討されたように、修復の後に、本明細書における複数の実施形態は、分散型記憶システム１１５において記憶されたコンテンツの現在の状態を反映させるべく、それぞれのマップ情報をアップデートすることを含み得る。例えば、分散型記憶システム１１５と関連しているそれぞれのリソース（ノードまたはセントラルマネージャ等）は、データＡがノード１２１から入手可能であり、バックアップデータＡ"が、ここで、ノード１２３から入手可能であること等を示すべく、コンピュータシステム１１０−１と通信し、マップ情報１１２−１をアップデートするように構成され得る。
【００７８】
類似の方法で、分散型記憶システム１１５に関連しているそれぞれのリソース（ノードまたはセントラルマネージャ等）は、データＢ'がノード１２１から入手可能であり、バックアップデータＢ"が、ここで、ノード１２４から入手可能であること等を示すべく、コンピュータシステム１１０−２と通信し、マップ情報１１２−２をアップデートするように構成され得る。
【００７９】
図７は、本明細書における複数の実施形態に従って、分散型記憶システムにおける異なるコンテンツのストレージを示すアップデートされたマップ情報を示す例示的な図である。より更なる複数の限定しない例示的な実施形態に従って、分散型記憶システム１１５においてセントラルマネージャまたは１または複数のノードは、障害に起因する再構築の後に記憶されたデータの状態を示すべく、マップ情報１１７をアップデートするように構成され得る。
【００８０】
図７に示されるように、アップデートされたマップ情報１１７は、データＡがノード１２１を介してアクセス可能であることを示し、アップデートされたマップ情報１１７は、（修復または再構築からの）複製データＡ"が、ノード１２２を介してアクセス可能であることを示し、アップデートされたマップ情報１１７は、データＢ'が、ノード１２１を介してアクセス可能であることを示し、アップデートされたマップ情報１１７は、複製データＢ"（修復または再構築から）が、ノード１２４を介してアクセス可能であることを示す、等である。
【００８１】
図８は、本明細書における複数の実施形態に従って本明細書で検討されるように、複数の動作の何れかを実装するためのコンピュータシステムの例示的なブロック図である。
【００８２】
分散型記憶システム１１５におけるノード１２１等のコンピュータシステム８５０は、本明細書において検討されるように、複数の動作の何れかを実行するように構成され得る。一実施形態において、分散型記憶システム１１５におけるそれぞれのノードは、データ管理アプリケーション１４０−１を実行する。分散型記憶システム１１５におけるノードの各々、データ記憶制御ロジック等は、本明細書において検討されるように、機能を実行するための類似のハードウェアを含み得る。
【００８３】
更に示されるように、本実例のコンピュータシステム８５０は、コンピュータ可読記憶媒体８１２をプロセッサハードウェア８１３に結合させる相互接続８１１を含み得る。コンピュータ可読記憶媒体８１２は、デジタル情報が、プロセッサハードウェア８１３（すなわち、１または複数のプロセッサデバイス）、Ｉ／Ｏインタフェース８１４、通信用インタフェース８１７等の複数のリソースによって記憶され取得される非一時的なタイプの媒体（すなわち、任意のタイプのハードウェア記憶媒体）であってよい。 
【００８４】
通信インタフェース８１７は、ネットワーク１９０との接続を提供し、分散型記憶システム１１５およびコンピュータシステム１１０における複数の他のノードとの通信をサポートする。
【００８５】
コンピュータシステム８５０は、ネットワーク環境１００におけるノード１２１を表すと仮定されたい。そのような場合、Ｉ／Ｏインタフェース８１４は、データ記憶制御ロジック１３１およびレポジトリ１９１等の複数のリソースへのコンピュータシステム８５０接続を提供する。望まれる場合、データ記憶制御ロジック１３１によって提供される機能は、また、コンピュータシステム８５０において処理として実行され得る。
【００８６】
コンピュータ可読記憶媒体８１２は、メモリ、光ストレージ、ハードドライブ、フロッピー（登録商標）ディスク等の任意のハードウェア記憶デバイスであってよい。一実施形態において、コンピュータ可読記憶媒体８１２（例えば、コンピュータ可読ハードウェアストレージ）は、複数の命令および／またはデータを記憶する。
【００８７】
一実施形態において、通信用インタフェース８１７は、コンピュータシステム８５０および対応するプロセッサハードウェア８１３が、複数の遠隔の源から情報を取得し、複数の他のコンピュータ（複数のノード等）と通信するべく、ネットワーク１９０等のリソース上で通信することを可能にする。Ｉ／Ｏインタフェース８１４は、プロセッサハードウェア８１３が、データ記憶制御ロジック１３１と通信し、データを取得してレポジトリ１９１内に記憶することを可能にする。
【００８８】
示されるように、コンピュータ可読記憶媒体８１２は、プロセッサ８１３によって実行されるデータ管理アプリケーション１４０−１（例えば、ソフトウェア、ファームウェア等）で符号化される。データ管理アプリケーション１４０−１は、本明細書において検討されるように、複数の動作の何れかを実装するための複数の命令を含むように構成され得る。
【００８９】
一実施形態の動作の間、プロセッサハードウェア８１３は、コンピュータ可読記憶媒体８１２において記憶されたデータ管理アプリケーション１４０−１の複数の命令を起動し、実行し、遂行し、解釈するべく、または他の場合は、実施するべく、相互接続８１１の使用を介してコンピュータ可読記憶媒体８１２にアクセスする。
【００９０】
データ管理アプリケーション１４０−１の実行は、プロセッサ８１３においてデータ管理プロセス１４０−２等の処理機能を生じさせる。言い換えると、プロセッサ８１３に関連しているデータ管理プロセス１４０−２は、コンピュータシステム８５０におけるプロセッサハードウェア８１３内でまたはそこにおいてデータ管理アプリケーション１４０−１を実行するという１または複数の態様を表す。
【００９１】
当業者らは、コンピュータシステム８５０が、データ管理アプリケーション１４０−１を実行すべく、複数のハードウェアリソース、複数のソフトウェアリソース等の割り当ておよび使用を制御するオペレーティングシステム等、複数の他の処理および／または複数のソフトウェアおよびハードウェアコンポーネントを含み得ることは理解するであろう。
【００９２】
複数の異なる実施形態に従って、コンピュータシステム８５０は、モバイルコンピュータ、モバイル電話、パーソナルコンピュータシステム、無線デバイス、基地局、電話機器、デスクトップコンピュータ、ラップトップ、ノートブック、ネットブックコンピュータ、メインフレームコンピュータシステム、ハンドヘルド型コンピュータ、ワークステーション、ネットワークコンピュータ、アプリケーションサーバ、ストレージデバイス、カメラ等の家庭用電子デバイス、カムコーダ、セットトップボックス、モバイルデバイス、ビデオゲームコンソール、ハンドヘルド型ビデオゲームデバイス、スイッチ等の周辺機器、モデム、ルータ、または一般的に任意のタイプのコンピューティングまたは電子デバイスを含むが限定はされない、様々なタイプのデバイスの何れかであってよいことに留意されたい。
【００９３】
複数の異なるリソースによってサポートされる機能は、ここで、図９において複数のフローチャートを用いて検討されるであろう。以下のフローチャートにおける処理は、任意の適切な順番で実行され得ることに留意されたい。
【００９４】
図９は、複数の実施形態に係る例示的な方法を示すフローチャート９００である。上記で検討されたように、複数の概念に関し、おそらくいくつかの重複があることに留意されたい。
【００９５】
処理操作９１０において、分散型記憶システム１１５におけるノードは、データを受信する。処理操作９２０において、ノードは、受信されたデータに基づいてメタデータを生じさせる。一実施形態において、メタデータは、受信されたデータが分散型記憶システムにおいて記憶されたデータの複製であるかどうかを示す。本明細書において検討されたように、受信されたデータは、分散型記憶システム１１５における対応するデータのバックアップコピーを最初に記憶する場合に生成された複製データであってよい。他の実施形態に従って、述べられるように、受信されたデータは、ノード障害に応答して生じるデータ再構築処理の間に生成される複製データであってよい。
【００９６】
処理操作９３０において、ノードは、メタデータに従って、分散型記憶システム１１５において受信されたデータの記憶を開始する。本明細書において検討されるような複数のリソースは何れも、本明細書において開示された方法動作の何れかまたは全てを実行および／またはサポートするべく、１または複数のコンピュータ化されたデバイス、サーバ、基地局、無線通信機器、通信管理システム、ワークステーション、ハンドヘルド型またはラップトップコンピュータ、または類似のもの等を含み得る。言い換えると、１または複数のコンピュータ化されたデバイスまたはプロセッサは、複数の異なる実施形態を実行すべく、本明細書において説明されたように動作するようにプログラミングされ得る、および／または構成され得る。
【００９７】
本明細書において更なる他の複数の実施形態は、本明細書において開示されるように、複数の動作を実行するための複数のソフトウェアプログラム、ファームウェア、ロジック等を含む。一つのそのような実施形態は、複数のソフトウェア命令が、後の実行のために符号化されている非一時的コンピュータ可読記憶媒体（すなわち、コンピュータ可読ハードウェア記憶媒体）を含むコンピュータプログラム製品を備える。複数の命令は、１または複数のプロセッサを有するコンピュータ化されたデバイスにおいて実行される場合、本明細書において開示されるように、プロセッサが複数の動作を実行するようにプログラムする、および／またはプロセッサに複数の動作を実行させる。そのような複数の構成は、光媒体（例えば、ＣＤ−ＲＯＭ）、フロッピー（登録商標）ディスク、ハードディスク、メモリ等の非一時的コンピュータ可読記憶媒体、または、１または複数のＲＯＭ、ＲＡＭ、ＰＲＯＭにおけるファームウェア等の他の媒体において、または、特定用途向け集積回路（ＡＳＩＣ）等のロジックとして、構成されまたは符号化された、ソフトウェア、ファームウェア、コード、複数の命令、データ（例えば、複数のデータ構造）等として提供され得る。ソフトウェアまたはファームウェアまたは他のそのような複数の構成は、コンピュータ制御デバイス上にインストールされ得、コンピュータ制御デバイスに本明細書において説明された複数の技術を実行させ得る。
【００９８】
従って、本明細書における複数の実施形態は、本明細書において検討されるように、複数の動作をサポートする装置、方法、システム、コンピュータプログラム製品等を対象とする。
【００９９】
一実施形態は、複数の命令、ロジック等が記憶されているコンピュータ可読記憶媒体および／またはシステムを含み、１または複数の不揮発性メモリデバイスを含むメモリシステムの構成を管理する。複数の命令および／またはロジックは、それぞれのコンピュータの少なくとも１つのプロセッサデバイスによって実行される場合、少なくとも１つのプロセッサデバイスに、分散型記憶システムにおける特定のノードでデータを受信させ、受信されたデータに基づいてメタデータを生じさせ、受信されたデータの通知およびメタデータをデータ記憶制御ロジックに対して提供させ、特定のノードは、キャッシュストレージリソースおよび非キャッシュストレージリソースを含むレポジトリへのアクセスを有するデータ記憶制御ロジックと通信しており、メタデータは、受信されたデータを、特定のノードでのレポジトリにおいて記憶することを制御する。本明細書において検討されるように、処理の何れも、任意の適切な順番で実行され得ることに留意されたい。 
【０１００】
本明細書において検討されるように、装置、システム、方法、装置、コンピュータ可読記憶媒体における複数の命令等は、また、ソフトウェアプログラム、ファームウェア、またはソフトウェア、ハードウェアおよび／またはファームウェアのハイブリッド、またはプロセッサデバイス内、オペレーティングシステム内もしくはソフトウェアアプリケーション内等の単独のハードウェアとして、厳密に具現化され得ることは理解されるべきである。
【０１０１】
更に、本明細書における複数の異なる特徴、複数の技術、複数の構成等の各々は、本開示の異なる箇所において検討され得るが、複数の概念の各々は、好適な場合、任意選択で互いに独立して、または互いに組み合わせて実行され得ることを意図していることに留意されたい。開示された複数の特徴の如何なる置き換えも可能である。
【０１０２】
従って、本明細書において説明されたように、１または複数実施形態は、多くの異なるやり方において具現化され、表示され得る。
【０１０３】
本明細書における複数の技術は、１または複数の不揮発性メモリデバイスにおいて検出される障害から回復することに十分に適していることに更に留意されたい。しかしながら、本明細書における複数の実施形態は、そのような複数の用途においての使用に限定はされず、本明細書で検討される複数の技術は、他の複数の用途にもまた、十分適していることに留意すべきである。
【０１０４】
複数の具体的な実施形態が具体的に示され、説明されてきた一方、添付の特許請求の範囲によって定義されるように、本願の趣旨および範囲から逸脱することなく、様々な形態および詳細における変更が、内部でなされてもよいことは、当業者らによって理解されるであろう。そのような複数の変形は、本願の範囲によって包含されるように意図されている。そのようなものとして、本願の複数の実施形態の上述の説明は、限定的であることは意図していない。むしろ、本明細書における複数の実施形態に対する任意の限定は、以下の特許請求の範囲において示される。ここで、本実施形態に係る発明の例を項目として記載する。
［項目１］
データストレージを集合的に管理する複数のノードを含む分散型記憶システムにおいてデータを記憶するための方法であって、
不揮発性キャッシュストレージリソースおよび不揮発性非キャッシュストレージリソースを含むレポジトリへのアクセスを有するデータ記憶制御ロジックと通信している、上記分散型記憶システムにおける特定のノードで、データを受信する段階と、
上記受信されたデータに基づいてメタデータを生じさせる段階と、
上記受信されたデータの通知および上記メタデータを、上記データ記憶制御ロジックに提供する段階と、を備え、
上記メタデータは、上記レポジトリにおける上記特定のノードでの、上記受信されたデータの記憶を制御する、
方法。
［項目２］
上記不揮発性キャッシュストレージリソースのアクセス時間は、上記不揮発性非キャッシュストレージリソースのアクセス時間よりも実質的に短く、
上記メタデータを生じさせる段階は、上記不揮発性キャッシュストレージリソースにおイテ上記受信されたデータの記憶を回避し、上記レポジトリの上記不揮発性非キャッシュストレージリソースにおいて上記受信されたデータを記憶することを、上記データ記憶制御ロジックに対して指し示す上記メタデータを生成する段階を含む、項目１に記載の方法。
［項目３］
上記不揮発性キャッシュストレージリソースは、不揮発性メモリであり、
上記不揮発性非キャッシュストレージリソースは、ディスクドライブストレージリソースであり、
上記メタデータを生成する段階は、上記受信されたデータのコピーが上記分散型記憶システムにおける上記特定のノードとは他のノードから入手可能であることを検出することに応答して、上記不揮発性キャッシュストレージリソースにおける上記受信されたデータの記憶を回避する上記メタデータを生成する段階を含む、項目１または２に記載の方法。
［項目４］
上記通知を生じさせる段階は、データが上記レポジトリの上記不揮発性キャッシュストレージリソースにおける記憶に適格であることを、上記特定のノードの上記データ記憶制御ロジックに対して指し示す上記メタデータを生成する段階を含む、項目１または２に記載の方法。
［項目５］
項目４に記載の方法であって、
上記受信されたデータは、第１のデータであり、上記特定のノードは、第１のノードであり、上記メタデータは、第１のメタデータであり、
上記方法は、
上記第１のノードで、上記分散型記憶システムにおける第２のノードで記憶されたデータの複製である第２のデータを受信する段階と、
上記第１のノードの上記データ記憶制御ロジックに対し、上記不揮発性キャッシュストレージリソースにおいて上記受信された第２のデータの記憶を回避し、上記受信された第２のデータを上記不揮発性非キャッシュストレージリソースにおいて記憶することを指し示す第２のメタデータを生成する段階と、
上記第２のデータおよび上記第２のメタデータを、上記第１のノードの上記データ記憶制御ロジックへ転送する段階と、を更に備える、方法。
［項目６］
上記受信されたデータは、上記分散型記憶システムにおける故障したノードで記憶されたデータの複製を表し、
上記故障したノードにおける障害は、上記故障したノードによって管理されるデータへのアクセスを阻止し、
当該方法は、
上記受信されたデータが上記故障したノードにおいて記憶されたデータのコピーであることを検出することに応答して上記不揮発性キャッシュストレージリソースにおいて上記受信されたデータの記憶を回避し、上記レポジトリの上記不揮発性非キャッシュストレージリソースにおいて上記受信されたデータを記憶することを、上記データ記憶制御ロジックに対して指し示す上記メタデータを生成する段階を更に備える、項目１に記載の方法。
［項目７］
上記分散型記憶システムにおける非障害ノードにおいて記憶されたデータに基づいて、上記故障したノードで記憶された上記データの複製を生じさせる段階を更に備え、
上記特定のノードは、上記分散型記憶システムにおける第１の記憶ノードであり、上記故障したノードは、上記分散型記憶システムにおける第２の記憶ノードであり、上記非障害ノードは、上記分散型記憶システムにおける第３の記憶ノードである、項目６に記載の方法。
［項目８］
上記受信されたデータは、第１のデータであり、
上記特定のノードは、第１のノードであり、
上記メタデータは、上記不揮発性キャッシュストレージリソースにおいて上記第１のデータを記憶することを指し示す第１のメタデータであり、
当該方法は、
上記第１のノードで、上記分散型記憶システムにおける第２のノードで記憶されたデータの複製である第２のデータを受信する段階と、
上記不揮発性キャッシュストレージリソースにおいて上記受信された第２のデータの記憶を回避し、上記レポジトリの上記不揮発性非キャッシュストレージリソースにおいて前記受信されたデータを記憶することを、上記データ記憶制御ロジックに対して指し示す第２のメタデータを上記第１のノードで生成する段階と、
上記第２のデータおよび上記第２のメタデータを、上記第１のノードにおけるデータ記憶制御ロジックへ転送する段階と、を更に備える、項目１に記載の方法。
［項目９］
上記不揮発性キャッシュストレージリソースにおいて上記受信されたデータの記憶を回避し、上記レポジトリの上記不揮発性非キャッシュストレージリソースにおいて上記受信されたデータを記憶することを、上記データ記憶制御ロジックに対して指し示す上記メタデータを生成する段階と、
上記受信されたデータの複製である複製データを生成する段階と、
上記複製データを上記分散型記憶システムにおける第２のノードへ転送する段階と、を更に備える、項目１に記載の方法。
［項目１０］
上記分散型記憶システムにおける上記第２のノードで上記複製データを受信する段階であって、上記第２のノードは、上記第２のノードに関連している上記不揮発性非キャッシュストレージリソースにおいて、上記複製データを記憶することを指し示すメタデータを生成する、段階と、
上記第２のノードにおいて、上記第２のノードに関連している不揮発性非キャッシュストレージリソースにおける上記複製データ、および上記複製データの記憶用に上記メタデータを転送する段階と、を更に備える、項目９に記載の方法。
［項目１１］
データストレージを集合的に管理する複数の相互接続されたノードを備える分散型記憶システムであって、  上記複数の相互接続されたノードは、特定のノードを含み、
上記特定のノードは、
不揮発性キャッシュストレージリソースおよび不揮発性非キャッシュストレージリソースを含むレポジトリへのアクセスを有するデータ記憶制御ロジックと通信しており、
上記分散型記憶システムと通信しているリソースからデータを受信し、
上記受信されたデータに基づいてメタデータを生じさせ、
上記受信されたデータの通知および上記メタデータを上記データ記憶制御ロジックに提供する、ように動作可能であり、上記メタデータは、上記レポジトリにおける上記受信されたデータの記憶を制御する、分散型記憶システム。
［項目１２］
上記特定のノードは、上記メタデータを生成し、上記不揮発性キャッシュストレージリソースにおいて上記受信されたデータの記憶を回避し、上記レポジトリの上記不揮発性非キャッシュストレージリソースにおいて上記受信されたデータを記憶することを、上記データ記憶制御ロジックに対して指し示す、項目１１に記載の分散型記憶システム。
［項目１３］
上記キャッシュストレージリソースは、不揮発性メモリであり、
上記不揮発性非キャッシュストレージリソースは、ディスクドライブストレージリソースであり、
上記特定のノードは、上記受信されたデータのコピーが上記分散型記憶システムにおける上記特定のノードとは他のノードから入手可能であることを検出することに応答して、上記不揮発性キャッシュストレージリソースにおいて上記受信されたデータの記憶を回避する上記メタデータを生成する、項目１１または１２に記載の分散型記憶システム。
［項目１４］
上記特定のノードは、上記受信されたデータが上記レポジトリの上記不揮発性キャッシュストレージリソースにおける記憶に適格であることを、上記データ記憶制御ロジックに対して指し示す上記メタデータを生成する、項目１１または１２に記載の分散型記憶システム。
［項目１５］
上記受信されたデータは、第１のデータであり、
上記特定のノードは、第１のノードであり、
上記メタデータは、第１のメタデータであり、
上記特定のノードは、
上記第１のノードで、上記分散型記憶システムにおける第２のノードで記憶されたデータの複製である第２のデータを受信し、
上記不揮発性キャッシュストレージリソースにおいて上記受信された第２のデータの記憶を回避し、上記不揮発性非キャッシュストレージリソースにおいて、上記受信された第２のデータを記憶することを、上記データ記憶制御ロジックに対して指し示す、第２のメタデータを生成し、
上記第２のデータおよび上記第２のメタデータを、上記第１のノードの上記データ記憶制御ロジックへ転送する、ように更に動作可能である、項目１４に記載の分散型記憶システム。
［項目１６］
上記受信されたデータは、上記分散型記憶システムにおける故障したノードで記憶されたデータの複製を表し、
上記故障したノードにおける対応する障害は、上記故障したノードによって管理されるデータへのアクセスを阻止し、
上記特定のノードは、上記受信されたデータが上記故障したノードにおいて記憶されたデータのコピーであることを検出することに応答して、上記不揮発性キャッシュストレージリソースにおいて、上記受信されたデータの記憶を回避し、上記レポジトリの上記不揮発性非キャッシュストレージリソースにおいて上記受信されたデータを記憶することを、上記データ記憶制御ロジックに対して指し示す上記メタデータを生成する、ように更に動作可能である、項目１１に記載の分散型記憶システム。
［項目１７］
上記特定のノードは、上記分散型記憶システムにおける第１のノードであり、
上記故障したノードは、上記分散型記憶システムにおける第２のノードであり、
上記分散型記憶システムは、
第３のノードで記憶されたデータに基づいて、上記故障したノードで記憶されたデータの複製を生じさせる上記第３のノード、を更に備える、項目１６に記載の分散型記憶システム。
［項目１８］
上記受信されたデータは、第１のデータであり、
上記特定のノードは、第１のノードであり、
上記メタデータは、上記不揮発性キャッシュストレージリソースにおいて上記第１のデータを記憶することを指し示す第１のメタデータであり、
上記特定のノードは、
上記分散型記憶システムにおける第２のノードで記憶されたデータの複製である第２のデータを受信し、
上記不揮発性キャッシュストレージリソースにおいて上記受信された第２のデータの記憶を回避し、上記レポジトリの上記不揮発性非キャッシュストレージリソースにおいて前記受信された第２のデータを記憶することを、上記データ記憶制御ロジックに対して指し示す第２のメタデータを生成し、
上記第２のデータおよび上記第２のメタデータを上記データ記憶制御ロジックへ転送する、ように更に動作可能である、項目１１に記載の分散型記憶システム。
［項目１９］
上記特定のノードは、
上記不揮発性キャッシュストレージリソースにおいて上記受信されたデータの記憶を回避し、上記レポジトリの上記不揮発性非キャッシュストレージリソースにおいて上記受信されたデータを記憶することを、上記データ記憶制御ロジックに対して指し示す上記メタデータを生成し、
上記受信されたデータの複製である複製データを生成し、上記複製データを、上記分散型記憶システムにおける第２のノードに転送する、ように更に動作可能である、項目１１に記載の分散型記憶システム。
［項目２０］
上記第２のノードは、
上記複製データを受信し、
上記第２のノードに関連している上記不揮発性非キャッシュストレージリソースにおいて上記複製データを記憶することを指し示すメタデータを生成し、
上記第２のノードに関連している不揮発性非キャッシュストレージリソースにおける前記複製データ、および上記複製データの記憶用に上記生成されたメタデータを転送する、ように動作可能である、項目１９に記載の分散型記憶システム。
［項目２１］
項目１１、１２、１６、１８および１９のうちいずれか一項に記載の分散型記憶システムへのアクセスを有するコンピュータシステムであって、上記分散型記憶システムの前記特定のノードによって受信された上記データの少なくとも一部に基づいて、画像をレンダリングするためのディスプレイスクリーンを含む、コンピュータシステム。
［項目２２］
複数の命令が記憶されているコンピュータ可読記憶ハードウェアであって、上記複数の命令は、コンピュータプロセッサハードウェアによって実行される場合、上記コンピュータプロセッサハードウェアに、
分散型記憶システムにおける複数のノードのうちの１つであり、不揮発性キャッシュトレージリソースおよび不揮発性非キャッシュストレージリソースを含むレポジトリへのアクセスを有するデータ記憶制御ロジックと通信する上記分散型記憶システムにおける特定のノードでデータを受信し、上記受信されたデータに基づいてメタデータを生じさせ、
上記受信されたデータの通知、および上記特定のノードにおいて上記レポジトリにおける上記受信されたデータの記憶を制御する上記メタデータを上記データ記憶制御ロジックに提供する動作を実行させる、コンピュータ可読記憶ハードウェア。
［項目２３］
上記複数の命令は、上記コンピュータプロセッサハードウェアに、
上記不揮発性キャッシュストレージリソースにおいて上記受信されたデータの記憶を回避し、上記レポジトリの上記不揮発性非キャッシュストレージリソースにおいて上記受信されたデータを記憶することを上記データ記憶制御ロジックに対して指し示す上記メタデータを生成する、動作を更に実行させる、項目２２に記載のコンピュータ可読記憶ハードウェア。
［項目２４］
上記複数の命令は、上記コンピュータプロセッサハードウェアに、
上記受信されたデータのコピーが上記分散型記憶システムにおける上記特定のノードとは他のノードから入手可能であることを検出することに応答して、上記メタデータを生成する動作を更に実行させる、項目２３に記載のコンピュータ可読記憶ハードウェア。
［項目２５］
上記受信されたデータは、上記分散型記憶システムにおける故障したノードで記憶されたデータの複製を表し、上記故障したノードにおける障害は、上記故障したノードによって管理されるデータへのアクセスを阻止し、
上記複数の命令は、上記コンピュータプロセッサハードウェアに、
上記受信されたデータが上記故障したノードで記憶されたデータのコピーであることを検出することに応答して、上記不揮発性キャッシュストレージリソースにおいて上記受信されたデータの記憶を回避し、上記レポジトリの上記不揮発性非キャッシュストレージリソースにおいて上記受信されたデータを記憶することを上記データ記憶制御ロジックに指し示す上記メタデータを生成する動作を更に実行させる、項目２２に記載のコンピュータ可読記憶ハードウェア。
【図１】
0006256931.tif 000002
【図２】
0006256931.tif 000003
【図３】
0006256931.tif 000004
【図４】
0006256931.tif 000005
【図５】
0006256931.tif 000006
【図６】
0006256931.tif 000007
【図７】
0006256931.tif 000008
【図８】
0006256931.tif 000009
【図９】
0006256931.tif 000010