# US 11,307,790 B2 · Method, device, and computer program product for managing data placement

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

- Number: US 11,307,790 B2
- Document ID: US11307790B2
- Status: Granted
- Kind: B2
- Application number: 16/574,799
- Filed: 2019-09-18
- Published: 2020-12-24
- Granted: 2022-04-19
- Earliest claimed: 2019-06-24
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: Zhenzhen Lin; Pengfei Wu; Si Chen; Anzhou Hou
- Web page: https://patentgrep.com/patent/US11307790B2

## CPC

- G06F 3/065: {Replication mechanisms}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0653: {Monitoring storage devices or systems}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0671: {In-line storage system}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- 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

The present disclosure relates to a method, device and computer program product for managing data placement. In the method for managing data placement, in response to receiving a backup request for backing up raw data, the raw data is stored in a first storage system so as to form a raw copy. Metadata corresponding to the raw data is obtained, the metadata comprising abstract information of the raw data. The metadata is stored in a blockchain system in a second storage system so as to form a metadata copy, the first storage system and the second storage system being independent storage systems provided by a first vendor and a second vendor respectively. The raw data is managed by using the raw copy and the metadata copy. In the present disclosure, the raw copy and the metadata copy are stored to different storage systems, so that it may be judged whether a copy has been tampered with, and further higher security may be provided.

## Claims

### Claim 1

A method for managing data placement, comprising:
in response to receiving a backup request for backing up raw data, storing the raw data in a first storage system so as to form a raw copy;
obtaining metadata corresponding to the raw data, the metadata comprising abstract information of the raw data;
storing the metadata in a blockchain system in a second storage system so as to form a metadata copy, the first storage system and the second storage system being independent storage systems provided by a first vendor and a second vendor respectively; and
managing the raw data by using the raw copy and the metadata copy;
wherein managing the raw data by using the raw copy and the metadata copy comprises:
in response to receiving a recovery request for the raw data,
obtaining the metadata copy from the second storage system;
generating metadata based on the raw copy; and
managing the raw data based on the metadata copy and the generated metadata.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
collecting multiple states of multiple storage systems that are applicable to store either of the raw copy and the metadata copy, respectively; and
selecting corresponding storage systems of the first storage system and the second storage system from the multiple storage systems based on the multiple states.

### Claim 3 (depends on 2)

The method of claim 2, wherein collecting multiple states of the multiple storage systems respectively comprises: regarding a given storage system among the multiple storage systems,
determining at least one of the following states of the given storage system: a name, vendor, storage space, data throughput, latency, error rate and priority of the given storage system.

### Claim 4 (depends on 1)

The method of claim 1, wherein managing the raw data by using the raw copy and the metadata copy comprises: in response to determining the generated metadata matches the metadata copy,
verifying the raw copy as not changed; and
returning the raw copy.

### Claim 5 (depends on 4)

The method of claim 4, further comprising: in response to determining the generated metadata does not match the metadata copy,
verifying the raw copy as changed; and
returning a notification indicating the raw copy has been changed.

### Claim 6 (depends on 5)

The method of claim 5, further comprising: in response to determining the generated metadata does not match the metadata copy, reducing a priority of at least one of the first storage system and the second storage system.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first storage system and the second storage system are cloud-based storage systems.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
in response to receiving a further backup request for backing up further raw data, storing the further raw data in the second storage system to form a further raw copy;
obtaining further metadata corresponding to the further raw data, the further metadata comprising abstract information of the further raw data;
storing the further metadata in the first storage system to form a further metadata copy; and
managing the further raw data by using the further raw copy and the further metadata copy.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
dividing a raw data object into a group of raw data blocks; and
selecting a raw data block as the raw data from the group of raw data blocks.

### Claim 10

