# US 10,374,792 B1 · Layout-independent cryptographic stamp of a distributed dataset

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

- Number: US 10,374,792 B1
- Document ID: US10374792B1
- Status: Granted
- Kind: B1
- Application number: 15/280,620
- Filed: 2016-09-29
- Granted: 2019-08-06
- Earliest claimed: 2016-09-29
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company, LLC
- Inventors: David Meiri; Xiangping Chen; William R. Stronge; Felix Shvaiger
- Web page: https://patentgrep.com/patent/US10374792B1

## CPC

- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- G06F 12/12: Replacement control
- G06F 12/121: using replacement algorithms
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- H04L 9/3297: {involving time stamps, e.g. generation of time stamps}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system, computer program product, and computer-executable method of providing a layout-independent cryptographic stamp of a distributed data set from a data storage system, the system, computer program product, and computer-executable method comprising receiving a request for a cryptographic stamp of the distributed data set, creating a hash of each slice of the distributed data set, and using each hash from each slice of the distribute data set to create the cryptographic stamp of the distributed data set.

## Claims

### Claim 1

A computer-executable method of providing a layout-independent cryptographic stamp of a distributed data set from a data storage system, the computer-executable method comprising:
receiving a request for a cryptographic stamp of the distributed data set;
creating a hash of each slice of the distributed data set; and
using each hash from each slice of the distribute data set to create the cryptographic stamp of the distributed data set, wherein the cryptographic stamp of the distributed data set is layout-independent of the data storage system.

### Claim 2 (depends on 1)

The computer-executable method of claim 1, wherein the creating comprises: tasking a control module within the data storage system to create a hash for each slice managed by the control module; responding with a set of hashes created by the control module.

### Claim 3 (depends on 2)

The computer-executable method of claim 2, wherein tasking comprises:
creating a thread to process a slice of the distributed data set.

### Claim 4 (depends on 3)

The computer-executable method of claim 3, further comprising:
allocating a first data page;
scanning entries within the slice;
storing the entries within the first data page; and
determining whether the data page is full.

### Claim 5 (depends on 4)

The computer-executable method of claim 4, further comprising:
upon a positive determination, allocating a new data page;
creating a first hash of the first data page;
storing the first hash in the new data page; and
deleting all entries from the first data page.

### Claim 6 (depends on 5)

The computer-executable method of claim 5, further comprising:
resuming scanning entries within the slice until the first data page is full.

### Claim 7

A system, comprising:
a data storage system enabled to store a distributed data set; and
computer-executable program logic encoded in memory of one or more computers enabled to provide a layout-independent cryptographic stamp of a distributed data set, wherein the computer-executable program logic when executed is configured for:
receiving a request for a cryptographic stamp of the distributed data set;
creating a hash of each slice of the distributed data set; and
using each hash from each slice of the distribute data set to create the cryptographic stamp of the distributed data set, wherein the cryptographic stamp of the distributed data set is layout-independent of the data storage system.

### Claim 8 (depends on 7)

The system of claim 7, wherein the creating comprises:
tasking a control module within the data storage system to create a hash for each slice managed by the control module; and
responding with a set of hashes created by the control module.

### Claim 9 (depends on 8)

The system of claim 8, further including, wherein tasking comprises:
creating a thread to process a slice of the distributed data set.

### Claim 10 (depends on 9)

The system of claim 9, wherein the computer-executable program logic is further configured for:
allocating a first data page;
scanning entries within the slice;
storing the entries within the first data page; and
determining whether the first data page is full.

### Claim 11 (depends on 10)

The system of claim 10, wherein the computer-executable program logic is further configured for:
upon a positive determination, allocating a new data page;
creating a first hash of the first data page;
storing the first hash in the new data page; and
deleting all entries from the first data page.

### Claim 12 (depends on 11)

The system of claim 11, wherein the computer-executable program logic is further configured for:
resuming scanning entries within the slice until the first data page is full.

### Claim 13

A computer program product for providing a layout-independent cryptographic stamp of a distributed data set from a data storage system, the computer program product comprising:
a non-transitory computer readable medium encoded with computer-executable code, the computer-executable code when executed configured for:
receiving a request for a cryptographic stamp of the distributed data set;
creating a hash of each slice of the distributed data set; and
using each hash from each slice of the distribute data set to create the cryptographic stamp of the distributed data set, wherein the cryptographic stamp of the distributed data set is layout-independent of the data storage system.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the creating comprises:
tasking a control module within the data storage system to create a hash for each slice managed by the control module; and
responding with a set of hashes created by the control module.

### Claim 15 (depends on 14)

The computer program product of claim 14, wherein tasking comprises:
creating a thread to process a slice of the distributed data set.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the computer-executable code is further configured for the execution of:
allocating a first data page;
scanning entries within the slice;
storing the entries within the first page; and
determining whether the first data page is full.

### Claim 17 (depends on 16)

The computer program product of claim 16, wherein the computer-executable code is further configured for the execution of:
upon a positive determination, allocating a new data page;
creating a first hash of the first data page;
storing the first hash in the new data page; and
deleting all entries from the first data page.

### Claim 18 (depends on 17)

The computer program product of claim 17, wherein the computer-executable code is further configured for the execution of:
resuming scanning entries within the slice until the first data page is full.
