JP6878670B2 - ネットワーク内の分散データベースのための方法及び装置 - Google Patents
ネットワーク内の分散データベースのための方法及び装置 Download PDFInfo
- Publication number
- JP6878670B2 JP6878670B2 JP2020206439A JP2020206439A JP6878670B2 JP 6878670 B2 JP6878670 B2 JP 6878670B2 JP 2020206439 A JP2020206439 A JP 2020206439A JP 2020206439 A JP2020206439 A JP 2020206439A JP 6878670 B2 JP6878670 B2 JP 6878670B2
- Authority
- JP
- Japan
- Prior art keywords
- event
- distributed database
- events
- value
- processor
- 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 title claims description 91
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 230000001052 transient effect Effects 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims 1
- 239000013598 vector Substances 0.000 description 136
- HEFNNWSXXWATRW-UHFFFAOYSA-N Ibuprofen Chemical compound CC(C)CC1=CC=C(C(C)C(O)=O)C=C1 HEFNNWSXXWATRW-UHFFFAOYSA-N 0.000 description 43
- 230000006870 function Effects 0.000 description 29
- 230000008569 process Effects 0.000 description 28
- 238000004891 communication Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010367 cloning Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 108091035707 Consensus sequence Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 240000008042 Zea mays Species 0.000 description 1
- 235000005824 Zea mays ssp. parviglumis Nutrition 0.000 description 1
- 235000002017 Zea mays subsp mays Nutrition 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 235000005822 corn Nutrition 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000007704 transition 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
-
- 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
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Description
− アリスはボブに、分散データベース703に記憶されたイベントを送信する。
− ボブは、
−− ボブが作成及び/又は定義した最新のイベントのハッシュ、
−− アリスが作成及び/又は定義した最新のイベントのハッシュ、
−− 上記のボブによるデジタル署名
を含む新しいイベントを作成及び/又は定義する。
− ボブはアリスに、分散データベース803に記憶されたイベントを送信する。
− アリスは新しいイベントを作成及び/又は定義する。
− アリスはボブにそのイベントを送信する。
− アリスは、hashDAGの関数として、イベントの全順序を計算する。
− ボブは、hashDAGの関数として、イベントの全順序を計算する。
− アリスは、ボブにより作成及び/又は定義されたイベント又はボブにより作成及び/又は定義されたイベントの先祖であるイベントを飛ばして、アリスが受信及び/又は記憶したイベントの組Sを識別する。
− アリスは、S中の各イベントを作成及び/又は定義したメンバを識別し、ボブにメンバのID番号のリストを送信する。アリスはまた、既に受信及び/又は記憶した、各メンバにより作成及び/又は定義されたイベントの数も送信する。
− ボブは、他のメンバにより作成及び/又は定義され、ボブにより受信されたイベント数のリストで返信する。
− 次に、アリスはボブに、ボブが依然として受信していないイベントのみを送信する。例えば、アリス及びボブに、アリスがキャロルにより作成及び/又は定義された100のイベントを受信したことを示し、ボブが、キャロルにより作成及び/又は定義された95のイベントを受信したと返信する場合、アリスは、キャロルにより作成及び/又は定義された最新の5つのイベントのみを送信する。
全てのiについて、rank(i,k)<rank(i,y)
であり、式中、rank(i,x)は、メンバiによりイベントxに割り当てられるランクであり、これは、xがメンバiにより受信される最初のイベントである場合に1であり、2番目のイベントである場合に2であり、以下同様である。med(x)を全てのiにわたるrank(i,x)のメジアンとし、med(y)も同様とする。
rank(i1,x)<rank(i2,y)
である。
1ゴシップ期間後:全メンバは、イベントを受信しており、
2ゴシップ期間後:全メンバは、それらのイベントの順序に合意し、
3ゴシップ期間後:全メンバは、合意に達したことを知り、
4ゴシップ期間後:全メンバは、他の全てのメンバからデジタル署名を取得し、このコンセンサス順序を承認する。
(1.アリス,2.ボブ,3.キャロル,4.デーブ,5.エド,6.フランク)、
(1.ボブ,2.アリス,3.キャロル,4.デーブ,5.エド,6.フランク)、
(1.ボブ,2.アリス,3.キャロル,4.デーブ,5.フランク,6.エド)、
(1.アリス,2.ボブ,3.キャロル,4.エド,5.デーブ,6.フランク)、及び
(1.アリス,2.ボブ,3.エド,4.キャロル,5.デーブ,6.フランク)
である。
アリス:(1,2,2,1,1);メジアンランク=1
ボブ:(2,1,1,2,2);メジアンランク=2
キャロル:(3,3,3,3,4);メジアンランク=3
デーブ:(4,4,4,5,5);メジアンランク=4
エド:(5,5,6,4,3);メジアンランク=5
フランク:(6,6,5,6,6);メジアンランク=6
(1.アリス)、
(2.ボブ)、
(3.キャロル)、
(1.アリス,2.ボブ)、
(2.ボブ,3.キャロル)、
(1.ボブ,2.アリス,3.キャロル)、
(1.キャロル,2.ボブ,3.アリス)等
を表す暗号ハッシュと異なる。
Claims (64)
- 複数の計算デバイスに動作可能に結合されるネットワークを介して分散データベースを実装する前記複数の計算デバイス内に含まれるように構成される第1の計算デバイスにおける、前記分散データベースのインスタンスに関連付けられたメモリと、
前記メモリに動作可能に結合されるプロセッサと
を含み、
前記プロセッサは、第1の時間において、(1)前記第1の計算デバイスによって定義され、且つ(2)第1の複数の分散データベースイベントにリンクされる第1の分散データベースイベントを識別するように構成され、
前記プロセッサは、前記第1の時間後の第2の時間において、(1)前記複数の計算デバイスからの第2の計算デバイスによって定義され、且つ(2)第2の複数の分散データベースイベントにリンクされる第2の分散データベースイベントを表す信号を受信するように構成され、
前記プロセッサは、第3の複数の分散データベースイベントからの各分散データベースイベントの第1の属性の値に少なくとも部分的に基づいて、前記第3の複数の分散データベースイベント内の分散データベースイベントの順序を識別するように構成され、前記第3の複数の分散データベースイベントからの各分散データベースイベントの前記第1の属性の前記値は、前記分散データベースイベントと、前記分散データベースイベントの子孫を含む分散データベースイベントの組との関係に基づき、前記分散データベースイベントの組からの各分散データベースイベントは、前記分散データベースイベントの組からの残りの分散データベースイベントと共通する第2の属性に関連付けられ、前記第3の複数の分散データベースイベントからの各分散データベースイベントは、前記第1の複数の分散データベースイベント又は前記第2の複数の分散データベースイベントの少なくとも一方からのものであり、前記第3の複数の分散データベースイベントは、前記分散データベースイベントの組と相互に排他的であり、
前記プロセッサは、前記第3の複数の分散データベースイベントに関連付けられた前記順序を前記メモリに記憶するように構成される、装置。 - 前記第3の複数の分散データベースイベントからの各分散データベースイベントの前記第1の属性の前記値は、前記分散データベースイベントの組に含まれる前記分散データベースイベントの非子孫の数と比較した、前記分散データベースイベントの組に含まれる前記分散データベースイベントの子孫の数に基づく、請求項1に記載の装置。
- 前記分散データベースイベントの組からの各分散データベースイベントは、前記複数の計算デバイスからの一意の計算デバイスによって定義される、請求項1に記載の装置。
- 前記分散データベースイベントの組からの各分散データベースイベントは、前記複数の計算デバイスからの一意の計算デバイスによって定義され、
前記プロセッサは、前記分散データベースイベントを定義した前記複数の計算デバイスからの前記計算デバイスが、第3の属性の特定の値を有する分散データベースイベントを定義した初期インスタンスである、前記分散データベースイベントの組からの各分散データベースイベントに基づいて、前記分散データベースイベントの組からの各分散データベースイベントを識別するように構成され、前記分散データベースイベントの組からの各分散データベースイベントは、前記第3の属性の前記特定の値を有する、請求項1に記載の装置。 - 前記分散データベースイベントの組は、第1の分散データベースイベントの組であり、前記第1の分散データベースイベントの組からの各分散データベースイベントは、前記複数の計算デバイスからの一意の計算デバイスによって定義され、
前記プロセッサは、(1)前記分散データベースイベントを定義した前記複数の計算デバイスからの前記計算デバイスが、第3の属性の特定の値を有する分散データベースイベントを定義した初期インスタンスである、前記第1の分散データベースイベントの組からの各分散データベースイベント及び(2)第2の分散データベースイベントの組が、前記第1の分散データベースイベントの組からの前記分散データベースイベントが第3の分散データベースイベントの組に含まれなければならないことを示す、合意プロトコルの結果に基づいて、前記第1の分散データベースイベントの組からの前記分散データベースイベントを識別するように構成され、前記第1の分散データベースイベントの組は、前記第3の分散データベースイベントの組の部分集合であり、前記第1の分散データベースイベントの組からの各分散データベースイベントは、前記第3の属性の前記特定の値を有する、請求項1に記載の装置。 - 前記第1の複数の分散データベースイベントからの各分散データベースイベント及び前記第2の複数の分散データベースイベントからの各分散データベースイベントは、一連のバイトである、請求項1に記載の装置。
- 前記分散データベースイベントの組は、第1の分散データベースイベントの組であり、前記プロセッサは、第2の分散データベースイベントの組が、前記第1の分散データベースイベントの組からの各分散データベースイベントが第3の分散データベースイベントの組に含まれなければならないことを示す、合意プロトコルの結果に基づいて、前記第1の分散データベースイベントの組からの前記分散データベースイベントを識別するように構成され、前記第2の分散データベースイベントの組は、所定の基準を満たし、前記第1の分散データベースイベントの組は、前記第3の分散データベースイベントの組の部分集合である、請求項1に記載の装置。
- 前記分散データベースイベントの組は、第1の分散データベースイベントの組であり、前記プロセッサは、第2の分散データベースイベントの組が、前記第1の分散データベースイベントの組からの各分散データベースイベントが第3の分散データベースイベントの組に含まれなければならないことを示す、合意プロトコルの結果に基づいて、前記第1の分散データベースイベントの組からの前記分散データベースイベントを識別するように構成され、前記第1の分散データベースイベントの組は、前記第3の分散データベースイベントの組の部分集合であり、
前記プロセッサは、(1)前記第2の分散データベースイベントの組からの前記分散データベースイベントが、第4の分散データベースイベントの組の子孫であること、及び(2)基準を満たす前記第4の分散データベースイベントの組内の分散データベースイベントの数に基づいて、前記第2の分散データベースイベントの組からの各分散データベースイベントを識別するように構成される、請求項1に記載の装置。 - 前記分散データベースイベントの組は、第1の分散データベースイベントの組であり、前記プロセッサは、第2の分散データベースイベントの組が、前記第1の分散データベースイベントの組からの各分散データベースイベントが第3の分散データベースイベントの組に含まれなければならないことを示す、合意プロトコルの結果に基づいて、前記第1の分散データベースイベントの組からの前記分散データベースイベントを識別するように構成され、前記第1の分散データベースイベントの組は、前記第3の分散データベースイベントの組の部分集合であり、
前記プロセッサは、(1)前記第2の分散データベースイベントの組からの前記分散データベースイベントが、第4の分散データベースイベントの組の子孫であること、及び(2)第1の基準を満たす前記第4の分散データベースイベントの組内の分散データベースイベントの数に基づいて、前記第2の分散データベースイベントの組からの各分散データベースイベントを識別するように構成され、
前記第4の分散データベースイベントの組からの各分散データベースイベントは、第5の分散データベースイベントの組の先祖であり、前記第2の分散データベースイベントの組からの各分散データベースイベントは、前記第5の分散データベースイベントの組の子孫であり、
前記プロセッサは、第2の基準を満たす前記第5の分散データベースイベントの組内の分散データベースイベントの数に基づいて、前記第4の分散データベースイベントの組からの各分散データベースイベントを識別するように構成される、請求項1に記載の装置。
、請求項1に記載の装置。 - 前記プロセッサは、前記第3の複数の分散データベースイベントからの各分散データベースイベントの前記第1の属性の前記値と、前記第3の複数の分散データベースイベントからの各分散データベースイベントに関連付けられたタイムスタンプとに少なくとも部分的に基づいて、前記第3の複数の分散データベースイベントに関連付けられた前記順序を識別するように構成される、請求項1に記載の装置。
- 前記プロセッサは、前記第3の複数の分散データベースイベントからの各分散データベースイベントの前記第1の属性の前記値と、前記第3の複数の分散データベースイベントからの各分散データベースイベントの署名とに少なくとも部分的に基づいて、前記第3の複数の分散データベースイベントに関連付けられた前記順序を識別するように構成される、請求項1に記載の装置。
- 前記分散データベースイベントの組は、第1の分散データベースイベントの組であり、
前記プロセッサは、第2の分散データベースイベントの組が、前記第1の分散データベースイベントの組からの各分散データベースイベントが第3の分散データベースイベントの組に含まれなければならないことを示す、合意プロトコルの結果に基づいて、前記第1の分散データベースイベントの組からの前記分散データベースイベントを識別するように構成され、
前記第2の分散データベースイベントの組からの各分散データベースイベントは、(1)前記第1の分散データベースイベントの組からの前記分散データベースイベントに関連付けられ、且つ(2)前記第2の分散データベースイベントの組からの前記分散データベースイベントの先祖の組によって識別される値に基づいて、前記第1の分散データベースイベントの組からの前記分散データベースイベントが前記第3の分散データベースイベントの組に含まれなければならないことを示す、第2の分散データベースイベントの組が示す、請求項1に記載の装置。 - プロセッサによって実行される命令を表すコードを記憶する非一時的プロセッサ可読媒体であって、前記コードは、前記プロセッサに、
分散データベースに関連付けられたトランザクションを含む複数の分散データベースイベントを表す信号を受信することと、
前記複数の分散データベースイベントからの各分散データベースイベントについて、前記分散データベースイベントと、前記分散データベースイベントの子孫を含む分散データベースの組との関係に基づいて、前記複数の分散データベースイベントからの前記分散データベースイベントの受信ラウンドを計算することであって、前記分散データベースイベントの組からの各分散データベースイベントは、有名であると分類される、計算することと、
前記複数の分散データベースイベントからの各分散データベースイベントに関連付けられた前記受信ラウンドに基づいて、前記複数の分散データベースイベントに関連付けられた順序を識別することと、
複数の計算デバイスに動作可能に結合されるネットワークを介して前記分散データベースを実装する前記複数の計算デバイス内に含まれるように構成される第1の計算デバイスにおける、前記分散データベースのインスタンスに関連付けられたメモリに前記順序を記憶することと
を行わせるコードを含む、非一時的プロセッサ可読媒体。 - 前記プロセッサに計算することを行わせる前記コードは、前記プロセッサに、前記複数の分散データベースイベントからの各分散データベースイベントについて、前記分散データベースイベントの組に含まれる前記分散データベースイベントの非子孫の数と比較した、前記分散データベースイベントの組に含まれる前記分散データベースイベントの子孫の数に基づいて、前記分散データベースイベントの前記受信ラウンドを計算することを行わせるコードを含む、請求項13に記載の非一時的プロセッサ可読媒体。
- 前記分散データベースイベントの組は、第1の分散データベースイベントの組であり、前記第1の分散データベースイベントの組からの各分散データベースイベントは、前記複数の計算デバイスからの一意の計算デバイスによって定義され、
前記コードは、前記プロセッサに、
(1)前記分散データベースイベントを定義した前記複数の計算デバイスからの前記計算デバイスが、属性の特定の値を有する分散データベースイベントを定義した初期インスタンスである、前記第1の分散データベースイベントの組からの各分散データベースイベント及び(2)第2の分散データベースイベントの組が、前記第1の分散データベースイベントの組からの前記分散データベースイベントが第3の分散データベースイベントの組に含まれなければならないことを示す、合意プロトコルの結果に基づいて、前記第1の分散データベースイベントの組からの前記分散データベースイベントを有名であると分類することであって、前記第1の分散データベースイベントの組は、前記第3の複数のイベントの部分集合であり、前記第1の分散データベースイベントの組からの各分散データベースイベントは、前記属性の前記特定の値を有する、分類することを行わせるコードを更に含む、請求項13に記載の非一時的プロセッサ可読媒体。 - 前記分散データベースイベントの組からの各分散データベースイベントは、前記複数の計算デバイスからの一意の計算デバイスによって定義される、請求項13に記載の非一時的プロセッサ可読媒体。
- 前記分散データベースイベントの組は、第1の分散データベースイベントの組であり、前記コードは、前記プロセッサに、
第2の分散データベースイベントの組が、前記第1の分散データベースイベントの組からの各分散データベースイベントが第3の分散データベースイベントの組に含まれなければならないことを示す、合意プロトコルの結果に基づいて、前記第1の分散データベースイベントの組からの前記分散データベースイベントを有名であると分類することを行わせるコードを更に含み、
前記第2の分散データベースイベントの組からの各分散データベースイベントは、(1)前記第1の分散データベースイベントの組からの前記分散データベースイベントに関連付けられ、且つ(2)前記第2の分散データベースイベントの組からの前記分散データベースイベントの先祖の組によって識別される値に基づいて、前記第1の分散データベースイベントの組からの前記分散データベースイベントが前記第3の分散データベースイベントの組に含まれなければならないことを示す、第2の分散データベースイベントの組が示す、請求項13に記載の非一時的プロセッサ可読媒体。 - 前記プロセッサに前記順序を識別することを行わせる前記コードは、前記プロセッサに、前記複数の分散データベースイベントからの各分散データベースイベントに関連付けられた前記受信ラウンドと、前記複数の分散データベースイベントからの各分散データベースイベントのタイムスタンプ又は署名の少なくとも一方とに少なくとも部分的に基づいて、前記複数の分散データベースイベントに関連付けられた前記順序を識別することを行わせるコードを含む、請求項13に記載の非一時的プロセッサ可読媒体。
- 第1の時間において、(1)複数の計算デバイスに動作可能に結合されるネットワークを介して分散データベースを実装する前記複数の計算デバイス内に含まれるように構成される第1の計算デバイスによって定義され、且つ(2)第1の複数の分散データデータベースイベントにリンクされる第1の分散データベースイベントを識別することと、
前記第1の時間後の第2の時間において、(1)前記複数の計算デバイスからの第2の計算デバイスによって定義され、且つ(2)第2の複数の分散データベースイベントにリンクされる第2の分散データベースイベントを表す信号を受信することと、
前記分散データベースのインスタンスと関連付けられたプロセッサを用いて、第3の複数の分散データベースイベントからの各分散データベースイベントの第1の属性の値に少なくとも部分的に基づいて、前記第3の複数の分散データベースイベントに関連付けられた順序を計算することであって、前記第3の複数の分散データベースイベントからの各分散データベースイベントの前記第1の属性の前記値は、前記分散データベースイベントと、前記分散データベースイベントの子孫を含む分散データベースイベントの組との関係に基づき、前記分散データベースイベントの組からの各分散データベースイベントは、前記分散データベースイベントの組からの残りの分散データベースイベントと共通する第2の属性に関連付けられ、前記第3の複数の分散データベースイベントからの各分散データベースイベントは、前記第1の複数の分散データベースイベント又は前記第2の複数の分散データベースイベントの少なくとも一方からのものである、計算することと、
前記第3の複数の分散データベースイベントに関連付けられた前記順序を、前記分散データベースの前記インスタンスに関連付けられたメモリに記憶することと
を含む、方法。 - 前記分散データベースイベントの組からの各分散データベースイベントは、前記複数の計算デバイスからの一意の計算デバイスによって定義され、
前記方法は、各分散データベースイベントを定義した前記複数の計算デバイスからの前記計算デバイスが、第3の属性の特定の値を有する分散データベースイベントを定義した第1のインスタンスである、前記分散データベースイベントの組からの前記分散データベースイベントに基づいて、前記分散データベースイベントの組からの前記分散データベースイベントを識別することであって、前記分散データベースイベントの組からの各分散データベースイベントは、前記第3の属性の前記特定の値を有する、識別することを更に含む、請求項19に記載の方法。 - 前記分散データベースイベントの組は、第1の分散データベースイベントの組であり、
前記方法は、第2の分散データベースイベントの組が、前記第1の分散データベースイベントの組からの各分散データベースイベントが第3の分散データベースイベントの組に含まれなければならないことを示す、合意プロトコルの結果に基づいて、前記第1の分散データベースイベントの組からの前記分散データベースイベントを識別することを更に含み、
前記第2の分散データベースイベントの組からの各分散データベースイベントは、(1)前記第1の分散データベースイベントの組からの前記分散データベースイベントに関連付けられ、且つ(2)前記第2の分散データベースイベントの組からの前記分散データベースイベントの先祖の組によって識別される値に基づいて、前記第1の分散データベースイベントの組からの前記分散データベースイベントが前記第3の分散データベースイベントの組に含まれなければならないことを示す、請求項19に記載の方法。 - 前記第3の複数の分散データベースイベントからの各分散データベースイベントの前記第1の属性の前記値と、前記第3の複数の分散データベースイベントからの各分散データベースイベントのタイムスタンプ又は署名の少なくとも一方とに少なくとも部分的に基づいて、前記複数の分散データベースイベントに関連付けられた前記順序を計算することを更に含む、請求項19に記載の方法。
- 前記第3の複数の分散データベースイベントからの各分散データベースイベントの前記第1の属性の前記値は、前記分散データベースイベントの組に含まれる前記分散データベースイベントの非子孫の数と比較した、前記分散データベースイベントの組に含まれる前記分散データベースイベントの子孫の数に基づく、請求項19に記載の方法。
- 複数の計算デバイスに動作可能に結合されるネットワークを介して有向非巡回グラフ(DAG)を実装する前記複数の計算デバイス内に含まれるように構成される第1の計算デバイスにおける、DAGのインスタンスを記憶するメモリであって、前記第1の計算デバイスは、前記分散DAGの前記インスタンスを用いて、イベントの組を前記メモリに記憶するように構成される、メモリと、
前記メモリに動作可能に結合される、前記第1の計算デバイスのプロセッサと
を含み、
前記プロセッサは、第1の時間において、第1の複数のイベントにリンクされる第1のイベントを定義するように構成され、
前記プロセッサは、前記第1の時間後の第2の時間において、且つ前記複数の計算デバイスからの第2の計算デバイスから、(1)前記第2の計算デバイスによって定義され、且つ(2)第2の複数のイベントにリンクされる第2のイベントを受信するように構成され、
前記プロセッサは、前記第1のイベントの暗号ハッシュ及び前記第2のイベントの暗号ハッシュを含む第3のイベントを定義するように構成され、
前記プロセッサは、コンセンサスアルゴリズムを介して、少なくとも前記第1の複数のイベント及び前記第2の複数のイベントに基づいて、第3の複数のイベントからの各イベントの、前記第3の複数のイベントからの残りのイベントに対する順序を識別するように構成され、前記第3の複数のイベントからの各イベントは、前記第1の複数のイベント又は前記第2の複数のイベントの少なくとも一方からのものであり、
前記プロセッサは、前記イベントの組の一部としての前記第3のイベントと、前記第3の複数のイベントに関連付けられた前記順序とを、前記メモリに、且つ前記分散DAGの前記インスタンスを用いて、記憶するように構成される、装置。 - 前記コンセンサスアルゴリズムは、プルーフオブワークプロトコルを使用しない、請求項24に記載の装置。
- 前記分散DAGは、リーダーエンティティを含まない、請求項24に記載の装置。
- 前記プロセッサは、同期イベントの一部として、前記第2の計算デバイスから前記第2のイベントを受信する、請求項24に記載の装置。
- 前記第3の複数のイベントからの各イベントは、前記第3の複数のイベントに関連付けられた前記順序に基づいて、前記第3の複数のイベントからの各残りのイベントのペイロードデータに対して順序付けられたペイロードデータを含む、請求項24に記載の装置。
- 前記第3のイベントは、前記第1の計算デバイスによってデジタル署名される、請求項24に記載の装置。
- 前記プロセッサは、前記第2の計算デバイスが前記第1のイベントの暗号ハッシュを含む第4のイベントを定義するように前記第2の計算デバイスから前記第2のイベントを受信することに応答して、前記第1のイベントを前記第2の計算デバイスに送信するように更に構成される、請求項24に記載の装置。
- 前記第3の複数のイベントに関連付けられた前記順序は、値の組に少なくとも部分的に基づき、前記値の組からの各値は、前記第3の複数のイベントからのイベントの部分集合からのイベントに対して、前記イベントの部分集合からの前記イベントに関連付けられた信用性又は信頼性の少なくとも一方に基づいて割り当てられる、請求項24に記載の装置。
- 前記プロセッサは、前記第2の計算デバイスが前記複数の計算デバイスからの前記第1の計算デバイスをランダムに選択することに応答して、前記第2のイベントを受信するように構成される、請求項24に記載の装置。
- 前記第3の複数のイベントに関連付けられた前記順序は、値の組に少なくとも部分的に基づき、前記値の組からの各値は、イベントの部分集合からのイベントに関連付けられた評価に割り当てられる、請求項24に記載の装置。
- 前記第1のイベントは、前記第1の複数のイベントからの少なくとも2つのイベントの識別子を前記第1のイベント内に含めることによって、前記第1の複数のイベントにリンクされる、請求項24に記載の装置。
- 複数の計算デバイスに動作可能に結合されるネットワークを介して分散DAGを実装する前記複数の計算デバイス内に含まれるように構成される第1の計算デバイスを含み、前記第1の計算デバイスは、プロセッサと、前記プロセッサに動作可能に結合されるメモリとを含み、前記メモリは、(1)前記分散DAGのインスタンス、及び(2)前記プロセッサに、
第1の時間において、第1の複数のイベントにリンクされる第1のイベントを、前記第1のイベント内に含まれる前記第1の複数のイベントからの少なくとも1つのイベントの識別子によって定義することと、
前記第1の時間後の第2の時間において、且つ前記複数の計算デバイスからの第2の計算デバイスから、(1)前記第2の計算デバイスによって定義され、且つ(2)第2の複数のイベントにリンクされる第2のイベントを、前記第2のイベント内に含まれる前記第2の複数のイベントからの少なくとも1つのイベントの識別子によって受信することと、
前記第1のイベントの暗号ハッシュ及び前記第2のイベントの暗号ハッシュを含む第3のイベントを定義することと、
コンセンサスアルゴリズムを用いて、少なくとも前記第1の複数のイベント及び前記第2の複数のイベントに基づいて、第3の複数のイベントからの各イベントの、前記第3の複数のイベントからの残りのイベントに対する順序を識別することであって、前記第3の複数のイベントからの各イベントは、前記第1の複数のイベント又は前記第2の複数のイベントの少なくとも一方からのものである、識別することと、
前記分散DAGの一部として、前記第3のイベントと、前記第3の複数のイベントに関連付けられた前記順序とを前記メモリに記憶することと
を行わせる命令を記憶する、装置。 - 前記コンセンサスアルゴリズムは、プルーフオブワークプロトコルを使用しない、請求項35に記載の装置。
- 前記分散DAGは、リーダーエンティティを含まない、請求項35に記載の装置。
- 前記第2の計算デバイスから前記第2のイベントを前記受信することは、同期イベントの一部である、請求項35に記載の装置。
- 前記第3の複数のイベントからの各イベントは、前記第3の複数のイベントに関連付けられた前記順序に基づいて、前記第3の複数のイベントからの各残りのイベントのペイロードデータに対して順序付けられたペイロードデータを含む、請求項35に記載の装置。
- 前記プロセッサに受信することを行わせる前記命令は、前記プロセッサに、前記第2の計算デバイスが前記第1の計算デバイスをランダムに選択することに応答して、前記第2のイベントを受信することを行わせる命令を含む、請求項35に記載の装置。
- 前記第3のイベントは、前記第1の計算デバイスによってデジタル署名される、請求項35に記載の装置。
- 前記メモリは、前記プロセッサに、前記第2の計算デバイスが前記第1のイベントの暗号ハッシュを含む第4のイベントを定義するように、前記第2の計算デバイスから前記第2のイベントを受信することに応答して、前記第1のイベントを前記第2の計算デバイスに送信することを行わせる命令を更に記憶する、請求項35に記載の装置。
- 複数の計算デバイスに動作可能に結合されるネットワークを介して分散データベースを実装する前記複数の計算デバイスからの第1の計算デバイスにおける、前記分散データベースのインスタンスから第1のイベントを受信することと、
前記第1のイベント及び第2のイベントに基づいて、第3のイベントを定義することと、
前記第3のイベントに少なくとも部分的に基づいて、第1のイベントの組を決定することであって、前記第1のイベントの組からの各イベントは、
a)第2のイベントの組であって、前記第2のイベントの組に関連付けられた集合的ステーク値は、第1のステーク値基準を満たし、前記第2のイベントの組からの各イベントは、(1)前記分散データベースの異なるインスタンスによって定義され、且つ(2)前記第3のイベントによって識別される、第2のイベントの組によって識別され、且つ
b)第1のラウンド数に関連付けられる、決定することと、
前記第1のイベントの組からの各イベントに関連付けられたステーク値の和が第2のステーク値基準を満たすという判断に基づいて、前記第3のイベントのラウンド数を計算することであって、前記第3のイベントの前記ラウンド数は、前記第1のラウンド数よりも大きい第2のラウンド数に対応する、計算することと、
前記第3のイベントに基づいて第3のイベントの組を決定することであって、前記第3のイベントの組からの各イベントは、
a)前記第3のイベントを含む第4のイベントの組であって、前記第4のイベントの組からの各イベントは、前記分散データベースの異なるインスタンスによって定義され、前記第4のイベントの組に関連付けられた集合的ステーク値は、第3のステーク値基準を満たす、第4のイベントの組によって識別され、且つ
b)前記第1のイベントの組からのものである、決定することと、
第4のステーク値基準を満たす、前記第3のイベントの組に関連付けられた集合的ステーク値に基づいて、第4のイベントの順序値を定義することと、
前記複数の計算デバイスからの第2の計算デバイスにおける前記分散データベースのインスタンスに前記順序値を記憶することと
を含む、方法。 - ステーク値の組は、前記第2のイベントの組からのイベントを定義する前記分散データベースの各インスタンスに関連付けられたステーク値を含み、前記第2のイベントの組に関連付けられた前記集合的ステーク値は、前記ステーク値の組からのステーク値の和に基づく、請求項43に記載の方法。
- ステーク値の組は、(1)前記第2のイベントの組からのイベントを定義する前記分散データベースの各インスタンスに関連付けられ、且つ(2)前記分散データベースの前記インスタンスに関連付けられた暗号通貨量に比例するステーク値を含み、前記第2のイベントの組に関連付けられた前記集合的ステーク値は、前記ステーク値の組からのステーク値の和に基づく、請求項43に記載の方法。
- 前記第2のイベントは、前記第2の計算デバイスからのものである、請求項43に記載の方法。
- 前記順序値は、記憶され、且つ前記分散データベースの状態を一意に識別するハッシュ値に影響を及ぼす、請求項43に記載の方法。
- 前記第1のイベントの組からの各イベントは、前記分散データベースの異なるインスタンスによって定義され、及び
前記第1のイベントの組からの各イベントは、前記イベントを定義する前記分散データベースの前記インスタンスによって定義されるイベントの組からの、前記第1のラウンド数を有する最も早いイベントである、請求項43に記載の方法。 - 前記第1のステーク値基準、前記第2のステーク値基準、前記第3のステーク値基準、又は前記第4のステーク値基準の少なくとも1つは、前記分散データベースの集合的ステーク値に基づいて定義される、請求項43に記載の方法。
- 前記分散データベースを実装する前記複数の計算デバイスは、第1の時間において、前記分散データベースを実装し、且つ信頼エンティティの組に関連付けられた複数の計算デバイスであり、
前記第1の時間後の第2の時間において、前記分散データベースを実装する複数の計算デバイスは、前記信頼エンティティの組からではないエンティティを含むエンティティの組に関連付けられる、請求項43に記載の方法。 - プロセッサによって実行される命令を表すコードを記憶する非一時的プロセッサ可読媒体であって、前記コードは、前記プロセッサに、
複数の計算デバイスに動作可能に結合されるネットワークを介して分散データベースを実装する前記複数の計算デバイスからの第1の計算デバイスにおける、前記分散データベースのインスタンスから第1のイベントを受信することと、
前記第1のイベント及び第2のイベントに基づいて、第3のイベントを定義することと、
前記第3のイベントに少なくとも部分的に基づいて、第1のイベントの組を決定することであって、前記第1のイベントの組からの各イベントは、
第2のイベントの組であって、前記第2のイベントの組に関連付けられた集合的ステーク値は、第1のステーク値基準を満たし、前記第2のイベントの組からの各イベントは、(1)前記分散データベースの異なるインスタンスによって定義され、且つ(2)前記第3のイベントによって識別される、第2のイベントの組によって識別され、且つ
第1のラウンド数に関連付けられる、決定することと、
前記第1のイベントの組からの各イベントに関連付けられたステーク値の和が第2のステーク値基準を満たすという判断に基づいて、前記第3のイベントのラウンド数を計算することであって、前記第3のイベントのラウンド数は、前記第1のラウンド数よりも大きい第2のラウンド数に対応する、計算することと、
前記第3のイベントに基づいて第3のイベントの組を決定することであって、前記第3のイベントの組からの各イベントは、
前記第3のイベントを含む第4のイベントの組であって、前記第4のイベントの組からの各イベントは、前記分散データベースの異なるインスタンスによって定義され、前記第4のイベントの組に関連付けられた集合的ステーク値は、第3のステーク値基準を満たす、第4のイベントの組によって識別され、且つ
前記第1のイベントの組からのものである、決定することと、
第4のステーク値基準を満たす、前記第3のイベントの組に関連付けられた集合的ステーク値に少なくとも部分的に基づいて、第4のイベントの順序値を定義することと、
前記複数の計算デバイスからの第2の計算デバイスにおける前記分散データベースのインスタンスに前記順序値を記憶することと
を行わせるコードを含む、非一時的プロセッサ可読媒体。 - 前記プロセッサに、
ステーク値の組の和に基づいて、前記第3のイベントの組に関連付けられた前記集合的ステーク値を計算することであって、前記ステーク値の組からの各ステーク値は、前記第3のイベントの組からのイベントを定義する前記分散データベースのインスタンスに関連付けられる、計算することを行わせるコードを更に含む、請求項51に記載の非一時的プロセッサ可読媒体。 - 前記プロセッサに、前記第4のイベントの前記順序値を定義させることを行わせる前記コードは、前記プロセッサに、前記第4のイベントが、前記第4のステーク値基準を満たす集合的ステーク値を有する前記第3のイベントの組によって識別されることに基づいて、前記第4のイベントに関連付けられた受信ラウンド数を決定することを行わせるコードを含む、請求項51に記載の非一時的プロセッサ可読媒体。
- 前記プロセッサに、
前記第3のイベントの組からの各イベントに関連付けられた値が、前記第3のイベントの組からの残りのイベントに関連付けられた値に等しいことに基づいて、前記第3のイベントの組を決定し、前記第3のイベントの組からの各イベントに関連付けられた前記値は、(1)前記第4のイベントに関連付けられ、且つ(2)前記第3のイベントの組からの前記イベントが識別することができる、前記第4のイベントの組からの各イベントの値に基づく、決定することを行わせるコードを更に含み、
前記第4のステーク値基準は、前記第3のイベントの組に関連付けられた前記集合的ステーク値が、前記第4のイベントの組に関連付けられた前記集合的ステーク値に基づく閾値よりも大きいときに、前記第3のイベントの組によって満たされる、請求項51に記載の非一時的プロセッサ可読媒体。 - 前記第2のステーク値基準は、前記分散データベースの集合的ステーク値に関連付けられた予め定義される割合に基づき、
前記コードは、前記プロセッサに、
前記第4のステーク値基準が前記第3のイベントの組によって満たされることに基づいて、前記第3のイベントの前記ラウンド数を、前記第4のイベントの受信ラウンド数に関連付けることを行わせるコードを更に含む、請求項51に記載の非一時的プロセッサ可読媒体。 - 前記プロセッサに、
前記第4のイベントの組からの各イベントの値に基づいて、前記第3のイベントの値を決定することを行わせるコードを更に含み、
前記第3のイベントの前記値は、前記第3のステーク値基準が前記第4のイベントの組によって満たされることに基づいて、前記第4のイベントの組からのイベントの大多数に関連付けられた値であり、
前記第3のステーク値基準は、前記イベントの大多数に関連付けられた前記値を有する前記第4のイベントの組からの各イベントの前記集合的ステーク値が、第1の閾値よりも大きく、且つ第2の閾値未満であるときに、前記第4のイベントの組によって満たされ、前記第1の閾値及び前記第2の閾値は、前記第4のイベントの組の前記集合的ステーク値に基づく、請求項51に記載の非一時的プロセッサ可読媒体。 - 前記プロセッサに、前記第4のイベントの組からの各イベントの値に基づいて、前記第3のイベントの値を決定することを行わせるコードを更に含み、
前記第3のイベントの前記値は、前記第4のステーク値基準が前記第4のイベントの組によって満たされることに基づいて、疑似ランダムであり、
前記第4のステーク値基準は、前記第4のイベントの組からのイベントの大多数に関連付けられた値を有する前記第4のイベントの組からの各イベントの集合的ステーク値が、第1の閾値よりも大きく、且つ第2の閾値未満であるときに、前記第4のイベントの組によって満たされ、前記第1の閾値及び前記第2の閾値は、前記第4のイベントの組に関連付けられた前記集合的ステーク値に基づく、請求項51に記載の非一時的プロセッサ可読媒体。 - 前記第4のイベントの組は、第5のイベントの組からのイベントの部分集合であり、前記コードは、前記プロセッサに、
前記イベントの部分集合からの各イベントに関連付けられた値が、前記イベントの部分集合からの残りのイベントに関連付けられた値に等しいことに基づいて、前記イベントの部分集合を識別することであって、前記イベントの部分集合からの各イベントに関連付けられた前記値は、(1)前記第4のイベントに関連付けられ、且つ(2)前記イベントの部分集合からの前記イベントが識別することができる、第6のイベントの組からの各イベントの値に基づく、識別することを行わせるコードを更に含み、
ラウンド数を有する前記第5のイベントの組は、前記第6のイベントの組のラウンド数よりも大きく、
第5のステーク値基準は、前記イベントの部分集合の集合的ステーク値が、第1の閾値よりも大きく、且つ第2の閾値未満であるときに、前記イベントの部分集合によって満たされ、前記第1の閾値及び前記第2の閾値は、前記第5のイベントの組の集合的ステーク値に基づき、
前記コードは、前記プロセッサに、
前記第5のステーク値基準が前記イベントの部分集合によって満たされることに基づいて、前記第4のイベントの前記順序値を決定するために使用される集合的ステーク値を有する第7のイベントの組を識別することであって、前記第7のイベントの組は、前記第5のイベントの組の前記ラウンド数よりも大きいラウンド数を有し、前記第7のイベントの組からの各イベントの値は、前記第5のイベントの組からの各イベントに関連付けられた値に基づく、識別することを行わせるコードを更に含む、請求項51に記載の非一時的プロセッサ可読媒体。 - 前記第3のイベントの組からの各イベントは、(1)前記分散データベースの異なるインスタンスによって定義され、且つ(2)前記第3のイベントによって識別され、
前記第4のイベントの前記順序値は、前記第3のイベントのデジタル署名に関連付けられた疑似ランダム決定に更に基づく、請求項51に記載の非一時的プロセッサ可読媒体。 - 前記第4のステーク値基準は、暗号通貨に関連付けられたステーク値の組の和に少なくとも部分的に基づき、前記ステーク値の組からの各ステーク値は、前記分散データベースの異なるインスタンスによって保持される暗号通過量に関連付けられる、請求項51に記載の非一時的プロセッサ可読媒体。
- 前記第4のステーク値基準は、前記第3のイベントの組に関連付けられた前記集合的ステーク値が所定の閾値よりも大きいときに満たされ、前記所定の閾値は、前記分散データベースの集合的ステーク値に少なくとも部分的に基づく、請求項51に記載の非一時的プロセッサ可読媒体。
- 複数の計算デバイスに動作可能に結合されるネットワークを介して分散データベースを実装する前記複数の計算デバイス内に含まれるように構成される第1の計算デバイスにおける、前記分散データベースのインスタンスを含むメモリと、
前記分散データベースの前記インスタンスに動作可能に結合されるプロセッサと
を含み、
前記プロセッサは、第1の時間において、第1の複数のイベントにリンクされる第1のイベントを定義するように構成され、前記第1の複数のイベントからの各イベントは、一連のバイトであり、
前記プロセッサは、前記第1の時間後の第2の時間において、且つ前記複数の計算デバイスからの第2の計算デバイスから、(1)前記第2の計算デバイスによって定義され、且つ(2)第2の複数のイベントにリンクされる第2のイベントを表す信号を受信するように構成され、前記第2の複数のイベントからの各イベントは、一連のバイトであり、
前記プロセッサは、少なくとも前記複数の計算デバイスからの各計算デバイスに関連付けられたステーク値に基づいて、第3の複数のイベントに関連付けられた順序を識別するように構成され、前記第3の複数のイベントからの各イベントは、前記第1の複数のイベント又は前記第2の複数のイベントの少なくとも一方からのものであり、
前記第3のイベントの組からの各イベントは、属性の組からの各属性の値に関連付けられ、
前記第3の複数のイベントからの各イベントについての、前記属性の組からの第1の属性の前記値は、前記イベントと、前記イベントにリンクされる第1のイベントの組との関係が基準を満たすか否かに基づく第1の値を含み、
前記第1のイベントの組からの各イベントは、(1)前記第3の複数のイベントからの前記イベントの先祖であり、且つ(2)前記第1のイベントの組からの残りのイベントとの第1の共通属性に関連付けられ、前記第1の共通属性は、前記複数の計算デバイスからの各計算デバイスによって定義される第1のイベントが、特定の値に関連付けられる、初期インスタンスを示し、
前記属性の組からの第2の属性の前記値は、前記第3の複数のイベントからの前記イベントと、前記第3の複数のイベントからの前記イベントにリンクされる第2のイベントの組との関係に基づく数値を含み、
前記第2のイベントの組からの各イベントは、前記第3の複数のイベントからの前記イベントの子孫であり、且つ前記第2のイベントの組からの残りのイベントとの第2の共通属性に関連付けられ、
前記プロセッサは、前記第3の複数のイベントに関連付けられた前記順序を前記分散データベースの前記インスタンスに記憶するように構成される、装置。 - 前記複数の計算デバイスからの各計算デバイスに関連付けられた前記ステーク値は、前記複数の計算デバイスからの前記計算デバイスにおける前記分散データベースのインスタンスに関連付けられた暗号通貨量に比例する、請求項62に記載の装置。
- 前記基準は、(1)前記第1のイベントの組に関連付けられたステーク値の組み合わせと(2)前記複数の計算デバイスからの各計算デバイスに関連付けられた前記ステーク値に基づいて定義される閾値との比較に基づく、請求項62に記載の装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021076407A JP7184959B2 (ja) | 2015-08-28 | 2021-04-28 | ネットワーク内の分散データベースのための方法及び装置 |
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562211411P | 2015-08-28 | 2015-08-28 | |
US62/211,411 | 2015-08-28 | ||
US14/988,873 | 2016-01-06 | ||
US14/988,873 US9390154B1 (en) | 2015-08-28 | 2016-01-06 | Methods and apparatus for a distributed database within a network |
US15/153,011 US9529923B1 (en) | 2015-08-28 | 2016-05-12 | Methods and apparatus for a distributed database within a network |
US15/153,011 | 2016-05-12 | ||
US201662344682P | 2016-06-02 | 2016-06-02 | |
US62/344,682 | 2016-06-02 | ||
US15/205,688 | 2016-07-08 | ||
US15/205,688 US10318505B2 (en) | 2015-08-28 | 2016-07-08 | Methods and apparatus for a distributed database within a network |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020065934A Division JP6811350B2 (ja) | 2015-08-28 | 2020-04-01 | ネットワーク内の分散データベースのための方法及び装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021076407A Division JP7184959B2 (ja) | 2015-08-28 | 2021-04-28 | ネットワーク内の分散データベースのための方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021061013A JP2021061013A (ja) | 2021-04-15 |
JP6878670B2 true JP6878670B2 (ja) | 2021-06-02 |
Family
ID=61557412
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018521625A Active JP6518838B6 (ja) | 2015-08-28 | 2016-08-26 | ネットワーク内の分散データベースのための方法及び装置 |
JP2019081303A Active JP6686209B2 (ja) | 2015-08-28 | 2019-04-22 | ネットワーク内の分散データベースのための方法及び装置 |
JP2020065934A Active JP6811350B2 (ja) | 2015-08-28 | 2020-04-01 | ネットワーク内の分散データベースのための方法及び装置 |
JP2020206439A Active JP6878670B2 (ja) | 2015-08-28 | 2020-12-14 | ネットワーク内の分散データベースのための方法及び装置 |
JP2021076407A Active JP7184959B2 (ja) | 2015-08-28 | 2021-04-28 | ネットワーク内の分散データベースのための方法及び装置 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018521625A Active JP6518838B6 (ja) | 2015-08-28 | 2016-08-26 | ネットワーク内の分散データベースのための方法及び装置 |
JP2019081303A Active JP6686209B2 (ja) | 2015-08-28 | 2019-04-22 | ネットワーク内の分散データベースのための方法及び装置 |
JP2020065934A Active JP6811350B2 (ja) | 2015-08-28 | 2020-04-01 | ネットワーク内の分散データベースのための方法及び装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021076407A Active JP7184959B2 (ja) | 2015-08-28 | 2021-04-28 | ネットワーク内の分散データベースのための方法及び装置 |
Country Status (19)
Country | Link |
---|---|
EP (6) | EP3399448B1 (ja) |
JP (5) | JP6518838B6 (ja) |
KR (3) | KR102012435B1 (ja) |
CN (4) | CN108351882B (ja) |
AU (7) | AU2016316777B2 (ja) |
CA (3) | CA2996714C (ja) |
CY (5) | CY1123629T1 (ja) |
DK (5) | DK3418915T3 (ja) |
ES (5) | ES2837476T3 (ja) |
HK (1) | HK1249233A1 (ja) |
HR (5) | HRP20201935T1 (ja) |
HU (5) | HUE053427T2 (ja) |
LT (5) | LT3399446T (ja) |
PL (1) | PL3341864T3 (ja) |
PT (5) | PT3399446T (ja) |
RS (5) | RS61244B1 (ja) |
RU (1) | RU2709673C2 (ja) |
SG (7) | SG10201805458PA (ja) |
SI (5) | SI3341864T1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN109218289B (zh) * | 2018-08-03 | 2021-03-26 | 中山大学 | 一种基于串行工作量证明的缠结网络的共识机制 |
CN110851435B (zh) * | 2018-08-03 | 2022-02-11 | 杭州海康威视数字技术股份有限公司 | 一种存储数据的方法及装置 |
KR102680150B1 (ko) * | 2018-10-23 | 2024-07-02 | 티제로 아이피, 엘엘씨 | 거래 시스템을 구현하는 네트워크 노드들의 서브세트 내의 컨텍스트 기반 필터링 |
KR102130900B1 (ko) * | 2018-11-15 | 2020-07-06 | 주식회사 스마트코어 | 블록체인 시스템에서의 고속 합의 방법 |
CN111222984B (zh) * | 2018-11-26 | 2023-04-18 | 本无链科技(深圳)有限公司 | 一种用于区块链分布式交易同步处理方法及*** |
CN109672733B (zh) * | 2018-12-20 | 2022-06-07 | 众安信息技术服务有限公司 | 基于dag的区块链的账本同步方法及设备 |
CN109544344B (zh) * | 2018-12-24 | 2021-07-02 | 众安信息技术服务有限公司 | 基于dag的区块链的交易处理方法及设备 |
CN109739689B (zh) * | 2018-12-25 | 2023-03-14 | 四川效率源信息安全技术股份有限公司 | 一种雕复SQL Server数据库文件的方法 |
CN110209061B (zh) * | 2019-05-28 | 2022-08-09 | 九阳股份有限公司 | 一种智能控制***中的事件上报处理方法及中控装置 |
CN110445755A (zh) * | 2019-07-04 | 2019-11-12 | 杭州复杂美科技有限公司 | 交易攻击的防御方法、设备和存储介质 |
CN110910237B (zh) * | 2019-11-20 | 2024-05-24 | 腾讯科技(深圳)有限公司 | 区块链中的数据处理方法、装置及智能终端、存储介质 |
WO2021100831A1 (ja) * | 2019-11-21 | 2021-05-27 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 制御方法、装置、及び、プログラム |
KR102308667B1 (ko) * | 2020-01-08 | 2021-10-05 | 고려대학교 산학협력단 | 배열 데이터베이스에서의 점진적인 상위 k 질의 처리 장치 및 방법 |
ES2961304T3 (es) * | 2020-01-20 | 2024-03-11 | Decard Ag | Sistema y método que implementa un algoritmo de consenso de gráfico acíclico dirigido (DAG) a través de un protocolo epidémico |
CN111464826B (zh) * | 2020-04-14 | 2022-09-09 | 北京达佳互联信息技术有限公司 | 虚拟资源的榜单更新方法、装置、电子设备及存储介质 |
US10946283B1 (en) * | 2020-07-16 | 2021-03-16 | Big Time Studios Ltd. | Computer system and method for more efficiently storing, issuing, and transacting tokenized blockchain game assets managed by a smart contract |
CN112150283B (zh) * | 2020-08-26 | 2023-08-04 | 深圳区块大陆科技有限公司 | 应用剩余面积计算法来进行链上累积和占比计算的方法 |
CN112488704B (zh) * | 2020-11-16 | 2024-03-19 | 华南师范大学 | 基于区块链的数据处理方法、***、装置及介质 |
WO2022260501A1 (ko) * | 2021-06-11 | 2022-12-15 | 삼성전자 주식회사 | 블록체인 네트워크에서 부분 원장을 가진 전자 장치 및 그의 동작 방법 |
WO2022260500A1 (ko) * | 2021-06-11 | 2022-12-15 | 삼성전자 주식회사 | 블록체인 네트워크에서 부분 원장을 가진 전자 장치 및 그의 동작 방법 |
CN113810465B (zh) * | 2021-08-12 | 2022-08-12 | 清华大学 | 一种异步二元共识方法及装置 |
CN113722548B (zh) * | 2021-08-30 | 2024-07-16 | 北京天空卫士网络安全技术有限公司 | 一种业务***中引用关系的处理方法和装置 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6856993B1 (en) * | 2000-03-30 | 2005-02-15 | Microsoft Corporation | Transactional file system |
US6966836B1 (en) * | 2000-11-16 | 2005-11-22 | Ea.Com, Inc. | Positive-return gambling |
US7062490B2 (en) * | 2001-03-26 | 2006-06-13 | Microsoft Corporation | Serverless distributed file system |
RU2376635C2 (ru) * | 2002-10-23 | 2009-12-20 | Закрытое акционерное общество "МедиаЛингва" | Способ и система проведения транзакций в сети с использованием сетевых идентификаторов |
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 |
US9104962B2 (en) * | 2007-03-06 | 2015-08-11 | Trion Worlds, Inc. | Distributed network architecture for introducing dynamic content into a synthetic environment |
JP5211514B2 (ja) * | 2007-03-09 | 2013-06-12 | 富士通株式会社 | 更新装置、更新方法および更新プログラム |
US20100137079A1 (en) * | 2007-06-11 | 2010-06-03 | Timothy Andrew Burke | Method and device for sports skill training |
US8533582B2 (en) * | 2009-03-20 | 2013-09-10 | Xerox Corporation | Trail-based data content discovery, organization, and processing |
EP2485150A1 (en) * | 2009-05-18 | 2012-08-08 | Shuhei Nishiyama | Meta-information sharing distributed database system in virtual single memory storage |
US8356007B2 (en) * | 2010-10-20 | 2013-01-15 | Microsoft Corporation | Distributed transaction management for database systems with multiversioning |
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 |
US20110250974A1 (en) * | 2010-04-07 | 2011-10-13 | Gary Stephen Shuster | Simulated gaming using prior game outcome |
US8671074B2 (en) * | 2010-04-12 | 2014-03-11 | Microsoft Corporation | Logical replication in clustered database system with adaptive cloning |
JP5431261B2 (ja) * | 2010-07-23 | 2014-03-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報管理システム、方法及びプログラム |
US8868512B2 (en) * | 2011-01-14 | 2014-10-21 | Sap Se | Logging scheme for column-oriented in-memory databases |
US8577873B2 (en) * | 2011-03-30 | 2013-11-05 | Indian Statistical Institute | Determining a relative importance among ordered lists |
US8732140B2 (en) * | 2011-05-24 | 2014-05-20 | Red Lambda, Inc. | Methods for storing files in a distributed environment |
US20130036089A1 (en) * | 2011-08-01 | 2013-02-07 | Tagged, Inc. | Systems and methods for asynchronous distributed database management |
CN102831156B (zh) * | 2012-06-29 | 2014-12-31 | 浙江大学 | 一种云计算平台上的分布式事务处理方法 |
FR2995437B1 (fr) * | 2012-09-07 | 2014-10-10 | Commissariat Energie Atomique | Dispositif de controle nucleaire pour reacteur refroidi au metal liquide de type rnr. |
US10311152B2 (en) * | 2013-12-20 | 2019-06-04 | Hitachi Vantara Corporation | System for queue based object cloning |
US10324922B2 (en) * | 2014-02-13 | 2019-06-18 | Salesforce.Com, Inc. | Providing a timeline of events regarding a database record |
-
2016
- 2016-08-26 DK DK18177129.6T patent/DK3418915T3/da active
- 2016-08-26 EP EP18177127.0A patent/EP3399448B1/en active Active
- 2016-08-26 RU RU2018110579A patent/RU2709673C2/ru active
- 2016-08-26 RS RS20201569A patent/RS61244B1/sr unknown
- 2016-08-26 RS RS20201521A patent/RS61196B1/sr unknown
- 2016-08-26 CA CA2996714A patent/CA2996714C/en active Active
- 2016-08-26 RS RS20201520A patent/RS61195B1/sr unknown
- 2016-08-26 DK DK18177122.1T patent/DK3399446T3/da active
- 2016-08-26 RS RS20201570A patent/RS61245B1/sr unknown
- 2016-08-26 LT LTEP18177122.1T patent/LT3399446T/lt unknown
- 2016-08-26 PL PL16842700T patent/PL3341864T3/pl unknown
- 2016-08-26 EP EP18177129.6A patent/EP3418915B1/en active Active
- 2016-08-26 KR KR1020187008784A patent/KR102012435B1/ko active IP Right Grant
- 2016-08-26 EP EP20199607.1A patent/EP3796186A1/en active Pending
- 2016-08-26 KR KR1020197023809A patent/KR102062896B1/ko active IP Right Grant
- 2016-08-26 HU HUE18177124A patent/HUE053427T2/hu unknown
- 2016-08-26 SI SI201631007T patent/SI3341864T1/sl unknown
- 2016-08-26 RS RS20201522A patent/RS61199B1/sr unknown
- 2016-08-26 SG SG10201805458PA patent/SG10201805458PA/en unknown
- 2016-08-26 SG SG10201903623WA patent/SG10201903623WA/en unknown
- 2016-08-26 PT PT181771221T patent/PT3399446T/pt unknown
- 2016-08-26 JP JP2018521625A patent/JP6518838B6/ja active Active
- 2016-08-26 HU HUE18177127A patent/HUE053421T2/hu unknown
- 2016-08-26 CN CN201680061456.6A patent/CN108351882B/zh active Active
- 2016-08-26 SG SG10201805466SA patent/SG10201805466SA/en unknown
- 2016-08-26 CN CN201910908023.5A patent/CN110633327B/zh active Active
- 2016-08-26 SI SI201631008T patent/SI3399447T1/sl unknown
- 2016-08-26 SG SG10201912712VA patent/SG10201912712VA/en unknown
- 2016-08-26 SI SI201631015T patent/SI3399448T1/sl unknown
- 2016-08-26 CN CN201910908046.6A patent/CN110659331B/zh active Active
- 2016-08-26 LT LTEP18177127.0T patent/LT3399448T/lt unknown
- 2016-08-26 SG SG10201911702QA patent/SG10201911702QA/en unknown
- 2016-08-26 SG SG10201911700PA patent/SG10201911700PA/en unknown
- 2016-08-26 ES ES18177122T patent/ES2837476T3/es active Active
- 2016-08-26 DK DK18177124.7T patent/DK3399447T3/da active
- 2016-08-26 SI SI201631017T patent/SI3418915T1/sl unknown
- 2016-08-26 LT LTEP18177124.7T patent/LT3399447T/lt unknown
- 2016-08-26 SI SI201631006T patent/SI3399446T1/sl unknown
- 2016-08-26 DK DK16842700.3T patent/DK3341864T3/da active
- 2016-08-26 AU AU2016316777A patent/AU2016316777B2/en active Active
- 2016-08-26 HU HUE18177122A patent/HUE052785T2/hu unknown
- 2016-08-26 ES ES18177127T patent/ES2840070T3/es active Active
- 2016-08-26 DK DK18177127.0T patent/DK3399448T3/da active
- 2016-08-26 EP EP16842700.3A patent/EP3341864B1/en active Active
- 2016-08-26 EP EP18177122.1A patent/EP3399446B1/en active Active
- 2016-08-26 PT PT181771247T patent/PT3399447T/pt unknown
- 2016-08-26 PT PT181771270T patent/PT3399448T/pt unknown
- 2016-08-26 CA CA3129804A patent/CA3129804A1/en active Pending
- 2016-08-26 SG SG10201911692XA patent/SG10201911692XA/en unknown
- 2016-08-26 EP EP18177124.7A patent/EP3399447B1/en active Active
- 2016-08-26 LT LTEP16842700.3T patent/LT3341864T/lt unknown
- 2016-08-26 ES ES18177129T patent/ES2840071T3/es active Active
- 2016-08-26 KR KR1020197038923A patent/KR102432731B1/ko active IP Right Grant
- 2016-08-26 PT PT181771296T patent/PT3418915T/pt unknown
- 2016-08-26 LT LTEP18177129.6T patent/LT3418915T/lt unknown
- 2016-08-26 ES ES16842700T patent/ES2836526T3/es active Active
- 2016-08-26 HU HUE16842700A patent/HUE052995T2/hu unknown
- 2016-08-26 ES ES18177124T patent/ES2837480T3/es active Active
- 2016-08-26 PT PT168427003T patent/PT3341864T/pt unknown
- 2016-08-26 CN CN202110765131.9A patent/CN113486089A/zh active Pending
- 2016-08-26 CA CA3027398A patent/CA3027398C/en active Active
- 2016-08-26 HU HUE18177129A patent/HUE053423T2/hu unknown
-
2018
- 2018-07-06 HK HK18108774.5A patent/HK1249233A1/zh unknown
-
2019
- 2019-03-28 AU AU2019202138A patent/AU2019202138B2/en active Active
- 2019-04-22 JP JP2019081303A patent/JP6686209B2/ja active Active
- 2019-09-13 AU AU2019229435A patent/AU2019229435B2/en active Active
- 2019-09-13 AU AU2019229437A patent/AU2019229437B2/en active Active
-
2020
- 2020-01-08 AU AU2020200149A patent/AU2020200149B2/en active Active
- 2020-03-12 AU AU2020201827A patent/AU2020201827B2/en active Active
- 2020-04-01 JP JP2020065934A patent/JP6811350B2/ja active Active
- 2020-12-03 HR HRP20201935TT patent/HRP20201935T1/hr unknown
- 2020-12-03 HR HRP20201936TT patent/HRP20201936T1/hr unknown
- 2020-12-03 HR HRP20201937TT patent/HRP20201937T1/hr unknown
- 2020-12-10 HR HRP20201982TT patent/HRP20201982T1/hr unknown
- 2020-12-10 HR HRP20201983TT patent/HRP20201983T1/hr unknown
- 2020-12-14 JP JP2020206439A patent/JP6878670B2/ja active Active
- 2020-12-14 CY CY20201101180T patent/CY1123629T1/el unknown
- 2020-12-14 CY CY20201101181T patent/CY1123630T1/el unknown
- 2020-12-14 CY CY20201101179T patent/CY1123628T1/el unknown
- 2020-12-18 CY CY20201101198T patent/CY1123640T1/el unknown
- 2020-12-18 CY CY20201101199T patent/CY1123641T1/el unknown
-
2021
- 2021-02-12 AU AU2021200938A patent/AU2021200938B2/en active Active
- 2021-04-28 JP JP2021076407A patent/JP7184959B2/ja active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6878670B2 (ja) | ネットワーク内の分散データベースのための方法及び装置 | |
US20220391358A1 (en) | Methods and apparatus for a distributed database within a network | |
US11734260B2 (en) | Methods and apparatus for a distributed database within a network | |
US9646029B1 (en) | Methods and apparatus for a distributed database within a network | |
WO2017040313A1 (en) | Methods and apparatus for a distributed database within a network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210107 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210107 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210107 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20210331 |
|
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: 20210402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210428 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6878670 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |