JP2023502909A - インテリジェント・データ・プール - Google Patents

インテリジェント・データ・プール Download PDF

Info

Publication number
JP2023502909A
JP2023502909A JP2022527662A JP2022527662A JP2023502909A JP 2023502909 A JP2023502909 A JP 2023502909A JP 2022527662 A JP2022527662 A JP 2022527662A JP 2022527662 A JP2022527662 A JP 2022527662A JP 2023502909 A JP2023502909 A JP 2023502909A
Authority
JP
Japan
Prior art keywords
computer
data
distributed computing
metadata
component
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.)
Pending
Application number
JP2022527662A
Other languages
English (en)
Inventor
フィンクラー、ウルリッヒ、アルフォンス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023502909A publication Critical patent/JP2023502909A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

インテリジェント・データ・プールに関する技術が提供される。本明細書で述べられる実施形態は、コンピュータ実行可能構成要素を記憶することができるメモリを備えたシステムを含み得る。このシステムはまた、メモリに記憶されたコンピュータ実行可能構成要素を実行できるプロセッサを備え得る。コンピュータ実行可能構成要素は、ディレクトリ構造に依存せずに、定義された一時的アクセス制約を有するグループにファイル・システム・オブジェクトをパーティションするために、分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンの意味解析を行うデータ・プール構成要素を備えることができる。コンピュータ実行可能構成要素はまた、分散コンピューティング・ネットワークのノード上のセクタを、アドレス・セクションに定義することによって、データをディレクトリ構造に組織化するディレクトリ構成要素と、ディレクトリ構造のデータからメタデータを分離し、データ・アクセス・パターンに基づいて、連続した仮想メモリ・セクション内のグループに、メタデータをパーティションするパーティション構成要素とを備えることができる。

Description

