JP7193515B2 - 情報ライフサイクル管理のための同期オブジェクト配置 - Google Patents

情報ライフサイクル管理のための同期オブジェクト配置 Download PDF

Info

Publication number
JP7193515B2
JP7193515B2 JP2020185749A JP2020185749A JP7193515B2 JP 7193515 B2 JP7193515 B2 JP 7193515B2 JP 2020185749 A JP2020185749 A JP 2020185749A JP 2020185749 A JP2020185749 A JP 2020185749A JP 7193515 B2 JP7193515 B2 JP 7193515B2
Authority
JP
Japan
Prior art keywords
copy
ilm
machine
storage system
ingestion
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.)
Active
Application number
JP2020185749A
Other languages
English (en)
Other versions
JP2021077374A (ja
Inventor
マホニー,ロビン
セイラー,オリバー
エドワーズ,ブレイク
エイブラム,ウラジミール
ケント,グレゴリー
ジャオ,チョーン
Original Assignee
ネットアップ,インコーポレイテッド
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 ネットアップ,インコーポレイテッド filed Critical ネットアップ,インコーポレイテッド
Publication of JP2021077374A publication Critical patent/JP2021077374A/ja
Application granted granted Critical
Publication of JP7193515B2 publication Critical patent/JP7193515B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • 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/14Details of searching files based on file metadata
    • 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/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • 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
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示は、一般的に、データ処理の分野に関する。そして、より詳細には、データベースおよびファイル管理、またはデータ構造に関する。
情報ライフサイクル管理(ILM)は、典型的に、情報のビジネス/規制要件を、情報が作成された時間から最終処分に至るまで、適切かつ費用対効果の高いインフラストラクチャと整合させるために使用されるポリシ、プロセス、実践、サービス、およびツールを含んでいる。ILMは、情報を、アプリケーション、メタデータ、およびデータと関連する管理ポリシおよびサービスレベルを通して、ビジネス要件と整合させることができる。組織は、データに適用される一式のILMルールを指定する。ILMルールの集合が、ILMポリシにおいて指定され得る。ILMポリシに影響を与えるいくつかの要因は、企業データ管理コスト、様々な管轄区域およびデータ領域(例えば、健康関連データ)にわたる様々な法律および規制の遵守、訴訟準備、および企業規模のコンテンツ管理、を含んでいる。一般的に、アクセシビリティ要件およびデータの価値は、時間の経過につれて損なわれる。従って、ILMポリシは、典型的には、データの減少する価値を反映する方法で、より価値の低いデータを保管する(例えば、コピーの減少、リソース集約的なデータ保護の減少、待ち時間の増加、等)。
本開示の実施形態は、添付の図面を参照することによって、より良好に理解され得る。
図1は、オブジェクトのインジェスト(ingest)時およびオブジェクトのライフサイクル全体を通じてILMポリシを適用するための分散ストレージシステムの概念図である。 図2は、オブジェクトのライフサイクルの段階の最中におけるオブジェクトのILM管理を説明するチャートである。 図3は、分散ストレージシステムを動作させるためのILMルールを説明する例示的なインターフェイスである。 図4は、分散ストレージシステムを動作させるための例示的なILMポリシを説明するフローチャートである。 図5は、分散ストレージシステムにおいてオブジェクトをインジェストするための例示的な動作のフローチャートである。 図6Aは、例示的なILMルールを説明している。 図6Bは、オブジェクトデータについて消去コード化アルゴリズムの使用を説明している。 図6Cは、オブジェクトデータについて消去コード化アルゴリズムの使用を説明している。 図6Dは、オブジェクトデータについて消去コード化アルゴリズムの使用を説明している。 図7は、情報ライフサイクル管理のための同期オブジェクト配置のための動作例のフローチャートである。 図8は、情報ライフサイクル管理のための同期オブジェクト配置のための動作例のフローチャートである。 図9は、情報ライフサイクル管理インジェストスキャナを備える例示的なコンピュータシステムを示している。
以下の説明は、本開示の実施形態を具現化する例示的なシステム、方法、技術、およびプログラムフローを含んでいる。しかしながら、この開示は、こうした具体的な詳細なしに、実践され得ることが理解される。他の例において、周知の命令インスタンス、プロトコル、構造、および技術は、説明を不明瞭にしないために、詳細には示されていない。
概要
地理的に分散した大規模ストレージシステム(「ストレージシステム(“storage system”)」、「分散ストレージシステム(“distributed storage system”)」、または「グリッド(“grid”)」)のユーザは、それらのオブジェクトについて情報ライフサイクル管理(ILM)ルールを設定することができる。しかしながら、インジェスト時には、ユーザデータの2つの複製コピー(replicated copies)が、冗長性のために同じサイトに存在することがあり、そして、次いで、ファクト(fact)の後で最終的な配置を作成するためにILMを適用する。例えば、ユーザは、ストレージシステムが同じサイトにおいて直ちに2つの複製コピーを生成し、そして、次いで、インジェスト後にデータを非同期的に消去することができるように、それらのデータを消去することを望み得る。
このワークフローに伴う2つの主要な問題が、ここにおいては、同期ILMを用いて対処され得る。第1に、同一サイト内に2つの複製コピーを必要とするポリシ以外のILMポリシには(例えば、ILMポリシはデフォルトと同じである)非効率性が存在し、ストレージシステムが無駄な作業を行っていることがある。つまり、ストレージシステムは、最終的に廃棄される、2つの複製コピーを作成する必要があり得る。第2に、ストレージシステムが、インジェストされたオブジェクトに対するILMポリシの適用を終了したとき、ユーザは、ほぼ視認性が無いかもしれない。
本開示の態様に従って、ストレージシステムは、データライフサイクルポリシを、インジェスト時に同期して適用するように構成され得る。2つのアプローチの違いを説明するために、2つのサイトAおよびBそれぞれにおいて、ユーザが1つの複製コピーを作成するILMルールを有している、例示的なストレージシステムが提示される。
第1アプローチにおいて、
1.ストレージシステムは、サイトAにおいて2つの複製コピーを作成する。
2.成功レスポンスを返し(例えば、S3 PUT要求に対するHyperText Transfer Protocol(HTTP)の"200 OK"成功ステータスレスポンスコード)、かつ、ライフサイクル管理のためにこのオブジェクトをキューイングする。
3.非同期ライフサイクルルールが動作化される。
4.ストレージシステムは、ILMポリシを満たすために、サイトBにおいて別のコピーを作成する。
5.ストレージシステムは、サイトA内で複製コピーの1つを削除する。
第1アプローチでは、ILMを適用する前に、ストレージシステムがクライアントに成功レスポンス(200 OK)を戻したので、ストレージシステムは、ライフサイクル管理の適用について何も保証できないことがあり得ることに留意する。ストレージシステムは、ILMポリシを直ちに適用しようとし得るが、ストレージシステムは、それを保証できないかもしれない。第1アプローチにおいては、以下のように、ILMポリシが非同期に適用され得る。
1.クライアントは、オブジェクトを保管するための要求を実行し(例えば、PUT要求)、ストレージシステムは、ILM処理のために、そのオブジェクトをメモリ内でキューイングし、そして、次いで、成功レスポンスを返し得る(例えば、200 OK)。
2.ストレージシステムが大量の負荷の下にある場合に、ストレージシステムは、オブジェクトのこの最初の(initial)インメモリ(in-memory)キューイングをドロップし、そして、ILMのスキャニングに従うように、選択することができる。
2a.ストレージシステム内でオブジェクトを再スキャニングすること、および、必要に応じてILMを適用することを取り扱う、スキャニングプロセスが使用され得る。ストレージシステムが、同期ILMからのアクションに従うとき、ユーザは、今や、このスキャンが再びピックアップするのを待つ必要がある。このスキャニングプロセスの一つの例は、タイトルが“Interactive Object Scanning For Information Lifecycle Management”である、米国特許出願公開第2018/0314706号に記載されており、参照によりその全体が組み込まれている。
3.ストレージシステムがオブジェクトの初期インメモリキューイングをドロップしない場合に、ストレージシステムは、直ちにILMを実行しようとし得る。しかしながら、その時点でILMポリシの適用が達成できない場合に(例えば、ストレージシステムのサイト全体がダウンしているか、または、接続不可能である)、ストレージシステムは、後の時間までこれを延期し、そして、スキャニングILMに再び従い得る。
最初のインジェストの後であるがILMルールを適用する前に、成功レスポンスを返す、非同期プロセスの性質により、ストレージシステムは、インジェストしたばかりのオブジェクトにILMが適用されたことを確実に保証することができないかもしれない。同期ILMは、このこと有効にする。
第2アプローチにおいて、本開示の実施形態に従って、
1.クライアントは、オブジェクトを保管する要求(例えばPUT要求)を実行し、ストレージシステムは、サイトAにおいて複製コピーを作成し、かつ、サイトBにおいて複製コピーを作成し得る。
2.ストレージシステムは、成功レスポンスを返し得る(例えば、S3 PUT要求に対する"200 OK")。
この第2アプローチにおいて、このPUT要求についてストレージシステムのリソース消費は、作成された複製オブジェクトのコピーが1つ少なく、かつ、使用された削除/リンク解除(delete/unlink)が1つ少なくなる。複製された(または、消去コード化(erasure coded)された)オブジェクトのコピーは、分散ストレージシステムにおいてオブジェクトの暫定コピー(interim copy)を保管することなく作成される。本開示の実施形態は、ストレージシステムがこのPUT要求のリソース消費を低減することを保証する(例えば、ストレージシステムによって生成された複製オブジェクトのコピーを1つ少なくし、そして、要求される削除/リンク解除を1つ少なくする、ことによる)。
同期ILMの一つの実施形態においては、ユーザのために利用可能な3つのオプション、すなわち、バランス型(balanced)、厳格型(strict)、およびデュアル型(dual)コミットである。デュアル型コミット(dual commit)は、分散ストレージシステムのストレージノードが同じサイト内に2つの複製コピーを作成し、そして、次いで、ILMを非同期的に適用する行為(behavior)を参照する。デュアル型コミットを選択することは、高いサイト間(inter-site)待ち時間を持ち、かつ、スペアのために十分なハードウェアリソースを持つストレージシステムインスタンスといった、いくつかのシナリオにおいて、有利であり得る(例えば、CPUやI/Oが制約されおらず、そうして、同期的にオブジェクトをインジェストする効率を高めることが必要とされない)。他の実施形態においては、ILMポリシの適用の前に、他のデフォルトの行為が非同期的に行われ得る。サイトで単一コピーを作成する、サイトで3つ以上のコピーを作成する、または、より複雑なデフォルトを作成するといったものである。厳格型(strict)は、ストレージシステムがILMポリシをインジェスト時に同期して適用しようとする行為を参照し、そして、できない場合には、S3/Swift PUTが失敗する。このことは、最近インジェストされたオブジェクトにILMが適用されたことを、ストレージシステムが保証することができることを確保する。バランス型は、ストレージシステムがILMを同期的に適用しようとする行為を参照するが、ストレージシステムができない場合(例えば、リモートサイトへの接続に失敗する)、ストレージシステムは、デュアル型コミットにフォールバック(fall-back)し、または、別のフォールバックルールを行うことができる。いくつかのストレージシステムは、新しいILMポリシに対するデフォルト設定としてバランス型に設定されてよい。バランス型の設定は、デュアル型コミットと同様にちょうど利用可能であり得るが、大抵の場合、同期していることで効率性の利益を有している。バランス型アプローチを使用することは、ユーザが、インジェスト時のILM適用の保証を必要としないが、効率化の利益を利用することを望む場合に、有利であり得る。
ILMポリシをインジェスト時に同期して適用することは、多くの利点を提供する。本開示の実施形態に従ったストレージシステムは、ライフサイクルポリシの保証された適用を提供する能力を有している。このことは、データ保護のためのサービスレベルアグリーメント(SLA)を有しており、かつ、自身のデータが自身のSLAを満足することを保証できるように望む顧客(customers)によって、望まれ得る。例えば、SLAは、「全てのデータの複製コピーを少なくとも2つの地理的な場所に持つ」といった、記述を有し得る。
本開示の実施形態に従ったストレージシステムは、また、ILMルールを同期的に適用することによって、効率を向上させることができる。このことは、データをインジェストするとき(例えば、ILMポリシが、各サイトにおいて1つの複製コピーを作成するルールを有しており、かつ、2つのサイトが存在する場合)に、I/O、CPU及び/又は他のリソースの消費を減少させることができる。従来のアプローチ下の所定のシステムにおいて、フローは、サイトAにおいて2つの複製コピーを作成するものであってよく、次いで、ストレージシステムは、サイトBにおいてもう1つの複製コピーを作成して、次に、サイトAにおいて複製コピーの1つを削除することができる。代わりに、本開示の実施形態に従って、ILMルールをインジェスト時に同期して適用することは、これらの複製の1つを除去する。
同期ILMは、加えて、より良いデータセキュリティを提供する。例えば、オブジェクトデータは、ILMルールの配置指令に規定されているように、直ちに保護される。これは、1つ以上のストレージロケーションの障害を含む、多種多様な障害状態に対して保護するように構成され得る。さらに、同期ILMは、より効率的なグリッド動作を提供する。各オブジェクトは、インジェストされる際に1度だけ処理される。分散ストレージシステムは、暫定コピーを追跡または削除する必要がないので、処理負荷がより少なく、そして、データベース空間の消費がより少ない。
実施例の説明
図1は、オブジェクトのインジェスト時およびオブジェクトのライフサイクル全体を通じてILMポリシを適用するための分散ストレージシステムの概念図である。分散ストレージシステムは、ワイドエリアネットワーク(WAN)を含む、ネットワークを介して通信する、サイト105、133、135および、137を含む複数のサイト(任意の数のサイトの一つの例として)にわたり地理的に分散されている。各サイトは、複数のストレージノードおよび記憶装置を収容することができる。ストレージノードは、オブジェクトデータおよびメタデータを記憶装置に保管し、そして、記憶装置内のオブジェクトデータおよびメタデータにアクセスするプロセスのコレクション(アプリケーションプロセス、サービス、等)を含んでいる。プロセスのコレクションは、仮想マシン及び/又は物理ホストマシンによってカプセル化され得る。サイト105、133、135、および137のいずれかにおけるストレージノードは、グリッドの中へオブジェクトをインジェストすることができる。インジェスト(ingest)は、クライアント要求、および、任意の管理ILMポリシに従って、1つ以上のストレージノードによって、グリッド内にオブジェクトを保管する動作を参照する。インジェストプロセスは、グリッドに対して定義されたオブジェクト名前空間に基づいて、オブジェクトに対してオブジェクト識別子を割り当てることを含む。インジェストは、コンテンツデータおよびメタデータへと分割されているオブジェクト、キャッシング、複製、消去コード化、等を含み得る。分散ストレージシステムと接続するインターフェイスは、オブジェクトをグリッド内に保管するための、S3型API(AMAZON Simple Storage Service(S3) APIに基づくもの)またはSwift型API(OpenStack Object Storage Project Swift APIに基づくもの)といった(本開示の実施形態が適用され得る例を2つだけ挙げる)、オブジェクト-ストレージ・アプリケーションプログラミングインターフェイス(API)を含み得る。S3のためのAPIリファレンスマニュアルは、その全体が参考として組み込まれている、“Amazon Simple Storage Service API Reference API Version 2006-03-01”において見出され得る。
インジェストは、クライアントアプリケーション(例えば、S3またはSwiftクライアントベースのアプリケーション)が、オブジェクトをストレージシステムに保存するための接続を確立したときに開始し、そして、ストレージシステムが、クライアントに対して「インジェスト成功(“ingest successful”)」メッセージを返すときに完了する。オブジェクトデータは、ILMがどのように指定されたかに応じて、直ちにILM指示を適用する(同期配置)か、または、暫定コピーを作成して、後にILMを適用する(デュアル型コミット)ことによって、インジェストの最中に保護され得る。
グリッドのストレージノードは、グリッド内のオブジェクトのインジェスト時および生涯全体を通して、オブジェクトに対してILMポリシ120を適用する。グリッドの各ストレージノードは、オブジェクト名前空間123の異なる領域について責任を負う。分散ストレージシステム内の各サイトにおけるストレージノードのサブセット(「管理ノード」(“administrative node”))は、ILMポリシ120のコピーを維持している。ILMポリシの変更または置き換えは、管理ノードの1つにおいて行われてよく、そして、ストレージシステム全体を通じて異なるサイトにおける他の管理ノードに対して通信することができる。コンポーネントのILMルールは、ILMポリシ120を基に作成されており、そして、ILMルールのアプライヤ(applier)125によってアクセスされる。ILMポリシにおける変更の事例に対処するために、グリッドは、グリッドのストレージノードにアクセス可能な分散データストア(または、分散データベース)131内に、提案された、および、現在の、ILM表示(ILMポリシ識別子122)を維持する。効用を高めるために、現在の、および、提案された、ILMポリシは、ルールにおける違いを捉えるために、コンポーネントルールから派生した識別子(例えば、ハッシュ値)を用いて識別される。ILMルールの例は、複製ルール、ストレージグレードまたは階層(tier)ルール、データ保護ルール、等を含んでいる。ILMルールセットは、たいてい、優先順位付けを含む、ルールの一貫した(coherent)組織化のためのILMポリシとして表現される。ILMポリシまたはルールセットを適用するために、ストレージノードは、優先順位に従ってルールセット内の各ルールに対して、オブジェクトのメタデータを評価し、そして、ルール評価に基づいてILMタスクを実行すべきか否かを決定する。説明すると、配置ルールおよびストレージグレードルールは、オブジェクトのサイズおよび年齢に基づいてトリガされ、その結果、オブジェクトコンテンツデータが、より低いグレードのストレージプールに割り当てられた異なるサイトにおけるストレージノードへ移動される。分散データストア131は、オブジェクトメタデータをホストするが、オブジェクトメタデータおよびILMポリシ識別子122のために異なる分散データストアが使用され得る。ILMポリシは変更することができ、かつ、分散データストア131は最終的には一貫した分散データストアであり得るので、グリッドにわたるストレージノードは、ILMポリシの異なるバージョンまたは異なるILMポリシが適用され得る。
この例示的な説明について、サイト105におけるストレージノード107は、コンテンツ転送サービス109、ストレージサブシステム115、分散データストアサービス117、ILMスキャナ121、およびILMルールアプライヤ125、を含む。コンテンツ転送サービス109は、オブジェクトをインジェストするための初期動作を管理する。コンテンツ転送サービス109によって扱われる初期インジェスト行為は、要求処理、データ保管、ストレージ管理、別のストレージノードへのデータ転送、および、ストレージ・プロトコル・インターフェイスの動作を含み得る。データ保管動作は、オブジェクトコンテンツデータのローカルキャッシング、および、オブジェクトメタデータのルーティングまたは保管を含み得る。最初のインジェスト行為は、インジェストベースのILMルールを適用することを含み得る。例えば、分散ストレージシステムは、サイト105のストレージノード107において、ILMを評価し、かつ、オブジェクトがインジェストされる際に、要件を満たすコピーを作成する、同期配置を実行することによって、または、暫定コピーを作成し、そして、後でILMを評価する、デュアル型コミットといった、デフォルトILMルールを実行することによって、インジェストの最中にオブジェクトを保護し得る。管理ユーザは、ILMルールを作成するときに各オブジェクトについて使用される方法(method)を指定することができる。
ストレージサブシステム115は、コンテンツ転送サービス109からの命令(command)または要求に応答して、(物理的または仮想的な)記憶装置にデータを保管するための記憶装置及び/又は外部ストレージサービスとインターフェイスする。分散データストアサービス117は、グリッド内のオブジェクトのメタデータを含む分散データストア131のローカルインスタンス119を管理することを含む、分散データストア131に対応する動作を実行する。分散データストアサービス117は、分散データストア131をターゲットとするコンテンツ転送サービス109およびILMスキャナ121からの要求を処理する。ILMスキャナ121は、ILMスキャナ121に対して自己割り当てされた(self-assigned)オブジェクト名前空間123の領域内のオブジェクトのオブジェクトメタデータを連続的にスキャンすることができる。ILMスキャナ121は、分散データストアサービス117からのオブジェクトメタデータを要求し、そして、評価優先度に基づいてオブジェクトメタデータを一式のキュー127(「ILMメタデータキュー」(“ILM metadata queues”)の中へキューイングする。ILMルールアプライヤ125は、ILMメタデータキュー127からオブジェクトメタデータを選択し、ILMポリシ120のILMルールセットに対してオブジェクトメタデータを評価し、そして、タスクにリスクがあるか否かに応じて、結果として生じるILMタスクを実行する。
いくつかの例においては、マルチパート(multipart)アップロードが進行中にILMの変更が生じ得る。アップロードの各部分は、その部分がインジェストされるときにアクティブであるルールに従って配置される。マルチパートアップロードが完了すると、オブジェクトのいくつかの部分は、現在のILM要件を満たさなくなることがある。こうした場合に、オブジェクトのインジェストは失敗しない。代わりに、正しく配置されなかった任意のパートは、ILM再評価のためにキューイングされてよく、そして、後で正しい位置に移動される。
図1の説明について、クライアント101は、オブジェクト103をグリッドの中へ保管することを要求する。サイト105のストレージノード107は、この要求およびオブジェクト103を受信する。コンテンツ転送サービス109は、オブジェクト名前空間123の中のオブジェクト103についてオブジェクト識別子を決定する。コンテンツ転送サービス109は、オブジェクト103をオブジェクトメタデータ111およびコンテンツデータ113へと分割し、そして、両方をオブジェクト103のオブジェクト識別子と関連付ける。オブジェクトメタデータ111は、データサイズ、データタイプ、作成日、インジェストの日時、データ所有者、等を示すことができる。メタデータ111は、オブジェクト103内に既に示されているメタデータに加えて、ストレージノード107によって作成されたメタデータ(例えば、ストレージノードをインジェストすることに対応するサイト識別子)を含み得る。いくつかの例において、ユーザは、オブジェクト103のインジェスト時にインラインILM評価をコンテンツ転送サービス109に実行させるか、または、最初のILM評価の前(例えば、消去コード化スキームに従った、フラグメント化、および、分散ストレージシステムの複数のストレージノードにわたるフラグメント化の前)に、ストレージサブシステム115を介してサイト105の記憶装置内にデータコンテンツ113をローカルに保管させるか、を決定することができる。
従って、デフォルトまたはデュアル型コミットオプションが選択された場合に、メタデータ111は、コンテンツデータ113のロケーションとして、ストレージノード107を最初に示すことができる。コンテンツ転送サービス109は、メタデータ111を分散データストア131のローカルインスタンス119の中へ保管するように分散データストアサービス117に要求する。コンテンツ転送サービス109は、また、ILMメタデータキュー127の中へメタデータ111を挿入する。ILMメタデータキュー127は、第1優先順位キューおよび第2優先順位キューを含み得る。コンテンツ転送サービス109は、インジェスト時にオブジェクトのためのメタデータを、キュー127のより高い優先順位のキュー(すなわち、第1優先順位キュー)の中へ挿入する。ILMルールアプライヤ125は、第2優先順位キュー切望することなく、第1優先順位キューにバイアスをかけるやり方でキューから除く(dequeue)ことができる。
しかしながら、厳格型またはバランス型オプションといった他のオプションが選択される場合には、ローカルキャッシュが必ずしもインジェストの一部として実装されることを要さない。コンテンツ転送サービス109は、オブジェクトメタデータ111をインジェスト時にILMポリシ120に対して評価し、そして、ILMルールアプライヤ125に非同期的に委任する代わりに、ルール評価から決定されたILMタスクを実行するようにプログラムされ得る。
図2は、オブジェクトのライフサイクルの段階の最中におけるオブジェクトのILM管理を説明するチャートである。
インジェスト:インジェストは、ブロック202において、クライアントアプリケーション(例えば、S3またはSwiftクライアントベースのアプリケーション)が、オブジェクトを分散ストレージシステムに保存するための接続を確立したときに開始し、そして、分散ストレージシステムが、クライアントに対して「インジェスト成功」メッセージを返すときに完了する。オブジェクトデータは、ILMがどのように指定されたかに応じて、ブロック204において、直ちにILM指示を適用する(同期配置)か、または、ブロック206において、暫定コピーを作成して、後にILMを適用する(デュアル型コミット)ことによって、インジェストの最中に保護され得る。
コピー管理:ILMの配置指令において指定されたオブジェクトコピーの数およびタイプを作成した後で、分散ストレージシステムは、オブジェクトのロケーションを管理し、そして、オブジェクトを紛失から保護する。
ILMスキャニングおよび評価:分散ストレージシステムは、グリッド内に保管されたオブジェクトのリストを連続的にスキャンすることができ、そして、ブロック208において、現在のコピーがILM要件を満たすか否かをチェックする。他の実施形態において、分散ストレージシステムは、規則的な間隔でオブジェクトを周期的にスキャンする。さらなる実施形態において、分散ストレージシステムが、規則的な間隔でオブジェクトをスキャンしなくてよいが、トリガに基づいてスキャンすることができる。トリガは、オブジェクトの移動、オブジェクトのメタデータにおける変更、オブジェクトのアクセス頻度の増加、を含み得る。
オブジェクトコピーの異なるタイプ、番号、またはロケーションが要求される場合に、分散ストレージシステムは、必要に応じて、コピーを作成、削除、または移動する。
バックグラウンド検証:分散ストレージシステムは、ブロック210において、オブジェクトデータの完全性をチェックするためにバックグラウンド検証を連続的に実行する。問題が見つかった場合、分散ストレージシステムは、ブロック212で、現在のILM要件を満たすロケーションにおいて、新しいオブジェクトコピー、または、置換消去コード化(replacement erasure coded)オブジェクトフラグメントを自動的に作成する。
オブジェクト削除:コピーが分散ストレージシステムから削除されると、オブジェクトの管理が終了する。オブジェクトは、ブロック214において、クライアントによる削除要求の結果として、もしくは、ブロック216において、ILMによる削除、S3バケットのライフサイクルの満了により生じた削除、またはコンプライアント(compliant)S3バケットの保持期間の終了によってトリガされた自動削除の結果として、削除され得る。クライアントがオブジェクトの除去を要求した後で、ブロック218において、分散ストレージシステムは、同期(例えば、直ちに)除去が可能か否か(例えば、全てのコピーがクラウド上ではなく分散ストレージシステムの中に保管されているか、または、テープバックアップへのアクセスが遅いか、もしくは、全てのサイトがアクセス可能であるか)を決定する。もしそうであるなら、ブロック220において、オブジェクトコピーが除去され、そして、スペースが再生利用(reclaim)される。そうでなければ、(または、ILMによって削除がトリガされる場合に)、ブロック222において、オブジェクトは削除されたものとしてマーク付けされ、そして、コピーは除去のためにキューイングされる。その後で、ブロック224において、オブジェクトコピーが除去される。
図3は、分散ストレージシステムを動作させるためのILMルールを説明する例示的なインターフェイスである。ILMルールは、以下の3つの要素を含み得る。(1)フィルタリング基準(criteria):ルールの基本的および先進的フィルタリング基準は、どのオブジェクトに対してルールを適用させるかを定義する。オブジェクトがフィルタリング基準に一致する場合に、分散ストレージシステムは、ルールを適用し、そして、ルールの配置指令(placement instructions)において指定されたオブジェクトコピーを作成する。
(2)配置指令:ルールの配置指令は、オブジェクトコピーの数、タイプ、およびロケーションを定義する。各ルールは、オブジェクトコピーの数、タイプ、およびロケーションを経時的に変更するための配置指令のシーケンスを含み得る。1つの配置の期間が満了すると、次の配置の指令が、次のILM評価によって自動的に適用される。
(3)インジェスト行為(ingest behavior):ルールのインジェスト行為は、クライアント(例えば、S3またはSwift)がオブジェクトをグリッドに保存したときに何が起こるかを定義する。インジェスト行為は、オブジェクトのコピーが、ルールの指令に従って直ちに配置されるか、または、暫定コピーが作成されて、後に、配置指令が適用されるか、を制御する。
配置指令は、オブジェクトデータが、どこに、いつ、そして、どのように保管されるかを決定する。ILMルールは、1つ以上の配置指令を含み得る。各配置指令は、単一期間に対して適用される。ユーザが配置指令を作成する場合、ユーザは、いつ配置が適用されるか(期間)、どのタイプのコピーを作成するか(複製または消去コード化)、そして、どこにコピーを保存するか(1つ以上のストレージロケーション)を指定することができる。単一ルール内で、ユーザは、1つの期間について複数の配置を指定し、そして、1つ以上の期間について配置指令を指定することができる。
ユーザがルールについて配置指令のセットを定義する場合に、ユーザは、少なくとも1つの配置指令が0日目(例えば、インジェスト時)に開始すること、定義された期間の間にギャップが存在しないこと、および、最終的な配置指令が永久に/無期限に、または、オブジェクトのコピーがもはや必要とされなくなるまで継続すること、を保証するように要求され得る。ルールにおける各期間が終了すると、次の期間のためのコンテンツ配置指令が適用され得る。新たなオブジェクトコピーが作成され、そして、あらゆる不要なコピーが削除される。
図3の例において示されるように、例示的なILMルールが、分散ストレージシステム内のテナントAに属するオブジェクトに適用されている。このルールは、インジェストされたオブジェクトの3つの複製コピーを作成し、かつ、各コピーを異なるデータセンタで2年間保管するように、分散ストレージシステムに要求する。2年後に、ストレージを永久に(または無期限に)アーカイブするために1つのコピーが移動される。このILMルールは、インジェスト行為についてバランス型オプションを使用する。3つの要求されたコピーを即座に作成することができなければ、テナントAが分散ストレージシステムにオブジェクトを保存するとすぐに、3つのコピーの配置指令が適用される。この場合に、分散ストレージシステムは、2つの異なるストレージノード上で2つの暫定コピーを直ちに作成し、そして、後で、要求されるコピーを作成する。
ユーザがILMルールを作成するときに、ユーザは、どのオブジェクトに対してルールが適用されるかを識別するためにフィルタリング基準を指定することができる。フィルタリング基準は、単純でも、または、複雑であってもよい。最も単純な場合に、ルールは、フィルタリング基準を全く指定しないことがある。フィルタリング基準を有しないルールがオブジェクトに適用されるが、これは、データの各項目が同一のストレージ要件を有する事例に適用されるだろう。フィルタリング基準を有しないルールの一つの例は、ストックルール“Make 2 Copies”であり、これは、2つの複製されたオブジェクトを任意の2つのストレージノード上に永久に保管する。ユーザがより特定的なストレージ要求(needs)を有しない場合に、“Make 2 Copies”ルールがオブジェクトについて使用され得る。ユーザは、また、他のルールにおけるフィルタリング基準のいずれも満足しないオブジェクトについてストレージ指令を提供するために、ILMポリシにおけるデフォルトルールとして“Make 2 Copies”ルールを含むこともできる。基本的フィルタリング基準により、ユーザは、異なるルールを、オブジェクトの大きく、個別のグループに適用することができる。利用可能なフィルタは、テナントアカウントに対して“Create ILM Rule”ウィザードを使用して、S3バケツ(Buckets)について、または、Swiftコンテナについて(2つの例として)作成され得る。これらの基本的フィルタにより、ユーザは、多数のオブジェクトに異なるルールを簡単な方法で適用することができる。例えば、企業の財務記録は規制要件を満足するために保管される必要があり、一方で、マーケティング部門からのデータは日常業務を促進するために保管される必要があり得る。各部門について別々のテナントアカウントを作成した後で、または、別々の部門からのデータを別々のS3バケツへと分離した後で、ユーザは、全ての財務記録に適用する1つのルール、および、全てのマーケティングデータに適用する第2のルールを容易に作成することができる。“Create ILM Rule”ウィザードの中の先進的フィルタリングオプションは、ユーザに細粒状の(granular)制御を提供することができる。ユーザは、以下のオブジェクト特性のうちの1つ以上に基づいてオブジェクトを選択するためのフィルタリング基準を作成することができる。
インジェスト時間(Ingest Time)、最後のアクセス時間(Last Access Time)、オブジェクト名の全部または一部分(Key)、S3バケツ領域(ロケーション制約(Location Constraint))、オブジェクトサイズ(Object Size)、ユーザメタデータ(User Metadata)、およびS3オブジェクトタグ(Object Tag)、である。表1は、フィルタリング基準として使用され得る異なるメタデータタイプを示している。
Figure 0007193515000001
Figure 0007193515000002
Figure 0007193515000003
表1
ユーザは、非常に特定的なフィルタリング基準を作成するために、先進的フィルタリングを使用することができる。例えば、病院の画像部門によって保管されたオブジェクトは、それらが30日間未満であるときには頻繁に使用され、それ以降は、稀であり得る。一方で、患者の来院情報を含むオブジェクトは、医療ネットワークの本社における請求部門に対してコピーされる必要があり得る。ユーザは、オブジェクト名、サイズ、S3オブジェクトタグ、または、あらゆる他の関連基準に基づいて、オブジェクトの各タイプを識別するフィルタを作成し、そして、次いで、オブジェクトの各セットを適切に保管するために別々のルールを作成することができる。
ユーザは、また、必要に応じて、基本的フィルタリング基準および先進的フィルタリング基準を単一のルールにおいて組み合わせてもよい。例えば、マーケティング部門は、ベンダーの記録とは異なって大きな画像ファイルを保管することを欲し、一方で、人事部門は、特定の地理およびポリシ情報おいて人事記録を集中的に保存する必要があり得る。この場合に、ユーザは、ルールが適用される特定のタイプのオブジェクトを識別する先進的フィルタを各ルールで使用しながら、各部門からのレコードを分離するためにテナントアカウントによってフィルタリングするルールを作成することができる。
図4は、分散ストレージシステムを動作させるための例示的なILMポリシを説明するフローチャートである。情報ライフサイクル管理(ILM)ポリシは、分散ストレージシステムがオブジェクトデータを時間にわたりどのように管理するかを決定するILMルールの順序付けされたセットを含んでいる。例示的なILMポリシにおいて、分散ストレージシステムのためのアクティブILMポリシは、全てのオブジェクトの配置、継続時間、およびデータ保護を制御している。クライアントがオブジェクトを分散ストレージシステムに保存するとき、オブジェクトは、以下のように、アクティブポリシにおけるILMルールの順序付けられたセットに対して評価され得る。ポリシ内の最初のルールについてフィルタリング基準がオブジェクトのメタデータと一致する場合に、オブジェクトは、そのルールのインジェスト行為に従って取り込まれ、そして、そのルールの配置指令に従って保管される。最初のルールついてフィルタリング基準がオブジェクトのメタデータと一致しない場合に、オブジェクトは、一致するまでポリシにおける後続の各ルールに対して評価される。ルールがオブジェクトのメタデータと一致しない場合には、ポリシにおけるデフォルトルールのためのインジェスト行為および配置指令が適用される。
オブジェクトを管理するために、ユーザは、情報管理ライフサイクル(ILM)ルールのセットを作成し、そして、それらをILMポリシへと編成することができる。システムの中へインジェストされた全てのオブジェクトは、アクティブポリシに対して評価され得る。ポリシ内のルールがオブジェクトのメタデータと一致する場合に、ルール内の指令は、そのオブジェクトをコピーおよび保管するために分散ストレージシステムが何のアクションを実行するかを決定する。ILMルールは、以下を定義することができる。
(1)どのオブジェクトが保管されるべきか。ルールは、全てのオブジェクトに対して、特定のテナントアカウントまたはバケツ/コンテナに属するオブジェクトに対して、または、特定のメタデータ値を含むオブジェクトに対して適用することができる。
(2)保管のタイプおよびロケーション。オブジェクトは、ストレージノード上に、クラウドストレージプール内に、または、アーカイブノード上に保管され得る。
(3)作成されたオブジェクトコピーのタイプ。コピーは、複製され、または、消去コード化(erasure coded)され得る。
(4)複製されたコピーについて、作成されたコピーの数。
(5)消去コード化されたコピーについて、使用された消去コード化アルゴリズム。
(6)オブジェクトのストレージロケーションおよびコピーのタイプに対する経時的な変化。
(7)オブジェクトがグリッドの中へインジェストされる際にオブジェクトデータを保護する方法(同期配置またはデュアル型コミット)。
いくつかの例において、オブジェクトメタデータは、ILMルールによって管理されなくてよい。代わりに、オブジェクトメタデータは、メタデータストアとして知られているものにおけるデータベース(例えば、APACHE CASSANDRAデータベース)内に保管され得る。複数(例えば、3つ)のオブジェクトメタデータが、データを消失から保護するために、各サイトで自動的に維持され得る。コピーは、分散ストレージシステムの全てのストレージノードにわたり負荷分散され得る。
ブロック402で、オブジェクトがインジェストされると、アクティブポリシが適用される。図示された例において、テナントAに属する全てのオブジェクトは、「ルール1」で一致し、そして、ブロック404で、3つのデータセンタにおける3つの複製コピーとして保管される。他のテナントに属するオブジェクトは、最初のルールで一致しないので、ポリシ内の次のルールに対して評価される。ブロック406で、「ルール2」が、定義されたサイズ(図示された例においては200KB)より大きい任意のテナントによって保管されるオブジェクトに適用される。これらの大きなオブジェクトは、2つのデータセンタサイトにわたり消去コード化(erasure coding)を使用して保管される。(例において)200KB以下のオブジェクトは、第2のルールで一致しないので、第3のルールに対して評価される。「ルール3」は、ポリシについてデフォルトルールである。デフォルトルールは、ブロック408で、ポリシ内のあらゆる他のルールと一致しない任意のオブジェクトに適用される。この例において、デフォルトルールは、テナントAに属さない200KB以下の全てのオブジェクトの2つの複製コピーを作成する。
図5は、分散ストレージシステムにおいてオブジェクトをインジェストするための例示的な動作のフローチャートである。方法500は、ブロック502において、オブジェクトを分散ストレージシステムに保存するクライアントアプリケーションによって開始する。分散ストレージシステムは、インジェスト/ILMポリシのためのILMルールを作成する際に、ユーザがどのインジェスト行為を選択したかを評価することができる。ユーザがILMルールを作成するとき、ユーザは、分散ストレージシステムが、インジェスト時に、デュアル型コミット、バランス型、または、厳格型のオプションを使用して、オブジェクトを保護すべきか否かを指定することができる。ユーザの選択に応じて、分散ストレージシステムは、暫定コピーを作成して、後のILM評価のためにオブジェクトキューイングするか、もしくは、同期配置を使用して、ILM要件を直ちに満足するようにコピーを作成する。インジェスト時にデータを保護するための3つのオプション(バランス型、厳格型、または、デュアル型コミット)それぞれが、ある状況においては適切である。
デュアル型コミット:ユーザがデュアル型コミットを選択すると、分散ストレージシステムは、2つの異なるストレージノード上に暫定オブジェクトコピーを直ちに作成し、そして、クライアントに「インジェスト成功」メッセージを返す。オブジェクトは、ILM評価のためにキューイングされ、そして、ルールの配置指令を満足するコピーが後に作成される。デュアル型コミットは、分散ストレージシステムが後続の要求をより迅速に処理できるように、クライアントに対して迅速なレスポンスを提供し、そして、冗長な暫定コピーは、ILMが評価され得る前にストレージノードの消失に対してデータを保護する。しかしながら、暫定コピーがルールの配置指令を満足しない場合に、デュアル型コミットは、分散ストレージシステムが、究極的には要求されないオブジェクトコピーを作成、追跡、および削除しなければならないため、効率が悪くなることがある。
厳格型:ユーザが厳格型オプションを選択すると、分散ストレージシステムは、インジェスト時に同期配置を使用し、そして、ルールの配置指令において指定されたオブジェクトコピーを直ちに作成し得る。これらのコピーを(例えば、要求されたストレージロケーションが一時的に利用可能でないので)作成できない場合に、インジェストは失敗する。クライアントは、後に、オペレーションを再試行することができる。厳格型オプションは、オブジェクトが常に、ルールの配置指令において指定されている消失に対する保護を提供されていること、を保証する。例えば、1つ以上のストレージノードの障害に対して、または、サイト全体の完全な障害に対して、それらがルール内に存在する場合には、オブジェクトが保護され得る。しかしながら、厳格型オプションを使用すると、一時の問題が、要求されたコピーの作成を一時的に不可能にすることができるので、より高いレベルのインジェスト失敗が起こり得る。
バランス型:ユーザがバランス型オプションを選択すると、分散ストレージシステムは、また、インジェスト時に同期配置を使用し、そして、ルールの配置指令において指定された全てのコピーを直ちに作成する。厳格型オプションとは対照的に、これらのコピーを直ちに作成することができない場合には、代わりに、デュアル型コミットを使用する。代替的に、異なるデフォルトルールが使用される。バランス型オプションは、高いレベルのデータセキュリティ、グリッドパフォーマンス、および、インジェスト成功を提供する。分散ストレージシステムは、クライアントに「インジェスト成功」メッセージを返す前に、消去コード化されたオブジェクトまたはリモートコピーを作成する必要があり得るので、インジェストには時間がかかることがある。分散ストレージシステムのいくつかの実施形態において、バランス型オプションは、ユーザによって変更されない限り、デフォルトとして提供され得る。
表2は、データを保護するためのインジェスト行為の各オプションの利点を示している。
Figure 0007193515000004
表2
ILMルールまたはポリシを評価する分散ストレージシステムが、インジェスト行為は厳格型であると決定する場合、ブロック504において、分散ストレージシステムは、0日目のコピーがILMルールによって決められたストレージロケーションに直ちに作成され得るか否かを決定することができる。決められたストレージロケーションは、オブジェクトに関連付けられたメタデータに対するILMポリシの評価に基づいてよい。0日目のコピーには、意図したロケーションへのオブジェクトの即座のコピーを含み得る。0日目のコピーは、オブジェクトのコピーがILMポリシに従って作成され得るか否かの評価が含まれる。0日目のコピーが作成され得ない可能性のある理由は、ストレージサイトが利用可能でない場合(例えば、接続エラー)、または、ストレージサイトが0日目の配置を受け入れられないストレージサイトである場合、である。接続エラーの場合、分散ストレージシステム(または、分散ストレージシステムのストレージノード)は、利用可能でないリソースとの再接続を試みることができる。例示的な実施形態において、0日目の配置を受け入れることができないストレージサイトは、(AMAZON Web Services(AWS)およびMICROSOFT AZUREといったサードパーティのクラウドホスティングサービスを通じて)クラウドストレージプール、および、速度/帯域幅の要求に基づいてインジェスト時にオブジェクトを保管することができないアーカイブノード(例えば、テープベースのアーカイブストレージ)を含み得る。代替的に、サードパーティのクラウドサービス及び/又はアーカイブストレージが、0日目の配置を受け入れてもよい。
0日目のコピーを直ちに作成することができない場合(ブロック504、いいえ分岐)、分散ストレージシステムは、ブロック506において、要求を行ったクライアントアプリケーションに対してインジェスト失敗メッセージを送信することができる。この例において、オブジェクトは分散ストレージシステムにコピーされない。このインジェスト失敗メッセージは、送信されたオブジェクトが分散ストレージシステム内に保存されなかったことをクライアントアプリケーションに警告し得る。クライアントアプリケーションは、オブジェクトを保管する要求を再びサブミットすることができる。
0日目のコピーを直ちに作成することができる場合(ブロック504、はい分岐)、コピーが、ブロック508において、ILMを満足するように分散ストレージシステムによって作成される。分散ストレージシステムは、「インジェスト成功」メッセージをクライアントアプリケーションに送信することができ、インジェストから、ILMポリシに従って、オブジェクトの1つ以上のコピーが分散ストレージシステム内に保管されていることを示す。
ILMルールまたはポリシを評価する分散ストレージシステムが、インジェスト行為はバランス型であると決定する場合、ブロック512において、分散ストレージシステムは、0日目のコピーをILMルールによって決められたストレージロケーションに直ちに作成することができるか否かを決定することができる。0日目のコピーを直ちに作成することができる場合(ブロック512、はい分岐)、ブロック508において、コピーがILMを満足するように分散ストレージシステムによって作成される。分散ストレージシステムは、オブジェクトの1つ以上のコピーが分散ストレージシステム内に保管されていることを示す「インジェスト成功」メッセージをクライアントアプリケーションに送信することができる。メッセージは、オブジェクトが、インジェストから、ILMポリシに従ってインジェストされたことを示し得る。代替的に、インジェスト成功メッセージは、ILMポリシが遵守されたか否かを示すことなく、オブジェクトがインジェストされたことを示し得る。
0日目のコピーを直ちに作成できない場合(ブロック512、いいえ分岐)、分散ストレージシステムは、デュアル型コミットまたは別のバックアッププロシージャを使用しようと試みることができる。
ILMルールまたはポリシを評価する分散ストレージシステムが、インジェスト行為はデュアル型であると決定する場合、または、オブジェクトの保管がバランス型ルールを失敗した場合に、分散ストレージシステムは、ブロック514において、オブジェクトの暫定コピーを保管し得る。暫定コピーは、ILMルールまたは方針を考慮することなく作成されてよい。分散ストレージシステムは、ブロック516において、「インジェスト成功」メッセージをクライアントアプリケーションに送信することができる。メッセージは、オブジェクトの1つ以上のコピーが分散ストレージシステム内に保管されていることを示し得る。インジェスト成功メッセージは、暫定コピーが作成されたことを示し得る。代替的に、インジェスト成功メッセージは、オブジェクトコピーが分散ストレージシステム内に、一時的に保管されているか、または、永久的に保管されているかを示さない。
非同期に、分散ストレージシステムは、ブロック518において、ILM評価のためにオブジェクトをキューイングすることができる。ブロック520においては、ILMを満足するようにオブジェクトのコピーが作成される。一時的に保管されているコピーのせいで既にオブジェクトが存在しない場合は、オブジェクトの追加的なコピーが作成され得る。ブロック522においては、必要とされない任意の暫定コピーが削除される。
オブジェクトは、複製(replication)および消去コード化(erasure coding)を含む種々の技術を用いて、分散ストレージシステム内に保管され得る。分散ストレージシステムが、複製コピーを作成するように構成されたILMルールにオブジェクトを一致させると、システムは、オブジェクトデータの正確なコピーを作成し、そして、そのコピーをストレージノードまたはアーカイブノードにおいて保管する。ユーザが、複製コピーを作成するようにILMルールを設定するときに、ユーザは、コピーを作成する数、コピーを配置する場所、および、コピーを各ロケーションに保存する期間を指定することができる。
例えば、図6Aは、3つのストレージノードを含むストレージプール内に各オブジェクトの2つの複製コピーが配置されることを指定する、例示的なILMルールを説明している。分散ストレージシステムが、オブジェクトをこのルールに一致させるとき、分散ストレージシステムは、オブジェクトのコピーを2つ作成し、ストレージプール内の異なるストレージノードに各コピーを配置する。2つのコピーは、3つの利用可能なストレージノードのうち任意の2つに置かれてよい。この事例において、本ルールは、オブジェクトコピーをストレージノード2および3に置く。2つのコピーが存在するため、ストレージプール内の任意のノードが故障しても、オブジェクトを取得できる。いくつかの例において、分散ストレージシステムは、任意の所与のストレージノード上にオブジェクトの複製されたコピーを1つだけ保管することができる。この例において、分散ストレージシステムが3つのストレージノードを含み、かつ、オブジェクトの4つのコピーを作成するようにILMルールが作られた場合には、3つのコピーだけが作成される-各ストレージノードに対して1つのコピーである。
消去コード化は、オブジェクトデータを保管するために、分散ストレージシステムによって使用される第2方法である。分散ストレージシステムが、オブジェクトを、消去コード化されたコピーを作成するように構成されたILMルールに一致させるとき、分散ストレージシステムは、オブジェクトデータをデータフラグメントへとスライスし、追加的なパリティフラグメントを計算し、そして、各フラグメントを異なるストレージノードにおいて保管する。オブジェクトは、アクセスされると、保管されているフラグメントを使用して再構築(reassembled)される。データまたはパリティフラグメントが破損し、または、消失した場合に、消去コード化アルゴリズムは、残りのデータおよびパリティフラグメントのサブセットを使用して、そのフラグメントを再び作成することができる。
分散ストレージシステムは、消去コード化アルゴリズムを使用することができる。オブジェクトをk個のデータフラグメントへとスライスし、かつ、m個のパリティフラグメントを計算する(そして、k+m個の表記を使用して参照される)、リード-ソロモン(Reed-Solomon)消去コード化アルゴリズムといったものである。k+m=n個のフラグメントは、データ保護を提供するように、n個のストレージノードにわたり分散される。オブジェクトは、最大m個の破損または消失したフラグメントを維持することができる。k個のフラグメントが、オブジェクトを取得または修復するために必要とされ得る。
図6Bは、オブジェクトのデータについて消去コード化アルゴリズムの使用を説明している。図示された例において、ILMルールは、4+2消去コード化スキームを使用している。各オブジェクトは4つの等しいデータフラグメントへとスライスされ、そして、2つのパリティフラグメントがオブジェクトデータから計算される。6+3消去コード化スキームにおいては、6つのフラグメントそれぞれが、ノード故障またはサイト消失に対してデータ保護を提供するために、3つのデータセンタサイトにわたり異なるノード上に保管される。8+2、6+2、9+3、2+1、4+1、および6+1といった、他の消去コード化スキームが利用可能である。
4+2消去コード化方式は、3つの異なるサイトそれぞれに3つのストレージノードを持つ、最低9つのストレージノードを必要とする。オブジェクトは、図6Cに示されるように、6つのフラグメント(データまたはパリティ)のうち任意の4つが利用可能なままである限り、取得され得る。オブジェクトデータを消失することなく、最大2つまでのフラグメントが消失され得る。データセンタサイト全体が消失した場合、他の全てのフラグメントがアクセス可能でいる限り、いまだにオブジェクトを取得または修復することができる。2つ以上のストレージノードが失われた場合、図6Dに示されるように、オブジェクトを取得することができない。複製と比較すると、消去コード化は、改善された信頼性、可用性、および保管効率を提供することができる。しかしながら、地理的に分散されたサイトにわたり消去コード化が使用されるときに、増加した検索待ち時間が存在し得るのと同様に、増加した数のストレージノードおよびサイトが必要とされ得る。
ILMルールは、データ(または、所定の閾値サイズ、例えば、1MBまたは200KB以上のデータ)について消去コード化を実行するように作成され得る。インジェスト時に、分散ストレージシステムは、デュアル型コミット、厳格型、またはバランス型のいずれが選択されるかを決定するために、ILMルールを評価することができる。前述のオプションそれぞれは、消去コード化と共に使用され得る。しかしながら、数多くのストレージノードにおいて消去コード化されたオブジェクトを作成することは、複製を使用することよりも長い時間がかかり、そして、故障の可能性が高くなり得る。他の実施形態において、消去コード化を使用するILMルールは、デュアル型コミットにおいて、オブジェクトの暫定コピーが評価されるまで、消去コード化を適用しない。いくつかの実施形態において、厳格型のオプションは、消去コード化について利用可能でないか、または、より大きな故障の可能性を有し得る。
図7は、情報ライフサイクル管理のための同期オブジェクト配置のための動作例のフローチャートである。分散ストレージシステム(または、分散ストレージシステムのストレージノード)は、ブロック702において、分散ストレージシステムにオブジェクトを保存するための接続を確立する要求を受信することができる。分散ストレージシステムのストレージノードは、ブロック704において、オブジェクトに関連するメタデータをキャプチャすることができる。メタデータは、インジェスト時間、最後のアクセス時間、オブジェクト名、オブジェクト名の一部、オブジェクトキー、作成ロケーション、オブジェクトサイズ、ユーザメタデータ、及び/又は、オブジェクトタグデータを含み得る。分散ストレージシステムは、ブロック706において、ILMポリシルールおよびオブジェクトに関連するメタデータを評価することに基づいて、オブジェクトのコピーに対するストレージロケーションを決定することができる。
分散ストレージシステムは、ブロック708において、評価されたILMポリシルールに基づいて、ストレージロケーションでオブジェクトのコピーを作成することができる。1つ以上のストレージロケーションでオブジェクトのコピーを作成することは、インジェスト時にオブジェクトのコピーを作成できると決定したことに基づいている。オブジェクトのコピーを作成することは、オブジェクトのインジェストと同期して行うことができる。分散ストレージシステムは、クライアントアプリケーションに対して「インジェスト成功」メッセージを返すことができる。いくつかの例において、オブジェクトのコピーを作成することは、オブジェクトのコピーのデータフラグメントを複数のストレージロケーションのうち異なるところに保管すること、および、オブジェクトのコピーのパリティフラグメントを複数のストレージロケーションのうちの他のところに保管することを含む。
図8は、情報ライフサイクル管理のための同期オブジェクト配置のための動作例のフローチャートである。分散ストレージシステムは、ブロック802において、オブジェクトを分散ストレージシステムに保存するための接続を確立する要求を受信することができる。分散ストレージシステムは、ブロック804において、オブジェクトに関連するメタデータをキャプチャすることができる。分散ストレージシステムは、ブロック806において、ILMポリシルールおよびオブジェクトに関連するメタデータを評価することに基づいて、オブジェクトのコピーのためのストレージロケーションを決定することができる。分散ストレージシステムは、ブロック808において、決定されたストレージロケーションにコピーを行うことができないことを決定することができる。
例示的な実施形態において、分散ストレージシステムは、オブジェクトのインジェスト時にILMポリシルールに準拠することを要求する決定されたインジェストオプションに基づいて、オブジェクトのインジェストが失敗したことを示すメッセージを送信することができる。別の例示的な実施形態において、分散ストレージシステムは、フォールバック(fallback)ILMポリシルールに基づいてオブジェクトを保管し、そして、インジェスト成功メッセージをクライアントアプリケーションに返すことができる。さらに実施形態において、分散ストレージシステムは、分散ストレージシステムの2つの異なるノードに2つの暫定オブジェクトコピーを保管することができる。さらなる別の例示的な実施形態において、分散ストレージシステムは、分散ストレージシステムの複数の異なるノードそれぞれにオブジェクトコピーを保管し、そして、ILMポリシルールの非同期の評価を実行することができる。評価は、暫定オブジェクトコピーについてであり得る。分散ストレージシステムは、ストレージロケーションが一時的に利用不可能であるため、決定されたストレージロケーションにコピーを作成することができないと決定することができる。
フローチャートは、図面の理解を助けるために提供されるものであり、そして、特許請求の範囲を限定するために使用されるべきものではない。フローチャートは、特許請求の範囲内で変動し得る例示的な動作を示している。追加的な動作が実行されてよく、より少ない動作が実行されてよく、動作が並列に実行されてよく、そして、動作が異なる順序で実行されてもよい。フローチャート及び/又はブロック図の各ブロック、および、フローチャート及び/又はブロック図のブロックの組み合わせは、プログラムコードによって実装され得ることが理解されるだろう。プログラムコードは、汎用コンピュータ、専用コンピュータ、または、他のプログラム可能なマシンまたは装置のプロセッサに提供されてよい。
理解されるように、本開示の態様は、1つ以上のマシンで読取り可能な媒体に保管されたシステム、方法、または、プログラムコード/命令として具現化され得る。従って、態様は、ハードウェア、ソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコード、等を含む)、または、ここにおいて一般的に「回路」、「モジュール」、または「システム」として参照され得るソフトウェアおよびハードウェアの態様の組み合わせ、の形態をとることができる。例示的な説明において個々のモジュール/ユニットとして示される機能性は、プラットフォーム(オペレーティングシステム及び/又はハードウェア)、アプリケーション・エコシステム、インターフェイス、プログラマ・プリファレンス、プログラミング言語、アドミニストレータ・プリファレンス、等のいずれか1つに従って、異なるように構成され得る。
1つ以上のマシンで読取り可能な媒体の任意の組合せが利用され得る。マシンで読取り可能な媒体は、マシンで読取り可能な信号媒体またはマシンで読取り可能な記憶媒体であってよい。マシンで読取り可能な記憶媒体は、例えば、これらに限定されるわけではないが、プログラムコードまたはマシン実行可能コードを保管するための電気、磁気、光学、電磁気、赤外線、または半導体技術のいずれか又は組み合わせを使用する、システム、装置、またはデバイスであってよい。マシンで読取り可能な記憶媒体のより具体的な例(徹底的でない(non-exhaustive)リスト)は、以下を含むであろう。ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラマブル読出し専用メモリ(EPROMまたはフラッシュメモリ)、ポータブルコンパクトディスク読出し専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、または、これらの適切な組み合わせ、である。本文書のコンテキストにおいて、マシンで読取り可能な記憶媒体は、命令実行システム、装置、またはデバイスによって、または、それらと関連して使用されるプログラムを含み、もしくは、保管することができる任意の有形な媒体であり得る。マシンで読取り可能な記憶媒体は、マシンで読取り可能な信号媒体ではない。
マシンで読取り可能な信号媒体は、例えば、ベースバンドに又は搬送波の一部として、その中に具現化されたマシンで読取り可能なプログラムコードを伴う伝搬されたデータ信号を含み得る。そうした伝搬された信号は、これらに限定されるわけではないが、電磁気的、光学的、または、それらの任意の適切な組み合わせを含む、様々な形態のいずれかをとり得る。マシンで読取り可能な信号媒体は、マシンで読取り可能な記憶媒体ではなく、かつ、命令実行システム、装置、またはデバイスによって、または、それらと関連して使用されるプログラムを通信、伝搬、または、伝送することができる、任意のマシンで読取り可能な媒体であり得る。
マシンで読取り可能な媒体上に具現化されたプログラムコードは、これらに限定されるわけではないが、無線、有線、光ファイバケーブル、RF等を含む、任意の適切な媒体、または、前述の任意の適切な組み合わせを使用して、送信され得る。
本開示の態様について動作を実行するためのプログラムコードは、実装に応じて、様々な形態における命令として具現化され得る。例えば、命令は、以下の、1つ以上のプログラミング言語の任意の組み合わせで書かれてよい。Java(R)プログラミング言語、C++、等といった、オブジェクト指向プログラミング言語、Pythonといった動的プログラミング言語、Perlプログラミング言語またはPowerShellスクリプト言語といった、スクリプト言語、および、「C」プログラミング言語または類似のプログラミング言語といった、従来の手続き型プログラミング言語、を含むものである。プログラムコードは、スタンドアロンマシン上で完全に実行することができ、複数のマシンにわたり分散された方法で実行することができ、そして、別のマシンにおいて結果を提供し、かつ/あるいは、入力を受け入れながら、1つのマシン上で実行することができる。
プログラムコード/命令は、また、特定の方法で機能するようにマシンを指示することができるマシンで読取り可能な媒体に保管されてよく、その結果、マシンで読取り可能な媒体に保管された命令は、フローチャート及び/又はブロック図のブロックにおいて指定された機能/動作を実施する命令を含む製品を生成する。
図9は、情報ライフサイクル管理インタラクティブスキャナを備える例示的なコンピュータシステムを示している。コンピュータシステムは、プロセッサ901を含んでいる(おそらく、複数のプロセッサ、複数のコア、複数のノードを含み、かつ/あるいは、マルチスレッドを実装する、等)。コンピュータシステムは、メモリ907を含んでいる。メモリ907は、システムメモリ(例えば、キャッシュ、SRAM、DRAM、ゼロキャパシタRAM、ツイントランジスタRAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS、PRAM、等のうち1つ以上)、または、マシンで読取り可能な媒体の上述した可能な具現化のうち1つ以上であり得る。コンピュータシステムは、また、バス903(例えば、PCI、ISA、PCI-Express、HyperTransport(R)バス、InfiniBand(R)バス、NuBus、等)、および、ネットワークインターフェイス605(例えば、ファイバーチャネル・インターフェイス、イーサネット・インターフェイス、インターネット小型コンピュータシステム・インターフェイス、SONETインターフェイス、無線インターフェイス、等)も含んでいる。システムは、また、磁気記憶装置、光記憶装置、ソリッドステート記憶装置、及び/又は、記憶装置のハイブリッドであり得る、一組の記憶装置915を含んでいる。コンピュータシステムは、ネットワークインターフェイス905または別個のインターフェイス(例えば、スモールコンピュータシステムインターフェイス)を介して、読取り及び書込み要求をサブミットすることができる。システムは、また、ILMインジェストスキャナ911を含んでいる。ILMインジェストスキャナ911は、分散ストレージシステムのILMルールセットを、インジェスト時に、オブジェクトメタデータに基づいて同期的に、オブジェクトに適用することができる。説明された機能のいずれか1つは、ハードウェアにおいて、及び/又は、プロセッサ901上で、部分的に(または全体的に)実装され得る。例えば、機能性は、プロセッサ901内に実装されたロジックにおいて、周辺装置またはカード上のコプロセッサで、特定アプリケーション集積回路を用いて実装され得る。さらに、具現化は、より少ない、または、図9に示されていない追加的なコンポーネント(例えば、ビデオカード、オーディオカード、追加的なネットワークインターフェイス、周辺装置、等)を含み得る。プロセッサ901およびネットワークインターフェイス905は、バス903に結合されている。バス903に結合されているものとして示されているが、メモリ707は、プロセッサ901に結合されてよい。
本開示の態様が、種々の実施および利用を参照して説明されているが、これらの態様は例示的であり、そして、特許請求の範囲はこれらに限定されるものではないことが理解されるだろう。一般的に、ここにおいて説明されるようなILMを使用する同期的なオブジェクト配置のための技術は、任意のハードウェアシステムまたはハードウェアシステムと一貫性がある設備を用いて実装され得る。多くのバリエーション、修正、追加、および改良が可能である。
複数のインスタンスが、ここにおいては単一のインスタンスとして記載されるコンポーネント、動作、または構造について提供され得る。最終的に、種々のコンポーネント、動作、およびデータストア間の境界は、いくらか任意的であり、かつ、特定のオペレーションが、特定の例示的な構成のコンテキストにおいて説明されている。機能性の他の割り当てが想定されており、そして、本開示の範囲内にあり得る。一般的に、例示的な構成において別個のコンポーネントとして示される構造および機能性は、組み合わされた構造またはコンポーネントとして実装され得る。同様に、単一のコンポーネントとして提示される構造および機能性は、別々のコンポーネントとして実装され得る。これらおよび他のバリエーション、修正、追加、および改良は、本開示の範囲内にあり得る。
接続詞「そして(“and”)」を伴うリストの前にフレーズ「のうち少なくとも1つ(“at least one of”)」を使用することは、特に断らない限り、排他的なリストとして取り扱われるべきではなく、かつ、各カテゴリーから1つのアイテムを伴うカテゴリーのリストとして解釈されるべきではない。「A、B、およびCのうち少なくとも1つ(“at least one of A, B,and C”)」と記載する節は、リストされたアイテムのうち1つだけ、複数のリストされたアイテム、および、リストされたアイテムのうち1つ以上及びリストされていない他のアイテムにより、侵害され得る。
101 クライアント
103 オブジェクト
105 サイト
107 ストレージノード
120 ILMポリシ
131 分散データストア
133、135、137 サイト
901 プロセッサ
903 バス
905 ネットワークインターフェイス
907 メモリ
911 ILMインジェストスキャナ
915 一組の記憶装置

Claims (20)

  1. 分散ストレージシステムのノードによって、オブジェクトを前記分散ストレージシステムに保存するために、クライアントアプリケーションから、接続を確立するための要求を受信するステップと、
    前記ノードによって、前記オブジェクトのインジェストの最中に、前記オブジェクトと関連付けられたメタデータをキャプチャするステップと、
    情報ライフサイクル管理(ILM)ポリシルール、および、前記オブジェクトと関連けられた前記メタデータの評価に基づいて、前記オブジェクトのインジェストの最中に、前記オブジェクトのコピーのためのストレージロケーションを決定するステップと、
    前記評価されたILMポリシルールに基づいて、前記オブジェクトのインジェストの最中に、前記ストレージロケーションで前記オブジェクトの前記コピーを作成するステップと、
    を含む、方法。
  2. 前記ストレージロケーションで前記オブジェクトの前記コピーを作成する前記ステップは、インジェスト時に前記オブジェクトの前記コピーを作成できると判断することに基づくものである、
    請求項1に記載の方法。
  3. 前記方法は、さらに、
    前記接続を確立するために前記要求を送信したクライアントアプリケーションに対して、インジェスト成功メッセージを返すステップ、
    を含む、請求項1に記載の方法。
  4. 前記ストレージロケーションで前記オブジェクトの前記コピーを作成する前記ステップは、前記オブジェクトの暫定コピーを前記分散ストレージシステム内に保管することなく行われる、
    請求項1に記載の方法。
  5. 前記ストレージロケーションで前記オブジェクトの前記コピーを作成する前記ステップは、前記オブジェクトをインジェストすることと同期して行われる、
    請求項1に記載の方法。
  6. 前記ストレージロケーションは、複数のストレージロケーションを含み、
    前記オブジェクトの前記コピーを作成する前記ステップは、前記複数のストレージロケーションのうち異なるロケーション上に前記オブジェクトの前記コピーのデータフラグメント、および、前記複数のストレージロケーションのうち他のロケーション上に前記オブジェクトの前記コピーのパリティフラグメントを保管すること、を含む、
    請求項1に記載の方法。
  7. 前記メタデータは、インジェスト時間、最後のアクセス時間、オブジェクト名、前記オブジェクト名の一部、オブジェクトキー、作成ロケーション、オブジェクトサイズ、ユーザメタデータ、および、オブジェクトタグデータ、のうち少なくとも1つを含む、
    請求項1に記載の方法。
  8. 計算装置であって、
    マシン実行可能コードを有するマシンで読取り可能な媒体、を含むメモリであり、オブジェクトを分散ストレージシステムにインジェストする方法を実行するための命令が媒体上に保管されている、メモリと、
    前記メモリに結合されたプロセッサであり、前記マシン実行可能コードを実行するように構成されている、プロセッサと、を含み、
    前記プロセッサは、前記マシン実行可能コードが実行されると、
    分散ストレージシステムのノードによって、オブジェクトを前記分散ストレージシステムに保存するために、クライアントアプリケーションから、接続を確立するための要求を受信し、
    前記オブジェクトのインジェストの最中に、前記オブジェクトと関連付けられたメタデータをキャプチャし、
    情報ライフサイクル管理(ILM)ポリシルール、および、前記オブジェクトと関連けられた前記メタデータの評価に基づいて、前記オブジェクトのインジェストの最中に、前記オブジェクトのコピーのためのストレージロケーションを決定し、かつ、
    前記オブジェクトのインジェストの最中に、前記決定されたストレージロケーションに前記コピーを作成することができないと決定する、
    算装置。
  9. 前記マシン実行可能コードが実行されると、
    前記プロセッサは、さらに、
    前記オブジェクトのインジェスト時に前記ILMポリシルールに準拠することを要求する決定されたインジェストオプションに基づいて、前記オブジェクトのインジェストが失敗したことを示すメッセージを送信する、
    求項8に記載の計算装置。
  10. 前記マシン実行可能コードが実行されると、
    前記プロセッサは、さらに、
    フォールバックILMポリシルールに基づいて前記オブジェクトを保管する、
    求項8に記載の計算装置。
  11. 前記マシン実行可能コードが実行されると、
    前記プロセッサは、さらに、
    フォールバックILMポリシルールに基づいて前記オブジェクトを保管し、かつ、
    前記接続を確立するための要求を送信したクライアントアプリケーションに対してインジェスト成功メッセージを返す、
    求項8に記載の計算装置。
  12. 前記マシン実行可能コードが実行されると、
    前記プロセッサは、さらに、
    前記分散ストレージシステムの2つの異なるノードに2つの暫定オブジェクトコピーを保管する、
    求項8に記載の計算装置。
  13. 前記マシン実行可能コードが実行されると、
    前記プロセッサは、さらに、
    前記分散ストレージシステムの複数の異なるノードそれぞれにオブジェクトコピーを保管し、かつ、
    前記ILMポリシルールの非同期の評価を実行する、
    求項8に記載の計算装置。
  14. 前記マシン実行可能コードが実行されると、
    前記プロセッサは、さらに、
    前記分散ストレージシステムの複数の異なるノードそれぞれに暫定オブジェクトコピーを保管し、かつ、
    前記暫定オブジェクトコピーについて前記ILMポリシルールの非同期の評価を実行する、
    求項8に記載の計算装置。
  15. 前記決定されたストレージロケーションに前記コピーを作成することができないと決定することは、前記ストレージロケーションが一時的に利用不可能であると判断すること、を含む、
    請求項8に記載の計算装置。
  16. マシン実行可能コードを含み、方法を実行するための命令が保管されている非一時的なマシンで読取り可能な媒体であって、
    少なくとも1つのマシンによって実行されると、前記マシンに、
    オブジェクトを分散ストレージシステムに保存するために、クライアントアプリケーションから、接続を確立するための要求を受信し、
    前記オブジェクトのインジェストの最中に、前記オブジェクトと関連付けられたメタデータをキャプチャし、
    情報ライフサイクル管理(ILM)ポリシルール、および、前記オブジェクトと関連けられた前記メタデータの評価に基づいて、前記オブジェクトのインジェストの最中に、前記オブジェクトのコピーのためのストレージロケーションを決定し、かつ、
    前記評価されたILMポリシルールに基づいて、前記オブジェクトのインジェストの最中に、前記ストレージロケーションで前記オブジェクトの前記コピーを作成する、
    ようにさせる、非一時的なマシンで読取り可能な媒体。
  17. 前記マシン実行可能コードが前記少なくとも1つのマシンによって実行されると、さらに、
    前記マシンに、
    インジェスト時に前記オブジェクトの前記コピーを前記ストレージロケーションに保管することができると判断する、
    ようにさせ、
    前記オブジェクトの前記コピーを前記ストレージロケーションに作成することは、インジェスト時に前記オブジェクトの前記コピーを作成することができると判断することに、基づいている、
    請求項16に記載の非一時的なマシンで読取り可能な媒体。
  18. 前記マシン実行可能コードが前記少なくとも1つのマシンによって実行されると、さらに、
    前記マシンに、
    前記接続を確立するための要求を送信したクライアントアプリケーションに対してインジェスト成功メッセージを返す、
    ようにさせる、
    請求項16に記載の非一時的なマシンで読取り可能な媒体。
  19. 前記ストレージロケーションで前記オブジェクトの前記コピーを作成することは、前記オブジェクトのインジェストと同期して行われる、
    請求項16に記載の非一時的なマシンで読取り可能な媒体。
  20. 前記ストレージロケーションは、複数のストレージロケーションを含み、
    前記オブジェクトの前記コピーを作成することは、前記複数のストレージロケーションのうち異なるロケーション上に前記オブジェクトの前記コピーのデータフラグメント、および、前記複数のストレージロケーションのうち他のロケーション上に前記オブジェクトの前記コピーのパリティフラグメントを保管すること、を含む、
    請求項16に記載の非一時的なマシンで読取り可能な媒体。
JP2020185749A 2019-11-07 2020-11-06 情報ライフサイクル管理のための同期オブジェクト配置 Active JP7193515B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/677,565 US11531642B2 (en) 2019-11-07 2019-11-07 Synchronous object placement for information lifecycle management
US16/677565 2019-11-07

Publications (2)

Publication Number Publication Date
JP2021077374A JP2021077374A (ja) 2021-05-20
JP7193515B2 true JP7193515B2 (ja) 2022-12-20

Family

ID=73198202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020185749A Active JP7193515B2 (ja) 2019-11-07 2020-11-06 情報ライフサイクル管理のための同期オブジェクト配置

Country Status (4)

Country Link
US (2) US11531642B2 (ja)
EP (1) EP3819783A1 (ja)
JP (1) JP7193515B2 (ja)
CN (1) CN112783436A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553325A (zh) * 2021-06-18 2021-10-26 济南浪潮数据技术有限公司 一种对象存储系统中聚合对象的同步方法和系统
CN113687920B (zh) * 2021-08-30 2024-02-13 济南浪潮数据技术有限公司 一种分布式系统的对象策略操作方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014515524A (ja) 2011-05-23 2014-06-30 マイクロソフト コーポレーション 分散記憶環境における同期複製
US20160246676A1 (en) 2015-02-20 2016-08-25 Netapp, Inc. Methods for policy-based hierarchical data protection and devices thereof
US20180077420A1 (en) 2016-09-14 2018-03-15 Amazon Technologies, Inc. Media storage

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229904B2 (en) * 2004-07-01 2012-07-24 Emc Corporation Storage pools for information management
CA2629223C (en) * 2005-11-17 2013-08-06 Eli Lilly And Company Glucagon receptor antagonists, preparation and therapeutic uses
US20070136397A1 (en) * 2005-12-09 2007-06-14 Interdigital Technology Corporation Information life-cycle management architecture for a device with infinite storage capacity
JP2007193626A (ja) * 2006-01-20 2007-08-02 Brother Ind Ltd コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラム
US8898267B2 (en) * 2009-01-19 2014-11-25 Netapp, Inc. Modifying information lifecycle management rules in a distributed system
EP2469413B1 (en) * 2010-12-27 2013-06-05 Amplidata NV A hierarchical, distributed object storage system
DE102012108117A1 (de) * 2012-08-03 2014-02-06 Fujitsu Technology Solutions Intellectual Property Gmbh Hochverfügbares Rechnersystem, Arbeitsverfahren und dessen Verwendung
US10210175B2 (en) * 2012-09-28 2019-02-19 Oracle International Corporation Techniques for lifecycle state management and in-database archiving
US9727522B1 (en) * 2012-12-14 2017-08-08 Amazon Technologies, Inc. Multi-tenant storage service object lifecycle management using transition job objects
US8918406B2 (en) * 2012-12-14 2014-12-23 Second Wind Consulting Llc Intelligent analysis queue construction
US9454316B2 (en) * 2014-05-30 2016-09-27 Netapp, Inc. Cluster consistent logical storage object naming
US10387248B2 (en) * 2016-03-29 2019-08-20 International Business Machines Corporation Allocating data for storage by utilizing a location-based hierarchy in a dispersed storage network
US10545914B2 (en) * 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10929341B2 (en) * 2017-04-28 2021-02-23 Netapp, Inc. Iterative object scanning for information lifecycle management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014515524A (ja) 2011-05-23 2014-06-30 マイクロソフト コーポレーション 分散記憶環境における同期複製
US20160246676A1 (en) 2015-02-20 2016-08-25 Netapp, Inc. Methods for policy-based hierarchical data protection and devices thereof
US20180077420A1 (en) 2016-09-14 2018-03-15 Amazon Technologies, Inc. Media storage

Also Published As

Publication number Publication date
US20230109530A1 (en) 2023-04-06
US20210141759A1 (en) 2021-05-13
CN112783436A (zh) 2021-05-11
EP3819783A1 (en) 2021-05-12
US11531642B2 (en) 2022-12-20
JP2021077374A (ja) 2021-05-20

Similar Documents

Publication Publication Date Title
US10853337B2 (en) Lifecycle transition validation for storage objects
US10642654B2 (en) Storage lifecycle pipeline architecture
US10169163B2 (en) Managing backup operations from a client system to a primary server and secondary server
US10425480B2 (en) Service plan tiering, protection, and rehydration strategies
US9846540B1 (en) Data durability using un-encoded copies and encoded combinations
US10108632B2 (en) Splitting and moving ranges in a distributed system
US9355060B1 (en) Storage service lifecycle policy transition management
US20170123848A1 (en) Multi-task processing in a distributed storage network
US20170277596A1 (en) Multiple retention period based representatons of a dataset backup
US20230109530A1 (en) Synchronous object placement for information lifecycle management
US10778762B2 (en) Cloud computing service architecture
US9600376B1 (en) Backup and replication configuration using replication topology
US10204021B2 (en) Recovery of an infected and quarantined file in a primary storage controller from a secondary storage controller
US9984139B1 (en) Publish session framework for datastore operation records
US8819370B1 (en) Techniques for storage lifecycle policy management
US10055307B2 (en) Workflows for series of snapshots
US12056153B2 (en) Replicating large statements with low latency
US11934280B2 (en) Use of cluster-level redundancy within a cluster of a distributed storage management system to address node-level errors
US20160323379A1 (en) Distributed storage of software images in computing systems
JP2011222005A (ja) 使用中の複数サイトの保護データ記憶の自動化された再配置
US20120303590A1 (en) Management of deduplicated data during restoration in a network archival and retrieval system
EP2391946B1 (en) Method and apparatus for processing distributed data
US10838660B2 (en) Identifying and processing predefined dispersed storage network workflows
US20240070031A1 (en) Method and system for data recovery by a hardware-independent approach involving prioritization and data recovery selectivity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221208

R150 Certificate of patent or registration of utility model

Ref document number: 7193515

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150