JP5918243B2 - 分散型データベースにおいてインテグリティを管理するためのシステム及び方法 - Google Patents

分散型データベースにおいてインテグリティを管理するためのシステム及び方法 Download PDF

Info

Publication number
JP5918243B2
JP5918243B2 JP2013530183A JP2013530183A JP5918243B2 JP 5918243 B2 JP5918243 B2 JP 5918243B2 JP 2013530183 A JP2013530183 A JP 2013530183A JP 2013530183 A JP2013530183 A JP 2013530183A JP 5918243 B2 JP5918243 B2 JP 5918243B2
Authority
JP
Japan
Prior art keywords
copy
region
backup
official
incomplete
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
JP2013530183A
Other languages
English (en)
Other versions
JP2013544386A (ja
JP2013544386A5 (ja
Inventor
ジー. ブライアント,アラン
ジー. ブライアント,アラン
エス. グリマルディ,ケビン
エス. グリマルディ,ケビン
パーマー,トレック
ピンクニー,デビッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Data System Corp
Original Assignee
Hitachi Data System Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Data System Corp filed Critical Hitachi Data System Corp
Publication of JP2013544386A publication Critical patent/JP2013544386A/ja
Publication of JP2013544386A5 publication Critical patent/JP2013544386A5/ja
Application granted granted Critical
Publication of JP5918243B2 publication Critical patent/JP5918243B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0647Migration mechanisms
    • 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
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

関連出願の相互参照
この出願は、また、次の出願と関連している:
整理番号12/889,762、「部分的なデータベース停電中に分散オブジェクトストレージシステムの有効性を増強するためのシステム及び方法」というタイトルで2010年9月24日に出願された。
本発明は、一般に、分散コンピューターネットワークにおける可用性、信頼性、及び持続性の高いデータストーレージのための技術に関する。
関連技術の説明
従来のテープ及び光学ストレージ解決法に取って代わるかまたはそれを補う、可用性、信頼性、及び持続性の高い方式による「固定コンテンツ」のアーカイブストレージ(archival storage)に対する必要性が高まってきた。用語「固定コンテンツ」とは、通常、参照または他の目的のためにそのままで保存されることが予想される任意のタイプのデジタル情報を指す。このような固定コンテンツの例としては、多くの例の中でもとりわけ、電子メール、文書、診断画像、チェック画像、音声録音、フィルム及びビデオなどが挙げられる。従来の独立ノード冗長アレイ(RAIN)ストレージ手法は、このような固定コンテンツの情報資産をストレージするための大規模なオンラインアーカイブを生み出すために選択されるアーキテクチャとして登場した。RAINアーキテクチャは、ノードが必要に応じてクラスタに結合すること及びクラスタから退出することを可能にすることにより、ストレージクラスタを1つ以上のノードの障害から隔離する。RAINタイプのアーカイブは、データを複数のノード上で複製することにより、ノードの障害または除去を自動的に補償することができる。通常、RAINシステムは、閉システム内の同一コンポーネントから設計されたハードウェア機器として広く提供される。
従来知られているアーカイブストレージシステムは、典型的に、ファイル毎にメタデータをそのコンテンツと同様に格納する。メタデータは、データを説明する、そのデータのコンポーネントである。メタデータは、典型的に、内容、質、条件、及びシステムに保存されている実際のデータのその他の特性について説明する。分散ストレージのコンテキストにおいて、ファイルに関するメタデータは、例えば、ファイルの名前、どこにファイルの断片が格納されているか、ファイルの作成日及び保持値を含む。信頼できるファイルストレージは、ファイルのストレージシステム信頼性及び有効性を達成するのに必要だが、メタデータのインテグリティもまたシステムの重要な部分である。しかし、 先行技術では、潜在的に信頼性の低いノードの分散システムにわたってメタデータを分散することが可能ではなかった。本発明は、当技術分野でこの要求に対処する。
改善されたアーカイバルストレージシステムは、一般に所有された米国特許第7,155,466号明細書、第7,657,581号明細書及び第7,657,586号明細書に記載されている。このシステムは、ノードの分散されたセットにわたって分散オブジェクトストアを提供する。米国特許第7,657,581号明細書によれば、対称なノードのアーカイバルストレージクラスタは、できればメタデータオブジェクトのかたちでメタデータへのアクセスを組織し提供する「メタデータ管理」システムを含む。メタデータオブジェクトは、それぞれユニークな名前を持っていて、メタデータオブジェクトは、リージョンへ組織される。1つの実施例において、リージョンは、1つ以上のオブジェクト属性(例えばオブジェクトの名前)のハッシュ値を計算し、生じるハッシュ値のビットの所与の数を抽出することにより選択される。ビットの数は、配置パラメータによってコントロールされてもよい。このスキームでは、リージョンはそれぞれ重複して格納され、リージョンは、リージョンコピーのセットを含む。具体的には、リージョンの1つの正式なコピー及び0以上のバックアップコピーがある。記述されているように、コピーの数は、多くのメタデータ保護レベル(「MDPL」)と呼ばれることがある配置パラメータによってコントロールされても良い。従って、例えばこのスキームの1つの実施例の中で、リージョンは正式なリージョンコピー及びそのMDPL−1バックアップコピーを含む。リージョンコピーは、1つのノード当たりの合計のリージョンコピーの数と同様に1つのノード当たりの正式なリージョンコピーの数が均等になるようクラスタのノードにわたって分散される。
上記メタデータマネージャシステムの別の一態様は、各リージョンの各コピーの原因であるノードを識別するリージョン「マップ」と呼ばれる。リージョンマップは、メタデータ管理システムを有するプロセスによってアクセス可能である。リージョンマップ中のリージョンは、ハッシュ値のセットを表し、すべてのリージョンのセットはあらゆるハッシュ値をカバーする。リージョンは、ハッシュ値のビットの数を抽出することにより引き出される数によって識別される。ネームスペース分割スキームは、リージョンマップ中でリージョンを定義し、かつ所与のリージョンのオーナー権をコントロールするために使用される。この分割スキームは、データベース中で実装される。スキームでは、リージョンコピーは、3つの段階:「正式」、「バックアップ」そして「不完全」、のうちの1つをもつ。リージョンコピーが正式の場合、リージョンへのすべての要求はこのコピーに行き、各リージョンにつき1つの正式なコピーがある。リージョンコピーがバックアップ(あるいは不完全)である場合、コピーは更新要求(正式なリージョンマネージャプロセスからの)を受信する。メタデータがロードされているが、コピーがまだ同期されない(典型的に正式なリージョンコピーに関して)場合、リージョンコピーは不完全である。同期が完了するまで、不完全なリージョンコピーは、別の段階への昇格の資格を有さない、すなわち、その段階ではコピーはバックアップコピーになる。
上記メタデータ管理スキームの別の態様は、バックアップリージョンコピーが正式なリージョンコピーと同期した状態で保たれることである。同期は、更新要求が処理されている場合に、プロトコルあるいは正式なリージョンコピーとそのMDPL−1バックアップコピーの間の「コントラクト」を強化することにより保証される。例えば、更新を局所的に委ねた後、正式なリージョンマネージャプロセスは、そのMDPL−1バックアップコピー(それらは典型的に、他のノードに置かれる)の各々への更新要求を出す。この通常の経過の中で、更新要求の受取において、所与のバックアップコピーに関連したリージョンマネージャプロセスは、確認を出すあるいは出すことを試みる。正式なリージョンマネージャプロセスは、更新が成功したという表示を提供する前にMDPL−1バックアップコピーのすべてからの確認を待つ。この更新処理が失敗することがあるいくつかの状況がある、例えば、正式なリージョンマネージャ(確認を待っている間)は、バックアップマネージャプロセスがしたことを示す例外に遭遇するかもしれない、あるいは、たとえそれが確認を出したとしても、バックアップマネージャプロセスは、更新要求を局所的に処理することを失敗するかもしれない、あるいは、確認を出す間のバックアップリージョンマネージャプロセスは、正式なリージョンマネージャプロセスが故障したことを示す例外に遭遇するかもしれない、等など。バックアップリージョンマネージャが更新を処理することができなければ、それはサービスから退出する。バックアップリージョンマネージャプロセスあるいは正式なマネージャプロセスのいずれかが故障の場合、新しいリージョンマップが出される。このように同期を保証することによって、バックアップコピーはそれぞれ正式なコピー用の「ホットスタンバイ」である。そのようなバックアップコピーは、正式なリージョンコピーが失われる場合あるいは現在の正式なリージョンコピーが降格されるべきである(またいくつかのバックアップリージョンコピーが昇格されるべきである)と負荷分散要求が指示するために必要になるかもしれない正式なコピーになることへの昇格の資格を有する。
上記設計は、多くの同時のノード故障であってもそれがメタデータの高い有効性を保証するという点で有利である。ノード故障がある場合、1つ以上のリージョンが失われる、すなわち、その後、システムはそれをリカバリする必要がある。リカバリ過程は失われたリージョンのためのリージョンコピーを作成することを含む。その修理は、ハードウェアとデータベースのリソースを消費し、従って、性能コストがある。大きなクラスタにおいては、修理が長時間かかる場合があり、その時間の間、クラスタはMDPL未満かもしれない。
簡易概要
クラスタリカバリタイムは、ここに記載される増分リフレッシュ技術によって短縮される。その技術の目標は、以来データベースのその部分に生じる更新だけの増分リフレッシュを行なうことにより失われた(例えば障害中に)冗長分散データベースの部分を復旧させることである。
1つの実施例では、増分リフレッシュは、ネットワーク化された独立ノードの冗長アレイにおいて実装され、メタデータオブジェクトは、アレイにわたって分散されたリージョンのセットに格納される。リージョンマップは、リージョンのセットの位置を識別し、マップは、いくつかの段階:正式な(A)、バックアップ(B)、そして不完全(I)、のうちの1つにあるリージョンのコピーと、どこに不完全なリージョンコピーがリージョンへの保留の更新を格納するかとを、典型的に含む。その技術によれば、その段階は、更に、保留の更新から追加される部分的な段階を含んでいて、クラスタに復帰するリージョンを修理するための復元の間、保留の更新が使用される。具体的には、その修理は、次のステップを含んでいる。最初に、リージョンの部分的な(P)コピーが、好ましくは(A)または(B)リージョンが期限切れであることを決定する場合に、(P)リージョンへ(A)または(B)リージョンコピーを降格すること(あるいは変換すること)により作成される。その後、部分的な(P)リージョンコピーは、適切な不完全な(I)リージョン上で既に待ち行列に入れられた保留の更新の適用により最新にされる。その後、(P)リージョンは、バックアップ(B)リージョンコピーに変換される。それが変換されるとすぐに、それに更新を送ることにより(P)リージョンが、バックアップリージョンとして扱われる。ある状況では、部分的な(P)コピーは、その結果、最後の更新を取消すためにそのリージョンの正式な(A)コピーからのその部分を同期させることにより最新にされる。
代替実施例では、上記方法は、プロセッサと、プロセッサによって実行されたときに上記方法を実行するコンピュータプログラム指示を保持するコンピュータメモリとを有する装置によって実行される。
別の代替実施例では、上記方法は、それ自体がバッキングストアに置かれているかもしれないバージョンファイルシステムに関連する使用のためのコンピュータ読取り可能な媒体中のコンピュータプログラム製品によって実行される。そのコンピュータプログラム製品は、プロセッサによって実行されたとき上記方法を実行するコンピュータプログラム指示を保持する。
前述のものは、発明のより適切な特徴のいくつかを概説した。これらの特徴は単に例となるために解釈されるべきである。異なるやり方で記載された発明を適用すること、あるいは今後記載される発明の変更により、他の多くの有益な成果が成し遂げられるかもしれない。
本発明及びその利点のより完全な理解については、参考文献が、添付図面と併用される次の記載にある。
ここでの本件をその中で実施できる固定コンテンツストレージアーカイブの簡略化されたブロック図である。 各独立ノードが対称でありアーカイブクラスタアプリケーションをサポートする独立ノード冗長アレイの簡略化された説明図である。 所与のノード上で実行されるアーカイブクラスタアプリケーションの様々なコンポーネントの高レベル説明図である。 クラスタの所与のノード上のメタデータ管理システムのコンポーネントを示す図である。 例示的なリージョンマップを示す図である。 クラスタがサイズを増すとともにリージョンマップ変更を容易にするためにネームスペース分割スキームがどのように使用されるか示す図である。 (B)リージョンの損失の次に行われるリストア中に、どのように(P)リージョンコピー(Pリージョン)が作成され、そして、ここで記載される技術によって(B)リージョンへ昇格されるかの例を示す図である。 (A)リージョンの損失の次に行われるリストア中に、どのように(P)リージョンコピー(Pリージョン)が作成され、そして、ここで記載される技術によって(B)リージョンへ昇格されるかの例を示す図である。
例示的な実施例の詳細な記載
以下に記載する技術は、スケーラブルなディスクベースのアーカイブストレージ管理システム、好ましくは、独立ノード冗長アレイに基づくシステムアーキテクチャの中で好ましくは実施される。各ノードは、異なるハードウェアを備える場合があり、したがって「異種である」と考えることができる。ノードは通常、1つまたは複数のストレージディスクへのアクセスを有するが、これらのストレージディスクは、実際の物理ストレージディスクとすることもでき、またはストレージエリアネットワーク(SAN)におけるように仮想ストレージディスクとすることもできる。各ノード上でサポートされるアーカイブクラスタアプリケーション(及び任意選択で、このアプリケーションが実行される、基礎を成すオペレーティングシステム)は、同じかまたはほぼ同じとすることができる。例示的な一実施形態では、各ノード上のソフトウェアスタック(オペレーティングシステムを含むことができる)は対称だが、ハードウェアは異種である場合がある。このシステムを使用して、図1に示すように、企業が、とりわけ文書、電子メール、衛星画像、診断画像、チェック画像、音声録音、ビデオなど、多くの異なるタイプの固定コンテンツ情報のための永続的ストレージを生み出すことができる。当然、これらのタイプは例示に過ぎない。独立サーバまたはいわゆるストレージノード上でデータを複製することによって、高レベルの信頼性が達成される。各ノードは、そのピアと対称であることが好ましい。したがって、好ましくはどんな所与のノードも全ての機能を実施することができるので、いずれか1つのノードの障害はアーカイブの可用性にほとんど影響を及ぼさない。
一般に所有される米国特許第7,155,466号明細書、第7,657,581号明細書、及び第7,657,586号明細書で述べられているように、各ノード上で実行される分散ソフトウェアアプリケーションが、デジタル資産を取り込み、保存し、管理し、取り出す。図2の例示する一実施形態では、個別アーカイブの物理的境界が、クラスタと呼ばれる。通常、クラスタは、単一のデバイスではなく、デバイスの集合である。デバイスは、同種または異種である場合がある。典型的なデバイスは、Linuxなどのオペレーティングシステムを実行するコンピュータまたはマシンである。コモディティハードウェア上でホストされるLinuxベースのシステムのクラスタは、少数のストレージノードサーバから、何千テラバイトものデータを記憶する多くのノードまでスケーリングできるアーカイブを提供する。このアーキテクチャにより、記憶容量が、組織のますます増加するアーカイブ要件に常に遅れを取らずにいられることが確実になる。アーカイブが常にデバイス障害から保護されるように、データがクラスタ全体で複製されることが好ましい。ディスクまたはノードに障害が発生した場合、クラスタは自動的に、クラスタ中の、同じデータのレプリカを維持する他のノードにフェイルオーバする。
例示的なクラスタは、以下の一般的なコンポーネントカテゴリ、すなわちノード202、ネットワークスイッチ204のペア、電力分散ユニット(PDU)206、及び無停電電源(UPS)208を好ましくは有する。ノード202は、典型的に1つ以上のコモディティサーバを有し、CPU(例えばインテルx86、適切なランダムアクセスメモリ(RAM)、1つ以上のハードドライブ(例えば標準のIDE/SATA、SCSIなど)及び2枚以上のネットワークインターフェイス(NIC)カード)を有する。典型的なノードは、2.4GHzのチップ、512MB RAM及び6つの(6)200GBハードドライブを備えた2Uラックマウントユニットである。しかし、これに限られない。ネットワークスイッチ204は、典型的にノード間のピアツーピア通信を可能にする内部スイッチ205、及び、各ノードへの追加のクラスタアクセスを許可する外部スイッチ207を有する。各スイッチは、クラスタ中の全て潜在的なノードを扱うことを十分なポートに要求する。イーサネットまたはGigEのスイッチは、この目的に使用されてもよい。PDU206は、全てのノード及びスイッチに動力を提供するために使用され、UPS208は、全てのノード及びスイッチを保護するために使用される。制限しているつもりではないが、典型的にクラスタは、公衆インターネット、企業イントラネットあるいは他の広域か、ローカルエリアネットワークのようなネットワークに連結可能である。例となる実施例において、クラスタは、企業環境内で実施される。それは、例えばサイトの企業ドメイン名前システム(DNS)ネームサーバによってナビゲートすることにより達するかもしれない。従って、例えば、クラスタのドメインは、既存のドメインの新しいサブドメインかもしれない。代表的な実施において、サブドメインは、企業のDNSサーバの中でクラスタ自体の中のネームサーバに委託される。エンドユーザは、任意の従来のインターフェースあるいはアクセスツールを使用して、クラスタにアクセスする。従って、例えば、クラスタへのアクセスは、任意のIPベースのプロトコル(HTTP、FTP、NFS、AFS、SMB、ウェブサービスなど)上に、APIを経由して、あるいは他の既知か、その後発展したアクセス方式、サービス、プログラムあるいはツールを通じて実行されるかもしれない。
クライアントアプリケーションは、標準UNIXファイルプロトコルのような1つ以上のタイプの外部ゲートウエイによるクラスタ、またはHTTP APIにアクセスする。アーカイブは、好ましくは、オプションで任意の標準UNIXファイルプロトコル系設備の下に位置できる仮想ファイルシステムを通じて露出される。これらは、NFS、FTP、SMB/CIFSなどを含む。
1つの実施例において、アーカイブクラスタアプリケーションは、クラスタとして(例えば、イーサネット経由で)ネットワーク化される独立ノード(H−RAIN)の冗長アレイ上で作動する。所与のノードのハードウェアは異種かもしれない。最大の信頼性のために、しかし、好ましくは、各ノードは、今、図3に示されるようないくつかのランタイムコンポーネントから成る分散アプリケーション(すなわち、同じインスタンス、あるいは本質的に同じインスタンスかもしれない)のインスタンス300を実行する。従って、ハードウェアは、異種かもしれないが、ノード(少なくともそれが本発明に関係のある)上のソフトウェアスタックは、同じである。これらのソフトウェアコンポーネントは、ゲートウエイプロトコルレイヤ302、アクセスレイヤ304、ファイルトランザクション及び管理レイヤ306、及び、コアコンポーネントレイヤ308を有する。機能が他の意味のある方法で特徴づけられるかもしれないことを通常のスキルのうちの1つが認識するので、「レイヤ」指定は、説明目的に提供される。レイヤ(あるいはその点でコンポーネント)の1つ以上は、統合されるかそうでないかもしれない。いくつかのコンポーネントは、レイヤに渡って共有されるかもしれない。
ゲートウエイプロトコルレイヤ302の中のゲートウエイプロトコルは、既存のアプリケーションに透明性を提供する。具体的には、ゲートウエイは、カスタムアプリケーションを構築するためのウェブサービスAPI同様に、NFS310及びSMB/CIFS312のようなネイティヴファイルサービスを提供する。HTTPサポート314も提供される。アクセスレイヤ304は、アーカイブへのアクセスを提供する。具体的には、発明によれば、固定コンテンツファイルシステム(FCFS)316は、アーカイブオブジェクトへフルアクセスを提供するためにネイティヴファイルシステムをエミュレートする。あたかもそれらが通常のファイルかのように、FCFSは、アーカイブコンテンツにアプリケーションダイレクトアクセスを与える。好ましくは、メタデータがファイルとして露出されている一方、アーカイブコンテンツは、そのオリジナルフォーマットでレンダリングされる。FCFS316は、管理者らが、使いやすい方法で固定コンテンツのデータをセットアップできるように、ディレクトリと許可についての従来のビュー及びルーチンファイルレベルコールを提供する。ファイルアクセス呼び出しは、好ましくは、ユーザスペースデーモンによって傍受され、ダイナミックに呼び出しのアプリケーションへの適切な表示を作成する適切なコアコンポーネント(レイヤ308に)に送られる。FCFS呼び出しは、好ましくは、自律的なアーカイブ管理を促進するアーカイブポリシによって抑制される。従って、一例において、管理者かアプリケーションは、保存期間(所与のポリシ)がまだ有効のアーカイブオブジェクトを削除することができない。
アクセスレイヤ304は、好ましくは、また、ウェブユーザインターフェース(UI)318及びSNMPゲートウエイ320を含む。ウェブユーザインターフェース318は、ファイルトランザクション及び管理レイヤ306での管理エンジン322への対話型のアクセスを提供する管理者コンソールとして好ましくは実施される。管理上のコンソール318は、好ましくは、アーカイブオブジェクト及び個々のノードを含むアーカイブの動的考察を提供するパスワードで保護されウェブベースのGUIである。SNMPゲートウエイ320は、安全にストレージ管理アプリケーションがクラスターアクティビティを監視し制御することを可能にしながらストレージ管理アプリケーションに管理エンジン322への容易なアクセスを提供する。管理エンジンモニタは、システムとポリシイベントを含むアクティビティをクラスタする。ファイルトランザクションと管理レイヤ306は、また、要求マネージャプロセス324を含む。要求マネージャ324は、コアコンポーネントレイヤ308の中のポリシマネージャ326からの内部要求と同様に外界(アクセスレイヤ304を通じて)からの全ての要求を統合する。
コアコンポーネントは、ポリシマネージャ326に加えて、メタデータマネージャ328及びストレージマネージャ330の1つ以上のインスタンスを含む。メタデータマネージャ328は、各ノードに好ましくはインストールされる。クラスタ中のメタデータマネージャは、集合的に、全てのアーカイブオブジェクトを管理しながら、分散型データベースとして作動する。所与のノードにおいて、メタデータマネージャ328は、好ましくは、アーカイブオブジェクトのサブセットを管理し、各オブジェクトが、好ましくは、外部ファイル(「EF」(ストレージ用にアーカイブに入ったデータ))とアーカイブデータが物理的に検索される内部ファイル(各々「IF」)のセット間をマップする。同じメタデータマネージャ328は、また、他のノードから複製されたアーカイブオブジェクトのセットを管理する。従って、全ての外部ファイルの現状は、いくつかのノード上の複数メタデータマネージャに常に利用可能である。ノード障害の場合には、他のノード上のメタデータマネージャが、機能不全のノードによって以前管理されたデータへのアクセスを提供し続ける。このオペレーションは、以下により詳細に説明される。ストレージマネージャ330は、分散アプリケーション中の他の全てのコンポーネントに利用可能なファイルシステムレイヤを提供する。好ましくは、それはノードのローカルファイルシステムにデータオブジェクトを格納する。所与のノード中の各ドライブは、好ましくは、それぞれ自身のストレージマネージャを持っている。これは、ノードが個別のドライブを削除し、処理能力を最適化することを可能にする。ストレージマネージャ330は、また、システム情報、データの一貫性チェック及び直接ローカル構造をトラバースする能力を提供する。
さらに図3で示されるように、クラスタは、通信ミドルウェアレイヤ332及びDNSマネージャ334を通じて内部及び外部通信を管理する。インフラストラクチャ332は、アーカイブコンポーネント中の通信を可能にする効率的で信頼できるメッセージベースのミドルウェアレイヤである。図で示した実施例において、レイヤは、マルチキャストとポイントツーポイント通信をサポートする。DNSマネージャ334は、企業サーバに全てのノードを接続する分散型ネームサービスを行う。好ましくは、DNSマネージャ(単独であるいはDNSサービスと共に)ロードバランスは、最大のクラスタ処理能力及び有効性を保証することを全てのノードに渡って要求する。
図で示した実施例において、ArCアプリケーションインスタンスは、Red Hat Linux 9.0、Fedora Core 6などのような基礎オペレーティングシステム336上で実行する。通信ミドルウェアは、任意の便利な分散型通信メカニズムである。他のコンポーネントは、固定コンテンツファイルシステム(FCFS)316のために使用されてもよいFUSE(USErspaceの中のファイルシステム)を含むかもしれない。NFSゲートウエイ310は、標準のnfsd LinuxカーネルNFSドライバによって実施されるかもしれない。各ノード中のデータベースは、実施されるかもしれない、例えば、オブジェクト関係データベース管理システム(ORDBMS)であるPostgreSQL(またここにPostgresとして引用される)である。ノードは、Java HTTPサーバ及びservletコンテナーであるジェティのようなウェブサーバを含むかもしれない。もちろん、上記のメカニズムは、単に例となる。
所与のノード上のストレージマネージャ330は、物理的な記憶デバイスを管理する責任がある。好ましくは、各ストレージマネージャインスタンスは、全てのファイルがその配置アルゴリズムによって入れられる単一のルートディレクトリの責任がある。複数のストレージマネージャインスタンスは、ノード上で同時に作動することができ、各々は、通常、システムで異なる物理的なディスクを表わす。ストレージマネージャは、システムの残りから使用されているドライブ及びインターフェース技術を抽象する。ストレージマネージャインスタンスがファイルを書くように依頼される場合、それはそのために責任を負う表現用のフルパス及びファイル名を生成する。代表的な実施例において、ストレージマネージャ上に格納される各オブジェクトは、それが異なるタイプの情報を追跡するデータを格納する場合、ファイルにそれ自身のメタデータを加えて、そのときストレージマネージャと共に保存されるローデータとして受信される。例として、このメタデータは、限定無しで含む:EF長さ(バイトでの外部ファイルの長さ)、IFセグメントサイズ(内部ファイルのこの部分のサイズ)、EF保護表現(EF保護モード)、IF保護役割(この内部ファイルの表現)、EF生成タイムスタンプ(外部ファイルタイムスタンプ)、シグネチャ(シグネチャタイプを含む書き込み(PUT)の時間の内部ファイルのシグネチャ)及びEFファイル名(外部ファイルファイル名)。内部ファイルデータでこの追加のメタデータを格納することは、追加のレベルの保護を提供することである。具体的には、スカビンジングは、内部ファイルに保存されたメタデータからデータベースに外部ファイルレコードを作成することができる。他のポリシは、内部ファイルが元の状態のままになることを有効にするために内部ファイルに対する内部ファイルハッシュを有効にすることができる。
前述のように、内部ファイルは、アーカイブオブジェクト中でオリジナルの「ファイル」の一部を表わす、データの「チャンク」かもしれない、また、それらはストライピングと保護ブロックを達成するために異なるノードに置かれるかもしれない。典型的に、1つの外部ファイルエントリは各アーカイブオブジェクトのためのメタデータマネージャの中にあり、その一方で、個々の外部ファイルエントリのための多くの内部ファイルエントリがあるかもしれない。典型的に、内部ファイルレイアウトは、システムに依存する。所与の実施において、ディスク上のこのデータの実際の物理フォーマットは一連の可変長レコードに格納される。
要求マネージャ324は、システム内の他のコンポーネントとのやりとりによりアーカイブアクションを行なうために必要とされるオペレーションのセットを実行する責任がある。要求マネージャは、異なるタイプの多くの同時のアクションをサポートし、機能不全のトランザクションをロールバックすることができ、実行するのに長い時間かかるトランザクションをサポートする。要求マネージャは、更に、アーカイブの読取り書き込みオペレーションが適切に扱われる事を保証し、全ての要求がいつでも既知の状態である事を保証する。更に、それは、所与のクライアント要求を満たすためにノードに渡って複数の読取り書き込みオペレーションを調整するためにトランザクション制御を提供する。更に、要求マネージャは、最近使われたファイルのためのメタデータマネージャエントリをキャッシュに格納し、データブロックと同様にセッションのためのバッファリングを提供する。
クラスタの主要な責任は、ディスク上に無制限のファイルを確実に格納することである。それが何らかの理由で手が届かないか、そうでなければ利用不可能かもしれないという意味で、所与のノードは「信頼性が低い」と見なされるかもしれない。そのような潜在的に信頼性の低いノードのコレクションは、確実で、高度に利用可能なストレージを作成することに協力する。一般に、格納される必要のある2つのタイプの情報がある:ファイル自体及びファイルに関するメタデータ。
メタデータ管理
米国特許第7,657,581号明細書(その開示は参考文献によってここに組込まれる)に記載のように、メタデータマネジメントシステムは、システムメタデータのような所与のメタデータへのアクセスを組織し提供する責任がある。このシステムメタデータは、構成情報、管理UIに表示された情報、メトリクス、復元不能なポリシ違反についての情報などに表示された情報等と同様にアーカイブに置かれたファイルについての情報を含む。詳細に示されていないが、他のタイプのメタデータ(例えばアーカイブしたファイルに関連したユーザメタデータ)も今説明されるメタデータ管理システムを使用して管理されるかもしれない。
代表的な実施例では、メタデータ管理システムは、次のオブジェクトタイプ(それらは単に例となる)の1つ以上を含んでいるかもしれないメタデータオブジェクトのセットのための持続性を提供する。
・ExternalFile:アーカイブのユーザによって知覚されるようなファイル、
・InternalFile:ストレージマネージャによって格納されたファイル。典型的には、外部ファイルと内部ファイルの間に一対多数の関係があるかもしれない、
・ConfigObject:クラスタを構成するのに使われる名前/値ペア、
・AdminLogEntry:管理者UIに表示されるメッセージ、
・MetricsObject:ある時点でのアーカイブ(例えばファイルの数)のある測定を表わす、タイムスタンプされたキー/値ペア、そして
・PolicyState:あるポリシの違反。
各メタデータオブジェクトは、好ましくは、変わらないユニークな名前を持っているかもしれない。メタデータオブジェクトは、リージョンに組織される。リージョンは、正式なリージョンコピーとメタデータ保護レベル(MPDL)数(0以上のセット)バックアップリージョンコピーを有する。0のコピーで、メタデータマネジメントシステムは、計量可能であるが、高度に利用可能ではないかもしれない。リージョンは、1つ以上のオブジェクト属性(例えばフルパス名やその一部のようなオブジェクトの名前)をハッシュ及びハッシュ値のビットの所与数の抽出により選択される。これらのビットは、リージョン番号から成る。選択されたビットは、低位ビット、高位ビット、中位ビットあるいは個々のビットの任意のコンビネーションかもしれない。代表的な実施例において、所与のビットはハッシュ値の低位ビットである。オブジェクトの属性か属性(複数)は、任意の便利なハッシュ関数を使用してハッシュされるかもしれない。これらは制限なしで、java.lang.string.hashCode等のようなJavaベースのハッシュ関数を含む。好ましくは、リージョン番号から成るビットの数は、ここでregionMapLevelと呼ばれ、構成パラメータによってコントロールされる。この構成パラメータが6にセットされる場合、例えば、これは2=64リージョンが得られる。もちろん、以下に説明されるように、多くのリージョンは許され、リージョンの数はネームスペース分割スキームを使用して自動的に調節されるかもしれない。
米国特許第7,657,581号明細書に記載通り、各リージョンは、重複して格納されるかもしれない。上記の通り、リージョンの1つの正式なコピー及び0以上のバックアップコピーがある。前述のように、バックアップコピーの数は、メタデータ・データ保護レベル(あるいは「MDPL」)構成パラメータによってコントロールされる。好ましくは、リージョンコピーは、1つのノード当たりの正式なリージョンコピーの数の平衡を保ち、かつ1つのノード当たりの合計のリージョンコピーの数の平衡を保つようにクラスタの全てのノードに渡って分散される。
メタデータ管理システムは、各ノード上で作動するデータベースにメタデータオブジェクトを格納する。このデータベースは、リージョンマップをサポートするために使用される。典型的なデータベースは、オープンソースとして利用可能であるPostgreSQLを使用して実施される。好ましくは、各リージョンコピーのスキーマがあり、各スキーマでは、各タイプのメタデータオブジェクト用のテーブルがある。スキーマは、単にテーブル、インデックス、手順及び他のデータベースオブジェクトを所有することができるネームスペースである。各リージョンは、好ましくは、それ自身のスキーマを持っている。各スキーマは、テーブル一式、すなわち各メタデータオブジェクトに1つ持っている。これらのテーブルのうちの1つの列は、単一のメタデータオブジェクトに相当する。Postgresが好ましいデータベースであると同時に、任意の便利なリレーショナルデータベース(例えばオラクル、IBM DB/2など)が使用されてもよい。
図4で示されるように、各ノード400は、プロセスあるいはコンポーネント、すなわち、1つ以上のリージョンマネージャ(RGM)402a−n、メタデータマネージャ(MM)404、少なくとも1つのメタデータマネージャクライアント(MMC)406、及び1つ以上のスキーマ410a−nがある1つのデータベース408、のセットを有する。RGM(s)、MM及びMMCコンポーネントは、Java仮想マシンのようなバーチャルマシン412で実行する。各リージョンコピーにつき1つのRGMがある。従って、正式なリージョンコピー用のRGM、各バックアップリージョンコピー用のRGM及びそれぞれ不完全なリージョンコピー用のRGMがある。RGM402のスキーマを管理する各RGM402用のデータベーススキーマ410もある。データベースは、また、リージョンマップ405を格納する。上述の特許の開示によれば、各ノードは、好ましくは、同期スキームによって強化されている要求と共に、リージョンマップの同じ全体的な見解を持っている。リージョンマネージャRGM402は、リージョンコピー(それが正式な、バックアップ、あるいは不完全な場合によっては)上で作動し、メタデータマネージャクライアント406、及び他のリージョンマネージャ402によって提出された要求の実行に責任がある。要求は、図3で示された通信ミドルウェアあるいは他のメッセージングレイヤのような任意の便利な手段を通じて所与のRGMに提供される。リージョンマネージャは、これらの要求が実行する実行環境を提供する、例えば、スキーマのRGMによって管理されているスキーマ上で作動するように構成されているデータベースへの接続を提供することによって。各リージョンマネージャは、データベース408にそのデータを格納する。メタデータマネージャ404は、ノード上のメタデータ管理の責任があるトップレベルのコンポーネントである。それは、リージョンマネージャ(RGM)を作成し破壊し、そして、RGM、例えばクラスタ構成情報、データベース接続のプールによって必要とされるリソースを組織する責任がある。好ましくは、所与のメタデータマネージャ(所与のノード中の)は、リーダーとして働き、どのメタデータマネージャ(ノードのセット又はサブセットに渡った)がどのリージョンコピーに責任を負うかを決める責任がある。賛成アルゴリズム又はその変形のようなリーダー選挙アルゴリズムは、メタデータマネージャリーダーを選ぶために使用されるかもしれない。好ましくは、1つのノード当たり複数のMMを実行することは可能であるが、各ノードは、1つのメタデータマネージャを持っている。一旦リージョンオーナー権がネームスペース分割スキーム(下記に述べられるように)によって確立されたならば、各メタデータマネージャは、1つ以上のリージョンマネージャのそのセットに従って調節することに責任がある。システムコンポーネント(例えば管理エンジン、ポリシマネージャなど)は、メタデータマネージャクライアントを通じてメタデータマネージャMMとやりとりをする。MMCは、所与の要求を実行するためにRGMを見つける事、選択されたRGMに要求を出す事、及び選択されたRGMが利用不可能な場合に(例えば、ノードが機能しなくなったので)要求を再試行することに責任がある。後者の場合は、新しいリージョンマップがノードで受信される場合、再試行要求が成功するであろう。
上記の通り、リージョンマップは、各リージョンの各コピーに責任のあるノードを識別する。バーチャルマシン412(またその中での各RGM、MM、及びMMC構成要素)は、リージョンマップ405へのアクセスを持っている;リージョンマップのコピー420も、それがJVMにコピーされた後、図4に示される。リージョンマップは、従って、所与のノード中のJVM及びデータベースの両方に利用可能である。このインスタンスとなる実施例において、各メタデータオブジェクトは、0x0と0x3fffffff合計間の整数を産出するためにハッシュされる、つまり30ビットの値の属性(例えば名前)を持っている。これらの値は、オーバーフロー問題(例えば範囲の高域に1を加える時)にぶち当たる事なく、符号付き32ビット整数中で快適に表わす事ができる。30ビットは、大きなクラスタにさえ十分であるおよそ10億までのリージョンを考慮に入れる。リージョンは、1セットのハッシュ値を表わし、全てのリージョンのセットは、あらゆるハッシュ値をカバーする。各リージョンのための異なるビット位置があり、異なるビット位置は、好ましくは固定順になっている。従って、各リージョンは、ハッシュ値のRegionLevelMapビットの抽出により好ましくは引き出される数によって識別される。64リージョンを考慮に入れて、構成パラメータが6にセットされる場合、生じるハッシュ値は、0x0から0x3fの数である。
先述の通り、リージョンコピーは、3つの(3)段階、すなわち、「正式な」(A)、「バックアップ」(B)そして「不完全」(I)のうちの1つにある。リージョンコピーが正式の場合、リージョンへの全ての要求がこのコピーに行き、また、各リージョンにつき1つの正式なコピーがある。リージョンコピーがバックアップである場合、コピーは、バックアップ要求(正式なリージョンマネージャプロセスからの)を受信する。メタデータがロードされているが、コピーがまだ同期されない(典型的に他のバックアップコピーに関して)場合、リージョンコピーは、不完全である。同期が完了するまで、不完全なリージョンコピーは、別の段階への昇進の資格を有さない、すなわち、そのポイントではコピーは、バックアップコピーになる。各リージョンは、1つの正式なコピー、所与の数(MDPL構成パラメータによってセットされた)バックアップあるいは不完全なコピーを持っている。
米国特許第7,657,581号明細書に記載通り、バックアップリージョンコピーは、正式なリージョンコピーとそのMDPLバックアップコピー間で所与のプロトコル(あるいは「契約」)を強化することにより、正式なリージョンコピーと同期され続ける。このプロトコルは、今説明される。
説明されたように、リージョンマップは、各リージョンの各コピーのオーナー権について説明する。例えば、図5は、4つのノードクラスタ用のリージョンマップをmetadataMDPL=2で例証する。この例において、示されるように、ノード1はリージョン0は正式であり、ノード2及び3はバックアップとして指定され、ノード2はリージョン1は正式であり、ノード3及び4はバックアップとして指定されるなどである。ネームスペース分割スキームは、クラスタが増大するとともに、特定のリージョンのコントロール(オーナー権)を変更するために使用されても良い。動的成長を許可する1つの方法は、ハッシュ値番号を有するットの数を決定するregionMapLevel構成パラメータをインクリメントすることである。クラスタが増大するとともに、リージョンマップの1つ以上のパーティションが「分離した」工程を経る。分離は、ハッシュ値のもう1つのビットを使用し、その結果メタデータを再分散することを引き起こす。例えば、レベル6のマップ、及びハッシュ値0x1000002a及び0x1000006aを備えた2つのメタデータオブジェクトを考慮してほしい。これらのハッシュ値(2進法の「0010」である「2」、及び2進法の「0110」である「6」を備えた16進法0x2a)の最後の6ビットは、同じである:したがって、両方のオブジェクトは、リージョン0x2aに分類される。その後、マップレベルが7に増加される場合、リージョンは0から0x7fであり、それにより、異なるリージョン、すなわち0x2a、0x6aに入ることを2つのオブジェクトに強いる。
このアプローチは使用されてもよいが、それは同時に分離していることをすべてのリージョンに要求する。よりよい技術は、リージョンを増加的に分離することである。これをするために、ネームスペース分割スキームは、リージョン0でスタートし、現在のレベルの最後のリージョンで終了する順番でリージョンを分離する。リージョンは、ハッシュ値のもう1つのビットの使用により分離される。図6はこのプロセスを示す。この例において、マップレベル1では、2つのリージョン602(ノード0)及び604(ノード1)があると仮定する。ノード番号は、2進法で示される。マップが増大する必要がある場合、分割スキームは、ハッシュ値のもう1つのビットの使用によりリージョン0を分離する。これは、3つのリージョン606、608及び610を作る。それらがリージョン606(ノード00)にあり、残りのオブジェクトが新しい最後のリージョン610(ノード10)へ行く場合、新しいビットが0であるオブジェクトはとどまる。***により加えられるビットはイタリック体にされる、すなわち00と10.注目すべきは、最初のリージョン606及び最後のリージョン610が2ビットを使用し、その一方で中間(分割されていない)リージョンは1つだけ使用する、けれども、左から右まで見られた場合、番号付けをするスキームはそれでも、正確に機能する、すなわち、{0、1、2}。 更なる増大については、リージョン1は4つのリージョン612(ノード00)、614(ノード01)、616(ノード10)及び618(ノード11)を作るために分割される。これは2レベルを完成させる。リージョンマップが再び増大する必要がある場合、スキームは、リージョン00〜000(つまりハッシュ値のもう1つのビットを加えることによって)を分割し、最後に、新しいリージョン100(さらにハッシュ値のもう1つのビットを加えることによって)を加える。 その後、リージョンマップは、示されるように5つのリージョン620、622、624、626及び628を持つことになる。
リージョンの数がノードの数に相当するという必要はない。より一般に、リージョンの数は、独立したノードのアレイ中のノードの数に関連しない。
従って、1つの実施例によれば、リージョンに対するコントロールは、リージョンにメタデータオブジェクトを割り当て、次にリージョンを増加的に分けることで果たされる。リージョンコピー(正式、バックアップ、あるいは不完全である)は、各ノード上のデータベースに格納される。記述されたように、メタデータオペレーションは、正式なRGMによって実行される。しかしながら、ノードが失敗する場合、いくつかの数のリージョンコピーは失われる。記述されたように、有効性は、正式なリージョンのバックアップコピーのうちの1つを昇格させることにより復元される、すなわちそれは数秒で通常できる。バックアップが昇格される短い間隔中に、MMCによってリージョンに提出される要求は失敗する。この障害は、遅れの後に再試行を引き起こすMMCによって見つかる例外として現われる。要求が再試行される時には、しかしながら、MMCユーザに対してサービスが中断されないことをもたらしながら最新のマップが適所にあるようになる。記述されたように、このアプローチは、同期されたままであるリージョンのコピー(好ましくはそれらのすべて)に依存する。
下記は、メタデータ管理システムの追加導入詳細を提供する。
上記の通り、ノードがクラスタを残す場合、あるいはノードがクラスタを連結する場合、あるいは不完全なリージョンコピーがロードを終える場合、MMリーダーはリージョンマップを作成する。最初のケースでは、ノードがクラスタを残す場合、一時的にあるいは永久に、そのノード上のMMによって管理されるリージョンを再び割り当てなければならない。ノードがサービスに戻る場合、あるいはノードが初めてクラスタを連結する場合、第2のケースはその状況を含む:そのような場合、クラスタ中の他のMMのためのロードを軽くするために、リージョンはそれに割り当てられる。新しいノード上で作られたリージョンは、すべて不完全である。これらのリージョンは、一旦それらがデータをロードし終えると、バックアップに昇格される。 不完全なリージョンがそのデータをロードすることを完了すると、3番目の状況が起こる。この時に、リージョンは、バックアップになる。マップ生成アルゴリズムは、好ましくは、所与のノードが正式なリージョンがクラスタにわたって平衡を保たれる、また、全てのリージョンがクラスタにわたって平衡を保たれるいかなるリージョンの1つを超えるコピーを決して含まないことを、保証する。全てのRGMが全てのメタデータ更新を処理し、このようにクラスタにわたって広げられるので、後者の2つの制約は必要である。正式なRGMは、また、検索要求を処理する、したがって、それらもまたよく分散される。
下記に、マップ生成アルゴリズムに関する追加の詳細を提供する。
MMリーダーが新しいマップを作成する必要がある場合、それが最初にすることはリージョンセンサスである。これは、現在クラスタ中の各ノード上のMMに要求を送信しながら要求/応答メッセージパターンを使用して行われる。要求/応答パターンは、好ましくは、どのリージョンの全体像がアーカイブに存在するかを形成して全ての応答が組み合わせられる集合ステップを含む。リージョンセンサスによって提供される情報は、好ましくは、各リージョンコピーの用に下記を含む:リージョンコピーを所有するノード、リージョンマネージャ(もしあれば)によって処理される最後の更新、及びリージョンのデータベーススキーマに格納されるタイムスタンプ。リージョンタイムスタンプは、センサスから削除される無効のリージョンを識別するために使用される。これは、無効のリージョンが形成されているマップから外され、また、無効のリージョンスキーマが削除されることを保証する。ほとんどの場合、無効のリージョンコピーは、現在のリージョンコピーからのマップ番号より低いマップバージョン番号を持つ。しかしながら、これは必ずしもそうだとは限らないかもしれない。例えば、新しいマップがノードクラッシュにより作成されていると仮定する。リージョンセンサスは、残りのリージョンを発見し、新しいマップを形成する。機能不全のノードがリージョンセンサスに応答するのに間に合うように再開すれば、あたかもうまく行かないものもなかったかのように、ノードはそのリージョンを報告する。しかしながら、これらのリージョンはすべてノードが下がっていた間に更新を逃したため、無効になるかもしれない。この問題の解決策は、リージョンセンサスで含まれるリージョンタイムスタンプを検査することである。リージョンコピーは、最後の更新のタイムスタンプが処理されたことを表すそれぞれのリージョンタイムスタンプを報告する。リージョンコピーが同期された状態になるので、有効なタイムスタンプは、マップバージョン変更及び最初のマップを考慮に入れなければならない。機能不全のリージョンが最新の又は無効のマップバージョン番号を持っているかどうか、これが無効のリージョンを識別する。ノードが機能しなくなり、サービスに速く戻り、次に、無効のリージョンに基づいた要求を処理し始める危険はない。この理由は、ノードがリブートでリージョンマップを持たない、また、マップが受信されるまで、RGMは存在しないからである。RGMが作成されるまで、MMCからの要求は処理できない。したがって、新しいマップを得るまで、素早く再開する機能不全のノードは、要求を処理することができない、そして新しいマップはノードにその古いリージョンを廃棄させる。
リージョンセンサスの後、最初のリージョンマップは以下のように生成される。リージョンセンサスが全くリージョンを放棄しない場合、クラスタは初めてスタートしているに違いない。この場合、正式なリージョン所有者が最初に割り当てられる。各割り当てについては、アルゴリズムは、最小の使用中のノードを選択する。最小の使用中のノードは、最も少ないリージョンコピーを備えたノードである。つながりは、所有された正式なコピーの数に基づいて解決される。正式なリージョン所有者が割り当てられた後、バックアップリージョン所有者は、バランスのとれた権限があり合計のリージョンオーナー権を追い求めながら割り当てられる。新しいマップはすべてのMMに送られる、すなわち、その後、マップによって説明されたリージョンを作る。
一旦クラスタがスタートしたならば、マップ変更は、好ましくは、順番に次のマップ変更を行うことにより実施される:(1)リージョンに正式なコピー(ノード機能不全による)がない場合、バックアップを昇格させる;(2)、リージョンがMDPLバックアップ以上に持っている場合、超過バックアップを削除する;(3)リージョンがMDPLバックアップ(ノード機能不全、あるいは正式なことへの昇格による)より少なく持っている場合、新しい不完全なリージョンコピーを作成する;(4)オーナー権のバランスを再び取る、そして(5)正式なオーナー権のバランスを再び取る。ステップ(4)は、最も忙しいノードを見つけ、オーナー権計算が少なくとも2低いノードにそのリージョンのうちの1つを再び割り当てることを含む。(目標ノードのオーナー権計算が1低い場合、再配分は、仕こと量の平衡を保つのを助けない)好ましくは、これは、新しい不完全なリージョンを作ることにより行われる。これがいかなるノードによって所有されたリージョンの最大数を縮小し続ける限り、この操作が継続される。ステップ(5)は、権厳のあるリージョンの最大数を所有するノードを見つけることと、正式なオーナー権計算が少なくとも2低いバックアップを見つけることを含む。このステップは、例えば、バックアップを昇格させる及び正式なものを降格させることで責任を交換する。この操作は、いかなるノードによって所有される正式なリージョンの最大数を縮小し続ける限り、継続される。
ノードがクラスタを残す場合、その後、ステップ(1)及び(3)は、ノードの離脱によって残されたリージョンマップ中のどんなギャップも満たす。必要ならば、その後、ステップ(4)と(5)が仕事量を一定にするために使われる。
ノードがクラスタを連結する場合、ステップ(1)−(3)は、何も変更しない。ステップ(4)は、対照的に、新しいノードに割り当てられながら不完全なリージョンをセットもたらす。不完全なリージョンがそのデータをロードすることを完了する場合、それはMMリーダーに通知する。マップは、バックアップに不完全なリージョンを昇格させる。その後、ステップ(5)は、新しいノードに正式なリージョンを割り当てる効果がある。
不完全なリージョンがその同期を終了する場合、それはバックアップリージョンに変わり、MMリーダーに通知する。その後、MMリーダーは、少なくとも1つのリージョン用のTPOFバックアップ以上に含んでいる新しいマップを発行する。ステップ(2)は、最も極度にロードしたMMに対する負担を軽くすることを選びながら、超過しているバックアップリージョンを削除する。
MMが新しいマップを受信する場合、それは、新しいマップと現在のものとを比較し、MMによって管理される各リージョンのためにいかなる変更をも適用する必要がある。 可能な変更は、以下の通りである:リージョンを削除する、リージョンを作る、バックアップリージョンを正式なものに昇格させる、バックアップに不完全なリージョンを昇格させ、バックアップに正式なリージョンを降格させる。最初のタイプの変更に関して、ロードバランスは、コピーの削除をもたらせながら、あるノードから別のノードにリージョンコピーのコントロールを移動させることができる。そのような場合、ネットワークとデータベース資源がリージョンのデータを格納するスキーマの削除を含めながら返される。正式なそしてバックアップリージョンが作られるとともに、リージョンを作る第2のタイプの変更が典型的に新しいクラスタに生じる。その後、不完全なリージョンだけが作られる。リージョン生成は、各タイプのメタデータオブジェクト用のテーブルを含んでいるデータベーススキーマを作成することを含む。各リージョンのスキーマは、リージョン(正式、バックアップ、あるいは不完全)の役割を識別する情報を含んでいる。3番目のタイプの変更、すなわち、バックアップから正式への昇格は、リージョンの役割の修正を必要とする。他の変更タイプは、それらの名前が意味するように、不完全からバックアップへあるいは正式からバックアップへのリージョンの役割を変更することを含む。
ノードのメタデータマネージャはそれぞれ、全部のクラスタ用のメタデータの所与の部分をコントロールする。したがって、所与のノードに格納されるメタデータは、クラスタ中のすべての(あるいは所与のサブセットの)ノード中に理論上平等に分散されているデータベースと共に、分散型データベース(メタデータの)の一部から成る。メタデータマネージャは、説明されてきたように、この機能を達成するために協力する。新しいノードがクラスタに加えられる場合、個々のノード責任は、新しいキャパシティに調節される;これは新メンバーが等しい割り当てを仮定するように、すべてのノードにわたってメタデータを再分散することを含む。反対に、ノードが機能しなくなるか、クラスタから取り除かれる場合、他のノードメタデータマネージャは、より大きな割り当てを仮定することにより縮小されたキャパシティを補う。データロスを防ぐために、ノードがそれぞれ直接すべてのクラスタメタデータのあるパーセンテージを管理する責任があり、他のノードのセット番号にこのデータをコピーする場合、メタデータ情報は、好ましくは、複数のノードにわたって再現される。
新しいマップが生成される場合、MMリーダーは、他のノードへそのマップの分散を始め、全てのノードがそれを持つまで処理の保留を要求する。 一旦ノードがすべて新しいマップを持っていることをシステムが確認すれば、通常の処理が再開される。
増分リフレッシュ
上記の通りシステムにおいて、メタデータは、システムでノードにわたって冗長格納されているリージョンへ分散される。メタデータマネージャは、これらのリージョンの位置を含んでいるリージョンマップを持っていて、システムはこれによって適切に要求を送ることができるようになる。リージョンの数は、メタデータロードがすべてのノードにわたって分割される粒度を決定する。マップは、以下の段階、すなわち、正式なリージョンコピー(リージョン)、バックアップリージョンコピー(リージョン)、及び、スクラッチからあるいは(A)または(B)のリージョンから復元される過程中にある不完全なリージョンコピー(リージョン)、におけるリージョンのコピーを含んでいる。(A)または(B)のリージョンがクラスタを残す場合、マップがリフレッシュされる。(B)リージョンがクラスタを残している場合、(I)リージョンは、(A)リージョンからメタデータをすべてコピーすることにより作られ追加される。(A)リージョンがクラスタを残す場合、対応する(B)リージョンは、(A)に昇格され、次に、(I)リージョンが作られる。(I)リージョンコピーが完全な場合、それは(B)リージョンへ昇格される。リージョンがすべて完成した場合、マップは再度MDPLにある。このプロセス中に、失われたリージョンが戻る場合、そのタイムスタンプが無効であるので典型的に捨てられる。
この開示によれば、リージョンへの最後に適用された変更を格納する概念に基づくエンハンスされたリカバリスキームが説明される。現在のタイムスタンプだけでなくその値は戻るリージョンをどうするか決めるために使用される。
したがって、(A)またはのリージョンがすぐに(例えば単純なノードリブートにより)戻る場合、ほとんどの場合、リージョンは、ちょうど1更新だけ異なる。このケースを確認するために、この開示によれば、好ましくは、最後の更新は各リージョンのリージョンタイムスタンプテーブルで続けられる。最初のシナリオでは、正に最後の更新で見つからないリージョンがある。これは、(A)リージョンから更新を受信する前に、(B)リージョンが消失する場合である。この場合、システムは、現在のマップでそのリージョンを最新にさせるために、最後の更新を適用する。更新を適用した後に、マップインストールの残りは通常通り継続する。2番目のシナリオは、システムの他のいかなる場所にも繁殖しなかったリージョンに適用された更新があるということである。これは、リージョンの更新がその(B)リージョンに適用される前に、リージョンが消失する場合である。この場合、その更新は、無効であると考えられ、そのリージョンがマップに戻される前に、そのリージョンから取り除かれる。この場合、更新の除去が行われる間に、下記の通り、システムは「P」リージョンと呼ばれるものを作成する。
最後に、正式なコピー(例えば戻るノードが利用不可能だった間に、リージョンへ書き込みがなかった場合)と戻るリージョンコピーが全く異ならないケースがある。このケースでは、上記のリージョンタイムスタンプの比較によって、メタデータマネージャリーダーは、戻るリージョンが完全に最新で、したがって、サービスに直ちに(バックアップ(B)リージョンとして)戻ることができることを決めることができる。リージョンタイムスタンプ比較は、MMリーダーが暫くの間見つからなかったかもしれない不正確に戻るリージョンコピーを検査することを可能にする1以上の失敗したマップを説明するのに十分に柔軟である。
ここでは、部分的、あるいは、「P」段階は、あるリージョンタイムスタンプの時点で最新の、そして現在のマップで最新でないあらゆるリージョンに当てはまるが、別のリージョンコピー上に格納された保留の更新を当てはめることにより最新にできる。システムは、リージョンコピーが失われたことを検知する場合、(I)リージョンが直ちに作られるので(前に述べたように)及びその(A)リージョンが受信する(リージョンコピーが失われたマップからの最後の更新で始まる)全ての更新をそれらの(I)リージョンが受信するので、(I)リージョンコピーは、(P)リージョンを最新にするために必要とされる保留の更新を正確に含んでいる。
したがって、この開示によれば、(P)リージョンは、先在する(A)か(B)リージョンから復元されているリージョンを表わす。(P)リージョンはそれぞれ、(I)リージョン((P)リージョンコピーを最新にさせるために必要とされる保留の更新を正確に含んでいる)に格納された保留の変更から更新される。(B)または(I)リージョンのように、(P)リージョンが作られるとすぐに、(A)リージョンは、すべての更新のためにバックアップリージョンとしてそれを扱う。(P)リージョン(それが作成されるとすぐに)は、バックアップ要求を受信し、pending_updateテーブル(あるいは他の便利な持続メカニズム中で)にそれらを格納する。(P)リージョンが更新し終えた場合、それは(B)リージョンに変換される。この変換に際して、(I)リージョンは撤去される。
最後の更新を削除する必要のある場合、Pリージョンは、それが他のリージョンコピー上で適用されなかった場合に適用された最後の更新を最初に取り消す。
図7は、第1の例のシナリオを説明する。ここで、(B)リージョン700は失われており、(A)リージョン702から更新(100,4)を一度も受信していない。この場合に、(I)リージョン704は作られる。(A)リージョン702からメタデータをコピーすることにより(I)リージョンは追加される(示されるように);(I)リージョン704は、また、(A)リージョン702へのどんなそれに続く更新も受信し始める。(B)リージョン700が戻る場合、それを含んでいた最後のマップにおいて最新だったため、それは(P)リージョン706に変換される。(P)リージョン706は、(I)リージョン704の保留の更新テーブルからその見つからない更新を追加する。(I)リージョン704が最新である前に、このプロセスが終わる場合、(P)リージョン706は、(B)リージョンへ昇格され、(I)リージョンが廃棄される。
図8は、第2の例を説明する。ここで、更新(100,4)(B)リージョン802を適用する前に、(A)リージョン800はダウンする。リージョン(A)がクラスタを残す場合、(B)リージョンは新しい(A)リージョンへ昇格される。新しい(I)リージョン804は、リージョン(A)から新しい更新を受信するために作られる。前の(A)リージョンが戻る場合、それは(P)リージョン806に変換される。上記の通り、(P)リージョン806は、リージョン(I)804の保留の更新テーブルからのその見つからない更新を追加する。(P)リージョンは、また、有効でない最後の更新を取り消す。リージョン(I)が最新である前に、このプロセスが終わる場合、リージョン(P)806は、(B)リージョンへ昇格され、(I)リージョンが落とされる。
したがって、図7は、どのように一例、(B)リージョンのリストアの次の損失中に、(P)リージョンコピー(Pリージョン)が作成され、次に、(B)リージョンへ昇格されるかを説明する。図8は、どのように一例、(A)リージョンのリストアの次の損失中に、(P)リージョンコピーが作成され、次に、(B)リージョンへ昇格されるかを説明する。
マップが存在するとそのマップが示す場合、(P)リージョンが作られ、既存のリージョンは、(P)リージョンに変換される。その場合に、リージョンも、それがその最後の更新を後退させる必要があり、どの(I)リージョンからコピーするかをマップ中で伝えられる。
クラスタが、既存の正式なリージョンからバックアップリージョンを移動又は作る必要がある場合、リフレッシュタスク(RefreshTaskと呼ばれる)が始められる。そのタスクの中心となるのは、ソース及びターゲットマシンの両方におけるコピーテーブルスクリプトの起動である。スクリプトはSQLに基づくデータベースと直接交信する。RefreshTaskは、(P)リージョンの機能性を実施する。その他のオペレーションの前に、(P)リージョンは、適用された最後の更新が他のリージョンコピー上で適用されなかった場合、それを最初に取り消さなければならない。これは、Undo Last Updateと呼ばれるサブタスクである。そのため、RefreshTaskは、更新又は(A)リージョンから同等の列のコピーによって影響されたかもしれないデータベーステーブル中のいかなる列のローカルコピーを削除する。単一の保留の更新中に複数の更新があるかもしれないので、このプロセスは、保留の更新中ですべての個々の更新を処理する。各更新については、タスクは、影響されるデータベーステーブルと影響を受けた列のSQL(構造化照会言語)WHERE句を決定する。このWHERE句は、次に、その更新用の影響を受けたテーブル中のいかなるローカルの列を最初に削除するのに使われ、(A)リージョンソース(copytableスクリプトを使用して)からのすべての同様の列をコピーする。Undo Last Updateによって修正される必要のあるメタデータのサブセットを選択するために、その句は、メタデータに述語を適用する。
その後、RefreshTaskは、Copy Pending Updatesと呼ばれるサブタスクを始める。これは、マップ中で指定される(I)リージョンからpending_updateテーブルをコピーする。このコピーは、正常なバックアップ要求から入って来るpending_updatesとの対立を避けるためにpending_updateテーブルではなくpending_update_copyテーブルをターゲットとする。コピーが完全な場合、RefreshTaskは、2つのpending_updateテーブルを統合させる。これは、pending_updatesをソートし、どんな重複も除外する。
その後、RefreshTaskは、Apply Pending Updatesと呼ばれるサブタスクを始める。具体的には、一旦pending_updateテーブルがフル実装されると、(P)リージョンは、好ましくは、2パスに、pendings_updatesを適用する。このプロセスの終わりに、リージョンのregion_timestampは通常更新される。
一旦、保留の更新が適用されると、RefreshTaskは、バックアップリージョンへConvertと呼ばれるサブタスクを行なう。ここで、(P)リージョンは、それ自体を(B)リージョンに変換する。
(P)リージョンが、(I)リージョンをリフレッシュするコストを下げるので、(I)リージョンは、(P)→(B)変換が完了するまで前進し続ける。これを遂行するために、マップは、変換が起こる場合にIリージョンを落すように指定する使い捨てとしてそれらをマークするフラグを含む。Aリージョンは、そのIリージョンにバックアップ更新を送るのをやめることを知る必要があるので、この変換は、Aリージョンによって統合される。(P)→(B)変換が起こる場合、(A)リージョンは、ロックを解除し、なんらかの使い捨てのIリージョン自体を除外するためにそれらのリージョンのそれぞれに1つの新しいメッセージを送りながら、発表されるリージョン用のローカルマップからそれらを撤去することによって、このメッセージに反応するために1つの新しいリスナーを持つ。(P)又は(I)リージョンRefreshTaskのいずれかのステップが機能しなくなる場合、そのリージョンは、再度使用されることができないようになる。
上記の通り、増分リフレッシュは、多数の利点をもたらす。主要な利点は、(I)リージョンの長く高価なリフレッシュを回避することである。具体的には、リージョンセンサス(マップ生成プロセスの一部としての)がMDPLコピーより少なく持っているリージョンを識別する場合、(I)リージョンは、新しいコピーとして作られる。この(I)リージョンは、リージョンの(A)コピーから完全なスキーマをコピーするためにRefreshTaskを起動する。このRefreshTaskは、データをコピーし、インデックスの作成を含むいくつかの高価なステップを持っている。ここに記述される技術の使用によって、失われたデータベースの部分に生じる更新だけが適用され、このオペレーションは、はるかに少ない時間を要し、冗長性を通じてその部分を再構築するよりはるかに少数のシステムリソースを消費する。修復する時間の短縮は、また、クラスタがMDPL及びピーク性能以下である時間を短縮する。
ここに記述されるようなアーカイブ管理ソリューションは、デジタル資産のキャプチャー、保存、管理及び検索を可能にする。設計は、多数の必要条件のアドレスを指定する:既存のアプリケーションを備えた統合の無制限のストレージ、高い信頼度、自主管理と各種規格との適合、ハードウェア・インディペンデンス及び軽減。
Linux(例えば)を実行するコモディティハードウェアのクラスタは、ロバストプラットフォーム及びこと実上無制限のアーカイブを提供する。システムは、計ることができる、例えば、少数のストレージノードサーバから何千ものテラバイトデータを格納する多くのノードまで 。アーキテクチャは、ストレージ容量が、組織の増加するアーカイブ要求と歩調を常に合わせることができることを保証する。
システムは、ファイルを決して失わないことを指定される。アーカイブがデバイス障害から常に保護されるように、それは、クラスタにわたってデータを複製する。ディスク又はノードが機能しなくなると、クラスタは、同じデータの複製を維持するクラスタ中の他のノードにわたって自動的に機能しなくなる。
システムは、自律的処理を通じてアーカイブストレージのコストを下げる。例えば、ノードがクラスタ化されたアーカイブを連結するか離れる場合、システムは自動的にクラスタのロードバランスを調節し、メンバーノードにわたってファイルを再分散することによりパフォーマンスを最適化する。
システムは、ユーザ定義の保存政策への従順を促進する。
システムは、オープンプラットフォーム上で展開することによりハードウェア依存を排除する。コモディティプラットフォーム及び所有者の記憶デバイス間のコストギャップが大きくなると、ITバイヤは、もはや高いコストの電気器具ベンダーとの関係にはまりたくない。所与のノードがコモディティハードウェア及びオープンソース(例えばLinux)オペレーティングシステムソフトウェア上で典型的に動作するので、好ましくは、バイヤは、最良のソリューションのために多くのハードウェア選択肢の中で買い物をすることができる。
システムは、また、ファイルを格納し検索するNFS、HTTP、FTP及びCIFSのような業界基準インターフェースを提供する。これは、システムが、カスタマイズされたアーカイブアプリケーションと同様に、ほとんどの標準コンテンツ管理システム、検索システム、ストレージ管理ツール(HSMとバックアップシステムのような)に容易に接続することができることを保証する。
上記のものは、ある実施例によって行なわれたオペレーションの特定な順序について記述しているが、代替実施例が異なる順にオペレーションを行い、あるオペレーションを組み合わせ、あるオペレーションをオーバーラップさせる等を理由にそのような順序が例となるということを承知してほしい。所与の実施例へのスペック中の参照は、記述される実施例が特別な特徴、構造あるいは特性を含むかもしれないことを示し、しかし、すべての実施例が必ずしも特別な特徴、構造あるいは特性を含むとは限らないかもしれない。
公開された技術は、方法又はプロセスのコンテキストに述べられているが、ここでの内容は、また、ここでのオペレーションを行なうための装置に関係がある。 この装置は、所要の目的のために特に構築されてもよい、もしくは、それは、コンピュータに格納されたコンピュータプログラムによって選択的に活性化されるか再構成される汎用計算機から成ってもよい。そのようなコンピュータプログラムは、例えば、光ディスクを含む任意のタイプのディスク、CD−ROM及び光磁気ディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気又は、光カード、あるいは電子マニュアルを格納するのにふさわしい任意のタイプの媒体、そしてそれぞれがコンピュータシステムバスに接続されているだがこれに限らないは、コンピュータ読取り可能な記憶媒体に格納されてもよい。
システムの所与のコンポーネントは、別々に説明されているが、通常のスキルのうちの1つは、所与の指示、プログラムシーケンス、コード部分などにおいて機能のうちのいくつかが組み合わせられる又は共有されるかもしれないことを認識する。
「固定コンテンツ」のためのアーカイブのコンテキストで本発明を述べたが、これもまた限定ではない。本明細書に述べた技術は、コンテンツに対する付加タイプ及び置換タイプの修正を可能にするストレージシステムにも等しく適用することができる。
本発明について述べてきたが、次に以下のとおり特許請求する。

Claims (27)

  1. (A)1以上のメタデータを含んだ単位であるリージョンの正式なコピー前記リージョンのバックアップコピーであり保護レベルと同数のバックアップコピーとで構成され複数のノードに格納されている複数のリージョンコピーのうちの前記正式なコピー又は前記バックアップコピーの損失が検出された場合、前記リージョンの不完全なコピーを生成し、
    (B)ソースコピーから、前記不完全なコピーに、メタデータをコピーし、
    (C)前記不完全なコピーから、前記ソースコピーからコピーされたメタデータのうち、保留の更新でありターゲットコピーに無いメタデータを、前記ターゲットコピーにコピーし、
    (D)(B)の完了前に、前記ターゲットコピーの内容が前記ソースコピーの内容と同じになった場合、前記ターゲットコピーを、前記リージョンのバックアップコピーとし、
    (E)(C)の完了前に、前記不完全なコピーの内容が前記ソースコピーの内容と同じになった場合、前記不完全なコピーをバックアップコピーとする
    ことをコンピュータに実行させ、
    前記損失が、いずれかのバックアップコピーの消失の場合、前記ソースコピーは、前記正式なコピーであり、前記ターゲットコピーは、前記消失の後に復元したバックアップコピーである、
    ことを特徴とするコンピュータプログラム。
  2. 前記消失の後に復元したバックアップコピーを、(B)の完了まで、部分的なコピーとし、
    (D)において、前記部分的なコピーを、前記リージョンのバックアップコピーとし、且つ、前記不完全なコピーを削除する、
    ことをコンピュータに実行させることを特徴とする請求項1記載のコンピュータプログラム。
  3. 前記損失が、前記正式なコピーのダウンの場合、(A)の実行前に、前記1以上のバックアップコピーのうちのいずれかのバックアップコピーを、前記リージョンの正式なコピーに昇格する、
    ことを更にコンピュータに実行させ、
    前記損失が、前記正式なコピーのダウンの場合、前記ソースコピーは、前記昇格された正式なコピーであり、前記ターゲットコピーは、前記ダウンした正式なコピーである、
    ことを特徴とする請求項1又は2記載のコンピュータプログラム。
  4. 前記損失が、前記正式なコピーのダウンの場合、前記ダウンした正式なコピーを部分的なコピーとする、
    ことを更にコンピュータに実行させ、
    前記損失が、前記正式なコピーのダウンの場合、前記ターゲットコピーは、前記部分的なコピーであり、
    (D)において、前記部分的なコピーを、前記リージョンのバックアップコピーとし、且つ、前記不完全なコピーを削除する、
    ことを特徴とする請求項3記載のコンピュータプログラム。
  5. 前記複数のノードにわたる前記正式なコピー、前記バックアップコピー及び前記不完全なコピーの位置を特定するリージョンマップを提供する、
    ことをコンピュータに実行させることを特徴とする請求項1乃至4のうちのいずれか1項に記載のコンピュータプログラム。
  6. (A)1以上のメタデータを含んだ単位であるリージョンの正式なコピーと前記リージョンのバックアップコピーであり保護レベルと同数のバックアップコピーとで構成され複数のノードに格納されている複数のリージョンコピーのうちの前記正式なコピー又は前記バックアップコピーの損失が検出された場合、前記リージョンの不完全なコピーを生成し、
    (B)ソースコピーから、前記不完全なコピーに、メタデータをコピーし、
    (C)前記不完全なコピーから、前記ソースコピーからコピーされたメタデータのうち、保留の更新でありターゲットコピーに無いメタデータを、前記ターゲットコピーにコピーし、
    (D)(B)の完了前に、前記ターゲットコピーの内容が前記ソースコピーの内容と同じになった場合、前記ターゲットコピーを、前記リージョンのバックアップコピーとし、
    (E)(C)の完了前に、前記不完全なコピーの内容が前記ソースコピーの内容と同じになった場合、前記不完全なコピーをバックアップコピーとする、
    ことをコンピュータに実行させ、
    前記損失が、前記正式なコピーのダウンの場合、前記ソースコピーは、いずれかのバックアップコピーから昇格された正式なコピーであり、前記ターゲットコピーは、前記ダウンした正式なコピーである、
    ことを特徴とするコンピュータプログラム。
  7. 前記損失が、前記正式なコピーのダウンの場合、(A)の実行前に、前記1以上のバックアップコピーのうちのいずれかのバックアップコピーを、前記リージョンの正式なコピーに昇格する、
    ことを更にコンピュータに実行させ、
    前記損失が、前記正式なコピーのダウンの場合、前記ソースコピーは、前記昇格された正式なコピーである、
    ことを特徴とする請求項6記載のコンピュータプログラム。
  8. 前記損失が、前記正式なコピーのダウンの場合、前記ダウンした正式なコピーを部分的なコピーとする、
    ことを更にコンピュータに実行させ、
    前記損失が、前記正式なコピーのダウンの場合、前記ターゲットコピーは、前記部分的なコピーであり、
    (D)において、前記部分的なコピーを、前記リージョンのバックアップコピーとし、且つ、前記不完全なコピーを削除する、
    ことを特徴とする請求項7記載のコンピュータプログラム。
  9. 前記複数のノードにわたる前記正式なコピー、前記バックアップコピー及び前記不完全なコピーの位置を特定するリージョンマップを提供する、
    ことをコンピュータに実行させることを特徴とする請求項6乃至8のうちのいずれか1項に記載のコンピュータプログラム
  10. 1以上のメタデータオブジェクトを含んだ単位であるリージョンの正式なコピーと前記リージョンのバックアップコピーであり保護レベルと同数のバックアップコピーとで構成された複数のリージョンコピーを格納する複数のノードを含んだシステムであって、
    前記複数のリージョンコピーのうちの前記正式なコピー又は前記バックアップコピーの損失が検出された場合、前記リージョンの不完全なコピーを生成する生成手段と、
    ソースコピーから、前記不完全なコピーに、メタデータをコピーする第1処理を実行する第1実行手段と、
    前記不完全なコピーから、前記ソースコピーからコピーされたメタデータのうち、保留の更新であり前記ターゲットコピーに無いメタデータを、ターゲットコピーにコピーする第2処理を実行する第2実行手段と、
    前記第1処理の完了前に、前記ターゲットコピーの内容が前記ソースコピーの内容と同じになった場合、前記ターゲットコピーを、前記リージョンのバックアップコピーとする第1変更手段と、
    前記第2処理の完了前に、前記不完全なコピーの内容が前記ソースコピーの内容と同じになった場合、前記不完全なコピーをバックアップコピーとする第2変更手段と
    を備え、
    前記損失が、いずれかのバックアップコピーの消失の場合、前記ソースコピーは、前記正式なコピーであり、前記ターゲットコピーは、前記消失の後に復元したバックアップコピーである、
    ことを特徴とするシステム。
  11. 前記消失の後に復元したバックアップコピーを、前記第1処理の完了まで、部分的なコピーとし、
    前記第1変更手段は、前記部分的なコピーを、前記リージョンのバックアップコピーとし、且つ、前記不完全なコピーを削除する、
    ことを特徴とする請求項10記載のシステム。
  12. 前記損失が、前記正式なコピーのダウンの場合、前記不完全なコピーの生成前に、前記1以上のバックアップコピーのうちのいずれかのバックアップコピーを、前記リージョンの正式なコピーに昇格する手段
    を更に備え、
    前記損失が、前記正式なコピーのダウンの場合、前記ソースコピーは、前記昇格された正式なコピーであり、前記ターゲットコピーは、前記ダウンした正式なコピーである、
    ことを特徴とする請求項10又は11記載のシステム。
  13. 前記損失が、前記正式なコピーのダウンの場合、前記ダウンした正式なコピーを部分的なコピーとする手段
    を更に備え、
    前記損失が、前記正式なコピーのダウンの場合、前記ターゲットコピーは、前記部分的なコピーであり、
    前記第1変更手段は、前記部分的なコピーを、前記リージョンのバックアップコピーとし、且つ、前記不完全なコピーを削除する、
    ことを特徴とする請求項12記載のシステム。
  14. 前記正式なコピー、前記バックアップコピー及び前記不完全なコピーの位置を特定するリージョンマップが、前記複数のノードの各々に格納される、
    ことを特徴とする請求項10乃至13のうちのいずれか1項に記載のシステム。
  15. 1以上のメタデータオブジェクトを含んだ単位であるリージョンの正式なコピーと前記リージョンのバックアップコピーであり保護レベルと同数のバックアップコピーとで構成された複数のリージョンコピーを格納する複数のノードを含んだシステムであって、
    前記複数のリージョンコピーのうちの前記正式なコピー又は前記バックアップコピーの損失が検出された場合、前記リージョンの不完全なコピーを生成する生成手段と、
    ソースコピーから、前記不完全なコピーに、メタデータをコピーする第1処理を実行する第1実行手段と、
    前記不完全なコピーから、前記ソースコピーからコピーされたメタデータのうち、保留の更新であり前記ターゲットコピーに無いメタデータを、ターゲットコピーにコピーする第2処理を実行する第2実行手段と、
    前記第1処理の完了前に、前記ターゲットコピーの内容が前記ソースコピーの内容と同じになった場合、前記ターゲットコピーを、前記リージョンのバックアップコピーとする第1変更手段と、
    前記第2処理の完了前に、前記不完全なコピーの内容が前記ソースコピーの内容と同じになった場合、前記不完全なコピーをバックアップコピーとする第2変更手段と
    を備え、
    前記損失が、前記正式なコピーのダウンの場合、前記ソースコピーは、いずれかのバックアップコピーから昇格された正式なコピーであり、前記ターゲットコピーは、前記ダウンした正式なコピーである、
    ことを特徴とするシステム。
  16. 前記損失が、前記正式なコピーのダウンの場合、前記不完全なコピーの生成前に、前記1以上のバックアップコピーのうちのいずれかのバックアップコピーを、前記リージョンの正式なコピーに昇格する手段
    を更に備え、
    前記損失が、前記正式なコピーのダウンの場合、前記ソースコピーは、前記昇格された正式なコピーである、
    ことを特徴とする請求項15記載のシステム。
  17. 前記損失が、前記正式なコピーのダウンの場合、前記ダウンした正式なコピーを部分的なコピーとする手段
    を更に備え、
    前記損失が、前記正式なコピーのダウンの場合、前記ターゲットコピーは、前記部分的なコピーであり、
    前記第1変更手段は、前記部分的なコピーを、前記リージョンのバックアップコピーとし、且つ、前記不完全なコピーを削除する、
    ことを特徴とする請求項16記載のシステム。
  18. 前記正式なコピー、前記バックアップコピー及び前記不完全なコピーの位置を特定するリージョンマップが、前記複数のノードの各々に格納される、
    ことを特徴とする請求項15乃至17のうちのいずれか1項に記載のシステム。
  19. 1以上のメタデータオブジェクトを含んだ単位であるリージョンの正式なコピーと前記リージョンのバックアップコピーであり保護レベルと同数のバックアップコピーとで構成された複数のリージョンコピーを格納する複数のノードを含んだシステムの制御方法であって、
    (A)複数のリージョンコピーのうちの前記正式なコピー又は前記バックアップコピーの損失が検出された場合、前記リージョンの不完全なコピーを生成し、
    (B)ソースコピーから、前記不完全なコピーに、メタデータをコピーし、
    (C)前記不完全なコピーから、前記ソースコピーからコピーされたメタデータのうち、保留の更新であり前記ターゲットコピーに無いメタデータを、ターゲットコピーにコピーし、
    (D)(B)の完了前に、前記ターゲットコピーの内容が前記ソースコピーの内容と同じになった場合、前記ターゲットコピーを、前記リージョンのバックアップコピーとし、
    (E)(C)の完了前に、前記不完全なコピーの内容が前記ソースコピーの内容と同じになった場合、前記不完全なコピーをバックアップコピーとし、
    前記損失が、いずれかのバックアップコピーの消失の場合、前記ソースコピーは、前記正式なコピーであり、前記ターゲットコピーは、前記消失の後に復元したバックアップコピーである、
    ことを特徴とする制御方法
  20. 前記消失の後に復元したバックアップコピーを、(B)の完了まで、部分的なコピーとし、
    (D)において、前記部分的なコピーを、前記リージョンのバックアップコピーとし、且つ、前記不完全なコピーを削除する、
    ことを特徴とする請求項19記載の制御方法。
  21. 前記損失が、前記正式なコピーのダウンの場合、(A)の実行前に、前記1以上のバックアップコピーのうちのいずれかのバックアップコピーを、前記リージョンの正式なコピーに昇格する、
    ことを更に実行し、
    前記損失が、前記正式なコピーのダウンの場合、前記ソースコピーは、前記昇格された正式なコピーであり、前記ターゲットコピーは、前記ダウンした正式なコピーである、
    ことを特徴とする請求項19又は20記載の制御方法。
  22. 前記損失が、前記正式なコピーのダウンの場合、前記ダウンした正式なコピーを部分的なコピーとする、
    ことを更に実行し、
    前記損失が、前記正式なコピーのダウンの場合、前記ターゲットコピーは、前記部分的なコピーであり、
    (D)において、前記部分的なコピーを、前記リージョンのバックアップコピーとし、且つ、前記不完全なコピーを削除する、
    ことを特徴とする請求項21記載の制御方法。
  23. 前記複数のノードにわたる前記正式なコピー、前記バックアップコピー及び前記不完全なコピーの位置を特定するリージョンマップを提供する、
    ことを特徴とする請求項19乃至22のうちのいずれか1項に記載の制御方法。
  24. 1以上のメタデータオブジェクトを含んだ単位であるリージョンの正式なコピーと前記リージョンのバックアップコピーであり保護レベルと同数のバックアップコピーとで構成された複数のリージョンコピーを格納する複数のノードを含んだシステムの制御方法であって、
    (A)複数のリージョンコピーのうちの前記正式なコピー又は前記バックアップコピーの損失が検出された場合、前記リージョンの不完全なコピーを生成し、
    (B)ソースコピーから、前記不完全なコピーに、メタデータをコピーし、
    (C)前記不完全なコピーから、前記ソースコピーからコピーされたメタデータのうち、保留の更新であり前記ターゲットコピーに無いメタデータを、ターゲットコピーにコピーし、
    (D)(B)の完了前に、前記ターゲットコピーの内容が前記ソースコピーの内容と同じになった場合、前記ターゲットコピーを、前記リージョンのバックアップコピーとし、
    (E)(C)の完了前に、前記不完全なコピーの内容が前記ソースコピーの内容と同じになった場合、前記不完全なコピーをバックアップコピーとし、
    前記損失が、前記正式なコピーのダウンの場合、前記ソースコピーは、いずれかのバックアップコピーから昇格された正式なコピーであり、前記ターゲットコピーは、前記ダウンした正式なコピーである、
    ことを特徴とする制御方法
  25. 前記損失が、前記正式なコピーのダウンの場合、(A)の実行前に、前記1以上のバックアップコピーのうちのいずれかのバックアップコピーを、前記リージョンの正式なコピーに昇格する、
    ことを更に実行し、
    前記損失が、前記正式なコピーのダウンの場合、前記ソースコピーは、前記昇格された正式なコピーである、
    ことを特徴とする請求項24記載の制御方法。
  26. 前記損失が、前記正式なコピーのダウンの場合、前記ダウンした正式なコピーを部分的なコピーとする、
    ことを更に実行し、
    前記損失が、前記正式なコピーのダウンの場合、前記ターゲットコピーは、前記部分的なコピーであり、
    (D)において、前記部分的なコピーを、前記リージョンのバックアップコピーとし、且つ、前記不完全なコピーを削除する、
    ことを特徴とする請求項25記載の制御方法。
  27. 前記複数のノードにわたる前記正式なコピー、前記バックアップコピー及び前記不完全なコピーの位置を特定するリージョンマップを提供する、
    ことを特徴とする請求項24乃至26のうちのいずれか1項に記載の制御方法。
JP2013530183A 2010-09-24 2011-09-13 分散型データベースにおいてインテグリティを管理するためのシステム及び方法 Active JP5918243B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/889,744 2010-09-24
US12/889,744 US8600944B2 (en) 2010-09-24 2010-09-24 System and method for managing integrity in a distributed database
PCT/US2011/051313 WO2012039988A2 (en) 2010-09-24 2011-09-13 System and method for managing integrity in a distributed database

Publications (3)

Publication Number Publication Date
JP2013544386A JP2013544386A (ja) 2013-12-12
JP2013544386A5 JP2013544386A5 (ja) 2014-10-30
JP5918243B2 true JP5918243B2 (ja) 2016-05-18

Family

ID=45871660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013530183A Active JP5918243B2 (ja) 2010-09-24 2011-09-13 分散型データベースにおいてインテグリティを管理するためのシステム及び方法

Country Status (5)

Country Link
US (1) US8600944B2 (ja)
EP (1) EP2619695B1 (ja)
JP (1) JP5918243B2 (ja)
CN (1) CN103119590B (ja)
WO (1) WO2012039988A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7019282B2 (ja) 2014-10-31 2022-02-15 ヴィンタートゥール ガス アンド ディーゼル アーゲー 往復ピストン内燃機関のための監視システムを有するガス供給システム及びシリンダ、往復ピストン内燃機関、並びに往復ピストン内燃機関を動作させる方法

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2004286660B2 (en) * 2003-10-27 2011-06-16 Hitachi Vantara, LLC Policy-based management of a redundant array of independent nodes
US10198494B2 (en) 2006-05-18 2019-02-05 Allotz.Com Limited Control of distributed databases
US8849750B2 (en) * 2010-10-13 2014-09-30 International Business Machines Corporation Synchronization for initialization of a remote mirror storage facility
US8484163B1 (en) * 2010-12-16 2013-07-09 Netapp, Inc. Cluster configuration backup and recovery
US10176184B2 (en) * 2012-01-17 2019-01-08 Oracle International Corporation System and method for supporting persistent store versioning and integrity in a distributed data grid
US9798639B2 (en) * 2013-06-13 2017-10-24 Tsx Inc. Failover system and method replicating client message to backup server from primary server
CN104754008B (zh) 2013-12-26 2019-03-08 伊姆西公司 网络存储节点、网络存储***以及用于网络存储节点的装置和方法
US9213485B1 (en) 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US8850108B1 (en) * 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US9141659B1 (en) * 2014-09-25 2015-09-22 State Farm Mutual Automobile Insurance Company Systems and methods for scrubbing confidential insurance account data
CN105518659B (zh) * 2014-10-28 2019-07-26 华为技术有限公司 分布式数据库的数据分区分配方法及装置
US10657004B1 (en) 2015-03-23 2020-05-19 Amazon Technologies, Inc. Single-tenant recovery with a multi-tenant archive
US10747753B2 (en) 2015-08-28 2020-08-18 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US9529923B1 (en) 2015-08-28 2016-12-27 Swirlds, Inc. Methods and apparatus for a distributed database within a network
WO2017040313A1 (en) * 2015-08-28 2017-03-09 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US9390154B1 (en) 2015-08-28 2016-07-12 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US9646029B1 (en) 2016-06-02 2017-05-09 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
CN106339278A (zh) * 2016-08-24 2017-01-18 浪潮电子信息产业股份有限公司 一种网络文件***的数据备份及恢复方法
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
EP3539026B1 (en) 2016-11-10 2021-12-08 Swirlds, Inc. Methods and apparatus for a distributed database including anonymous entries
RU2754189C2 (ru) 2016-12-19 2021-08-30 Свирлдз, Инк. Способы и устройство для распределенной базы данных, которая позволяет удалять события
KR102208336B1 (ko) 2017-07-11 2021-01-27 스월즈, 인크. 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치
CN107562883B (zh) * 2017-09-04 2018-10-26 马上消费金融股份有限公司 一种数据同步的方法及***
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
SG10202107812YA (en) 2017-11-01 2021-09-29 Swirlds Inc Methods and apparatus for efficiently implementing a fast-copyable database
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US11593496B2 (en) * 2018-04-23 2023-02-28 EMC IP Holding Company LLC Decentralized data protection system for multi-cloud computing environment
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
CN109088913B (zh) * 2018-06-29 2021-05-11 华为技术有限公司 请求数据的方法和负载均衡服务器
CN109063135B (zh) * 2018-08-03 2021-08-06 中国人民银行清算总中心 一种基于多活分布式架构的数据库复制方法及***
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US11467920B2 (en) * 2018-10-25 2022-10-11 EMC IP Holding Company LLC Methods and systems to index file data of virtual machine (VM) image
SG11202109729SA (en) 2019-05-22 2021-10-28 Swirlds Inc Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
CN111581221B (zh) * 2020-03-18 2023-09-26 宁波送变电建设有限公司永耀科技分公司 一种分布式多站融合***信息冗余存储与重构的方法
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
CN112527767B (zh) * 2020-12-03 2024-05-10 许继集团有限公司 一种分布式数据库重启后多region表完整修复的方法及***
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
CN114504828B (zh) * 2022-02-08 2023-04-28 北京趣玩天橙科技有限公司 一种数据回滚实现内存一致性的方法及***
US11880803B1 (en) * 2022-12-19 2024-01-23 Tbk Bank, Ssb System and method for data mapping and transformation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290687A (ja) * 2000-04-04 2001-10-19 Nec Eng Ltd データ同期化制御方式
US7103796B1 (en) * 2002-09-03 2006-09-05 Veritas Operating Corporation Parallel data change tracking for maintaining mirrored data consistency
AU2004286660B2 (en) * 2003-10-27 2011-06-16 Hitachi Vantara, LLC Policy-based management of a redundant array of independent nodes
JP4313650B2 (ja) * 2003-11-07 2009-08-12 株式会社日立製作所 ファイルサーバ、冗長度回復方法、プログラム及び記録媒体
US7657581B2 (en) * 2004-07-29 2010-02-02 Archivas, Inc. Metadata management for fixed content distributed data storage
US8229893B2 (en) * 2010-02-01 2012-07-24 Hitachi Data Systems Corporation Metadata management for fixed content distributed data storage
JP4575088B2 (ja) * 2004-08-31 2010-11-04 三菱電機株式会社 情報処理システム及び情報処理方法及び情報処理プログラム
US7549028B2 (en) * 2005-06-29 2009-06-16 Emc Corporation Backup and restore operations using a single snapshot driven by a server job request
US7627714B2 (en) * 2006-08-22 2009-12-01 International Business Machines Corporation Apparatus, system, and method for preventing write starvation in a partitioned cache of a storage controller
CN100547555C (zh) * 2007-12-10 2009-10-07 华中科技大学 一种基于指纹的数据备份***
CN101546249A (zh) * 2008-03-26 2009-09-30 中兴通讯股份有限公司 磁盘阵列在线容量扩展方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7019282B2 (ja) 2014-10-31 2022-02-15 ヴィンタートゥール ガス アンド ディーゼル アーゲー 往復ピストン内燃機関のための監視システムを有するガス供給システム及びシリンダ、往復ピストン内燃機関、並びに往復ピストン内燃機関を動作させる方法

Also Published As

Publication number Publication date
CN103119590A (zh) 2013-05-22
EP2619695B1 (en) 2018-07-18
EP2619695A2 (en) 2013-07-31
WO2012039988A2 (en) 2012-03-29
JP2013544386A (ja) 2013-12-12
CN103119590B (zh) 2016-08-17
EP2619695A4 (en) 2017-07-19
US20120078847A1 (en) 2012-03-29
US8600944B2 (en) 2013-12-03
WO2012039988A3 (en) 2012-05-18

Similar Documents

Publication Publication Date Title
JP5918243B2 (ja) 分散型データベースにおいてインテグリティを管理するためのシステム及び方法
US9904605B2 (en) System and method for enhancing availability of a distributed object storage system during a partial database outage
JP2013544386A5 (ja)
JP5918244B2 (ja) フォールトトレラントデータベース管理システムにおいてクエリ結果を統合するシステム及び方法
JP5254611B2 (ja) 固定内容分散データ記憶のためのメタデータ管理
US10489412B2 (en) Highly available search index with storage node addition and removal
US8935211B2 (en) Metadata management for fixed content distributed data storage
US9575975B2 (en) Cluster-wide unique ID for object access control lists
JP2013545162A5 (ja)
US8812445B2 (en) System and method for managing scalability in a distributed database
WO2012039991A2 (en) System and method for transparent recovery of damaged or unavailable objects in a replicated object storage system
AU2011265370B2 (en) Metadata management for fixed content distributed data storage

Legal Events

Date Code Title Description
A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20140911

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150714

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151013

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151119

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: 20160405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160407

R150 Certificate of patent or registration of utility model

Ref document number: 5918243

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250