Coordinating peer-to-peer data transfer using blockchain
US-2024356755-A1 · Oct 24, 2024 · US
US11611441B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11611441-B2 |
| Application number | US-202117530548-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 19, 2021 |
| Priority date | Aug 12, 2016 |
| Publication date | Mar 21, 2023 |
| Grant date | Mar 21, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for managing data stored within a database, such as a decentralized database are provided. Some techniques involve managing some data within a lower-trust database and some other data within a higher-trust database. A higher-trust database may be a decentralize database including a blockchain. A lower-trust database may store references to data within the blockchain, and optionally other data in association with those references. Disclosed techniques include WHERE clause query handling in databases with reference values, replacement of distinct data in a relational database with a distinct reference to that data, number line storing for secure indexing, APIs for databases, and consensus operations for private blockchain networks.
Opening claim text (preview).
What is claimed is: 1. A tangible, non-transitory, machine-readable medium storing instructions that when executed by one or more processors effectuate operations comprising: receiving a request for querying data within a database arrangement indicating at least a first database having a first data structure and a second database having a second data structure different from the first data structure, wherein: the first database is a relational database, the second database is a distributed database, the first data structure comprises entries that correspond to rows of a table and data fields that correspond to columns of the table, at least some of the data fields include references indicative of locations of respective plain text values stored within the second database, and receiving a request comprises registering to obtain the request from an application configured to query data and receive data in a schema compatible with the first database and not the second database; inspecting the request to identify that instructions for querying data in the first database include a query-language operator in the schema compatible with the first database by which the first database is requested to be searched with criteria satisfied by plain text values; in response to identifying a query-language operator, determining that the identified query-language operator indicates a data field associated with a set of entries in the first database populated with respective references in a set of references, the set of references indicative of locations of respective plain text values stored within the second database that correspond to respective entries in the set of entries within the first database; translating the query-language operator from the schema configured to identify plain text values satisfying the criteria within the data field into translated instructions for querying within the set of references in the first database, the translated instructions comprising a reference or subset of references that correspond to a location or locations of respective ones of the plain text values in the second database that satisfy the criteria of the query-language operator; and submitting, based on the translated instructions, a query to the first database to retrieve an entry or a set of entries having the reference or a reference in the subset of references in the data field and providing a response to the request in the schema compatible with the first database. 2. The tangible, non-transitory, machine-readable medium of claim 1 , wherein retrieving an entry within the set of entries comprises: obtaining a respective reference from the data field of the entry within the first database; and requesting, based on the respective reference, the respective plain text value from the second database. 3. The tangible, non-transitory, machine-readable medium of claim 1 , wherein: a respective reference stored for the data field of a respective entry is indicative of a location of a record within the second database that includes a respective plain text value, at least some respective references stored for the data field of respective ones of the entries are indicative of different locations within the second database, and the different locations within the second database correspond to locations of different, distinct, records within the second database. 4. The tangible, non-transitory, machine-readable medium of claim 1 , wherein: the set of references indicative of locations of respective plain text values stored within the second database comprises a different, distinct reference for each different, distinct location, and the set of references includes, for at least two plain text values having a same value, different, distinct references. 5. The tangible, non-transitory, machine-readable medium of claim 1 , wherein: the second data structure comprises a directed acyclic graph of cryptographic hash pointers. 6. The tangible, non-transitory, machine-readable medium of claim 5 , wherein: a reference indicative of a location of a respective plain text values includes a cryptographic hash pointer or a transaction identifier corresponding to a node within the graph that contains at least a first portion of the respective plain text value. 7. The tangible, non-transitory, machine-readable medium of claim 1 , wherein: the first data structure is a table in a relational database; and the second data structure is a graph in a blockchain-based distributed database. 8. The tangible, non-transitory, machine-readable medium of claim 1 , wherein receiving a request for querying data within a database arrangement including at least a first database having a first data structure and a second database having a second data structure different from the first data structure comprises: receiving the request from a client device, the request associated with the application configured to query data and receive data in the schema compatible with the first database and not the second database. 9. The tangible, non-transitory, machine-readable medium of claim 1 , wherein inspecting the request to identify whether instructions for querying data in the first database include a query-language operator in the schema compatible with the first database by which the first database is requested to be searched with criteria satisfied by plain text values comprises: identifying an argument corresponding to the query-language operator; and determining whether the argument specifies criteria that multiple potential plain text values satisfy. 10. The tangible, non-transitory, machine-readable medium of claim 1 , wherein inspecting the request to identify whether instructions for querying data in the first database include a query-language operator in the schema compatible with the first database by which the first database is requested to be searched with criteria satisfied by plain text values comprises: identifying a statement of instructions for querying data; evaluating the statement to identify one or more query-language operators of the statement; determining, for the statement, by evaluating each query-language operator, which query-language operators include an argument specifying criteria that multiple potential plain text values satisfy. 11. The tangible, non-transitory, machine-readable medium of claim 10 , wherein: the instructions for querying data are Structure Query Language instructions; the statement includes two or more query-language operators; and the two or more query-language operators are executed sequentially. 12. The tangible, non-transitory, machine-readable medium of claim 1 , wherein determining whether the identified query-language operator indicates a data field associated with a set of entries in the first database populated with respective references in a set of references comprises: accessing a store including values indicative of which data fields within the first database include references replacing plain text values; and determining whether an identifier of the data field is associated with an indication that the data field comprises references. 13. The tangible, non-transitory, machine-readable medium of claim 1 , wherein translating the query-language operator from the schema configured to identify plain text values satisfying the criteria within the data field into translated instructions for querying within the set of references in the first database comprises: determining the reference or the subset of references that correspond to the location or the locations of the respective ones of the plain text values in the second database
Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title
using hash chains, e.g. blockchains or hash trees · CPC title
to assure secure storage of data (address-based protection against unauthorised use of memory G06F12/14; record carriers for use with machines and with at least a part designed to carry digital markings G06K19/00) · CPC title
involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC · CPC title
Protecting data integrity, e.g. using checksums, certificates or signatures · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.