# US 11,308,030 B2 · Log-structured merge-tree with blockchain properties

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,308,030 B2
- Document ID: US11308030B2
- Status: Granted
- Kind: B2
- Application number: 16/809,697
- Filed: 2020-03-05
- Published: 2021-09-09
- Granted: 2022-04-19
- Earliest claimed: 2020-03-05
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Jeronimo Irazabal
- Web page: https://patentgrep.com/patent/US11308030B2

## CPC

- G06F 16/137: {Hash-based (content-based indexing of textual data G06F16/31)}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F 16/152: {using file content signatures, e.g. hash values}
- G06F 16/2246: {Trees, e.g. B+trees}
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06F 21/107: {License processing; Key processing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An example operation may include one or more of storing data within a temporary memory structure, transferring the stored data from the temporary memory structure into a set of files of a log-structured merge-tree, generating a respective sequence of hashes within each file of the set of files, where the respective sequence of hashes provides proof of a sequential order in which data values are stored within the respective file, and storing the sequences of hashes in storage.

## Claims

### Claim 1

An apparatus comprising:
a storage configured to store data within a temporary memory structure; and
a processor configured to
transfer the stored data from the temporary memory structure into a set of files of a log-structured merge-tree,
generate a sequence of hashes of a sequence of values stored within a first file of the set of files within the log-structured merge tree, where the sequence of hashes provides proof of a sequential order in which the sequence of values are stored within the respective first file,
store the sequences of hashes of the sequence of values of the first file in a second file of the set of files within the log-structured merge tree, and
merge the first file and the second file to create a merged file, wherein the processor merges the sequence of hashes of the first file and a second sequence of hashes of a second sequence of values stored within the second file to create the merged file and maintains an order among the first and second sequences of hashes.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein each respective file from the set of files stores a sequence of key-value pairs and a sequence of hashes generated therefrom.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the first file and the second file are received in sequential order, respectively, and the processor is configured to store a hash value generated based on a hash tree of the sequence of values within the first file as a previous hash value within the second file to cryptographically link the first and second files.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the processor is configured to remove a prior entry of a key value from the first file based on an updated entry of the key value in the second file to create the merged file.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein the processor is configured to remove a hash value within the sequence of hashes of the first file and add an intermediate hash value generated from a hash tree of the sequence of hashes of the first file.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the processor is configured to remove a hash value within the sequence of hashes of the first file and add a cryptographic proof generated based on a root hash value from a hash tree of the sequence of hashes of the first file and a previous hash value of the second file.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the processor is further configured to receive a data proof request for the merged file, and transmit a hash value based on the sequence of hashes of the first file and the second sequences of hashes of the second file.

### Claim 8

A method comprising:
storing data within a temporary memory structure;
transferring the stored data from the temporary memory structure into a set of files of a log-structured merge-tree;
generating a sequence of hashes of a sequence of values stored within a first file of the set of files within the log-structured merge tree, where the sequence of hashes provides proof of a sequential order in which the sequence of values are stored within the respective first file;
storing the sequences of hashes of the sequence of values of the first file in a second file of the set of files within the log-structured merge tree; and
merging the first file and the second file to create a merged file, wherein the merging comprises merging the sequence of hashes of the first file and a second sequence of hashes of a second sequence of values stored within the second file to create the merged file and maintaining an order among the first and second sequences of hashes.

### Claim 9 (depends on 8)

The method of claim 8, wherein each respective file from the set of files stores a sequence of key-value pairs and a sequence of hashes generated therefrom.

### Claim 10 (depends on 8)

The method of claim 8, wherein the first file and the second file are received in sequential order, respectively, and the method further comprises storing a hash value generated based on a hash tree of the sequence of values within the first file as a previous hash value within the second file to cryptographically link the first and second files.

### Claim 11 (depends on 8)

The method of claim 8, wherein the merging comprises removing a prior entry of a key value from the first file based on an updated entry of the key value in the second file to create the merged file.

### Claim 12 (depends on 8)

The method of claim 8, wherein the merging comprises removing a hash value within the sequence of hashes of the first file and adding an intermediate hash value generated from a hash tree of the sequence of hashes of the first file.

### Claim 13 (depends on 8)

The method of claim 8, wherein the merging comprises removing a hash value within the sequence of hashes of the first file and adding a cryptographic proof generated based on a root hash value from a hash tree of the sequence of hashes of the first file and a previous hash value of the second file.

### Claim 14 (depends on 8)

The method of claim 8, further comprising receiving a data proof request for the merged file, and transmitting a hash value based on the sequence of hashes of the first file and the second sequences of hashes of the second file.

### Claim 15

A non-transitory computer readable medium comprising instructions, that when read by a processor, cause the processor to perform a method comprising:
storing data within a temporary memory structure;
transferring the stored data from the temporary memory structure into a set of files of a log-structured merge-tree;
generating a sequence of hashes of a sequence of values stored within a file of the set of files within the log-structured merge tree, where the sequence of hashes provides proof of a sequential order in which the sequence of values are stored within the respective first file;
storing the sequences of hashes of the sequence of values of the first file in a second file of the set of files within the log-structured merge tree; and
merging the first file and the second file to create a merged file, wherein the merging comprises merging the sequence of hashes of the first file and a second sequence of hashes of a second sequence of values stored within the second file to create the merged file and maintaining an order among the first and second sequences of hashes.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein each respective file from the set of files stores a sequence of key-value pairs and a sequence of hashes generated therefrom.

### Claim 17 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the first file and the second file are received in sequential order, respectively, and the method further comprises storing a hash value generated based on a hash tree of the first file as a previous hash value within the second file to cryptographically link the first and second files.