A device for managing data placement, comprising:
at least one processing unit; and
at least one memory coupled to the at least one processing unit and having instructions stored thereon for being executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform acts comprising:
in response to receiving a backup request for backing up raw data, storing the raw data in a first storage system so as to form a raw copy;
obtaining metadata corresponding to the raw data, the metadata comprising abstract information of the raw data;
storing the metadata in a blockchain system in a second storage system so as to form a metadata copy, the first storage system and the second storage system being independent storage systems provided by a first vendor and a second vendor respectively; and
managing the raw data by using the raw copy and the metadata copy;
wherein managing the raw data by using the raw copy and the metadata copy comprises:
in response to receiving a recovery request for the raw data,
obtaining the metadata copy from the second storage system;
generating metadata based on the raw copy; and
managing the raw data based on the metadata copy and the generated metadata.

### Claim 11 (depends on 10)

The device of claim 10, wherein the acts further comprise:
collecting multiple states of multiple storage systems that are applicable to store either of the raw copy and the metadata copy, respectively; and
selecting corresponding storage systems of the first storage system and the second storage system from the multiple storage systems based on the multiple states.

### Claim 12 (depends on 11)

The device of claim 11, wherein collecting multiple states of the multiple storage systems respectively comprises: regarding a given storage system among the multiple storage systems,
determining at least one of the following states of the given storage system: a name, vendor, storage space, data throughput, latency, error rate and priority of the given storage system.

### Claim 13 (depends on 10)

The device of claim 10, wherein managing the raw data by using the raw copy and the metadata copy comprises: in response to determining the generated metadata matches the metadata copy,
verifying the raw copy as not changed; and
returning the raw copy.

### Claim 14 (depends on 13)

The device of claim 13, wherein the acts further comprise: in response to determining the generated metadata does not match the metadata copy,
verifying the raw copy as changed; and
returning a notification indicating the raw copy has been changed.

### Claim 15 (depends on 14)

The device of claim 14, wherein the acts further comprise: in response to determining the generated metadata does not match the metadata copy, reducing a priority of at least one of the first storage system and the second storage system.

### Claim 16 (depends on 10)

The device of claim 10, wherein the first storage system and the second storage system are cloud-based storage systems.

### Claim 17 (depends on 10)

The device of claim 10, wherein the acts further comprise:
in response to receiving a further backup request for backing up further raw data, storing the further raw data in the second storage system to form a further raw copy;
obtaining further metadata corresponding to the further raw data, the further metadata comprising abstract information of the further raw data;
storing the further metadata in the first storage system to form a further metadata copy; and
managing the further raw data by using the further raw copy and the further metadata copy.

### Claim 18

A computer program product, tangibly stored on a non-transient computer readable medium and comprising machine executable instructions which, when executed by a device, cause the device to perform a method for managing data placement, comprising:
in response to receiving a backup request for backing up raw data, storing the raw data in a first storage system so as to form a raw copy;
obtaining metadata corresponding to the raw data, the metadata comprising abstract information of the raw data;
storing the metadata in a blockchain system in a second storage system so as to form a metadata copy, the first storage system and the second storage system being independent storage systems provided by a first vendor and a second vendor respectively; and
managing the raw data by using the raw copy and the metadata copy;
wherein managing the raw data by using the raw copy and the metadata copy comprises:
in response to receiving a recovery request for the raw data,
obtaining the metadata copy from the second storage system;
generating metadata based on the raw copy; and
managing the raw data based on the metadata copy and the generated metadata.

### Claim 19 (depends on 18)

The computer program product of claim 18, further comprising:
collecting multiple states of multiple storage systems that are applicable to store either of the raw copy and the metadata copy, respectively; and
selecting corresponding storage systems of the first storage system and the second storage system from the multiple storage systems based on the multiple states.

### Claim 20 (depends on 19)

The computer program product of claim 19, wherein collecting multiple states of the multiple storage systems respectively comprises: regarding a given storage system among the multiple storage systems,
determining at least one of the following states of the given storage system: a name, vendor, storage space, data throughput, latency, error rate and priority of the given storage system.
