JP2015512071A - クラウド・ベースの分散型データ・システム - Google Patents
クラウド・ベースの分散型データ・システム Download PDFInfo
- Publication number
- JP2015512071A JP2015512071A JP2014552306A JP2014552306A JP2015512071A JP 2015512071 A JP2015512071 A JP 2015512071A JP 2014552306 A JP2014552306 A JP 2014552306A JP 2014552306 A JP2014552306 A JP 2014552306A JP 2015512071 A JP2015512071 A JP 2015512071A
- Authority
- JP
- Japan
- Prior art keywords
- agent
- content
- platform
- task
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 62
- 239000003795 chemical substances by application Substances 0.000 claims description 810
- 238000000034 method Methods 0.000 claims description 191
- 238000003860 storage Methods 0.000 claims description 77
- 239000012634 fragment Substances 0.000 claims description 67
- 238000012546 transfer Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 25
- 230000008878 coupling Effects 0.000 claims description 22
- 238000010168 coupling process Methods 0.000 claims description 22
- 238000005859 coupling reaction Methods 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 3
- 238000013523 data management Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 230000008520 organization Effects 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000007792 addition Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 239000011259 mixed solution Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Multi Processors (AREA)
Abstract
Description
本願は、2012年1月10日に出願された米国(US)特許出願第61/585,137号の優先権を主張する。
技術分野
本明細書において説明する実施形態は、データ処理に関し、更に特定すれば、分散型の記憶および処理に関する。
引用による包含
本明細書において述べられる各特許、特許出願、および/または刊行物は、本明細書において引用したことによって、個々の特許、特許出願、および/または刊行物が各々具体的にそして個々に引用によって本願にも含まれることが示されたかのように、その全体が同程度に本願にも含まれるものとする。
一実施形態のプラットフォームは、コンテンツを受け取る代わりに、コンテンツのメタデータを受け取り、複数のエージェントをホストする複数のクライアント・デバイスは、コンテンツを含む分散型記憶デバイスを含む。
一実施形態のメタデータは、コンテンツの位置についてのデータを含む。
一実施形態のメタデータは、複数のエージェントの識別情報についてのデータを含む。
一実施形態のメタデータは、各エージェントがアクセスすることができるコンテンツについてのデータを含む。
一実施形態のタスクは、グリッドにわたってコンテンツの位置を追跡することに関する。
一実施形態のタスクは、グリッドにわたってコンテンツの移動を管理することに関する。
一実施形態の各タスクは、当該タスクに対する完了条件を含む。
一実施形態の複数のエージェントは、プラットフォームによって指令される通りに、コンテンツを集合的に監視する。
一実施形態の複数のエージェントは、プラットフォームによって指令される通りに、コンテンツを集合的に格納する。
一実施形態の複数のエージェントは、プラットフォームによって指令される通りに、コンテンツに対する処理動作を集合的に実行する。
一実施形態の複数のデータベースは、プラットフォームに利用可能なエージェントと、各エージェントの情報とを含むエージェント・データベースを含む。
一実施形態の複数のデータベースは、目標のリストを含む目標データベースを含み、目標のリストの各目標は、プラットフォームによって生成され、少なくとも1つのライブラリに対応し、目標は、対応するライブラリコンテンツに対して動作を実行するために用いられる。
一実施形態の各目標は、少なくとも1つのライブラリに対応し、対応するライブラリのコンテンツに対して少なくとも1つのタスクを実行するためにエージェントによって用いられる。
一実施形態のプラットフォームは、複数のエージェントによってアクセス可能なコンテンツにおいて不一貫性および不一致の内少なくとも1つを識別するために目標を用いる。
一実施形態のプラットフォームが各エージェントに対応する作業データベースを生成し、作業データベースは、対応するエージェントによって実行されるべきタスクを含む。
一実施形態の複数のデータベースは、複数のエージェントの能力の情報を含む能力データベースを含む。
一実施形態の同期データベースは、複数のエージェントのコンテンツのファイル状態のレコードを含む。
一実施形態のプラットフォームは、複数のエージェントを用いて、クライアント・デバイス間におけるコンテンツの同期を制御し、コンテンツの同期は、そのコンテンツにおける変化に応答して、当該コンテンツを同期させることを含む。
一実施形態のコンテンツの転送は、コンテンツの第1ブロックを第2クライアント・デバイスから第1クライアント・デバイスに転送すること、およびコンテンツの第2ブロックを第3クライアント・デバイスから第1クライアント・デバイスに転送することを含む。
一実施形態のスキャン・タスクは、エージェントが当該エージェントに対応するライブラリを再帰的に監視し、ライブラリに対するあらゆる変化をプラットフォームに報告することを含む。
一実施形態の書き込みタスクは、エージェントがファイルの少なくとも1つのブロブを第1位置から第2位置にコピーすることを含み、第1位置および第2位置の各々は、グリッドに結合されたクライアント・デバイスに対応する。
一実施形態の書き込みタスクは、完了の条件を含む。
一実施形態の複数のタスクが削除タスクを含む。
一実施形態の各エージェントは、当該エージェントに割り当てられるタスクをローカルにクライアント・デバイスに維持する。
一実施形態のエージェントは、タスクを完了するために必要とされリモート・デバイスに配置されるタスク情報を突き止めるために階層を含む。
一実施形態の階層は、エージェントが、タスク情報を突き止めるために、複数のエージェントの内少なくとも1つのピア・エージェントと通信することを含む。
一実施形態の階層は、エージェントが、リモート記憶デバイスからタスク情報を引き出すことを含む。
一実施形態の各エージェントは、並列に実行する複数のコンポーネントを含む。
一実施形態の複数のコンポーネントは、タスク・データベースを監視し、各タスクをタスク・データベースから引き出し、引き出したタスクをタスク実行コンポーネントに供給し、引き出したタスクが保留ステータスを有するように指定する実行コンポーネントを含む。
一実施形態の実行コンポーネントは、ステータスをタスク・データベースに報告する。
一実施形態のメタデータは、複数のエージェントによって生成され、エージェントによって生成されるメタデータは、当該エージェントがアクセスすることができるコンテンツに対応する。
一実施形態のエージェントは、ファイルのコンテンツを複数の断片に分割することによって、メタデータを生成し、各断片はファイルの可変サイズ・コンポーネントを含む。
一実施形態のエージェントは、複数の断片を表す複数のブロブを生成することによって、メタデータを生成し、各ブロブは断片を表す。
一実施形態のブロブの生成は、ブロブによって表される断片のブレーク・ポイントに基づいてオフセット値を生成することを含む。
一実施形態のブロブの生成は、ファイルのコンテンツを表すブロブのリストを生成することを含む。
一実施形態のブロブの生成は、コンテンツ・ハッシュおよび名称ハッシュの組み合わせのハッシュを含むファイル・ハッシュを生成することを含む。
一実施形態のブロブの生成は、ファイルのファイル・メタデータのハッシュを含むメタデータ・ハッシュを生成することを含む。
一実施形態のブロブの生成は、あるサイズのブロブを生成することを含む。
一実施形態の各エージェントは、当該エージェントをホストするクライアント・デバイスにブロブをローカルに格納し、以前に報告したことがないブロブを、プラットフォームの中央ストレージに転送する。
この方法は、プラットフォームが、コンテンツを受け取る代わりに、コンテンツのメタデータを受け取るステップを含み、複数のエージェントをホストする複数のクライアント・デバイスは、コンテンツを含む分散型記憶デバイスを含む。
一実施形態のメタデータは、コンテンツの状態についてのデータを含む。
一実施形態のメタデータは、複数のエージェントの識別情報についてのデータを含む。
一実施形態のメタデータは、複数のエージェントによって実行される複数のタスクの情報を含む。
一実施形態のタスクは、グリッドにわたってコンテンツの格納を管理することに関する。
一実施形態のタスクは、グリッドにわたってコンテンツを処理することに関する。
この方法は、複数のエージェントが、プラットフォームによって指令される通りに、コンテンツを集合的に監視するステップを含む。
この方法は、 複数のエージェントが、プラットフォームによって指令される通りに、コンテンツを集合的に転送するステップを含む。
この方法は、 各クライアント・デバイスの各エージェントが、クライアント・デバイスによってアクセス可能なメモリのコンテンツにインデックスを付けるステップを含む。
一実施形態の各エージェントが少なくとも1つのライブラリを含み、ライブラリは、読み取りアクセスおよび書き込みアクセスの内少なくとも1つを含むアクセスを、エージェントが行うことができるデバイスを表す。
一実施形態の複数のデータベースは、目標のリストを含む目標データベースを含み、目標のリストの各目標は、プラットフォームによって生成され、少なくとも1つのライブラリに対応し、目標は、対応するライブラリコンテンツに対して動作を実行するために用いられる。
一実施形態の各目標は、少なくとも1つのライブラリに対応し、対応するライブラリのコンテンツに対して少なくとも1つのタスクを実行するためにエージェントによって用いられる。
この方法は、プラットフォームが、複数のエージェントによってアクセス可能なコンテンツにおいて不一貫性および不一致の内少なくとも1つを識別するために目標を用いるステップを含む。
この方法は、プラットフォームが各エージェントに対応する作業データベースを生成するステップを含み、作業データベースは、対応するエージェントによって実行されるべきタスクを含む。
一実施形態の複数のデータベースは、複数のエージェントの能力の情報を含む能力データベースを含む。
一実施形態の同期データベースは、複数のエージェントのコンテンツのファイル状態のレコードを含む。
この方法は、プラットフォームが、複数のエージェントを用いて、クライアント・デバイス間におけるコンテンツの同期を制御するステップを含む。
コンテンツの転送は、コンテンツの第1ブロックを第2クライアント・デバイスから第1クライアント・デバイスに転送すること、およびコンテンツの第2ブロックを第3クライアント・デバイスから第1クライアント・デバイスに転送することを含む。
一実施形態のスキャン・タスクは、エージェントが当該エージェントに対応するライブラリを再帰的に監視し、ライブラリに対するあらゆる変化をプラットフォームに報告することを含む。
一実施形態の書き込みタスクは、エージェントがファイルの少なくとも1つのブロブを第1位置から第2位置にコピーすることを含み、第1位置および第2位置の各々は、グリッドに結合されたクライアント・デバイスに対応する。
一実施形態の書き込みタスクは、完了の条件を含む。
一実施形態の複数のタスクは、削除タスクを含む。
この方法は、各エージェントが、当該エージェントに割り当てられるタスクをローカルにクライアント・デバイスに維持するステップを含む。
一実施形態のエージェントは、タスクを完了するために必要とされリモート・デバイスに配置されるタスク情報を突き止めるために階層を含む。
一実施形態の階層は、エージェントが、タスク情報を突き止めるために、複数のエージェントの内少なくとも1つのピア・エージェントと通信することを含む。
一実施形態の階層は、エージェントが、リモート記憶デバイスからタスク情報を引き出すことを含む。
一実施形態の各エージェントは、並列に実行する複数のコンポーネントを含む。
一実施形態の複数のコンポーネントは、タスク・データベースを監視し、各タスクをタスク・データベースから引き出し、引き出したタスクをタスク実行コンポーネントに供給し、引き出したタスクが保留ステータスを有するように指定する実行コンポーネントを含む。
この方法は、実行コンポーネントがステータスをタスク・データベースに報告するステップを含む。
この方法は、複数のエージェントが、メタデータを生成するステップを含み、エージェントによって生成されるメタデータは、当該エージェントがアクセスすることができるコンテンツに対応する。
この方法は、エージェントが、ファイルのコンテンツを複数の断片に分割することによって、メタデータを生成するステップを含み、各断片はファイルの可変サイズ・コンポーネントを含む。
この方法は、エージェントが、複数の断片を表す複数のブロブを生成することによって、メタデータを生成するステップを含み、各ブロブは断片を表す。
一実施形態のブロブの生成は、ブロブによって表される断片のブレーク・ポイントに基づいてオフセット値を生成することを含む。
一実施形態のブロブの生成は、ファイルのコンテンツを表すブロブのリストを生成することを含む。
一実施形態のブロブの生成は、コンテンツ・ハッシュおよび名称ハッシュの組み合わせのハッシュを含むファイル・ハッシュを生成することを含む。
一実施形態のブロブの生成は、ファイルのファイル・メタデータのハッシュを含むメタデータ・ハッシュを生成することを含む。
一実施形態のブロブの生成は、あるサイズのブロブを生成することを含む。
この方法は、各エージェントが、当該エージェントをホストするクライアント・デバイスにブロブをローカルに格納し、以前に報告したことがないブロブを、プラットフォームの中央ストレージに転送するステップを含む。
Claims (192)
- システムであって、
複数のデータベースに結合されたプロセッサを含むプラットフォームと、
前記プラットフォームに結合された複数のエージェントを含むグリッドであって、前記複数のエージェントの各エージェントが、クライアント・デバイス上で実行する前記プラットフォームのエージェントである、グリッドと、
前記複数のエージェントに対応する複数のクライアント・デバイスによってアクセス可能なメモリのコンテンツのメタデータであって、各クライアント・デバイスの各エージェントが、前記メタデータを生成し前記プラットフォームに供給し、前記プラットフォームが、前記コンテンツの代わりに前記メタデータを含み、前記コンテンツの位置を判定するために前記メタデータを用い、前記コンテンツの状態を維持するための動作を表す目標を生成し、前記目標に対応する複数のタスクを生成し、各タスクに対応するコンテンツにアクセスすることができるエージェントに前記タスクを割り当て、各タスクが、前記エージェントによってアクセス可能なコンテンツに対してエージェントによって実行されるように前記プラットフォームによって指令される処理動作である、メタデータと、
を含む、システム。 - 請求項1記載のシステムにおいて、前記プラットフォームが、前記複数のエージェントに対するマスタ・コントローラであり、前記複数のエージェントが、前記複数のタスクによって制御される通りに、前記プラットフォームと協同して作業する、システム。
- 請求項1記載のシステムにおいて、前記複数のエージェントの内各エージェントが、前記プラットフォームおよび前記複数のエージェントの内いずれの他のエージェントとも独立して機能する、システム。
- 請求項1記載のシステムにおいて、前記プラットフォームが、前記コンテンツを受け取る代わりに、前記コンテンツのメタデータを受け取り、前記複数のエージェントをホストする複数のクライアント・デバイスが、前記コンテンツを含む分散型記憶デバイスを含む、システム。
- 請求項1記載のシステムにおいて、前記プラットフォームが、前記複数のデータベースにおいて、前記複数のエージェントのコンテンツのマスタ・インデックスを維持するために、前記メタデータを用いる、システム。
- 請求項1記載のシステムにおいて、前記メタデータが、前記コンテンツの位置についてのデータを含む、システム。
- 請求項1記載のシステムにおいて、前記メタデータが、前記コンテンツの状態についてのデータを含む、システム。
- 請求項1記載のシステムにおいて、前記メタデータが、複数のエージェントの識別情報についてのデータを含む、システム。
- 請求項1記載のシステムにおいて、前記メタデータが、各エージェントがアクセスすることができるコンテンツについてのデータを含む、システム。
- 請求項1記載のシステムにおいて、前記メタデータが、前記複数のエージェントによって実行される前記複数のタスクの情報を含む、システム。
- 請求項1記載のシステムにおいて、前記タスクが、前記グリッドにわたって前記コンテンツの位置を追跡することに関する、システム。
- 請求項1記載のシステムにおいて、前記タスクが、前記グリッドにわたって前記コンテンツの格納を管理することに関する、システム。
- 請求項1記載のシステムにおいて、前記タスクが、前記グリッドにわたって前記コンテンツの移動を管理することに関する、システム。
- 請求項1記載のシステムにおいて、前記タスクが、前記グリッドにわたって前記コンテンツを処理することに関する、システム。
- 請求項1記載のシステムにおいて、各タスクが、当該タスクに対する完了条件を含む、システム。
- 請求項1記載のシステムにおいて、前記複数のエージェントが、前記プラットフォームによって指令される通りに、前記コンテンツを集合的に監視する、システム。
- 請求項1記載のシステムにおいて、前記複数のエージェントが、前記プラットフォームによって指令される通りに、前記コンテンツを集合的に格納する、システム。
- 請求項1記載のシステムにおいて、前記複数のエージェントが、前記プラットフォームによって指令される通りに、前記コンテンツを集合的に転送する、システム。
- 請求項1記載のシステムにおいて、前記複数のエージェントが、前記プラットフォームによって指令される通りに、前記コンテンツに対する処理動作を集合的に実行する、システム。
- 請求項1記載のシステムにおいて、各クライアント・デバイスの各エージェントが、前記クライアント・デバイスによってアクセス可能なメモリのコンテンツにインデックスを付ける、システム。
- 請求項1記載のシステムにおいて、前記複数のデータベースが、前記プラットフォームに利用可能なエージェントと、各エージェントの情報とを含むエージェント・データベースを含む、システム。
- 請求項1記載のシステムにおいて、各エージェントが少なくとも1つのライブラリを含み、ライブラリが、読み取りアクセスおよび書き込みアクセスの内少なくとも1つを含むアクセスを、前記エージェントが行うことができるデバイスを表す、システム。
- 請求項22記載のシステムにおいて、前記複数のデータベースが、前記複数のエージェントに対応するライブラリのリストを含むライブラリ・データベースを含み、前記グリッドの各ライブラリが、前記ライブラリ・データベースにおいて別々に表される、システム。
- 請求項23記載のシステムにおいて、各エージェントが、当該エージェントに対応する各ライブラリにアクセスすることができる、システム。
- 請求項22記載のシステムにおいて、前記複数のデータベースが、前記目標のリストを含む目標データベースを含み、前記目標のリストの各目標が、前記プラットフォームによって生成され、少なくとも1つのライブラリに対応し、前記目標が、対応するライブラリコンテンツに対して動作を実行するために用いられる、システム。
- 請求項25記載のシステムにおいて、前記目標のリストが、タスクが実行されるべきライブラリの集合体を含む、システム。
- 請求項25記載のシステムにおいて、各目標が、少なくとも1つのライブラリに対応し、対応するライブラリのコンテンツに対して少なくとも1つのタスクを実行するためにエージェントによって用いられる、システム。
- 請求項25記載のシステムにおいて、前記プラットフォームが、前記複数のエージェントの複数のライブラリを読み取るために、前記目標を用いる、システム。
- 請求項25記載のシステムにおいて、前記プラットフォームが、前記複数のエージェントによってアクセス可能な前記コンテンツにおいて不一貫性および不一致の内少なくとも1つを識別するために前記目標を用いる、システム。
- 請求項29記載のシステムにおいて、前記プラットフォームが、前記コンテンツにおいて識別された不一貫性および不一致の内少なくとも1つを解消する少なくとも1つのタスクを生成するために前記目標を用いる、システム。
- 請求項1記載のシステムにおいて、前記複数のデータベースが、作業データベースを含む、システム。
- 請求項31記載のシステムにおいて、前記プラットフォームが各エージェントに対応する作業データベースを生成し、前記作業データベースが、前記対応するエージェントによって実行されるべきタスクを含む、システム。
- 請求項32記載のシステムにおいて、前記作業データベースが、対応するエージェントによって実行されるべき各タスクの記述と、前記エージェントが前記タスクを実行するために必要な情報とを含む、システム。
- 請求項1記載のシステムにおいて、前記複数のデータベースが、前記複数のエージェントの能力の情報を含む能力データベースを含む、システム。
- 請求項1記載のシステムにおいて、前記複数のデータベースが、前記複数のエージェントのレコードを含み維持する同期データベースを含む、システム。
- 請求項35記載のシステムにおいて、前記同期データベースが、前記複数のエージェントのコンテンツのファイル状態のレコードを含む、システム。
- 請求項36記載のシステムにおいて、前記同期データベースが、ファイル毎にエントリを含み、前記エントリが、前記ファイルに対応するコンテンツ・ハッシュを含み、前記コンテンツ・ハッシュが、前記ファイルのコンテンツを表すブロブのリストのハッシュを含み、前記ブロブのリストの各ブロブが、前記コンテンツにおけるファイルの断片の表現を含み、前記断片が前記ファイルのコンポーネントである、システム。
- 請求項36記載のシステムにおいて、前記同期データベースが、エージェント毎にエントリを含み、前記エントリが、前記エージェントのファイルに対応するコンテンツ・ハッシュを含み、前記コンテンツ・ハッシュが、前記ファイルのコンテンツを表すブロブのリストのハッシュを含み、前記ブロブのリストの各ブロブが、前記コンテンツにおけるファイルの断片の表現を含み、前記断片が前記ファイルのコンポーネントである、システム。
- 請求項1記載のシステムにおいて、前記プラットフォームが、前記複数のエージェントを用いて、クライアント・デバイス間におけるコンテンツの転送を制御する、システム。
- 請求項39記載のシステムにおいて、前記プラットフォームが、前記複数のエージェントを用いて、クライアント・デバイス間におけるコンテンツの同期を制御し、前記コンテンツの同期が、前記コンテンツにおける変化に応答して、前記コンテンツを同期させることを含む、システム。
- 請求項39記載のシステムにおいて、前記コンテンツの転送が、コンテンツのブロック・レベルの非シーケンシャル転送である、システム。
- 請求項41記載のシステムにおいて、前記コンテンツの転送が、前記コンテンツの第1ブロックを第2クライアント・デバイスから第1クライアント・デバイスに転送すること、および前記コンテンツの第2ブロックを第3クライアント・デバイスから第1クライアント・デバイスに転送することを含む、システム。
- 請求項1記載のシステムにおいて、前記複数のタスクがスキャン・タスクを含む、システム。
- 請求項43記載のシステムにおいて、前記スキャン・タスクが、前記エージェントが当該エージェントに対応するライブラリを再帰的に監視し、前記ライブラリに対するあらゆる変化を前記プラットフォームに報告することを含む、システム。
- 請求項44記載のシステムにおいて、前記報告が、前記変化を含む前記ライブラリのファイルを、前記エージェントをホストする前記クライアント・デバイスのローカル・データベース内に置き、前記ローカル・データベースのメタデータを前記プラットフォームに供給することを含む、システム。
- 請求項1記載のシステムにおいて、前記複数のタスクが書き込みタスクを含む、システム。
- 請求項46記載のシステムにおいて、前記書き込みタスクが、前記エージェントがファイルの少なくとも1つのブロブを第1位置から第2位置にコピーすることを含み、前記第1位置および第2位置の各々が、前記グリッドに結合されたクライアント・デバイスに対応する、システム。
- 請求項47記載のシステムにおいて、前記少なくとも1つのブロブが、前記コンテンツにおけるファイルの断片の表現を含み、前記断片が前記ファイルのコンポーネントである、システム。
- 請求項46記載のシステムにおいて、前記書き込みタスクが、完了の条件を含む、システム。
- 請求項49記載のシステムにおいて、前記完了の条件が、前記書き込みタスクに対応する前記ブロブを引き出すこと、および前記書き込みタスクの間に上書きされるべき前記ブロブが正しいファイルに対応することを識別することの内少なくとも1つを含む、システム。
- 請求項1記載のシステムにおいて、前記複数のタスクが、前記コンテンツのファイルの表現を、前記エージェントによってアクセス可能なデバイスからリモート記憶デバイスにコピーすることを含むアップロード・タスクを含む、システム。
- 請求項51記載のシステムにおいて、前記エージェントが、前記エージェントによってアクセス可能な前記コンテンツへの前記ファイルの追加を前記プラットフォームに報告し、応答して、前記プラットフォームが、前記ファイルをアップロードするタスクを前記エージェントに割り当てる、システム。
- 請求項52記載のシステムにおいて、前記タスクに応答して、前記エージェントが、前記ファイルが前記リモート記憶デバイスに存在するか否か判定し、前記ファイルが不在であると判定されたときに、前記ファイルの表現を前記リモート記憶デバイスにアップロードする、システム。
- 請求項51記載のシステムにおいて、前記アップロード・タスクが、前記エージェントがファイルの少なくとも1つのブロブを、前記エージェントによってアクセス可能な前記デバイスから前記リモート記憶デバイスにコピーすることを含む、システム。
- 請求項54記載のシステムにおいて、前記少なくとも1つのブロブが、前記ファイルの断片の表現を含み、前記断片が前記ファイルのコンポーネントである、システム。
- 請求項1記載のシステムにおいて、前記複数のタスクが削除タスクを含む、システム。
- 請求項1記載のシステムにおいて、タスクが、整列、保留、および完了の内少なくとも1つを含む複数のフェーズを含み、前記プラットフォームが前記複数のタスクの内各タスクのフェーズを追跡する、システム。
- 請求項1記載のシステムにおいて、各エージェントが、当該エージェントに割り当てられるタスクをローカルに前記クライアント・デバイスに維持する、システム。
- 請求項58記載のシステムにおいて、前記エージェントが、割り当てられるタスクを識別するために、前記プラットフォームを周期的にポールする、システム。
- 請求項1記載のシステムにおいて、エージェントが、タスクを完了するために必要とされリモート・デバイスに配置されるタスク情報を突き止めるために階層を含む、システム。
- 請求項60記載のシステムにおいて、前記階層が、前記エージェントが、当該エージェントをホストする前記クライアント・デバイスのローカル・データベースを検索することを含む、システム。
- 請求項61記載のシステムにおいて、前記階層が、前記エージェントが、前記タスク情報を突き止めるために、前記複数のエージェントの内少なくとも1つのピア・エージェントと通信することを含む、システム。
- 請求項62記載のシステムにおいて、前記エージェントが、前記タスク情報を処理するピア・エージェントの識別情報を含む、システム。
- 請求項62記載のシステムにおいて、前記階層が、前記エージェントが、リモート記憶デバイスから前記タスク情報を引き出すことを含む、システム。
- 請求項64記載のシステムにおいて、前記エージェントが、前記プラットフォームからピア・エージェントの識別情報を整列リストで受け取り、前記整列リストにしたがって前記タスク情報を検索する、システム。
- 請求項1記載のシステムにおいて、各エージェントが、並列に実行する複数のコンポーネントを含む、システム。
- 請求項66記載のシステムにおいて、前記複数のコンポーネントが、前記エージェントに指定されたタスクを前記プラットフォームから引き出し、前記エージェントをホストする前記クライアント・デバイスにローカルなタスク・データベースに、引き出したタスクを格納するプロバイダ・コンポーネントを含む、システム。
- 請求項67記載のシステムにおいて、前記複数のコンポーネントが、タスク実行コンポーネントを含む、システム。
- 請求項68記載のシステムにおいて、前記複数のコンポーネントが、前記タスク・データベースを監視し、各タスクを前記タスク・データベースから引き出し、引き出したタスクを前記タスク実行コンポーネントに供給し、前記引き出したタスクが保留ステータスを有するように指定する実行コンポーネントを含む、システム。
- 請求項69記載のシステムにおいて、前記タスク実行コンポーネントが前記タスクを実行し、タスク実行のステータスを前記実行コンポーネントに報告する、システム。
- 請求項70記載のシステムにおいて、前記実行コンポーネントが前記ステータスを前記タスク・データベースに報告する、システム。
- 請求項71記載のシステムにおいて、前記複数のコンポーネントが、前記タスク・データベースを監視して完了ステータスを有するタスクを探し出し、完了タスクのステータス情報を前記プラットフォームに報告する更新コンポーネントを含む、システム。
- 請求項72記載のシステムにおいて、前記プラットフォームが、前記ステータス情報に応答して、前記複数のデータベースを更新する、システム。
- 請求項1記載のシステムにおいて、前記メタデータが、前記複数のエージェントによって生成され、エージェントによって生成されるメタデータが、当該エージェントがアクセスすることができるコンテンツに対応する、システム。
- 請求項74記載のシステムにおいて、前記エージェントが、当該エージェントがアクセスすることができる各ファイルのコンテンツをスキャンすることによって、前記メタデータを生成する、システム。
- 請求項75記載のシステムにおいて、前記エージェントが、前記ファイルのコンテンツを複数の断片に分割することによって、前記メタデータを生成し、各断片が前記ファイルの可変サイズ・コンポーネントを含む、システム。
- 請求項76記載のシステムにおいて、前記可変サイズの断片が、予め指定された最少長と最大長との間である、システム。
- 請求項76記載のシステムにおいて、前記エージェントが、前記複数の断片を表す複数のブロブを生成することによって、前記メタデータを生成し、各ブロブが断片を表す、システム。
- 請求項76記載のシステムにおいて、前記エージェントが、データ・フィンガープリンティング・アルゴリズムを用いて、前記複数のブロブを生成し、前記データ・フィンガープリンティング・アルゴリズムが、前記コンテンツのバイト毎に、前記コンテンツのコンポーネントに対してハッシュ・アルゴリズムを実行することを含み、前記ハッシュ・アルゴリズムが、指定されたデータ・パターンを識別するように設定される、システム。
- 請求項79記載のシステムにおいて、前記ブロブの生成が、前記ブロブによって表される断片が前記ファイルの残り部分から分離されたポイントにおけるハッシュの値を含む、前記ブロブの記述を生成することを含む、システム。
- 請求項80記載のシステムにおいて、前記ブロブの生成が、前記ブロブによって表される前記断片のブレーク・ポイントに基づいてオフセット値を生成することを含む、システム。
- 請求項81記載のシステムにおいて、前記ブロブの生成が、前記ブロブの完全なコンテンツのハッシュを生成することを含み、前記ブロブの完全なコンテンツのハッシュが、前記ブロブの識別子となる、システム。
- 請求項82記載のシステムにおいて、前記ブロブの生成が、前記ファイルのコンテンツを表すブロブのリストを生成することを含む、システム。
- 請求項83記載のシステムにおいて、前記ブロブの生成が、前記ファイルのコンテンツを表すブロブのリストのハッシュを含むコンテンツ・ハッシュを生成することを含み、前記コンテンツ・ハッシュが前記ファイルの識別子となる、システム。
- 請求項84記載のシステムにおいて、前記ブロブの生成が、前記ファイルに対応するファイル名のハッシュを含む名称ハッシュを生成することを含む、システム。
- 請求項85記載のシステムにおいて、前記ブロブの生成が、前記コンテンツ・ハッシュおよび名称ハッシュの組み合わせのハッシュを含むファイル・ハッシュを生成することを含む、システム。
- 請求項86記載のシステムにおいて、前記ブロブの生成が、前記ファイル名と、前記ファイルのコンテンツに対応するファイル・パスとのハッシュを含むパス・ハッシュを生成することを含む、方法。
- 請求項87記載のシステムにおいて、前記ブロブの生成が、前記ファイルのファイル・メタデータのハッシュを含むメタデータ・ハッシュを生成することを含む、システム。
- 請求項88記載のシステムにおいて、前記プラットフォームが、前記ファイルに対してレコードを生成し、前記レコードが、前記ファイルのブロブ・ハッシュ、前記コンテンツ・ハッシュ、前記ファイル・ハッシュ、前記パス・ハッシュ、および前記メタデータ・ハッシュを含む、システム。
- 請求項89記載のシステムにおいて、前記複数のデータベースが、ライブラリ・データベースを含み、前記ライブラリ・データベースが前記レコードを含む、システム。
- 請求項79記載のシステムにおいて、前記ブロブの生成が、あるサイズの前記ブロブを生成することを含む、システム。
- 請求項79記載のシステムにおいて、前記ファイルが、前記ファイルを含むブロブのリストとして記述される、システム。
- 請求項79記載のシステムにおいて、各エージェントが、当該エージェントをホストする前記クライアント・デバイスにブロブをローカルに格納し、以前に報告したことがないブロブを、前記プラットフォームの中央ストレージに転送する、システム。
- システムであって、
複数のデータベースに結合されたプロセッサを含むプラットフォームと、
前記プラットフォームに結合された複数のエージェントを含むグリッドであって、前記複数のエージェントの各エージェントが、クライアント・デバイス上で実行する前記プラットフォームのエージェントである、グリッドと、
前記複数のエージェントに対応する複数のクライアント・デバイスによってアクセス可能なメモリのコンテンツのメタデータであって、前記エージェントが、前記コンテンツの複数の断片をハッシュることによって、前記コンテンツに対応するメタデータを生成し、前記プラットフォームに供給し、前記プラットフォームが、前記コンテンツの格納、転送、および処理の内少なくとも1つを制御するタスクを含む複数のタスクを生成し前記複数のエージェントに割り当てるために、前記コンテンツの代わりに前記メタデータを用い、タスクが、当該タスクを担当する前記エージェントによってアクセス可能なコンテンツに対して実行される処理動作である、メタデータと、
を含む、システム。 - システムであって、
複数のデータベースに結合されたプロセッサを含むプラットフォームと、
前記プラットフォームに結合された複数のエージェントを含むグリッドであって、前記複数のエージェントの各エージェントが、クライアント・デバイス上で実行する前記プラットフォームのエージェントである、グリッドと、
を含み、各クライアント・デバイスの各エージェントが、前記クライアント・デバイスによってアクセス可能なメモリのコンテンツのメタデータを前記プラットフォームに供給し、
前記プラットフォームが、前記コンテンツの位置を判定し、前記コンテンツの状態を維持するための動作を表す目標を生成し、前記目標に対応する複数のタスクを生成し、各タスクを、前記タスクに対応するコンテンツにアクセスすることができるエージェントに割り当てるために、前記メタデータを用い、タスクが、前記プラットフォームによって指令され前記エージェントによってアクセス可能なコンテンツに対してエージェントによって実行される処理動作であり、前記複数のエージェントによって供給される前記メタデータが、前記複数のエージェントによって実行される前記複数のタスクの情報を含む、システム。 - システムであって、
複数のデータベースに結合されたプロセッサを含むプラットフォームと、
前記プラットフォームに結合された複数のエージェントを含むグリッドであって、前記複数のエージェントの各エージェントが、クライアント・デバイス上で実行する前記プラットフォームのエージェントである、グリッドと、
前記複数のエージェントに対応する複数のクライアント・デバイスによってアクセス可能なメモリのコンテンツのメタデータであって、各エージェントが、当該エージェントがアクセスすることができるコンテンツに対応するメタデータを生成し前記プラットフォームに供給し、各エージェントが、前記コンテンツの複数の断片をハッシュして前記複数の断片を表す複数のブロブを生成することによって、前記メタデータを生成し、前記プラットフォームが、複数のタスクを生成し前記複数のエージェントに割り当てるために、前記コンテンツの代わりに前記メタデータを用い、タスクが、当該タスクを担当する前記エージェントによってアクセス可能なコンテンツに対して実行される処理動作であり、前記複数のタスクが、前記コンテンツを監視する、格納する、転送する、および処理する内少なくとも1つであるタスクを含む、メタデータと、
を含む、システム。 - 方法であって、
プロセッサを含むプラットフォームを複数のデータベースに結合するステップと、
複数のエージェントを前記プラットフォームに結合することによってグリッドを形成するステップであって、前記複数のエージェントの内各エージェントが、クライアント・デバイス上で実行する前記プラットフォームのエージェントである、ステップと、
各エージェントにおいてメタデータを生成し、コンテンツの代わりに前記メタデータを前記プラットフォームに供給するステップであって、前記メタデータが、前記複数のエージェントに対応する複数のクライアント・デバイスによってアクセス可能な前記メモリのコンテンツに対応する、ステップと、
前記メタデータによって、前記コンテンツの位置を判定するステップと、
前記メタデータによって、前記コンテンツの状態を維持するための動作を表す目標を生成するステップと、
前記メタデータによって、前記目標に対応する複数のタスクを生成するステップと、
各タスクを、当該タスクに対応する前記コンテンツにアクセスすることができるエージェントに割り当てるステップであって、各タスクが、前記プラットフォームによって指令され前記エージェントによってアクセス可能なコンテンツに対してエージェントによって実行される処理動作である、ステップと、
を含む、方法。 - 請求項97記載の方法であって、前記プラットフォームが前記複数のエージェントに対してマスタ・コントローラとして動作するステップを含み、前記複数のエージェントが、前記複数のタスクによって制御される通りに、前記プラットフォームと協同して作業する、方法。
- 請求項97記載の方法であって、前記複数のエージェントの内各エージェントが、前記プラットフォームおよび前記複数のエージェントの内いずれの他のエージェントとも独立して機能するステップを含む、方法。
- 請求項97記載の方法であって、前記プラットフォームが、前記コンテンツを受け取る代わりに、前記コンテンツのメタデータを受け取るステップを含み、前記複数のエージェントをホストする複数のクライアント・デバイスが、前記コンテンツを含む分散型記憶デバイスを含む、方法。
- 請求項97記載の方法であって、前記プラットフォームが、前記複数のデータベースにおいて、前記複数のエージェントのコンテンツのマスタ・インデックスを維持するために、前記メタデータを用いる、方法。
- 請求項97記載の方法において、前記メタデータが、前記コンテンツの位置についてのデータを含む、方法。
- 請求項97記載の方法において、前記メタデータが、前記コンテンツの状態についてのデータを含む、方法。
- 請求項97記載の方法において、前記メタデータが、複数のエージェントの識別情報についてのデータを含む、方法。
- 請求項97記載の方法において、前記メタデータが、各エージェントがアクセスすることができるコンテンツについてのデータを含む、方法。
- 請求項97記載の方法において、前記メタデータが、前記複数のエージェントによって実行される前記複数のタスクの情報を含む、方法。
- 請求項97記載の方法において、前記タスクが、前記グリッドにわたって前記コンテンツの位置を追跡することに関する、方法。
- 請求項97記載の方法において、前記タスクが、前記グリッドにわたって前記コンテンツの格納を管理することに関する、方法。
- 請求項97記載の方法において、前記タスクが、前記グリッドにわたって前記コンテンツの移動を管理することに関する、方法。
- 請求項97記載の方法において、前記タスクが、前記グリッドにわたって前記コンテンツを処理することに関する、方法。
- 請求項97記載の方法において、各タスクが、当該タスクに対する完了条件を含む、方法。
- 請求項97記載の方法であって、前記複数のエージェントが、前記プラットフォームによって指令される通りに、前記コンテンツを集合的に監視するステップを含む、方法。
- 請求項97記載の方法であって、前記複数のエージェントが、前記プラットフォームによって指令される通りに、前記コンテンツを集合的に格納するステップを含む、方法。
- 請求項97記載の方法であって、前記複数のエージェントが、前記プラットフォームによって指令される通りに、前記コンテンツを集合的に転送するステップを含む、方法。
- 請求項97記載の方法であって、前記複数のエージェントが、前記プラットフォームによって指令される通りに、前記コンテンツに対する処理動作を集合的に実行するステップを含む、方法。
- 請求項97記載の方法であって、各クライアント・デバイスの各エージェントが、前記クライアント・デバイスによってアクセス可能なメモリのコンテンツにインデックスを付けるステップを含む、方法。
- 請求項97記載の方法において、前記複数のデータベースが、前記プラットフォームに利用可能なエージェントと、各エージェントの情報とを含むエージェント・データベースを含む、方法。
- 請求項97記載の方法において、各エージェントが少なくとも1つのライブラリを含み、ライブラリが、読み取りアクセスおよび書き込みアクセスの内少なくとも1つを含むアクセスを、前記エージェントが行うことができるデバイスを表す、方法。
- 請求項118記載の方法において、前記複数のデータベースが、前記複数のエージェントに対応するライブラリのリストを含むライブラリ・データベースを含み、前記グリッドの各ライブラリが、前記ライブラリ・データベースにおいて別々に表される、方法。
- 請求項119記載の方法において、各エージェントが、当該エージェントに対応する各ライブラリにアクセスすることができる、方法。
- 請求項118記載の方法において、前記複数のデータベースが、前記目標のリストを含む目標データベースを含み、前記目標のリストの各目標が、前記プラットフォームによって生成され、少なくとも1つのライブラリに対応し、前記目標が、対応するライブラリコンテンツに対して動作を実行するために用いられる、方法。
- 請求項121記載の方法であって、タスクが実行されるべきライブラリの集合体を含むように、前記目標のリストを生成するステップを含む、方法。
- 請求項121記載の方法において、各目標が、少なくとも1つのライブラリに対応し、対応するライブラリのコンテンツに対して少なくとも1つのタスクを実行するためにエージェントによって用いられる、方法。
- 請求項121記載の方法であって、前記プラットフォームが、前記複数のエージェントの複数のライブラリを読み取るために、前記目標を用いるステップを含む、方法。
- 請求項121記載の方法であって、前記プラットフォームが、前記複数のエージェントによってアクセス可能な前記コンテンツにおいて不一貫性および不一致の内少なくとも1つを識別するために前記目標を用いるステップを含む、方法。
- 請求項125記載の方法であって、前記プラットフォームが、前記コンテンツにおいて識別された不一貫性および不一致の内少なくとも1つを解消する少なくとも1つのタスクを生成するために前記目標を用いるステップを含む、方法。
- 請求項97記載の方法において、前記複数のデータベースが、作業データベースを含む、方法。
- 請求項127記載の方法であって、前記プラットフォームが各エージェントに対応する作業データベースを生成するステップを含み、前記作業データベースが、前記対応するエージェントによって実行されるべきタスクを含む、方法。
- 請求項128記載の方法において、前記作業データベースが、対応するエージェントによって実行されるべき各タスクの記述と、前記エージェントが前記タスクを実行するために必要な情報とを含む、方法。
- 請求項97記載の方法において、前記複数のデータベースが、前記複数のエージェントの能力の情報を含む能力データベースを含む、方法。
- 請求項97記載の方法において、前記複数のデータベースが、前記複数のエージェントのレコードを含み維持する同期データベースを含む、方法。
- 請求項131記載の方法において、前記同期データベースが、前記複数のエージェントのコンテンツのファイル状態のレコードを含む、方法。
- 請求項132記載の方法において、前記同期データベースが、ファイル毎にエントリを含み、前記エントリが、前記ファイルに対応するコンテンツ・ハッシュを含み、前記コンテンツ・ハッシュが、前記ファイルのコンテンツを表すブロブのリストのハッシュを含み、前記ブロブのリストの各ブロブが、前記コンテンツにおけるファイルの断片の表現を含み、前記断片が前記ファイルのコンポーネントである、方法。
- 請求項132記載の方法において、前記同期データベースが、エージェント毎にエントリを含み、前記エントリが、前記エージェントのファイルに対応するコンテンツ・ハッシュを含み、前記コンテンツ・ハッシュが、前記ファイルのコンテンツを表すブロブのリストのハッシュを含み、前記ブロブのリストの各ブロブが、前記コンテンツにおけるファイルの断片の表現を含み、前記断片が前記ファイルのコンポーネントである、方法。
- 請求項97記載の方法であって、前記プラットフォームが、前記複数のエージェントを用いて、クライアント・デバイス間におけるコンテンツの転送を制御するステップを含む、方法。
- 請求項135記載の方法であって、前記プラットフォームが、前記複数のエージェントを用いて、クライアント・デバイス間におけるコンテンツの同期を制御するステップを含み、前記コンテンツの同期が、前記コンテンツにおける変化に応答して、前記コンテンツを同期させることを含む、方法。
- 請求項135記載の方法において、前記コンテンツの転送が、コンテンツのブロック・レベルの非シーケンシャル転送である、方法。
- 請求項137記載の方法において、前記コンテンツの転送が、前記コンテンツの第1ブロックを第2クライアント・デバイスから第1クライアント・デバイスに転送すること、および前記コンテンツの第2ブロックを第3クライアント・デバイスから第1クライアント・デバイスに転送することを含む、方法。
- 請求項97記載の方法において、前記複数のタスクがスキャン・タスクを含む、方法。
- 請求項139記載の方法において、前記スキャン・タスクが、前記エージェントが当該エージェントに対応するライブラリを再帰的に監視し、前記ライブラリに対するあらゆる変化を前記プラットフォームに報告することを含む、方法。
- 請求項140記載の方法において、前記報告が、前記変化を含む前記ライブラリのファイルを、前記エージェントをホストする前記クライアント・デバイスのローカル・データベース内に置き、前記ローカル・データベースのメタデータを前記プラットフォームに供給することを含む、方法。
- 請求項97記載の方法において、前記複数のタスクが書き込みタスクを含む、方法。
- 請求項142記載の方法において、前記書き込みタスクが、前記エージェントがファイルの少なくとも1つのブロブを第1位置から第2位置にコピーすることを含み、前記第1位置および第2位置の各々が、前記グリッドに結合されたクライアント・デバイスに対応する、方法。
- 請求項143記載の方法において、前記少なくとも1つのブロブが、前記コンテンツにおけるファイルの断片の表現を含み、前記断片が前記ファイルのコンポーネントである、方法。
- 請求項142記載の方法において、前記書き込みタスクが、完了の条件を含む、方法。
- 請求項145記載の方法において、前記完了の条件が、前記書き込みタスクに対応する前記ブロブを引き出すこと、および前記書き込みタスクの間に上書きされるべき前記ブロブが正しいファイルに対応することを識別することの内少なくとも1つを含む、方法。
- 請求項97記載の方法において、前記複数のタスクが、前記コンテンツのファイルの表現を、前記エージェントによってアクセス可能なデバイスからリモート記憶デバイスにコピーすることを含むアップロード・タスクを含む、方法。
- 請求項147記載の方法であって、前記エージェントが、前記エージェントによってアクセス可能な前記コンテンツへの前記ファイルの追加を前記プラットフォームに報告し、応答して、前記プラットフォームが、前記ファイルをアップロードするタスクを前記エージェントに割り当てるステップを含む、方法。
- 請求項148記載の方法であって、前記タスクに応答して、前記エージェントが、前記ファイルが前記リモート記憶デバイスに存在するか否か判定し、前記ファイルが不在であると判定されたときに、前記ファイルの表現を前記リモート記憶デバイスにアップロードするステップを含む、方法。
- 請求項147記載の方法において、前記アップロード・タスクが、前記エージェントがファイルの少なくとも1つのブロブを、前記エージェントによってアクセス可能な前記デバイスから前記リモート記憶デバイスにコピーすることを含む、方法。
- 請求項150記載の方法において、前記少なくとも1つのブロブが、前記ファイルの断片の表現を含み、前記断片が前記ファイルのコンポーネントである、方法。
- 請求項97記載の方法において、前記複数のタスクが削除タスクを含む、方法。
- 請求項97記載の方法において、タスクが、整列、保留、および完了の内少なくとも1つを含む複数のフェーズを含み、前記プラットフォームが前記複数のタスクの内各タスクのフェーズを追跡する、方法。
- 請求項97記載の方法であって、各エージェントが、当該エージェントに割り当てられるタスクをローカルに前記クライアント・デバイスに維持するステップを含む、方法。
- 請求項154記載の方法であって、前記エージェントが、割り当てられるタスクを識別するために、前記プラットフォームを周期的にポールするステップを含む、方法。
- 請求項97記載の方法において、エージェントが、タスクを完了するために必要とされリモート・デバイスに配置されるタスク情報を突き止めるために階層を含む、方法。
- 請求項156記載の方法において、前記階層が、前記エージェントが、当該エージェントをホストする前記クライアント・デバイスのローカル・データベースを検索することを含む、方法。
- 請求項157記載の方法において、前記階層が、前記エージェントが、前記タスク情報を突き止めるために、前記複数のエージェントの内少なくとも1つのピア・エージェントと通信することを含む、方法。
- 請求項158記載の方法において、前記エージェントが、前記タスク情報を所持するピア・エージェントの識別情報を含む、方法。
- 請求項158記載の方法において、前記階層が、前記エージェントが、リモート記憶デバイスから前記タスク情報を引き出すことを含む、方法。
- 請求項160記載の方法であって、前記エージェントが、前記プラットフォームからピア・エージェントの識別情報を整列リストで受け取り、前記整列リストにしたがって前記タスク情報を検索するステップを含む、方法。
- 請求項97記載の方法において、各エージェントが、並列に実行する複数のコンポーネントを含む、方法。
- 請求項162記載の方法において、前記複数のコンポーネントが、前記エージェントに指定されたタスクを前記プラットフォームから引き出し、前記エージェントをホストする前記クライアント・デバイスにローカルなタスク・データベースに、引き出したタスクを格納するプロバイダ・コンポーネントを含む、方法。
- 請求項163記載の方法において、前記複数のコンポーネントが、タスク実行コンポーネントを含む、方法。
- 請求項164記載の方法において、前記複数のコンポーネントが、前記タスク・データベースを監視し、各タスクを前記タスク・データベースから引き出し、引き出したタスクを前記タスク実行コンポーネントに供給し、前記引き出したタスクが保留ステータスを有するように指定する実行コンポーネントを含む、方法。
- 請求項165記載の方法であって、前記タスク実行コンポーネントが前記タスクを実行し、タスク実行のステータスを前記実行コンポーネントに報告するステップを含む、方法。
- 請求項166記載の方法であって、前記実行コンポーネントが前記ステータスを前記タスク・データベースに報告するステップを含む、方法。
- 請求項167記載の方法において、前記複数のコンポーネントが、前記タスク・データベースを監視して完了ステータスを有するタスクを探し出し、完了タスクのステータス情報を前記プラットフォームに報告する更新コンポーネントを含む、方法。
- 請求項168記載の方法であって、前記プラットフォームが、前記ステータス情報に応答して、前記複数のデータベースを更新するステップを含む、方法。
- 請求項97記載の方法であって、前記複数のエージェントが、前記メタデータを生成するステップを含み、エージェントによって生成されるメタデータが、当該エージェントがアクセスすることができるコンテンツに対応する、方法。
- 請求項170記載の方法であって、前記エージェントが、当該エージェントがアクセスすることができる各ファイルのコンテンツをスキャンすることによって、前記メタデータを生成するステップを含む、方法。
- 請求項171記載の方法であって、前記エージェントが、前記ファイルのコンテンツを複数の断片に分割することによって、前記メタデータを生成するステップを含み、各断片が前記ファイルの可変サイズ・コンポーネントを含む、方法。
- 請求項172記載の方法において、前記可変サイズの断片が、予め指定された最少長と最大長との間である、方法。
- 請求項172記載の方法であって、前記エージェントが、前記複数の断片を表す複数のブロブを生成することによって、前記メタデータを生成するステップを含み、各ブロブが断片を表す、方法。
- 請求項172記載の方法であって、前記エージェントが、データ・フィンガープリンティング・アルゴリズムを用いて、前記複数のブロブを生成するステップを含み、前記データ・フィンガープリンティング・アルゴリズムが、前記コンテンツのバイト毎に、前記コンテンツのコンポーネントに対してハッシュ・アルゴリズムを実行することを含み、前記ハッシュ・アルゴリズムが、指定されたデータ・パターンを識別するように設定される、方法。
- 請求項175記載の方法において、前記ブロブの生成が、前記ブロブによって表される断片が前記ファイルの残り部分から分離されたポイントにおけるハッシュの値を含む、前記ブロブの記述を生成することを含む、方法。
- 請求項176記載の方法において、前記ブロブの生成が、前記ブロブによって表される前記断片のブレーク・ポイントに基づいてオフセット値を生成することを含む、方法。
- 請求項177記載の方法において、前記ブロブの生成が、前記ブロブの完全なコンテンツのハッシュを生成することを含み、前記ブロブの完全なコンテンツのハッシュが、前記ブロブの識別子となる、方法。
- 請求項178記載の方法において、前記ブロブの生成が、前記ファイルのコンテンツを表すブロブのリストを生成することを含む、方法。
- 請求項179記載の方法において、前記ブロブの生成が、前記ファイルのコンテンツを表すブロブのリストのハッシュを含むコンテンツ・ハッシュを生成することを含み、前記コンテンツ・ハッシュが前記ファイルの識別子となる、方法。
- 請求項180記載の方法において、前記ブロブの生成が、前記ファイルに対応するファイル名のハッシュを含む名称ハッシュを生成することを含む、方法。
- 請求項181記載の方法において、前記ブロブの生成が、前記コンテンツ・ハッシュおよび名称ハッシュの組み合わせのハッシュを含むファイル・ハッシュを生成することを含む、方法。
- 請求項182記載の方法において、前記ブロブの生成が、前記ファイル名と、前記ファイルのコンテンツに対応するファイル・パスとのハッシュを含むパス・ハッシュを生成することを含む、方法。
- 請求項183記載の方法において、前記ブロブの生成が、前記ファイルのファイル・メタデータのハッシュを含むメタデータ・ハッシュを生成することを含む、方法。
- 請求項184記載の方法であって、前記プラットフォームが、前記ファイルに対してレコードを生成するステップを含み、前記レコードが、前記ファイルのブロブ・ハッシュ、前記コンテンツ・ハッシュ、前記ファイル・ハッシュ、前記パス・ハッシュ、および前記メタデータ・ハッシュを含む、方法。
- 請求項185記載の方法において、前記複数のデータベースが、ライブラリ・データベースを含み、前記ライブラリ・データベースが前記レコードを含む、方法。
- 請求項175記載の方法において、前記ブロブの生成が、あるサイズの前記ブロブを生成することを含む、方法。
- 請求項175記載の方法において、前記ファイルが、前記ファイルを含むブロブのリストとして記述される、方法。
- 請求項175記載の方法であって、各エージェントが、当該エージェントをホストする前記クライアント・デバイスにブロブをローカルに格納し、以前に報告したことがないブロブを、前記プラットフォームの中央ストレージに転送するステップを含む、方法。
- 方法であって、
プロセッサを含むプラットフォームを複数のデータベースに結合するステップと、
複数のエージェントを前記プラットフォームに結合することによってグリッドを形成するステップであって、各エージェントが、クライアント・デバイス上で実行する前記プラットフォームのエージェントである、ステップと、
各エージェントにおいて、当該エージェントによってアクセス可能なコンテンツの複数の断片をハッシュすることによって、メタデータを生成するステップであって、前記メタデータが、前記複数のエージェントに対応する複数のクライアント・デバイスによってアクセス可能な前記メモリのコンテンツに対応する、ステップと、
前記メタデータを前記プラットフォームに、前記コンテンツの代わりに供給するステップと、
前記メタデータを用いて、前記コンテンツを格納する、転送する、および処理するの内少なくとも1つを制御するタスクを含む複数のタスクを生成するステップであって、タスクが、当該タスクを担当するエージェントによってアクセス可能なコンテンツに対して実行される処理動作である、ステップと、
前記複数のタスクを前記複数のエージェントに割り当てるステップと、
を含む、方法。 - 方法であって、
プロセッサを含むプラットフォームを複数のデータベースに結合するステップと、
複数のエージェントを前記プラットフォームに結合することによってグリッドを形成するステップであって、内各エージェントが、クライアント・デバイス上で実行する前記プラットフォームのエージェントである、ステップと、
各クライアント・デバイスの各エージェントによって、当該クライアント・デバイスによってアクセス可能なメモリのコンテンツのメタデータを前記プラットフォームに供給するステップと、
前記メタデータによって、前記コンテンツの位置を判定するステップと、
前記メタデータによって、前記コンテンツの状態を維持するための動作を表す目標を生成するステップと、
前記メタデータによって、前記目標に対応する複数のタスクを生成するステップと、
各タスクを、当該タスクに対応する前記コンテンツにアクセスすることができるエージェントに割り当てるステップであって、タスクが、前記プラットフォームによって指令されエージェントによってアクセス可能なコンテンツ上における前記エージェントによって実行される処理動作であり、複数のエージェントによって供給される前記メタデータが、前記複数のエージェントによって実行される前記複数のタスクの情報を含む、ステップと、
を含む、方法。 - 方法であって、
プロセッサを含むプラットフォームと複数のデータベースとの間に結合を確立するステップと、
複数のエージェントを前記プラットフォームに結合することによってグリッドを形成するステップであって、前記複数のエージェントの内各エージェントが、クライアント・デバイス上で実行する前記プラットフォームのエージェントである、ステップと、
各エージェントにおいて、前記複数のエージェントに対応する複数のクライアント・デバイスによってアクセス可能なメモリのコンテンツを表すメタデータを生成するステップであって、前記生成が、前記コンテンツの複数の断片をハッシュして前記複数の断片を表す複数のブロブを生成することを含む、ステップと、
前記メタデータを前記プラットフォームに、前記コンテンツの代わりに供給するステップと、
前記メタデータによって複数のタスクを生成するステップであって、タスクが、当該タスクを担当するエージェントによってアクセス可能なコンテンツに対して実行される処理動作であり、前記複数のタスクが、前記コンテンツを監視する、格納する、転送する、および処理する内少なくとも1つを行うタスクを含む、ステップと、
前記複数のタスクを前記複数のエージェントに割り当てるステップと、
を含む、方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261585137P | 2012-01-10 | 2012-01-10 | |
US61/585,137 | 2012-01-10 | ||
PCT/US2013/021058 WO2013106590A2 (en) | 2012-01-10 | 2013-01-10 | Cloud-based distributed data system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015512071A true JP2015512071A (ja) | 2015-04-23 |
JP2015512071A5 JP2015512071A5 (ja) | 2016-04-07 |
JP6284489B2 JP6284489B2 (ja) | 2018-02-28 |
Family
ID=48782081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014552306A Active JP6284489B2 (ja) | 2012-01-10 | 2013-01-10 | クラウド・ベースの分散型データ・システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20130254163A1 (ja) |
EP (1) | EP2803006B1 (ja) |
JP (1) | JP6284489B2 (ja) |
KR (1) | KR102074006B1 (ja) |
WO (1) | WO2013106590A2 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9122696B2 (en) | 2012-12-06 | 2015-09-01 | International Business Machines Corporation | Sharing electronic file metadata in a networked computing environment |
AU2014218519A1 (en) * | 2013-02-21 | 2015-08-27 | Red Rain Corporation Pty Ltd | Web-based publishing of enterprise !nformation |
WO2015039028A1 (en) * | 2013-09-13 | 2015-03-19 | Unicom Systems, Inc. | Distributed data system with document management and access control |
US9703638B2 (en) * | 2013-12-27 | 2017-07-11 | Oracle International Corporation | System and method for supporting asynchronous invocation in a distributed data grid |
US20150186370A1 (en) * | 2013-12-27 | 2015-07-02 | A4 Data, Inc. | System and method for updating files through differential compression |
US10284894B2 (en) | 2014-02-03 | 2019-05-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatus for naming video content chunks |
CN104970883A (zh) * | 2014-04-04 | 2015-10-14 | 杭州智尔科技有限公司 | 一种基于云计算的体检系统 |
US9888266B2 (en) | 2014-04-22 | 2018-02-06 | Vivint, Inc. | Pushing video to panels and sending metadata tag to cloud |
US10459892B2 (en) | 2014-04-23 | 2019-10-29 | Qumulo, Inc. | Filesystem hierarchical aggregate metrics |
US10623601B2 (en) * | 2015-06-08 | 2020-04-14 | Docsolid Llc | Inserting a graphical symbol into a print stream for a document file that does not include the graphical symbol |
US10931848B2 (en) | 2015-06-08 | 2021-02-23 | Docsolid Llc | Adding a graphical symbol to a print stream for a document file |
US10341436B2 (en) * | 2016-09-14 | 2019-07-02 | Dell Products L.P. | Using cloud storage as temporary cache for backup |
US10783327B2 (en) | 2016-12-30 | 2020-09-22 | Microsoft Technology Licensing, Llc | Using a personal digital assistant to retrieve an item from a remote source |
US10650153B2 (en) | 2017-01-31 | 2020-05-12 | Ent. Services Development Corporation Lp | Electronic document access validation |
US20200410377A1 (en) * | 2018-03-05 | 2020-12-31 | Trustees Of Tufts College | Systems and methods for synergistic sharing of architectural components of intelligent agents |
US10511730B1 (en) | 2018-06-07 | 2019-12-17 | Kyocera Document Solutions Inc. | Method to create a secure distributed data validation system using a distributed storage system and artificial intelligence |
WO2020180754A1 (en) * | 2019-03-01 | 2020-09-10 | Singulardtv, Gmbh | Decentralized digital content distribution system and process using block chains and encrpyted peer-to-peer network |
KR102196549B1 (ko) * | 2019-06-13 | 2020-12-29 | 박흥열 | 다수 수냉식 전자장치의 냉각수 분배 제어를 위한 펌프 어레이 및 관제 시스템 |
US11422856B2 (en) * | 2019-06-28 | 2022-08-23 | Paypal, Inc. | Adaptive program task scheduling to blocking and non-blocking queues |
US10795796B1 (en) | 2020-01-24 | 2020-10-06 | Qumulo, Inc. | Predictive performance analysis for file systems |
US11775481B2 (en) | 2020-09-30 | 2023-10-03 | Qumulo, Inc. | User interfaces for managing distributed file systems |
US11132126B1 (en) | 2021-03-16 | 2021-09-28 | Qumulo, Inc. | Backup services for distributed file systems in cloud computing environments |
US11567660B2 (en) | 2021-03-16 | 2023-01-31 | Qumulo, Inc. | Managing cloud storage for distributed file systems |
US11687496B2 (en) | 2021-03-22 | 2023-06-27 | Hewlett Packard Enterprise Development Lp | Synchronization of distributed data files |
US11669255B2 (en) | 2021-06-30 | 2023-06-06 | Qumulo, Inc. | Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations |
US11599508B1 (en) * | 2022-01-31 | 2023-03-07 | Qumulo, Inc. | Integrating distributed file systems with object stores |
US11722150B1 (en) | 2022-09-28 | 2023-08-08 | Qumulo, Inc. | Error resistant write-ahead log |
US11729269B1 (en) | 2022-10-26 | 2023-08-15 | Qumulo, Inc. | Bandwidth management in distributed file systems |
US11934660B1 (en) | 2023-11-07 | 2024-03-19 | Qumulo, Inc. | Tiered data storage with ephemeral and persistent tiers |
US11921677B1 (en) | 2023-11-07 | 2024-03-05 | Qumulo, Inc. | Sharing namespaces across file system clusters |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001345850A (ja) * | 2000-06-02 | 2001-12-14 | Nec Corp | コールエージェント用呼制御データの集中管理方法及びシステム |
JP2005025759A (ja) * | 2003-07-01 | 2005-01-27 | Microsoft Corp | インスタントメッセージングオブジェクトストア |
US7155487B2 (en) * | 2000-11-30 | 2006-12-26 | Intel Corporation | Method, system and article of manufacture for data distribution over a network |
JP2011003187A (ja) * | 2009-06-22 | 2011-01-06 | Samsung Electronics Co Ltd | クラウドストレージを提供するクライアント、仲介サーバ及び方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001025954A2 (en) * | 1999-10-01 | 2001-04-12 | Accenture Llp | Information service architectures for netcentric computing systems |
USRE42153E1 (en) * | 2000-03-30 | 2011-02-15 | Hubbard Edward A | Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures |
US9678967B2 (en) | 2003-05-22 | 2017-06-13 | Callahan Cellular L.L.C. | Information source agent systems and methods for distributed data storage and management using content signatures |
US20050198317A1 (en) * | 2004-02-24 | 2005-09-08 | Byers Charles C. | Method and apparatus for sharing internet content |
EP1920393A2 (en) * | 2005-07-22 | 2008-05-14 | Yogesh Chunilal Rathod | Universal knowledge management and desktop search system |
US8214516B2 (en) * | 2006-01-06 | 2012-07-03 | Google Inc. | Dynamic media serving infrastructure |
US8468244B2 (en) * | 2007-01-05 | 2013-06-18 | Digital Doors, Inc. | Digital information infrastructure and method for security designated data and with granular data stores |
US8019737B2 (en) * | 2008-03-13 | 2011-09-13 | Harris Corporation | Synchronization of metadata |
US8108912B2 (en) * | 2008-05-29 | 2012-01-31 | Red Hat, Inc. | Systems and methods for management of secure data in cloud-based network |
WO2010036889A1 (en) * | 2008-09-25 | 2010-04-01 | Bakbone Software, Inc. | Remote backup and restore |
US9614924B2 (en) * | 2008-12-22 | 2017-04-04 | Ctera Networks Ltd. | Storage device and method thereof for integrating network attached storage with cloud storage services |
US20110178890A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Common services web hosting architecture with multiple branding |
US8341222B2 (en) * | 2010-04-02 | 2012-12-25 | Microsoft Corporation | Text suggestion framework with client and server model |
US8850219B2 (en) * | 2010-05-13 | 2014-09-30 | Salesforce.Com, Inc. | Secure communications |
-
2013
- 2013-01-10 EP EP13736456.8A patent/EP2803006B1/en active Active
- 2013-01-10 JP JP2014552306A patent/JP6284489B2/ja active Active
- 2013-01-10 WO PCT/US2013/021058 patent/WO2013106590A2/en active Application Filing
- 2013-01-10 KR KR1020147021548A patent/KR102074006B1/ko active IP Right Grant
- 2013-01-10 US US13/738,796 patent/US20130254163A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001345850A (ja) * | 2000-06-02 | 2001-12-14 | Nec Corp | コールエージェント用呼制御データの集中管理方法及びシステム |
US7155487B2 (en) * | 2000-11-30 | 2006-12-26 | Intel Corporation | Method, system and article of manufacture for data distribution over a network |
JP2005025759A (ja) * | 2003-07-01 | 2005-01-27 | Microsoft Corp | インスタントメッセージングオブジェクトストア |
JP2011003187A (ja) * | 2009-06-22 | 2011-01-06 | Samsung Electronics Co Ltd | クラウドストレージを提供するクライアント、仲介サーバ及び方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2803006A2 (en) | 2014-11-19 |
KR102074006B1 (ko) | 2020-02-25 |
WO2013106590A2 (en) | 2013-07-18 |
JP6284489B2 (ja) | 2018-02-28 |
KR20150023218A (ko) | 2015-03-05 |
EP2803006B1 (en) | 2019-09-25 |
EP2803006A4 (en) | 2016-04-06 |
US20130254163A1 (en) | 2013-09-26 |
WO2013106590A3 (en) | 2014-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6284489B2 (ja) | クラウド・ベースの分散型データ・システム | |
US10873629B2 (en) | System and method of implementing an object storage infrastructure for cloud-based services | |
US11663355B2 (en) | Systems and methods for facilitating access to private files using a cloud storage system | |
US10445517B1 (en) | Protecting data in insecure cloud storage | |
US10374798B2 (en) | System and method for rotating client security keys | |
JP6810172B2 (ja) | 文書管理およびアクセス制御を有する分散データシステム | |
US20150127607A1 (en) | Distributed data system with document management and access control | |
US10887279B2 (en) | Scalable cloud hosted metadata service | |
US10917260B1 (en) | Data management across cloud storage providers | |
US10893106B1 (en) | Global namespace in a cloud-based data storage system | |
Ratner | Better Object Storage With Hitachi Content Platform | |
JP6435616B2 (ja) | ストレージ装置、ストレージシステム、ストレージシステムの制御方法および制御プログラム | |
Srikanth et al. | Decentralized Cloud Storage using Unutilized Storage in PC | |
JP2023184393A (ja) | データベースシステムのためのネイティブマルチテナンシ | |
Kumar et al. | Cross-user level de-duplication using distributive soft links | |
Wang | Efficient and secure deduplication for cloud-based backups | |
BHAVANA et al. | EFFECTIVE CLOUD STORAGE IN DISTRIBUTED SYSTEM USING KEY-VALUE STORES |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20150203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20150203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160108 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160108 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20160108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170321 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20170620 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170920 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180110 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6284489 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |