# US 2018/0322161 A1 · Management of snapshot in blockchain

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

- Number: US 2018/0322161 A1
- Document ID: US20180322161A1
- Status: Published application
- Kind: A1
- Application number: 15/800,766
- Filed: 2017-11-01
- Published: 2018-11-08
- Earliest claimed: 2017-05-03
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Hiroshi Horii; Kohichi Kamijoh; Kiyokuni Kawachiya; Shohei Ohsawa; Hironori Takeuchi
- Web page: https://patentgrep.com/patent/US20180322161A1

## CPC

- G06F 16/2358: {Change logging, detection, and notification (replication G06F16/27)}
- G06F 16/128: {Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion (error detection or correction of the data by redundancy in operations or in hardware G06F11/14, G06F11/16)}
- G06F 16/219: {Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477)}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- 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 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- 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

Verified snapshots are generated by obtaining, from one of a plurality of first nodes, a difference between a common data at a first time point and the common data at a second time point that is different from the first time point, generating a first snapshot of the common data at the first time point based on the difference, obtaining a hash of the common data at the first time point from one of the plurality of first nodes, and verifying the first snapshot at the first time point with the hash of the common data at the first time point.

## Claims

### Claim 1

A method, comprising:
obtaining, from at least one first node from a plurality of first nodes storing a common data and updating the common data with common transactions, a difference between the common data at a first time point and the common data at a second time point that is different from the first time point;
generating a first snapshot of the common data at the first time point based on the difference;
obtaining a hash of the common data at the first time point from at least one of the plurality of first nodes; and
verifying the first snapshot at the first time point with the hash of the common data at the first time point.

### Claim 2 (depends on 1)

The method of claim 1, further comprising storing by a snapshot node, a plurality of snapshots of the common data at different time points.

### Claim 3 (depends on 1)

The method of claim 1, wherein generating the first snapshot of the common data at the first time point is generated further based on a second snapshot at the second time point.

### Claim 4 (depends on 3)

The method of claim 3, wherein the difference is from an update of the common data with at least one common transaction made between the first time point and the second time point.

### Claim 5 (depends on 3)

The method of claim 3, wherein the first time point is a latest time point.

### Claim 6 (depends on 1)

The method of claim 1, further comprising calculating a hash of the first snapshot of the common data at the first time point, wherein verifying the first snapshot includes determining whether the hash of the first snapshot is the same as the hash of the common data at the first time point.

### Claim 7 (depends on 6)

The method of claim 6, further comprising storing the first snapshot of the common data at the first time point in response to determining that the hash of the first snapshot is the same as the hash of the common data at the first time point.

### Claim 8 (depends on 6)

The method of claim 6, further comprising obtaining, from at least another first node from the plurality of first nodes, a difference between the common data at the first time point and the common data at the second time point in response to determining that the hash of the first snapshot is not the same as the hash of the common data at the first time point.

### Claim 9 (depends on 1)

The method of claim 1, further comprising determining whether a plurality of hashes of common data at the first time point are the same, wherein obtaining the hash of the common data at the first time point from the at least one first node from the plurality of first nodes includes obtaining the plurality of hashes of the common data at the first time point from two or more of the first nodes.

### Claim 10 (depends on 1)

The method of claim 1, wherein obtaining the hash of the common data at the first time point from the at least one first node from the plurality of first nodes includes obtaining the hash of the common data at the first time point on which a consensus is built by the plurality of first nodes

### Claim 11

A method comprising:
receiving a snapshot of a third time point from a snapshot node storing a plurality of snapshots of a common data at different time points;
calculating a hash of the snapshot of the third time point;
receiving a hash of a common data at the third time point from at least one first node from a plurality of first nodes storing the common data and updating the common data with common transactions, by the plurality of first nodes; and
determining whether the hash of the snapshot at the third time point is the same as the hash of the common data at the third time point.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
receiving at least one common transaction between the third time point and a fourth time point from the at least one first node from the plurality of first nodes; and
generating the common data at the fourth time point based on the snapshot of the common data at the third time point and the at least one common transaction in response to determining that the hash of the snapshot of the third time point is the same as the hash of the common data at the third time point.

### Claim 13 (depends on 12)

The method of claim 12, wherein the third time point is posterior to the fourth time point.

### Claim 14 (depends on 12)

The method of claim 12, wherein the third time point is prior to the fourth time point.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
receiving a snapshot at a fifth time point that is prior to the third time point from the snapshot node in response to determining that the hash of the snapshot of the third time point is not the same as the hash of the common data at the third time point; and
receiving a hash of the common data at the fifth time point from at least one of the plurality of first nodes.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
receiving a snapshot at a sixth time point that is posterior to the third time point from the snapshot node in response to determining that the hash of the snapshot of the third time point is not the same as the hash of the common data at the third time point; and
receiving a hash of the common data at the sixth time point from at least one of the plurality of first nodes.
