# US 12,192,306 B2 · Method to provide SLA based access to cloud data in backup servers with multi cloud storage

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

- Number: US 12,192,306 B2
- Document ID: US12192306B2
- Status: Granted
- Kind: B2
- Application number: 17/350,203
- Filed: 2021-06-17
- Published: 2022-12-22
- Granted: 2025-01-07
- Earliest claimed: 2021-06-17
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: Kalyan C. Gunda; Jagannathdas Rath; Santi Gopal Mondal; Arun Vishnu Pk; Veera Venkata Prasad Jagarlamudi
- Web page: https://patentgrep.com/patent/US12192306B2

## CPC

- H04L 41/5019: Ensuring fulfilment of SLA
- H04L 67/61: taking into account QoS or priority requirements
- G06F 3/0614: {Improving the reliability of storage systems}
- G06F 3/0635: {by changing the path, e.g. traffic rerouting, path reconfiguration}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 11/3034: {where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing 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)}
- G06F 11/3409: {for performance assessment}
- H04L 41/5096: {wherein the managed service relates to distributed or central networked applications}
- H04L 63/102: {Entity profiles}
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 67/1014: based on the content of a request
- H04L 67/1023: based on a hash applied to IP addresses or costs
- 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]
- H04L 67/53: using third party service providers
- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- H04L 43/0852: Delays
- H04L 43/0894: Packet rate
- H04L 43/16: Threshold monitoring
- 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

The disclosure provides a system, computer readable medium, and computer-implemented method for managing data access. The method includes obtaining a data access request from a requestor for client data redundantly stored in at least two storage providers that are unknown to the requestor; identifying a service level objective for servicing the data access request; ranking the at least two storage providers based on the service level objective to identify one of the at least two storage providers to service the data access request; and providing the requestor with access to a copy of the client data using the one of the at least two storage providers.

## Claims

### Claim 1

A computer-implemented method for managing data access, the method comprising:
receiving a data access request from a requestor for client data, wherein the client data was previously redundantly stored in a plurality of storage providers that are unknown to the requestor;
responsive to receiving the data access request:
identifying a service level objective for servicing the data access request, wherein the service level objective specifies a controlling metric and a non-controlling metric, the controlling metric comprising a minimum bandwidth to be met by a storage provider;
determining an operational performance of each of the plurality of storage providers that currently store the client data;
identifying a portion of the plurality of storage providers that meet the controlling metric based on their corresponding operational performance;
ranking, based on the non-controlling metric, only the portion of the plurality of storage providers that currently store the client data, wherein the non-controlling metric is at least based on a cost to access the client data;
identifying a first storage provider from the portion of the plurality of storage providers based on the ranking;
copying a first portion of data blocks corresponding to the client data from the first storage provider;
subsequent to copying the first portion of data blocks corresponding to the client data from the first storage provider, and prior to copying a second portion of data blocks corresponding to the client data, determining that the first storage provider has become inaccessible;
in response to the first storage provider becoming inaccessible, using the ranking of the portion of the plurality of storage providers to identify a second storage provider;
copying the second portion of data blocks corresponding to the client data from the second storage provider; and
reconstructing the client data using the first portion of data blocks and the second portion of data blocks to produce reconstructed client data; and
providing, to the requestor, access to the reconstructed client data.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the data access request is a read request.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the controlling metric specifies a minimum characteristic for accessing the client data that must be met to meet the service level objective.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein the non-controlling metric specifies a characteristic for accessing the client data that impacts a quality of the data access provided to the requestor and for which each of the portion of the plurality of storage providers are relatively ranked with respect to each other.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein ranking the portion of the plurality of storage providers comprises:
generating an objective function based on metrics specified by the service level objective; and
ordering the portion of the plurality of storage providers based on the objective function,
wherein the data access request is a read request.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein the metrics comprise at least one of a maximum access latency for the client data, a maximum duration of time for accessing the client data, a maximum cost for accessing the client data, a relative performance ranking of the portion of the plurality of storage providers, and a relative archival performance ranking of the portion of the plurality of storage providers, and a relative cost ranking for the portion of the plurality of storage providers.

### Claim 7

