# US 2020/0401568 A1 · Database journal redaction

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

- Number: US 2020/0401568 A1
- Document ID: US20200401568A1
- Status: Published application
- Kind: A1
- Application number: 16/446,556
- Filed: 2019-06-19
- Published: 2020-12-24
- Earliest claimed: 2019-06-19
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Tate Andrew Certain; Benjamin Nelson Glowney; Allan Henry Vermeulen
- Web page: https://patentgrep.com/patent/US20200401568A1

## CPC

- G06F 16/219: {Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477)}
- G06F 16/2255: {Hash tables}
- G06F 16/2246: {Trees, e.g. B+trees}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A database management system stores an entry in a journal. The journal, upon storage of the entry, comprises a leaf node with a hash value based at least in part on the entry, and a hierarchy of interior nodes based at least in part upon the leaf node. In response to a request to delete the entry, the entry is deleted but the hash value is retained. A cryptographic proof of a second entry stored in the journal is based at least in part on the retained hash value.

## Claims

### Claim 1

A system, comprising:
at least one processor; and
a memory comprising instructions that, in response to execution by the at least one processor, cause the system to at least:
store a first entry and a second entry in a journal, wherein the journal, upon storage of the first entry and the second entry, comprises a plurality of leaf nodes and a hierarchy of interior nodes, wherein a leaf node, of the plurality of leaf nodes, comprises a reference to the first entry and a hash value based at least in part on the first entry;
in response to a request to delete the first entry from the journal, remove the reference to the first entry from the leaf node, wherein the leaf node retains the hash value subsequent to removal of the reference; and
provide a list of hash values sufficient for proving that the second entry is stored in the journal.

### Claim 2 (depends on 1)

The system of claim 1, wherein the list of hash values is sufficient when a digest of the journal can be computed by one more applications of a symmetric hash operator to hash values of the list of hash values.

### Claim 3 (depends on 1)

The system of claim 1, the memory comprising further instructions that, in response to execution by the at least one processor, cause the system to at least:
provide, in response to the request, a digest value based at least in part on the retained hash value.

### Claim 4 (depends on 1)

The system of claim 1, wherein the hash value of the leaf node is based at least in part on a hash value of another leaf node of the plurality of leaf nodes.

### Claim 5 (depends on 1)

The system of claim 1, wherein a second hash value, of a second leaf node, is based at least in part on the hash value based at least in part on the first entry.

### Claim 6 (depends on 1)

The system of claim 1, wherein the list of hash values comprises the retained hash value.

### Claim 7

A computer-implemented method, comprising:
storing a first entry and a second entry in a journal, wherein the journal, upon storage of the first entry and the second entry, comprises a plurality of leaf nodes, wherein a leaf node, of the plurality of leaf nodes, comprises a reference to the first entry and a hash value based at least in part on the first entry;
removing, in response to a request to delete the first entry from the journal, the reference to the first entry from the leaf node;
retaining, in the leaf node, the hash value subsequent to the removal of the reference; and
providing a list of hash values sufficient for proving that the second entry is stored in the journal.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein the list of hash values is sufficient when a digest of the journal can be computed by one more applications of a symmetric hash operator to hash values of the list of hash values.

### Claim 9 (depends on 7)

The computer-implemented method of claim 7, wherein the first entry is in a nested journal.

### Claim 10 (depends on 7)

The computer-implemented method of claim 7, wherein a second hash value, of a second leaf node, is based at least in part on the hash value based at least in part on the first entry.

### Claim 11 (depends on 7)

The computer-implemented method of claim 7, further comprising:
providing an additional list of hash values sufficient for proving that the first entry had been stored in the journal.

### Claim 12 (depends on 7)

The computer-implemented method of claim 7, wherein the list of hash values comprises the retained hash value.

### Claim 13 (depends on 7)

The computer-implemented method of claim 7, wherein the journal comprises a digest based at least in part on the retained hash value.

### Claim 14

A non-transitory computer-readable storage medium storing thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
store a first entry and a second entry in a journal, wherein the journal, upon storage of the first entry and the second entry, comprises a plurality of leaf nodes, wherein a leaf node, of the plurality of leaf nodes, comprises a reference to the first entry and a hash value based at least in part on the first entry;
remove, in response to a request to delete the first entry from the journal, the reference to the first entry from the leaf node;
retain, in the leaf node, the hash value subsequent to removal of the reference; and
provide a list of hash values sufficient for proving that the second entry is stored in the journal.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the list of hash values is sufficient when a digest of the journal can be computed by one more applications of a symmetric hash operator to hash values of the list of hash values.

### Claim 16 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, the non-transitory computer-readable storage medium storing thereon further executable instructions that, as a result of being execute by the one or more processors, cause the computer system to at least:
provide, in response to the request, an indication that the first entry was deleted from the journal.

### Claim 17 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the hash value of the leaf node is based at least in part on a hash value of another leaf node of the plurality of leaf nodes.

### Claim 18 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, the non-transitory computer-readable storage medium storing thereon further executable instructions that, as a result of being execute by the one or more processors, cause the computer system to at least:
provide an additional list of hash values sufficient for proving that the first entry had been stored in the journal.

### Claim 19 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the list of hash values comprises the retained hash value.

### Claim 20 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the journal comprises a digest based at least in part the retained hash value.
