Legal claims defining the scope of protection, as filed with the USPTO.
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.
2. The computer-implemented method of claim 1, wherein the data access request is a read request.
3. 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.
4. 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.
5. 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.
6. 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.
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.
8. The non-transitory machine-readable medium of claim 7, wherein the data access request is a read request.
9. 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.
10. 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.
11. 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.
12. 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.
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.
14. The data processing system of claim 13, wherein the data access request is a read request.
15. 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.
16. 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.
17. 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.
18. 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.
Unknown
January 7, 2025
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.