JP2023507942A - 地理認識ファイル配布 - Google Patents
地理認識ファイル配布 Download PDFInfo
- Publication number
- JP2023507942A JP2023507942A JP2022536817A JP2022536817A JP2023507942A JP 2023507942 A JP2023507942 A JP 2023507942A JP 2022536817 A JP2022536817 A JP 2022536817A JP 2022536817 A JP2022536817 A JP 2022536817A JP 2023507942 A JP2023507942 A JP 2023507942A
- Authority
- JP
- Japan
- Prior art keywords
- file
- parameters
- distribution
- data
- destination
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2111—Location-sensitive, e.g. geographical location, GPS
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
実施形態は、無許可のファイルの配布および複製を阻止するためのコンピュータ・システム、コンピュータ・プログラム製品、および方法に関する。ファイル・パラメータが定義され、定義されたファイル・パラメータは、ファイル配布特性を含む。ファイルは、定義されたファイル・パラメータとともに、ファイル・メタデータとしてエンコードされる。ファイルの配布および複製は、エンコードされたファイル・パラメータに応じて管理される。定義されたパラメータは、物理的な複製の宛先とともに評価される。ファイルは、ファイル・パラメータと宛先との評価に応じて、選択的に複製または送信される。
Description
本実施形態は、地理認識ファイル配布(geography aware file dissemination)に関する。より詳細には、実施形態は、ファイル・データの配布を管理するために、および1つの実施形態では、ファイル・データの無許可の配布を阻止するために、ファイル・メタデータに地理的指定をエンコードすることに関する。
当該技術分野では、データには明白なもしくは固有の価値が存在する、または存在する可能性があることが理解されている。クラウド・コンピューティングは、データ・ストレージ用のリモート・ソースの場(venue)を提供する。クラウド・ベースのアプリケーションとデータはどちらも、ほとんどすべてのインターネット接続デバイスからアクセス可能である。ストレージに関して、ユーザは、セキュリティのニーズや他の考慮事項に応じて、パブリック、プライベート、またはハイブリッドのストレージ製品(storage offering)を選択できる。クラウド・ストレージを使用すると、インターネット接続または専用のプライベート・ネットワーク接続を介してアクセスできるオフサイトの場所にデータとファイルを保存できる。クラウド・サービス・プロバイダは通常、冗長性を確保し、災害時の継続性をサポートおよび可能にするために、データを複数のマシンに格納する。
クラウド・コンピューティング・インフラストラクチャが世界中に広がる場合、データ使用に関する制限が増大する。データを管理する規則は、長い間データのセキュリティと監査可能性(auditability)に重点を置いてきたが、物理的な場所にも同様にますます制限を課している。欧州連合の一般データ保護規則などの最近の規則ポリシにより、地理的データ配置に制限が課されている。自動データ冗長性および災害復旧のソリューションが一般的であるため、データの記憶とバックアップの実行可能な場所を決定する際に、システムが各データに課せられた制限を理解することが重要である。
第1の態様から見ると、本発明は、メモリに動作可能に結合された処理ユニットと、ファイル配布の阻止をサポートするためのツールを有する、処理ユニットと通信する制限デバイスとを備え、このツールは、ファイル・パラメータを定義するパラメータ・マネジャであって、定義されたファイル・パラメータは、ファイル配布特性を含み、定義されたファイル・パラメータとともにファイルをファイル・メタデータとしてエンコードするパラメータ・マネジャと、定義されたファイル・パラメータと物理的な複製の宛先(physical replication destination)とを評価することを含んで、エンコードされたファイル・パラメータに応じてファイルの配布を管理する配布マネジャと、ファイル・パラメータと宛先の評価(destination assessment)とに応じてファイルを選択的に複製する複製マネジャとを備える、コンピュータ・システムを提供する。
さらなる態様から見ると、本発明は、ファイル配布を阻止するためのコンピュータ・プログラム製品を提供し、コンピュータ・プログラム製品は、プログラム・コードが具現化されたコンピュータ可読ストレージ・デバイスを備え、プログラム・コードは、ファイル・パラメータを定義することであって、定義されたパラメータは、ファイル配布特性を含む、定義することと、定義されたパラメータとともにファイルをファイル・メタデータとしてエンコードすることと、定義されたパラメータと物理的な複製の宛先との評価を含んで、エンコードされたパラメータに応じてファイルの配布を管理することと、パラメータと宛先との評価に応じてファイルを選択的に複製することとをプロセッサによって実行可能である。
さらなる態様から見ると、本発明は、ファイル・パラメータを定義することであって、定義されたパラメータは、ファイル配布特性を含む、定義することと、定義されたパラメータとともにファイルをファイル・メタデータとしてエンコードすることと、定義されたパラメータと物理的な複製の宛先との評価を含む、エンコードされたパラメータに応じてファイルの配布を管理することと、パラメータと宛先との評価に応じてファイルを選択的に複製することとを含む、方法を提供する。
さらなる態様から見ると、本発明は、ファイル配布パラメータとともにファイルをファイル・メタデータとしてエンコードすることと、エンコードされた配布パラメータを使用して、物理的なファイルの宛先へのファイル・データ転送を制御することであって、エンコードされたパラメータと物理的なファイルの宛先の地理的な場所との評価を含む、制御することと、パラメータと宛先との評価に応じてファイルを選択的に送信することとを含む方法を提供する。
さらなる態様から見ると、本発明は、拡張ファイル属性とともにファイルをファイル・メタデータとしてエンコードすることであって、拡張ファイル属性は、ファイルの存在が許可されている場所を示す、エンコードすることと、エンコードされた拡張ファイル属性を使用して、物理的なファイルの宛先へのファイル・データ転送を制御することであって、エンコードされた拡張属性と、物理的なファイルの宛先の地理的な場所との評価を含む、制御することと、エンコードされた拡張属性と宛先との評価に応じてファイルを選択的に送信することとを含む、方法を提供する。
さらなる態様から見ると、本発明は、データ配布を管理するためのコンピュータ・プログラム製品を提供し、コンピュータ・プログラム製品は、処理回路によって可読なコンピュータ可読記憶媒体であり、本発明のステップを実行するための方法を実行するように処理回路による実行のための命令を格納する、コンピュータ可読記憶媒体を備える。
さらなる態様から見ると、本発明は、コンピュータにおいて実行されるとき、本発明のステップを実行するためのソフトウェア・コード部分を備える、コンピュータ可読媒体に格納され、デジタル・コンピュータの内部メモリにロード可能な、コンピュータ・プログラムを提供する。
本明細書で説明される実施形態は、複雑なファイルのストレージ管理のためのシステム、コンピュータ・プログラム製品、および方法を備える。
1つの態様では、コンピュータ・システムは、メモリに動作可能に結合された処理ユニットを備える。処理ユニットおよびメモリは、ファイル配布の管理のために埋め込まれた1つまたは複数の関連ツールを有する制限デバイスと通信する。ツールは、パラメータ・マネジャ、配布マネジャ、および複製マネジャを含む。パラメータ・マネジャは、ファイル・パラメータを定義するように機能し、定義されたファイル・パラメータは、ファイル配布特性を含む。パラメータ・マネジャは、定義されたファイル・パラメータとともにファイルをファイル・メタデータとしてエンコードする。配布マネジャは、エンコードされたファイル・パラメータに応じてファイルの配布を管理するように機能する。より具体的には、配布マネジャは、物理的な複製の宛先を考慮して定義されたパラメータを評価する。複製マネジャは、ファイル・パラメータと宛先との評価に応じてファイルを選択的に複製するように機能する。
別の態様では、ファイル配布を管理するコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、プログラム・コードが具現化されたコンピュータ可読ストレージ・デバイスを備え、プログラム・コードは、処理ユニットによって実行可能である。プログラム・コードは、ファイル・パラメータを受け取るために適用され、ファイル・パラメータは、ファイル配布特性を定義する。ファイルは、受け取られたファイル・パラメータとともに、ファイル・メタデータとしてエンコードされる。プログラム・コードは、エンコードされたファイル・パラメータに応じてファイルの配布を管理する。より具体的には、プログラム・コードは、物理的な複製の宛先を考慮して定義されたパラメータを評価する。プログラム・コードは、ファイル・パラメータと宛先との評価に応じてファイルを選択的に複製する。
さらに別の態様では、ファイル配布を管理するための方法が提供される。ファイル・パラメータが定義され、定義されたファイル・パラメータは、ファイル配布特性を含む。ファイルは、定義されたファイル・パラメータとともに、ファイル・メタデータとしてエンコードされる。ファイルの配布は、エンコードされたファイル・パラメータに応じて管理される。定義されたパラメータは、物理的な複製の宛先とともに評価される。ファイルは、ファイル・パラメータと宛先との評価に応じて、選択的に複製される。
さらに別の態様では、ファイル・データ転送を管理するための方法が提供される。ファイルは、ファイル配布パラメータとともに、ファイル・メタデータとしてエンコードされる。エンコードされた配布パラメータは、物理的なファイルの宛先へのファイル・データ転送を制御するために、物理的なファイルの宛先の地理的な場所とともに評価される。ファイルは、パラメータと宛先との評価に応じて、選択的に送信される。
これらおよび他の特徴および利点は、添付の図面と併せて、本好適な実施形態の以下の詳細な説明から明らかになるであろう。
本明細書で参照される図面は、本明細書の一部を形成する。図面に示されている特徴は、他に明記されていない限り、すべての実施形態ではなく、単にいくつかの実施形態の例示として意図される。
本明細書における図に一般的に記載および図示されるように、本実施形態の構成要素は、多種多様な異なる構成で配置および設計され得ることが容易に理解されよう。したがって、図に提示されるように、本実施形態の装置、システム、および方法の実施形態の以下の詳細な説明は、特許請求される実施形態の範囲を限定することは意図されず、単に選択された実施形態の代表である。
本明細書全体を通した「選択された実施形態」、「1つの実施形態」、または「一実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体の様々な場所での「選択された実施形態」、「1つの実施形態において」、または「一実施形態において」という句の出現は、必ずしも同じ実施形態を指すとは限らない。
例示される実施形態は、同様な部分は、全体を通して同様の番号によって示される図面を参照することによって最もよく理解され、以下の説明は、単に例として意図されており、本明細書で特許請求される実施形態と一致するデバイス、システム、およびプロセスの、特定の選択された実施形態を簡単に例示している。
承認された地理的な場所などのデータに課せられた制限および分類は、メタデータを介してデータ・ファイルにエンコードすることができる。現在、メタデータにエンコードされた制限および分類を、積極的に執行するためのアクティブなメカニズムはない。制限認識デバイスを作成することにより、操作を実行する前にファイルのメタデータをチェックすることにより、特定のルールを執行できる。このアプローチは、承認された境界を越えて誤ってデータを転送することを防ぐためのみならず、ハイブリッド・クラウド環境内でのデータ移動の調整(orchestration)のために使用できる。
拡張ファイル属性、すなわちxattrは、環境およびオペレーティング・システムにわたって検索可能および理解可能な手法でメタデータをデータとともに格納することを可能にする。データ自体の中に地理的制限をエンコードすることで、承認された境界を越えてデータを誤って転送または複製することを防ぐために使用することができる。「setfattr」や「getfattr」(Linux(R)の場合)などのコマンドは、たとえば、xattrのような拡張属性が、発見および変更されることを可能にする。Linuxは、米国、他の国々、またはその両方におけるLinus Torvaldsの登録商標である。setfattrコマンドは、指定された各ファイルの拡張属性名に新しい値を関連付ける。getfattrコマンドは、ファイルシステム・オブジェクトの拡張属性を取得する。オーバロード・コマンドを使用すると、様々な引数タイプを操作するコマンドの実施を別個のプロシージャに分割できる。メタデータに保存された拡張ファイル属性は、拡張属性から機能的に追加された転送コマンド、つまりrsyncをオーバロードする。転送の宛先の地理的場所が、拡張属性と一致しないか、または拡張属性内にない場合、転送コマンドは拡張属性によって禁止されるか、さもなければオーバロードされる。拡張ファイル属性を使用して、データが効果的かつ機能的に存在する可能性のある地理的領域を示すと、データに対して操作が実行される前に適用されるルールを執行できる制限認識デバイスが作成される。さらに、ファイル・メタデータにおける地理的境界(geographic boundary)または地理的定義を拡張ファイル属性としてエンコードすることにより、制限認識デバイスは、承認された境界を越えたデータの複製または転送を防止、さもなければ執行できる。それに加えて、制限認識デバイスの機能により、ハイブリッド・クラウド環境内でのデータ移動の調整が容易になる場合がある。複製されたハイブリッド・クラウド環境の文脈では、承認された地理的領域をエンコードすることで、制限認識デバイスが、拡張属性において定義および指定された宛先にのみデータが自動的に複製されることを保証できるようにする。
本明細書では制限デバイスとも呼ばれる制限認識デバイスは、ファイルおよび対応するデータの無許可の配布を阻止する、さもなければ軽減する機能を包含し、詳細に、および関連する図面とともに説明される。制限デバイスは、対応するデータ・ファイルへの配布に直接影響を与えるパラメータを定義およびエンコードする。rsyncとも呼ばれるリモート・コマンドは、Linux(R)およびUnix(R)オペレーティング・システムでファイルとディレクトリをリモートおよびローカルにコピーおよび同期するために使用される。検索コマンドは、ファイル階層をウォークするためのLinux(R)またはUnix(R)のオペレーティング・システムのコマンド・ライン・ユーティリティである。UNIX(R)は、米国および他の国々におけるThe Open Groupの登録商標である。これを使用して、ファイルとディレクトリを検索し、それらに対して後続の操作を実行できる。より具体的には、検索コマンドは、ファイル、フォルダ、名前、作成データ、変更日、所有者、およびパーミッションによる検索をサポートする。本明細書において示され、説明されて、図面において実証されているように、「find」および「rsync」コマンドは、拡張属性において定義されたルールを執行するためにオーバロードされる。本明細書で詳細に説明される制限デバイスは、エンコードされたパラメータに応じて、データ・ファイルの配布および複製をサポートするためのツールおよび対応する方法論を適用する。
図1を参照すると、コンピューティング・システム(100)の概略図が示される。図示されるように、ネットワーク接続(105)を介して複数のコンピューティング・デバイス(180)、(182)、(184)、(186)、(188)、および(190)と通信するサーバ(110)が提供される。サーバ(110)は、バス(114)を介してメモリ(116)と通信する、たとえばプロセッサである、処理ユニット(112)で構成される。サーバ(110)は、コンピューティング・デバイス(180)、(182)、(184)、(186)、(188)、および(190)のうちの1つまたは複数のからの、ネットワーク(105)を介したファイルの配布および複製をサポートおよび可能にする制限デバイス(150)とともに示される。より具体的には、コンピューティング・デバイス(180)、(182)、(184)、(186)、(188)、および(190)は、1つまたは複数のワイヤードまたはワイヤレスあるいはその両方のデータ通信リンクを介して互いに通信し、他のデバイスまたは構成要素と通信し、各通信リンクは、ワイヤ、ルータ、スイッチ、送信機、受信機などのうちの1つまたは複数を備え得る。このネットワーク化された構成では、サーバ(110)およびコンピュータ・ネットワーク(105)は、通信の検出、認識、および解決を可能にする。サーバ(110)は、通信リンク(102)および(104)を介して、コンピュータ・ネットワークと動作可能に通信している。リンク(102)および(104)は、ワイヤードまたはワイヤレスであり得る。サーバ(110)の他の実施形態は、本明細書に示されているもの以外の構成要素、システム、サブ・システム、またはデバイス、あるいはその組合せとともに使用することができる。
ファイルおよび対応するデータ機能をサポートするための、すなわち、無許可のファイル配布の阻止を含む、ファイル複製およびファイル配布を管理するためのツールで構成される制限デバイス(150)が、本明細書に示される。ツールは、データ・ファイルを、特定のパラメータとともにエンコードすることをサポートおよび可能にする。より具体的には、ツールは、エンコードされたパラメータに応じて、データ・ファイルの配布および複製の執行をサポートする。ツールは、定義された境界に関して、データの偶発的な、不適切な、または無許可の転送を防ぐための最適化された方法論を実施するように機能する。1つの実施形態では、データの転送はまた、新しい場所におけるデータの複製およびコピーを含み得ることが当該技術分野で理解される。したがって、制限デバイス(150)は、ファイル・データの配布を管理するために、ファイル・メタデータに地理的指定をエンコードするためのツールで構成される。
本明細書に示される制限デバイス(150)のツールは、パラメータ・マネジャ(152)、配布マネジャ(154)、複製マネジャ(156)、および調整マネジャ(158)を含むが、これらに限定されない。制限デバイス(150)は、ネットワーク(105)から入力を受け取り、本明細書ではコーパスまたは知識ベースとも呼ばれるデータ・ソース(170)を利用して、データ・ファイルを、ファイル・パラメータとともに選択的にエンコードすることができる。図示されるように、データ・ソース(170)は、複数のファイルを備えたライブラリ(172)で構成され、ファイルは、ファイル・パラメータとともに選択的にエンコードされる。例として、ライブラリ(172)は、本明細書ではファイルA(174A)、ファイルB(174B)、...ファイルN(174N)として示されるいくつかのファイルとともに示される。ファイルのおのおのは、1つまたは複数のファイル・パラメータを選択的に受け取るように構成されたフィールドとともに示される。図示されるように、ファイルA(174A)はフィールドA(176A)を含み、ファイルB(174B)はフィールドB(176B)を含み、ファイルN(174N)はフィールドN(176N)を含む。フィールドのおのおのは、その中にエンコードされたファイル・パラメータとともに示される。図示されるように、フィールドA(176A)はパラメータA(178A)を含み、フィールドB(176B)はパラメータB(178B)を含み、フィールドN(176N)はパラメータN(178N)を含む。1つのファイル・パラメータのみを有する各フィールドが示されているが、各フィールドは複数のファイル・パラメータを含む可能性があるため、これは限定とは見なされるべきではない。パラメータ・マネジャ(152)は、ファイル・パラメータを作成および管理し、1つまたは複数のライブラリ・ファイルを選択的にエンコードするように機能する。ファイル・パラメータがデータ・ファイルにおいてどのようにエンコードされるかの詳細が、以下に詳細に示され、説明される。したがって、ライブラリ(172)は、サーバ(110)および制限デバイス(150)に動作可能に結合されている知識ベース(170)に対してローカルに示される。
パラメータ・マネジャ(152)は、データ・ファイルに関連付けられたファイル・パラメータを定義するように機能する。定義されたファイル・パラメータは、データ・ファイルを転送または複製できる場所と方法を管理するファイル配布特性である。1つの実施形態では、ファイル・パラメータは、データ・ファイルが物理的に存在できる場所を示す地理的境界である。当該技術分野では、ファイルは、個別にまたは集合的に複製または転送あるいはその両方の対象となり得ることが理解される。パラメータ・マネジャ(152)は、ファイル・パラメータをファイルに選択的に割り当て、対応するファイル・フィールドにパラメータを埋め込む。パラメータの割当ては、パラメータ・マネジャ(152)によって、たとえば更新、変更、またはリセットされるように、修正される場合がある。パラメータ・マネジャ(152)は、定義されたファイル・パラメータとともにデータ・ファイルをエンコードする。ファイル・パラメータのエンコードまたは埋め込みは、個別にまたは集合的に行うことができる。たとえば、1つの実施形態では、パラメータ・マネジャ(152)は、複数のファイルを識別し、集合内のファイルのおのおのに、指定されたパラメータを集合的に割り当てて、エンコードすることができる。したがって、パラメータ・マネジャ(152)は、知識ベース・ファイルを選択的に割り当てて、配布パラメータとともにエンコードするように機能する。
データ・ファイルを複製し得る方法、またはデータ・ファイルが存在する場所に対する制限を含むファイル・パラメータは、データ・ファイルに、メタデータとしてエンコードされる。図1に示すように、ファイル・パラメータは、データ・ファイル自体にエンコードされる。より具体的には、ファイルは、データ・ファイルが物理的に存在する可能性のある場所を示すために、拡張ファイル属性(xattr)とともに個別にエンコードされる。拡張ファイル属性は、ファイル・メタデータとして機能し、ファイルとともに格納される。拡張ファイル属性は、複数の環境やオペレーティング・システム、すなわち、Linux(R)、Windows(R)、MacOS(R)などにわたって検索可能および理解可能である。例として、フィールドA(176A)は、拡張属性の例であるパラメータA(178A)とともに示される。したがって、パラメータ・マネジャ(152)は、定義されたファイル・パラメータを、データ・ファイルの拡張ファイル属性としてエンコードするように機能する。
パラメータ・マネジャ(152)に動作可能に結合されて本明細書に示される配布マネジャ(154)は、たとえばエンコードされた拡張属性のように、エンコードされたファイル・パラメータに応じて、データ・ファイルの配布を管理するためのツールとして機能する。配布マネジャ(154)は、たとえばメタデータのような、エンコードされたファイル・パラメータを、物理的な複製の宛先とともに評価する。1つの実施形態では、「setfattr」および「getfattr」などのオペレーティング・システム・コマンドは、拡張属性を発見することを可能にする。物理的な複製の宛先を明示的に定義することができ、または1つの実施形態では、明示的に定義されず、識別するために評価を必要とし得る。たとえば、1つの実施形態では、物理的な複製の宛先は、全地球測位システム(GPS)座標、特定のドメイン/インターネット・プロトコル(IP)アドレス範囲などのセットを個別にまたは集合的に使用して、決定することができる。配布マネジャ(154)は、エンコードされた拡張属性を、物理的な複製の宛先とともに評価し、データ・ファイルが物理的な複製の宛先の地理的な場所に存在することを、拡張属性が許可するか否かを判定する。1つの実施形態では、配布マネジャ(154)は、最終的な宛先に加えて、またはその代わりに、1つまたは複数の中間の複製の宛先の物理的な場所とともに、エンコードされた拡張属性を評価する。したがって、配布マネジャ(154)は、パラメータ・マネジャ(152)とインターフェースして、データ・ファイルのメタデータにおいてエンコードされたファイル・パラメータに基づいて、データ・ファイルの許容特性が、物理的な複製の宛先に存在できるか否かを評価する。
配布マネジャ(154)およびパラメータ・マネジャ(152)の両方に動作可能に結合されたものとして本明細書に示される複製マネジャ(156)は、拡張属性と物理的な宛先との評価において、定義されたファイル・パラメータに応じて、データ・ファイルを選択的に複製するツールとして機能する。1つの実施形態では、定義されたファイル・パラメータは、地理的境界または場所であり、複製マネジャは、ファイル複製を境界内に定義された場所に制限する。複製マネジャ(156)は、定義されたファイル・パラメータと、配布マネジャ(154)によって作成された物理的な複製の宛先との評価を利用して、データ・ファイルを選択的に複製する。たとえば、複製マネジャ(156)は、宛先場所が、拡張属性によって定義されたパラメータと一致するか、その範囲内にある場合に、複製を続行可能とし得る。しかしながら、宛先場所が、定義されたパラメータと一致しないか、定義されたパラメータ内にない場合、複製マネジャ(156)は、複製コマンドの禁止、さもなければオーバロードを続行するか、または、1つの実施形態では、複製トランザクションの実行のために、拡張属性を修正または再定義する必要があり得る。したがって、複製マネジャ(156)は、配布マネジャ(154)によって実行された評価に応じて、データ・ファイルを選択的に複製する。
調整マネジャ(158)は、本明細書では、複製マネジャ(156)、配布マネジャ(154)、およびパラメータ・マネジャ(152)に動作可能に結合されて示される。調整マネジャ(158)は、ハイブリッド・リモート・ストレージ環境内でのデータの移動を調整するためのツールとして機能する。ハイブリッド・ストレージは、ストレージ・デバイスと、対応するストレージ・カテゴリとを組み合わせて設計されたストレージ・システムを説明するために使用される用語である。たとえば、ハイブリッド・ストレージは、フラッシュ・ベースのソリッド・ステート・ディスク・ドライブと、ハード・ディスク・ドライブとを組み合わせたストレージ・システムである場合がある。たとえばクラウド・ベースのストレージであるリモート・データ・ストレージに関して、ハイブリッド・ストレージは、ローカル・リソースとリモート・リソースとの両方を必要とし、ローカル・データ・ストレージを補完するためにリモート・リソースを適用する場合がある。ハイブリッド・ストレージは、ここではハイブリッド・クラウド実施とも呼ばれ、同種のストレージであるかのように動作し、バックアップ・プロセスと災害復旧計画とを容易にするために一般的に使用される。ハイブリッド・ストレージ環境では、ワークロードはローカル・リソースとリモート・リソースとの間で移動され、リモート・リソースは、ローカル・リソースとは別個である物理的な場所に配置されることが理解される。言い換えれば、ローカル・リソースとリモート・リソースは、別個である異なる物理的な宛先を有する。調整マネジャ(158)は、複製マネジャ(156)を活用し、ストレージ複製の宛先の物理的な場所に対して、データ・ファイルのメタデータに保存された、たとえば拡張属性のような、定義されたファイル・パラメータを評価する。物理的なストレージ複製の宛先のうちの1つまたは複数が、データ・ファイルにエンコードされた定義されたファイル・パラメータの境界内にあると複製マネジャ(156)によって判定されると、調整マネジャ(158)は、複製されたデータの、選択的に選択されたデータへの移動を実行する。したがって、調整マネジャ(158)は、複製マネジャ(156)と組み合わせて、ハイブリッド・ストレージ環境内でのデータの移動を調整する。
ネットワーク(105)は、様々な実施形態におけるローカル・ネットワーク接続およびリモート接続を含み得、その結果、制限デバイス(150)は、ローカルと、たとえばインターネットのようなグローバルとを含む任意のサイズの環境で動作し得る。それに加えて、制限デバイス(150)は、ネットワーク・アクセス可能なソースまたは構造化データ・ソースあるいはその両方から抽出された、またはそれらで表された、様々な知識を利用可能にすることができるフロント・エンド・システムとして機能する。このようにして、いくつかのプロセスおよびツールは、制限デバイス(150)にデータを投入し、制限デバイス(150)は、要求を受け取り、それに応じて応答するための1つまたは複数の入力インターフェースまたはポータルをも含む。
制限デバイス・ツールと総称されるパラメータ・マネジャ(152)、配布マネジャ(154)、複製マネジャ(156)、および調整マネジャ(158)は、サーバ(110)の制限デバイス(150)において具現化されて、または制限デバイス(150)内に統合されて示される。制限デバイス・ツールは、ネットワーク(105)を介してサーバ(110)に接続されている別個のコンピューティング・システム(たとえば、190)において実施され得る。制限デバイス・ツールは、具現化されている場合は常に、ファイル・パラメータを定義してデータ・ファイルにエンコードし、ファイルの配布を管理し、より具体的には、拡張属性で定義された境界外の場所へのファイルの配布を阻止するように機能する。
制限デバイス(150)を利用することができる情報取扱システムのタイプは、ハンドヘルド・コンピュータ/モバイル電話(180)などの小型のハンドヘルド・デバイスから、メインフレーム・コンピュータ(182)などの大型のメインフレーム・システムに及ぶ。ハンドヘルド・コンピュータ(180)の例は、携帯情報端末(PDA)や、MP4プレーヤ、ポータブル・テレビ、およびコンパクト・ディスク・プレーヤなどのパーソナル・エンタテインメント・デバイスを含む。情報取扱システムの他の例は、ペン、またはタブレット・コンピュータ(184)、ラップトップまたはノートブック・コンピュータ(186)、パーソナル・コンピュータ・システム(188)、およびサーバ(190)を含む。図示されるように、様々な情報取扱システムは、コンピュータ・ネットワーク(105)を使用して、ともにネットワーク化することができる。様々な情報取扱システムを相互接続するために使用できるコンピュータ・ネットワーク(105)のタイプは、ローカル・エリア・ネットワーク(LAN)、ワイヤレス・ローカル・エリア・ネットワーク(WLAN)、インターネット、公衆交換電話ネットワーク(PSTN)、他のワイヤレス・ネットワーク、および情報取扱システムを相互接続するために使用できる他の任意のネットワーク・トポロジを含む。情報取扱システムの多くは、ハード・ドライブまたは不揮発性メモリあるいはその両方などの不揮発性データ・ストアを含む。情報取扱システムの一部は、別個の不揮発性データ・ストアを使用する場合がある(たとえば、サーバ(190)は、不揮発性データ・ストア(190A)を利用し、メインフレーム・コンピュータ(182)は、不揮発性データ・ストア(182A)を利用する)。不揮発性データ・ストア(182A)は、様々な情報取扱システムの外部にある構成要素となることができるか、または情報取扱システムのうちの1つの内部にあることができる。
制限デバイス(150)をサポートするために適用される情報取扱システムは、多くの形態を採ることができ、そのいくつかは、図1に示される。たとえば、制限デバイスは、デスクトップ、サーバ、ポータブル、ラップトップ、ノートブック、または他のフォーム・ファクタ・コンピュータ、またはデータ・処理システムの形態を採り得る。それに加えて、制限デバイス(150)をサポートする情報取扱システムは、携帯情報端末(PDA)や、ゲーム・デバイスや、ATM機や、ポータブル電話デバイスや、通信デバイスや、またはプロセッサおよびメモリを含む他のデバイスなどの他のフォーム・ファクタを採り得る。それに加えて、情報取扱システムは、他のアーキテクチャも適用され得ることが理解されるように、必ずしもノース・ブリッジ/サウス・ブリッジ・コントローラ・アーキテクチャを具現化する必要はない。
アプリケーション・プログラム・インターフェース(API)は、当該技術分野では、2つ以上のアプリケーション間のソフトウェア中間体として理解される。図1に示され、説明された制限デバイス(150)に関して、1つまたは複数のAPIを利用して、ここではツール(252)~(258)として図示されるツール(152)~(158)のうちの1つまたは複数と、それらの関連付けられた機能とがサポートされ得る。図2を参照すると、ツール(252)~(258)およびそれらの関連付けられたAPIを示すブロック図(200)が提供される。図示されるように、複数のツールが制限デバイス(205)内に埋め込まれ、これらツールは、API0(212)に関連付けられたパラメータ・マネジャ(252)と、API1(222)に関連付けられた配布マネジャ(254)と、API2(232)に関連付けられた複製マネジャ(256)と、API3(242)に関連付けられた調整マネジャ(258)とを含む。
APIのおのおのは、1つまたは複数の言語およびインターフェース仕様で実施され得る。API0(212)は、知識ベース・ファイルを配布パラメータで選択的に割り当ててエンコードするための機能サポートを提供し、API1(222)は、データ・ファイルのメタデータにエンコードされたファイル・パラメータに基づいて、データ・ファイルの許容特性が、物理的な複製の宛先に存在できるか否かを評価するための機能サポートを提供し、API2(232)は、評価に応じて、データ・ファイルを選択的に複製するための機能サポートを提供し、API3(242)は、ハイブリッド・ストレージ環境内でのデータの移動を調整するための機能サポートを提供する。図示されるように、API(212)、(222)、(232)、および(242)のおのおのは、別名、調整層としても知られ、当該技術分野では、別個のAPIをともに透過的にスレッド化するための抽象化層として機能すると理解されているAPI調整部(270)に、動作可能に結合される。1つの実施形態では、別個のAPIの機能を結合または組み合わせることができる。そのため、本明細書に示されるAPIの構成は限定と見なされるべきではない。したがって、本明細書に示されるように、ツールの機能は、それらのそれぞれのAPIによって具現化またはサポートされ得る。
図3を参照すると、データ配布を管理するために拡張ファイル属性を使用して、データ内の地理的制限をエンコードするためのプロセスを示すフローチャート(300)が提供される。データ・ファイルに対して1つまたは複数のファイル・パラメータが定義される(302)。定義されたファイル・パラメータは、データ・ファイルを転送または複製できる場所を管理するファイル配布特性である。1つの実施形態では、ファイル・パラメータは、データ・ファイルが物理的に存在できる場所を示す地理的指定である。たとえば、送信の対象となるファイルは、宛先場所に到着する前に場所間を「ホップ」する可能性があることが理解される。この場合、ファイル・パラメータは、ホッピングの対象となる場所ではなく、宛先へのファイルの配布に向けられる。ステップ(302)からのファイル・パラメータは、ファイル拡張属性、すなわちxattrにおけるメタデータとしてエンコードされる(304)。拡張ファイル属性を使用すると、環境やオペレーティング・システム、すなわち、Linux(R)、Microsoft(R) Windows(R)、MacOS(R)などにわたって検索可能および理解可能な手法で、メタデータを格納できる。MicrosoftおよびWindowsは、米国、他の国々、またはその両方におけるマイクロソフト・コーポレーションの登録商標である。1つの実施形態では、ファイル・パラメータは、各データ・ファイルの拡張属性にメタデータとして保存することができる。1つの実施形態では、ファイル・データの地理的指定は、拡張ファイル属性にメタデータとして自動的にエンコードされる。1つの実施形態では、地理的指定は永続的ではなく、ファイル・メタデータに保存されたファイル・パラメータを修正することによって将来変更することができる。したがって、ファイル・パラメータは、データ・ファイルの拡張属性へのメタデータとして定義およびエンコードされる。
ステップ(304)においてデータ・ファイルのメタデータをエンコードした後、データ・ファイルは、元の場所とは異なる宛先場所への複製および送信の対象となる(306)。1つの実施形態では、データ複製は自動的に実施される。変数XTotalは、複製が要求されたデータ・ファイルの量を表すために割り当てられ(308)、対応するデータ・ファイル・カウント変数Xが初期化される(310)。rsyncなどのオペレーティング・システム(O/S)コマンドは、複製の宛先の要求のインターネット・プロトコル(IP)アドレスと、転送によって要求されたデータ・ファイルXの地理メタデータとを識別する(312)。データ・ファイルXの拡張ファイル属性に保存されたファイル・パラメータ・メタデータは、機能的に追加された転送コマンド、つまりrsyncをオーバロードする(314)。次に、複製されたデータ・ファイルXが、指定された宛先場所に送信されることを許可するか否かの判定がなされる(316)。ステップ(316)における判定は、データ・ファイルXの拡張ファイル属性における地理的指定を、IPアドレスに関連付けられた地理的な場所と比較することを含む。1つの実施形態では、ステップ(316)における判定は、拡張ファイル属性における地理的指定を、最終的な複製の宛先に加えて、またはその代わりに、1つまたは複数の中間複製場所のIPアドレスに関連付けられた地理的な場所と比較することを含み得る。したがって、データ・ファイルの拡張ファイル属性のファイル・パラメータが、データ転送コマンドをオーバロードし、ファイル・パラメータの地理的指定が、要求の送信元のIPアドレスの地理的な場所と一致するか否かが判定される。
ステップ(316)において、IPアドレスの地理的な場所が拡張ファイル属性によって定義された境界内にないと判定された場合、データ・ファイルXの転送は行われない(318)。しかしながら、ステップ(316)において、IPアドレスが、拡張ファイル属性によって定義された境界内にあると判定された場合、データ・ファイルXは、送信の対象となる(320)。ステップ(318)または(320)のいずれかに続いて、データ・ファイル・カウント変数Xが増分され(322)、要求または識別されたデータ・ファイルのすべてが評価されたか否かの判定がなされる(324)。ステップ(324)に対する否定的応答は、次のデータ・ファイルの評価のためにプロセスをステップ(312)に戻す。ステップ(324)に対する肯定的応答は、要求されたデータ・ファイルのすべてが評価され、プロセスが終了したことを示す。
1つの実施形態では、ステップ(312)における動作コマンドは、2つ以上の物理的なストレージ複製の宛先を有するハイブリッド・ストレージ環境内でのデータ・ファイルの複製を目的とする。ステップ(310)と同様に、地理メタデータの追加機能は、複製コマンドを拡張し、地理メタデータが、ストレージ複製の宛先の地理的な場所によって定義された物理的境界と一致するか否かの判定がなされる。データ・ファイルの所望される地理的なストレージ場所は、経時的な変更の対象となる可能性がある。1つの実施形態では、地理メタデータは、データ・ファイルの地理的なストレージ場所が変更されたときに修正される。地理的な場所が、メタデータと一致する場合、複製コマンドは、データ・ファイルのコピーを続行できるようにする。したがって、データ・ファイルにエンコードされた地理的指定メタデータは、データ・ファイルが、メタデータによって示されていない場所に転送または複製されることを阻止する。
図1~図3に示され、説明されるように、制限デバイス(150)は、データ自体内の地理的制限をエンコードし、拡張ファイル属性を使用して、データが存在する可能性のある地理的領域を示すことを目的としたソリューションを提供する。図3に示されるプロセスは、対象データに対して操作が実行される前の制限デバイス(150)の施行および適用を示している。したがって、承認された地域を拡張属性でエンコードすることは、承認された境界を越えたデータの転送を防止するためのみならず、ハイブリッド・クラウド環境内でのデータ移動の調整のために使用される。
図4を参照すると、オーバロードされた検索コマンドの例示的なシェル・スクリプト(400)が示され、本明細書において示され、説明されているように、拡張ファイル属性により、環境およびオペレーティング・システムにわたって検索可能および理解可能な方式で、メタデータをデータとともに格納できる。拡張属性とインターフェースするためのいくつかのコマンドがサポートされており、1つの実施形態では、オペレーティング・システムに応じて、変化する可能性がある。本明細書に示されるシェル・スクリプトは、Linux(R)オペレーティング・システム用である。1つの実施形態では、シェル・スクリプトは、異なるオペレーティング・システムのスクリプト言語をサポートするように修正することができる。たとえば、図4に示されるようなLinux(R)オペレーティング・システムでは、コマンドsetfattrは、属性を確立または修正するために利用され得(402)、コマンドgetfattrは、確立された属性を発見するために利用され得る(404)。たとえば、以下のコマンド、setfattr-n user.geolock-v only USA./fooを使用して、「foo」と呼ばれるファイルを、米国内の地域に限定できる(406)。属性をエンコードするためのコマンドと、ファイル内のエンコードされた属性を発見するためのコマンドは、標準的なファイル・コマンドが、エンコードを重要視することを保証する。
異なるタイプのデータが、ボリュームに格納され得ること、およびボリュームが、ターゲット宛先においての複製の対象となり得ることが理解される。拡張属性のエンコードと、エンコードの施行により、ファイルごとに異なる可能性のあるデータ規則に違反することなく、データが適切なターゲット宛先に複製されることが保証される。本明細書において開示されているエンコードおよび施行は、サーバを対象とし、ファイルの注釈ではなくファイルのメタデータを使用してデータの転送を阻止する。
図1から図4に示され、説明されるように、地理的制限は、データ自体内にエンコードされ、コマンドを利用して、エンコードされたファイル属性とインターフェースし、エンコードされた制限に従ってデータの配布を制御する。ツールの態様、たとえば(152)~(158)、およびそれらの関連する機能は、単一の場所におけるコンピュータ・システム/サーバで具現化することができるか、または1つの実施形態では、コンピューティング・リソースを共有するクラウド・ベースのシステムで構成することができる。同様に、エンコードされたデータは、コンピューティング・リソースを共有するクラウド・ベースのシステムを介して、1つまたは複数の場所に配布される場合がある。図5を参照すると、以下、クラウド・ベースのサポート・システムのホスト(502)と呼ばれ、図1~図4に関して上記で説明されたシステムおよびプロセスを実施するコンピュータ・システム/サーバ(502)の例を示すブロック図(500)が提供される。ホスト(502)は、他の多くの汎用または専用のコンピューティング・システム環境または構成で動作可能である。ホスト(502)との使用に適している可能性のある、よく知られたコンピューティング・システム、環境、または構成、あるいはその組合せの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能な家電製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、上記のシステム、デバイス、およびそれらの均等物のいずれかを含むファイル・システム(たとえば、分散ストレージ環境や分散クラウド・コンピューティング環境)を含むが、これらに限定されない。
ホスト(502)は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能な命令の一般的な文脈で説明され得る。一般に、プログラム・モジュールは、特定のタスクを実行したり、特定の抽象データ・タイプを実施したりするルーチン、プログラム、オブジェクト、構成要素、ロジック、データ構造などを含むことができる。ホスト(502)は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境で実践することができる。分散クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモートの両方のコンピュータ・システム記憶媒体に配置できる。
図5に示されるように、ホスト(502)は、汎用コンピューティング・デバイスの形態で示される。ホスト(502)の構成要素は、1つまたは複数のプロセッサまたは処理ユニット(504)、システム・メモリ(506)、およびシステム・メモリ(506)を含む様々なシステム構成要素をプロセッサ(504)に結合するバス(508)を含み得るが、これらに限定されない。バス(508)は、メモリ・バスまたはメモリ・コントローラ、周辺バス、加速グラフィックス・ポート、および、様々なバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、いくつかのタイプのバス構造のいずれかのうちの1つまたは複数を表す。例として、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオ・エレクトロニクス標準アソシエーション(VESA)ローカル・バス、およびペリフェラル・コンポーネント・インタコネクト(PCI)バスを含むが、これらに限定されない。ホスト(502)は、通常、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、ホスト(502)によってアクセス可能な任意の利用可能な媒体であり得、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体の両方を含む。
メモリ(506)は、ランダム・アクセス・メモリ(RAM)(512)またはキャッシュ・メモリ(514)あるいはその両方などの揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。ほんの一例として、ストレージ・システム(516)は、非リムーバブルの、不揮発性の磁気媒体(図示せず、通常は「ハード・ドライブ」と呼ばれる)の読取りおよび書込みのために提供できる。図示されていないが、リムーバブルな不揮発性磁気ディスク(たとえば、「フロッピー(R)・ディスク」)の読取りおよび書込み用の磁気ディスク・ドライブ、および、CD-ROM、DVD-ROM、または他の光学媒体のようなリムーバブルな不揮発性光ディスクの読取りまたは書込み用の光ディスク・ドライブを提供することができる。そのような事例では、おのおのは、1つまたは複数のデータ媒体インターフェースによってバス(508)に接続することができる。
プログラム・モジュール(520)のセット(少なくとも1つ)を有するプログラム/ユーティリティ(518)は、限定ではなく例として、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データと同様に、メモリ(506)に格納され得る。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データまたはそれらのいくつかの組合せのおのおのは、ネットワーク環境の実施を含み得る。プログラム・モジュール(520)は、一般に、本明細書で説明されるように、ファイル分解および関連する再構成の実施形態の機能または方法論あるいはその両方を実行する。たとえば、プログラム・モジュールのセット(520)は、ファイル・データの配布の管理を実施するように構成されたモジュールを含み得、1つの実施形態では、図1~図4を参照して上記で説明したように、ファイル・データの無許可の配布を阻止する。
ホスト(502)はまた、キーボード、ポインティング・デバイスなどのような1つまたは複数の外部デバイス(540)、ディスプレイ(550)、ユーザがホスト(502)と対話できるようにする1つまたは複数のデバイス、または、ホスト(502)が1つまたは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(たとえば、ネットワーク・カード、モデムなど)、あるいはその組合せと通信することができる。そのような通信は、入力/出力(I/O)インターフェース(510)を介して発生する可能性がある。それでもなお、ホスト(502)は、ネットワーク・アダプタ(530)を介して、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(たとえば、インターネット)、あるいはその組合せなどの1つまたは複数のネットワークと通信することができる。図示されるように、ネットワーク・アダプタ(530)は、バス(508)を介してホスト(502)の他の構成要素と通信する。1つの実施形態では、分散ファイル・システム(図示せず)の複数のノードは、I/Oインターフェース(510)を介して、またはネットワーク・アダプタ(530)を介して、ホスト(502)と通信する。図示されていないが、他のハードウェアまたはソフトウェアあるいはその両方の構成要素を、ホスト(502)と連携して使用できることを理解されたい。例は、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどを含むが、これらに限定されない。
この文書では、「コンピュータ・プログラム媒体」、「コンピュータ使用可能媒体」、および「コンピュータ可読媒体」という用語は、一般に、RAM(512)、キャッシュ(514)、および、リムーバブル・ストレージ・ドライブ、およびハード・ディスク・ドライブにインストールされたハード・ディスクなどのストレージ・システム(516)を含むメイン・メモリ(506)のような媒体を称するために使用される。
(コンピュータ制御ロジックとも呼ばれる)コンピュータ・プログラムは、メモリ(506)に格納される。コンピュータ・プログラムはまた、ネットワーク・アダプタ(530)のような通信インターフェースを介して受信され得る。そのようなコンピュータ・プログラムは、実行されると、コンピュータ・システムが、本明細書で論じられるような本実施形態の機能を実行することを可能にする。特に、コンピュータ・プログラムは、実行されると、処理ユニット(504)がコンピュータ・システムの機能を実行できるようにする。したがって、そのようなコンピュータ・プログラムは、コンピュータ・システムのコントローラを表す。
本実施形態は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであり得る。コンピュータ・プログラム製品は、プロセッサに、本実施形態の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスとできる。コンピュータ可読記憶媒体は、たとえば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組合せであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、以下、すなわち、ポータブル・コンピュータ・ディスケットと、ハード・ディスクと、ランダム・アクセス・メモリ(RAM)と、読取専用メモリ(ROM)と、消去可能プログラム可能読取専用メモリ(EPROMまたはフラッシュ・メモリ)と、静的ランダム・アクセス・メモリ(SRAM)と、ポータブル・コンパクト・ディスク読取専用メモリ(CD-ROM)と、デジタル・バーサタイル・ディスク(DVD)と、メモリ・スティックと、フロッピー(R)・ディスクと、パンチ・カード、または命令が記録された溝内の隆起した構造など、機械的にエンコードされたデバイスと、前述の任意の適切な組合せとを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波または他の自由に伝播する電磁波、導波管または他の伝送媒体を通って伝播する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号などの一過性の信号自体であると解釈されるべきではない。
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたはワイヤレス・ネットワークあるいはその組合せのようなネットワークを介して、外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備え得る。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
本実施形態の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語と、「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語とを含む、1つまたは複数のプログラミング言語の任意の組合せで記述されたソース・コードまたはオブジェクト・コードのいずれかであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータにおいて、部分的にユーザのコンピュータにおいて、スタンド・アロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータにおいて、部分的にリモート・コンピュータにおいて、または完全にリモート・コンピュータまたはサーバにおいて実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続できるか、または、(たとえば、インターネット・サービス・プロバイダを使用してインターネットを経由して)外部コンピュータに接続できる。いくつかの実施形態では、たとえば、プログラマブル・ロジック回路構成、フィールド・プログラマブル・ゲートアレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路構成は、本実施形態の態様を実行するために、電子回路構成をパーソナライズ化するためのコンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行することができる。
1つの実施形態では、ホスト(502)は、クラウド・コンピューティング環境のノードである。当該技術分野において知られているように、クラウド・コンピューティングは、サービスのプロバイダとの最小限の管理努力または対話で、迅速にプロビジョニングおよびリリースできる構成可能なコンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの、便利なオン・デマンドでのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含み得る。そのような特性の例は以下の通りである。
オン・デマンド・セルフ・サービス(on-demand self-service):クラウド・コンシューマは、サービスのプロバイダとの人間の対話を必要とせずに、必要に応じて、自動的に、サーバ時間やネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングできる。
ブロード・ネットワーク・アクセス(broad network access):機能は、ネットワーク経由で利用可能であり、異種のシンまたはシック・クライアント・プラットフォーム(たとえば、モバイル・フォン、ラップトップ、およびPDA)による使用を促進する標準メカニズムを介してアクセスされる。
リソース・プーリング(resource pooling):プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを使用して複数のコンシューマにサービスを提供するためにプールされ、様々な物理リソースおよび仮想リソースが、デマンドに応じて、動的に割り当てられ、再割り当てされる。コンシューマは通常、提供されたリソースの正確な場所に対する制御または知識を有していないが、より高いレベルの抽象化(たとえば、国、州、またはデータセンタ)で場所を指定できる場合があるという点で、場所に依存しないという感覚がある。
迅速な柔軟性(rapid elasticity):機能は、迅速かつ柔軟にプロビジョニングされ、場合によっては自動的に、迅速にスケール・アウトし、迅速にリリースされて、迅速にスケール・インすることができる。コンシューマには、プロビジョニングのために利用可能な機能は、無制限に見えることが多く、いつでも任意の数量で購入できる。
測定サービス:クラウド・システムは、サービスのタイプ(ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウントなど)に適した抽象化の何らかのレベルにおいて、測定機能を活用することにより、リソースの使用を自動的に制御および最適化する。リソース使用を監視、制御、および報告し、利用されるサービスのプロバイダとコンシューマとの両方に透過性を提供することができる。
オン・デマンド・セルフ・サービス(on-demand self-service):クラウド・コンシューマは、サービスのプロバイダとの人間の対話を必要とせずに、必要に応じて、自動的に、サーバ時間やネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングできる。
ブロード・ネットワーク・アクセス(broad network access):機能は、ネットワーク経由で利用可能であり、異種のシンまたはシック・クライアント・プラットフォーム(たとえば、モバイル・フォン、ラップトップ、およびPDA)による使用を促進する標準メカニズムを介してアクセスされる。
リソース・プーリング(resource pooling):プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを使用して複数のコンシューマにサービスを提供するためにプールされ、様々な物理リソースおよび仮想リソースが、デマンドに応じて、動的に割り当てられ、再割り当てされる。コンシューマは通常、提供されたリソースの正確な場所に対する制御または知識を有していないが、より高いレベルの抽象化(たとえば、国、州、またはデータセンタ)で場所を指定できる場合があるという点で、場所に依存しないという感覚がある。
迅速な柔軟性(rapid elasticity):機能は、迅速かつ柔軟にプロビジョニングされ、場合によっては自動的に、迅速にスケール・アウトし、迅速にリリースされて、迅速にスケール・インすることができる。コンシューマには、プロビジョニングのために利用可能な機能は、無制限に見えることが多く、いつでも任意の数量で購入できる。
測定サービス:クラウド・システムは、サービスのタイプ(ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウントなど)に適した抽象化の何らかのレベルにおいて、測定機能を活用することにより、リソースの使用を自動的に制御および最適化する。リソース使用を監視、制御、および報告し、利用されるサービスのプロバイダとコンシューマとの両方に透過性を提供することができる。
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供される機能は、クラウド・インフラストラクチャで実行されているプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブ・ブラウザ(たとえば、ウェブ・ベースの電子メール)のようなシン・クライアント・インターフェースを介して、様々なクライアント・デバイスからアクセス可能である。コンシューマは、ユーザ固有のアプリケーション構成設定が限られている可能性を除いて、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個人のアプリケーション機能さえも含む、基盤となるクラウド・インフラストラクチャを管理または制御しない。
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、コンシューマが作成または獲得したアプリケーションをクラウド・インフラストラクチャに展開することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージなどの、基盤となるクラウド・インフラストラクチャを管理または制御しないが、展開されたアプリケーションと、場合によってはアプリケーション・ホスティング環境の構成を制御する。
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供される機能は、処理や、ストレージや、ネットワークや、オペレーティング・システムとアプリケーションとを含み得る任意のソフトウェアをコンシューマが展開および実行できる他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基盤となるクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、展開されたアプリケーションの制御、および、場合によっては、選択ネットワーキング構成要素(たとえば、ホスト・ファイアウォール)の限定された制御を有する。
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供される機能は、クラウド・インフラストラクチャで実行されているプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブ・ブラウザ(たとえば、ウェブ・ベースの電子メール)のようなシン・クライアント・インターフェースを介して、様々なクライアント・デバイスからアクセス可能である。コンシューマは、ユーザ固有のアプリケーション構成設定が限られている可能性を除いて、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個人のアプリケーション機能さえも含む、基盤となるクラウド・インフラストラクチャを管理または制御しない。
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、コンシューマが作成または獲得したアプリケーションをクラウド・インフラストラクチャに展開することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージなどの、基盤となるクラウド・インフラストラクチャを管理または制御しないが、展開されたアプリケーションと、場合によってはアプリケーション・ホスティング環境の構成を制御する。
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供される機能は、処理や、ストレージや、ネットワークや、オペレーティング・システムとアプリケーションとを含み得る任意のソフトウェアをコンシューマが展開および実行できる他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基盤となるクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、展開されたアプリケーションの制御、および、場合によっては、選択ネットワーキング構成要素(たとえば、ホスト・ファイアウォール)の限定された制御を有する。
展開モデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは、組織のためだけに運用される。クラウド・インフラストラクチャは、組織またはサード・パーティによって管理され、オン・プレミスまたはオフ・プレミスに存在する場合がある。
コミュニティ・クラウド:クラウド・インフラストラクチャは、複数の組織で共有されており、関心事項(たとえば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンスの考慮事項)を共有している特定のコミュニティをサポートする。クラウド・インフラストラクチャは、組織またはサード・パーティによって管理され、オン・プレミスまたはオフ・プレミスに存在する場合がある。
パブリック・クラウド:クラウド・インフラストラクチャは、一般の人々または大規模な業界グループが利用できるようになっており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の構成であり、一意のエンティティのままであるが、データとアプリケーションの移植性を可能にする標準化された、または、独自の技術(たとえば、クラウド間の負荷分散のためのクラウド・バースト)によってともに結合される。
プライベート・クラウド:クラウド・インフラストラクチャは、組織のためだけに運用される。クラウド・インフラストラクチャは、組織またはサード・パーティによって管理され、オン・プレミスまたはオフ・プレミスに存在する場合がある。
コミュニティ・クラウド:クラウド・インフラストラクチャは、複数の組織で共有されており、関心事項(たとえば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンスの考慮事項)を共有している特定のコミュニティをサポートする。クラウド・インフラストラクチャは、組織またはサード・パーティによって管理され、オン・プレミスまたはオフ・プレミスに存在する場合がある。
パブリック・クラウド:クラウド・インフラストラクチャは、一般の人々または大規模な業界グループが利用できるようになっており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の構成であり、一意のエンティティのままであるが、データとアプリケーションの移植性を可能にする標準化された、または、独自の技術(たとえば、クラウド間の負荷分散のためのクラウド・バースト)によってともに結合される。
クラウド・コンピューティング環境は、ステートレス性、低結合度、モジュール性、およびセマンティック相互運用性に焦点を合わせることを指向したサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを備えるインフラストラクチャである。
ここで図6を参照すると、例示的なクラウド・コンピューティング・ネットワーク(600)が示される。図示されるように、クラウド・コンピューティング・ネットワーク(600)は、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信できる1つまたは複数のクラウド・コンピューティング・ノード(610)を有するクラウド・コンピューティング環境(605)を含む。これらのローカル・コンピューティング・デバイスの例は、携帯情報端末(PDA)またはセルラ電話(620)、デスクトップ・コンピュータ(630)、ラップトップ・コンピュータ(640)、または自動車コンピュータ・システム(650)、あるいはその組合せを含むが、これらに限定されない。ノード(610)内の個々のノードは、さらに互いに通信することができる。ノードは、上記のプライベート、コミュニティ、パブリック、またはハイブリッド・クラウド、あるいはその組合せなどの1つまたは複数のネットワークに、物理的または仮想的にグループ化(図示せず)することができる。これにより、クラウド・コンピューティング環境(600)は、クラウド・コンシューマが、ローカル・コンピューティング・デバイス上でリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せを提供することができる。図6に示されるコンピューティング・デバイス(620)~(650)のタイプは、例示のみを意図しており、クラウド・コンピューティング環境(605)は、任意のタイプのネットワークまたはネットワーク・アドレス可能接続あるいはその両方を介して(たとえば、ウェブ・ブラウザを使用して)、任意のタイプのコンピュータ化されたデバイスと通信できると理解される。
ここで図7を参照すると、図5のクラウド・コンピューティング・ネットワークによって提供される機能的抽象化層のセットが示される。図7に示される構成要素、層、および機能は、例示のみを意図され、実施形態はそれに限定されないことが事前に理解されるべきである。図示されるように、以下の層、すなわち、ハードウェアおよびソフトウェア層(710)、仮想化層(720)、管理層(730)、およびワークロード層(740)と、対応する機能とが提供される。ハードウェアおよびソフトウェア層(710)は、ハードウェアおよびソフトウェアの構成要素を含む。ハードウェア構成要素の例は、1つの例ではIBM(R) zSeries(R)システムであるメインフレームと、1つの例ではIBM(R) pSeries(R)システム、IBM(R) xSeries(R)システム、IBM(R) BladeCenter(R)システムであるRISC(縮小命令セット・コンピュータ(Reduced Instruction Set Computer))アーキテクチャ・ベースのサーバと、ストレージ・デバイスと、ネットワークおよびネットワーキング構成要素とを含む。ソフトウェア構成要素の例は、1つの例ではIBM(R) WebSphere(R)アプリケーション・サーバ・ソフトウェアであるネットワーク・アプリケーション・サーバ・ソフトウェアと、1つの例ではIBM(R) DB2(R)データベース・ソフトウェアであるデータベース・ソフトウェアとを含む。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere、およびDB2は、多くの世界中の司法権で登録されたインターナショナル・ビジネス・マシーン・コーポレーションの登録商標である)。
仮想化層(720)は、抽象化層を提供し、抽象化層から、仮想エンティティの以下の例、すなわち、仮想サーバと、仮想ストレージと、仮想プライベート・ネットワークを含む仮想ネットワークと、仮想アプリケーションおよびオペレーティング・システムと、仮想クライアントとが提供され得る。
1つの例では、管理層(730)は、以下の機能、すなわち、リソース・プロビジョニングと、測定および価格設定と、ユーザ・ポータルと、サービス・レベル管理と、SLA計画および履行とを提供し得る。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。測定および価格設定は、リソースがクラウド・コンピューティング環境内で利用されるときにコスト追跡を提供し、これらのリソースの消費に対して請求書発行またはインボイス発行を行う。1つの例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含む場合がある。セキュリティは、クラウド・コンシューマとタスクの識別情報検証、およびデータや他のリソースの保護を提供する。ユーザ・ポータルは、コンシューマおよびシステム管理者のために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、必要なサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割振りおよび管理を提供する。サービス・レベル・アグリーメント(SLA)計画および履行は、SLAに従って将来の要件が予想されるクラウド・コンピューティング・リソースの事前準備と調達とを提供する。
ワークロード層(740)は、クラウド・コンピューティング環境が利用され得る機能の例を提供する。この層から提供される可能性のあるワークロードと機能の例は、マッピングおよびナビゲーションと、ソフトウェア開発およびライフサイクル管理(lifecycle management)と、仮想教室教育配信と、データ分析処理と、トランザクション処理と、ファイル・メタデータにおける地理的指定エンコーディングとを含むが、これらに限定されない。
当業者によって理解されるように、態様は、システム、方法、またはコンピュータ・プログラム製品として具現化され得る。したがって、態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェアとハードウェアの態様を組み合わせた実施形態の形態を採ることができ、これらはすべて本明細書で一般に「回路」、「モジュール」、または「システム」と呼ばれ得る。さらに、本明細書に記載される態様は、具現化されたコンピュータ可読プログラム・コードを有する1つまたは複数のコンピュータ可読媒体に具現化されたコンピュータ・プログラム製品の形態を採ることができる。
コンピュータ可読信号媒体は、たとえば、ベースバンドで、または搬送波の一部として、具現化されたコンピュータ可読プログラム・コードを備えた伝播データ信号を含み得る。そのような伝播信号は、電磁的、光学的、またはそれらの任意の適切な組合せを含むがこれらに限定されない、様々な形態のいずれかを採ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによって、またはそれらに関連して使用するためのプログラムを通信、伝播、または伝送することができる任意のコンピュータ可読媒体であり得る。
実施形態は、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して上述される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ・プログラム命令によって実施できることが理解されよう。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実施するための手段を作成するように、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されて、マシンを作り出すものであってよい。
これらのコンピュータ・プログラム命令はまた、コンピュータ可読媒体に格納された命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実施する命令を含む製造品を生成するように、コンピュータ可読媒体に格納され、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに、特定の方式で機能するように指示することができるものであってもよい。
コンピュータ・プログラム命令はまた、コンピュータまたは他のプログラム可能な装置上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実施する処理を提供するように、コンピュータ実施プロセスを生成すべく、コンピュータ、他のプログラム可能なデータ・処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
図中のフローチャートおよびブロック図は、様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、モジュール、セグメント、またはコードの一部を表すことができ、これは、指定された論理機能を実施するための1つまたは複数の実行可能な命令を備える。いくつかの代替の実施では、ブロックに示されている機能は、図に示されている順序とは異なる順序で起こる場合があることにも留意されたい。たとえば、連続して示される2つのブロックは、実際には、実質的に同時に実行される場合があるか、または時には関与する機能に応じて、ブロックが逆の順序で実行される場合がある。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能または行為を実行する、または専用ハードウェアとコンピュータ命令との組合せを実行する、専用ハードウェア・ベースのシステムによって実施できることにも留意されたい。
本明細書において使用される専門用語は、特定の実施形態のみを記載する目的のためであり、限定することは意図されていない。本明細書で使用されるように、単数形「a」、「an」、および「the」は、文脈において明確に示されていないのであれば、複数形も含むことが意図されている。さらに、「備える(comprises)」または「備えている(comprising)」あるいはその両方の用語は、本明細書で使用される場合、述べられた特徴、完全体、ステップ、操作、要素、または構成要素、あるいはその組合せの存在を指定するが、1つまたは複数の他の特徴、完全体、ステップ、操作、要素、構成要素、またはグループ、あるいはその組合せの存在または追加を排除するものではないことが理解される。
本明細書に記載される実施形態は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せで実施することができる。コンピュータ・プログラム製品は、プロセッサに、本発明に記載された実施形態を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
実施形態は、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書で説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実施できることが理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実施するための手段を作成するように、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令はまた、格納された命令を有するコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為の態様を実施する命令を含む製造品を備えるように、コンピュータ可読記憶媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組合せに、特定の方式で機能するように指示することができるものであってもよい。
例示の目的で特定の実施形態が本明細書に記載されているが、本明細書に記載される特定の実施形態の範囲から逸脱することなく、様々な変更を行うことができることが理解されよう。したがって、保護の範囲は、添付の特許請求の範囲およびそれらの均等物によってのみ限定される。
本実施形態の態様は、実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書で説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実施できることが理解されよう。
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の動作ステップを実行させて、コンピュータ実施プロセスを生成でき、その結果、コンピュータ、他のプログラム可能な装置、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実施する。
図中のフローチャートおよびブロック図は、様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、モジュール、セグメント、または命令の一部を表すことができ、これは、指定された論理機能を実施するための1つまたは複数の実行可能な命令を備える。いくつかの代替の実施では、ブロックに示されている機能は、図に示されている順序とは異なる順序で起こる場合がある。たとえば、連続して示される2つのブロックは、実際には実質的に同時に実行される場合があるか、または時には関与する機能に応じて、ブロックが逆の順序で実行される場合がある。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能または行為を実行する、または専用ハードウェアとコンピュータ命令との組合せを実行する、専用ハードウェア・ベースのシステムによって実施できることにも留意されたい。
添付の特許請求の範囲におけるすべてのミーンズ・プラス・ファンクションまたはステップ・プラス・ファンクション要素の対応する構造、材料、行為、および均等物は、具体的に特許請求されるように、他の特許請求された要素と組み合わせて機能を実行するための任意の構造、材料、または行為を含むことを意図する。本実施形態の説明は、例示および説明の目的で提示されているが、網羅的であること、または開示された形態の実施形態に限定されることを意図するものではない。
実施形態の範囲から逸脱することなく、多くの変更および変形が当業者には明らかであろう。実施形態は、実施形態の原理および実際の適用を最もよく説明し、当業者が、企図される特定の使用に適した様々な変更を加えて実施形態を理解できるようにするために選択および説明された。したがって、分解および関連付けられたファイル構成は、ファイル・システム層で複数のファイル形式を認識し、関連付けられたストレージ・アレイの特性を効率的に利用する。
例示の目的で特定の実施形態が本明細書に記載されているが、実施形態の範囲から逸脱することなく様々な変更を行うことができることが理解されよう。ファイル配布の制御は、最終的な宛先に加えて、またはその代わりに中間の場所を含めるように変更できる。したがって、これらの実施形態の保護の範囲は、添付の特許請求の範囲およびそれらの均等物によってのみ限定される。
Claims (20)
- メモリに動作可能に結合された処理ユニットと、
ファイル配布の阻止をサポートするためのツールを有する、前記処理ユニットと通信する制限デバイスとを備え、前記ツールは、
ファイル・パラメータを定義するパラメータ・マネジャであって、前記定義されたファイル・パラメータは、ファイル配布特性を含み、前記パラメータ・マネジャは、前記定義されたファイル・パラメータとともにファイルをファイル・メタデータとしてエンコードする、前記パラメータ・マネジャと、
前記定義されたファイル・パラメータと物理的な複製の宛先との評価を含んで、前記エンコードされたファイル・パラメータに応じて前記ファイルの配布を管理する配布マネジャと、
前記ファイル・パラメータと宛先との評価に応じて前記ファイルを選択的に複製する複製マネジャとを備える、
コンピュータ・システム。 - 2つ以上の物理的なストレージ複製の宛先を有するハイブリッド・リモート・ストレージ環境内でデータの移動を調整する調整マネジャをさらに備え、
前記選択的な複製はさらに、前記複製マネジャが、前記2つ以上の物理的なストレージ複製の宛先のおのおのに対して、前記定義されたファイル・パラメータを別個に評価することを含む、請求項1に記載のコンピュータ・システム。 - 前記定義されたパラメータは、地理的境界であり、さらに、前記複製マネジャが、前記境界内で定義された場所にファイル複製を制限することを含む、請求項1または2に記載のコンピュータ・システム。
- 前記定義されたパラメータは、前記複製に関連付けられた宛先IPアドレスである、請求項3に記載のコンピュータ・システム。
- 前記パラメータ・マネジャが、前記パラメータを修正することと、前記修正されたパラメータをファイル・メタデータとしてエンコードすることとを含んで、前記定義されたファイル・パラメータをリセットすることをさらに含む、請求項1ないし4のいずれか一項に記載のコンピュータ・システム。
- 前記定義されたパラメータとともに前記ファイルをエンコードすることによって、ファイル配布制御データを前記ファイルと直接統合する、請求項1ないし5のいずれか一項に記載のコンピュータ・システム。
- データ配布を管理するための方法であって、
ファイル・パラメータを定義することであって、前記定義されたパラメータは、ファイル配布特性を含む、前記定義することと、
前記定義されたパラメータとともにファイルをファイル・メタデータとしてエンコードすることと、
前記定義されたパラメータと物理的な複製の宛先との評価を含む、前記エンコードされたパラメータに応じて前記ファイルの配布を管理することと、
前記パラメータと宛先との評価に応じて前記ファイルを選択的に複製することとを含む、方法。 - 2つ以上の物理的なストレージ複製の宛先を有するハイブリッド・リモート・ストレージ環境内でデータ移動を調整することをさらに含み、前記選択的な複製はさらに、前記2つ以上の物理的なストレージ複製の宛先のおのおのに対して、前記定義されたファイル・パラメータを別個に評価することを含む、請求項7に記載の方法。
- 前記定義されたパラメータは、地理的境界であり、前記方法は、前記境界内で定義された場所にファイル複製を制限することをさらに含む、請求項7または8に記載の方法。
- 前記定義されたパラメータは、前記複製に関連付けられた宛先IPアドレスである、請求項7ないし9のいずれかに記載の方法。
- 前記パラメータを修正することと、前記修正されたパラメータをファイル・メタデータとしてエンコードすることとを含む、前記定義されたファイル・パラメータをリセットすることをさらに含む、請求項7ないし10のいずれか一項に記載の方法。
- 前記定義されたパラメータとともに前記ファイルをエンコードすることによって、ファイル配布制御データを前記ファイルと直接統合する、請求項7ないし11のいずれか一項に記載の方法。
- 前記ファイル・パラメータを定義することと、前記定義されたパラメータとともに前記ファイルをファイル・メタデータとしてエンコードすることとは、ファイル配布パラメータとともに前記ファイルをファイル・メタデータとしてエンコードすることを含み、
前記ファイルの配布を管理することは、前記エンコードされた配布パラメータを使用して、前記エンコードされたパラメータと、物理的なファイルの宛先の地理的な場所との評価を含む、前記物理的なファイルの宛先へのファイル・データ転送を制御することを含み、
前記パラメータと宛先との評価に応じて前記ファイルを選択的に複製することは、前記パラメータと宛先との評価に応じて前記ファイルを選択的に送信することを含む、
請求項7ないし12のいずれか一項に記載の方法。 - 前記エンコードされた配布パラメータは、地理的境界であり、前記方法は、前記境界内で定義された場所にファイル送信を制限することをさらに含む、請求項13に記載の方法。
- 前記エンコードされたパラメータを修正することと、前記修正された配布パラメータをファイル・メタデータとしてエンコードすることとを含む、前記エンコードされた配布パラメータをリセットすることをさらに含む、請求項13または14に記載の方法。
- 前記エンコードされた配布パラメータを使用して、物理的なファイルの宛先へのファイル・データ転送を制御することはさらに、前記転送に関連付けられた中間ファイル場所を識別することと、前記ファイル配布パラメータを考慮して前記中間ファイル場所を評価することと、前記中間ファイル場所の評価に応じて前記ファイルを選択的に送信することとを含む、請求項13ないし15のいずれか一項に記載の方法。
- ファイル・パラメータを定義し、前記定義されたパラメータとともにファイルをファイル・メタデータとしてエンコードすることは、拡張ファイル属性とともにファイルをファイル・メタデータとしてエンコードすることを含み、前記拡張ファイル属性は、前記ファイルの存在が許可されている場所を示し、
前記エンコードされたパラメータに応じて前記ファイルの配布を管理することは、前記エンコードされた拡張ファイル属性を使用して、前記エンコードされた拡張属性と、前記物理的なファイルの宛先の地理的な場所との評価を含む、物理的なファイルの宛先へのファイル・データ転送を制御することを含み、
前記パラメータと宛先との評価に応じて前記ファイルを選択的に複製することは、前記エンコードされた拡張属性と宛先との評価に応じて前記ファイルを選択的に送信することを含む、請求項7ないし16のいずれか一項に記載の方法。 - 前記拡張ファイル属性は、複数の環境またはオペレーティング・システムにわたって検索可能および理解可能である、請求項17に記載の方法。
- データ配布を管理するためのコンピュータ・プログラム製品であって、
処理回路によって可読なコンピュータ可読記憶媒体であり、請求項7ないし18のいずれか一項に記載の方法を実行するように前記処理回路による実行のための命令を格納する、前記コンピュータ可読記憶媒体を備える、
コンピュータ・プログラム製品。 - コンピュータにおいて実行されるとき、請求項7ないし18のいずれか一項に記載の方法を実行するためのソフトウェア・コード部分を備える、コンピュータ可読媒体に格納され、デジタル・コンピュータの内部メモリにロード可能な、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/731,298 US11562094B2 (en) | 2019-12-31 | 2019-12-31 | Geography aware file dissemination |
US16/731,298 | 2019-12-31 | ||
PCT/IB2020/062316 WO2021137095A1 (en) | 2019-12-31 | 2020-12-22 | Geography aware file dissemination |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023507942A true JP2023507942A (ja) | 2023-02-28 |
Family
ID=76546374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022536817A Pending JP2023507942A (ja) | 2019-12-31 | 2020-12-22 | 地理認識ファイル配布 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11562094B2 (ja) |
JP (1) | JP2023507942A (ja) |
CN (1) | CN114651432A (ja) |
WO (1) | WO2021137095A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11403374B2 (en) * | 2019-05-07 | 2022-08-02 | Bank Of America Corporation | User-specific watermark for maintaining security of data files |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6370629B1 (en) | 1998-10-29 | 2002-04-09 | Datum, Inc. | Controlling access to stored information based on geographical location and date and time |
US7177426B1 (en) | 2000-10-11 | 2007-02-13 | Digital Authentication Technologies, Inc. | Electronic file protection using location |
US9311499B2 (en) * | 2000-11-13 | 2016-04-12 | Ron M. Redlich | Data security system and with territorial, geographic and triggering event protocol |
US7042470B2 (en) | 2001-03-05 | 2006-05-09 | Digimarc Corporation | Using embedded steganographic identifiers in segmented areas of geographic images and characteristics corresponding to imagery data derived from aerial platforms |
US8312064B1 (en) * | 2005-05-11 | 2012-11-13 | Symantec Corporation | Method and apparatus for securing documents using a position dependent file system |
WO2010049008A1 (en) | 2008-10-31 | 2010-05-06 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for verifying geographical descriptiveness of media file |
US8122024B2 (en) | 2008-12-12 | 2012-02-21 | Research In Motion Limited | Method and system for storing multiple geo-tagged media files and rendering the same |
US8738934B2 (en) | 2009-08-25 | 2014-05-27 | Keeper Security, Inc. | Method and apparatus for protecting account numbers and passwords |
US8676593B2 (en) * | 2010-09-23 | 2014-03-18 | International Business Machines Corporation | Geographic governance of data over clouds |
US8656454B2 (en) | 2010-12-01 | 2014-02-18 | Microsoft Corporation | Data store including a file location attribute |
US20120331527A1 (en) | 2011-06-22 | 2012-12-27 | TerraWi, Inc. | Multi-layer, geolocation-based network resource access and permissions |
US9060004B1 (en) | 2011-11-16 | 2015-06-16 | Symantec Corporation | Systems and methods for maintaining location-aware virtualization layers |
US10084828B2 (en) * | 2011-11-22 | 2018-09-25 | Realnetworks, Inc. | Social-chronographic-geographic media file browsing system and method |
CN105340240A (zh) | 2013-01-29 | 2016-02-17 | 惠普发展公司,有限责任合伙企业 | 用于共享文件存储的方法和系统 |
US20140236478A1 (en) | 2013-02-21 | 2014-08-21 | Yakov Z. Mermelstein | Method and system that open data, files and applications automatically based on geographic location |
US10129345B2 (en) * | 2014-03-11 | 2018-11-13 | Nextdoor.Com, Inc. | Providing content to a geographically constrained set of recipients |
US20170223119A1 (en) | 2015-10-23 | 2017-08-03 | SnoOwl, Inc. | Geospatial aware queueing |
CN105975570B (zh) | 2016-05-04 | 2019-10-18 | 深圳市至壹科技开发有限公司 | 基于地理位置的视频搜索方法及系统 |
US11194856B2 (en) * | 2017-03-07 | 2021-12-07 | Verizon Media Inc. | Computerized system and method for automatically identifying and providing digital content based on physical geographic location data |
US10817889B2 (en) | 2017-09-21 | 2020-10-27 | T-Mobile Usa, Inc. | Geographic boundary determination service |
CN108460121B (zh) | 2018-01-22 | 2022-02-08 | 重庆邮电大学 | 智慧城市中时空数据小文件合并方法 |
CN109040645B (zh) | 2018-08-02 | 2022-06-17 | 平安科技(深圳)有限公司 | 音视频文件转录方法、装置及存储介质、服务器 |
-
2019
- 2019-12-31 US US16/731,298 patent/US11562094B2/en active Active
-
2020
- 2020-12-22 CN CN202080076368.XA patent/CN114651432A/zh active Pending
- 2020-12-22 JP JP2022536817A patent/JP2023507942A/ja active Pending
- 2020-12-22 WO PCT/IB2020/062316 patent/WO2021137095A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN114651432A (zh) | 2022-06-21 |
US11562094B2 (en) | 2023-01-24 |
WO2021137095A1 (en) | 2021-07-08 |
US20210200891A1 (en) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10606881B2 (en) | Sharing container images between mulitple hosts through container orchestration | |
US11178237B2 (en) | Geolocation-based activation and de-activation of hardware and software functionalities in the cloud | |
US10067940B2 (en) | Enhanced storage quota management for cloud computing systems | |
US10810316B2 (en) | Updating monitoring systems using merged data policies | |
US11188499B2 (en) | Storing and retrieving restricted datasets to and from a cloud network with non-restricted datasets | |
US20150302071A1 (en) | Cloud Based Data Migration and Replication | |
CN114586010B (zh) | 对象存储服务的输出路径中对象过滤代码的按需执行 | |
CN114586011B (zh) | 将所有者指定的数据处理流水线插入到对象存储服务的输入/输出路径 | |
US10891386B2 (en) | Dynamically provisioning virtual machines | |
US10754699B2 (en) | Remote provisioning of virtual appliances for access to virtualized storage | |
US11172024B2 (en) | Co-location of storage buckets with containerized applications | |
US10838641B2 (en) | Defragmenting backup objects | |
US9716666B2 (en) | Process cage providing attraction to distributed storage | |
JP2023507942A (ja) | 地理認識ファイル配布 | |
CN110008186A (zh) | 针对多ftp数据源的文件管理方法、装置、终端和介质 | |
KR20220154822A (ko) | 분산 데이터 스토리지 환경들에서의 안전한 데이터 복제 | |
KR20220045005A (ko) | 3세대 파트너쉽 프로젝트(3gpp) 라이브 업링크 스트리밍용 프레임워크(flus) 싱크 능력 결정 | |
US10101912B2 (en) | Automated home memory cloud with key authenticator | |
US11940969B2 (en) | Managing locations of derived storage objects | |
WO2023040532A1 (en) | Utilizing federation relationship settings among different systems | |
US20220350507A1 (en) | Dynamic Management of Data Storage for Applications Based on Data Classification | |
KR101977219B1 (ko) | GIS(Geographic Information System) 기반의 가상화 데이터 서비스 제공 장치 및 방법 | |
US10528524B2 (en) | Mitigation of geolocation based data remanence problems | |
JP2022546949A (ja) | コンピュータ・システムの複数のインスタンスと関連付けられたリソースをプロビジョニングするための方法、装置及びコンピュータ・プログラム | |
JP2023537206A (ja) | メタデータベースのデータレプリケーション |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230525 |