DATA OBJECT STORE AND SERVER FOR A CLOUD STORAGE ENVIRONMENT, INCLUDING DATA DEDUPLICATION AND DATA MANAGEMENT ACROSS MULTIPLE CLOUD STORAGE SITES
First Claim
1. 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.
4 Assignments
0 Petitions
Accused Products
Abstract
Data storage operations, including content-indexing, containerized deduplication, and policy-driven storage, are performed 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.
-
Citations
17 Claims
-
1. 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 (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for storing a secondary copy of an original data set on a cloud storage site using a cloud gateway, wherein the cloud gateway is coupled between one or more client computers and one or more cloud storage sites via a network, the method comprising:
-
identifying data blocks within a cache of the cloud gateway that satisfy certain criteria, wherein the original data set comprises data blocks, wherein the certain criteria are from a storage policy, and wherein the certain criteria include time-based criteria; performing block-level deduplication of the identified data blocks to create a deduplicated set of data, wherein the block-level deduplication includes— determining a size for a container file to utilize when deduplicating the identified data blocks; and deduplicating at least some of the identified data blocks to create one or more container files containing deduplicated data, wherein at least one of the container files has the determined size; and storing the deduplicated set of data on the cloud storage site by; buffering data for later transmission to the cloud storage site; repeating the following steps while the data buffer is not full; receiving a file system request to write a group of data to the cloud storage site; and adding the group of data to the buffer; converting a file system request to one or more application program interface calls associated with the cloud storage site; and transmitting contents of the buffer to the cloud storage site using the one or more application program interface calls associated with the cloud storage site. - View Dependent Claims (12, 13)
-
-
14. A system for creating a secondary copy of an original data set using a cloud storage site, wherein the original data set is received from one or more client computers, the system comprising:
-
means for identifying sub-objects of the original data set that satisfy certain criteria, wherein the certain criteria are related a storage policy; means for performing deduplication of the identified data sub-objects to create a deduplicated set of data; and
,means for storing the deduplicated set of data on the cloud storage site, wherein the means for storing includes; means for buffering data for later transmission to the cloud storage site; means for converting file system requests into application program interface calls associated with the cloud storage site; and
,means for transmitting the buffered data to the cloud storage site using the one or more application program interface calls associated with the cloud storage site. - View Dependent Claims (15, 16)
-
-
17. A non-transitory computer-readable medium storing instructions that when executed by a processor perform a method for utilizing cloud storage resources to store at least a first portion of at least one data object within a network attached storage (NAS) device, wherein the NAS device includes a NAS file system and a non-volatile data store, and wherein the NAS device is communicatively coupled to access the cloud storage resources, the method comprising:
-
accessing calls to or from the NAS file system for reading of data from or writing of data to the non-volatile data store of the NAS device, wherein the at least one data object consists of multiple data blocks, wherein the non-volatile data store of the NAS device stores the multiple data blocks of the at least one data object; wherein the NAS file system of the NAS device controls the reading of data from or the writing of data to the multiple data blocks of the at least one data object, and wherein the accessing includes identifying individual blocks or groups of blocks within the multiple data blocks of the at least one data object that the NAS file system of the NAS device reads data from or writes data to; based on the accessing, identifying a portion of the multiple data blocks of the at least one data object that satisfies a data storage criteria; and automatically transferring the identified portion of the multiple data blocks for storage by the cloud storage resources.
-
Specification