A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations for managing data access, the operations comprising:
receiving a data access request from a requestor for client data, wherein the client data was previously redundantly stored in a plurality of storage providers that are unknown to the requestor;
responsive to receiving the data access request:
identifying a service level objective for servicing the data access request, wherein the service level objective specifies a controlling metric and a non-controlling metric, the controlling metric comprising a minimum bandwidth to be met by a storage provider;
determining an operational performance of each of the plurality of storage providers that currently store the client data;
identifying a portion of the plurality of storage providers that meet the controlling metric based on their corresponding operational performance;
ranking, based on the non-controlling metric, only the portion of the plurality of storage providers that currently store the client data, wherein the non-controlling metric is at least based on a cost to access the client data;
identifying a first storage provider from the portion of the plurality of storage providers based on the ranking;
copying a first portion of data blocks corresponding to the client data from the first storage provider;
subsequent to copying the first portion of data blocks corresponding to the client data from the first storage provider, and prior to copying a second portion of data blocks corresponding to the client data, determining that the first storage provider has become inaccessible;
in response to the first storage provider becoming inaccessible, using the ranking of the portion of the plurality of storage providers to identify a second storage provider;
copying the second portion of data blocks corresponding to the client data from the second storage provider; and
reconstructing the client data using the first portion of data blocks and the second portion of data blocks to produce reconstructed client data; and
providing, to the requestor, access to the reconstructed client data.

### Claim 8 (depends on 7)

The non-transitory machine-readable medium of claim 7, wherein the data access request is a read request.

### Claim 9 (depends on 7)

The non-transitory machine-readable medium of claim 7, wherein the controlling metric specifies a minimum characteristic for accessing the client data that must be met to meet the service level objective.

### Claim 10 (depends on 9)

The non-transitory machine-readable medium of claim 9, wherein the non-controlling metric specifies a characteristic for accessing the client data that impacts a quality of the data access provided to the requestor and for which each of the portion of the plurality of storage providers are relatively ranked with respect to each other.

### Claim 11 (depends on 7)

The non-transitory machine-readable medium of claim 7, wherein ranking the portion of the plurality of storage providers comprises:
generating an objective function based on metrics specified by the service level objective; and
ordering the portion of the plurality of storage providers based on the objective function,
wherein the data access request is a read request.

### Claim 12 (depends on 11)

The non-transitory machine-readable medium of claim 11, wherein the metrics comprise at least one of a maximum access latency for the client data, a maximum duration of time for accessing the client data, a maximum cost for accessing the client data, a relative performance ranking of the portion of the plurality of storage providers, and a relative archival performance ranking of the portion of the plurality of storage providers, and a relative cost ranking for the portion of the plurality of storage providers.

### Claim 13

A data processing system for managing data access, comprising:
a processor; and
a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform operations, the operations comprising:
receiving a data access request from a requestor for client data, wherein the client data was previously redundantly stored in a plurality of storage providers that are unknown to the requestor;
responsive to receiving the data access request:
identifying a service level objective for servicing the data access request, wherein the service level objective specifies a controlling metric and a non-controlling metric, the controlling metric comprising a minimum bandwidth to be met by a storage provider;
determining an operational performance of each of the plurality of storage providers that currently store the client data;
identifying a portion of the plurality of storage providers that meet the controlling metric based on their corresponding operational performance;
ranking, based on the non-controlling metric, only the portion of the plurality of storage providers that currently store the client data, wherein the non-controlling metric is at least based on a cost to access the client data;
identifying a first storage provider from the portion of the plurality of storage providers based on the ranking;
copying a first portion of data blocks corresponding to the client data from the first storage provider;
subsequent to copying the first portion of data blocks corresponding to the client data from the first storage provider, and prior to copying a second portion of data blocks corresponding to the client data, determining that the first storage provider has become inaccessible;
in response to the first storage provider becoming inaccessible, using the ranking of the portion of the plurality of storage providers to identify a second storage provider;
copying the second portion of data blocks corresponding to the client data from the second storage provider; and
reconstructing the client data using the first portion of data blocks and the second portion of data blocks to produce reconstructed client data; and
providing, to the requestor, access to the reconstructed client data.

### Claim 14 (depends on 13)

The data processing system of claim 13, wherein the data access request is a read request.

### Claim 15 (depends on 13)

The data processing system of claim 13, wherein the controlling metric specifies a minimum characteristic for accessing the client data that must be met to meet the service level objective.

### Claim 16 (depends on 15)

The data processing system of claim 15, wherein the non-controlling metric specifies a characteristic for accessing the client data that impacts a quality of the data access provided to the requestor and for which each of the portion of the plurality of storage providers are relatively ranked with respect to each other.

### Claim 17 (depends on 13)

The data processing system of claim 13, wherein ranking the portion of the plurality of storage providers comprises:
generating an objective function based on metrics specified by the service level objective; and
ordering the portion of the plurality of storage providers based on the objective function,
wherein the data access request is a read request.

### Claim 18 (depends on 17)

The data processing system of claim 17, wherein the metrics comprise at least one of a maximum access latency for the client data, a maximum duration of time for accessing the client data, a maximum cost for accessing the client data, a relative performance ranking of the portion of the plurality of storage providers, and a relative archival performance ranking of the portion of the plurality of storage providers, and a relative cost ranking for the portion of the plurality of storage providers.