本主題の開示はインテリジェント・データ・プールに関し、より詳細には、ファイル・システム・ディレクトリ構造に依存せずに、一時的アクセス制限または結果としてのステータス保証あるいはその両方を組織化する、または変化するアクセス・パターンに対する一時的アクセス制限の動的適合を組み込む、あるいはその両方を行うための方式として具現化されたインテリジェント・データ・プールに関する。
以下は、本発明の1つまたは複数の実施形態の基本的な理解をもたらすための概要を提示する。この概要は、主要なもしくは決定的に重要な要素を特定する、または特定の実施形態の範囲もしくは特許請求の範囲を定めるものではない。その唯一の目的は、後に提示される、より詳細な説明の序文として、簡略化された形で概念を提示することである。本明細書で述べられる1つまたは複数の実施形態において、ファイル・システム・ディレクトリ構造に依存せずに、一時的アクセス制限または結果としてのステータス保証あるいはその両方を組織化する、または変化するアクセス・パターンに対する一時的アクセス制限の動的適合を組み込む、あるいはその両方を行うための方式として具現化されたインテリジェント・データ・プールのシステム、コンピュータによって実施される方法、装置、またはコンピュータ・プログラム製品あるいはその組合せが述べられる。
一態様によれば、コンピュータ実行可能構成要素を記憶することができるメモリを備えた、システムがもたらされる。このシステムはまた、メモリに動作可能に結合され、メモリに記憶されたコンピュータ実行可能構成要素を実行することができるプロセッサを備えることができる。コンピュータ実行可能構成要素は、ディレクトリ構造に依存せずに、定義された一時的アクセス制約を有するグループにファイル・システム・オブジェクトをパーティションするために、分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンの意味解析を行うことができるデータ・プール構成要素を備えることができる。
本発明の他の態様によれば、システムは、コンピュータ実行可能構成要素を記憶することができるメモリを備える。このシステムはまた、メモリに動作可能に結合され、メモリに記憶されたコンピュータ実行可能構成要素を実行することができるプロセッサを備えることができる。コンピュータ実行可能構成要素は、分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンに基づいて、ファイル・システム・ディレクトリに依存せずに、ファイル・システム・オブジェクトの一時的アクセス制限を組織化するための方式を決定することができるデータ・プール構成要素を備えることができる。
一実施形態によれば、コンピュータによって実施される方法がもたらされる。このコンピュータによって実施される方法は、プロセッサに動作可能に結合されたシステムによって、ディレクトリ構造に依存せずに、定義された一時的アクセス制約を有するグループにファイル・システム・オブジェクトをパーティションするために、分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンの意味解析を行うことを含むことができる。
一実施形態によれば、他のコンピュータによって実施される方法がもたらされる。このコンピュータによって実施される方法は、プロセッサに動作可能に結合されたシステムによって、分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンに基づいて、ファイル・システム・ディレクトリに依存せずに、ファイル・システム・オブジェクトの一時的アクセス制限を組織化するための方式を決定することを含むことができる。
一実施形態によれば、分散コンピューティング・ネットワーク内に含まれるデータを管理するためのコンピュータ・プログラム製品がもたらされる。このコンピュータ・プログラム製品は、プログラム命令がそれに具現化された、コンピュータ可読記憶媒体を備えることができる。プログラム命令は、プロセッサに、プロセッサによって、ディレクトリ構造に依存せずに、定義された一時的アクセス制約を有するグループにファイル・システム・オブジェクトをパーティションするために、分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンの意味解析を行わせるようにプロセッサによって実行可能とされ得る。
本明細書で述べられる1つまたは複数の実施形態による、1つまたは複数のディレクトリ構造に依存せずに、一時的制限を有するグループにファイル・システム・オブジェクトをパーティションすることができる例示の、非限定的なシステムのブロック図である。 本明細書で述べられる1つまたは複数の実施形態による、分散コンピューティング・ネットワーク内のデータを管理するために、1つまたは複数のセクタまたはオブジェクト辞書あるいはその両方を生成することができる例示の、非限定的なシステムのブロック図である。 本明細書で述べられる1つまたは複数の実施形態による、仮想アドレス空間の1つまたは複数の連続したセクション内のグループに、ファイル・システム・ディレクトリのデータからメタデータを分離することができる例示の、非限定的なシステムのブロック図である。 本明細書で述べられる1つまたは複数の実施形態による、アクセス・パターンに基づいて、仮想アドレス空間の1つまたは複数の連続したセクション内のメタデータのパーティショニングを動的に適合することができる例示の、非限定的なシステムのブロック図である。 本明細書で述べられる1つまたは複数の実施形態による、メタデータ・パーティショニングの動的適合を容易にするために行われ得る例示の、非限定的なツリー操作の図である。 本明細書で述べられる1つまたは複数の実施形態による、機械学習を使用して1つまたは複数の将来のアクセス・パターンを予測し、仮想アドレス空間の1つまたは複数の連続したセクション内のメタデータのパーティショニングを容易にすることができる例示の、非限定的なシステムのブロック図である。 本明細書で述べられる1つまたは複数の実施形態による、1つまたは複数のディレクトリ構造に依存せずに、一時的制限を有するグループにファイル・システム・オブジェクトをパーティションすることができる例示の、非限定的なコンピュータによって実施される方法のフロー図である。 本明細書で述べられる1つまたは複数の実施形態による、1つまたは複数のディレクトリ構造に依存せずに、一時的制限を有するグループにファイル・システム・オブジェクトをパーティションすることができる例示の、非限定的なコンピュータによって実施される方法のフロー図である。 本明細書で述べられる1つまたは複数の実施形態による、1つまたは複数のディレクトリ構造に依存せずに、一時的制限を有するグループにファイル・システム・オブジェクトをパーティションすることができる例示の、非限定的なコンピュータによって実施される方法のフロー図である。 本明細書で述べられる1つまたは複数の実施形態によるクラウド・コンピューティング環境を示す図である。 本明細書で述べられる1つまたは複数の実施形態による抽象化モデル・レイヤを示す図である。 本明細書で述べられる1つまたは複数の実施形態が容易にされ得る例示の、非限定的な動作環境のブロック図である。
以下の詳細な説明は単に例示的なものであり、実施形態、または実施形態の応用もしくは使用あるいはその組合せを限定するものではない。さらに、先の「技術分野」もしくは「発明の概要」の項において、または「発明を実施するための形態」の項において提示されるいずれの明示的または暗黙的情報にも拘束されるものではない。
次に1つまたは複数の実施形態が図面を参照して述べられ、全体にわたって類似の参照符号は類似の要素を指すように用いられる。以下の説明において、説明のために、1つまたは複数の実施形態のより十分な理解をもたらすように、数多くの特定の詳細が述べられる。しかし、様々な場合において、それらの1つまたは複数の実施形態はこれらの特定の詳細がなくても実施され得ることが明らかである。
クラウド・コンピューティング環境またはクラスタ環境あるいはその両方(例えば、機械学習タスクまたは深層学習モデルあるいはその両方を訓練するための)における分散コンピューティング・ソリューションは、従来の単一ノード展開を超えたデータ・アクセスに対する、および従来の高性能コンピューティング(「HPC」)要件とは著しく異なる要件を有し得る。大きなデータセット(例えば、数テラバイト(「TB」)以上)が、部分的または完全なランダム・アクセスで繰り返しトラバースされ得る。しかし、別個のストレージ・サーバからロードすることは、ネットワーク・インフラストラクチャに著しい負担を加え得る。例えば、10TBのデータ上での機械学習訓練の100エポック(epoch)を行う100個のコンピュータ・アプリケーションは、データ・セットが単一のコンピュータ・ノードのローカル・キャッシング容量に対して大き過ぎる場合、10TBのデータ・トラフィックを引き起こし得る。
ストレージ・サーバに対するデータ・トラフィックを低減するための解決策は、ネットワークの各コンピュータ・ノードに、ローカル・ソリッド・ステート・ドライブ(「SSD」)または不揮発性メモリ・エクスプレス(「NVMe」)デバイスあるいはその両方上に訓練データのコピーを供給するなど、ローカル記憶装置を使用することとなってきている。データは、各コンピュータ・ノードがデータの異なる一部分を取得できるように、パーティションされ得る。しかし、ローカル記憶装置を使用することは、特定のデータ・パーティショニングの展開が必要になり得、ランダム化を放棄する、またはシステムの間の同期に対する頻繁な変更を必要とするあるいはその組合せが生じる。さらに、ローカルSSDまたはNVMeデバイスあるいはその両方は、コンピュータ・ノード容量の合計に等しい容量を有する大きなファイル・システムを作成するように、分散ファイル・システムを通してコンピュータ・ノード上にバンドルされ得る。しかし、SSDまたはNVMeデバイスあるいはその両方をバンドルすることは、データ・アクセスにおける待ち時間を増加させ得る。
従来のファイル・システムまたは分散ファイル・システムあるいはその両方は、トラバースする、コピーする、または多数のファイル118を有するディレクトリを読み出すあるいはその組合せを行うために著しい時間が必要になり得る。例えば、専用インデックス内の100万項目をトラバースすることは数ミリ秒で行われることができ、SSDデバイスのローカル・ファイル・システム内の100万項目をトラバースすることは数秒かかる場合があり、および分散ファイル・システム上の100万項目をトラバースすることは数分かかり得る。上記で概説された性能オーバーヘッドの根本原因は、データだけでなく、ファイル・ステータスまたはアクセス許可あるいはその両方(例えば、ファイル・システムの一貫性)へのアクセスでもあり得る。
本発明の様々な実施形態は、1つまたは複数のデータ・アクセス・パターンの意味解析を通じて、分散コンピューティング・ネットワークにわたる、データ・インデックス作成またはアクセスあるいはその両方の、効率的、効果的、および自律的な(例えば直接の人による指導なしでの)管理を容易にする、コンピュータ処理システム、コンピュータによって実施される方法、装置、またはコンピュータ・プログラム製品あるいはその組合せを対象とすることができる。例えば、本明細書で述べられる1つまたは複数の実施形態は、ファイル・システム・ディレクトリ構造に依存せずにデータを特徴付ける、1つまたは複数の一時的アクセス制限またはステータス保証あるいはその両方を組織化することに関係し得る。加えて、様々な実施形態は、変化するアクセス・パターンに対して1つまたは複数の一時的アクセス制限を動的に適合すること、または機械学習技術(例えば、深層学習モデリング)を使用して、過去のアクセス・シーケンスに基づいて近い将来の動作要求を外挿すること、あるいはその両方を含むことができる。
コンピュータ処理システム、コンピュータによって実施される方法、装置、またはコンピュータ・プログラム製品あるいはその組合せは、本質的に高度に技術的であり(例えば、分散コンピューティング・ネットワーク内のデータ・インデックス作成またはアクセスあるいはその両方を管理する)、抽象化ではなく、人間によって精神的な活動のセットとして行われ得ない問題を解決するために、ハードウェアまたはソフトウェアあるいはその両方を使用する。例えば、個人、または複数の個人は、コンピューティング・ネットワーク内に分散されたデータに対する一時的アクセス権を管理するために、連続した仮想メモリ・セクション内のグループに、メタデータをパーティションすることはできない。本明細書で述べられる様々な実施形態は、ネットワークにわたってデータを識別または処理あるいはその両方を行うために必要な動作時間を急速に減少させるように、ファイル・ステータスおよびアクセス許可の管理を通して、分散コンピューティング・ネットワークの性能オーバーヘッドを低減することができる。加えて、コンピュータ処理システム、コンピュータによって実施される方法、装置、またはコンピュータ・プログラム製品あるいはその組合せは、過去の動作に基づいて近い将来の動作を近似的に予測するために、ハードウェアまたはソフトウェアあるいはその両方を使用して機械学習を実施し、それによって1つまたは複数のファイル・システム・オブジェクトの最適の帰属関係を、仮想アドレス空間の連続したセクションに近似する。
図1は、本明細書で述べられる1つまたは複数の実施形態による、1つまたは複数のディレクトリ構造に依存せずに、一時的制限を有するグループにファイル・システム・オブジェクトをパーティションすることができる例示の、非限定的なシステム100のブロック図を示す。本明細書で述べられる他の実施形態で使用される類似の要素の繰返しの説明は、簡潔にするために省かれる。例えば、本明細書で述べられる1つまたは複数の実施形態は、ファイル・システム・オブジェクトを、1つまたは複数のディレクトリ構造とは異なる組織的構造にパーティションすることができる。さらに、1つまたは複数のファイル・システム・オブジェクトは、過去の、または予測される近い将来のデータ動作に基づいて変更され得る、1つまたは複数のアクセス制限を用いてパーティションされ得る。本発明の様々な実施形態におけるシステム(例えば、システム100など)、装置、またはプロセスの態様は、1つまたは複数のマシン内に具現化された、例えば、1つまたは複数のマシンに関連付けられた1つまたは複数のコンピュータ可読媒体内に具現化された、1つまたは複数の機械実行可能構成要素を構成することができる。このような構成要素は、1つまたは複数のマシン、例えば、コンピュータ、コンピューティング・デバイス、仮想マシンなどによって実行されたとき、述べられる動作をマシンに行わせることができる。
図1に示されるように、システム100は、1つまたは複数のサーバ102、1つまたは複数のネットワーク104、またはホスト・デバイス106あるいはその組合せを備えることができる。サーバ102は、データ・プール構成要素108を含むことができる。データ・プール構成要素108は、通信構成要素110をさらに備えることができる。また、サーバ102は、少なくとも1つのメモリ112を備え得る、または他の形でそれに関連付けられ得る。サーバ102は、非限定的にデータ・プール構成要素108および関連付けられた構成要素、メモリ112、またはプロセッサ116あるいはその組合せなど、様々な構成要素に結合することができるシステム・バス114をさらに備え得る。図1にはサーバ102が示されるが、他の実施形態では、様々なタイプの複数のデバイス(例えば、パーソナル・コンピュータまたは他のコンピュータ化されたデバイスあるいはその両方)が、図1に示される機能に関連付けられる、またはそれらを備えることができる。さらに、サーバ102は、1つまたは複数のクラウド・コンピューティング環境と通信することができる。
1つまたは複数のネットワーク104は、非限定的に、セルラ・ネットワーク、広域ネットワーク(WAN)(例えば、インターネット)、またはローカル・エリア・ネットワーク(LAN)を含む、有線および無線ネットワークを備えることができる。例えば、サーバ102は、例えば、非限定的に、セルラ、WAN、ワイヤレス・フィデリティ(Wi-Fi)、Wi-MAX、WLAN、ブルートゥース(R)技術、それらの組合せ、またはその他あるいはその組合せを含む、実質的に任意の所望の有線または無線技術を用いた、1つまたは複数のホスト・デバイス106と通信することができる(および逆も同様)。さらに、示される実施形態においてデータ・プール構成要素108は、1つまたは複数のサーバ102上に設けられ得るが、システム100のアーキテクチャはそのように限定されないことが理解されるべきである。例えば、データ・プール構成要素108、またはデータ・プール構成要素108の1つまたは複数の構成要素は、他のサーバ・デバイス、クライアント・デバイスなど、他のコンピュータ・デバイスに配置され得る。
1つまたは複数のホスト・デバイス106は、分散コンピューティング・ネットワーク内のコンピュータ・ノードとすることができる。例えば、1つまたは複数のホスト・デバイス106は、1つまたは複数の中央処理装置(「CPU」)またはグラフィックス処理装置(「GPU」)あるいはその両方を備えることができる。加えて、1つまたは複数のホスト・デバイス106は、SSDまたはNVMeデバイスあるいはその両方など、1つまたは複数のドライブを備えることができる。様々な実施形態において、システム100は、複数のホスト・デバイス106を備えることができ、このホスト・デバイス106は、1つもしくは複数のネットワーク104または直接の電気的接続あるいはその両方を通じて、互いにまたはサーバ102あるいはその両方と通信することができる。さらに1つまたは複数のホスト・デバイス106は、1つもしくは複数のネットワーク104または直接の電気的接続あるいはその両方を通じて、ファイルの1つまたは複数の階層的集合118に(例えば、1つまたは複数のメモリ112に記憶された)、アクセスすることができる。さらに、ファイルの1つまたは複数の階層的集合118の1つまたは複数の部分は、ホスト・デバイス106の1つまたは複数上に記憶される、並べて配置される、または同じ場所に配置されるあるいはその組合せとすることができる。
様々な実施形態において、システム100の1つまたは複数のホスト・デバイス106は、ファイルの1つまたは複数の階層的集合118を分析する、更新する、編集する、監視する、または他の形で操作するあるいはその組合せを行うために使用され得る。ファイルの集合118は、例えば、非線形データ構造体(例えば、木構造)など、1つまたは複数の階層構造に組織化され得る。例えば、システム100は、1つまたは複数のホスト・デバイス106を利用して、分散コンピューティング・ネットワークにわたる1つまたは複数の動作要求を生成するために使用され得る。例えば、1つまたは複数のホスト・デバイス106は、1つまたは複数の機械学習モデルの訓練を容易にすることができる、分散コンピューティング・ネットワーク内に含まれ得る。
データ・プール構成要素108は、ネットワーク104にわたるデータ・トラフィックを誘導するように、1つまたは複数のホスト・デバイス106と通信することによって、ファイルの1つまたは複数の階層的集合118内に含まれるデータの位置、ステータス、またはアクセス・プロパティあるいはその組合せに関して、ファイル・システム・ディレクトリを管理することができる。さらにデータ・プール構成要素108は、ディレクトリ構造に依存せずに、1つまたは複数の定義された一時的アクセス制約を有するグループにファイル・システム・オブジェクトをパーティションすることによって、ホスト・デバイス106の分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンの1つまたは複数の意味解析を行うことができる。例えば、データ・プール構成要素108は、1つまたは複数の仮想アドレス空間を、ファイルの1つまたは複数の階層的集合118内のデータから分離されたメタデータを組織化するように、1つまたは複数の連続したセクションにパーティションすることができる。メタデータは、観測されたデータ・アクセス・パターンに基づいて、仮想アドレス空間の1つまたは複数の連続したセクション内のグループにパッケージされ得る。さらに、様々な実施形態において、データ・プール構成要素108は、繰り返し発生するアクセス・パターンに基づいて、ネットワーク104にわたる要求を最少化するために、データのステータスに関する決定、またはアクセス許可あるいはその両方の局所化を可能にするように、メタデータのパーティショニングを調整することができる(例えば、メタデータ・パーティショニングを再編成することができる、1つまたは複数の垂直または水平あるいはその両方のツリー分割または合併あるいはその両方によって)。
通信構成要素110は、1つもしくは複数の直接の電気的接続、または1つもしくは複数のネットワーク104あるいはその両方による、データ・プール構成要素108またはその関連する構成要素あるいはその両方と、1つまたは複数のホスト・デバイス106との間の通信を容易にすることができる。加えて、通信構成要素110は、ホスト・デバイス106の間の1つまたは複数の通信を監視することができる(例えば、ホスト・デバイス106の間のデータ・トラフィックの間の仲介物として働くことによって)。
図2は、本明細書で述べられる1つまたは複数の実施形態による、ディレクトリ構成要素202をさらに備える、例示の、非限定的なシステム100の図を示す。本明細書で述べられる他の実施形態で使用される類似の要素の繰返しの説明は、簡潔にするために省かれる。様々な実施形態において、ディレクトリ構成要素202は、ホスト・デバイス106の分散コンピューティング・ネットワーク内のデータの、位置、階層、ステータス、またはアクセス・プロパティあるいはその組合せを特性化するために、セクタ・ディレクトリまたはオブジェクト辞書あるいはその両方など、1つまたは複数のディレクトリ構造を生成するまたは管理するあるいはその両方を行うことができる。例えば、ディレクトリ構成要素202は、1つまたは複数のホスト・デバイス106から、一連のセクタをマッピングすることによって、1つまたは複数のディレクトリ構造を生成するまたは管理するあるいはその両方を行うことができる。
1つまたは複数の実施形態において、ディレクトリ構成要素202は、ホスト・デバイス106上の一連のセクタを、1つまたは複数のアドレス・セクションに組織化することができる。例えば、ディレクトリ構成要素202は、セクタが単一の64ビット数によって識別され得るように、セクタをホスト・デバイス106上にマッピングすることができる。例えば、「H」個のホスト・デバイス106は「D[h]」個のドライブを備え、ディレクトリ構成要素202は、所与のドライブ「[h,d]」に対して、いくつかのセクタ「S[h,d]」を定義することができる。さらに、ディレクトリ構成要素202は、ホスト・デバイス106をセクタ容量に基づいてセクタ・マップ内で順序付ける、またはホスト・デバイス106をオフセット値によって描写する、あるいはその両方を行うことができる。例えば、第1のホスト・デバイス106(「H1」)は、ゼロのオフセット値および10の容量値を有することができ、それによって第2のホスト・デバイス(「H2」)は、10のオフセット値(例えば、前のホスト・デバイス106H1の容量値に基づいて)、および10の容量値を有することができ、そうすると第3のホスト・デバイス(「H3」)は、10+10のオフセット値を有することができ(例えば、前のホスト・デバイス106H1+H2の累積容量に基づいて)、ホスト・デバイス106のそれぞれに対して以下同様である。このようにして、ディレクトリ構成要素202は、セクタを平衡二分木に順序付けすることによって、セクタ・マップを生成することができ(例えば、データ挿入または削除あるいはその両方に関わらず、その高さを自動的に最小化するノード・ベースの二分探索木)、このディレクトリ構成要素202は、所与のセクタが位置するホスト・デバイス106、またはそれぞれのホスト・デバイス106の容量あるいはその両方に基づいて、セクタのそれぞれに識別番号を割り当てることができる。また、各ホスト・デバイス106は、セクタ・マップのコピーにアクセスすることができる(例えば、通信構成要素110および1つまたは複数のネットワーク104を通じて、平衡二分木にアクセスする)。それによって、分散コンピューティング・ネットワークに対するリモート要求は、単一の識別番号(例えば、単一の64ビット数)を通じたセクタ要求となることができる。
加えて、ディレクトリ構成要素202は、ファイルの1つまたは複数の階層的集合118内に含まれるファイル・システム・オブジェクトを、1つまたは複数のオフセット値に基づいて、1つまたは複数のメタデータ・ブロックにマッピングすることができる、1つまたは複数のオブジェクト・ツリーを生成することができる。例えば、ディレクトリ構成要素202は、ファイル・システム・オブジェクトを、所与のファイル・システム・オブジェクトに関連付けられた所有権データ、許可データ、タイム・スタンプ・データ、またはコンテンツ参照データあるいはその組合せを備える、メタデータ・ブロックにマッピングすることができる。様々な実施形態において、メタデータ・ブロックは、同じメモリ・フットプリントを共有することができ、またはメタデータ・ブロックに関連付けられた仮想アドレス空間のセクションに特有のメモリ管理を利用して処理されることができあるいはその両方ができる。メタデータ・ブロックに、短いオブジェクト名が含められることができ、他の場合オブジェクト名は1つまたは複数のオブジェクト・ツリー内で拡大され得る。1つまたは複数の実施形態において、ディレクトリ構成要素202は、パトリシア木などの基数木、または赤黒木などの平衡二分木を利用して、ファイル・システム・オブジェクトおよびメタデータ・ブロックをマッピングすることができる。さらに階層構造(例えば、基数木構造または平衡二分木構造あるいはその両方)は、リンク情報(例えば、ツリー内の位置と、メタデータの仮想アドレス空間のセクションとの間の相関を特性化する)、またはファイル情報(例えば、所与のファイルに関連付けられた規定されたセクタのうちの1つまたは複数を描写する)あるいはその両方を、直接データ・ツリー・トポロジのブロック内に備えることができる。
図3は、本明細書で述べられる1つまたは複数の実施形態による、パーティション構成要素302をさらに備える、例示の、非限定的なシステム100の図を示す。本明細書で述べられる他の実施形態で使用される類似の要素の繰返しの説明は、簡潔にするために省かれる。様々な実施形態において、パーティション構成要素302は、ファイルの1つもしくは複数の階層的集合118のデータまたはディレクトリ構成要素202によって生成される1つもしくは複数のディレクトリ構造によって特徴付けられたデータあるいはその両方からメタデータを分離し、1つもしくは複数の連続体にすることができる。例えば、パーティション構成要素302は、1つまたは複数のデータ・アクセス・パターン、またはメタデータに関連付けられた一時的アクセス制限あるいはその両方に基づいて、メタデータを1つまたは複数の連続体にパーティションすることによって、メタデータを分離することができる。
本明細書で用いられるように、「連続体」という用語は、1つまたは複数の仮想アドレス空間の1つまたは複数の連続したセクションを指すことができる。1つまたは複数の連続体はオブジェクト・ツリーの部分木とすることができ、1つまたは複数の連続体はそれぞれのメモリ・アロケータを有することができる。様々な実施形態において、パーティション構成要素302は、関連データのツリー階層とは異なる順序で、1つまたは複数の連続体内のメタデータをグループ化することができる。1つまたは複数の連続体は、ホスト・デバイス106の分散コンピューティング・ネットワークによって、メタデータを効率的にロード、転送、または書込みあるいはその組合せを行うように、大きな粒度を呈することができる。様々な実施形態において、パーティション構成要素302は、1つまたは複数のセクションが物理メモリによって裏付けされることなく、仮想アドレス空間の1つまたは複数のセクションを割り振ることができる。それによってデータ・プール構成要素108は、前のサイズ設定プロパティを考慮する必要なく、1つまたは複数の仮想アドレス空間内の、特定のより大きな粒度の組織化を有する、細かい粒度で結び付けられたデータ構造体を構築するまたは調整するあるいはその両方を行う。
例えば、1つまたは複数の連続体の仮想アドレス空間は、初期に物理メモリによって裏付けされなくてよく、任意の2つの異なる連続体によってカバーされる仮想アドレス空間サブセットは、ばらばらであり得る。連続体の作成は、物理メモリによって裏付けされない仮想アドレス空間のセクションを予約することができる(例えば、仮想アドレス空間がタスクによってアクセスされるのに従って、ページの物理的裏付けが追加され得る)。加えて、所与の連続体の解放は、仮想アドレス空間のセクションを、それが取得された1つまたは複数のホスト・デバイス106上のサービスに戻すことができる。様々な実施形態において、異なる連続体によってカバーされるアドレス範囲はばらばらであるので、仮想アドレス空間を管理するための中心的ディレクトリは必要ない。
さらに、1つまたは複数の連続体の動的成長は、仮想アドレス空間の次第に増加するようにサイズ設定されたセクションを用いることによって、パーティション構成要素302によって扱われることができる(例えば、所与の連続体におけるセクションの総数は、Olog(S)に等しくなることができ、「S」は所与の連続体のバイトでのサイズである)。連続体を作成するとすぐに、パーティション構成要素302は、仮想アドレス空間の第1のセクション内のマロック・サブシステムに対して、1つまたは複数のデータ構造体を生成することができる。その後すぐに、所与の連続体の選択は、連続体の別個のメモリ・アロケータを利用するために、メモリ管理をリダイレクトすることができ、このメモリ・アロケータは仮想アドレス空間セクションにおける切れ目を、セクションの容量に達するまで増加させることができ、その場合パーティション構成要素302は別のセクションを追加することができる。
様々な実施形態において、パーティション構成要素302は、連続体レベルで、メタデータの1つまたは複数の一時的アクセス権を管理することができる。1つまたは複数の連続体に関して、パーティション構成要素302によって定義され得る例示の一時的アクセス権は、排他的コマンド、読出し専用コマンド、コピーオンライト・コマンド、それらの組合せ、またはその他あるいはその組合せを含むことができるが、それらに限定されない。さらに、1つまたは複数の一時的アクセス権に関する決定は、所与のホスト・デバイス106に対してローカルとされ得る(例えば、使用が使用領域に従う限り)。メタデータのブロックは、1つまたは複数の開始アドレス、および1つまたは複数のオフセット値によって評価され得る(例えば、1つまたは複数の連続体は、1つまたは複数の仮想アドレス空間の1つまたは複数の値を変更することによって、配置された部分木の間で再配置され得る)。様々な実施形態において、連続体の数は、ファイル・システム・オブジェクトの数よりも小さな大きさの程度とすることができる。加えて、パーティション構成要素302は、1つまたは複数の仮想対物理連続体アドレス・テーブルによって、1つまたは複数の連続体を識別することができる。さらに、パーティション構成要素302は、ファイル許可を変更しない一時的アクセス状態によって1つまたは複数の連続体を特性化することができ、観測されたアクセス・パターンに基づいて、関連データに対する可能性が最も高いアクセス・パターンを反映させることができる。
1つまたは複数の実施形態において、パーティション構成要素302は、名前、データ・アクセス時間、またはその他あるいはその組合せのようなファイル・プロパティのための二分木など、データ構造体を保持できる1つまたは複数の第1の連続体を生成することができる。また、パーティション構成要素302は、二分木におけるセクタ・ブロックの集合を保持できる1つまたは複数の第2の連続体を生成することができ、各セクタ・ブロックは、1つまたは複数のホスト・デバイス106内の物理セクタへの参照を含むことができる。二分木、および従って連続体は、1つまたは複数のツリー操作を通して結び付けられ得る(例えば、垂直または水平分割あるいはその両方)。さらに、セクタ・ブロックは、関連付けられたツリー・エントリーに結び付けられ得る。
1つまたは複数の実施形態において、パーティション構成要素302はさらに、1つまたは複数の連続体の状態を、ディスク・スペースに対して定期的にコミットすることによって、連続体レイアウトを保管することができる。加えて、パーティション構成要素302はディスク・スペースに、任意のメタデータ修正のシーケンシャル・リストを書き込むことができる(例えば、適合構成要素402によって行われる修正であり、以下で図4に関して述べられる)。
図4は、本明細書で述べられる1つまたは複数の実施形態による、適合構成要素402をさらに備える、例示の、非限定的なシステム100の図を示す。本明細書で述べられる他の実施形態で使用される類似の要素の繰返しの説明は、簡潔にするために省かれる。様々な実施形態において、適合構成要素402は、1つまたは複数の観測されたデータ・アクセス・パターンに基づいて、1つまたは複数の分割または合併あるいはその両方によって、1つまたは複数の連続体を動的に調整することができる。
1つまたは複数の実施形態において、適合構成要素402は、1つまたは複数の連続体の位置または構成あるいはその両方を動的に調整するために、1つまたは複数の分割または合併操作を行うことができる。例えば、適合構成要素402は、ツリー階層に対して、1つもしくは複数の垂直分割、水平分割、垂直合併、または水平合併あるいはその組合せを行うことができる。様々な実施形態において、適合構成要素402は、既存の部分木に1つまたは複数の新たな連続体を追加すること(例えば、そうすると、連続体のうちの1つまたは複数は、後の時点で合併され得る)、1つまたは複数の連続体を分割すること(例えば、コンテンツを読出し専用連続体から移動する)、1つまたは複数の連続体を圧縮すること(例えば、規定された閾値に対してまばらになる1つまたは複数の連続体を再編成する)、機械学習を使用して、使用履歴に基づいて1つまたは複数の連続体レイアウトを最適化すること、またはその他あるいはその組合せを行うことができる。
様々な実施形態において、適合構成要素402は、仮想メモリ・セクションにおける穴を通じて、1つまたは複数の連続体を漸増的に圧縮することができる。例えば、適合構成要素402は、ツリー階層を更新しながら、連続体ブロックを、それの位置から仮想メモリ・セクション内の穴に移動することができる。さらに、適合構成要素402は、連続体の間の参照を作成するように、1つまたは複数のリンクを生成してツリー階層を増強することができる。
図5は、本明細書で述べられる1つまたは複数の実施形態による、1つまたは複数の連続体を生成または修正あるいはその両方を行うために、データ・プール構成要素108によって(例えば、パーティション構成要素302または適合構成要素402あるいはその両方を通じて)行われ得る例示の、非限定的なツリー操作の図を示す。本明細書で述べられる他の実施形態で使用される類似の要素の繰返しの説明は、簡潔にするために省かれる。図5に示されるように、ステージ502は、1つまたは複数の連続体を生成または修正あるいはその両方を行うために行われ得る、1つまたは複数のツリー操作の前のツリー階層を示す。図5のツリー階層において、四角形は1つまたは複数の連続体を表すことができ、網掛けされた四角形は、新たに生成されたまたは修正されたあるいはその両方の連続体を表すことができる。ステージ504は、1つまたは複数の連続体を生成または修正あるいはその両方を行うために、パーティション構成要素302または適合構成要素402あるいはその両方によって行われ得る、垂直分割ツリー操作を示す。例えば、ステージ504に示される垂直分割ツリー操作は、連続体を分割することに関係し得る。ステージ506は、1つまたは複数の連続体を生成または修正あるいはその両方を行うために、パーティション構成要素302または適合構成要素402あるいはその両方によって行われ得る水平分割ツリー操作を示す。例えば、ステージ506に示される水平分割ツリー操作は、1つまたは複数のファイル118を、読出し専用連続体に追加することに関係し得る。様々な実施形態において、1つまたは複数のツリー操作は、部分木のモードが影響される論理ベースの分割、またはメモリ管理動作が分離され、結果としてデータ再配置を生じる物理的分割とすることができる。例えば、1つまたは複数の連続体にパーティションされたメタデータに関連付けられたデータ・ツリー・トポロジのブロックは、1つまたは複数の連続体が、所与の連続体のアドレスの値を変更することによって、ツリー階層内で再配置され得るように、開始アドレスおよびオフセット値を通じてアクセスされ得る。例えば、ブロックのアドレス値は、ブロックをデータ・ツリー・トポロジ上の既存の他のブロックと合併させる、または所与のブロックに関連付けられた1つまたは複数の第2の連続体から離れて、ブロックに関連付けられた1つまたは複数の第1の連続体を再配置するあるいはその両方を行うように変更され得る(例えば、ステージ504または506あるいはその両方に示されるように)。
図6は本明細書で述べられる1つまたは複数の実施形態による、予測構成要素602をさらに備える、例示の、非限定的なシステム100の図を示す。本明細書で述べられる他の実施形態で使用される類似の要素の繰返しの説明は、簡潔にするために省かれる。様々な実施形態において、予測構成要素602は、1つまたは複数の機械学習技術を使用して、データの1つまたは複数の将来のデータ・アクセス・パターンを予測することができ、1つまたは複数の予測される将来のデータ・アクセス・パターンに基づいて、連続体のうちの1つまたは複数が生成されまたは調整されあるいはその両方が行われ得る(例えば、本明細書で述べられる1つまたは複数の分割または合併操作を通じて)。
1つまたは複数の実施形態において、予測構成要素602は、機械学習を用いて、近い将来のアクセス・パターンを予測することができる深層学習モデルを、連続的に訓練することができる。さらに、予測構成要素602は、待ち時間、リモート・アクセス、またはローカル・アクセス情報あるいはその組合せを収集して、最適の連続体レイアウトまたはデータ分布あるいはその両方をモデル化することができる。様々な実施形態において、適合構成要素402は、予測構成要素602によって訓練された1つまたは複数の深層学習モデルに基づいて、1つまたは複数の連続体をさらに調整することができる。例えば、1つまたは複数の連続体は、予測構成要素602によって生成された1つまたは複数の予測されたアクセス・パターンに基づいて、生成されまたは調整されあるいはその両方が行われ得る(例えば、適合構成要素402を通じて)。
図7は、本明細書で述べられる1つまたは複数の実施形態による、1つまたは複数のディレクトリ構造に依存せずに、一時的制限を有するグループにファイル・システム・オブジェクトをパーティションすることができる例示の、非限定的なコンピュータによって実施される方法のフロー図を示す。本明細書で述べられる他の実施形態で使用される類似の要素の繰返しの説明は、簡潔にするために省かれる。
702で、コンピュータによって実施される方法700は、プロセッサ116に動作可能に結合されたシステム100によって(例えば、データ・プール構成要素108を通じて)、ディレクトリ構造に依存せずに、定義された一時的アクセス制約を有するグループにファイル・システム・オブジェクトをパーティションするために、分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンの意味解析を行うことを含むことができる。本明細書で述べられるように、コンピュータによって実施される方法は(例えば、データ・プール構成要素108を通じて)、1つまたは複数の仮想アドレス空間を、ファイルの1つまたは複数の階層的集合118内のデータから分離されたメタデータを組織化するように、1つまたは複数の連続したセクションにパーティションすることができる。メタデータは、観測されたデータ・アクセス・パターンに基づいて、仮想アドレス空間の1つまたは複数の連続したセクション内のグループにパッケージされ得る。さらに、本明細書で述べられる様々な実施形態によれば、コンピュータによって実施される方法は(例えば、データ・プール構成要素108を通じて)、繰り返し発生するアクセス・パターンに基づいて、ネットワーク104にわたる要求を最少化するために、データのステータスに関する決定、またはアクセス許可あるいはその両方の局所化を可能にするように、メタデータのパーティショニングを調整することができる(例えば、メタデータ・パーティショニングを再編成することができる、1つまたは複数の垂直または水平あるいはその両方のツリー分割または合併あるいはその両方によって)。例えば、704で、コンピュータによって実施される方法700は、システム100によって、ディレクトリ構造のデータからメタデータを分離することを含むことができる(例えば、パーティション構成要素302を通じて)。加えて、706で、コンピュータによって実施される方法700は、システム100によって、データ・アクセス・パターンに基づいて、連続した仮想メモリ・セクション内のグループにメタデータをパーティションすることを含むことができる(例えば、パーティション構成要素302を通じて)。
図8は、本明細書で述べられる1つまたは複数の実施形態による、1つまたは複数のディレクトリ構造に依存せずに、一時的制限を有するグループにファイル・システム・オブジェクトをパーティションすることができる例示の、非限定的なコンピュータによって実施される方法のフロー図を示す。本明細書で述べられる他の実施形態で使用される類似の要素の繰返しの説明は、簡潔にするために省かれる。
802で、コンピュータによって実施される方法800は、プロセッサ116に動作可能に結合されたシステム100によって(例えば、データ・プール構成要素108を通じて)、ディレクトリ構造に依存せずに、定義された一時的アクセス制約を有するグループにファイル・システム・オブジェクトをパーティションするために、分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンの意味解析を行うことを含むことができる(例えば、データ・プール構成要素108を通じて)。本明細書で述べられるように、コンピュータによって実施される方法は(例えば、データ・プール構成要素108を通じて)、1つまたは複数の仮想アドレス空間を、ファイルの1つまたは複数の階層的集合118内のデータから分離されたメタデータを組織化するように、1つまたは複数の連続したセクションにパーティションすることができる。メタデータは、観測されたデータ・アクセス・パターンに基づいて、仮想アドレス空間の1つまたは複数の連続したセクション内のグループにパッケージされ得る。さらに、本明細書で述べられる様々な実施形態によれば、コンピュータによって実施される方法は(例えば、データ・プール構成要素108を通じて)、繰り返し発生するアクセス・パターンに基づいて、ネットワーク104にわたる要求を最少化するために、データのステータスに関する決定、またはアクセス許可あるいはその両方の局所化を可能にするように、メタデータのパーティショニングを調整することができる(例えば、メタデータ・パーティショニングを再編成することができる、1つまたは複数の垂直または水平あるいはその両方のツリー分割または合併あるいはその両方によって)。例えば、804で、コンピュータによって実施される方法800は、システム100によって、データを、分散コンピューティング・ネットワークのノード(例えば、1つまたは複数のホスト・デバイス106)上のセクタを1つまたは複数のアドレス・セクション内に定義することによって、ディレクトリ構造に組織化することを含むことができる(例えば、ディレクトリ構成要素202を通じて)。加えて、806で、コンピュータによって実施される方法800は、システム100によって、ディレクトリ構造のデータからメタデータを分離し、データ・アクセス・パターンに基づいて、連続した仮想メモリ・セクション内のグループにメタデータをパーティションすることを含むことができる(例えば、パーティション構成要素302を通じて)。また、808で、コンピュータによって実施される方法800は、システム100によって、分散コンピューティング・ネットワークにわたる動作要求を最少化するために、データの一貫性についての決定の局所化を可能にするように、仮想アドレス空間の1つまたは複数の連続したセクションを調整することを含むことができ、この調整することは、垂直分割、水平分割、垂直合併、または水平合併あるいはその組合せからなる群から選択される、1つまたは複数のツリー操作を含むことができる(例えば、適合構成要素402を通じて)。例えば、調整することは、図5に示される1つまたは複数のツリー操作に従って行われ得る。
図9は、本明細書で述べられる1つまたは複数の実施形態による、1つまたは複数のディレクトリ構造に依存せずに、一時的制限を有するグループにファイル・システム・オブジェクトをパーティションすることができる例示の、非限定的なコンピュータによって実施される方法900のフロー図を示す。本明細書で述べられる他の実施形態で使用される類似の要素の繰返しの説明は、簡潔にするために省かれる。
902で、コンピュータによって実施される方法900は、プロセッサ116に動作可能に結合されたシステム100によって、分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンに基づいて、ファイル・システム・ディレクトリに依存せずに、ファイル・システム・オブジェクトの一時的アクセス制限を組織化するための方式を決定することを含むことができる(例えば、データ・プール構成要素108を通じて)。本明細書で述べられるように、コンピュータによって実施される方法は(例えば、データ・プール構成要素108を通じて)、1つまたは複数の仮想アドレス空間を、ファイルの1つまたは複数の階層的集合118内のデータから分離されたメタデータを組織化するように、1つまたは複数の連続したセクションにパーティションすることができる。メタデータは、観測されたデータ・アクセス・パターンに基づいて、仮想アドレス空間の1つまたは複数の連続したセクション内のグループにパッケージされ得る。さらに、本明細書で述べられる様々な実施形態によれば、コンピュータによって実施される方法は(例えば、データ・プール構成要素108を通じて)、繰り返し発生するアクセス・パターンに基づいて、ネットワーク104にわたる要求を最少化するために、データのステータスに関する決定、またはアクセス許可あるいはその両方の局所化を可能にするように、メタデータのパーティショニングを調整することができる(例えば、メタデータ・パーティショニングを再編成することができる、1つまたは複数の垂直または水平あるいはその両方のツリー分割または合併あるいはその両方によって)。例えば、904で、コンピュータによって実施される方法900は、システム100によって、分散コンピューティング・ネットワークのノード上のセクタを、1つまたは複数のアドレス・セクションに定義することによって、データをファイル・システム・ディレクトリに組織化することを含むことができる(例えば、ディレクトリ構成要素202を通じて)。加えて、906で、コンピュータによって実施される方法900は、ファイル・システム・ディレクトリのデータからメタデータを分離することを含むことができ、データ・アクセス・パターンに基づいて、連続した仮想メモリ・セクション内のグループにメタデータをパーティションする(例えば、パーティション構成要素302を通じて)。また、908で、コンピュータによって実施される方法900は、分散コンピューティング・ネットワークにわたる動作要求を最少化するために、データの一貫性についての決定の局所化を可能にするように、仮想アドレス空間の1つまたは複数の連続したセクションを調整することを含むことができ、この調整することは、垂直分割、水平分割、垂直合併、または水平合併あるいはその組合せからなる群から選択される、ツリー操作を含む(例えば、適合構成要素402を通じて)。
本開示はクラウド・コンピューティングについての詳しい説明を含むが、本明細書に記載される教示の実施は、クラウド・コンピューティング環境に限定されないことが理解されるべきである。むしろ本発明の実施形態は、現在知られているまたは後に開発される任意の他のタイプのコンピューティング環境と共に実施される能力を有する。
クラウド・コンピューティングは、最小の管理努力またはサービスのプロバイダとの対話により迅速に用意され、リリースされ得る、構成可能なコンピューティング・リソース(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有されたプールへの便利な、オンデマンド・ネットワーク・アクセスを可能にするためのサービス供給のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含み得る。
特徴は以下の通りである。
オンデマンド・セルフサービス:クラウド消費者は、サービスのプロバイダとの人的対話を必要とせずに、自動的に必要に応じて、サーバ時間およびネットワーク・ストレージなど、コンピューティング能力を一方的に用意することができる。
広いネットワーク・アクセス:能力はネットワークを通して使用可能であり、標準の機構を通してアクセスされ、これは異種のシンまたはシック・クライアント・プラットフォーム(例えば携帯電話、ラップトップ、およびPDA)による使用を促進する。
リソース・プーリング:プロバイダのコンピューティング・リソースは、異なる物理および仮想リソースが需要に従って動的に割り当てられ、および再割当てされながら、マルチ・テナント・モデルを用いて複数の消費者にサービスするようにプールされる。消費者は一般に、用意されるリソースの正確な位置に対する制御または知識をもたないが、抽象化のより高いレベルにおいて位置を指定する(例えば国、州、またはデータセンタ)ことが可能になり得るという点で、位置的な独立性の感覚がある。
迅速な融通性:能力は、いくつかの場合において自動的に、速やかにスケール・アウトするように迅速におよび弾力的に用意されることができ、および速やかにスケール・インするように迅速に解放され得る。消費者には、用意するための使用可能な能力は、しばしば無限であるように見え、任意の時点で任意の量において購入され得る。
測定されるサービス:クラウド・システムは、サービスのタイプ(例えばストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適した、何らかのレベルの抽象化における計量能力を活用することによって、リソース使用を自動的に制御および最適化する。リソース使用量は監視され、制御され、および報告されて、利用されるサービスのプロバイダおよび消費者の両方に対して透明性をもたらすことができる。
サービス・モデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者にもたらされる能力は、クラウド・インフラストラクチャ上で実行するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えばウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通して、様々なクライアント・デバイスからアクセス可能である。限られたユーザ固有のアプリケーション構成設定を可能性のある例外として、消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、さらには個々のアプリケーション能力を含む、基礎をなすクラウド・インフラストラクチャを管理も制御もしない。
サービスとしてのプラットフォーム(PaaS):消費者にもたらされる能力は、プロバイダによってサポートされるプログラミング言語およびツールを用いて作成された、消費者により作成されたまたは取得されたアプリケーションを、クラウド・インフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎をなすクラウド・インフラストラクチャを管理も制御もしないが、展開されたアプリケーション、および場合によっては環境構成をホストするアプリケーションに対する制御を有する。
サービスとしてのインフラストラクチャ(IaaS):消費者にもたらされる能力は、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースを用意することであり、ここで、消費者は任意のソフトウェアを展開および実行することができ、これはオペレーティング・システムおよびアプリケーションを含むことができる。消費者は、基礎をなすクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システム、ストレージ、展開されたアプリケーションに対する制御、および場合によっては選ばれたネットワーキング構成要素(例えばホスト・ファイアウォール)の限られた制御を有する。
展開モデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは、専ら組織のために運用される。これは組織またはサード・パーティによって管理されることができ、構内または構外に存在し得る。
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共通の関心(例えばミッション、セキュリティ要件、ポリシー、およびコンプライアンス配慮)を有する特定のコミュニティをサポートする。これは組織またはサード・パーティによって管理されることができ、構内または構外に存在し得る。
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大きな業界グループに対して使用可能とされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データおよびアプリケーション可搬性(例えばクラウドの間の負荷バランスのためのクラウド・バースティング)を可能にする標準化されたまたは独自開発の技術によって一緒に結び付けられた、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の構成である。
クラウド・コンピューティング環境は、ステートレス性、低いカップリング、モジュール性、およびセマンティック相互運用性に焦点を当てて方向付けられたサービスである。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
次に図10を参照すると、例示のクラウド・コンピューティング環境1000が示される。示されるように、クラウド・コンピューティング環境1000は、例えば携帯情報端末(PDA)または携帯電話1004、デスクトップ・コンピュータ1006、ラップトップ・コンピュータ1008、または自動車コンピュータ・システム1010あるいはその組合せなどの、クラウド消費者によって用いられるローカル・コンピューティング・デバイスがそれと通信することができる、1つまたは複数のクラウド・コンピューティング・ノード1002を含む。ノード1002は互いに通信することができる。それらは、本明細書で上記で述べられたようなプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはそれらの組合せなどの、1つまたは複数のネットワークにおいて物理的または仮想的にグループ化され得る(図示せず)。これはクラウド・コンピューティング環境1000が、クラウド消費者はそのためにローカル・コンピューティング・デバイス上にリソースを維持する必要がない、サービスとしてのインフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せを提供することを可能にする。図10に示されるコンピューティング・デバイス1004~1010のタイプは例示のためのみであること、ならびにコンピューティング・ノード1002およびクラウド・コンピューティング環境1000は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能な接続(例えばウェブ・ブラウザを用いた)あるいはその両方を通して、任意のタイプのコンピュータ化されたデバイスと通信できることが理解される。
次に図11を参照すると、クラウド・コンピューティング環境1000(図10)によってもたらされる、機能抽象化レイヤのセットが示される。本明細書で述べられる他の実施形態で使用される類似の要素の繰返しの説明は、簡潔にするために省かれる。図11に示される構成要素、レイヤ、および機能は、例示のためのみであり、本発明の実施形態はそれらに限定されないことが予め理解されるべきである。示されるように、以下のレイヤおよび対応する機能がもたらされる。
ハードウェアおよびソフトウェア・レイヤ1102は、ハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム1104、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ1106、サーバ1108、ブレード・サーバ1110、記憶デバイス1112、ならびにネットワークおよびネットワーキング構成要素1114を含む。いくつかの実施形態において、ソフトウェア構成要素は、ネットワーク・アプリケーション・サーバ・ソフトウェア1116およびデータベース・ソフトウェア1118を含む。
仮想化レイヤ1120は抽象化レイヤをもたらし、それから以下の仮想エンティティの例、すなわち仮想サーバ1122、仮想ストレージ1124、仮想プライベート・ネットワークを含む仮想ネットワーク1126、仮想アプリケーションおよびオペレーティング・システム1128、ならびに仮想クライアント1130がもたらされ得る。
一例において管理レイヤ1132は、以下に述べられる機能をもたらすことができる。リソース供給1134は、クラウド・コンピューティング環境内でタスクを行うために利用される、コンピューティング・リソースおよび他のリソースの動的調達をもたらす。計量および価格設定1136は、クラウド・コンピューティング環境内でリソースが利用されるのに従ってコスト追跡、およびこれらのリソースの消費に対する請求書作成または請求をもたらす。一例においてこれらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド消費者およびタスクに対する識別情報検証、ならびにデータおよび他のリソースに対する保護をもたらす。ユーザ・ポータル1138は、消費者およびシステム管理者のために、クラウド・コンピューティング環境へのアクセスをもたらす。サービス・レベル管理1140は、必要なサービス・レベルが満たされるように、クラウド・コンピューティング・リソース割振りおよび管理をもたらす。サービス・レベル・アグリーメント(SLA)計画および履行1142は、SLAに従って将来の要件が予想される、クラウド・コンピューティング・リソースの事前準備および調達をもたらす。
作業負荷レイヤ1144は、クラウド・コンピューティング環境がそれのために利用され得る機能性の例を示す。このレイヤからもたらされ得る作業負荷および機能の例は、マッピングおよびナビゲーション1146、ソフトウェア開発およびライフサイクル管理1148、仮想教室教育配信1150、データ分析処理1152、トランザクション処理1154、ならびにデータ・インデックス作成またはアクセス管理1156あるいはその両方を含む。本発明の様々な実施形態は、図10および図11を参照して述べられたクラウド・コンピューティング環境を利用して、本明細書で述べられる1つまたは複数の実施形態により、1つまたは複数のディレクトリ構造に依存せずに、一時的制限を有するグループにファイル・システム・オブジェクトをパーティションすることができる。
本発明は、統合の任意の可能な技術的詳細レベルにおける、システム、方法、またはコンピュータ・プログラム製品あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を遂行させるための、コンピュータ可読プログラム命令をその上に有する、1つまたは複数のコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスとすることができる。コンピュータ可読記憶媒体は、例えば電子的記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁的記憶デバイス、半導体記憶デバイス、またはこれらの任意の適切な組合せとすることができるが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラマブル読出し専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読出し専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたはその上に記録された命令を有する溝状の隆起構造などの機械的エンコード型デバイス、およびこれらの任意の適切な組合せを含む。本明細書で用いられるように、コンピュータ可読記憶媒体とは、電波または他の自由に伝搬する電磁波、導波路または他の伝送媒体を通して伝搬する電磁波(例えば光ファイバ・ケーブルを通過する光パルス)、または線材を通して送信される電気信号など、それ自体が一時的信号であると解釈されるものではない。
本明細書で述べられるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワークあるいはその組合せを通じて、外部コンピュータまたは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅の伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはその組合せを備え得る。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体における記憶のために転送する。
本発明の動作を遂行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存型命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様なプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードのいずれかとすることができる。コンピュータ可読プログラム命令は、スタンド・アロン・ソフトウェア・パッケージとして、専らユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、あるいは専らリモート・コンピュータまたはサーバ上で、実行することができる。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む、任意のタイプのネットワークを通してユーザのコンピュータに接続されることができ、または外部コンピュータへの接続がなされ得る(例えばインターネット・サービス・プロバイダを用いてインターネットを通して)。いくつかの実施形態において、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の態様を行うために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人化することによって、コンピュータ可読プログラム命令を実行し得る。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の、フローチャート図またはブロック図あるいはその両方を参照して本明細書で述べられる。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実施され得ることが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータのプロセッサまたは他のプログラマブル・データ処理装置によって実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するための手段を作成するように、マシンを生じるべく、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサにもたらされることができる。これらのコンピュータ可読プログラム命令はまた、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて規定された機能/動作の態様を実施する命令を含んだ製品を備えるように、特定のやり方で機能するようにコンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに指示することができる、コンピュータ可読記憶媒体に記憶され得る。
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされて、コンピュータによって実施されるプロセスを生じるべく、一連の動作ステップが、コンピュータ、他のプログラマブル装置、または他のデバイス上で行われるようにさせることができる。
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を示す。この関連において、フローチャートまたはブロック図における各ブロックは、指定された1つまたは複数の論理機能を実施するための1つまたは複数の実行可能命令を備える、モジュール、セグメント、または命令の一部分を表すことができる。いくつかの代替的実装形態において、ブロック内に記された機能は、図に記されたものとは異なる順序で生じ得る。例えば連続して示される2つのブロックは、実際は、実質的に並行して実行されることができ、またはブロックは関わる機能に応じて、時には逆の順序で実行され得る。またブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を行う、または専用ハードウェアおよびコンピュータ命令の組合せを遂行する、専用ハードウェア・ベースのシステムによって実施され得ることが留意されるであろう。
本明細書で述べられる様々な実施形態に対する追加の関連性を示すために、図12および以下の議論は、本明細書で述べられる実施形態の様々な実施形態が実施され得る、適切なコンピューティング環境1200の一般的な説明をもたらすためのものである。実施形態は、1つまたは複数のコンピュータ上で実行できるコンピュータ実行可能命令との一般的な関連において上述されたが、当業者は、実施形態はまた、他のプログラム・モジュールとの組合せにおいて、またはハードウェアおよびソフトウェアの組合せとしてあるいはその両方で実施され得ることを認識するであろう。
一般に、プログラム・モジュールは、特定のタスクを行う、または特定の抽象化データ・タイプを実施する、ルーチン、プログラム、コンポーネント、データ構造体などを含む。さらに、当業者は、本発明の方法は、それぞれが1つまたは複数の関連付けられたデバイスに動作可能に結合される、単一プロセッサまたはマルチプロセッサ・コンピュータ・システム、ミニコンピュータ、メインフレーム・コンピュータ、モノのインターネット(「IOT」)デバイス、分散コンピューティング・システム、ならびにパーソナル・コンピュータ、ハンドヘルド・コンピューティング・デバイス、マイクロプロセッサ・ベースまたはプログラマブル民生用電子機器などを含む、他のコンピュータ・システム構成によって実施され得ることを理解するであろう。
本明細書の実施形態の示される実施形態はまた、いくつかのタスクが、通信ネットワークを通して結び付けられたリモート処理デバイスによって行われる、分散コンピューティング環境において実施され得る。分散コンピューティング環境において、プログラム・モジュールは、ローカルおよびリモート・メモリ記憶デバイスの両方に配置され得る。
コンピューティング・デバイスは通常、コンピュータ可読記憶媒体、機械可読記憶媒体、または通信媒体あるいはその組合せを含むことができ、次のように本明細書では互いに異なる2つの用語が用いられる、多様な媒体を含む。コンピュータ可読記憶媒体または機械可読記憶媒体は、コンピュータによってアクセスされることができ、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体の両方を含む、任意の利用可能な記憶媒体とすることができる。例として、非限定的に、コンピュータ可読記憶媒体または機械可読記憶媒体は、コンピュータ可読または機械可読命令、プログラム・モジュール、構造化データ、または非構造化データなどの、情報の記憶のための任意の方法または技術に関連して実施され得る。
コンピュータ可読記憶媒体は、ランダム・アクセス・メモリ(「RAM」)、読出し専用メモリ(「ROM」)、電気的消去可能プログラマブル読出し専用メモリ(「EEPROM」)、フラッシュ・メモリまたは他のメモリ技術、コンパクト・ディスク読出し専用メモリ(「CD-ROM」)、デジタル・バーサタイル・ディスク(「DVD」)、ブルーレイ・ディスク(「BD」)または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、ソリッド・ステート・ドライブまたは他のソリッド・ステート記憶デバイス、あるいは所望の情報を記憶するために用いられ得る他の有形または非一時的媒体あるいはその両方を含むことができるが、それらに限定されない。この関連において、記憶装置、メモリ、またはコンピュータ可読媒体に対して本明細書で適用されるように、「有形」または「非一時的」という用語は、それ自体修飾語として、伝搬する一時的信号のみを除外するものであり、それ自体が伝搬する一時的信号のみではないすべての標準の記憶装置、メモリ、またはコンピュータ可読媒体に対する権利を放棄するものではないことが理解されるべきである。
コンピュータ可読記憶媒体は、媒体によって記憶された情報に関する多様な操作のために、例えば、アクセス要求、クエリ、または他のデータ検索プロトコルを通じて、1つまたは複数のローカルまたはリモート・コンピューティング・デバイスによってアクセスされ得る。
通信媒体は通常、変調されたデータ信号、例えば、搬送波または他の輸送機構などのデータ信号内に、コンピュータ可読命令、データ構造体、プログラム・モジュール、または他の構造化または非構造化データを具現化し、任意の情報伝達または輸送媒体を含む。「変調されたデータ信号」という用語は、その特性セットのうちの1つまたは複数を有する、または情報を1つまたは複数の信号にエンコードするようなやり方で変化された、信号を指す。例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、および音響、RF、赤外線、および他の無線媒体などの無線媒体を含むが、それらに限定されない。
図12を再び参照すると、本明細書で述べられる態様の様々な実施形態を実施するための例示の環境1200は、コンピュータ1202を含み、コンピュータ1202は、処理ユニット1204と、システム・メモリ1206と、システム・バス1208とを含む。システム・バス1208は、非限定的にシステム・メモリ1206を含む、システム構成要素を処理ユニット1204に結合する。処理ユニット1204は、様々な市販のプロセッサの任意のものとすることができる。デュアル・マイクロプロセッサおよび他のマルチプロセッサ・アーキテクチャも処理ユニット1204として使用され得る。
システム・バス1208は、多様な市販のバス・アーキテクチャのうちの任意のものを用いて、メモリ・バス(メモリ・コントローラを有するまたは有しない)、周辺バス、およびローカル・バスにさらに相互接続することができる、いくつかのタイプのバス構造のうちの任意のものとすることができる。システム・メモリ1206は、ROM1210およびRAM1212を含む。基本入出力システム(「BIOS」)は、ROM、消去可能プログラマブル読出し専用メモリ(「EPROM」)、EEPROMなどの不揮発性メモリに記憶されることができ、このBIOSは、スタートアップの間など、コンピュータ1202内の要素の間で情報を転送するために役立つ基本ルーチンを含む。RAM1212はまた、データをキャッシュするためのスタティックRAMなどの高速RAMを含むことができる。
コンピュータ1202は、内蔵ハード・ディスク・ドライブ(「HDD」)1214(例えば、EIDE、SATA)、1つまたは複数の外部記憶デバイス1216(例えば、磁気フロッピー(R)・ディスク・ドライブ(「FDD」)1216、メモリ・スティックまたはフラッシュ・ドライブ・リーダ、メモリ・カード・リーダなど)、および光ディスク・ドライブ1220(例えば、これはCD-ROMディスク、DVD、BDなどから読み出すまたは書き込むことができる)をさらに含む。内蔵HDD1214は、コンピュータ1202内に位置するように示されるが、内蔵HDD1214は、また適切な筐体内での外部使用のために構成され得る(図示せず)。加えて、環境1200には示されないが、HDD1214に追加として、またはその代わりに、ソリッド・ステート・ドライブ(「SSD」)が用いられ得る。HDD1214、1つまたは複数の外部記憶デバイス1216、および光ディスク・ドライブ1220は、それぞれHDDインターフェース1224、外部記憶装置インターフェース1226、および光ドライブ・インターフェース1228によって、システム・バス1208に接続され得る。外部ドライブ実装のためのインターフェース1224は、ユニバーサル・シリアル・バス(「USB」)および米国電気電子技術者協会(「IEEE」)1394インターフェース技術のうちの少なくとも1つまたは両方を含むことができる。他の外部ドライブ接続技術は、本明細書で述べられる実施形態で企図されるものに含まれる。
ドライブおよびそれらの関連付けられたコンピュータ可読記憶媒体は、データ、データ構造体、コンピュータ実行可能命令などの不揮発性記憶をもたらす。コンピュータ1202に対して、ドライブおよび記憶媒体は、適切なデジタル・フォーマットでの任意のデータの記憶に対応する。上記のコンピュータ可読記憶媒体の説明は、それぞれのタイプの記憶デバイスに言及しているが、当業者は、既存のものか将来に開発されるものかに関わらず、コンピュータによって読出し可能な他のタイプの記憶媒体も、例示の動作環境で用いられることができ、さらに、任意のこのような記憶媒体は、本明細書で述べられる方法を行うためのコンピュータ実行可能命令を含み得ることが理解されるべきである。
オペレーティング・システム1230、1つまたは複数のアプリケーション・プログラム1232、他のプログラム・モジュール1234、およびプログラム・データ1236を含む、いくつかのプログラム・モジュールがドライブおよびRAM1212に記憶され得る。オペレーティング・システム、アプリケーション、モジュール、またはデータあるいはその組合せのすべてまたは一部分も、RAM1212にキャッシュされ得る。本明細書で述べられるシステムおよび方法は、様々な市販のオペレーティング・システム、またはオペレーティング・システムの組合せを利用して実施され得る。
コンピュータ1202は、任意選択でエミュレーション技術を備えることができる。例えば、ハイパーバイザ(図示せず)または他の仲介物は、オペレーティング・システム1230のためのハードウェア環境をエミュレートすることができ、エミュレートされるハードウェアは、図12に示されるハードウェアとは任意選択で異なり得る。このような一実施形態において、オペレーティング・システム1230は、コンピュータ1202においてホストされる複数の仮想マシン(「VM」)のうちの1つのVMを備えることができる。さらに、オペレーティング・システム1230は、アプリケーション1232のために、Java(R)ランタイム環境または.NETフレームワークなどの、ランタイム環境をもたらすことができる。ランタイム環境は、アプリケーション1232が、ランタイム環境を含む任意のオペレーティング・システム上で実行することを可能にする、一貫性のある実行環境である。同様に、オペレーティング・システム1230は、コンテナをサポートすることができ、アプリケーション1232はコンテナの形とすることができ、これは例えば、コード、ランタイム、システム・ツール、システム・ライブラリ、およびアプリケーションに対する設定を含む、軽量な、スタンドアロンの、ソフトウェアの実行可能パッケージである。
さらに、コンピュータ1202は、トラステッド・プロセシング・モジュール(「TPM」)など、セキュリティ・モジュールを用いることが可能にされ得る。例えば、TPMを用いて、ブート構成要素は、時間的に次のブート構成要素をハッシュし、次のブート構成要素をロードする前に、安全な値までの結果の一致を待機する。このプロセスは、例えば、アプリケーション実行レベルで、またはオペレーティング・システム(「OS」)カーネル・レベルで適用される、コンピュータ1202のコード実行スタック内の任意のレイヤで発生することができ、それによってコード実行の任意のレベルでのセキュリティを可能にする。
ユーザは、1つまたは複数の有線/無線入力デバイス、例えば、キーボード1238、タッチ・スクリーン1240、およびマウス1242などのポインティング・デバイスを通して、コンピュータ1202にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)は、マイクロホン、赤外線(「IR」)リモート・コントロール、無線周波数(「RF」)リモート・コントロール、または他のリモート・コントロール、ジョイスティック、仮想現実コントローラまたは仮想現実ヘッドセットあるいはその両方、ゲーム・パッド、スタイラス・ペン、画像入力デバイス、例えば、1つまたは複数のカメラ、ジェスチャ・センサ入力デバイス、視覚運動(vision movement)センサ入力デバイス、感情または表情検出デバイス、生体入力デバイス、例えば、指紋または虹彩スキャナなどを含むことができる。これらおよびその他の入力デバイスはしばしば、システム・バス1208に結合され得る入力デバイス・インターフェース1244を通して、処理ユニット1204に接続されるが、並列ポート、IEEE1394シリアル・ポート、ゲーム・ポート、USBポート、IRインターフェース、ブルートゥース(R)インターフェースなど、他のインターフェースによって接続され得る。
モニタ1246または他のタイプのディスプレイ・デバイスも、ビデオ・アダプタ1248など、インターフェースを通じてシステム・バス1208に接続され得る。モニタ1246に加えて、コンピュータは通常、スピーカ、プリンタなど、他の周辺出力デバイス(図示せず)を含む。
コンピュータ1202は、1つまたは複数のリモート・コンピュータ1250など、1つまたは複数のリモート・コンピュータへの有線または無線あるいはその両方の通信を通じた論理接続を用いた、ネットワーク化された環境で動作することができる。1つまたは複数のリモート・コンピュータ1250は、ワークステーション、サーバ・コンピュータ、ルータ、パーソナル・コンピュータ、ポータブル・コンピュータ、マイクロプロセッサ・ベースの娯楽機器、ピア・デバイスまたは他の共通ネットワーク・ノードとすることができ、および通常、コンピュータ1202に関連して述べられる要素の多くまたはすべてを含むが、簡潔にするために、メモリ/記憶デバイス1252のみが示される。示される論理接続は、ローカル・エリア・ネットワーク(「LAN」)1254、またはより大きなネットワーク、例えば、広域ネットワーク(「WAN」)1256あるいはその両方への有線/無線接続性を含む。このようなLANおよびWANネットワーキング環境は、オフィスおよび会社内で一般的であり、イントラネットなど、企業内コンピュータ・ネットワークを容易にし、これらのすべては、グローバル通信ネットワーク、例えば、インターネットに接続することができる。
LANネットワーキング環境で用いられるとき、コンピュータ1202は、有線または無線あるいはその両方の通信ネットワーク・インターフェースもしくはアダプタ1258を通して、ローカル・ネットワーク1254に接続され得る。アダプタ1258は、LAN1254に対する有線または無線通信を容易にすることができ、LAN1254はまた、無線モードでアダプタ1258と通信するための、それに配置された無線アクセス・ポイント(「AP」)を含むことができる。
WANネットワーキング環境で用いられるとき、コンピュータ1202はモデム1260を含むことができ、またはインターネット経由など、WAN1256を通した通信を確立するための他の手段を通じて、WAN1256上の通信サーバに接続され得る。内部または外部、および有線または無線デバイスとすることができるモデム1260は、入力デバイス・インターフェース1244を通じて、システム・バス1208に接続され得る。ネットワーク化された環境において、コンピュータ1202またはその一部分に対して示されるプログラム・モジュールは、リモート・メモリ/記憶デバイス1252に記憶され得る。示されるネットワーク接続は例であり、コンピュータの間の通信リンクを確立する他の手段が用いられ得ることが理解されるであろう。
LANまたはWANネットワーキング環境のいずれかで用いられるとき、コンピュータ1202は、上述されたような外部記憶デバイス1216に加えて、またはその代わりに、クラウド・ストレージ・システムまたは他のネットワーク・ベースのストレージ・システムにアクセスすることができる。一般に、コンピュータ1202とクラウド・ストレージ・システムとの間の接続は、例えば、アダプタ1258またはモデム1260によって、それぞれ、LAN1254またはWAN1256を通して確立され得る。コンピュータ1202を関連付けられたクラウド・ストレージ・システムに接続するとすぐに、外部記憶装置インターフェース1226は、アダプタ1258またはモデム1260あるいはその両方を用いて、それが他のタイプの外部記憶装置であるように、クラウド・ストレージ・システムによってもたらされるストレージを管理することができる。例えば、外部記憶装置インターフェース1226は、それらのソースがコンピュータ1202に物理的に接続されているかのように、クラウド記憶装置ソースへのアクセスをもたらすように構成され得る。
コンピュータ1202は、無線通信において動作可能に配置された任意の無線デバイスまたはエンティティ、例えば、プリンタ、スキャナ、デスクトップまたはポータブル・コンピュータあるいはその両方、携帯情報端末、通信衛星、無線検出可能タグに関連付けられた任意の機器または場所(例えば、キオスク、新聞売店、商品棚など)、および電話機と通信するように動作可能とすることができる。これはワイヤレス・フィデリティ(「Wi-Fi」)およびブルートゥース(R)無線技術を含むことができる。このようにして、通信は、従来のネットワーク、または単に少なくとも2つのデバイスの間のアドホック通信でのように、予め規定された構造とすることができる。
上述されたものは、システム、コンピュータ・プログラム製品、およびコンピュータによって実施される方法の単なる例を含む。もちろん、本開示を述べるために構成要素、製品、またはコンピュータによって実施される方法あるいはその組合せの、あらゆる考えられる組合せを述べることは不可能であるが、当業者は本開示の多くの他の組合せおよび並べ替えが可能であることを認識することができる。さらに、用語「含む(includes)」、「有する(has)」、「保有する(possesses)」などが、詳細な説明、請求項、付属書、および図面で用いられる範囲で、このような用語は、用語「備える(comprising)」が請求項内で移行語として使用されるときに解釈されような、「備える(comprising)」と同様な形で包含的であることが意図される。様々な実施形態の説明は、例示のために提示されたが、網羅的であること、または開示された実施形態に限定されることを意図するものではない。多くの変更および変形は、述べられる本発明の範囲から逸脱せずに、当業者には明らかになるであろう。本明細書で用いられる用語は、実施形態の原理、実用的な応用例、または市場で見出される技術に対する技術的改善を、最もよく説明するために、または当業者が本明細書で開示される実施形態を理解することを可能にするように選ばれている。

Claims (17)

  1. システムであって、
    コンピュータ実行可能構成要素を記憶するメモリと、
    前記メモリに動作可能に結合され、前記メモリに記憶された前記コンピュータ実行可能構成要素を実行するプロセッサと
    を備え、前記コンピュータ実行可能構成要素は、
    ディレクトリ構造に依存せずに、定義された一時的アクセス制約を有するグループにファイル・システム・オブジェクトをパーティションするために、分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンの意味解析を行うデータ・プール構成要素を備える、
    システム。
  2. 前記分散コンピューティング・ネットワークのノード上のセクタを、アドレス空間に定義することによって、データを前記ディレクトリ構造に組織化するディレクトリ構成要素
    をさらに備える、
    請求項1に記載のシステム。
  3. 前記ディレクトリ構造の前記データからメタデータを分離し、前記データ・アクセス・パターンに基づいて、仮想アドレス空間の連続したセクション内の前記グループに、前記メタデータをパーティションするパーティション構成要素
    をさらに備える、
    請求項2に記載のシステム。
  4. 前記分散コンピューティング・ネットワークにわたる動作要求を最少化するために、前記データの一貫性についての決定の局所化を可能にするように、仮想アドレス空間の前記連続したセクションを動的に調整する適合構成要素
    をさらに備える、
    請求項3に記載のシステム。
  5. 前記適合構成要素は、垂直分割、水平分割、垂直合併、および水平合併からなる群から選択されるツリー操作を通じて、仮想アドレス空間の前記連続したセクションを動的に調整する、
    請求項4に記載のシステム。
  6. 機械学習を使用して、ファイル・システム・オブジェクトの将来のデータ・アクセス・パターンを予測する予測構成要素
    をさらに備え、前記パーティション構成要素は、前記将来のデータ・アクセス・パターンに基づいて前記メタデータをさらにパーティションする、
    請求項5に記載のシステム。
  7. コンピュータによって実施される方法であって、
    プロセッサに動作可能に結合されたシステムによって、ディレクトリ構造に依存せずに、定義された一時的アクセス制約を有するグループにファイル・システム・オブジェクトをパーティションするために、分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンの意味解析を行うこと
    を含む、
    コンピュータによって実施される方法。
  8. 前記システムによって、前記分散コンピューティング・ネットワークのノード上のセクタを、アドレス空間に定義することによって、データを前記ディレクトリ構造に組織化すること
    をさらに含む、
    請求項7に記載のコンピュータによって実施される方法。
  9. 前記システムによって、前記ディレクトリ構造の前記データからメタデータを分離すること、および
    前記システムによって、前記データ・アクセス・パターンに基づいて、仮想アドレス空間の連続したセクション内の前記グループに前記メタデータをパーティションすること
    をさらに含む、
    請求項8に記載のコンピュータによって実施される方法。
  10. 前記システムによって、前記分散コンピューティング・ネットワークにわたる動作要求を最少化するために、前記データの一貫性についての決定の局所化を可能にするように、仮想アドレス空間の前記連続したセクションを調整すること
    をさらに含む、
    請求項9に記載のコンピュータによって実施される方法。
  11. 前記調整することは、垂直分割、水平分割、垂直合併、および水平合併からなる群から選択される、ツリー操作を含む、
    請求項10に記載のコンピュータによって実施される方法。
  12. 分散コンピューティング・ネットワーク内に含まれるデータを管理するためのコンピュータ・プログラム製品であって、プログラム命令がそれに具現化された、コンピュータ可読記憶媒体を備え、前記プログラム命令は、プロセッサに、
    前記プロセッサによって、ディレクトリ構造に依存せずに、定義された一時的アクセス制約を有するグループにファイル・システム・オブジェクトをパーティションするために、分散コンピューティング・ネットワークにわたるデータ・アクセス・パターンの意味解析
    を行わせるように前記プロセッサによって実行可能である、
    コンピュータ・プログラム製品。
  13. 前記プログラム命令は、前記プロセッサにさらに、
    前記プロセッサによって、前記分散コンピューティング・ネットワークのノード上のセクタを、アドレス空間に定義することによって、前記データを前記ディレクトリ構造に組織化させる、
    請求項12に記載のコンピュータ・プログラム製品。
  14. 前記プログラム命令は、
    前記プロセッサによって、前記ディレクトリ構造の前記データからメタデータを分離すること、および
    前記プロセッサによって、前記データ・アクセス・パターンに基づいて、仮想アドレス空間の連続したセクション内の前記グループに前記メタデータをパーティションすること
    を前記プロセッサにさらに行わせる、
    請求項13に記載のコンピュータ・プログラム製品。
  15. 前記分散コンピューティング・ネットワークは、クラウド・コンピューティング環境内に含まれる、
    請求項12に記載のコンピュータ・プログラム製品。
  16. 前記プログラム命令は、さらに前記プロセッサに、
    前記プロセッサによって、前記分散コンピューティング・ネットワークにわたる動作要求を最少化するために、前記データの一貫性についての決定の局所化を可能にするように、仮想アドレス空間の前記連続したセクションを調整させる、
    請求項14に記載のコンピュータ・プログラム製品。
  17. 前記プロセッサは、垂直分割、水平分割、垂直合併、および水平合併からなる群から選択される、ツリー操作を通じて、仮想アドレス空間の前記連続したセクションを調整する、
    請求項16に記載のコンピュータ・プログラム製品。
JP2022527662A 2019-11-15 2020-11-06 インテリジェント・データ・プール Pending JP2023502909A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/685,143 US20210149918A1 (en) 2019-11-15 2019-11-15 Intelligent data pool
US16/685,143 2019-11-15
PCT/IB2020/060464 WO2021094885A1 (en) 2019-11-15 2020-11-06 Intelligent data pool

Publications (1)

Publication Number Publication Date
JP2023502909A true JP2023502909A (ja) 2023-01-26

Family

ID=75909126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022527662A Pending JP2023502909A (ja) 2019-11-15 2020-11-06 インテリジェント・データ・プール

Country Status (8)

Country Link
US (1) US20210149918A1 (ja)
JP (1) JP2023502909A (ja)
KR (1) KR20220066932A (ja)
CN (1) CN114730307A (ja)
AU (1) AU2020382999B2 (ja)
DE (1) DE112020004801T5 (ja)
GB (1) GB2605296B (ja)
WO (1) WO2021094885A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020185556A1 (en) * 2019-03-08 2020-09-17 Musara Mubayiwa Cornelious Adaptive interactive medical training program with virtual patients
CN115189943B (zh) * 2022-07-08 2024-04-19 北京天融信网络安全技术有限公司 一种基于网络地址的权限管理方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
JP3846214B2 (ja) * 2001-03-29 2006-11-15 セイコーエプソン株式会社 データ出力スケジューリングシステム、携帯端末及びデータプール装置
US7873619B1 (en) * 2008-03-31 2011-01-18 Emc Corporation Managing metadata
CN101354720B (zh) * 2008-09-04 2011-08-10 中兴通讯股份有限公司 一种分布式内存数据库数据系统及其共享方法
US20100082700A1 (en) * 2008-09-22 2010-04-01 Riverbed Technology, Inc. Storage system for data virtualization and deduplication
US20110153606A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Apparatus and method of managing metadata in asymmetric distributed file system
US9449007B1 (en) * 2010-06-29 2016-09-20 Emc Corporation Controlling access to XAM metadata
US20130179481A1 (en) * 2012-01-11 2013-07-11 Tonian Inc. Managing objects stored in storage devices having a concurrent retrieval configuration
US9329780B2 (en) * 2014-02-11 2016-05-03 International Business Machines Corporation Combining virtual mapping metadata and physical space mapping metadata
CN103942301B (zh) * 2014-04-16 2017-02-15 华中科技大学 一种面向多数据类型访问应用的分布式文件系统
US9870322B2 (en) * 2015-11-12 2018-01-16 International Business Machines Corporation Memory mapping for object-based storage devices
US10509803B2 (en) * 2016-02-17 2019-12-17 Talentica Software (India) Private Limited System and method of using replication for additional semantically defined partitioning
US11488008B2 (en) * 2017-05-05 2022-11-01 Intel Corporation Hardware implemented point to point communication primitives for machine learning
US20190250998A1 (en) * 2018-02-14 2019-08-15 Commvault Systems, Inc. Machine-learning based data object retrieval
US10592145B2 (en) * 2018-02-14 2020-03-17 Commvault Systems, Inc. Machine learning-based data object storage
KR20200065761A (ko) * 2018-11-30 2020-06-09 에스케이하이닉스 주식회사 메모리 시스템
US11347696B2 (en) * 2019-02-19 2022-05-31 Oracle International Corporation System for transition from a hierarchical file system to an object store

Also Published As

Publication number Publication date
CN114730307A (zh) 2022-07-08
DE112020004801T5 (de) 2022-06-30
GB2605296A (en) 2022-09-28
KR20220066932A (ko) 2022-05-24
GB2605296B (en) 2024-04-10
WO2021094885A1 (en) 2021-05-20
AU2020382999A1 (en) 2022-04-21
AU2020382999B2 (en) 2023-11-23
US20210149918A1 (en) 2021-05-20
GB202207569D0 (en) 2022-07-06

Similar Documents

Publication Publication Date Title
US10540212B2 (en) Data-locality-aware task scheduling on hyper-converged computing infrastructures
US11995336B2 (en) Bucket views
CN110663019B (zh) 用于叠瓦式磁记录(smr)的文件系统
US11301421B2 (en) Scalable multi-tier storage structures and techniques for accessing entries therein
US11169727B1 (en) Synchronous replication between storage systems with virtualized storage
US20210055885A1 (en) Enhanced data access using composite data views
US11132458B2 (en) Tape processing offload to object storage
US11199990B2 (en) Data reduction reporting in storage systems
US10983826B2 (en) Application restore time from cloud gateway optimization using storlets
US10956062B2 (en) Aggregating separate data within a single data log wherein single data log is divided in a plurality of blocks assigned to plurality of different streams
US11132334B2 (en) Methods and apparatus for filtering dynamically loadable namespaces (DLNs)
AU2020382999B2 (en) Intelligent data pool
JP2022548579A (ja) コンテナに対する外部操作とミューテーション・イベントとの対応関係
CN116848517A (zh) 使用基于数据指纹的数据地址的高速缓存编索引
US11290532B2 (en) Tape reconstruction from object storage
US11455121B2 (en) Selecting data nodes for WAN caching in a hybrid cloud environment
US10997126B1 (en) Methods and apparatus for reorganizing dynamically loadable namespaces (DLNs)
US11777519B2 (en) Partitional data compression
US20170344586A1 (en) De-Duplication Optimized Platform for Object Grouping
US11971848B2 (en) Efficient transparent switchover of file system consolidation migrations
KR20120044694A (ko) 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법
US20230237068A1 (en) Maintaining Object Policy Implementation Across Different Storage Systems
US11860834B1 (en) Reporting of space savings due to pattern matching in storage systems
US10394481B2 (en) Reducing application input/output operations from a server having data stored on de-duped storage
JP2023538888A (ja) データ・エンジンのためのセキュアなイングレス及びエグレス

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240527