JP7170701B2 - 高速コピー可能データベースを効率的に実装するための方法及び機器 - Google Patents
高速コピー可能データベースを効率的に実装するための方法及び機器 Download PDFInfo
- Publication number
- JP7170701B2 JP7170701B2 JP2020191399A JP2020191399A JP7170701B2 JP 7170701 B2 JP7170701 B2 JP 7170701B2 JP 2020191399 A JP2020191399 A JP 2020191399A JP 2020191399 A JP2020191399 A JP 2020191399A JP 7170701 B2 JP7170701 B2 JP 7170701B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- virtual clone
- clone
- processor
- clones
- 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
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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/1873—Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of 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/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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Description
[0001] 本願は、参照によりその全開示を本明細書に援用する、2017年11月1日に出願され、「ネットワーク内に分散データベースを効率的に実装するための方法及び機器(Methods and Apparatus for Efficiently Implementing a Distributed Database within a Network)」と題された米国仮特許出願第62/580,056号の優先権及び利益を主張する。
[0002] 本明細書に記載する実施形態は、一般に効率を高めたデータベースシステムを実装するための方法及び機器に関する。
[0003] 一部の実施形態では、高速コピー可能データベース機器が、プロセッサ及びプロセッサと電子通信するメモリを含む。メモリは、バージョン識別子を含む複合キーをそれぞれ有する複数のレコードを有するデータベーステーブルを記憶する。メモリは、データベーステーブルの第1の仮想クローン及びデータベーステーブルの第2の仮想クローンを生成すること、第1の仮想クローンにおいてクエリを受信すること、及びクエリが第1の仮想クローンのバージョン識別子を含むようにクエリを修正することをプロセッサに行わせるために実行可能な命令も記憶する。プロセッサは修正済みのクエリを使用してデータベーステーブルをクエリして、第1の仮想クローンのバージョン識別子の祖先パスに関連するバージョン識別子を有する1組のレコードからの各レコードに部分的に基づく応答を生成し、その応答を送信することができる。各複合キーはバージョン識別子及びデータ部分を含む。
[0016] 本開示の高効率データベースシステムは、非一時的プロセッサ可読メモリ内にそれぞれ記憶される(「データベーステーブル」を含む及び/又は本明細書では「データベーステーブル」と区別なく使用する)1つ又は複数の物理リレーショナルデータベースと、複数の仮想クローンであって、それによりリレーショナルデータベースのデータが所定の条件下で及び/又は既定の期間内にアクセスされ及び/又は修正され得る、複数の仮想クローンをそれぞれ含む1つ又は複数の関連する動的階層ツリーとを含む。本明細書に記載するデータベースの実装及び管理の方法は、データベースの複製及び相互作用の既知の方法よりも大幅に速く効率的である。本開示に従って実装されるとき、本明細書に記載するリレーショナルデータベースは「高速コピー可能」と呼ぶことができ、それは新たな仮想クローンをインスタンス化することによって多くの異なる「コピー」を素早く作成し及び/又は定義することができるからであり、それぞれの異なるコピーは「仮想」コピー(関連する異なる仮想クローンの観点から認識され、かかる仮想クローンからアクセス可能なコンテンツ)を指す。別の言い方をすれば、リレーショナルデータベースを高速コピー可能データベースに変換するクラスでリレーショナルデータベースが「包まれる」と言うことができる。
[0019] 図1は、一部の実施形態による、高速コピー可能データベースシステム100の構成要素を示すシステム図である。図1に示すように、システム100は、ネットワーク105と無線通信又は有線通信する第1の計算装置110と、同じくネットワーク105と無線通信又は有線通信する1つ又は複数の追加の計算装置120とを含む。第1の計算装置110は、オンボードメモリ112と動作可能に通信するプロセッサ111及びディスプレイ113を含む。メモリ112は、1つ又は複数のデータベーステーブル114(即ちリレーショナルデータベースのインスタンス)、高速コピア115、及び(例えば合意アルゴリズムをプロセッサに実施させる)合意命令116を記憶する。各データベーステーブル114は、以下でより詳細に説明する1つ又は複数の複合キー114Aを含む。1つ又は複数の更なる計算装置120からの各計算装置は、オンボードメモリ122と動作可能に通信するプロセッサ121及び任意選択的に1つ又は複数のインタフェース(例えばディスプレイ、グラフィカルユーザインタフェース(GUI)、無線トランシーバ等)(不図示)を含む。メモリ122は、1つ又は複数のデータベーステーブル124(即ちリレーショナルデータベースのインスタンス)、高速コピア125、及び(例えば合意アルゴリズムをプロセッサに実施させる)合意命令126を含む。
[0049] 一部の実装形態では、階層ツリー(本明細書では「バージョンツリー」とも呼ぶ)及び/又は階層ツリーの表現が、メモリに動作可能に且つ通信可能に結合されるプロセッサ(例えば図1の高速コピア115を実行するプロセッサ111等)によって行われるインクリメンタルガベージコレクションの一種により、削減された形で及び/又はより最適な形で非一時的メモリ内に保たれ及び/又は記憶される。かかる実装形態では、階層ツリーの各ノードが仮想クローン及び一連の複数の整数のシーケンスIDの終点を表す2つのシーケンスIDに関連する。例として、一連のシーケンスID 10、11、12、及び13をシーケンスIDペア(10,13)によって表すことができる。シーケンスID 42とだけ関連するノードは、シーケンスIDペア(42,42)と示す。本明細書で使用するとき、シーケンスIDはバージョンIDと異なるように定義する。シーケンスIDは、階層ツリーの仮想クローンが生成された順番に関する。そのため、特定の仮想クローンのシーケンスID及びバージョンIDは同じ値を有することができ、又は異なってもよい。かかる一部の実装形態では、図5の図(a)~(g)に示すように、バージョンツリーは(a)においてツリーに拡張する前、最初は単一のノード(1,1)しか含まない。高速コピーイベントがバージョンツリー内の新たなノードの作成及び/又は定義を引き起こすたび、次の整数のシーケンスIDがその新たなノードに順番に割り当てられる。そのため、バージョンツリーに追加される第2のノードにはシーケンスID(2,2)が割り当てられ、N番目のノードにはシーケンスID(N,N)が割り当てられる。本明細書で使用するとき、ノードXにシーケンスIDペア(A,B)が指定され、ノードYにシーケンスIDペア(B+1,C)が指定される場合、ノードXは「後継」ノードYを有する。換言すれば、YはXのシーケンスID範囲の直後に来るシーケンスID範囲を表す。メモリ内の(及びデータベース内の)データ構造は、バージョンツリーのノードごとに、自らの後継であるノードへの参照を記憶することができる。後継関係は図5の破線で表す。本明細書で使用するとき「後継」及び「子孫」は(相互排他的ではないが)異なる概念であることに留意されたい。例えば前のノードの後継であるノードは、必ずしもその前のノードの子孫ではなく(例えば図5の(a)において、ノード(6,6)はノード(5,5)の後継だがノード(5,5)の祖先パス上の子孫ではなく)、前のノードの子孫ノードは必ずしもその前のノードの直の後継ではない(例えば図5の(a)において、ノード(6,6)はノード(3,3)の子孫だがノード(3,3)の直の後継ではない)。
・レコードの削除:バージョンNを有する元のレコードを削除するが、それ自体がパス上にない、仮想クローンVから仮想クローンNへのパス上にあるノードの子ごとに元のレコードのコピーを挿入する。
・レコードの追加:同じ祖先パスに関連する重複レコードを回避するために、追加しようとするレコードと共通の少なくとも1つの値(例えば仮想主キー)を含み、且つ同じ祖先パス内にある過去のレコードをまず削除し、次いでバージョンVを有するレコードを追加することができる。
・レコードの追加(任意選択的な改変形態):読み取りがその仮想主キーを有する如何なるレコードも返さないことをまず確実にし、かかるレコードを返す場合はエラーを返し、さもなければバージョンVを有するレコードを追加する。
・レコードの修正:古いレコードを削除し、次いでそのレコードの修正済みのバージョンを追加する。
・クエリ、結合等:結合等の外部キーを伴う操作ではそれを通常通り行うが、仮想クローンVによってアクセス可能であるように同じ祖先パス内にあるバージョン番号を有するレコードだけを2つのテーブルから結合する。
・テーブルの作成/削除:ユーザがテーブルの正当な名前(十分短く最後の文字が下線ではない)を選択することを確実にし、次いでテーブル名に下線を追加する。version__属性を追加する。
・属性の作成/削除:属性の名前が十分短く下線で終わらないことを確実にし、次いで下線を追加する。
[00119] 一部の実装形態では、データベース又はデータ構造を3つの異なるやり方で、つまり通常コピーを定め及び/又は作成することによって、又は「高速コピー」(仮想クローン)を定め及び/又は作成することによって、又は「スナップショット」を定め及び/又は作成することによってコピーすることができる。スナップショットは、変更不能であることによって通常コピー及び高速コピーと異なる。通常コピー及び高速コピーはどちらも変更可能だが、記憶される情報量の点で異なる。
[00124] 1組のキー値ペアをハッシュテーブル等の幾つかのやり方で実装することができる。かかるシステム(又はプロセッサ)は、キーに関連する値をO(1)時間で追加し、削除し、又は修正することができる。かかるシステム(又はプロセッサ)は、キー値ペアを1ペア当たりO(1)時間で未定義の順序で反復処理することもできる。各ペア内の値として空のストリングを有すること等により、かかるデータ構造は親子集合を実装することもできる。そのことは要素に関する親子関係を調べるためにO(1)時間与えるが、AND演算及び合併集合演算等の操作はそれよりも遅くなる。
[00136] 高速コピー可能マップが作成されると、他のデータ構造の高速コピー可能バージョンが作成され得る。例えば高速コピー可能アレイは、実アレイを前の節で説明した高速コピー可能マップ等の高速コピー可能マップと組み合わせることによって構築することができる。最初に、仮想クローン又はビューが1つしかない場合、読み取り及び書き込みがアレイに直接行く。高速コピー後、書き込みはマップに行き、各キー値ペアはキーとしてアレイインデックスを使用し、値としてアレイ要素を使用する。読み取りはマップを最初に確認し、インデックスが見つからない場合はアレイから読み取る。複数の高速コピー操作がマップのツリーをもたらし得る。或る仮想クローン又はビューからの読み取りは、そのキーを有するマップを見つけるまで又は実アレイであるツリーのルートに到達するまでツリーを上がって行く。
[00138] 高速コピー可能ファイルシステムでは、仮想クローン又はビューオブジェクトが全ファイルシステムを表すことができる。仮想クローン又はビューオブジェクトは、ユーザにとってはファイルを含むディレクトリのツリーを含む別個のハードドライブのように見える。高速コピー操作は、ユーザにとってはオリジナルの正確なコピーを有する新たなハードドライブを作成することのように見える。そのため、両方のドライブを独立に修正することができ、何れへの変更も他方に影響を及ぼさない。これは、全てのバージョンからのファイルを含む1つの実ディレクトリを有することによって実施され得る。本明細書に記載の高速コピー可能データベースは、各バージョンのディレクトリツリー及び各ディレクトリ内のファイルへのポインタを記憶する。2つのバージョンがどちらも同一ファイルを含む場合、システムは現実のハードドライブ上で1つの実コピーしか必要でなく、データベースは実コピーへの2つのポインタを記憶することができる。ファイルを認識可能な最後のビューからファイルを削除することによってファイルへの最後のポインタが削除されると、システムは物理ハードドライブ上の物理ファイルを削除する。この手法はコピーをO(1)操作にする。この手法は、重複ファイルの単一コピーだけを記憶することによってハードドライブの空き容量も節約する。
-ファイル、ディレクトリツリー、又はボリュームの高速コピー
-ファイル、ディレクトリツリー、又はボリュームのハッシュの高速計算
-ファイル、ディレクトリツリー、又はボリュームのシリアル化及び逆シリアル化
-(差分コピーに関する)それらのものの部分集合のシリアル化及び逆シリアル化
-書き込み速度よりも読み取り速度を重要視すること
-冗長なディレクトリ、ファイル、及びファイルの一部の自動重複排除
-そのハッシュだけを所与としてファイル又はディレクトリを見つける能力(即ちハッシュはポインタである)
-ファイルシステムのためのメタデータのデータベースに対する読み取り専用SQLクエリ
ボリューム-自らのルートディレクトリを有する/としての仮想ハードドライブ
ディレクトリ-幾らかのメタデータと、0以上(<263)のファイル及びディレクトリのソートされたリスト
ファイル-幾らかのメタデータと、0以上(<263)のバイトのシーケンス
ACL(アクセス制御リスト)-識別情報のグループを含むファイル又はディレクトリ
識別情報-ファイルシステムにアクセスし得る者を表す(ACL内に記憶される)公開鍵
エンティティ-ファイル又はディレクトリ(ACLでもACLでなくてもよい)
チャンク-0からCHUNK_SIZEバイトまでのシーケンス(Javaファイルとして物理的に記憶される)
チャンクツリー-1つのエンティティを表すためにツリー状に構成される1組の1つ以上のチャンク
CHUNK_SIZE=4096(又は異なる定数)
メタデータ-その名前、(複数のやり方で計算される)サイズ、アクセス許可、ユーザ定義メタデータ等を含む、1つのエンティティに関する情報
許可-エンティティは全員のためのREAD許可を有するか、又はREAD許可を有する者の指定のACLグループを有する。WRITEについても同様である。
リンク-このファイルシステムはリンク、ハードリンク、ソフトリンク、シンボリックリンク、エイリアス等を有さない。しかし高速クローニングは同様のものを可能にし、ディレクトリ内のライブラリにリンクを張るのではなく、単純に自分のディレクトリに全ライブラリをコピーすることができ、そうすることはリンクを使用した場合と同じ位少ない記憶域を使用する。
ディレクトリ .and..-データ構造は.or..ディレクトリの存在を反映しない。しかし、「/here/../there」等、インタフェースはそれらを含むユーザからのパスストリングを正しく解釈することができる。
圧縮/暗号化されたディレクトリ-Windows又はOSXのように圧縮され又は暗号化されたディレクトリの等価物はない。しかし、より弱い形の圧縮(チャンクの重複排除)が広く実施される。更に、ディレクトリツリーが自らのファイル及びサブディレクトリのそれぞれについてreadAclフラグを真に設定されている場合、データ、ファイル名、及びディレクトリ名が暗号化されるが、ディレクトリツリーのトポロジ及びファイルサイズは依然として可視である。
Rsync及びTime Machine-一部の例では、ファイルシステムに対して差分コピー及び/又は差分バックアップを実施することができる。
Unix型の許可-高速コピー可能ファイルシステムの性質により、ファイル又はディレクトリに関する固有の概念、所有者、グループ、又はユーザがない。読み取り操作、書き込み操作、及び実行操作のうち、最初の2つだけが有意味である。従って高速コピー可能ファイルシステムは、各ファイル又はフォルダにREAD用の任意選択的なアクセス制御リスト(ACL)及びWRITE用の別のACLを与えることができる。ユーザのアプリケーションがそれ以上のものを要求する場合、ユーザはそれをユーザメタデータの一部として追加することができる。更に、本明細書でのREAD及びWRITEの厳密な定義はUnix及び他のシステムの定義と僅かに異なる。
-ファイル、ディレクトリ、又はボリュームを高速コピーすること
-ファイル又は全ディレクトリツリーのハッシュを得ること
-ファイル、ディレクトリ、又は全ディレクトリツリーのバイト単位のサイズを得ること
-ファイル又はディレクトリツリーをストリーム(例えばJavaストリーム)にシリアル化/逆シリアル化すること
-1組のチャンクをストリーム(例えばJavaストリーム)にシリアル化/逆シリアル化すること
-差分コピーを定めるのを簡単にする情報を得ること(rsync等)
-所与のボリューム内のファイルに関するメタデータのデータベースに対する読み取り専用SQLクエリ
読み取りの欠如=ユーザはデータの暗号化バージョンだけを読み取ることができ、又はファイル若しくはディレクトリを別の位置にコピーすることができ、又はデータをシリアル化/逆シリアル化することができる。
修正=ユーザはデータの任意の部分を変更することができる。ディレクトリでは、ディレクトリ自体の名前を変更すること及びそのディレクトリ内でファイル/ディレクトリを追加/削除することを含むが、そのディレクトリ内のそれらのもののファイル名を読み取ること又は修正することは必ずしも許可しない。
1.filesystem-2バイト-最後に修正されたときのファイルシステムのバージョン
2.entity type-1バイト
0x00=ENTITY_FILE=ファイル
0x01=ENTITY_DIR=ディレクトリ
0x80=ACL_FILE=ACLグループを表すファイル
0x81=ACL_DIR=ACLグループを表すディレクトリ
3.size-8バイト-チャンクのデデュープが一切ない場合のこのファイル又は単一のディレクトリ内のバイト数
4.sizeSMetadata-8バイト-センシティブメタデータのバイト数
5.sizeVMetadata-8バイト-可変メタデータのバイト数
6.sizeTree-8バイト-ディレクトリについてのみ存在する。デデュープが一切ない場合のこのディレクトリツリー内のファイル及びディレクトリの合計サイズ
7.readALL-1バイト-このファイル又はディレクトリに対するREAD許可を全員が有する場合は真(0x01)である。さもなければ、かかる許可をACLに限定するために偽(0x00)である。
8.writeALL-1バイト-このファイル又はディレクトリに対するWRITE許可を全員が有する場合は真(0x01)である。さもなければ、かかる許可をACLに限定するために偽(0x00)である。
9.name-ファイル名又はディレクトリ名は、String.length()<=255を有する非空のストリング(例えばJavaストリング)である。同様に述べると、最大で255のUTF-16コード単位。一部の例では、スラッシュ及びコロンを含む全てのユニコード文字が許可される。一部の例ではパス長の制限がない。
10.userMetadata-キー値ペアのリストであり、キー及び値がどちらもストリングであり(例えば任意の正当なJava Stringでもよく)、同じキーについて複数のペアが存在し得る。ユーザがペアを追加するためにメソッドを呼び出さない限りこれは空である。
11.readAcl-32バイト-readAllが偽の場合に存在する-READ許可を有するIDのACLグループを表すACLファイル又はACLディレクトリツリーのハッシュ。システムはディレクトリのreadAclが、ディレクトリ内に記憶されているACLファイル又はACLディレクトリのハッシュであることを確実にすることができる。ファイルのreadAclは、ファイルと同じディレクトリ内に記憶されているACLファイル又はACLディレクトリのハッシュであり得る。
12.writeAclHash-32バイト-writeAllが偽の場合に存在する-readAclと同様だが、ことによると異なるエンティティを指すハッシュ。
13.encryptedKeys-readAllが偽の場合に存在する。ACLグループ内の公開鍵当たり1つの暗号化キーのリスト。ACLグループ内のIDのソートされたリストに対応する順序で、このリストは8バイト数と、その後に続く暗号化キーのそれぞれとして記憶される。
-前回のサインド状態(signed state)以降のファイルシステムデータベースの及び現在のイベントリストのスナップショットを撮るステップと、
-ディスクメモリにそのスナップショットをシリアル化するステップと、
-それらの新たなファイルが今では公式バックアップであることを示すためにディスクメモリ上のバイトを変更するステップと
を含む操作を定期的に行うことができる。
-最新のサインド状態をロードすること、
-最新の公式バックアップからイベントを逆シリアル化すること、
-最新の公式バックアップからデータベースを逆シリアル化すること、
-同期と共に通常の高速コピー可能ファイルシステムプラットフォームを実行し始めること等
を行うことができる。
Claims (21)
- プロセッサと、
前記プロセッサと電子通信するメモリと、を備え、
前記プロセッサは、
データベーステーブルの複数の仮想クローンの表現を含む階層ツリーを生成することであって、前記複数の仮想クローンは第1の仮想クローン、前記第1の仮想クローンの子の仮想クローンである第2の仮想クローン、及び前記第2の仮想クローンの後継仮想クローンである第3の仮想クローンを含む、生成すること、
前記第2の仮想クローンを削除するための命令に応答し、前記階層ツリー内の且つ前記第3の仮想クローンに関連する後継関係を修正すること、
前記第2の仮想クローンを削除するための前記命令に応答して前記第2の仮想クローンを削除すること、及び
前記第2の仮想クローンを削除するための前記命令に応答し、前記第2の仮想クローンの前記削除後に前記第1の仮想クローンが子の仮想クローンを有さない場合、前記複数の仮想クローンから前記第1の仮想クローンを削除すること、
を行うための命令を実行するように構成されている、機器。 - 前記複数の仮想クローンが、前記第1の仮想クローンの後継仮想クローンである第4の仮想クローンを更に含み、前記命令は、前記第2の仮想クローンを削除するための前記命令及び前記第2の仮想クローンの削除後に前記第4の仮想クローンが前記第1の仮想クローンの唯一の子孫だという判定に応答し、前記第4の仮想クローンに関連する後継関係を修正することを前記プロセッサに行わせるために更に実行可能である、請求項1に記載の機器。
- 前記命令が、
前記複数の仮想クローンの中の1つの仮想クローンである、第4の仮想クローンを自動で識別することであって、前記第4の仮想クローンは、子の仮想クローンを有さない、識別すること、及び
前記自動で識別することに基づいて前記第4の仮想クローンを削除すること、
を前記プロセッサに行わせるために更に実行可能である、請求項1に記載の機器。 - 前記命令が、
前記複数の仮想クローンの中の1つの仮想クローンである、第4の仮想クローンを自動で識別することであって、前記第4の仮想クローンは、子の仮想クローンを有さない、識別すること、並びに
前記自動で識別することに応答して
前記複数の仮想クローンからの第5の仮想クローンに関連する後継関係を修正すること、及び
前記第4の仮想クローンを削除すること、
を前記プロセッサに行わせるために更に実行可能である、請求項1に記載の機器。 - 前記命令が、前記第3の仮想クローンに関連する前記後継関係を修正することに応答し、前記複数の仮想クローンから少なくとも1つの更なる仮想クローンを削除することを引き起こすことを前記プロセッサに行わせるために更に実行可能である、請求項1に記載の機器。
- 前記後継関係が第1の後継関係であり、前記メモリが前記第1の後継関係を含む複数の後継関係を更に記憶する、請求項1に記載の機器。
- 前記データベーステーブルが複数のレコードを含み、前記複数のレコードからの各レコードが、前記複数の仮想クローンからの仮想クローンに関連するバージョン識別子を含む複合キーを含む、請求項1に記載の機器。
- データベーステーブルの複数の仮想クローンの表現を含む階層ツリーを、プロセッサを介して、生成することであって、前記データベーステーブルが複数のレコードを含み、前記複数のレコードからの各レコードが、前記複数の仮想クローンからの仮想クローンに関連するバージョン識別子を有する複合キーを含み、前記複数の仮想クローンは第1の仮想クローン、前記第1の仮想クローンの子の仮想クローンである第2の仮想クローン、及び前記第2の仮想クローンの後継仮想クローンである第3の仮想クローンを含む、生成すること、
前記第2の仮想クローンを削除するための命令を、前記プロセッサを介して、受信すること、及び
前記第2の仮想クローンを削除するための前記命令の受信に応答し、前記階層ツリー内の且つ前記第3の仮想クローンに関連する後継関係を、前記プロセッサを介して、修正すること、
を含む、方法。 - 前記第2の仮想クローンを削除するための前記命令に応答して前記第2の仮想クローンを、前記プロセッサを介して、削除すること、及び、
前記第2の仮想クローンを削除するための前記命令に応答し、前記第2の仮想クローンの前記削除後に前記第1の仮想クローンが子の仮想クローンを有さない場合、前記複数の仮想クローンから前記第1の仮想クローンを、前記プロセッサを介して、削除すること、
を更に含む、請求項8に記載の方法。 - 前記複数の仮想クローンの中の1つの仮想クローンである、第4の仮想クローンを、前記プロセッサを介して、自動で識別することであって、前記第4の仮想クローンは、子の仮想クローンを有さない、識別すること、並びに
前記自動で識別することに応答して
前記複数の仮想クローンからの第5の仮想クローンに関連する後継関係を、前記プロセッサを介して、修正すること、及び
前記第4の仮想クローンを、前記プロセッサを介して、削除すること、
を含む、請求項8に記載の方法。 - 前記第3の仮想クローンに関連する前記後継関係を修正することに応答し、前記複数の仮想クローンから少なくとも1つの更なる仮想クローンを削除することを、前記プロセッサを介して、引き起こすことを更に含む、請求項9に記載の方法。
- データベーステーブルの複数の仮想クローンの表現を含む階層ツリーを生成することであって、前記複数の仮想クローンは第1の仮想クローン、前記第1の仮想クローンの子の仮想クローンである第2の仮想クローン、及び前記第2の仮想クローンの後継仮想クローンである第3の仮想クローンを含む、生成すること、
前記第2の仮想クローンを削除するための命令に応答し、前記階層ツリー内の且つ前記第3の仮想クローンに関連する後継関係を修正すること、及び
前記第2の仮想クローンを削除するための前記命令に応答して前記第2の仮想クローンを削除すること、
を行うためのプロセッサ実行可能命令を含む、非一時的な有形のプロセッサ可読媒体。 - 前記第2の仮想クローンを削除するための前記命令に応答し、前記第2の仮想クローンの前記削除後に前記第1の仮想クローンが子の仮想クローンを有さない場合、前記複数の仮想クローンから前記第1の仮想クローンを削除することを行うためのプロセッサ実行可能命令を更に含む、請求項12に記載の非一時的な有形のプロセッサ可読媒体。
- 前記複数の仮想クローンが、前記第1の仮想クローンの後継仮想クローンである第4の仮想クローンを更に含み、前記有形のプロセッサ可読媒体が、
前記第2の仮想クローンを削除するための前記命令及び前記第2の仮想クローンの削除後に前記第4の仮想クローンが前記第1の仮想クローンの唯一の子孫だという判定に応答し、前記第4の仮想クローンに関連する後継関係を修正することを行うためのプロセッサ実行可能命令を更に含む、
請求項12に記載の非一時的な有形のプロセッサ可読媒体。 - 前記複数の仮想クローンの中の1つの仮想クローンである、第4の仮想クローンを自動で識別することであって、前記第4の仮想クローンは、子の仮想クローンを有さない、識別すること、及び
前記自動で識別することに基づいて前記第4の仮想クローンを削除すること、
を行うためのプロセッサ実行可能命令を更に含む、請求項12に記載の非一時的な有形のプロセッサ可読媒体。 - 前記複数の仮想クローンの中の1つの仮想クローンである、第4の仮想クローンを自動で識別することであって、前記第4の仮想クローンは、子の仮想クローンを有さない、識別すること、並びに
前記自動で識別することに応答して
前記複数の仮想クローンからの第5の仮想クローンに関連する後継関係を修正すること、及び
前記第4の仮想クローンを削除すること
を行うためのプロセッサ実行可能命令を更に含む、請求項12に記載の非一時的な有形のプロセッサ可読媒体。 - 前記第3の仮想クローンに関連する前記後継関係を修正することに応答し、前記複数の仮想クローンから少なくとも1つの更なる仮想クローンを削除することを引き起こすことを行うためのプロセッサ実行可能命令を更に含む、請求項12に記載の非一時的な有形のプロセッサ可読媒体。
- 前記後継関係が第1の後継関係であり、前記有形のプロセッサ可読媒体が、前記第1の後継関係を含む複数の後継関係を記憶することを行うためのプロセッサ実行可能命令を更に含む、請求項12に記載の非一時的な有形のプロセッサ可読媒体。
- 前記データベーステーブルが複数のレコードを含み、前記複数のレコードからの各レコードが、前記複数の仮想クローンからの仮想クローンに関連するバージョン識別子を含む複合キーを含む、請求項12に記載の非一時的な有形のプロセッサ可読媒体。
- 前記複数の仮想クローンが、前記第1の仮想クローンの後継仮想クローンである第4の仮想クローンを更に含み、前記方法が、
前記第2の仮想クローンを削除するための前記命令及び前記第2の仮想クローンの削除後に前記第4の仮想クローンが前記第1の仮想クローンの唯一の子孫だという判定に応答し、前記第4の仮想クローンに関連する後継関係を、前記プロセッサを介して、修正することを更に含む、
請求項9に記載の方法。 - 前記複数の仮想クローンの中の1つの仮想クローンである、第4の仮想クローンを、前記プロセッサを介して、自動で識別することであって、前記第4の仮想クローンは、子の仮想クローンを有さない、識別すること、及び
前記自動で識別することに基づいて前記第4の仮想クローンを、前記プロセッサを介して、削除すること、
を更に含む、請求項8に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762580056P | 2017-11-01 | 2017-11-01 | |
US62/580,056 | 2017-11-01 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020520649A Division JP6798065B2 (ja) | 2017-11-01 | 2018-10-31 | 高速コピー可能データベースを効率的に実装するための方法及び機器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021036464A JP2021036464A (ja) | 2021-03-04 |
JP7170701B2 true JP7170701B2 (ja) | 2022-11-14 |
Family
ID=66244019
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020520649A Active JP6798065B2 (ja) | 2017-11-01 | 2018-10-31 | 高速コピー可能データベースを効率的に実装するための方法及び機器 |
JP2020191399A Active JP7170701B2 (ja) | 2017-11-01 | 2020-11-18 | 高速コピー可能データベースを効率的に実装するための方法及び機器 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020520649A Active JP6798065B2 (ja) | 2017-11-01 | 2018-10-31 | 高速コピー可能データベースを効率的に実装するための方法及び機器 |
Country Status (10)
Country | Link |
---|---|
US (2) | US10489385B2 (ja) |
EP (1) | EP3679492A4 (ja) |
JP (2) | JP6798065B2 (ja) |
KR (2) | KR102188667B1 (ja) |
CN (1) | CN111279329B (ja) |
AU (2) | AU2018359417B2 (ja) |
CA (1) | CA3076257A1 (ja) |
RU (1) | RU2740865C1 (ja) |
SG (2) | SG10202107812YA (ja) |
WO (1) | WO2019089742A1 (ja) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US9529923B1 (en) | 2015-08-28 | 2016-12-27 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
PT3539026T (pt) | 2016-11-10 | 2022-03-08 | Swirlds Inc | Métodos e aparelhos para uma base de dados distribuída que inclui entradas anónimas |
KR102454779B1 (ko) | 2016-12-19 | 2022-10-13 | 스월즈, 인크. | 이벤트들의 삭제를 가능하게 하는 분산 데이터베이스를 위한 방법 및 장치 |
KR102208336B1 (ko) | 2017-07-11 | 2021-01-27 | 스월즈, 인크. | 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치 |
SG10202107812YA (en) | 2017-11-01 | 2021-09-29 | Swirlds Inc | Methods and apparatus for efficiently implementing a fast-copyable database |
US11551212B2 (en) * | 2018-01-10 | 2023-01-10 | Rajeev Malhotra | Methods and systems for management of a blockchain-based computer-enabled networked ecosystem |
US11416629B2 (en) | 2018-01-30 | 2022-08-16 | EMC IP Holding Company LLC | Method for dynamic pseudofs creation and management in a network filesystem |
US11436354B2 (en) | 2018-01-30 | 2022-09-06 | EMC IP Holding Company LLC | Sparse creation of per-client pseudofs in network filesystem with lookup hinting |
US10261865B1 (en) | 2018-04-27 | 2019-04-16 | Cohesity, Inc. | Fast and optimized restore using delta information |
CN113348455A (zh) * | 2018-06-29 | 2021-09-03 | 泽诺塔控股股份公司 | 利用数据控制签名提供数据的认证、不可否认性、受管控的访问和孪生分辨的装置和方法 |
US20220109455A1 (en) * | 2018-06-29 | 2022-04-07 | Zenotta Holding Ag | Apparatus and method for providing authentication, non-repudiation, governed access and twin resolution for data utilizing a data control signature |
WO2020018523A1 (en) * | 2018-07-17 | 2020-01-23 | Jpmorgan Chase Bank, N.A. | System and method for distributed ledger-based software supply chain management |
US11349639B2 (en) | 2018-12-28 | 2022-05-31 | ePIC Blockchain Technologies Inc. | Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms |
CN110224833B (zh) * | 2019-05-20 | 2023-03-10 | 深圳壹账通智能科技有限公司 | 票据数据处理方法和系统 |
AU2020279389A1 (en) | 2019-05-22 | 2021-10-14 | Hedera Hashgraph, Llc | Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database |
EP3983922A1 (en) * | 2019-06-14 | 2022-04-20 | Ailia SA | Method for the execution of an instance of a smart contract by means of a blockchain |
US11132403B2 (en) * | 2019-09-06 | 2021-09-28 | Digital Asset Capital, Inc. | Graph-manipulation based domain-specific execution environment |
US10990879B2 (en) | 2019-09-06 | 2021-04-27 | Digital Asset Capital, Inc. | Graph expansion and outcome determination for graph-defined program states |
US11550775B2 (en) * | 2019-09-25 | 2023-01-10 | Red Hat, Inc. | Time-to-run column for database management systems |
CN112685378A (zh) * | 2019-10-17 | 2021-04-20 | 伊姆西Ip控股有限责任公司 | 用于垃圾回收的方法、设备和计算机可读存储介质 |
AU2019379711B2 (en) | 2019-12-05 | 2022-04-07 | Alipay (Hangzhou) Information Technology Co., Ltd. | Performing map iterations in a blockchain-based system |
JP7419853B2 (ja) | 2020-02-07 | 2024-01-23 | カシオ計算機株式会社 | 情報処理装置及びプログラム |
CN112000671B (zh) * | 2020-08-24 | 2023-09-19 | 中国银行股份有限公司 | 基于区块链的数据库表处理方法、装置及系统 |
CN112035491B (zh) * | 2020-09-30 | 2021-12-28 | 中山大学 | 基于区块链的数据存储方法、电子积分处理方法及系统 |
US11949788B1 (en) * | 2020-11-21 | 2024-04-02 | CodeNotary Inc. | System and method to shorten cryptographic proofs |
CN112651296A (zh) * | 2020-11-23 | 2021-04-13 | 安徽继远软件有限公司 | 一种无先验知识数据质量问题自动探查方法及系统 |
US11573982B2 (en) * | 2020-12-14 | 2023-02-07 | Sap Se | Efficient real-time hierarchy using change events |
US11714573B1 (en) | 2021-03-29 | 2023-08-01 | Amazon Technologies, Inc. | Storage optimization in a distributed object store |
US11886422B1 (en) | 2021-03-29 | 2024-01-30 | Amazon Technologies, Inc. | Transactional protocol for snapshot isolation without synchronized clocks |
US11709809B1 (en) | 2021-03-29 | 2023-07-25 | Amazon Technologies, Inc. | Tree-based approach for transactionally consistent version sets |
US11599514B1 (en) * | 2021-03-29 | 2023-03-07 | Amazon Technologies, Inc. | Transactional version sets |
US11934362B2 (en) * | 2021-07-22 | 2024-03-19 | EMC IP Holding Company LLC | Granular data migration |
US20230109463A1 (en) * | 2021-09-20 | 2023-04-06 | Oracle International Corporation | Practical method for fast graph traversal iterators on delta-logged graphs |
US11809449B2 (en) | 2021-09-20 | 2023-11-07 | EMC IP Holding Company LLC | Granular data replication |
CN113641685B (zh) * | 2021-10-18 | 2022-04-08 | 中国民用航空总局第二研究所 | 一种用于引导航空器的数据处理系统 |
US11704305B1 (en) * | 2022-02-02 | 2023-07-18 | Snowflake Inc. | Optimizations for long-lived statements in a database system |
CN114710444B (zh) * | 2022-03-18 | 2023-11-07 | 北京大学 | 基于塔型摘要和可驱逐流表的数据中心流量统计方法和系统 |
US11940969B2 (en) * | 2022-05-25 | 2024-03-26 | International Business Machines Corporation | Managing locations of derived storage objects |
CN115277680B (zh) * | 2022-07-29 | 2024-04-19 | 山石网科通信技术股份有限公司 | 用于提高同步安全性的文件同步方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005216167A (ja) | 2004-01-30 | 2005-08-11 | Toshiba Corp | データベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラム |
JP2010033227A (ja) | 2008-07-28 | 2010-02-12 | Fuji Xerox Co Ltd | 文書管理装置、文書管理プログラム、及び文書管理システム |
JP2014506345A (ja) | 2010-11-22 | 2014-03-13 | ヒタチ データ システムズ エンジニアリング ユーケー リミテッド | データストレージシステムにおける、ファイルのクローニング及びデクローニング |
Family Cites Families (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4309569A (en) | 1979-09-05 | 1982-01-05 | The Board Of Trustees Of The Leland Stanford Junior University | Method of providing digital signatures |
US5701480A (en) | 1991-10-17 | 1997-12-23 | Digital Equipment Corporation | Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing |
JPH0798669A (ja) | 1993-08-05 | 1995-04-11 | Hitachi Ltd | 分散データベース管理システム |
US5495607A (en) | 1993-11-15 | 1996-02-27 | Conner Peripherals, Inc. | Network management system having virtual catalog overview of files distributively stored across network domain |
US6446092B1 (en) | 1996-11-01 | 2002-09-03 | Peerdirect Company | Independent distributed database system |
US5991414A (en) | 1997-09-12 | 1999-11-23 | International Business Machines Corporation | Method and apparatus for the secure distributed storage and retrieval of information |
US6728713B1 (en) | 1999-03-30 | 2004-04-27 | Tivo, Inc. | Distributed database management system |
US6594328B1 (en) | 1999-07-28 | 2003-07-15 | Motorola, Inc. | Method and apparatus for facilitating an estimation of a carrier frequency error in a receiver of a wireless communication system |
WO2001011843A1 (en) | 1999-08-06 | 2001-02-15 | Sudia Frank W | Blocked tree authorization and status systems |
US6694328B1 (en) * | 2000-01-13 | 2004-02-17 | International Business Machines Corporation | Method for creating queries on version objects |
US6754845B2 (en) | 2000-01-14 | 2004-06-22 | International Business Machines Corporation | Method of achieving optimistic multiple processor agreement in potentially asynchronous networks |
US6584476B1 (en) * | 2000-04-22 | 2003-06-24 | Oracle Corp. | System and method for enforcing referential constraints between versioned database tables |
EP1152330A1 (en) | 2000-05-04 | 2001-11-07 | Carels Innovative Software, BVBA/SPRL | Process for automatically creating and controlling a set of graphical objects in a client server environment |
US6966836B1 (en) | 2000-11-16 | 2005-11-22 | Ea.Com, Inc. | Positive-return gambling |
US6931431B2 (en) | 2001-01-13 | 2005-08-16 | International Business Machines Corporation | Agreement and atomic broadcast in asynchronous networks |
US20020143800A1 (en) * | 2001-01-24 | 2002-10-03 | Henrik Lindberg | Model view controller |
US7711122B2 (en) | 2001-03-09 | 2010-05-04 | Arcot Systems, Inc. | Method and apparatus for cryptographic key storage wherein key servers are authenticated by possession and secure distribution of stored keys |
US7062490B2 (en) | 2001-03-26 | 2006-06-13 | Microsoft Corporation | Serverless distributed file system |
US7088821B2 (en) | 2001-05-03 | 2006-08-08 | Cheman Shaik | Absolute public key cryptographic system and method surviving private-key compromise with other advantages |
US8868467B2 (en) | 2002-10-23 | 2014-10-21 | Oleg Serebrennikov | Method for performing transactional communication using a universal transaction account identifier assigned to a customer |
JP2003202964A (ja) | 2002-01-09 | 2003-07-18 | Hitachi Ltd | 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置 |
US7146009B2 (en) | 2002-02-05 | 2006-12-05 | Surety, Llc | Secure electronic messaging system requiring key retrieval for deriving decryption keys |
US7558883B1 (en) | 2002-06-28 | 2009-07-07 | Microsoft Corporation | Fast transaction commit |
RU2376635C2 (ru) | 2002-10-23 | 2009-12-20 | Закрытое акционерное общество "МедиаЛингва" | Способ и система проведения транзакций в сети с использованием сетевых идентификаторов |
US8311980B2 (en) | 2002-12-09 | 2012-11-13 | Hewlett-Packard Development Company, L.P. | Namespace consistency for a wide-area file system |
FI118619B (fi) | 2003-05-16 | 2008-01-15 | Jarmo Talvitie | Menetelmä ja järjestelmä tiedon salaamiseksi ja tallentamiseksi |
US7873684B2 (en) | 2003-08-14 | 2011-01-18 | Oracle International Corporation | Automatic and dynamic provisioning of databases |
US20090193260A1 (en) | 2004-02-06 | 2009-07-30 | Gentry Craig B | Method and apparatus for secure and small credits for verifiable service provider metering |
CA2469598A1 (en) * | 2004-06-01 | 2005-12-01 | Daniel W. Onischuk | Computerized voting system |
US7844745B1 (en) | 2004-08-19 | 2010-11-30 | Nortel Networks Limited | Alternate home subscriber server (HSS) node to receive a request if a first HSS node cannot handle said request |
US7389314B2 (en) | 2004-08-30 | 2008-06-17 | Corio, Inc. | Database backup, refresh and cloning system and method |
US7657543B1 (en) | 2004-10-12 | 2010-02-02 | Sun Microsystems, Inc. | Method and system for creating and using shadow roots |
US7555516B2 (en) | 2004-11-23 | 2009-06-30 | Microsoft Corporation | Fast Paxos recovery |
US7783664B2 (en) | 2004-12-17 | 2010-08-24 | Microsoft Corporation | Method and system for protecting the consistency of information in a distributed file system |
US9361311B2 (en) | 2005-01-12 | 2016-06-07 | Wandisco, Inc. | Distributed file system using consensus nodes |
US7890508B2 (en) | 2005-08-19 | 2011-02-15 | Microsoft Corporation | Database fragment cloning and management |
US7636704B2 (en) | 2005-08-26 | 2009-12-22 | Emc Corporation | Methods and apparatus for scheduling an action on a computer |
US8533169B1 (en) | 2005-09-21 | 2013-09-10 | Infoblox Inc. | Transactional replication |
US7797457B2 (en) | 2006-03-10 | 2010-09-14 | Microsoft Corporation | Leaderless byzantine consensus |
JP5211342B2 (ja) | 2007-01-12 | 2013-06-12 | 国立大学法人山梨大学 | 秘匿通信方法 |
US9104962B2 (en) | 2007-03-06 | 2015-08-11 | Trion Worlds, Inc. | Distributed network architecture for introducing dynamic content into a synthetic environment |
US20080256078A1 (en) | 2007-04-10 | 2008-10-16 | Venkat Bhashyam | Secure distributed computing engine and database system |
US7899188B2 (en) | 2007-05-31 | 2011-03-01 | Motorola Mobility, Inc. | Method and system to authenticate a peer in a peer-to-peer network |
WO2009009754A2 (en) | 2007-07-12 | 2009-01-15 | Cornell Research Foundation, Inc. | Semantic transactions in online applications |
US7877331B2 (en) | 2007-09-06 | 2011-01-25 | King Fahd University Of Petroleum & Minerals | Token based new digital cash protocols with combined blind digital signature and pseudonym authentication |
US7849223B2 (en) | 2007-12-07 | 2010-12-07 | Microsoft Corporation | Virtually synchronous Paxos |
US8176497B2 (en) | 2008-01-16 | 2012-05-08 | Dell Products, Lp | Method to dynamically provision additional computer resources to handle peak database workloads |
US8370391B2 (en) | 2008-03-25 | 2013-02-05 | Microsoft Corporation | Functional updates for tree processing |
US8037279B2 (en) * | 2008-06-12 | 2011-10-11 | Oracle America, Inc. | Method and system for cross-domain data sharing |
CN101334797B (zh) | 2008-08-04 | 2010-06-02 | 中兴通讯股份有限公司 | 一种分布式文件系统及其数据块一致性管理的方法 |
US8533582B2 (en) | 2009-03-20 | 2013-09-10 | Xerox Corporation | Trail-based data content discovery, organization, and processing |
US8713038B2 (en) | 2009-04-02 | 2014-04-29 | Pivotal Software, Inc. | Integrating map-reduce into a distributed relational database |
US8571519B2 (en) | 2009-05-07 | 2013-10-29 | Nokia Corporation | Method and apparatus for using pseudonyms |
EP2443574A4 (en) | 2009-06-19 | 2014-05-07 | Blekko Inc | EVOLVING CLUSTER DATABASE |
GB0914815D0 (en) | 2009-08-25 | 2009-09-30 | Univ City | Improvements relating to database replication protocols |
EP2348450B1 (en) | 2009-12-18 | 2013-11-06 | CompuGroup Medical AG | Database system, computer system, and computer-readable storage medium for decrypting a data record |
US8380659B2 (en) | 2010-02-09 | 2013-02-19 | Google Inc. | Method and system for efficiently replicating data in non-relational databases |
US8862617B2 (en) | 2010-02-09 | 2014-10-14 | Google Inc. | System and method for replicating objects in a distributed storage system |
US20130145426A1 (en) | 2010-03-12 | 2013-06-06 | Michael Wright | Web-Hosted Self-Managed Virtual Systems With Complex Rule-Based Content Access |
US20110250974A1 (en) | 2010-04-07 | 2011-10-13 | Gary Stephen Shuster | Simulated gaming using prior game outcome |
US8654650B1 (en) | 2010-04-30 | 2014-02-18 | Amazon Technologies, Inc. | System and method for determining node staleness in a distributed system |
JP5431261B2 (ja) | 2010-07-23 | 2014-03-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報管理システム、方法及びプログラム |
US8880486B2 (en) | 2010-07-27 | 2014-11-04 | Sap Ag | Distributed database system utilizing an extended two-phase-commit process |
US20140310243A1 (en) | 2010-08-16 | 2014-10-16 | Mr. Steven James McGee | Heart beacon cycle |
US8600944B2 (en) | 2010-09-24 | 2013-12-03 | Hitachi Data Systems Corporation | System and method for managing integrity in a distributed database |
US8818963B2 (en) * | 2010-10-29 | 2014-08-26 | Microsoft Corporation | Halloween protection in a multi-version database system |
WO2012070292A1 (ja) | 2010-11-22 | 2012-05-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 分散データベースの負荷均衡のためのコネクション配分を実現する情報処理システム、情報処理装置、負荷均衡方法、データベース配置計画方法およびプログラム |
US9805108B2 (en) | 2010-12-23 | 2017-10-31 | Mongodb, Inc. | Large distributed database clustering systems and methods |
KR101758883B1 (ko) | 2011-01-10 | 2017-07-31 | 스토론 리미티드 | 라지 스케일 스토리지 시스템 |
US8799247B2 (en) | 2011-02-11 | 2014-08-05 | Purdue Research Foundation | System and methods for ensuring integrity, authenticity, indemnity, and assured provenance for untrusted, outsourced, or cloud databases |
US8612386B2 (en) | 2011-02-11 | 2013-12-17 | Alcatel Lucent | Method and apparatus for peer-to-peer database synchronization in dynamic networks |
US8712975B2 (en) | 2011-03-08 | 2014-04-29 | Rackspace Us, Inc. | Modification of an object replica |
US8799248B2 (en) | 2011-04-26 | 2014-08-05 | Brian J. Bulkowski | Real-time transaction scheduling in a distributed database |
US8732140B2 (en) | 2011-05-24 | 2014-05-20 | Red Lambda, Inc. | Methods for storing files in a distributed environment |
WO2013019892A1 (en) | 2011-08-01 | 2013-02-07 | Tagged, Inc. | Generalized reconciliation in a distributed database |
US20130110767A1 (en) | 2011-10-26 | 2013-05-02 | Nec Laboratories America, Inc. | Online Transaction Processing |
US9489429B2 (en) | 2011-11-16 | 2016-11-08 | Hitachi, Ltd. | Computer system, data management method, and program |
US9244717B2 (en) | 2012-03-29 | 2016-01-26 | Vmware, Inc. | Method and system for visualizing linked clone trees |
US9710501B2 (en) * | 2012-03-30 | 2017-07-18 | Kinaxis Inc. | Enhanced performance for large versioned databases |
RU2510623C2 (ru) | 2012-04-19 | 2014-04-10 | Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) | Способ репликации информации в распределенных базах данных с конкурентным распределением потоков |
US20150172412A1 (en) | 2012-07-06 | 2015-06-18 | Cornell University | Managing dependencies between operations in a distributed system |
CN102819585B (zh) * | 2012-07-31 | 2015-04-22 | 北大方正集团有限公司 | 一种xml数据库文档控制方法 |
FR2995437B1 (fr) | 2012-09-07 | 2014-10-10 | Commissariat Energie Atomique | Dispositif de controle nucleaire pour reacteur refroidi au metal liquide de type rnr. |
US8775464B2 (en) | 2012-10-17 | 2014-07-08 | Brian J. Bulkowski | Method and system of mapreduce implementations on indexed datasets in a distributed database environment |
US9760596B2 (en) | 2013-05-13 | 2017-09-12 | Amazon Technologies, Inc. | Transaction ordering |
US8886601B1 (en) | 2013-06-20 | 2014-11-11 | Palantir Technologies, Inc. | System and method for incrementally replicating investigative analysis data |
US10354325B1 (en) | 2013-06-28 | 2019-07-16 | Winklevoss Ip, Llc | Computer-generated graphical user interface |
JP5971420B2 (ja) | 2013-07-19 | 2016-08-17 | 富士通株式会社 | 状態復元プログラム、装置、及び支援方法 |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
US9251235B1 (en) | 2013-09-11 | 2016-02-02 | Amazon Technologies, Inc. | Log-based synchronization |
US9280591B1 (en) | 2013-09-20 | 2016-03-08 | Amazon Technologies, Inc. | Efficient replication of system transactions for read-only nodes of a distributed database |
RU2560810C2 (ru) | 2013-11-01 | 2015-08-20 | Илья Самуилович Рабинович | Способ и система защиты информации от несанкционированного использования (ее варианты) |
US10311152B2 (en) | 2013-12-20 | 2019-06-04 | Hitachi Vantara Corporation | System for queue based object cloning |
WO2015106248A1 (en) | 2014-01-13 | 2015-07-16 | Visa International Service Association | Efficient methods for protecting identity in authenticated transmissions |
WO2015108520A1 (en) | 2014-01-16 | 2015-07-23 | Hewlett-Packard Development Company, L. P. | Node cluster synchronization |
US20150244795A1 (en) | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
US10334037B2 (en) | 2014-03-31 | 2019-06-25 | Yaana Technologies, Inc. | Peer-to-peer rendezvous system for minimizing third party visibility and method thereof |
US9519510B2 (en) | 2014-03-31 | 2016-12-13 | Amazon Technologies, Inc. | Atomic writes for multiple-extent operations |
US11270298B2 (en) | 2014-04-14 | 2022-03-08 | 21, Inc. | Digital currency mining circuitry |
US10419457B2 (en) | 2014-04-30 | 2019-09-17 | Hewlett Packard Enterprise Development Lp | Selecting from computing nodes for correlating events |
US9189342B1 (en) | 2014-05-29 | 2015-11-17 | Emc Corporation | Generic process for determining child to parent inheritance for fast provisioned or linked clone virtual machines |
US10025802B2 (en) | 2014-09-19 | 2018-07-17 | Amazon Technologies, Inc. | Automated configuration of log-coordinated storage groups |
US10111071B2 (en) | 2014-09-19 | 2018-10-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Bluetooth low energy automation mesh network |
EP3002661A1 (en) | 2014-09-30 | 2016-04-06 | Advanced Digital Broadcast S.A. | System and method for controlling a virtual input interface |
KR101544722B1 (ko) | 2014-11-13 | 2015-08-18 | 주식회사 엘지씨엔에스 | 부인 방지 방법, 이를 위한 결제 관리 서버 및 사용자 단말기 |
US9842031B1 (en) | 2014-12-08 | 2017-12-12 | Amazon Technologies, Inc. | Incremental updates to user transaction state at read-only nodes of a distributed database |
US11012806B2 (en) | 2015-01-09 | 2021-05-18 | Ariba, Inc. | Multi-adapter support in the cloud |
AU2016211551B2 (en) | 2015-01-27 | 2020-03-12 | Visa International Service Association | Methods for secure credential provisioning |
US9967091B2 (en) | 2015-02-12 | 2018-05-08 | Xerox Corporation | Method for enhancing security in distributed systems |
US20160283920A1 (en) | 2015-03-28 | 2016-09-29 | Justin Fisher | Authentication and verification of digital data utilizing blockchain technology |
WO2016160416A1 (en) | 2015-04-01 | 2016-10-06 | Ab Inito Technology Llc | Processing database transactions in a distributed computing system |
US9568943B1 (en) | 2015-04-27 | 2017-02-14 | Amazon Technologies, Inc. | Clock-based distributed data resolution |
US10026082B2 (en) | 2015-05-21 | 2018-07-17 | Mastercard International Incorporated | Method and system for linkage of blockchain-based assets to fiat currency accounts |
US10097356B2 (en) | 2015-07-02 | 2018-10-09 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
US10747753B2 (en) | 2015-08-28 | 2020-08-18 | 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 |
US9529923B1 (en) | 2015-08-28 | 2016-12-27 | 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 |
US10303887B2 (en) | 2015-09-14 | 2019-05-28 | T0.Com, Inc. | Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree |
US9836366B2 (en) | 2015-10-27 | 2017-12-05 | Netapp, Inc. | Third vote consensus in a cluster using shared storage devices |
US20170300550A1 (en) * | 2015-11-02 | 2017-10-19 | StoreReduce | Data Cloning System and Process |
US20170180367A1 (en) | 2015-12-16 | 2017-06-22 | ClearChat, Inc. | System And Method For Encrypted And Authenticated Electronic Messaging Using A Central Address Book |
US11423053B2 (en) | 2016-01-30 | 2022-08-23 | Micro Focus Llc | Log event cluster analytics management |
KR20190013729A (ko) | 2016-04-04 | 2019-02-11 | 포뮬루스 블랙 코포레이션 | 고속 시스템 상태 클로닝 |
TW201810989A (zh) | 2016-05-18 | 2018-03-16 | 納格維遜股份有限公司 | 用以保護密碼指數的方法及系統 |
US9646029B1 (en) | 2016-06-02 | 2017-05-09 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
US10396991B2 (en) | 2016-06-30 | 2019-08-27 | Microsoft Technology Licensing, Llc | Controlling verification of key-value stores |
WO2018006072A1 (en) | 2016-06-30 | 2018-01-04 | Clause, Inc. | Systems and method for forming, storing, managing,and executing contracts |
US10956400B2 (en) * | 2016-07-15 | 2021-03-23 | Sap Se | Query processing using primary data versioning and secondary data |
US10367637B2 (en) | 2016-07-22 | 2019-07-30 | Qualcomm Incorporated | Modular exponentiation with transparent side channel attack countermeasures |
US20180101777A1 (en) * | 2016-10-12 | 2018-04-12 | Anuthep Benja-Athon | EM Oracle |
PT3539026T (pt) | 2016-11-10 | 2022-03-08 | Swirlds Inc | Métodos e aparelhos para uma base de dados distribuída que inclui entradas anónimas |
KR102454779B1 (ko) | 2016-12-19 | 2022-10-13 | 스월즈, 인크. | 이벤트들의 삭제를 가능하게 하는 분산 데이터베이스를 위한 방법 및 장치 |
EP3340084A1 (en) | 2016-12-22 | 2018-06-27 | Dassault Systèmes | Replica selection |
CN110430064B (zh) | 2017-03-30 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 区块链系统、消息处理方法及存储介质 |
KR102208336B1 (ko) | 2017-07-11 | 2021-01-27 | 스월즈, 인크. | 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치 |
SG10202107812YA (en) | 2017-11-01 | 2021-09-29 | Swirlds Inc | Methods and apparatus for efficiently implementing a fast-copyable database |
WO2019226099A1 (en) | 2018-05-23 | 2019-11-28 | Haj Enterprise Ab | A system and a method for achieving consensus between multiple parties on an event |
US11379515B2 (en) | 2018-07-09 | 2022-07-05 | Prescient Innovations Inc. | Media attribution systems and methods |
US11163723B2 (en) | 2018-07-19 | 2021-11-02 | Weka.IO Ltd. | Pushing a point in time to a backend object storage for a distributed storage system |
US11334439B2 (en) | 2018-08-29 | 2022-05-17 | International Business Machines Corporation | Checkpointing for increasing efficiency of a blockchain |
AU2020279389A1 (en) | 2019-05-22 | 2021-10-14 | Hedera Hashgraph, Llc | Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database |
US20220107960A1 (en) | 2020-10-06 | 2022-04-07 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
-
2018
- 2018-10-31 SG SG10202107812YA patent/SG10202107812YA/en unknown
- 2018-10-31 WO PCT/US2018/058432 patent/WO2019089742A1/en unknown
- 2018-10-31 CA CA3076257A patent/CA3076257A1/en active Pending
- 2018-10-31 RU RU2020113415A patent/RU2740865C1/ru active
- 2018-10-31 AU AU2018359417A patent/AU2018359417B2/en active Active
- 2018-10-31 CN CN201880069335.5A patent/CN111279329B/zh active Active
- 2018-10-31 EP EP18874680.4A patent/EP3679492A4/en active Pending
- 2018-10-31 JP JP2020520649A patent/JP6798065B2/ja active Active
- 2018-10-31 KR KR1020207014386A patent/KR102188667B1/ko active IP Right Grant
- 2018-10-31 KR KR1020207034781A patent/KR102452425B1/ko active IP Right Grant
- 2018-10-31 SG SG11202002308RA patent/SG11202002308RA/en unknown
- 2018-10-31 US US16/176,125 patent/US10489385B2/en active Active
-
2019
- 2019-11-18 US US16/686,796 patent/US11537593B2/en active Active
-
2020
- 2020-06-17 AU AU2020204053A patent/AU2020204053B2/en active Active
- 2020-11-18 JP JP2020191399A patent/JP7170701B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005216167A (ja) | 2004-01-30 | 2005-08-11 | Toshiba Corp | データベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラム |
JP2010033227A (ja) | 2008-07-28 | 2010-02-12 | Fuji Xerox Co Ltd | 文書管理装置、文書管理プログラム、及び文書管理システム |
JP2014506345A (ja) | 2010-11-22 | 2014-03-13 | ヒタチ データ システムズ エンジニアリング ユーケー リミテッド | データストレージシステムにおける、ファイルのクローニング及びデクローニング |
Also Published As
Publication number | Publication date |
---|---|
RU2740865C1 (ru) | 2021-01-21 |
JP2021501931A (ja) | 2021-01-21 |
CN111279329B (zh) | 2021-07-06 |
US11537593B2 (en) | 2022-12-27 |
JP6798065B2 (ja) | 2021-02-03 |
AU2020204053A1 (en) | 2020-07-09 |
KR102452425B1 (ko) | 2022-10-06 |
RU2020134660A3 (ja) | 2022-03-22 |
AU2018359417B2 (en) | 2020-04-16 |
KR20200138450A (ko) | 2020-12-09 |
US20200097459A1 (en) | 2020-03-26 |
CA3076257A1 (en) | 2019-05-09 |
CN113377836A (zh) | 2021-09-10 |
EP3679492A4 (en) | 2021-01-20 |
AU2018359417A1 (en) | 2020-04-02 |
KR102188667B1 (ko) | 2020-12-08 |
JP2021036464A (ja) | 2021-03-04 |
US10489385B2 (en) | 2019-11-26 |
KR20200062348A (ko) | 2020-06-03 |
CN111279329A (zh) | 2020-06-12 |
SG11202002308RA (en) | 2020-04-29 |
WO2019089742A1 (en) | 2019-05-09 |
SG10202107812YA (en) | 2021-09-29 |
EP3679492A1 (en) | 2020-07-15 |
RU2020134660A (ru) | 2020-11-06 |
US20190129893A1 (en) | 2019-05-02 |
AU2020204053B2 (en) | 2022-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7170701B2 (ja) | 高速コピー可能データベースを効率的に実装するための方法及び機器 | |
US11520780B2 (en) | Distributed database systems and structures | |
JP3910221B2 (ja) | オブジェクト指向データベース管理システム及び方法 | |
US8200706B1 (en) | Method of creating hierarchical indices for a distributed object system | |
JP4583377B2 (ja) | ハードウェア/ソフトウェアインターフェースシステムにより管理可能な情報のユニットに対する関係および階層の同期サービスを実現するシステムおよび方法 | |
JP4583376B2 (ja) | ハードウェア/ソフトウェアインタフェースシステムにより管理可能な情報のユニットに対する同期処理サービスを実現するシステムおよび方法 | |
WO2012075475A2 (en) | File system backup using change journal | |
JP2007521533A (ja) | アプリケーションプログラムをアイテムベースのストレージプラットフォームとインターフェースするためのシステムおよび方法 | |
US20070156791A1 (en) | File system dump/restore by node numbering | |
US20190392051A1 (en) | Shard-level synchronization of cloud-based data store and local file system with dynamic sharding | |
JP4580390B2 (ja) | ハードウェア/ソフトウェアインターフェイスシステムによって管理可能な情報単位の拡張および継承のためのシステムおよび方法 | |
JP4583375B2 (ja) | 同期スキーマの実装のためのシステム | |
Carter et al. | Nanosecond indexing of graph data with hash maps and VLists | |
CN113377836B (zh) | 用于高效地实现可快速复制的数据库的方法和装置 | |
RU2785613C2 (ru) | Способы и устройство для эффективной реализации базы данных, поддерживающей быстрое копирование | |
JP2005032271A (ja) | オブジェクト指向データベース管理システム及び方法 | |
WO2014118560A1 (en) | Method and system for data storage | |
Krogh et al. | Developing Applications Using SQL with MySQL NDB Cluster | |
Brad | Data De-Duplication in NoSQL Databases | |
le Roux et al. | A Cloud Service for Persistent Data Structures | |
Wang | Design and Implementation of a Distributed Snapshot File System. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201201 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210831 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20211119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220624 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220920 |
|
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: 20221003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221101 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7170701 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |