JP5479490B2 - 複製ストレージクラスタのための非同期式分散ガーベッジコレクション - Google Patents
複製ストレージクラスタのための非同期式分散ガーベッジコレクション Download PDFInfo
- Publication number
- JP5479490B2 JP5479490B2 JP2011542575A JP2011542575A JP5479490B2 JP 5479490 B2 JP5479490 B2 JP 5479490B2 JP 2011542575 A JP2011542575 A JP 2011542575A JP 2011542575 A JP2011542575 A JP 2011542575A JP 5479490 B2 JP5479490 B2 JP 5479490B2
- Authority
- JP
- Japan
- Prior art keywords
- negotiation
- negotiation message
- delete
- message
- storage cluster
- 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
Links
- 238000000034 method Methods 0.000 claims description 50
- 230000010076 replication Effects 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 35
- 238000012217 deletion Methods 0.000 claims description 29
- 230000037430 deletion Effects 0.000 claims description 29
- 230000003362 replicative effect Effects 0.000 claims description 7
- 238000012790 confirmation Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 3
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 39
- 230000008569 process Effects 0.000 description 21
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 20
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 20
- 239000003999 initiator Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
- G06F16/1844—Management specifically adapted to replicated file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0269—Incremental or concurrent garbage collection, e.g. in real-time systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Description
企業コンピューティングの景観は、ストレージ構造において、中央サービス構造が分散ストレージクラスタに取って代わられるという抜本的な転換期にある。企業が記憶効率を高める方法を求めるにつれ、汎用のコンピュータで作られたそのようなクラスタは、一体型のディスクアレイに比べて僅かなコストで高い能力、可用性、新しいデータ集約型アプリケーションに対する拡張性を実現し得る。ストレージクラスタの潜在能力を全て解き放つため、データは、可用性を高め、クライアントからのネットワーク距離を短くする複数の地理的な場所に亘って複製される。
ある実施例によると、方法は、分散型データ複製システムにおける複数の装置のうちの装置によって実行され得る。方法は、分散型データ複製システムを用いて少なくとも1つ以上が複製されるオブジェクトを、データストアに記憶するステップと、データストア内のオブジェクトのスキャンを実行するステップと、オブジェクトのうちの1つを、オブジェクトを指し示す参照を有さないものとして特定するステップと、1つのオブジェクトに関連付けられたメタデータとして、削除ネゴシエーションメッセージを記憶するステップと、複数の装置のうちの1つ以上の別の装置に、削除ネゴシエーションメッセージを有するメタデータを複製するステップとを含み得る。
この明細書に組入れられ明細書の一部を形成する添付の図面は、ここで説明される1つ以上の実施例を記載し、記述とともに、これらの実施例を説明する。
以下の詳細な説明は添付の図面を参照する。異なる図面における同じ参照番号は同じまたは同様の要素を特定し得る。また、以下の詳細な説明は発明を限定しない。
図1は、ここで説明されるシステムおよび方法が実現され得る例示のシステム100の図である。システム100は、クライアント110−1からクライアント110−N(まとめてクライアント110と呼ばれる)およびネットワーク130を介して接続された、ストレージクラスタ120−1から120−M(まとめてストレージクラスタ120と呼ばれる)を含み得る。ストレージクラスタ120は、ファイルシステム140(図1において破線で示される)を形成し得る。
図2は、ファイルシステムの例示の構造の図である。図2において示されるように、ファイルシステム140は、ストレージクラスタ120−1,120−2,120−3,および120−4を含み得る。ある実施例において、ファイルシステム140は、各々のストレージクラスタ120−1,120−2,120−3,および120−4が別のストレージクラスタに対してマスタサーバとして振る舞い得る分散型マルチマスタデータ複製システムであり得る。ファイルシステム140において、データの可用性を高め、かつ、クライアント(たとえばクライアント110)からのネットワーク距離を短くするために、(たとえば複数の地理的位置における)ストレージクラスタ120−1,120−2,120−3,および120−4に亘ってデータが複製され得る。一般的に、分散されたオブジェクトおよび参照は、異なるストレージクラスタ120において動的に作成、変形、複製および削除され得、最終的には全てのストレージクラスタ120が同じバージョンのデータに行き着くことを確実にするために下層データ複製層(図示せず)が書込指令の忠実性を維持する。したがって、データ複製層が、単一のオブジェクトに対する同じレプリカへの書込の指令を遵守する。
図5は、例示の実施例において用いられ得るネゴシエーションメッセージに対する例示のメッセージ構造500の図を与える。図5に示されるように、メッセージ構造500は、メッセージ部510、ストレージクラスタ識別部520、およびネゴシエーション要求識別部530を含み得る。メッセージ部510は、たとえば、「Delete」インジケータ、「ACK」インジケータ、「NACK」インジケータ、または「GotAll」インジケータを含み得る。ストレージクラスタ識別部520は、メッセージ部510内のメッセージを起動するストレージクラスタ120に対する固有の識別情報(たとえばクラスタID)を含み得る。ネゴシエーション要求識別部530は、オリジナルの削除ネゴシエーションに対する固有の識別情報(たとえばReqID)を含み得る。
図6は、分散型マルチマスタデータ複製システム(たとえばファイルシステム140)においてガーベッジコレクションを実行するための例示のプロセス600のフローチャートである。ある実施例において、プロセス600は、ストレージクラスタ120のうちの1つによって実行される。別の実施例において、プロセス600のうちのいくつかまたは全ては、ストレージクラスタ120を含みあるいは除く別の装置または装置の組によって実行され得る。プロセス600は各ストレージクラスタ120において周期的に実現され得、かつ、ストレージクラスタ120内のオブジェクトの全てあるいは一部のスキャンを含み得る。以下に説明するプロセス600の特定の例において、ファイルシステム140のストレージクラスタ120−1に対して参照が作成され得る。ここで、ストレージクラスタ120−1は、「01」のクラスタIDを含む。
図9は、ここで説明される実施例に従う例示の削除ネゴシエーションの一部を実行する例示のネットワークを提供する。ガーベッジコレクションアルゴリズムは各々のストレージクラスタXX,YYおよびZZにおいて周期的に実行し、ストレージクラスタ内の全てのオブジェクトをスキャンし得る。メッセージ(たとえばDelete、ACK、NACK、GotAll)は、1つのクラスタ(たとえばストレージクラスタYY)内のオブジェクトのメタデータに対してガーベッジコレクタによって書き込まれ、かつ、オブジェクトのレプリカを含む全ての別のクラスタ(たとえばストレージクラスタXXおよびZZ)に対して複製され得る。
ここで説明されたシステムおよび/または方法は、複製ストレージクラスタに対して、可用性、ライブネスおよび一貫性保証を与える非同期式分散ガーベッジコレクションアルゴリズムを提供し得る。アルゴリズムは、異なるクラスタ間でメッセージを移送するために下層の複製層を用いる。各削除ネゴシエーションはクラスタのうちの1つにおけるガーベッジコレクタロジックによって起動され、固有の識別子を有する。アルゴリズムは、複数の同時ネゴシエーションをサポートする。オブジェクトは、分散型コンセンサスが合意したときにイニシエータによって削除され得、そうでなければネゴシエーションは無効であり得る。
Claims (24)
- 分散型マルチマスタデータ複製システムにおける複数の装置のうちの装置によって実行される方法であって、
データストアにオブジェクトを記憶するステップを備え、少なくとも1つ以上のオブジェクトは、前記分散型マルチマスタデータ複製システム内で複製され、
前記データストア内の前記オブジェクトのスキャンを実行するステップと、
前記データストアにおけるオブジェクトのスキャンに基づいて、前記オブジェクトのうちの1つを、前記オブジェクトのうちの1つを指し示す参照を有さないものとして特定するステップと、
前記オブジェクトのうちの1つについて、固有のネゴシエーション要求識別子を含む削除ネゴシエーションメッセージを生成するステップと、
前記オブジェクトのうちの1つに関連付けられたメタデータとして、前記削除ネゴシエーションメッセージを記憶するステップと、
前記複数の装置のうちの1つ以上の別の装置に、前記削除ネゴシエーションメッセージを有する前記メタデータを、前記オブジェクトのうちの1つに関連付けて複製するステップとを備え、前記削除ネゴシエーションメッセージは、前記オブジェクトのうちの1つの削除ネゴシエーションについてのコンセンサスを与えるために、別の削除ネゴシエーションメッセージに付与される、方法。 - 前記分散型マルチマスタデータ複製システムの下層複製層を用いて、前記削除ネゴシエーションメッセージを有する前記メタデータが、前記オブジェクトのうちの1つに関連付けられて複製される、請求項1に記載の方法。
- 前記別の1つのオブジェクトに関連付けられたメタデータにおいて別の削除ネゴシエーションメッセージを有するものとして、前記オブジェクトの別の1つを特定するステップをさらに備える、請求項1に記載の方法。
- 前記別の1つの前記オブジェクトに関連付けられたメタデータとしての前記別の削除ネゴシエーションメッセージに対する応答、否定応答または確証のうちの1つを記憶するステップと、
前記複数の装置のうちの1つ以上の装置に、前記削除ネゴシエーションメッセージに対する前記応答または前記否定応答を有する前記別の1つのオブジェクトに関連付けられたメタデータを複製するステップとをさらに備える、請求項3に記載の方法。 - 前記別の削除ネゴシエーションメッセージが失敗したネゴシエーションを示す場合、前記オブジェクトのうちの1つに関連付けられたメタデータから前記削除ネゴシエーションメッセージを削除するステップをさらに備える、請求項3に記載の方法。
- 前記別の削除ネゴシエーションメッセージが成功したネゴシエーションを示す場合、前記オブジェクトのうちの1つを削除するステップをさらに備える、請求項3に記載の方法。
- 前記削除ネゴシエーションメッセージを記憶するステップは、ネゴシエーションメッセージインジケータおよびストレージクラスタ識別子を、前記削除ネゴシエーションメッセージに書き込むステップを含む、請求項1に記載の方法。
- 前記削除ネゴシエーションメッセージが生成された後には、前記オブジェクトの前記1つには、新しい参照を付与できない、請求項1に記載の方法。
- 分散型マルチマスタデータ複製システムにおける複数の装置のうちの装置であって、
オブジェクトに関連付けられたネゴシエーションメッセージを有するものとして、データストア内に記憶されたオブジェクトを特定するための手段を備え、前記ネゴシエーションメッセージは固有のネゴシエーション要求識別子を含み、
前記オブジェクトの状態に基づく新しいネゴシエーションメッセージを、前記オブジェクトに関連付けるための手段と、
ストレージクラスタに前記新しいネゴシエーションメッセージを複製するための手段と、
前記オブジェクトのレプリカに関連付けられた別のネゴシエーションメッセージを受け取るための手段と、
前記別のネゴシエーションメッセージが成功したネゴシエーションを示す場合、前記オブジェクトを削除するための手段とを備える、装置。 - 前記別のネゴシエーションメッセージが失敗したネゴシエーションを示す場合、前記新しいネゴシエーションメッセージと前記別のネゴシエーションメッセージとを削除するための手段をさらに備える、請求項9に記載の装置。
- 命令およびデータストアを記憶するメモリと、
前記データストア内におけるオブジェクトの状態であって、当該オブジェクトが参照を有するか否か、および、削除ネゴシエーションが当該オブジェクトに関連付けられているか否かに関係している状態を判断するために、前記データストアの複数のオブジェクトのスキャンを行ない、
前記オブジェクトの前記状態に基づいて、前記オブジェクトに関連付けられたメタデータに新しいネゴシエーションメッセージを書込み、前記新しいネゴシエーションメッセージは、固有のネゴシエーション要求識別子を含み、
1つ以上の装置に対する前記新しいネゴシエーションメッセージを有するオブジェクトに関連付けられた前記メタデータを複製し、
前記1つ以上の装置のうちの1つから、前記オブジェクトに関連付けられた別のネゴシエーションメッセージを受け取るために、
前記メモリ内の前記命令を実行するプロセッサとを備え、
前記新しいネゴシエーションメッセージおよび前記別のネゴシエーションメッセージは
、前記オブジェクトの削除ネゴシエーションに対するコンセンサスを提供する、システム。 - 前記新しいネゴシエーションメッセージおよび前記別のネゴシエーションメッセージは、前記オブジェクトに関連付けられたメタデータに埋め込まれ、前記新しいネゴシエーションメッセージおよび前記別のネゴシエーションメッセージは、分散型マルチマスタデータ複製環境における複製層を用いて交換される、請求項11に記載のシステム。
- 前記プロセッサは、さらに、前記新しいネゴシエーションメッセージおよび前記別のネゴシエーションメッセージが失敗した削除ネゴシエーションを示す場合、前記オブジェクトに関連付けられたメタデータから前記新しいネゴシエーションメッセージを削除するように構成される、請求項12に記載のシステム。
- 前記プロセッサは、さらに、前記新しいネゴシエーションメッセージおよび前記別のネゴシエーションメッセージが成功した削除ネゴシエーションを示す場合、前記オブジェクトを削除するように構成される、請求項12に記載のシステム。
- 前記新しいネゴシエーションメッセージは、
ネゴシエーションメッセージインジケータと、
ストレージクラスタ識別子とを備える、請求項11に記載のシステム。 - 前記ネゴシエーションメッセージインジケータは、
削除ネゴシエーションを起動するための削除インジケータ、
前記削除ネゴシエーションに対する肯定応答を提供するための応答インジケータ、
前記削除ネゴシエーションに対する否定応答を提供するための否定応答インジケータ、または、
前記1つ以上の装置から応答が受け取られたことの確証を与えるための同期インジケータのうちの1つを含む、請求項15に記載のシステム。 - 分散型マルチマスタデータ複製システム内の複数のストレージクラスタのうちの1つのストレージクラスタのデータストアにおいてオブジェクトのスキャンを行なうステップと、
前記分散型マルチマスタデータ複製システム内の前記複数のストレージクラスタ間で、前記スキャンに基づいて、1つ以上の削除ネゴシエーションメッセージを交換するステップとを備え、前記1つ以上の削除ネゴシエーションメッセージのうちの各削除ネゴシエーションメッセージは、前記削除ネゴシエーションメッセージの対象である対応するオブジェクトのメタデータ内に含まれ、前記削除ネゴシエーションメッセージは、前記分散型マルチマスタデータ複製システムの複製層を用いて前記ストレージクラスタ間で送られ、さらに、
前記1つ以上の削除ネゴシエーションメッセージに基づいて、前記複数のストレージクラスタ間において、分散型コンセンサスが合意すると、前記オブジェクトを削除するステップを備える、方法。 - 前記1つ以上の削除ネゴシエーションメッセージの各々は、
ネゴシエーションメッセージインジケータと、
ストレージクラスタ識別子と、
固有のネゴシエーション要求識別子とを含む、請求項17に記載の方法。 - 前記ネゴシエーションメッセージインジケータは、
削除ネゴシエーションを起動するための削除インジケータと、
前記削除ネゴシエーションに対して肯定応答を提供するための応答インジケータと、
前記削除ネゴシエーションに対して否定応答を提供するための否定応答インジケータと、
別のストレージクラスタから応答が受け取られたことの確証を提供するための同期インジケータとを含む、請求項18に記載の方法。 - 前記削除インジケータまたは前記応答インジケータは、前記削除インジケータまたは前記応答インジケータを起動した前記ストレージクラスタが前記オブジェクトに対して新しい参照を加えることを不可能にする、請求項19に記載の方法。
- コンピュータ実行可能命令を備えるコンピュータ読取可能メモリであって、
分散型マルチマスタデータ複製システムのデータストアに記憶された複数のオブジェクトのスキャンを行なって、前記データストア内に記憶された前記複数のオブジェクトのうちの一つのオブジェクトの状態を判断するための1つ以上の命令を備え、前記状態は、当該オブジェクトが参照を有するか否か、および、削除ネゴシエーションメッセージが前記オブジェクトに関連付けられているか否かに関係しており、
前記オブジェクトの前記状態に基づいて、前記オブジェクトのメタデータに、前記オブジェクトに関連付けられた新しいネゴシエーションメッセージを書込むための1つ以上の命令を含み、前記新しいネゴシエーションメッセージは、固有のネゴシエーション要求識別子を含み、
1つ以上の他のデータストアに対する前記新しいネゴシエーションメッセージを有する前記メタデータを複製するための1つ以上の命令と、
1つ以上の別の装置から、前記オブジェクトに関連付けられた別のネゴシエーションメッセージを受け取るための1つ以上の命令と、
前記オブジェクトに関連付けられた前記別のネゴシエーションメッセージに基づいて、前記オブジェクトの削除ネゴシエーションに対するコンセンサスを判定するための1つ以上の命令とを備える、コンピュータ読取可能メモリ。 - 前記コンセンサスが、失敗したネゴシエーションを示す場合、前記新しいネゴシエーションメッセージおよび前記別のネゴシエーションメッセージを削除するための1つ以上の命令と、
前記コンセンサスが、成功したネゴシエーションを示す場合、前記オブジェクトを削除するための1つ以上の命令とをさらに備える、請求項21に記載のコンピュータ読取可能メモリ。 - 前記新しいネゴシエーションメッセージおよび前記別のネゴシエーションメッセージの書込み順序の忠実性を維持するための1つ以上の命令をさらに備える、請求項21に記載のコンピュータ読取可能メモリ。
- 前記削除ネゴシエーションメッセージが起動された後は、前記オブジェクトへの新しい参照の付加を不可能にするための1つ以上の命令をさらに備える、請求項21に記載のコンピュータ読取可能メモリ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13985308P | 2008-12-22 | 2008-12-22 | |
US61/139,853 | 2008-12-22 | ||
PCT/US2009/069228 WO2010075401A2 (en) | 2008-12-22 | 2009-12-22 | Asynchronous distributed garbage collection for replicated storage clusters |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012513639A JP2012513639A (ja) | 2012-06-14 |
JP5479490B2 true JP5479490B2 (ja) | 2014-04-23 |
Family
ID=42267618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011542575A Active JP5479490B2 (ja) | 2008-12-22 | 2009-12-22 | 複製ストレージクラスタのための非同期式分散ガーベッジコレクション |
Country Status (9)
Country | Link |
---|---|
US (2) | US8346820B2 (ja) |
EP (1) | EP2380101B1 (ja) |
JP (1) | JP5479490B2 (ja) |
CN (1) | CN102317939B (ja) |
AU (1) | AU2009330067B2 (ja) |
BR (1) | BRPI0922542B1 (ja) |
CA (1) | CA2747786C (ja) |
DE (1) | DE202009019149U1 (ja) |
WO (1) | WO2010075401A2 (ja) |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8930331B2 (en) | 2007-02-21 | 2015-01-06 | Palantir Technologies | Providing unique views of data based on changes or rules |
US8429194B2 (en) | 2008-09-15 | 2013-04-23 | Palantir Technologies, Inc. | Document-based workflows |
WO2010075401A2 (en) | 2008-12-22 | 2010-07-01 | Google Inc. | Asynchronous distributed garbage collection for replicated storage clusters |
US8799240B2 (en) | 2011-06-23 | 2014-08-05 | Palantir Technologies, Inc. | System and method for investigating large amounts of data |
US9092482B2 (en) | 2013-03-14 | 2015-07-28 | Palantir Technologies, Inc. | Fair scheduling for mixed-query loads |
US9547693B1 (en) | 2011-06-23 | 2017-01-17 | Palantir Technologies Inc. | Periodic database search manager for multiple data sources |
US9280532B2 (en) | 2011-08-02 | 2016-03-08 | Palantir Technologies, Inc. | System and method for accessing rich objects via spreadsheets |
US8504542B2 (en) | 2011-09-02 | 2013-08-06 | Palantir Technologies, Inc. | Multi-row transactions |
US8719417B1 (en) * | 2011-10-14 | 2014-05-06 | Google Inc. | Resource allocation in distributed systems |
US9378526B2 (en) * | 2012-03-02 | 2016-06-28 | Palantir Technologies, Inc. | System and method for accessing data objects via remote references |
CN102722445B (zh) * | 2012-06-06 | 2015-03-25 | 北京航空航天大学 | 一种内存垃圾收集器中对象状态的阶段式跟踪记录方法 |
US8898410B1 (en) | 2013-02-20 | 2014-11-25 | Google Inc. | Efficient garbage collection in a data storage device |
US8855999B1 (en) | 2013-03-15 | 2014-10-07 | Palantir Technologies Inc. | Method and system for generating a parser and parsing complex data |
US10275778B1 (en) | 2013-03-15 | 2019-04-30 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures |
US9230280B1 (en) | 2013-03-15 | 2016-01-05 | Palantir Technologies Inc. | Clustering data based on indications of financial malfeasance |
US8903717B2 (en) | 2013-03-15 | 2014-12-02 | Palantir Technologies Inc. | Method and system for generating a parser and parsing complex data |
US8930897B2 (en) | 2013-03-15 | 2015-01-06 | Palantir Technologies Inc. | Data integration tool |
US9600558B2 (en) | 2013-06-25 | 2017-03-21 | Google Inc. | Grouping of objects in a distributed storage system based on journals and placement policies |
US9158472B2 (en) | 2013-06-25 | 2015-10-13 | Google Inc. | Hierarchical chunking of objects in a distributed storage system |
US9116975B2 (en) | 2013-10-18 | 2015-08-25 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores |
WO2015065369A1 (en) * | 2013-10-30 | 2015-05-07 | Hewlett-Packard Development Company, L.P. | Asynchronous garbage collection in a distributed database system |
US9396202B1 (en) | 2013-12-27 | 2016-07-19 | Google Inc. | Weakly synchronized garbage collection and compaction for aggregated, replicated object stores |
US9043696B1 (en) | 2014-01-03 | 2015-05-26 | Palantir Technologies Inc. | Systems and methods for visual definition of data associations |
US9535974B1 (en) | 2014-06-30 | 2017-01-03 | Palantir Technologies Inc. | Systems and methods for identifying key phrase clusters within documents |
US9619557B2 (en) | 2014-06-30 | 2017-04-11 | Palantir Technologies, Inc. | Systems and methods for key phrase characterization of documents |
US9419992B2 (en) | 2014-08-13 | 2016-08-16 | Palantir Technologies Inc. | Unwanted tunneling alert system |
US9454281B2 (en) | 2014-09-03 | 2016-09-27 | Palantir Technologies Inc. | System for providing dynamic linked panels in user interface |
US10031934B2 (en) | 2014-09-30 | 2018-07-24 | International Business Machines Corporation | Deleting tuples using separate transaction identifier storage |
US10255304B2 (en) | 2014-09-30 | 2019-04-09 | International Business Machines Corporation | Removal of garbage data from a database |
US9348920B1 (en) | 2014-12-22 | 2016-05-24 | Palantir Technologies Inc. | Concept indexing among database of documents using machine learning techniques |
US10362133B1 (en) | 2014-12-22 | 2019-07-23 | Palantir Technologies Inc. | Communication data processing architecture |
US10552994B2 (en) | 2014-12-22 | 2020-02-04 | Palantir Technologies Inc. | Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items |
US10452651B1 (en) | 2014-12-23 | 2019-10-22 | Palantir Technologies Inc. | Searching charts |
US9817563B1 (en) | 2014-12-29 | 2017-11-14 | Palantir Technologies Inc. | System and method of generating data points from one or more data stores of data items for chart creation and manipulation |
US9672257B2 (en) | 2015-06-05 | 2017-06-06 | Palantir Technologies Inc. | Time-series data storage and processing database system |
US9384203B1 (en) | 2015-06-09 | 2016-07-05 | Palantir Technologies Inc. | Systems and methods for indexing and aggregating data records |
US9407652B1 (en) | 2015-06-26 | 2016-08-02 | Palantir Technologies Inc. | Network anomaly detection |
US10650024B2 (en) | 2015-07-30 | 2020-05-12 | Google Llc | System and method of replicating data in a distributed system |
US9537880B1 (en) | 2015-08-19 | 2017-01-03 | Palantir Technologies Inc. | Anomalous network monitoring, user behavior detection and database system |
US10402385B1 (en) | 2015-08-27 | 2019-09-03 | Palantir Technologies Inc. | Database live reindex |
US9454564B1 (en) | 2015-09-09 | 2016-09-27 | Palantir Technologies Inc. | Data integrity checks |
JP6457364B2 (ja) | 2015-09-11 | 2019-01-23 | 東芝メモリ株式会社 | メモリシステム |
US10044745B1 (en) | 2015-10-12 | 2018-08-07 | Palantir Technologies, Inc. | Systems for computer network security risk assessment including user compromise analysis associated with a network of devices |
US9542446B1 (en) | 2015-12-17 | 2017-01-10 | Palantir Technologies, Inc. | Automatic generation of composite datasets based on hierarchical fields |
US9753935B1 (en) | 2016-08-02 | 2017-09-05 | Palantir Technologies Inc. | Time-series data storage and processing database system |
US10133588B1 (en) | 2016-10-20 | 2018-11-20 | Palantir Technologies Inc. | Transforming instructions for collaborative updates |
US10318630B1 (en) | 2016-11-21 | 2019-06-11 | Palantir Technologies Inc. | Analysis of large bodies of textual data |
US10884875B2 (en) | 2016-12-15 | 2021-01-05 | Palantir Technologies Inc. | Incremental backup of computer data files |
US10223099B2 (en) | 2016-12-21 | 2019-03-05 | Palantir Technologies Inc. | Systems and methods for peer-to-peer build sharing |
US10289529B2 (en) | 2017-01-26 | 2019-05-14 | International Business Machines Corporation | Testing a guarded storage facility |
US10459631B2 (en) | 2017-03-28 | 2019-10-29 | Nicira, Inc. | Managing deletion of logical objects of a managed system |
US10896097B1 (en) | 2017-05-25 | 2021-01-19 | Palantir Technologies Inc. | Approaches for backup and restoration of integrated databases |
GB201708818D0 (en) | 2017-06-02 | 2017-07-19 | Palantir Technologies Inc | Systems and methods for retrieving and processing data |
US10248562B2 (en) | 2017-06-30 | 2019-04-02 | Microsoft Technology Licensing, Llc | Cost-based garbage collection scheduling in a distributed storage environment |
US10241716B2 (en) | 2017-06-30 | 2019-03-26 | Microsoft Technology Licensing, Llc | Global occupancy aggregator for global garbage collection scheduling |
US11334552B2 (en) | 2017-07-31 | 2022-05-17 | Palantir Technologies Inc. | Lightweight redundancy tool for performing transactions |
US10417224B2 (en) | 2017-08-14 | 2019-09-17 | Palantir Technologies Inc. | Time series database processing system |
US10216695B1 (en) | 2017-09-21 | 2019-02-26 | Palantir Technologies Inc. | Database system for time series data storage, processing, and analysis |
US10614069B2 (en) | 2017-12-01 | 2020-04-07 | Palantir Technologies Inc. | Workflow driven database partitioning |
US11281726B2 (en) | 2017-12-01 | 2022-03-22 | Palantir Technologies Inc. | System and methods for faster processor comparisons of visual graph features |
US11016986B2 (en) | 2017-12-04 | 2021-05-25 | Palantir Technologies Inc. | Query-based time-series data display and processing system |
CN108415986B (zh) * | 2018-02-11 | 2020-10-30 | 杭州朗和科技有限公司 | 一种数据处理方法、装置、系统、介质和计算设备 |
US20190303035A1 (en) * | 2018-03-27 | 2019-10-03 | EMC IP Holding Company LLC | Copying garbage collector for geographically distributed data storage environment |
GB201807534D0 (en) | 2018-05-09 | 2018-06-20 | Palantir Technologies Inc | Systems and methods for indexing and searching |
US11048430B2 (en) | 2019-04-12 | 2021-06-29 | Netapp, Inc. | Object store mirroring where during resync of two storage bucket, objects are transmitted to each of the two storage bucket |
US11481319B2 (en) * | 2020-05-22 | 2022-10-25 | Vmware, Inc. | Using data mirroring across multiple regions to reduce the likelihood of losing objects maintained in cloud object storage |
US11442652B1 (en) | 2020-07-23 | 2022-09-13 | Pure Storage, Inc. | Replication handling during storage system transportation |
US11349917B2 (en) | 2020-07-23 | 2022-05-31 | Pure Storage, Inc. | Replication handling among distinct networks |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4665520A (en) * | 1985-02-01 | 1987-05-12 | International Business Machines Corporation | Optimistic recovery in a distributed processing system |
US5485613A (en) * | 1991-08-27 | 1996-01-16 | At&T Corp. | Method for automatic memory reclamation for object-oriented systems with real-time constraints |
US5446901A (en) * | 1993-06-30 | 1995-08-29 | Digital Equipment Corporation | Fault tolerant distributed garbage collection system and method for collecting network objects |
US5852666A (en) * | 1996-07-01 | 1998-12-22 | Sun Microsystems, Inc. | Capability security for distributed object systems |
JP3385957B2 (ja) * | 1998-03-04 | 2003-03-10 | 日本電気株式会社 | 分散システム、メモリ管理装置及び方法、並びに記録媒体 |
US6615383B1 (en) * | 1998-05-29 | 2003-09-02 | Sun Microsystems, Inc. | System and method for message transmission between network nodes connected by parallel links |
US6594698B1 (en) * | 1998-09-25 | 2003-07-15 | Ncr Corporation | Protocol for dynamic binding of shared resources |
US6865657B1 (en) * | 2000-06-02 | 2005-03-08 | Sun Microsystems, Inc. | Garbage collector for a virtual heap |
US6513059B1 (en) * | 2000-08-24 | 2003-01-28 | Cambira Corporation | Adaptive collaborative intelligent network system |
JP4096147B2 (ja) * | 2000-10-25 | 2008-06-04 | 株式会社日立製作所 | 分散型計算機システムにおける重複配置複製データの複製方式 |
US6839752B1 (en) * | 2000-10-27 | 2005-01-04 | International Business Machines Corporation | Group data sharing during membership change in clustered computer system |
US20020161907A1 (en) * | 2001-04-25 | 2002-10-31 | Avery Moon | Adaptive multi-protocol communications system |
US7573500B2 (en) * | 2003-03-24 | 2009-08-11 | Sensormatic Electronics Corporation | System and method for communicating data in a video system |
US8364948B2 (en) * | 2004-07-02 | 2013-01-29 | Hewlett-Packard Development Company, L.P. | System and method for supporting secured communication by an aliased cluster |
JP2006185041A (ja) * | 2004-12-27 | 2006-07-13 | Matsushita Electric Ind Co Ltd | コンテンツ分散配置システム、端末及びコンテンツ分散配置システムの動作方法 |
US7581232B2 (en) * | 2005-05-16 | 2009-08-25 | Microsoft Corporation | Coordinating reference counting between entities executing within separate address spaces |
CN100512293C (zh) * | 2005-09-07 | 2009-07-08 | 华为技术有限公司 | 一种会话初始化协议消息体内容处理方法及网络 |
US7788223B2 (en) * | 2005-12-05 | 2010-08-31 | Microsoft Corporation | Resource freshness and replication |
JP4920979B2 (ja) * | 2006-01-25 | 2012-04-18 | 株式会社日立製作所 | ストレージ装置及びその制御方法 |
US7921077B2 (en) * | 2006-06-29 | 2011-04-05 | Netapp, Inc. | System and method for managing data deduplication of storage systems utilizing persistent consistency point images |
JP4945232B2 (ja) * | 2006-12-21 | 2012-06-06 | 株式会社日立製作所 | アクセス制御方法、計算機システム、及びオブジェクト複製プログラム |
US7660831B2 (en) * | 2007-01-07 | 2010-02-09 | Apple Inc. | Synchronization methods and systems |
US8719375B2 (en) * | 2007-03-22 | 2014-05-06 | Microsoft Corporation | Remote data access techniques for portable devices |
US8768895B2 (en) * | 2007-04-11 | 2014-07-01 | Emc Corporation | Subsegmenting for efficient storage, resemblance determination, and transmission |
US8315984B2 (en) * | 2007-05-22 | 2012-11-20 | Netapp, Inc. | System and method for on-the-fly elimination of redundant data |
WO2010075401A2 (en) | 2008-12-22 | 2010-07-01 | Google Inc. | Asynchronous distributed garbage collection for replicated storage clusters |
-
2009
- 2009-12-22 WO PCT/US2009/069228 patent/WO2010075401A2/en active Application Filing
- 2009-12-22 CN CN200980156985.4A patent/CN102317939B/zh active Active
- 2009-12-22 CA CA2747786A patent/CA2747786C/en active Active
- 2009-12-22 AU AU2009330067A patent/AU2009330067B2/en active Active
- 2009-12-22 US US12/644,689 patent/US8346820B2/en active Active
- 2009-12-22 JP JP2011542575A patent/JP5479490B2/ja active Active
- 2009-12-22 EP EP09833898.1A patent/EP2380101B1/en active Active
- 2009-12-22 DE DE202009019149.4U patent/DE202009019149U1/de not_active Expired - Lifetime
- 2009-12-22 BR BRPI0922542-0A patent/BRPI0922542B1/pt active IP Right Grant
-
2012
- 2012-12-31 US US13/732,041 patent/US9081841B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20100161688A1 (en) | 2010-06-24 |
JP2012513639A (ja) | 2012-06-14 |
AU2009330067A1 (en) | 2011-07-14 |
CA2747786C (en) | 2015-06-09 |
BRPI0922542B1 (pt) | 2020-10-13 |
US20130124470A1 (en) | 2013-05-16 |
US8346820B2 (en) | 2013-01-01 |
CA2747786A1 (en) | 2010-07-01 |
AU2009330067B2 (en) | 2013-05-02 |
WO2010075401A3 (en) | 2010-11-11 |
DE202009019149U1 (de) | 2017-01-30 |
CN102317939A (zh) | 2012-01-11 |
WO2010075401A2 (en) | 2010-07-01 |
CN102317939B (zh) | 2014-05-21 |
EP2380101A2 (en) | 2011-10-26 |
EP2380101B1 (en) | 2019-10-30 |
US9081841B2 (en) | 2015-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5479490B2 (ja) | 複製ストレージクラスタのための非同期式分散ガーベッジコレクション | |
JP5433074B2 (ja) | ストレージクラスタを指定可能な複製されたコンテンツのための非同期的分散オブジェクトアップロード | |
JP5902222B2 (ja) | コンピュータによって実行される方法、分散型記憶システム、および、コンピュータ読取可能な記録媒体 | |
JP5556816B2 (ja) | 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード | |
JP5081631B2 (ja) | データの削除を管理するための方法および装置 | |
JP5339432B2 (ja) | ストレージシステム | |
JP5516575B2 (ja) | データ挿入システム | |
US20080028169A1 (en) | Extending non-volatile storage at a computer system | |
JP2010102738A (ja) | ハードウェアベースのファイルシステムのための装置および方法 | |
Al Hubail | Data replication and fault tolerance in AsterixDB | |
KR20090124829A (ko) | 분산 파일 시스템 및 복제본 기반 장애 처리 방법 | |
Pandey et al. | A review on google file system | |
JP2008097087A (ja) | 階層構造オブジェクトのコピー方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130409 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130709 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130717 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130903 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131127 |
|
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: 20140114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140212 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5479490 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |
|
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 |