US 12,192,306 B2
Method to provide SLA based access to cloud data in backup servers with multi cloud storage
Kalyan C. Gunda, Bangalore (IN); Jagannathdas Rath, Bangalore (IN); Santi Gopal Mondal, Bangalore (IN); Arun Vishnu Pk, Bangalore (IN); and Veera Venkata Prasad Jagarlamudi, Bangalore (IN)
Assigned to EMC IP HOLDING COMPANY LLC, Hopkinton, MA (US)
Filed by EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed on Jun. 17, 2021, as Appl. No. 17/350,203.
Prior Publication US 2022/0407931 A1, Dec. 22, 2022
Int. Cl. H04L 67/61 (2022.01); H04L 9/40 (2022.01); H04L 41/50 (2022.01); H04L 67/1023 (2022.01); H04L 67/1097 (2022.01); H04L 67/53 (2022.01)
CPC H04L 67/61 (2022.05) [H04L 41/5096 (2013.01); H04L 63/102 (2013.01); H04L 67/1023 (2013.01); H04L 67/1097 (2013.01); H04L 67/53 (2022.05)] 18 Claims
OG exemplary drawing
 
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.