JP5890071B2 - 分散キーバリューストア - Google Patents
分散キーバリューストア Download PDFInfo
- Publication number
- JP5890071B2 JP5890071B2 JP2015530155A JP2015530155A JP5890071B2 JP 5890071 B2 JP5890071 B2 JP 5890071B2 JP 2015530155 A JP2015530155 A JP 2015530155A JP 2015530155 A JP2015530155 A JP 2015530155A JP 5890071 B2 JP5890071 B2 JP 5890071B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- key
- data log
- node
- log file
- 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
- 230000008859 change Effects 0.000 claims description 55
- 238000000034 method Methods 0.000 claims description 37
- 238000002955 isolation Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 8
- 230000003213 activating effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 23
- 238000007906 compression Methods 0.000 description 9
- 230000004913 activation Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000000926 separation method Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 244000144992 flock Species 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/28—Databases characterised by their database models, e.g. relational or object models
-
- 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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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/13—File access structures, e.g. distributed indices
-
- 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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1756—De-duplication implemented within the file system, e.g. based on file segments based on delta files
-
- 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/1865—Transactional file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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/23—Updating
- G06F16/2308—Concurrency control
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- 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/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Description
図1は、1つの実施形態によるDTKVストア100のシステム実装を示している。図のように、DTKVストア100は、相互に接続されたノードの集合102−1〜102−Nを含む。ノード102−1〜102−Nは、物理コンピュータ装置(例えば、サーバコンピュータシステム、パーソナル(例えば、デスクトップまたはラップトップ)コンピュータシステム等)でも、仮想マシン(VM)でも、物理および仮装装置の組み合わせでもよい。ノード102−1〜102−Nは、当業者の知るローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネットをはじめとする何れかのタイプのコンピュータネットワークを介して相互に接続されていてもよい。
DTKVストア100の中の各ノード102−1〜102−Nは、分散トランザクション対応キーバリューサービス、すなわち「DTKVサービス」(104−1〜104−N)を含む。DTKVサービス104−1〜104−Nはソフトウェアおよび/またはハードウェアベースのコンポーネントであり、DTKVストア100の主な処理タスクを実行する。例えば、各DTKVサービス104−1〜104−Nは、1人または複数のユーザ(例えば、人または自動化/プログラムエージェント)に対して、DTKVストア100の中のキーバリューペアの保存、取得、検索の操作を可能とさせる。特定の操作に対するユーザの起動を受けると、DTKVサービス104−1〜104−Nは、その操作を実行し、応答(該当する場合)をユーザに返すことができる。1つの実施形態において、DTKVサービス104−1〜104−Nは以下の操作を可能とさせる。
(1)PUT((key1,value1),(key2,value2),…):1つまたは複数の指定されたキーバリューベアを保存する。
(2)GET(key1,key2,…):1つまたは複数の指定されたキーに対応する1または複数のキーバリューペアを取得する。
(3)DELETE(key1,key2,…):1つまたは複数の指定されたキーに対応する1つまたは複数のキーバリューペアを削除する。
(4)SEARCH(namespace,search expression):指定されたキー名前空間の中で、指定された検索式(例えば、正規表現)を満たす、キーおよび/またはキーバリューペアを検索する。
従来の分散キーバリューストアと異なり、DTKVストア100はトランザクション対応であり、換言すれば、DTKVストア100は、DTKVサービス104−1〜104−Nがキーバリュー操作を実行する時に特定のトランザクション特性が満たされることを確実にし/保証することができる。このようなトランザクション特性を満たす(または、満たすことが意図された)キーバリュー操作のインスタンスが、トランザクションと呼ばれる。特定の実施形態において、DTKVストア100は原子性、耐久性、ノード単位スナップショット分離性というトランザクション特性を保証できる。
1)DTKVサービス104−2がK1またはK2の何れについても値を発見しない。
2)DTKVサービス104−2がK1の値V1は発見するが、K2の値は発見しない。
3)DTKVサービス104−2がK1の値V1とK2の値V2を発見する。
特定の実施形態において、DTKVストア100は、2種類のファイル、すなわちデータログファイル(106−1〜106−M)とトランザクション(「txn」)ログファイル(108−1〜108−N)を含むデータ構成を利用できる。以下のセクションIIで説明するように、DTKVサービス104−1〜104−Nは、PUT、GET、DELETEトランザクションの実行時にこれらのデータログファイルおよびトランザクションログファイルを操作して、各トランザクションの原子性、耐久性、ノード単位スナップショット分離性を保証することができる。
データログファイル106−1〜106−Mは、DTKVストア100によって保持される実際のキーバリューペアを保存する。各データログファイル106−1〜106−Mは、DTKVサービス104−1〜104−Nの間で共有可能であり、それによって各DTKVサービスによって読出可能、書込み可能である。いくつのかの実施形態において、各データログファイル106−106−Mは、所定のキー名前空間に関連付けることができる。1つの実施形態において、1つの特定のキー名前空間に属するキーバリューペアのすべてが1つのデータログファイル上に保存されるように、キー名前空間とデータログファイルとの間に1対1のマッピングがあってもよい。例えば、データログファイル106−1を営業部門の従業員の氏名を含む第一のキー名前空間に関連付けることができる、データログファイル106−2をマーケティング部門の従業員の氏名を含む第二のキー名前空間に関連付けることができる、等々である。他の実施形態では、キー名前空間とデータログファイルの間に1対多のマッピングがあってもよく、それによって特定のキー名前空間内のキーを複数のデータログファイルにまたがって保存できる。何れの場合も、各データログファイル106−1〜106−Mは一般に、そのデータログファイルに関連付けられたキー名前空間の範囲内にあるキーバリューペアだけを保存する。キー名前空間によるデータログファイルのこのような分割は、DTKVトア100内でのキーおよび/またはキーバリューペアの検索工程を容易にし、これについては以下のセクションIIIで説明する。
PUT key:K1 value:V1 node:N1 txnID:T1
PUT key:K1 value:V2 node:N2 txnID:T2
DEL key:K1 node:N3 txnID:T4
PUT key:K1 value:V3 node:N1 txnID:T5
この例では、4つのデータログエントリのすべてがキーK1に関係する。しかしながら、データログエントリは(上記のような「付加」の制限により)上から下に時系列的に順序が付けられるため、最後のデータログエントリがキーK1の現在の値、すなわちV3を決定する。それより古いデータログエントリは、最後のデータログエントリによって上書きされた過去のエントリと考えることができる。
トランザクションログファイル108−1〜108−Nは、DTKVサービス104−1〜104−Nにより実行されるトランザクションに関する状態情報を保存する。特定の実施形態において、各トランザクションログファイル108−1〜108−Nは、DTKVストア100内の特定のノード/DTKVサービスに固有のものとする(すなわちこれに関連付けられる)ことができる。例えば、トランザクションログファイル108−1はノード102−1/DTKVサービス104−1に特定とすることができる、トランザクションログファイル108−2はノード102−2/DTKVサービス104−2に特定とすることができる、等々である。これらの実施形態において、各トランザクションログファイル108−1〜108−Nには、それに関連するDTKVサービスしか書き込むことができず、そのDTKVサービスによって開始/実行されたトランザクションに関する状態情報だけが保存される。その他の、関連付けられていないDTKVサービスはそのトランザクションログファイルを読み出すことができる(ただし、書き込むことはできない)。
BEGIN txnID:T1 node:N1
BEGIN txnID:T2 node:N2
COMMIT txnID:T1 node:N1
この例において、トランザクションID T1により特定されるトランザクションについての2つのトランザクションログエントリがあり、トランザクションID T2により識別されるトランザクションについての1つのトランザクションログエントリがある。トランザクションT1に関する最後のトランザクションログエントリはCOMMITエントリであり、トランザクションT1の実行が成功したことを示す。これと反対に、トランザクションT2に関する最後のトランザクションログエントリはBEGINエントリであり、トランザクションT2が依然として進行中であることを示す。
データログエントリとトランザクションログエントリをそれぞれデータログファイル106−1〜106−Mとトランザクションログファイル108−1〜108−Nに付加することに関連する1つの考えられる問題は、これらのログファイルがサイズの点で無限に増大しうることである。これに対応するために、特定の実施形態において、「圧縮」プロセス(ノード102−1〜102−Nのうちの1つ、または図1に示されていない他の装置でホストされる)が各データログファイルおよびトランザクションログファイルを分析して、もはや不要となったログエントリを削除できる。例えば、上記のデータログファイルの例においては、圧縮プロセスは最初の3つのデータログエントリを安全に削除でき、それは、これらがもはやキーK1の現在の値に影響を与えなくなっているからである。さらに、上記のトランザクションログファイルの例において、圧縮プロセスは、トランザクションT1を参照する2つのトランザクションログエントリを安全に削除でき、それは、このトランザクションがすでにコミットされているからである。それゆえ、圧縮プロセスはデータログファイル106−1〜106−Mとトランザクションログファイル108−1〜108−Nが管理不能に大きくなるのを防止できる。1つの実施形態において、圧縮プロセスは、例えばDTKVストア100の管理者によって決定される所定の時間間隔で実行できる。他の実施形態において、圧縮プロセスはトリガイベント、例えば、特定のデータログファイルまたはトランザクションログファイルが所定のサイズ閾値を超えて大きくなったことに応答して実行することもできる。また別の施形態において、圧縮プロセスはノード102−1〜102−Nのランタイム中に優先順位の低い(すなわちバックグラウンド)プロセスとして徐々に実行することができる。この後者の場合、優先順位の低いログファイル圧縮は、例えばテータログファイルが比較的小さいサイズを超えて大きくなった時に開始することができる。
図1に示されるように、各ノード102−1〜102−Nは、DTKVサービス104−1〜104−Nに加えて、関連する分散ファイルシステム(「DFS」)コンポーネント114−1〜114−Nを含む。各DFSコンポーネント114−1〜114−Nは、それに関連するDTKVサービス104−1〜104−Nに、データログファイル106−1〜106−Mとトランザクションログファイル108−1〜108−Nへのアクセスおよびその変更を容易にするようなファイルシステムレベルの各種の機能を提供できる。
(1)GetVersion(file):指定されたファイルの現在のバージョン番号を返す。
(2)Read/(file,outVersion.offset,length):指定されたオフセットと長さで始まる指定されたファイルに関するデータとそのファイルの現在のバージョン番号を返す。
(3)Append(file.inVersion):データを指定されたファイルの末尾に、そのファイルの現在のバージョン番号がパラメータinVersionの値と一致したとき、その場合に限って付加し、現在のバージョン番号がinVersionと一致しない場合は、エラーが返され、データは付加されない。これに加えて、付加操作は原子的であり、換言すれば、全部のデータが付加されるか、どのデータも付加されない。データが付加されると、これは耐久性がある(すなわち、不揮発性記憶装置に保存された)と考えることができる。
(4)Rename(file1,file2):1つの原子的操作の中でファイル1をファイル2に名称変更し、これはまた、そのファイルの現在のバージョン番号も変更する。
DTKVストア100の上記のようなシステム実装を念頭に置き、以下のセクションでは、DTKVサービス104−1〜104−Nがキーバリュートランザクション(例えばPUT、GET、DELETE)をトランザクション上で一貫した方法で実行するように実装できる各種のアルゴリズムについて説明する。
図2は、DTKVストア100の何れかのDTKVサービス(以下、「DTKVサービス104−X」とする)が変更(PUTまたはDELETE)トランザクションを実行するために行うことのできる、1つの実施形態によるプロセス200を示している。このアルゴリズムにより、DTKVサービス104−Xは、その変更トランザクションについて、原子性、耐久性、ノード単位スナップショット分離性のトランザクション特性が確実に満たされるようにすることができる。
図4は、DTKVサービス104−Xが取得(すなわち、GET)トランザクションを実行するために行うことのできる、1つの実施形態によるプロセス400を示す。
1.T1が開始される。
2.T1により、キーK1が値W1で更新される。
3.T1により、キーK2が値W2で更新される。
4.T2が開始される。
5.T2がキーK1のための最後のデータログエントリを検索し、値W1を発見するが、適当なトランザクションログファイルをチェックして、T1に関するCOMMITトランザクションログエントリを発見せず(T1がまだコミットされていないため)、その結果、T2が、キーK1に関する、それより前のデータログエントリを検索し、値V1を発見し、V1を返す。
6.T1がコミットされ、COMMITトランザクションログエントリが書き込まれる。
7.T2がキーK2に関する最後のデータログエントリを検索し、値W2を発見し、T1に関するCOMMITトランザクションログエントリを発見し、W2を返す。
1.T1が開始される。
2.T1により、キーK1が数値W1で更新される。
3.T1により、キーK2を数値W2で更新させる。
4.T2が開始される。
5.T2がキーK1に関する最後のデータログエントリを検索して、値W1を発見するが、適当なトランザクションログファイルを検索し、T1に関するCOMMITトランザクションログエントリを発見せず(T1がまだコミットされていないため)、その結果、T2がキーK1に関する、それより前のデータログエントリを検索し、値V1を発見し、V1を返す。
6.T2が、訪問されたトランザクションログファイルとその長さを段階的トランザクションログスナップショットに追加する。
7.T1がコミットされ、COMMITトランザクションログエントリが書き込まれる。
8.T2は、キーK2に関する最後のデータログエントリを検索し、値W2を発見し、適当なトランザクションログファイルが過去に訪問されたと判断し、それゆえ、段階的トランザクションログスナップショットに保存された長さからトランザクションログファイルを検索する。
9.T2はトランザクションログスナップショットの中でT1に関するCOMMITトランザクションログエントリを発見せず(ステップ(7)で書き込まれたCOMMITがスキップされるため)、キーK2に関するそれより前のデータログエントリを検索し、値V2を発見し、V2を返す。
前述のように、特定の実施形態において、DTKVストア100は保存されたキーおよび/またはキーバリューペアの効率的な検索をサポートすることができる。特に、DTKVストア100は、キーを1つまたは複数のキー名前空間に分割して、各キー名前空間のためのキーバリューペアを1つまた複数の別々のデータログファイルに保存することができる。すると、DTKVサービス104−1〜104−Nにより、ユーザは(セクションI.A.で説明したSEARCH操作を通じて)キーおよび/またはキーバリューペアをキー名前空間により検索できる。ユーザが特定のキー名前空間に関連してSEARCH操作を起動させると、DTKVストアはその検索をそのキー名前空間に関連付けられたデータログファイル(複数の場合もある)の内容に限定することができる(DTKVストア100の中のデータログファイルの全部を検索しなくてもよい)。
Claims (20)
- 分散トランザクション対応キーバリューストアを実装するシステムであって、
データログファイルの集合を保存する1つまたは複数の記憶装置に通信可能に各々連結されるノードの集合を備え、各データログファイルが1つのキー名前空間のためのキーバリューペアを含み、
各ノードがそのノードに固有のトランザクションログファイルを用いて前記データログファイルの集合の中のキーバリューペアを変更または取得するトランザクションを実行するように構成され、前記トランザクションログファイルが前記トランザクションの状態情報を含み、
前記トランザクションが、各トランザクションの原子性および耐久性が確保されるように実行される、システム。 - 各ノードに固有の前記トランザクションログファイルがそのノードのローカル記憶装置に保存される、請求項1に記載のシステム。
- 各ノードに固有の前記トランザクションログファイルが、各トランザクションがそのノードによって開始されたか、コミットされたか、または中断されたかを示す、請求項1に記載のシステム。
- 各ノードに固有の前記トランザクションログファイルは、そのノードにより読出し可能および書込み可能であるが、前記ノードの集合の中の他のノードは読出しかできない、請求項1に記載のシステム。
- 各ノードは、各トランザクションのノード単位スナップショット分離性がさらに確保されるように前記トランザクションを実行するように構成される、請求項1に記載のシステム。
- 各ノードがさらに、検索式および目標とするキー名前空間を含む検索操作に応答して前記データログファイルの集合を検索するように構成され、当該検索することが、
前記目標とするキー名前空間のためのキーバリューペアを含むデータログファイルを前記データログファイルの集合の中から特定し、
前記検索式を満たすキーバリューペアに関する前記データログファイルを検索する
ことを含む、請求項1に記載のシステム。 - 各ノードが、前記データログファイルの集合の中の1つまたは複数のキーバリューペアを変更するトランザクションを、
データログスナップショットを決定し、
1つまたは複数のキーバリューサブセットを決定する
ことによって実行するように構成され、
前記データログスナップショットは、前記ノードが前記トランザクションのためにアクセスする1つまたは複数のデータログファイルを前記データログファイルの集合の中から特定するものであり、前記データログスナップショットが、前記1つまたは複数のデータログファイルについてバージョン番号およびサイズを含み、
各キーバリューサブセットは、前記ノードが前記トランザクションのために変更しようとする、前記1つまたは複数のデータログファイルのうちの関連するデータログファイルからのキーバリューペアを含む、請求項1に記載のシステム。 - 前記ノードが、さらに、
前記トランザクションのためのトランザクション識別子を決定し、
前記トランザクション識別子を含み且つ前記変更されたトランザクションが開始されたことを示す第一のトランザクションログエントリを前記ノードに固有の前記トランザクションログファイルに書き込み、
前記1つまたは複数のキーバリューサブセットの中の各キーバリューサブセットについて、1つまたは複数のデータログエントリを前記キーバリューサブセットに関連付けられたデータログファイルに付加するように試みる
ことによって前記トランザクションを実行するように構成され、
各データログエントリが、前記キーバリューサブセットに関連付けられたデータログファイルにおけるキーバリューペアへの変更を特定する、請求項7に記載のシステム。 - 前記1つまたは複数のデータログエントリを前記キーバリューサブセットに関連付けられたデータログファイルに付加するように試みることが、
前記キーバリューサブセットに関連付けられたデータログファイルの前記バージョン番号を前記データログスナップショットから取得し、
前記バージョン番号を入力パラメータとして取得する付加操作を起動する
ことを含み、
前記バージョン番号が前記キーバリューサブセットに関連付けられたデータログファイルの現在のバージョン番号と一致すれば前記付加操作は成功し、
前記バージョン番号が前記現在のバージョン番号と一致しなければ前記付加操作は失敗する、請求項8に記載のシステム。 - 前記ノードが、さらに、
前記1つまたは複数のキーバリューサブセットのうちの各キーバリューサブセットについての前記付加操作が成功した場合に、前記トランザクション識別子を含み且つ前記変更されたトランザクションがコミットされたことを示す第二のトランザクションログエントリを前記ノードに固有の前記トランザクションログファイルに書き込むことによって前記トランザクションを実行するように構成される、請求項9に記載のシステム。 - 前記ノードが、さらに、
前記1つまたは複数のキーバリューサブセットのうちのいずれかのキーバリューサブセットについての前記付加操作が失敗した場合に、前記トランザクション識別子を含み且つ前記変更されたトランザクションが中断されたことを示す第二のトランザクションログエントリを前記ノードに固有の前記トランザクションログファイルに書き込むことによって前記トランザクションを実行するように構成される、請求項9に記載のシステム。 - 前記付加操作が、前記ノード上で実行される分散ファイルシステム(DFS)コンポーネントにより実装され、かつ、前記付加操作が、前記分散ファイルシステムによって原子的であることが保証される、請求項9に記載のシステム。
- 前記1つまたは複数のデータログエントリを前記キーバリューサブセットに関連付けられたデータログファイルに付加するように試みることが、
前記付加操作が失敗した場合に、
前記データログスナップショットから前記キーバリューサブセットに関連付けられたデータログファイルの長さを取得し、
前記キーバリューサブセットに関連付けられたデータログファイルを、そのファイルの終わりから前記取得された長さまで降順に読み出し、
前記キーバリューサブセットに関連付けられたデータログファイルが読み出されたときに、前記キーバリューサブセットに関連付けられたデータログファイルの中の何れかのキーが前記キーバリューサブセットの中のキーと一致するか否かを判断し、
一致が発見された場合に前記トランザクションを中断すべきであると判断し、
一致が発見されない場合に、
前記データログスナップショットを更新して、前記キーバリューサブセットに関連付けられたデータログファイルの現在のバージョン番号および現在の長さを含めるとともに、
前記現在のバージョン番号を有するデータログファイルについての前記付加操作を再起動する、
ことを含む、請求項9に記載のシステム。 - 各ノードが、前記データログファイルの集合の中の1つまたは複数のキーバリューペアを取得するトランザクションを、
前記1つまたは複数のキーバリューペアの各キーバリューペアについて、
前記キーバリューペアを含むデータログファイルを前記データログファイルの集合の中から特定し、
前記データログファイルの長さを保存し、
前記データログファイルを処理する
ことによって実行するように構成され、
前記データログファイルを処理することが、
前記保存されたデータログファイルの長さに基づいてデータログファイルを後ろから読み出すことで、前記キーバリューペアの最も新しい変更を表すデータログエントリを前記データログファイルの中から決定し、
前記データログエントリに関連付けられたソースノードおよびソーストランザクションを特定し、
前記ソースノードに固有のトランザクションログファイルを取得し、
前記ソーストランザクションの現在の状態を表す前記ソースノードに固有のトランザクションログエントリを前記トランザクションログファイルの中から決定し、
前記ソーストランザクションがコミットされたことを前記トランザクションログエントリが示す場合に、前記データログエントリの中で特定された前記キーバリューペアを返し、
前記ソーストランザクションがコミットされたことを前記トランザクションログエントリが示さない場合に、
前記データログエントリをスキップすることにより前記保存されたデータログファイルの長さを調整し、
前記調整した後の前記保存された長さに基づいて前記データログファイルを再処理する、
ことによって前記データログファイルを処理することを含む、請求項1に記載のシステム。 - 前記ノードが、さらに、
前記トランザクションログエントリを決定する前に、前記トランザクションログファイルの長さを段階的トランザクションログスナップショットから取得することによって前記トランザクションを実行するように構成され、
前記段階的トランザクションログスナップショットが、前記トランザクション中に前記ノードがアクセスするトランザクションログファイルと、そのアクセス時のトランザクションログファイルの対応する長さを特定するものであり、
前記トランザクションログエントリの決定が、前記取得されたトランザクションログファイルの長さに基づいて行われる、請求項14に記載のシステム。 - 各データログファイルおよびトランザクションログファイルが、所定の時間間隔で、または所定のサイズに達した時点で圧縮される、請求項1に記載のシステム。
- ノードの集合の中の1つのノードにより実行される方法であって、前記ノードは、データログファイルの集合を保存する1つまたは複数の記憶装置に通信可能に連結され、各データログファイルがキー名前空間のためのキーバリューペアを含み、
当該方法は、
前記ノードがそのノードに固有のトランザクションログファイルを用いて前記データログファイルの集合の中のキーバリューペアを変更または取得するトランザクションを実行することを備え、前記トランザクションログファイルが前記トランザクションの状態情報を含み、
前記トランザクションが、各トランザクションの原子性および耐久性を確保するように実行される方法。 - 前記トランザクションは、各トランザクションのノード単位スナップショット分離性がさらに確保されるように実行される、請求項17に記載の方法。
- コンピュータソフトウェアを具現化する非一時的コンピュータ読取可能媒体であって、前記コンピュータソフトウェアはノードの集合の中の1つのノードにより実行され、前記ノードは、データログファイルの集合を保存する1つまたは複数の記憶装置に通信可能に連結され、各データログファイルがキー名前空間のためのキーバリューペアを含み、前記コンピュータソフトウェアは、前記ノードに対して、
前記ノードに固有のトランザクションログファイルを用いて前記データログファイルの集合の中のキーバリューペアを変更または取得するトランザクションを実行すること
を含む方法を実行させるものであり、
前記トランザクションログファイルが前記トランザクションの状態情報を含み、
前記トランザクションが、各トランザクションの原子性および耐久性が確保されるように実行される、非一時的コンピュータ読取可能媒体。 - 前記トランザクションが、各トランザクションのノード単位スナップショット分離性がさらに確保されるように実行される、請求項19に記載の非一時的コンピュータ読取可能媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/692,777 | 2012-12-03 | ||
US13/692,777 US9037556B2 (en) | 2012-12-03 | 2012-12-03 | Distributed, transactional key-value store |
PCT/US2013/058181 WO2014088660A1 (en) | 2012-12-03 | 2013-09-05 | Distributed, transactional key-value store |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015526832A JP2015526832A (ja) | 2015-09-10 |
JP5890071B2 true JP5890071B2 (ja) | 2016-03-22 |
Family
ID=49237605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015530155A Active JP5890071B2 (ja) | 2012-12-03 | 2013-09-05 | 分散キーバリューストア |
Country Status (5)
Country | Link |
---|---|
US (3) | US9037556B2 (ja) |
EP (2) | EP3346401B1 (ja) |
JP (1) | JP5890071B2 (ja) |
AU (1) | AU2013356667B2 (ja) |
WO (1) | WO2014088660A1 (ja) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9037556B2 (en) | 2012-12-03 | 2015-05-19 | Vmware, Inc. | Distributed, transactional key-value store |
US9442938B1 (en) | 2013-05-03 | 2016-09-13 | Emc Corporation | File system layer |
US9336232B1 (en) | 2013-05-03 | 2016-05-10 | Emc Corporation | Native file access |
US9223517B1 (en) * | 2013-05-03 | 2015-12-29 | Emc Corporation | Scalable index store |
US9898501B2 (en) * | 2013-09-12 | 2018-02-20 | Neustar, Inc. | Method and system for performing transactional updates in a key-value store |
US10346381B2 (en) * | 2013-11-14 | 2019-07-09 | Facebook, Inc. | Atomic update operations in a data storage system |
US10078654B2 (en) * | 2014-03-18 | 2018-09-18 | Facebook, Inc. | Data logging framework |
US10127270B1 (en) * | 2014-06-23 | 2018-11-13 | Amazon Technologies, Inc. | Transaction processing using a key-value store |
US9613078B2 (en) | 2014-06-26 | 2017-04-04 | Amazon Technologies, Inc. | Multi-database log with multi-item transaction support |
US9720947B2 (en) | 2014-08-04 | 2017-08-01 | Cohesity, Inc. | Backup operations in a tree-based distributed file system |
US9720926B2 (en) * | 2014-08-04 | 2017-08-01 | Cohesity, Inc. | Read operations in a tree-based distributed file system |
US9792309B2 (en) | 2014-08-04 | 2017-10-17 | Cohesity, Inc. | Write operations in a tree-based distributed file system |
US10095812B2 (en) * | 2014-10-28 | 2018-10-09 | Brigham Young University | Systems and methods for providing CAx data |
WO2016122546A1 (en) | 2015-01-29 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Transactional key-value store |
US9904722B1 (en) | 2015-03-13 | 2018-02-27 | Amazon Technologies, Inc. | Log-based distributed transaction management |
US10963430B2 (en) | 2015-04-01 | 2021-03-30 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
US9922201B2 (en) | 2015-04-01 | 2018-03-20 | Dropbox, Inc. | Nested namespaces for selective content sharing |
US10212257B2 (en) | 2015-05-14 | 2019-02-19 | Deephaven Data Labs Llc | Persistent query dispatch and execution architecture |
US11301457B2 (en) * | 2015-06-29 | 2022-04-12 | Microsoft Technology Licensing, Llc | Transactional database layer above a distributed key/value store |
US11599520B1 (en) | 2015-06-29 | 2023-03-07 | Amazon Technologies, Inc. | Consistency management using query restrictions in journal-based storage systems |
US9407585B1 (en) | 2015-08-07 | 2016-08-02 | Machine Zone, Inc. | Scalable, real-time messaging system |
US9390154B1 (en) | 2015-08-28 | 2016-07-12 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
US10747753B2 (en) | 2015-08-28 | 2020-08-18 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
KR102416004B1 (ko) | 2015-09-02 | 2022-07-04 | 삼성전자주식회사 | 인터페이스 회로들, 메모리 모듈들 및 인터페이스 회로들과 메모리 모듈들을 연결하는 스위치 회로를 포함하는 서버 장치 |
US10613941B1 (en) * | 2015-09-30 | 2020-04-07 | EMC IP Holding Company LLC | Hybrid NVRAM logging in filesystem namespace |
US9479567B1 (en) * | 2015-10-29 | 2016-10-25 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US10691718B2 (en) | 2015-10-29 | 2020-06-23 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
CN106776622B (zh) * | 2015-11-20 | 2020-03-03 | 北京国双科技有限公司 | 访问日志的查询方法和装置 |
US9537952B1 (en) | 2016-01-29 | 2017-01-03 | Dropbox, Inc. | Apparent cloud access for hosted content items |
US11301422B2 (en) * | 2016-02-23 | 2022-04-12 | Samsung Electronics Co., Ltd. | System and methods for providing fast cacheable access to a key-value device through a filesystem interface |
US10303669B1 (en) * | 2016-03-30 | 2019-05-28 | Amazon Technologies, Inc. | Simulating hierarchical structures in key value stores |
US10460120B1 (en) | 2016-03-30 | 2019-10-29 | Amazon Technologies, Inc. | Policy mediated hierarchical structures in key value stores |
US9602450B1 (en) | 2016-05-16 | 2017-03-21 | Machine Zone, Inc. | Maintaining persistence of a messaging system |
KR102656175B1 (ko) | 2016-05-25 | 2024-04-12 | 삼성전자주식회사 | 스토리지 장치 및 랜덤 액세스 메모리를 제어하는 방법 및 불휘발성 메모리 장치 및 버퍼 메모리를 제어하는 방법 |
US20170371896A1 (en) * | 2016-06-23 | 2017-12-28 | Ebay Inc. | File system image processing system |
US9608928B1 (en) | 2016-07-06 | 2017-03-28 | Machine Zone, Inc. | Multiple-speed message channel of messaging system |
CN107765992B (zh) * | 2016-08-22 | 2021-01-15 | 华为技术有限公司 | 一种处理数据的方法和装置 |
US9667681B1 (en) | 2016-09-23 | 2017-05-30 | Machine Zone, Inc. | Systems and methods for providing messages to multiple subscribers |
EP3555757A4 (en) | 2016-12-19 | 2020-06-17 | Swirlds, Inc. | METHOD AND DEVICE FOR A DISTRIBUTED DATABASE TO ENABLE THE DELETION OF EVENTS |
US10447623B2 (en) * | 2017-02-24 | 2019-10-15 | Satori Worldwide, Llc | Data storage systems and methods using a real-time messaging system |
US10642792B2 (en) * | 2017-03-24 | 2020-05-05 | Vmware, Inc. | Distributed transaction conflict resolution |
US11068447B2 (en) * | 2017-04-14 | 2021-07-20 | Databricks Inc. | Directory level atomic commit protocol |
US11030155B2 (en) | 2017-04-26 | 2021-06-08 | Samsung Electronics Co., Ltd. | Key value file system |
US10275223B2 (en) * | 2017-06-22 | 2019-04-30 | International Business Machines Corporation | Distributed key-value consistency and mapping |
GB201711879D0 (en) * | 2017-07-24 | 2017-09-06 | Nchain Holdings Ltd | Computer-implemented system and method |
US10268779B2 (en) | 2017-08-09 | 2019-04-23 | International Business Machines Corporation | Sharing server conversational context between multiple cognitive engines |
US11188501B1 (en) * | 2017-08-15 | 2021-11-30 | Amazon Technologies, Inc. | Transactional and batch-updated data store search |
KR102405593B1 (ko) * | 2017-08-23 | 2022-06-08 | 삼성전자 주식회사 | 전자 장치 및 그의 데이터 운용 방법 |
US10866943B1 (en) | 2017-08-24 | 2020-12-15 | Deephaven Data Labs Llc | Keyed row selection |
US11016932B2 (en) * | 2017-09-21 | 2021-05-25 | Alibaba Group Holding Limited | Systems, methods, and apparatuses for simplifying filesystem operations utilizing a key-value storage system |
US10754995B2 (en) * | 2017-10-05 | 2020-08-25 | Zadara Storage, Inc. | Consistency across key value stores with shared journals |
EP3712783A4 (en) * | 2017-12-29 | 2020-12-30 | Huawei Technologies Co., Ltd. | METHOD AND DEVICE FOR PROCESSING A WRITE-AHEAD PROTOCOL |
US10769130B1 (en) * | 2018-05-23 | 2020-09-08 | Databricks Inc. | Update and query of a large collection of files that represent a single dataset stored on a blob store |
US10824740B2 (en) * | 2018-07-30 | 2020-11-03 | EMC IP Holding Company LLC | Decentralized policy publish and query system for multi-cloud computing environment |
US10254996B1 (en) | 2018-08-10 | 2019-04-09 | Cohesity, Inc. | Fast migration of metadata |
US11178246B2 (en) * | 2018-08-25 | 2021-11-16 | Panzura, Llc | Managing cloud-based storage using a time-series database |
US11366801B1 (en) * | 2018-12-11 | 2022-06-21 | Amazon Technologies, Inc. | Highly available storage using independent data stores |
CN109710190B (zh) * | 2018-12-26 | 2022-03-08 | 百度在线网络技术(北京)有限公司 | 一种数据存储方法、装置、设备及存储介质 |
US11210272B2 (en) * | 2019-03-29 | 2021-12-28 | Electronic Arts Inc. | Low latency cache synchronization in distributed databases |
US11507277B2 (en) * | 2019-06-25 | 2022-11-22 | Western Digital Technologies, Inc. | Key value store using progress verification |
CN110955687B (zh) * | 2019-12-03 | 2023-03-21 | 中国银行股份有限公司 | 数据修改方法及装置 |
US11290531B2 (en) | 2019-12-04 | 2022-03-29 | Dropbox, Inc. | Immediate cloud content item creation from local file system interface |
KR20210092361A (ko) | 2020-01-15 | 2021-07-26 | 삼성전자주식회사 | 스토리지 장치 및 그것의 동작 방법 |
EP3851950A1 (en) | 2020-01-15 | 2021-07-21 | Samsung Electronics Co., Ltd. | Storage device and operation method thereof |
US11468045B2 (en) * | 2020-04-17 | 2022-10-11 | Microsoft Technology Licensing, Llc | Transactional support for non-relational database |
US11747996B2 (en) * | 2020-08-05 | 2023-09-05 | Dropbox, Inc. | System and methods for implementing a key-value data store |
JP2022137795A (ja) * | 2021-03-09 | 2022-09-22 | キオクシア株式会社 | ストレージ装置、ストレージクライアント装置および制御方法 |
CN113111086B (zh) * | 2021-04-09 | 2022-06-24 | 杭州复杂美科技有限公司 | 数据存储和查询响应方法、区块执行方法 |
CN112988920A (zh) * | 2021-05-20 | 2021-06-18 | 中国人民解放军国防科技大学 | 面向ai应用的数据版本管理方法、装置和计算机设备 |
US11709866B2 (en) * | 2021-08-13 | 2023-07-25 | Snowflake Inc. | Scalable compaction in a concurrent transaction processing distributed database |
CN114500582A (zh) * | 2022-02-11 | 2022-05-13 | 浙江大华技术股份有限公司 | 日志的采集方法、装置、存储介质及电子装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6125368A (en) * | 1997-02-28 | 2000-09-26 | Oracle Corporation | Fault-tolerant timestamp generation for multi-node parallel databases |
US7672945B1 (en) * | 2002-04-08 | 2010-03-02 | Oracle International Corporation | Mechanism for creating member private data in a global namespace |
US7406489B2 (en) * | 2005-01-28 | 2008-07-29 | Solid Information Technology Oy | Apparatus, system and method for persistently storing data in a data synchronization process |
US9098290B2 (en) * | 2008-01-30 | 2015-08-04 | Intuit Inc. | Method and apparatus for facilitating diagnostic logging for software components |
US8229945B2 (en) * | 2008-03-20 | 2012-07-24 | Schooner Information Technology, Inc. | Scalable database management software on a cluster of nodes using a shared-distributed flash memory |
US8510263B2 (en) * | 2009-06-15 | 2013-08-13 | Verisign, Inc. | Method and system for auditing transaction data from database operations |
US8473582B2 (en) * | 2009-12-16 | 2013-06-25 | International Business Machines Corporation | Disconnected file operations in a scalable multi-node file system cache for a remote cluster file system |
US8700842B2 (en) * | 2010-04-12 | 2014-04-15 | Sandisk Enterprise Ip Llc | Minimizing write operations to a flash memory-based object store |
US10558705B2 (en) | 2010-10-20 | 2020-02-11 | Microsoft Technology Licensing, Llc | Low RAM space, high-throughput persistent key-value store using secondary memory |
WO2012081131A1 (ja) * | 2010-12-16 | 2012-06-21 | 株式会社 東雲 | キー・バリュー・インデックス・ストア方式のデータベース・システム |
JP5721056B2 (ja) | 2011-05-10 | 2015-05-20 | 日本電気株式会社 | トランザクション処理装置、トランザクション処理方法およびトランザクション処理プログラム |
US20130110767A1 (en) * | 2011-10-26 | 2013-05-02 | Nec Laboratories America, Inc. | Online Transaction Processing |
US20130290243A1 (en) * | 2012-04-26 | 2013-10-31 | Cloudtree, Inc. | Method and system for transaction representation in append-only datastores |
US9037556B2 (en) * | 2012-12-03 | 2015-05-19 | Vmware, Inc. | Distributed, transactional key-value store |
-
2012
- 2012-12-03 US US13/692,777 patent/US9037556B2/en active Active
-
2013
- 2013-09-05 EP EP18154164.0A patent/EP3346401B1/en active Active
- 2013-09-05 EP EP13766751.5A patent/EP2870548B1/en active Active
- 2013-09-05 JP JP2015530155A patent/JP5890071B2/ja active Active
- 2013-09-05 WO PCT/US2013/058181 patent/WO2014088660A1/en active Application Filing
- 2013-09-05 AU AU2013356667A patent/AU2013356667B2/en active Active
-
2015
- 2015-04-21 US US14/692,531 patent/US9135287B2/en active Active
- 2015-08-07 US US14/820,848 patent/US9189513B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9037556B2 (en) | 2015-05-19 |
US20140156618A1 (en) | 2014-06-05 |
US20150227573A1 (en) | 2015-08-13 |
EP3346401B1 (en) | 2020-07-08 |
US9189513B1 (en) | 2015-11-17 |
US20150356133A1 (en) | 2015-12-10 |
EP2870548B1 (en) | 2018-03-07 |
EP3346401A1 (en) | 2018-07-11 |
EP2870548A1 (en) | 2015-05-13 |
US9135287B2 (en) | 2015-09-15 |
AU2013356667B2 (en) | 2015-09-17 |
JP2015526832A (ja) | 2015-09-10 |
AU2013356667A1 (en) | 2015-05-14 |
WO2014088660A1 (en) | 2014-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5890071B2 (ja) | 分散キーバリューストア | |
US11132350B2 (en) | Replicable differential store data structure | |
CN106991113B (zh) | 数据库环境中的表格复制 | |
US11841844B2 (en) | Index update pipeline | |
US9665304B2 (en) | Storage system with fast snapshot tree search | |
US20150363271A1 (en) | Restoring data in a hierarchical storage management system | |
JP5387757B2 (ja) | 並列データ処理システム、並列データ処理方法及びプログラム | |
Binnig et al. | Distributed snapshot isolation: global transactions pay globally, local transactions pay locally | |
US11263236B2 (en) | Real-time cross-system database replication for hybrid-cloud elastic scaling and high-performance data virtualization | |
KR20180021679A (ko) | 일관된 데이터베이스 스냅샷들을 이용한 분산 데이터베이스에서의 백업 및 복원 | |
US20180210914A1 (en) | Consistent query of local indexes | |
US20120284244A1 (en) | Transaction processing device, transaction processing method and transaction processing program | |
US20230342353A1 (en) | Targeted sweep method for key-value data storage | |
US20220405239A1 (en) | Storing a point in time coherently for a distributed storage system | |
CN112334891B (zh) | 用于搜索服务器的集中式存储 | |
WO2023129310A1 (en) | Version control interface for accessing data lakes | |
WO2021135210A1 (en) | Methods and apparatuses for generating redo records for cloud-based database | |
US20210405879A1 (en) | Incremental replication between foreign system dataset stores | |
Wadkar et al. | Hadoop concepts | |
WO2023249673A1 (en) | Version control interface supporting time travel access of a data lake |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150226 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20150226 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20150714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151218 |
|
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: 20160126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5890071 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
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 |