CLOUD STORAGE AND NETWORKING AGENTS, INCLUDING AGENTS FOR UTILIZING MULTIPLE, DIFFERENT CLOUD STORAGE SITES
First Claim
1. A system for storing, on each of multiple target cloud storage sites, a secondary copy of an original data set, the system comprising:
- a network agent comprising an hypertext transfer protocol (HTTP) subagent configured to establish and manage a network connection between the system and the multiple cloud storage sites,wherein the network connection utilizes at least one of HTTP and HTTP over Transport Layer Security/Secure Sockets Layer,wherein the multiple cloud storage sites are each operated by a different vendor, andwherein each of the multiple cloud storage sites employs vendor-specific calls specified by an application programming interface for that specific cloud storage site; and
a cloud storage submodule configured to at least open, read, and write data files stored on each of the multiple cloud storage sites and to direct the multiple cloud storage sites to perform data storage operations, wherein the cloud storage submodule is configured to create a secondary copy of an original data set by at least buffering a series of received data transfer requests and a copy of a subset of the original data set;
converting a series of received generic file system commands to store the copy of the subset of the original data set into vendor-specific calls specified by the application programming interface utilized by a selected one of the multiple cloud storage sites; and
transferring the buffered copy of the subset of the original data set over the network connection established by the network agent to the selected one cloud storage site.
4 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.
441 Citations
19 Claims
-
1. A system for storing, on each of multiple target cloud storage sites, a secondary copy of an original data set, the system comprising:
-
a network agent comprising an hypertext transfer protocol (HTTP) subagent configured to establish and manage a network connection between the system and the multiple cloud storage sites, wherein the network connection utilizes at least one of HTTP and HTTP over Transport Layer Security/Secure Sockets Layer, wherein the multiple cloud storage sites are each operated by a different vendor, and wherein each of the multiple cloud storage sites employs vendor-specific calls specified by an application programming interface for that specific cloud storage site; and a cloud storage submodule configured to at least open, read, and write data files stored on each of the multiple cloud storage sites and to direct the multiple cloud storage sites to perform data storage operations, wherein the cloud storage submodule is configured to create a secondary copy of an original data set by at least buffering a series of received data transfer requests and a copy of a subset of the original data set; converting a series of received generic file system commands to store the copy of the subset of the original data set into vendor-specific calls specified by the application programming interface utilized by a selected one of the multiple cloud storage sites; and transferring the buffered copy of the subset of the original data set over the network connection established by the network agent to the selected one cloud storage site. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for managing storage of data within various storage resources, including local storage devices and remote cloud storage resources, wherein the system forms part of a storage operation cell hierarchy, wherein the storage operation cell hierarchy includes multiple storage operation cells organized in one or more hierarchical relationships, the system comprising:
-
one or more computing devices; one or more local storage devices coupled to the one or more computing devices over a local or proprietary network, wherein the one or more local storage devices are configured to store data files from the one or more computing devices; and a storage operation cell within the storage operation cell hierarchy, wherein the storage operation cell hierarchy includes multiple storage operation cells organized in one or more hierarchical relationships, wherein the storage operation cell includes— a data agent component for accessing the data files of the one or more computing devices or the one or more local storage devices; a secondary storage computing component for communicating with the one or more computing devices or one or more local storage devices, wherein the secondary storage computing component further comprises— a network agent configured to establish a network connection between the secondary storage computing component and the cloud storage resources; and a cloud storage submodule configured to request storage of the data files via the cloud storage resources, wherein the cloud storage submodule is further configured to; convert received generic file system commands to store the data files into calls specified by an interface for the cloud storage resources; and send at least a copy of the data files over the established network connection for storage by the cloud storage resources. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A system for storing, on each of multiple target cloud storage sites, a secondary copy of an original data set, the system comprising:
-
means for managing communications utilizing a network protocol, and for establishing a network connection, at least indirectly, with each of the multiple cloud storage sites, wherein the multiple cloud storage sites are each operated by a different vendor, and wherein each of the multiple cloud storage sites employ differing interfaces or commands for writing data file to or reading data files from the cloud storage site; and means for transferring data files for storage within the cloud storage site, wherein the means for transferring includes means for providing storage commands to each of the multiple cloud storage sites using the differing interfaces or commands. - View Dependent Claims (16)
-
-
17. A system for storing data from a client computer to a cloud storage site, the system comprising:
-
at least one network agent configured to— establish and manage a first network connection between the system and the client computer, and establish and manage a second network connection between the system and at least one of the multiple cloud storage sites; at least one cloud storage submodule configured to at least open and read data files stored on each of the multiple cloud storage sites, and to write data files to each of the multiple cloud storage sites; and a storage manager coupled to the at least one network agent and the at least one cloud storage submodule, wherein the system is configured to provide software as a service (SaaS) to the client computer to permit the client computer to open and read data files stored on each of the multiple cloud storage sites, and to write data files to each of the multiple cloud storage sites. - View Dependent Claims (18, 19)
-
Specification