(57)【要約】記憶ネットワークに含まれる記憶部にデータを割り当てる方法は、記憶ネットワークに含まれる記憶部に関連する多数の特性を決定することを含む。多数の特性は、記憶部の記憶容量、記憶部の利用可能な記憶領域、記憶部に記憶されたデータの紛失の可能性、記憶ネットワークについての記憶部の利用可能性、記憶部の利用状況などである。その方法は更に、多数の特性に基づいて記憶部にデータを割り当てることを含む。
2016511862.tif 000002
【特許請求の範囲】
【請求項１】
記憶ネットワークに含まれる記憶部にデータを割り当てる方法であって、
前記方法は記憶ネットワークに含まれる前記記憶部に関する、該記憶部の記憶容量と、該記憶部の利用可能な記憶領域と、該記憶部に記憶されたデータ損失の可能性と、前記記憶ネットワークについての該記憶部の利用可能性と、該記憶部の利用状況と、を含む多数の特性を決定することと、
前記多数の特性に基づいて前記記憶部にデータを割り当てることと、を備える方法。
【請求項２】
請求項１に記載の方法であって、
更に、記憶部の種類、記憶部の正常性、記憶部に関連するデバイスのデバイスタイプ、デバイスの使用状況、デバイスの紛失の可能性、デバイスの正常性、デバイスの配置、記憶ネットワークとデバイスとの接続、記憶ネットワークとデバイスとの接続コスト、デバイスの信頼性、の１つかそれ以上に基づいてデータを割り当てることを備える方法。
【請求項３】
請求項１に記載の方法であって、
更に、要求されるデータ冗長性を決定することと、
前記データのために前記記憶部の冗長ロールを前記多数の特性に基づいて決定することと、
前記冗長ロールに基づいて前記データを前記記憶部に割り当てることと、を備える方法。
【請求項４】
請求項１に記載の方法であって、
更に、前記多数の特性に基づいて前記記憶部を第１レポジトリとして割り当てることを備える方法。
【請求項５】
請求項１に記載の方法であって、
更に、前記多数の特性に基づいて前記記憶部を第２レポジトリとして割り当てることを備える方法。
【請求項６】
請求項１に記載の方法であって、
更に、前記データのデータ特性に基づいて前記記憶部に該データを割り当てることを備える方法。
【請求項７】
請求項６に記載の方法であって、
前記データ特性は、データの種類、データの使用頻度、要求されるデータ冗長性、データの大きさ、データに含まれている情報、前記記憶部へのデータの追加時刻、前記記憶ネットワークへのデータの追加時刻、データの発信情報、データに関する使用者の好みの１つかそれ以上を含む方法。
【請求項８】
請求項６に記載の方法であって、
更に、１つかそれ以上の前記多数の特性に関する前記データの特性に基づいて該データを前記記憶部に割り当てることを備える方法。
【請求項９】
記憶ネットワークの記憶エージェントによってデータを記憶する方法であって、
記憶ネットワークに含まれる記憶部に関連する多数の特性と、該記憶部の記憶容量を含む該多数の特性と、該記憶部の利用可能な記憶領域と、該記憶部に記憶されたデータの紛失の可能性と、記憶ネットワークについての該記憶部の利用可能性と、該記憶部の利用状況と、を記憶ネットワークマネージャに通信することと、
前記多数の特性に基づいて前記記憶部にデータを記憶する記憶コマンドを記憶ネットワークマネージャから受け取ることと、
前記記憶コマンドに応答して前記記憶部に前記データを記憶することと、を備える方法。
【請求項１０】
請求項９に記載の方法であって、
更に、前記多数の特性の１つかそれ以上に基づいて前記記憶部から前記データを除去することを備える方法。
【請求項１１】
請求項９に記載の方法であって、
更に、前記データの特性に基づいて前記記憶部に該データを記憶することを備える方法
【請求項１２】
請求項１１に記載の方法であって、
前記データの特性は、データの種類、データの使用頻度、要求されるデータ冗長性、データの大きさ、データの順位、データに含まれている情報、記憶エージェントへのデータの追加時刻、記憶ネットワークへのデータの追加時刻、データの発信情報、データに関する使用者の好みの１つかそれ以上を含む方法。
【請求項１３】
データを記憶ネットワークの記憶エージェントに割り当てる作動をシステムにさせる命令を含んだコンピュータで読み取り可能な記録媒体であって、
前記作動は、記憶部の記憶容量と、記憶部の利用可能な記憶領域と、記憶部に記憶されたデータの損失の可能性と、記憶ネットワークについての記憶部の利用可能性と、記憶部の利用状況と、を含む記憶ネットワークに含まれる記憶部に関する多数の特性を決定することと、
前記多数の特性に基づいて前記データを前記記憶部に割り当てることと、を備える記録媒体。
【請求項１４】
請求項１３に記載のコンピュータで読み取り可能な記録媒体であって、
前記動作は更に、記憶部の種類、記憶部の正常性、記憶部に関連するデバイスのデバイスタイプ、デバイスの使用状況、デバイスの紛失の可能性、デバイスの正常性、デバイスの配置、記憶ネットワークとデバイスとの接続、記憶ネットワークとデバイスとの接続のコスト、デバイスの信頼性、の１つかそれ以上に基づいて前記データを割り当てることを備える記録媒体。
【請求項１５】
請求項１３に記載のコンピュータで読み取り可能な記録媒体であって、
前記動作は更に、要求されるデータ冗長性を決定することと、
前記データのために前記記憶部の冗長ロールを前記多数の特性に基づいて決定することと、
前記冗長ロールに基づいて前記データを前記記憶部に割り当てることと、を備える記録媒体。
【請求項１６】
請求項１３に記載のコンピュータで読み取り可能な記録媒体であって、
前記動作は更に、前記多数の特性に基づいて前記記憶部を第１レポジトリとして割り当てることを備える記録媒体。
【請求項１７】
請求項１３に記載のコンピュータで読み取り可能な記録媒体であって、
前記動作は更に、前記多数の特性に基づいて前記記憶部を第２レポジトリとして割り当てることを備える記録媒体。
【請求項１８】
請求項１３に記載のコンピュータで読み取り可能な記録媒体であって、
前記動作は更に、前記データのデータ特性に基づいて前記記憶部に該データを割り当てることを備える記録媒体。
【請求項１９】
請求項１８に記載のコンピュータで読み取り可能な記録媒体であって、
前記データ特性は、データの種類、データの使用頻度、要求されるデータ冗長性、データの大きさ、データに含まれている情報、記憶部へのデータの追加時刻、記憶ネットワークへのデータの追加時刻、データの発信情報、データに関する使用者の好みの１つかそれ以上を含む記録媒体。
【請求項２０】
請求項１８に記載のコンピュータで読み取り可能な記録媒体であって、
前記動作は更に、前記データ特性が１つかそれ以上の前記多数の特性に関係するように、該データ特性に基づいて前記データを前記記憶部に割り当てることを備える記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶ネットワークにおけるデータ割り当てに関する。
【背景技術】
【０００２】
個人データ（写真、ビデオ、文書など）の量は増え続けており、個人データを記憶する異なる方法やシステムも増え続けている。しかしながら、個人データを記憶するたくさんの方法やシステムは、他の方法やシステムとの間で、手間や時間がかかったり、不適切な冗長性を提供したり、異なるデバイスにおいてデータに容易にアクセスできないなどの問題を呈することがある。
【０００３】
ここで主張されている主題は、あらゆる不利な点を解消する実施形態、又は、上述の環境によってのみ作動する実施形態に限定されるものではない。むしろこの背景技術はここで記述されるいくつかの実施形態が実践される例示的な技術のひとつを示すために提供されているにすぎない。
【発明の概要】
【０００４】
実施形態の態様によると、記憶ネットワークに含まれる記憶部にデータを格納する方法は、記憶ネットワークに含まれる記憶部に関する多数の特性を決定することを備える。多数の特性は、記憶部の記憶容量、記憶部の利用可能な記憶領域、記憶部に記憶されたデータの紛失の可能性、記憶ネットワークについての記憶部の利用可能性、記憶部の利用状況を含む。その方法は、更に、多数の特性に基づいて記憶部にデータを割り当てることを含む。
【０００５】
実施形態の目的と有利な点は、少なくとも請求項で特に指摘された要素、特徴、そしてそれらの組み合わせで実現され、達成される。
【０００６】
これより先の一般的な記述と後に続く詳述とは例示であり、かつ、説明的であり、主張された発明を制限するものではない。
【図面の簡単な説明】
【０００７】
【図１Ａ】記憶ネットワークに含まれる記憶部にデータを割り当てるために構成された記憶システムの例を示す図である。
【図１Ｂ】記憶ネットワークに含まれる記憶部にデータを分配するための分配方針を決定するために構成された記憶システムの例を示す図である。
【図２】データを記憶ネットワークの記憶部に割り当てる例示的な方法のフロー図である。
【図３】データを記憶ネットワークの記憶部に記憶する例示的な方法のフロー図である。
【図４】データを記憶ネットワークの記憶部に分配するための分配方針を決定する例示的な方法のフロー図である。
【発明を実施するための形態】
【０００８】
例示的な実施形態が付加的な特殊性や詳細と共に付随的な上記図面の使用を通して記述され、かつ説明されている。
【０００９】
後で詳述される通り、記憶ネットワークに含まれる記憶部間にデータを割り当てるために記憶システムが構成されており、それは記憶ネットワークの記憶エージェントで管理されている。記憶システムは、記憶エージェントに関連するデバイスに基づいて、具体的にはデバイスタイプとデバイスタイプに関するデバイスの特性とに基づいて、データを割り当てるために構成されている。ある実施形態では、割り当ては割り当てられるデータの特性にも基づいて行われる。以下に記述されるデータの割り当ては記憶部間のデータの分配を改善するのに役立つ。データの分配が改善されると、データへのアクセスとデータの冗長化とが一層容易となる。代替的に又は付加的に、ある実施形態では、記憶システムは、記憶ネットワークを含む１つかそれ以上のデバイスの特性に基づいて、データを記憶部に分配するための分配方針を決定するために構成される。ここで開示されている実施形態は付随された図面の参照と共に説明される。
【００１０】
図１Ａは、ここでの開示における少なくとも1つの実施形態に沿って、記憶ネットワーク１０２ａに含まれる記憶部１１０にデータを割り当てるために構成された例示的な記憶システム１００ａのブロック図を示している。記憶ネットワーク１０２ａは記憶部１１０ａ〜１１０ｃを含み、それらは電子デバイス１０６ａ〜１０６ｃ（ここではデバイス１０６とも呼ばれる）にそれぞれ含まれる。記憶部１１０におけるデータ記憶の管理は、1つかそれ以上の記憶エージェント１０４によって実行される。記述された実施形態では、記憶システム１００ａは記憶エージェント１０４ａ〜１０４ｃを含むものとして描かれており、デバイス１０６ａ〜１０６ｃはそれぞれ記憶エージェント１０４ａ〜１０４ｃを含んでいる。記憶システム１００ａは、３つの異なる記憶部１１０と記憶エージェント１０４とデバイス１０６とを備える1つの記憶ネットワーク１０２ａを含むように描かれているが、記憶システム１００ａは記憶部をいくつか含むこともでき、その記憶部にはいくつかの記憶部１１０、記憶エージェント１０４、デバイス１０６があってもよい。加えて、ある実施形態では、１つまたは複数のデバイス１０６に１つ以上の記憶エージェント１０４及び／又は記憶部１１０が含まれていてもよい。
【００１１】
ある実施形態では、記憶システム１００ａは写真やビデオ、文書などのデータファイルを記憶し、組織し、管理するために構成される。ある実施形態では、データファイルはデータファイル自身の情報を提供するメタデータを含むデータオブジェクトに含まれる。この開示における「データ」という言葉は、記憶部１１０に記憶され、１つかそれ以上のデータファイルやメタデータ、またはそれらの組み合わせを含むあらゆる適した情報を指す。
【００１２】
記憶システム１００ａは、使用者によって要求される入力データを減らす自動化されたやり方によって、記憶部１１０ａ〜１１０ｃにまたがって記憶されるようにデータを組織し、管理する。加えて、記憶システム１００ａは、特定の記憶部１１０に記憶されたデータがその特定の記憶部１１０を含まないデバイス１０６によってもアクセスされ使用されるように構成される。それによって、記憶システム１００ａは、データが特定のデバイス１０６内の記憶部１１０に記憶されているかどうかに拘わらず、データへのアクセスを提供するだけでなく、記憶部１１０に記憶され記憶ネットワーク１０２ａ内の記憶エージェント１０４によって管理されているデータの構成を容易にすることができる。
【００１３】
デバイス１０６は、１つかそれ以上の記憶部１１０を含むあらゆる電子デバイスである。デバイス１０６は関連する記憶部１１０へデータを記憶し、記憶部１１０からデータを取得するように構成される。例として、デバイス１０６はクラウド記憶サーバ、携帯電話、タブレット端末、デスクトップパソコン、ノートパソコン、カメラ、情報携帯端末（ＰＤＡ）、スマートフォン、音楽プレイヤー、ビデオプレイヤー、外部ハードディスクドライブなどのいずれか１つである。
【００１４】
ある実施形態では、デバイス１０６はコントローラ１２０を含み、それはプロセッサ１５０、メモリ１５２、記憶部１１０をそれぞれ含む。加えて、コントローラ１２０はそれぞれ、記憶部１１０でのデータの記憶と、デバイス１０６や記憶部１１０と記憶ネットワーク１０２との相互作用とを管理するように構成される記憶エージェント１０４を１つかそれ以上含む。例として、図示された実施形態では、デバイス１０６ａは記憶エージェント１０４ａ、プロセッサ１５０ａ、メモリ１５２ａ、記憶部１１０ａを含むコントローラ１２０ａを含み、デバイス１０６ｂは記憶エージェント１０４ｂ、プロセッサ１５０ｂ、メモリ１５２ｂ、記憶部１１０ｂを含むコントローラ１２０ｂを含み、デバイス１０６ｃは記憶エージェント１０４ｃ、プロセッサ１５０ｃ、メモリ１５２ｃ、記憶部１１０ｃを含むコントローラ１２０ｃを含む。
【００１５】
プロセッサ１５０は、例えば、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ（ＤＳＰ）、エーシック（ＡＳＩＣ）、ＦＰＧＡ、その他のデジタルまたはアナログ回路であってプログラム指令やプロセスデータを解釈し、実行するものが含まれる。ある実施形態では、プロセッサ１５０は関連するメモリ１５２及び／又は１つかそれ以上の記憶部１１０に記憶されたプログラム指令やプロセスデータを解釈し、実行する。
【００１６】
メモリ１５２は、プログラム指令やデータを長期間保持するように構成されたあらゆるコンピュータ読み取り可能に適した媒体を含む。例として、かつ、限定ということではなく、そのようなコンピュータ読み取り可能な媒体は有形で、及び／又は一時的でないコンピュータ読み取り可能な記憶媒体を含み、例えばＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、その他光学ディスク媒体、磁気ディスク媒体、その他磁気記憶装置、フラッシュメモリ装置（例えばソリッドステートメモリ装置）、特定の分子配列（例えば、ＤＮＡ、ＲＮＡ）、その他のあらゆる、求められたプログラムコードを実行可能な命令形式で、またはデータ構造を伝達し記憶するために使用され、プロセッサ１５０によってアクセスされる記憶媒体を含む。上記の組み合わせもコンピュータ読み取り可能媒体の範囲に含まれる。コンピュータ実行可能命令は、例えば、一般の目的のコンピュータや特定の目的のコンピュータ、特定の目的のプロセス装置（例えばプロセッサ１５０）にある機能や機能の集まりを実行させる命令やデータを含む。ある実施形態では、記憶エージェント１０４はそれぞれのデバイス１０６のメモリ１５２内部のコンピュータ実行可能な命令として記憶される。記憶部１１０は記憶データに構成されたあらゆる適したコンピュータ読み取り可能な媒体とすることができる。記憶部１１０は、実質的に異なる記憶部１１０に存在するデータを記憶することができ、特定の記憶部１１０にのみ存在するデータも記憶することができる。それぞれのデバイス１０６は１つの記憶部１１０を含むように描かれているが、デバイス１０６はあらゆる適したタイプのコンピュータ読み取り媒体の記憶部１１０をいくつでも含むことができる。例えば、デバイス１０６はバードディスクドライブである第１の記憶部とフラッシュディスクドライブである第２の記憶部とを含むことができる。更に、１つの記憶部１１０は１つ以上の種類のコンピュータ読み取り媒体を含むことができる。例えば、記憶部１１０はハードディスクドライブとフラッシュドライブとを含むことができる。加えて、記憶部１１０はデバイス１０６から取り除くことができるため、記憶部１１０は１つ以上のデバイス１０６に複数回含まれることができる。例えば、記憶媒体１１０はＵＳＢまたはＳＤカードであり、異なるデバイス１０６に複数回接続することができる。
【００１７】
上述したように、記憶エージェント１０４は、記憶ネットワーク１０２ａに関して記憶部１１０でのデータの記憶を管理するように構成される。ある実施形態では上で示したように、１つかそれ以上の記憶エージェント１０４があらゆる適したデバイス１０６に含まれる。加えて、ある実施形態では、デバイス１０６は記憶エージェント１０４を含まない。これらの又は他の実施形態では、１つかそれ以上の他のデバイス１０６に含まれる１つかそれ以上の記憶エージェント１０４は、記憶エージェントを含まないデバイス１０６の記憶部１１０でデータを管理するように構成される。例えば、ある実施形態では、特定の記憶部１１０は第三者によって管理されるクラウドサーバである特定のデバイス１０６に含まれる。これらの例では、他のデバイス１０６の１つかそれ以上の記憶エージェント１０４は、特定のデバイス１０６の一部である特定の記憶部１１０でのデータの記憶を管理するように構成される。
【００１８】
加えて、特定の記憶部１１０はＵＳＢメモリースティックのような携帯可能な記憶要素のため異なるデバイス１０６に複数回接続することができ、異なる記憶エージェント１０４は特定の記憶部１１０を複数回管理することとなる。例えば、ある例では特定の記憶部１１０がデバイス１０６ａと一時接続されることで、記憶エージェント１０４ａはその特定の記憶部１１０を管理する。更に、異なるときに特定の記憶部１１０がデバイス１０６ｂと接続されることで、記憶エージェント１０４ｂはその特定の記憶部１１０を管理する。
【００１９】
デバイス１０６はそれぞれ、デバイス１０６間の接続を提供して記憶部１１０と記憶エージェント１０４との間のデータ通信を可能とする通信モジュール１１６を含む。例えば、デバイス１０６ａは通信モジュール１１６ａを含み、デバイス１０６ｂは通信モジュール１１６ｂを含み、デバイス１０６ｃは通信モジュール１１６ｃを含む。
【００２０】
通信モジュール１１６はデバイス１０６間のあらゆる形式の通信性能を提供する。例として、かつ、限定ということではなく、通信モジュール１１６は有線での、及び／又は、無線での、インターネット接続、ＬＡＮ接続、ＷＡＮ接続、ブルートゥース接続、３Ｇ接続、４Ｇ接続、ＬＴＥ接続、Ｗｉ−Ｆｉ接続、Ｍ２Ｍ接続、Ｄ２Ｄ接続、その他のあらゆる適した通信性能、またはそれらの組み合わせを提供するように構成される。
【００２１】
図示された実施形態では、通信モジュール１１６はデバイス１０６を通信ネットワーク１１２（以下において「ネットワーク１１２」と呼ばれる）を通して接続するように描かれている。ある実施形態では、ネットワーク１１２はインターネット、イントラネット、ローカルＷｉ−Ｆｉネットワーク、無線ＬＡＮ、モバイルネットワーク（例えば３Ｇ、４Ｇ、及び／又はＬＴＥネットワーク）、ＬＡＮ、ＷＡＮ、その他のあらゆる適した通信ネットワークを単独で、または適した組み合わせで、含むことができる。図１には明示的に描かれていないが、これらのまたは他の実施形態では、通信モジュール１１６はデバイス１０６間を直接接続することができる。
【００２２】
デバイス１０６間で記憶部１１０に記憶されたデータを通信することによって、デバイス１０６が自身が備える記憶部１１０に記憶されていないデータにアクセスし、使用することが可能となる。記憶エージェント１０４はそのような調整やデバイス１０６間のデータ通信を容易とするように構成される。そのようにして、記憶ネットワーク１０２ａ、デバイス１０６、記憶エージェント１０４、記憶部１１０は、データの記憶を可能とすると共に特定のデバイス１０６に含まれる記憶部１１０にデータが記憶されていないときでさえ、デバイス１０６が記憶データにアクセスすることを可能とする。加えて、デバイス１０６間のデータ通信と記憶エージェントによる関連した調整はデータの冗長化を容易にし、それによって記憶部は記憶ネットワーク１０２ａ内のデータ紛失をほとんど伴わずに記憶ネットワーク１０２ａに追加され、または取り除かれる。
【００２３】
ある実施形態では、デバイス１０６はオブジェクトベースのファイルシステムに含まれるクライアントまたはサーバと同じように振る舞うことができる。例えば、あるデバイス１０６は様々なデータオブジェクトに関連したメタデータのみを記憶するように構成され、その一方で他のデバイス１０６は様々なデータオブジェクトに関連したメタデータと実データファイルとを記憶するように構成される。
【００２４】
ある実施形態では、記憶ネットワーク１０２ａ内のデータの記憶に関した情報を管理し提供するために、記憶ネットワーク１０２ａのためのデータカタログが生成され、管理される。例えば、ある実施形態では、カタログは記憶部１１０が局所的に記憶しているデータオブジェクト、個々のデータファイル、及び／又は、メタデータのような情報を含む。ある実施形態では、カタログは記憶ネットワーク１０２ａ内に記憶されているデータオブジェクトの全てのメタデータの集合を含む。つまり、カタログはどの記憶部１１０があるデータを記憶しているかを決定するために使用される。そのようにして、デバイス１０６は、もしデータが自身の備える記憶部１１０に局所的に記憶されていない場合に、どこにアクセスデータがあるかを知ることができる。ある実施形態では、カタログは記憶部１１０それぞれに記憶され、記憶エージェント１０４によって管理される同期に基づいて同期化される。
【００２５】
ある実施形態では、記憶エージェント１０４は、個別にまたは集合的に記憶ネットワークマネージャ１１４と呼ばれる１つかそれ以上の記憶ネットワークコントローラと通信するように構成される。記憶ネットワークマネージャ１１４は、分配された記憶システムにおける中央サービスと同様に振る舞う。記憶ネットワークマネージャ１１４は、記憶管理サービスを提供する第三者に操作されるサーバと関連付けられ、または、データを記憶ネットワーク１０２ａに記憶されている使用者によって所有され、及び／又は、管理されたデバイス１０６上にローカルに格納される。
【００２６】
記憶ネットワークマネージャ１１４は記憶システム１００ａにおいて記憶エージェント１０４の働きを調整するような多数の機能を実行する。例えば、記憶ネットワークマネージャ１１４の機能は、記憶ネットワーク１０２ａの記憶部１１０間のデータファイルを配置すること、記憶エージェント１０４による記憶部１１０間のデータ同期を調整すること、記憶部１１０においてデータ記憶を割り当てること、記憶部１１０へのデータの分配を調整することを含み、かつ、それらに制限されるわけではない。記憶部１１０間でのデータの割り当てと分配については、以下において詳述される。
【００２７】
ある実施形態では、記憶ネットワークマネージャ１１４は記憶ネットワーク１０２ａの使用者に限定されるデバイス１０６に含まれ、他の実施形態では、記憶ネットワークマネージャ１１４は第三者によって管理されるデバイス１０６に含まれる。ある実施形態では、記憶ネットワークマネージャ１１４はそれ自身が記憶エージェントであるかのように処理を実行する。例えば、記憶ネットワークマネージャ１１４はカタログや記憶ネットワーク１０２ａに関する他のメタデータを管理し、これらのデータを他の記憶エージェント１０４と同期化することで、記憶ネットワークマネージャ１１４はそれらのデータについては記憶エージェントのように振る舞うこととなる。
【００２８】
ある実施形態では、記憶ネットワークマネージャ１１４はネットワーク１１２を通して記憶エージェント１０４と通信する（図１に示す）。記憶ネットワークマネージャ１１４は、また、１つかそれ以上の記憶エージェント１０４と直接通信するように構成することもできる（図１には明示されていない）。
【００２９】
記憶ネットワーク１０２ａ内に含まれるデータに関するメタデータ（例えば、上述のカタログ）は、データのステータスに関する情報を含むことができ、それはデータファイルの配置、データ同期の調整、記憶部１１０間のデータ割り当て、割り当てられたデータの分配方針の決定を手助けする。ステータスは、どのデータファイルがどの記憶部１１０に割り当てられているか、異なるデータファイルに関する分配方針、いつ記憶部１１０間のデータ移送が始まるか、記憶部１１０間のデータ移送が進行中であること、記憶部１１０間のデータ移送が完全にデータが移送される前に中断したこと、特定のデータが記憶部１１０にまだ記憶されているかどうか、などの情報を含む。
【００３０】
ある実施形態では、記憶ネットワークマネージャ１１４は、記憶部１１０へのデータの割り当てや分配などのデータの記憶に関する命令を記憶エージェント１０４へ通信する。記憶エージェント１０４は記憶ネットワークマネージャ１１４から通信された命令へ応答し、割り当てや分配に従ってデータが記憶部１１０に記憶される。加えて、ある実施形態では、記憶ネットワークマネージャ１１４へ通信され使用されるメタデータによって、記憶ネットワークマネージャは記憶ネットワーク１０２ａに記憶されているデータファイルに関する情報（例えば、大きさ、種類、固有識別子、配置、など）を知ることができるが、記憶ネットワーク１０２ａに記憶されているデータファイルの実際の中身については知ることができない。記憶エージェント１０４は、記憶エージェント１０４それぞれに記憶されたメタデータに従って、記憶ネットワーク１０２ａ内にあるデータファイルを検索する。ある実施形態では、そのようなメタデータは上述の通りカタログとして記憶される。例えば、記憶エージェント１０４ａは、記憶部１１０ａに記憶され記憶エージェント１０４ａに管理されたカタログを用いて、記憶部１１０ｂに記憶されたデータファイルを検索する。記憶ネットワーク１０２ａに記憶されたデータファイルを記憶エージェント１０４が検索するための情報のいくつか又は全ては、複数の記憶エージェント１０４によって、及び／又は、特定の記憶エージェント１０４と記憶ネットワークマネージャ１１４とによって、実行されるメタデータの同期によって通信される。付加的に又は選択的に、記憶エージェント１０４は、記憶ネットワーク１０２ａに記憶されたデータファイルを検索するために、記憶ネットワークマネージャ１１４と通信する。
【００３１】
加えて、記憶ネットワークマネージャ１１４は、１つかそれ以上の記憶エージェント１０４と信頼性の低い、現行のものでない、または、断続的な他の記憶エージェント１０４との接続によって通信することができる。そのようにして、記憶ネットワークマネージャ１１４は、記憶エージェント１０４間のデータ通信を維持するために、ある記憶エージェント１０４からの情報を別の記憶エージェント１０４へ中継するように構成される。例えば、記憶エージェント１０４ｃは記憶エージェント１０４ｂ及び／又は記憶エージェント１０４ａと信頼性の低い断続的な接続を用いて、通信することができる。記憶ネットワークマネージャ１１４はそれによって記憶エージェント１０４ｃと通信ネットワーク１１２とを通して通信し、記憶エージェント１０４ｃからの情報を記憶エージェント１０４ｂ及び／又は記憶エージェント１０４ａへ中継する。
【００３２】
記憶ネットワークマネージャ１１４は記憶ネットワーク１０２ａ内でのデバイス１０６や記憶部１１０の配置を決定するように構成される。デバイス１０６や記憶部１１０の配置とは、どのデバイス１０６が記憶ネットワーク１０２ａの他のデバイス１０６と、及び／又は、記憶ネットワークマネージャ１１４と、通信しているかを示し、それゆえ、どのデバイス１０６と関連する記憶部１１０が「存在」し、記憶ネットワーク１０２ａと接続しているかを示している。デバイス１０６と関連する記憶部１１０の配置は、記憶ネットワークについて記憶部１１０の利用可能性を示し、それは以下に詳述するようにデータの割り当てと分配の決定に用いられる。
【００３３】
上述の通り、記憶ネットワークマネージャ１１４は、記憶部１１０への記憶のためのデーファイルの割り当てを決定するように構成される。ある実施形態では、記憶ネットワークマネージャ１１４は、データファイルに要求される冗長性や利用可能性に従って記憶部１１０への記憶のためのデーファイルの割り当てを決定するように構成される。ある実施形態では、記憶ネットワークマネージャ１１４は特定の記憶部１１０の多数の特性に基づいて、特定の記憶部１１０への割り当てを決定する。特性は特定の記憶部１１０に直接関係し（記憶部特性と呼ばれる）、及び／又は、特定の記憶部１１０が関連するデバイス１０６に関係する（デバイス特性と呼ばれる）。
【００３４】
例えば、記憶ネットワークマネージャ１１４は割り当てを、特定の記憶部１１０の記憶容量、特定の記憶部１１０の利用可能な記憶領域、特定の記憶部１１０の記憶要素の種類（以下において「記憶部の種類」と呼ばれる）、特定の記憶部１１０の紛失の可能性、記憶ネットワーク１０２ａに関する特定の記憶部１１０の利用可能性、特定の記憶部１１０が関連しているデバイス１０６、記憶部の正常性、及び／又は、特定の記憶部１１０の利用状況に基づいて決定する。
【００３５】
記憶部の種類は１つかそれ以上の他の記憶部の特性に影響を与える。例えば、ＵＳＢメモリースティックのような携帯可能で取り外し可能な記憶部１１０は、比較的紛失しやすいため、比較的データ紛失の可能性が高い。加えて、携帯可能で取り外し可能な記憶部の使用は、デスクトップコンピュータのハードディスクドライブのような恒常的に固定された記憶部の使用とは異なる。更に、携帯可能で取り外し可能な記憶部は記憶ネットワーク１０２ａに関して利用可能性が低くなる、なぜなら時々どのデバイス１０６とも関連がなくなることで、記憶ネットワーク１０２ａのデバイス１０６にとって、そこに記憶されたデータを利用することができなくなるためである。
【００３６】
加えて、以下で詳述するように、特定の記憶部１１０が含まれている特定のデバイス１０６は、以下で詳述する特定の記憶部１１０に関連した１つかそれ以上の他の特性に影響を与える。つまり、以下で説明するように、デバイスの特性はデータの割り当てと分配に影響を与える。ある実施形態では、記憶ネットワークマネージャ１１４は、記憶部１１０に関連した特性がデータファイルの要求された冗長性や利用可能性に関連するように割り当てを実行する。
【００３７】
デバイスタイプは、データ割り当てに影響を与える記憶部１１０に関連する他の特性に影響を与えるデバイスの特性である。デバイスタイプは、同じ包括的なカテゴリー内に含まれる特定の種類やモデルを指すだけでなく、デバイスの包括的なカテゴリーをも指す。例として、図示された実施形態では、デバイス１０６ａを第１のデバイスタイプ（例えばスマートフォン）とし、デバイス１０６ｂを第２のデバイスタイプ（例えば外部ハードドライブ）とし、デバイス１０６ｃを第３のデバイスタイプ（例えばタブレット端末）とすることができる。デバイスタイプは、より包括的なデバイスタイプの異なるモデルを指すこともできる。例えば、それらはいずれもスマートフォンとして包括的に特徴付けられるが、あるデバイスタイプをｉＰｈｏｎｅ（登録商標）とし、他のデバイスタイプをＡｎｄｒｏｉｄ（登録商標）端末とすることができる。ある実施形態では、デバイスタイプは１つをｉＰｈｏｎｅ（登録商標）４として、他方をｉＰｈｏｎｅ（登録商標）５とするというように、より特定されたものとすることができる。
【００３８】
上述の通り、デバイス１０６のタイプは、デバイス１０６の１つかそれ以上のデバイス特性に関連しており、また、記憶部の特性と密接に関連し、及び／又は重なっている。例えば、デバイス特性は、限定されるというわけでなく、それぞれの記憶部１１０の記憶容量、それぞれの記憶部１１０の利用可能な記憶領域、それぞれの記憶部１１０の除去可能性、信頼性、それぞれの記憶部１１０に記憶されたデータの紛失の可能性、デバイス１０６の利用状況（及びその結果としてそれぞれの記憶部１１０の利用状況）、デバイス１０６の物理的配置、デバイス１０６のお互いの配置、デバイス１０６のオン／オフ状態（現状として及び／又は履歴として）、デバイス１０６の状態を含む。加えて、デバイス特性はデバイス１０６の接続性を含み、それらの接続のバンド幅や、ネットワーク１１２だけでなく他のデバイス１０６との接続に用いられるネットワークの種類（例えば、Ｗｉ−Ｆｉ、セルラー、ＬＡＮ）、接続の種類（例えば、無線、有線）、他のデバイス１０６の接続性、データ移送に関してデバイス１０６の潜在性（現状として及び／又は履歴として）、デバイス１０６によるデータ移送の速度（現状として及び／又は履歴として）、接続の金銭面でのコストなどを含む。
【００３９】
上述の通り、多くのデバイス特性及び／又は記憶部特性はデバイス１０６のタイプに関係する。例えば、あるデバイス１０６は、他のデバイス１０６よりもデバイスタイプによってより早くデータの読み取り、データの書き込み、及び／又はデータのアクセスが可能となる。デバイス特性はより包括的なデバイスタイプ（例えばスマートフォンかタブレット端末か）に関係し、また、より特定されたデバイスタイプ（例えばｉＰｈｏｎｅ（登録商標）４かｉＰｈｏｎｅ（登録商標）５か）に関係する。
【００４０】
例として、ある実施形態では、デバイス１０６ａはスマートフォンであり、デバイス１０６ｃは外部ハードドライブである。結果として、記憶部１１０ａの記憶容量は、記憶部１１０ｃの記憶容量より少ない。更に、この例では、デバイス１０６ａの記憶部１１０ａはフラッシュメモリを含み、デバイス１０６ｃの記憶部１１０ｃはハードディスクドライブを含み、それはソリッドステートメモリと比較して異なる水準の信頼性を備える。加えて、デバイス１０６ａの紛失の可能性は、スマートフォンである１０６ａの紛失、放置、落下、盗難、水難などによって、外部ハードドライブである１０６ｃの紛失の可能性よりも大きい。
【００４１】
また、スマートフォンとしてのデバイス１０６ａは使用者によって写真や音楽、ビデオなどのメディアタイプのファイルにアクセスされる一方で、外部ハードドライブとしてのデバイス１０６ｃは使用者によって主にデータのバックアップとして使用され、データに頻繁にアクセスされることはない。つまり、デバイス１０６ａと１０６ｃ、そしてそれぞれの記憶部１１０ａと１１０ｃとの使用は、デバイス１０６ａと１０６ｃとのデバイスタイプに基づいている。加えて、スマートフォンとしてのデバイス１０６ａは、デバイス１０６ａの使用者によってデバイス１０６ａ（そしてそれに関連する記憶エージェント１０４や記憶部１１０ａなどの部品）が一貫性を持たず、低速度で、及び／又は高価な接続をもって記憶ネットワーク１０２ａの他のデバイス１０６（そしてそれらの関連する部品）と接続するように実行される。
【００４２】
他の例では、デバイスタイプはまた、デバイス１０６の配置にも影響を与える。例えば、デスクトップコンピュータはスマートフォンやタブレット端末に比べて、同じ場所に置かれていることが多い。加えて、使用者の家のデスクトップコンピュータは、他のデバイス１０６の多くは同時に又は別のときに使用者の家にあるため、記憶ネットワーク１０２ａの他のデバイス１０６（例えば、スマートフォンやタブレット端末など）とかなりしっかりした土台の上で接続されることがある。つまり、デバイスタイプは、他のデバイス１０６と関わる特定のデバイス１０６の配置に関係する。
【００４３】
記憶ネットワークマネージャ１１４は記憶部１１０の記憶部特性を決定するように構成され、記憶部特性に基づいて記憶部１１０にデータを割り当てる。ある実施形態では、記憶ネットワークマネージャ１１４は記憶部特性を記憶部１１０に関連するデバイス１０６に基づいて決定するように構成される。例えば、記憶ネットワークマネージャ１１４は、デバイス１０６のデバイスタイプを決定し、デバイスタイプに基づいて１つかそれ以上の記憶部特性とデバイス特性を決定するように構成される。決定された特性に基づいて、記憶ネットワークマネージャ１１４は関連する記憶部１１０へデータを割り当てる。
【００４４】
例えば、デバイス１０６ａはスマートフォンであり、それは記憶ネットワークマネージャ１１４によって決定される。記憶ネットワークマネージャ１１４はまた、デバイス１０６ａがスマートフォンであることに基づいて記憶部とデバイスとの特性を決定する。例えば、記憶ネットワークマネージャ１１４は記憶部とデバイスとの特性を決定し、それはデバイス１０６ａと記憶部１１０ａの紛失の可能性、デバイス１０６ａの信頼性、記憶部１１０ａの記憶容量、記憶部１１０ａの利用可能な記憶領域、デバイス１０６ａのデバイス１０６ｂ、１０６ｃとの接続、デバイス１０６ａの利用状況を含むが、それらに限定されるわけではない。データが１つかそれ以上のデバイス１０６ａのデバイス特性と記憶部１１０ａの記憶部特性に関係するように、記憶ネットワークマネージャ１１４はそれに応じてデータを記憶部１１０ａに割り当てる。
【００４５】
例えば、上述のように、スマートフォンとしてのデバイス１０６ａの紛失の可能性は、他のデバイスタイプと比べて比較的高くなる。記憶ネットワークマネージャ１１４は、適宜データを記憶部１１０ａに割り当てると共に、他のデバイス１０６に関連する他の記憶部１１０へも格納することで、もしデバイス１０６ａが紛失しても、記憶部１１０ａに記憶されたデータは紛失しない。加えて、記憶部１１０ａ（つまりデバイス１０６ａの）の記憶容量がいくらか制限されることで、記憶ネットワークマネージャ１１４は記憶ネットワーク１０２ａに記憶されているデータの一部を選択し、デバイス１０６ａの記憶部１１０ａに記憶し、その一方で他の記憶部１１０の記憶容量は記憶ネットワーク１０２ａに記憶されているデータ全てを記憶可能となる。また、使用者はスマートフォンを用いて音楽を聴くだけでなく写真やビデオを見るので、これらの実施形態においては、デバイス１０６ａと記憶部１１０ａの使用のために、記憶ネットワークマネージャ１１４はこの種類のデータを記憶部１１０ａに割り当てる。
【００４６】
加えて、その性質のために、スマートフォンとしてのデバイス１０６ａ（そして結果として記憶エージェント１０４ａ）は、時々緩慢で及び／又は高価な（携帯ネットワークとそれに付随するデータプランを通して）接続を他のデバイス１０６や関連する記憶ネットワーク１０２ａの記憶部１１０と行う。そのようにして、記憶部１１０ａと記憶ネットワーク１０２ａに関する関連データとの利用可能性は、いくらか制限される。つまり、記憶ネットワークマネージャ１１４は、デバイス１０６ａにより多く使用される記憶部１１０ａにデータを割り当てることで、デバイス１０６ａはデータにアクセスするために他のデバイス１０６やそれに関連する記憶部１１０との接続に頼る必要がなくなる。更に、記憶ネットワークマネージャ１１４は、記憶部１１０ａの利用可能性が減少したために、他のデバイス１０６が記憶部１１０ａからのデータをアクセスするのに頼る記憶部１１０に、データを割り当てない。他の例のある実施形態では、デバイス１０６ｃと記憶部１１０ｃとは緩慢な記憶システムと関連付けられる。緩慢な記憶システムは、記憶データの記憶及び／又はアクセスに関して（例えば、分単位や時間単位の）著しい呼出時間を備えているがかなり信頼性も高い、どのような種類の記憶機構とも関連付けられる。多くの場合、緩慢なシステムは、記憶部がオフラインであり（例えば、電源が切れているか、コンピューティングデバイスに分かれて記憶されているか）、そこにデータが記憶されるかそこからデータが呼び出される前にオンラインにされる必要があるクラウド記憶サービスの一部となる。記憶ネットワークマネージャ１１４は、緩慢な記憶システムと関連付けられた記憶部１１０ｃへはアクセスされないデータを割り当て、それによって呼出時間はデータが頻繁にアクセスされる場合よりも問題にならなくなり、そのような呼出時間を持たない記憶部１１０の記憶領域の解放につながる。加えて、記憶ネットワークマネージャ１１４は、記憶ネットワーク１０２ａに記憶されているデータの（全てではないとしても）大部分を記憶部１１０ｃに割り当て、記憶部１１０ｃは、その緩慢な記憶システムの信頼性によりデータのバックアップとして使用される。
【００４７】
他の例では、特定のデバイス１０６が、ネットワーク１１２及び／又は他のデバイス１０６との接続のバンド幅のおかげで、データを比較的速いレートでダウンロード及び／又はアップロードすることができる。つまり、使用する可能性の高いデータは高いバンド幅の接続を備える特定のデバイス１０６と関連付けられた記憶部１１０に割り当てられ、そのデータはより容易に他のデバイス１０６によって特定のデバイス１０６とそれに関連する記憶部１１０から移送され、及び／又はアクセスされる。
【００４８】
他の例では、特定のデバイス１０６と関連する記憶部１１０が、特定のデバイス１０６から取り除かれて構成される。例えば、特定のデバイス１０６の関連する記憶部１１０は、他のデバイス１０６に移動可能な取り出しできるＳＤカードとできる。その取り出し可能な性質のため、取り出し可能なＳＤカードは紛失の可能性が高く、及び／又は記憶ネットワーク１０２ａに関しての利用可能性は低い。それゆえ、記憶ネットワークマネージャ１１４はデータを取り出し可能なＳＤカードである記憶部１１０に割り当てる。例えば、記憶ネットワークマネージャ１１４は、他の記憶部１１０に記憶され、及び／又は紛失しても致命的ではないデータを、取り出し可能なＳＤカードである記憶部１１０にのみ割り当てる。
【００４９】
デバイス１０６の配置もまた、データの割り当てに役割を果たす。例えば、常に中央部に配置される傾向のあるデバイスタイプ（例えば、使用者の家のデスクトップパソコン）の特定のデバイスは、他のデバイスとも一貫して接続されるように、電源が入っていて手が届きやすい可能性が高い。そのようにして、特定のデバイス１０６の記憶部１１０への重要なデータの割り当ては、紛失の可能性が低いためだけでなく、アクセスの可能性が高いために優先され、それはある例において、特定のデバイス１０６の配置に関連する。
【００５０】
記憶部１１０及び／又はデバイス１０６の健康状態も、ある例においてデータの割り当てに役割を果たす。記憶部１１０及び／又はデバイス１０６は使用されるにつれて消耗し、その健康状態は時間の経過と共に低下する。ある実施形態では、記憶ネットワークマネージャ１１４は記憶部１１０及び／又はデバイス１０６の正常性を（例えば、記憶部１１０やデバイス１０６に関連した使用状況や、性能、及び／又は診断情報を基にして）監視するように構成され、それによってデータを割り当てる。例えば、記憶ネットワークマネージャ１１４は、正常性が低下した記憶部１１０や要求される冗長性に対して正常性が低下したデバイスを頼ることなく、それゆえに、要求される冗長性に対して正常性が低下したデバイス１０６の寄与を減少させる。
【００５１】
ある実施形態では、記憶ネットワークマネージャ１１４はデバイス１０６及び／又は記憶部１１０の実際の使用を監視し、それに基づいて割り当てを調整するように構成され、その結果、記憶ネットワークマネージャ１１４によってなされた当初の推定とは異なる割り当てとなる。ある実施形態では、記憶ネットワークマネージャ１１４はあるデバイスタイプの使用のパターンを見つけ、そのパターンに基づいて類似のデバイスタイプへのデータの割り当て方を変える。例えば、特定の記憶部１１０が携帯可能であると（例えばＳＤカードやノートパソコンの一種など）、特定の記憶部１１０は当初は散発的な利用可能性及び／又は高い紛失の可能性が見積もられる。しかしながら、特定の記憶部１１０（及び／又は関連するデバイス１０６）の実際の使用では、特定の記憶部１１０は定常的な利用可能性及び／又は頻繁には移動されないことがある。つまり、特定の記憶部１１０へのデータの割り当ては、記憶部１１０の実際の使用に基づいて修正される。
【００５２】
ある実施形態では、記憶エージェント１０４は１つかそれ以上のデバイスと記憶部の特性とを記憶ネットワークマネージャ１１４に報告し、それによって記憶ネットワークマネージャ１１４は報告された特性に基づいてデータを記憶部１１０へ割り当てる。例えば、記憶エージェント１０４ａは、記憶ネットワークマネージャ１１４が記憶部１１０ａにどのようにデータを割り当てるかを評価できるように、記憶部１１０ａの利用可能な記憶領域を報告する。加えて、ある実施形態では、記憶エージェント１０４ａは記憶ネットワークマネージャ１１４にデバイス１０６ａ及び／又は記憶部１１０ａの特殊な使用に関する情報を報告することで、記憶ネットワークマネージャ１１４は特殊な使用に沿ってデータを割り当てる。これらの又は他の実施形態では、記憶ネットワークマネージャ１１４は、デバイス１０６ａによって頻繁にアクセス又は呼び出される記憶部１１０ａよりも、記憶ネットワーク１０２ａの記憶部１１０に記憶されているデータを追跡する。記憶ネットワークマネージャ１１４は、それにしたがって、それらのデータやそれらデータに類するものを記憶部１１０ａに割り当て、それによってデータは、他のデバイス１０６に関連する他の記憶部１１０からアクセスされる代わりに、より高速でより強固なアクセスのために記憶部１１０ａに局所的に記憶される。それゆえ、割り当ては、デバイス１０６ａによってアクセスされるデータがデバイス１０６ａから隔たりのある記憶部の代わりに記憶部１１０ａに局所的に記憶される可能性を増やす。
【００５３】
ある実施形態では、デバイスタイプ及び／又はデバイスの特性に基づいて、記憶ネットワークマネージャ１１４は記憶部１１０の冗長値を決定し、それは紛失の可能性に基づくこととなる。例えば、スマートフォンと外部ハードディスクとの紛失の可能性の比較に基づいて、スマートフォンに関連する記憶部１１０は外部ハードディスクに関連する記憶部１１０よりも低い冗長値を備える。これらや他の実施形態では、記憶ネットワークマネージャ１１４は、記憶部の特性、デバイスタイプ、及び／又はデバイスの特性に基づいて、記憶部１１０の利用可能性の値を決定するように構成される。冗長値及び／又は利用可能性の値は、要求される冗長性及び／又は利用計画において記憶部１１０が果たす役割に従って、記憶部１１０の重みづけ及び／又は順位づけに用いられる。
【００５４】
特定のデバイス１０６や記憶部１１０の信頼性及び／又は利用可能性は時間と共に変化し、その変化はそれぞれの特性の変化によって示される。記憶ネットワークマネージャ１１４はこれらの変化を監視するように構成され、特定のデバイス１０６と記憶部１１０の特性を随時調整する。ある実施形態では、記憶ネットワークマネージャ１１４は、特性の変化に従ってデータの割り当てを調整するように構成される。
【００５５】
記憶ネットワークマネージャ１１４は、１つかそれ以上のデータ自身の特性に基づいて記憶部１１０にデータを割り当てる。データ特性はデータの大きさ、データの種類、データに要求される冗長性、データの使用頻度、データに関する使用者の好み、データに含まれる情報、データが記憶ネットワーク１０２ａ及び／又は記憶エージェント１０４に追加された時刻、データの発信情報などを含むが、それに限定されない。
【００５６】
例えば、データの種類とは、データファイルが写真ファイルか、ビデオファイルか、オーディオファイルか、文書ファイルかどうかに関連する。ある実施形態では、記憶ネットワークマネージャ１１４は特定の種類のデータをデータ種類に基づいて異なる記憶部１１０に割り当てるように構成される。例えば、記憶ネットワークマネージャ１１４はオーディオファイルをオーディオファイルのリポジトリとして振る舞う特定の記憶部１１０に割り当てるように構成される。
【００５７】
加えて、記憶ネットワークマネージャ１１４は、使用頻度の高いデータが記憶ネットワーク１０２ａ内の多くの、そしてある例においては全ての、記憶部１１０に割り当てられるように管理し、それによって使用頻度の高いデータは、関連するデバイス１０６によって容易にアクセスされる。同様に、ある実施形態では、データは自身に関して（例えば、データの予測される使用頻度に基づいて）要求される利用可能性を備え、記憶ネットワークマネージャ１１４は、要求される利用可能性を達成する上での記憶エージェント１０４の役割に基づいて、データを記憶エージェント１０４に割り当てる。例えば、記憶ネットワークマネージャ１１４は要求される利用可能性が高いデータが、その利用可能性を達成できるように、全てではなくてもたくさんの記憶部１１０に記憶されるように管理する。他の例では、記憶ネットワークマネージャ１１４は、要求される高い利用可能性を備えるデータが、比較的定常的な接続をネットワーク１１２及び／又は記憶ネットワーク１０２ａの他のデバイス１０６と保っているあるデバイス１０６に関連する記憶部１１０に記憶されるように管理する。それゆえ、デバイス１０６が利用可能なデータの可能性は増加する。
【００５８】
上述の通り、ある実施形態では、記憶ネットワークマネージャ１１４は使用者の好みに基づいて記憶部１１０にデータを割り当てる。例えば使用者は、特定のデータが記憶部１１０ａに記憶されていることを望んでいることを示すために、特定のデータを記憶部１１０ａに「ピン止め」する。特定のデータの「ピン止め」に基づいて、記憶ネットワークマネージャ１１４は適宜、特定のデータを記憶部１１０ａに割り当てる。使用者の好みの他の例は、ある種類のデータ（例えばビデオ、写真、音楽など）や最近作ったデータ、及び／又はあるデバイス１０６から生まれたデータが特定の記憶部１１０に記憶されるように、使用者が明示することを含む。
【００５９】
ある実施形態では、データ特性がデバイス特性及び／又は記憶部特性に関連するように、記憶ネットワークマネージャ１１４はデータ特性に基づいてデータを記憶部１１０に割り当てる。例えば、記憶ネットワークマネージャ１１４はデータの大きさと記憶部１１０ａの利用可能な記憶領域を確認し、あるサイズのデータを記憶部１１０ａに格納するかどうかを決定する。別の例では、デバイス１０６ａのデバイス特性は、使用者のデバイス１０６ａでの音楽ファイルを良く使用することを示し、それによって記憶ネットワークマネージャ１１４は音楽に関連する種類のデータを記憶部１１０ａに割り当てる。これらの、又は別の実施形態では、記憶ネットワークマネージャ１１４はデータの要求される冗長性と紛失の可能性及び／又はデバイス１０６の信頼性とを確認し、どの記憶部１１０、及び／またはどれだけの記憶部１１０に、データを割り当てるかを決定する。同様に、ある実施形態では、記憶ネットワークマネージャ１１４はデータの要求される利用可能性とデバイス１０６の接続性とを確認し、どの記憶部１１０、及び／またはどれだけの記憶部１１０に、データを割り当てるかを決定する。
【００６０】
他の例として、使用者は以前に作成されたデータ（より古いデータ）よりも、最近に作成されたデータ（より新しいデータ）に頻繁にアクセスする。つまり、記憶ネットワークマネージャ１１４はより新しいデータを、使用者がデータにより頻繁にアクセスする種類のデバイス１０６に関連した記憶部１１０へ割り当てる。これらの、又は他の実施形態では、記憶ネットワークマネージャ１１４はより新しいデータを、ネットワーク１１２との高いレベルの接続性を備えたデバイス１０６及び／又は他のデバイス１０６に関連した記憶部１１０へ割り当て、それによってより新しいデータはたとえデバイス１０６に記憶されていなくても、デバイス１０６によってより容易にアクセスされる。
【００６１】
逆に、記憶ネットワークマネージャ１１４はより古いデータを、バックアップ目的でデータを記憶するが容易にはデータにアクセスできないデバイス１０６に関連した記憶部１１０へ割り当てる。例えば、より新しいデータはスマートフォンやタブレット端末、パソコンなどのデバイス１０６に関連した記憶部１１０へ割り当てられ、より古いデータは限定された接続を備えた外部ハードドライブやクラウド記憶サーバ、非常に緩慢な記憶デバイスなどのデバイス１０６に関連した記憶部１１０へ割り当てられる。
【００６２】
更に記憶ネットワークマネージャ１１４は、データを記憶部１１０へ割り当てる間に、データの発祥を考慮するように構成される。例えば、記憶ネットワークマネージャ１１４はデバイス１０６ａで作成されたデータを記憶部１１０ａへ割り当てるように構成される。なぜなら、そのデータがデバイス１０６ａで作成されたということに基づくと、使用者はそのデータにデバイス１０６ａでアクセスすることを望む傾向があるためである。
【００６３】
ある実施形態では、記憶ネットワークマネージャ１１４はデータ特性、デバイス特性、及び／又は記憶部特性に基づいてデータを順位づけして割り当てるように構成される。例えば、記憶ネットワークマネージャ１１４は、デバイスにおいてデータに要求される利用可能性に関する順位づけを決定するように構成される。利用可能性の順位は、１つかそれ以上のデータ特性に基づいている。そのデータ特性は上述のデバイスと記憶部の特性に関係するためである。例として、あるデータファイルの特定のデバイス１０６に関する利用可能性の順位は、あるデータファイルの種類に関する特定のデバイスの使用、特定のデバイス１０６に関するあるデータファイルの好みやあるデータファイルの種類の好み、あるデータファイルに関する特定のデバイス１０６の使用、あるデータファイルの発祥、いつそのデータが作成されたか、などに基づく。
【００６４】
異なる記憶部エージェントの特性やデバイス特性、データ特性は、それらが順位づけにどのように関係するかについて異なる重みづけを与える。例えば、特定の記憶部１１０にある特定のデータファイルの記憶に関する使用者の好みは、デバイスの配置よりも重みを持つことになる。
【００６５】
デバイス１０６に関するデータファイルの利用可能性の順位づけを決定した後に、記憶ネットワークマネージャ１１４は最初に、データファイルの利用可能性の順位と記憶部１１０の利用可能な記憶領域に基づいて、デバイス１０６の関連する記憶部１１０にデータファイルを割り当てる。利用可能性の順位に基づく初期の割り当てに続いて、記憶ネットワークマネージャ１１４は初期の割り当てがデータファイルに要求される冗長性を満たすかどうか決定する。もし要求される冗長性が満たされないときは、記憶ネットワークマネージャ１１４は割り当てを調整し、利用可能性の順位によって示された要求される利用可能性を代償として、要求される冗長性は満足される。
【００６６】
例えば、利用可能性の順位に基づいて、データファイル「Ａ」は記憶部１１０ａでトップの優先度で順位づけされ、その後にデータファイル「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」がこの順で順位づけられる。記憶部１１０ｂでは、データファイル「Ｃ」がトップの優先度で順位づけられ、その後に「Ｅ」、「Ｂ」、「Ａ」、「Ｄ」がこの順で順位づけられる。加えて、記憶部１１０ｃでは、データファイル「Ａ」がトップの優先度で順位づけられ、その後に「Ｃ」、「Ｅ」、「Ｄ」、「Ｂ」がこの順で順位づけられる。
【００６７】
記憶部１１０ａはデータファイル「Ｅ」以外の「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」を記憶するために十分な利用可能な記憶領域を備えている。それゆえ「Ｅ」は、最初は記憶部１１０ａに割り当てられない。なぜなら「Ｅ」は記憶部１１０ａに関して最低の順位だからである。記憶部１１０ｂはデータファイル「Ａ」、「Ｄ」以外の「Ｃ」、「Ｅ」、「Ｂ」を記憶するために十分な利用可能な記憶領域を備えている。それゆえ「Ａ」、「Ｄ」は最初は、記憶部１１０ｂに割り当てられない。なぜなら「Ａ」、「Ｄ」は記憶部１１０ｂに関して最低の順位だからである。記憶部１１０ｃはデータファイル「Ｄ」、「Ｂ」以外の「Ａ」、「Ｃ」、「Ｅ」を記憶するために十分な利用可能な記憶領域を備えている。それゆえ「Ｄ」、「Ｂ」は、最初は記憶部１１０ｃに割り当てられない。なぜなら「Ｄ」、「Ｂ」は記憶部１１０ｃに関して最低の順位だからである。
【００６８】
「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」および「Ｅ」の初期の割り当ての後に、記憶ネットワークマネージャ１１４は、「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」および「Ｅ」が直面する要求される冗長性を決定する。この例では、要求される冗長性によってデータファイル「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」および「Ｅ」が少なくとも２つの記憶部に記憶される。しかしながら、この例における初期の割り当てが続行されるとすると、データファイル「Ｄ」は記憶部１１０ａにのみ格納される。つまり、記憶ネットワークマネージャ１１４はデータファイル「Ｄ」の要求される冗長性を達成するために、再割り当てが実行されるかどうかを決定する。
【００６９】
例えば、示した例ではデータファイル「Ｃ」は最初は記憶部１１０ａ、１１０ｂ、１１０ｃに割り当てられる。それゆえ、データファイル「Ｃ」の記憶部１１０ｂまたは記憶部１１０ｃへの割り当ては、データファイル「Ｄ」の要求される冗長性を満たすために、データファイル「Ｄ」の割り当てに置き換えられる。データファイル「Ｄ」を記憶するための記憶部１１０ｂか記憶部１１０ｃかの選択は、記憶部１１０ｂと１１０ｃとに関するデータファイル「Ｄ」の相対的な順位、記憶部１１０ｂと１１０ｃとの利用可能な記憶領域、記憶部１１０ｂと１１０ｃとの他の適用できる記憶部特性、及び／又はデバイス１０６ｂと１０６ｃとのデバイス特性に基づく。それらがデータファイル「Ｄ」の要求される冗長性に関係するためである。
【００７０】
ある実施形態では、記憶ネットワークマネージャ１１４はまた、特定の記憶部１１０の１つかそれ以上の記憶部特性、特定の記憶部１１０に関連したデバイス１０６のデバイス特性、及び／又は１つかそれ以上のデータ特性に基づいて、特定の記憶部１１０をデータの第１レポジトリ、または第２レポジトリに選定するように構成される。特定のデータの第１レポジトリとして機能する記憶部１１０は、特定のデータの「第１」コピーを記憶するように構成される。それは、特定のデータの第１レポジトリとして機能する記憶部１１０は、特定のデータに冗長性を提供するのに依存されていることを示している。対照的に、特定のデータの第２レポジトリとして機能する記憶部１１０は、特定のデータの「第２」コピーを記憶するように構成される。それは、特定のデータの第２レポジトリとして機能する記憶部１１０は、特定のデータに冗長性を提供するのに依存されていないことを示している。記憶部１１０は、あるデータの第１コピーを記憶するように構成される一方で、他のデータの第２コピーを記憶するように構成される。記憶部１１０がデータの第１レポジトリ又は第２レポジトリとして振る舞うかどうかは、ある例においては記憶部１１０又は関連するデバイス１０６の正常性に依存する。
【００７１】
記憶エージェント１０４はまた記憶部１１０からデータを削除するように構成され、及び／又は記憶ネットワークマネージャ１１４は記憶エージェント１０４に、記憶部特性、デバイス特性、及び／又はデータ特性に基づいてデータを削除することを指示するように構成される。例えば、記憶部１１０の利用できる記憶領域が容量ちょうどかそれに近いときに、より高い順位を持つ他のデータのための領域を確保するため、記憶部１１０は低い順位（例えば利用可能性の順位）のデータを削除する。他の例として、ある実施形態では、ある記憶部１１０が特定のデータの第１レポジトリとして選定されたときに、使用者が特定のデータについて起こりうる半永久的な紛失について気づいた後、記憶ネットワークマネージャ１１４か使用者からの明示的な許可なしには記憶エージェント１０４は特定の記憶部１１０から特定のデータを削除することができない。対照的に、ある実施形態では、記憶エージェント１０４は特定の記憶部１１０に第２のコピーとして記憶されているデータを、記憶エージェント１０４によって必要だとみなされたときはいつでも記憶ネットワークマネージャ１１４からの許可や指示なしに削除する。加えて、ある実施形態では、特定のデバイス１０６及び／又は記憶部１１０からのデータの「ピン留め」を外して、それによってデバイス１０６及び／又は記憶部１１０でのデータ保持の優先度を減少させる。特定のデバイス１０６及び／又は記憶部１１０でのデータ保持の優先度が減少されたことで、「ピン留め」が外されたデータは特定のデバイス１０６及び／又は記憶部１１０から削除され得る。
【００７２】
ある実施形態では、記憶ネットワークマネージャ１１４は、記憶ネットワーク１０２ａと個々のデバイス１０６とを通したデータの割り当てに基づいて、記憶ネットワーク１０２ａの全体としての正常性を決定するように構成される。例えば、もしデータが第１コピーとして比較的高い紛失の可能性及び／又は比較的低い正常率とを備えるデバイス１０６と記憶部１１０とに記憶されているなら、比較的低い紛失の可能性及び／又は比較的高い正常率とを備えるデバイス１０６と記憶部１１０とに記憶されているのと比べて、記憶ネットワーク１０２ａの正常性は低く見積もられる。他の例では、記憶ネットワーク１０２ａがデータの要求される冗長性及び／又は利用可能性を満たさないときは、満たすときに比べて記憶ネットワーク１０２ａの正常性は低く見積もられる。
【００７３】
記憶ネットワークマネージャ１１４は、デバイスタイプやデバイス特性、デバイスの正常性、データ特性などを連続して監視するように構成され、監視によって示される変化に基づいて、上述の方法で割り当てを実行する。つまり記憶ネットワークマネージャ１１４は、動的な割り当てを実行するように構成され、記憶エージェント１０４の割り当ては変化する。加えて、１つの記憶エージェント１０４に関連する変化は、他の記憶エージェント１０４に関連するデータの割り当てに影響を与える。
【００７４】
例えば、ある実施形態では、記憶エージェントを備え特定のデータファイルのための第１レポジトリとして機能する特定のデバイス１０６が機能を失うことによって、特定のデータファイルの要求される冗長性は満たされない。記憶ネットワークマネージャ１１４はそれに従って、特定のデバイス１０６の機能損失と特定のデータファイルの要求される冗長性に基づいて、特定のデータファイルを他の記憶エージェント１０４に割り当て、他の記憶エージェント１０４を特定のデータファイルのための第１レポジトリとして選定する。
【００７５】
他の例では、記憶ネットワークマネージャ１１４は、上述よりも記憶ネットワーク１０２ａとの接続がより制限されたデバイス１０６と関連する。記憶ネットワークマネージャ１１４は特定の記憶エージェント１０４に冗長性及び／又は利用可能性のためにそれほど多く依存せず、適宜特定の記憶エージェント１０４に記憶されたデータを割り当てる。
【００７６】
上述の通り、記憶ネットワークマネージャ１１４はまた特定のデータを、特定のデータが割り当てられた記憶部１１０へ分配する分配方針を決定するように構成される。図１Ｂは、記憶部１１０へデータを分配するための分配方針を決定するために構成された例としての記憶システム１００ｂを、この開示における少なくとも１つの実施形態に従って図示している。
【００７７】
記憶システム１００ｂは、図１Ａの記憶システム１００ａの拡張された例である。例えば、記憶システム１００ｂはネットワーク１１２、記憶ネットワークマネージャ１１４、デバイス１０６ａ〜１０６ｃを、それらに関連する記憶エージェント１０４ａ〜１０４ｃ、そして記憶部１１０ａ〜１１０ｃを含む。しかしながら、記憶システム１００ｂの記憶ネットワーク１０２ｂは、より多くのデバイス１０６と関連する記憶エージェント１０４と記憶部１１０とを、記憶システム１００ａの記憶ネットワーク１０２ａより備えるという点で異なる。例えば、記憶ネットワーク１０２ｂは、デバイス１０６ｄ、１０６ｅ、１０６ｆを関連する記憶エージェント１０４ｄ、１０４ｅ、１０４ｆと共にそれぞれ含み、さらに記憶部１１０ｄ、１１０ｅ、１１０ｆをそれぞれ含むように描かれる。それについては、図１Ａの記憶ネットワーク１０２ａには描かれていない。
【００７８】
デバイス１０６ａ〜１０６ｆは、図１Ａのデバイス１０６ａ〜１０６ｃのように、全ての要素（例えば、コントローラ、プロセッサ、メモリ、通信モジュール）と共に図１Ｂに描かれていないが、これらの要素はデバイス１０６ａ〜１０６ｆに含まれており、単に図１Ｂに描かれていないだけである。加えて、記憶ネットワーク１０２ａに関する記憶ネットワーク１０２ｂの拡張は、分配方針の決定を描くことを容易とし、同じ数のデバイス１０６と記憶エージェント１０４とを備えるものだけを記憶ネットワーク１０２ｂとして限定しない。
【００７９】
記憶ネットワークマネージャ１１４は、割り当てられたデータを記憶部１１０の特性、デバイス１０６、及び／又は記憶部１１０へ割り当てられたデータの特性に基づいて、記憶部１１０へ分配するための分配方針を決定するように構成される。これらの又は他の実施形態では、記憶ネットワークマネージャ１１４は特性のデータのための分配方針を、データ特性及び／又は他のデータの割り当て、特定のデータが割り当てられた異なる記憶部１１０に基づいて、決定するように構成される。
【００８０】
例えば、ある実施形態では、記憶部１１０ａはデータ１２１を記憶し、そのデータは記憶部１１０ｆに割り当てられていることで、データ１２１に関して、記憶部１１０ａはホスト記憶部となり、記憶部１１０ｆはターゲット記憶部となる。記憶ネットワークマネージャ１１４は、データ１２１を記憶部１１０ａから記憶部１１０ｆへ分配するための分配方針を、デバイス１０６ａ〜１０６ｆ及び／又は記憶部１１０ａ〜１１０ｆの１つかそれ以上の特性に基づいて決定するように構成される。これらの又は他の実施形態では、１つかそれ以上の他の記憶部１１０は、データ１２１のホスト記憶部又はターゲット記憶部となる。ひとたび分配方針が決定すると、１つかそれ以上の記憶エージェント１０４は、分配方針を実行するように構成される。
【００８１】
ある実施形態では、記憶ネットワークマネージャ１１４によって分配方針を決定するために使用される特性は、デバイス１０６ａ〜１０６ｆの記憶ネットワーク１０２ｂに関する接続性（例えば、デバイス１０６ａ〜１０６ｆのお互いに関する接続性）である。例えば、デバイス１０６ａと１０６ｆとは互いには通信できないが、デバイス１０６ｂはデバイス１０６ａとデバイス１０６ｆと共に接続可能とすることができる。例としてこのような状況が起こり、デバイス１０６ａと１０６ｂとは共にネットワーク１１２に（例えば無線又は有線で）接続され、デバイス１０６ｆはネットワーク１１２に接続されないがデバイス１０６ｂと接続される。これらの例では、記憶ネットワークマネージャ１１４は記憶部１１０ａから記憶部１１０ｆまでの分配方針を決定するために構成され、そこでは記憶エージェント１０４ａがデータ１２１又はデータ１２１のコピーを記憶エージェント１０４ｂに渡し、記憶エージェント１０４ｂがデータ１２１を記憶エージェント１０４ｆに渡し、記憶エージェント１０４ｆがデータ１２１を記憶部１１０ｆに記憶するように命令する。
【００８２】
分配方針を決定するために記憶ネットワークマネージャ１１４によって用いられる他の特性は、デバイス１０６ａ〜１０６ｆの互いの接続の種類とすることもできる。例えば、デバイス１０６ｂと１０６ｆとはネットワーク１１２を通して接続されている。加えて、デバイス１０６ａはネットワーク１１２にノンセルラー無線インターネット接続（例えば、Ｗｉ−Ｆｉ）を用いて接続されており、デバイス１０６ｆはネットワーク１１２にセルラーネットワーク接続を用いて接続されている。それゆえ、ネットワーク１１２を用いてのデバイス１０６ａの記憶部１１０ａからデバイス１０６ｆの記憶部１１０ｆまでのデータ１２１の分配は、関連するセルラーデータプランでのデータが用いられ、それはノンセルラー接続が使用されたときよりも高価となる。しかしながら、デバイス１０６ｂはデバイス１０６ｆに直接接続され、デバイス１０６ｂはまたネットワーク１１２へノンセルラー無線インターネット接続を用いてネットワーク１１２に接続される。つまり、ある実施形態では、記憶ネットワークマネージャ１１４は分配方針を決定する、そこにおいてデータ１２１は記憶エージェント１０４ａによって記憶部１１０ａから記憶エージェント１０４ｂに渡され、その後に記憶エージェント１０４ｂから記憶エージェント１０４ｆに記憶部１１０ｆでの記憶のために渡される。それゆえ、デバイス１０６ａからデバイス１０６ｆまでネットワーク１１２を用いてデータが移送されたときよりも、コストは低くなる。他の例では、記憶ネットワークマネージャ１１４は例として類似の分配方針を決定する、そこにおいて、デバイス１０６ａとデバイス１０６ｆとは互いに、そしてデバイス１０６ｂと（例えば直接、又はネットワーク１１２を介して）接続するが、デバイス１０６ｂとのそれぞれの接続のバンド幅は、デバイス１０６ａとデバイス１０６ｆとの接続のバンド幅よりも高い。
【００８３】
分配方針を決定するために記憶ネットワークマネージャ１１４によって用いられる他のデバイス特性は、デバイス１０６ａ〜デバイス１０６ｆの接続頻度とすることもできる。例えば、デバイス１０６ｅは、デバイス１０６ａに接続されるよりも頻繁にデバイス１０６ｆに接続される。これらの又は他の実施形態では、デバイス１０６ｆがデバイス１０６ａと接続されている記憶ネットワーク１０２ｂの他のどのデバイス１０６とも接続されていないがデバイス１０６ａとデバイス１０６ｆとは互いに接続されているときに、記憶ネットワークマネージャ１１４は分配方針を決定する、そこにおいて記憶エージェント１０４ａはデータ１２１を記憶エージェント１０４ａに割り当てる。分配方針は、デバイス１０６ｅとデバイス１０６ｆとが接続されたときに、記憶エージェント１０４ｅがデータ１２１を記憶エージェント１０４ｆに分配するように命令し、それはデバイス１０６ａがデバイス１０６ｆに接続されるより早く起こる。
【００８４】
ある実施形態では、デバイス１０６間の接続の頻度及び／又は品質は、どれほど頻繁にデバイス１０６同士が近くに配置されたかに関係する。つまり、ある実施形態では、記憶ネットワークマネージャ１１４はデバイス１０６のお互いについての配置は分配方針を決定する際のデバイス特性とみなされる。
【００８５】
ある実施形態では、分配方針は、デバイス１０６やそれに対応する記憶部１１０によって提供される冗長性や利用可能性だけでなくデバイス１０６の一般的な接続性などの特性に基づく。例えば、記憶部１１０ａはそこに記憶されているデータ１２１以外の他のデータを備え、それは記憶のために他の記憶部１１０に割り当てられる。加えて、記憶エージェント１０４ａによって記憶部１１０ａから他の記憶エージェント１０４や記憶部１１０へ分配されるデータの量は、その時々ではデバイス１０６ａと記憶ネットワーク１０２ｂとの接続性（例えば、そのバンド幅）によって限定される。つまり、ある実施形態では、記憶ネットワークマネージャ１１４はデータ１２１と記憶部１１０ａとに記憶された他のデータとの分配方針を、記憶部１１０ａに記憶された他のデータに関して他のターゲット記憶部に割り当てられた順位と比較された、データ１２１に関して記憶部１１０ｆに割り当てられた順位に従って決定する。
【００８６】
例として、記憶部１１０ａに記憶された他のデータは記憶部１１０ｂに割り当てられ、記憶部１１０ａに記憶されたデータ１２１は記憶部１１０ｆに割り当てられる。加えて、接続の制限によって、記憶エージェント１０４ａは他のデータを記憶エージェント１０４ｂと記憶部１１０ｂとに移送すると同時に、データ１２１を記憶エージェント１０４ｆと記憶部１１０ｆとに移送することができない。更に、他のデータは記憶部１１０ｂでの記憶のために、データ１２１の記憶部１１０ｆでの記憶のための順位よりも、高い順位を持っている。つまり、分配方針は、データ１２１を記憶部１１０ｆへ分配するよりも前に他のデータを記憶部１１０ｂへ分配することを要求する。
【００８７】
記憶ネットワークマネージャ１１４は、上述のデバイスだけでなく他のデバイスへのデータの割り当てと記憶部の特性に基づいて、分配方針を決定する。例えば、記憶部１１０ａは比較的大量のデータを備え、それはそこに記憶されていて多くの数のターゲット記憶部に割り当てられているデータ１２１を含む。加えて、記憶部１１０ｄは比較的少量のデータを備え、それはそこに記憶されていて、少しの数のターゲット記憶部に割り当てられているデータ１２１（記憶部１１０ｄに記憶されていることは明示されていない）を含む。つまり、記憶ネットワークマネージャ１１４は分配方針を決定し、そこにおいてデータ１２１は記憶部１１０ａからでなく記憶部１１０ｄから記憶部１１０ｆへ分配されることで、記憶エージェント１０４ａは、データ１２１を分配することなく、記憶部１１０ａに記憶された他のデータを分配する。
【００８８】
同様に、ある実施形態では、データ１２１はターゲット記憶部としての記憶部１１０ｅと記憶部１１０ｆとに割り当てられるが、初めは記憶部１１０ａに記憶されるのみである。加えて、記憶部１１０ａは比較的大量のデータを記憶しており、それらデータは比較的多数のターゲット記憶部に割り当てられている。つまり、記憶ネットワークマネージャ１１４は分配方針を決定し、そこにおいてデータ１２１は、記憶部１１０ａから（データ１２１を記憶部１１０ｅに記憶する）記憶エージェント１０４ｅに割り当てられた後に記憶エージェント１０４ｅから（データ１２１を記憶部１１０ｆに記憶する）記憶エージェント１０４ｆに割り当てられるか、又は、記憶部１１０ａから（データ１２１を記憶部１１０ｆに記憶する）記憶エージェント１０４ｆに割り当てられた後に記憶エージェント１０４ｆから（データ１２１を記憶部１１０ｅに記憶する）記憶エージェント１０４ｅに割り当てられる。それゆえ、記憶エージェント１０４ａは、他のデータの移送を行う前にデータ１２１を何度も割り当てる代わりに、データ１２１を一度割り当てた後で他のデータを他の記憶部へ割り当てる。
【００８９】
更に、記憶ネットワークマネージャ１１４は、デバイス１０６の電源状態に基づいて分配方針を決定するように構成される。電源状態とは、特定のデバイス１０６がプラグに差し込まれているか、又は、電池で動いているかを表す。加えて、電源状態はどれほどの電気が電池に残っているかを表す。ある実施形態では、記憶ネットワークマネージャ１１４は分配方針を決定し、そこにおいて電池の電気を節約するために、プラグに差し込まれているデバイス１０６が電池で動いているデバイスよりもデータ移送において優先される。更に、これらの又は他の実施形態においては、他のデバイス１０６よりも長い電池寿命を持つデバイス１０６が、データ移送において優先される。
【００９０】
記憶ネットワークマネージャ１１４は、分配されたデータのデータ特性に基づいて分配方針を決定する。例えば、記憶ネットワークマネージャ１１４は、あるデータタイプが他のデータタイプよりも高い分配優先度を持つことを決定する。つまり、記憶ネットワークマネージャ１１４は分配方針を開発し、それによって高い優先度のデータタイプのデータが、低い優先度のデータタイプのデータより先にターゲット記憶部に分配される。
【００９１】
他の例では、記憶ネットワークマネージャ１１４は分配方針を開発し、そこにおいて要求される冗長性及び／又は利用可能性が高いデータが、それらが低いデータより先にターゲット記憶部に分配される。例えば、記憶ネットワークマネージャ１１４はターゲット記憶部に第１コピーとして記憶されているデータファイルの分配を、第２コピーとして記憶されているデータファイルよりも優先する。
【００９２】
更に、ある実施形態では、記憶ネットワークマネージャ１１４は、デバイス特性と、デバイス特性とデータ特性との関わりに基づいて、分配方針を決定する。例えば、ある実施形態では、データ１２１は記憶エージェント１０４ｅと１０４ｆとに第１コピーとして割り当てられる。加えて、デバイス１０６ｅはスマートフォンであり、デバイス１０６ｆはデスクトップコンピュータとなり得る。つまり、記憶ネットワークマネージャ１１４は分配方針を決定し、そこにおいてデータ１２１は記憶部１１０ｅへの分配よりも記憶部１１０ｆへの分配が優先される。なぜなら、デバイス１０６ｆはデバイス１０６ｅよりも信頼性が高いためである。
【００９３】
他の例として、データ１２１は記憶部１１０ｅと１１０ｆに割り当てられた音楽ファイルとなり得る。記憶ネットワークマネージャ１１４は、デバイス１０６ｅがデバイス１０６ｆよりも頻繁に音楽ファイルにアクセスすることを観察する。つまり、ある実施形態では、記憶ネットワークマネージャ１１４は、データタイプ（例えば音楽ファイル）とデバイスの使用（音楽ファイルへの頻繁なアクセス）に基づいて分配方針を決定することで、記憶部１１０ｅへのデータ１２１の割り当ては、音楽を聴くためのデバイス１０６ｆと比べてのデバイス１０６ｅの高頻度の使用のために、記憶部１１０ｆへの割り当てよりも優先される。
【００９４】
加えて、ある実施形態では、記憶ネットワークマネージャ１１４は使用者の好みに基づいて分配方針を決定する。例えば、ある実施形態では、使用者はデータ１２１が記憶部１１０ｆに記憶されていることを望んでいることを示す。それゆえ、記憶ネットワークマネージャ１１４は、データ１２１をデータ１２１のターゲット記憶部となっている他の記憶部１１０の中から、記憶部１１０ｆに分配することを優先する分配方針を開発する。
【００９５】
更に、ある実施形態では、記憶ネットワークマネージャ１１４はデータ１２１のための分配方針を、データ１２１の大きさに基づいて決定する。例えばデータ１２１が比較的大きくて比較的多くのバンド幅を用いるとき、記憶ネットワークマネージャ１１４はデータ１２１の分配を夜遅くなどのように通信リソースの使用が少ない時刻に行うようにスケジュールする分配方針を決定する。
【００９６】
これらの又は他の実施形態では、記憶ネットワークマネージャ１１４はデータ１２１が記憶ネットワーク１０２ｂに追加された時刻に基づいて分配方針を決定する。例えば、データ１２１が比較的新しいデータのとき、データ１２１は比較的古いデータのときよりもアクセスされる傾向がある。つまり、分配方針は古いデータよりも新しいデータ１２１の分配を優先する。
【００９７】
修正、追加、又は省略が記憶システム１００ａおよび１００ｂに対して本発明の開示の範囲を離れて行われる。例えば、記憶システム１００ａおよび１００ｂはあらゆる数のデバイス１０６、記憶部１１０、及び／又は記憶エージェント１０４を含む。更に、デバイス１０６内での部品の配置は単に図示の目的のためであり、限定するものではない。加えて、データの割り当てと分配とは記憶ネットワークマネージャ１１４によって１０２ａと１０２ｂとに関して行われるように描かれているが、データの割り当て及び／又は分配に関する原理と教訓とは、あらゆる適用できる記憶ネットワーク及び／又は記憶システムのあらゆる適した要素の中で、又は要素によって採用される。
【００９８】
図２は、記憶ネットワークの記憶部にデータを割り当てる例示の方法２００のフローチャートであり、ここで説明された少なくとも１つの実施形態に従っている。方法２００の１つかそれ以上の工程は、ある実施形態では、図１Ａおよび図１Ｂの記憶システム１００ａ及び／又は１００ｂの１つかそれ以上の要素によって実施され、それは例えば、記憶ネットワークマネージャ１１４、記憶エージェント１０４、又はデバイス１０６である。分離したブロックで描かれているが、要求される実施態様に応じて、それぞれのブロックは追加のブロックに分離され、又はより少ないブロックにまとめられ、又は削除される。
【００９９】
方法２００はブロック２０２から始まり、そこにおいて記憶ネットワークに含まれる記憶部に関する多数の特性が決定される。多数の特性は、記憶部の記憶容量、記憶部の利用可能な記憶領域、記憶部に記憶されたデータの紛失の可能性、記憶ネットワークに関する記憶部の利用可能性、記憶部の使用状況、を含む。
【０１００】
ブロック２０４において、多数の特性に基づいてデータは記憶部に割り当てられる。ある実施形態では、割り当ては、更に記憶部の種類、記憶部の健康状態、記憶部に関連したデバイスのデバイスタイプ、デバイスの使用状況、デバイスの紛失の可能性、デバイスの正常性、デバイスの配置、デバイスと記憶ネットワークとの接続、デバイスと記憶ネットワークとの接続のコスト、デバイスの信頼性に基づく。
【０１０１】
つまり、記憶部に関連した特性に基づいて、データを記憶ネットワークの１つかそれ以上の記憶部に割り当てるために、方法２００は実行される。この方法でのデータの割り当ては、存在するデータの記憶機構を通して、改良利用体験と記憶ネットワークの冗長性を提供する。
【０１０２】
当業者は、ここで開示されている方法２００や他の工程や方法にとって、各工程や方法で実行されている作用は、異なる順序でも履行されることを認識するだろう。更に、概説された工程や動作は例として提供されただけであり、いくつかの工程や動作は選択的であり、開示された実施形態の本質を損なうことなく、より少ない工程や動作として組み合わされ、又は追加の工程や動作に拡張される。
【０１０３】
例えば、ある実施形態では、方法２００は、多数の特性に基づいてデータの要求される冗長性を決定することやデータのための記憶部の冗長ロールを決定することに関する更なる工程を含む。これらの又は他の実施形態では、方法２００は更に、記憶エージェントの冗長機能に基づいてデータを記憶部に割り当てる。
【０１０４】
更に方法２００は、多数の特性に基づいて記憶エージェントをデータの第１レポジトリ又は第２レポジトリとして割り当てることに関連する工程を含む。方法２００は更に、多数の特性に基づいて記憶部への記憶のためにデータを割り当てることに関連する工程を含む。データ特性は、１つかそれ以上のデータの種類、データの使用頻度、要求されるデータの冗長性、データの大きさ、データの順位、データに含まれる情報、データに関する使用者の好み、データを記憶ネットワーク及び／又は記憶エージェントに追加した時刻、データの発信情報、などを含む。ある実施形態では、割り当てはデータ特性が１つかそれ以上の多数の特性とどのように関係しているかに基づく。
【０１０５】
図３は、データを記憶ネットワークの記憶部に記憶する例示の方法３００のフローチャートであり、ここで説明された少なくとも１つの実施形態に従っている。方法３００の１つかそれ以上の工程は、ある実施形態では、図１Ａおよび図１Ｂの記憶システム１００ａ及び／又は１００ｂの１つかそれ以上の要素によって実施され、それは例えば、記憶ネットワークマネージャ１１４、記憶エージェント１０４、又はデバイス１０６である。分離したブロックで描かれているが、要求される実施態様に応じて、それぞれのブロックは追加のブロックに分離され、又はより少ないブロックにまとめられ、又は削除される。
【０１０６】
方法３００はブロック３０２から始まり、そこにおいて記憶ネットワークに含まれる記憶部に関連する多数の特性は、図１Ａ及び図１Ｂの記憶ネットワークマネージャ１１４のような記憶ネットワークマネージャに通信される。多数の特性は、記憶部の記憶容量、記憶部の利用可能な記憶領域、記憶部に記憶されたデータの紛失の可能性、記憶ネットワークに関する記憶部の利用可能性、記憶部の使用状況を含む。
【０１０７】
ブロック３０４では、記憶ネットワークコントローラからの記憶部へデータを記憶するための命令が受信される。記憶命令は多数の特性に基づいている。ブロック３０６では、記憶命令への反応としてデータは記憶部に記憶される。
【０１０８】
つまり、方法３００は、記憶部とそれに関連するデバイスに関する特性に基づいて、データを記憶ネットワークの記憶部へ記憶するために実行される。この方法でのデータの割り当ては、存在するデータの記憶機構を通して、改善された利用体験と記憶ネットワークの冗長性とを提供する。当業者は、ここで開示されている方法３００や他の工程や方法にとって、各工程や方法で実行されている作用は、異なる順序でも履行されることを認識するだろう。更に、概説された工程や動作は例として提供されただけであり、いくつかの工程や動作は選択的であり、開示された実施形態の本質を損なうことなく、より少ない工程や動作として組み合わされ、又は追加の工程や動作に拡張される。
【０１０９】
例えば、ある実施形態では、方法３００はデータ特性に基づいて記憶部にデータを記憶することに関連する工程を含む。データ特性は、１つかそれ以上のデータの種類、データの使用頻度、要求されるデータの冗長性、データの大きさ、データの順位、データに含まれる情報、データに関する使用者の好み、データを記憶ネットワーク及び／又は記憶エージェントに追加した時刻、データの発信情報、などを含む。
【０１１０】
図４は、記憶ネットワークの記憶部にデータを割り当てる分配方針を決定する例示の方法４００のフローチャートであり、ここで説明された少なくとも１つの実施形態に従っている。方法４００の１つかそれ以上の工程は、ある実施形態では、図１Ａおよび図１Ｂの記憶システム１００ａ及び／又は１００ｂの１つかそれ以上の要素によって実施され、それは例えば、記憶ネットワークマネージャ１１４、記憶エージェント１０４、又はデバイス１０６である。分離したブロックで描かれているが、要求される実施態様に応じて、それぞれのブロックは追加のブロックに分離され、又はより少ないブロックにまとめられ、又は削除される。
【０１１１】
方法４００はブロック４０２から始まり、そこにおいてホスト記憶部に記憶されたデータは、ターゲット記憶部に記憶されるために割り当てられる。ホスト記憶部とターゲット記憶部とは、例えば図１Ａおよび図１Ｂの記憶ネットワーク１０２ａと１０２ｂのような記憶ネットワークに含まれ、それは１つかそれ以上の他の記憶部を更に含む。ある実施形態では、割り当ては上述の割り当てに基づいて実行される。例えば、ある実施形態では、割り当てはターゲット記憶部に関連する多数の特性に基づいて実行され、多数の特性は、記憶部の記憶容量、記憶部の利用可能な記憶領域、記憶部に記憶されたデータの紛失可能性、記憶ネットワークに関する記憶部の利用可能性、記憶部の使用状況、を含む。これらの又は他の実施形態では、割り当てはデータ特性に基づいて行われる。
【０１１２】
ブロック４０４では、他の記憶エージェント及び／又は他の記憶エージェントに関連する１つかそれ以上のデバイスの特性が決定される。特性は、記憶ネットワークと１つかそれ以上のデバイスとの接続、１つかそれ以上のデバイスの電源状態、デバイスの使用状況、１つかそれ以上のデバイスの配置を含む。上述の通り、デバイスの接続は接続のコスト、接続の頻度、接続のバンド幅、接続の種類を含む。
【０１１３】
ブロック４０６では、ブロック４０４で決定された特性に基づいて、ホスト記憶部からターゲット記憶部へデータを分配する分配方針が決定される。ある実施形態では、分配方針はデータに関するターゲット記憶部の順位に基づく。これらの又は他の実施形態では、分配方針は、データの他の記憶部への割り当て及び／又はホスト記憶部に記憶された他のデータの割り当てに基づいて決定される。
【０１１４】
加えて、ある実施形態では、分配方針は１つかそれ以上のデータ特性に基づいて決定され、それはデータの種類、要求されるデータの冗長性、要求されるデータの利用可能性、データの大きさ、データを記憶ネットワークに追加した時刻、データに関する使用者の好み、などである。これらの又は他の実施形態では、分配方針はデータ特性がどのように、他の記憶部、ターゲット記憶部、及び／又は、ホスト記憶部に関連した特性に関係しているかに基づいて決定される。
【０１１５】
つまり、方法４００はデータの分配方針を決定するために実行される。この方法でのデータの分配は、存在するデータの記憶機構を通して、改良利用体験と記憶ネットワークの冗長性を提供する。
【０１１６】
当業者は、ここで開示されている方法４００や他の工程や方法にとって、各工程や方法で実行されている作用は、異なる順序でも履行されることを認識するだろう。更に、概説された工程や動作は例として提供されただけであり、いくつかの工程や動作は選択的であり、開示された実施形態の本質を損なうことなく、より少ない工程や動作として組み合わされ、又は追加の工程や動作に拡張される。
【０１１７】
上述通り、ここで開示された実施形態は、特別な目的又は一般的な目的のコンピュータの使用を含み（例えば、図１のプロセッサ１５０）、以下で詳細が示されるように、そこには様々なコンピュータのハードウェアやソフトウェアのモジュールを含む。特別な目的又は一般的な目的のコンピュータは、コンピュータが読み取り可能な媒体（例えば、図１のメモリ１５２及び／又は記憶部１１０）に記憶された実行可能な命令を実行するように構成される。
【０１１８】
コンピュータが実行可能な命令は、例えば、一般の目的のコンピュータや特別な目的のコンピュータ、または特別な目的のプロセスデバイス（例えば１つかそれ以上のプロセッサ）にある機能や機能の集まりを実行させる命令やデータを含む。主題は構造的特徴及び／又は方法論的振る舞いに特化した言葉で説明されているが、従属項で定義された主題は必ずしも上述の特徴や振る舞いを限定するものではないと理解されるべきである。むしろ、上述の特徴や振る舞いは請求項を実施する例示の形式として開示されている。
【０１１９】
ここで使用されている「モジュール」や「部品」の言葉は、モジュールや部品の作動、及び／又は、コンピューティングシステムの一般の目的のハードウェアに記憶され、実行されるソフトウェアオブジェクトやソフトウェアルーチンの作動を実行するために構成された特定のハードウェアの実施について言及している。ある実施形態では、ここで描かれた異なる部品、モジュール、機関、そしてサービスは、コンピューティングシステムで（例えば異なるスレッドで）実行されるオブジェクト又はプロセスとして実施される。ここで説明されるいくつかのシステムや方法は一般的に（一般の目的のハードウェアに記憶され実行される）ソフトウェアで実行されるものとして説明されており、特定のハードウェアの実施や、ソフトウェアと特定のハードウェアの実施との組み合わせもまた可能であり、配慮されている。この説明において、「計算機」とはこれまでに定義されたあらゆるコンピューティングシステム、モジュール、コンピューティングシステムにおけるモジュールの作動を含む。
【０１２０】
ここで引用された全ての例示的かつ条件的な言葉は、発明と発明者による技術を進歩させた概念とを理解する上で読み手を補助するための教育的な目的を意図されており、そのように引用された例示や条件によって制限されないと解釈されるべきである。本発明の実施形態は詳細が記述されているが、この開示の本質や範囲を離れることなく、ここにさまざまな変化や代用、そして代替が可能であると理解されるべきである。
【図１Ａ】
2016511862.tif 000003
【図１Ｂ】
2016511862.tif 000004
【図２】
2016511862.tif 000005
【図３】
2016511862.tif 000006
【図４】
2016511862.tif 000007
【国際調査報告】
2016511862.tif 000008
2016511862.tif 000009