PERFORMING DATA STORAGE OPERATIONS WITH A CLOUD STORAGE ENVIRONMENT, INCLUDING AUTOMATICALLY SELECTING AMONG MULTIPLE CLOUD STORAGE SITES
First Claim
1. A method for identifying storage locations for a set of data files subject to a storage policy, wherein the set of data files is generated within a storage operation cell that has multiple client computers, and wherein the storage operation cell is coupled to multiple cloud storage sites via a network, the method comprising:
- grouping the data files into at least one logical group of data files using a storage policy, wherein the storage policy defines classes of storage locations on which the set of data files may be stored;
determining aggregate storage requirements of a logical group of data files based at least in part on the storage policy;
identifying two or more candidate cloud storage sites to store a copy of the logical group of data files,wherein each of the two or more candidate cloud storage sites are operated by independent organizations;
generating a request for quotes for storing a copy of the logical group of data files on one of the candidate cloud storage sites,wherein the request for quotes includes the aggregate storage requirements of the logical group of data files;
transmitting the request for quotes to the two or more candidate cloud storage sites;
receiving one or more quotes from each of the two or more candidate cloud storage sites,wherein the received quotes include a price;
identifying a target cloud storage site from the two or more candidate cloud storage sites by evaluating, based at least in part on the received quotes, storage costs of storing a copy of the logical group of data files;
wherein the storage costs include estimated monetary expenses associated with storing the logical group of data objects; and
transmitting for storage at least some of the logical group of data files from a client computer to the target cloud storage site.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for performing data storage operations, including content-indexing, containerized deduplication, and policy-driven storage, within a cloud environment. The systems support a variety of clients and cloud storage sites that may connect to the system in a cloud environment that requires data transfer over wide area networks, such as the Internet, which may have appreciable latency and/or packet loss, using various network protocols, including HTTP and FTP. Methods are disclosed for content indexing data stored within a cloud environment to facilitate later searching, including collaborative searching. Methods are also disclosed for performing containerized deduplication to reduce the strain on a system namespace, effectuate cost savings, etc. Methods are disclosed for identifying suitable storage locations, including suitable cloud storage sites, for data files subject to a storage policy. Further, systems and methods for providing a cloud gateway and a scalable data object store within a cloud environment are disclosed, along with other features.
1495 Citations
28 Claims
-
1. A method for identifying storage locations for a set of data files subject to a storage policy, wherein the set of data files is generated within a storage operation cell that has multiple client computers, and wherein the storage operation cell is coupled to multiple cloud storage sites via a network, the method comprising:
-
grouping the data files into at least one logical group of data files using a storage policy, wherein the storage policy defines classes of storage locations on which the set of data files may be stored; determining aggregate storage requirements of a logical group of data files based at least in part on the storage policy; identifying two or more candidate cloud storage sites to store a copy of the logical group of data files, wherein each of the two or more candidate cloud storage sites are operated by independent organizations; generating a request for quotes for storing a copy of the logical group of data files on one of the candidate cloud storage sites, wherein the request for quotes includes the aggregate storage requirements of the logical group of data files; transmitting the request for quotes to the two or more candidate cloud storage sites; receiving one or more quotes from each of the two or more candidate cloud storage sites, wherein the received quotes include a price; identifying a target cloud storage site from the two or more candidate cloud storage sites by evaluating, based at least in part on the received quotes, storage costs of storing a copy of the logical group of data files;
wherein the storage costs include estimated monetary expenses associated with storing the logical group of data objects; andtransmitting for storage at least some of the logical group of data files from a client computer to the target cloud storage site. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer-readable medium storing instructions that when , executed by a processor perform a method, the method comprising:
-
requesting, from two or more cloud storage sites, a quote for storing a copy of a set of data objects on a cloud storage site; receiving two or more quotes from respective two or more cloud storage sites, wherein each quote reflects a pricing rate for storing a copy of the set of data objects on a cloud storage site; calculating estimated costs of storing a copy of the set of data objects on two or more cloud storage sites using the received two or more quotes; choosing a target cloud storage site that has a lowest calculated estimated cost; and storing a copy of the set of data objects on the target cloud storage site. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method for scheduling storage operations on a cloud storage site, comprising:
-
determining a current capacity of the cloud storage site by accessing information relating to at least one of;
a capacity policy, a scheduled job, a quoted job, one or more queued requests, and a quotation policy that includes a set of preferences and criteria associated with generating a quote in response to auction client requests;receiving multiple new requests for cloud storage from one or more auction clients; identifying one or more winning requests that will receive responsive quotes by evaluating pending requests by applying preferences and criteria specified in the accessed quotation policy, wherein pending requests comprise the received new requests and the one or more queued requests; generating one or more responsive quotes for winning requests by applying preferences and criteria specified in the accessed quotation policy, wherein the responsive quotes include one or more pricing values; sending the one or more responsive quotes to one or more auction clients; and receiving from one or more auction clients an indication of acceptance of one or more responsive quotes. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system for storing data from client computers at a cloud storage site, wherein the cloud storage site is coupled among multiple client computers via a network, the system comprising:
-
a reception module configured to receive a request to perform a storage operation at the cloud storage site from one of the client computers, wherein the request includes at least an aggregate size of data to be stored from the one client computer; a quote module configured to identify and generate a responsive quote, wherein the responsive quote specifies at least a price for storing the aggregate size of data and a time window during which a storage operation for the aggregate size of data is to be performed by the cloud storage site; and a transmission module configured to send the responsive quote to the one client computer. - View Dependent Claims (26, 27)
-
-
28. A system for identifying storage locations for a set of data files subject to a storage policy, wherein the set of data files is generated within a storage operation cell that has multiple client computers, and wherein the storage operation cell is coupled to multiple cloud storage sites via a network, the system comprising:
-
means for grouping the data files into at least one logical group of data files using a storage policy, wherein the storage policy defines classes of storage locations on which the set of data files may be stored; means for determining aggregate storage requirements of a logical group of data files based at least in part on the storage policy; means for identifying two or more candidate cloud storage sites to store a copy of the logical group of data files, wherein each of the two or more candidate cloud storage sites are operated by independent organizations; means for generating a request for quotes for storing a copy of the logical group of data files on one of the candidate cloud storage sites, wherein the request for quotes includes the aggregate storage requirements of the logical group of data files; means for identifying a target cloud storage site from the two or more candidate cloud storage sites by evaluating, based at least in part on received quotes, storage costs of storing a copy of the logical group of data files;
wherein the storage costs include estimated monetary expenses associated with storing the logical group of data objects; andmeans for transmitting for storage at least some of the logical group of data files from a client computer to the target cloud storage site.
-
Specification