# US 11,445,022 B2 · System and method for service level agreement based data verification

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

- Number: US 11,445,022 B2
- Document ID: US11445022B2
- Status: Granted
- Kind: B2
- Application number: 16/718,438
- Filed: 2019-12-18
- Published: 2020-04-23
- Granted: 2022-09-13
- Earliest claimed: 2017-07-06
- Assignees: Acronis International GmbH
- Applicants: Acronis International GmbH
- Inventors: Alexander Tormasov; Stanislav S. Protasov; Serguei M. Beloussov
- Web page: https://patentgrep.com/patent/US11445022B2

## CPC

- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F 11/0727: {in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- H04L 41/5019: Ensuring fulfilment of SLA
- H04L 63/123: {received data contents, e.g. message integrity}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- 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 and method is provided for service level agreement (SLA) based data storage and verification. According to one exemplary aspect, a method includes receiving, from a client device, a request to perform data verification of data relating to a file stored on a remote storage computer; accessing, by a processor, at least one SLA to determine a fault tolerance for the file stored on the remote storage computer; sending, by the processor to the remote storage computer, a request to store k derivatives of the file in the remote storage computer; and transmitting, to the client device, an indication of a location of the k derivatives of the file in the remote storage computer.

## Claims

### Claim 1

A method for service level agreement (SLA) based data verification, the method comprising:
receiving, from a client device, a request to perform data verification of data relating to a file stored on a remote storage computer;
accessing, by a processor, at least one SLA to determine a fault tolerance for the file stored on the remote storage computer;
sending, by the processor to the remote storage computer, a request to store k derivatives of the file in the remote storage computer; and
transmitting, to the client device, an indication of a location of the k derivatives of the file in the remote storage computer.

### Claim 2 (depends on 1)

The method of claim 1, wherein the request comprises a level of fault tolerance, further comprising:
in response to determining that the level of fault tolerance is equal to a minimum level of fault tolerance, sending, by the processor to the remote storage computer, the request to store k derivatives of the file in the remote storage computer.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
in response to determining that the level of fault tolerance is not equal to the minimum level of fault tolerance, determining whether optimization of place of the file and the k derivatives has been requested; and
in response to determining that the optimization has been requested, specifying optimum placement of derivatives in servers of the remote storage computer.

### Claim 4 (depends on 3)

The method according to claim 3, wherein the specifying comprises:
sending, by the processor to the remote storage computer, a request to store at least k+m derivatives of the file in at least k+m servers of the remote storage computer; and
transmitting, to the client device, respective indications of respective locations in the at least k+m servers of the at least k+m derivatives.

### Claim 5 (depends on 3)

The method of claim 3, further comprising:
in response to determining that the optimization has not been requested:
sending, by the processor to the remote storage computer, a request to store k+m derivatives of the file in k+m servers of the remote storage computer; and
transmitting, to the client device, respective indications of respective locations in the k+m servers of the k+m derivatives.

### Claim 6 (depends on 1)

The method of claim 1, further comprising generating an on-demand request as the request to perform the data verification of the data relating to the at least one file stored on the at least one remote storage computer.

### Claim 7 (depends on 1)

The method of claim 1, wherein the request to perform data verification is for a plurality of files and wherein a respective k derivatives are sent for each respective file of the plurality of files.

### Claim 8 (depends on 1)

The method of claim 1, wherein a selection for the fault tolerance is not in the request for data verification, further comprising transmitting, to the client device, an indication of a location of the file in the remote storage computer.

### Claim 9

A system for service level agreement (SLA) based data verification, the system comprising:
a processor configured to:
receive, from a client device, a request to perform data verification of data relating to a file stored on a remote storage computer;
access at least one SLA to determine a fault tolerance for the file stored on the remote storage computer;
send, to the remote storage computer, a request to store k derivatives of the file in the remote storage computer; and
transmit, to the client device, an indication of a location of the k derivatives of the file in the remote storage computer.

### Claim 10 (depends on 9)

The system of claim 9, wherein the request comprises a level of fault tolerance, wherein the processor is further configured to:
in response to determining that the level of fault tolerance is equal to a minimum level of fault tolerance, send, to the remote storage computer, the request to store k derivatives of the file in the remote storage computer.

### Claim 11 (depends on 10)

The system of claim 10, wherein the processor is further configured to:
in response to determining that the level of fault tolerance is not equal to the minimum level of fault tolerance, determine whether optimization of place of the file and the k derivatives has been requested; and
in response to determining that the optimization has been requested, specify optimum placement of derivatives in servers of the remote storage computer.

### Claim 12 (depends on 11)

The system according to claim 11, wherein the processor is further configured to specify by:
sending, by the processor to the remote storage computer, a request to store at least k+m derivatives of the file in at least k+m servers of the remote storage computer; and
transmitting, to the client device, respective indications of respective locations in the at least k+m servers of the at least k+m derivatives.

### Claim 13 (depends on 11)

The system of claim 11, wherein the processor is further configured to:
in response to determining that the optimization has not been requested:
send, to the remote storage computer, a request to store k+m derivatives of the file in k+m servers of the remote storage computer; and
transmit, to the client device, respective indications of respective locations in the k+m servers of the k+m derivatives.

### Claim 14 (depends on 9)

The system of claim 9, wherein the processor is further configured to generate an on-demand request as the request to perform the data verification of the data relating to the at least one file stored on the at least one remote storage computer.

### Claim 15 (depends on 9)

The system of claim 9, wherein the request to perform data verification is for a plurality of files and wherein a respective k derivatives are sent for each respective file of the plurality of files.

### Claim 16 (depends on 9)

The system of claim 9, wherein a selection for the fault tolerance is not in the request for data verification, and wherein the processor is further configured to transmit, to the client device, an indication of a location of the file in the remote storage computer.

### Claim 17

A non-transitory computer readable medium storing thereon computer executable instructions for service level agreement (SLA) based data verification, including instructions for:
receiving, from a client device, a request to perform data verification of data relating to a file stored on a remote storage computer;
accessing, by a processor, at least one SLA to determine a fault tolerance for the file stored on the remote storage computer;
sending, by the processor to the remote storage computer, a request to store k derivatives of the file in the remote storage computer; and
transmitting, to the client device, an indication of a location of the k derivatives of the file in the remote storage computer.

### Claim 18 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the request comprises a level of fault tolerance, further including instructions for:
in response to determining that the level of fault tolerance is equal to a minimum level of fault tolerance, sending, by the processor to the remote storage computer, the request to store k derivatives of the file in the remote storage computer.

### Claim 19 (depends on 18)

The non-transitory computer readable medium of claim 18, further including instructions for:
in response to determining that the level of fault tolerance is not equal to the minimum level of fault tolerance, determining whether optimization of place of the file and the k derivatives has been requested; and
in response to determining that the optimization has been requested, specifying optimum placement of derivatives in servers of the remote storage computer.

### Claim 20 (depends on 19)

The non-transitory computer readable medium according to claim 19, further including instructions for:
sending, by the processor to the remote storage computer, a request to store at least k+m derivatives of the file in at least k+m servers of the remote storage computer; and
transmitting, to the client device, respective indications of respective locations in the at least k+m servers of the at least k+m derivatives.
