US20100332401A1 - Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites - Google Patents

Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites Download PDF

Info

Publication number
US20100332401A1
US20100332401A1 US12/751,651 US75165110A US2010332401A1 US 20100332401 A1 US20100332401 A1 US 20100332401A1 US 75165110 A US75165110 A US 75165110A US 2010332401 A1 US2010332401 A1 US 2010332401A1
Authority
US
United States
Prior art keywords
data
storage
cloud storage
file
cloud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/751,651
Inventor
Anand Prahlad
Marcus S. Muller
Rajiv Kottomtharayil
Srinivas Kavuri
Parag Gokhale
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Commvault Systems Inc
Original Assignee
Commvault Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=43381800&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US20100332401(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Commvault Systems Inc filed Critical Commvault Systems Inc
Priority to US12/751,651 priority Critical patent/US20100332401A1/en
Priority to PCT/US2010/040402 priority patent/WO2011002777A2/en
Priority to EP10794641.0A priority patent/EP2449477B1/en
Priority to AU2010266433A priority patent/AU2010266433C1/en
Priority to CA2765624A priority patent/CA2765624C/en
Priority to DK10794641.0T priority patent/DK2449477T3/en
Priority to CA2838107A priority patent/CA2838107C/en
Assigned to COMMVAULT SYSTEMS, INC. reassignment COMMVAULT SYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MULLER, MARCUS S., PRAHLAD, ANAND, GOKHALE, PARAG, KAVURI, SRINIVAS, KOTTOMTHARAYIL, RAJIV
Publication of US20100332401A1 publication Critical patent/US20100332401A1/en
Assigned to BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT reassignment BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT SECURITY INTEREST Assignors: COMMVAULT SYSTEMS, INC.
Assigned to COMMVAULT SYSTEMS, INC. reassignment COMMVAULT SYSTEMS, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: BANK OF AMERICA, N.A.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0206Price or cost determination based on market factors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services; Handling legal documents
    • G06Q50/188Electronic negotiation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Definitions

  • 60692-8075US 60692-8075US
  • 61/223,695 filed Jul. 7, 2009, entitled SYSTEMS AND METHODS FOR PERFORMING DATA STORAGE OPERATIONS, INCLUDING CROSS-CLOUD STORAGE, OVER VARIOUS NETWORK PROTOCOLS (Attorney Docket No. 60692-8075US1), all of which are incorporated herein by reference.
  • data can be stored in primary storage as a primary copy that includes production data, or in secondary storage as various types of secondary copies including, as a backup copy, a snapshot copy, a hierarchical storage management copy (“HSM”), as an archive copy, and as other types of copies.
  • primary copy that includes production data
  • secondary storage as various types of secondary copies including, as a backup copy, a snapshot copy, a hierarchical storage management copy (“HSM”), as an archive copy, and as other types of copies.
  • HSM hierarchical storage management copy
  • a primary copy of data is generally a production copy or other “live” version of the data which is used by a software application and is generally in the native format of that application.
  • Primary copy data may be maintained in a local memory or other high-speed storage device that allows for relatively fast data access if necessary.
  • Such primary copy data is typically intended for short term retention (e.g., several hours or days) before some or all of the data is stored as one or more secondary copies, for example to prevent loss of data in the event a problem occurred with the data stored in primary storage.
  • Secondary copies include point-in-time data and are typically for intended for long-term retention (e.g., weeks, months or years depending on retention criteria, for example as specified in a storage policy as further described herein) before some or all of the data is moved to other storage or discarded. Secondary copies may be indexed so users can browse, search and restore the data at another point in time. After certain primary copy data is backed up, a pointer or other location indicia such as a stub may be placed in the primary copy to indicate the current location of that data. Further details may be found in the assignee's U.S. Pat. No. 7,107,298, filed Sep. 30, 2002, entitled SYSTEM AND METHOD FOR ARCHIVING OBJECTS IN AN INFORMATION STORE (Attorney Docket No. 60692-8003US1).
  • a backup copy is generally a point-in-time copy of the primary copy data stored in a backup format as opposed to in native application format.
  • a backup copy may be stored in a backup format that is optimized for compression and efficient long-term storage.
  • Backup copies generally have relatively long retention periods and may be stored on media with slower retrieval times than other types of secondary copies and media. In some cases, backup copies may be stored at on offsite location.
  • a snapshot may be thought as an instant image of the primary copy data at a given point in time.
  • a snapshot may capture the directory structure of a primary copy volume at a particular moment in time, and may also preserve file attributes and contents.
  • a snapshot may exist as a virtual file system, parallel to the actual file system. Users may gain a read-only access to the record of files and directories of the snapshot. By electing to restore primary copy data from a snapshot taken at a given point in time, users may also return the current file system to the prior state of the file system that existed when the snapshot was taken.
  • a snapshot may be created nearly instantly, using a minimum of file space, but may still function as a conventional file system backup.
  • a snapshot may not actually create another physical copy of all the data, but may simply create pointers that are able to map files and directories to specific disk blocks.
  • the initial snapshot may use only a small amount of disk space to record a mapping or other data structure representing or otherwise tracking the blocks that correspond to the current state of the file system. Additional disk space is usually only required when files and directories are actually modified later. Furthermore, when files are modified, typically only the pointers which map to blocks are copied, not the blocks themselves. In some embodiments, for example in the case of copy-on-write snapshots, when a block changes in primary storage, the block is copied to secondary storage before the block is overwritten in primary storage and the snapshot mapping of file system data is updated to reflect the changed block(s) at that particular point in time.
  • An HSM copy is generally a copy of the primary copy data, but typically includes only a subset of the primary copy data that meets a certain criteria and is usually stored in a format other than the native application format.
  • an HSM copy might include only that data from the primary copy that is larger than a given size threshold or older than a given age threshold and that is stored in a backup format.
  • HSM data is removed from the primary copy, and a stub is stored in the primary copy to indicate its new location.
  • systems use the stub to locate the data and often make recovery of the data appear transparent even though the HSM data may be stored at a location different from the remaining primary copy data.
  • An archive copy is generally similar to an HSM copy, however, the data satisfying criteria for removal from the primary copy is generally completely removed with no stub left in the primary copy to indicate the new location (i.e., where it has been moved to).
  • Archive copies of data are generally stored in a backup format or other non-native application format.
  • archive copies are generally retained for very long periods of time (e.g., years) and in some cases are never deleted. Such archive copies may be made and kept for extended periods in order to meet compliance regulations or for other permanent storage applications.
  • ILM information lifecycle management
  • storage management systems may perform additional operations upon copies, including deduplication, content indexing, data classification, data mining or searching, electronic discovery (E-discovery) management, collaborative searching, encryption and compression.
  • the Simpana system leverages a modular storage management architecture that may include, among other things, storage manager components, client or data agent components, and media agent components as further described in U.S. Pat. No. 7,246,207, filed Apr. 5, 2004, entitled SYSTEM AND METHOD FOR DYNAMICALLY PERFORMING STORAGE OPERATIONS IN A COMPUTER NETWORK.
  • the Simpana system also may be hierarchically configured into backup cells to store and retrieve backup copies of electronic data as further described in U.S. Pat. No. 7,395,282, filed Jul. 15, 1999, entitled HIERARCHICAL BACKUP AND RETRIEVAL SYSTEM.
  • Components within conventional storage management systems often communicate via one or more proprietary network protocols; this limits the devices that may connect to the system.
  • Conventional systems may utilize propriety or non-proprietary network protocols at any of the seven Open Systems Interconnection Reference Model (OSIRM) layers, and may often utilize proprietary application-layer protocols.
  • OSIRM Open Systems Interconnection Reference Model
  • a client may communicate with the secondary storage device by utilizing a proprietary application-level network protocol.
  • both the client and secondary storage device must have proprietary software and/or hardware installed or otherwise be configured to perform the proprietary network protocol.
  • the ability of a conventional storage management system is generally limited to performing storage operations on those clients and secondary storage devices having pre-installed hardware or software.
  • cloud storage sites typically provide only storage of and access to data objects as a service provided to end users. Generally, uploading, access and manipulation of data stored on a cloud storage site is conducted via an HTTP, FTP or similar network connection.
  • Cloud storage service providers include Amazon Simple Storage Service, Rackspace, Windows Azure, and Iron Mountain, and Nirvanix Storage Delivery Network. Cloud storage service providers often bill end users on a utility computing basis, e.g., per gigabyte stored, uploaded and/or downloaded per month.
  • Conventional cloud storage sites may not permit the end user to perform value-added storage operations such as ILM, deduplication, content indexing, data classification, data mining or searching, E-discovery management, collaborative searching, encryption or compression.
  • FIG. 1 illustrates an example of one arrangement of resources in a computing network that may employ aspects of the invention.
  • FIG. 2 is a block diagram illustrating an example of a data storage enterprise system that may employ aspects of the invention.
  • FIG. 3A is a flow diagram illustrating a routine for writing data to cloud storage sites.
  • FIG. 3B is a flow diagram illustrating a routine for migrating or copying data into an archive format in secondary storage, including secondary cloud storage.
  • FIG. 4 is a block diagram illustrating an example of a deduplication module.
  • FIGS. 5A-5D illustrate various data structures for deduplicating and storing copies or instances of data objects on a storage device or for other processes.
  • FIG. 6 is a flow diagram illustrating a process for pruning a deduplication database by pruning or deleting data objects stored in archive files, or entire archive files.
  • FIGS. 7A-7C illustrate various data structures which aspects of the invention may utilize for pruning object-level deduplicated data or for other processes.
  • FIG. 8 illustrates various data structures which aspects of the invention may utilize for deduplicating and storing copies or instances of data blocks on a storage device or for other processes.
  • FIG. 9 is a flow diagram illustrating a process for pruning a deduplication database by pruning or deleting data blocks stored in archive files, or entire archive files.
  • FIG. 10 is a flow diagram that illustrates the processing of a content indexing component.
  • FIG. 11 illustrates suitable data structures for facilitating content indexing.
  • FIG. 12 is a flow diagram illustrating a process for restoring or retrieving data from chunk folders in an archive file format on secondary storage.
  • FIGS. 13A and 13B illustrate example data structures that the system may maintain to facilitate the restoration or retrieval of data from chunk folders in an archive file format on secondary storage.
  • FIG. 14 is a flow diagram illustrating the processing of a search request by the system.
  • FIG. 15 illustrates another example of an arrangement of resources in a computing network that may employ aspects of the invention.
  • FIG. 16 is a block diagram illustrating a suitable environment for utilizing a networked data storage device.
  • FIG. 17 shows a block diagram illustrating components of the network-attached storage (NAS) filer component of a cloud gateway configured to perform data migration.
  • NAS network-attached storage
  • FIG. 18 depicts a flow diagram illustrating a routine for performing block-level data migration in a cloud gateway.
  • FIG. 19 is a flow diagram illustrating a routine for performing sub-object-level data migration in a cloud gateway.
  • FIG. 20 shows a flow diagram illustrating a routine for block-based or sub-object-based data restoration and modification in a cloud gateway.
  • FIG. 21 illustrates another example of an arrangement of resources in a computing network that may employ aspects of the invention to provide data storage software as a service.
  • FIG. 22 is a block diagram illustrating components of an object store.
  • FIG. 23 shows a flow diagram illustrating a first process that may be performed by an object store to process a request to store a data object.
  • FIGS. 24A and 24B together show a flow diagram illustrating a second process that may be performed by an object store to process a request to store a data object.
  • FIG. 25 is a block diagram illustrating an example architecture for integrating a collaborative search system with a collaborative document management system.
  • FIG. 26 is a schematic diagram illustrating integration of parsers with a typical collaborative document management system.
  • FIG. 27 is a flow diagram of a process for identifying suitable storage locations for various data objects subject to a storage policy.
  • FIG. 28 is a flow diagram of a process for scheduling cloud storage requests.
  • FIG. 29 illustrates a process for encrypting files stored within a cloud storage site.
  • Cloud storage excels with Internet applications where the generation of content can be viral and where it can be virtually impossible to predict capacity or access needs. Cloud storage is also ideal in the case of Web 2.0 applications which promote collaboration between hundreds and thousands of user sharing the same files or objects.
  • file systems have been a successful way of allowing people to store their data in an intuitive form that is easy to visualize, they have complexities which get exposed when the number of objects they need to manage reach massive proportions.
  • File systems are typically built on block storage devices and all files are eventually broken down into blocks that need to be placed on the storage system.
  • the file system has to maintain a “table of contents” (e.g. a FAT), which tracks not only what files it is holding, but which blocks on the storage comprise that file.
  • a FAT e.g. a FAT
  • the numbers get large enough that traditional file systems start to slow down or even crash. What's typically done when this happens is that a new file system or filer is added. But the new file system provides a completely different namespace than the original and all users of the file system (humans and applications) need to be aware of this change and know which namespace they need to look in to find their files.
  • Systems and methods are disclosed herein 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 storage devices that connect to the system in a cloud environment, which permits data transfer over wide area networks, such as the Internet, and which may have appreciable latency and/or packet loss.
  • the system allows available storage devices to include cloud storage sites.
  • 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 and effectuate cost savings.
  • 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.
  • LAN Local Area Network
  • WAN Wide Area Network
  • program modules may be located in both local and remote memory storage devices.
  • aspects of the invention including computer implemented instructions, data structures, screen displays, and other data may be stored or distributed on tangible computer-readable storage media, including magnetically or optically readable computer discs, hard-wired or preprogrammed chips (e.g., EEPROM semiconductor chips), nanotechnology memory, biological memory, or other data storage media.
  • computer implemented instructions, data structures, screen displays, and other data under aspects of the invention may be distributed via communication medium, such as over the Internet or over other networks (including wireless networks), on a propagated signal on a propagation medium (e.g., an electromagnetic wave(s), a sound wave, etc.) over a period of time, or they may be provided on any analog or digital network (packet switched, circuit switched, or other scheme).
  • FIG. 1 illustrates an example of one arrangement of resources in a computing network that may employ the processes and techniques described herein, although many others are of course possible.
  • Clients 130 may utilize data, which includes files, directories, metadata (e.g., access control list (ACLS) creation/edit dates associated with the data, etc.), and other data objects.
  • the data on the clients 130 is typically a primary copy (e.g., a production copy).
  • the clients 130 may send a copy of some data objects (or some components thereof) to a secondary storage computing device 165 by utilizing one or more data agents 195 , described below.
  • the secondary storage computing device 165 may in turn create secondary copies of primary data objects (or some components thereof) in storage devices 115 , which may include various cloud storage sites 115 A-N. Communications between the secondary storage computing devices 165 and cloud storage sites 115 A-N may utilize REST protocols (Representational state transfer interfaces) that satisfy basic C/R/U/D semantics (Create/Read/Update/Delete semantics), or other hypertext transfer protocol (“HTTP”)-based or file-transfer protocol (“FTP”)-based protocols (e.g. Simple Object Access Protocol).
  • REST protocols Real state transfer interfaces
  • HTTP hypertext transfer protocol
  • FTP file-transfer protocol
  • the secondary storage computing device 165 may also perform local content indexing and/or local object-level, sub-object-level or block-level deduplication when performing storage operations involving various cloud storage sites 115 A-N.
  • the system may reduce the time and cost associated with data access or data search requests sent to remote cloud storage sites.
  • the system may reduce the amount of data transfer required over a wide area network between the secondary storage computing devices 165 and the cloud storage sites 115 A-N, and may reduce the cost associated with data uploads to and data storage on cloud storage sites. Further details are provided below.
  • FIG. 2 illustrates an example of one arrangement of a storage operation cell 150 in a computing network that may employ the processes and techniques described herein, although many others are of course possible.
  • FIG. 2 shows a hierarchical arrangement of resources, which includes a storage operation cell 150 having a storage manager 105 , one or more data agents 195 , one or more network client agents 255 , one or more secondary storage computing devices 165 , one or more media file system agents 240 , one or more storage devices 115 , one or more clients 130 , and one or more data or information stores 260 .
  • the cell 150 also includes a management index 211 , a management light index 245 , a jobs agent 220 , an interface agent 225 , a management agent 233 , one or more network agents 235 , one or more metabases 270 , one or more secondary storage indices 261 , one or more deduplication modules 299 , one or more content indexing components 205 , one or more deduplication databases 297 , and one or more secondary storage light indices 247 .
  • Such system and elements represent a modular storage system such as the CommVault Simpana system, available from CommVault Systems, Inc. of Oceanport, N.J., and further described in the assignee's U.S. Pat. No. 7,035,880, filed Jul.
  • one or more of the secondary storage computing devices 165 may reside on one or more cloud storage site 115 A-N.
  • a secondary storage computing device may utilize computational resources (e.g., computational processing capacity) provided by a vendor that operates a cloud storage site 115 A-N to perform its functionality.
  • a storage operation cell such as cell 150
  • Storage operation cells 150 may be related to backup cells and provide some or all of the functionality of backup cells as described in the assignee's U.S. Pat. No. 7,395,282 filed Jul. 15, 1999, entitled HIERARCHICAL BACKUP AND RETRIEVAL SYSTEM.
  • storage operation cells may also perform additional types of storage operations and other types of storage management functions that are not generally offered by backup cells.
  • Additional data storage operations performed by storage operation cells 150 may include creating, storing, retrieving, and migrating primary storage data (e.g., data store 260 ) and secondary storage data (which may include, for example, snapshot copies, backup copies, Hierarchical Storage Management (HSM) copies, archive copies, and other types of copies of electronic data) stored on storage devices 115 .
  • storage operation cells may perform additional storage operations upon copies, including ILM, deduplication, content indexing, data classification, data mining or searching, electronic discovery (E-discovery) management, collaborative searching, encryption and compression.
  • a storage operation cell may make or retain disaster recovery copies, often as secondary, high-availability disk copies.
  • Storage operation cells 150 may also provide one or more integrated management consoles for users or system processes to interface with in order to perform certain storage operations on electronic data. Such integrated management consoles may be displayed at a central control facility or several similar consoles may be distributed throughout multiple network locations to provide global or geographically specific network data storage information.
  • storage operations may be performed according to various storage preferences, for example, as expressed by a user preference or a storage policy.
  • a “storage policy” is generally a data structure or other information source that includes a set of preferences and other storage criteria associated with performing a storage operation.
  • the preferences and storage criteria may include, but are not limited to, a storage location (or a class or quality of storage location), deduplication requirements, relationships between system components, network pathways to utilize in a storage operation, retention policies, data characteristics, compression or encryption requirements, preferred system components to utilize in a storage operation, the estimated or historic usage or cost associated with operating system components, frequency or use/access/etc. various time-related factors, single-instancing and/or deduplication information, and other criteria relating to a data storage or management operation.
  • a storage policy may indicate that certain data is to be stored in the storage device 115 , retained for a specified period of time before being aged to another tier of secondary storage, copied to the storage device 115 using a specified number of data streams, etc.
  • a storage policy may specify that certain data should be stored in one or more target cloud storage sites 115 A-N, as described herein.
  • a storage policy may specify that a first type of files should be retained for one year in a first target cloud storage site 115 A, that a second type of files should be retained for seven years in a second cloud storage site 1158 , and that a third type of files should be retained indefinitely in a third cloud storage site 115 N.
  • a storage policy may specify that a first type of files (e.g., secondary disk copies needed for rapid disaster recovery) be stored only in storage sites 115 , including cloud storage sites 115 A-N, that can provide sufficient bandwidth, network capacity or other performance to ensure that the time needed to recover a file from the storage device 115 (e.g., cloud storage site 115 A-N) is less a specified recovery time objective.
  • a storage policy relating to cloud storage sites 115 A-N may specify that a cloud storage site should be chosen, at least in part, based on the geographical (or network) proximity between a data source (e.g., client 130 and/or secondary storage computing device 165 ) and the cloud storage site in order to improve data transfers.
  • a data source e.g., client 130 and/or secondary storage computing device 165
  • a storage policy relating to cloud storage sites 115 A-N may specify that a first type of files be stored only on cloud storage sites that have a sufficient level of fault tolerance.
  • a storage policy may specify that a first type of files be stored only on cloud storage sites 115 A-N that replicate copies of their data across two or more geographically separate regions or across two or more separate power grids.
  • a storage policy may specify that a first type of files be stored only on cloud storage sites 115 A-N that satisfy other consumer criteria.
  • a storage policy may specify that a first type of files be stored only on cloud storage sites 115 A-N that are certified as being “environmentally green,” that align with particular political or social agendas, that do or do not have operations in certain countries (e.g., sites that do have operations in developing nations and/or do not have operations in embargoed countries), or that satisfy some other consumer criteria.
  • a storage policy might define different classes of storage that should be utilized for different types of data.
  • a storage policy may define “first-class storage” as rapid access media, such as storage devices having magnetic disk (or faster access) storage media, a high bandwidth network connection to the cloud storage site, and a cloud storage site that satisfies certain performance criteria (e.g., has high bandwidth for faster uploads and/or downloads and/or utilizes RAID or similar methods that improve the fault-tolerance of the site).
  • “Second-class storage” may be defined under a storage policy as a second cloud storage site having magnetic tape (or slower access) data storage, lower bandwidth connections and/or less fault tolerance.
  • a storage policy may define storage classes based on the actual performance achieved by cloud storage sites or other storage devices 115 .
  • a storage policy may define first-class storage as cloud storage sites that actually achieve a threshold average throughput, data recovery rate, and/or specified error rate.
  • a storage manager 105 may track, log and/or analyze the performance achieved by cloud storage sites.
  • a client computer or organization may contract with a cloud storage provider for a defined level of service, where the level of service relates to a storage policy as defined herein (e.g. aggregated data storage volumes, fault tolerance, data recovery rates, threshold latency and/or bandwidth, etc., defined under a service level agreement (SLA).)
  • SLA service level agreement
  • the client computer may then periodically perform tests or monitor performance of the cloud storage provider as compared to the defined level of service to ensure the appropriate level of service.
  • a storage policy may comprise an audit policy.
  • An audit policy is a set of preferences, rules and/or criteria that protect sensitive data in the storage operation cell 150 .
  • an audit policy may define “sensitive objects” as files or objects that contain particular keywords (e.g. “confidential,” or “privileged”) and/or are associated with particular keywords (e.g., in metadata) or particular flags (e.g., in metadata identifying a document or email as personal, confidential, etc.).
  • An audit policy may further specify rules for handling sensitive objects.
  • an audit policy may require that a reviewer approve the transfer of any sensitive objects to a cloud storage site 115 A-N, and that if approval is denied for a particular sensitive object, the sensitive object should be transferred to a local storage device 115 instead.
  • the audit policy may further specify how a secondary storage computing device 165 or other system component should notify a reviewer that a sensitive object is slated for transfer.
  • a storage policy may comprise a provisioning policy.
  • a provisioning policy is a set of preferences, priorities, rules and/or criteria that specify how various clients 130 (or groups of clients 130 , e.g., a group of clients 130 associated with a department) may utilize various system resources, including resources such as available storage on cloud storage sites 115 A-N and/or the network bandwidth between the storage operation cell 150 and cloud storage sites 115 A-N.
  • a provisioning policy may specify, for example, data quotas for particular clients 130 (e.g. a gigabyte amount of data that can be stored monthly, quarterly or annually).
  • Components of the storage operation cell 150 may enforce the provisioning policy (including quotas) during the transfer of data to secondary storage (e.g., during the process 300 , shown in FIG. 3B ). If a client (typically associated with a department within an organization) exceeds the policy, then a budget for that client/department may be charged for excess storage or resource allocation.
  • a storage policy may comprise a cost policy.
  • a cost policy is a set of preferences, priorities, rules and/or criteria that specify how to identify suitable storage locations, including suitable cloud storage locations.
  • a cost policy may describe the method of evaluating a cost function, as described in greater detail herein with respect to FIG. 27 .
  • a budget for that client/department may be charged for excess storage or resource allocation.
  • a storage policy may be stored in a database of the storage manager 105 , such as management index 211 , or in other locations or components of the system. As will be described in detail herein, the system may utilize a storage policy when identifying suitable storage locations for various data objects subject to the storage policy.
  • a “schedule policy” may specify when and how often to perform storage operations and may also specify performing certain storage operations on sub-clients of data and how to treat those sub-clients.
  • a “sub-client” is a portion of one or more clients 130 and can contain either all of the client's 130 data or a designated subset thereof. For example, an administrator may find it preferable to separate email data from financial data using two different sub-clients having different storage preferences, retention criteria, etc.
  • a schedule policy may be stored in the management index 211 of the storage manager 105 and/or in other locations within the system.
  • Storage operation cells may contain not only physical devices, but also may represent logical concepts, organizations, and hierarchies.
  • a first storage operation cell 150 may be configured to perform a first type of storage operation such as an HSM operation, which may include backup or other types of data migration, and may include a variety of physical components including a storage manager 105 (or management agent 233 ), a secondary storage computing device 165 , a client 130 , and other components as described herein.
  • a second storage operation cell 150 may contain the same or similar physical components; however, it may be configured to perform a second type of storage operation, such as a storage resource management (“SRM”) operation, and may include monitoring a primary data copy or performing other known SRM operations.
  • SRM storage resource management
  • each storage operation cell 150 may contain the same or similar physical devices.
  • different storage operation cells 150 may contain some of the same physical devices and not others.
  • a storage operation cell 150 configured to perform SRM tasks may contain a secondary storage computing device 165 , client 130 , or other network device connected to a primary storage volume
  • a storage operation cell 150 configured to perform HSM tasks may instead include a secondary storage computing device 165 , client 130 , or other network device connected to a secondary storage volume and may not contain the elements or components associated with and including the primary storage volume.
  • These two storage operation cells 150 may each include a different storage manager 105 that coordinates storage operations via the same secondary storage computing devices 165 and storage devices 115 .
  • This “overlapping” configuration allows storage resources to be accessed by more than one storage manager 105 , such that multiple paths exist to each storage device 115 facilitating failover, load balancing, and promoting robust data access via alternative routes.
  • the same storage manager 105 may control two or more storage operation cells 150 (whether or not each storage operation cell 150 has its own dedicated storage manager 105 ).
  • the extent or type of overlap may be user-defined (through a control console) or may be automatically configured to optimize data storage and/or retrieval.
  • the clients 130 may utilize data, which includes files, directories, metadata, and other data objects.
  • the data on the clients 130 is typically a primary copy (e.g., a production copy).
  • the clients 130 may send a copy of some data objects to a secondary storage computing device 165 by utilizing one or more data agents 195 .
  • the data agent 195 may be a software module or part of a software module that is generally responsible for storage operations, such as copying, archiving, migrating, and recovering data from client 130 stored in data store 260 or other memory location.
  • Each client 130 may have at least one data agent 195 , and the system can support multiple clients 130 .
  • Data agent 195 may be distributed between client 130 and storage manager 105 (and any other intermediate components), or it may be deployed from a remote location or its functions approximated by a remote process that performs some or all of the functions of data agent 195 .
  • the overall system may employ multiple data agents 195 , each of which may back up, migrate, archive, and recover data associated with a different application.
  • different individual data agents 195 may be designed to handle Microsoft Exchange data, Lotus Notes data, Microsoft Windows 2000 file system data, Microsoft Active Directory Objects data and other types of data known in the art.
  • Other embodiments may employ one or more generic data agents 195 that can handle and process multiple data types rather than using the specialized data agents described above.
  • one data agent 195 may be required for each data type to copy, archive, migrate, and restore the data of the client 130 .
  • the overall system may use one or more generic data agents 195 , each of which may be capable of handling two or more data types.
  • one generic data agent 195 may be used to back up, migrate, and restore Microsoft Exchange 2000 Mailbox data and Microsoft Exchange 2000 Database data while another generic data agent 195 may handle Microsoft Exchange 2000 Public Folder data and Microsoft Windows 2000 File System data, etc.
  • the data agents 195 may be responsible for arranging or packing data to be copied, transferred, or migrated into a certain format such as an archive file format. Nonetheless, it will be understood that this represents only one example, and any suitable packing or containerization technique or transfer methodology may be used if desired.
  • Such an archive file may include a metadata list of files or data objects copied in metadata, the file, and data objects themselves.
  • any data moved by the data agents may be tracked within the system by updating indexes associated with appropriate storage managers 105 or secondary storage computing devices 165 .
  • a file or a data object refers to any collection or grouping of bytes of data that can be viewed as one or more logical units.
  • the network client agent 255 may be a software module, part of a software module, and/or may comprise hardware that generally provides the client 130 with the ability to communicate with other components within the system, such as storage manager 105 , other clients 130 , and secondary storage computing devices 165 .
  • Network client agent 255 may permit communication via one or more proprietary and/or non-proprietary network protocols, notably to cloud-based storage, as described herein.
  • the storage manager 105 may be a software module or other application that coordinates and controls storage operations performed by storage operation cell 150 .
  • Storage manager 105 may communicate with some or all elements of storage operation cell 150 including clients 130 , data agents 195 , secondary storage computing devices 165 , and storage devices 115 to initiate and manage system backups, migrations, data recovery, and other storage operations.
  • Storage manager 105 may include a jobs agent 220 that monitors the status of some or all storage operations previously performed, currently being performed, or scheduled to be performed by storage operation cell 150 , including storage jobs sent to cloud-based storage. Jobs agent 220 may be communicatively coupled to interface agent 225 (e.g., a software module or application). Interface agent 225 may include information processing and display software, such as a graphical user interface (“GUI”), an application programming interface (“API”), or other interactive interface through which users and system processes can retrieve information about the status of storage operations. Through interface agent 225 , users may optionally issue instructions to various storage operation cells 150 regarding the performance of the storage operations as described and contemplated herein.
  • GUI graphical user interface
  • API application programming interface
  • a user may modify a schedule concerning the number of pending snapshot copies or other types of copies scheduled as needed to suit particular requirements.
  • a user may employ the GUI to view the status of pending storage operations in some or all of the storage operation cells 150 in a given network or to monitor the status of certain components in a particular storage operation cell 150 (e.g., the amount of storage capacity left in a particular storage device 115 ).
  • users or other system processes may retrieve information or issue commands by employing API commands sent to the interface agent via the network agent 235 .
  • the storage manager 105 may also include a management agent 233 that is typically implemented as a software module or application program.
  • management agent 233 provides an interface that allows various management agents 233 in other storage operation cells 150 to communicate with one another.
  • a certain network configuration includes multiple storage operation cells 150 adjacent to one another or otherwise logically related in a WAN or LAN configuration.
  • each storage operation cell 150 may be connected to the other through a respective interface agent 225 .
  • This allows each storage operation cell 150 to send and receive certain pertinent information from other storage operation cells 150 , including status information, routing information, information regarding capacity and utilization, etc.
  • These communications paths may also be used to convey information and instructions regarding storage operations.
  • the storage operation cells 150 can be organized hierarchically such that hierarchically superior cells control or pass information to hierarchically subordinate cells or vice versa.
  • Storage manager 105 may also maintain a management index 211 , database, or other data structure.
  • the data stored in management index 211 may be used to indicate logical associations between components of the system, user preferences, management tasks, media containerization and data storage information or other useful data.
  • the storage manager 105 may use data from management index 211 to track the logical associations between secondary storage computing device 165 and storage devices 115 (or the movement of data as containerized from primary to secondary storage).
  • the management index may indicate which cloud-based storage site(s) stores which data set.
  • Storage manager 105 may also include a network agent 235 that is typically implemented as a software module or part of a software module.
  • network agent 235 provides the storage manager 105 with the ability to communicate with other components within the system, such as clients 130 , data agents 195 , and secondary storage computing devices 165 .
  • the network agents 235 may permit communication via one or more proprietary and/or non-proprietary network protocols.
  • Network agent 235 may be communicatively coupled to management light index 245 , management index 211 , jobs agent 220 , management agent 233 , and interface agent 225 .
  • the secondary storage computing device 165 may include or be a media agent, may be implemented as a software module that conveys data, as directed by storage manager 105 , between a client 130 and one or more physical storage devices 115 , such as a tape library, a magnetic media storage device, an optical media storage device, a cloud storage site, or any other suitable storage device.
  • secondary storage computing device 165 may be communicatively coupled to and control a storage device 115 .
  • a secondary storage computing device 165 may be considered to be associated with a particular storage device 115 if that secondary storage computing device 165 is capable of routing and storing data to that particular storage device 115 .
  • a secondary storage computing device 165 associated with a particular storage device 115 may instruct the storage device 115 to use a robotic arm or other retrieval means to load or eject a certain storage media. Secondary storage computing device 165 may also instruct the storage device 115 to archive, migrate, restore, or copy data to or from the storage device 115 or its associated storage media. Secondary storage computing device 165 may also instruct the storage device 115 to delete, sparsify, destroy, sanitize, or otherwise remove data from the storage device 115 or its associated storage media. Secondary storage computing device 165 may communicate with a storage device 115 via any suitable communications path, including SCSI, a Fibre Channel communications link, or a wired, wireless, or partially wired/wireless computer network, including the Internet. In some embodiments, the storage device 115 may be communicatively coupled to the storage manager 105 via a storage area network (SAN).
  • SAN storage area network
  • a secondary storage computing device 165 may also include at least one media file system agent 240 .
  • Each media file system agent 240 may be a software module or part of a software module that is generally responsible for archiving, migrating, restoring, accessing, reading, writing, moving, deleting, sanitizing, or otherwise performing file system and data storage operations on various storage devices 115 of disparate types.
  • media file system agent 240 may be configured to permit secondary storage computing device 165 to open, read, write, close, and delete data on cloud storage sites or storage devices 115 having optical, magnetic, or tape media.
  • a secondary storage computing device 165 may also include a network agent 235 similar or identical to that described previously.
  • network agent 235 provides the secondary storage computing device 165 with the ability to communicate with other components within the system, such as other secondary storage computing devices 165 , storage manager 105 , clients 130 , data agents 195 , and storage devices 115 .
  • Network agent 235 generally provides communication via one or more proprietary and/or non-proprietary network protocols.
  • a secondary storage computing device 165 may also include a content indexing component 205 to perform content indexing of data in conjunction with the archival, restoration, migration, or copying of data, or at some other time. Content indexing of data is described in greater detail herein.
  • Each secondary storage computing device 165 may maintain an index, a database, or other data structure (referred to herein as “secondary storage index” or “SS index” 261 ) that may store index data generated during backup, migration, restoration, and other storage operations for secondary storage (“SS”) as described herein, including creating a metabase (MB). For example, performing storage operations on Microsoft Exchange data may generate index data.
  • Such index data provides a secondary storage computing device 165 or other external device with an efficient mechanism for locating data stored or backed up.
  • an SS index 261 and/or a management index 211 of a storage manager 105 may store data associating a client 130 with a particular secondary storage computing device 165 or storage device 115 , for example, as specified in a storage policy, while an SS index 261 , metabase, database, or other data structure in secondary storage computing device 165 may indicate where specifically the data of the client 130 is stored in storage device 115 , what specific files were stored, and other information associated with storage of the data of the client 130 .
  • index data may be stored along with the data backed up in a storage device 115 , with an additional copy of the index data written to index cache in a secondary storage device 165 .
  • the data is readily available for use in storage operations and other activities without having to be first retrieved from the storage device 115 .
  • information stored in cache is typically information that reflects certain particulars about operations that have recently occurred. After a certain period of time, this information is sent to secondary storage and tracked. This information may need to be retrieved and uploaded back into a cache or other memory in a secondary computing device before data can be retrieved from storage device 115 .
  • the cached information may include information regarding the format or containerization of archives or other files stored on storage device 115 .
  • a secondary storage computing device 165 may also include a deduplication database 297 to perform deduplication of data in conjunction with the archival, restoration, migration, or copying of data, or at some other time.
  • the secondary storage computing devices 165 may also maintain one or more deduplication databases 297 .
  • Single instancing is one form of deduplication and generally refers to storing in secondary storage only a single instance of each data object (or each data sub-object or each data block) in a set of data (e.g., primary data). More details as to single instancing may be found in one or more of the following commonly assigned U.S. patent applications: 1) U.S. Pat. Pub. No.
  • 2008-0243879 (entitled SYSTEM AND METHOD FOR STORING REDUNDANT INFORMATION, Attorney Docket No. 60692-8036US02); and 5) U.S. Pub. App. No. 2008-0229037 (entitled SYSTEMS AND METHODS FOR CREATING COPIES OF DATA, SUCH AS ARCHIVE COPIES, Attorney Docket No. 60692-8037US01).
  • variable instancing generally refers to storing in secondary storage one or more instances, but fewer than the total number of instances, of each data block (or data object or data sub-object) in a set of data (e.g., primary data). More details as to variable instancing may be found in the commonly assigned U.S. Pat. App. No. 61/164,803 (entitled STORING A VARIABLE NUMBER OF INSTANCES OF DATA OBJECTS, Attorney Docket No. 60692-8068US00).
  • the deduplication module 299 and deduplication database 297 are described in greater detail herein.
  • clients 130 and secondary storage computing devices 165 may each have associated metabases or indices ( 270 and 261 , respectively).
  • each “tier” of storage such as primary storage, secondary storage, tertiary storage, etc., may have multiple metabases/indices or a centralized metabase/index, as described herein.
  • the metabases/indices on this storage tier may be centralized.
  • second and other tiers of storage may have either centralized or distributed metabases/indices.
  • mixed architecture systems may be used if desired, that may include a first tier centralized metabase/index system coupled to a second tier storage system having distributed metabases/indices and vice versa, etc.
  • a storage manager 105 or other management module may keep track of certain information that allows the storage manager to select, designate, or otherwise identify metabases/indices to be searched in response to certain queries as further described herein. Movement of data between primary and secondary storage may also involve movement of associated metadata and index data and other tracking information as further described herein.
  • management index 211 and/or SS index 261 may provide content indexing of data generated during backup, migration, restoration, and other storage operations. In this way, management index 211 and/or SS index 261 may associate secondary storage files with various attributes, characteristics, identifiers, or other tags or data classifications associated with the file content. In such embodiments, a user of storage operation cell 150 may search for content within the storage operation cell via the interface agent 225 . Methods of performing content indexing and searching, including collaborative searching, within a storage operation cell 150 are described in the commonly assigned U.S. Patent Publication Nos.
  • 2008-0091655 (entitled METHOD AND SYSTEM FOR OFFLINE INDEXING OF CONTENT AND CLASSIFYING STORED DATA, Attorney Docket No. 60692-8046US) and 2008-0222108 (entitled METHOD AND SYSTEM FOR COLLABORATIVE SEARCHING, Attorney Docket No. 60692-8047US1).
  • storage manager 105 may also include or be operably coupled to a management light index 245 that may store index data, metadata, or other information generated during backup, migration, restoration, or other storage operations.
  • the management light index 245 provides storage manager 105 and other components with an alternate mechanism for locating data stored or backed up, so that they may more rapidly respond to client 130 or other requests received via HTTP or similar protocols that are susceptible to time-outs.
  • Management light index 245 may store some subset of the information contained in management index 211 , SS index 261 , client metabase 270 and/or other information.
  • the management light index 245 comprises the following information about each data file in the storage operation cell 150 : a file name or other descriptor, a descriptor for the client 130 or sub-client associated with the file (typically the client 130 that created the file), the size of the file, the storage location of the file (including the storage device, associated secondary storage computing devices 165 and/or other index data), file type (e.g., file extension or descriptor to associate an application with the file), etc.
  • the management light index 245 may comprise additional information, such as limited content information.
  • each data file may also be associated with a token that uniquely identifies the data file.
  • the token may not be unique for all data files in the management light index 245 ; instead, the combination of the token with another data field (e.g., the associated client 130 ) may be unique.
  • management light index 245 may be populated or changed. For example, whenever a secondary storage operation is performed (due to a client 130 request, a scheduled job, the application of a storage policy, or otherwise), the management light index 245 may be updated by the storage manager 105 , secondary storage computing device 165 , or other system component responsible for performing some or all of the storage operation. For example, if a client 130 (or its data agent 195 ) requests the creation of a backup, archival, or other secondary copy, the secondary storage computing device 165 (e.g. cloud-based storage site) creating that secondary copy may create one or more new entries in the management light index 245 reflecting the name, location, size, and client 130 associated with the newly created secondary copy. As another example, if due to an ILM storage policy, a file is migrated from a first storage device 115 to a second storage device 115 , a secondary storage computing device 165 may update the management light index 245 to reflect the new location of the file.
  • the secondary storage computing device 165 may update the
  • the management light index 245 may only be populated with information regarding data files that originated from clients 130 that connect to the storage operation cell 150 via certain network protocols.
  • the management light index 245 may only be populated with information regarding data files that originated from clients 130 that connect to the storage operation cell 150 via the HTTP protocol.
  • the secondary storage computing device 165 may include or be operably coupled to a secondary storage light index 247 (“SS light index”).
  • SS light index 247 comprises a subset of the information included in management light index 245 .
  • SS light index 247 includes a subset of information pertaining to secondary storage data files stored in storage devices 115 associated with the secondary storage computing device 165 .
  • SS light index 247 may be populated or changed in the same or similar manner as management light index 245 .
  • the management light index 245 and SS light index 247 may be implemented in a non-relational database format, such as C-Tree from Faircom, Inc., SimpleDB from Amazon, Inc., or CouchDB from the Apache Software Foundation.
  • the storage manager 105 may provide a faster response to client 130 or other requests than if it were to query management index 211 , metabase 270 and/or SS index 261 , and thus prevent time-outs when communicating via certain network protocols such as HTTP.
  • Components of the storage operation cell 150 system, such as storage manager 150 may be configured to facilitate data storage provisioning and/or cost charge backs.
  • the system may evaluate the state of stored data relative to enterprise needs by using weighted parameters that may be user defined, e.g., in order to facilitate the generation of or enforcement of a provisioning policy.
  • the system may calculate data costing information and other information including information associated with the cost of storing data and data availability associated with storage operation cells, e.g., in order to facilitate charge backs.
  • the system may identify network elements, associated characteristics or metrics with the network elements, receive additional data, such as SRM or HSM data, from storage operation cells, and correlate the additional data with the network elements to calculate a cost of data storage or an availability of data.
  • data may be identified according to user, department, project, or other identifier.
  • data availability or data cost is compared to a service level agreement (SLA).
  • SLA service level agreement
  • a prediction of media usage is generated according to data use, availability, or cost. Further details regarding provisioning and charge backs may be found in the commonly assigned U.S. application Ser. No. 12/015,470, filed Jan. 16, 2008, entitled “SYSTEMS AND METHODS FOR STORAGE MODELING & COSTING,” (Attorney Docket No. 606928020US1), which is hereby incorporated herein in its entirety.
  • storage manager 150 may comprise a management module configured to predict and plan future storage needs.
  • the management module may receive information related to storage activities associated with one or more storage operation components within the storage operation cell under the direction of the storage manager component.
  • the management module is adapted to predict storage operation resource allocations based on the received information related to the storage activities. Further details relating to the prediction of storage operation resource allocations may be found in the commonly assigned U.S. application Ser. No. 11/639,830, filed Dec. 15, 2006, entitled “System and Method for Allocation of Organizational Resources” (Attorney Docket No. 606928019US2), and U.S. application Ser. No. 11/825,283, filed Jul. 5, 2007, entitled “System and Method for Allocation of Organizational Resources” (Attorney Docket No. 606928019US3), which are hereby incorporated herein in their entirety.
  • components of the storage operation cell 150 may be configured to copy data of one or more virtual machines being hosted by one or more non-virtual machines (e.g., hosted by a cloud storage site 115 A-N). Further details relating to copying data of virtual machines may be found in the commonly assigned U.S. application Ser. No. 12/553,294, filed Sep. 3, 2009, entitled “SYSTEMS AND METHODS FOR MANAGEMENT OF VIRTUALIZATION DATA,” (Attorney Docket No. 606928050US3), which is hereby incorporated herein in its entirety.
  • Network agent 235 may comprise one or more sub-processes or network subagents, which are typically implemented as a software module or part of a software module. Each network subagent may be responsible for managing communications between the network agent 235 and a remote device conducted via a particular network protocol, such as HTTP. Remote devices might include any component of the storage operation cell 150 , such as clients 130 , secondary storage computing devices 165 , storage devices 115 , storage managers 105 or other networked devices.
  • Each network subagent may do some or all of the following: accept or initiate connections to remote devices; authenticate remote devices and/or specific users on remote devices; receive requests from remote devices; provide responses to remote devices; log requests and responses; detect or respond to network time-outs; compress or encrypt data; serve data or content to remote devices; redirect remote devices to other system components; call other applications, scripts, or system resources; and implement bandwidth throttling.
  • Each network subagent may include instructions for interpreting routines, data structures, object classes, and/or protocols defined in a particular API or similar interface.
  • each subagent manages communications made via a particular network protocol. For example, each subagent manages communications utilizing a particular layer protocol, such as a transport layer protocol like Transport Control Protocol (“TCP”) from the TCP/IP (Internet Protocol).
  • a subagent may additionally or alternatively manage one or more protocols from a layer other than the transport layer (e.g., application layer), more than one transfer layer protocol.
  • Typical network subagents include an HTTP subagent, an FTP subagent, and a proprietary protocol subagent.
  • An HTTP subagent may manage connections that utilize HTTP and/or HTTP over TLS/SSL (“HTTPS”).
  • HTTPS HTTP over TLS/SSL
  • An FTP subagent may manage connections to the network agent 235 that utilize the FTP and/or secure FTP.
  • a proprietary protocol subagent may manage connections that utilize a particular proprietary application-layer protocol.
  • the proprietary protocol subagent may be configured to facilitate a virtual private network connection running over an HTTPS protocol, or another type of open/secure pipe wrapped in an HTTPS protocol.
  • Non-exclusive examples of other possible network subagents include network subagents to implement the common internet file system (CIFS) protocol and the network file system (NFS) protocol.
  • CIFS common internet file system
  • NFS network file system
  • Network client agents 255 are similar to the network agents 235 .
  • each network client subagent manages communications utilizing a network protocol, and is substantially similar to the network subagents described above.
  • typical network client subagents include an HTTP client subagent, an FTP client subagent, a proprietary protocol client subagent, and a telecommunications protocol client subagent.
  • An HTTP client subagent may be a web browser application configured to connect both to network client agents 255 as well as other resources such as general Internet or web servers.
  • a telecommunications protocol client subagent may manage remote connections that utilize data transfer protocols supported by certain types of telecommunications networks, e.g., Global System for Mobile (GSM), code/time division multiple access (CDMA/TDMA), and/or 3rd Generation (3G) telecommunications networks.
  • GSM Global System for Mobile
  • CDMA/TDMA code/time division multiple access
  • 3G 3rd Generation
  • telecommunications protocol client subagent may permit a user to initiate an HTTP connection by using an API associated with a mobile operating system such as Windows Mobile, BlackBerry OS, iPhone OS, Palm OS, Symbian, and Android.
  • Media file system agent 240 may comprise one or more media submodules. Each media submodule may permit the media file system agent 240 to perform basic file system commands (e.g., open, read, write, close, and delete) on a certain type of storage device 115 , and/or to otherwise direct a certain type of storage device 115 to perform file system or storage operations.
  • the media file system agent 240 may comprise tape, optical and/or magnetic submodules to open, read, write, close, and delete data files on storage devices utilizing tape, optical and magnetic media, respectively.
  • Media file system agent 240 may also comprise one or more cloud storage submodules 236 that permit the media file system agent 240 to open, read, write, close, and delete data files stored on cloud storage sites and/or otherwise direct cloud storage sites to perform data storage operations.
  • Cloud Storage Submodules Vendor-Agnostic File System Calls, Buffering of Storage Requests, and Logging Cloud Storage Performance
  • Each cloud storage vendor associated with a particular cloud storage site 115 A-N utilized by the system may provide an API that has vendor-specific implementation of basic file system calls. For example, each vendor API may prescribe a different functional call for opening/creating a new data file on the vendor's cloud storage site.
  • a cloud storage vendor API will utilize REST-based protocols.
  • the system described herein may used a cloud storage submodule to map each generic file system command (e.g., an open command) to the various implementations of the command as defined in each of the APIs provided by the various cloud storage vendors. Using the mapping, a cloud storage submodule may convert a generic file system command received by the media file system agent 240 into the appropriate vendor-specific call for a target cloud storage site 115 A-N.
  • the cloud storage submodule permits the system to ignore implementation details of the various cloud storage sites 115 A-N used by the system and simply treat each site in a manner analogous to local data storage media, such as local optical or tape media.
  • a cloud storage submodule may obviate the need for complex scripting or the addition of disparate cloud gateway appliances to write data to multiple cloud storage site targets.
  • a cloud storage submodule 236 also presents clients 130 and other system components with a unified name space, even if the system is storing data on multiple cloud storage sites 115 .
  • the cloud storage submodule 236 includes an interface to translate the REST-based protocols of the Amazon S3 APIs, the Windows Azure APIs and the Rackspace APIs into generic commands for use with a file system such as Windows, Solaris, Unix or Linux.
  • the cloud storage submodule converts the format and parameters of relevant storage vendor APIs, such as “open file” and “write file”, into a normalized or generic format for use with file systems.
  • the cloud storage submodule may likewise convert, if needed, the generic format into a format for specific file systems such as Windows, Linux, etc.) As shown in FIG.
  • the cloud storage submodule 236 may reside on media file system agent 140 located on the secondary storage computing device 165 to initiate file system and storage operations on cloud storage sites (including data transfers to and from a site). To initiate file system and storage operations, the cloud storage submodule 236 may invoke the network agent 235 , via an HTTP subagent, an FTP subagent, or another type of network subagent, to open a suitable network connection to a target cloud storage site so that the cloud storage submodule may make various file system requests upon the target cloud storage site for storage operations via this network connection.
  • the cloud storage submodule 236 may reside on media file system agent 140 located on the secondary storage computing device 165 to initiate file system and storage operations on cloud storage sites (including data transfers to and from a site).
  • the cloud storage submodule 236 may invoke the network agent 235 , via an HTTP subagent, an FTP subagent, or another type of network subagent, to open a suitable network connection to a target cloud storage site so that the cloud storage submodule may make various file
  • cloud storage site APIs may provide advanced functionality to manipulate files stored on a cloud storage site that extend beyond basic file system calls such as open, read, write.
  • cloud storage site APIs may provide commands for the encryption, compression and/or other advanced file operations.
  • Cloud storage submodules may map generic advanced file operations (e.g., a generic encryption command) to the various implementations of the command as defined in each of the APIs provided by the various cloud storage vendors.
  • a cloud storage site API may provide a command to encrypt a file located on the cloud storage site using an encryption method that does not result in the cloud storage site receiving a key (or does not result in the cloud storage site receiving or retaining other information sufficient to decrypt an encrypted file).
  • a cloud storage site API may permit storing encrypted data belonging to a client on a cloud storage site, together with an encrypted version of the encryption key that was used to encrypt the encrypted data.
  • a password would be required from the client in order to decrypt the encrypted version of the encryption key stored on the storage system belonging to the application service provider. This is advantageous for the client, because it would prevent the application service provider from decrypting the data belonging to the customer, without the customer's permission.
  • a cloud storage submodule 236 may permit other system components to direct one cloud storage site 115 to transfer some or all files to another cloud storage site 115 , without first transferring the files back to the storage cell 150 .
  • the system may efficiently and effectively “fire” underperforming or expensive cloud storage sites 115 or otherwise adjust how it uses multiple cloud storage sites 115 A-N. For example, if the system determines that a cloud storage site is underperforming, it may transfer files from the underperforming site to a different site that is meeting performance metrics specified in a storage policy.
  • a cloud storage submodule 236 When a cloud storage submodule 236 initiates file system and storage operations on a cloud storage site, it may determine or test and record (or report, e.g., to a storage manager 105 ) the performance achieved by the cloud storage site, such as the throughput of the site, the number of failures that occurred, the number of timeouts, speed of restores, speed of responses to queries, or other metrics. By determining the actual performance of cloud storage sites 115 A-N, the storage operation cell 150 may adjust its classifications of various cloud storage sites 115 (e.g., as first-class storage, as second-class storage, etc.) dynamically or periodically.
  • the system may determine which cloud storage sites are underperforming so that it may transfer files from the underperforming site to a different site that is meeting performance metrics specified in a storage policy or take other suitable action (e.g., requesting a reduced storage price).
  • a cloud storage submodule 236 may also store and/or manage credentials or other authorization and connection information (e.g., site configuration settings, login information, certificates, etc.) that permit the cloud storage submodule to perform storage operations on a cloud storage site 115 .
  • credentials or other authorization and connection information e.g., site configuration settings, login information, certificates, etc.
  • the system may populate each cloud storage submodule with the appropriate configuration settings or credentials for the new site.
  • the cloud storage submodule 236 may receive a series of similar requests for the submodule to transfer data to a target cloud storage site (e.g., cloud storage site 115 A); each individual request in the series may only involve a small amount of data (e.g., a few data blocks or a small data object such as an email). For example, since the system may utilize cloud storage submodule to transfer data to cloud storage sites 115 A-N during containerized deduplication, it may receive a series of similar file requests (e.g., to write several small email data objects to the same target container file on the same target cloud storage site).
  • a target cloud storage site e.g., cloud storage site 115 A
  • each individual request in the series may only involve a small amount of data (e.g., a few data blocks or a small data object such as an email).
  • a series of similar file requests e.g., to write several small email data objects to the same target container file on the same target cloud storage site.
  • the cloud storage submodule may utilize two or more local buffers (e.g., buffers stored in local memory, such as local RAM) to manage the series of transfer requests.
  • the buffers need not be large, and could be set in one embodiment to 128 k each, although larger buffers may of course be used, and the size of the various buffers used by the cloud storage submodule may be configurable by the user.
  • the cloud storage submodule 236 may maintain a first buffer that reflects the data transmitted in the last storage request from the cloud storage submodule to the target cloud storage site 115 A. By maintaining the first buffer, the cloud storage submodule can easily and more quickly restart data transmission if the last request fails (e.g., due to packet loss/latency).
  • the cloud storage submodule may maintain a second buffer that aggregates the data associated with various storage requests received by the cloud storage submodule from other system components (e.g., the deduplication module 299 ) since the cloud storage submodule began transmitting the last storage request to the target cloud storage site 115 A.
  • the contents of the second buffer may be sent as a second request to the cloud storage site 115 A once the cloud storage submodule successfully transmits the last request and/or receives confirmation that the cloud storage site 115 A successfully received the last request.
  • the size of the buffers may be adjusted to reflect relative network latency and network bandwidth. For example, a larger buffer size may be chosen if the network latency is high, so that more data may be added to the second buffer while the cloud storage submodule transmits the last request and/or awaits a response from the target cloud storage site 115 -A regarding the last storage request. As another example, a smaller buffer size may be chosen if the network bandwidth is low, since the maximum transmission size imposed by TCP/IP protocols may be lower. Buffering a series of requests in this manner may improve transmission efficiency, since it may result in the transmission of less non-data (e.g., less transmission of padding zeros added to the transmission as a result of TCP/IP protocols).
  • FIG. 3A is a flow diagram illustrating a method 300 for writing data to cloud storage sites.
  • a cloud storage submodule 236 or another system component may perform method 300 to provide other system components with vendor-agnostic file system calls and/or efficient data transmission to cloud storage sites 115 A-N.
  • cloud storage submodule 236 receives a file system request to write data to a target cloud storage site 115 A-N.
  • cloud storage submodule 236 may receive a request to write N blocks to a first container file located on a first cloud storage site.
  • cloud storage submodule 236 adds the received data (e.g., N blocks of data) to a buffer.
  • cloud storage submodule 236 may first determine if the received request has sufficiently similar characteristics to other prior requests that are reflected in the buffer. For example, cloud storage submodule 236 may determine if the instant file system request has the same target file on the same target cloud storage site 115 A- 115 N as other file system requests whose data is already stored in the buffer. If the request is not sufficiently similar, cloud storage submodule 236 may proceed to step 370 instead. Cloud storage submodule 236 may also allocate a new buffer and initiate a new parallel process 300 to handle the latest request using the new buffer.
  • cloud storage submodule 236 may determine if the file system request relates to a set of data exceeding the buffer size (or another threshold size). If the related set of data is larger than the threshold size, the cloud storage submodule 236 may simply convert the received file system request to one or more vendor-specific API calls and transmit the set of data separately from the other buffered requests before proceeding to step 340 . For example, a received 2 MB file may bypass the buffering and simply proceed on in the process.
  • cloud storage submodule 236 determines if the buffer is full. If it is not full, steps 340 - 360 are repeated. For example, cloud storage submodule 236 may receive a request to store M additional blocks to the same file and add these M blocks of data to the buffer. If the buffer is full at decision step 360 , cloud storage submodule 236 proceeds to step 370 .
  • cloud storage submodule converts the received file system requests to one or more vendor-specific API calls. For example, using the mapping described herein, cloud storage submodule may identify the calls from the target cloud storage site API that cause the target cloud storage site to (1) open a target file on the target cloud storage site for writing, and (2) write the received and buffered data to the target file.
  • cloud storage submodule transmits the buffer using the vendor-specific API calls.
  • cloud storage submodule may utilize a network agent 235 to establish an HTTP, HTTPS, and/or other suitable network connection to the target cloud storage site.
  • cloud storage submodule determines if the transmission was successful. If it was successful, process 300 returns. Otherwise, steps 380 and 390 are repeated and the data is re-transmitted.
  • cloud storage submodule 236 may also allocate a new buffer to manage new file system requests and may initiate a parallel process 300 to manage these new file system requests using the new buffer.
  • Cloud storage submodule 236 may be configured to permit a direct interface to cloud storage sites 115 A-N by presenting cloud storage sites to a user or system in the same manner as a local storage volume.
  • a cloud storage submodule 236 operating on a computing device may permit the operating system of that computing device to “mount” a cloud storage site as a storage volume or otherwise provide an interface to have the cloud storage site display to the operating system of the computer as a locally attached drive (similar to network attached storage (NAS)).
  • Cloud storage submodule 236 may further permit the operating system to make various file system requests upon the mounted cloud storage site in a manner analogous to local disk storage.
  • cloud storage submodule 236 may be installed on clients 130 to facilitate easier utilization of remote cloud storage sites.
  • FIG. 3B shows a flow diagram illustrating a suitable routine 300 for migrating or copying data into an archive format in secondary storage, including secondary cloud storage.
  • the system receives a copy of an original data set from a file system.
  • the system may access the copy or otherwise communicate with data storage components in a data storage system to gain access to the data to be copied.
  • the system may check the original data set against any audit policies applicable to the data set to determine if the data set comprises one or more sensitive objects and whether the migration or copying of sensitive objects to secondary storage requires approval by a reviewer or other action. If approval or other action is required, the system may take appropriate steps in accordance with the applicable audit policy, such as notifying a reviewer of the sensitive object and pausing the routine 300 until the system receives an indication that the reviewer approves of the migration/copying. As another example, the system may continue to perform routine 300 , but only for the non-sensitive data objects in the data set.
  • the system may take other steps in accordance with the applicable audit policy. For example, the system may break the set into two or more data subsets (one containing no sensitive objects) and store the data subsets that have sensitive objects in an archive format at a suitable alternative secondary storage location (e.g., a local storage device 115 ).
  • a suitable alternative secondary storage location e.g., a local storage device 115
  • the system may index the data in the copy. For example, the system may index the content of the data as described herein.
  • the system may perform deduplication upon the data, by removing duplicate instances of files, data objects, blocks, sub-objects, and other information, and storing deduplicated data (or “dehydrated data”) in secondary cloud storage, typically in an archive file format.
  • deduplicated data or “dehydrated data”
  • the indexing of the data at block 320 may occur after deduplication of the data at block 330 , in order to reduce the volume of data that the system must index. Indexing, deduplication, and storing deduplicated data for cloud storage are described in greater detail herein, beginning with deduplication and followed by indexing.
  • the system may encrypt the data before or after a secondary copy or archival copy is created.
  • the system may employ many different techniques for encrypting the archive copy, including encryption techniques that satisfy Federal Information Processing Standards (FIPS). Further details about encryption and encrypting archive copies of data may be found in commonly assigned U.S. Patent Publication No. US2008-0320319A1, filed on Mar. 31, 2008, entitled SYSTEM AND METHOD FOR ENCRYPTING SECONDARY COPIES OF DATA (Attorney Docket No. 60692-8041US3).
  • the system may compress the data before or after a secondary copy or archival copy is shown.
  • the system may employ many different well-known techniques or applications for compressing data, including Lempel-Ziv (LZ) techniques, DEFLATE techniques, and LZ-Renau (LZR) techniques.
  • the techniques described herein may be utilized to make secondary disk copies to disaster recovery (DR) locations using auxiliary copy or replication technologies as noted above.
  • the techniques described herein may be used on copies of data created by replication operations such as CDR (Continuous Data Replication) and DDR (Discrete Data Replication).
  • CDR Continuous Data Replication
  • DDR Discrete Data Replication
  • CRPs Consistent Recovery Points
  • the system suspends writes to the data, and makes a copy of the data. The system then transfers that copy to another location, such as to one of the cloud storage sites. Further details on CDR may be found in the assignee's U.S. Pat. No. 7,651,593, entitled “SYSTEMS AND METHODS FOR PERFORMING DATA REPLICATION”.
  • the deduplication module 299 includes various components that perform various functions associated with deduplication, some of which are described below. More details may be found in the assignee's U.S. Pat. Pub. No. 2008-0243958, entitled SYSTEM AND METHOD FOR STORING REDUNDANT INFORMATION (Attorney Docket No. 60692-8036US05), the entirety of which is incorporated by reference herein. These components include a data object identification component 410 , an identifier generation component 420 , an identifier comparison component 425 , and a criteria evaluation component 430 .
  • the data object identification component 410 identifies files, data objects, sub-objects, or blocks, such as in response to a storage operation.
  • the identifier generation component 420 generates an identifier for the file, data object, sub-object, or block (identifiers are discussed in more detail below)
  • the identifier comparison component 425 performs comparisons of identifiers of various files, data objects, sub-objects, or blocks to determine if the files, data objects, sub-objects, or blocks contain similar data (for example, the identifier comparison component 425 can compare identifiers of two or more files, data objects, sub-objects, or blocks to determine if the files or data objects contain the same data, metadata such as access control lists (ACLs), descriptive metadata that describes the files, data objects, sub-objects, or blocks (e.g., file name, file size, file author, etc.) of the two or more files, data objects, sub-objects, or blocks).
  • the criteria evaluation component 430 evaluates aspects of files, data objects, sub-objects, or blocks against a set of criteria.
  • the deduplication module 299 may also contain other components that perform other functions.
  • identifiers include a hash value, message digest, checksum, digital fingerprint, digital signature, or other sequence of bytes that substantially uniquely identifies the file or data object in the data storage system.
  • identifiers could be generated using Message Digest Algorithm 5 (MD5) or Secure Hash Algorithm SHA 512.
  • MD5 Message Digest Algorithm 5
  • SHA 512 Secure Hash Algorithm 512.
  • the phrase “substantially unique” is used to modify the term “identifier” because algorithms used to produce hash values may result in collisions, where two different data objects, when hashed, result in the same hash value.
  • collisions should be suitably rare and thus the identifier generated for a file or data object should be unique throughout the system.
  • probabilistically unique identifier may also be used.
  • the phrase “probabilistically unique” is used to indicate that collisions should be low-probability occurrences, and, therefore, the identifier should be unique throughout the system.
  • data object metadata e.g., file name, file size
  • the hash values may also be used to verify data transferred to a cloud storage site. For example, a file may first be locally hashed at a client to create a first hash value. The file may then be transferred to the cloud storage site. The cloud storage site in turn similarly creates a hash value and sends this second hash value back. The client may then compare the two hash values to verify that the cloud storage site properly received the file for storage. As explained herein, various system components, from the client, to storage cell components, to cloud gateways, to cloud storage sites themselves may perform such hashing and generation of hash values for verification.
  • the deduplication module 299 may conduct object-level deduplication as follows before transferring data to cloud storage sites 115 . (Further details may be found in the assignee's U.S. Pat. Pub. No. 2009-0319585, entitled APPLICATION-AWARE AND REMOTE SINGLE INSTANCE DATA MANAGEMENT (Attorney Docket No. 60692-8056US00).) First, the deduplication module 299 generates an identifier for a data object. After generating the identifier for a data object, the deduplication module 299 determines whether it should be stored to the cloud storage site 115 as a secondary copy (e.g., a backup copy) of the data of the clients 130 .
  • a secondary copy e.g., a backup copy
  • the deduplication module 299 accesses the deduplication database 297 to check if a copy or sufficient number of copies or instances of the data object have already been appropriately stored on a cloud storage site 115 .
  • the deduplication database 297 utilizes one or more tables or other data structures to store the identifiers of the data objects that have already been stored on a cloud storage site 115 .
  • the system may store multiple copies of a data object, but only one copy of the data object with each of multiple, different cloud storage sites, and the data structure described herein facilitates that process.
  • the deduplication module 299 sends the data object to one of the cloud storage site 115 for storage and adds its identifier to the deduplication database 297 (or if an instance already existed, the deduplication module 299 may add a reference, e.g., to an index in the deduplication database 297 , such as by incrementing a reference count in the index).
  • the deduplication module may also store in the deduplication module 297 a URL, link, path or identifier of the location or identity of the particular cloud storage site if multiple sites are being used.
  • the deduplication module 299 can avoid sending another copy to the cloud storage site 115 .
  • the deduplication module 299 may add a reference (e.g., to an index in the deduplication database 297 , such as by incrementing a reference count in the index) to the already stored instance of the data object, and may only store a pointer to the data object on the cloud storage site 115 .
  • the link or pointer may comprise a URL to a data object or file within a cloud storage site 115 A-N.
  • adding a reference to the already stored instance of the data object enables the storage of only a single instance of the data object (or fewer instances of the data object) while still keeping track of other instances of the data object that do not need to be stored.
  • the clients 130 instead of the clients 130 sending the data objects to the deduplication module 299 and the deduplication module 299 generating the identifiers, the clients 130 can themselves generate an identifier for each data object and transmit the identifiers to the deduplication module 299 for lookup in the deduplication database 297 .
  • This example may be useful if the clients were to send data directly to the cloud storage site 115 , and thus deduplicating data before sending it can conserve time and bandwidth, and storage resources at the cloud storage site (which may charge based on amount of data stored.) If the deduplication module 299 determines that a sufficient number of instances of a data object have not already been appropriately stored on a cloud storage site 115 , the deduplication module 299 can instruct the client 130 to send it a copy of the data object, which it then stores on the cloud storage site.
  • the deduplication module may reside on a server to which the client is connected (e.g. over a LAN or secure WAN).
  • the client 130 itself can send the copy of the data object to the cloud storage site 115 , in which case the client may have the deduplication module 299 residing on the client.
  • the deduplication module 299 generates the identifier on data already stored on the cloud storage site 115 or on other cloud storage sites (e.g., secondarily stored data is deduplicated).
  • the deduplication module 299 can support encrypted data objects. For example, one client 130 could generate an identifier for a data object, and then encrypt it using one encryption algorithm. Another client 130 could generate an identifier for another data object, and then encrypt it using another encryption algorithm. If the two data objects are identical (meaning the two objects have the same data, while their metadata, such as ACLs or descriptors, could be different), they will both have the same identifier. The deduplication module 299 can then store both encrypted instances of the data object or only a single encrypted instance (or a reduced number of encrypted instances). In some examples, the deduplication module 299 stores a key or other mechanism to be used to encrypt and/or decrypt data. The deduplication module 299 can also support compressed data objects. In general, the same compression algorithm may be used to compress data objects. Therefore, the deduplication module 299 can generate an identifier for a data object before or after it has been compressed.
  • FIG. 5A and 5B are block diagrams illustrating various data structures which aspects of the invention may utilize for deduplicating and storing copies or instances of data objects on the cloud storage site 115 .
  • FIG. 5A illustrates a data structure 500 used in a storage operation.
  • a chunk folder 502 is created on the cloud storage site 115 .
  • Contained within the chunk folder are three files: 1) a metadata file 504 ; 2) an “N” file 506 ; and 3) a single instance, or “S” file 508 .
  • the three files are each logical containers of data.
  • the “S” file stores deduplicated data (e.g., deduplicated files).
  • the “N” file stores' data that is not deduplicated (e.g., metadata, such as descriptive metadata associated with deduplicated files).
  • the metadata file stores references to the location(s) of data objects in the “S” file and the “N” file.
  • a chunk folder may comprise more than one “S” file (e.g., S1, S2 . . . Sy, where y is an integer) to store deduplicated data and/or more than one “N” file (e.g., N1, N2 . . . Nz, where z is an integer).
  • the “N” and metadata files may alternatively or additionally be stored elsewhere, such as on the secondary storage computer device 165 and/or storage manager 105 .
  • the chunk folder 502 and the files 504 - 508 may be equivalent to a directory and files (or folder and files) on a file system.
  • the chunk folder 502 may be a directory and the files 504 - 508 may be files located within the directory.
  • the chunk folder 502 may be a file and the files 504 - 508 may be portions of the file.
  • the files 504 - 508 may be collections of blocks or bytes grouped together.
  • the chunk folder 502 and the files 504 - 508 may be comprised in various data structures and are not limited to a directory and files within the directory.
  • the deduplication module 299 places data objects in the “S” file 508 that meet certain criteria for deduplication. These criteria may include the following: 1) that the data object has been determined to be data or of type data (as opposed to metadata or of type metadata); and 2) that the data object is larger than a pre-configured size, such as 64 Kb.
  • Type data is generally the payload portion of a file or data object (e.g., a file's contents)
  • type metadata is generally the metadata portion of the file or data object (e.g., metadata such as file name, file author, etc.).
  • This pre-configured size may be configurable by an administrator or other user with the appropriate permissions.
  • the administrator can set the pre-configured size to 0 Kb.
  • the administrator can set the pre-configured size to 128 Kb.
  • the deduplication module 299 determines if a data object meets these criteria by evaluating aspects of the data object (e.g., its type, its size) against the criteria. If so, the deduplication module determines if a sufficient number of instances of the data object have already been appropriately stored on the cloud storage site 115 (or elsewhere), which the deduplication module determines by generating or retrieving an identifier for the data object and looking up the identifier in the deduplication database 297 . During this lookup, to determine whether other instances were appropriately stored, the deduplication database 297 may restrict the lookup to only those instances of the object stored on certain cloud storage sites 115 and/or certain classes of cloud storage sites 115 .
  • the deduplication database 297 may restrict the lookup to those cloud storage sites 115 that would satisfy applicable storage policy parameters, such as class of storage used for the object. Additionally, during this lookup, the deduplication database 297 may restrict the lookup to only those instances of the object stored within a certain time frame. For example, the deduplication database 297 may restrict lookup only to those instances stored within secondary storage in the last seven years.
  • the deduplication module 299 places the data object in the “S” file 508 .
  • the deduplication module 299 may also apply other criteria that the data object must meet for deduplication (e.g., criteria based upon characterizing or classifying the data object using techniques such as those described in commonly assigned U.S. Pat. Pub. No. 2007-0185925 (entitled SYSTEMS AND METHODS FOR CLASSIFYING AND TRANSFERRING INFORMATION IN A STORAGE NETWORK, Attorney Docket No. 60692-8029US02), the entirety of which is incorporated by reference herein).
  • the deduplication module 299 For each data object that is placed in the “S” file 508 , the deduplication module 299 adds a reference to the data object in the metadata file 504 , called an internal reference.
  • the internal reference may be a pointer or link to the location of the data object in the “S” file 508 .
  • the deduplication module 299 maintains a primary table that contains all the deduplication records of all data objects for which an identifier was created. The deduplication module 299 may add as the internal reference a record of the already stored instance of the data object from the primary table.
  • the deduplication module 299 places data objects in the “N” file 506 that do not meet the above criteria for deduplication.
  • a data object may be metadata (e.g., ACLs for a file that is placed in the “S” file, file descriptor information, etc.). In this case, the data object will be placed in the “N” file.
  • a data object may be smaller than the pre-configured size, e.g., the data object is smaller than 64 Kb. In this case, the deduplication module 299 may incur too much overhead to generate its identifier and perform a lookup of the identifier in the deduplication database 297 . Therefore, the data object is placed in the “N” file.
  • the deduplication module 299 may also add a reference to the data object in the metadata file 504 , called an internal reference.
  • the internal reference may be a pointer or link to the location(s) of the data object in the “N” file.
  • a new “N” file may be created during each storage operation job.
  • FIG. 5B illustrates a data structure 510 that may be created as a result of one or more storage operations.
  • the data structure 510 is similar to the data structure 500 illustrated in FIG. 5A , but now includes a second chunk folder 502 ′.
  • the deduplication module 299 may create the second chunk folder 502 ′ as a result of a second storage operation.
  • the first storage operation would result in the creation of the first chunk folder 502 illustrated in FIG.
  • the second storage operation would result in the creation of the second chunk folder 502 ′ illustrated in FIG. 5B .
  • the second chunk folder 502 ′ would have a second “N” file 506 containing the metadata (e.g., the ACLs of the single data object, regardless of whether they have changed) and a second metadata file 504 .
  • the second metadata file 504 would have a pointer 515 to the single data object contained in the first “S” file 508 . Because an instance of the single data object is already contained within the first “S” file 508 , there is no need for another instance of it to be contained within the second “S” file 508 . However, there is a need to keep a record of the fact that the second storage operation involved an instance of the single data object. This is accomplished by the pointer 515 within the second metadata file 504 .
  • the deduplication module 299 instead of always placing in the “N” file 508 data objects that do not meet the above criteria for deduplication, the deduplication module 299 generates an identifier for the data object, looks up the identifier in the deduplication database 297 to see if the data object has already been stored, and if not, places it in the “S” file 508 . If the data object has already been stored, the deduplication module would then add a pointer to the location of the instance of the previously stored data object in the metadata file 504 . For example, this variation on the process could be used to deduplicate metadata instead of always storing it in the “N” file 506 .
  • FIG. 5C illustrates a data structure 520 for the metadata file 504 .
  • the data structure 520 consists of one or more stream headers 522 and stream data 524 .
  • the stream header 522 describes a data object contained in an “N” file 506 or an “S” file 508 (e.g., its location, its size, an offset within the file, etc.).
  • the stream data 524 contains the pointer to the data object contained in the “N” file 506 or the “S” file 508 .
  • the pointer may give its location within the “N” file 506 or the “S” file 508 .
  • the location of the data object may be given by offsets within the “N” file 506 or the “S” file 508 .
  • its location may be given by a starting offset, and its length or size.
  • its location may be given by a starting offset and an ending offset.
  • the data object may be in an “S” file 508 in another chunk folder, and the stream data 524 would point to this “S” file in the other chunk folder (e.g., give its location in the “S” file in the other chunk folder).
  • the deduplication module 299 adds a stream header 522 and corresponding stream data 524 to the metadata file 504 .
  • One advantage of the data structures 500 , 510 , 520 illustrated in FIGS. 5A through 5C and the techniques described herein is that they reduce the number of files stored on the file system of the cloud storage site 115 .
  • the metadata file 504 there are as little as three files created for each storage operation—the metadata file 504 , the “N” file 506 , and the “S” file 508 . Therefore, a maximum number of files on the file system of the cloud storage site 115 may be as low as the number of storage operations performed by the deduplication module 299 multiplied by three.
  • File systems of certain operating systems may have practical limits to the numbers of files that they can store that are well below their theoretical limits.
  • a file system may not, in practice, be able to store a number of files above a certain threshold without experiencing significant system degradation (which can be defined in numerous ways, such as an increase in seek time of randomly accessed media that is ten percent longer than normal, a delay in reads or writes on randomly accessed media, or in other ways).
  • the file system of the cloud storage site may not necessarily have to contend with storing excessively large numbers of files, such as millions of files or more. Accordingly, these techniques enable very large numbers of data objects to be stored without regard to the limitations of the file system of the cloud storage site.
  • separate files may be established for separate customers using the cloud storage site. So, the could storage site 115 A may establish separate folders for each new customer who contracts to store data at the site, and thus that customer's data is logically segregated from data of other customers.
  • the deduplication module 299 performs numerous storage operations using these data structures 500 , 510 , this will result in far fewer files on the cloud storage site 115 than storage operations where each involved data object is stored as a separate file.
  • Another advantage is that the metadata files 504 could be used to replicate the data stored in the deduplication database 297 or reconstruct the deduplication database 297 if its data is ever lost or corrupted. This is because the metadata files 504 may store essentially the same information as what is stored in the deduplication database 297 .
  • the storage of data objects in containers such as the “N” file 506 and the “S” file 508 may create additional complexities when it comes time to prune or delete data objects involved in previous storage operations. This is because the data objects are not stored as files on the file system and thus cannot be directly referenced by the file system. For example, consider a first storage operation, involving a first file and a second file, and a second storage operation, involving the first file and a third file, both occurring on the same day. Further consider that the first storage operation's files are eligible to be pruned after 15 days and the second storage operation's files are eligible to be pruned after 30 days.
  • the first storage operation would store the first and second files in an “S” file 508 and the second storage operation would store a pointer to the first file in an “N” file 506 and the third file in another “S” file 508 .
  • the first and second files are eligible to be pruned.
  • the first file is referenced by the “N” file 506 of the second storage operation and cannot yet be pruned.
  • the second file because it is not referenced by any “N” files 506 in any other storage operations, can be pruned.
  • the deduplication module 299 uses the metadata file 504 corresponding to the “S” file 508 .
  • the deduplication module 299 locates the second file within the “S” file 508 .
  • the deduplication module 299 can then instruct the operating system (e.g., a Windows operating system, a Unix operating system, a Linux operating system, etc.) of the cloud storage site 115 to convert the “S” file 508 into a sparse file.
  • the operating system e.g., a Windows operating system, a Unix operating system, a Linux operating system, etc.
  • a sparse file is a well-known type of file having data within but not filling the file's logical space (e.g., at the beginning of the file and at the end of the file, and a hole or empty space in between).
  • the portions corresponding to the second file may be zeroed out. These portions are then available for storage of other files or data objects by the operating system on cloud storage sites (e.g., on magnetic disks, but sparse files may be used on other types of cloud storage sites, such as tape or optical disks).
  • the “S” file may be designated as a sparse file upon its creation.
  • the first and third files are eligible to be pruned. Assuming that there are no intervening storage operations involving files that reference either of these files, both the first and third files can be pruned.
  • the chunk folders 502 corresponding to the first and second storage operations can be deleted, thereby deleting the metadata files 204 , the “N” files 506 and the “S” files 508 and recovering the space previously allocated for their storage. (The process for pruning data objects is discussed in greater detail with reference to, e.g., FIGS. 4 and 14 .) Therefore, the data structures 500 , 510 , 520 illustrated in FIGS. 5A through 5C and the techniques described herein also allow for pruning data objects to recover space previously allocated to them on the cloud storage site 115 .
  • the data structures 500 , 510 , 520 illustrated in FIGS. 5A through 5C and the techniques described herein enable the performance of storage operations cumulatively involving very large numbers of data objects, while still allowing for recovery of space allocated to these data objects when their storage is no longer required. For example, an administrator can back up numerous files across numerous clients and avoid storing redundant copies or instances of the files. The administrator can also easily recover space on the cloud storage site 115 when it is no longer required to store the files, for example, as according to a retention policy that indicates for how long files are to be stored on the cloud storage site 115 . Accordingly, the data structures and techniques described herein enable the optimization of storage operations involving very large numbers of data objects.
  • files contained in chunk folders may be moved to secondary storage, such as to disk drives, cloud storage sites, or to tapes in tape drives. More details as to these operations may be found in the previously referenced U.S. Pat. Pub. No. 2008-0243958, entitled SYSTEM AND METHOD FOR STORING REDUNDANT INFORMATION (Attorney Docket No. 60692-8036US5).
  • they may be converted into an archive file format.
  • the techniques described herein may be used to deduplicate data already stored on secondary storage.
  • FIG. 5D is an illustration of a data structure 540 for storing chunk folders and their container files in an archive file format.
  • the archive file may be stored on various cloud storage sites, such as on disk drives, magnetic tapes, or cloud storage sites.
  • the archive file includes a chunk 0 542 located at offset 0 , a chunk 1 542 located at offset 5 , a chunk 2 542 located at offset 10 , a chunk 3 542 located at offset 15 , and a chunk n located at offset 65 .
  • the offsets are in relation to the start of the archive file. More details as to a suitable archive file format may be found in the assignee's U.S. Pat. Pub. No.
  • An archive file may be considered as a container of data objects.
  • a retention policy provides that the archive file has to be retained for 30 days.
  • the archive file becomes prunable and thus can be deleted.
  • Deleting the archive file may require deleting data stored in one or more chunks on one or more media.
  • the archive file may not be able to be deleted if it is referenced by data objects within other archive files. This is to avoid orphaning data objects, e.g., by deleting a data object when it is still referenced in another archive file.
  • the system keeps tracks of references to data objects in order to avoid orphaning data objects.
  • the deduplication database 299 maintains a primary table and a secondary table.
  • the primary table contains all the single instance records of all data objects for which an identifier was created.
  • the secondary table contains a record that may reference the record in the primary table.
  • FIGS. 7A and 7B illustrate example primary and secondary tables 700 , 750 .
  • the primary table 700 has a primary record ID column 710 that may contain primary keys, a file ID column 720 that contains an identifier of a file or data object (e.g., the identifier of the file or data object), and a location column 730 that contains the location of the file or data object (e.g., the archive file ID and its offset within the archive file).
  • the primary table 700 may also contain other columns (not shown).
  • the secondary table 750 has a secondary record ID column 760 that may contain primary keys, an archive file ID column 765 that contains the archive file ID, a file column 770 that contains the same identifier of the file or data object as in the primary table 700 , and a reference IN column 775 that contains an identifier (in the form of an archive file ID and an offset) of a file or data object that references the archive file.
  • the secondary table 750 also has a reference OUT column 780 that contains an identifier (in the form of an archive file ID and an offset) of a referenced file or data object.
  • the secondary table 750 may also contain other columns (not shown).
  • FIG. 6 is a flow diagram illustrating a process 600 for pruning a deduplication database 299 by pruning or deleting data objects stored in archive files, or entire archive files.
  • archive files can be thought of as containers of data objects.
  • the process 600 begins at step 605 where a selection of an archive file to be pruned is made. This selection can be made manually, such as by an administrator, or automatically, such as by the archive file aging out of a retention policy.
  • the media file system agent 240 performs a lookup of the archive file in the primary 700 and secondary tables 700 , 750 .
  • the media file system agent 240 determines if the archive file has references out (e.g., to other archive files).
  • the process 600 continues to step 620 , where the references out are deleted.
  • the media file system agent 240 determines if the archive files referenced by the references out have other references in. If there are no other references in, at step 630 , the media file system agent 240 prunes the archive files referenced by the references out.
  • the process 600 continues at step 635 .
  • the media file system agent 240 determines if the archive file has references in. If it does have references in, this means the archive file cannot be pruned.
  • the process continues at step 640 , where the media file system agent 240 deletes the references in.
  • the media file system agent 240 adds a reference to the archive file to a deleted archive file table (discussed below).
  • the media file system agent 240 prunes the archive file at step 650 .
  • the media file system agent 240 then creates an entry in the deleted archive file table for the pruned archive file (if there wasn't already an entry) and adds a deleted timestamp to the entry. If there is already an entry for the pruned archive file, the media file system agent 240 adds a deleted timestamp to the entry at step 655 .
  • FIG. 7C illustrates an example deleted archive file table 752 .
  • the deleted archive file table 752 has a primary record ID column 754 that may contain primary keys, an archive file ID column 756 that contains an identifier of the archive file, a reference IN column 758 that contains an identifier (in the form of an archive file ID and an offset) of a file or data object that references the archive file, and a deleted timestamp column 762 that contains a timestamp indicating when the archive file was deleted.
  • the timestamp deleted column would be empty or null in the archive file's entry.
  • the process 600 begins.
  • the media file system agent 240 receives a selection of AF 1 to prune.
  • the media file system agent 240 looks up AF 1 in the primary and secondary tables 700 , 750 .
  • the media file system agent 240 determines that AF 1 has a reference out, shown by entry 794 in the secondary table 750 .
  • the media file system agent 240 deletes this reference out by deleting entry 794 from the secondary table 750 .
  • the media file system agent 240 determines if AF 0 has any other references in. Since the only reference in for AF 0 is from AF 1 (which is to be pruned), AF 0 does not have any other references in.
  • the media file system agent 240 then prunes AF 0 and adds a timestamp indicating that AF 0 was pruned at time T 1 at entry 772 of the deleted archive file table 752 .
  • the media file system agent 240 determines if AF 1 has any references in. AF 1 has a reference in from AF 3 , shown in entry 796 of the secondary table 750 . The media file system agent 240 thus cannot prune AF 1 .
  • the media file system agent 240 deletes the references in to AF 1 by deleting entry 796 from the secondary table 750 .
  • the media file system agent 240 adds entry 774 to the deleted archive file table 752 , leaving the deleted timestamp blank. The blank timestamp indicates that AF 1 should be pruned. The process 600 then concludes.
  • the process 600 begins anew.
  • the media file system agent 240 receives a selection of AF 3 to prune.
  • the media file system agent 240 looks up AF 3 in the primary and secondary tables 700 , 750 .
  • the media file system agent 240 determines that AF 3 has a reference out, shown by entry 798 in the secondary table 750 , which references AF 1 .
  • the media file system agent 240 deletes entry 798 from the secondary table 750 .
  • the media file system agent 240 determines if AF 1 has any other references in.
  • AF 1 Since the only reference in for AF 1 is from AF 3 (which is to be pruned), AF 1 does not have any other references in and can now be pruned.
  • the media file system agent 240 then prunes AF 1 and adds a timestamp indicating that AF 1 was pruned at time T 2 at entry 774 of the deleted archive file table 752 . This entry now indicates that AF 1 has been pruned at time T 2 .
  • the media file system agent 240 determines if AF 3 has any references in. AF 3 has no references in listed in the secondary table 750 . The media file system agent thus can prune AF 3 .
  • the media file system agent 240 prunes AF 3 .
  • the media file system agent 240 adds the entry 776 to the deleted archive file table 752 with a deleted timestamp as T 2 . The process 600 then concludes.
  • the pruning process 600 thus enables the system to maximize available storage space for storing archive files by storing them efficiently and then deleting or pruning them when it is no longer necessary to store them.
  • the pruning process 600 may have additional or fewer steps than the ones described, or the order may vary other than what is described. For example, instead of the media file system agent 240 adding a timestamp to an entry in the deleted archive file table 752 to indicate when the archive file was pruned, the media file system agent may simply delete the entry from the deleted archive file table 752 . As another example, entries in the primary table 700 may also be deleted when the corresponding archive files are deleted. Those of skill in the art will understand that other variations are of course possible.
  • deduplication can be performed on a sub-object level in a substantially similar fashion to that described previously with respect to object-level deduplication.
  • a sub-object is a set of blocks that forms a proper subset of all of the blocks within a file or data object. That is, for a file consisting of n blocks, the largest sub-object of the file comprises at most n ⁇ 1 blocks.
  • An object may thus comprise two or more sub-objects, and be a logical division of the data object.
  • a .pst file may include two or more sub-objects: a first sub-object that stores emails from a user's mailbox, and one or more sub-objects that stores attachments or other data objects associated with the user's mailbox (e.g. subfolders, shared folders, etc.)
  • the deduplication module 299 may include an object division component (not shown) that divides data objects, such as files, into sub-objects.
  • the object division component may receive files or objects, divide the files into two or more sub-objects, and then deduplicate the two or more sub-objects as described previously with respect to object-level deduplication.
  • the object division component may perform different processes when determining how to divide a data object.
  • the object division component may include indexing, header, and other identifying information or metadata in a first sub-object and the payload in other sub-objects.
  • the object division component may follow a rules-based process when dividing a data object.
  • the rules may define a minimum or maximum data size for a sub-object, a time of creation for data within a sub-object, a type of data within a sub-object, and so on.
  • the object division component may divide a user mailbox (such as a .pst file) into a number of sub-objects, based on various rules that assign emails within the mailbox to sub-objects based on the metadata associated with the emails.
  • the object division component may place an index of the mailbox (and its various subfolders) in a first sub-object and all emails for that mailbox in other sub-objects.
  • the object division component may then divide the other sub-objects based on dates of creation, deletion or reception of the emails, size of the emails, sender of the emails, type of emails, and so on.
  • the object division component may divide a mailbox as follows:
  • Sub-objects may not necessarily fall within logical divisions.
  • the object division component may divide a data object based on information or instructions not associated with the data object, such as information about data storage resources, information about a target cloud storage site, historical information about previous divisions, and so on.
  • the deduplication module determines, by analyzing data structures in the deduplication database in view of the sub-object's identifier, whether the sub-object of data is already stored on a cloud storage site. If it is, then the secondary storage computing device 1) stores a link to the already stored sub-object of data in a metadata file and 2) discards the sub-object of data from the memory buffer. If it is not already stored, then the secondary storage computing device 165 stores the sub-object of data in a container file.
  • a link or pointer may comprise a URL to a data object or file within a cloud storage site 115 A-N.
  • deduplication can be performed on a block level.
  • Files can be broken into blocks and deduplicated by the deduplication module 299 .
  • blocks are fixed sizes, such as 64 Kb or 128 Kb.
  • the clients 130 will generate the identifiers, since distributed identifier generation may free up the deduplication module 299 to perform other operations (e.g., storing data, retrieving data, etc.).
  • the clients 130 typically send the blocks of data and other data (e.g., metadata and/or the data that is not eligible for deduplication) in a data stream to the deduplication module 299 .
  • a deduplication module 299 receives blocks of data from the clients 130 and accesses a deduplication database 297 to determine whether a sufficient number of instances of each block have been appropriately stored. To do this, the system determines, by analyzing data structures in the deduplication database 297 in view of the block's identifier, the number of instances of each block of data that is already appropriately stored on a cloud storage site. During this lookup, to determine whether prior instances were appropriately stored, the system may only consider those instances of the object stored on certain cloud storage sites 115 and/or certain classes of cloud storage sites 115 . For example, the deduplication module 299 may restrict the lookup to those cloud storage sites 115 that would satisfy storage policy parameters applicable to each block, such as class of storage used for the object (e.g.
  • the deduplication database 297 may restrict the lookup to only those instances of a block stored within a certain time frame. For example, the deduplication database 297 may restrict lookup only to those instances stored within secondary storage in the last seven years.
  • the deduplication module 299 1) stores a link to the already stored block of data in a metadata file and 2) discards the block of data from the memory buffer. If it is not already stored, the deduplication module 299 stores the block of data in a container file.
  • a link or pointer may comprise a URL to a block or file within a cloud storage site 115 A-N.
  • the deduplication module 299 can keep a single block of data in a single memory buffer while it looks up its identifier in the deduplication database 297 . This allows the deduplication module to avoid writing the block of data to a disk (an operation that is typically slower than storing the block of data in a RAM buffer) until the deduplication module determines that it needs to store the block of data in a container file on a cloud storage site.
  • the deduplication module 299 stores data that is not eligible for deduplication in metadata files.
  • the clients 130 may transmit only the identifiers to the deduplication module 299 for lookup in the deduplication database 297 . If the deduplication module 299 determines that an instance of a block has not already been stored on the cloud storage site 115 , the deduplication module 299 can instruct the client 130 to send a copy of the block to the deduplication module, which it then stores on the cloud storage site 115 . Alternatively, the client 130 itself can send the copy of the block to the cloud storage site 115 .
  • the deduplication module 299 avoids storing each block of data as a separate file on the file systems of the cloud storage sites. This reduces the number of files that would be stored on the file systems of the cloud storage sites, thereby ensuring that the cloud storage sites can adequately store the data of the clients 130 in the data storage system.
  • One advantage of these techniques is that they significantly reduce the number of files stored on a file system of a client or cloud storage site. This is at least partly due to the storage of data blocks within the container files. Even if the deduplication module performs numerous storage operations, these techniques will result in storing far fewer files on the file system than storage operations where each data block is stored as a separate file. Therefore, the file system of the client or cloud storage site may not necessarily have to contend with storing excessively large numbers of files, such as millions of files or more. Accordingly, these techniques enable very large numbers of blocks of data to be stored without regard to limitations of the file system of the client or cloud storage site.
  • a container file may contain blocks of data that are referenced by links in metadata files and thus cannot be deleted, as these blocks of data typically still need to be stored on the cloud storage sites.
  • the blocks of data are not stored as files on the file systems of the cloud storage sites, they cannot be directly referenced by the file system.
  • the deduplication module creates the container files as sparse files (typically only on operating systems that support sparse files, e.g., Windows operating systems, but also on other operating systems that support sparse files).
  • a sparse file is type of file that may include empty space (e.g., a sparse file may have real data within it, such as at the beginning of the file and/or at the end of the file, but may also have empty space in it that is not storing actual data, such as a contiguous range of bytes all having a value of zero).
  • the deduplication module maintains a separate index that stores an indication of whether blocks of data in container files are referred to by links in metadata files. In some examples, this can be thought of as creating another file system on top of the existing file systems of the cloud storage sites that keeps track of blocks of data in the container files.
  • the deduplication module can prune it.
  • the deduplication module accesses the separate index to determine the blocks of data that are not referred to by links.
  • the deduplication module can free up space in the container files corresponding to those blocks of data by marking the portions of the physical media corresponding to the unreferenced portions of the container file as available for storage (e.g., by zeroing out the corresponding bytes in the container files).
  • the deduplication module can free up space in the container files by truncating the extreme portions of the container files (e.g., the beginnings and/or the ends of the container files), thereby making the corresponding portions of the physical media available to store other data. Freeing up space in container files allows the operating system to utilize the freed-up space in other fashions (e.g., other programs may utilize the freed-up space).
  • FIG. 8 is a diagram illustrating data structures that may be used to store blocks of deduplicated data and non-deduplicated data on the cloud storage site 115 in an archive format.
  • the data structures include one or more volume folders 802 , one or more chunk folders 804 / 805 within a volume folder 802 , and multiple files within a chunk folder 804 .
  • Each chunk folder 804 / 805 includes a metadata file 806 / 807 , a metadata index file 808 / 809 , one or more container files 810 / 811 / 813 , and a container index file 812 / 814 .
  • the metadata file 806 / 807 stores non-deduplicated data blocks as well as links to deduplicated data blocks stored in container files.
  • the metadata index file 808 / 809 stores an index to the data in the metadata file 806 / 807 .
  • the container files 810 / 811 / 813 store deduplicated data blocks.
  • the container index file 812 / 814 stores an index to the container files 810 / 811 / 813 .
  • the container index file 812 / 814 stores an indication of whether a corresponding block in a container file 810 / 811 / 813 is referred to by a link in a metadata file 806 / 807 .
  • data block B 2 in the container file 810 is referred to by a link in the metadata file 807 in the chunk folder 805 .
  • the corresponding index entry in the container index file 812 indicates that the data block B 2 in the container file 810 is referred to.
  • data block B 1 in the container file 811 is referred to by a link in the metadata file 807 , and so the corresponding index entry in the container index file 812 indicates that this data block is referred to.
  • the data structures illustrated in FIG. 8 may have been created as a result of two storage operations involving two clients 130 .
  • a first storage operation on a first client 130 could result in the creation of the first chunk folder 804
  • a second storage operation on a second client 130 could result in the creation of the second chunk folder 805 .
  • the container files 810 , 811 in the first chunk folder 804 would contain the blocks of deduplicated data of the first client 130 . If the two clients 130 have substantially similar data, the second storage operation on the data of the second client 130 would result in the media file system agent 240 storing primarily links to the data blocks of the first client 130 that are already stored in the container files 810 , 811 .
  • a first storage operation may result in storing nearly all of the data subject to the storage operation
  • subsequent storage operations involving storage of similar data on the same cloud storage site 115 may result in substantial data storage space savings, because links to already stored data blocks can be stored instead of additional instances of data blocks.
  • a sparse file is type of file that may include empty space (e.g., a sparse file may have real data within it, such as at the beginning of the file and/or at the end of the file, but may also have empty space in it that is not storing actual data, such as a contiguous range of bytes all having a value of zero).
  • the media file system agent 240 creates a new container file 810 , 811 , 813 when a container file either includes 100 blocks of data or when the size of the container file 810 exceeds 50 Mb.
  • the media file system agent 240 creates a new container file 810 , 811 , 813 when a container file satisfies other criteria (e.g., it contains from approximately 100 to approximately 1,000 blocks or when its size exceeds approximately 50 Mb to 1 Gb).
  • other criteria e.g., it contains from approximately 100 to approximately 1,000 blocks or when its size exceeds approximately 50 Mb to 1 Gb.
  • the media file system agent 240 can create a new container file 810 , 811 , 813 when other criteria are met.
  • One advantage of the data structures illustrated in FIG. 8 and/or of the techniques described herein is that they significantly reduce the number of files transferred and stored on a file system of the cloud storage site 115 . This is at least partly due to the storage of data blocks within the container files 810 , 811 , 813 . Even if numerous storage operations using these data structures are performed, there will be far fewer files on the cloud storage site 115 than there would be in storage operations where each data block is stored as a separate file. Therefore, the client computers need not transfer certain blocks or files, and the file system of the cloud storage site 115 may not necessarily have to contend with storing excessively large numbers of files, such as millions of files or more. Accordingly, the systems and methods described herein enable very large numbers of blocks of data to be stored without regard to limitations of the file system of the cloud storage site 115 .
  • the data storage system enables a reduction in the amount of blocks of data stored on the cloud storage sites 115 , while still maintaining at least one instance of each block of data in primary data.
  • blocks of data can be distributed across two or more cloud storage sites 115 , thereby adding a further aspect of redundancy.
  • the metadata files 806 , 807 , the metadata index files 808 , 809 , the container files 810 , 811 , 813 , and/or the container index files 812 , 814 could be used to replicate the data stored in the deduplication database 297 , or to reconstruct the deduplication database 297 if the data of the deduplication database 297 is ever lost and/or corrupted.
  • the storage of data blocks in the container files may create additional complexities when it comes time to prune (delete) data blocks that the data storage system no longer need retain. This is because the data blocks are not stored as files on the file system on the cloud storage site 115 and thus cannot be directly referenced by the file system.
  • the media file system agent 240 uses the container index files 812 , 814 to keep track of which blocks of data are referenced and thus which blocks are not prunable (deletable).
  • the use of the container index files 812 , 814 , the metadata index files 808 , 809 , and/or the primary and secondary tables 700 , 750 to track data acts as a driver, agent or an additional file system that is layered on top of the existing file system of the cloud storage site 115 .
  • This driver/agent/additional file system allows the data storage system to efficiently keep track of very large numbers of blocks of data, without regard to any limitations of the file systems of the cloud storage sites 115 . Accordingly, the data storage system can store very large numbers of blocks of data.
  • the data structures illustrated in FIG. 8 and the techniques described herein enable the performance of multiple storage operations cumulatively involving very large amounts of data, while still allowing for recovery of space on the cloud storage site 115 when storage of certain data blocks is no longer required.
  • the data of numerous clients 130 can be protected without having to store redundant copies or instances of data blocks.
  • Space on the cloud storage site 115 can also be recovered when it is no longer necessary to store certain data blocks. Accordingly, storage operations involving very large amounts of data are enabled and optimized by the techniques described herein.
  • the deduplication database 297 may maintain a primary block table and a secondary block table.
  • the primary table may include an identifier column in which a data block identifier is stored, a location column in which a location of the data block in a container file is stored, an offset column indicating the offset within the container file corresponding to the location of the data block, and a reference count column, which contains a reference count of the number of links that refer to the data block.
  • the location column may include URLs that indicate storage locations on cloud storage sites 115 A-N.
  • An example primary block table is shown below in Table 1.
  • row 1 includes information about a data block for which the identifier is “0xA1B3FG.”
  • This data block is located in the container file that is indicated in the location column, at an offset of 10 within the container file.
  • the URL indicates a cloud storage site (“storecloud.com”) used to store the container file.
  • this data block is referred to twice, meaning that there are two links that refer to the data block.
  • row 2 includes information about a data block for which the identifier is “0xC13804.” The location of this data block is indicated in the location column at an offset of 38 within the container file, and it is referred to one other time, by one link.
  • a secondary block table includes information about links that refer to data blocks.
  • the secondary block table includes an identifier column, a referring location column, and an offset column.
  • the referring location column may include URLs that indicate storage locations on cloud storage sites 115 A-N.
  • An example secondary block table is shown below in Table 2.
  • the first row includes information about a reference to the data block having the identifier of “0xA1B3FG” (the first row in the primary block table).
  • the location of the link (within a first cloud storage site) is indicated in the second column, at an offset of five within the indicated metadata file.
  • the second row includes information about another reference to the data block having the identifier of “0xA1B3FG.” This location of the link (within a second cloud storage site “2ndCloud”) is indicated in the second column, at an offset of 15 within the indicated metadata file.
  • the third row includes information about a reference to the block for which the identifier is “0xC13804” (the second row in the primary block table). The location of the link is indicated in the second column, at an offset of 19 within the indicated metadata file.
  • the system may maintain similar primary and secondary tables to facilitate object-level and/or sub-object level deduplication processes.
  • a deduplication database 297 may maintain a primary object table and a secondary object table having similar fields to those shown in Tables 1 and 2, respectively.
  • each entry in a primary object table corresponds to a stored data object.
  • Each entry in a primary object table corresponds to a reference to a stored data object.
  • FIG. 9 is a flow diagram of another process 900 for pruning deduplicated data blocks that may be employed in some examples.
  • the process 900 is described as being performed by the media file system agent 240 , although those of skill in the art will understand that aspects of the process 900 may be performed by any of the entities described herein.
  • the process 900 begins at step 905 when the media file system agent 240 receives instructions to prune data corresponding to a storage operation (job). Additionally or alternatively, one or more files can be selected to be pruned, and/or one or more data blocks can be selected to be pruned.
  • This selection of a job or other data to be deleted can be made manually, such as by an administrator, or automatically, such as by the job, files, and/or data blocks aging out by a retention policy.
  • the data structures illustrated in FIG. 8 may have been created as a result of two jobs involving two clients 130 .
  • a first job on a first client 130 could result in the creation of the first chunk folder 804
  • a second job on a second client 130 could result in the creation of the second chunk folder 805 .
  • the process 900 is described using this example. More specifically, the process 900 is described below as pruning the data created as a result of the first job. Of course, a similar process may be used to delete other jobs, or even smaller increments of data or data objects, such as individual files or blocks.
  • the media file system agent 240 determines the file, e.g., archive file, and the volume folders 802 and chunk folder 804 corresponding to the job to be pruned. The media file system agent 240 may do so, for example, by analyzing various data structures to determine this information.
  • the media file system agent 240 deletes the metadata file 806 and the metadata index file 808 in the chunk folder 804 .
  • the media file system agent 240 can delete the metadata file 806 and the metadata index file 808 in this example because these files include data that is not referenced by any other data.
  • the media file system agent 240 accesses the container file 810 and the container index file 812 in the chunk folder 804 .
  • the media file system agent 240 begins iterating through the data blocks in the container files 810 .
  • the media file system agent 240 accesses the primary block table in the deduplication database 297 .
  • the media file system agent 240 determines from the primary block table whether the reference count of a data block in the container file 810 is equal to zero. If so, this indicates that there are no references to the data block.
  • the process 900 then continues at step 925 , where the media file system agent 240 sets the entry in the container index file 812 corresponding to the data block equal to zero, thus indicating that there are no references to the data block, and it is therefore prunable.
  • the media file system agent 240 determines whether there are more data blocks in the container file 810 . If so, the process 900 returns to step 920 , where it accesses the next data block. If there are no more data blocks in the container file 810 , the process 900 continues at step 932 , where the media file system agent 240 determines whether all the entries in the container index file 812 corresponding to the container file 810 are equal to zero. As illustrated in FIG. 8 , the second index entry in the container index file 812 is not equal to zero, thus indicating that the corresponding block in container file 810 is referenced (by data in the chunk folder 805 , as earlier described). Accordingly, the container file 810 cannot be deleted.
  • the media file system agent 240 would delete the container file 810 .
  • the process would then continue at step 935 , where the media file system agent 240 determines whether there are more container files. According to the example as illustrated in FIG. 8 , there is an additional container file 811 .
  • the process 900 then returns to step 915 , where it performs the same steps 920 - 933 for container file 811 .
  • the media file system agent 240 would also determine that the container file 811 cannot be deleted, because it contains a data block that is referenced (by data in the chunk folder 805 , as earlier described).
  • the process 900 continues at step 940 , where the media file system agent 240 determines whether to free up storage space in the container files 810 , 811 .
  • the media file system agent 240 may do so using various techniques. For example, if the operating system of the media file system agent 240 supports sparse files, then the media file system agent 240 may free up space by zeroing out the bytes in the container files corresponding to the space to be freed up.
  • the media file system agent 240 may mark these portions of the container files 810 , 811 as available for storage by the operating system or the file system.
  • the media file system agent 240 may do so by calling an API of the operating system to mark the unreferenced portions of the container files 810 , 811 as available for storage.
  • the media file system agent 240 may use certain optimizations to manage the number of times portions of the container file are marked as available for storage, such as only zeroing out bytes in container files when a threshold number of unreferenced contiguous blocks is reached (e.g., three unreferenced contiguous blocks). These optimizations may result in less overhead for the operating system because it reduces the number of contiguous ranges of zero-value bytes in the container files 810 , 811 that the operating system must keep track of (e.g., it reduces the amount of metadata about portions of the container files 810 , 811 that are available for storage).
  • the media file system agent 240 may free up space by truncating either the beginning or the end of the container files 810 , 811 (removing or deleting data at the beginning or end of the container files 810 , 811 ).
  • the media file system agent 240 may do so by calling an API of the operating system, or by operating directly on the container files 810 , 811 . For example, if a certain number of the last blocks of the container file are not being referred to, the media file system agent 240 may truncate these portions of the container files 810 , 811 . Other techniques may be used to free up space in the container files 810 , 811 for storage of other data.
  • the media file system agent 240 frees up space in the container files 810 , 811 .
  • the process 900 then concludes.
  • the chunk folder 804 would contain only the container files 810 , 811 and the container index file 812 .
  • the chunk folder 805 is pruned (when the job that created this chunk folder is selected to be pruned)
  • the container files 810 , 811 in the chunk folder 804 can be deleted, because they no longer contain data blocks that are referenced by other data. Therefore, pruning data corresponding to a job may also result in pruning data corresponding to an earlier job, because the data corresponding to the earlier job is no longer referenced by the later job.
  • the process 900 is described with reference to the pruning of data corresponding to jobs (one or more storage operations), other data can also be pruned.
  • an administrator may wish to delete deduplicated data but retain non-deduplicated data.
  • the administrator may instruct the media file system agent 240 to delete the container files 810 , 811 , 813 but retain the metadata files 806 , 807 and metadata index files 808 , 809 .
  • an administrator or storage policy may delete one or more specific files.
  • the media file system agent 240 deletes the data blocks in the container files 810 , 811 , 813 corresponding to the specific files but retains other data blocks.
  • the process 900 may include fewer or more steps than those described herein to accommodate these other pruning examples. Those of skill in the art will understand that data can be pruned in various fashions and, therefore, that the process 900 is not limited to the steps described herein.
  • a single storage operation that utilizes deduplication may result in as few as three container files being created in a secondary cloud storage site 115 , such as three for each company storing data to that cloud storage site.
  • the contents of the few container files may reflect the content of thousands of data objects and/or millions of data blocks in primary storage.
  • the system reduces the strain on the file system namespace of the secondary cloud storage site 115 , since it reduces the number of files stored on the file system of the cloud storage site 115 .
  • the fewer container files used per storage operation the less strain there is on the file system namespace of the secondary cloud storage site 115 .
  • the system may reduce namespace strain on the secondary cloud storage site 115 .
  • the characteristics of the WAN network connection used to transfer the container files from the media file system agent 140 to the cloud storage site 115 A-N may impose other restrictions upon the size of container files used.
  • the bandwidth of the network connection may impose an upper limit on the size of container files that may be used (e.g., an upper limit of approximately 1000 blocks). If the network connection has low bandwidth, the upload of large container files to the cloud storage site may prove prohibitively slow.
  • the restoration of a particular data object or block may require the retrieval of the entire container file comprising that data object/block from the cloud storage site; if the container file is too large for a low-bandwidth network, then restoration times may become prohibitively slow.
  • the latency of the network connection may impose a lower limit on the size of container files that may be used. This is because the total time needed to perform a storage operation may be increased if for each container file created and transferred to the target cloud storage site, the system must slowly transmit the container file and/or await a response from the cloud storage site 115 A-N before processing the next container file in the storage operation.
  • cloud storage sites 115 A-N may not support sparse files and thus not support sparsification of container files. In this situation, smaller container files may be desirable, because then it becomes more likely the system will be able to prune entire container files from the cloud storage site 115 A-N, even if it cannot prune out individual blocks/objects using sparsification techniques.
  • a particular cloud storage site 115 A-N may have a pricing structure that charges both for the total amount of storage used (e.g., total gigabytes or petabytes used) and the number of files or directories used on the site.
  • the system may also additionally impose an absolute upper or lower limit on the size of container files used.
  • the system may impose an upper limit on the size of container files in order to minimize the amount of time it takes the system to traverse a container file during data restoration.
  • the system may impose an absolute 100 block size upon container files, even if the network bandwidth would theoretically allow for larger container files.
  • the system may impose an absolute lower limit on the size of container files used, since there may be overhead costs (e.g., processing time and/or memory used) for each additional container file used in a storage operation.
  • the deduplication module 299 or another system component may perform the following process to establish a container size for a storage operation.
  • the deduplication module 299 or system may (1) determine the average latency and bandwidth of the network connection between the target cloud storage site 115 A-N and the media file system agent 240 (or similar metrics regarding the network connection, e.g., maximum latency and minimum bandwidth), (2) determine any namespace restrictions imposed by the target cloud storage site 115 A, (3) determine whether the target cloud storage site 115 A-N supports the sparsification of data files, (4) determine the pricing structure used by the target cloud storage site, (5) determine any caps set by the system upon container file size, and (6) perform an optimization to establish a container size for the storage operation reflecting one or more of these determined factors and/or other factors (e.g., such as user input).
  • the system may permit a user to select the container size that will be used for one or more storage operations. Still alternatively, the user or the system may establish for all storage operations, the container size that will be used for a particular cloud storage site or all cloud storage sites.
  • FIG. 10 is a flow diagram that illustrates the processing of a content indexing component 205 for later searching, according to one embodiment. The component is invoked when new content is available or additional content is ready to be added to the content index.
  • the component selects a copy of the data to be indexed.
  • the copy may be a secondary copy of the data, a data snapshot, or data stored or being stored in an archive copy.
  • the component identifies content within the copy of the data.
  • the component may identify data files such as word processing documents, spreadsheets, and presentation slides within the secondary data store.
  • the system may check the data against previously indexed data, and only index new or additional data.
  • the component updates an index of the content to make the identified content available for searching.
  • the system may parse, process, and store the data.
  • the component may add information such as the location of the content, keywords found within the content, and other supplemental information about the content that may be helpful for locating the content during a search.
  • the content indexing component updates a content index stored within the SS index 261 , SS light index 247 and/or the management light index 245 and/or management index 211 . After step 1030 , these steps conclude.
  • FIG. 11 illustrates some of the data structures used by the system to facilitate content indexing. While the term “field” and “record” are used herein when describing certain data structures, the system described herein may employ any type of data structure. For example, relevant data can have preceding headers, or other overhead data preceding (or following) the relevant data. Alternatively, relevant data can avoid the use of any overhead data, such as headers, and simply be recognized by a certain byte or series of bytes within a serial data stream. Any number of data structures and types can be employed herein.
  • FIG. 11 illustrates a data structure containing entries of a content index.
  • a copy of the content index shown may be stored within the SS index 261 , SS light index 247 and/or the management light index 245 and/or management index 211 .
  • the offline content indexing system uses this and similar data structures to provide more intelligent content indexing. For example, the offline content indexing system may index multiple copies of data and data available from the multiple copies using a secondary copy of data stored on media with a higher availability based on the location or other attributes indicated by the data structure described below. As another example, the offline content indexing system may prefer an unencrypted copy of the data to an encrypted copy to avoid wasting time unnecessarily decrypting the data.
  • the table 1100 contains a location column 1110 , a keywords column 1120 , a user tags column 1130 , an application column 1140 , and an available column 1150 .
  • the table 1100 contains five sample entries.
  • the first entry 1160 specifies that the location of a file is on a corporate intranet by using a web universal resource locator (“URL”).
  • the entry 1160 contains keywords “finance,” “profit,” and “loss” that identify content within the file.
  • the entry 1160 contains tags added by a user that specify that the content comes from the accounting department and is confidential.
  • the entry 1160 indicates that a spreadsheet program typically consumes the content, and that the entry is immediately available.
  • Another entry 1170 specifies that data is stored on a local tape that is a personal email, and can be available in about an hour.
  • Another entry 1180 specifies an offsite tape holds a presentation related to a cancelled project. The entry 1180 refers to offsite data that is available within one week due to the delay of retrieving the archived data from the offsite location.
  • Another entry 1190 specifies that the location of a word processing document containing data relating to CEO compensation is in a cloud storage site by using a URL that points to a deduplicated archive file that may be implemented by a data structure similar to those shown in FIGS. 5A-D and/or FIG. 8 . As shown, the estimated retrieval time from this cloud storage site is 15 minutes.
  • Another entry 1195 specifies that the location of a personal email relating to a medical condition is stored in a second cloud storage site by using another URL that points to a deduplicated archive file that may be implemented by a data structure similar to those shown in FIGS. 5A-D and/or FIG. 8 . As shown, the estimated retrieval time from this cloud storage site is 1 hour.
  • the system stores deduplicated data (or “dehydrated data”) in secondary cloud storage by utilizing the media file system agent 240 to perform file system operations (such as a “write” operation) on a target cloud storage site 115 A.
  • the media file system agent 240 may retrieve an applicable storage policy (described previously with respect to FIG. 2 ) and act in accordance therewith.
  • the media file system agent 240 may retrieve a storage policy stored in management index 211 that specifies that all email objects (and blocks contained therein) should be stored on cloud storage site 115 A, while document objects (and blocks contained therein) should be stored on cloud storage site 115 B.
  • the storage policy stored in management index 211 may specify that all objects related to a particular client 130 or particular user (e.g., a company CEO) should be stored on a more expensive or reliable cloud storage site 115 A while all other objects for all other clients 130 and/or users should be stored on a less expensive or less reliable cloud storage site 115 B.
  • the system may review the historical performance achieved by various target cloud storage sites 115 A-N to determine which sites have historically achieved the desired performance metrics mandated by a storage policy. Additionally, the system may select a cloud storage site that has better historical performance than other sites.
  • a storage policy may specify that a first type of files should be retained for one year in a first target cloud storage site 115 A, that a second type of files should be retained for seven years in a second cloud storage site 115 B, and that a third type of files should be retained indefinitely in a third cloud storage site 115 N.
  • a storage policy may specify that a first type of files (e.g., secondary disk copies needed for rapid disaster recovery) be stored only in storage sites 115 , including cloud storage sites 115 A-N, that can provide sufficient bandwidth, network capacity or other performance to ensure that the time needed to recover a file from the storage device 115 (e.g., cloud storage site 115 A-N) is less a specified recovery time objective.
  • FIG. 12 is a flow diagram illustrating a process 1200 for restoring or retrieving data from chunk folders in an archive file format on secondary storage.
  • This process may be utilized to restore data objects stored on cloud storage sites 115 A-N.
  • the system identifies the cloud storage site 115 , the archive file on that cloud storage site, the chunk file within that archive file, and further the location of the data object within that chunk file.
  • a selection of a data object to restore is received, such as from an administrator via a graphical interface.
  • the process of restoring data that has been deduplicated may be referred to herein as “rehydrating deduplicated data.”
  • the media file system agent 240 is consulted to determine an archive file ID and an offset of the data object to be restored.
  • the media file system agent 240 can determine this information from a data structure, such as a tree index (for example, a c-tree may be used, which, in some examples, is a type of self-balancing b-tree), that it maintains for each archive file.
  • a data structure such as a tree index (for example, a c-tree may be used, which, in some examples, is a type of self-balancing b-tree)
  • an archive file may be based on files 1 through n, with file 1 at offset 1 , file 2 at offset 2 , file n at offset n, and so on.
  • the media file system agent 240 maintains one tree index per full storage operation cycle.
  • FIG. 13A illustrates an example data structure 1300 that the media file system agent 240 maintains.
  • the data structure 1300 includes an archive file ID item 1310 that contains the identifier of archive files, a file or data object item 1320 that contains the identifier of the file or data object, and an offset 1330 containing the offset of the file or data object within the archive file or cloud container.
  • the media file system agent 240 may also maintain a multiple-part identifier, such as a five-part identifier, that includes an enterprise or domain identifier (e.g., an identifier of a company/customer, a grouping of clients/companies, etc.), a client identifier to identify a particular company, customer or host computer to connect to at the customer, an application type (e.g.
  • a storage operation set identifier to identify when the storage operation data was obtained
  • a sub-client identifier to provide a further level of granularity within an enterprise to identify an origin, location, or the use of the data (e.g., a file system on a client could be a sub-client, or a database on a client could be a sub-client).
  • the media file system agent 240 determines the archive file ID and offset within the archive file of the data object to be restored. The media file system agent 240 then needs to determine which chunk contains the data object. To do so, the media file system agent 240 consults another server, such as a storage manager 105 (discussed below), that has a data structure that maps the archive file ID and offset to the specific media (as well as the specific chunk file within the specific media, optionally). For example, the storage manager may maintain a database table that maps the archive file ID to specific media, to a URL indicating the cloud storage site location, or to a bar code number for a magnetic tape cartridge storing that archive file.
  • a storage manager 105 discussed below
  • the storage manager may maintain a database table that maps the archive file ID to specific media, to a URL indicating the cloud storage site location, or to a bar code number for a magnetic tape cartridge storing that archive file.
  • FIG. 13B illustrates an example data structure 1350 that the storage manager 109 maintains.
  • the data structure 1350 includes an archive file ID item 1370 identifying a client, a storage operation job, a cycle, and an archive file ID, a media chunk item 1380 containing an identification of the media containing the archive file and the chunk on the media that contains the archive file, and a start item 1390 that contains the archive file ID, an offset, and a size.
  • some or all of the entries in the media chunk column 1380 may comprise a URL (e.g., a URL like https://www.cloudstorage.com/companyname/C/J/Y/1/C — 1.xml) that reflects the location of the archive file within a specific cloud storage site and/or reflects a website where the system may otherwise access the archive file.
  • the media file system agent 240 then can consult a deduplication database 297 to determine the specific chunk that corresponds to the data object to be restored.
  • the cloud storage server accesses a particular secondary storage device and the specific media, such as a specific folder within a disk at a cloud storage site (indicated by a URL) or a specific tape cartridge in an automated tape library, is accessed.
  • the cloud storage server opens the specific chunk folder, and the metadata file is accessed.
  • the metadata file is parsed until the stream header corresponding to the data object or block to be restored is accessed.
  • the cloud storage server determines the location of the file from the stream data.
  • the stream data indicates the location of the data object to be restored, which is either in a container file in the chunk folder or within a container file in another chunk folder.
  • each data object is retrieved or opened, and the data object is read and streamed back to restore it for the requesting client/host/customer (block 1240 ).
  • Each data object may have a piece of data appended to it (e.g., an EOF marker) that indicates to the reader when to stop reading the data object.
  • a similar piece of data may be prepended (e.g., a BOF marker) to the data object.
  • the process 1200 then concludes.
  • FIG. 12 Although the process of FIG. 12 and the data structures of FIG. 13 were described with respect to object-level restoration and retrieval, one having skill in the art will appreciate that a system may employ a similar process and similar data structures to restore and retrieve individual blocks or sub-objects archived within a system.
  • the system may generate one or more copies of a content index as shown in FIG. 11 within the SS index 261 , SS light index 147 , the management light index 245 and/or management index 211 .
  • the system may provide local search capabilities.
  • the storage manager 105 may receive and process a request to search the management index 211 for files matching certain search criteria, and then return matching files.
  • the system may provide more cost-effective and/or faster searches of data archived or stored on a remote cloud storage site 115 A-N, since local searches of a local content index typically do not require file system calls to a cloud storage site other than to retrieve identified files stored therein.
  • FIG. 14 is a flow diagram that illustrates the processing of a search request by the system, in one embodiment.
  • the system receives a search request specifying criteria for finding matching target content.
  • the search request may specify one or more keywords that will be found in matching documents.
  • the search request may also specify boolean operators, regular expressions, and other common search specifications to identify relationships and precedence between terms within the search query.
  • the system searches the content index to identify matching content items that are added to a set of search results. For example, the system may identify documents containing specified keywords or other criteria and add these to a list of search results.
  • the system generates search results based on the content identified in the content index.
  • step 1430 the system selects the first search result.
  • decision step 1440 if the search result indicates that the identified content is archived, then the system continues at step 1450 , else the system continues at step 1455 .
  • the content may be archived because it is on a remote cloud storage site.
  • step 1450 the system retrieves the archived content, which may utilize the data restoration methods discussed herein. Additionally or alternatively, the system may provide an estimate of the time required to retrieve the archived content and add this information to the selected search result.
  • decision step 1455 if there are more search results, then the system loops to step 1430 to get the next search results, else the system continues at step 1460 .
  • step 1460 the system provides the search results in response to the search query. For example, the user may receive the search results through a web page that lists the search results, or the search results may be provided to another system for additional processing through an API. The system may also perform additional processing of the search results before presenting the search results to the user. For example, the system may order the search results, rank them by retrieval time, and so forth. After step 1460 , these steps conclude.
  • a cloud storage site may be integrated with a collaborative search system and collaborative document management system to facilitate collaborative searching, data retrieval, and discovery.
  • Some details on collaborative searching are provided below; further details may be found in the assignee's U.S. Patent Publication No. US-2008-0222108-A1, filed Oct. 17, 2007, entitled METHOD AND SYSTEM FOR COLLABORATIVE SEARCHING (Attorney Docket No. 60692-8047US01).
  • FIG. 25 a block diagram 2500 illustrating an architecture for integrating a collaborative search system with a collaborative document management system is shown.
  • a browser 2505 is used by collaborative participants as an interface to access the integrated system.
  • a collaborative participant submits queries, receives results, and performs other collaborative tasks through the browser 2505 .
  • the browser 2505 is connected to a collaborative document management system 2510 , such as the Microsoft SharePoint Server.
  • the collaborative document management system 2510 provides a web-based portal for collaboration between collaborative participants.
  • the collaborative document management system 2510 is connected to a collaborative search system 2520 .
  • the collaborative search system 2520 integrates with the collaborative document management system 2510 and adds additional components, such as web components and content parsers, and provides access to cloud storage content.
  • the collaborative search system 2520 is connected to not only one or more cloud storage sites 115 , but also to local storage (e.g. a storage operation cell 150 ), as well as to a security system 2540 , and a document retention system 2550 .
  • the storage operation cell 150 provides fast access to content from various computer systems within an enterprise.
  • the security system 2540 provides users and groups that are meaningful to a particular enterprise to facilitate searching.
  • the security system 2540 also enforces access rights to collaborative content.
  • the document retention system 2550 places a legal hold on documents related to a document retention request.
  • the collaborative search system receives criteria for a search through a collaborative process. For example, one collaborative participant may create a new query for responding to a discovery request regarding a product made by the company that employs the collaborative participant.
  • the first collaborative participant may add search criteria including the product name and then submit the search criteria to the collaborative document management system 2510 as a collaborative document.
  • Another collaborative participant may open the collaborative document and add additional search criteria, such as instructions to narrow the list of departments from which documents should be searched.
  • the second participant may include the engineering, marketing, and sales teams that worked on the product.
  • the collaborative search system 2520 may also add additional criteria inferred from the criteria added by the collaborative participants.
  • the collaborative search system may determine that two employees, one in a department already within the search criteria and another outside of the current search criteria, frequently send email about projects. Based on this information, the collaborative search system may add the user that is outside of the current search criteria to the search criteria, or it may prompt one of the collaborative participants to consider adding the user to the search criteria.
  • the system may provide further features. For example, the system may add additional search criteria inferred from dynamic changes made to the search criteria.
  • the system may use heuristics type information when determining search criteria.
  • the collaborative search system 2520 may defines workflows that define the set of steps that are part of completing a task.
  • the collaborative search system 2520 may create a collaborative document based on a set of search results.
  • the collaborative document provides a mechanism for multiple collaborative participants to contribute to steps within a workflow subsequent to the search process.
  • the steps of performing various levels of review of found documents can consume the majority of the time spent responding to the discovery request, and a collaborative participant may reviewing each document and flagging the document if it contains privileged content or directly add comments to documents within the search results.
  • the collaborative search system 2520 provides a user interface through which a collaborative participant may select from a set of templates that define common search tasks, such as a Sarbanes-Oxley template that initiates a search for materials required to be disclosed under the Sarbanes-Oxley Act.
  • the user interface of the collaborative search system 2520 may include custom-developed web components to assist with the integration with the collaborative document management system.
  • Microsoft SharePoint Server provides an object model and API for accessing collaborative features such as workflows and a search front-end that can be invoked from custom web pages using the Active Server Page Framework (“ASPX”).
  • ASPX Active Server Page Framework
  • the collaborative search system 2520 provides a user interface that does not require specialized software to be installed on the searching client system.
  • the collaborative search system may also provide a set of parsers for viewing content from many different sources, such as received in a list of search results, as web content.
  • the collaborative search system may provide a parser for converting a word processing document into a Hypertext Markup Language (“HTML”) web page.
  • HTML Hypertext Markup Language
  • parsers may convert spreadsheet content, database tables, instant messaging conversation logs, email, or other structured or unstructured content into a web page format accessible via a collaborative participant's browser. In this way, heterogeneous data from many different applications is available through a unified search user interface.
  • FIG. 26 illustrates the integration of parsers with the collaborative document management system.
  • the collaborative document management system 2510 contains a configuration database 2630 , a schema file 2640 , one or more dynamic web pages 2620 , and one or more generated web pages 2610 .
  • the collaborative document management system 2510 consults the configuration database to determine what to display to the collaborative participant based on factors such as the identity of the user, the particular web address the collaborative participant requested, the access rights of the collaborative participant, the state of previous requests by the collaborative participant to the collaborative document management system, and so on.
  • the collaborative document management system consults the schema file 2640 to determine the layout of the information for display to the collaborative participant.
  • the schema file 2640 may include instructions based on predetermined layouts, dynamically determined layouts, templates to be included in the layout, and so on.
  • one or more parsers 2650 may be consulted to migrate data from one or more document types (e.g., 2660 and 2670 ) to an XML or other common format.
  • the schema data is passed to an ASPX or other dynamic page 2620 that may use scripts and an object model provided by the collaborative document management system to identify, parse data types, and dynamically build a page with the content that will be displayed to the collaborative participant.
  • the system may present one or more templates described above.
  • the dynamic page 2620 After the scripts are run, the dynamic page 2620 generates an HTML or other generic formatted page 2610 that is sent to the collaborative participant's browser/GUI that will be displayed to the collaborative participant.
  • the collaborative search system 2520 may integrate components for searching data from multiple operating systems and multiple data formats from multiple cloud storage sites. For example, file system data on a Microsoft Windows computer system may be stored differently from file system data on a Linux computer system, but the collaborative search system may make both types of file system data available for searching. Data may be gathered from each of these types of disparate data sources and forwarded to a uniform database where the data can be collected, tagged with various classifications, and indexed for searching. The system may then display the data on differently formatted browsers.
  • implementations may integrate a collaborative document management system 2510 and collaborative search system 2520 with another type of storage system that provides content indexing and search capabilities comparable to the storage operation cell 150 shown FIG. 2 .
  • an implementation may integrate a collaborative document management system and collaborative search system with a system shown in FIG. 15 , FIG. 21 and/or FIG. 22 , which are described in greater detail herein.
  • the collaborative search system 2520 integrates information from the security system 2540 .
  • the collaborative search system may use Microsoft Windows Active Directory to determine users whose content should be searched as part of a discovery request. Active Directory contains all of the users in an organization and organizes the users into groups.
  • the security system may provide restrictions on access to content retrieved in response to a search. For example, a temporary worker hired to find documents for a sales pitch might not have access to documents associated with executives or documents that contain confidential company information.
  • the collaborative search system can manage a workflow that contains steps performed by collaborative participants with varying levels of access to content. For example, a company officer may be the only collaborative participant allowed to search for a particular set of documents as part of a search request, while other collaborative participants may be allowed to search for less restricted documents.
  • the system can include a “cloud gateway” 1540 , which may include a network attached storage (“NAS”) filer 1505 or NAS head with a limited amount of local storage, and which advertises CIFS/NFS interfaces out to clients 130 and cloud storage sites 115 A-N.
  • the local storage of the NAS filer 1505 of the cloud gateway 1540 provides a way to satisfy incoming data writes from clients 130 quickly, and to buffer or spool data before it is transferred to cloud storage sites 115 A-N or other cloud storage sites 115 (not shown).
  • the cloud gateway 1540 may include functionality to de-duplicate locally stored data before being written up to cloud storage sites 115 A-N, both of which may be done on a fairly rapid or aggressive schedule.
  • the cloud gateway 1540 may also provide conventional methods of accessing data via a NAS filer 1505 such as via Web-based Distributed Authoring and Versioning (WebDAV) and CIFS/NFS methods, thus making it easy for users and applications to read and write data to cloud storage sites 115 A-N without significant changes to their current mode of working.
  • WebDAV Web-based Distributed Authoring and Versioning
  • CIFS/NFS CIFS/NFS
  • users and applications can specify parameters (e.g., under a storage policy) that dictate to the cloud gateway 1540 the handling of their content—i.e., how long it is retained, should it be encrypted/compressed, should it be deduplicated, should it be indexed and searchable, should it to be replicated and if so, how many copies and to where, etc.
  • the cloud gateway 1540 may facilitate the cloud storage system by allowing for metadata to be specified on a per file/object basis or on a data container or bucket basis. Further, the system permits data to be replicated on demand to selected geographies based on access usage patterns, etc.
  • FIG. 16 shows a block diagram illustrating a suitable environment for the cloud gateway 1540 that can include a filer or NAS filer 1505 configured to perform data migration to cloud storage sites and other secondary storage.
  • the computing system 1600 includes a data storage system 1610 , such as storage operation cell 150 .
  • Client computers 1620 including computers 1622 and 1624 , are associated with users or servers that generate data to be stored in secondary storage.
  • the client computers 1622 and 1624 communicate with the data storage system 1610 over a network 1630 , such as a private network such as an intranet, a public network such as the Internet, and so on.
  • the networked computing system 1600 includes network-attached storage, such as the cloud gateway 1540 .
  • the cloud gateway 1540 includes NAS-based storage or memory, such as a cache 1644 , for storing data received from the network, such as data from client computers 1622 and 1624 .
  • NAS-based storage or memory such as a cache 1644
  • the cache 1644 can include any type of storage for storing data files within the NAS filer 1505 , such as magnetic disk, optical disk, semiconductor memory, or other known types of storage such as magnetic tape or types of storage hereafter developed.
  • the cache 1644 may include an index or other data structure in order to track where data is eventually stored (e.g., location in the cloud), or the index may be stored elsewhere, such as on the proxy computer.
  • the index may include information associating the data with information identifying a secondary cloud storage site that stored the data, or other information.
  • the index may include both an indication of which blocks have been written to secondary storage (and where they are stored in secondary storage), and a lookup table that maps blocks to individual files stored within the cloud gateway 1540 .
  • the cloud gateway 1540 also includes a data migration component 1642 that performs data migration on data stored in the cache 1644 . While shown in FIG. 16 as being within the NAS filer 1505 , the data migration component 1642 may be on a proxy computer coupled to the NAS filer. In some cases, the data migration component 1642 is a device driver or agent that performs block-level, sub-object-level, or object-level data migration of data stored in the cache, or a combination of two or more types of data migration, depending on the needs of the system.
  • the NAS filer 1505 not only transfers data from the cache of the device to one or more cloud storage sites 115 A-N located on the network 1630 , but also to other secondary storage locations 1650 , such as magnetic tapes 1652 , optical disks 1654 , or other secondary storage 1656 .
  • the cloud gateway 1540 may also retrieve data from these other secondary storage devices and transfer it to the cloud storage sites 115 A-N (under ILM or other storage policies).
  • the NAS filer 1505 may include various data storage components that are used when identifying and transferring data from the cache 1644 to the secondary cloud storage sites 1650 . These components will now be discussed.
  • the cloud gateway 1540 may include an input component 1710 , a data reception component 1720 , a file system 1730 , and an operating system 1740 .
  • the input component 1710 may receive various inputs, such as via an iSCSI protocol. That is, the cloud gateway may receive commands or control data from a data storage system 1610 over IP channels. For example, the data storage system 1610 may send commands to a cloud gateway's IP address in order to provide instructions to the NAS filer 1505 .
  • the data reception component 1720 may receive data to be stored over multiple protocols, such as NFS, CIFS, and so on.
  • NFS non-reliable and low-latency communications
  • CIFS CIFS
  • a UNIX-based system may send data to be stored on the NAS filer 1505 over an NFS communication channel
  • a Windows-based system may send data to be stored on the NAS filer over a CIFS communication channel.
  • the cloud gateway 1540 may include a number of data storage resources, such as a data storage engine 1760 to direct reads from and writes to the data store 1644 , and one or more media agents 1770 .
  • the media agents 1770 may be similar to the secondary storage computing devices 165 described herein and may similarly be communicatively coupled to one or more SS indices (e.g., SS index 261 and SS light index 204 ) and deduplication database 297 .
  • the media agents 1770 may comprise components similar to those of the secondary storage computing devices 165 , such as deduplication module 299 , content indexing component 205 , network agent 235 , media file system agent 240 (including cloud storage submodule 236 ), as described previously.
  • the cloud gateway 1540 may include two or more media agents 1770 , such as multiple media agents 1770 externally attached to the cloud gateway.
  • the cloud gateway 1540 may expand its data storage capabilities by adding media agents 1770 , as well as other components.
  • the cloud gateway 1540 includes a data migration component 1642 capable of transferring some or all of the data stored in the cache 1644 .
  • the data migration component 1642 requests and/or receives information from a callback layer 1750 , or other intermediate component, within the cloud gateway.
  • the callback layer 1750 intercepts calls for data between the file system 1730 and the cache 1644 and tracks these calls to provide information to the data migration component 1642 regarding when data is changed, updated, and/or accessed by the file system 1730 . Further details regarding the callback layer 1750 and other intermediate components will now discussed.
  • the cloud gateway 1540 monitors the transfer of data from the file system 1730 to the cache 1644 via the callback layer 1750 .
  • the callback layer 1750 not only facilitates the migration of data portions from data storage on the cloud gateway to secondary storage, but also facilitates read back or callback of that data from the secondary storage back to the cloud gateway. While described at times herein as a device driver or agent, the callback layer 1750 may be a layer, or additional file system, that resides on top of the file system 1730 .
  • the callback layer 1750 may intercept data requests from the file system 1730 , in order to identify, track, and/or monitor data requested by the file system 1730 , and may store information associated with these requests in a data structure. Thus, the callback layer stores information identifying when a data portion is accessed by tracking calls from the file system 1730 to the cache 1730 .
  • adding the cloud gateway 1540 described herein to an existing networked computing system can provide the computing system with expanded storage capabilities, but can also provide the computing system with other data storage functionality.
  • the cloud gateway 1540 not only provides the storage benefits of a NAS filer 1505 , but also includes a data storage engine (e.g., a common technology engine, or CTE, provided by Commvault Systems, Inc. of Oceanport, N.J.), or other functionality.
  • the cloud gateway may perform various data storage functions normally provided by a backup server, such as single instancing, data classification, mirroring, content indexing, data backup, encryption, compression, and so on.
  • the cloud gateway described herein acts as a fully functional and independent device that an administrator can attach to a network to perform virtually any data storage function.
  • the cloud gateway 1540 leverages block-level, sub-object-level, or object-level data migration in order to provide expanded storage capabilities to a networked computing system.
  • the cloud gateway may perform block-level, sub-object-level, and/or object-level deduplication using the methods and/or data structures described previously with respect to FIGS. 1-9 .
  • the cloud gateway 1540 may utilize components or modules within the data storage system 1610 (e.g., a deduplication module 299 and/or a deduplication database 297 ) and/or utilize components within the cloud gateway itself (e.g., data migration components 1652 ).
  • the cloud gateway may avoid creating unnecessary additional instances of the selected data within secondary storage (e.g., additional instances within cloud storage sites). Additionally, the cloud gateway, may access and apply storage policies as described previously with respect to the system of FIG. 1 to determine to which cloud storage site 115 A-N or other cloud storage sites the cloud gateway should migrate the data.
  • the cloud gateway 1540 may utilize more expensive cloud storage sites to store critical documents, and less expensive cloud storage site to store personal emails.
  • the cloud gateway may implement a storage policy that specifies that a first type of files should be retained for one year in a first target cloud storage site 115 A, that a second type of files should be retained for seven years in a second cloud storage site 115 B, and that a third type of files should be retained indefinitely in a third cloud storage site 115 N.
  • the cloud gateway may implement a storage policy that specifies that a first type of files (e.g., secondary disk copies needed for rapid disaster recovery) be stored only in storage sites 115 , including cloud storage sites 115 A-N, that can provide sufficient bandwidth, network capacity or other performance to ensure that the time needed to recover a file from the storage device 115 (e.g., cloud storage site 115 A-N) is less a specified recovery time objective.
  • a first type of files e.g., secondary disk copies needed for rapid disaster recovery
  • cloud storage sites 115 A-N can provide sufficient bandwidth, network capacity or other performance to ensure that the time needed to recover a file from the storage device 115 (e.g., cloud storage site 115 A-N) is less a specified recovery time objective.
  • certain data may be migrated or copied only to cloud storage sites 115 A-N having sufficient fault tolerance; for example, certain data may be migrated or copied to cloud storage sites that replicate data to various geographic locations to prevent data loss in the event of a natural disaster or similar catastrophic event.
  • the system can perform file system data migration at a file or block level.
  • Block-level migration or block-based data migration, involves migrating disk blocks from the data store or cache 1644 to secondary media, such as secondary cloud storage sites 1650 .
  • This migration process works particularly well with large files spanning many blocks, and is described in detail below. While not shown, file level migration employs similar processes, but is much simpler.
  • the cloud gateway 1540 transfers blocks from the cache 1644 that have not been recently accessed from secondary storage, freeing up space on the cache. By tracking migrated blocks, the system can also restore data at the block level, which may avoid cost and time issues commonly associated with restoring data at the file level.
  • a cloud gateway 1540 and associated techniques described herein may make secondary disk copies to disaster recovery (DR) locations using auxiliary copy or replication technologies. Additionally or alternatively, a cloud gateway and associated techniques described herein may be used on copies of data created by replication operations such as CDR (Continuous Data Replication) and DDR (Discrete Data Replication).
  • CDR Continuous Data Replication
  • DDR Discrete Data Replication
  • a flow diagram illustrating a routine 1800 for performing block-level data migration in a cloud gateway 1540 is shown.
  • the cloud gateway via the data migration component 1642 , identifies data blocks within a cache that satisfy a certain criteria.
  • the data migration component 1642 may compare some or all of the blocks (or, information associated with the blocks) in the cache 1644 with predetermined criteria.
  • the predetermined criteria may be time-based criteria within a storage policy or data retention policy.
  • the data migration component 1642 identifies blocks set to be “aged off” from the cache. That is, the data migration component 1642 identifies blocks created, changed, or last modified before a certain date and time. For example, the system may review a cache for all data blocks that satisfy a criterion or criteria.
  • the data store may be an electronic mailbox or personal folders (.pst) file for a Microsoft Exchange user, and the criterion may define, for example, all blocks or emails last modified or changed 30 days ago or earlier.
  • the data migration component 1642 compares information associated with the blocks, such as metadata associated with the blocks, to the criteria, and identifies all blocks that satisfy the criteria.
  • the data migration component 1642 identifies all blocks in the .pst file not modified within the past 30 days.
  • the identified blocks may include all the blocks for some emails and/or a portion of the blocks for other emails. That is, for a given email (or data object), a first portion of the blocks that include the email may satisfy the criteria, while a second portion of the blocks that include the same email may not satisfy the criteria.
  • a file or data object can be divided into parts or portions where only some of the parts or portions change.
  • the cloud gateway 1540 can monitor the activity of the file system 1730 via the callback layer 1750 .
  • the cloud gateway may store a data structure, such as a bitmap, table, log, and so on within the cache 1644 or other memory in the NAS filer 1505 or elsewhere, and update the data structure whenever the file system calls the cache 1644 to access, update, or change the data blocks within the cache 1644 .
  • the callback layer 1750 traps commands to the cache 1644 , where that command identifies certain blocks on a disk for access or modifications, and writes to the data structure the changed blocks and the time of the change.
  • the data structure may include information such as the identification of the changed blocks and the date and time that the blocks were changed.
  • the data structure which may be a table, bitmap, or group of pointers, such as a snapshot, may also include other information, such as information that maps file names to blocks, information that maps sub-objects to blocks and/or file names, and so on, and identify when accesses/changes were made.
  • the cloud gateway 1540 transfers data within the identified blocks from the cache 1644 to a media agent 1770 to be stored in a different data store.
  • the system may perform some or all of the processes described with respect to the system of FIG. 1 when transferring the data to the media agent. For example, before transferring data, the system may review a storage policy as described herein to select a media agent, such as secondary storage computing device 165 , based on instructions within the storage policy.
  • the system optionally updates an allocation table, such as a file allocation table (“FAT”) for the file system 1730 associated with the cloud gateway to indicate the data blocks that no longer contain data and are now free to receive and store data from the file system.
  • FAT file allocation table
  • the cloud gateway 1540 stores data from the blocks to a different data store.
  • the cloud gateway via the media agent 1770 , stores the data from the blocks to a secondary cloud storage site, such as a cloud storage site 115 A-N.
  • the cloud gateway may store the data from the blocks in secondary copies of the data store, such as a backup copy, an archive copy, and so on.
  • the cloud gateway prior to storing the data from the blocks to a different data store, the cloud gateway, via the media agent 1770 , may perform block-level deduplication and/or content indexing, using the methods and data structures described previously with respect to the system of FIG. 1 .
  • the cloud gateway 1540 may encrypt and/or compress data as described previously with respect to FIG. 3B .
  • the cloud gateway may create, generate, update, and/or include an allocation table, (such as a table for the data store) that tracks the transferred data and the data that was not transferred.
  • the table may include information identifying the original data blocks for the data, the name of the data object (e.g., file name), the location of any transferred data blocks (including, e.g., offset information), and so on.
  • the location of the transferred data blocks may comprise a URL to a file located on cloud storage site 115 A-N.
  • Table 3 provides entry information for an example .pst file:
  • the data for “Email2” is stored in two locations, the cache (C:/) and an offsite data store located on a cloud storage site 115 A-N (http://www.cloudstoragesite.com/companyname/).
  • the system maintains the body of the email, recently modified or accessed, at a location within a data store associated with a file system, “C:/users/blocks101-120.”
  • the system stores the attachment, not recently modified or accessed, in a separate data store, “http://www.cloudstoragesite.com/companyname/remov1/blocksb 1-250.”
  • the table may include other information, fields, or entries not shown.
  • the table may include tape identification information, tape offset information, and so on.
  • Sub-object-based file migration involves splitting a data object into two or more portions of the data object, creating an index that tracks the portions, and storing the data object to secondary storage via the two or more portions.
  • the nature of sub-objects was described previously with respect to the description of deduplication module 299 .
  • the cloud gateway 1540 migrates sub-objects of data (sets of blocks) that comprise a data object from the cache 1644 to another storage location, such as to a cloud storage site.
  • the data migration component 1642 may include a division component that divides data objects into sub-objects. The division component may perform in a substantially similar fashion to the object division component described previously with respect to the deduplication module 299 .
  • the division component may receive files to be stored in the cache 1644 , divide the files into two or more sub-objects, and store the files as two or more sub-objects in the cache.
  • the division component may update more or more indexes that maintains information to associate particular files with their corresponding sub-objects for that file, the data blocks of the sub-objects, and soon.
  • the division component may perform different processes when determining how to divide a data object.
  • the division component may include indexing, header, and other identifying information or metadata in a first sub-object, and include the payload in other sub-objects.
  • the division component may identify and/or retrieve file format or schema information from an index, FAT, NFS, or other allocation table in the file system to determine where certain sub-objects of a data object reside (such as the first or last sub-object of a large file).
  • the division component may follow a rules-based process when dividing a data object, where the rules may define a minimum or maximum data size for a sub-object, a time of creation for data within a sub-object, a type of data within a sub-object, and so on.
  • the division component may divide a user mailbox (such as a .pst file) into a number of sub-objects, based on various rules that assign emails within the mailbox to sub-objects based on the metadata associated with the emails.
  • the division component may place an index of the mailbox in a first sub-object and the emails in other sub-objects.
  • the division component may then divide the other sub-objects based on dates of creation, deletion or reception of the emails, size of the emails, sender of the emails, type of emails, and so on.
  • the division component may divide a mailbox as follows:
  • Sub-objects may not necessarily fall within logical divisions.
  • the division component may divide a data object based on information or instructions not associated with the data object, such as information about data storage resources, information about a target secondary cloud storage site, historical information about previous divisions, and so on.
  • the system identifies sub-objects of data blocks within a data store that satisfy one or more criteria.
  • the data store may store large files (>50 MB), such as databases associated with a file system, SQL databases, Microsoft Exchange mailboxes, virtual machine files, and so on.
  • the system may compare some or all of the sub-objects (or, information associated with the sub-objects) of the data store with predetermined and/or dynamic criteria.
  • the predetermined criteria may be time-based criteria within a storage policy or data retention policy.
  • the system may review an index with the division component 815 when comparing the sub-objects with applicable criteria.
  • the cloud gateway 1540 transfers data within the identified sub-objects from the data store to a media agent 1770 , to be stored in a different data store.
  • the cloud gateway may perform some or all of the processes described with respect to FIG. 1 when transferring the data to the media agent. For example, the cloud gateway may review a storage policy assigned to the data store and select a media agent based on instructions within the storage policy.
  • the system optionally updates an allocation table, such as a FAT for a file system associated with the cloud gateway, to indicate the data blocks that no longer contain data and are now free to receive and store data from the file system.
  • the cloud gateway 1540 transfers or stores the data from the sub-objects to a different data store.
  • the system via the media agent, stores the data to the cloud storage sites 115 A-N, and/or to secondary storage 1650 , such as magnetic tape 1652 or optical disk 1654 .
  • the system may store the data as secondary copies, such as backup copies, archive copies, and so on.
  • the cloud gateway via the media agent 1770 , may perform sub-object-level or block-level deduplication and/or content indexing, using the methods and data structures described herein.
  • a data storage system using a cloud gateway 1540 leveraging the block-based or sub-object-based data migration processes described herein, is able to restore not only files, but also portions of files, such as individual blocks or sub-objects that comprise portions of the files.
  • FIG. 20 a flow diagram illustrating a routine 2000 for block-based or sub-object-based data restoration and modification is shown. While not shown, file level data restoration employs similar processes, but is much simpler.
  • the system via a restore or data recovery component, receives a request to modify a file located in a cache of a NAS filer 1505 or in secondary storage in communication with a cloud gateway. For example, a user submits a request to a file system to provide an old copy of a large PowerPoint presentation so the user can modify a picture located on slide 5 of 200 of the presentation.
  • the system identifies one or more blocks or one or more sub-objects associated with the request.
  • the callback layer 1750 of the system looks to an index or table similar to Table 3, identifies blocks associated with page 5 of the presentation and blocks associated with a table of contents of the presentation, and contacts the cloud gateway 1540 that stored or migrated the blocks on secondary storage.
  • the system retrieves the identified blocks or sub-objects from the secondary storage and presents them to the user. For example, the system only retrieves page 5 and the table of contents of the presentation and presents the pages to the user. If some or all of the identified blocks or sub-objects were previously deduplicated prior to being transferred the secondary storage, in order to retrieve the identified blocks or sub-objects, the cloud gateway may utilize the media agent 1770 , to “rehydrate” the deduplicated data using the methods described previously with respect to FIG. 12 .
  • step 2040 the system receives input from a user to modify the retrieved blocks or sub-objects. For example, the user updates the PowerPoint presentation to include a different picture.
  • step 2050 the system transfers data associated with the modified blocks or sub-objects back to the cloud gateway 1540 , where it remains in a cache or is transferred to secondary storage, and updates the table/index.
  • the system leveraging block-based or sub-object-based data migration in a cloud gateway, restores only portions of data objects required by a file system.
  • a user submits a request to the system to retrieve an old email stored in a secondary copy on removable media via a cloud gateway 1540 .
  • the system identifies a portion of a .pst file associated with the user that contains a list of old emails in the cache of the cloud gateway, and retrieves the list. That is, the system has knowledge of the sub-object that includes the list (e.g., a division component may always include the list in a first sub-object of a data object), accesses the sub-object, and retrieves the list.
  • the other portions e.g., all the emails with the .pst file), were transferred from the cloud gateway 1540 secondary storage. The user selects the desired email from the list.
  • the cloud gateway via an index in the cache that associates sub-objects with data or files (such as an index similar to Table 3), identifies the sub-object that contains the email, and retrieves the sub-object from the associated secondary storage for presentation to the user.
  • the cloud gateway is able to restore the email without restoring the entire mailbox (.pst file) associated with the user.
  • the callback layer 1750 maintains a data structure that not only tracks where a block or sub-object resides on secondary storage, but also which file was affected based on the migration of that block or sub-object. Portions of large files may be written to secondary storage to free up space in the cache or data store 1644 of the NAS filer 1505 .
  • the total data storage of the cloud gateway is much greater than that actually available within the cache or data store 1644 .
  • the cache or data store 1644 may have only a 100-gigabyte capacity, its capacity may actually appear as over 20 terabytes, with storage over 100 gigabytes being migrated to cloud-based storage.
  • SaaS software as a service
  • ASPs application service providers
  • a managed services provider to host and provide data storage and management as an offering, although it can also easily be utilized by a large enterprise to build on top of a private network or cloud.
  • SaaS software as a service
  • a software as a service (SaaS) model permits a client 130 to utilize a unified and rich set of value-added data management services (e.g. compression, deduplication, content-indexing/search, encryption, etc.) that may be fully independent of which cloud storage providers actually hosting the client's data.
  • value-added data management services e.g. compression, deduplication, content-indexing/search, encryption, etc.
  • a software as a service model also permits clients 130 to utilize data management services and cloud storage on a capacity or utilization basis (e.g., per-gigabyte pricing), without fixed capital expenditures (e.g., expenditures for a set of vendor-specific cloud boxes or a software or hardware license).
  • a capacity or utilization basis e.g., per-gigabyte pricing
  • fixed capital expenditures e.g., expenditures for a set of vendor-specific cloud boxes or a software or hardware license.
  • administrative functions move off-site, since there is no local secondary storage or other hardware at a client's site and the software (and any software updates) may be pushed to the client 130 as needed and configured on demand.
  • remote monitoring techniques may be employed to further reduce administrative overhead of operating SaaS systems.
  • FIG. 21 illustrates an example of an arrangement 2102 of resources in a computing network that may provide data storage software as a service.
  • the storage manager 105 and secondary storage computing devices 165 are in the cloud (e.g., separated from the clients 130 by a network, such as a public WAN, like the Internet).
  • the on-premises components need only include one or more data agents 195 and network client agents 255 , which may reside on clients 130 .
  • the arrangement 2102 may permit multiple “tenants” to use a single SAAS system 2102 since the various clients 130 may be associated with different entities (e.g., different companies).
  • Data agents 195 utilize network client agents 255 (including HTTP client subagents) to communicate effectively with the storage manager 105 and secondary storage computing devices 165 via their HTTP subagents located within network agents 235 .
  • the transport mechanism provided between the HTTP client subagent and HTTP subagents may be cloud-aware and cloud-capable.
  • the HTTP client subagent and HTTP subagents may further be configured to work via firewalls and/or to configure firewalls appropriately. Details regarding managing firewall connections may be found in the assignee's U.S. patent application Ser. No. 12/643,653, filed Dec. 21, 2009, entitled Managing Connections in a Data Storage System (Attorney Docket No. 60692-8070US1).
  • data agents 195 may utilize proprietary protocol client subagents configured to facilitate a virtual private network connection running over an HTTPS protocol, or another type of open/secure pipe wrapped in an HTTPS protocol to communicate effectively with storage manager 105 and secondary storage computing devices 165 via their proprietary protocol subagents.
  • media file system agent 240 may comprise one or more cloud storage submodules 236 that permit the media file system agent 240 to open, read, write, close, and delete data files stored on cloud storage sites and/or otherwise direct cloud storage sites to perform data storage operations.
  • an on-premises user controlling only the client 130 may benefit from all or some of the system functionalities described previously (e.g., deduplication, content indexing, searching, archiving of data) and yet remain insulated from the details of maintaining and monitoring the data storage architecture on a day to day basis. Those details may move entirely into the domain of the SaaS provider or other network-based or cloud-based service provider, and explained herein.
  • most or all elements of the system described previously may move into the cloud and be re-configured to allow a cloud storage provider to utilize the system as a data store, such as an object store 2250 shown in FIG. 22 .
  • a large enterprise could also use this system to provide cloud storage and data management to clients within the enterprise and/or outside the enterprise.
  • REST or other web-based interfaces via a web service layer, users can read, write and manipulate data in an object store 2250 .
  • the object store 2250 provides similar functionality to the systems described previously and may provide additional features.
  • An object store 2250 system may provide value-added services such as retention, deduplication, compression, encryption, content indexing and search, and collaborative searching.
  • An object store 2250 may also provide tiered storage and information life cycle management services.
  • the object store 2250 like the systems described previously, may also utilize other cloud storage sites as target cloud storage sites 115 that may be used as additional tiers of storage that provide extensible storage capacity.
  • An operator of the object store 2250 may charge the user of a client 2202 and/or associated entities (e.g., the employer of a user, or another operator or owner of the client 2202 ) on a subscription basis, volume basis, a mixed subscription/volume basis, or another pricing structure. For example, an operator may charge a monthly subscription fee to a company for unlimited uploads and downloads to an object store performed by its associated users or clients, so long as the total amount of data stored within the data store at any time during a month does not exceed a certain limit.
  • entities e.g., the employer of a user, or another operator or owner of the client 2202
  • an operator may charge a monthly subscription fee to a company for unlimited uploads and downloads to an object store performed by its associated users or clients, so long as the total amount of data stored within the data store at any time during a month does not exceed a certain limit.
  • an operator may employ a volume pricing scheme and charge an entity when a user or client that is affiliated with the entity performs various actions using the data store 2250 .
  • the operator may charge an entity a first rate for each unit of data uploaded to the site, and/or a second rate for each unit of data stored in the site for a unit of time (the rate may vary by the type of data cloud storage site used to store the data) and/or a third rate for conducting a content-based search of data stored therein that retrieves information about various objects (e.g., file name, user name, content tags), a fourth rate for conducting a collaborative search operation upon data stored therein, and/or a fifth rate for each unit of data retrieved and/or restored and served back to a client.
  • an operator may charge a flat monthly subscription fee to keep a user's account active and additionally charge one or more volume-based rates when the user performs various actions using data store 2250 .
  • FIG. 22 is a block diagram illustrating components of the object store 2250 .
  • the object store 2250 may comprise a storage manager 105 , one or more object server nodes 2208 , one or more secondary storage computing devices 165 , one or more deduplication databases 297 , and one or more SS indices 261 .
  • An object store 2250 may be communicatively coupled to clients 2202 over a network such as a LAN, MAN, WAN or other network.
  • Clients 2202 may differ from the clients 130 shown in FIG. 1 in that they may not run a dedicated data agent 195 and/or network client agent 255 configured to communicate with the object store 2250 , but instead communicate using existing client-based software components, such as LAN protocols (e.g.
  • An object store is communicatively coupled via its secondary storage computing devices 165 to cloud storage sites 115 , including various cloud storage sites 115 A-N, either via LAN, WAN, etc.
  • each object server node 2208 may comprise an object server agent 2210 , an ingestion database 2212 , and a primary data store 2214 .
  • An object server agent 2210 may be built on Linux for performance and to make it economical to scale the number of object server nodes 2208 as needed.
  • An object server agent 2210 provides a REST interface or other web-based interface to clients 2202 to write, read, retrieve, and manipulate data ingested by the object server node 2208 , and stored therein or in associated secondary cloud storage sites 115 .
  • Each object server agent 2210 exposes one or more sub-clients of an object server node 2208 .
  • Sub-clients are containers on which default storage policy parameters may be set to dictate the handling or management of data within that container. Individual object-level parameters that a user specifies and provides along with a file/object could optionally override these defaults parameters.
  • a number of storage sites can be created, each of which corresponds to a logical point of data ingestion via the REST interface, and may correspond to a particular cloud storage site (e.g., a URL or web directory dedicated to a cloud storage site serving a particular customer or company).
  • Object store 2250 may maintain a system-level (and/or tiered node-level) file system of all data stored within the object store 2250 and/or associated storage devices (cloud storage sites 115 ). However, object store 2250 may expose to each particular client (or a particular customer or company) only the subset of the larger file system that corresponds to the client's objects (or a customer's or company's objects). As described herein, object store 2250 may implement these effectively separate file systems in part by utilizing Access Control Lists and/or Access Control Entries.
  • a cloud vendor who operates an object store 2250 might assign an entire sub-client to a Web 2.0 customer, who in turn might partition it up into several sites and allocate one to each of its customers.
  • More object server nodes 2208 can be added to the system to scale up the capacity of the object store 2250 and its ability to respond to storage operation requests, while still preserving the ability to address any given site's namespace in the same way.
  • the particular object server node 2208 utilized for the storage of a certain file may be chosen on the basis of the file type and/or other characteristics of the file (e.g. the type of application that created the file).
  • certain object server nodes may be specific to types of applications (e.g.
  • various object server agents 2210 and/or various sub-clients within an object server agent 2210 may each be configured to each handle a different type of object; for example, a first object server agent 2210 may be configured to handle documents, a second object server agent 2210 configured to handle email objects, and a third configured to handle media objects, such as image files and video.
  • Object server agents 2210 run a web server (such as an Apache or Microsoft IIS web server) and expose a REST interface or other web-based interface to clients 2202 .
  • the object server agents 2210 provide data ingestion or upload points to the object store 2250 for each storage site within each sub-client. Data ingested from a client 2202 by an object server agent 2208 may be temporarily stored, cached, or spooled on a primary data store 2214 .
  • An ingestion database 2212 records information about each data object ingested by its associated object server node 2208 , such as an associated URI or other token that identifies the particular data object, the sub-client and/or site associated with the object, the client 2202 and/or user associated with the object, the time the object was created within the data store, the location(s) of instance(s) of the data object within a primary data store 2214 and/or cloud storage sites 115 , location(s) of deduplication and/or content indexing information pertaining to the object (e.g., deduplication database(s) 297 or SS indices 261 having related information), metadata (including security metadata), default and/or object-level storage policy parameters (such as parameters affecting retention, security, compression, encryption, and content indexing), and an identifier (e.g., a hash).
  • an associated URI or other token that identifies the particular data object, the sub-client and/or site associated with the object, the client 2202 and/or user associated with the
  • the ingestion database may also store content information within the ingestion database 2212 to provide content indexing capability at the object server node.
  • the ingestion database 2212 schema comprises tables for sites (e.g. registered sites), security (e.g., document or folder-level security information), objects (or documents), document or object versions, document or object version audit information, deleted document or object versions, storage locations, a document or object cache, and/or archFileReferences.
  • the ingestion database 2212 is implemented using PostgreSQL, but other examples utilize Oracle, OpenLink Virtuoso, or a similar database management system.
  • data ingested by the object server agent 2210 may be temporarily stored, cached, or spooled on the primary data store 2214 .
  • an ingestion process at the object server node 2008 may run on a prescribed schedule (according to a schedule policy described previously) to process data stored in primary data store 2214 .
  • the object server node 2208 may form logical groups of data objects and request that a secondary cloud storage computing device 165 copy or migrate each logical group of data objects into an archive file or other type of secondary storage format via a secondary storage computing device 165 ; each data object in the group is stored in association with related metadata (including Access Control List data and/or other security-related data).
  • Logical groups typically comprise objects having similar retention policies (e.g., similar secondary storage media requirements, similar retention times) and/or similar object types (e.g., all objects in the group are emails; all objects were created using the same application).
  • Logical groups may be formed by applying additional and/or different criteria, such as groups reflecting specific ingestion site(s), user(s) associated with the object, or a company or entity associated with the object.
  • Logical groupings may also be based on policy parameters provided by a client or customer of the object store.
  • a customer of the object store may provide policy parameters that dictate the logical groupings used. For example a customer might specify that they want a new logical grouping for each back-up cycle performed on their data.
  • an object server node 2208 may divide objects into sub-objects (as described previously), form logical groups of data sub-objects, and copy or migrate logical groups of data sub-objects.
  • an object server node 2208 may query an ingestion database 2212 to identify all recently ingested email objects currently stored in primary data store 2214 .
  • Object server node 2209 may then request a secondary storage computing device 165 to process this group of email objects into an archive file stored on a particular cloud storage site 115 .
  • an object server node 2208 may query ingestion database 2212 to identify all recently ingested objects that are to be stored for 7 years on high-quality tape storage.
  • Object server node 2208 may then request a secondary storage computing device 165 to process this group of objects into an archive file stored on a cloud storage site 115 that provides suitable tape storage.
  • an object server node 2208 may form a logical group that includes data objects from various clients 2202 , each of whom may utilize a different cloud storage site and/or may be affiliated with different entities.
  • clients 2202 A 1 , 2202 A 2 are affiliated with a Company A and both utilize a first storage site on a first sub-client of a first object server node 2208 .
  • Clients 2202 B 1 and 2202 B 2 are affiliated with a Company B and both utilize a second storage site also hosted on the first sub-client of the first object server node 2208 .
  • email objects ingested from all four of these clients may be commingled in a logical group and then stored in a commingled fashion within a single archival tape file scheduled for a one year retention period.
  • the only email objects from these clients that would not be so stored are individual email objects that are associated with different user-specified storage policy parameters (e.g., if a user specified that emails related to or from the finance department should be stored in cloud storage (not tape) and/or stored for a 7 year retention period (not a 1 year period)).
  • a secondary storage computing device 165 when a secondary storage computing device 165 receives a request to process a logical group of data objects and the metadata associated with these objects, it may handle the request in accordance with the process of FIG. 3B . That is, the secondary storage computing device 165 may content index each object in the group, perform object-level, sub-object level and/or block-level deduplication on the group, and/or encrypt the data and metadata. As a result of the processing, the secondary storage computing device 165 will also store each of the various objects in logical association with its related metadata (including ACL or other security metadata).
  • the secondary storage computing device 165 may build indexing information within a content index or another index (e.g., SS index 261 ) and/or deduplication information (e.g., within deduplication database 297 ).
  • indexing information within a content index or another index (e.g., SS index 261 ) and/or deduplication information (e.g., within deduplication database 297 ).
  • the system may efficiently prune or eliminate data from the object store 2250 and/or more efficiently perform ILM within the Object store 2250 , since the various objects within each archival file may have similar dates for deletion or migration.
  • the secondary storage computing device 165 may perform lookups on one, some, or all of the deduplication databases 297 within the object store 2250 .
  • a secondary storage computing device 165 only performs lookups on one deduplication database 297 , which may decrease the time required for deduplication (and/or pruning and/or data restoration) but increase the volume of data stored within the data store.
  • a secondary storage computing device 165 performs lookups on all deduplication databases 297 within an object store 2250 , which may increase the time required for deduplication (and/or pruning and/or object restoration) but decrease the volume of data stored within the data store.
  • deduplication of data objects in a logical group may occur across clients 2202 and/or across various companies.
  • client 2202 A 1 and client 2202 B 2 both receive a particular email message and associated large attachment
  • secondary cloud storage site 165 may store only one instance of the email data object and attachment (although it stores and associates the instance with two different sets of metadata, one set for client 2202 A 1 and one set for client 2202 B 2 ).
  • the system can realized greater deduplication over what either client would realize individually.
  • the system will not necessarily delete the physical copy of the shared object (or sub-object or block). Instead, the system may simply update one or more indices or databases such as a deduplication database (e.g., by removing a link, URL or other pointer to a physical copy), delete the file name from a file allocation table (FAT) or similar file system data structure, etc. In this way the client or customer who “deleted” the object no longer has access to the object and no longer sees the object as part of the file system that is exposed to them by the object store.
  • a deduplication database e.g., by removing a link, URL or other pointer to a physical copy
  • FAT file allocation table
  • a deduplication module 299 on a secondary storage computing device 165 might detect an instance of the object in a deduplication database 297 .
  • the system may alternatively determine that the first version, while identical, is too old and could have been stored on storage medium that may be degrading, and thus the system may store the second version it receives years later.
  • a media file system agent 240 when a media file system agent 240 performs the process shown in FIG. 3B it will typically result in the storage of one or more aggregated or containerized archive files.
  • the individual data objects of a logical group are not stored as individual files on a file system of a cloud storage site 115 .
  • the object store 2250 may thus reduce the limitations posed by file system scalability by reducing the strain on the namespace of the object store 2250 .
  • the generation of these archive files also generates catalogs (e.g., deduplication databases 297 , SS indices 261 , and/or other information) that makes it easier to access, search for, retrieve, or restore a single object even from the aggregated archive form.
  • an object server node 2208 may serve it a unique Universal Resource Identifier (“URI”) or token that points to or identifies the object, which the client 2202 or application may store locally on the client side.
  • This token or URI may be globally unique to all objects within the object store 2250 . Alternatively, it may be unique with respect to all objects stored by a single client 2202 , ingested by a particular object server node 2208 , sub-client and/or site, and/or unique with respect to another factor. In this way, the URI in conjunction with other information (e.g., a user's login information) may still uniquely identify a particular data object.
  • an object store can optionally generate a unique identifier such as a hash (or probabilistically unique identifier) using a particular identifier-generation algorithm for each data object ingested and return that identifier to a calling application on a client 2202 at the time of ingestion.
  • a client-side application can use the same identifier-generated algorithm to compute a hash for the retrieved object. If this newly computed identifier matched the identifier returned during ingestion, it would assure the client that the data object had not been modified since it was originally ingested.
  • an object store 2250 may run similar periodic data verification processes within the object store 2250 asynchronously to ensure the integrity of the data stored therein. Further details may be found in the assignee's U.S. Patent Publication No. 2009-0319534, filed Jun. 24, 2008, entitled APPLICATION-AWARE AND REMOTE SINGLE INSTANCE DATA MANAGEMENT (Attorney Docket No. 60692-8057US).
  • data objects may be ingested inline into multiple archive files on separate object server nodes 2208 (for redundancy or other reasons).
  • geographically separate replication may be configured per cloud storage site, which allows the system to serve up objects from a remote location (which may include continuous data replication technology), for fault tolerance (because separate power grids, long-haul communication links, etc. would be used), etc.
  • An object store 2250 may also optionally make a copy of data on removable media such as tape to enable secure offline storage. Alternatively or additionally, an object store may make secondary disk copies to disaster recovery (DR) locations using auxiliary copy or replication technologies as noted herein.
  • DR disaster recovery
  • Each site within an object store 2250 may be protected via security policies that limit which users or clients 2202 have access to the site (and/or to particular objects stored within the site).
  • a system may include mechanisms to permit authentication (e.g., by the use of registered username and password combinations and/or similar known authentication methods).
  • a system may also enable customers to specify and store access privileges, including privileges for object access within the object store 2250 .
  • user-level security and other metadata may be provided and stored along with the object.
  • an object may be stored with a provided ACL containing Access Control Entries (“ACE”).
  • An ACL contains a list of users and/or groups that are allowed to access a data object, type of data object, or resource containing a data object.
  • Each ACE may specify a user, group, or other entity that has access to the data object associated with the ACL.
  • an ACL may contain a list of users or groups that are specifically denied access to a data object.
  • the object store 2250 may access and parse an ACL and any associated ACEs or other security data related to the data object to determine whether the user has the appropriate access level to access the object or its related information. Further details on such security and access control may be found in the assignee's U.S. Patent Publication No. 2008-0243855, filed Mar. 28, 2008, entitled SYSTEM AND METHOD FOR STORAGE OPERATION ACCESS SECURITY (Attorney Docket No. 60692-8042US1).
  • the client may present a URI (or other token) back to the object server node 2208 .
  • the object server e.g., via the object server agent 2210 ) may parse the ACL or other security information to confirm that returning the object (or providing other information) is in conformance with the object's security settings and/or previously defined policies stored in the storage manager.
  • the object store 2250 ensures sufficient privacy between various clients 2202 A 1 , despite the fact that their objects may be commingled in the primary data store 2214 and cloud storage sites 115 .
  • a web-based portal may be provided by the object store to readily allow a user to authenticate interactively and browse, view, and restore their data as well.
  • a web-based portal may permit a user to log on to the system, and may then present a user with an interface that presents to them various data objects associated with the user. For example, it may present objects that were ingested from the user's client 2202 , and/or objects ingested from some clients from the user's entity, and/or objects associated with a collaborative search in which the user is a participant.
  • the interactive interface will also support search capabilities, end-user tagging of data, and the ability to classify data into folders (“review sets”) for future reference.
  • Data indexing capabilities may be incorporated into an object store 2250 to permit policy-based searches of content or other information relating to data objects, that have been indexed. Such data indexing and classification permits the object store 2250 to offer “active management” of the data to an administrator of the system. For example, an administrator can define the actions to be performed on data based on criteria pertaining to the data—e.g., tag, check into an ECM system, restore into a review set for a knowledge worker to review later, etc. In one example, indexing capabilities may also permit users to conduct collaborative searching and collaborative document management of objects within the object store 2250 as described previously.
  • an object store 2250 may avoid the system costs associated with uploading and storing an unnecessarily duplicative copy of an object during a data storage request by a client 2202 .
  • FIG. 23 shows a first process 2300 for managing a request to store an object within an object store 2250 , including apportioning the storage cost of the object. The process 2300 may result when a calling application on a client 2202 requests that an object server agent 2210 store a particular object.
  • the process 2300 begins in block 2305 where an object server node 2208 receives an identifier (e.g., a token, URI or hash) for an object and metadata associated with the object (including, e.g., object-level security, content tags, and/or storage policy parameters).
  • an identifier e.g., a token, URI or hash
  • metadata associated with the object including, e.g., object-level security, content tags, and/or storage policy parameters.
  • a calling application on the client 2202 may generate a hash identifier for an object and send that identifier to object store 2250 along with metadata.
  • the object server node 2208 performs a lookup of the received identifier in one or more deduplication database(s) 297 to ascertain whether the object has already been ingested and processed by object store 2250 (or ingested or processed by particular object server node(s) 2208 , particular storage site(s), or particular secondary storage computing device(s) 165 , such as those secondary storage computing device(s) 165 associated with a particular object server node 2208 ).
  • an object server node 2208 performs a lookup of the received identifier in one or more ingestion databases 2212 within data store 2250 to ascertain whether the object has already been ingested by object store 2250 (or ingested by particular object server node(s) 2208 , particular sub-client(s), or particular storage site(s)).
  • the object server node sends the received identifier to one or more cloud storage sites to see if a copy of the object has already been stored therein.
  • the system uses the information acquired at block 2310 to determine if the system currently has the object stored in a manner that is consistent with the storage policy parameters applicable to the object. If it does, the process proceeds to block 2355 , otherwise it proceeds to block 2320 . For example, if the system has only one copy of the object stored in tape storage, but the calling application on the client 2202 has specified that the object should be stored on disk storage, the process may proceed to block 2320 .
  • the object server node 2208 updates deduplication database 297 to reflect how the new request refers to previously stored blocks. For example, the system may increase reference counts in a primary block table and may add additional entries to a secondary block table within deduplication database 297 to reflect how the new request refers to previously stored blocks. In some implementations, the system may additionally or alternatively update an object-level deduplication database 297 (e.g., by incrementing an object-level reference count in an object-level index within the deduplication database).
  • the object store 2250 may not request a new copy of the object, saving the time and system cost associated with uploading the object anew, and may instead simply update a deduplication database 297 .
  • the object store may add a link or URL to a previously stored copy in the deduplication database 297 and/or elsewhere. The process then proceeds to block 2325 .
  • object server node 2208 requests the object from client 2202 . If object server node 2208 has not already received metadata, it also requests metadata from client 2202 at block 2320 . The process then proceeds to block 2325 . Alternatively, if at decision block 2315 , the object server node 2208 determines that the object store 2250 currently has the object in storage, but it is stored in a manner that is inconsistent with applicable storage policy parameters, object server node 2208 may instead retrieve or request a copy of the object from another system component (e.g., a primary data store 2214 or a cloud storage site 115 ) and if necessary, request metadata from client 2202 .
  • another system component e.g., a primary data store 2214 or a cloud storage site 115
  • the system stores these in the primary data store 2214 .
  • the system may store one or more pointers, links, or references to the object and/or its constituent blocks (e.g., a pointer to a dehydrated instance of the object within object store 2250 or cloud storage site 115 , or a pointer or reference to an entry in a deduplication database 297 ) in the primary data store 2214 instead of storing a copy of the object.
  • an object server node 2208 may also generate a URI for the object, update an ingestion database 2212 to reflect information about data object (as described previously), and may return a URI or other token to client 2202 . Additionally or alternatively, an object server node 2008 may also generate and return an identifier (e.g., a hash) for the object to provide later validation to the client 2202 . Object server node 2208 may also store an identifier for the object in ingestion database 2212 and/or deduplication database 297 .
  • object server node 2208 may associate the object (and its metadata) with a logical group of objects (logical groupings are described further herein). Object server node 2208 may further request a secondary storage computing device 165 to process the logical group by copying or migrating each logical group of data objects into a compressed, deduplicated or “dehydrated” archive file that may employ data structures such as those shown in FIGS. 5 and 8 .
  • a secondary storage computing device 165 performs content indexing of the object in the manner described previously with respect to FIG. 10 .
  • a secondary storage computing device 165 performs deduplication of the object using one or more of the deduplication methods and data structures described previously.
  • deduplication may be file or block-level deduplication.
  • the deduplication may be object-level or sub-object level deduplication.
  • the system may perform lookups on or otherwise examine one, several, or all deduplication databases 297 within object store 2250 to determine the number of instances of the object that are currently stored and/or the number of instances of each block in the object that are current stored.
  • a deduplication process only utilizes deduplication databases 297 associated with the same object server node 2208 that received or ingested the object.
  • a deduplication database 297 is associated with an object server node 2208 if the deduplication database has any entries reflecting a storage operation initiated by the same object server node 2208 .
  • the system stores a dehydrated form of the object within an archive file, which may also comprise data relating to any or all of the objects in the logical group.
  • an archive file may also comprise data relating to any or all of the objects in the logical group.
  • the precise dehydrated form of an object within an archive file will depend on the type of deduplication performed and whether some or all of the object's content had previously been stored. For example, if block-level deduplication is performed upon the object and a prior instance of the object was already appropriately archived, the dehydrated form of the object may be represented within the archive file by metadata and one or more pointers or similar references.
  • the object store may store in a container file, a link, URL or other pointer to a previously stored copy.
  • the dehydrated form of the object within the archive file may comprise metadata, pointers/references to some blocks stored previously, and new copies of some other blocks within the object.
  • the system may apportion the cost of storing the object between one or more clients or their related entities. Stated conversely, at block 2360 , the system may attempt to apportion any cost savings resulting from the avoidance of unnecessary storage within the data store and/or unnecessary uploads to the object store 2250 . For example, if two different clients 2202 from two different companies both request that an object store 2250 provide storage of the same data object, the two companies may receive adjusted pricing for their requests to reflect the cost savings realized by the system during deduplication. As described previously with respect to FIG.
  • the deduplication at block 2340 may reduce the amount of data needed to process a new request to store the same data object.
  • block 2340 may reduce the amount of data storage needed to accommodate a storage request.
  • the system avoids the cost of receiving the data object (e.g., ingestion bandwidth of an object server agent 2210 used and/or the system resources needed to transfer the object into and out of a primary data store 2214 ).
  • the system may utilize or mine the data stored in deduplication databases 297 , SS index 261 , management index 211 , and/or ingestion databases 2212 .
  • these databases correlate client 2202 information with data ingested into and stored by the object store 2250 , such as the time of creation, deduplication information, deletion dates, and storage locations.
  • the system may use these databases to determine which storage requests initiated by a particular client 2202 were processed via direct ingestion of an object from the client 2202 , in contrast to those storage requests initiated by the client that were able to utilize previously stored instances of an object or some of its blocks. Such a determination permits the system to determine where cost savings have occurred.
  • the system may utilize a sliding ratio that is selected using criteria such as the size of a shared data object, the quantity and/or quality of total data stored on the object store by a particular company or client, the terms of a service contract or agreement between a particular company and an operator of an object store, the storage policy for the company, and/or any other suitable criteria.
  • a first client 2202 A associated with a first company uploads a new object to an object store 2250
  • a second client 2202 C associated with a second company sends an identifier (hash) of the same object to the object store and requests storage of that object.
  • a second upload of the object itself may be avoided (i.e., the process of FIG. 23 proceeds to block 2355 ) and a second copy of the object within the object store 2250 may be avoided.
  • the system may initially charge the first company a first non discounted rate for the upload of the object (e.g., a rate based on its size) and a second non discounted rate for the storage of that object (e.g., a rate based on the object's size and the duration and quality of storage used to store it).
  • the system may charge the second company a third discounted rate for their requested upload of the object (e.g., a rate based on its size) and a fourth discounted rate for the storage of that object (e.g., a rate based on the object's size and the duration and quality of storage used to store it).
  • the first company may receive a credit or rebate to its account to reflect some or all of the cost savings realized from avoiding a second upload; this credit or rebate may be for an amount that is different from (e.g. less than) the second client's third rate.
  • this credit or rebate may be for an amount that is different from (e.g. less than) the second client's third rate.
  • the second client requests storage, so long as both the first and second clients have effective access to the data object (e.g., their “virtual copy” of the object has not been eliminated due to a retention policy and the client has not requested its deletion), one or both companies may receive a discounted or reduced storage rate. For example, the first company may receive a storage rate lower than the second non-discounted rate that was originally charged.
  • a first client 2202 A associated with a first company uploads a first object that is new to the object store 2250 , and later a second client 2202 C associated with a second company sends an identifier (e.g., a hash) of a similar second object and requests storage of the object.
  • a second object is similar to a first object if it shares one or more blocks in common with the first object.
  • a second upload of the object itself is not avoided (e.g., the process proceeds to block 2320 ), since the two objects have different identifiers.
  • block-level deduplication may reduce the amount of new data needed to store the second object.
  • the second client After the second client requests storage, so long as both clients have effective access to the common blocks (e.g., their “virtual copy” of the blocks has not been eliminated due to retention policies and the client has not requested deletion), one or both of the two companies may receive a reduced storage rate for the common blocks.
  • cost apportionment is not tied to a particular storage request, but rather occurs in an aggregated way.
  • the system may periodically (e.g., monthly) determine what percentage of blocks uploaded directly from a first company's clients 2202 are referenced by another company's deduplication database entries. The system might then provide a rebate to the first company's account, offer lower rates to the first company for another future period (e.g., the next month), apportion costs that month between the two companies so that each company's bill is less that what it would have been if each had stored its own copy, etc.
  • an object store 2250 may avoid the system costs associated with uploading and storing unnecessary duplicate copies of data blocks when processing a data storage request by a client 2202 .
  • FIG. 24 shows a second process 2400 for managing a request to store an object within an object store 2250 , including apportioning the storage cost of the object.
  • the process 2400 of FIG. 24 is similar to process 2300 of FIG. 23 , however, in process 2400 , the system may avoid the costs associated with uploading redundant blocks, not just redundant objects, by performing block-level deduplication at substantially the same time as data ingestion.
  • the system may cache or store a logical group of objects in an archive file stored in the primary data store 2214 that reflects a dehydrated form of the objects (i.e., an archive file that utilizes data structures similar to those shown in FIGS. 5 and 8 ). Later, during a scheduled ingestion process, the archive file may be transferred or copied to one or more secondary cloud storage sites 115 .
  • an archive file may comprise one or more volume folders 802 that further comprise one or more chunk files 804 , 805 .
  • the chunk folders may further comprise one or more of each of the following: metadata files 806 , metadata index files 808 , container files 810 , 811 , and container index files 812 .
  • the process 2400 begins at block 2405 , where the system receives object metadata, identifies a logical group, and identifies an archive file for storing a dehydrated form of the object.
  • the system may identify a logical group for the object by using the received metadata (e.g., reflecting the type of object, the storage policy parameters, and/or security information), and/or other information (e.g., the identity of the client 2202 making the storage request) to identify a logical group of objects having similar storage policy parameters, similar object types, and/or other similarities.
  • the system identifies an archive file utilized by the system to store the logical group in a dehydrated form.
  • the archive file may be located in primary data store 2214 or on a secondary cloud storage site 115 . If a suitable archive file does not already exist in primary data store 2214 (e.g., because archive files were recently migrated from primary data store 2214 to secondary cloud storage sites 115 ), the system may create a new archive file in primary data store 2214 for the logical group. Alternatively, the system may create a new archive file in a secondary cloud storage site 115 for the logical group.
  • the system receives an object identifier and performs a lookup of the object in deduplication database(s) 297 to determine whether the object store 2250 already has a copy of the object appropriately stored within the object store. Blocks 2407 - 2415 are performed in the same manner as blocks 2305 - 2315 described previously with respect to FIG. 23 . If optional blocks 2407 - 2415 are not performed, the process 2400 proceeds directly to block 2435 .
  • the system updates one or more deduplication databases 297 to reflect how the identified archive file refers to previously stored blocks. For example, the system may increase reference counts in a primary block table. As another example, the system may add additional entries to a secondary block table within deduplication database 297 . For example, if a cloud storage site already has a copy of an object stored therein, at step 2415 , the object store may add in a deduplication database 297 and/or elsewhere, links or URLs to previously stored blocks. At block 2425 , the system may content index the object.
  • the system may associate the new storage request with content indexing information previously derived and/or associate the new storage request with metadata provided.
  • the system may restore all or part of the data object using the processes described previously and content index a restored data object and/or a restored portion of the data object.
  • the system may store some or all of the content index information in the SS index 261 and/or ingestion database 2212 . The process then proceeds to block 2430 .
  • the system updates the identified archive file to reflect the storage request.
  • the system may (1) add the received metadata to a metadata file (2) add links, references, or pointers within the metadata file that point or refer to previously stored blocks, and (3) update a metadata index file. If all of the blocks in the object were previously stored in an appropriate manner, the system may not need to add any additional blocks to a container file. For example, if a cloud storage site already has a copy of an object stored therein, at step 2345 , the object store may store in a metadata file, metadata index file, or another container file, links or URLs to previously stored blocks.
  • the process proceeds to the loop shown at block 2450 , where the system performs blocks 2440 - 2470 for each block within the object.
  • the system receives a block identifier.
  • the system determines if the system already has an appropriately stored copy of the block by querying one or more deduplication databases 297 .
  • the system may perform lookups on or otherwise examine one, several, or all deduplication databases 297 within object store 2250 to determine the number of instances of the block that are appropriately stored.
  • the system sends the received block identifier to one or more cloud storage sites to see if a copy of the block has already been stored therein.
  • the scope of block-level deduplication within an object store 2250 may be limited or broadened.
  • the system at block 2450 updates deduplication databases 297 to associate the current storage request with that block. For example, the system may increment a reference count in a primary block table and add an additional entry to a secondary block table.
  • the process then continues to block 2455 , where the system updates the identified archive file by (1) adding received metadata to a metadata file and/or (2) adding a link, reference, or pointer within the metadata file that points or refers to a previously stored copy of the block. For example, if a cloud storage site already has a copy of a block stored therein, at step 2325 , the object store may add in a metadata file or another container file, a link or URL to a previously stored copy. The process then proceeds to decision block 2470 .
  • the system proceeds to block 2460 , where the system requests a copy of the block from the client 2202 .
  • the system stores the block in a container file within the identified archive file and otherwise updates the archive file. For example, the system may update a metadata file 806 with a link to the newly stored block and with received metadata.
  • the system may further update deduplication databases 297 by adding a new entry to a primary block table and/or adding an additional entry to a secondary block table.
  • the sub-process of blocks 2440 - 2465 repeats so long as there are additional blocks within the object that require processing by the system.
  • the process 2400 then proceeds to block 2475 , where the system content indexes the object.
  • the system may simply index the object using received metadata (e.g., using content tags provided as metadata by a user).
  • the system may restore all or part of the data object using the processes described previously and content index a restored data object and/or a restored portion of the data object.
  • the system may store some or all of the index information in the SS index 261 and/or ingestion database 2212 before proceeding to block 2480 .
  • the system updates ingestion database 2212 to reflect the processed storage request and received metadata, and returns a URI to the requesting client 2202 .
  • the system may apportion costs among clients or their related entities in a manner similar to that described previously with respect to FIG. 23 .
  • the system may utilize a sliding ratio that is selected using criteria such as the size of a shared data object/block, the quantity and/or quality of total data stored on the object store by a particular company or client, the terms of a service contract or agreement between a particular company and an operator of an object store, storage policy requirements, and/or any other suitable criteria.
  • a first client 2202 A associated with a first company uploads a first object that is new to the object store 2250
  • a second client 2202 C associated with a second company sends an identifier (e.g., a hash) of a similar second object and requests storage of the object.
  • the second object is similar to a first object because it shares a set of blocks in common with the first object.
  • block-level deduplication e.g., at blocks 2440 - 2465
  • the system may initially charge the first company a non discounted first rate for both the upload of the object (e.g., based on its size) and a non discounted second rate for the storage of that object (e.g., based on the object's size and the duration and quality of storage used to store it).
  • the system may charge the second company a reduced third rate for its request to upload the object to reflect cost savings realized by avoiding a second upload of common blocks.
  • the first company may receive a credit or rebate to its account to reflect some or all of the cost savings realized from avoiding a second upload; this credit or rebate may be for an amount that is different from the second client's third rate or discount.
  • the second client After the second client requests storage of the second object, so long as both clients have effective access to the common blocks (e.g., their “virtual copy” of the common blocks has not been eliminated due to retention policies and the client has not requested deletion of an associated object), one or both of the two companies may receive a reduced storage rate for the common blocks.
  • FIG. 27 is a flow diagram illustrating a process 2700 for identifying suitable storage locations for a set of data objects subject to a storage policy.
  • Process 2700 may be performed by the systems of FIGS. 1 , 2 , 15 , 16 , 21 , and 22 and/or other suitable systems.
  • the process 2700 begins at block 2705 when the system accesses the storage policy applicable to the set of data objects.
  • This storage policy may define different classes of storage devices 115 .
  • the storage policy might define “first-class storage” as any local storage device having magnetic disk or otherwise faster-access storage media and a first cloud storage site that satisfies certain criteria (e.g., has high bandwidth for faster uploads and/or downloads and/or utilizes RAID or similar methods that improve the fault-tolerance of the site), and “second-class storage” as a second cloud storage site that may have greater latencies or lower fault-tolerance and any local storage device having magnetic tape or otherwise slower data storage.
  • the storage policy may also define different categories of data objects (e.g. functional categories such as email objects, audio objects, video objects, database objects, document objects, etc.) and may require different classes of storage for each.
  • the system logically groups the various data objects and determines the storage requirements of each group.
  • the system groups the set of data objects so that each group requires a particular class of storage.
  • the system may group the various data objects by any other logical grouping such as groups based around functional categories, or to improve the possibility of realizing deduplication benefits.
  • the particular grouping used by the system will be chosen to conform to the storage policy. Logical groupings are described in greater detail herein.
  • the system may first utilize the storage policy and the management light index 245 , the management index 211 , the SS index 261 , the SS light index 247 , deduplication database 297 and/or metabase 270 to determine the number of bytes, kilobytes, gigabytes, terabytes or similar units required to store each individual data object, and any other requirements necessary to conform to the storage policy. For example, the system might determine that a particular data object requires 25 megabytes of first-class storage. The system may next determine the aggregate storage requirements for each group of data objects.
  • the system may determine that a first group of data objects requires an aggregate 200 gigabytes of first-class storage and a second group of data objects requires an aggregate 450 gigabytes of second-class storage.
  • the aggregate storage requirements determined by the system may reflect the effect of deduplication; for example, the system may utilize deduplication database 297 to determine the size of an archive file created in part by block-level deduplication.
  • the system then performs blocks 2712 - 2740 for each group of data objects to determine the appropriate storage location of the various data objects in the group.
  • the system identifies the storage devices 115 (including cloud storage sites 115 A-N) that may be suitably employed to store the group of data objects.
  • the system may access storage device class definitions in the storage policy.
  • the system may also access data regarding storage devices 115 stored in the management index 211 , secondary storage computing devices 265 and/or storage devices 115 . For example, if the group of data objects requires first-class storage, the system may query the management index 211 to determine which local magnetic storage devices 115 have sufficient storage capacity to accommodate the group of data objects.
  • the system may transmit a request for quotes to candidate cloud storage sites (which may be operated by independent organizations) identified at block 2712 (or other appropriate types of data storage service providers accessible via the network). To do so, the system may initiate communications via the network agent 235 . For example, the system will request a quote from each cloud storage site by initiating an HTTP connection with the cloud storage site and sending the request via one or more HTTP messages.
  • This request for quotes may include information such as: the amount of storage space required, a unique identifier associated with the request, an identifier associated with a prior request made or a quote received from the site (e.g., in the case of a counter offer), information that identifies the system making the request (or identifies a related entity, such as a billing party), how the data will be accessed once stored or how often (i.e., accessibility of data, including desired data transfer rates), a suggested or required upload time window or deadline, estimated storage lifetime of the objects, suggested pricing rate(s), the type of storage medium desired (e.g., tape or optical or magnetic media), maximum pricing rate(s), suggested download, upload, and/or storage pricing rates (and/or a promotional code or similar indicator of a pricing rate package), and/or any other information suitable for requesting a storage quote.
  • information that identifies the system making the request or identifies a related entity, such as a billing party
  • how the data will be accessed once stored or how often i.
  • the system may obtain estimated storage costs for one or more cloud storage sites by sending similar requests for quotes to one or more third-party sites that provide binding, non-binding and/or informational storage quotes (e.g., a website operated by a data storage dealer-broker or a site that aggregates information regarding cloud storage costs).
  • the format and content of the request may be customized to each site and may be dictated by an API set utilized by a particular cloud storage or third-party site.
  • the system may estimate the storage costs for a candidate cloud storage site by accessing historical, projected or other cost information stored within the storage manager 105 or elsewhere in the storage operation cell 150 .
  • the system may receive one or more quotes from one or more cloud storage and/or third-party sites.
  • the system may receive no quote, a single quote, or several quotes covering various storage options.
  • Each quote may include information such as: one or more pricing rates, the accessibility of stored data, identifiers or tokens associated with the quote, time windows during which data may be transmitted or retrieved, an acceptance window during which the quote would be honored by the site, etc.
  • the quote may provide various pricing rates for different types of data operations.
  • the quote may specify a first rate for an initial upload to the site, a second rate for downloads from the site, and a third rate for searching or accessing the data, a fourth rate for continued storage and maintenance of the data on the site (e.g., a rate charged for each gigabyte stored per month), maximum storage space allotted, maximum or minimum storage lifetime; and so forth.
  • the format and content of the quote may be different for each cloud storage or third-party site and may be dictated by an API set (or similar) utilized by a particular cloud storage or third-party site.
  • the system may perform additional blocks, such as data extraction, to create a uniform set of data for all of the received quotes.
  • the system may access other historical or projected data pertaining to storage device candidates, including optical, tape or magnetic disk storage device candidates located locally within the storage operation cell 150 .
  • the system may access historical or projected operating costs of each candidate that may be stored in management index 211 , secondary storage computing devices 265 , or elsewhere in the storage operation cell 150 .
  • the system may access data relating to: current or projected power consumption, current or projected power rates, acquisition cost of the storage devices, mean operating time, mean repair time, mean data access rates, or similar performance and cost metrics that may be stored in the management index 211 , secondary storage computing devices 265 or elsewhere.
  • the system may evaluate the cost of storing the group of data objects on some or all of the storage device candidates (the “storage cost”).
  • the storage cost associated with a particular storage device may refer simply to the estimated monetary expense associated with uploading the group of data objects to the storage device and/or maintaining it there for its estimated lifetime (or other time period).
  • the “storage cost” of a certain storage device candidate may refer more generally to the value of a numerical cost function that may take into account several variables.
  • cost function variables include: historical or projected information pertaining to storage device candidates; any quoted pricing rates; the amount of storage required; the network load associated with uploading and/or downloading the data to a site; projected data access costs; other accessibility metrics; site reliability, quality or reputation; geographical location of a candidate; mean operating time; mean repair time; mean data access rates; or similar performance and cost metrics. Some of these variables may be a single value variable, still others may be set or matrix variables.
  • the system may evaluate or calculate one or more storage related metrics as described in the commonly assigned U.S. patent application Ser. No.
  • the system may evaluate a cost function as follows. First, the system may mathematically transform the cost function variables to create a second set of intermediate variables (e.g., to normalize the variables). Each variable may be subjected to a different transformation.
  • the transformations may be a linear transformation (including an identity transformation) or non-linear transformation.
  • the transformations may also be invertible or non-invertible transformations. Non-exhaustive examples of transformations include:
  • the system evaluates the same cost function for each storage device candidate and each group of data objects.
  • the system may utilize different cost functions for different groups of data objects.
  • the system may utilize different cost functions for different types of storage devices (e.g., there may be one cost function for optical media devices, another for tape media devices, and yet another for cloud storage sites).
  • the cost function(s) and their associations with particular groups or storage media types may be defined in the storage policy or elsewhere.
  • the system compares the costs associated with the various candidate storage devices. For example, the system compares these various costs to identify one or more candidates (“identified devices” or “sites”) having an associated cost that is lower than the other candidates. If more than one storage site is identified, the system may divide the group of data into one or more subgroups, and associate each with an identified site. However, in some embodiments, the system may also compare these costs to make other types of determinations. For example, the system may select identified sites using criteria other than minimizing associated cost. As another example, the system may compare the costs to ensure that at least one candidate satisfies a particular criteria, such having an associated cost that falls below a specified maximum value (that may be defined in the storage policy).
  • the system may repeat some or all of blocks 2710 - 2735 using different quote parameters, different groupings, and/or different cost functions and/or may take other actions such as notifying an administrator.
  • the system may repeat block 2715 by making another round of quote requests to some cloud storage sites that includes lower suggested or maximum rates (counteroffers to the first set of quotes).
  • the system may transmit instructions to the jobs agent 220 (or other component) regarding the identified storage location of the group of data objects (or if the group has been subdivided, the identified storage location of each subgroup of data objects). For example, the system transmits instructions to the jobs agent 220 to migrate or transfer the data objects of the group or subgroup to its identified storage location. In some embodiments, the system may also transmit other information to the jobs agent 220 regarding the migration/transfer of the data objects. For example, the system may transmit a token or other identifier associated with a winning quote and/or may transmit information regarding the schedule of data migration/transfer. In some embodiments, the system may instead instruct a secondary storage computing device 265 or other system component regarding the identified storage location of a group or subgroup of data objects.
  • FIG. 28 is a flow diagram illustrating a process 2800 for scheduling cloud storage requests received from auction clients; the process 2800 may be performed by an auction service component (not shown) forming part of a cloud storage site 115 A-N or any other suitable system (e.g., a component of a cloud storage brokerage site).
  • An auction client may be a component of a storage manager 105 , a secondary storage computing device 165 , or any other device seeking cloud storage.
  • the process refers to requests for an upload of data from an auction client (or related device) to a cloud storage site 115 A-N; however, auction clients may make requests for any type of cloud storage operation that requires system resources from a cloud storage site (e.g., downloading data or searching the contents of stored data).
  • the auction service evaluates requests from auction clients to upload data to the cloud storage site.
  • the auction service may respond to some or all auction clients with a quote for their requested upload (“a quoted job”). Those requests that do not receive a quote in response may be queued for additional evaluation later (“queued requests”). If a quote is accepted by an auction client, the upload may be added to a list of “scheduled jobs.” Once a job is scheduled, other components within the cloud storage site (e.g., file servers) may accept the associated upload during its scheduled upload window.
  • the process 2800 begins at block 2805 , when the auction service determines the current system capacity and applicable quotation policies.
  • auction service may access capacity policies, scheduled or quoted jobs, queued requests, quotation policies, and/or other information about system capacity and pricing.
  • a “capacity policy” is generally a data structure or other information source that includes a set of preferences and other criteria associated with allocating system resources. The preferences and criteria may include, the system resources (e.g., data transfer volume or bandwidth) available for auction during specified periods, scheduled maintenance windows, and the current storage capacity available on particular servers or devices.
  • the auction service may also determine the system resources required for jobs already scheduled or quoted. Using this information, the auction service may determine the available system resources available for providing new quotations.
  • the auction service may also access a quotation policy.
  • a “quotation policy” is generally a data structure or other information source that includes a set of preferences and other criteria associated with generating a quote in response to auction client requests. The preferences and criteria may include, but are not limited to: a revenue function; a pricing function; pricing rate tables; codes and schedules associated with marketing promotions; a list of preferred and/or disfavored auction clients; current system capacity; classes or quality of storage; retention policies; upload time periods; data characteristics; compression or encryption requirements; the estimated or historic cost of storage, including the cost of power.
  • a “revenue function” is generally a description of how the auction service may numerically evaluate the projected revenue (and/or other benefits) that would be generated by one or more auction client requests.
  • a “pricing function” is generally a description of how the auction service may generate the various values (e.g., pricing rates) associated with a responsive quote.
  • the auction service may receive one or more new requests from auction clients seeking cloud storage.
  • the request may include various information such as: a unique identifier that the auction client has associated with the request; an identifier associated with a prior request made or a quote received from the site (e.g., in the case of a counter offer); information that identifies the auction client making the request (or identifies a related entity, such as a billing party); the amount of storage space desired; how the data will be accessed once stored (e.g., accessibility of data, including desired data transfer rates); suggested or required upload window; estimated storage lifetime of data; the type of storage medium desired (e.g., tape or optical or magnetic media); suggested download, upload, and/or storage pricing rates (and/or a promotional code or similar indicator of a pricing rate package); and/or any other information suitable for requesting cloud storage.
  • the format and content of the request will typically conform to a specified API or similar convention employed by the auction service.
  • the auction service may authenticate each of the requests and/or auction clients to ensure that each request is from a valid auction client. This authentication may happen via any acceptable method, including the use of passwords or security certificates. Those requests that cannot be authenticated may be discarded by the auction service without further consideration.
  • the auction service evaluates queued and new requests (collectively the “pending requests”) and generates responsive quotes. To do so, the auction service may first identify those requests that either (1) do not satisfy minimum requirements specified by the quotation policy, or (2) cannot be accommodated due to a lack of system resources. Typically, the auction service will reject such requests by removing them from the list of pending requests. However, the auction service may also (1) send a quote with terms different from those requested (e.g., with higher rates or with a different scheduled upload window) in order to conform to the quotation policy, (2) send an explicit rejection of the request to the auction client, (3) queue the request for later evaluation, and/or (4) take another appropriate action.
  • the auction service may also (1) send a quote with terms different from those requested (e.g., with higher rates or with a different scheduled upload window) in order to conform to the quotation policy, (2) send an explicit rejection of the request to the auction client, (3) queue the request for later evaluation, and/or (4) take another appropriate action.
  • the auction service may next identify which remaining pending requests should receive quotes and generate quotes.
  • the auction service will apply the preferences and criteria specified in the quotation policy described previously to determine which “winning” requests should receive responsive quotes.
  • the auction service will choose the set of requests that results in a maximum combined value of a revenue function. Those pending requests that do not receive quotes will typically be queued by the auction service for later evaluation, but the auction service may also (1) send an explicit rejection of a request to the auction client, (2) remove it from the list of pending requests, and/or (3) take another appropriate action.
  • the auction service For each winning request, the auction service will generate a responsive quote.
  • Quotes generated may specify: the unique identifier that the auction client has associated with the request; various pricing rates for different types of data operations (e.g., a first rate for an initial upload to the site, a second rate for downloads from the site, and a third rate for searching or accessing the data, a fourth rate for continued storage and maintenance of the data on the site (e.g., a rate charged for each gigabyte stored per month)); maximum storage space allotted; maximum or minimum storage lifetime; the accessibility of stored data; time windows during which data may be transmitted to the site or retrieved; etc.
  • Each quote will typically include a token or other identifier associated with the quote and may specify an acceptance window during which the quotation will be honored by the site.
  • the auction service generally applies the preferences and criteria specified in the quotation policy described previously (including a pricing function) to determine the values given in the quotes.
  • the pricing function may require the auction service to specify upload and storage rates associated with a marketing promotion, even if the client request proposed higher pricing rates.
  • the auction service may simply utilize in its quote some or all of the values proposed in the request.
  • the auction service sends a copy of the generated quotes to auction clients.
  • each auction client may send another request (e.g. a “counteroffer”), may send an indication of acceptance of the quote and/or may take no action in response.
  • the auction service may receive an indication of acceptance of one or more quotes. For each accepted quote, the auction service may add the associated upload to the list of scheduled jobs so that other system components will accept the upload. For example, the auction service only adds an upload to the list of scheduled jobs if the acceptance is received within the specified acceptance window. If the acceptance is received outside of this window, the auction service may treat the acceptance as it would a new request and repeat some or all of the previous blocks.
  • the system may encrypt the data before or after a secondary copy or archival copy is created.
  • the encryption enhances the “at-rest” security of files stored within a cloud storage site 115 A-N, by reducing the risk of unauthorized access to the files' content.
  • it may be desirable to store encryption keys (and/or other information necessary to decrypt files) within the storage operation cell 150 , not within the cloud storage site 115 A-N used to store the encrypted files. In this way, even an operator of a cloud storage site may not breach the security of an encrypted file.
  • the encryption keys or similar encryption information may easily be stored within storage operation cell (e.g., within a local index or database of the storage operation cell or a different storage device 115 ).
  • the storage operation cell 150 may “scramble” encryption keys and store the scrambled keys with the encrypted files. This method provides some level of protection against intrusions, even intrusions by the operator of a cloud storage site. Further details may be found in U.S. Patent Publication No. US2008-0320319A1 referenced above.
  • decrypted files may be stored within a cloud storage site 115 A-N without first encrypting the files within the storage operation cell 150 . In such circumstances, it may be desirable to later encrypt the files stored on the cloud storage site to protect those files thereafter.
  • FIG. 29 illustrates a process 2900 for encrypting files stored within a cloud storage site 115 A-N.
  • the process may be performed by cloud storage submodule 236 , or any other suitable system component.
  • the process begins at block 2910 , when cloud storage submodule 236 receives a request to encrypt a file located on a target cloud storage site.
  • cloud storage submodule 236 may receive an indication of which target files within a target cloud storage site should be encrypted.
  • Cloud storage submodule 236 may also receive an indication of which encryption method should be utilized, one or more encryption keys and/or additional information.
  • cloud storage submodule 236 determines if the type of encryption method requested is supported by the API provided by the operator of the target cloud storage site 115 A-N. If it is not, the process proceeds to block 2940 . Otherwise, the process 2900 proceeds to block 2930 , where cloud storage submodule utilizes the mapping described herein to generate vendor-specific API calls to encrypt the original file. The process then returns.
  • cloud storage submodule 236 utilizes its mapping described herein to generate and send a vendor-specific API call to download the file to the cloud storage submodule, or another component of the storage operation cell 150 .
  • the downloaded file is encrypted locally (e.g., by a component of storage operation cell 150 configured to perform encryption, such as a secondary storage computing device 165 ).
  • cloud storage submodule utilizes its mapping described herein to generate and send vendor-specific API calls to overwrite the original file with an encrypted version.
  • cloud storage submodule may utilize vendor-specific API calls that open the original file for writing, write the contents of the encrypted version of the file to the original file, and close the original file.
  • cloud storage submodule 236 may utilize vendor-specific API calls to create a new file on the target cloud storage site 115 A-N, write the contents of the encrypted version of the original file to the new file, close the new file, and delete the original file.
  • the systems described herein may be utilized to protect remote office and branch office (ROBO) data.
  • a subset of clients 130 may be “remote clients” who are geographically separated from other components of an associated storage operation cell 150 .
  • Remote clients 130 may only be connected to other components of an associated storage operation cell 150 via a WAN such as the Internet due to a physical separation between the remote client 130 and other system components.
  • a remote client 130 is a laptop computer utilized by a traveling employee: when the employee is traveling, she will be geographically separated from their company's main storage operation cell 150 .
  • a remote client 130 may include a media file system agent 240 , including a cloud storage submodule 236 , to permit data agents 195 on the remote client to directly write data to a cloud storage site 115 A-N (e.g., over a network connection established by an HTTP client subagent).
  • a remote client 130 may directly mirror data to cloud-based storage for disaster recovery purposes and/or to comply with other system-level data retention policies.
  • other system components e.g., jobs agent 220
  • a remote client 130 may provide information regarding a storage operation made in this manner to other system components, so that those system components may update the various system-wide indices and databases to reflect the storage operation.
  • client 130 may provide storage manager 105 with information that is sufficient for storage manager 105 to update management index 211 , management light index 245 , SS index 261 , SS light index 247 , and deduplication database 297 .
  • the system may avoid routing data slated for cloud storage through a secondary storage computing device 165 , thereby conserving system resources (e.g., the bandwidth of a secondary storage computing device).
  • Such implementations preserve the ability of the storage cell 150 to perform upon all data, including data generated by remote clients 130 : policy-driven storage, ILM, content indexing, data restoration, and searching.
  • a group of clients 130 may be geographically separated from most of the system components of an associated storage operation cell 150 but may not be geographically separated from one or more locally accessible secondary storage computing devices 165 .
  • a group of clients e.g. a group of clients associated with a particular branch office of a company
  • the group of clients 130 may copy or migrate data to a locally accessible secondary storage computing device, which may in turn write this data to a cloud storage site 115 A-N in accordance with applicable system-wide storage and scheduling policies.
  • the locally accessible secondary storage computing device 165 may mirror data from a branch office directly to cloud-based storage for disaster recovery purposes and/or to comply with other data retention policies, without first routing that data over a WAN to other system components. Additionally, a locally accessible secondary storage computing device 165 may provide information regarding a storage operation made in this manner to other system components, so that those system components may update the various system-wide indices and databases to reflect the storage operation. For example, a locally accessible secondary storage computing device 165 may provide storage manager 105 with information that is sufficient for storage manager 105 to update management index 211 , management light index 245 , SS index 261 , SS light index 247 , and deduplication database 297 . Such implementations preserve the ability of the storage cell 150 to perform upon all data, including data generated by remote clients 130 : policy-driven storage, ILM, content indexing, data restoration, and searching.
  • a group of clients may be connected to a locally accessible cloud gateway 1540 over a LAN, but may be connected to other system components only over a WAN.
  • the locally accessible cloud gateway 1540 may provide the same functionality of a locally accessible secondary storage computing device 165 described in this section, in addition to other cloud gateway functionality described herein.
  • Cloud storage sites represent an increasingly viable option to manage the growing bodies of data. They promise lower costs through better utilization and management of the underlying storage infrastructure. Cloud-based storage also eliminates the need to buy lots of spare capacity in anticipation of future storage growth, enabling companies to “pay as you grow”. Further cloud-based storage enables IT organizations to minimize investment in new Data Center capacity, and extends the life of their existing investment in both building and computing infrastructure.
  • Storage policies may consider “data value” determined from factors such as (a) access requirements, (b) latency requirements, and (c) corporate requirements including: how recently was the data accessed, how often was the data required over a given time period, such as the last 12 months, how many end-users/applications required access to the data in the last 12 months, how quickly will the data need to be restored, what downstream applications/processing are dependent on the data, whether the data needs to be identified and pulled in/put on Legal Hold for an eDiscovery request, whether the data contains corporate trade secrets or IP, whether the data might be considered highly sensitive (e.g., legal communication, or social security numbers).
  • data value determined from factors such as (a) access requirements, (b) latency requirements, and (c) corporate requirements including: how recently was the data accessed, how often was the data required over a given time period, such as the last 12 months, how many end-users/applications required access to the data in the last 12 months, how quickly will the data need to be restored, what downstream applications/processing
  • the systems and methods described herein provide integrated data management platforms that address a wide variety of data management needs.
  • the systems and methods herein may deliver unified data management from a single console.
  • these systems and methods may offer users lower operating costs, ensure disaster recovery, while improving long-term compliance management.
  • the systems described herein provide a unified data management platform that may be built on a single codebase or as a unified application, with modules or agents for backup and recovery, archive, replication, reporting, and search/eDiscovery. These systems may provide automated, policy-based data movement from local, deduplicated copies into and out of cloud storage environments—all from the same centralized console. This incremental approach to data management may permit organizations to leverage the economics of cloud-based storage.
  • systems and methods described herein may result in various other performance advantages. For example, these systems and methods may reduce administrative and storage overhead for infrequently-accessed data in a data center by automatically tiering older/infrequently-accessed data in a data center to more efficient, lower-cost cloud-based storage, freeing up existing capacity to accommodate ongoing data growth.
  • Integrated deduplication ensures that unique (or semi-unique) data segments are stored “in the cloud”, minimizing costs associated with redundant data across backups and archive.
  • Block-based data deduplication and replication reduce network bandwidth requirements to minimize network costs and backup windows.
  • Deduplication also reduces ongoing storage costs up to 75%, minimizing operational expenses across the entire lifespan of the data being retained
  • the systems described herein may permit a better data encryption approach to meet applicable requirements.
  • a user may protect data starting from the source with in-stream encryption, and then extend encryption to data “at-rest”. This ensures that not only is a user protected during data migration, but also from unwarranted access of data already on the cloud. Because the data encryptions are controlled by a company's IT team, data is safe even from unintentional access by a cloud storage providers' IT staff.
  • the systems and methods help protect data, even from cloud storage site operators.
  • Built-in data encryption and verification technology ensures data has been securely and safely written to the cloud without errors.
  • Encryption of data at-rest helps ensures that only appropriate personnel have full access to readable data, no matter where it's stored.
  • the systems herein are designed to work with a wide variety of storage partners, both physical and a growing number of cloud-based storage providers.
  • the systems described herein may deliver a seamless solution for data-aware movement into cloud storage to help reduce overall complexity and costs. Lack of a native cloud-storage connector often requires complex scripting, adding both time and risk to moving data into the cloud.
  • Using gateway appliances can present an ongoing and growing management burden as cloud-storage use increases.
  • An integrated approach such as that described herein eliminates the costs and risk associated with either approach. Integrated data management of both local storage and cloud storage from a single console minimizes administrative overhead and the need for specialized gateway appliances.
  • the systems described may also be readily configured to support an expanding list of industry-leading cloud providers to provide flexibility and choice for how to host cloud-based data immediately and in the future. Native integration with REST/HTTP protocols seamlessly extends data management to the cloud without the need for scripting or specialized vendor-specific gateway appliances.
  • a highly efficient platform automates the movement of data across systems from a variety of storage vendors, and across different types of storage devices including disk, tape, CAS, VTL, optical—and now cloud storage.
  • users can leverage one interface to manage one data management suite across a virtual shared storage environment.
  • Moving data into and out of the cloud using the systems herein is as easy as moving data between any 2 data storage tiers. For existing users, this can be done in as little as 3 steps: choosing one or more cloud-storage sites, setting up a storage service similar to what a user would do to add disk-based storage, and adding the new cloud-based storage to existing backup and/or archive policies and data paths.
  • Indexes of all data retained can be kept on-premise. This enables a user to retain control of the most critical and sensitive aspects of information management, and ensures that content indexes are accessible only to designated personnel within an organization.
  • indexes are searchable locally, there is no latency with regards to data that may be retained in the cloud over a number of years or even decades. This reduces the amount of time and data required by a company's legal and/or IT teams.
  • Integrated content indexing done prior to tiering to the cloud ensures that administrators can do fast searches on a local index and retrieve only specific data that meets the search criteria.
  • Block-based deduplication reduces backup and archive times and data volumes by filtering out redundant data before it reaches the cloud. This can be done in a data center or even at remote sites, depending on the system configuration. Additional data management approaches such as incremental backups and data compression at the source can further reduce the amount of data in-transit and at-rest.
  • a second use case of the described systems centers around protecting data outside of the Data Center and storing it in the cloud. This enables the central IT team to control the movement and management of data along with defining the appropriate data retention and recovery policies.
  • Data from remote offices can be backed up directly to cloud-based storage, eliminating the need to migrate the data to the data center first, and then migrating the data again to the cloud.
  • data may be mirrored to cloud-based storage for Disaster Recovery purposes as well for long-term data retention. As data ages past retention requirements it can be automatically deleted in the cloud, creating ongoing savings in capacity utilization charges.
  • SRM Storage Reporting and Management
  • the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense (i.e., to say, in the sense of “including, but not limited to”), as opposed to an exclusive or exhaustive sense.
  • the terms “connected,” “coupled,” or any variant thereof means any connection or coupling, either direct or indirect, between two or more elements. Such a coupling or connection between the elements can be physical, logical, or a combination thereof.
  • the words “herein,” “above,” “below,” and words of similar import when used in this application, refer to this application as a whole and not to any particular portions of this application.
  • words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively.
  • the word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.

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.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of the assignee's pending U.S. Patent Application Nos. 61/299,313, filed Jan. 28, 2010, entitled PERFORMING DATA STORAGE OPERATIONS, INCLUDING CONTENT-INDEXING, CONTAINERIZED DEDUPLICATION, AND POLICY-DRIVEN STORAGE WITHIN A CLOUD ENVIRONMENT (attorney docket number 6069280751 US3); 61/221,993, filed Jun. 30, 2009, entitled SYSTEMS AND METHODS FOR PERFORMING DATA STORAGE OPERATIONS, INCLUDING CROSS-CLOUD STORAGE, OVER VARIOUS NETWORK PROTOCOLS (Attorney Docket No. 60692-8075US); and 61/223,695, filed Jul. 7, 2009, entitled SYSTEMS AND METHODS FOR PERFORMING DATA STORAGE OPERATIONS, INCLUDING CROSS-CLOUD STORAGE, OVER VARIOUS NETWORK PROTOCOLS (Attorney Docket No. 60692-8075US1), all of which are incorporated herein by reference.
  • BACKGROUND
  • Current storage management systems employ a number of different methods to perform storage operations on electronic data. For example, data can be stored in primary storage as a primary copy that includes production data, or in secondary storage as various types of secondary copies including, as a backup copy, a snapshot copy, a hierarchical storage management copy (“HSM”), as an archive copy, and as other types of copies.
  • A primary copy of data is generally a production copy or other “live” version of the data which is used by a software application and is generally in the native format of that application. Primary copy data may be maintained in a local memory or other high-speed storage device that allows for relatively fast data access if necessary. Such primary copy data is typically intended for short term retention (e.g., several hours or days) before some or all of the data is stored as one or more secondary copies, for example to prevent loss of data in the event a problem occurred with the data stored in primary storage.
  • Secondary copies include point-in-time data and are typically for intended for long-term retention (e.g., weeks, months or years depending on retention criteria, for example as specified in a storage policy as further described herein) before some or all of the data is moved to other storage or discarded. Secondary copies may be indexed so users can browse, search and restore the data at another point in time. After certain primary copy data is backed up, a pointer or other location indicia such as a stub may be placed in the primary copy to indicate the current location of that data. Further details may be found in the assignee's U.S. Pat. No. 7,107,298, filed Sep. 30, 2002, entitled SYSTEM AND METHOD FOR ARCHIVING OBJECTS IN AN INFORMATION STORE (Attorney Docket No. 60692-8003US1).
  • One type of secondary copy is a backup copy. A backup copy is generally a point-in-time copy of the primary copy data stored in a backup format as opposed to in native application format. For example, a backup copy may be stored in a backup format that is optimized for compression and efficient long-term storage. Backup copies generally have relatively long retention periods and may be stored on media with slower retrieval times than other types of secondary copies and media. In some cases, backup copies may be stored at on offsite location.
  • Another form of secondary copy is a snapshot copy. From an end-user viewpoint, a snapshot may be thought as an instant image of the primary copy data at a given point in time. A snapshot may capture the directory structure of a primary copy volume at a particular moment in time, and may also preserve file attributes and contents. In some embodiments, a snapshot may exist as a virtual file system, parallel to the actual file system. Users may gain a read-only access to the record of files and directories of the snapshot. By electing to restore primary copy data from a snapshot taken at a given point in time, users may also return the current file system to the prior state of the file system that existed when the snapshot was taken.
  • A snapshot may be created nearly instantly, using a minimum of file space, but may still function as a conventional file system backup. A snapshot may not actually create another physical copy of all the data, but may simply create pointers that are able to map files and directories to specific disk blocks.
  • In some embodiments, once a snapshot has been taken, subsequent changes to the file system typically do not overwrite the blocks in use at the time of snapshot. Therefore, the initial snapshot may use only a small amount of disk space to record a mapping or other data structure representing or otherwise tracking the blocks that correspond to the current state of the file system. Additional disk space is usually only required when files and directories are actually modified later. Furthermore, when files are modified, typically only the pointers which map to blocks are copied, not the blocks themselves. In some embodiments, for example in the case of copy-on-write snapshots, when a block changes in primary storage, the block is copied to secondary storage before the block is overwritten in primary storage and the snapshot mapping of file system data is updated to reflect the changed block(s) at that particular point in time.
  • An HSM copy is generally a copy of the primary copy data, but typically includes only a subset of the primary copy data that meets a certain criteria and is usually stored in a format other than the native application format. For example, an HSM copy might include only that data from the primary copy that is larger than a given size threshold or older than a given age threshold and that is stored in a backup format. Often, HSM data is removed from the primary copy, and a stub is stored in the primary copy to indicate its new location. When a user requests access to the HSM data that has been removed or migrated, systems use the stub to locate the data and often make recovery of the data appear transparent even though the HSM data may be stored at a location different from the remaining primary copy data.
  • An archive copy is generally similar to an HSM copy, however, the data satisfying criteria for removal from the primary copy is generally completely removed with no stub left in the primary copy to indicate the new location (i.e., where it has been moved to). Archive copies of data are generally stored in a backup format or other non-native application format. In addition, archive copies are generally retained for very long periods of time (e.g., years) and in some cases are never deleted. Such archive copies may be made and kept for extended periods in order to meet compliance regulations or for other permanent storage applications.
  • In some embodiments of storage management systems, application data over its lifetime moves from more expensive quick access storage to less expensive slower access storage. This process of moving data through these various tiers of storage is sometimes referred to as information lifecycle management (“ILM”). This is the process by which data is “aged” from more forms of secondary storage with faster access/restore times down through less expensive secondary storage with slower access/restore times, for example, as the data becomes less important or mission critical over time.
  • In some embodiments, storage management systems may perform additional operations upon copies, including deduplication, content indexing, data classification, data mining or searching, electronic discovery (E-discovery) management, collaborative searching, encryption and compression.
  • One example of a system that performs storage operations on electronic data that produce such copies is the Simpana storage management system by CommVault Systems of Oceanport, N.J. The Simpana system leverages a modular storage management architecture that may include, among other things, storage manager components, client or data agent components, and media agent components as further described in U.S. Pat. No. 7,246,207, filed Apr. 5, 2004, entitled SYSTEM AND METHOD FOR DYNAMICALLY PERFORMING STORAGE OPERATIONS IN A COMPUTER NETWORK. The Simpana system also may be hierarchically configured into backup cells to store and retrieve backup copies of electronic data as further described in U.S. Pat. No. 7,395,282, filed Jul. 15, 1999, entitled HIERARCHICAL BACKUP AND RETRIEVAL SYSTEM.
  • Components within conventional storage management systems often communicate via one or more proprietary network protocols; this limits the devices that may connect to the system. Conventional systems may utilize propriety or non-proprietary network protocols at any of the seven Open Systems Interconnection Reference Model (OSIRM) layers, and may often utilize proprietary application-layer protocols. For example, if a client has primary data stored on it, and a storage management system is utilized to create a secondary copy of this data on a secondary storage device, the client may communicate with the secondary storage device by utilizing a proprietary application-level network protocol. In order to create a secondary copy on the secondary storage device in such a scenario, both the client and secondary storage device must have proprietary software and/or hardware installed or otherwise be configured to perform the proprietary network protocol. Thus, the ability of a conventional storage management system is generally limited to performing storage operations on those clients and secondary storage devices having pre-installed hardware or software.
  • Although some conventional data storage systems may permit a client to communicate with the system via a non-proprietary network protocol such as hypertext transfer protocol (HTTP) or file transfer protocol (FTP), generally such systems do not facilitate a wide range of value-added storage operations. For example, cloud storage sites typically provide only storage of and access to data objects as a service provided to end users. Generally, uploading, access and manipulation of data stored on a cloud storage site is conducted via an HTTP, FTP or similar network connection. Cloud storage service providers include Amazon Simple Storage Service, Rackspace, Windows Azure, and Iron Mountain, and Nirvanix Storage Delivery Network. Cloud storage service providers often bill end users on a utility computing basis, e.g., per gigabyte stored, uploaded and/or downloaded per month. Conventional cloud storage sites may not permit the end user to perform value-added storage operations such as ILM, deduplication, content indexing, data classification, data mining or searching, E-discovery management, collaborative searching, encryption or compression.
  • The need exists for systems and methods that overcome the above problems, as well as systems and methods that provide additional benefits. Overall, the examples herein of some prior or related systems and methods and their associated limitations are intended to be illustrative and not exclusive. Other limitations of existing prior systems and methods will become apparent to those of skill in the art upon reading the following Detailed Description.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates an example of one arrangement of resources in a computing network that may employ aspects of the invention.
  • FIG. 2 is a block diagram illustrating an example of a data storage enterprise system that may employ aspects of the invention.
  • FIG. 3A is a flow diagram illustrating a routine for writing data to cloud storage sites.
  • FIG. 3B, is a flow diagram illustrating a routine for migrating or copying data into an archive format in secondary storage, including secondary cloud storage.
  • FIG. 4 is a block diagram illustrating an example of a deduplication module.
  • FIGS. 5A-5D illustrate various data structures for deduplicating and storing copies or instances of data objects on a storage device or for other processes.
  • FIG. 6 is a flow diagram illustrating a process for pruning a deduplication database by pruning or deleting data objects stored in archive files, or entire archive files.
  • FIGS. 7A-7C illustrate various data structures which aspects of the invention may utilize for pruning object-level deduplicated data or for other processes.
  • FIG. 8 illustrates various data structures which aspects of the invention may utilize for deduplicating and storing copies or instances of data blocks on a storage device or for other processes.
  • FIG. 9 is a flow diagram illustrating a process for pruning a deduplication database by pruning or deleting data blocks stored in archive files, or entire archive files.
  • FIG. 10 is a flow diagram that illustrates the processing of a content indexing component.
  • FIG. 11 illustrates suitable data structures for facilitating content indexing.
  • FIG. 12 is a flow diagram illustrating a process for restoring or retrieving data from chunk folders in an archive file format on secondary storage.
  • FIGS. 13A and 13B illustrate example data structures that the system may maintain to facilitate the restoration or retrieval of data from chunk folders in an archive file format on secondary storage.
  • FIG. 14 is a flow diagram illustrating the processing of a search request by the system.
  • FIG. 15 illustrates another example of an arrangement of resources in a computing network that may employ aspects of the invention.
  • FIG. 16 is a block diagram illustrating a suitable environment for utilizing a networked data storage device.
  • FIG. 17 shows a block diagram illustrating components of the network-attached storage (NAS) filer component of a cloud gateway configured to perform data migration.
  • FIG. 18 depicts a flow diagram illustrating a routine for performing block-level data migration in a cloud gateway.
  • FIG. 19 is a flow diagram illustrating a routine for performing sub-object-level data migration in a cloud gateway.
  • FIG. 20 shows a flow diagram illustrating a routine for block-based or sub-object-based data restoration and modification in a cloud gateway.
  • FIG. 21 illustrates another example of an arrangement of resources in a computing network that may employ aspects of the invention to provide data storage software as a service.
  • FIG. 22 is a block diagram illustrating components of an object store.
  • FIG. 23 shows a flow diagram illustrating a first process that may be performed by an object store to process a request to store a data object.
  • FIGS. 24A and 24B together show a flow diagram illustrating a second process that may be performed by an object store to process a request to store a data object.
  • FIG. 25 is a block diagram illustrating an example architecture for integrating a collaborative search system with a collaborative document management system.
  • FIG. 26 is a schematic diagram illustrating integration of parsers with a typical collaborative document management system.
  • FIG. 27 is a flow diagram of a process for identifying suitable storage locations for various data objects subject to a storage policy.
  • FIG. 28 is a flow diagram of a process for scheduling cloud storage requests.
  • FIG. 29 illustrates a process for encrypting files stored within a cloud storage site.
  • DETAILED DESCRIPTION
  • The headings provided herein are for convenience only and do not necessarily affect the scope or meaning of the claimed invention.
  • Overview 11
    Suitable Environments 13
    Storage Operation Cell 15
    Network Agents 33
    Network Client Agents 34
    Media File System Agent 34
    Cloud Storage Submodules: Vendor-Agnostic File System Calls, 35
    Buffering of Storage Requests, and Logging Cloud Storage
    Performance
    Migrating or Copying Data to Secondary Storage, Including 41
    Secondary Cloud Storage
    Deduplication 43
    Object-Level Deduplication 44
    Data Structures for Object-Level Deduplication 46
    Pruning Object-Level Deduplicated Data 54
    Sub-Object-Level Deduplication 58
    Block-Level Deduplication 60
    Data Structures for Block-Level Deduplication 63
    Deduplication Databases to Enable Containerized 67
    Deduplication to Cloud-Based Storage
    Pruning Block-Level Deduplicated Data 69
    Containerizing Deduplicated Data for Storage in the Cloud 73
    Indexing of Data 75
    Policy-Driven Storage of Data Across Cloud Storage Sites 77
    Restoring Dehydrated Data Objects from Cloud Storage Sites 78
    Local Searching of Data Stored on Remote Cloud Storage Sites 81
    Collaborative Searching 82
    Cloud Gateway 87
    Cloud Gateway Architecture 88
    Cloud Gateway for Cloud Storage Sites and Deduplication 91
    and Policy-Driven Data Migration
    Data Recovery in Cloud Storage Sites via Cloud Gateway 98
    Device
    System Configurations to Provide Data Storage and Management 100
    Software as a Service
    Object Store 102
    Object Store Methods 113
    Process for Cost-Balancing Cloud Storage 124
    Process for Scheduling Cloud Storage Requests 130
    Process for Encrypting Files within Cloud Storage 134
    Protecting Remote Office and Branch Office (ROBO) Data 136
    Conclusion 138
    147
  • Overview
  • With the massive volume of files being hosted in cloud environments, traditional file system based approaches are failing to scale. As much as 90% of new data created is unstructured and/or file based. As such data makes its way into the cloud, the need for systems that can scale to several million files and possibly petabytes of capacity becomes necessary. Traditional file systems and filers have their strengths, and high-performance file sharing needs still exist within data centers, so existing filers and file systems fulfill that need. Cloud storage, on the other hand, with associated network latencies is not always a good fit for certain use cases. But cloud storage excels with Internet applications where the generation of content can be viral and where it can be virtually impossible to predict capacity or access needs. Cloud storage is also ideal in the case of Web 2.0 applications which promote collaboration between hundreds and thousands of user sharing the same files or objects.
  • While file systems have been a successful way of allowing people to store their data in an intuitive form that is easy to visualize, they have complexities which get exposed when the number of objects they need to manage reach massive proportions. File systems are typically built on block storage devices and all files are eventually broken down into blocks that need to be placed on the storage system. The file system has to maintain a “table of contents” (e.g. a FAT), which tracks not only what files it is holding, but which blocks on the storage comprise that file. On a system with a massive number of files, each with a large number of blocks, the numbers get large enough that traditional file systems start to slow down or even crash. What's typically done when this happens is that a new file system or filer is added. But the new file system provides a completely different namespace than the original and all users of the file system (humans and applications) need to be aware of this change and know which namespace they need to look in to find their files.
  • Systems and methods are disclosed herein 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 storage devices that connect to the system in a cloud environment, which permits data transfer over wide area networks, such as the Internet, and which may have appreciable latency and/or packet loss. The system allows available storage devices to include cloud storage sites. 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 and effectuate cost savings. 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.
  • Various examples of the invention will now be described. The following description provides specific details for a thorough understanding and enabling description of these examples. One skilled in the relevant art will understand, however, that the invention may be practiced without many of these details. Likewise, one skilled in the relevant art will also understand that the invention may include many other obvious features not described in detail herein. Additionally, some well-known structures or functions may not be shown or described in detail below, so as to avoid unnecessarily obscuring the relevant description.
  • The terminology used below is to be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific examples of the invention. Indeed, certain terms may even be emphasized below; however, any terminology intended to be interpreted in any restricted manner will be overtly and specifically defined as such in this Detailed Description section.
  • Unless described otherwise below, aspects of the invention may be practiced with conventional data processing and data storage systems. Thus, the construction and operation of the various blocks shown in the Figures may be of conventional design, and need not be described in further detail herein to make and use aspects of the invention, because such blocks will be understood by those skilled in the relevant art. One skilled in the relevant art can readily make any modifications necessary to the blocks in the Figures based on the detailed description provided herein.
  • Suitable Environments
  • The Figures and the discussion herein provide a brief, general description of certain suitable computing environments in which aspects of the invention can be implemented. Although not required, aspects of the invention are described in the general context of computer-executable instructions, such as routines executed by a general-purpose computer, e.g., a server computer, wireless device, or personal computer. Those skilled in the relevant art will appreciate that aspects of the invention can be practiced with other communications, data processing, or computer system configurations, including: Internet appliances, hand-held devices (including personal digital assistants (PDAs), wearable computers, all manner of cellular or mobile phones, multi-processor systems, microprocessor-based or programmable consumer electronics, set-top boxes, network PCs, mini-computers, mainframe computers, and the like. The terms “computer,” “server,” “and the like are generally used interchangeably herein, and refer to any of the above devices and systems, as well as any data processor. Aspects of the invention can be practiced in software that controls or operates data storage hardware that is specifically designed for use in data storage networks, e.g., as described in detail herein.
  • While aspects of the invention, such as certain functions, are described as being performed exclusively on a single device, the invention can also be practiced in distributed environments where functions or modules are shared among disparate processing devices, which are linked through a communications network, such as a Local Area Network (LAN), Wide Area Network (WAN), and/or the Internet. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
  • Aspects of the invention including computer implemented instructions, data structures, screen displays, and other data may be stored or distributed on tangible computer-readable storage media, including magnetically or optically readable computer discs, hard-wired or preprogrammed chips (e.g., EEPROM semiconductor chips), nanotechnology memory, biological memory, or other data storage media. Alternatively, computer implemented instructions, data structures, screen displays, and other data under aspects of the invention may be distributed via communication medium, such as over the Internet or over other networks (including wireless networks), on a propagated signal on a propagation medium (e.g., an electromagnetic wave(s), a sound wave, etc.) over a period of time, or they may be provided on any analog or digital network (packet switched, circuit switched, or other scheme).
  • FIG. 1 illustrates an example of one arrangement of resources in a computing network that may employ the processes and techniques described herein, although many others are of course possible. Clients 130, as part of their function, may utilize data, which includes files, directories, metadata (e.g., access control list (ACLS) creation/edit dates associated with the data, etc.), and other data objects. The data on the clients 130 is typically a primary copy (e.g., a production copy). During a copy, backup, archive or other storage operation, the clients 130 may send a copy of some data objects (or some components thereof) to a secondary storage computing device 165 by utilizing one or more data agents 195, described below.
  • The secondary storage computing device 165 may in turn create secondary copies of primary data objects (or some components thereof) in storage devices 115, which may include various cloud storage sites 115A-N. Communications between the secondary storage computing devices 165 and cloud storage sites 115A-N may utilize REST protocols (Representational state transfer interfaces) that satisfy basic C/R/U/D semantics (Create/Read/Update/Delete semantics), or other hypertext transfer protocol (“HTTP”)-based or file-transfer protocol (“FTP”)-based protocols (e.g. Simple Object Access Protocol).
  • In conjunction with creating secondary copies in cloud storage sites 115A-N, the secondary storage computing device 165 may also perform local content indexing and/or local object-level, sub-object-level or block-level deduplication when performing storage operations involving various cloud storage sites 115A-N. By providing content indexing and local searching, the system may reduce the time and cost associated with data access or data search requests sent to remote cloud storage sites. By deduplicating locally, the system may reduce the amount of data transfer required over a wide area network between the secondary storage computing devices 165 and the cloud storage sites 115A-N, and may reduce the cost associated with data uploads to and data storage on cloud storage sites. Further details are provided below.
  • Storage Operation Cell
  • FIG. 2 illustrates an example of one arrangement of a storage operation cell 150 in a computing network that may employ the processes and techniques described herein, although many others are of course possible. FIG. 2 shows a hierarchical arrangement of resources, which includes a storage operation cell 150 having a storage manager 105, one or more data agents 195, one or more network client agents 255, one or more secondary storage computing devices 165, one or more media file system agents 240, one or more storage devices 115, one or more clients 130, and one or more data or information stores 260. The cell 150 also includes a management index 211, a management light index 245, a jobs agent 220, an interface agent 225, a management agent 233, one or more network agents 235, one or more metabases 270, one or more secondary storage indices 261, one or more deduplication modules 299, one or more content indexing components 205, one or more deduplication databases 297, and one or more secondary storage light indices 247. Such system and elements represent a modular storage system such as the CommVault Simpana system, available from CommVault Systems, Inc. of Oceanport, N.J., and further described in the assignee's U.S. Pat. No. 7,035,880, filed Jul. 6, 2000, entitled MODULAR BACKUP AND RETRIEVAL SYSTEM USED IN CONJUNCTION WITH A STORAGE AREA NETWORK. Although not illustrated in FIG. 1, in some implementations, one or more of the secondary storage computing devices 165 (and/or deduplication databases, secondary storage indices, secondary storage light indices, and/or other system components) may reside on one or more cloud storage site 115A-N. For example, in such implementations, a secondary storage computing device may utilize computational resources (e.g., computational processing capacity) provided by a vendor that operates a cloud storage site 115A-N to perform its functionality.
  • A storage operation cell, such as cell 150, may generally include combinations of hardware and software components associated with performing storage operations on electronic data. (While aspects of the invention are described as employing the hierarchical architecture with cells, those aspects may likewise be employed in other architectures without cells, such as a simple client-server or peer-to-peer configuration.) Storage operation cells 150 may be related to backup cells and provide some or all of the functionality of backup cells as described in the assignee's U.S. Pat. No. 7,395,282 filed Jul. 15, 1999, entitled HIERARCHICAL BACKUP AND RETRIEVAL SYSTEM. However, storage operation cells may also perform additional types of storage operations and other types of storage management functions that are not generally offered by backup cells.
  • Additional data storage operations performed by storage operation cells 150 may include creating, storing, retrieving, and migrating primary storage data (e.g., data store 260) and secondary storage data (which may include, for example, snapshot copies, backup copies, Hierarchical Storage Management (HSM) copies, archive copies, and other types of copies of electronic data) stored on storage devices 115. In some embodiments, storage operation cells may perform additional storage operations upon copies, including ILM, deduplication, content indexing, data classification, data mining or searching, electronic discovery (E-discovery) management, collaborative searching, encryption and compression. Alternatively or additionally, a storage operation cell may make or retain disaster recovery copies, often as secondary, high-availability disk copies. Such cell may make secondary disk copies to disaster recovery (DR) locations using auxiliary copy or replication technologies. Storage operation cells 150 may also provide one or more integrated management consoles for users or system processes to interface with in order to perform certain storage operations on electronic data. Such integrated management consoles may be displayed at a central control facility or several similar consoles may be distributed throughout multiple network locations to provide global or geographically specific network data storage information.
  • In one example, storage operations may be performed according to various storage preferences, for example, as expressed by a user preference or a storage policy. A “storage policy” is generally a data structure or other information source that includes a set of preferences and other storage criteria associated with performing a storage operation. The preferences and storage criteria may include, but are not limited to, a storage location (or a class or quality of storage location), deduplication requirements, relationships between system components, network pathways to utilize in a storage operation, retention policies, data characteristics, compression or encryption requirements, preferred system components to utilize in a storage operation, the estimated or historic usage or cost associated with operating system components, frequency or use/access/etc. various time-related factors, single-instancing and/or deduplication information, and other criteria relating to a data storage or management operation. For example, a storage policy may indicate that certain data is to be stored in the storage device 115, retained for a specified period of time before being aged to another tier of secondary storage, copied to the storage device 115 using a specified number of data streams, etc. As one example, a storage policy may specify that certain data should be stored in one or more target cloud storage sites 115A-N, as described herein.
  • As another example, a storage policy may specify that a first type of files should be retained for one year in a first target cloud storage site 115A, that a second type of files should be retained for seven years in a second cloud storage site 1158, and that a third type of files should be retained indefinitely in a third cloud storage site 115N. As yet another example, a storage policy may specify that a first type of files (e.g., secondary disk copies needed for rapid disaster recovery) be stored only in storage sites 115, including cloud storage sites 115A-N, that can provide sufficient bandwidth, network capacity or other performance to ensure that the time needed to recover a file from the storage device 115 (e.g., cloud storage site 115A-N) is less a specified recovery time objective.
  • As another example, a storage policy relating to cloud storage sites 115A-N may specify that a cloud storage site should be chosen, at least in part, based on the geographical (or network) proximity between a data source (e.g., client 130 and/or secondary storage computing device 165) and the cloud storage site in order to improve data transfers.
  • As another example, a storage policy relating to cloud storage sites 115A-N may specify that a first type of files be stored only on cloud storage sites that have a sufficient level of fault tolerance. For example, a storage policy may specify that a first type of files be stored only on cloud storage sites 115A-N that replicate copies of their data across two or more geographically separate regions or across two or more separate power grids. As yet another example, a storage policy may specify that a first type of files be stored only on cloud storage sites 115A-N that satisfy other consumer criteria. For example, a storage policy may specify that a first type of files be stored only on cloud storage sites 115A-N that are certified as being “environmentally green,” that align with particular political or social agendas, that do or do not have operations in certain countries (e.g., sites that do have operations in developing nations and/or do not have operations in embargoed countries), or that satisfy some other consumer criteria.
  • A storage policy might define different classes of storage that should be utilized for different types of data. For example, a storage policy may define “first-class storage” as rapid access media, such as storage devices having magnetic disk (or faster access) storage media, a high bandwidth network connection to the cloud storage site, and a cloud storage site that satisfies certain performance criteria (e.g., has high bandwidth for faster uploads and/or downloads and/or utilizes RAID or similar methods that improve the fault-tolerance of the site). “Second-class storage” may be defined under a storage policy as a second cloud storage site having magnetic tape (or slower access) data storage, lower bandwidth connections and/or less fault tolerance. As another example, a storage policy may define storage classes based on the actual performance achieved by cloud storage sites or other storage devices 115. For example, a storage policy may define first-class storage as cloud storage sites that actually achieve a threshold average throughput, data recovery rate, and/or specified error rate.
  • To facilitate the selection of cloud storage sites on the basis of actual performance, a storage manager 105, secondary storage computing devices 165 and/or other system components may track, log and/or analyze the performance achieved by cloud storage sites. Thus, a client computer or organization may contract with a cloud storage provider for a defined level of service, where the level of service relates to a storage policy as defined herein (e.g. aggregated data storage volumes, fault tolerance, data recovery rates, threshold latency and/or bandwidth, etc., defined under a service level agreement (SLA).) The client computer may then periodically perform tests or monitor performance of the cloud storage provider as compared to the defined level of service to ensure the appropriate level of service.
  • In some implementations, a storage policy may comprise an audit policy. An audit policy is a set of preferences, rules and/or criteria that protect sensitive data in the storage operation cell 150. For example, an audit policy may define “sensitive objects” as files or objects that contain particular keywords (e.g. “confidential,” or “privileged”) and/or are associated with particular keywords (e.g., in metadata) or particular flags (e.g., in metadata identifying a document or email as personal, confidential, etc.). An audit policy may further specify rules for handling sensitive objects. As an example, an audit policy may require that a reviewer approve the transfer of any sensitive objects to a cloud storage site 115A-N, and that if approval is denied for a particular sensitive object, the sensitive object should be transferred to a local storage device 115 instead. To facilitate this approval, the audit policy may further specify how a secondary storage computing device 165 or other system component should notify a reviewer that a sensitive object is slated for transfer.
  • In some implementations, a storage policy may comprise a provisioning policy. A provisioning policy is a set of preferences, priorities, rules and/or criteria that specify how various clients 130 (or groups of clients 130, e.g., a group of clients 130 associated with a department) may utilize various system resources, including resources such as available storage on cloud storage sites 115A-N and/or the network bandwidth between the storage operation cell 150 and cloud storage sites 115A-N. A provisioning policy may specify, for example, data quotas for particular clients 130 (e.g. a gigabyte amount of data that can be stored monthly, quarterly or annually). Components of the storage operation cell 150, such as the secondary storage computing devices 165, may enforce the provisioning policy (including quotas) during the transfer of data to secondary storage (e.g., during the process 300, shown in FIG. 3B). If a client (typically associated with a department within an organization) exceeds the policy, then a budget for that client/department may be charged for excess storage or resource allocation.
  • In some implementations, a storage policy may comprise a cost policy. A cost policy is a set of preferences, priorities, rules and/or criteria that specify how to identify suitable storage locations, including suitable cloud storage locations. For example, a cost policy may describe the method of evaluating a cost function, as described in greater detail herein with respect to FIG. 27. Here again, if a client exceeds the policy, then a budget for that client/department may be charged for excess storage or resource allocation.
  • A storage policy may be stored in a database of the storage manager 105, such as management index 211, or in other locations or components of the system. As will be described in detail herein, the system may utilize a storage policy when identifying suitable storage locations for various data objects subject to the storage policy.
  • Additionally or alternatively, a “schedule policy” may specify when and how often to perform storage operations and may also specify performing certain storage operations on sub-clients of data and how to treat those sub-clients. A “sub-client” is a portion of one or more clients 130 and can contain either all of the client's 130 data or a designated subset thereof. For example, an administrator may find it preferable to separate email data from financial data using two different sub-clients having different storage preferences, retention criteria, etc. A schedule policy may be stored in the management index 211 of the storage manager 105 and/or in other locations within the system.
  • Storage operation cells may contain not only physical devices, but also may represent logical concepts, organizations, and hierarchies. For example, a first storage operation cell 150 may be configured to perform a first type of storage operation such as an HSM operation, which may include backup or other types of data migration, and may include a variety of physical components including a storage manager 105 (or management agent 233), a secondary storage computing device 165, a client 130, and other components as described herein. A second storage operation cell 150 may contain the same or similar physical components; however, it may be configured to perform a second type of storage operation, such as a storage resource management (“SRM”) operation, and may include monitoring a primary data copy or performing other known SRM operations.
  • Thus, as can be seen from the above, although the first and second storage operation cells 150 are logically distinct entities configured to perform different management functions (e.g., HSM and SRM, respectively), each storage operation cell 150 may contain the same or similar physical devices. Alternatively, different storage operation cells 150 may contain some of the same physical devices and not others. For example, a storage operation cell 150 configured to perform SRM tasks may contain a secondary storage computing device 165, client 130, or other network device connected to a primary storage volume, while a storage operation cell 150 configured to perform HSM tasks may instead include a secondary storage computing device 165, client 130, or other network device connected to a secondary storage volume and may not contain the elements or components associated with and including the primary storage volume. (The term “connected” as used herein does not necessarily require a physical connection; rather, it could refer to two devices that are operably coupled to each other, communicably coupled to each other, in communication with each other, or more generally, refer to the capability of two devices to communicate with each other, often with intervening components in between.) These two storage operation cells 150, however, may each include a different storage manager 105 that coordinates storage operations via the same secondary storage computing devices 165 and storage devices 115. This “overlapping” configuration allows storage resources to be accessed by more than one storage manager 105, such that multiple paths exist to each storage device 115 facilitating failover, load balancing, and promoting robust data access via alternative routes.
  • Alternatively or additionally, the same storage manager 105 may control two or more storage operation cells 150 (whether or not each storage operation cell 150 has its own dedicated storage manager 105). Moreover, in certain embodiments, the extent or type of overlap may be user-defined (through a control console) or may be automatically configured to optimize data storage and/or retrieval.
  • The clients 130, as part of their function, may utilize data, which includes files, directories, metadata, and other data objects. The data on the clients 130 is typically a primary copy (e.g., a production copy). During a copy, backup, archive or other storage operation, the clients 130 may send a copy of some data objects to a secondary storage computing device 165 by utilizing one or more data agents 195.
  • The data agent 195 may be a software module or part of a software module that is generally responsible for storage operations, such as copying, archiving, migrating, and recovering data from client 130 stored in data store 260 or other memory location. Each client 130 may have at least one data agent 195, and the system can support multiple clients 130. Data agent 195 may be distributed between client 130 and storage manager 105 (and any other intermediate components), or it may be deployed from a remote location or its functions approximated by a remote process that performs some or all of the functions of data agent 195.
  • The overall system may employ multiple data agents 195, each of which may back up, migrate, archive, and recover data associated with a different application.
  • For example, different individual data agents 195 may be designed to handle Microsoft Exchange data, Lotus Notes data, Microsoft Windows 2000 file system data, Microsoft Active Directory Objects data and other types of data known in the art. Other embodiments may employ one or more generic data agents 195 that can handle and process multiple data types rather than using the specialized data agents described above.
  • If a client 130 has two or more types of data, one data agent 195 may be required for each data type to copy, archive, migrate, and restore the data of the client 130. Alternatively, the overall system may use one or more generic data agents 195, each of which may be capable of handling two or more data types. For example, one generic data agent 195 may be used to back up, migrate, and restore Microsoft Exchange 2000 Mailbox data and Microsoft Exchange 2000 Database data while another generic data agent 195 may handle Microsoft Exchange 2000 Public Folder data and Microsoft Windows 2000 File System data, etc.
  • The data agents 195 may be responsible for arranging or packing data to be copied, transferred, or migrated into a certain format such as an archive file format. Nonetheless, it will be understood that this represents only one example, and any suitable packing or containerization technique or transfer methodology may be used if desired. Such an archive file may include a metadata list of files or data objects copied in metadata, the file, and data objects themselves. Moreover, any data moved by the data agents may be tracked within the system by updating indexes associated with appropriate storage managers 105 or secondary storage computing devices 165. As used herein, a file or a data object refers to any collection or grouping of bytes of data that can be viewed as one or more logical units.
  • The network client agent 255 may be a software module, part of a software module, and/or may comprise hardware that generally provides the client 130 with the ability to communicate with other components within the system, such as storage manager 105, other clients 130, and secondary storage computing devices 165. Network client agent 255 may permit communication via one or more proprietary and/or non-proprietary network protocols, notably to cloud-based storage, as described herein.
  • Generally speaking, the storage manager 105 may be a software module or other application that coordinates and controls storage operations performed by storage operation cell 150. Storage manager 105 may communicate with some or all elements of storage operation cell 150 including clients 130, data agents 195, secondary storage computing devices 165, and storage devices 115 to initiate and manage system backups, migrations, data recovery, and other storage operations.
  • Storage manager 105 may include a jobs agent 220 that monitors the status of some or all storage operations previously performed, currently being performed, or scheduled to be performed by storage operation cell 150, including storage jobs sent to cloud-based storage. Jobs agent 220 may be communicatively coupled to interface agent 225 (e.g., a software module or application). Interface agent 225 may include information processing and display software, such as a graphical user interface (“GUI”), an application programming interface (“API”), or other interactive interface through which users and system processes can retrieve information about the status of storage operations. Through interface agent 225, users may optionally issue instructions to various storage operation cells 150 regarding the performance of the storage operations as described and contemplated herein. For example, a user may modify a schedule concerning the number of pending snapshot copies or other types of copies scheduled as needed to suit particular requirements. As another example, a user may employ the GUI to view the status of pending storage operations in some or all of the storage operation cells 150 in a given network or to monitor the status of certain components in a particular storage operation cell 150 (e.g., the amount of storage capacity left in a particular storage device 115). In some embodiments, users or other system processes may retrieve information or issue commands by employing API commands sent to the interface agent via the network agent 235.
  • The storage manager 105 may also include a management agent 233 that is typically implemented as a software module or application program. In general, management agent 233 provides an interface that allows various management agents 233 in other storage operation cells 150 to communicate with one another. For example, assume a certain network configuration includes multiple storage operation cells 150 adjacent to one another or otherwise logically related in a WAN or LAN configuration. In this arrangement, each storage operation cell 150 may be connected to the other through a respective interface agent 225. This allows each storage operation cell 150 to send and receive certain pertinent information from other storage operation cells 150, including status information, routing information, information regarding capacity and utilization, etc. These communications paths may also be used to convey information and instructions regarding storage operations. The storage operation cells 150 can be organized hierarchically such that hierarchically superior cells control or pass information to hierarchically subordinate cells or vice versa.
  • Storage manager 105 may also maintain a management index 211, database, or other data structure. The data stored in management index 211 may be used to indicate logical associations between components of the system, user preferences, management tasks, media containerization and data storage information or other useful data. For example, the storage manager 105 may use data from management index 211 to track the logical associations between secondary storage computing device 165 and storage devices 115 (or the movement of data as containerized from primary to secondary storage). In the case of cloud-based storage, the management index may indicate which cloud-based storage site(s) stores which data set.
  • Storage manager 105 may also include a network agent 235 that is typically implemented as a software module or part of a software module. In general, network agent 235 provides the storage manager 105 with the ability to communicate with other components within the system, such as clients 130, data agents 195, and secondary storage computing devices 165. As with the network client agents 255, the network agents 235 may permit communication via one or more proprietary and/or non-proprietary network protocols. Network agent 235 may be communicatively coupled to management light index 245, management index 211, jobs agent 220, management agent 233, and interface agent 225.
  • Generally speaking, the secondary storage computing device 165, which may include or be a media agent, may be implemented as a software module that conveys data, as directed by storage manager 105, between a client 130 and one or more physical storage devices 115, such as a tape library, a magnetic media storage device, an optical media storage device, a cloud storage site, or any other suitable storage device. In one embodiment, secondary storage computing device 165 may be communicatively coupled to and control a storage device 115. A secondary storage computing device 165 may be considered to be associated with a particular storage device 115 if that secondary storage computing device 165 is capable of routing and storing data to that particular storage device 115.
  • In operation, a secondary storage computing device 165 associated with a particular storage device 115 may instruct the storage device 115 to use a robotic arm or other retrieval means to load or eject a certain storage media. Secondary storage computing device 165 may also instruct the storage device 115 to archive, migrate, restore, or copy data to or from the storage device 115 or its associated storage media. Secondary storage computing device 165 may also instruct the storage device 115 to delete, sparsify, destroy, sanitize, or otherwise remove data from the storage device 115 or its associated storage media. Secondary storage computing device 165 may communicate with a storage device 115 via any suitable communications path, including SCSI, a Fibre Channel communications link, or a wired, wireless, or partially wired/wireless computer network, including the Internet. In some embodiments, the storage device 115 may be communicatively coupled to the storage manager 105 via a storage area network (SAN).
  • A secondary storage computing device 165 may also include at least one media file system agent 240. Each media file system agent 240 may be a software module or part of a software module that is generally responsible for archiving, migrating, restoring, accessing, reading, writing, moving, deleting, sanitizing, or otherwise performing file system and data storage operations on various storage devices 115 of disparate types. For example, media file system agent 240 may be configured to permit secondary storage computing device 165 to open, read, write, close, and delete data on cloud storage sites or storage devices 115 having optical, magnetic, or tape media.
  • A secondary storage computing device 165 may also include a network agent 235 similar or identical to that described previously. Generally, network agent 235 provides the secondary storage computing device 165 with the ability to communicate with other components within the system, such as other secondary storage computing devices 165, storage manager 105, clients 130, data agents 195, and storage devices 115. Network agent 235 generally provides communication via one or more proprietary and/or non-proprietary network protocols.
  • A secondary storage computing device 165 may also include a content indexing component 205 to perform content indexing of data in conjunction with the archival, restoration, migration, or copying of data, or at some other time. Content indexing of data is described in greater detail herein. Each secondary storage computing device 165 may maintain an index, a database, or other data structure (referred to herein as “secondary storage index” or “SS index” 261) that may store index data generated during backup, migration, restoration, and other storage operations for secondary storage (“SS”) as described herein, including creating a metabase (MB). For example, performing storage operations on Microsoft Exchange data may generate index data. Such index data provides a secondary storage computing device 165 or other external device with an efficient mechanism for locating data stored or backed up. Thus, an SS index 261 and/or a management index 211 of a storage manager 105 may store data associating a client 130 with a particular secondary storage computing device 165 or storage device 115, for example, as specified in a storage policy, while an SS index 261, metabase, database, or other data structure in secondary storage computing device 165 may indicate where specifically the data of the client 130 is stored in storage device 115, what specific files were stored, and other information associated with storage of the data of the client 130. In some embodiments, such index data may be stored along with the data backed up in a storage device 115, with an additional copy of the index data written to index cache in a secondary storage device 165. Thus the data is readily available for use in storage operations and other activities without having to be first retrieved from the storage device 115.
  • Generally speaking, information stored in cache is typically information that reflects certain particulars about operations that have recently occurred. After a certain period of time, this information is sent to secondary storage and tracked. This information may need to be retrieved and uploaded back into a cache or other memory in a secondary computing device before data can be retrieved from storage device 115. In some embodiments, the cached information may include information regarding the format or containerization of archives or other files stored on storage device 115.
  • A secondary storage computing device 165 may also include a deduplication database 297 to perform deduplication of data in conjunction with the archival, restoration, migration, or copying of data, or at some other time. The secondary storage computing devices 165 may also maintain one or more deduplication databases 297. Single instancing is one form of deduplication and generally refers to storing in secondary storage only a single instance of each data object (or each data sub-object or each data block) in a set of data (e.g., primary data). More details as to single instancing may be found in one or more of the following commonly assigned U.S. patent applications: 1) U.S. Pat. Pub. No. 2006-0224846 (entitled SYSTEM AND METHOD TO SUPPORT SINGLE INSTANCE STORAGE OPERATIONS, Attorney Docket No. 60692-8023US00); 2) U.S. Pat. Pub. No. 2009-0319585 (entitled APPLICATION-AWARE AND REMOTE SINGLE INSTANCE DATA MANAGEMENT, Attorney Docket No. 60692-8056US00); 3) U.S. Pat. Pub. No. 2009-0319534 (entitled APPLICATION-AWARE AND REMOTE SINGLE INSTANCE DATA MANAGEMENT, Attorney Docket No. 60692-8057US00), 4) U.S. Pat. Pub. No. 2008-0243879 (entitled SYSTEM AND METHOD FOR STORING REDUNDANT INFORMATION, Attorney Docket No. 60692-8036US02); and 5) U.S. Pub. App. No. 2008-0229037 (entitled SYSTEMS AND METHODS FOR CREATING COPIES OF DATA, SUCH AS ARCHIVE COPIES, Attorney Docket No. 60692-8037US01).
  • Another form of deduplication is variable instancing, which generally refers to storing in secondary storage one or more instances, but fewer than the total number of instances, of each data block (or data object or data sub-object) in a set of data (e.g., primary data). More details as to variable instancing may be found in the commonly assigned U.S. Pat. App. No. 61/164,803 (entitled STORING A VARIABLE NUMBER OF INSTANCES OF DATA OBJECTS, Attorney Docket No. 60692-8068US00). The deduplication module 299 and deduplication database 297 are described in greater detail herein.
  • As shown in FIG. 2, clients 130 and secondary storage computing devices 165 may each have associated metabases or indices (270 and 261, respectively). However, in some embodiments, each “tier” of storage, such as primary storage, secondary storage, tertiary storage, etc., may have multiple metabases/indices or a centralized metabase/index, as described herein. For example, rather than a separate metabase or index associated with each client in FIG. 2, the metabases/indices on this storage tier may be centralized. Similarly, second and other tiers of storage may have either centralized or distributed metabases/indices. Moreover, mixed architecture systems may be used if desired, that may include a first tier centralized metabase/index system coupled to a second tier storage system having distributed metabases/indices and vice versa, etc.
  • Moreover, in operation, a storage manager 105 or other management module may keep track of certain information that allows the storage manager to select, designate, or otherwise identify metabases/indices to be searched in response to certain queries as further described herein. Movement of data between primary and secondary storage may also involve movement of associated metadata and index data and other tracking information as further described herein.
  • In some embodiments, management index 211 and/or SS index 261 may provide content indexing of data generated during backup, migration, restoration, and other storage operations. In this way, management index 211 and/or SS index 261 may associate secondary storage files with various attributes, characteristics, identifiers, or other tags or data classifications associated with the file content. In such embodiments, a user of storage operation cell 150 may search for content within the storage operation cell via the interface agent 225. Methods of performing content indexing and searching, including collaborative searching, within a storage operation cell 150 are described in the commonly assigned U.S. Patent Publication Nos. 2008-0091655 (entitled METHOD AND SYSTEM FOR OFFLINE INDEXING OF CONTENT AND CLASSIFYING STORED DATA, Attorney Docket No. 60692-8046US) and 2008-0222108 (entitled METHOD AND SYSTEM FOR COLLABORATIVE SEARCHING, Attorney Docket No. 60692-8047US1).
  • In some embodiments, storage manager 105 may also include or be operably coupled to a management light index 245 that may store index data, metadata, or other information generated during backup, migration, restoration, or other storage operations. The management light index 245 provides storage manager 105 and other components with an alternate mechanism for locating data stored or backed up, so that they may more rapidly respond to client 130 or other requests received via HTTP or similar protocols that are susceptible to time-outs.
  • Management light index 245 may store some subset of the information contained in management index 211, SS index 261, client metabase 270 and/or other information. For example, the management light index 245 comprises the following information about each data file in the storage operation cell 150: a file name or other descriptor, a descriptor for the client 130 or sub-client associated with the file (typically the client 130 that created the file), the size of the file, the storage location of the file (including the storage device, associated secondary storage computing devices 165 and/or other index data), file type (e.g., file extension or descriptor to associate an application with the file), etc. In some embodiments, the management light index 245 may comprise additional information, such as limited content information. Within the management light index 245, each data file may also be associated with a token that uniquely identifies the data file. In some embodiments, however, the token may not be unique for all data files in the management light index 245; instead, the combination of the token with another data field (e.g., the associated client 130) may be unique.
  • During the operation of the storage operation cell 150, management light index 245 may be populated or changed. For example, whenever a secondary storage operation is performed (due to a client 130 request, a scheduled job, the application of a storage policy, or otherwise), the management light index 245 may be updated by the storage manager 105, secondary storage computing device 165, or other system component responsible for performing some or all of the storage operation. For example, if a client 130 (or its data agent 195) requests the creation of a backup, archival, or other secondary copy, the secondary storage computing device 165 (e.g. cloud-based storage site) creating that secondary copy may create one or more new entries in the management light index 245 reflecting the name, location, size, and client 130 associated with the newly created secondary copy. As another example, if due to an ILM storage policy, a file is migrated from a first storage device 115 to a second storage device 115, a secondary storage computing device 165 may update the management light index 245 to reflect the new location of the file.
  • In one example, the management light index 245 may only be populated with information regarding data files that originated from clients 130 that connect to the storage operation cell 150 via certain network protocols. For example, the management light index 245 may only be populated with information regarding data files that originated from clients 130 that connect to the storage operation cell 150 via the HTTP protocol.
  • The secondary storage computing device 165 may include or be operably coupled to a secondary storage light index 247 (“SS light index”). Typically SS light index 247 comprises a subset of the information included in management light index 245. For example, SS light index 247 includes a subset of information pertaining to secondary storage data files stored in storage devices 115 associated with the secondary storage computing device 165. During the operation of the storage operation cell 150, SS light index 247 may be populated or changed in the same or similar manner as management light index 245.
  • The management light index 245 and SS light index 247 may be implemented in a non-relational database format, such as C-Tree from Faircom, Inc., SimpleDB from Amazon, Inc., or CouchDB from the Apache Software Foundation. In this way, the storage manager 105 may provide a faster response to client 130 or other requests than if it were to query management index 211, metabase 270 and/or SS index 261, and thus prevent time-outs when communicating via certain network protocols such as HTTP. Components of the storage operation cell 150 system, such as storage manager 150, may be configured to facilitate data storage provisioning and/or cost charge backs. In some implementations, the system may evaluate the state of stored data relative to enterprise needs by using weighted parameters that may be user defined, e.g., in order to facilitate the generation of or enforcement of a provisioning policy. In some implementations, the system may calculate data costing information and other information including information associated with the cost of storing data and data availability associated with storage operation cells, e.g., in order to facilitate charge backs. The system may identify network elements, associated characteristics or metrics with the network elements, receive additional data, such as SRM or HSM data, from storage operation cells, and correlate the additional data with the network elements to calculate a cost of data storage or an availability of data. In some implementations, data may be identified according to user, department, project, or other identifier. In other implementations, data availability or data cost is compared to a service level agreement (SLA). In some implementations, a prediction of media usage is generated according to data use, availability, or cost. Further details regarding provisioning and charge backs may be found in the commonly assigned U.S. application Ser. No. 12/015,470, filed Jan. 16, 2008, entitled “SYSTEMS AND METHODS FOR STORAGE MODELING & COSTING,” (Attorney Docket No. 606928020US1), which is hereby incorporated herein in its entirety.
  • In some implementations, storage manager 150 may comprise a management module configured to predict and plan future storage needs. The management module may receive information related to storage activities associated with one or more storage operation components within the storage operation cell under the direction of the storage manager component. The management module is adapted to predict storage operation resource allocations based on the received information related to the storage activities. Further details relating to the prediction of storage operation resource allocations may be found in the commonly assigned U.S. application Ser. No. 11/639,830, filed Dec. 15, 2006, entitled “System and Method for Allocation of Organizational Resources” (Attorney Docket No. 606928019US2), and U.S. application Ser. No. 11/825,283, filed Jul. 5, 2007, entitled “System and Method for Allocation of Organizational Resources” (Attorney Docket No. 606928019US3), which are hereby incorporated herein in their entirety.
  • In some implementations, components of the storage operation cell 150, may be configured to copy data of one or more virtual machines being hosted by one or more non-virtual machines (e.g., hosted by a cloud storage site 115A-N). Further details relating to copying data of virtual machines may be found in the commonly assigned U.S. application Ser. No. 12/553,294, filed Sep. 3, 2009, entitled “SYSTEMS AND METHODS FOR MANAGEMENT OF VIRTUALIZATION DATA,” (Attorney Docket No. 606928050US3), which is hereby incorporated herein in its entirety.
  • Network Agents
  • Network agent 235 may comprise one or more sub-processes or network subagents, which are typically implemented as a software module or part of a software module. Each network subagent may be responsible for managing communications between the network agent 235 and a remote device conducted via a particular network protocol, such as HTTP. Remote devices might include any component of the storage operation cell 150, such as clients 130, secondary storage computing devices 165, storage devices 115, storage managers 105 or other networked devices. Each network subagent may do some or all of the following: accept or initiate connections to remote devices; authenticate remote devices and/or specific users on remote devices; receive requests from remote devices; provide responses to remote devices; log requests and responses; detect or respond to network time-outs; compress or encrypt data; serve data or content to remote devices; redirect remote devices to other system components; call other applications, scripts, or system resources; and implement bandwidth throttling. Each network subagent may include instructions for interpreting routines, data structures, object classes, and/or protocols defined in a particular API or similar interface.
  • Typically, each subagent manages communications made via a particular network protocol. For example, each subagent manages communications utilizing a particular layer protocol, such as a transport layer protocol like Transport Control Protocol (“TCP”) from the TCP/IP (Internet Protocol). However, a subagent may additionally or alternatively manage one or more protocols from a layer other than the transport layer (e.g., application layer), more than one transfer layer protocol.
  • Typical network subagents, include an HTTP subagent, an FTP subagent, and a proprietary protocol subagent. An HTTP subagent may manage connections that utilize HTTP and/or HTTP over TLS/SSL (“HTTPS”). An FTP subagent may manage connections to the network agent 235 that utilize the FTP and/or secure FTP. A proprietary protocol subagent may manage connections that utilize a particular proprietary application-layer protocol. In some embodiments, the proprietary protocol subagent may be configured to facilitate a virtual private network connection running over an HTTPS protocol, or another type of open/secure pipe wrapped in an HTTPS protocol. Non-exclusive examples of other possible network subagents (not shown) include network subagents to implement the common internet file system (CIFS) protocol and the network file system (NFS) protocol.
  • Network Client Agents
  • Network client agents 255 are similar to the network agents 235. Typically, each network client subagent manages communications utilizing a network protocol, and is substantially similar to the network subagents described above. Thus, typical network client subagents include an HTTP client subagent, an FTP client subagent, a proprietary protocol client subagent, and a telecommunications protocol client subagent. An HTTP client subagent may be a web browser application configured to connect both to network client agents 255 as well as other resources such as general Internet or web servers. A telecommunications protocol client subagent may manage remote connections that utilize data transfer protocols supported by certain types of telecommunications networks, e.g., Global System for Mobile (GSM), code/time division multiple access (CDMA/TDMA), and/or 3rd Generation (3G) telecommunications networks. For example, telecommunications protocol client subagent may permit a user to initiate an HTTP connection by using an API associated with a mobile operating system such as Windows Mobile, BlackBerry OS, iPhone OS, Palm OS, Symbian, and Android.
  • Media File System Agent
  • Media file system agent 240 may comprise one or more media submodules. Each media submodule may permit the media file system agent 240 to perform basic file system commands (e.g., open, read, write, close, and delete) on a certain type of storage device 115, and/or to otherwise direct a certain type of storage device 115 to perform file system or storage operations. For example, the media file system agent 240 may comprise tape, optical and/or magnetic submodules to open, read, write, close, and delete data files on storage devices utilizing tape, optical and magnetic media, respectively. Media file system agent 240 may also comprise one or more cloud storage submodules 236 that permit the media file system agent 240 to open, read, write, close, and delete data files stored on cloud storage sites and/or otherwise direct cloud storage sites to perform data storage operations.
  • Cloud Storage Submodules: Vendor-Agnostic File System Calls, Buffering of Storage Requests, and Logging Cloud Storage Performance
  • Each cloud storage vendor associated with a particular cloud storage site 115A-N utilized by the system may provide an API that has vendor-specific implementation of basic file system calls. For example, each vendor API may prescribe a different functional call for opening/creating a new data file on the vendor's cloud storage site. Typically a cloud storage vendor API will utilize REST-based protocols. The system described herein may used a cloud storage submodule to map each generic file system command (e.g., an open command) to the various implementations of the command as defined in each of the APIs provided by the various cloud storage vendors. Using the mapping, a cloud storage submodule may convert a generic file system command received by the media file system agent 240 into the appropriate vendor-specific call for a target cloud storage site 115A-N. In this way, the cloud storage submodule permits the system to ignore implementation details of the various cloud storage sites 115A-N used by the system and simply treat each site in a manner analogous to local data storage media, such as local optical or tape media. In this manner, a cloud storage submodule may obviate the need for complex scripting or the addition of disparate cloud gateway appliances to write data to multiple cloud storage site targets. In this way, a cloud storage submodule 236 also presents clients 130 and other system components with a unified name space, even if the system is storing data on multiple cloud storage sites 115.
  • For example, the cloud storage submodule 236 includes an interface to translate the REST-based protocols of the Amazon S3 APIs, the Windows Azure APIs and the Rackspace APIs into generic commands for use with a file system such as Windows, Solaris, Unix or Linux. Thus, the cloud storage submodule converts the format and parameters of relevant storage vendor APIs, such as “open file” and “write file”, into a normalized or generic format for use with file systems. (The cloud storage submodule may likewise convert, if needed, the generic format into a format for specific file systems such as Windows, Linux, etc.) As shown in FIG. 2, the cloud storage submodule 236 may reside on media file system agent 140 located on the secondary storage computing device 165 to initiate file system and storage operations on cloud storage sites (including data transfers to and from a site). To initiate file system and storage operations, the cloud storage submodule 236 may invoke the network agent 235, via an HTTP subagent, an FTP subagent, or another type of network subagent, to open a suitable network connection to a target cloud storage site so that the cloud storage submodule may make various file system requests upon the target cloud storage site for storage operations via this network connection.
  • Some cloud storage site APIs may provide advanced functionality to manipulate files stored on a cloud storage site that extend beyond basic file system calls such as open, read, write. For example, cloud storage site APIs may provide commands for the encryption, compression and/or other advanced file operations. Cloud storage submodules may map generic advanced file operations (e.g., a generic encryption command) to the various implementations of the command as defined in each of the APIs provided by the various cloud storage vendors. As one example, a cloud storage site API may provide a command to encrypt a file located on the cloud storage site using an encryption method that does not result in the cloud storage site receiving a key (or does not result in the cloud storage site receiving or retaining other information sufficient to decrypt an encrypted file). For example, a cloud storage site API may permit storing encrypted data belonging to a client on a cloud storage site, together with an encrypted version of the encryption key that was used to encrypt the encrypted data. A password would be required from the client in order to decrypt the encrypted version of the encryption key stored on the storage system belonging to the application service provider. This is advantageous for the client, because it would prevent the application service provider from decrypting the data belonging to the customer, without the customer's permission.
  • Additionally, using the mapping, a cloud storage submodule 236 may permit other system components to direct one cloud storage site 115 to transfer some or all files to another cloud storage site 115, without first transferring the files back to the storage cell 150. In this way, the system may efficiently and effectively “fire” underperforming or expensive cloud storage sites 115 or otherwise adjust how it uses multiple cloud storage sites 115A-N. For example, if the system determines that a cloud storage site is underperforming, it may transfer files from the underperforming site to a different site that is meeting performance metrics specified in a storage policy.
  • When a cloud storage submodule 236 initiates file system and storage operations on a cloud storage site, it may determine or test and record (or report, e.g., to a storage manager 105) the performance achieved by the cloud storage site, such as the throughput of the site, the number of failures that occurred, the number of timeouts, speed of restores, speed of responses to queries, or other metrics. By determining the actual performance of cloud storage sites 115A-N, the storage operation cell 150 may adjust its classifications of various cloud storage sites 115 (e.g., as first-class storage, as second-class storage, etc.) dynamically or periodically. Additionally, on a periodic basis, the system may determine which cloud storage sites are underperforming so that it may transfer files from the underperforming site to a different site that is meeting performance metrics specified in a storage policy or take other suitable action (e.g., requesting a reduced storage price).
  • A cloud storage submodule 236 may also store and/or manage credentials or other authorization and connection information (e.g., site configuration settings, login information, certificates, etc.) that permit the cloud storage submodule to perform storage operations on a cloud storage site 115. To add a new cloud storage site 115 to the storage operation cell 150, the system may populate each cloud storage submodule with the appropriate configuration settings or credentials for the new site.
  • The cloud storage submodule 236, during a period of its operation, may receive a series of similar requests for the submodule to transfer data to a target cloud storage site (e.g., cloud storage site 115A); each individual request in the series may only involve a small amount of data (e.g., a few data blocks or a small data object such as an email). For example, since the system may utilize cloud storage submodule to transfer data to cloud storage sites 115A-N during containerized deduplication, it may receive a series of similar file requests (e.g., to write several small email data objects to the same target container file on the same target cloud storage site). To facilitate more efficient data transmission, which may occur over a lossy and/or latent WAN (such as the Internet), the cloud storage submodule may utilize two or more local buffers (e.g., buffers stored in local memory, such as local RAM) to manage the series of transfer requests. The buffers need not be large, and could be set in one embodiment to 128 k each, although larger buffers may of course be used, and the size of the various buffers used by the cloud storage submodule may be configurable by the user.
  • As an example, the cloud storage submodule 236 may maintain a first buffer that reflects the data transmitted in the last storage request from the cloud storage submodule to the target cloud storage site 115A. By maintaining the first buffer, the cloud storage submodule can easily and more quickly restart data transmission if the last request fails (e.g., due to packet loss/latency). In this example, the cloud storage submodule may maintain a second buffer that aggregates the data associated with various storage requests received by the cloud storage submodule from other system components (e.g., the deduplication module 299) since the cloud storage submodule began transmitting the last storage request to the target cloud storage site 115A. In this example, the contents of the second buffer may be sent as a second request to the cloud storage site 115A once the cloud storage submodule successfully transmits the last request and/or receives confirmation that the cloud storage site 115A successfully received the last request.
  • In this example, the size of the buffers may be adjusted to reflect relative network latency and network bandwidth. For example, a larger buffer size may be chosen if the network latency is high, so that more data may be added to the second buffer while the cloud storage submodule transmits the last request and/or awaits a response from the target cloud storage site 115-A regarding the last storage request. As another example, a smaller buffer size may be chosen if the network bandwidth is low, since the maximum transmission size imposed by TCP/IP protocols may be lower. Buffering a series of requests in this manner may improve transmission efficiency, since it may result in the transmission of less non-data (e.g., less transmission of padding zeros added to the transmission as a result of TCP/IP protocols).
  • FIG. 3A is a flow diagram illustrating a method 300 for writing data to cloud storage sites. A cloud storage submodule 236 or another system component may perform method 300 to provide other system components with vendor-agnostic file system calls and/or efficient data transmission to cloud storage sites 115A-N. At step 340, cloud storage submodule 236 receives a file system request to write data to a target cloud storage site 115A-N. For example, cloud storage submodule 236 may receive a request to write N blocks to a first container file located on a first cloud storage site. At step 350, cloud storage submodule 236 adds the received data (e.g., N blocks of data) to a buffer.
  • Although not shown, prior to step 350, cloud storage submodule 236 may first determine if the received request has sufficiently similar characteristics to other prior requests that are reflected in the buffer. For example, cloud storage submodule 236 may determine if the instant file system request has the same target file on the same target cloud storage site 115A-115N as other file system requests whose data is already stored in the buffer. If the request is not sufficiently similar, cloud storage submodule 236 may proceed to step 370 instead. Cloud storage submodule 236 may also allocate a new buffer and initiate a new parallel process 300 to handle the latest request using the new buffer. Additionally, although not shown, prior to step 350, cloud storage submodule 236 may determine if the file system request relates to a set of data exceeding the buffer size (or another threshold size). If the related set of data is larger than the threshold size, the cloud storage submodule 236 may simply convert the received file system request to one or more vendor-specific API calls and transmit the set of data separately from the other buffered requests before proceeding to step 340. For example, a received 2 MB file may bypass the buffering and simply proceed on in the process.
  • At decision step 360, cloud storage submodule 236 determines if the buffer is full. If it is not full, steps 340-360 are repeated. For example, cloud storage submodule 236 may receive a request to store M additional blocks to the same file and add these M blocks of data to the buffer. If the buffer is full at decision step 360, cloud storage submodule 236 proceeds to step 370. At step 370, cloud storage submodule converts the received file system requests to one or more vendor-specific API calls. For example, using the mapping described herein, cloud storage submodule may identify the calls from the target cloud storage site API that cause the target cloud storage site to (1) open a target file on the target cloud storage site for writing, and (2) write the received and buffered data to the target file. At step 380, cloud storage submodule transmits the buffer using the vendor-specific API calls. To transmit the buffer, cloud storage submodule may utilize a network agent 235 to establish an HTTP, HTTPS, and/or other suitable network connection to the target cloud storage site. At step 390, generally after waiting a sufficient time for a response from the target cloud storage site, cloud storage submodule determines if the transmission was successful. If it was successful, process 300 returns. Otherwise, steps 380 and 390 are repeated and the data is re-transmitted.
  • Although not shown in FIG. 3A, while cloud storage submodule 236 is performing steps 380-390, it may also allocate a new buffer to manage new file system requests and may initiate a parallel process 300 to manage these new file system requests using the new buffer.
  • Cloud storage submodule 236 may be configured to permit a direct interface to cloud storage sites 115A-N by presenting cloud storage sites to a user or system in the same manner as a local storage volume. For example, a cloud storage submodule 236 operating on a computing device may permit the operating system of that computing device to “mount” a cloud storage site as a storage volume or otherwise provide an interface to have the cloud storage site display to the operating system of the computer as a locally attached drive (similar to network attached storage (NAS)). Cloud storage submodule 236 may further permit the operating system to make various file system requests upon the mounted cloud storage site in a manner analogous to local disk storage. In such implementations, cloud storage submodule 236 may be installed on clients 130 to facilitate easier utilization of remote cloud storage sites.
  • Migrating or Copying Data to Secondary Storage, Including Secondary Cloud Storage
  • FIG. 3B shows a flow diagram illustrating a suitable routine 300 for migrating or copying data into an archive format in secondary storage, including secondary cloud storage. In step 310, the system receives a copy of an original data set from a file system. Alternatively, the system may access the copy or otherwise communicate with data storage components in a data storage system to gain access to the data to be copied.
  • At step 310 (or at any other suitable point in routine 300), the system may check the original data set against any audit policies applicable to the data set to determine if the data set comprises one or more sensitive objects and whether the migration or copying of sensitive objects to secondary storage requires approval by a reviewer or other action. If approval or other action is required, the system may take appropriate steps in accordance with the applicable audit policy, such as notifying a reviewer of the sensitive object and pausing the routine 300 until the system receives an indication that the reviewer approves of the migration/copying. As another example, the system may continue to perform routine 300, but only for the non-sensitive data objects in the data set. If the system receives an indication that the reviewer does not approve of the migration/copying of a sensitive object, the system may take other steps in accordance with the applicable audit policy. For example, the system may break the set into two or more data subsets (one containing no sensitive objects) and store the data subsets that have sensitive objects in an archive format at a suitable alternative secondary storage location (e.g., a local storage device 115).
  • In step 320, the system may index the data in the copy. For example, the system may index the content of the data as described herein. In step 330, the system may perform deduplication upon the data, by removing duplicate instances of files, data objects, blocks, sub-objects, and other information, and storing deduplicated data (or “dehydrated data”) in secondary cloud storage, typically in an archive file format. Although not shown explicitly, in some embodiments, the indexing of the data at block 320 may occur after deduplication of the data at block 330, in order to reduce the volume of data that the system must index. Indexing, deduplication, and storing deduplicated data for cloud storage are described in greater detail herein, beginning with deduplication and followed by indexing.
  • Although not shown, the system may encrypt the data before or after a secondary copy or archival copy is created. For example, the system may employ many different techniques for encrypting the archive copy, including encryption techniques that satisfy Federal Information Processing Standards (FIPS). Further details about encryption and encrypting archive copies of data may be found in commonly assigned U.S. Patent Publication No. US2008-0320319A1, filed on Mar. 31, 2008, entitled SYSTEM AND METHOD FOR ENCRYPTING SECONDARY COPIES OF DATA (Attorney Docket No. 60692-8041US3). Additionally, although not shown, the system may compress the data before or after a secondary copy or archival copy is shown. For example, the system may employ many different well-known techniques or applications for compressing data, including Lempel-Ziv (LZ) techniques, DEFLATE techniques, and LZ-Renau (LZR) techniques.
  • In some implementations, the techniques described herein may be utilized to make secondary disk copies to disaster recovery (DR) locations using auxiliary copy or replication technologies as noted above.
  • In some examples, the techniques described herein may be used on copies of data created by replication operations such as CDR (Continuous Data Replication) and DDR (Discrete Data Replication). For example, for data protected by a replication operation, multiple Consistent Recovery Points (CRPs) are established, and the replicated data can analyzed at such CRPs. To create a CRP, the system suspends writes to the data, and makes a copy of the data. The system then transfers that copy to another location, such as to one of the cloud storage sites. Further details on CDR may be found in the assignee's U.S. Pat. No. 7,651,593, entitled “SYSTEMS AND METHODS FOR PERFORMING DATA REPLICATION”.
  • Deduplication
  • Referring to FIG. 4, the deduplication module 299 includes various components that perform various functions associated with deduplication, some of which are described below. More details may be found in the assignee's U.S. Pat. Pub. No. 2008-0243958, entitled SYSTEM AND METHOD FOR STORING REDUNDANT INFORMATION (Attorney Docket No. 60692-8036US05), the entirety of which is incorporated by reference herein. These components include a data object identification component 410, an identifier generation component 420, an identifier comparison component 425, and a criteria evaluation component 430. The data object identification component 410 identifies files, data objects, sub-objects, or blocks, such as in response to a storage operation. The identifier generation component 420 generates an identifier for the file, data object, sub-object, or block (identifiers are discussed in more detail below) The identifier comparison component 425 performs comparisons of identifiers of various files, data objects, sub-objects, or blocks to determine if the files, data objects, sub-objects, or blocks contain similar data (for example, the identifier comparison component 425 can compare identifiers of two or more files, data objects, sub-objects, or blocks to determine if the files or data objects contain the same data, metadata such as access control lists (ACLs), descriptive metadata that describes the files, data objects, sub-objects, or blocks (e.g., file name, file size, file author, etc.) of the two or more files, data objects, sub-objects, or blocks). The criteria evaluation component 430 evaluates aspects of files, data objects, sub-objects, or blocks against a set of criteria. The deduplication module 299 may also contain other components that perform other functions.
  • Examples of identifiers include a hash value, message digest, checksum, digital fingerprint, digital signature, or other sequence of bytes that substantially uniquely identifies the file or data object in the data storage system. For example, identifiers could be generated using Message Digest Algorithm 5 (MD5) or Secure Hash Algorithm SHA 512. In some instances, the phrase “substantially unique” is used to modify the term “identifier” because algorithms used to produce hash values may result in collisions, where two different data objects, when hashed, result in the same hash value. However, depending upon the algorithm or cryptographic hash function used, collisions should be suitably rare and thus the identifier generated for a file or data object should be unique throughout the system. The term “probabilistically unique identifier” may also be used. In this case, the phrase “probabilistically unique” is used to indicate that collisions should be low-probability occurrences, and, therefore, the identifier should be unique throughout the system. In some examples, data object metadata (e.g., file name, file size) is also used to generate the identifier for the data object.
  • The hash values may also be used to verify data transferred to a cloud storage site. For example, a file may first be locally hashed at a client to create a first hash value. The file may then be transferred to the cloud storage site. The cloud storage site in turn similarly creates a hash value and sends this second hash value back. The client may then compare the two hash values to verify that the cloud storage site properly received the file for storage. As explained herein, various system components, from the client, to storage cell components, to cloud gateways, to cloud storage sites themselves may perform such hashing and generation of hash values for verification.
  • Object-Level Deduplication
  • The deduplication module 299 may conduct object-level deduplication as follows before transferring data to cloud storage sites 115. (Further details may be found in the assignee's U.S. Pat. Pub. No. 2009-0319585, entitled APPLICATION-AWARE AND REMOTE SINGLE INSTANCE DATA MANAGEMENT (Attorney Docket No. 60692-8056US00).) First, the deduplication module 299 generates an identifier for a data object. After generating the identifier for a data object, the deduplication module 299 determines whether it should be stored to the cloud storage site 115 as a secondary copy (e.g., a backup copy) of the data of the clients 130. To determine this, the deduplication module 299 accesses the deduplication database 297 to check if a copy or sufficient number of copies or instances of the data object have already been appropriately stored on a cloud storage site 115. The deduplication database 297 utilizes one or more tables or other data structures to store the identifiers of the data objects that have already been stored on a cloud storage site 115. In one implementation, the system may store multiple copies of a data object, but only one copy of the data object with each of multiple, different cloud storage sites, and the data structure described herein facilitates that process.
  • If an insufficient number of copies or instances of the data object have already been appropriately stored on a cloud storage site 115, the deduplication module 299 sends the data object to one of the cloud storage site 115 for storage and adds its identifier to the deduplication database 297 (or if an instance already existed, the deduplication module 299 may add a reference, e.g., to an index in the deduplication database 297, such as by incrementing a reference count in the index). The deduplication module may also store in the deduplication module 297 a URL, link, path or identifier of the location or identity of the particular cloud storage site if multiple sites are being used.
  • If a sufficient number of instances have been appropriately stored, the deduplication module 299 can avoid sending another copy to the cloud storage site 115. In this case, the deduplication module 299 may add a reference (e.g., to an index in the deduplication database 297, such as by incrementing a reference count in the index) to the already stored instance of the data object, and may only store a pointer to the data object on the cloud storage site 115. The link or pointer may comprise a URL to a data object or file within a cloud storage site 115A-N. As explained below, adding a reference to the already stored instance of the data object enables the storage of only a single instance of the data object (or fewer instances of the data object) while still keeping track of other instances of the data object that do not need to be stored.
  • In some examples, instead of the clients 130 sending the data objects to the deduplication module 299 and the deduplication module 299 generating the identifiers, the clients 130 can themselves generate an identifier for each data object and transmit the identifiers to the deduplication module 299 for lookup in the deduplication database 297. This example may be useful if the clients were to send data directly to the cloud storage site 115, and thus deduplicating data before sending it can conserve time and bandwidth, and storage resources at the cloud storage site (which may charge based on amount of data stored.) If the deduplication module 299 determines that a sufficient number of instances of a data object have not already been appropriately stored on a cloud storage site 115, the deduplication module 299 can instruct the client 130 to send it a copy of the data object, which it then stores on the cloud storage site. In this example, the deduplication module may reside on a server to which the client is connected (e.g. over a LAN or secure WAN). Alternatively, the client 130 itself can send the copy of the data object to the cloud storage site 115, in which case the client may have the deduplication module 299 residing on the client. In some examples, the deduplication module 299 generates the identifier on data already stored on the cloud storage site 115 or on other cloud storage sites (e.g., secondarily stored data is deduplicated).
  • The deduplication module 299 can support encrypted data objects. For example, one client 130 could generate an identifier for a data object, and then encrypt it using one encryption algorithm. Another client 130 could generate an identifier for another data object, and then encrypt it using another encryption algorithm. If the two data objects are identical (meaning the two objects have the same data, while their metadata, such as ACLs or descriptors, could be different), they will both have the same identifier. The deduplication module 299 can then store both encrypted instances of the data object or only a single encrypted instance (or a reduced number of encrypted instances). In some examples, the deduplication module 299 stores a key or other mechanism to be used to encrypt and/or decrypt data. The deduplication module 299 can also support compressed data objects. In general, the same compression algorithm may be used to compress data objects. Therefore, the deduplication module 299 can generate an identifier for a data object before or after it has been compressed.
  • Data Structures for Object-Level Deduplication
  • Some details will now be provided of suitable object, sub-object level and block level deduplication that the system may employ. Further details may be found in the assignee's U.S. patent application Ser. No. 12/565,576, filed Sep. 23, 2009, entitled “Systems and Methods for Managing Single Instancing Data” and the assignee's U.S. patent application Ser. No. 12/553,199, filed Sep. 3, 2009, entitled “TRANSFERRING OR MIGRATING PORTIONS OF DATA OBJECTS, SUCH AS BLOCK-LEVEL DATA MIGRATION OR CHUNK-BASED DATA MIGRATION” (Attorney Docket No. 60692.8065US1). FIGS. 5A and 5B are block diagrams illustrating various data structures which aspects of the invention may utilize for deduplicating and storing copies or instances of data objects on the cloud storage site 115. FIG. 5A illustrates a data structure 500 used in a storage operation. For the storage operation, a chunk folder 502 is created on the cloud storage site 115. Contained within the chunk folder are three files: 1) a metadata file 504; 2) an “N” file 506; and 3) a single instance, or “S” file 508. The three files are each logical containers of data. The “S” file stores deduplicated data (e.g., deduplicated files). The “N” file stores' data that is not deduplicated (e.g., metadata, such as descriptive metadata associated with deduplicated files). The metadata file stores references to the location(s) of data objects in the “S” file and the “N” file. Note that although three container files are shown (S, N, and index), in some embodiments a chunk folder may comprise more than one “S” file (e.g., S1, S2 . . . Sy, where y is an integer) to store deduplicated data and/or more than one “N” file (e.g., N1, N2 . . . Nz, where z is an integer). While described as being stored on the cloud storage site 115, the “N” and metadata files may alternatively or additionally be stored elsewhere, such as on the secondary storage computer device 165 and/or storage manager 105.
  • The chunk folder 502 and the files 504-508 may be equivalent to a directory and files (or folder and files) on a file system. For example, the chunk folder 502 may be a directory and the files 504-508 may be files located within the directory. As another example, the chunk folder 502 may be a file and the files 504-508 may be portions of the file. As another example, the files 504-508 may be collections of blocks or bytes grouped together. Those of skill in the art will understand that the chunk folder 502 and the files 504-508 may be comprised in various data structures and are not limited to a directory and files within the directory.
  • The deduplication module 299 places data objects in the “S” file 508 that meet certain criteria for deduplication. These criteria may include the following: 1) that the data object has been determined to be data or of type data (as opposed to metadata or of type metadata); and 2) that the data object is larger than a pre-configured size, such as 64 Kb. Type data is generally the payload portion of a file or data object (e.g., a file's contents) and type metadata is generally the metadata portion of the file or data object (e.g., metadata such as file name, file author, etc.). This pre-configured size may be configurable by an administrator or other user with the appropriate permissions. For example, if the administrator wants all data objects of type data to be deduplicated, the administrator can set the pre-configured size to 0 Kb. As another example, if the administrator wants only data objects of type data greater than 128 Kb to be deduplicated, the administrator can set the pre-configured size to 128 Kb.
  • The deduplication module 299 determines if a data object meets these criteria by evaluating aspects of the data object (e.g., its type, its size) against the criteria. If so, the deduplication module determines if a sufficient number of instances of the data object have already been appropriately stored on the cloud storage site 115 (or elsewhere), which the deduplication module determines by generating or retrieving an identifier for the data object and looking up the identifier in the deduplication database 297. During this lookup, to determine whether other instances were appropriately stored, the deduplication database 297 may restrict the lookup to only those instances of the object stored on certain cloud storage sites 115 and/or certain classes of cloud storage sites 115. For example, the deduplication database 297 may restrict the lookup to those cloud storage sites 115 that would satisfy applicable storage policy parameters, such as class of storage used for the object. Additionally, during this lookup, the deduplication database 297 may restrict the lookup to only those instances of the object stored within a certain time frame. For example, the deduplication database 297 may restrict lookup only to those instances stored within secondary storage in the last seven years.
  • If a sufficient number of instances of the data object have already been appropriately stored on a cloud storage site 115, the deduplication module 299 places the data object in the “S” file 508. The deduplication module 299 may also apply other criteria that the data object must meet for deduplication (e.g., criteria based upon characterizing or classifying the data object using techniques such as those described in commonly assigned U.S. Pat. Pub. No. 2007-0185925 (entitled SYSTEMS AND METHODS FOR CLASSIFYING AND TRANSFERRING INFORMATION IN A STORAGE NETWORK, Attorney Docket No. 60692-8029US02), the entirety of which is incorporated by reference herein).
  • For each data object that is placed in the “S” file 508, the deduplication module 299 adds a reference to the data object in the metadata file 504, called an internal reference. For example, the internal reference may be a pointer or link to the location of the data object in the “S” file 508. As further described herein, the deduplication module 299 maintains a primary table that contains all the deduplication records of all data objects for which an identifier was created. The deduplication module 299 may add as the internal reference a record of the already stored instance of the data object from the primary table.
  • The deduplication module 299 places data objects in the “N” file 506 that do not meet the above criteria for deduplication. For example, a data object may be metadata (e.g., ACLs for a file that is placed in the “S” file, file descriptor information, etc.). In this case, the data object will be placed in the “N” file. As another example, a data object may be smaller than the pre-configured size, e.g., the data object is smaller than 64 Kb. In this case, the deduplication module 299 may incur too much overhead to generate its identifier and perform a lookup of the identifier in the deduplication database 297. Therefore, the data object is placed in the “N” file. As another example, a prior instance of an object may have been stored on tape and reflected in the deduplication database 297, but the storage policy applicable to the current data object requires disk storage. Therefore, the data object is placed in the “N” file 506. For each data object that is placed in the “N” file 506, the deduplication module 299 may also add a reference to the data object in the metadata file 504, called an internal reference. For example, the internal reference may be a pointer or link to the location(s) of the data object in the “N” file. A new “N” file may be created during each storage operation job.
  • FIG. 5B illustrates a data structure 510 that may be created as a result of one or more storage operations. The data structure 510 is similar to the data structure 500 illustrated in FIG. 5A, but now includes a second chunk folder 502′. For example, the deduplication module 299 may create the second chunk folder 502′ as a result of a second storage operation. Consider the situation where a single data object is subjected to two successive storage operations. The first storage operation would result in the creation of the first chunk folder 502 illustrated in FIG. 5A, with the single data object in a first “S” file 508, its metadata (e.g., ACLs) in a first “N” file 506, and any references to the single data object and its metadata in a first metadata file 504.
  • The second storage operation would result in the creation of the second chunk folder 502′ illustrated in FIG. 5B. As illustrated in FIG. 5B, the second chunk folder 502′ would have a second “N” file 506 containing the metadata (e.g., the ACLs of the single data object, regardless of whether they have changed) and a second metadata file 504. Instead of having a second “S” file 508, the second metadata file 504 would have a pointer 515 to the single data object contained in the first “S” file 508. Because an instance of the single data object is already contained within the first “S” file 508, there is no need for another instance of it to be contained within the second “S” file 508. However, there is a need to keep a record of the fact that the second storage operation involved an instance of the single data object. This is accomplished by the pointer 515 within the second metadata file 504.
  • In some cases, instead of always placing in the “N” file 508 data objects that do not meet the above criteria for deduplication, the deduplication module 299 generates an identifier for the data object, looks up the identifier in the deduplication database 297 to see if the data object has already been stored, and if not, places it in the “S” file 508. If the data object has already been stored, the deduplication module would then add a pointer to the location of the instance of the previously stored data object in the metadata file 504. For example, this variation on the process could be used to deduplicate metadata instead of always storing it in the “N” file 506.
  • FIG. 5C illustrates a data structure 520 for the metadata file 504. The data structure 520 consists of one or more stream headers 522 and stream data 524. The stream header 522 describes a data object contained in an “N” file 506 or an “S” file 508 (e.g., its location, its size, an offset within the file, etc.). The stream data 524 contains the pointer to the data object contained in the “N” file 506 or the “S” file 508. For example, the pointer may give its location within the “N” file 506 or the “S” file 508. The location of the data object may be given by offsets within the “N” file 506 or the “S” file 508. For example, its location may be given by a starting offset, and its length or size. As another example, its location may be given by a starting offset and an ending offset. As previously mentioned, the data object may be in an “S” file 508 in another chunk folder, and the stream data 524 would point to this “S” file in the other chunk folder (e.g., give its location in the “S” file in the other chunk folder). Each time the deduplication module 299 places a data object in the “S” file 508, the deduplication module 299 adds a stream header 522 and corresponding stream data 524 to the metadata file 504.
  • One advantage of the data structures 500, 510, 520 illustrated in FIGS. 5A through 5C and the techniques described herein is that they reduce the number of files stored on the file system of the cloud storage site 115. Thus, there are as little as three files created for each storage operation—the metadata file 504, the “N” file 506, and the “S” file 508. Therefore, a maximum number of files on the file system of the cloud storage site 115 may be as low as the number of storage operations performed by the deduplication module 299 multiplied by three. File systems of certain operating systems may have practical limits to the numbers of files that they can store that are well below their theoretical limits. For example, a file system may not, in practice, be able to store a number of files above a certain threshold without experiencing significant system degradation (which can be defined in numerous ways, such as an increase in seek time of randomly accessed media that is ten percent longer than normal, a delay in reads or writes on randomly accessed media, or in other ways).
  • By storing multiple data objects in a small number of container files (as few as two), the storing of each data object as a separate file on the file systems of the cloud storage site can be avoided. This reduces the number of files that would be stored on the file systems of the cloud storage site, thereby ensuring that the cloud storage site can adequately store the data of computing devices in the data storage network. Therefore, the file system of the cloud storage site may not necessarily have to contend with storing excessively large numbers of files, such as millions of files or more. Accordingly, these techniques enable very large numbers of data objects to be stored without regard to the limitations of the file system of the cloud storage site.
  • Further, separate files may be established for separate customers using the cloud storage site. So, the could storage site 115A may establish separate folders for each new customer who contracts to store data at the site, and thus that customer's data is logically segregated from data of other customers.
  • Even if the deduplication module 299 performs numerous storage operations using these data structures 500, 510, this will result in far fewer files on the cloud storage site 115 than storage operations where each involved data object is stored as a separate file. Another advantage is that the metadata files 504 could be used to replicate the data stored in the deduplication database 297 or reconstruct the deduplication database 297 if its data is ever lost or corrupted. This is because the metadata files 504 may store essentially the same information as what is stored in the deduplication database 297.
  • However, the storage of data objects in containers such as the “N” file 506 and the “S” file 508 may create additional complexities when it comes time to prune or delete data objects involved in previous storage operations. This is because the data objects are not stored as files on the file system and thus cannot be directly referenced by the file system. For example, consider a first storage operation, involving a first file and a second file, and a second storage operation, involving the first file and a third file, both occurring on the same day. Further consider that the first storage operation's files are eligible to be pruned after 15 days and the second storage operation's files are eligible to be pruned after 30 days. Using the techniques described herein, the first storage operation would store the first and second files in an “S” file 508 and the second storage operation would store a pointer to the first file in an “N” file 506 and the third file in another “S” file 508.
  • After 15 days have elapsed, the first and second files are eligible to be pruned. The first file is referenced by the “N” file 506 of the second storage operation and cannot yet be pruned. However, the second file, because it is not referenced by any “N” files 506 in any other storage operations, can be pruned. Using the metadata file 504 corresponding to the “S” file 508, the deduplication module 299 locates the second file within the “S” file 508. The deduplication module 299 can then instruct the operating system (e.g., a Windows operating system, a Unix operating system, a Linux operating system, etc.) of the cloud storage site 115 to convert the “S” file 508 into a sparse file. A sparse file is a well-known type of file having data within but not filling the file's logical space (e.g., at the beginning of the file and at the end of the file, and a hole or empty space in between). In converting the “S” file 508 into a sparse file, the portions corresponding to the second file may be zeroed out. These portions are then available for storage of other files or data objects by the operating system on cloud storage sites (e.g., on magnetic disks, but sparse files may be used on other types of cloud storage sites, such as tape or optical disks). Additionally or alternatively, the “S” file may be designated as a sparse file upon its creation.
  • After 30 days have elapsed, the first and third files are eligible to be pruned. Assuming that there are no intervening storage operations involving files that reference either of these files, both the first and third files can be pruned. The chunk folders 502 corresponding to the first and second storage operations can be deleted, thereby deleting the metadata files 204, the “N” files 506 and the “S” files 508 and recovering the space previously allocated for their storage. (The process for pruning data objects is discussed in greater detail with reference to, e.g., FIGS. 4 and 14.) Therefore, the data structures 500, 510, 520 illustrated in FIGS. 5A through 5C and the techniques described herein also allow for pruning data objects to recover space previously allocated to them on the cloud storage site 115.
  • Accordingly, the data structures 500, 510, 520 illustrated in FIGS. 5A through 5C and the techniques described herein enable the performance of storage operations cumulatively involving very large numbers of data objects, while still allowing for recovery of space allocated to these data objects when their storage is no longer required. For example, an administrator can back up numerous files across numerous clients and avoid storing redundant copies or instances of the files. The administrator can also easily recover space on the cloud storage site 115 when it is no longer required to store the files, for example, as according to a retention policy that indicates for how long files are to be stored on the cloud storage site 115. Accordingly, the data structures and techniques described herein enable the optimization of storage operations involving very large numbers of data objects.
  • After having been stored on the cloud storage site 115, files contained in chunk folders may be moved to secondary storage, such as to disk drives, cloud storage sites, or to tapes in tape drives. More details as to these operations may be found in the previously referenced U.S. Pat. Pub. No. 2008-0243958, entitled SYSTEM AND METHOD FOR STORING REDUNDANT INFORMATION (Attorney Docket No. 60692-8036US5). In moving chunk files to secondary storage, they may be converted into an archive file format. In some examples, the techniques described herein may be used to deduplicate data already stored on secondary storage.
  • FIG. 5D is an illustration of a data structure 540 for storing chunk folders and their container files in an archive file format. The archive file may be stored on various cloud storage sites, such as on disk drives, magnetic tapes, or cloud storage sites. The archive file includes a chunk 0 542 located at offset 0, a chunk 1 542 located at offset 5, a chunk 2 542 located at offset 10, a chunk 3 542 located at offset 15, and a chunk n located at offset 65. The offsets are in relation to the start of the archive file. More details as to a suitable archive file format may be found in the assignee's U.S. Pat. Pub. No. 2008-0229037, entitled SYSTEMS AND METHODS FOR CREATING COPIES OF DATA, SUCH AS ARCHIVE COPIES (Attorney Docket No. 60692-8037US01), the entirety of which is incorporated by reference herein. An archive file may be considered as a container of data objects.
  • Pruning Object-Level Deduplicated Data
  • Consider the example of a client for which a storage operation job was performed on Jan. 1, 2008, resulting in the creation of an archive file. A retention policy provides that the archive file has to be retained for 30 days. On Jan. 31, 2008, the archive file becomes prunable and thus can be deleted. Deleting the archive file may require deleting data stored in one or more chunks on one or more media. However, the archive file may not be able to be deleted if it is referenced by data objects within other archive files. This is to avoid orphaning data objects, e.g., by deleting a data object when it is still referenced in another archive file. The system keeps tracks of references to data objects in order to avoid orphaning data objects.
  • To assist in pruning, the deduplication database 299 maintains a primary table and a secondary table. The primary table contains all the single instance records of all data objects for which an identifier was created. For each record in the primary table, the secondary table contains a record that may reference the record in the primary table.
  • FIGS. 7A and 7B illustrate example primary and secondary tables 700, 750. The primary table 700 has a primary record ID column 710 that may contain primary keys, a file ID column 720 that contains an identifier of a file or data object (e.g., the identifier of the file or data object), and a location column 730 that contains the location of the file or data object (e.g., the archive file ID and its offset within the archive file). The primary table 700 may also contain other columns (not shown).
  • The secondary table 750 has a secondary record ID column 760 that may contain primary keys, an archive file ID column 765 that contains the archive file ID, a file column 770 that contains the same identifier of the file or data object as in the primary table 700, and a referenceIN column 775 that contains an identifier (in the form of an archive file ID and an offset) of a file or data object that references the archive file. The secondary table 750 also has a referenceOUT column 780 that contains an identifier (in the form of an archive file ID and an offset) of a referenced file or data object. The secondary table 750 may also contain other columns (not shown).
  • FIG. 6 is a flow diagram illustrating a process 600 for pruning a deduplication database 299 by pruning or deleting data objects stored in archive files, or entire archive files. As previously noted, archive files can be thought of as containers of data objects. The process 600 begins at step 605 where a selection of an archive file to be pruned is made. This selection can be made manually, such as by an administrator, or automatically, such as by the archive file aging out of a retention policy. At step 610, the media file system agent 240 performs a lookup of the archive file in the primary 700 and secondary tables 700, 750. At step 615, the media file system agent 240 determines if the archive file has references out (e.g., to other archive files).
  • If the archive file has references out, the process 600 continues to step 620, where the references out are deleted. At step 625, the media file system agent 240 determines if the archive files referenced by the references out have other references in. If there are no other references in, at step 630, the media file system agent 240 prunes the archive files referenced by the references out.
  • If the archive file does not have any references out (step 615), or if it does, and if the archive files referenced by the references out have other references in (step 625), the process 600 continues at step 635. At this step, the media file system agent 240 determines if the archive file has references in. If it does have references in, this means the archive file cannot be pruned. The process continues at step 640, where the media file system agent 240 deletes the references in. At step 645 the media file system agent 240 adds a reference to the archive file to a deleted archive file table (discussed below).
  • If the archive file does not have any references in (step 635), the media file system agent 240 prunes the archive file at step 650. The media file system agent 240 then creates an entry in the deleted archive file table for the pruned archive file (if there wasn't already an entry) and adds a deleted timestamp to the entry. If there is already an entry for the pruned archive file, the media file system agent 240 adds a deleted timestamp to the entry at step 655.
  • FIG. 7C illustrates an example deleted archive file table 752. The deleted archive file table 752 has a primary record ID column 754 that may contain primary keys, an archive file ID column 756 that contains an identifier of the archive file, a referenceIN column 758 that contains an identifier (in the form of an archive file ID and an offset) of a file or data object that references the archive file, and a deleted timestamp column 762 that contains a timestamp indicating when the archive file was deleted. In the case of an archive file that has not yet been deleted, the timestamp deleted column would be empty or null in the archive file's entry.
  • The process 600 will now be explained using the examples of the records shown in the primary and secondary tables 700, 750. At time T1, the process 600 begins. At step 605, the media file system agent 240 receives a selection of AF1 to prune. At step 610 the media file system agent 240 looks up AF1 in the primary and secondary tables 700, 750. At step 615, the media file system agent 240 determines that AF1 has a reference out, shown by entry 794 in the secondary table 750. (Entry 792 is shown in the secondary table 750 with strikethrough to indicate that it was previously deleted during an operation to prune AF0.) At step 620, the media file system agent 240 deletes this reference out by deleting entry 794 from the secondary table 750. At step 625, the media file system agent 240 determines if AF0 has any other references in. Since the only reference in for AF0 is from AF1 (which is to be pruned), AF0 does not have any other references in. At step 630, the media file system agent 240 then prunes AF0 and adds a timestamp indicating that AF0 was pruned at time T1 at entry 772 of the deleted archive file table 752.
  • At step 635, the media file system agent 240 determines if AF1 has any references in. AF1 has a reference in from AF3, shown in entry 796 of the secondary table 750. The media file system agent 240 thus cannot prune AF1. At step 640, the media file system agent 240 deletes the references in to AF1 by deleting entry 796 from the secondary table 750. At step 645, the media file system agent 240 adds entry 774 to the deleted archive file table 752, leaving the deleted timestamp blank. The blank timestamp indicates that AF1 should be pruned. The process 600 then concludes.
  • At time T2, the process 600 begins anew. At step 605, the media file system agent 240 receives a selection of AF3 to prune. At step 610, the media file system agent 240 looks up AF3 in the primary and secondary tables 700, 750. At step 615, the media file system agent 240 determines that AF3 has a reference out, shown by entry 798 in the secondary table 750, which references AF1. At step 620, the media file system agent 240 deletes entry 798 from the secondary table 750. At step 625, the media file system agent 240 determines if AF1 has any other references in. Since the only reference in for AF1 is from AF3 (which is to be pruned), AF1 does not have any other references in and can now be pruned. At step 630, the media file system agent 240 then prunes AF1 and adds a timestamp indicating that AF1 was pruned at time T2 at entry 774 of the deleted archive file table 752. This entry now indicates that AF1 has been pruned at time T2.
  • At step 635, the media file system agent 240 determines if AF3 has any references in. AF3 has no references in listed in the secondary table 750. The media file system agent thus can prune AF3. At step 650, the media file system agent 240 prunes AF3. At step 655, the media file system agent 240 adds the entry 776 to the deleted archive file table 752 with a deleted timestamp as T2. The process 600 then concludes.
  • The pruning process 600 thus enables the system to maximize available storage space for storing archive files by storing them efficiently and then deleting or pruning them when it is no longer necessary to store them. The pruning process 600 may have additional or fewer steps than the ones described, or the order may vary other than what is described. For example, instead of the media file system agent 240 adding a timestamp to an entry in the deleted archive file table 752 to indicate when the archive file was pruned, the media file system agent may simply delete the entry from the deleted archive file table 752. As another example, entries in the primary table 700 may also be deleted when the corresponding archive files are deleted. Those of skill in the art will understand that other variations are of course possible.
  • Sub-Object-Level Deduplication
  • Instead of deduplication of data objects, deduplication can be performed on a sub-object level in a substantially similar fashion to that described previously with respect to object-level deduplication. A sub-object is a set of blocks that forms a proper subset of all of the blocks within a file or data object. That is, for a file consisting of n blocks, the largest sub-object of the file comprises at most n−1 blocks. An object may thus comprise two or more sub-objects, and be a logical division of the data object. For example, a .pst file may include two or more sub-objects: a first sub-object that stores emails from a user's mailbox, and one or more sub-objects that stores attachments or other data objects associated with the user's mailbox (e.g. subfolders, shared folders, etc.) The deduplication module 299 may include an object division component (not shown) that divides data objects, such as files, into sub-objects. The object division component may receive files or objects, divide the files into two or more sub-objects, and then deduplicate the two or more sub-objects as described previously with respect to object-level deduplication.
  • The object division component may perform different processes when determining how to divide a data object. For example, the object division component may include indexing, header, and other identifying information or metadata in a first sub-object and the payload in other sub-objects. The object division component may follow a rules-based process when dividing a data object. The rules may define a minimum or maximum data size for a sub-object, a time of creation for data within a sub-object, a type of data within a sub-object, and so on.
  • For example, the object division component may divide a user mailbox (such as a .pst file) into a number of sub-objects, based on various rules that assign emails within the mailbox to sub-objects based on the metadata associated with the emails. The object division component may place an index of the mailbox (and its various subfolders) in a first sub-object and all emails for that mailbox in other sub-objects. The object division component may then divide the other sub-objects based on dates of creation, deletion or reception of the emails, size of the emails, sender of the emails, type of emails, and so on. Thus, as an example, the object division component may divide a mailbox as follows:
  • User1/Sub-object1 Index
    User1/Sub-object2 Sent emails
    User1/Sub-object3 Received emails
    User1/Sub-object4 Deleted emails
    User1/Sub-object5 All Attachments.

    Of course, other divisions are possible. Sub-objects may not necessarily fall within logical divisions. For example, the object division component may divide a data object based on information or instructions not associated with the data object, such as information about data storage resources, information about a target cloud storage site, historical information about previous divisions, and so on.
  • Once the division component has divided an object into sub-objects, deduplication of the sub-objects proceeds in substantially the same fashion as described previously with respect to object-level deduplication. To do this, the deduplication module determines, by analyzing data structures in the deduplication database in view of the sub-object's identifier, whether the sub-object of data is already stored on a cloud storage site. If it is, then the secondary storage computing device 1) stores a link to the already stored sub-object of data in a metadata file and 2) discards the sub-object of data from the memory buffer. If it is not already stored, then the secondary storage computing device 165 stores the sub-object of data in a container file. A link or pointer may comprise a URL to a data object or file within a cloud storage site 115A-N.
  • Block-Level Deduplication
  • Instead of deduplication of files, data objects or sub-objects, deduplication can be performed on a block level. Files can be broken into blocks and deduplicated by the deduplication module 299. Typically blocks are fixed sizes, such as 64 Kb or 128 Kb. In such embodiments, typically, the clients 130 will generate the identifiers, since distributed identifier generation may free up the deduplication module 299 to perform other operations (e.g., storing data, retrieving data, etc.). The clients 130 typically send the blocks of data and other data (e.g., metadata and/or the data that is not eligible for deduplication) in a data stream to the deduplication module 299. A deduplication module 299 receives blocks of data from the clients 130 and accesses a deduplication database 297 to determine whether a sufficient number of instances of each block have been appropriately stored. To do this, the system determines, by analyzing data structures in the deduplication database 297 in view of the block's identifier, the number of instances of each block of data that is already appropriately stored on a cloud storage site. During this lookup, to determine whether prior instances were appropriately stored, the system may only consider those instances of the object stored on certain cloud storage sites 115 and/or certain classes of cloud storage sites 115. For example, the deduplication module 299 may restrict the lookup to those cloud storage sites 115 that would satisfy storage policy parameters applicable to each block, such as class of storage used for the object (e.g. data security associated with a particular cloud storage site). Additionally, during this lookup, the deduplication database 297 may restrict the lookup to only those instances of a block stored within a certain time frame. For example, the deduplication database 297 may restrict lookup only to those instances stored within secondary storage in the last seven years.
  • If an appropriate number of instances of a block have already been appropriately stored, then the deduplication module 299 1) stores a link to the already stored block of data in a metadata file and 2) discards the block of data from the memory buffer. If it is not already stored, the deduplication module 299 stores the block of data in a container file. A link or pointer may comprise a URL to a block or file within a cloud storage site 115A-N.
  • Because the size of a block of data and associated metadata is typically less than the size of a memory buffer, the deduplication module 299 can keep a single block of data in a single memory buffer while it looks up its identifier in the deduplication database 297. This allows the deduplication module to avoid writing the block of data to a disk (an operation that is typically slower than storing the block of data in a RAM buffer) until the deduplication module determines that it needs to store the block of data in a container file on a cloud storage site. The deduplication module 299 stores data that is not eligible for deduplication in metadata files.
  • Alternatively, the clients 130 may transmit only the identifiers to the deduplication module 299 for lookup in the deduplication database 297. If the deduplication module 299 determines that an instance of a block has not already been stored on the cloud storage site 115, the deduplication module 299 can instruct the client 130 to send a copy of the block to the deduplication module, which it then stores on the cloud storage site 115. Alternatively, the client 130 itself can send the copy of the block to the cloud storage site 115.
  • By storing multiple blocks of data in a single container file, the deduplication module 299 avoids storing each block of data as a separate file on the file systems of the cloud storage sites. This reduces the number of files that would be stored on the file systems of the cloud storage sites, thereby ensuring that the cloud storage sites can adequately store the data of the clients 130 in the data storage system.
  • One advantage of these techniques is that they significantly reduce the number of files stored on a file system of a client or cloud storage site. This is at least partly due to the storage of data blocks within the container files. Even if the deduplication module performs numerous storage operations, these techniques will result in storing far fewer files on the file system than storage operations where each data block is stored as a separate file. Therefore, the file system of the client or cloud storage site may not necessarily have to contend with storing excessively large numbers of files, such as millions of files or more. Accordingly, these techniques enable very large numbers of blocks of data to be stored without regard to limitations of the file system of the client or cloud storage site.
  • However, the storage of blocks of data in container files may create additional complexities when it comes time to prune or delete data. This is because a container file may contain blocks of data that are referenced by links in metadata files and thus cannot be deleted, as these blocks of data typically still need to be stored on the cloud storage sites. Furthermore, because the blocks of data are not stored as files on the file systems of the cloud storage sites, they cannot be directly referenced by the file system.
  • The systems and methods described herein provide solutions to these problems. The deduplication module creates the container files as sparse files (typically only on operating systems that support sparse files, e.g., Windows operating systems, but also on other operating systems that support sparse files). A sparse file is type of file that may include empty space (e.g., a sparse file may have real data within it, such as at the beginning of the file and/or at the end of the file, but may also have empty space in it that is not storing actual data, such as a contiguous range of bytes all having a value of zero). Second, the deduplication module maintains a separate index that stores an indication of whether blocks of data in container files are referred to by links in metadata files. In some examples, this can be thought of as creating another file system on top of the existing file systems of the cloud storage sites that keeps track of blocks of data in the container files.
  • When a block of data is not referred to and does not need to be stored, the deduplication module can prune it. To prune data, the deduplication module accesses the separate index to determine the blocks of data that are not referred to by links. On operating systems that support sparse files, the deduplication module can free up space in the container files corresponding to those blocks of data by marking the portions of the physical media corresponding to the unreferenced portions of the container file as available for storage (e.g., by zeroing out the corresponding bytes in the container files). On operating systems that do not support sparse files, the deduplication module can free up space in the container files by truncating the extreme portions of the container files (e.g., the beginnings and/or the ends of the container files), thereby making the corresponding portions of the physical media available to store other data. Freeing up space in container files allows the operating system to utilize the freed-up space in other fashions (e.g., other programs may utilize the freed-up space).
  • Data Structures for Block-Level Deduplication
  • FIG. 8 is a diagram illustrating data structures that may be used to store blocks of deduplicated data and non-deduplicated data on the cloud storage site 115 in an archive format. The data structures include one or more volume folders 802, one or more chunk folders 804/805 within a volume folder 802, and multiple files within a chunk folder 804. Each chunk folder 804/805 includes a metadata file 806/807, a metadata index file 808/809, one or more container files 810/811/813, and a container index file 812/814. The metadata file 806/807 stores non-deduplicated data blocks as well as links to deduplicated data blocks stored in container files. The metadata index file 808/809 stores an index to the data in the metadata file 806/807. The container files 810/811/813 store deduplicated data blocks. The container index file 812/814 stores an index to the container files 810/811/813. Among other things, the container index file 812/814 stores an indication of whether a corresponding block in a container file 810/811/813 is referred to by a link in a metadata file 806/807. For example, data block B2 in the container file 810 is referred to by a link in the metadata file 807 in the chunk folder 805. Accordingly, the corresponding index entry in the container index file 812 indicates that the data block B2 in the container file 810 is referred to. As another example, data block B1 in the container file 811 is referred to by a link in the metadata file 807, and so the corresponding index entry in the container index file 812 indicates that this data block is referred to.
  • As an example, the data structures illustrated in FIG. 8 may have been created as a result of two storage operations involving two clients 130. For example, a first storage operation on a first client 130 could result in the creation of the first chunk folder 804, and a second storage operation on a second client 130 could result in the creation of the second chunk folder 805. The container files 810, 811 in the first chunk folder 804 would contain the blocks of deduplicated data of the first client 130. If the two clients 130 have substantially similar data, the second storage operation on the data of the second client 130 would result in the media file system agent 240 storing primarily links to the data blocks of the first client 130 that are already stored in the container files 810, 811. Accordingly, while a first storage operation may result in storing nearly all of the data subject to the storage operation, subsequent storage operations involving storage of similar data on the same cloud storage site 115 (or another appropriate cloud storage site) may result in substantial data storage space savings, because links to already stored data blocks can be stored instead of additional instances of data blocks.
  • If the cloud storage site 115 (or operating system of the cloud storage site) supports sparse files, then when the media file system agent 240 creates container files 810, 811, 813, it can create them as sparse files. A sparse file is type of file that may include empty space (e.g., a sparse file may have real data within it, such as at the beginning of the file and/or at the end of the file, but may also have empty space in it that is not storing actual data, such as a contiguous range of bytes all having a value of zero). Having the container files 810, 811, 813 be sparse files allows the media file system agent 240 to free up space in the container files 810, 811, 813 when blocks of data in the container files 810, 811, 813 no longer need to be stored on the cloud storage sites 115. In some examples, the media file system agent 240 creates a new container file 810, 811, 813 when a container file either includes 100 blocks of data or when the size of the container file 810 exceeds 50 Mb. In other examples, the media file system agent 240 creates a new container file 810, 811, 813 when a container file satisfies other criteria (e.g., it contains from approximately 100 to approximately 1,000 blocks or when its size exceeds approximately 50 Mb to 1 Gb). Those of skill in the art will understand that the media file system agent 240 can create a new container file 810, 811, 813 when other criteria are met.
  • One advantage of the data structures illustrated in FIG. 8 and/or of the techniques described herein is that they significantly reduce the number of files transferred and stored on a file system of the cloud storage site 115. This is at least partly due to the storage of data blocks within the container files 810, 811, 813. Even if numerous storage operations using these data structures are performed, there will be far fewer files on the cloud storage site 115 than there would be in storage operations where each data block is stored as a separate file. Therefore, the client computers need not transfer certain blocks or files, and the file system of the cloud storage site 115 may not necessarily have to contend with storing excessively large numbers of files, such as millions of files or more. Accordingly, the systems and methods described herein enable very large numbers of blocks of data to be stored without regard to limitations of the file system of the cloud storage site 115.
  • Another advantage is that the data storage system enables a reduction in the amount of blocks of data stored on the cloud storage sites 115, while still maintaining at least one instance of each block of data in primary data. In examples where the data storage system stores a variable number of instances of blocks of data, blocks of data can be distributed across two or more cloud storage sites 115, thereby adding a further aspect of redundancy.
  • Another advantage is that the metadata files 806, 807, the metadata index files 808, 809, the container files 810, 811, 813, and/or the container index files 812, 814 could be used to replicate the data stored in the deduplication database 297, or to reconstruct the deduplication database 297 if the data of the deduplication database 297 is ever lost and/or corrupted.
  • The storage of data blocks in the container files may create additional complexities when it comes time to prune (delete) data blocks that the data storage system no longer need retain. This is because the data blocks are not stored as files on the file system on the cloud storage site 115 and thus cannot be directly referenced by the file system. As described in detail herein, the media file system agent 240 uses the container index files 812, 814 to keep track of which blocks of data are referenced and thus which blocks are not prunable (deletable).
  • In some examples, the use of the container index files 812, 814, the metadata index files 808, 809, and/or the primary and secondary tables 700, 750 to track data acts as a driver, agent or an additional file system that is layered on top of the existing file system of the cloud storage site 115. This driver/agent/additional file system allows the data storage system to efficiently keep track of very large numbers of blocks of data, without regard to any limitations of the file systems of the cloud storage sites 115. Accordingly, the data storage system can store very large numbers of blocks of data.
  • Accordingly, the data structures illustrated in FIG. 8 and the techniques described herein enable the performance of multiple storage operations cumulatively involving very large amounts of data, while still allowing for recovery of space on the cloud storage site 115 when storage of certain data blocks is no longer required. For example, the data of numerous clients 130 can be protected without having to store redundant copies or instances of data blocks. Space on the cloud storage site 115 can also be recovered when it is no longer necessary to store certain data blocks. Accordingly, storage operations involving very large amounts of data are enabled and optimized by the techniques described herein.
  • Deduplication Databases to Enable Containerized Deduplication to Cloud-Based Storage
  • In some embodiments, the deduplication database 297 may maintain a primary block table and a secondary block table. The primary table may include an identifier column in which a data block identifier is stored, a location column in which a location of the data block in a container file is stored, an offset column indicating the offset within the container file corresponding to the location of the data block, and a reference count column, which contains a reference count of the number of links that refer to the data block. The location column may include URLs that indicate storage locations on cloud storage sites 115A-N. An example primary block table is shown below in Table 1.
  • TABLE 1
    Primary Block Table
    Reference
    Identifier Location Offset Count
    0xA1B3FG http://www.storecloud.com/ 10 2
    companyname/V_3/Chunk_1/
    Container File 001
    0xFG329A http://www.storecloud.com/ 6 0
    companyname/V_1/Chunk_5/
    Container File 002
    0xC13804 http://www.storecloud.com/ 38 1
    companyname/V_2/Chunk_1/
    Container File 001
    . . . . . . . . . . . .
  • For example, row 1 includes information about a data block for which the identifier is “0xA1B3FG.” This data block is located in the container file that is indicated in the location column, at an offset of 10 within the container file. As shown, the URL indicates a cloud storage site (“storecloud.com”) used to store the container file. As indicated in the reference count column, this data block is referred to twice, meaning that there are two links that refer to the data block. As another example, row 2 includes information about a data block for which the identifier is “0xC13804.” The location of this data block is indicated in the location column at an offset of 38 within the container file, and it is referred to one other time, by one link.
  • A secondary block table includes information about links that refer to data blocks. The secondary block table includes an identifier column, a referring location column, and an offset column. The referring location column may include URLs that indicate storage locations on cloud storage sites 115A-N. An example secondary block table is shown below in Table 2.
  • TABLE 2
    Secondary Block Table
    Identifier Referring Location Offset
    0xA1B3FG http://www.storecloud.com/companyname/ 5
    V_3/Chunk_1/MetaDataFile 001
    0xA1B3FG http://www.2ndCloud.com/co_name/ 15
    V_4/Chunk_18/MetaDataFile003
    0xC13804 http://www.storecloud.com/companyname/ 19
    V_3/Chunk_2/MetaDataFile001
    . . . . . . . . .
  • For example, the first row includes information about a reference to the data block having the identifier of “0xA1B3FG” (the first row in the primary block table). The location of the link (within a first cloud storage site) is indicated in the second column, at an offset of five within the indicated metadata file. As another example, the second row includes information about another reference to the data block having the identifier of “0xA1B3FG.” This location of the link (within a second cloud storage site “2ndCloud”) is indicated in the second column, at an offset of 15 within the indicated metadata file. As another example, the third row includes information about a reference to the block for which the identifier is “0xC13804” (the second row in the primary block table). The location of the link is indicated in the second column, at an offset of 19 within the indicated metadata file.
  • The system may maintain similar primary and secondary tables to facilitate object-level and/or sub-object level deduplication processes. For example, a deduplication database 297 may maintain a primary object table and a secondary object table having similar fields to those shown in Tables 1 and 2, respectively. In such an example, each entry in a primary object table corresponds to a stored data object. Each entry in a primary object table corresponds to a reference to a stored data object.
  • Pruning Block-Level Deduplicated Data
  • FIG. 9 is a flow diagram of another process 900 for pruning deduplicated data blocks that may be employed in some examples. The process 900 is described as being performed by the media file system agent 240, although those of skill in the art will understand that aspects of the process 900 may be performed by any of the entities described herein. The process 900 begins at step 905 when the media file system agent 240 receives instructions to prune data corresponding to a storage operation (job). Additionally or alternatively, one or more files can be selected to be pruned, and/or one or more data blocks can be selected to be pruned. This selection of a job or other data to be deleted can be made manually, such as by an administrator, or automatically, such as by the job, files, and/or data blocks aging out by a retention policy.
  • As previously noted, the data structures illustrated in FIG. 8 may have been created as a result of two jobs involving two clients 130. For example, a first job on a first client 130 could result in the creation of the first chunk folder 804, and a second job on a second client 130 could result in the creation of the second chunk folder 805. The process 900 is described using this example. More specifically, the process 900 is described below as pruning the data created as a result of the first job. Of course, a similar process may be used to delete other jobs, or even smaller increments of data or data objects, such as individual files or blocks.
  • At step 907 the media file system agent 240 determines the file, e.g., archive file, and the volume folders 802 and chunk folder 804 corresponding to the job to be pruned. The media file system agent 240 may do so, for example, by analyzing various data structures to determine this information. At step 910 the media file system agent 240 deletes the metadata file 806 and the metadata index file 808 in the chunk folder 804. The media file system agent 240 can delete the metadata file 806 and the metadata index file 808 in this example because these files include data that is not referenced by any other data.
  • At step 915 the media file system agent 240 accesses the container file 810 and the container index file 812 in the chunk folder 804. The media file system agent 240 begins iterating through the data blocks in the container files 810. At step 920, beginning with a first block in the container file 810, the media file system agent 240 accesses the primary block table in the deduplication database 297. The media file system agent 240 determines from the primary block table whether the reference count of a data block in the container file 810 is equal to zero. If so, this indicates that there are no references to the data block. The process 900 then continues at step 925, where the media file system agent 240 sets the entry in the container index file 812 corresponding to the data block equal to zero, thus indicating that there are no references to the data block, and it is therefore prunable.
  • If the reference count of a data block is not equal to zero, then the data block is not prunable, and the process 900 continues at step 930. At this step, the media file system agent 240 determines whether there are more data blocks in the container file 810. If so, the process 900 returns to step 920, where it accesses the next data block. If there are no more data blocks in the container file 810, the process 900 continues at step 932, where the media file system agent 240 determines whether all the entries in the container index file 812 corresponding to the container file 810 are equal to zero. As illustrated in FIG. 8, the second index entry in the container index file 812 is not equal to zero, thus indicating that the corresponding block in container file 810 is referenced (by data in the chunk folder 805, as earlier described). Accordingly, the container file 810 cannot be deleted.
  • However, if the container file 810 did not contain any referenced data blocks, then at step 933, the media file system agent 240 would delete the container file 810. The process would then continue at step 935, where the media file system agent 240 determines whether there are more container files. According to the example as illustrated in FIG. 8, there is an additional container file 811. The process 900 then returns to step 915, where it performs the same steps 920-933 for container file 811. As a result of performing these steps, the media file system agent 240 would also determine that the container file 811 cannot be deleted, because it contains a data block that is referenced (by data in the chunk folder 805, as earlier described).
  • After processing container files 810, 811, the process 900 continues at step 940, where the media file system agent 240 determines whether to free up storage space in the container files 810, 811. The media file system agent 240 may do so using various techniques. For example, if the operating system of the media file system agent 240 supports sparse files, then the media file system agent 240 may free up space by zeroing out the bytes in the container files corresponding to the space to be freed up. For a number of contiguous blocks (e.g., a threshold number of contiguous blocks, such as three contiguous blocks) for which the corresponding entries in the container index file 812 indicate that the blocks are not being referred to, then the media file system agent 240 may mark these portions of the container files 810, 811 as available for storage by the operating system or the file system. The media file system agent 240 may do so by calling an API of the operating system to mark the unreferenced portions of the container files 810, 811 as available for storage.
  • The media file system agent 240 may use certain optimizations to manage the number of times portions of the container file are marked as available for storage, such as only zeroing out bytes in container files when a threshold number of unreferenced contiguous blocks is reached (e.g., three unreferenced contiguous blocks). These optimizations may result in less overhead for the operating system because it reduces the number of contiguous ranges of zero-value bytes in the container files 810, 811 that the operating system must keep track of (e.g., it reduces the amount of metadata about portions of the container files 810, 811 that are available for storage).
  • If the operating system of the media file system agent 240 does not support sparse files, then the media file system agent 240 may free up space by truncating either the beginning or the end of the container files 810, 811 (removing or deleting data at the beginning or end of the container files 810, 811). The media file system agent 240 may do so by calling an API of the operating system, or by operating directly on the container files 810, 811. For example, if a certain number of the last blocks of the container file are not being referred to, the media file system agent 240 may truncate these portions of the container files 810, 811. Other techniques may be used to free up space in the container files 810, 811 for storage of other data. At step 945 the media file system agent 240 frees up space in the container files 810, 811. The process 900 then concludes.
  • As a result of the process 900, the chunk folder 804 would contain only the container files 810, 811 and the container index file 812. At a later time, when the chunk folder 805 is pruned (when the job that created this chunk folder is selected to be pruned), then the container files 810, 811 in the chunk folder 804 can be deleted, because they no longer contain data blocks that are referenced by other data. Therefore, pruning data corresponding to a job may also result in pruning data corresponding to an earlier job, because the data corresponding to the earlier job is no longer referenced by the later job.
  • Although the process 900 is described with reference to the pruning of data corresponding to jobs (one or more storage operations), other data can also be pruned. For example, an administrator may wish to delete deduplicated data but retain non-deduplicated data. In such case, the administrator may instruct the media file system agent 240 to delete the container files 810, 811, 813 but retain the metadata files 806, 807 and metadata index files 808, 809. As another example, an administrator or storage policy may delete one or more specific files. In such case, the media file system agent 240 deletes the data blocks in the container files 810, 811, 813 corresponding to the specific files but retains other data blocks. The process 900 may include fewer or more steps than those described herein to accommodate these other pruning examples. Those of skill in the art will understand that data can be pruned in various fashions and, therefore, that the process 900 is not limited to the steps described herein.
  • Containerizing Deduplicated Data for Storage in the Cloud
  • During a storage operation that utilizes deduplication, it may be desirable to determine a suitable container file size, particularly if the storage operation will result in the container files being stored on a target cloud storage site 115A-N. As described previously, a single storage operation that utilizes deduplication may result in as few as three container files being created in a secondary cloud storage site 115, such as three for each company storing data to that cloud storage site. The contents of the few container files may reflect the content of thousands of data objects and/or millions of data blocks in primary storage. By containerizing the objects or blocks, the system reduces the strain on the file system namespace of the secondary cloud storage site 115, since it reduces the number of files stored on the file system of the cloud storage site 115. The fewer container files used per storage operation, the less strain there is on the file system namespace of the secondary cloud storage site 115. Thus, by using larger container files, the system may reduce namespace strain on the secondary cloud storage site 115.
  • When creating or writing container files to a target cloud storage site 115A-N used as a secondary cloud storage site, the characteristics of the WAN network connection used to transfer the container files from the media file system agent 140 to the cloud storage site 115A-N may impose other restrictions upon the size of container files used. For example, the bandwidth of the network connection may impose an upper limit on the size of container files that may be used (e.g., an upper limit of approximately 1000 blocks). If the network connection has low bandwidth, the upload of large container files to the cloud storage site may prove prohibitively slow. Also, the restoration of a particular data object or block may require the retrieval of the entire container file comprising that data object/block from the cloud storage site; if the container file is too large for a low-bandwidth network, then restoration times may become prohibitively slow. As another example, the latency of the network connection may impose a lower limit on the size of container files that may be used. This is because the total time needed to perform a storage operation may be increased if for each container file created and transferred to the target cloud storage site, the system must slowly transmit the container file and/or await a response from the cloud storage site 115A-N before processing the next container file in the storage operation.
  • Other factors may also affect the choice of size for container files. For example, some cloud storage sites 115A-N may not support sparse files and thus not support sparsification of container files. In this situation, smaller container files may be desirable, because then it becomes more likely the system will be able to prune entire container files from the cloud storage site 115A-N, even if it cannot prune out individual blocks/objects using sparsification techniques. As another example, a particular cloud storage site 115A-N may have a pricing structure that charges both for the total amount of storage used (e.g., total gigabytes or petabytes used) and the number of files or directories used on the site. If the cloud storage site 115A-N bases its charges on the number of files or directories used on the site, larger container files may be desirable. In some embodiments, the system may also additionally impose an absolute upper or lower limit on the size of container files used. For example, the system may impose an upper limit on the size of container files in order to minimize the amount of time it takes the system to traverse a container file during data restoration. For example, in some embodiments, the system may impose an absolute 100 block size upon container files, even if the network bandwidth would theoretically allow for larger container files. As another example, the system may impose an absolute lower limit on the size of container files used, since there may be overhead costs (e.g., processing time and/or memory used) for each additional container file used in a storage operation.
  • Thus, the deduplication module 299 or another system component may perform the following process to establish a container size for a storage operation. The deduplication module 299 or system may (1) determine the average latency and bandwidth of the network connection between the target cloud storage site 115A-N and the media file system agent 240 (or similar metrics regarding the network connection, e.g., maximum latency and minimum bandwidth), (2) determine any namespace restrictions imposed by the target cloud storage site 115A, (3) determine whether the target cloud storage site 115A-N supports the sparsification of data files, (4) determine the pricing structure used by the target cloud storage site, (5) determine any caps set by the system upon container file size, and (6) perform an optimization to establish a container size for the storage operation reflecting one or more of these determined factors and/or other factors (e.g., such as user input).
  • Alternatively, the system may permit a user to select the container size that will be used for one or more storage operations. Still alternatively, the user or the system may establish for all storage operations, the container size that will be used for a particular cloud storage site or all cloud storage sites.
  • Indexing of Data
  • As noted above for FIG. 3B, the system may index data to be stored at a cloud storage site, such as before the data is sent to the cloud storage site. Some details on suitable content indexing techniques will now be presented. Further details may be found in the assignee's U.S. Patent Publication No. 2009-0287665, filed Jul. 29, 2009, entitled METHOD AND SYSTEM FOR SEARCHING STORED DATA (Attorney Docket No. 60693.8038US4). FIG. 10 is a flow diagram that illustrates the processing of a content indexing component 205 for later searching, according to one embodiment. The component is invoked when new content is available or additional content is ready to be added to the content index. In step 1010, the component selects a copy of the data to be indexed. For example, the copy may be a secondary copy of the data, a data snapshot, or data stored or being stored in an archive copy. In step 1020, the component identifies content within the copy of the data. For example, the component may identify data files such as word processing documents, spreadsheets, and presentation slides within the secondary data store. The system may check the data against previously indexed data, and only index new or additional data. In step 1030, the component updates an index of the content to make the identified content available for searching. The system may parse, process, and store the data. For example, the component may add information such as the location of the content, keywords found within the content, and other supplemental information about the content that may be helpful for locating the content during a search. In one example, the content indexing component updates a content index stored within the SS index 261, SS light index 247 and/or the management light index 245 and/or management index 211. After step 1030, these steps conclude.
  • FIG. 11 illustrates some of the data structures used by the system to facilitate content indexing. While the term “field” and “record” are used herein when describing certain data structures, the system described herein may employ any type of data structure. For example, relevant data can have preceding headers, or other overhead data preceding (or following) the relevant data. Alternatively, relevant data can avoid the use of any overhead data, such as headers, and simply be recognized by a certain byte or series of bytes within a serial data stream. Any number of data structures and types can be employed herein.
  • FIG. 11 illustrates a data structure containing entries of a content index. In some embodiments, a copy of the content index shown (or a copy of a subset of the content index shown) may be stored within the SS index 261, SS light index 247 and/or the management light index 245 and/or management index 211. The offline content indexing system uses this and similar data structures to provide more intelligent content indexing. For example, the offline content indexing system may index multiple copies of data and data available from the multiple copies using a secondary copy of data stored on media with a higher availability based on the location or other attributes indicated by the data structure described below. As another example, the offline content indexing system may prefer an unencrypted copy of the data to an encrypted copy to avoid wasting time unnecessarily decrypting the data.
  • The table 1100 contains a location column 1110, a keywords column 1120, a user tags column 1130, an application column 1140, and an available column 1150. The table 1100 contains five sample entries. The first entry 1160 specifies that the location of a file is on a corporate intranet by using a web universal resource locator (“URL”). The entry 1160 contains keywords “finance,” “profit,” and “loss” that identify content within the file. The entry 1160 contains tags added by a user that specify that the content comes from the accounting department and is confidential. The entry 1160 indicates that a spreadsheet program typically consumes the content, and that the entry is immediately available.
  • Another entry 1170 specifies that data is stored on a local tape that is a personal email, and can be available in about an hour. Another entry 1180 specifies an offsite tape holds a presentation related to a cancelled project. The entry 1180 refers to offsite data that is available within one week due to the delay of retrieving the archived data from the offsite location. Another entry 1190 specifies that the location of a word processing document containing data relating to CEO compensation is in a cloud storage site by using a URL that points to a deduplicated archive file that may be implemented by a data structure similar to those shown in FIGS. 5A-D and/or FIG. 8. As shown, the estimated retrieval time from this cloud storage site is 15 minutes. Another entry 1195 specifies that the location of a personal email relating to a medical condition is stored in a second cloud storage site by using another URL that points to a deduplicated archive file that may be implemented by a data structure similar to those shown in FIGS. 5A-D and/or FIG. 8. As shown, the estimated retrieval time from this cloud storage site is 1 hour.
  • Policy-Driven Storage of Data Across Cloud Storage Sites
  • Referring again to FIG. 3B, at step 330, the system stores deduplicated data (or “dehydrated data”) in secondary cloud storage by utilizing the media file system agent 240 to perform file system operations (such as a “write” operation) on a target cloud storage site 115A. To determine which target cloud storage site the media file system agent 240 should write to, the media file system agent 240 may retrieve an applicable storage policy (described previously with respect to FIG. 2) and act in accordance therewith. For example, the media file system agent 240 may retrieve a storage policy stored in management index 211 that specifies that all email objects (and blocks contained therein) should be stored on cloud storage site 115A, while document objects (and blocks contained therein) should be stored on cloud storage site 115B. As another example, the storage policy stored in management index 211 may specify that all objects related to a particular client 130 or particular user (e.g., a company CEO) should be stored on a more expensive or reliable cloud storage site 115A while all other objects for all other clients 130 and/or users should be stored on a less expensive or less reliable cloud storage site 115B. As yet another example, at block 330, the system may review the historical performance achieved by various target cloud storage sites 115A-N to determine which sites have historically achieved the desired performance metrics mandated by a storage policy. Additionally, the system may select a cloud storage site that has better historical performance than other sites.
  • As another example, a storage policy may specify that a first type of files should be retained for one year in a first target cloud storage site 115A, that a second type of files should be retained for seven years in a second cloud storage site 115B, and that a third type of files should be retained indefinitely in a third cloud storage site 115N. As yet another example, a storage policy may specify that a first type of files (e.g., secondary disk copies needed for rapid disaster recovery) be stored only in storage sites 115, including cloud storage sites 115A-N, that can provide sufficient bandwidth, network capacity or other performance to ensure that the time needed to recover a file from the storage device 115 (e.g., cloud storage site 115A-N) is less a specified recovery time objective.
  • Restoring Dehydrated Data Objects from Cloud Storage Sites
  • After a storage operation has resulted in the storage of dehydrated data on a cloud storage site 115A-N, it may be necessary to later restore some or all of the original data files, objects, sub-objects, or blocks that were archived during the storage operation. For example, a user or customer of a cloud storage site may wish to retrieve a file that was copied to the cloud storage site in dehydrated form if a primary copy of that file is no longer available on the user's client 130. As another example, to comply with an electronic discovery request, it may be necessary to retrieve an archived version of a particular file. Some details on suitable techniques for restoring files and objects from dehydrated data will now be presented. Further details may be found in the assignee's U.S. patent application Ser. No. 12/565,576, filed Sep. 23, 2009, entitled SYSTEMS AND METHODS FOR MANAGING SINGLE INSTANCING DATA (Attorney Docket No. 60692.8067US1)
  • FIG. 12 is a flow diagram illustrating a process 1200 for restoring or retrieving data from chunk folders in an archive file format on secondary storage. This process may be utilized to restore data objects stored on cloud storage sites 115A-N. In order to do so, the system identifies the cloud storage site 115, the archive file on that cloud storage site, the chunk file within that archive file, and further the location of the data object within that chunk file. At step 1205 a selection of a data object to restore is received, such as from an administrator via a graphical interface. The process of restoring data that has been deduplicated may be referred to herein as “rehydrating deduplicated data.”
  • At step 1210 the media file system agent 240 is consulted to determine an archive file ID and an offset of the data object to be restored. The media file system agent 240 can determine this information from a data structure, such as a tree index (for example, a c-tree may be used, which, in some examples, is a type of self-balancing b-tree), that it maintains for each archive file. For example, an archive file may be based on files 1 through n, with file 1 at offset 1, file 2 at offset 2, file n at offset n, and so on. The media file system agent 240 maintains one tree index per full storage operation cycle. (A storage operation cycle consists of a cycle from one full storage operation of a set of data, including any intervening incremental storage operations, until another full storage operation is performed.) FIG. 13A illustrates an example data structure 1300 that the media file system agent 240 maintains. The data structure 1300 includes an archive file ID item 1310 that contains the identifier of archive files, a file or data object item 1320 that contains the identifier of the file or data object, and an offset 1330 containing the offset of the file or data object within the archive file or cloud container.
  • The media file system agent 240 may also maintain a multiple-part identifier, such as a five-part identifier, that includes an enterprise or domain identifier (e.g., an identifier of a company/customer, a grouping of clients/companies, etc.), a client identifier to identify a particular company, customer or host computer to connect to at the customer, an application type (e.g. if all Microsoft Word documents are stored together), a storage operation set identifier to identify when the storage operation data was obtained, and a sub-client identifier to provide a further level of granularity within an enterprise to identify an origin, location, or the use of the data (e.g., a file system on a client could be a sub-client, or a database on a client could be a sub-client).
  • Using the data structure maintained for the archive file, the media file system agent 240 determines the archive file ID and offset within the archive file of the data object to be restored. The media file system agent 240 then needs to determine which chunk contains the data object. To do so, the media file system agent 240 consults another server, such as a storage manager 105 (discussed below), that has a data structure that maps the archive file ID and offset to the specific media (as well as the specific chunk file within the specific media, optionally). For example, the storage manager may maintain a database table that maps the archive file ID to specific media, to a URL indicating the cloud storage site location, or to a bar code number for a magnetic tape cartridge storing that archive file.
  • FIG. 13B illustrates an example data structure 1350 that the storage manager 109 maintains. The data structure 1350 includes an archive file ID item 1370 identifying a client, a storage operation job, a cycle, and an archive file ID, a media chunk item 1380 containing an identification of the media containing the archive file and the chunk on the media that contains the archive file, and a start item 1390 that contains the archive file ID, an offset, and a size. When utilizing a cloud storage site, some or all of the entries in the media chunk column 1380 may comprise a URL (e.g., a URL like https://www.cloudstorage.com/companyname/C/J/Y/1/C1.xml) that reflects the location of the archive file within a specific cloud storage site and/or reflects a website where the system may otherwise access the archive file. The media file system agent 240 then can consult a deduplication database 297 to determine the specific chunk that corresponds to the data object to be restored.
  • At step 1215, the cloud storage server accesses a particular secondary storage device and the specific media, such as a specific folder within a disk at a cloud storage site (indicated by a URL) or a specific tape cartridge in an automated tape library, is accessed. At step 1220 the cloud storage server opens the specific chunk folder, and the metadata file is accessed. At step 1225, the metadata file is parsed until the stream header corresponding to the data object or block to be restored is accessed. At step 1230, the cloud storage server determines the location of the file from the stream data. The stream data indicates the location of the data object to be restored, which is either in a container file in the chunk folder or within a container file in another chunk folder. At step 1235 the data object is retrieved or opened, and the data object is read and streamed back to restore it for the requesting client/host/customer (block 1240). Each data object may have a piece of data appended to it (e.g., an EOF marker) that indicates to the reader when to stop reading the data object. A similar piece of data may be prepended (e.g., a BOF marker) to the data object. The process 1200 then concludes.
  • Although the process of FIG. 12 and the data structures of FIG. 13 were described with respect to object-level restoration and retrieval, one having skill in the art will appreciate that a system may employ a similar process and similar data structures to restore and retrieve individual blocks or sub-objects archived within a system.
  • Local Searching of Data Stored on Remote Cloud Storage Sites
  • As described previously, during the process of FIG. 3B, the system may generate one or more copies of a content index as shown in FIG. 11 within the SS index 261, SS light index 147, the management light index 245 and/or management index 211. Using this content index information, the system may provide local search capabilities. Some details on suitable searching techniques will now be presented. Further details may be found in the assignee's U.S. Patent Publication No. 2008-0091655, filed Mar. 30, 2007, entitled METHOD AND SYSTEM FOR OFFLINE INDEXING OF CONTENT AND CLASSIFYING STORED DATA (Attorney Docket No. 60692.8046US). For example, the storage manager 105 may receive and process a request to search the management index 211 for files matching certain search criteria, and then return matching files. By providing local searching of the content index information, the system may provide more cost-effective and/or faster searches of data archived or stored on a remote cloud storage site 115A-N, since local searches of a local content index typically do not require file system calls to a cloud storage site other than to retrieve identified files stored therein.
  • FIG. 14 is a flow diagram that illustrates the processing of a search request by the system, in one embodiment. In step 1410, the system receives a search request specifying criteria for finding matching target content. For example, the search request may specify one or more keywords that will be found in matching documents. The search request may also specify boolean operators, regular expressions, and other common search specifications to identify relationships and precedence between terms within the search query. In step 1420, the system searches the content index to identify matching content items that are added to a set of search results. For example, the system may identify documents containing specified keywords or other criteria and add these to a list of search results. In step 1425, the system generates search results based on the content identified in the content index. In step 1430, the system selects the first search result. In decision step 1440, if the search result indicates that the identified content is archived, then the system continues at step 1450, else the system continues at step 1455. For example, the content may be archived because it is on a remote cloud storage site.
  • In step 1450, the system retrieves the archived content, which may utilize the data restoration methods discussed herein. Additionally or alternatively, the system may provide an estimate of the time required to retrieve the archived content and add this information to the selected search result. In decision step 1455, if there are more search results, then the system loops to step 1430 to get the next search results, else the system continues at step 1460. In step 1460, the system provides the search results in response to the search query. For example, the user may receive the search results through a web page that lists the search results, or the search results may be provided to another system for additional processing through an API. The system may also perform additional processing of the search results before presenting the search results to the user. For example, the system may order the search results, rank them by retrieval time, and so forth. After step 1460, these steps conclude.
  • Collaborative Searching
  • In some implementations, a cloud storage site may be integrated with a collaborative search system and collaborative document management system to facilitate collaborative searching, data retrieval, and discovery. Some details on collaborative searching are provided below; further details may be found in the assignee's U.S. Patent Publication No. US-2008-0222108-A1, filed Oct. 17, 2007, entitled METHOD AND SYSTEM FOR COLLABORATIVE SEARCHING (Attorney Docket No. 60692-8047US01). Referring to FIG. 25, a block diagram 2500 illustrating an architecture for integrating a collaborative search system with a collaborative document management system is shown. A browser 2505 is used by collaborative participants as an interface to access the integrated system. A collaborative participant submits queries, receives results, and performs other collaborative tasks through the browser 2505. The browser 2505 is connected to a collaborative document management system 2510, such as the Microsoft SharePoint Server. The collaborative document management system 2510 provides a web-based portal for collaboration between collaborative participants. The collaborative document management system 2510 is connected to a collaborative search system 2520. The collaborative search system 2520 integrates with the collaborative document management system 2510 and adds additional components, such as web components and content parsers, and provides access to cloud storage content. The collaborative search system 2520 is connected to not only one or more cloud storage sites 115, but also to local storage (e.g. a storage operation cell 150), as well as to a security system 2540, and a document retention system 2550.
  • The storage operation cell 150, as shown in FIG. 2, provides fast access to content from various computer systems within an enterprise. The security system 2540 provides users and groups that are meaningful to a particular enterprise to facilitate searching. The security system 2540 also enforces access rights to collaborative content. The document retention system 2550 places a legal hold on documents related to a document retention request.
  • In some examples, the collaborative search system receives criteria for a search through a collaborative process. For example, one collaborative participant may create a new query for responding to a discovery request regarding a product made by the company that employs the collaborative participant. The first collaborative participant may add search criteria including the product name and then submit the search criteria to the collaborative document management system 2510 as a collaborative document. Another collaborative participant may open the collaborative document and add additional search criteria, such as instructions to narrow the list of departments from which documents should be searched. For example, the second participant may include the engineering, marketing, and sales teams that worked on the product. The collaborative search system 2520 may also add additional criteria inferred from the criteria added by the collaborative participants. For example, based on the company's indexed data the collaborative search system may determine that two employees, one in a department already within the search criteria and another outside of the current search criteria, frequently send email about projects. Based on this information, the collaborative search system may add the user that is outside of the current search criteria to the search criteria, or it may prompt one of the collaborative participants to consider adding the user to the search criteria.
  • Alternatively or additionally, the system may provide further features. For example, the system may add additional search criteria inferred from dynamic changes made to the search criteria. The system may use heuristics type information when determining search criteria. The collaborative search system 2520 may defines workflows that define the set of steps that are part of completing a task. The collaborative search system 2520 may create a collaborative document based on a set of search results. The collaborative document provides a mechanism for multiple collaborative participants to contribute to steps within a workflow subsequent to the search process. In the example of a discovery request, the steps of performing various levels of review of found documents can consume the majority of the time spent responding to the discovery request, and a collaborative participant may reviewing each document and flagging the document if it contains privileged content or directly add comments to documents within the search results. The collaborative search system 2520 provides a user interface through which a collaborative participant may select from a set of templates that define common search tasks, such as a Sarbanes-Oxley template that initiates a search for materials required to be disclosed under the Sarbanes-Oxley Act.
  • The user interface of the collaborative search system 2520 may include custom-developed web components to assist with the integration with the collaborative document management system. For example, Microsoft SharePoint Server provides an object model and API for accessing collaborative features such as workflows and a search front-end that can be invoked from custom web pages using the Active Server Page Framework (“ASPX”). The collaborative search system 2520 provides a user interface that does not require specialized software to be installed on the searching client system. The collaborative search system may also provide a set of parsers for viewing content from many different sources, such as received in a list of search results, as web content. For example, the collaborative search system may provide a parser for converting a word processing document into a Hypertext Markup Language (“HTML”) web page. Other parsers may convert spreadsheet content, database tables, instant messaging conversation logs, email, or other structured or unstructured content into a web page format accessible via a collaborative participant's browser. In this way, heterogeneous data from many different applications is available through a unified search user interface.
  • FIG. 26 illustrates the integration of parsers with the collaborative document management system. The collaborative document management system 2510 contains a configuration database 2630, a schema file 2640, one or more dynamic web pages 2620, and one or more generated web pages 2610. When a collaborative participant accesses the collaborative document management system 2510, the collaborative document management system 2510 consults the configuration database to determine what to display to the collaborative participant based on factors such as the identity of the user, the particular web address the collaborative participant requested, the access rights of the collaborative participant, the state of previous requests by the collaborative participant to the collaborative document management system, and so on. Based on the determined information to display, the collaborative document management system consults the schema file 2640 to determine the layout of the information for display to the collaborative participant. The schema file 2640 may include instructions based on predetermined layouts, dynamically determined layouts, templates to be included in the layout, and so on. At this point, one or more parsers 2650 may be consulted to migrate data from one or more document types (e.g., 2660 and 2670) to an XML or other common format. The schema data is passed to an ASPX or other dynamic page 2620 that may use scripts and an object model provided by the collaborative document management system to identify, parse data types, and dynamically build a page with the content that will be displayed to the collaborative participant. For example, the system may present one or more templates described above. After the scripts are run, the dynamic page 2620 generates an HTML or other generic formatted page 2610 that is sent to the collaborative participant's browser/GUI that will be displayed to the collaborative participant.
  • The collaborative search system 2520 may integrate components for searching data from multiple operating systems and multiple data formats from multiple cloud storage sites. For example, file system data on a Microsoft Windows computer system may be stored differently from file system data on a Linux computer system, but the collaborative search system may make both types of file system data available for searching. Data may be gathered from each of these types of disparate data sources and forwarded to a uniform database where the data can be collected, tagged with various classifications, and indexed for searching. The system may then display the data on differently formatted browsers.
  • Other implementations may integrate a collaborative document management system 2510 and collaborative search system 2520 with another type of storage system that provides content indexing and search capabilities comparable to the storage operation cell 150 shown FIG. 2. For example, an implementation may integrate a collaborative document management system and collaborative search system with a system shown in FIG. 15, FIG. 21 and/or FIG. 22, which are described in greater detail herein.
  • In some examples, the collaborative search system 2520 integrates information from the security system 2540. For example, the collaborative search system may use Microsoft Windows Active Directory to determine users whose content should be searched as part of a discovery request. Active Directory contains all of the users in an organization and organizes the users into groups. The security system may provide restrictions on access to content retrieved in response to a search. For example, a temporary worker hired to find documents for a sales pitch might not have access to documents associated with executives or documents that contain confidential company information. The collaborative search system can manage a workflow that contains steps performed by collaborative participants with varying levels of access to content. For example, a company officer may be the only collaborative participant allowed to search for a particular set of documents as part of a search request, while other collaborative participants may be allowed to search for less restricted documents.
  • Cloud Gateway
  • As shown in FIG. 15, the system can include a “cloud gateway” 1540, which may include a network attached storage (“NAS”) filer 1505 or NAS head with a limited amount of local storage, and which advertises CIFS/NFS interfaces out to clients 130 and cloud storage sites 115A-N. The local storage of the NAS filer 1505 of the cloud gateway 1540 provides a way to satisfy incoming data writes from clients 130 quickly, and to buffer or spool data before it is transferred to cloud storage sites 115A-N or other cloud storage sites 115 (not shown). The cloud gateway 1540 may include functionality to de-duplicate locally stored data before being written up to cloud storage sites 115A-N, both of which may be done on a fairly rapid or aggressive schedule.
  • In addition to providing REST-based methods to input and output data from the system, the cloud gateway 1540 may also provide conventional methods of accessing data via a NAS filer 1505 such as via Web-based Distributed Authoring and Versioning (WebDAV) and CIFS/NFS methods, thus making it easy for users and applications to read and write data to cloud storage sites 115A-N without significant changes to their current mode of working.
  • Overall, users and applications can specify parameters (e.g., under a storage policy) that dictate to the cloud gateway 1540 the handling of their content—i.e., how long it is retained, should it be encrypted/compressed, should it be deduplicated, should it be indexed and searchable, should it to be replicated and if so, how many copies and to where, etc. The cloud gateway 1540 may facilitate the cloud storage system by allowing for metadata to be specified on a per file/object basis or on a data container or bucket basis. Further, the system permits data to be replicated on demand to selected geographies based on access usage patterns, etc.
  • Cloud Gateway Architecture
  • FIG. 16 shows a block diagram illustrating a suitable environment for the cloud gateway 1540 that can include a filer or NAS filer 1505 configured to perform data migration to cloud storage sites and other secondary storage. Some details on suitable systems and methods for performing data migration using a NAS filer 1505 will now be presented. Further details may be found in the assignee's U.S. patent application Ser. No. 12/558,640, filed Sep. 14, 2009, entitled DATA TRANSFER TECHNIQUES WITHIN DATA STORAGE DEVICES, SUCH AS NETWORK ATTACHED STORAGE PERFORMING DATA MIGRATION (Attorney Docket No. 606928066US1).
  • While the examples below discuss a NAS filer 1505, any architecture or networked data cloud storage site employing the following principles may be used, including a proxy computer coupled to the NAS filer 1505. The computing system 1600 includes a data storage system 1610, such as storage operation cell 150. Client computers 1620, including computers 1622 and 1624, are associated with users or servers that generate data to be stored in secondary storage. The client computers 1622 and 1624 communicate with the data storage system 1610 over a network 1630, such as a private network such as an intranet, a public network such as the Internet, and so on. The networked computing system 1600 includes network-attached storage, such as the cloud gateway 1540.
  • The cloud gateway 1540 includes NAS-based storage or memory, such as a cache 1644, for storing data received from the network, such as data from client computers 1622 and 1624. (The term “cache” is used generically herein for any type of storage, and thus the cache 1644 can include any type of storage for storing data files within the NAS filer 1505, such as magnetic disk, optical disk, semiconductor memory, or other known types of storage such as magnetic tape or types of storage hereafter developed.) The cache 1644 may include an index or other data structure in order to track where data is eventually stored (e.g., location in the cloud), or the index may be stored elsewhere, such as on the proxy computer. The index may include information associating the data with information identifying a secondary cloud storage site that stored the data, or other information. For example, as described in detail below, the index may include both an indication of which blocks have been written to secondary storage (and where they are stored in secondary storage), and a lookup table that maps blocks to individual files stored within the cloud gateway 1540.
  • The cloud gateway 1540 also includes a data migration component 1642 that performs data migration on data stored in the cache 1644. While shown in FIG. 16 as being within the NAS filer 1505, the data migration component 1642 may be on a proxy computer coupled to the NAS filer. In some cases, the data migration component 1642 is a device driver or agent that performs block-level, sub-object-level, or object-level data migration of data stored in the cache, or a combination of two or more types of data migration, depending on the needs of the system. During data migration, the NAS filer 1505 not only transfers data from the cache of the device to one or more cloud storage sites 115A-N located on the network 1630, but also to other secondary storage locations 1650, such as magnetic tapes 1652, optical disks 1654, or other secondary storage 1656. Importantly, the cloud gateway 1540 may also retrieve data from these other secondary storage devices and transfer it to the cloud storage sites 115A-N (under ILM or other storage policies). The NAS filer 1505 may include various data storage components that are used when identifying and transferring data from the cache 1644 to the secondary cloud storage sites 1650. These components will now be discussed.
  • Referring to FIG. 17, a block diagram illustrating the components of the NAS filer 1505 component of the cloud gateway 1540, configured to perform data migration, is shown. In addition to the data migration component 1642 and cache or data store 1644, the cloud gateway 1540 may include an input component 1710, a data reception component 1720, a file system 1730, and an operating system 1740. The input component 1710 may receive various inputs, such as via an iSCSI protocol. That is, the cloud gateway may receive commands or control data from a data storage system 1610 over IP channels. For example, the data storage system 1610 may send commands to a cloud gateway's IP address in order to provide instructions to the NAS filer 1505. The data reception component 1720 may receive data to be stored over multiple protocols, such as NFS, CIFS, and so on. For example, a UNIX-based system may send data to be stored on the NAS filer 1505 over an NFS communication channel, while a Windows-based system may send data to be stored on the NAS filer over a CIFS communication channel.
  • Additionally, the cloud gateway 1540 may include a number of data storage resources, such as a data storage engine 1760 to direct reads from and writes to the data store 1644, and one or more media agents 1770. The media agents 1770 may be similar to the secondary storage computing devices 165 described herein and may similarly be communicatively coupled to one or more SS indices (e.g., SS index 261 and SS light index 204) and deduplication database 297. The media agents 1770 may comprise components similar to those of the secondary storage computing devices 165, such as deduplication module 299, content indexing component 205, network agent 235, media file system agent 240 (including cloud storage submodule 236), as described previously. In some cases, the cloud gateway 1540 may include two or more media agents 1770, such as multiple media agents 1770 externally attached to the cloud gateway. The cloud gateway 1540 may expand its data storage capabilities by adding media agents 1770, as well as other components.
  • As discussed herein, the cloud gateway 1540 includes a data migration component 1642 capable of transferring some or all of the data stored in the cache 1644. In some examples, the data migration component 1642 requests and/or receives information from a callback layer 1750, or other intermediate component, within the cloud gateway. Briefly, the callback layer 1750 intercepts calls for data between the file system 1730 and the cache 1644 and tracks these calls to provide information to the data migration component 1642 regarding when data is changed, updated, and/or accessed by the file system 1730. Further details regarding the callback layer 1750 and other intermediate components will now discussed.
  • In some examples, the cloud gateway 1540 monitors the transfer of data from the file system 1730 to the cache 1644 via the callback layer 1750. The callback layer 1750 not only facilitates the migration of data portions from data storage on the cloud gateway to secondary storage, but also facilitates read back or callback of that data from the secondary storage back to the cloud gateway. While described at times herein as a device driver or agent, the callback layer 1750 may be a layer, or additional file system, that resides on top of the file system 1730. The callback layer 1750 may intercept data requests from the file system 1730, in order to identify, track, and/or monitor data requested by the file system 1730, and may store information associated with these requests in a data structure. Thus, the callback layer stores information identifying when a data portion is accessed by tracking calls from the file system 1730 to the cache 1730.
  • For example, adding the cloud gateway 1540 described herein to an existing networked computing system can provide the computing system with expanded storage capabilities, but can also provide the computing system with other data storage functionality. In some examples, the cloud gateway 1540 not only provides the storage benefits of a NAS filer 1505, but also includes a data storage engine (e.g., a common technology engine, or CTE, provided by Commvault Systems, Inc. of Oceanport, N.J.), or other functionality. For example, the cloud gateway may perform various data storage functions normally provided by a backup server, such as single instancing, data classification, mirroring, content indexing, data backup, encryption, compression, and so on. Thus, in some examples, the cloud gateway described herein acts as a fully functional and independent device that an administrator can attach to a network to perform virtually any data storage function.
  • Cloud Gateway for Cloud Storage Sites and Deduplication and Policy-Driven Data Migration
  • As described herein, in some examples, the cloud gateway 1540 leverages block-level, sub-object-level, or object-level data migration in order to provide expanded storage capabilities to a networked computing system. After selecting data for migration, but prior to data migration, the cloud gateway may perform block-level, sub-object-level, and/or object-level deduplication using the methods and/or data structures described previously with respect to FIGS. 1-9. To do so, the cloud gateway 1540 may utilize components or modules within the data storage system 1610 (e.g., a deduplication module 299 and/or a deduplication database 297) and/or utilize components within the cloud gateway itself (e.g., data migration components 1652). In this manner, the cloud gateway may avoid creating unnecessary additional instances of the selected data within secondary storage (e.g., additional instances within cloud storage sites). Additionally, the cloud gateway, may access and apply storage policies as described previously with respect to the system of FIG. 1 to determine to which cloud storage site 115A-N or other cloud storage sites the cloud gateway should migrate the data.
  • For example, in accordance with a storage policy, the cloud gateway 1540 may utilize more expensive cloud storage sites to store critical documents, and less expensive cloud storage site to store personal emails. As another example, the cloud gateway may implement a storage policy that specifies that a first type of files should be retained for one year in a first target cloud storage site 115A, that a second type of files should be retained for seven years in a second cloud storage site 115B, and that a third type of files should be retained indefinitely in a third cloud storage site 115N. As yet another example, the cloud gateway may implement a storage policy that specifies that a first type of files (e.g., secondary disk copies needed for rapid disaster recovery) be stored only in storage sites 115, including cloud storage sites 115A-N, that can provide sufficient bandwidth, network capacity or other performance to ensure that the time needed to recover a file from the storage device 115 (e.g., cloud storage site 115A-N) is less a specified recovery time objective. As another example, certain data may be migrated or copied only to cloud storage sites 115A-N having sufficient fault tolerance; for example, certain data may be migrated or copied to cloud storage sites that replicate data to various geographic locations to prevent data loss in the event of a natural disaster or similar catastrophic event. For brevity, the full details of such deduplication and policy-driven storage methods are not repeated here.
  • The system can perform file system data migration at a file or block level. Block-level migration, or block-based data migration, involves migrating disk blocks from the data store or cache 1644 to secondary media, such as secondary cloud storage sites 1650. This migration process works particularly well with large files spanning many blocks, and is described in detail below. While not shown, file level migration employs similar processes, but is much simpler. Using block-level migration, the cloud gateway 1540 transfers blocks from the cache 1644 that have not been recently accessed from secondary storage, freeing up space on the cache. By tracking migrated blocks, the system can also restore data at the block level, which may avoid cost and time issues commonly associated with restoring data at the file level.
  • Alternatively or additionally, a cloud gateway 1540 and associated techniques described herein may make secondary disk copies to disaster recovery (DR) locations using auxiliary copy or replication technologies. Additionally or alternatively, a cloud gateway and associated techniques described herein may be used on copies of data created by replication operations such as CDR (Continuous Data Replication) and DDR (Discrete Data Replication).
  • Referring to FIG. 18, a flow diagram illustrating a routine 1800 for performing block-level data migration in a cloud gateway 1540 is shown. In step 1810, the cloud gateway, via the data migration component 1642, identifies data blocks within a cache that satisfy a certain criteria. The data migration component 1642 may compare some or all of the blocks (or, information associated with the blocks) in the cache 1644 with predetermined criteria. The predetermined criteria may be time-based criteria within a storage policy or data retention policy.
  • In some examples, the data migration component 1642 identifies blocks set to be “aged off” from the cache. That is, the data migration component 1642 identifies blocks created, changed, or last modified before a certain date and time. For example, the system may review a cache for all data blocks that satisfy a criterion or criteria. The data store may be an electronic mailbox or personal folders (.pst) file for a Microsoft Exchange user, and the criterion may define, for example, all blocks or emails last modified or changed 30 days ago or earlier. The data migration component 1642 compares information associated with the blocks, such as metadata associated with the blocks, to the criteria, and identifies all blocks that satisfy the criteria. For example, the data migration component 1642 identifies all blocks in the .pst file not modified within the past 30 days. The identified blocks may include all the blocks for some emails and/or a portion of the blocks for other emails. That is, for a given email (or data object), a first portion of the blocks that include the email may satisfy the criteria, while a second portion of the blocks that include the same email may not satisfy the criteria. In other words, a file or data object can be divided into parts or portions where only some of the parts or portions change.
  • To determine which blocks have changed, and when, the cloud gateway 1540 can monitor the activity of the file system 1730 via the callback layer 1750. The cloud gateway may store a data structure, such as a bitmap, table, log, and so on within the cache 1644 or other memory in the NAS filer 1505 or elsewhere, and update the data structure whenever the file system calls the cache 1644 to access, update, or change the data blocks within the cache 1644. The callback layer 1750 traps commands to the cache 1644, where that command identifies certain blocks on a disk for access or modifications, and writes to the data structure the changed blocks and the time of the change. The data structure may include information such as the identification of the changed blocks and the date and time that the blocks were changed. The data structure, which may be a table, bitmap, or group of pointers, such as a snapshot, may also include other information, such as information that maps file names to blocks, information that maps sub-objects to blocks and/or file names, and so on, and identify when accesses/changes were made.
  • In step 1820, the cloud gateway 1540 transfers data within the identified blocks from the cache 1644 to a media agent 1770 to be stored in a different data store. The system may perform some or all of the processes described with respect to the system of FIG. 1 when transferring the data to the media agent. For example, before transferring data, the system may review a storage policy as described herein to select a media agent, such as secondary storage computing device 165, based on instructions within the storage policy. In step 1825, the system optionally updates an allocation table, such as a file allocation table (“FAT”) for the file system 1730 associated with the cloud gateway to indicate the data blocks that no longer contain data and are now free to receive and store data from the file system.
  • In step 1830, via the media agent 1770, the cloud gateway 1540 stores data from the blocks to a different data store. In some cases, the cloud gateway, via the media agent 1770, stores the data from the blocks to a secondary cloud storage site, such as a cloud storage site 115A-N. For example, the cloud gateway may store the data from the blocks in secondary copies of the data store, such as a backup copy, an archive copy, and so on. Although not shown, prior to storing the data from the blocks to a different data store, the cloud gateway, via the media agent 1770, may perform block-level deduplication and/or content indexing, using the methods and data structures described previously with respect to the system of FIG. 1.
  • Although not shown, prior to storing data from the blocks to a different data store, the cloud gateway 1540 may encrypt and/or compress data as described previously with respect to FIG. 3B. The cloud gateway may create, generate, update, and/or include an allocation table, (such as a table for the data store) that tracks the transferred data and the data that was not transferred. The table may include information identifying the original data blocks for the data, the name of the data object (e.g., file name), the location of any transferred data blocks (including, e.g., offset information), and so on. The location of the transferred data blocks may comprise a URL to a file located on cloud storage site 115A-N. For example, Table 3 provides entry information for an example .pst file:
  • TABLE 3
    Name of Data
    Object Location of data
    Email1 C:/users/blocks1-100
    Email2.1 C:/users/blocks101-120
    (body of email)
    Email2.2 http://www.cloudstoragesite.com/companyname/
    (attachment) remov1/blocks1-250
    Email3 http://www.cloudstoragesite.com/companyname/
    remov2/blocks300-500
  • In the above example, the data for “Email2” is stored in two locations, the cache (C:/) and an offsite data store located on a cloud storage site 115A-N (http://www.cloudstoragesite.com/companyname/). The system maintains the body of the email, recently modified or accessed, at a location within a data store associated with a file system, “C:/users/blocks101-120.” The system stores the attachment, not recently modified or accessed, in a separate data store, “http://www.cloudstoragesite.com/companyname/remov1/blocksb 1-250.” Of course, the table may include other information, fields, or entries not shown. For example, when the system stores data to tape, the table may include tape identification information, tape offset information, and so on.
  • Sub-object-based file migration, or sub-object-based data migration, involves splitting a data object into two or more portions of the data object, creating an index that tracks the portions, and storing the data object to secondary storage via the two or more portions. The nature of sub-objects was described previously with respect to the description of deduplication module 299. As described above, in some examples the cloud gateway 1540 migrates sub-objects of data (sets of blocks) that comprise a data object from the cache 1644 to another storage location, such as to a cloud storage site. In some cases, the data migration component 1642 may include a division component that divides data objects into sub-objects. The division component may perform in a substantially similar fashion to the object division component described previously with respect to the deduplication module 299. The division component may receive files to be stored in the cache 1644, divide the files into two or more sub-objects, and store the files as two or more sub-objects in the cache. The division component may update more or more indexes that maintains information to associate particular files with their corresponding sub-objects for that file, the data blocks of the sub-objects, and soon.
  • The division component may perform different processes when determining how to divide a data object. For example, the division component may include indexing, header, and other identifying information or metadata in a first sub-object, and include the payload in other sub-objects. The division component may identify and/or retrieve file format or schema information from an index, FAT, NFS, or other allocation table in the file system to determine where certain sub-objects of a data object reside (such as the first or last sub-object of a large file). The division component may follow a rules-based process when dividing a data object, where the rules may define a minimum or maximum data size for a sub-object, a time of creation for data within a sub-object, a type of data within a sub-object, and so on.
  • For example, the division component may divide a user mailbox (such as a .pst file) into a number of sub-objects, based on various rules that assign emails within the mailbox to sub-objects based on the metadata associated with the emails. The division component may place an index of the mailbox in a first sub-object and the emails in other sub-objects. The division component may then divide the other sub-objects based on dates of creation, deletion or reception of the emails, size of the emails, sender of the emails, type of emails, and so on. Thus, as an example, the division component may divide a mailbox as follows:
  • User1/Sub-object1 Index
    User1/Sub-object2 Sent emails
    User1/Sub-object3 Received emails
    User1/Sub-object4 Deleted emails
    User1/Sub-object5 All Attachments

    Of course, other divisions are possible. Sub-objects may not necessarily fall within logical divisions. For example, the division component may divide a data object based on information or instructions not associated with the data object, such as information about data storage resources, information about a target secondary cloud storage site, historical information about previous divisions, and so on.
  • Referring to FIG. 19, a flow diagram illustrating a routine 1900 for performing sub-object-level data migration in a cloud gateway 1540 is shown. In step 1910, the system identifies sub-objects of data blocks within a data store that satisfy one or more criteria. The data store may store large files (>50 MB), such as databases associated with a file system, SQL databases, Microsoft Exchange mailboxes, virtual machine files, and so on. The system may compare some or all of the sub-objects (or, information associated with the sub-objects) of the data store with predetermined and/or dynamic criteria. The predetermined criteria may be time-based criteria within a storage policy or data retention policy. The system may review an index with the division component 815 when comparing the sub-objects with applicable criteria.
  • In step 1920, the cloud gateway 1540 transfers data within the identified sub-objects from the data store to a media agent 1770, to be stored in a different data store. The cloud gateway may perform some or all of the processes described with respect to FIG. 1 when transferring the data to the media agent. For example, the cloud gateway may review a storage policy assigned to the data store and select a media agent based on instructions within the storage policy. In step 1925, the system optionally updates an allocation table, such as a FAT for a file system associated with the cloud gateway, to indicate the data blocks that no longer contain data and are now free to receive and store data from the file system.
  • In step 1930, via one or more media agents 1770, the cloud gateway 1540 transfers or stores the data from the sub-objects to a different data store. In some cases, the system, via the media agent, stores the data to the cloud storage sites 115A-N, and/or to secondary storage 1650, such as magnetic tape 1652 or optical disk 1654. For example, the system may store the data as secondary copies, such as backup copies, archive copies, and so on. Although not shown, prior to storing the data from the sub-objects to a different data store, the cloud gateway, via the media agent 1770, may perform sub-object-level or block-level deduplication and/or content indexing, using the methods and data structures described herein.
  • Data Recovery in Cloud Storage Sites via Cloud Gateway Device
  • A data storage system, using a cloud gateway 1540 leveraging the block-based or sub-object-based data migration processes described herein, is able to restore not only files, but also portions of files, such as individual blocks or sub-objects that comprise portions of the files. Referring to FIG. 20, a flow diagram illustrating a routine 2000 for block-based or sub-object-based data restoration and modification is shown. While not shown, file level data restoration employs similar processes, but is much simpler. In step 2010, the system, via a restore or data recovery component, receives a request to modify a file located in a cache of a NAS filer 1505 or in secondary storage in communication with a cloud gateway. For example, a user submits a request to a file system to provide an old copy of a large PowerPoint presentation so the user can modify a picture located on slide 5 of 200 of the presentation.
  • In step 2020, the system identifies one or more blocks or one or more sub-objects associated with the request. For example, the callback layer 1750 of the system looks to an index or table similar to Table 3, identifies blocks associated with page 5 of the presentation and blocks associated with a table of contents of the presentation, and contacts the cloud gateway 1540 that stored or migrated the blocks on secondary storage.
  • In step 2030, the system, via the cloud gateway 1540, retrieves the identified blocks or sub-objects from the secondary storage and presents them to the user. For example, the system only retrieves page 5 and the table of contents of the presentation and presents the pages to the user. If some or all of the identified blocks or sub-objects were previously deduplicated prior to being transferred the secondary storage, in order to retrieve the identified blocks or sub-objects, the cloud gateway may utilize the media agent 1770, to “rehydrate” the deduplicated data using the methods described previously with respect to FIG. 12.
  • In step 2040, the system receives input from a user to modify the retrieved blocks or sub-objects. For example, the user updates the PowerPoint presentation to include a different picture. In step 2050, the system transfers data associated with the modified blocks or sub-objects back to the cloud gateway 1540, where it remains in a cache or is transferred to secondary storage, and updates the table/index. Thus, the system, leveraging block-based or sub-object-based data migration in a cloud gateway, restores only portions of data objects required by a file system.
  • For example, a user submits a request to the system to retrieve an old email stored in a secondary copy on removable media via a cloud gateway 1540. The system identifies a portion of a .pst file associated with the user that contains a list of old emails in the cache of the cloud gateway, and retrieves the list. That is, the system has knowledge of the sub-object that includes the list (e.g., a division component may always include the list in a first sub-object of a data object), accesses the sub-object, and retrieves the list. The other portions (e.g., all the emails with the .pst file), were transferred from the cloud gateway 1540 secondary storage. The user selects the desired email from the list. The cloud gateway, via an index in the cache that associates sub-objects with data or files (such as an index similar to Table 3), identifies the sub-object that contains the email, and retrieves the sub-object from the associated secondary storage for presentation to the user. Thus, the cloud gateway is able to restore the email without restoring the entire mailbox (.pst file) associated with the user.
  • As noted above, the callback layer 1750 maintains a data structure that not only tracks where a block or sub-object resides on secondary storage, but also which file was affected based on the migration of that block or sub-object. Portions of large files may be written to secondary storage to free up space in the cache or data store 1644 of the NAS filer 1505. Thus, to the network, the total data storage of the cloud gateway is much greater than that actually available within the cache or data store 1644. For example, while the cache or data store 1644 may have only a 100-gigabyte capacity, its capacity may actually appear as over 20 terabytes, with storage over 100 gigabytes being migrated to cloud-based storage.
  • System Configurations to Provide Data Storage and Management Software as a Service
  • Alternatively or additionally, the functionality and components of the system described previously may move into the cloud. This solution may be used for software as a service (“SaaS”), for application service providers (ASPs), or for a managed services provider to host and provide data storage and management as an offering, although it can also easily be utilized by a large enterprise to build on top of a private network or cloud. A software as a service (SaaS) model permits a client 130 to utilize a unified and rich set of value-added data management services (e.g. compression, deduplication, content-indexing/search, encryption, etc.) that may be fully independent of which cloud storage providers actually hosting the client's data. It also provides a mechanism for a client 130 to readily transfer data between various cloud storage sites 115 without being tied to a single cloud storage vendor. A software as a service model also permits clients 130 to utilize data management services and cloud storage on a capacity or utilization basis (e.g., per-gigabyte pricing), without fixed capital expenditures (e.g., expenditures for a set of vendor-specific cloud boxes or a software or hardware license). Under a SaaS arrangement, administrative functions move off-site, since there is no local secondary storage or other hardware at a client's site and the software (and any software updates) may be pushed to the client 130 as needed and configured on demand. Furthermore, remote monitoring techniques may be employed to further reduce administrative overhead of operating SaaS systems. FIG. 21 illustrates an example of an arrangement 2102 of resources in a computing network that may provide data storage software as a service. As shown, in this arrangement 2102, the storage manager 105 and secondary storage computing devices 165 are in the cloud (e.g., separated from the clients 130 by a network, such as a public WAN, like the Internet). The on-premises components need only include one or more data agents 195 and network client agents 255, which may reside on clients 130. The arrangement 2102 may permit multiple “tenants” to use a single SAAS system 2102 since the various clients 130 may be associated with different entities (e.g., different companies). Data agents 195 utilize network client agents 255 (including HTTP client subagents) to communicate effectively with the storage manager 105 and secondary storage computing devices 165 via their HTTP subagents located within network agents 235.
  • As described previously, the transport mechanism provided between the HTTP client subagent and HTTP subagents may be cloud-aware and cloud-capable. The HTTP client subagent and HTTP subagents may further be configured to work via firewalls and/or to configure firewalls appropriately. Details regarding managing firewall connections may be found in the assignee's U.S. patent application Ser. No. 12/643,653, filed Dec. 21, 2009, entitled Managing Connections in a Data Storage System (Attorney Docket No. 60692-8070US1). Alternatively or additionally, data agents 195 may utilize proprietary protocol client subagents configured to facilitate a virtual private network connection running over an HTTPS protocol, or another type of open/secure pipe wrapped in an HTTPS protocol to communicate effectively with storage manager 105 and secondary storage computing devices 165 via their proprietary protocol subagents.
  • In this arrangement, as described previously, media file system agent 240 may comprise one or more cloud storage submodules 236 that permit the media file system agent 240 to open, read, write, close, and delete data files stored on cloud storage sites and/or otherwise direct cloud storage sites to perform data storage operations.
  • In this sample arrangement, an on-premises user controlling only the client 130 may benefit from all or some of the system functionalities described previously (e.g., deduplication, content indexing, searching, archiving of data) and yet remain insulated from the details of maintaining and monitoring the data storage architecture on a day to day basis. Those details may move entirely into the domain of the SaaS provider or other network-based or cloud-based service provider, and explained herein.
  • Object Store
  • Alternatively or additionally, most or all elements of the system described previously may move into the cloud and be re-configured to allow a cloud storage provider to utilize the system as a data store, such as an object store 2250 shown in FIG. 22. A large enterprise could also use this system to provide cloud storage and data management to clients within the enterprise and/or outside the enterprise. By exposing REST or other web-based interfaces via a web service layer, users can read, write and manipulate data in an object store 2250.
  • In many respects, the object store 2250 provides similar functionality to the systems described previously and may provide additional features. An object store 2250 system may provide value-added services such as retention, deduplication, compression, encryption, content indexing and search, and collaborative searching. An object store 2250 may also provide tiered storage and information life cycle management services. The object store 2250, like the systems described previously, may also utilize other cloud storage sites as target cloud storage sites 115 that may be used as additional tiers of storage that provide extensible storage capacity.
  • An operator of the object store 2250 may charge the user of a client 2202 and/or associated entities (e.g., the employer of a user, or another operator or owner of the client 2202) on a subscription basis, volume basis, a mixed subscription/volume basis, or another pricing structure. For example, an operator may charge a monthly subscription fee to a company for unlimited uploads and downloads to an object store performed by its associated users or clients, so long as the total amount of data stored within the data store at any time during a month does not exceed a certain limit.
  • As another example, an operator may employ a volume pricing scheme and charge an entity when a user or client that is affiliated with the entity performs various actions using the data store 2250. The operator may charge an entity a first rate for each unit of data uploaded to the site, and/or a second rate for each unit of data stored in the site for a unit of time (the rate may vary by the type of data cloud storage site used to store the data) and/or a third rate for conducting a content-based search of data stored therein that retrieves information about various objects (e.g., file name, user name, content tags), a fourth rate for conducting a collaborative search operation upon data stored therein, and/or a fifth rate for each unit of data retrieved and/or restored and served back to a client. As a third example, an operator may charge a flat monthly subscription fee to keep a user's account active and additionally charge one or more volume-based rates when the user performs various actions using data store 2250.
  • FIG. 22 is a block diagram illustrating components of the object store 2250. As shown in FIG. 22, the object store 2250 may comprise a storage manager 105, one or more object server nodes 2208, one or more secondary storage computing devices 165, one or more deduplication databases 297, and one or more SS indices 261. An object store 2250 may be communicatively coupled to clients 2202 over a network such as a LAN, MAN, WAN or other network. Clients 2202 may differ from the clients 130 shown in FIG. 1 in that they may not run a dedicated data agent 195 and/or network client agent 255 configured to communicate with the object store 2250, but instead communicate using existing client-based software components, such as LAN protocols (e.g. Ethernet, SCSI, etc.), WAN protocols (e.g., FTP/HTTP), etc. An object store is communicatively coupled via its secondary storage computing devices 165 to cloud storage sites 115, including various cloud storage sites 115A-N, either via LAN, WAN, etc.
  • As shown in FIG. 22, each object server node 2208 may comprise an object server agent 2210, an ingestion database 2212, and a primary data store 2214. An object server agent 2210 may be built on Linux for performance and to make it economical to scale the number of object server nodes 2208 as needed. An object server agent 2210 provides a REST interface or other web-based interface to clients 2202 to write, read, retrieve, and manipulate data ingested by the object server node 2208, and stored therein or in associated secondary cloud storage sites 115.
  • Each object server agent 2210 exposes one or more sub-clients of an object server node 2208. Sub-clients are containers on which default storage policy parameters may be set to dictate the handling or management of data within that container. Individual object-level parameters that a user specifies and provides along with a file/object could optionally override these defaults parameters. Within each sub-client, a number of storage sites can be created, each of which corresponds to a logical point of data ingestion via the REST interface, and may correspond to a particular cloud storage site (e.g., a URL or web directory dedicated to a cloud storage site serving a particular customer or company). Object store 2250 may maintain a system-level (and/or tiered node-level) file system of all data stored within the object store 2250 and/or associated storage devices (cloud storage sites 115). However, object store 2250 may expose to each particular client (or a particular customer or company) only the subset of the larger file system that corresponds to the client's objects (or a customer's or company's objects). As described herein, object store 2250 may implement these effectively separate file systems in part by utilizing Access Control Lists and/or Access Control Entries.
  • As an example, a cloud vendor who operates an object store 2250 might assign an entire sub-client to a Web 2.0 customer, who in turn might partition it up into several sites and allocate one to each of its customers. More object server nodes 2208 can be added to the system to scale up the capacity of the object store 2250 and its ability to respond to storage operation requests, while still preserving the ability to address any given site's namespace in the same way. The particular object server node 2208 utilized for the storage of a certain file may be chosen on the basis of the file type and/or other characteristics of the file (e.g. the type of application that created the file). Thus, certain object server nodes may be specific to types of applications (e.g. text-based applications such as word processing applications on one node, image-based applications such as digital image applications on a second node, audio-based applications on a third node, video-based application on fourth node, etc.) As another example, various object server agents 2210 and/or various sub-clients within an object server agent 2210 may each be configured to each handle a different type of object; for example, a first object server agent 2210 may be configured to handle documents, a second object server agent 2210 configured to handle email objects, and a third configured to handle media objects, such as image files and video.
  • Object server agents 2210 run a web server (such as an Apache or Microsoft IIS web server) and expose a REST interface or other web-based interface to clients 2202. The object server agents 2210 provide data ingestion or upload points to the object store 2250 for each storage site within each sub-client. Data ingested from a client 2202 by an object server agent 2208 may be temporarily stored, cached, or spooled on a primary data store 2214.
  • An ingestion database 2212 records information about each data object ingested by its associated object server node 2208, such as an associated URI or other token that identifies the particular data object, the sub-client and/or site associated with the object, the client 2202 and/or user associated with the object, the time the object was created within the data store, the location(s) of instance(s) of the data object within a primary data store 2214 and/or cloud storage sites 115, location(s) of deduplication and/or content indexing information pertaining to the object (e.g., deduplication database(s) 297 or SS indices 261 having related information), metadata (including security metadata), default and/or object-level storage policy parameters (such as parameters affecting retention, security, compression, encryption, and content indexing), and an identifier (e.g., a hash). In some examples, the ingestion database may also store content information within the ingestion database 2212 to provide content indexing capability at the object server node. In some examples, the ingestion database 2212 schema comprises tables for sites (e.g. registered sites), security (e.g., document or folder-level security information), objects (or documents), document or object versions, document or object version audit information, deleted document or object versions, storage locations, a document or object cache, and/or archFileReferences. In one example, the ingestion database 2212 is implemented using PostgreSQL, but other examples utilize Oracle, OpenLink Virtuoso, or a similar database management system.
  • As described previously, data ingested by the object server agent 2210 may be temporarily stored, cached, or spooled on the primary data store 2214. In one implementation, an ingestion process at the object server node 2008 may run on a prescribed schedule (according to a schedule policy described previously) to process data stored in primary data store 2214. Using policy parameters, metadata, and/or other information stored in ingestion database 2212, the object server node 2208 may form logical groups of data objects and request that a secondary cloud storage computing device 165 copy or migrate each logical group of data objects into an archive file or other type of secondary storage format via a secondary storage computing device 165; each data object in the group is stored in association with related metadata (including Access Control List data and/or other security-related data). Logical groups typically comprise objects having similar retention policies (e.g., similar secondary storage media requirements, similar retention times) and/or similar object types (e.g., all objects in the group are emails; all objects were created using the same application). Logical groups may be formed by applying additional and/or different criteria, such as groups reflecting specific ingestion site(s), user(s) associated with the object, or a company or entity associated with the object. Logical groupings may also be based on policy parameters provided by a client or customer of the object store. Thus, a customer of the object store may provide policy parameters that dictate the logical groupings used. For example a customer might specify that they want a new logical grouping for each back-up cycle performed on their data. As another example, a customer of an object store may specify that they do not want their data commingled with the data of other customers (e.g. the system may consolidate all of that customers data for a particular job or back-up cycle/window to be stored in new containers for that job/cycle/window). In some implementations, an object server node 2208 (or secondary storage computing device 165) may divide objects into sub-objects (as described previously), form logical groups of data sub-objects, and copy or migrate logical groups of data sub-objects.
  • As a first example, an object server node 2208 may query an ingestion database 2212 to identify all recently ingested email objects currently stored in primary data store 2214. Object server node 2209 may then request a secondary storage computing device 165 to process this group of email objects into an archive file stored on a particular cloud storage site 115. As another example, an object server node 2208 may query ingestion database 2212 to identify all recently ingested objects that are to be stored for 7 years on high-quality tape storage. Object server node 2208 may then request a secondary storage computing device 165 to process this group of objects into an archive file stored on a cloud storage site 115 that provides suitable tape storage.
  • Unless explicitly proscribed by applicable storage policy parameters, an object server node 2208 may form a logical group that includes data objects from various clients 2202, each of whom may utilize a different cloud storage site and/or may be affiliated with different entities. In one illustrative example, clients 2202A1, 2202A2 are affiliated with a Company A and both utilize a first storage site on a first sub-client of a first object server node 2208. Clients 2202B1 and 2202B2 are affiliated with a Company B and both utilize a second storage site also hosted on the first sub-client of the first object server node 2208. Assuming the default storage policy parameters of the first sub-client specify that email messages are to be retained on tape for 1 year, then all email objects ingested from all four of these clients may be commingled in a logical group and then stored in a commingled fashion within a single archival tape file scheduled for a one year retention period. The only email objects from these clients that would not be so stored are individual email objects that are associated with different user-specified storage policy parameters (e.g., if a user specified that emails related to or from the finance department should be stored in cloud storage (not tape) and/or stored for a 7 year retention period (not a 1 year period)).
  • In some implementations, when a secondary storage computing device 165 receives a request to process a logical group of data objects and the metadata associated with these objects, it may handle the request in accordance with the process of FIG. 3B. That is, the secondary storage computing device 165 may content index each object in the group, perform object-level, sub-object level and/or block-level deduplication on the group, and/or encrypt the data and metadata. As a result of the processing, the secondary storage computing device 165 will also store each of the various objects in logical association with its related metadata (including ACL or other security metadata). During this process, described previously, the secondary storage computing device 165 may build indexing information within a content index or another index (e.g., SS index 261) and/or deduplication information (e.g., within deduplication database 297). By storing objects with similar retention policies in logically grouped archival files, the system may efficiently prune or eliminate data from the object store 2250 and/or more efficiently perform ILM within the Object store 2250, since the various objects within each archival file may have similar dates for deletion or migration.
  • During the deduplication processing of a logical group, the secondary storage computing device 165 may perform lookups on one, some, or all of the deduplication databases 297 within the object store 2250. In one example, during deduplication, a secondary storage computing device 165 only performs lookups on one deduplication database 297, which may decrease the time required for deduplication (and/or pruning and/or data restoration) but increase the volume of data stored within the data store. In another example, during deduplication, a secondary storage computing device 165 performs lookups on all deduplication databases 297 within an object store 2250, which may increase the time required for deduplication (and/or pruning and/or object restoration) but decrease the volume of data stored within the data store.
  • Note that deduplication of data objects in a logical group may occur across clients 2202 and/or across various companies. Returning the prior example, if client 2202A1 and client 2202B2 (from two different companies) both receive a particular email message and associated large attachment, secondary cloud storage site 165 may store only one instance of the email data object and attachment (although it stores and associates the instance with two different sets of metadata, one set for client 2202A1 and one set for client 2202B2). Thus, by storing data received from multiple clients, even associated with different and independent companies, the system can realized greater deduplication over what either client would realize individually. Once cross-client or cross-company deduplication occurs, if a particular client or company requests the deletion of a shared object (or shared sub-object or block), the system will not necessarily delete the physical copy of the shared object (or sub-object or block). Instead, the system may simply update one or more indices or databases such as a deduplication database (e.g., by removing a link, URL or other pointer to a physical copy), delete the file name from a file allocation table (FAT) or similar file system data structure, etc. In this way the client or customer who “deleted” the object no longer has access to the object and no longer sees the object as part of the file system that is exposed to them by the object store.
  • Additionally in this example, under the deduplication processes described previously, even if the two identical email objects were ingested by an object server node 2208 at different times (e.g., a month apart), when a second copy eventually reaches a secondary storage computing device 165, it still might not result in a second instance being created. This result occurs because during the deduplication process, a deduplication module 299 on a secondary storage computing device 165 might detect an instance of the object in a deduplication database 297. However, the system may alternatively determine that the first version, while identical, is too old and could have been stored on storage medium that may be degrading, and thus the system may store the second version it receives years later.
  • As described previously, when a media file system agent 240 performs the process shown in FIG. 3B it will typically result in the storage of one or more aggregated or containerized archive files. The individual data objects of a logical group are not stored as individual files on a file system of a cloud storage site 115. As described previously, by containerizing data, the object store 2250 may thus reduce the limitations posed by file system scalability by reducing the strain on the namespace of the object store 2250. The generation of these archive files also generates catalogs (e.g., deduplication databases 297, SS indices 261, and/or other information) that makes it easier to access, search for, retrieve, or restore a single object even from the aggregated archive form. Further details on archive files may be found in the assignee's U.S. Patent Publication No. 2008-0229037, filed Dec. 4, 2007, entitled SYSTEMS AND METHODS FOR CREATING COPIES OF DATA, SUCH AS ARCHIVE COPIES.
  • When a client 2202 or application running on a client 2202 checks in or stores an object into an object store 2250, an object server node 2208 may serve it a unique Universal Resource Identifier (“URI”) or token that points to or identifies the object, which the client 2202 or application may store locally on the client side. This token or URI may be globally unique to all objects within the object store 2250. Alternatively, it may be unique with respect to all objects stored by a single client 2202, ingested by a particular object server node 2208, sub-client and/or site, and/or unique with respect to another factor. In this way, the URI in conjunction with other information (e.g., a user's login information) may still uniquely identify a particular data object.
  • To provide verification to a user of the integrity of files stored in an object store 2250, an object store can optionally generate a unique identifier such as a hash (or probabilistically unique identifier) using a particular identifier-generation algorithm for each data object ingested and return that identifier to a calling application on a client 2202 at the time of ingestion. When an application on the client 2202 later retrieves the same data object, a client-side application can use the same identifier-generated algorithm to compute a hash for the retrieved object. If this newly computed identifier matched the identifier returned during ingestion, it would assure the client that the data object had not been modified since it was originally ingested. In addition, an object store 2250 may run similar periodic data verification processes within the object store 2250 asynchronously to ensure the integrity of the data stored therein. Further details may be found in the assignee's U.S. Patent Publication No. 2009-0319534, filed Jun. 24, 2008, entitled APPLICATION-AWARE AND REMOTE SINGLE INSTANCE DATA MANAGEMENT (Attorney Docket No. 60692-8057US).
  • Optionally, data objects may be ingested inline into multiple archive files on separate object server nodes 2208 (for redundancy or other reasons). Also, in one example, geographically separate replication may be configured per cloud storage site, which allows the system to serve up objects from a remote location (which may include continuous data replication technology), for fault tolerance (because separate power grids, long-haul communication links, etc. would be used), etc.
  • An object store 2250 may also optionally make a copy of data on removable media such as tape to enable secure offline storage. Alternatively or additionally, an object store may make secondary disk copies to disaster recovery (DR) locations using auxiliary copy or replication technologies as noted herein.
  • Each site within an object store 2250 may be protected via security policies that limit which users or clients 2202 have access to the site (and/or to particular objects stored within the site). As described previously, a system may include mechanisms to permit authentication (e.g., by the use of registered username and password combinations and/or similar known authentication methods). A system may also enable customers to specify and store access privileges, including privileges for object access within the object store 2250. As described previously, user-level security and other metadata may be provided and stored along with the object.
  • For example, an object may be stored with a provided ACL containing Access Control Entries (“ACE”). An ACL contains a list of users and/or groups that are allowed to access a data object, type of data object, or resource containing a data object. Each ACE may specify a user, group, or other entity that has access to the data object associated with the ACL. In some embodiments, an ACL may contain a list of users or groups that are specifically denied access to a data object. To implement user-level security, when a user, system, or process attempts to access a data object on an object store 2250 (or related information or metadata, such as a file name), the object store 2250 may access and parse an ACL and any associated ACEs or other security data related to the data object to determine whether the user has the appropriate access level to access the object or its related information. Further details on such security and access control may be found in the assignee's U.S. Patent Publication No. 2008-0243855, filed Mar. 28, 2008, entitled SYSTEM AND METHOD FOR STORAGE OPERATION ACCESS SECURITY (Attorney Docket No. 60692-8042US1).
  • When an application running on a client 2202 requests the retrieval of a data object stored in the object store 2250, the client may present a URI (or other token) back to the object server node 2208. Before the object server 2250 returns the data object (and/or provides other related information or metadata to the user, such as the file name of the data object), the object server (e.g., via the object server agent 2210) may parse the ACL or other security information to confirm that returning the object (or providing other information) is in conformance with the object's security settings and/or previously defined policies stored in the storage manager. If the user of the client 2202 is properly authenticated, and the user has sufficient access rights to the object (as determined by the ACL or other security information stored in conjunction with the object), the user will be able to retrieve the data object. In this manner, the object store 2250 ensures sufficient privacy between various clients 2202A1, despite the fact that their objects may be commingled in the primary data store 2214 and cloud storage sites 115.
  • A web-based portal may be provided by the object store to readily allow a user to authenticate interactively and browse, view, and restore their data as well. For example, a web-based portal may permit a user to log on to the system, and may then present a user with an interface that presents to them various data objects associated with the user. For example, it may present objects that were ingested from the user's client 2202, and/or objects ingested from some clients from the user's entity, and/or objects associated with a collaborative search in which the user is a participant. The interactive interface will also support search capabilities, end-user tagging of data, and the ability to classify data into folders (“review sets”) for future reference.
  • Data indexing capabilities, described above, may be incorporated into an object store 2250 to permit policy-based searches of content or other information relating to data objects, that have been indexed. Such data indexing and classification permits the object store 2250 to offer “active management” of the data to an administrator of the system. For example, an administrator can define the actions to be performed on data based on criteria pertaining to the data—e.g., tag, check into an ECM system, restore into a review set for a knowledge worker to review later, etc. In one example, indexing capabilities may also permit users to conduct collaborative searching and collaborative document management of objects within the object store 2250 as described previously.
  • Object Store Methods
  • In one implementation, an object store 2250 may avoid the system costs associated with uploading and storing an unnecessarily duplicative copy of an object during a data storage request by a client 2202. FIG. 23 shows a first process 2300 for managing a request to store an object within an object store 2250, including apportioning the storage cost of the object. The process 2300 may result when a calling application on a client 2202 requests that an object server agent 2210 store a particular object.
  • The process 2300 begins in block 2305 where an object server node 2208 receives an identifier (e.g., a token, URI or hash) for an object and metadata associated with the object (including, e.g., object-level security, content tags, and/or storage policy parameters). For example, a calling application on the client 2202 may generate a hash identifier for an object and send that identifier to object store 2250 along with metadata. At optional block 2310 the object server node 2208 performs a lookup of the received identifier in one or more deduplication database(s) 297 to ascertain whether the object has already been ingested and processed by object store 2250 (or ingested or processed by particular object server node(s) 2208, particular storage site(s), or particular secondary storage computing device(s) 165, such as those secondary storage computing device(s) 165 associated with a particular object server node 2208). Alternatively or additionally, an object server node 2208 performs a lookup of the received identifier in one or more ingestion databases 2212 within data store 2250 to ascertain whether the object has already been ingested by object store 2250 (or ingested by particular object server node(s) 2208, particular sub-client(s), or particular storage site(s)). Alternatively or additionally, the object server node sends the received identifier to one or more cloud storage sites to see if a copy of the object has already been stored therein.
  • At optional decision block 2315, the system uses the information acquired at block 2310 to determine if the system currently has the object stored in a manner that is consistent with the storage policy parameters applicable to the object. If it does, the process proceeds to block 2355, otherwise it proceeds to block 2320. For example, if the system has only one copy of the object stored in tape storage, but the calling application on the client 2202 has specified that the object should be stored on disk storage, the process may proceed to block 2320.
  • If object store 2250 already has the object stored in an appropriate manner, at block 2355, the object server node 2208 updates deduplication database 297 to reflect how the new request refers to previously stored blocks. For example, the system may increase reference counts in a primary block table and may add additional entries to a secondary block table within deduplication database 297 to reflect how the new request refers to previously stored blocks. In some implementations, the system may additionally or alternatively update an object-level deduplication database 297 (e.g., by incrementing an object-level reference count in an object-level index within the deduplication database).
  • At block 2355, the object store 2250 may not request a new copy of the object, saving the time and system cost associated with uploading the object anew, and may instead simply update a deduplication database 297. For example, if a cloud storage site already has a copy of an object stored therein, at step 2355, the object store may add a link or URL to a previously stored copy in the deduplication database 297 and/or elsewhere. The process then proceeds to block 2325.
  • If optional blocks 2305-2315 are not performed by the system, the process begins instead at block 2320.
  • At block 2320, object server node 2208 requests the object from client 2202. If object server node 2208 has not already received metadata, it also requests metadata from client 2202 at block 2320. The process then proceeds to block 2325. Alternatively, if at decision block 2315, the object server node 2208 determines that the object store 2250 currently has the object in storage, but it is stored in a manner that is inconsistent with applicable storage policy parameters, object server node 2208 may instead retrieve or request a copy of the object from another system component (e.g., a primary data store 2214 or a cloud storage site 115) and if necessary, request metadata from client 2202.
  • At block 2325, after receiving the object and/or its metadata, the system stores these in the primary data store 2214. If object store 2250 already has a copy of the object stored in an appropriate manner, at block 2325 the system may store one or more pointers, links, or references to the object and/or its constituent blocks (e.g., a pointer to a dehydrated instance of the object within object store 2250 or cloud storage site 115, or a pointer or reference to an entry in a deduplication database 297) in the primary data store 2214 instead of storing a copy of the object. At block 2325, an object server node 2208 may also generate a URI for the object, update an ingestion database 2212 to reflect information about data object (as described previously), and may return a URI or other token to client 2202. Additionally or alternatively, an object server node 2008 may also generate and return an identifier (e.g., a hash) for the object to provide later validation to the client 2202. Object server node 2208 may also store an identifier for the object in ingestion database 2212 and/or deduplication database 297.
  • At block 2330, during a scheduled ingestion process described previously, object server node 2208 may associate the object (and its metadata) with a logical group of objects (logical groupings are described further herein). Object server node 2208 may further request a secondary storage computing device 165 to process the logical group by copying or migrating each logical group of data objects into a compressed, deduplicated or “dehydrated” archive file that may employ data structures such as those shown in FIGS. 5 and 8.
  • At block 2335, a secondary storage computing device 165 performs content indexing of the object in the manner described previously with respect to FIG. 10. At block 2340, a secondary storage computing device 165 performs deduplication of the object using one or more of the deduplication methods and data structures described previously. In one example, deduplication may be file or block-level deduplication. In other examples, the deduplication may be object-level or sub-object level deduplication. During deduplication at block 2340, the system may perform lookups on or otherwise examine one, several, or all deduplication databases 297 within object store 2250 to determine the number of instances of the object that are currently stored and/or the number of instances of each block in the object that are current stored. Thus, the scope of deduplication within an object store 2250 may be quite limited or quite broad. In one example, a deduplication process only utilizes deduplication databases 297 associated with the same object server node 2208 that received or ingested the object. A deduplication database 297 is associated with an object server node 2208 if the deduplication database has any entries reflecting a storage operation initiated by the same object server node 2208.
  • At block 2345 the system stores a dehydrated form of the object within an archive file, which may also comprise data relating to any or all of the objects in the logical group. As illustrated previously, the precise dehydrated form of an object within an archive file will depend on the type of deduplication performed and whether some or all of the object's content had previously been stored. For example, if block-level deduplication is performed upon the object and a prior instance of the object was already appropriately archived, the dehydrated form of the object may be represented within the archive file by metadata and one or more pointers or similar references. For example, during deduplication, if a cloud storage site already has a copy of an object stored therein, at step 2345, the object store may store in a container file, a link, URL or other pointer to a previously stored copy. If instead, block-level deduplication is performed upon the object but a prior instance of the object was not already appropriately archived, the dehydrated form of the object within the archive file may comprise metadata, pointers/references to some blocks stored previously, and new copies of some other blocks within the object.
  • At optional block 2360, the system may apportion the cost of storing the object between one or more clients or their related entities. Stated conversely, at block 2360, the system may attempt to apportion any cost savings resulting from the avoidance of unnecessary storage within the data store and/or unnecessary uploads to the object store 2250. For example, if two different clients 2202 from two different companies both request that an object store 2250 provide storage of the same data object, the two companies may receive adjusted pricing for their requests to reflect the cost savings realized by the system during deduplication. As described previously with respect to FIG. 22, in the event that some or all of the blocks of the data object were previously stored appropriately within the storage operation cell 2250, the deduplication at block 2340 may reduce the amount of data needed to process a new request to store the same data object. Thus, block 2340 may reduce the amount of data storage needed to accommodate a storage request. Additionally, if the system performs the optional identifier lookup shown in blocks 2305-2315 and the process proceeds to block 2355, the system avoids the cost of receiving the data object (e.g., ingestion bandwidth of an object server agent 2210 used and/or the system resources needed to transfer the object into and out of a primary data store 2214).
  • To apportion cost savings, the system may utilize or mine the data stored in deduplication databases 297, SS index 261, management index 211, and/or ingestion databases 2212. As described previously, these databases correlate client 2202 information with data ingested into and stored by the object store 2250, such as the time of creation, deduplication information, deletion dates, and storage locations. Thus, the system may use these databases to determine which storage requests initiated by a particular client 2202 were processed via direct ingestion of an object from the client 2202, in contrast to those storage requests initiated by the client that were able to utilize previously stored instances of an object or some of its blocks. Such a determination permits the system to determine where cost savings have occurred. When apportioning costs, the system may utilize a sliding ratio that is selected using criteria such as the size of a shared data object, the quantity and/or quality of total data stored on the object store by a particular company or client, the terms of a service contract or agreement between a particular company and an operator of an object store, the storage policy for the company, and/or any other suitable criteria.
  • In one example, a first client 2202A associated with a first company uploads a new object to an object store 2250, and later a second client 2202C associated with a second company sends an identifier (hash) of the same object to the object store and requests storage of that object. In this example, a second upload of the object itself may be avoided (i.e., the process of FIG. 23 proceeds to block 2355) and a second copy of the object within the object store 2250 may be avoided. In this example, the system may initially charge the first company a first non discounted rate for the upload of the object (e.g., a rate based on its size) and a second non discounted rate for the storage of that object (e.g., a rate based on the object's size and the duration and quality of storage used to store it). At a later time, the system may charge the second company a third discounted rate for their requested upload of the object (e.g., a rate based on its size) and a fourth discounted rate for the storage of that object (e.g., a rate based on the object's size and the duration and quality of storage used to store it).
  • Additionally or alternatively, the first company may receive a credit or rebate to its account to reflect some or all of the cost savings realized from avoiding a second upload; this credit or rebate may be for an amount that is different from (e.g. less than) the second client's third rate. Additionally, after the second client requests storage, so long as both the first and second clients have effective access to the data object (e.g., their “virtual copy” of the object has not been eliminated due to a retention policy and the client has not requested its deletion), one or both companies may receive a discounted or reduced storage rate. For example, the first company may receive a storage rate lower than the second non-discounted rate that was originally charged.
  • In a second example, a first client 2202A associated with a first company uploads a first object that is new to the object store 2250, and later a second client 2202C associated with a second company sends an identifier (e.g., a hash) of a similar second object and requests storage of the object. A second object is similar to a first object if it shares one or more blocks in common with the first object. In this example, a second upload of the object itself is not avoided (e.g., the process proceeds to block 2320), since the two objects have different identifiers. However, block-level deduplication (e.g., at block 2340) may reduce the amount of new data needed to store the second object. After the second client requests storage, so long as both clients have effective access to the common blocks (e.g., their “virtual copy” of the blocks has not been eliminated due to retention policies and the client has not requested deletion), one or both of the two companies may receive a reduced storage rate for the common blocks.
  • In a third example, cost apportionment is not tied to a particular storage request, but rather occurs in an aggregated way. For example, the system may periodically (e.g., monthly) determine what percentage of blocks uploaded directly from a first company's clients 2202 are referenced by another company's deduplication database entries. The system might then provide a rebate to the first company's account, offer lower rates to the first company for another future period (e.g., the next month), apportion costs that month between the two companies so that each company's bill is less that what it would have been if each had stored its own copy, etc.
  • In a second implementation, an object store 2250 may avoid the system costs associated with uploading and storing unnecessary duplicate copies of data blocks when processing a data storage request by a client 2202. FIG. 24 shows a second process 2400 for managing a request to store an object within an object store 2250, including apportioning the storage cost of the object. The process 2400 of FIG. 24 is similar to process 2300 of FIG. 23, however, in process 2400, the system may avoid the costs associated with uploading redundant blocks, not just redundant objects, by performing block-level deduplication at substantially the same time as data ingestion. In this implementation, during process 2400 the system may cache or store a logical group of objects in an archive file stored in the primary data store 2214 that reflects a dehydrated form of the objects (i.e., an archive file that utilizes data structures similar to those shown in FIGS. 5 and 8). Later, during a scheduled ingestion process, the archive file may be transferred or copied to one or more secondary cloud storage sites 115.
  • Alternatively, during process 2400, the object store 2250 may write a dehydrated form of data objects directly to an archive file located in a secondary data store 115 by utilizing secondary storage computing device 165. As described previously, an archive file may comprise one or more volume folders 802 that further comprise one or more chunk files 804, 805. The chunk folders may further comprise one or more of each of the following: metadata files 806, metadata index files 808, container files 810, 811, and container index files 812.
  • The process 2400 begins at block 2405, where the system receives object metadata, identifies a logical group, and identifies an archive file for storing a dehydrated form of the object. At block 2405, the system may identify a logical group for the object by using the received metadata (e.g., reflecting the type of object, the storage policy parameters, and/or security information), and/or other information (e.g., the identity of the client 2202 making the storage request) to identify a logical group of objects having similar storage policy parameters, similar object types, and/or other similarities. Once a logical group is identified, the system identifies an archive file utilized by the system to store the logical group in a dehydrated form. The archive file may be located in primary data store 2214 or on a secondary cloud storage site 115. If a suitable archive file does not already exist in primary data store 2214 (e.g., because archive files were recently migrated from primary data store 2214 to secondary cloud storage sites 115), the system may create a new archive file in primary data store 2214 for the logical group. Alternatively, the system may create a new archive file in a secondary cloud storage site 115 for the logical group.
  • At optional blocks 2407-2415, the system receives an object identifier and performs a lookup of the object in deduplication database(s) 297 to determine whether the object store 2250 already has a copy of the object appropriately stored within the object store. Blocks 2407-2415 are performed in the same manner as blocks 2305-2315 described previously with respect to FIG. 23. If optional blocks 2407-2415 are not performed, the process 2400 proceeds directly to block 2435.
  • If at decision block 2415 the system determines that object store 2250 does have a copy of the object appropriately stored therein, then at block 2420 the system updates one or more deduplication databases 297 to reflect how the identified archive file refers to previously stored blocks. For example, the system may increase reference counts in a primary block table. As another example, the system may add additional entries to a secondary block table within deduplication database 297. For example, if a cloud storage site already has a copy of an object stored therein, at step 2415, the object store may add in a deduplication database 297 and/or elsewhere, links or URLs to previously stored blocks. At block 2425, the system may content index the object. To do so, the system may associate the new storage request with content indexing information previously derived and/or associate the new storage request with metadata provided. Alternatively or additionally, the system may restore all or part of the data object using the processes described previously and content index a restored data object and/or a restored portion of the data object. The system may store some or all of the content index information in the SS index 261 and/or ingestion database 2212. The process then proceeds to block 2430.
  • At block 2430, the system updates the identified archive file to reflect the storage request. To do so, the system may (1) add the received metadata to a metadata file (2) add links, references, or pointers within the metadata file that point or refer to previously stored blocks, and (3) update a metadata index file. If all of the blocks in the object were previously stored in an appropriate manner, the system may not need to add any additional blocks to a container file. For example, if a cloud storage site already has a copy of an object stored therein, at step 2345, the object store may store in a metadata file, metadata index file, or another container file, links or URLs to previously stored blocks.
  • If optional blocks 2407-2415 are not performed or if, at decision block 2415, the object store does not have a copy of the object appropriately stored therein, the process proceeds to the loop shown at block 2450, where the system performs blocks 2440-2470 for each block within the object. At block 2440, the system receives a block identifier. At decision block 2445 the system determines if the system already has an appropriately stored copy of the block by querying one or more deduplication databases 297. During block 2445, the system may perform lookups on or otherwise examine one, several, or all deduplication databases 297 within object store 2250 to determine the number of instances of the block that are appropriately stored. Alternatively or additionally, the system sends the received block identifier to one or more cloud storage sites to see if a copy of the block has already been stored therein. Thus, the scope of block-level deduplication within an object store 2250 may be limited or broadened.
  • If the system does have a copy of the block appropriately stored, then the system at block 2450 updates deduplication databases 297 to associate the current storage request with that block. For example, the system may increment a reference count in a primary block table and add an additional entry to a secondary block table. The process then continues to block 2455, where the system updates the identified archive file by (1) adding received metadata to a metadata file and/or (2) adding a link, reference, or pointer within the metadata file that points or refers to a previously stored copy of the block. For example, if a cloud storage site already has a copy of a block stored therein, at step 2325, the object store may add in a metadata file or another container file, a link or URL to a previously stored copy. The process then proceeds to decision block 2470.
  • If the system does not have a copy of the block appropriately stored therein, then the system proceeds to block 2460, where the system requests a copy of the block from the client 2202. Once the block is received, at block 2465, the system stores the block in a container file within the identified archive file and otherwise updates the archive file. For example, the system may update a metadata file 806 with a link to the newly stored block and with received metadata. The system may further update deduplication databases 297 by adding a new entry to a primary block table and/or adding an additional entry to a secondary block table.
  • As shown at decision block 2470, the sub-process of blocks 2440-2465 repeats so long as there are additional blocks within the object that require processing by the system.
  • The process 2400 then proceeds to block 2475, where the system content indexes the object. During content indexing, the system may simply index the object using received metadata (e.g., using content tags provided as metadata by a user). Alternatively or additionally, the system may restore all or part of the data object using the processes described previously and content index a restored data object and/or a restored portion of the data object. The system may store some or all of the index information in the SS index 261 and/or ingestion database 2212 before proceeding to block 2480.
  • At block 2480, the system updates ingestion database 2212 to reflect the processed storage request and received metadata, and returns a URI to the requesting client 2202.
  • At optional block 2485, the system may apportion costs among clients or their related entities in a manner similar to that described previously with respect to FIG. 23. When apportioning costs, the system may utilize a sliding ratio that is selected using criteria such as the size of a shared data object/block, the quantity and/or quality of total data stored on the object store by a particular company or client, the terms of a service contract or agreement between a particular company and an operator of an object store, storage policy requirements, and/or any other suitable criteria. In one example, a first client 2202A associated with a first company uploads a first object that is new to the object store 2250, and later a second client 2202C associated with a second company sends an identifier (e.g., a hash) of a similar second object and requests storage of the object. The second object is similar to a first object because it shares a set of blocks in common with the first object. In this example, via the process 2400 shown in FIG. 24, a second upload of the common blocks is avoided. Furthermore, block-level deduplication (e.g., at blocks 2440-2465) may reduce the amount of new data needed to store the second object. In this example, the system may initially charge the first company a non discounted first rate for both the upload of the object (e.g., based on its size) and a non discounted second rate for the storage of that object (e.g., based on the object's size and the duration and quality of storage used to store it). At a later time, the system may charge the second company a reduced third rate for its request to upload the object to reflect cost savings realized by avoiding a second upload of common blocks. Additionally or alternatively, the first company may receive a credit or rebate to its account to reflect some or all of the cost savings realized from avoiding a second upload; this credit or rebate may be for an amount that is different from the second client's third rate or discount. After the second client requests storage of the second object, so long as both clients have effective access to the common blocks (e.g., their “virtual copy” of the common blocks has not been eliminated due to retention policies and the client has not requested deletion of an associated object), one or both of the two companies may receive a reduced storage rate for the common blocks.
  • Process for Cost-Balancing Cloud Storage
  • FIG. 27 is a flow diagram illustrating a process 2700 for identifying suitable storage locations for a set of data objects subject to a storage policy. Process 2700 may be performed by the systems of FIGS. 1, 2, 15, 16, 21, and 22 and/or other suitable systems. The process 2700 begins at block 2705 when the system accesses the storage policy applicable to the set of data objects. This storage policy may define different classes of storage devices 115. For example, the storage policy might define “first-class storage” as any local storage device having magnetic disk or otherwise faster-access storage media and a first cloud storage site that satisfies certain criteria (e.g., has high bandwidth for faster uploads and/or downloads and/or utilizes RAID or similar methods that improve the fault-tolerance of the site), and “second-class storage” as a second cloud storage site that may have greater latencies or lower fault-tolerance and any local storage device having magnetic tape or otherwise slower data storage. Additionally, the storage policy may also define different categories of data objects (e.g. functional categories such as email objects, audio objects, video objects, database objects, document objects, etc.) and may require different classes of storage for each.
  • At block 2710, the system logically groups the various data objects and determines the storage requirements of each group. Typically the system groups the set of data objects so that each group requires a particular class of storage. However, the system may group the various data objects by any other logical grouping such as groups based around functional categories, or to improve the possibility of realizing deduplication benefits. The particular grouping used by the system will be chosen to conform to the storage policy. Logical groupings are described in greater detail herein.
  • The system may first utilize the storage policy and the management light index 245, the management index 211, the SS index 261, the SS light index 247, deduplication database 297 and/or metabase 270 to determine the number of bytes, kilobytes, gigabytes, terabytes or similar units required to store each individual data object, and any other requirements necessary to conform to the storage policy. For example, the system might determine that a particular data object requires 25 megabytes of first-class storage. The system may next determine the aggregate storage requirements for each group of data objects. For example, the system may determine that a first group of data objects requires an aggregate 200 gigabytes of first-class storage and a second group of data objects requires an aggregate 450 gigabytes of second-class storage. The aggregate storage requirements determined by the system may reflect the effect of deduplication; for example, the system may utilize deduplication database 297 to determine the size of an archive file created in part by block-level deduplication.
  • The system then performs blocks 2712-2740 for each group of data objects to determine the appropriate storage location of the various data objects in the group. At block 2712, the system identifies the storage devices 115 (including cloud storage sites 115A-N) that may be suitably employed to store the group of data objects. To determine the list of potential storage devices 115 (referred to as “candidates”), the system may access storage device class definitions in the storage policy. The system may also access data regarding storage devices 115 stored in the management index 211, secondary storage computing devices 265 and/or storage devices 115. For example, if the group of data objects requires first-class storage, the system may query the management index 211 to determine which local magnetic storage devices 115 have sufficient storage capacity to accommodate the group of data objects.
  • At block 2715, the system may transmit a request for quotes to candidate cloud storage sites (which may be operated by independent organizations) identified at block 2712 (or other appropriate types of data storage service providers accessible via the network). To do so, the system may initiate communications via the network agent 235. For example, the system will request a quote from each cloud storage site by initiating an HTTP connection with the cloud storage site and sending the request via one or more HTTP messages. This request for quotes may include information such as: the amount of storage space required, a unique identifier associated with the request, an identifier associated with a prior request made or a quote received from the site (e.g., in the case of a counter offer), information that identifies the system making the request (or identifies a related entity, such as a billing party), how the data will be accessed once stored or how often (i.e., accessibility of data, including desired data transfer rates), a suggested or required upload time window or deadline, estimated storage lifetime of the objects, suggested pricing rate(s), the type of storage medium desired (e.g., tape or optical or magnetic media), maximum pricing rate(s), suggested download, upload, and/or storage pricing rates (and/or a promotional code or similar indicator of a pricing rate package), and/or any other information suitable for requesting a storage quote.
  • Alternatively, or additionally, the system may obtain estimated storage costs for one or more cloud storage sites by sending similar requests for quotes to one or more third-party sites that provide binding, non-binding and/or informational storage quotes (e.g., a website operated by a data storage dealer-broker or a site that aggregates information regarding cloud storage costs). The format and content of the request may be customized to each site and may be dictated by an API set utilized by a particular cloud storage or third-party site. Alternatively or additionally, the system may estimate the storage costs for a candidate cloud storage site by accessing historical, projected or other cost information stored within the storage manager 105 or elsewhere in the storage operation cell 150.
  • At block 2720, the system may receive one or more quotes from one or more cloud storage and/or third-party sites. For each cloud storage site, the system may receive no quote, a single quote, or several quotes covering various storage options. Each quote may include information such as: one or more pricing rates, the accessibility of stored data, identifiers or tokens associated with the quote, time windows during which data may be transmitted or retrieved, an acceptance window during which the quote would be honored by the site, etc. The quote may provide various pricing rates for different types of data operations. For example, the quote may specify a first rate for an initial upload to the site, a second rate for downloads from the site, and a third rate for searching or accessing the data, a fourth rate for continued storage and maintenance of the data on the site (e.g., a rate charged for each gigabyte stored per month), maximum storage space allotted, maximum or minimum storage lifetime; and so forth. The format and content of the quote may be different for each cloud storage or third-party site and may be dictated by an API set (or similar) utilized by a particular cloud storage or third-party site. The system may perform additional blocks, such as data extraction, to create a uniform set of data for all of the received quotes.
  • At optional block 2725, the system may access other historical or projected data pertaining to storage device candidates, including optical, tape or magnetic disk storage device candidates located locally within the storage operation cell 150. In some embodiments, the system may access historical or projected operating costs of each candidate that may be stored in management index 211, secondary storage computing devices 265, or elsewhere in the storage operation cell 150. In still other embodiments, the system may access data relating to: current or projected power consumption, current or projected power rates, acquisition cost of the storage devices, mean operating time, mean repair time, mean data access rates, or similar performance and cost metrics that may be stored in the management index 211, secondary storage computing devices 265 or elsewhere.
  • At block 2730, the system may evaluate the cost of storing the group of data objects on some or all of the storage device candidates (the “storage cost”). The storage cost associated with a particular storage device may refer simply to the estimated monetary expense associated with uploading the group of data objects to the storage device and/or maintaining it there for its estimated lifetime (or other time period).
  • Alternatively or additionally, the “storage cost” of a certain storage device candidate may refer more generally to the value of a numerical cost function that may take into account several variables. Non-exclusive examples of cost function variables include: historical or projected information pertaining to storage device candidates; any quoted pricing rates; the amount of storage required; the network load associated with uploading and/or downloading the data to a site; projected data access costs; other accessibility metrics; site reliability, quality or reputation; geographical location of a candidate; mean operating time; mean repair time; mean data access rates; or similar performance and cost metrics. Some of these variables may be a single value variable, still others may be set or matrix variables. In some embodiments, the system may evaluate or calculate one or more storage related metrics as described in the commonly assigned U.S. patent application Ser. No. 11/120,662, now U.S. Pat. No. 7,346,751, entitled “SYSTEMS AND METHODS FOR GENERATING A STORAGE-RELATED METRIC” (Attorney Docket No. 60692-8018US), U.S. application Ser. No. 11/639,830, filed Dec. 15, 2006, entitled “System and method for allocation of organizational resources” (Attorney Docket No. 606928019US2), U.S. application Ser. No. 11/825,283, filed Jul. 5, 2007, entitled “System and method for allocation of organizational resources” (Attorney Docket No. 606928019US3), which are hereby incorporated herein in their entirety. which is hereby incorporated by reference in its entirety. Such storage metrics may also be utilized as variables within a cost function.
  • The system may evaluate a cost function as follows. First, the system may mathematically transform the cost function variables to create a second set of intermediate variables (e.g., to normalize the variables). Each variable may be subjected to a different transformation. The transformations may be a linear transformation (including an identity transformation) or non-linear transformation. The transformations may also be invertible or non-invertible transformations. Non-exhaustive examples of transformations include:
      • scaling the variable (by a constant);
      • raising the variable to a power;
      • taking a logarithm of the variable;
      • applying a ceiling or floor mapping to the variable (i.e., quantization);
      • reducing a set variable to its mean value, variance or other moment.
        The transformation applied to a cost function variable may also merge a number of these suitable transformations. Second, the system may evaluate the cost function by mathematically combining the various intermediate variables. The combination may be a linear combination or a non-linear combination. Non-exclusive examples of combinations include any polynomial of the intermediate variables, including a simple summation of the various intermediate variables. Often, a cost function is a weighted summation of various cost function variables.
  • The system evaluates the same cost function for each storage device candidate and each group of data objects. However in other embodiments, the system may utilize different cost functions for different groups of data objects. In still other embodiments, the system may utilize different cost functions for different types of storage devices (e.g., there may be one cost function for optical media devices, another for tape media devices, and yet another for cloud storage sites). The cost function(s) and their associations with particular groups or storage media types may be defined in the storage policy or elsewhere.
  • At block 2735, the system compares the costs associated with the various candidate storage devices. For example, the system compares these various costs to identify one or more candidates (“identified devices” or “sites”) having an associated cost that is lower than the other candidates. If more than one storage site is identified, the system may divide the group of data into one or more subgroups, and associate each with an identified site. However, in some embodiments, the system may also compare these costs to make other types of determinations. For example, the system may select identified sites using criteria other than minimizing associated cost. As another example, the system may compare the costs to ensure that at least one candidate satisfies a particular criteria, such having an associated cost that falls below a specified maximum value (that may be defined in the storage policy). Depending on the results of these determinations, the system may repeat some or all of blocks 2710-2735 using different quote parameters, different groupings, and/or different cost functions and/or may take other actions such as notifying an administrator. For example, in some embodiments, the system may repeat block 2715 by making another round of quote requests to some cloud storage sites that includes lower suggested or maximum rates (counteroffers to the first set of quotes).
  • At block 2740, the system may transmit instructions to the jobs agent 220 (or other component) regarding the identified storage location of the group of data objects (or if the group has been subdivided, the identified storage location of each subgroup of data objects). For example, the system transmits instructions to the jobs agent 220 to migrate or transfer the data objects of the group or subgroup to its identified storage location. In some embodiments, the system may also transmit other information to the jobs agent 220 regarding the migration/transfer of the data objects. For example, the system may transmit a token or other identifier associated with a winning quote and/or may transmit information regarding the schedule of data migration/transfer. In some embodiments, the system may instead instruct a secondary storage computing device 265 or other system component regarding the identified storage location of a group or subgroup of data objects.
  • Process for Scheduling Cloud Storage Requests
  • FIG. 28 is a flow diagram illustrating a process 2800 for scheduling cloud storage requests received from auction clients; the process 2800 may be performed by an auction service component (not shown) forming part of a cloud storage site 115A-N or any other suitable system (e.g., a component of a cloud storage brokerage site). An auction client may be a component of a storage manager 105, a secondary storage computing device 165, or any other device seeking cloud storage. For simplicity, the process refers to requests for an upload of data from an auction client (or related device) to a cloud storage site 115A-N; however, auction clients may make requests for any type of cloud storage operation that requires system resources from a cloud storage site (e.g., downloading data or searching the contents of stored data).
  • In this process 2800, the auction service evaluates requests from auction clients to upload data to the cloud storage site. The auction service may respond to some or all auction clients with a quote for their requested upload (“a quoted job”). Those requests that do not receive a quote in response may be queued for additional evaluation later (“queued requests”). If a quote is accepted by an auction client, the upload may be added to a list of “scheduled jobs.” Once a job is scheduled, other components within the cloud storage site (e.g., file servers) may accept the associated upload during its scheduled upload window.
  • The process 2800 begins at block 2805, when the auction service determines the current system capacity and applicable quotation policies. In particular, auction service may access capacity policies, scheduled or quoted jobs, queued requests, quotation policies, and/or other information about system capacity and pricing. A “capacity policy” is generally a data structure or other information source that includes a set of preferences and other criteria associated with allocating system resources. The preferences and criteria may include, the system resources (e.g., data transfer volume or bandwidth) available for auction during specified periods, scheduled maintenance windows, and the current storage capacity available on particular servers or devices. The auction service may also determine the system resources required for jobs already scheduled or quoted. Using this information, the auction service may determine the available system resources available for providing new quotations.
  • The auction service may also access a quotation policy. A “quotation policy” is generally a data structure or other information source that includes a set of preferences and other criteria associated with generating a quote in response to auction client requests. The preferences and criteria may include, but are not limited to: a revenue function; a pricing function; pricing rate tables; codes and schedules associated with marketing promotions; a list of preferred and/or disfavored auction clients; current system capacity; classes or quality of storage; retention policies; upload time periods; data characteristics; compression or encryption requirements; the estimated or historic cost of storage, including the cost of power. A “revenue function” is generally a description of how the auction service may numerically evaluate the projected revenue (and/or other benefits) that would be generated by one or more auction client requests. A “pricing function” is generally a description of how the auction service may generate the various values (e.g., pricing rates) associated with a responsive quote.
  • At block 2810, the auction service may receive one or more new requests from auction clients seeking cloud storage. The request may include various information such as: a unique identifier that the auction client has associated with the request; an identifier associated with a prior request made or a quote received from the site (e.g., in the case of a counter offer); information that identifies the auction client making the request (or identifies a related entity, such as a billing party); the amount of storage space desired; how the data will be accessed once stored (e.g., accessibility of data, including desired data transfer rates); suggested or required upload window; estimated storage lifetime of data; the type of storage medium desired (e.g., tape or optical or magnetic media); suggested download, upload, and/or storage pricing rates (and/or a promotional code or similar indicator of a pricing rate package); and/or any other information suitable for requesting cloud storage. The format and content of the request will typically conform to a specified API or similar convention employed by the auction service.
  • Although not shown, during block 2810, the auction service may authenticate each of the requests and/or auction clients to ensure that each request is from a valid auction client. This authentication may happen via any acceptable method, including the use of passwords or security certificates. Those requests that cannot be authenticated may be discarded by the auction service without further consideration.
  • At block 2815, the auction service evaluates queued and new requests (collectively the “pending requests”) and generates responsive quotes. To do so, the auction service may first identify those requests that either (1) do not satisfy minimum requirements specified by the quotation policy, or (2) cannot be accommodated due to a lack of system resources. Typically, the auction service will reject such requests by removing them from the list of pending requests. However, the auction service may also (1) send a quote with terms different from those requested (e.g., with higher rates or with a different scheduled upload window) in order to conform to the quotation policy, (2) send an explicit rejection of the request to the auction client, (3) queue the request for later evaluation, and/or (4) take another appropriate action.
  • At 2815, the auction service may next identify which remaining pending requests should receive quotes and generate quotes. The auction service will apply the preferences and criteria specified in the quotation policy described previously to determine which “winning” requests should receive responsive quotes. In some embodiments, the auction service will choose the set of requests that results in a maximum combined value of a revenue function. Those pending requests that do not receive quotes will typically be queued by the auction service for later evaluation, but the auction service may also (1) send an explicit rejection of a request to the auction client, (2) remove it from the list of pending requests, and/or (3) take another appropriate action.
  • For each winning request, the auction service will generate a responsive quote. Quotes generated may specify: the unique identifier that the auction client has associated with the request; various pricing rates for different types of data operations (e.g., a first rate for an initial upload to the site, a second rate for downloads from the site, and a third rate for searching or accessing the data, a fourth rate for continued storage and maintenance of the data on the site (e.g., a rate charged for each gigabyte stored per month)); maximum storage space allotted; maximum or minimum storage lifetime; the accessibility of stored data; time windows during which data may be transmitted to the site or retrieved; etc. Each quote will typically include a token or other identifier associated with the quote and may specify an acceptance window during which the quotation will be honored by the site. The auction service generally applies the preferences and criteria specified in the quotation policy described previously (including a pricing function) to determine the values given in the quotes. For example, the pricing function may require the auction service to specify upload and storage rates associated with a marketing promotion, even if the client request proposed higher pricing rates. However, in some embodiments, the auction service may simply utilize in its quote some or all of the values proposed in the request.
  • At block 2820, the auction service sends a copy of the generated quotes to auction clients. In response, each auction client may send another request (e.g. a “counteroffer”), may send an indication of acceptance of the quote and/or may take no action in response.
  • At block 2825, the auction service may receive an indication of acceptance of one or more quotes. For each accepted quote, the auction service may add the associated upload to the list of scheduled jobs so that other system components will accept the upload. For example, the auction service only adds an upload to the list of scheduled jobs if the acceptance is received within the specified acceptance window. If the acceptance is received outside of this window, the auction service may treat the acceptance as it would a new request and repeat some or all of the previous blocks.
  • Process for Encrypting Files within Cloud Storage
  • As described previously with respect to FIG. 3B, when a system migrates or copies data to secondary storage, including secondary cloud storage, the system may encrypt the data before or after a secondary copy or archival copy is created. When data is encrypted prior to migrating or copying data to secondary storage, the encryption enhances the “at-rest” security of files stored within a cloud storage site 115A-N, by reducing the risk of unauthorized access to the files' content. In such implementations, it may be desirable to store encryption keys (and/or other information necessary to decrypt files) within the storage operation cell 150, not within the cloud storage site 115A-N used to store the encrypted files. In this way, even an operator of a cloud storage site may not breach the security of an encrypted file. If local encryption occurs within the storage operation cell 150 prior to copying or migrating data to a cloud storage site 115A-N, the encryption keys or similar encryption information may easily be stored within storage operation cell (e.g., within a local index or database of the storage operation cell or a different storage device 115). Alternatively, if local encryption is performed within a storage operation cell 150, the storage operation cell 150 may “scramble” encryption keys and store the scrambled keys with the encrypted files. This method provides some level of protection against intrusions, even intrusions by the operator of a cloud storage site. Further details may be found in U.S. Patent Publication No. US2008-0320319A1 referenced above.
  • In some circumstances, however, decrypted files may be stored within a cloud storage site 115A-N without first encrypting the files within the storage operation cell 150. In such circumstances, it may be desirable to later encrypt the files stored on the cloud storage site to protect those files thereafter.
  • FIG. 29 illustrates a process 2900 for encrypting files stored within a cloud storage site 115A-N. The process may be performed by cloud storage submodule 236, or any other suitable system component. The process begins at block 2910, when cloud storage submodule 236 receives a request to encrypt a file located on a target cloud storage site. For example, cloud storage submodule 236 may receive an indication of which target files within a target cloud storage site should be encrypted. Cloud storage submodule 236 may also receive an indication of which encryption method should be utilized, one or more encryption keys and/or additional information.
  • At block 2915, cloud storage submodule 236 determines if the type of encryption method requested is supported by the API provided by the operator of the target cloud storage site 115A-N. If it is not, the process proceeds to block 2940. Otherwise, the process 2900 proceeds to block 2930, where cloud storage submodule utilizes the mapping described herein to generate vendor-specific API calls to encrypt the original file. The process then returns.
  • If the target cloud storage site API does not support the desired type of encryption, the process 2900 proceeds instead to block 2940. At block 2940, cloud storage submodule 236 utilizes its mapping described herein to generate and send a vendor-specific API call to download the file to the cloud storage submodule, or another component of the storage operation cell 150. At block 2945, the downloaded file is encrypted locally (e.g., by a component of storage operation cell 150 configured to perform encryption, such as a secondary storage computing device 165). At block 2950 cloud storage submodule utilizes its mapping described herein to generate and send vendor-specific API calls to overwrite the original file with an encrypted version. For example, cloud storage submodule may utilize vendor-specific API calls that open the original file for writing, write the contents of the encrypted version of the file to the original file, and close the original file. Alternatively, cloud storage submodule 236 may utilize vendor-specific API calls to create a new file on the target cloud storage site 115A-N, write the contents of the encrypted version of the original file to the new file, close the new file, and delete the original file.
  • Protecting Remote Office and Branch Office (ROBO) Data
  • In one example, the systems described herein may be utilized to protect remote office and branch office (ROBO) data. In some implementations, a subset of clients 130 may be “remote clients” who are geographically separated from other components of an associated storage operation cell 150. Remote clients 130 may only be connected to other components of an associated storage operation cell 150 via a WAN such as the Internet due to a physical separation between the remote client 130 and other system components. One intuitive example of a remote client 130 is a laptop computer utilized by a traveling employee: when the employee is traveling, she will be geographically separated from their company's main storage operation cell 150.
  • In such implementations, a remote client 130 may include a media file system agent 240, including a cloud storage submodule 236, to permit data agents 195 on the remote client to directly write data to a cloud storage site 115A-N (e.g., over a network connection established by an HTTP client subagent). For example, in this manner a remote client 130 may directly mirror data to cloud-based storage for disaster recovery purposes and/or to comply with other system-level data retention policies. In accordance with system-wide storage and scheduling policies, other system components (e.g., jobs agent 220) may instruct a remote client 130 regarding when and how to perform a remote storage operation. Additionally, a remote client 130 may provide information regarding a storage operation made in this manner to other system components, so that those system components may update the various system-wide indices and databases to reflect the storage operation. For example, client 130 may provide storage manager 105 with information that is sufficient for storage manager 105 to update management index 211, management light index 245, SS index 261, SS light index 247, and deduplication database 297.
  • In such implementations, the system may avoid routing data slated for cloud storage through a secondary storage computing device 165, thereby conserving system resources (e.g., the bandwidth of a secondary storage computing device). Such implementations preserve the ability of the storage cell 150 to perform upon all data, including data generated by remote clients 130: policy-driven storage, ILM, content indexing, data restoration, and searching.
  • In some implementations, a group of clients 130 may be geographically separated from most of the system components of an associated storage operation cell 150 but may not be geographically separated from one or more locally accessible secondary storage computing devices 165. For example, a group of clients (e.g. a group of clients associated with a particular branch office of a company) may be connected to a locally accessible secondary storage computing device 165 over a LAN, but may be connected to other components (e.g. storage manager 105, storage devices 115, other secondary storage computing devices 165) only over a WAN like the Internet. In such implementations, the group of clients 130 may copy or migrate data to a locally accessible secondary storage computing device, which may in turn write this data to a cloud storage site 115A-N in accordance with applicable system-wide storage and scheduling policies.
  • Thus the locally accessible secondary storage computing device 165 may mirror data from a branch office directly to cloud-based storage for disaster recovery purposes and/or to comply with other data retention policies, without first routing that data over a WAN to other system components. Additionally, a locally accessible secondary storage computing device 165 may provide information regarding a storage operation made in this manner to other system components, so that those system components may update the various system-wide indices and databases to reflect the storage operation. For example, a locally accessible secondary storage computing device 165 may provide storage manager 105 with information that is sufficient for storage manager 105 to update management index 211, management light index 245, SS index 261, SS light index 247, and deduplication database 297. Such implementations preserve the ability of the storage cell 150 to perform upon all data, including data generated by remote clients 130: policy-driven storage, ILM, content indexing, data restoration, and searching.
  • Alternatively or additionally, a group of clients may be connected to a locally accessible cloud gateway 1540 over a LAN, but may be connected to other system components only over a WAN. In such implementations, the locally accessible cloud gateway 1540 may provide the same functionality of a locally accessible secondary storage computing device 165 described in this section, in addition to other cloud gateway functionality described herein.
  • CONCLUSION
  • IT organizations continue to deal with massive unstructured data growth, stronger regulatory requirements and reduced budgets. To meet the needs of more stringent data retention requirements and faster RTO's, many users have over provisioned low-cost disk storage which, combined with non-integrated data management products, creates inefficient storage infrastructures resulting in high operating costs. In fact, many data centers have reached a limit where there is no power or real estate left to continue expanding.
  • Today's IT organizations are struggling to keep pace with multiple factors that are starting to severely impact the ways that they protect, manage and recover their business-critical data, data that is increasingly located in remote offices and on user laptops/desktops, outside of core IT facilities. Relentless, ongoing data growth across the enterprise, often growing at 30-50% per year ensures that some storage teams are looking at a doubling of capacity requirements every 18 months. Increased government regulation around data retention policies adds to the burden, often requiring that critical data be kept for years or even decades. Further, many IT organizations worldwide are being forced to justify not only incremental spending, but also justify their existing expenses and/or headcount in the face of potential budget cuts.
  • Cloud storage sites represent an increasingly viable option to manage the growing bodies of data. They promise lower costs through better utilization and management of the underlying storage infrastructure. Cloud-based storage also eliminates the need to buy lots of spare capacity in anticipation of future storage growth, enabling companies to “pay as you grow”. Further cloud-based storage enables IT organizations to minimize investment in new Data Center capacity, and extends the life of their existing investment in both building and computing infrastructure.
  • However leveraging cloud-based storage can be challenging for some organizations for a variety of reasons. First is the inherent complexity associated with managing two sets of infrastructure, one physical and on-premise and another online in the virtual storage cloud. This duplication of effort extends across a number of crucial aspects of data management including: Backup, Archive, Reporting and search/eDiscovery. There are challenges often associated with taking full-advantage of cloud-based storage. The first is complexity associated with moving data into and out of the cloud. Gateway appliances are often expensive, complex and represent a short-term fix that can aggravate infrastructure management challenges as the use of cloud-based storage grows. A related concern is the amount of data being moved to and managed within cloud storage. This not only impacts the ongoing service charges, which are often priced on a per-GB basis but also impacts the ability to meet backup windows over limited bandwidth. Data security and reliability are critical both from a data integrity perspective as well as to ensure that a company's critical data is not accessed by unauthorized parties, even including individuals working for a cloud-storage provider. Further, companies don't want to be locked in to a single vendor when it comes to data stored in the cloud. So data portability becomes critical, along with the ability to choose from among a variety of providers for specific performance and pricing requirements.
  • The systems herein permit policy-driven storage that defines what data stays on-premise and what moves to the cloud. Storage policies may consider “data value” determined from factors such as (a) access requirements, (b) latency requirements, and (c) corporate requirements including: how recently was the data accessed, how often was the data required over a given time period, such as the last 12 months, how many end-users/applications required access to the data in the last 12 months, how quickly will the data need to be restored, what downstream applications/processing are dependent on the data, whether the data needs to be identified and pulled in/put on Legal Hold for an eDiscovery request, whether the data contains corporate trade secrets or IP, whether the data might be considered highly sensitive (e.g., legal communication, or social security numbers).
  • The systems and methods described herein provide integrated data management platforms that address a wide variety of data management needs. The systems and methods herein may deliver unified data management from a single console. When combined with cloud storage, a seemingly unlimited storage pool, these systems and methods may offer users lower operating costs, ensure disaster recovery, while improving long-term compliance management.
  • The systems described herein provide a unified data management platform that may be built on a single codebase or as a unified application, with modules or agents for backup and recovery, archive, replication, reporting, and search/eDiscovery. These systems may provide automated, policy-based data movement from local, deduplicated copies into and out of cloud storage environments—all from the same centralized console. This incremental approach to data management may permit organizations to leverage the economics of cloud-based storage.
  • The systems and methods described herein may result in various other performance advantages. For example, these systems and methods may reduce administrative and storage overhead for infrequently-accessed data in a data center by automatically tiering older/infrequently-accessed data in a data center to more efficient, lower-cost cloud-based storage, freeing up existing capacity to accommodate ongoing data growth.
  • Integrated deduplication ensures that unique (or semi-unique) data segments are stored “in the cloud”, minimizing costs associated with redundant data across backups and archive. Block-based data deduplication and replication reduce network bandwidth requirements to minimize network costs and backup windows. Deduplication also reduces ongoing storage costs up to 75%, minimizing operational expenses across the entire lifespan of the data being retained
  • The systems described herein may permit a better data encryption approach to meet applicable requirements. A user may protect data starting from the source with in-stream encryption, and then extend encryption to data “at-rest”. This ensures that not only is a user protected during data migration, but also from unwarranted access of data already on the cloud. Because the data encryptions are controlled by a company's IT team, data is safe even from unintentional access by a cloud storage providers' IT staff.
  • By providing encryption of data in-flight and at-rest data, the systems and methods help protect data, even from cloud storage site operators. Built-in data encryption and verification technology ensures data has been securely and safely written to the cloud without errors. Encryption of data at-rest helps ensures that only appropriate personnel have full access to readable data, no matter where it's stored.
  • The systems herein are designed to work with a wide variety of storage partners, both physical and a growing number of cloud-based storage providers. Today these include Amazon's S3, Microsoft Azure, Nirvanix SDN with upcoming support for Iron Mountain and Rackspace. This open approach ensures that additional cloud-storage vendors will continue to be added in the future to increase the choices available.
  • The systems described herein may deliver a seamless solution for data-aware movement into cloud storage to help reduce overall complexity and costs. Lack of a native cloud-storage connector often requires complex scripting, adding both time and risk to moving data into the cloud. Using gateway appliances can present an ongoing and growing management burden as cloud-storage use increases. An integrated approach such as that described herein eliminates the costs and risk associated with either approach. Integrated data management of both local storage and cloud storage from a single console minimizes administrative overhead and the need for specialized gateway appliances. The systems described may also be readily configured to support an expanding list of industry-leading cloud providers to provide flexibility and choice for how to host cloud-based data immediately and in the future. Native integration with REST/HTTP protocols seamlessly extends data management to the cloud without the need for scripting or specialized vendor-specific gateway appliances.
  • A highly efficient platform automates the movement of data across systems from a variety of storage vendors, and across different types of storage devices including disk, tape, CAS, VTL, optical—and now cloud storage. By integrating these functions together, users can leverage one interface to manage one data management suite across a virtual shared storage environment. Moving data into and out of the cloud using the systems herein is as easy as moving data between any 2 data storage tiers. For existing users, this can be done in as little as 3 steps: choosing one or more cloud-storage sites, setting up a storage service similar to what a user would do to add disk-based storage, and adding the new cloud-based storage to existing backup and/or archive policies and data paths.
  • As data management expands to beyond a physical infrastructure, and into the cloud, legal and reporting requirements continue to grow as well. The systems described herein may offer at least four key benefits for search/eDiscovery:
  • 1. Indexes of all data retained can be kept on-premise. This enables a user to retain control of the most critical and sensitive aspects of information management, and ensures that content indexes are accessible only to designated personnel within an organization.
  • 2. Since the indexes are searchable locally, there is no latency with regards to data that may be retained in the cloud over a number of years or even decades. This reduces the amount of time and data required by a company's legal and/or IT teams.
  • 3. Only the specific data required for eDiscovery requests is restored back from the cloud. This saves on bandwidth, the time needed for data restore and minimizes the data retrieval costs charged by a cloud-storage vendor.
  • 4. Global indexing of all relevant data, from the Data Center to remote sites, mobiles users and cloud-based data. This ensures that a company has a global view of all their data, so that a company can also avoid the legal and financial risks associated with incomplete responses to eDiscovery requests
  • Integrated content indexing done prior to tiering to the cloud, ensures that administrators can do fast searches on a local index and retrieve only specific data that meets the search criteria.
  • A variety of data reduction techniques can also be used to minimize the amount of data sent to the cloud, and minimize the cloud-based capacity usage. Block-based deduplication reduces backup and archive times and data volumes by filtering out redundant data before it reaches the cloud. This can be done in a data center or even at remote sites, depending on the system configuration. Additional data management approaches such as incremental backups and data compression at the source can further reduce the amount of data in-transit and at-rest.
  • As data volumes continue to increase, many companies find themselves bumping up against the capacity, cooling or power limitations of their existing data centers. Meanwhile they're now required to keep every-growing amount of data as mandated by their corporate legal staff, acting under the aegis of governmental regulation. This 3-way balancing act between capacity, compliance and cost requires a flexible approach to data management that requires a multi-tier approach that extends to cloud-based storage. The systems described herein may be used for an end-to-end approach to tiering a combination of data from within the data center, from remote offices and from individual employees worldwide.
  • A second use case of the described systems centers around protecting data outside of the Data Center and storing it in the cloud. This enables the central IT team to control the movement and management of data along with defining the appropriate data retention and recovery policies.
  • Data from remote offices (and even end-users/employees if configured) can be backed up directly to cloud-based storage, eliminating the need to migrate the data to the data center first, and then migrating the data again to the cloud. In other cases, data may be mirrored to cloud-based storage for Disaster Recovery purposes as well for long-term data retention. As data ages past retention requirements it can be automatically deleted in the cloud, creating ongoing savings in capacity utilization charges.
  • Because data is managed just the same as if were stored in a core data center, Storage Reporting and Management (SRM) can be easily used to monitor, analyze and monitor data across the enterprise regardless of whether it stored in the cloud, in a core data center or in remote offices or other locations.
  • The systems and methods described herein may provide the following benefits and features, inter alia:
      • Ensuring data security when: data is in transit, both to and from the cloud and when data is at-rest (including security from service-provider personnel).
      • Portability, by permitting a user to easily move data back from the cloud if required, and to move data quickly between cloud-based storage providers, to improve price and performance.
      • Restoring data quickly and directly from any physical or cloud-based storage tier.
      • Configuring data management policies so that most frequently accessed data is more easily and quickly retrieved when required.
      • Matching network bandwidth capacities to data's RTO (recovery time objective) requirements.
      • Archiving data to the cloud, including setting up automated retention and deletion policies.
      • Easily configurable global reporting of all data (physical and in-the-cloud).
      • Easily and securely extending cloud-based data management to include search/eDiscovery.
  • Unless the context clearly requires otherwise, throughout the detailed description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense (i.e., to say, in the sense of “including, but not limited to”), as opposed to an exclusive or exhaustive sense. As used herein, the terms “connected,” “coupled,” or any variant thereof means any connection or coupling, either direct or indirect, between two or more elements. Such a coupling or connection between the elements can be physical, logical, or a combination thereof. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively. The word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.
  • The above Detailed Description of examples of the invention is not intended to be exhaustive or to limit the invention to the precise form disclosed above. While specific examples for the invention are described above for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. While processes or blocks are presented in a given order in this application, alternative implementations may perform routines having blocks or steps performed in a different order, or employ systems having blocks in a different order. Some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or subcombinations. Also, while processes or blocks are at times shown as being performed in series, these processes or blocks may instead be performed or implemented in parallel, or may be performed at different times. Further any specific numbers noted herein are only examples. It is understood that alternative implementations may employ differing values or ranges.
  • The various illustrations and teachings provided herein can also be applied to systems other than the system described above. The elements and acts of the various examples described above can be combined to provide further implementations of the invention. Some alternative implementations of the invention may include not only additional elements to those implementations noted above, but also may include fewer elements.
  • All patents and applications and other references noted above, including any that may be listed in accompanying filing papers, are incorporated herein by reference in their entireties. Aspects of the invention can be modified, if necessary, to employ the systems, functions, and concepts included in such references to provide further implementations of the invention.
  • These and other changes can be made to the invention in light of the above Detailed Description. While the above description describes certain examples of the invention, and describes the best mode contemplated, no matter how detailed the above appears in text, the invention can be practiced in many ways. Details of the system may vary considerably in its specific implementation, while still being encompassed by the invention disclosed herein. As noted above, particular terminology used when describing certain features or aspects of the invention should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the invention with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the invention to the specific examples disclosed in the specification, unless the above Detailed Description section explicitly defines such terms. Accordingly, the actual scope of the invention encompasses not only the disclosed examples, but also all equivalent ways of practicing or implementing the invention under the claims.

Claims (28)

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.
2. The method of claim 1, wherein the storage policy defines classes of storage locations of cloud storage sites at least in part by a fault-tolerance and an access speed.
3. The method of claim 1, wherein the storage policy defines different categories of data files and classes of storage locations on which the different categories of data files may be stored.
4. The method of claim 1, wherein grouping the data files comprises grouping the set of data files based at least in part on a particular class of storage location.
5. The method of claim 1, wherein a quote received from a candidate cloud storage site further comprises at least two of:
a first pricing rate for an initial upload to the candidate cloud storage site;
a second pricing rate for downloads from the candidate cloud storage site;
a third pricing rate for searching or accessing the candidate cloud storage site; and
a fourth pricing rate for continued storage and maintenance of data on the candidate cloud storage site.
6. The method of claim 1, wherein a quote received from a candidate cloud storage site further comprises a time window during which the logical group of data files are to be transmitted to the candidate cloud storage site.
7. The method of claim 1, further comprising transmitting the request for quotes to at least one of: a data storage dealer-broker, and a site that aggregates information related to cloud storage costs.
8. The method of claim 1, further comprising accessing information related to local storage devices within the storage operation cell, including information related to at least two of: current or projected power consumption of the storage devices, current or projected power rates, acquisition cost of the storage devices, mean operating time of the storage devices, mean repair time of the storage devices, and mean data access rates of the storage devices.
9. The method of claim 1 further comprising transmitting another round of counteroffer quote requests.
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.
11. The computer-readable medium of claim 10, wherein calculating estimated costs of storing a copy of the set of data objects on two or more cloud storage sites further comprises accessing historical or projected cost information related to the two or more cloud storage sites.
12. The computer-readable medium of claim 10, wherein requesting a quote includes specifying at least three of the following:
an amount of storage space required;
a unique identifier associated with a request;
a desired data transfer rate;
an upload time window or deadline;
an estimated storage lifetime;
a suggested pricing rate; and
a type of storage medium desired.
13. The computer-readable medium of claim 10, wherein calculating estimated costs of storing a copy of the set of data objects on two or more cloud storage sites further comprises evaluating a multi-variable numerical cost function that utilizes one or more of the following:
a quoted pricing rate;
a total amount of storage required;
a network load associated with uploading or downloading data;
a projected data access cost;
information related to site reliability, quality or reputation;
a geographical location of a cloud storage site; and
a mean data access rate.
14. The computer-readable medium of claim 10, wherein storing a copy of the set of data objects on the target cloud storage site comprises transmitting:
instructions regarding an identity of the target cloud storage site;
an identifier associated with a quote received from the target cloud storage site; and
information regarding a schedule for storing a copy of the set of data objects.
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.
16. The method of claim 15, wherein, the capacity policy specifies system resources available for auction during specified periods, scheduled maintenance windows and current storage capacity available on servers.
17. The method of claim 15, further comprising determining system resources required for storage operations already scheduled or quoted.
18. The method of claim 15, wherein the quotation policy specifies at least three of:
a revenue function;
a pricing function;
a pricing rate table;
information associated with marketing promotions;
a list of preferred auction clients;
a list of disfavored auction clients;
classes of storage;
retention policies;
upload time periods;
data characteristics;
compression or encryption requirements; and
estimated or historic cost of storage, including a cost of power.
19. The method of claim 15, wherein the quotation policy specifies a revenue function that describes a method for numerically evaluating a projected revenue generated by the received requests.
20. The method of claim 15, wherein the quotation policy specifies a pricing function that describes a method for generating various pricing values for a responsive quote.
21. The method of claim 15, wherein identifying one or more winning requests further comprises identifying received requests that either do not satisfy minimum requirements specified by the quotation policy or cannot be accommodated due to a lack of system resources.
22. The method of claim 15, further comprising at least one of the following:
sending a responsive quote having at least one term that is different from a term in a received request;
sending an explicit rejection of a received request; and
queuing a received request for later evaluation.
23. The method of claim 15, wherein identifying one or more winning requests further comprises identifying a set of requests that results in a maximum combined value of a revenue function.
24. The method of claim 15, wherein identifying one or more winning requests further comprises identifying a set of requests that results in a combined value of a revenue function that is sufficient to satisfy the quotation policy.
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.
26. The system of claim 25, further comprising an authentication module configured to authenticate the request to ensure that that the request is from a valid client computer.
27. The system of claim 25, wherein a responsive quote further specifies at least two of:
a first pricing rate for an initial upload of data;
a second pricing rate for download of data;
a third pricing rate for searching or accessing data; and
and a fourth pricing rate for continued storage of data.
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; and
means for transmitting for storage at least some of the logical group of data files from a client computer to the target cloud storage site.
US12/751,651 2009-06-30 2010-03-31 Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites Abandoned US20100332401A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US12/751,651 US20100332401A1 (en) 2009-06-30 2010-03-31 Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
CA2838107A CA2838107C (en) 2009-06-30 2010-06-29 Data object store and server for a cloud storage environment
CA2765624A CA2765624C (en) 2009-06-30 2010-06-29 Data object store and server for a cloud storage environment
EP10794641.0A EP2449477B1 (en) 2009-06-30 2010-06-29 Data object store and server for a cloud storage environment
AU2010266433A AU2010266433C1 (en) 2009-06-30 2010-06-29 Data object store and server for a cloud storage environment
PCT/US2010/040402 WO2011002777A2 (en) 2009-06-30 2010-06-29 Data object store and server for a cloud storage environment
DK10794641.0T DK2449477T3 (en) 2009-06-30 2010-06-29 Data object storage and server for a cloud storage environment

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US22199309P 2009-06-30 2009-06-30
US22369509P 2009-07-07 2009-07-07
US29931310P 2010-01-28 2010-01-28
US12/751,651 US20100332401A1 (en) 2009-06-30 2010-03-31 Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites

Publications (1)

Publication Number Publication Date
US20100332401A1 true US20100332401A1 (en) 2010-12-30

Family

ID=43381800

Family Applications (12)

Application Number Title Priority Date Filing Date
US12/751,953 Abandoned US20100333116A1 (en) 2009-06-30 2010-03-31 Cloud gateway system for managing data storage to cloud storage sites
US12/751,713 Active 2031-05-25 US8612439B2 (en) 2009-06-30 2010-03-31 Performing data storage operations in a cloud storage environment, including searching, encryption and indexing
US12/751,651 Abandoned US20100332401A1 (en) 2009-06-30 2010-03-31 Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
US12/751,804 Active 2031-06-14 US8407190B2 (en) 2009-06-30 2010-03-31 Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer
US12/751,850 Active 2031-01-21 US8285681B2 (en) 2009-06-30 2010-03-31 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US12/751,923 Active 2032-11-16 US8849955B2 (en) 2009-06-30 2010-03-31 Cloud storage and networking agents, including agents for utilizing multiple, different cloud storage sites
US13/615,999 Active 2030-07-12 US8849761B2 (en) 2009-06-30 2012-09-14 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US13/850,903 Active 2030-08-21 US9171008B2 (en) 2009-06-30 2013-03-26 Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer
US14/494,674 Active US9454537B2 (en) 2009-06-30 2014-09-24 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US15/258,252 Active US10248657B2 (en) 2009-06-30 2016-09-07 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US16/276,552 Active 2030-07-16 US11308035B2 (en) 2009-06-30 2019-02-14 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US17/696,742 Active US11907168B2 (en) 2009-06-30 2022-03-16 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US12/751,953 Abandoned US20100333116A1 (en) 2009-06-30 2010-03-31 Cloud gateway system for managing data storage to cloud storage sites
US12/751,713 Active 2031-05-25 US8612439B2 (en) 2009-06-30 2010-03-31 Performing data storage operations in a cloud storage environment, including searching, encryption and indexing

Family Applications After (9)

Application Number Title Priority Date Filing Date
US12/751,804 Active 2031-06-14 US8407190B2 (en) 2009-06-30 2010-03-31 Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer
US12/751,850 Active 2031-01-21 US8285681B2 (en) 2009-06-30 2010-03-31 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US12/751,923 Active 2032-11-16 US8849955B2 (en) 2009-06-30 2010-03-31 Cloud storage and networking agents, including agents for utilizing multiple, different cloud storage sites
US13/615,999 Active 2030-07-12 US8849761B2 (en) 2009-06-30 2012-09-14 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US13/850,903 Active 2030-08-21 US9171008B2 (en) 2009-06-30 2013-03-26 Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer
US14/494,674 Active US9454537B2 (en) 2009-06-30 2014-09-24 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US15/258,252 Active US10248657B2 (en) 2009-06-30 2016-09-07 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US16/276,552 Active 2030-07-16 US11308035B2 (en) 2009-06-30 2019-02-14 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US17/696,742 Active US11907168B2 (en) 2009-06-30 2022-03-16 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites

Country Status (6)

Country Link
US (12) US20100333116A1 (en)
EP (1) EP2449477B1 (en)
AU (1) AU2010266433C1 (en)
CA (2) CA2765624C (en)
DK (1) DK2449477T3 (en)
WO (1) WO2011002777A2 (en)

Cited By (919)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100070725A1 (en) * 2008-09-05 2010-03-18 Anand Prahlad Systems and methods for management of virtualization data
US20110093409A1 (en) * 2009-10-20 2011-04-21 Fujitsu Limited Computer product, charge calculating apparatus, and charge calculating method
CN102170440A (en) * 2011-03-24 2011-08-31 北京大学 Method suitable for safely migrating data between storage clouds
CN102196049A (en) * 2011-05-31 2011-09-21 北京大学 Method suitable for secure migration of data in storage cloud
US20110289440A1 (en) * 2010-05-20 2011-11-24 Carter Stephen R Techniques for evaluating and managing cloud networks
US20110295727A1 (en) * 2010-05-28 2011-12-01 James Michael Ferris Systems and methods for aggregate monitoring of utilization data for vendor products in cloud networks
US20110314071A1 (en) * 2010-06-17 2011-12-22 Openwave Systems Inc. Metadata-based data access and control
US20110314164A1 (en) * 2010-06-17 2011-12-22 International Business Machines Corporation Intelligent network storage planning within a clustered computing environment
US20120011190A1 (en) * 2010-07-09 2012-01-12 Sap Ag Brokered cloud computing architecture
US20120016721A1 (en) * 2010-07-15 2012-01-19 Joseph Weinman Price and Utility Optimization for Cloud Computing Resources
US20120042162A1 (en) * 2010-08-12 2012-02-16 International Business Machines Corporation Cloud Data Management
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
US20120054325A1 (en) * 2010-08-31 2012-03-01 Backa Bruce R System and Method for In-Place Data Migration
US20120096470A1 (en) * 2010-10-19 2012-04-19 International Business Machines Corporation Prioritizing jobs within a cloud computing environment
US20120158672A1 (en) * 2010-12-16 2012-06-21 Microsoft Corporation Extensible Pipeline for Data Deduplication
US20120173838A1 (en) * 2009-12-10 2012-07-05 International Business Machines Corporation Data storage system and method
US20120179779A1 (en) * 2011-01-12 2012-07-12 Dolphin Enterprise Solutions Corporation d/b/a Dolphin System and method for data storage and retrieval
WO2012102731A1 (en) * 2011-01-28 2012-08-02 Hewlett-Packard Development Company, L.P. Utilizing content via personal clouds
US20120203796A1 (en) * 2011-02-08 2012-08-09 Microsoft Corporation Media content location awareness and decision making
DE102011011284A1 (en) * 2011-02-15 2012-08-16 Christmann Informationstechnik + Medien Gmbh & Co. Kg Method for de-duplication of data stored in storage medium, involves checking whether write requests not executed by computer system exists and generating one or more new references already recognized as no longer required signatures
US20120216052A1 (en) * 2011-01-11 2012-08-23 Safenet, Inc. Efficient volume encryption
US8255731B1 (en) 2011-06-03 2012-08-28 Apple Inc. Methods and apparatus for power state based backup
US20120221293A1 (en) * 2011-02-28 2012-08-30 Apple Inc. Performance logging framework
US20120221684A1 (en) * 2011-02-28 2012-08-30 James Michael Ferris Systems and methods for staged data migration between data sources and cloud-based storage network
WO2012125355A1 (en) 2011-03-14 2012-09-20 Amazon Technologies, Inc. Variants of files in a file system
US8290972B1 (en) * 2009-04-29 2012-10-16 Netapp, Inc. System and method for storing and accessing data using a plurality of probabilistic data structures
EP2512097A1 (en) * 2011-04-14 2012-10-17 Unisys Corporation File-based application programming interface providing ssh-secured communication
EP2512096A1 (en) * 2011-04-14 2012-10-17 Unisys Corporation File-based application programming interface providing selectable security features
US20120265836A1 (en) * 2011-04-15 2012-10-18 Hitachi, Ltd. File sharing system and file sharing method
WO2012147087A1 (en) * 2011-04-29 2012-11-01 Tata Consultancy Services Limited Archival storage and retrieval system
WO2012151595A1 (en) * 2011-05-06 2012-11-15 Raudaschl Wolfgang Method for storing data on a central server
US20120303736A1 (en) * 2011-05-25 2012-11-29 Alcatel-Lucent Usa Inc. Method And Apparatus For Achieving Data Security In A Distributed Cloud Computing Environment
US20120304233A1 (en) * 2011-05-27 2012-11-29 Verizon Patent And Licensing, Inc. Systems and methods for bridging and managing media content associated with separate media content networks
US20120310762A1 (en) * 2011-06-03 2012-12-06 Robbin Jeffrey L Remote Storage of Acquired Data at Network-Based Data Repository
US20120323821A1 (en) * 2011-06-15 2012-12-20 International Business Machines Corporation Methods for billing for data storage in a tiered data storage system
JP2012256324A (en) * 2011-06-09 2012-12-27 Gemini Mobile Technologies Inc Data management method and hybrid data management system
US20130007254A1 (en) * 2011-06-29 2013-01-03 Microsoft Corporation Controlling network utilization
US20130018929A1 (en) * 2011-07-12 2013-01-17 Plair Media Inc. Distributed Storage Method and System
US20130036233A1 (en) * 2011-08-03 2013-02-07 Microsoft Corporation Providing partial file stream for generating thumbnail
US20130041872A1 (en) * 2011-08-12 2013-02-14 Alexander AIZMAN Cloud storage system with distributed metadata
US8407501B2 (en) 2011-03-28 2013-03-26 International Business Machines Corporation Allocation of storage resources in a networked computing environment based on energy utilization
US20130080405A1 (en) * 2011-09-23 2013-03-28 Dell Products L.P. Application transparent deduplication data
US20130080919A1 (en) * 2011-09-23 2013-03-28 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US20130080404A1 (en) * 2011-09-23 2013-03-28 Dell Products L.P. Maintaining deduplication data in native file formats
US20130086568A1 (en) * 2011-09-30 2013-04-04 Oracle International Corporation Optimizations using a bpel compiler
WO2013049730A1 (en) * 2011-09-29 2013-04-04 Fingi Inc. Systems, methods and devices that allow hotel guests to interface with a hotel via an integrated network system
US20130097275A1 (en) * 2011-10-14 2013-04-18 Verizon Patent And Licensing Inc. Cloud-based storage deprovisioning
WO2013056032A2 (en) * 2011-10-14 2013-04-18 Mimecast North America Inc. Analyzing client data stores
US20130110967A1 (en) * 2011-11-01 2013-05-02 Hitachi, Ltd. Information system and method for managing data in information system
US20130117515A1 (en) * 2011-11-07 2013-05-09 Nexgen Storage, Inc. Primary Data Storage System with Data Tiering
US20130117516A1 (en) * 2011-11-07 2013-05-09 Nexgen Storage, Inc. Primary Data Storage System with Staged Deduplication
US20130117286A1 (en) * 2011-11-07 2013-05-09 Nexgen Storage, Inc. Primary Data Storage System with Quality of Service
US8447732B2 (en) 2011-08-02 2013-05-21 International Business Machines Corporation Deduplication in network storage with data residence compliance
US20130138706A1 (en) * 2011-11-28 2013-05-30 Cleversafe, Inc. Creating a New File for a Dispersed Storage Network
US20130151688A1 (en) * 2011-12-07 2013-06-13 Alcatel-Lucent Usa Inc. Optimization mechanisms for latency reduction and elasticity improvement in geographically distributed data centers
WO2013090262A1 (en) * 2011-12-15 2013-06-20 Symantec Corporation Dynamic storage tiering in a virtual environment
WO2013090331A1 (en) * 2011-12-13 2013-06-20 Unisys Corporation Interfaces for combining calls in an emulated environment
US20130173744A1 (en) * 2012-01-03 2013-07-04 Microsoft Corporation Accessing Overlay Media Over a Network Connection
US20130185259A1 (en) * 2010-09-03 2013-07-18 Symantec Corporation System and method for scalable reference management in a deduplication based storage system
US20130198476A1 (en) * 2012-01-26 2013-08-01 Hitachi, Ltd. Management system of information memory system and management method thereof
WO2013120647A1 (en) * 2012-02-14 2013-08-22 Fujitsu Technology Solutions Intellectual Property Gmbh Method for safely erasing data in a cluster storage system
CN103297496A (en) * 2012-03-02 2013-09-11 国际商业机器公司 Method and system of enhanced storage quota management for cloud computing system
US20130262180A1 (en) * 2012-03-27 2013-10-03 Samsung Electronics Co., Ltd. Cloud information trading system and cloud information trading method using the same
US20130262615A1 (en) * 2012-03-30 2013-10-03 Commvault Systems, Inc. Shared network-available storage that permits concurrent data access
US8566578B1 (en) * 2011-02-17 2013-10-22 Symantec Corporation Method and system for ensuring compliance in public clouds using fine-grained data ownership based encryption
US20130290334A1 (en) * 2012-04-30 2013-10-31 Rahul Kapoor Managing storage of data across disparate repositories
US20130290387A1 (en) * 2010-11-30 2013-10-31 International Business Machines Corporation Virtual node subpool management
FR2990036A1 (en) * 2012-04-26 2013-11-01 Connected Data Inc SYSTEM AND METHOD FOR MANAGING USER DATA IN A PLURALITY OF STORAGE DEVICES ON AN EXTENDED NETWORK FOR COLLABORATION, PROTECTION, PUBLICATION OR SHARING, AS WELL AS SOCIALLY ORGANIZED STORAGE AND SHARED ACCESS TO DEVICES STORING
WO2013165546A1 (en) * 2012-04-30 2013-11-07 Tightdb, Inc. Method and apparatus for database
US20130304761A1 (en) * 2007-01-05 2013-11-14 Digital Doors, Inc. Digital Information Infrastruture and Method for Security Designated Data and with Granular Data Stores
US20130304706A1 (en) * 2012-05-10 2013-11-14 Aetherstore Llc Systems and methods for distributed storage
US8612284B1 (en) * 2011-11-09 2013-12-17 Parallels IP Holdings GmbH Quality of service differentiated cloud storage
CN103516733A (en) * 2012-06-19 2014-01-15 华为技术有限公司 Method and apparatus for processing virtual private cloud
US20140040211A1 (en) * 2012-08-03 2014-02-06 International Business Machines Corporation System for on-line archiving of content in an object store
US8650157B1 (en) * 2010-02-10 2014-02-11 Symantec Corporation Systems and methods for deduplicating data transferred via physical storage media
US8650159B1 (en) * 2010-08-26 2014-02-11 Symantec Corporation Systems and methods for managing data in cloud storage using deduplication techniques
CN103581001A (en) * 2012-07-24 2014-02-12 深圳市中兴移动通信有限公司 Gateway system with cloud storage and data interaction method applied to system
CN103593476A (en) * 2013-11-28 2014-02-19 中国科学院信息工程研究所 Multi-keyword plaintext and ciphertext retrieving method and device oriented to cloud storage
WO2013173109A3 (en) * 2012-05-16 2014-02-20 Apple Inc. Locally backed cloud-based storage
WO2014028261A1 (en) * 2012-08-13 2014-02-20 Microsoft Corporation De-duplicating attachments on message delivery and automated repair of attachments
WO2014001903A3 (en) * 2012-06-28 2014-02-20 Alcatel Lucent Scaling redundancy elimination middleboxes
US20140059300A1 (en) * 2012-08-24 2014-02-27 Dell Products L.P. Snapshot Access
US20140068698A1 (en) * 2012-08-31 2014-03-06 International Business Machines Corporation Automatically Recommending Firewall Rules During Enterprise Information Technology Transformation
EP2706471A1 (en) * 2012-09-06 2014-03-12 Avaya Inc. A system and method for phonetic searching of data
US20140074663A1 (en) * 2012-09-09 2014-03-13 Apple Inc. Integrating purchase history and metadata across devices
US20140081989A1 (en) * 2012-07-30 2014-03-20 Steve K Chen Wavefront muxing and demuxing for cloud data storage and transport
US20140089278A1 (en) * 2012-09-24 2014-03-27 Microsoft Corporation Integrated Data Retention Policy for Solid State & Asymmetric Access
US8688768B2 (en) 2011-11-18 2014-04-01 Ca, Inc. System and method for hand-offs in cloud environments
US20140095446A1 (en) * 2012-09-28 2014-04-03 Oracle International Corporation State initialization algorithm for continuous queries over archived relations
US20140095343A1 (en) * 2012-09-28 2014-04-03 Oracle International Corporation Supply chain orchestration system with configure-to-order item matching
US8707070B2 (en) 2007-08-28 2014-04-22 Commvault Systems, Inc. Power management of data processing resources, such as power adaptive management of data storage operations
US20140114932A1 (en) * 2012-10-18 2014-04-24 Netapp, Inc. Selective deduplication
EP2724232A2 (en) * 2011-06-27 2014-04-30 Microsoft Corporation Resource management for cloud computing platforms
US20140122866A1 (en) * 2012-10-31 2014-05-01 Vmware, Inc. Crypto Proxy for Cloud Storage Services
US20140122447A1 (en) * 2012-10-29 2014-05-01 Dropbox, Inc. System and method for preventing duplicate file uploads in a synchronized content management system
WO2012158654A3 (en) * 2011-05-14 2014-05-08 Bitcasa, Inc. Cloud file system with server-side deduplication of user-agnostic encrypted files
US20140129830A1 (en) * 2012-11-07 2014-05-08 Wolfgang Raudaschl Process for Storing Data on a Central Server
EP2731026A1 (en) * 2012-11-09 2014-05-14 Sap Ag Managing data within a cache
US20140143206A1 (en) * 2012-11-19 2014-05-22 Compellent Technologies Confirming data consistency in a data storage environment
WO2014082493A1 (en) * 2012-11-30 2014-06-05 中兴通讯股份有限公司 Method and system for forwarding software defined network message
US20140164391A1 (en) * 2012-12-12 2014-06-12 Hon Hai Precision Industry Co., Ltd. Data block saving system and method
US20140164339A1 (en) * 2012-12-12 2014-06-12 Hon Hai Precision Industry Co., Ltd. Repetitive data block deleting system and method
US20140164334A1 (en) * 2012-12-12 2014-06-12 Hon Hai Precision Industry Co., Ltd. Data block backup system and method
US20140172950A1 (en) * 2012-12-13 2014-06-19 Ca, Inc. Methods And Systems For Speeding Up Data Recovery
EP2747009A1 (en) * 2012-07-19 2014-06-25 Box, Inc. Data loss prevention (DLP) methods and architectures by a cloud service
US20140181112A1 (en) * 2012-12-26 2014-06-26 Hon Hai Precision Industry Co., Ltd. Control device and file distribution method
US8764555B2 (en) 2012-10-02 2014-07-01 Nextbit Systems Inc. Video game application state synchronization across multiple devices
US20140189432A1 (en) * 2012-12-28 2014-07-03 Commvault Systems, Inc. Data recovery using a cloud-based remote data recovery center
US8775449B2 (en) 2012-10-02 2014-07-08 Nextbit Systems Inc. Game state synchronization and restoration across multiple devices
US8788542B2 (en) 2008-02-12 2014-07-22 Oracle International Corporation Customization syntax for multi-layer XML customization
US20140208409A1 (en) * 2011-06-08 2014-07-24 Monika Maidl Access to data stored in a cloud
US8793378B2 (en) 2011-09-01 2014-07-29 International Business Machines Corporation Identifying services and associated capabilities in a networked computing environment
US20140215590A1 (en) * 2008-12-22 2014-07-31 Ctera Networks, Ltd. Multi-tenant cloud storage system
US8799319B2 (en) 2008-09-19 2014-08-05 Oracle International Corporation System and method for meta-data driven, semi-automated generation of web services based on existing applications
US20140222756A1 (en) * 2013-02-01 2014-08-07 Sap Ag Automatic migration for on-premise data objects to on-demand data objects
US20140229440A1 (en) * 2013-02-12 2014-08-14 Atlantis Computing, Inc. Method and apparatus for replicating virtual machine images using deduplication metadata
US20140229457A1 (en) * 2013-02-13 2014-08-14 Dropbox, Inc. Automatic content item upload
US20140237070A1 (en) * 2013-02-19 2014-08-21 Lg Cns Co., Ltd. Network-attached storage management in a cloud environment
CN104007937A (en) * 2013-02-26 2014-08-27 希捷科技有限公司 Data update management in a cloud computing environment
US20140244604A1 (en) * 2013-02-28 2014-08-28 Microsoft Corporation Predicting data compressibility using data entropy estimation
US20140244897A1 (en) * 2013-02-26 2014-08-28 Seagate Technology Llc Metadata Update Management In a Multi-Tiered Memory
US8832249B2 (en) 2011-11-30 2014-09-09 At&T Intellectual Property I, L.P. Methods and apparatus to adjust resource allocation in a distributive computing network
US20140258244A1 (en) * 2013-03-06 2014-09-11 Dell Products L.P. Storage system deduplication with service level agreements
US20140282938A1 (en) * 2013-03-15 2014-09-18 Adam Moisa Method and system for integrated cloud storage management
US20140280759A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Data transmission for transaction processing in a networked environment
WO2014151126A1 (en) * 2013-03-15 2014-09-25 Bracket Computing, Inc. Multi-layered storage administration for flexible placement of data
US8849759B2 (en) 2012-01-13 2014-09-30 Nexenta Systems, Inc. Unified local storage supporting file and cloud object access
US8849761B2 (en) 2009-06-30 2014-09-30 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US20140298243A1 (en) * 2013-03-29 2014-10-02 Alcatel-Lucent Usa Inc. Adjustable gui for displaying information from a database
US20140297535A1 (en) * 2011-04-26 2014-10-02 Docupace Technologies, Inc. System and Method for Compliant Integrated Workflow
US20140304512A1 (en) * 2013-03-14 2014-10-09 Sergei Pronin Method and system for authenticating and preserving data within a secure data repository
US20140310455A1 (en) * 2013-04-12 2014-10-16 International Business Machines Corporation System, method and computer program product for deduplication aware quality of service over data tiering
US8868574B2 (en) 2012-07-30 2014-10-21 Box, Inc. System and method for advanced search and filtering mechanisms for enterprise administrators in a cloud-based environment
US8868859B2 (en) 2011-06-03 2014-10-21 Apple Inc. Methods and apparatus for multi-source restore
US8875306B2 (en) 2008-02-12 2014-10-28 Oracle International Corporation Customization restrictions for multi-layer XML customization
US8886901B1 (en) 2010-12-31 2014-11-11 Emc Corporation Policy based storage tiering
US20140337296A1 (en) * 2013-05-10 2014-11-13 Bryan Knight Techniques to recover files in a storage network
US20140337116A1 (en) * 2013-05-10 2014-11-13 Yahoo! Inc. Marketing technique to negotiate price of product
US20140337932A1 (en) * 2009-08-27 2014-11-13 Cleversafe, Inc. Dispersed storage network with access control and methods for use therewith
US8892693B2 (en) 2012-10-02 2014-11-18 Nextbit Systems Inc. Enabling fragment-based mobile device application streaming
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
US20140344395A1 (en) * 2013-05-20 2014-11-20 Empire Technology Development Llc Object migration between cloud environments
US20140344461A1 (en) * 2010-03-19 2014-11-20 Novell, Inc. Techniques for intelligent service deployment
WO2014188515A1 (en) * 2013-05-21 2014-11-27 株式会社日立製作所 Storage system and storage system control method
US8903764B2 (en) 2012-04-25 2014-12-02 International Business Machines Corporation Enhanced reliability in deduplication technology over storage clouds
US20140359058A1 (en) * 2013-05-30 2014-12-04 Netapp, Inc. Method and system for migrating a virtual storage system
US20140359282A1 (en) * 2013-05-31 2014-12-04 Alcatel-Lucent Systems and methods for enabling searchable encryption
US20140365541A1 (en) * 2013-06-11 2014-12-11 Red Hat, Inc. Storing an object in a distributed storage system
US20140365655A1 (en) * 2013-06-10 2014-12-11 Konica Minolta, Inc. Information system and multi-functional information device
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US20150006691A1 (en) * 2013-06-27 2015-01-01 Cisco Technology, Inc. Managing rogue cloud provider operations
US20150006957A1 (en) * 2013-07-01 2015-01-01 Open Text S.A. Method and system for storing documents
CN104268219A (en) * 2014-09-24 2015-01-07 国家电网公司 Management method and system thereof for mass electricity utilization information collection data
US20150012616A1 (en) * 2013-07-08 2015-01-08 Dropbox, Inc. Saving Third Party Content to a Content Management System
US20150019687A1 (en) * 2013-07-05 2015-01-15 The Boeing Company Server System for Providing Current Data and Past Data to Clients
US20150015194A1 (en) * 2013-05-10 2015-01-15 DvineWave Inc. Wireless charging and powering of electronic devices in a vehicle
US20150015192A1 (en) * 2013-07-11 2015-01-15 DvineWave Inc. Wireless tracking pocket-forming
US20150015195A1 (en) * 2012-07-06 2015-01-15 DvineWave Inc. Portable wireless charging pad
JP2015501988A (en) * 2011-12-08 2015-01-19 エンパイア テクノロジー ディベロップメント エルエルシー Storage discount to enable deduplication between users
US8938638B2 (en) 2011-06-06 2015-01-20 Microsoft Corporation Recovery service location for a service
US20150026757A1 (en) * 2013-07-22 2015-01-22 Cisco Technology, Inc. Web Caching with Security as a Service
US20150032817A1 (en) * 2013-07-29 2015-01-29 Sanovi Technologies Pvt Ltd. System and method using software defined continuity (sdc) and application defined continuity (adc) for achieving business continuity and application continuity on massively scalable entities like entire datacenters, entire clouds etc. in a computing system environment
US8950009B2 (en) 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US20150039759A1 (en) * 2013-07-30 2015-02-05 Institute For Information Industry Apparatus, method, and non-transitory computer readable storage medium thereof for controlling access of a resource
US8954611B2 (en) 2013-03-21 2015-02-10 Nextbit Systems Inc. Mechanism for sharing states of applications and devices across different user profiles
US20150046418A1 (en) * 2013-08-09 2015-02-12 Microsoft Corporation Personalized content tagging
US20150046372A1 (en) * 2013-08-09 2015-02-12 Forever, Inc. Method and System for Permanent and Continuous Preservation and Retrieval of a Data Object in the Internet Cloud
US8966465B2 (en) 2008-02-12 2015-02-24 Oracle International Corporation Customization creation and update for multi-layer XML customization
US8965802B1 (en) * 2010-04-26 2015-02-24 Ca, Inc. Brokering and payment optimization for cloud computing
WO2014174380A3 (en) * 2013-04-22 2015-02-26 Bacula Systems Sa Creating a universally deduplicatable archive volume
CN104395904A (en) * 2012-04-27 2015-03-04 网络装置公司 Efficient data object storage and retrieval
US20150066873A1 (en) * 2013-08-30 2015-03-05 Kaladhar Voruganti Policy based deduplication techniques
US20150066845A1 (en) * 2013-08-27 2015-03-05 Netapp, Inc. Asynchronously migrating a file system
US8977723B2 (en) 2012-10-02 2015-03-10 Nextbit Systems Inc. Cloud based application fragmentation
TWI478088B (en) * 2011-03-02 2015-03-21 Chunghwa Telecom Co Ltd Cloud Services On Demand Service System
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
US8990151B2 (en) 2011-10-14 2015-03-24 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
US8990171B2 (en) 2011-09-01 2015-03-24 Microsoft Corporation Optimization of a partially deduplicated file
US20150088903A1 (en) * 2013-09-25 2015-03-26 International Business Machines Corporation Data allocation containers in a partitioned table of a computer database system for holding data based on usage
US20150088837A1 (en) * 2013-09-20 2015-03-26 Netapp, Inc. Responding to service level objectives during deduplication
US8996658B2 (en) 2008-09-03 2015-03-31 Oracle International Corporation System and method for integration of browser-based thin client applications within desktop rich client architecture
WO2015043640A1 (en) * 2013-09-26 2015-04-02 Siemens Aktiengesellschaft Method and system for managing and editing data of a medical device
US9002805B1 (en) 2012-12-14 2015-04-07 Amazon Technologies, Inc. Conditional storage object deletion
US20150100719A1 (en) * 2013-10-08 2015-04-09 Autochips Inc. Data backup method and device thereof
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
CN104537130A (en) * 2015-01-30 2015-04-22 浪潮(北京)电子信息产业有限公司 Method and system for realizing distributed cluster file management and clients
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9019123B2 (en) 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US20150121417A1 (en) * 2013-10-24 2015-04-30 Arris Enterprises, Inc. Mediaword Compression for Network Digital Media Recorder Applications
US9027108B2 (en) 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device
US20150127770A1 (en) * 2013-11-06 2015-05-07 Pax8, Inc. Distributed Cloud Disk Service Provisioning and Management
US20150134618A1 (en) * 2013-11-12 2015-05-14 Boris Teterin Techniques for Policy-Based Data Protection Services
EP2693340A4 (en) * 2011-03-31 2015-05-27 Hitachi Solutions Ltd Information processing system, backup management method and program
WO2015075513A1 (en) * 2013-09-30 2015-05-28 Orange System and method for distributed data storage
US20150156264A1 (en) * 2013-12-04 2015-06-04 International Business Machines Corporation File access optimization using strategically partitioned and positioned data in conjunction with a collaborative peer transfer system
US20150154418A1 (en) * 2013-12-02 2015-06-04 Fortinet, Inc. Secure cloud storage distribution and aggregation
US9052942B1 (en) 2012-12-14 2015-06-09 Amazon Technologies, Inc. Storage object deletion job management
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US9063738B2 (en) 2010-11-22 2015-06-23 Microsoft Technology Licensing, Llc Dynamically placing computing jobs
US9063946B1 (en) 2012-12-14 2015-06-23 Amazon Technologies, Inc. Backoff-based scheduling of storage object deletions
US9063912B2 (en) 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
US20150178007A1 (en) * 2013-03-15 2015-06-25 Cloudifyd, Inc. Method and system for integrated cloud storage management
US9069477B1 (en) * 2011-06-16 2015-06-30 Amazon Technologies, Inc. Reuse of dynamically allocated memory
US20150188910A1 (en) * 2013-12-26 2015-07-02 Iswind Digital Engineering Inc. Policy group based file protection system, file protection method thereof, and computer readable medium
US20150200952A1 (en) * 2012-06-26 2015-07-16 Google Inc. System and method for embedding first party widgets in third-party applications
CN104809407A (en) * 2015-05-05 2015-07-29 南京信息工程大学 Method and system for encrypting, decrypting and verifying cloud storage front end data
WO2015110879A1 (en) * 2014-01-23 2015-07-30 Dropbox, Inc. Content item synchronization by block
US20150212889A1 (en) * 2014-01-27 2015-07-30 Commvault Systems, Inc. Techniques for serving archived electronic mail
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
US20150220561A1 (en) * 2012-10-16 2015-08-06 Rackspace Us, Inc. System and Method for Exposing Cloud Stored Data to a Content Delivery Network
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9112885B2 (en) 2012-10-02 2015-08-18 Nextbit Systems Inc. Interactive multi-tasker
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9122520B2 (en) 2008-09-17 2015-09-01 Oracle International Corporation Generic wait service: pausing a BPEL process
US20150248435A1 (en) * 2014-03-01 2015-09-03 Microsoft Corporation Shadowing local on-premises information to a cloud-based computing system
US20150248431A1 (en) * 2010-08-02 2015-09-03 Juo-Yu Lee Survivable cloud data storage and transport
US9135116B1 (en) * 2011-09-29 2015-09-15 Emc Corporation Cloud enabled filesystems provided by an agent which interfaces with a file system on a data source device
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
EP2721481A4 (en) * 2011-06-20 2015-09-16 Microsoft Technology Licensing Llc Storage media abstraction for uniform data storage
US20150264117A1 (en) * 2014-03-14 2015-09-17 Avni Networks Inc. Processes for a highly scalable, distributed, multi-cloud application deployment, orchestration and delivery fabric
US9146935B1 (en) * 2011-03-08 2015-09-29 Symantec Corporation Systems and methods for classifying files as candidates for deduplication
US20150281046A1 (en) * 2014-03-31 2015-10-01 Verizon Patent And Licensing Inc. Method and apparatus for cloud provisioning of communication services
US20150286701A1 (en) * 2014-04-04 2015-10-08 Quantum Corporation Data Classification Aware Object Storage
US20150319236A1 (en) * 2014-05-02 2015-11-05 Claude Lano Cox Auto-storing and synchronizing device content from an information handling system
US20150318729A1 (en) * 2013-05-10 2015-11-05 Energous Corporation Wireless sound tracking pocket-forming
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US9189396B2 (en) 2012-08-24 2015-11-17 Dell Products L.P. Snapshot coordination
US20150332351A1 (en) * 2014-05-16 2015-11-19 Centurylink Intellectual Property Llc System and Method for Service Provider Cloud Services - Cloud Marketplace
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9201895B2 (en) 2011-06-03 2015-12-01 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US9201929B1 (en) * 2013-08-09 2015-12-01 Google, Inc. Ranking a search result document based on data usage to load the search result document
US20150347444A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Cloud library de-duplication
US9210203B2 (en) 2012-10-02 2015-12-08 Nextbit Systems Inc. Resource based mobile device application streaming
US9207993B2 (en) 2010-05-13 2015-12-08 Microsoft Technology Licensing, Llc Dynamic application placement based on cost and availability of energy in datacenters
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
US20150365497A1 (en) * 2013-01-31 2015-12-17 Qualcomm Incorporated Providing access to information across multiple computing devices
WO2015195497A1 (en) * 2014-06-17 2015-12-23 Cisco Technology, Inc. Method and apparatus for enforcing storage encryption for data stored in a cloud
US20160006829A1 (en) * 2013-10-02 2016-01-07 Hitachi, Ltd. Data management system and data management method
US20160014140A1 (en) * 2014-07-14 2016-01-14 Cisco Technology, Inc. Network-based real-time distributed data compliance broker
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
US9250946B2 (en) 2013-02-12 2016-02-02 Atlantis Computing, Inc. Efficient provisioning of cloned virtual machine images using deduplication metadata
US20160036667A1 (en) * 2014-07-29 2016-02-04 Commvault Systems, Inc. Customized deployment in information management systems
US9256646B2 (en) 2012-09-28 2016-02-09 Oracle International Corporation Configurable data windows for archived relations
US20160044077A1 (en) * 2014-08-06 2016-02-11 Dell Products L.P. Policy use in a data mover employing different channel protocols
US9262258B2 (en) 2013-02-19 2016-02-16 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
US9262496B2 (en) 2012-03-30 2016-02-16 Commvault Systems, Inc. Unified access to personal data
US20160048606A1 (en) * 2013-04-13 2016-02-18 Kiss Digital Media Pty Ltd. Methods, Systems, Apparatus, Products, Articles and Data Structures for Cross-Platform Digital Content
US9268655B2 (en) 2012-10-02 2016-02-23 Nextbit Systems Inc. Interface for resolving synchronization conflicts of application states
WO2016026537A1 (en) * 2014-08-22 2016-02-25 Nec Europe Ltd. A method for storing of data within a cloud storage and a cloud storage system
US20160055171A1 (en) * 2014-08-22 2016-02-25 International Business Machines Corporation Performance of Asynchronous Replication in HSM Integrated Storage Systems
US20160054949A1 (en) * 2013-03-28 2016-02-25 Orange Method for storing data in a computer system performing data deduplication
US9280550B1 (en) * 2010-12-31 2016-03-08 Emc Corporation Efficient storage tiering
US20160070620A1 (en) * 2013-04-08 2016-03-10 Dttp Technologies Inc. System and method for maintaining a file system at a computing device
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US9300692B2 (en) 2013-08-27 2016-03-29 Netapp, Inc. System and method for implementing data migration while preserving security policies of a source filer
CN105453105A (en) * 2013-03-04 2016-03-30 多塞股份公司 File security management apparatus and management method for system protection
US9305057B2 (en) 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US9305238B2 (en) 2008-08-29 2016-04-05 Oracle International Corporation Framework for supporting regular expression-based pattern matching in data streams
US9311314B2 (en) 2013-08-27 2016-04-12 Netapp, Inc. System and method for migrating data from a source file system to a destination file system with use of attribute manipulation
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9311331B2 (en) 2013-08-27 2016-04-12 Netapp, Inc. Detecting out-of-band (OOB) changes when replicating a source file system using an in-line system
US9317369B2 (en) 2011-06-03 2016-04-19 Apple Inc. Methods and apparatus for multi-phase restore
US20160119402A1 (en) * 2014-10-27 2016-04-28 Citrix Systems, Inc. Input devices in high latency networks
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
US20160125098A1 (en) * 2014-10-30 2016-05-05 Lenovo (Singapore) Pte. Ltd. Aggregate service with search capabilities
US9335932B2 (en) 2013-03-15 2016-05-10 Bracket Computing, Inc. Storage unit selection for virtualized storage units
US9342526B2 (en) 2012-05-25 2016-05-17 International Business Machines Corporation Providing storage resources upon receipt of a storage service request
US20160140131A1 (en) * 2014-11-19 2016-05-19 Prophetstor Data Services, Inc. Method and system for data transformation for cloud-based archiving and backup
US9355036B2 (en) 2012-09-18 2016-05-31 Netapp, Inc. System and method for operating a system to cache a networked file system utilizing tiered storage and customizable eviction policies based on priority and tiers
US9355060B1 (en) * 2012-12-14 2016-05-31 Amazon Technologies, Inc. Storage service lifecycle policy transition management
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US9367548B2 (en) 2012-03-30 2016-06-14 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US9372726B2 (en) 2013-01-09 2016-06-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
USD759686S1 (en) * 2014-01-03 2016-06-21 Synology Incorporated Portion of a display screen with icon
US9379890B1 (en) 2015-12-07 2016-06-28 Workiva Inc. System and method for managing cryptographic keys
US20160191635A1 (en) * 2014-06-03 2016-06-30 Box, Inc. Accessing multiple content storage facilities using source-aware storage policies
US9384205B1 (en) * 2013-12-18 2016-07-05 Veritas Technologies Llc Auto adaptive deduplication to cloud based storage
US20160197980A1 (en) * 2015-01-05 2016-07-07 International Business Machines Corporation Modular framework to integrate service management systems and cloud orchestrators in a hybrid cloud environment
US20160196320A1 (en) * 2014-12-19 2016-07-07 Pure Storage, Inc. Replication to the cloud
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9396216B2 (en) 2012-05-04 2016-07-19 Box, Inc. Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform
US9396156B2 (en) 2012-04-26 2016-07-19 Connected Data, Inc. System and method for socially organized storage and shared access to storage appliances
US20160210342A1 (en) * 2015-01-21 2016-07-21 Commvault Systems, Inc. Cross-application database restore
US20160219123A1 (en) * 2015-01-28 2016-07-28 Red Hat, Inc. Cache Data Validation
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
JP2016524429A (en) * 2013-07-01 2016-08-12 アマゾン テクノロジーズ インコーポレイテッド Virtual service provider zone
US9417968B2 (en) 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9418113B2 (en) 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
US9417917B1 (en) 2012-12-14 2016-08-16 Amazon Technologies, Inc. Equitable resource allocation for storage object deletion
US9430541B1 (en) * 2009-04-29 2016-08-30 Netapp, Inc. Data updates in distributed system with data coherency
US9430494B2 (en) 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
CN105915332A (en) * 2016-07-04 2016-08-31 广东工业大学 Cloud storage encryption and dereplication method and cloud storage encryption and dereplication system
US9436292B1 (en) * 2011-06-08 2016-09-06 Emc Corporation Method for replicating data in a backup storage system using a cost function
US9436555B2 (en) 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US9436440B1 (en) * 2013-04-02 2016-09-06 Amdocs Software Systems Limited System, method, and computer program for validating web service interface design
US9444811B2 (en) * 2014-10-21 2016-09-13 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US9450838B2 (en) 2011-06-27 2016-09-20 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
USD768162S1 (en) 2013-09-30 2016-10-04 Nextbit Systems Inc. Display screen or portion thereof with graphical user interface
US9465696B2 (en) 2011-06-03 2016-10-11 Apple Inc. Methods and apparatus for multi-phase multi-source backup
US20160308841A1 (en) * 2015-04-18 2016-10-20 DvSum, LLC Remotely accessing data on a secured server
US20160306818A1 (en) * 2015-04-09 2016-10-20 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
US20160307145A1 (en) * 2015-04-14 2016-10-20 International Business Machines Corporation Scheduling and simulation system
US9479567B1 (en) * 2015-10-29 2016-10-25 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US9483354B1 (en) * 2011-03-11 2016-11-01 Veritas Technologies Llc Techniques for providing data management using a backup data bank system
US9483473B2 (en) 2013-09-13 2016-11-01 Box, Inc. High availability architecture for a cloud-based concurrent-access collaboration platform
US20160321340A1 (en) * 2015-01-30 2016-11-03 Dropbox, Inc. Storage Constrained Synchronization of Shared Content Items
US9489244B2 (en) 2013-01-14 2016-11-08 Commvault Systems, Inc. Seamless virtual machine recall in a data storage system
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9495404B2 (en) 2013-01-11 2016-11-15 Commvault Systems, Inc. Systems and methods to process block-level backup for selective file restoration for virtual machines
US9507795B2 (en) 2013-01-11 2016-11-29 Box, Inc. Functionalities, features, and user interface of a synchronization client to a cloud-based environment
WO2016187657A1 (en) * 2015-05-21 2016-12-01 Mainframe Cloud Pty Ltd A system, method, computer program and data signal for hosting and executing a program on a mainframe
US9514145B2 (en) 2011-12-02 2016-12-06 International Business Machines Corporation Managing redundant immutable files using deduplication in storage clouds
US20160359953A1 (en) * 2015-06-04 2016-12-08 Dell Software Inc. Migration enhanced by presence, instant messaging, and last log-on time
US9519886B2 (en) 2013-09-13 2016-12-13 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US9519526B2 (en) 2007-12-05 2016-12-13 Box, Inc. File management system and collaboration service and integration capabilities with third party applications
US9521217B2 (en) 2011-08-08 2016-12-13 Ctera Networks, Ltd. System and method for remote access to cloud-enabled network devices
US20160373516A1 (en) * 2015-06-22 2016-12-22 Ricoh Company, Ltd. Approach For Sharing Electronic Documents During Electronic Meetings
US9531689B1 (en) * 2014-11-10 2016-12-27 The United States Of America As Represented By The Secretary Of The Navy System and method for encryption of network data
EP3000049A4 (en) * 2013-05-22 2016-12-28 Altirnao Inc System and method to provide document management on a public document system
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9542423B2 (en) 2012-12-31 2017-01-10 Apple Inc. Backup user interface
US9547453B2 (en) 2013-04-30 2017-01-17 Inuron Method for layered storage of enterprise data
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US20170024286A1 (en) * 2013-03-11 2017-01-26 Commvault Systems, Inc. Single index to query multiple backup formats
US9558202B2 (en) 2012-08-27 2017-01-31 Box, Inc. Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9560019B2 (en) 2013-04-10 2017-01-31 International Business Machines Corporation Method and system for managing security in a computing environment
US9557933B1 (en) * 2010-09-24 2017-01-31 EMC IP Holding Company LLC Selective migration of physical data
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US20170061339A1 (en) * 2014-01-02 2017-03-02 Jeremy Lynn Littlejohn Method for facilitating network external computing assistance
US9591060B1 (en) 2013-06-04 2017-03-07 Ca, Inc. Transferring applications between computer systems
WO2017040503A1 (en) * 2015-09-04 2017-03-09 Wal-Mart Stores, Inc. FILE MANAGEMENT FOR eDISCOVERY
US20170078501A1 (en) * 2015-09-10 2017-03-16 Donald C.D. Chang Mobile Scanner via Private Data on Cloud
US9600552B2 (en) 2012-10-02 2017-03-21 Nextbit Systems Inc. Proximity based application state synchronization
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
US9628268B2 (en) 2012-10-17 2017-04-18 Box, Inc. Remote key management in a cloud-based environment
US9633037B2 (en) 2013-06-13 2017-04-25 Box, Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9639400B2 (en) 2008-06-19 2017-05-02 Commvault Systems, Inc. Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US20170132707A1 (en) * 2014-07-29 2017-05-11 Forever, Inc. Method and System for Permanent and Continuous Preservation and Retrieval of a Data Object in the Internet Cloud
US20170134493A1 (en) * 2015-08-19 2017-05-11 Donald C.D. Chang Mobile Accessing Private Data on Cloud
US9654436B2 (en) 2012-11-27 2017-05-16 BitTitan Inc. Systems and methods for migrating mailbox data from systems with limited or restricted remote access
US9652741B2 (en) 2011-07-08 2017-05-16 Box, Inc. Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US9654556B2 (en) 2012-10-02 2017-05-16 Razer (Asia-Pacific) Pte. Ltd. Managing applications on an electronic device
CN106686031A (en) * 2015-11-09 2017-05-17 广东华邦云计算股份有限公司 Method and device for updating application to be in SaaS mode
US20170139978A1 (en) * 2015-11-13 2017-05-18 Microsoft Technology Licensing, Llc Transferring files
WO2017083156A1 (en) * 2015-11-09 2017-05-18 Microsoft Technology Licensing, Llc Generation of an application from template
US9659021B1 (en) * 2013-11-20 2017-05-23 EMC IP Holding Company LLC Client based backups and backup indexing
US9658983B1 (en) * 2012-12-14 2017-05-23 Amazon Technologies, Inc. Lifecycle support for storage objects having multiple durability levels specifying different numbers of versions
US20170149624A1 (en) * 2015-11-25 2017-05-25 International Business Machines Corporation Event-based data transfer scheduling using elastic network optimization criteria
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
WO2017095820A1 (en) * 2015-11-30 2017-06-08 Alibaba Group Holding Limited Methods and devices for acquiring data using virtual machine and host machine
US9680708B2 (en) 2014-03-14 2017-06-13 Veritas Technologies Method and apparatus for cloud resource delivery
US9684535B2 (en) 2012-12-21 2017-06-20 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US20170192707A1 (en) * 2015-12-30 2017-07-06 Kevin Arnold External hard drive device with cloud drive support
US9703855B1 (en) * 2013-04-15 2017-07-11 Ca, Inc. System and method for classifying content with a web service
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9703584B2 (en) 2013-01-08 2017-07-11 Commvault Systems, Inc. Virtual server agent load balancing
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9717985B2 (en) 2012-10-02 2017-08-01 Razer (Asia-Pacific) Pte. Ltd. Fragment-based mobile device application streaming utilizing crowd-sourcing
US20170223093A1 (en) * 2016-01-29 2017-08-03 Docusign, Inc. Cloud-based coordination of customer premise service appliances
US9729488B2 (en) 2010-04-26 2017-08-08 BitTitan Inc. On-demand mailbox synchronization and migration system
US9727383B2 (en) 2012-02-21 2017-08-08 Microsoft Technology Licensing, Llc Predicting datacenter performance to improve provisioning
US9729675B2 (en) 2012-08-19 2017-08-08 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US9727522B1 (en) * 2012-12-14 2017-08-08 Amazon Technologies, Inc. Multi-tenant storage service object lifecycle management using transition job objects
US20170228370A1 (en) * 2016-02-08 2017-08-10 International Business Machines Corporation Performing nearline storage of a file
US9740702B2 (en) 2012-12-21 2017-08-22 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US9747000B2 (en) 2012-10-02 2017-08-29 Razer (Asia-Pacific) Pte. Ltd. Launching applications on an electronic device
US9749132B1 (en) * 2011-11-28 2017-08-29 Amazon Technologies, Inc. System and method for secure deletion of data
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US9756031B1 (en) * 2011-12-21 2017-09-05 Amazon Technologies, Inc. Portable access to auditing information
US9756104B2 (en) 2011-05-06 2017-09-05 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9767119B2 (en) 2014-12-31 2017-09-19 Netapp, Inc. System and method for monitoring hosts and storage devices in a storage system
US9769260B2 (en) 2014-03-05 2017-09-19 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US9773051B2 (en) 2011-11-29 2017-09-26 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US9787772B2 (en) 2015-05-19 2017-10-10 Netapp, Inc. Policy based alerts for networked storage systems
US9787103B1 (en) 2013-08-06 2017-10-10 Energous Corporation Systems and methods for wirelessly delivering power to electronic devices that are unable to communicate with a transmitter
US20170295239A1 (en) * 2014-12-27 2017-10-12 Huawei Technologies Co.,Ltd. Data processing method, apparatus, and system
US9793758B2 (en) 2014-05-23 2017-10-17 Energous Corporation Enhanced transmitter using frequency control for wireless power transmission
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
CN107277118A (en) * 2017-05-31 2017-10-20 北京京东尚科信息技术有限公司 The method and apparatus for generating the conventional access path of node
US9798754B1 (en) * 2014-06-12 2017-10-24 EMC IP Holding Company LLC Method to efficiently track I/O access history using efficient memory data structures
US9800172B1 (en) 2014-05-07 2017-10-24 Energous Corporation Integrated rectifier and boost converter for boosting voltage received from wireless power transmission waves
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US9806564B2 (en) 2014-05-07 2017-10-31 Energous Corporation Integrated rectifier and boost converter for wireless power transmission
US9812890B1 (en) * 2013-07-11 2017-11-07 Energous Corporation Portable wireless charging pad
US9819230B2 (en) 2014-05-07 2017-11-14 Energous Corporation Enhanced receiver for wireless power transmission
US20170329980A1 (en) * 2016-05-13 2017-11-16 Vmware, Inc. Secure and scalable data transfer using a hybrid blockchain-based approach
US9825674B1 (en) 2014-05-23 2017-11-21 Energous Corporation Enhanced transmitter that selects configurations of antenna elements for performing wireless power transmission and receiving functions
US9823842B2 (en) 2014-05-12 2017-11-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
US9824815B2 (en) 2013-05-10 2017-11-21 Energous Corporation Wireless charging and powering of healthcare gadgets and sensors
US9823977B2 (en) 2014-11-20 2017-11-21 Commvault Systems, Inc. Virtual machine change block tracking
US9831718B2 (en) 2013-07-25 2017-11-28 Energous Corporation TV with integrated wireless power transmitter
US9838083B2 (en) 2014-07-21 2017-12-05 Energous Corporation Systems and methods for communication with remote management systems
US9843213B2 (en) 2013-08-06 2017-12-12 Energous Corporation Social power sharing for mobile devices based on pocket-forming
US9843201B1 (en) 2012-07-06 2017-12-12 Energous Corporation Wireless power transmitter that selects antenna sets for transmitting wireless power to a receiver based on location of the receiver, and methods of use thereof
US9843229B2 (en) 2013-05-10 2017-12-12 Energous Corporation Wireless sound charging and powering of healthcare gadgets and sensors
US9843763B2 (en) 2013-05-10 2017-12-12 Energous Corporation TV system with wireless power transmitter
US9847679B2 (en) 2014-05-07 2017-12-19 Energous Corporation System and method for controlling communication between wireless power transmitter managers
US9847669B2 (en) 2013-05-10 2017-12-19 Energous Corporation Laptop computer as a transmitter for wireless charging
US9847677B1 (en) 2013-10-10 2017-12-19 Energous Corporation Wireless charging and powering of healthcare gadgets and sensors
US9853458B1 (en) 2014-05-07 2017-12-26 Energous Corporation Systems and methods for device and power receiver pairing
US9853692B1 (en) 2014-05-23 2017-12-26 Energous Corporation Systems and methods for wireless power transmission
US9853485B2 (en) 2015-10-28 2017-12-26 Energous Corporation Antenna for wireless charging systems
US9859757B1 (en) 2013-07-25 2018-01-02 Energous Corporation Antenna tile arrangements in electronic device enclosures
US9859758B1 (en) 2014-05-14 2018-01-02 Energous Corporation Transducer sound arrangement for pocket-forming
US9859756B2 (en) 2012-07-06 2018-01-02 Energous Corporation Transmittersand methods for adjusting wireless power transmission based on information from receivers
US9859797B1 (en) 2014-05-07 2018-01-02 Energous Corporation Synchronous rectifier design for wireless power receiver
US20180004430A1 (en) * 2015-01-30 2018-01-04 Hewlett Packard Enterprise Development Lp Chunk Monitoring
US9866279B2 (en) 2013-05-10 2018-01-09 Energous Corporation Systems and methods for selecting which power transmitter should deliver wireless power to a receiving device in a wireless power delivery network
US9871387B1 (en) 2015-09-16 2018-01-16 Energous Corporation Systems and methods of object detection using one or more video cameras in wireless power charging systems
US9871398B1 (en) 2013-07-01 2018-01-16 Energous Corporation Hybrid charging method for wireless power transmission based on pocket-forming
US9871301B2 (en) 2014-07-21 2018-01-16 Energous Corporation Integrated miniature PIFA with artificial magnetic conductor metamaterials
US9876536B1 (en) 2014-05-23 2018-01-23 Energous Corporation Systems and methods for assigning groups of antennas to transmit wireless power to different wireless power receivers
US9876648B2 (en) 2014-08-21 2018-01-23 Energous Corporation System and method to control a wireless power transmission system by configuration of wireless power transmission control parameters
US9876379B1 (en) 2013-07-11 2018-01-23 Energous Corporation Wireless charging and powering of electronic devices in a vehicle
US9876394B1 (en) 2014-05-07 2018-01-23 Energous Corporation Boost-charger-boost system for enhanced power delivery
US20180025034A1 (en) * 2016-07-20 2018-01-25 International Business Machines Corporation Archival of data in a relational database management system using block level copy
US9882394B1 (en) 2014-07-21 2018-01-30 Energous Corporation Systems and methods for using servers to generate charging schedules for wireless power transmission systems
US9882395B1 (en) 2014-05-07 2018-01-30 Energous Corporation Cluster management of transmitters in a wireless power transmission system
CN107646189A (en) * 2015-04-10 2018-01-30 Pcms控股公司 System and method for the commission of cloud computing process
US9882427B2 (en) 2013-05-10 2018-01-30 Energous Corporation Wireless power delivery using a base station to control operations of a plurality of wireless power transmitters
US9887739B2 (en) 2012-07-06 2018-02-06 Energous Corporation Systems and methods for wireless power transmission by comparing voltage levels associated with power waves transmitted by antennas of a plurality of antennas of a transmitter to determine appropriate phase adjustments for the power waves
US9886316B2 (en) 2010-10-28 2018-02-06 Microsoft Technology Licensing, Llc Data center system that accommodates episodic computation
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
US9887584B1 (en) 2014-08-21 2018-02-06 Energous Corporation Systems and methods for a configuration web service to provide configuration of a wireless power transmitter within a wireless power transmission system
US9893554B2 (en) 2014-07-14 2018-02-13 Energous Corporation System and method for providing health safety in a wireless power transmission system
US9893538B1 (en) 2015-09-16 2018-02-13 Energous Corporation Systems and methods of object detection in wireless power charging systems
US9893555B1 (en) 2013-10-10 2018-02-13 Energous Corporation Wireless charging of tools using a toolbox transmitter
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US9893768B2 (en) 2012-07-06 2018-02-13 Energous Corporation Methodology for multiple pocket-forming
US9891669B2 (en) 2014-08-21 2018-02-13 Energous Corporation Systems and methods for a configuration web service to provide configuration of a wireless power transmitter within a wireless power transmission system
US9893535B2 (en) 2015-02-13 2018-02-13 Energous Corporation Systems and methods for determining optimal charging positions to maximize efficiency of power received from wirelessly delivered sound wave energy
US9900057B2 (en) 2012-07-06 2018-02-20 Energous Corporation Systems and methods for assigning groups of antenas of a wireless power transmitter to different wireless power receivers, and determining effective phases to use for wirelessly transmitting power using the assigned groups of antennas
US9899873B2 (en) 2014-05-23 2018-02-20 Energous Corporation System and method for generating a power receiver identifier in a wireless power network
US9899744B1 (en) 2015-10-28 2018-02-20 Energous Corporation Antenna for wireless charging systems
US9899861B1 (en) 2013-10-10 2018-02-20 Energous Corporation Wireless charging methods and systems for game controllers, based on pocket-forming
US9906275B2 (en) 2015-09-15 2018-02-27 Energous Corporation Identifying receivers in a wireless charging transmission field
US9904598B2 (en) 2015-04-21 2018-02-27 Commvault Systems, Inc. Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US9906065B2 (en) 2012-07-06 2018-02-27 Energous Corporation Systems and methods of transmitting power transmission waves based on signals received at first and second subsets of a transmitter's antenna array
US9912199B2 (en) 2012-07-06 2018-03-06 Energous Corporation Receivers for wireless power transmission
US20180067653A1 (en) * 2016-09-08 2018-03-08 Quest Software Inc. De-duplicating multi-device plugin
US9917817B1 (en) * 2013-06-10 2018-03-13 EMC IP Holding Company LLC Selective encryption of outgoing data
US9917477B1 (en) 2014-08-21 2018-03-13 Energous Corporation Systems and methods for automatically testing the communication between power transmitter and wireless receiver
US9917894B2 (en) 2014-08-06 2018-03-13 Quest Software Inc. Accelerating transfer protocols
US9923386B1 (en) 2012-07-06 2018-03-20 Energous Corporation Systems and methods for wireless power transmission by modifying a number of antenna elements used to transmit power waves to a receiver
US9923784B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Data transfer using flexible dynamic elastic network service provider relationships
US9923839B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Configuring resources to exploit elastic network capability
US9923965B2 (en) 2015-06-05 2018-03-20 International Business Machines Corporation Storage mirroring over wide area network circuits with dynamic on-demand capacity
US9935482B1 (en) 2014-02-06 2018-04-03 Energous Corporation Wireless power transmitters that transmit at determined times based on power availability and consumption at a receiving mobile device
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
US9933804B2 (en) 2014-07-11 2018-04-03 Microsoft Technology Licensing, Llc Server installation as a grid condition sensor
US9941754B2 (en) 2012-07-06 2018-04-10 Energous Corporation Wireless power transmission with selective range
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
US9941747B2 (en) 2014-07-14 2018-04-10 Energous Corporation System and method for manually selecting and deselecting devices to charge in a wireless power network
US9940203B1 (en) * 2015-06-11 2018-04-10 EMC IP Holding Company LLC Unified interface for cloud-based backup and restoration
US9942105B2 (en) 2010-07-19 2018-04-10 Akamai Technologies, Inc. Animated globe showing real-time web user performance measurements
US9941707B1 (en) 2013-07-19 2018-04-10 Energous Corporation Home base station for multiple room coverage with multiple transmitters
US9939864B1 (en) 2014-08-21 2018-04-10 Energous Corporation System and method to control a wireless power transmission system by configuration of wireless power transmission control parameters
US9941752B2 (en) 2015-09-16 2018-04-10 Energous Corporation Systems and methods of object detection in wireless power charging systems
US9946724B1 (en) * 2014-03-31 2018-04-17 EMC IP Holding Company LLC Scalable post-process deduplication
US9948135B2 (en) 2015-09-22 2018-04-17 Energous Corporation Systems and methods for identifying sensitive objects in a wireless charging transmission field
US9954374B1 (en) 2014-05-23 2018-04-24 Energous Corporation System and method for self-system analysis for detecting a fault in a wireless power transmission Network
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9952856B2 (en) * 2014-08-01 2018-04-24 Sap Se Deploying mobile applications in a collaborative cloud environment
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US20180123885A1 (en) * 2015-03-20 2018-05-03 Nokia Solutions And Networks Oy Building and applying operational experiences for cm operations
US9965009B1 (en) 2014-08-21 2018-05-08 Energous Corporation Systems and methods for assigning a power receiver to individual power transmitters based on location of the power receiver
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9966784B2 (en) 2014-06-03 2018-05-08 Energous Corporation Systems and methods for extending battery life of portable electronic devices charged by sound
US9966765B1 (en) 2013-06-25 2018-05-08 Energous Corporation Multi-mode transmitter
US9967743B1 (en) 2013-05-10 2018-05-08 Energous Corporation Systems and methods for using a transmitter access policy at a network service to determine whether to provide power to wireless power receivers in a wireless power network
US9973008B1 (en) 2014-05-07 2018-05-15 Energous Corporation Wireless power receiver with boost converters directly coupled to a storage element
US9972103B2 (en) 2015-07-24 2018-05-15 Oracle International Corporation Visually exploring and analyzing event streams
US9973021B2 (en) 2012-07-06 2018-05-15 Energous Corporation Receivers for wireless power transmission
US9978040B2 (en) 2011-07-08 2018-05-22 Box, Inc. Collaboration sessions in a workspace on a cloud-based content management system
US9979440B1 (en) 2013-07-25 2018-05-22 Energous Corporation Antenna tile arrangements configured to operate as one functional unit
US9984093B2 (en) 2014-08-06 2018-05-29 Quest Software Inc. Technique selection in a deduplication aware client environment
US9984079B1 (en) * 2012-01-13 2018-05-29 Amazon Technologies, Inc. Managing data storage using storage policy specifications
US9990110B1 (en) 2006-08-14 2018-06-05 Akamai Technologies, Inc. Private device cloud for global testing of mobile applications
US9990352B2 (en) 2014-08-06 2018-06-05 Quest Software Inc. Chunk compression in a deduplication aware client environment
US9991741B1 (en) 2014-07-14 2018-06-05 Energous Corporation System for tracking and reporting status and usage information in a wireless power management system
US10003211B1 (en) 2013-06-17 2018-06-19 Energous Corporation Battery life of portable electronic devices
US20180176301A1 (en) * 2016-12-20 2018-06-21 Sap Se Data transmission for data replication system
US10008889B2 (en) 2014-08-21 2018-06-26 Energous Corporation Method for automatically testing the operational status of a wireless power receiver in a wireless power transmission system
US10008886B2 (en) 2015-12-29 2018-06-26 Energous Corporation Modular antennas with heat sinks in wireless power transmission systems
US10008875B1 (en) 2015-09-16 2018-06-26 Energous Corporation Wireless power transmitter configured to transmit power waves to a predicted location of a moving wireless power receiver
US10020678B1 (en) 2015-09-22 2018-07-10 Energous Corporation Systems and methods for selecting antennas to generate and transmit power transmission waves
US10021185B1 (en) * 2013-08-22 2018-07-10 Ca, Inc. Optimized virtual storage fabric
US10021523B2 (en) 2013-07-11 2018-07-10 Energous Corporation Proximity transmitters for wireless power charging systems
US10027158B2 (en) 2015-12-24 2018-07-17 Energous Corporation Near field transmitters for wireless power charging of an electronic device by leaking RF energy through an aperture
US10027180B1 (en) 2015-11-02 2018-07-17 Energous Corporation 3D triple linear antenna that acts as heat sink
US10027159B2 (en) 2015-12-24 2018-07-17 Energous Corporation Antenna for transmitting wireless power signals
US10027168B2 (en) 2015-09-22 2018-07-17 Energous Corporation Systems and methods for generating and transmitting wireless power transmission waves using antennas having a spacing that is selected by the transmitter
US20180205791A1 (en) * 2017-01-15 2018-07-19 Elastifile Ltd. Object storage in cloud with reference counting using versions
US10033222B1 (en) 2015-09-22 2018-07-24 Energous Corporation Systems and methods for determining and generating a waveform for wireless power transmission waves
WO2018136142A1 (en) * 2017-01-18 2018-07-26 Netapp, Inc. Methods and systems for restoring a data container archived at an object-based storage
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US10038332B1 (en) 2015-12-24 2018-07-31 Energous Corporation Systems and methods of wireless power charging through multiple receiving devices
US10038337B1 (en) 2013-09-16 2018-07-31 Energous Corporation Wireless power supply for rescue devices
US10050470B1 (en) 2015-09-22 2018-08-14 Energous Corporation Wireless power transmission device having antennas oriented in three dimensions
US10050462B1 (en) 2013-08-06 2018-08-14 Energous Corporation Social power sharing for mobile devices based on pocket-forming
US20180232395A1 (en) * 2017-02-10 2018-08-16 DaStratum, Inc. Multi-tier cloud file system
US20180232784A1 (en) * 2014-08-26 2018-08-16 Municipal Property Assessment Corporation Method and system for real estate valuation
US20180232387A1 (en) * 2017-02-15 2018-08-16 Paypal, Inc. Data transfer size reduction
US10055594B2 (en) 2012-06-07 2018-08-21 Amazon Technologies, Inc. Virtual service provider zones
US10056782B1 (en) 2013-05-10 2018-08-21 Energous Corporation Methods and systems for maximum power point transfer in receivers
US10057327B2 (en) 2015-11-25 2018-08-21 International Business Machines Corporation Controlled transfer of data over an elastic network
US10063064B1 (en) 2014-05-23 2018-08-28 Energous Corporation System and method for generating a power receiver identifier in a wireless power network
US10063108B1 (en) 2015-11-02 2018-08-28 Energous Corporation Stamped three-dimensional antenna
US10063105B2 (en) 2013-07-11 2018-08-28 Energous Corporation Proximity transmitters for wireless power charging systems
US10063106B2 (en) 2014-05-23 2018-08-28 Energous Corporation System and method for a self-system analysis in a wireless power transmission network
US10067850B2 (en) 2010-07-19 2018-09-04 Akamai Technologies, Inc. Load test charts with standard deviation and percentile statistics
US10068703B1 (en) 2014-07-21 2018-09-04 Energous Corporation Integrated miniature PIFA with artificial magnetic conductor metamaterials
US10075008B1 (en) 2014-07-14 2018-09-11 Energous Corporation Systems and methods for manually adjusting when receiving electronic devices are scheduled to receive wirelessly delivered power from a wireless power transmitter in a wireless power network
US10075017B2 (en) 2014-02-06 2018-09-11 Energous Corporation External or internal wireless power receiver with spaced-apart antenna elements for charging or powering mobile devices using wirelessly delivered power
US10079515B2 (en) 2016-12-12 2018-09-18 Energous Corporation Near-field RF charging pad with multi-band antenna element with adaptive loading to efficiently charge an electronic device at any position on the pad
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US10089187B1 (en) * 2016-03-29 2018-10-02 EMC IP Holding Company LLC Scalable cloud backup
US10090886B1 (en) 2014-07-14 2018-10-02 Energous Corporation System and method for enabling automatic charging schedules in a wireless power network to one or more devices
US10090699B1 (en) 2013-11-01 2018-10-02 Energous Corporation Wireless powered house
US10089009B2 (en) 2013-04-30 2018-10-02 Inuron Method for layered storage of enterprise data
US10095587B1 (en) * 2011-12-23 2018-10-09 EMC IP Holding Company LLC Restricted data zones for backup servers
US10103582B2 (en) 2012-07-06 2018-10-16 Energous Corporation Transmitters for wireless power transmission
US10103552B1 (en) 2013-06-03 2018-10-16 Energous Corporation Protocols for authenticated wireless power transmission
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in a cloud-based platform
US20180307631A1 (en) * 2017-04-21 2018-10-25 Softnas Operating Inc. System and method for optimized input/output to an object storage system
US10116143B1 (en) 2014-07-21 2018-10-30 Energous Corporation Integrated antenna arrays for wireless power transmission
US10116170B1 (en) 2014-05-07 2018-10-30 Energous Corporation Methods and systems for maximum power point transfer in receivers
US10114962B2 (en) 2015-06-02 2018-10-30 Alibaba Group Holding Limited Generating a stub file corresponding to a classified data file
US10116629B2 (en) 2016-05-16 2018-10-30 Carbonite, Inc. Systems and methods for obfuscation of data via an aggregation of cloud storage services
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US10123189B2 (en) 2013-03-21 2018-11-06 Razer (Asia-Pacific) Pte. Ltd. Electronic device system restoration by tapping mechanism
US10122219B1 (en) 2017-10-10 2018-11-06 Energous Corporation Systems, methods, and devices for using a battery as a antenna for receiving wirelessly delivered power from radio frequency power waves
US10122415B2 (en) 2014-12-27 2018-11-06 Energous Corporation Systems and methods for assigning a set of antennas of a wireless power transmitter to a wireless power receiver based on a location of the wireless power receiver
US10128686B1 (en) 2015-09-22 2018-11-13 Energous Corporation Systems and methods for identifying receiver locations using sensor technologies
US10127030B1 (en) 2016-03-04 2018-11-13 Quest Software Inc. Systems and methods for controlled container execution
US10124754B1 (en) 2013-07-19 2018-11-13 Energous Corporation Wireless charging and powering of electronic sensors in a vehicle
US10128699B2 (en) 2014-07-14 2018-11-13 Energous Corporation Systems and methods of providing wireless power using receiver device sensor inputs
US10128693B2 (en) 2014-07-14 2018-11-13 Energous Corporation System and method for providing health safety in a wireless power transmission system
US10128695B2 (en) 2013-05-10 2018-11-13 Energous Corporation Hybrid Wi-Fi and power router transmitter
US10134260B1 (en) 2013-05-10 2018-11-20 Energous Corporation Off-premises alert system and method for wireless power receivers in a wireless power network
US10135294B1 (en) 2015-09-22 2018-11-20 Energous Corporation Systems and methods for preconfiguring transmission devices for power wave transmissions based on location data of one or more receivers
US10135112B1 (en) 2015-11-02 2018-11-20 Energous Corporation 3D antenna mount
US10135295B2 (en) 2015-09-22 2018-11-20 Energous Corporation Systems and methods for nullifying energy levels for wireless power transmission waves
US10141768B2 (en) 2013-06-03 2018-11-27 Energous Corporation Systems and methods for maximizing wireless power transfer efficiency by instructing a user to change a receiver device's position
US10141791B2 (en) 2014-05-07 2018-11-27 Energous Corporation Systems and methods for controlling communications during wireless transmission of power using application programming interfaces
US10140159B1 (en) 2016-03-04 2018-11-27 Quest Software Inc. Systems and methods for dynamic creation of container manifests
US20180343302A1 (en) * 2017-05-26 2018-11-29 Realtek Semiconductor Corporation Data management circuit with network functions and network-based data management method
US10148133B2 (en) 2012-07-06 2018-12-04 Energous Corporation Wireless power transmission with selective range
US10148097B1 (en) 2013-11-08 2018-12-04 Energous Corporation Systems and methods for using a predetermined number of communication channels of a wireless power transmitter to communicate with different wireless power receivers
US10153645B1 (en) 2014-05-07 2018-12-11 Energous Corporation Systems and methods for designating a master power transmitter in a cluster of wireless power transmitters
US10152390B1 (en) * 2013-08-23 2018-12-11 Acronis International Gmbh Increasing speed of file restore
US10152251B2 (en) 2016-10-25 2018-12-11 Commvault Systems, Inc. Targeted backup of virtual machine
US10153653B1 (en) 2014-05-07 2018-12-11 Energous Corporation Systems and methods for using application programming interfaces to control communications between a transmitter and a receiver
US10153660B1 (en) 2015-09-22 2018-12-11 Energous Corporation Systems and methods for preconfiguring sensor data for wireless charging systems
US10158257B2 (en) 2014-05-01 2018-12-18 Energous Corporation System and methods for using sound waves to wirelessly deliver power to electronic devices
US10158259B1 (en) 2015-09-16 2018-12-18 Energous Corporation Systems and methods for identifying receivers in a transmission field by transmitting exploratory power waves towards different segments of a transmission field
CN109067724A (en) * 2018-07-24 2018-12-21 中国联合网络通信集团有限公司 Block chain data trade method, apparatus, equipment and storage medium
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10168929B2 (en) 2015-07-22 2019-01-01 Commvault Systems, Inc. Browse and restore for block-level backups
US10170917B1 (en) 2014-05-07 2019-01-01 Energous Corporation Systems and methods for managing and controlling a wireless power network by establishing time intervals during which receivers communicate with a transmitter
US20190004808A1 (en) * 2017-06-30 2019-01-03 Microsoft Technology Licensing, Llc Centralized memory management for multiple device streams
US20190005103A1 (en) * 2015-11-18 2019-01-03 American Express Travel Related Services Company, Inc. Catalog with location of variables for data
US10176182B2 (en) * 2015-08-31 2019-01-08 International Business Machines Corporation File deletion in storage devices based on the deletion priority rules
US10178173B2 (en) * 2016-08-02 2019-01-08 International Business Machines Corporation Cloud service utilization
US20190018869A1 (en) * 2017-07-11 2019-01-17 International Business Machines Corporation Storage resource utilization analytics in a heterogeneous storage system environment using metadata tags
US10186913B2 (en) 2012-07-06 2019-01-22 Energous Corporation System and methods for pocket-forming based on constructive and destructive interferences to power one or more wireless power receivers using a wireless power transmitter including a plurality of antennas
US10186893B2 (en) 2015-09-16 2019-01-22 Energous Corporation Systems and methods for real time or near real time wireless communications between a wireless power transmitter and a wireless power receiver
US10193396B1 (en) 2014-05-07 2019-01-29 Energous Corporation Cluster management of transmitters in a wireless power transmission system
US20190034108A1 (en) * 2015-08-19 2019-01-31 Spatial Digital Systems, Inc. Private access to media data on network storage
US20190034472A1 (en) * 2017-07-27 2019-01-31 Cisco Technology, Inc. System and method for state object data store
US10199849B1 (en) 2014-08-21 2019-02-05 Energous Corporation Method for automatically testing the operational status of a wireless power receiver in a wireless power transmission system
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US10199850B2 (en) 2015-09-16 2019-02-05 Energous Corporation Systems and methods for wirelessly transmitting power from a transmitter to a receiver by determining refined locations of the receiver in a segmented transmission field associated with the transmitter
US10199835B2 (en) 2015-12-29 2019-02-05 Energous Corporation Radar motion detection using stepped frequency in wireless power transmission system
US10206185B2 (en) 2013-05-10 2019-02-12 Energous Corporation System and methods for wireless power transmission to an electronic device in accordance with user-defined restrictions
US10205239B1 (en) 2014-05-07 2019-02-12 Energous Corporation Compact PIFA antenna
US10209893B2 (en) * 2011-03-08 2019-02-19 Rackspace Us, Inc. Massively scalable object storage for storing object replicas
US10211682B2 (en) 2014-05-07 2019-02-19 Energous Corporation Systems and methods for controlling operation of a transmitter of a wireless power network based on user instructions received from an authenticated computing device powered or charged by a receiver of the wireless power network
US10211680B2 (en) 2013-07-19 2019-02-19 Energous Corporation Method for 3 dimensional pocket-forming
US10211674B1 (en) 2013-06-12 2019-02-19 Energous Corporation Wireless charging using selected reflectors
US20190057218A1 (en) * 2017-08-18 2019-02-21 Sap Se Providing data protection and privacy as a service in a cloud platform
US20190057450A1 (en) * 2017-07-24 2019-02-21 Jpmorgan Chase Bank, N.A. Methods for automatically generating structured pricing models from unstructured multi-channel communications and devices thereof
US20190057090A1 (en) * 2017-08-17 2019-02-21 Samsung Electronics Co., Ltd. Method and device of storing data object
US10216441B2 (en) 2015-11-25 2019-02-26 International Business Machines Corporation Dynamic quality of service for storage I/O port allocation
US10218227B2 (en) 2014-05-07 2019-02-26 Energous Corporation Compact PIFA antenna
US10224758B2 (en) 2013-05-10 2019-03-05 Energous Corporation Wireless powering of electronic devices with selective delivery range
US10224982B1 (en) 2013-07-11 2019-03-05 Energous Corporation Wireless power transmitters for transmitting wireless power and tracking whether wireless power receivers are within authorized locations
US10223717B1 (en) 2014-05-23 2019-03-05 Energous Corporation Systems and methods for payment-based authorization of wireless power transmission service
US20190075087A1 (en) * 2016-01-08 2019-03-07 Capital One Services, Llc Methods and systems for securing data in the public cloud
US10229067B2 (en) 2016-02-08 2019-03-12 International Business Machines Corporation Retrieving and converting offline data
US10229134B2 (en) 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
US10230266B1 (en) 2014-02-06 2019-03-12 Energous Corporation Wireless power receivers that communicate status data indicating wireless power transmission effectiveness with a transmitter using a built-in communications component of a mobile device, and methods of use thereof
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US10234835B2 (en) 2014-07-11 2019-03-19 Microsoft Technology Licensing, Llc Management of computing devices using modulated electricity
US10243414B1 (en) 2014-05-07 2019-03-26 Energous Corporation Wearable device with wireless power and payload receiver
US10250579B2 (en) * 2013-08-13 2019-04-02 Alcatel Lucent Secure file transfers within network-based storage
US10256657B2 (en) 2015-12-24 2019-04-09 Energous Corporation Antenna having coaxial structure for near field wireless power charging
US10255287B2 (en) * 2015-07-31 2019-04-09 Hiveio Inc. Method and apparatus for on-disk deduplication metadata for a deduplication file system
US10256677B2 (en) 2016-12-12 2019-04-09 Energous Corporation Near-field RF charging pad with adaptive loading to efficiently charge an electronic device at any position on the pad
US10264072B2 (en) * 2016-05-16 2019-04-16 Carbonite, Inc. Systems and methods for processing-based file distribution in an aggregation of cloud storage services
US10263432B1 (en) 2013-06-25 2019-04-16 Energous Corporation Multi-mode transmitter with an antenna array for delivering wireless power and providing Wi-Fi access
US10270841B1 (en) * 2016-03-04 2019-04-23 Quest Software Inc. Systems and methods of real-time container deployment
US10270261B2 (en) 2015-09-16 2019-04-23 Energous Corporation Systems and methods of object detection in wireless power charging systems
US10282075B2 (en) 2013-06-24 2019-05-07 Microsoft Technology Licensing, Llc Automatic presentation of slide design suggestions
US10291066B1 (en) 2014-05-07 2019-05-14 Energous Corporation Power transmission control systems and methods
US10291546B2 (en) * 2014-04-17 2019-05-14 Go Daddy Operating Company, LLC Allocating and accessing hosting server resources via continuous resource availability updates
US10289457B1 (en) 2016-03-30 2019-05-14 Quest Software Inc. Systems and methods for dynamic discovery of container-based microservices
US10291056B2 (en) 2015-09-16 2019-05-14 Energous Corporation Systems and methods of controlling transmission of wireless power based on object indentification using a video camera
US10291055B1 (en) 2014-12-29 2019-05-14 Energous Corporation Systems and methods for controlling far-field wireless power transmission based on battery power levels of a receiving device
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US20190155529A1 (en) * 2017-11-22 2019-05-23 2236008 Ontario Inc. Method and system for low latency data management
US10310950B2 (en) 2014-05-09 2019-06-04 Commvault Systems, Inc. Load balancing across multiple data paths
CN109858263A (en) * 2019-01-21 2019-06-07 北京城市网邻信息技术有限公司 Search data memory method, apparatus, electronic equipment and storage medium
US10320446B2 (en) 2015-12-24 2019-06-11 Energous Corporation Miniaturized highly-efficient designs for near-field power transfer system
WO2019118356A1 (en) * 2017-12-11 2019-06-20 Fungible, Inc. Durable block storage in data center access nodes with inline erasure coding
US10333332B1 (en) 2015-10-13 2019-06-25 Energous Corporation Cross-polarized dipole antenna
US10331902B2 (en) * 2016-12-29 2019-06-25 Noblis, Inc. Data loss prevention
US10346431B1 (en) * 2015-04-16 2019-07-09 Akamai Technologies, Inc. System and method for automated run-tme scaling of cloud-based data store
US10356158B2 (en) 2016-05-16 2019-07-16 Carbonite, Inc. Systems and methods for aggregation of cloud storage
US10356221B2 (en) * 2014-12-04 2019-07-16 Hewlett-Packard Development Company, L.P. Access to network-based storage resource based on hardware identifier
US10353873B2 (en) 2014-12-05 2019-07-16 EMC IP Holding Company LLC Distributed file systems on content delivery networks
US20190220618A1 (en) * 2018-01-16 2019-07-18 Sap Se Secure cloud storage system
US10359941B1 (en) * 2014-12-22 2019-07-23 Emc Corporation Multi-tier data storage using burst buffer appliance for workload transformation based on performance characteristics of at least one tier
US10365974B2 (en) * 2016-09-16 2019-07-30 Hewlett Packard Enterprise Development Lp Acquisition of object names for portion index objects
US20190238590A1 (en) * 2018-01-30 2019-08-01 EMC IP Holding Company LLC Systems and Methods of Chunking Data for Secure Data Storage across Multiple Cloud Providers
US20190238618A1 (en) * 2018-01-31 2019-08-01 EMC IP Holding Company LLC Managing cloud storage of block-based and file-based data
US10374991B2 (en) 2015-06-22 2019-08-06 Ricoh Company, Ltd. Approach for sharing electronic documents during electronic meetings
US10375166B2 (en) 2008-12-22 2019-08-06 Ctera Networks, Ltd. Caching device and method thereof for integration with a cloud storage system
US10381880B2 (en) 2014-07-21 2019-08-13 Energous Corporation Integrated antenna structure arrays for wireless power transmission
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10389161B2 (en) 2017-03-15 2019-08-20 Energous Corporation Surface mount dielectric antennas for wireless power transmitters
US10387271B2 (en) 2017-05-10 2019-08-20 Elastifile Ltd. File system storage in cloud using data and metadata merkle trees
US10404798B2 (en) 2016-05-16 2019-09-03 Carbonite, Inc. Systems and methods for third-party policy-based file distribution in an aggregation of cloud storage services
US10404799B2 (en) 2014-11-19 2019-09-03 Commvault Systems, Inc. Migration to cloud storage from backup
US10402372B2 (en) 2015-07-27 2019-09-03 Sas Institute Inc. Distributed data storage grouping
WO2019168599A1 (en) * 2018-03-02 2019-09-06 Salesforce.Com, Inc. Data retention handling for data object stores
US10417102B2 (en) 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
US10425471B2 (en) 2012-10-02 2019-09-24 Razer (Asia-Pacific) Pte. Ltd. Multi-tasker
US10423507B1 (en) 2014-12-05 2019-09-24 EMC IP Holding Company LLC Repairing a site cache in a distributed file system
US10430385B1 (en) * 2014-12-05 2019-10-01 EMC IP Holding Company LLC Limited deduplication scope for distributed file systems
US10430398B2 (en) * 2013-03-15 2019-10-01 Datadirect Networks, Inc. Data storage system having mutable objects incorporating time
US10430384B1 (en) * 2015-06-30 2019-10-01 EMC IP Holding Company LLC Global data deduplication across multiple distributed file systems
US10439448B2 (en) 2014-08-21 2019-10-08 Energous Corporation Systems and methods for automatically testing the communication between wireless power transmitter and wireless power receiver
US10439442B2 (en) 2017-01-24 2019-10-08 Energous Corporation Microstrip antennas for wireless power transmitters
US10437937B2 (en) * 2016-07-12 2019-10-08 Commvault Systems, Inc. Dynamic management of expandable cache storage for multiple network shares configured in a file server
US10445296B1 (en) 2014-12-05 2019-10-15 EMC IP Holding Company LLC Reading from a site cache in a distributed file system
US10447638B2 (en) * 2015-09-03 2019-10-15 Quest Software Inc. Automatically applying data loss prevention rules during migration
US10452306B1 (en) * 2013-12-31 2019-10-22 EMC IP Holding Company LLC Method and apparatus for asymmetric raid
US10452619B1 (en) 2014-12-05 2019-10-22 EMC IP Holding Company LLC Decreasing a site cache capacity in a distributed file system
US10452667B2 (en) 2012-07-06 2019-10-22 Box Inc. Identification of people as search results from key-word based searches of content in a cloud-based environment
US10454778B2 (en) 2014-06-03 2019-10-22 Box, Inc. Policy-based computation and storage of cloud-based collaboration objects
CN110392015A (en) * 2018-04-17 2019-10-29 网宿科技股份有限公司 A kind of method and system of processing business request
US10459886B2 (en) 2014-08-06 2019-10-29 Quest Software Inc. Client-side deduplication with local chunk caching
US20190332495A1 (en) * 2018-04-26 2019-10-31 EMC IP Holding Company LLC Automatic creation of application-centric extended metadata for a storage appliance
CN110413443A (en) * 2019-07-25 2019-11-05 重庆市筑智建信息技术有限公司 A kind of BIM data information data detection optimization method and its system
US10467188B2 (en) * 2009-12-08 2019-11-05 Netapp, Inc. In-line policy management with multi-level object handle
US10474634B2 (en) 2013-02-26 2019-11-12 Dropbox, Inc. Suggesting content items to be accessed by a user
US10474542B2 (en) 2017-03-24 2019-11-12 Commvault Systems, Inc. Time-based virtual machine reversion
US10491748B1 (en) 2006-04-03 2019-11-26 Wai Wu Intelligent communication routing system and method
US10498583B1 (en) * 2019-03-04 2019-12-03 FullArmor Corporation Active directory bridging of external network resources
US10505862B1 (en) * 2015-02-18 2019-12-10 Amazon Technologies, Inc. Optimizing for infrastructure diversity constraints in resource placement
US10511097B2 (en) 2017-05-12 2019-12-17 Energous Corporation Near-field antennas for accumulating energy at a near-field distance with minimal far-field gain
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US10509769B1 (en) * 2014-06-12 2019-12-17 EMC IP Holding Company LLC Method to efficiently track I/O access history
US10521400B1 (en) * 2017-07-31 2019-12-31 EMC IP Holding Company LLC Data reduction reporting in storage systems
US10521423B2 (en) 2008-12-22 2019-12-31 Ctera Networks, Ltd. Apparatus and methods for scanning data in a cloud storage service
US10523033B2 (en) 2015-09-15 2019-12-31 Energous Corporation Receiver devices configured to determine location within a transmission field
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US10534748B2 (en) 2015-11-13 2020-01-14 Microsoft Technology Licensing, Llc Content file suggestions
US10554728B2 (en) 2015-10-22 2020-02-04 Ricoh Company, Ltd. Approach for sharing electronic documents during electronic meetings
US10554426B2 (en) 2011-01-20 2020-02-04 Box, Inc. Real time notification of activities that occur in a web-based collaboration environment
US10554515B2 (en) * 2015-12-31 2020-02-04 Bright House Networks, Llc Customer premises network access device for displaying data usage
US10552081B1 (en) 2018-10-02 2020-02-04 International Business Machines Corporation Managing recall delays within hierarchical storage
US10552449B2 (en) 2015-01-30 2020-02-04 Dropbox, Inc. Storage constrained synchronization of shared content items
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
US10567460B2 (en) * 2016-06-09 2020-02-18 Apple Inc. Managing data using a time-based directory structure
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US10579477B2 (en) * 2010-09-28 2020-03-03 International Business Machines Corporation Prioritization of data items for backup in a computing environment
US10581680B2 (en) 2015-11-25 2020-03-03 International Business Machines Corporation Dynamic configuration of network features
US20200076681A1 (en) * 2018-09-03 2020-03-05 Hitachi, Ltd. Volume allocation management apparatus, volume allocation management method, and volume allocation management program
US10585766B2 (en) 2011-06-06 2020-03-10 Microsoft Technology Licensing, Llc Automatic configuration of a recovery service
US20200089408A1 (en) * 2018-09-18 2020-03-19 International Business Machines Corporation Reducing the amount of data transferred to remote storage locations for modified objects
US10601799B2 (en) 2012-04-26 2020-03-24 Connected Data, Inc. System and method for visualizing data sharing arrangements for an organization
US10599671B2 (en) 2013-01-17 2020-03-24 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US10601674B2 (en) 2014-02-04 2020-03-24 Akamai Technologies, Inc. Virtual user ramp controller for load test analytic dashboard
US10613942B2 (en) 2008-06-19 2020-04-07 Commvault Systems, Inc. Data storage resource allocation using blacklisting of data storage requests classified in the same category as a data storage request that is determined to fail if attempted
US10615647B2 (en) 2018-02-02 2020-04-07 Energous Corporation Systems and methods for detecting wireless power receivers and other objects at a near-field charging pad
US10635641B1 (en) 2013-05-22 2020-04-28 Altirnao, Inc. System and method to provide document management on a public document system
US10635642B1 (en) * 2019-05-09 2020-04-28 Capital One Services, Llc Multi-cloud bi-directional storage replication system and techniques
US10635545B1 (en) 2016-12-30 2020-04-28 EMC IP Holding Company LLC Data processing system with cloud archiving of data object snapshots
US10650057B2 (en) 2014-07-16 2020-05-12 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US10649953B2 (en) * 2018-05-31 2020-05-12 Alibaba Group Holding Limited Blockchain-based data migration method and apparatus
US10664442B1 (en) * 2017-07-14 2020-05-26 EMC IP Holding Company LLC Method and system for data consistency verification in a storage system
US10671483B1 (en) * 2016-04-22 2020-06-02 EMC IP Holding Company LLC Calculating data value via data protection analytics
US10680319B2 (en) 2017-01-06 2020-06-09 Energous Corporation Devices and methods for reducing mutual coupling effects in wireless power transmission systems
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10685056B2 (en) * 2012-10-23 2020-06-16 Leica Biosystems Imaging, Inc. Systems and methods for an image repository for pathology
US10684924B2 (en) 2016-02-18 2020-06-16 Commvault Systems, Inc. Data restoration operations based on network path information
US10691718B2 (en) 2015-10-29 2020-06-23 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US10691643B2 (en) * 2017-11-20 2020-06-23 International Business Machines Corporation Deduplication for files in cloud computing storage and communication tools
US10699349B2 (en) * 2012-11-08 2020-06-30 Hartford Fire Insurance Company Computerized system and method for data field pre-filling and pre-filling prevention
US10699025B2 (en) 2015-04-01 2020-06-30 Dropbox, Inc. Nested namespaces for selective content sharing
US10706042B1 (en) 2015-06-30 2020-07-07 EMC IP Holding Company LLC Data deduplication on a distributed file system using conditional writes
US20200236089A1 (en) * 2019-08-06 2020-07-23 Alibaba Group Holding Limited Rdma-based data transmission method, network interface card, server and medium
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
EP3657376A4 (en) * 2017-07-19 2020-07-29 Tencent Technology (Shenzhen) Company Limited Hybrid-cloud data storage method and apparatus, related device, and cloud system
US10734717B2 (en) 2015-10-13 2020-08-04 Energous Corporation 3D ceramic mold antenna
US10747458B2 (en) * 2017-11-21 2020-08-18 International Business Machines Corporation Methods and systems for improving efficiency in cloud-as-backup tier
US10761931B2 (en) 2018-10-24 2020-09-01 Fungible, Inc. Inline reliability coding for storage on a network
US10762036B2 (en) 2010-09-30 2020-09-01 Commvault Systems, Inc. Archiving data objects using secondary copies
US10764265B2 (en) * 2014-09-24 2020-09-01 Ent. Services Development Corporation Lp Assigning a document to partial membership in communities
US10761945B2 (en) * 2018-06-19 2020-09-01 International Business Machines Corporation Dynamically directing data in a deduplicated backup system
US10762037B2 (en) * 2016-03-25 2020-09-01 Hitachi, Ltd Data processing system
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US10776329B2 (en) 2017-03-28 2020-09-15 Commvault Systems, Inc. Migration of a database management system to cloud storage
US10778041B2 (en) 2015-09-16 2020-09-15 Energous Corporation Systems and methods for generating power waves in a wireless power transmission system
US10783121B2 (en) 2008-12-22 2020-09-22 Ctera Networks, Ltd. Techniques for optimizing data flows in hybrid cloud storage systems
US10789387B2 (en) 2018-03-13 2020-09-29 Commvault Systems, Inc. Graphical representation of an information management system
US10795927B2 (en) 2018-02-05 2020-10-06 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US10803020B1 (en) * 2015-06-30 2020-10-13 EMC IP Holding Company LLC Data deduplication on a distributed file system
US10819559B2 (en) 2016-01-29 2020-10-27 Dropbox, Inc. Apparent cloud access for hosted content items
US10831715B2 (en) 2015-01-30 2020-11-10 Dropbox, Inc. Selective downloading of shared content items in a constrained synchronization system
US10831670B2 (en) 2017-11-22 2020-11-10 Blackberry Limited Method and system for low latency data management
US10831778B2 (en) 2012-12-27 2020-11-10 Commvault Systems, Inc. Application of information management policies based on operation with a geographic entity
US10841377B2 (en) * 2018-11-26 2020-11-17 Microsoft Technology Licensing, Llc Managing data resources
US10838821B2 (en) 2017-02-08 2020-11-17 Commvault Systems, Inc. Migrating content and metadata from a backup system
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US10846266B2 (en) 2017-09-14 2020-11-24 Commvault Systems, Inc. Distributed architecture for content indexing emails
US10846303B2 (en) 2016-04-25 2020-11-24 Dropbox, Inc. Storage constrained synchronization engine
US10848853B2 (en) 2017-06-23 2020-11-24 Energous Corporation Systems, methods, and devices for utilizing a wire of a sound-producing device as an antenna for receipt of wirelessly delivered power
US10846180B2 (en) 2017-09-14 2020-11-24 Commvault Systems, Inc. Distributed framework for task splitting and task assignments in a content indexing system
US10853333B2 (en) 2013-08-27 2020-12-01 Netapp Inc. System and method for developing and implementing a migration plan for migrating a file system
US10860401B2 (en) 2014-02-27 2020-12-08 Commvault Systems, Inc. Work flow management for an information management system
US10862967B2 (en) * 2012-06-12 2020-12-08 Centurylink Intellectual Property Llc Providing high performance multi-tiered cloud storage based on the performance criteria of a customer
US10860527B2 (en) 2018-05-04 2020-12-08 EMC IP Holding Company, LLC Storage management system and method
US10860529B2 (en) 2014-08-11 2020-12-08 Netapp Inc. System and method for planning and configuring a file system migration
US10866742B1 (en) * 2014-08-04 2020-12-15 Nexgen Storage, Inc. Archiving storage volume snapshots
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US10877856B2 (en) 2015-12-30 2020-12-29 Commvault Systems, Inc. System for redirecting requests after a secondary storage computing device failure
US10885193B2 (en) * 2017-12-07 2021-01-05 Microsoft Technology Licensing, Llc Method and system for persisting untrusted files
US10884991B1 (en) * 2014-03-14 2021-01-05 Jpmorgan Chase Bank, N.A. Data request analysis and fulfillment system and method
US10885007B2 (en) 2017-07-11 2021-01-05 International Business Machines Corporation Custom metadata extraction across a heterogeneous storage system environment
US10891257B2 (en) 2018-05-04 2021-01-12 EMC IP Holding Company, LLC Storage management system and method
US10893106B1 (en) * 2018-09-11 2021-01-12 Druva Global namespace in a cloud-based data storage system
US10891201B1 (en) * 2017-04-27 2021-01-12 EMC IP Holding Company LLC Dynamic rule based model for long term retention
US10891198B2 (en) 2018-07-30 2021-01-12 Commvault Systems, Inc. Storing data to cloud libraries in cloud native formats
US10891069B2 (en) 2017-03-27 2021-01-12 Commvault Systems, Inc. Creating local copies of data stored in online data repositories
US10896129B2 (en) * 2017-08-07 2021-01-19 Dynavisor, Inc. Method and system for storage virtualization
US10901943B1 (en) * 2016-09-30 2021-01-26 EMC IP Holding Company LLC Multi-tier storage system with direct client access to archive storage tier
US10911537B1 (en) * 2014-12-31 2021-02-02 Acronis International Gmbh Increasing speed of synchronization and restore
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US10923954B2 (en) 2016-11-03 2021-02-16 Energous Corporation Wireless power receiver with a synchronous rectifier
US10922006B2 (en) 2006-12-22 2021-02-16 Commvault Systems, Inc. System and method for storing redundant information
US10929895B2 (en) * 2013-03-15 2021-02-23 Groupon, Inc. Generic message injection system
US10929423B1 (en) * 2016-06-29 2021-02-23 EMC IP Holding Company LLC System and method for efficient episodic replication of data to cloud storage
US10936494B1 (en) * 2014-12-05 2021-03-02 EMC IP Holding Company LLC Site cache manager for a distributed file system
US10942902B2 (en) * 2019-01-17 2021-03-09 Cohesity, Inc. Efficient database migration using an intermediary secondary storage system
US10949308B2 (en) 2017-03-15 2021-03-16 Commvault Systems, Inc. Application aware backup of virtual machines
US10949398B2 (en) 2017-03-29 2021-03-16 Commvault Systems, Inc. Synchronization operations for network-accessible folders
US10951705B1 (en) 2014-12-05 2021-03-16 EMC IP Holding Company LLC Write leases for distributed file systems
US10956274B2 (en) 2009-05-22 2021-03-23 Commvault Systems, Inc. Block-level single instancing
US10956275B2 (en) 2012-06-13 2021-03-23 Commvault Systems, Inc. Collaborative restore in a networked storage system
US10956201B2 (en) 2012-12-28 2021-03-23 Commvault Systems, Inc. Systems and methods for repurposing virtual machines
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US10965164B2 (en) 2012-07-06 2021-03-30 Energous Corporation Systems and methods of wirelessly delivering power to a receiver device
US10963430B2 (en) 2015-04-01 2021-03-30 Dropbox, Inc. Shared workspaces with selective content item synchronization
US10970304B2 (en) 2009-03-30 2021-04-06 Commvault Systems, Inc. Storing a variable number of instances of data objects
US10977231B2 (en) 2015-05-20 2021-04-13 Commvault Systems, Inc. Predicting scale of data migration
US10983986B2 (en) * 2015-08-31 2021-04-20 Commvault Systems, Inc. Organically managing primary and secondary storage of a data object based on an expiry timeframe supplied by a user of the data object
US10992187B2 (en) 2012-07-06 2021-04-27 Energous Corporation System and methods of using electromagnetic waves to wirelessly deliver power to electronic devices
US10990478B2 (en) 2019-02-01 2021-04-27 Fungible, Inc. Flexible reliability coding for storage on a network
US10992185B2 (en) 2012-07-06 2021-04-27 Energous Corporation Systems and methods of using electromagnetic waves to wirelessly deliver power to game controllers
US10996858B2 (en) * 2016-09-23 2021-05-04 EMC IP Holding Company LLC Method and device for migrating data
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
US10997038B2 (en) 2013-01-11 2021-05-04 Commvault Systems, Inc. Table level database restore in a data storage system
US11011942B2 (en) 2017-03-30 2021-05-18 Energous Corporation Flat antennas having two or more resonant frequencies for use in wireless power transmission systems
US11016859B2 (en) 2008-06-24 2021-05-25 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US11018779B2 (en) 2019-02-06 2021-05-25 Energous Corporation Systems and methods of estimating optimal phases to use for individual antennas in an antenna array
US11023384B2 (en) * 2019-07-23 2021-06-01 Nasuni Corporation Cloud-native global file system with reshapable caching
US11030166B2 (en) * 2018-11-22 2021-06-08 Accenture Global Solutions Limited Smart data transition to cloud
US11032146B2 (en) 2011-09-30 2021-06-08 Commvault Systems, Inc. Migration of existing computing systems to cloud computing sites or virtual machines
US11036592B2 (en) 2017-09-14 2021-06-15 Commvault Systems, Inc. Distributed content indexing architecture with separately stored file previews
US11036690B2 (en) 2017-07-11 2021-06-15 International Business Machines Corporation Global namespace in a heterogeneous storage system environment
US11042511B2 (en) 2012-03-30 2021-06-22 Commvault Systems, Inc. Smart archiving and data previewing for mobile devices
US11070620B1 (en) * 2020-03-26 2021-07-20 EMC IP Holding Company LLC Efficient transfer to and from a deduplicated cloud storage system
US11070645B1 (en) * 2018-12-14 2021-07-20 Amazon Technologies, Inc. Flexible scheduling of data transfers between computing infrastructure collections for efficient resource utilization
US11074138B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Multi-streaming backup operations for mailboxes
US11074232B1 (en) * 2016-06-30 2021-07-27 EMC IP Holding Company LLC Managing deduplication of data in storage systems
US11074323B2 (en) 2017-12-07 2021-07-27 Microsoft Technology Licensing, Llc Method and system for persisting files
US11074140B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Live browsing of granular mailbox data
US11082419B2 (en) * 2017-08-30 2021-08-03 Capital One Services, Llc System and method for cloud-based analytics
US11080232B2 (en) 2012-12-28 2021-08-03 Commvault Systems, Inc. Backup and restoration for a deduplicated file system
US11086834B2 (en) 2017-09-14 2021-08-10 Commvault Systems, Inc. Distributed framework for data proximity-based task splitting in a content indexing system
US11100107B2 (en) 2016-05-16 2021-08-24 Carbonite, Inc. Systems and methods for secure file management via an aggregation of cloud storage services
US11108858B2 (en) 2017-03-28 2021-08-31 Commvault Systems, Inc. Archiving mail servers via a simple mail transfer protocol (SMTP) server
US11113246B2 (en) 2014-10-29 2021-09-07 Commvault Systems, Inc. Accessing a file system using tiered deduplication
US11120000B2 (en) * 2015-06-30 2021-09-14 International Business Machines Corporation Enhancements for optimizing query executions
US11119984B2 (en) 2014-03-17 2021-09-14 Commvault Systems, Inc. Managing deletions from a deduplication database
US11122137B1 (en) * 2019-07-31 2021-09-14 United Services Automobile Association (Usaa) Method and apparatus for accessing stored data using a router for large events
US11138328B2 (en) 2019-05-30 2021-10-05 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11137933B2 (en) * 2018-10-31 2021-10-05 International Business Machines Corporation Accelerating transaction execution across geographically dispersed clusters
WO2021207157A1 (en) * 2020-04-07 2021-10-14 Snowflake Inc. Cross-cloud auto ingest
US11153315B2 (en) 2019-05-30 2021-10-19 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11157450B2 (en) 2013-01-11 2021-10-26 Commvault Systems, Inc. High availability distributed deduplicated storage system
US11159608B2 (en) * 2017-03-06 2021-10-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and control node for managing cloud resources in a communications network
US11159057B2 (en) 2018-03-14 2021-10-26 Energous Corporation Loop antennas with selectively-activated feeds to control propagation patterns of wireless power signals
US11159394B2 (en) 2014-09-24 2021-10-26 RISC Networks, LLC Method and device for evaluating the system assets of a communication network
US11163898B2 (en) 2013-09-11 2021-11-02 Mimecast Services Ltd. Sharing artifacts in permission-protected archives
US11165777B2 (en) * 2019-05-30 2021-11-02 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11169888B2 (en) 2010-12-14 2021-11-09 Commvault Systems, Inc. Client-side repository in a networked deduplicated storage system
US11182256B2 (en) 2017-10-20 2021-11-23 Hewlett Packard Enterprise Development Lp Backup item metadata including range information
US11204892B2 (en) 2019-03-21 2021-12-21 Microsoft Technology Licensing, Llc Techniques for snapshotting scalable multitier storage structures
US11204842B2 (en) * 2017-11-22 2021-12-21 Acronis International Gmbh System and method for automating formation and execution of a backup strategy using machine learning
US11210610B2 (en) 2011-10-26 2021-12-28 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
US11210270B2 (en) * 2017-03-09 2021-12-28 Microsoft Technology Licensing, Llc Mapping storage across storage providers
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
US11228545B1 (en) * 2021-04-16 2022-01-18 EMC IP Holding Company LLC Cross application granular restore of backed-up email attachments
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US20220035559A1 (en) * 2017-03-29 2022-02-03 Commvault Systems, Inc. Managing subordinate storage operation pod cells using a global repository cell or master storage operation cell
US11245289B2 (en) 2016-12-12 2022-02-08 Energous Corporation Circuit for managing wireless power transmitting devices
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US11258853B2 (en) 2018-05-04 2022-02-22 EMC IP Holding Company, LLC Storage management system and method
US11263088B2 (en) 2017-09-14 2022-03-01 Commvault Systems, Inc. Distributed architecture for tracking content indexing
US11269732B2 (en) 2019-03-12 2022-03-08 Commvault Systems, Inc. Managing structured data in a data storage system
US11269734B2 (en) 2019-06-17 2022-03-08 Commvault Systems, Inc. Data storage management system for multi-cloud protection, recovery, and migration of databases-as-a-service and/or serverless database management systems
US11281541B2 (en) * 2020-01-15 2022-03-22 EMC IP Holding Company LLC Dynamic snapshot backup in multi-cloud environment
US11290531B2 (en) 2019-12-04 2022-03-29 Dropbox, Inc. Immediate cloud content item creation from local file system interface
US11288235B2 (en) 2009-07-08 2022-03-29 Commvault Systems, Inc. Synchronized data deduplication
US11294786B2 (en) 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US11294768B2 (en) 2017-06-14 2022-04-05 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US11301421B2 (en) * 2018-05-25 2022-04-12 Microsoft Technology Licensing, Llc Scalable multi-tier storage structures and techniques for accessing entries therein
WO2022073584A1 (en) * 2020-10-06 2022-04-14 Huawei Technologies Co., Ltd. Method and computer system for pricing data storage
US11308034B2 (en) 2019-06-27 2022-04-19 Commvault Systems, Inc. Continuously run log backup with minimal configuration and resource usage from the source machine
US11314687B2 (en) 2020-09-24 2022-04-26 Commvault Systems, Inc. Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
US11314618B2 (en) 2017-03-31 2022-04-26 Commvault Systems, Inc. Management of internet of things devices
US11321195B2 (en) 2017-02-27 2022-05-03 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US11321281B2 (en) 2015-01-15 2022-05-03 Commvault Systems, Inc. Managing structured data in a data storage system
US11321188B2 (en) 2020-03-02 2022-05-03 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11321189B2 (en) 2014-04-02 2022-05-03 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US11321181B2 (en) 2008-06-18 2022-05-03 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US11321193B2 (en) * 2018-04-13 2022-05-03 Rubrik, Inc. Database restoration across cloud environments
US20220138151A1 (en) * 2020-11-04 2022-05-05 Netapp Inc. Sibling object generation for storing results of operations performed upon base objects
US20220138153A1 (en) * 2020-11-04 2022-05-05 Netapp Inc. Containerization and serverless thread implementation for processing objects
EP3995964A1 (en) * 2020-11-04 2022-05-11 NetApp, Inc. Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis
WO2022098725A1 (en) * 2020-11-04 2022-05-12 Netapp, Inc. Data connector component for implementing management requests
US11341089B2 (en) * 2018-12-13 2022-05-24 EMC IP Holding Company LLC Self-optimizing interval detection data structure
US11341208B2 (en) * 2016-09-19 2022-05-24 Salesforce.Com, Inc. Mobile application bundled with metadata database
US11342798B2 (en) 2017-10-30 2022-05-24 Energous Corporation Systems and methods for managing coexistence of wireless-power signals and data signals operating in a same frequency band
US11349921B2 (en) * 2019-09-11 2022-05-31 EMC IP Holding Company LLC Cloud based storage migration
US11360946B2 (en) 2019-05-17 2022-06-14 International Business Machines Corporation Tracking data transfers
US11366723B2 (en) 2019-04-30 2022-06-21 Commvault Systems, Inc. Data storage management system for holistic protection and migration of serverless applications across multi-cloud computing environments
US11366605B2 (en) * 2019-10-31 2022-06-21 EMC IP Holding Company, LLC Storage management system and method for storage migration services
US11386051B2 (en) * 2019-11-27 2022-07-12 Sap Se Automatic intelligent hybrid business intelligence platform service
US11392868B1 (en) * 2021-03-05 2022-07-19 EMC IP Holding Company LLC Data retention cost control for data written directly to object storage
US11392542B2 (en) 2008-09-05 2022-07-19 Commvault Systems, Inc. Image level copy or restore, such as image level restore without knowledge of data object metadata
US11403322B2 (en) 2014-04-30 2022-08-02 Samsung Electronics Co., Ltd. Apparatus and method for integrated management of data in mobile device, and mobile device
US11411931B2 (en) * 2004-11-30 2022-08-09 Integic Technologies Llc Method and apparatus to enable a market in used digital content
US11416341B2 (en) 2014-08-06 2022-08-16 Commvault Systems, Inc. Systems and methods to reduce application downtime during a restore operation using a pseudo-storage device
US11422991B2 (en) * 2014-09-16 2022-08-23 Commvault Systems, Inc. Fast deduplication data verification
US11422900B2 (en) 2020-03-02 2022-08-23 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11422976B2 (en) 2010-12-14 2022-08-23 Commvault Systems, Inc. Distributed deduplicated storage system
US11429573B2 (en) * 2019-10-16 2022-08-30 Dell Products L.P. Data deduplication system
US11437735B2 (en) 2018-11-14 2022-09-06 Energous Corporation Systems for receiving electromagnetic energy using antennas that are minimally affected by the presence of the human body
US11436038B2 (en) 2016-03-09 2022-09-06 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block- level pseudo-mount)
US11442896B2 (en) 2019-12-04 2022-09-13 Commvault Systems, Inc. Systems and methods for optimizing restoration of deduplicated data stored in cloud-based storage resources
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11442669B1 (en) 2018-03-15 2022-09-13 Pure Storage, Inc. Orchestrating a virtual storage system
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US11462949B2 (en) 2017-05-16 2022-10-04 Wireless electrical Grid LAN, WiGL Inc Wireless charging method and system
US11463264B2 (en) 2019-05-08 2022-10-04 Commvault Systems, Inc. Use of data block signatures for monitoring in an information management system
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11474753B2 (en) 2020-10-30 2022-10-18 Commvault Systems, Inc. Systems and methods for backing up to a virtual tape library
US11483214B2 (en) * 2015-06-30 2022-10-25 SkyKick, Inc. Synchronizing data between cloud manager and providers
US11494336B2 (en) * 2019-10-11 2022-11-08 Palantir Technologies Inc. Approaches for managing object data
US11502551B2 (en) 2012-07-06 2022-11-15 Energous Corporation Wirelessly charging multiple wireless-power receivers using different subsets of an antenna array to focus energy at different locations
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
US11515732B2 (en) 2018-06-25 2022-11-29 Energous Corporation Power wave transmission techniques to focus wirelessly delivered power at a receiving device
US11539243B2 (en) 2019-01-28 2022-12-27 Energous Corporation Systems and methods for miniaturized antenna for wireless power transmissions
US11550514B2 (en) 2019-07-18 2023-01-10 Pure Storage, Inc. Efficient transfers between tiers of a virtual storage system
US11550680B2 (en) 2018-12-06 2023-01-10 Commvault Systems, Inc. Assigning backup resources in a data storage management system based on failover of partnered data storage resources
US11561866B2 (en) 2019-07-10 2023-01-24 Commvault Systems, Inc. Preparing containerized applications for backup using a backup services container and a backup services container-orchestration pod
US11562000B2 (en) 2016-04-25 2023-01-24 Dropbox, Inc. Storage constrained synchronization engine
US11573866B2 (en) 2018-12-10 2023-02-07 Commvault Systems, Inc. Evaluation and reporting of recovery readiness in a data storage management system
US11580148B2 (en) * 2019-11-26 2023-02-14 Citrix Systems, Inc. Document storage and management
US11599492B1 (en) * 2014-08-05 2023-03-07 Spatial Digital Systems, Inc. Remote wiping for data transport, storage and retrieval
US11604706B2 (en) 2021-02-02 2023-03-14 Commvault Systems, Inc. Back up and restore related data on different cloud storage tiers
US11630729B2 (en) 2020-04-27 2023-04-18 Fungible, Inc. Reliability coding with reduced network traffic
US11645592B2 (en) * 2019-06-28 2023-05-09 EMC IP Holding Company LLC Analyzing cloud backup service options using historical data protection activities
US11644992B2 (en) * 2016-11-23 2023-05-09 Samsung Electronics Co., Ltd. Storage system performing data deduplication, method of operating storage system, and method of operating data processing system
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11663099B2 (en) 2020-03-26 2023-05-30 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
WO2023113944A1 (en) * 2021-12-16 2023-06-22 Netapp, Inc. Scalable solid-state storage system and methods thereof
US11687424B2 (en) 2020-05-28 2023-06-27 Commvault Systems, Inc. Automated media agent state management
US11698727B2 (en) 2018-12-14 2023-07-11 Commvault Systems, Inc. Performing secondary copy operations based on deduplication performance
US11698836B2 (en) 2021-03-04 2023-07-11 Netapp, Inc. Methods and systems for raid protection in zoned solid-state drives
US11710321B2 (en) 2015-09-16 2023-07-25 Energous Corporation Systems and methods of object detection in wireless power charging systems
US11722384B2 (en) 2014-04-09 2023-08-08 Centurylink Intellectual Property Llc System and method for cloud computing adaptive cloud services
US11748018B2 (en) 2020-11-21 2023-09-05 The Migration Company PTY LTD Devices and methods for transferring optimized mass data to the cloud
US11755590B2 (en) 2020-11-04 2023-09-12 Netapp, Inc. Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis
US11789611B2 (en) 2020-04-24 2023-10-17 Netapp, Inc. Methods for handling input-output operations in zoned storage systems and devices thereof
US11797377B2 (en) 2021-10-05 2023-10-24 Netapp, Inc. Efficient parity determination in zoned solid-state drives of a storage system
US11803329B2 (en) 2021-11-22 2023-10-31 Netapp, Inc. Methods and systems for processing write requests in a storage system
US11816359B2 (en) 2021-12-16 2023-11-14 Netapp, Inc. Scalable solid-state storage system and methods thereof
EP4270209A3 (en) * 2017-10-26 2023-11-22 Druva Inc. Deduplicated merged indexed object storage file system
US11829251B2 (en) 2019-04-10 2023-11-28 Commvault Systems, Inc. Restore using deduplicated secondary copy data
US11863001B2 (en) 2015-12-24 2024-01-02 Energous Corporation Near-field antenna for wireless power transmission with antenna elements that follow meandering patterns
US11861024B1 (en) * 2018-01-26 2024-01-02 Wells Fargo Bank, N.A. Systems and methods for data risk assessment
US11861249B1 (en) * 2022-07-27 2024-01-02 Kyocera Document Solutions Inc. File transfer system that transfers file among plurality of image forming apparatuses
US11921675B2 (en) 2021-07-20 2024-03-05 Commvault Systems, Inc. Accessing a file system using tiered deduplication

Families Citing this family (1497)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434219B2 (en) 2000-01-31 2008-10-07 Commvault Systems, Inc. Storage of application specific profiles correlating to document versions
EP1442387A4 (en) 2001-09-28 2008-01-23 Commvault Systems Inc System and method for archiving objects in an information store
CA2564967C (en) 2004-04-30 2014-09-30 Commvault Systems, Inc. Hierarchical systems and methods for providing a unified view of storage information
WO2006053019A2 (en) 2004-11-08 2006-05-18 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US8775823B2 (en) 2006-12-29 2014-07-08 Commvault Systems, Inc. System and method for encrypting secondary copies of data
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
EP3203374B1 (en) 2005-04-07 2021-11-24 III Holdings 12, LLC On-demand access to compute resources
US9621666B2 (en) * 2005-05-26 2017-04-11 Citrix Systems, Inc. Systems and methods for enhanced delta compression
US8271548B2 (en) 2005-11-28 2012-09-18 Commvault Systems, Inc. Systems and methods for using metadata to enhance storage operations
US8572330B2 (en) 2005-12-19 2013-10-29 Commvault Systems, Inc. Systems and methods for granular resource management in a storage network
US20110010518A1 (en) 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US8370442B2 (en) 2008-08-29 2013-02-05 Commvault Systems, Inc. Method and system for leveraging identified changes to a mail server
US8677091B2 (en) 2006-12-18 2014-03-18 Commvault Systems, Inc. Writing data and storage system specific metadata to network attached storage device
US8955030B2 (en) * 2007-03-23 2015-02-10 Wi-Lan, Inc. System and method for personal content access
US20080235587A1 (en) * 2007-03-23 2008-09-25 Nextwave Broadband Inc. System and method for content distribution
US8201096B2 (en) 2007-06-09 2012-06-12 Apple Inc. Browsing or searching user interfaces and other aspects
US10055595B2 (en) * 2007-08-30 2018-08-21 Baimmt, Llc Secure credentials control method
US8379867B2 (en) 2007-09-24 2013-02-19 Mymail Technology, Llc Secure email communication system
US20090089184A1 (en) * 2007-09-28 2009-04-02 Embarq Holdings Company, Llc Content portal for media distribution
US9756004B2 (en) 2007-11-08 2017-09-05 Skype Message delivery system and method
US8611510B2 (en) * 2007-12-20 2013-12-17 Centurylink Intellectual Property Llc System and method for guest voicemail box
US8775441B2 (en) 2008-01-16 2014-07-08 Ab Initio Technology Llc Managing an archive for approximate string matching
US8359365B2 (en) 2008-02-11 2013-01-22 Nuix Pty Ltd Systems and methods for load-balancing by secondary processors in parallel document indexing
US9785700B2 (en) 2008-02-11 2017-10-10 Nuix Pty Ltd Systems and methods for load-balancing by secondary processors in parallelized indexing
US9928260B2 (en) 2008-02-11 2018-03-27 Nuix Pty Ltd Systems and methods for scalable delocalized information governance
WO2009127492A1 (en) * 2008-04-15 2009-10-22 International Business Machines Corporation A method and system for improved document access
US8738580B2 (en) * 2008-07-23 2014-05-27 Nvidia Corporation Copying files from one directory to another
US20100070474A1 (en) 2008-09-12 2010-03-18 Lad Kamleshkumar K Transferring or migrating portions of data objects, such as block-level data migration or chunk-based data migration
US20100070466A1 (en) 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
KR101789608B1 (en) 2008-10-23 2017-10-25 아브 이니티오 테크놀로지 엘엘시 A method, and a computer-readable record medium storing a computer program for performing a data operation
US9178842B2 (en) 2008-11-05 2015-11-03 Commvault Systems, Inc. Systems and methods for monitoring messaging applications for compliance with a policy
US20190311447A1 (en) * 2018-01-08 2019-10-10 Domos. LLC Method and apparatus for real time, dynamic management of real estate finance, services, and reporting
CN101546342B (en) * 2009-05-08 2012-07-04 阿里巴巴集团控股有限公司 Method and system for implementing search service
US7953896B2 (en) * 2009-05-27 2011-05-31 Microsoft Corporation Managing user accounts and groups in multiple forests
US8401181B2 (en) * 2009-06-09 2013-03-19 Emc Corporation Segment deduplication system with encryption of segments
US8731190B2 (en) 2009-06-09 2014-05-20 Emc Corporation Segment deduplication system with encryption and compression of segments
US8762348B2 (en) * 2009-06-09 2014-06-24 Emc Corporation Segment deduplication system with compression of segments
JP5480542B2 (en) * 2009-06-23 2014-04-23 クロリンエンジニアズ株式会社 Conductive diamond electrode and ozone generator using conductive diamond electrode
US8839254B2 (en) 2009-06-26 2014-09-16 Microsoft Corporation Precomputation for data center load balancing
US9116848B1 (en) * 2009-07-15 2015-08-25 Symantec Corporation Method of detecting data loss using multiple references to a file in a deduplication backup system
US9058298B2 (en) * 2009-07-16 2015-06-16 International Business Machines Corporation Integrated approach for deduplicating data in a distributed environment that involves a source and a target
US8799322B2 (en) 2009-07-24 2014-08-05 Cisco Technology, Inc. Policy driven cloud storage management and cloud storage policy router
US8572401B1 (en) * 2009-07-31 2013-10-29 Symantec Corporation Systems and methods for securing data of volume mirrors
US20120124311A1 (en) * 2009-08-04 2012-05-17 Axxana (Israel) Ltd. Data Gap Management in a Remote Data Mirroring System
US20110047381A1 (en) * 2009-08-21 2011-02-24 Board Of Regents, The University Of Texas System Safemashups cloud trust broker
JP2011048723A (en) * 2009-08-28 2011-03-10 Fuji Xerox Co Ltd Program and apparatus for processing information
US8572163B1 (en) * 2009-08-31 2013-10-29 Symantec Corporation Systems and methods for deduplicating data based on performance of a deduplication system
US9043279B1 (en) * 2009-08-31 2015-05-26 Netapp, Inc. Class based storage allocation method and system
US8370307B2 (en) * 2009-09-01 2013-02-05 Empire Technology Development Llc Cloud data backup storage manager
US8706867B2 (en) 2011-03-31 2014-04-22 Commvault Systems, Inc. Realtime streaming of multimedia content from secondary storage devices
US8095684B2 (en) * 2009-09-15 2012-01-10 Symantec Corporation Intelligent device and media server selection for optimized backup image duplication
US8793348B2 (en) * 2009-09-18 2014-07-29 Group Business Software Ag Process for installing software application and platform operating system
US8499253B2 (en) * 2009-10-13 2013-07-30 Google Inc. Individualized tab audio controls
US8620879B2 (en) * 2009-10-13 2013-12-31 Google Inc. Cloud based file storage service
US9973582B2 (en) 2009-10-19 2018-05-15 Tritan Software International Method and apparatus for bi-directional communication and data replication between multiple locations during intermittent connectivity
US9774702B2 (en) * 2009-10-19 2017-09-26 Tritan Software Corporation System and method of employing a client side device to access local and remote data during communication disruptions
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8285918B2 (en) 2009-12-11 2012-10-09 Nimble Storage, Inc. Flash memory cache for data storage device
US8396989B2 (en) * 2009-12-11 2013-03-12 International Business Machines Corporation Resource planning and data interchange functionality within a cloud computing environment
US20110145393A1 (en) * 2009-12-13 2011-06-16 Tami Ben-Zvi Method for dynamic reservation of cloud and on premises computing resources for software execution
US8495153B1 (en) * 2009-12-14 2013-07-23 Emc Corporation Distribution of messages in nodes connected by a grid architecture
JP2011128995A (en) * 2009-12-18 2011-06-30 Canon Inc Log information management system, control method therefor, and storage medium
US8762997B2 (en) * 2010-01-12 2014-06-24 Nec Laboratories America, Inc. Constraint-conscious optimal scheduling for cloud infrastructures
US9098456B2 (en) * 2010-01-13 2015-08-04 International Business Machines Corporation System and method for reducing latency time with cloud services
US20110258461A1 (en) * 2010-04-16 2011-10-20 Twinstrata, Inc System and method for resource sharing across multi-cloud arrays
US8892677B1 (en) 2010-01-29 2014-11-18 Google Inc. Manipulating objects in hosted storage
US8401185B1 (en) * 2010-02-01 2013-03-19 Symantec Corporation Systems and methods for securely deduplicating data owned by multiple entities
US8898287B2 (en) * 2010-02-24 2014-11-25 Salesforce.Com, Inc. System, method and computer program product for monitoring data activity utilizing a shared data store
US9285589B2 (en) 2010-02-28 2016-03-15 Microsoft Technology Licensing, Llc AR glasses with event and sensor triggered control of AR eyepiece applications
US9128281B2 (en) 2010-09-14 2015-09-08 Microsoft Technology Licensing, Llc Eyepiece with uniformly illuminated reflective display
US9134534B2 (en) 2010-02-28 2015-09-15 Microsoft Technology Licensing, Llc See-through near-eye display glasses including a modular image source
US9097890B2 (en) 2010-02-28 2015-08-04 Microsoft Technology Licensing, Llc Grating in a light transmissive illumination system for see-through near-eye display glasses
US9097891B2 (en) 2010-02-28 2015-08-04 Microsoft Technology Licensing, Llc See-through near-eye display glasses including an auto-brightness control for the display brightness based on the brightness in the environment
US9129295B2 (en) 2010-02-28 2015-09-08 Microsoft Technology Licensing, Llc See-through near-eye display glasses with a fast response photochromic film system for quick transition from dark to clear
US20120249797A1 (en) 2010-02-28 2012-10-04 Osterhout Group, Inc. Head-worn adaptive display
US9366862B2 (en) 2010-02-28 2016-06-14 Microsoft Technology Licensing, Llc System and method for delivering content to a group of see-through near eye display eyepieces
US9091851B2 (en) 2010-02-28 2015-07-28 Microsoft Technology Licensing, Llc Light control in head mounted displays
EP2539759A1 (en) 2010-02-28 2013-01-02 Osterhout Group, Inc. Local advertising content on an interactive head-mounted eyepiece
US8467133B2 (en) 2010-02-28 2013-06-18 Osterhout Group, Inc. See-through display with an optical assembly including a wedge-shaped illumination system
US9759917B2 (en) 2010-02-28 2017-09-12 Microsoft Technology Licensing, Llc AR glasses with event and sensor triggered AR eyepiece interface to external devices
US8482859B2 (en) 2010-02-28 2013-07-09 Osterhout Group, Inc. See-through near-eye display glasses wherein image light is transmitted to and reflected from an optically flat film
US20150309316A1 (en) 2011-04-06 2015-10-29 Microsoft Technology Licensing, Llc Ar glasses with predictive control of external device based on event input
US8477425B2 (en) 2010-02-28 2013-07-02 Osterhout Group, Inc. See-through near-eye display glasses including a partially reflective, partially transmitting optical element
US8472120B2 (en) 2010-02-28 2013-06-25 Osterhout Group, Inc. See-through near-eye display glasses with a small scale image source
US10180572B2 (en) 2010-02-28 2019-01-15 Microsoft Technology Licensing, Llc AR glasses with event and user action control of external applications
US9182596B2 (en) 2010-02-28 2015-11-10 Microsoft Technology Licensing, Llc See-through near-eye display glasses with the optical assembly including absorptive polarizers or anti-reflective coatings to reduce stray light
US9341843B2 (en) 2010-02-28 2016-05-17 Microsoft Technology Licensing, Llc See-through near-eye display glasses with a small scale image source
US9229227B2 (en) 2010-02-28 2016-01-05 Microsoft Technology Licensing, Llc See-through near-eye display glasses with a light transmissive wedge shaped illumination system
US8488246B2 (en) 2010-02-28 2013-07-16 Osterhout Group, Inc. See-through near-eye display glasses including a curved polarizing film in the image source, a partially reflective, partially transmitting optical element and an optically flat film
US9223134B2 (en) 2010-02-28 2015-12-29 Microsoft Technology Licensing, Llc Optical imperfections in a light transmissive illumination system for see-through near-eye display glasses
EP2544092A4 (en) * 2010-03-04 2014-03-19 Nec Corp Storage device
US20110218967A1 (en) * 2010-03-08 2011-09-08 Microsoft Corporation Partial Block Based Backups
US8938013B2 (en) * 2010-03-16 2015-01-20 Cleversafe, Inc. Dispersal of priority data in a dispersed storage network
US20110231698A1 (en) * 2010-03-22 2011-09-22 Zlati Andrei C Block based vss technology in workload migration and disaster recovery in computing system environment
WO2011119505A1 (en) * 2010-03-22 2011-09-29 Mobitv, Inc. Media convergence platform
US8504400B2 (en) 2010-03-24 2013-08-06 International Business Machines Corporation Dynamically optimized distributed cloud computing-based business process management (BPM) system
JP4892072B2 (en) * 2010-03-24 2012-03-07 株式会社東芝 Storage device that eliminates duplicate data in cooperation with host device, storage system including the storage device, and deduplication method in the system
US8694467B2 (en) * 2010-03-31 2014-04-08 Xerox Corporation Random number based data integrity verification method and system for distributed cloud storage
US9755856B1 (en) * 2010-04-13 2017-09-05 West Corporation Method, apparatus and computer program to provide access to client records and data resources
US8769131B2 (en) * 2010-04-16 2014-07-01 Oracle America, Inc. Cloud connector key
US8447833B2 (en) 2010-04-19 2013-05-21 Microsoft Corporation Reading and writing during cluster growth phase
US8533299B2 (en) 2010-04-19 2013-09-10 Microsoft Corporation Locator table and client library for datacenters
US9170892B2 (en) 2010-04-19 2015-10-27 Microsoft Technology Licensing, Llc Server failure recovery
US8438244B2 (en) 2010-04-19 2013-05-07 Microsoft Corporation Bandwidth-proportioned datacenters
US8996611B2 (en) 2011-01-31 2015-03-31 Microsoft Technology Licensing, Llc Parallel serialization of request processing
US9454441B2 (en) 2010-04-19 2016-09-27 Microsoft Technology Licensing, Llc Data layout for recovery and durability
US9813529B2 (en) 2011-04-28 2017-11-07 Microsoft Technology Licensing, Llc Effective circuits in packet-switched networks
US9432373B2 (en) 2010-04-23 2016-08-30 Apple Inc. One step security system in a network storage system
US8452957B2 (en) * 2010-04-27 2013-05-28 Telefonaktiebolaget L M Ericsson (Publ) Method and nodes for providing secure access to cloud computing for mobile users
GB2479916A (en) * 2010-04-29 2011-11-02 Nec Corp Access rights management of locally held data based on network connection status of mobile device
US8381217B1 (en) * 2010-04-30 2013-02-19 Netapp, Inc. System and method for preventing resource over-commitment due to remote management in a clustered network storage system
US8805968B2 (en) * 2010-05-03 2014-08-12 Panzura, Inc. Accessing cached data from a peer cloud controller in a distributed filesystem
US9852150B2 (en) 2010-05-03 2017-12-26 Panzura, Inc. Avoiding client timeouts in a distributed filesystem
US9824095B1 (en) 2010-05-03 2017-11-21 Panzura, Inc. Using overlay metadata in a cloud controller to generate incremental snapshots for a distributed filesystem
US8805967B2 (en) * 2010-05-03 2014-08-12 Panzura, Inc. Providing disaster recovery for a distributed filesystem
US9678968B1 (en) 2010-05-03 2017-06-13 Panzura, Inc. Deleting a file from a distributed filesystem
US9792298B1 (en) 2010-05-03 2017-10-17 Panzura, Inc. Managing metadata and data storage for a cloud controller in a distributed filesystem
US8799414B2 (en) * 2010-05-03 2014-08-05 Panzura, Inc. Archiving data for a distributed filesystem
US9811532B2 (en) 2010-05-03 2017-11-07 Panzura, Inc. Executing a cloud command for a distributed filesystem
US8799413B2 (en) * 2010-05-03 2014-08-05 Panzura, Inc. Distributing data for a distributed filesystem across multiple cloud storage systems
US9679040B1 (en) 2010-05-03 2017-06-13 Panzura, Inc. Performing deduplication in a distributed filesystem
US9678981B1 (en) 2010-05-03 2017-06-13 Panzura, Inc. Customizing data management for a distributed filesystem
US9613064B1 (en) 2010-05-03 2017-04-04 Panzura, Inc. Facilitating the recovery of a virtual machine using a distributed filesystem
US9852149B1 (en) 2010-05-03 2017-12-26 Panzura, Inc. Transferring and caching a cloud file in a distributed filesystem
US9811662B2 (en) 2010-05-03 2017-11-07 Panzura, Inc. Performing anti-virus checks for a distributed filesystem
US8234372B2 (en) * 2010-05-05 2012-07-31 Go Daddy Operating Company, LLC Writing a file to a cloud storage solution
US8719223B2 (en) 2010-05-06 2014-05-06 Go Daddy Operating Company, LLC Cloud storage solution for reading and writing files
US8260913B2 (en) * 2010-05-06 2012-09-04 Go Daddy Operating Company, LLC Reading a file from a cloud storage solution
US9075663B2 (en) * 2010-05-12 2015-07-07 Samsung Electronics Co., Ltd. Cloud-based web workers and storages
WO2011142762A1 (en) * 2010-05-13 2011-11-17 Hewlett-Packard Development Company, L.P. File system migration
US8683205B2 (en) * 2010-05-19 2014-03-25 Cleversafe, Inc. Accessing data utilizing entity registration in multiple dispersed storage networks
US8301715B2 (en) * 2010-05-20 2012-10-30 Sandisk Il Ltd. Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device
WO2011145148A1 (en) * 2010-05-20 2011-11-24 Hitachi Software Engineering Co., Ltd. Computer system and storage capacity extension method
US20110289310A1 (en) * 2010-05-20 2011-11-24 Selgas Thomas D Cloud computing appliance
TW201142646A (en) * 2010-05-21 2011-12-01 xiang-yu Li Cloud data storage system
US9083762B2 (en) 2010-05-28 2015-07-14 Greg Saunders System and method for providing hybrid on demand services to a work unit
US8898318B2 (en) * 2010-06-03 2014-11-25 Microsoft Corporation Distributed services authorization management
US8892632B2 (en) * 2010-06-04 2014-11-18 Microsoft Corporation Client-server interaction frequency control
US8504526B2 (en) 2010-06-04 2013-08-06 Commvault Systems, Inc. Failover systems and methods for performing backup operations
US9292533B2 (en) * 2010-06-08 2016-03-22 Dell Products L.P. Systems and methods for improving storage efficiency in an information handling system
US8996647B2 (en) * 2010-06-09 2015-03-31 International Business Machines Corporation Optimizing storage between mobile devices and cloud storage providers
US9730037B2 (en) * 2010-06-16 2017-08-08 Microsoft Corporation Cellular data communication for mobile devices
US8918439B2 (en) * 2010-06-17 2014-12-23 International Business Machines Corporation Data lifecycle management within a cloud computing environment
US20110313902A1 (en) * 2010-06-18 2011-12-22 International Business Machines Corporation Budget Management in a Compute Cloud
US8407689B2 (en) * 2010-06-25 2013-03-26 Microsoft Corporation Updating nodes considering service model constraints
US8396839B1 (en) * 2010-06-25 2013-03-12 Emc Corporation Representing de-duplicated file data
US8321487B1 (en) * 2010-06-30 2012-11-27 Emc Corporation Recovery of directory information
WO2012000059A1 (en) * 2010-07-02 2012-01-05 Metacdn Pty Ltd Systems and methods for storing digital content
JP5552942B2 (en) * 2010-07-28 2014-07-16 富士通株式会社 Information transmitting apparatus, network system, information transmitting method, and information transmitting program
US20120030343A1 (en) 2010-07-29 2012-02-02 Apple Inc. Dynamic migration within a network storage system
US8886777B2 (en) * 2010-08-20 2014-11-11 Unisys Corporation Moving enterprise software applications to a cloud domain
CN103229165A (en) * 2010-08-12 2013-07-31 安全第一公司 Systems and methods for secure remote storage
US9323561B2 (en) * 2010-08-13 2016-04-26 International Business Machines Corporation Calibrating cloud computing environments
US8478845B2 (en) * 2010-08-16 2013-07-02 International Business Machines Corporation End-to-end provisioning of storage clouds
US20120047247A1 (en) * 2010-08-18 2012-02-23 Openwave Systems Inc. System and method for allowing data traffic search
US9215264B1 (en) * 2010-08-20 2015-12-15 Symantec Corporation Techniques for monitoring secure cloud based content
US20120047339A1 (en) * 2010-08-20 2012-02-23 Dan Decasper Redundant array of independent clouds
JP5821298B2 (en) * 2010-08-23 2015-11-24 株式会社リコー Web service providing system, server device, method and program
JP5625634B2 (en) * 2010-09-01 2014-11-19 富士通株式会社 Data distribution program, data storage program, data distribution device, data storage device, data distribution method, and data storage method
US8495392B1 (en) 2010-09-02 2013-07-23 Symantec Corporation Systems and methods for securely deduplicating data owned by multiple entities
US8719362B2 (en) * 2010-09-09 2014-05-06 Riverbed Technology, Inc. Tiered storage interface
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US9128948B1 (en) * 2010-09-15 2015-09-08 Symantec Corporation Integration of deduplicating backup server with cloud storage
US8468352B2 (en) * 2010-09-17 2013-06-18 Microsoft Corporation Retrieving and using cloud based storage credentials
US8676593B2 (en) * 2010-09-23 2014-03-18 International Business Machines Corporation Geographic governance of data over clouds
US9774489B1 (en) * 2010-09-29 2017-09-26 Amazon Technologies, Inc. Allocating computing resources according to reserved capacity
US9195549B1 (en) 2010-09-30 2015-11-24 Emc Corporation Unified recovery
US8504870B2 (en) 2010-09-30 2013-08-06 Emc Corporation Optimized recovery
US8954544B2 (en) 2010-09-30 2015-02-10 Axcient, Inc. Cloud-based virtual machines and offices
US8589350B1 (en) 2012-04-02 2013-11-19 Axcient, Inc. Systems, methods, and media for synthesizing views of file system backups
US9705730B1 (en) 2013-05-07 2017-07-11 Axcient, Inc. Cloud storage using Merkle trees
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
US9235474B1 (en) * 2011-02-17 2016-01-12 Axcient, Inc. Systems and methods for maintaining a virtual failover volume of a target computing system
US8924360B1 (en) 2010-09-30 2014-12-30 Axcient, Inc. Systems and methods for restoring a file
US8949661B1 (en) 2010-09-30 2015-02-03 Emc Corporation Federation of indices
US8364652B2 (en) 2010-09-30 2013-01-29 Commvault Systems, Inc. Content aligned block-based deduplication
US8713364B1 (en) * 2010-09-30 2014-04-29 Emc Corporation Unified recovery
US8484505B1 (en) 2010-09-30 2013-07-09 Emc Corporation Self recovery
US8549350B1 (en) 2010-09-30 2013-10-01 Emc Corporation Multi-tier recovery
US8572340B2 (en) 2010-09-30 2013-10-29 Commvault Systems, Inc. Systems and methods for retaining and using data block signatures in data protection operations
US8943356B1 (en) 2010-09-30 2015-01-27 Emc Corporation Post backup catalogs
US10284437B2 (en) 2010-09-30 2019-05-07 Efolder, Inc. Cloud-based virtual machines and offices
EP2622469B1 (en) 2010-09-30 2019-11-13 Commvault Systems, Inc. Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system
CA2716544C (en) 2010-10-08 2014-05-20 Traffix Communication Systems Ltd. Method and system for providing network services
US8886613B2 (en) * 2010-10-12 2014-11-11 Don Doerner Prioritizing data deduplication
US9110976B2 (en) * 2010-10-15 2015-08-18 International Business Machines Corporation Supporting compliance in a cloud environment
US20120101731A1 (en) * 2010-10-21 2012-04-26 Baker Hughes Incorporated Extending Data Retention of a Data Storage Device Downhole
US9244936B1 (en) * 2010-10-28 2016-01-26 Symantec Corporation Systems and methods for enabling deduplication of attachment files within a database
US8589355B2 (en) * 2010-10-29 2013-11-19 International Business Machines Corporation Data storage in a cloud
US8595328B2 (en) * 2010-11-03 2013-11-26 International Business Machines Corporation Self-updating node controller for an endpoint in a cloud computing environment
US9690499B1 (en) * 2010-11-04 2017-06-27 Veritas Technologies Systems and methods for cloud-based data protection storage
TW201220070A (en) * 2010-11-05 2012-05-16 Inventec Corp Cloud computing system and data accessing method thereof
US8862876B2 (en) * 2010-11-09 2014-10-14 International Business Machines Corporation Method and system for deleting data
US8676710B2 (en) * 2010-11-22 2014-03-18 Netapp, Inc. Providing security in a cloud storage environment
US8601265B2 (en) 2010-11-22 2013-12-03 Netapp, Inc. Method and system for improving storage security in a cloud computing environment
US8909784B2 (en) * 2010-11-23 2014-12-09 Red Hat, Inc. Migrating subscribed services from a set of clouds to a second set of clouds
US9736252B2 (en) * 2010-11-23 2017-08-15 Red Hat, Inc. Migrating subscribed services in a cloud deployment
US10162553B2 (en) * 2010-11-24 2018-12-25 Western Digital Technologies, Inc. Methods and systems for object level de-duplication for solid state devices
US8583599B2 (en) * 2010-11-29 2013-11-12 Ca, Inc. Reducing data duplication in cloud storage
US8595512B2 (en) * 2010-11-29 2013-11-26 Beijing Z & W Technology Consulting Co., Ltd Data control method of cloud storage
KR101191914B1 (en) * 2010-12-07 2012-10-17 (주)이스트소프트 File management method in the web storage system
US9020992B1 (en) * 2010-12-09 2015-04-28 Symantec Corporation Systems and methods for facilitating file archiving
US9210031B1 (en) * 2010-12-09 2015-12-08 Amazon Technologies, Inc. Brokering for application hosting computing resources of multiple vendor-specific provisioned computing environments
US8849898B2 (en) * 2010-12-09 2014-09-30 Jeffrey Vincent TOFANO Adaptive collaborative de-duplication
US20120150925A1 (en) * 2010-12-10 2012-06-14 International Business Machines Corporation Proactive Method for Improved Reliability for Sustained Persistence of Immutable Files in Storage Clouds
US9933978B2 (en) * 2010-12-16 2018-04-03 International Business Machines Corporation Method and system for processing data
WO2011150645A1 (en) * 2010-12-20 2011-12-08 华为技术有限公司 Method for scheduling web hosting service, method for processing application access, apparatus and system thereof
IL210169A0 (en) 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
KR101502895B1 (en) 2010-12-22 2015-03-17 주식회사 케이티 Method for recovering errors from all erroneous replicas and the storage system using the method
US10698775B2 (en) 2016-05-31 2020-06-30 Mongodb, Inc. Method and apparatus for reading and writing committed data
US8996463B2 (en) 2012-07-26 2015-03-31 Mongodb, Inc. Aggregation framework system architecture and method
US10262050B2 (en) 2015-09-25 2019-04-16 Mongodb, Inc. Distributed database systems and methods with pluggable storage engines
US10713280B2 (en) 2010-12-23 2020-07-14 Mongodb, Inc. Systems and methods for managing distributed database deployments
US9740762B2 (en) 2011-04-01 2017-08-22 Mongodb, Inc. System and method for optimizing data migration in a partitioned database
US10997211B2 (en) 2010-12-23 2021-05-04 Mongodb, Inc. Systems and methods for database zone sharding and API integration
US10977277B2 (en) 2010-12-23 2021-04-13 Mongodb, Inc. Systems and methods for database zone sharding and API integration
US9881034B2 (en) 2015-12-15 2018-01-30 Mongodb, Inc. Systems and methods for automating management of distributed databases
US9805108B2 (en) 2010-12-23 2017-10-31 Mongodb, Inc. Large distributed database clustering systems and methods
US11544288B2 (en) * 2010-12-23 2023-01-03 Mongodb, Inc. Systems and methods for managing distributed database deployments
US10346430B2 (en) 2010-12-23 2019-07-09 Mongodb, Inc. System and method for determining consensus within a distributed database
US10614098B2 (en) 2010-12-23 2020-04-07 Mongodb, Inc. System and method for determining consensus within a distributed database
US10740353B2 (en) 2010-12-23 2020-08-11 Mongodb, Inc. Systems and methods for managing distributed database deployments
US9442671B1 (en) * 2010-12-23 2016-09-13 Emc Corporation Distributed consumer cloud storage system
US11615115B2 (en) 2010-12-23 2023-03-28 Mongodb, Inc. Systems and methods for managing distributed database deployments
US8572031B2 (en) 2010-12-23 2013-10-29 Mongodb, Inc. Method and apparatus for maintaining replica sets
KR101585146B1 (en) 2010-12-24 2016-01-14 주식회사 케이티 Distribution storage system of distributively storing objects based on position of plural data nodes, position-based object distributive storing method thereof, and computer-readable recording medium
KR101544480B1 (en) 2010-12-24 2015-08-13 주식회사 케이티 Distribution storage system having plural proxy servers, distributive management method thereof, and computer-readable recording medium
JP5664229B2 (en) * 2010-12-28 2015-02-04 ソニー株式会社 Transmission device, transmission method, and program
US9058323B2 (en) 2010-12-30 2015-06-16 Ss8 Networks, Inc. System for accessing a set of communication and transaction data associated with a user of interest sourced from multiple different network carriers and for enabling multiple analysts to independently and confidentially access the set of communication and transaction data
US8938534B2 (en) 2010-12-30 2015-01-20 Ss8 Networks, Inc. Automatic provisioning of new users of interest for capture on a communication network
US10051073B1 (en) * 2010-12-31 2018-08-14 EMC IP Holding Company LLC Cloud information services
US9037597B2 (en) * 2011-01-10 2015-05-19 International Business Machines Corporation Verifying file versions in a networked computing environment
US20120179904A1 (en) * 2011-01-11 2012-07-12 Safenet, Inc. Remote Pre-Boot Authentication
US9460169B2 (en) * 2011-01-12 2016-10-04 International Business Machines Corporation Multi-tenant audit awareness in support of cloud environments
US9311135B2 (en) * 2011-01-18 2016-04-12 Scality, S.A. Method for generating universal objects identifiers in distributed multi-purpose storage systems
US8615588B2 (en) * 2011-01-20 2013-12-24 International Business Machines Corporation Accelerate copying of virtual machine images
US8856470B2 (en) * 2011-01-25 2014-10-07 International Business Machines Corporation Data integrity protection in storage volumes
US20120198018A1 (en) * 2011-01-27 2012-08-02 Microsoft Corporation Securely publishing data to network service
US9128768B2 (en) 2011-01-27 2015-09-08 Microsoft Technology Licensing, LCC Cloud based master data management
US9584949B2 (en) 2011-01-27 2017-02-28 Microsoft Technology Licensing, Llc Cloud based master data management architecture
WO2012103515A1 (en) * 2011-01-28 2012-08-02 Level 3 Communications, Llc Content delivery network with deep caching infrastructure
CA2766731C (en) * 2011-02-03 2019-12-03 Afore Solutions Inc. Method and system for cloud based storage
US20120209923A1 (en) * 2011-02-12 2012-08-16 Three Laws Mobility, Inc. Systems and methods for regulating access to resources at application run time
US8886674B1 (en) 2011-02-18 2014-11-11 The Directv Group, Inc. Method and system for entitling a user device to receive content from data from an external source
US8612598B1 (en) * 2011-02-18 2013-12-17 The Directv Group, Inc. Method and system for ingesting content schedule data from an external source
US8473459B2 (en) * 2011-02-28 2013-06-25 International Business Machines Corporation Workload learning in data replication environments
US10375203B2 (en) * 2011-02-28 2019-08-06 Red Hat, Inc. Generating a selection of cloud data distribution service from alternative providers for staging data to host clouds
US9712340B2 (en) * 2011-02-28 2017-07-18 Red Hat, Inc. Using a shared data store for peer discovery
US8606878B2 (en) * 2011-02-28 2013-12-10 Red Hat, Inc. Systems and methods for de-populating cloud data store
US9413811B2 (en) * 2011-02-28 2016-08-09 Red Hat, Inc. Establishing upload channels to a cloud data distribution service
US20120226722A1 (en) 2011-03-02 2012-09-06 International Business Machines Corporation Systems, methods, and computer program products for secure multi-enterprise storage
US20120226789A1 (en) * 2011-03-03 2012-09-06 Cisco Technology, Inc. Hiearchical Advertisement of Data Center Capabilities and Resources
US9235447B2 (en) * 2011-03-03 2016-01-12 Cisco Technology, Inc. Extensible attribute summarization
US8756310B2 (en) 2011-03-09 2014-06-17 International Business Machines Corporation Comprehensive bottleneck detection in a multi-tier enterprise storage system
US9317377B1 (en) * 2011-03-23 2016-04-19 Riverbed Technology, Inc. Single-ended deduplication using cloud storage protocol
US8924500B2 (en) * 2011-03-29 2014-12-30 Amazon Technologies, Inc. Local storage linked to networked storage system
KR101483127B1 (en) 2011-03-31 2015-01-22 주식회사 케이티 Method and apparatus for data distribution reflecting the resources of cloud storage system
US8849762B2 (en) * 2011-03-31 2014-09-30 Commvault Systems, Inc. Restoring computing environments, such as autorecovery of file systems at certain points in time
US8667020B2 (en) * 2011-04-01 2014-03-04 Microsoft Corporation Placement goal-based database instance dynamic consolidation
US8667019B2 (en) * 2011-04-01 2014-03-04 Microsoft Corporation Placement goal-based database instance consolidation
US8775486B2 (en) 2011-04-04 2014-07-08 Symantec Corporation Global indexing within an enterprise object store file system
US8972612B2 (en) 2011-04-05 2015-03-03 SSB Networks, Inc. Collecting asymmetric data and proxy data on a communication network
US9094466B2 (en) 2011-04-07 2015-07-28 Hewlett-Packard Development Company, L.P. Maintaining caches of object location information in gateway computing devices using multicast messages
US8799618B2 (en) 2011-04-12 2014-08-05 Empire Technology Development Llc Service associated with persistent storage
KR101544483B1 (en) 2011-04-13 2015-08-17 주식회사 케이티 Replication server apparatus and method for creating replica in distribution storage system
US8954399B1 (en) * 2011-04-18 2015-02-10 American Megatrends, Inc. Data de-duplication for information storage systems
US8930653B1 (en) 2011-04-18 2015-01-06 American Megatrends, Inc. Data de-duplication for information storage systems
US8868602B2 (en) * 2011-04-19 2014-10-21 Cinemo Gmbh Database manager and method and computer program for managing a database
KR101544485B1 (en) 2011-04-25 2015-08-17 주식회사 케이티 Method and apparatus for selecting a node to place a replica in cloud storage system
US9323466B2 (en) 2011-04-27 2016-04-26 Commvault Systems, Inc. System and method for client policy assignment in a data storage system
US20120278371A1 (en) * 2011-04-28 2012-11-01 Luis Montalvo Method for uploading a file in an on-line storage system and corresponding on-line storage system
US8627104B2 (en) 2011-04-28 2014-01-07 Absio Corporation Secure data storage
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9037564B2 (en) * 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
US8799223B1 (en) * 2011-05-02 2014-08-05 Symantec Corporation Techniques for data backup management
US9087189B1 (en) 2011-05-03 2015-07-21 Symantec Corporation Network access control for cloud services
US8996480B2 (en) * 2011-05-04 2015-03-31 International Business Machines Corporation Method and apparatus for optimizing data storage
US8478901B1 (en) * 2011-05-06 2013-07-02 Google Inc. Methods and systems for robot cloud computing using slug trails
CN102170476B (en) * 2011-05-09 2015-07-22 中兴通讯股份有限公司 Cloud computing method and device based on cloud node autonomic learning
US9031901B1 (en) * 2011-05-10 2015-05-12 Symantec Corporation Flexible database schema
US8782003B1 (en) * 2011-05-13 2014-07-15 Emc Corporation Synchronization of storage using log files and snapshots
US8745003B1 (en) 2011-05-13 2014-06-03 Emc Corporation Synchronization of storage using comparisons of fingerprints of blocks
US8544070B2 (en) 2011-05-16 2013-09-24 Novell, Inc. Techniques for non repudiation of storage in cloud or shared storage environments
JP2012243108A (en) * 2011-05-19 2012-12-10 Buffalo Inc File management device and control program thereof
US9251021B2 (en) 2011-05-23 2016-02-02 Bradley Gene Calder Asynchronous replication in a distributed storage environment
US9519555B2 (en) 2011-05-23 2016-12-13 Microsoft Technology Licensing, Llc Synchronous replication in a distributed storage environment
CN102801757A (en) * 2011-05-25 2012-11-28 英业达股份有限公司 Processing method and system for data de-duplication of point-to-point transmission
US9262498B2 (en) * 2011-05-27 2016-02-16 Red Hat, Inc. Generating optimized host placement of data payload in cloud-based storage network
WO2012167094A1 (en) * 2011-06-01 2012-12-06 Security First Corp. Systems and methods for secure distributed storage
EP2715571A1 (en) * 2011-06-03 2014-04-09 Apple Inc. Cloud storage
US8793215B2 (en) 2011-06-04 2014-07-29 Recommind, Inc. Systems and methods for publishing datasets
US9118642B2 (en) * 2011-06-05 2015-08-25 Apple Inc. Asset streaming
US8904128B2 (en) * 2011-06-08 2014-12-02 Hewlett-Packard Development Company, L.P. Processing a request to restore deduplicated data
US20120317082A1 (en) * 2011-06-13 2012-12-13 Microsoft Corporation Query-based information hold
US20120323601A1 (en) * 2011-06-14 2012-12-20 Microsoft Corporation Distributed sharing of electronic medical records
US8706869B2 (en) * 2011-06-14 2014-04-22 International Business Machines Corporation Distributed cloud placement software
US8856260B2 (en) * 2011-06-14 2014-10-07 Microsoft Corporation Providing access to shared state data
EP2710785B1 (en) 2011-06-17 2016-11-23 Huawei Technologies Co., Ltd. Cloud service control and management architecture expanded to interface the network stratum
US8935455B2 (en) 2011-06-20 2015-01-13 International Business Machines Corporation Storage allocation based on data set size
US8694525B2 (en) * 2011-06-24 2014-04-08 Sas Institute Inc. Systems and methods for performing index joins using auto generative queries
US8843502B2 (en) 2011-06-24 2014-09-23 Microsoft Corporation Sorting a dataset of incrementally received data
US9736065B2 (en) 2011-06-24 2017-08-15 Cisco Technology, Inc. Level of hierarchy in MST for traffic localization and load balancing
US9697051B2 (en) 2011-06-27 2017-07-04 Nokia Technologies Oy Method and apparatus for providing services via cloud-based analytics
US8856190B2 (en) * 2011-06-30 2014-10-07 Accenture Global Services Limited Distributed computing system hierarchal structure manipulation
US8806588B2 (en) 2011-06-30 2014-08-12 Amazon Technologies, Inc. Storage gateway activation process
US9965381B1 (en) * 2011-06-30 2018-05-08 EMC IP Holding Company LLC Indentifying data for placement in a storage system
US9294564B2 (en) * 2011-06-30 2016-03-22 Amazon Technologies, Inc. Shadowing storage gateway
US8706834B2 (en) 2011-06-30 2014-04-22 Amazon Technologies, Inc. Methods and apparatus for remotely updating executing processes
US8639989B1 (en) 2011-06-30 2014-01-28 Amazon Technologies, Inc. Methods and apparatus for remote gateway monitoring and diagnostics
US8639921B1 (en) * 2011-06-30 2014-01-28 Amazon Technologies, Inc. Storage gateway security model
US10754813B1 (en) 2011-06-30 2020-08-25 Amazon Technologies, Inc. Methods and apparatus for block storage I/O operations in a storage gateway
US8775376B2 (en) 2011-06-30 2014-07-08 International Business Machines Corporation Hybrid data backup in a networked computing environment
US8601134B1 (en) 2011-06-30 2013-12-03 Amazon Technologies, Inc. Remote storage gateway management using gateway-initiated connections
US8832039B1 (en) 2011-06-30 2014-09-09 Amazon Technologies, Inc. Methods and apparatus for data restore and recovery from a remote data store
US9323655B1 (en) * 2011-06-30 2016-04-26 Emc Corporation Location of data among storage tiers
US20130007091A1 (en) * 2011-07-01 2013-01-03 Yahoo! Inc. Methods and apparatuses for storing shared data files in distributed file systems
US8060533B1 (en) 2011-07-07 2011-11-15 Google Inc. Panel-based management of data objects from a plurality of data sources
US8751538B1 (en) 2011-07-07 2014-06-10 Google Inc. Method and apparatus for panel-based management of data
US20130031028A1 (en) * 2011-07-25 2013-01-31 Bank Of America Exchange System Supporting Cloud Computing
US8914667B2 (en) * 2011-07-27 2014-12-16 Cleversafe, Inc. Identifying a slice error in a dispersed storage network
US11016702B2 (en) 2011-07-27 2021-05-25 Pure Storage, Inc. Hierarchical event tree
US10678619B2 (en) 2011-07-27 2020-06-09 Pure Storage, Inc. Unified logs and device statistics
EP2551781A1 (en) * 2011-07-29 2013-01-30 British Telecommunications Public Limited Company Data analysis system
US8874863B2 (en) 2011-08-01 2014-10-28 Actifio, Inc. Data replication system
US20130036272A1 (en) * 2011-08-02 2013-02-07 Microsoft Corporation Storage engine node for cloud-based storage
US9141785B2 (en) * 2011-08-03 2015-09-22 Cloudbyte, Inc. Techniques for providing tenant based storage security and service level assurance in cloud storage environment
US8849819B2 (en) * 2011-08-05 2014-09-30 Deacon Johnson System and method for controlling and organizing metadata associated with on-line content
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US20170123931A1 (en) * 2011-08-12 2017-05-04 Nexenta Systems, Inc. Object Storage System with a Distributed Namespace and Snapshot and Cloning Features
WO2012119389A1 (en) 2011-08-12 2012-09-13 华为技术有限公司 Data sharing system, data distribution system and data protection method
US9971802B2 (en) * 2011-08-17 2018-05-15 International Business Machines Corporation Audit record transformation in a dispersed storage network
US20130212399A1 (en) * 2011-08-17 2013-08-15 Geoffrey I. Cairns Travel Vault
US8782762B2 (en) 2011-08-17 2014-07-15 International Business Machines Corporation Building data security in a networked computing environment
US8793343B1 (en) 2011-08-18 2014-07-29 Amazon Technologies, Inc. Redundant storage gateways
US8682942B1 (en) * 2011-08-23 2014-03-25 Amazon Technologies, Inc. System and method for performing object-modifying commands in an unstructured storage service
US8484161B2 (en) * 2011-08-29 2013-07-09 Oracle International Corporation Live file system migration
US9432454B2 (en) * 2011-08-29 2016-08-30 At&T Intellectual Property I, L.P. Cloud-to-cloud peering
US8307089B1 (en) * 2011-08-29 2012-11-06 Ariel Inventions, Llc System and method for storing broadcast content in a cloud-based computing environment
US8832035B2 (en) 2011-08-30 2014-09-09 Netapp, Inc. System and method for retaining deduplication in a storage object after a clone split operation
US8635607B2 (en) 2011-08-30 2014-01-21 Microsoft Corporation Cloud-based build service
US9531801B1 (en) * 2011-08-30 2016-12-27 Virtual Command, LLC Dynamic information technology multi-directional multi-protocol resource convergence system
GB201115083D0 (en) * 2011-08-31 2011-10-19 Data Connection Ltd Identifying data items
US8954448B1 (en) 2011-08-31 2015-02-10 Amazon Technologies, Inc. Presenting content related to current media consumption
KR101587631B1 (en) * 2011-09-06 2016-01-25 한국전자통신연구원 Local apparatus based on cloud and method for reading and storing file
US20130067232A1 (en) * 2011-09-09 2013-03-14 Kai Chung CHEUNG METHOD AND SYSTEM FOR CREDENTIAL MANAGEMENT AND DATA ENCRYPTION FOR iOS BASED DEVICES
US20130067346A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Content User Experience
US20130066482A1 (en) * 2011-09-13 2013-03-14 Samsung Electronics Co., Ltd. Apparatus and method for executing energy demand response process in an electrical power network
US20130073692A1 (en) * 2011-09-15 2013-03-21 Ibromed Corporation Systems and methods for receiver-controlled data distribution
US8522147B2 (en) 2011-09-20 2013-08-27 Go Daddy Operating Company, LLC Methods for verifying person's identity through person's social circle using person's photograph
US8620886B1 (en) * 2011-09-20 2013-12-31 Netapp Inc. Host side deduplication
US8538065B2 (en) 2011-09-20 2013-09-17 Go Daddy Operating Company, LLC Systems for verifying person's identity through person's social circle using person's photograph
US9336250B1 (en) * 2011-09-23 2016-05-10 Veritas Technologies, LLC Systems and methods for efficiently backing up data
US8849976B2 (en) * 2011-09-26 2014-09-30 Limelight Networks, Inc. Dynamic route requests for multiple clouds
CN103023939B (en) * 2011-09-26 2017-10-20 中兴通讯股份有限公司 The method and system of the REST interfaces of cloud caching is realized on Nginx
CN103023762A (en) 2011-09-27 2013-04-03 阿尔卡特朗讯公司 Cloud computing access gateway and method for providing access to cloud provider for user terminal
US8965937B2 (en) * 2011-09-28 2015-02-24 International Business Machines Corporation Automated selection of functions to reduce storage capacity based on performance requirements
US9372827B2 (en) 2011-09-30 2016-06-21 Commvault Systems, Inc. Migration of an existing computing system to new hardware
US9075811B2 (en) * 2011-09-30 2015-07-07 Symantec Corporation Cloud information migration systems and methods
US8930320B2 (en) * 2011-09-30 2015-01-06 Accenture Global Services Limited Distributed computing backup and recovery system
US9116633B2 (en) 2011-09-30 2015-08-25 Commvault Systems, Inc. Information management of virtual machines having mapped storage devices
US9836340B2 (en) * 2011-10-03 2017-12-05 International Business Machines Corporation Safe management of data storage using a volume manager
US8789208B1 (en) 2011-10-04 2014-07-22 Amazon Technologies, Inc. Methods and apparatus for controlling snapshot exports
US9817733B2 (en) * 2011-10-05 2017-11-14 International Business Machines Corporation Resource recovery for checkpoint-based high-availability in a virtualized environment
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US9137262B2 (en) 2011-10-11 2015-09-15 Citrix Systems, Inc. Providing secure mobile device access to enterprise resources using application tunnels
US9215225B2 (en) 2013-03-29 2015-12-15 Citrix Systems, Inc. Mobile device locking with context
US8806570B2 (en) 2011-10-11 2014-08-12 Citrix Systems, Inc. Policy-based application management
US20140053234A1 (en) 2011-10-11 2014-02-20 Citrix Systems, Inc. Policy-Based Application Management
US9043184B1 (en) * 2011-10-12 2015-05-26 Netapp, Inc. System and method for identifying underutilized storage capacity
US9104671B2 (en) * 2011-10-17 2015-08-11 Lenovo (Singapore) Pte. Ltd. Automatic storage media content cataloging
US9043311B1 (en) 2011-10-20 2015-05-26 Amazon Technologies, Inc. Indexing data updates associated with an electronic catalog system
US9292521B1 (en) * 2011-10-20 2016-03-22 Amazon Technologies, Inc. Archiving and querying data updates associated with an electronic catalog system
US9092375B1 (en) 2011-10-24 2015-07-28 Symantec Corporation Cloud-based instant volume restore with data source switchover feature
WO2013065056A1 (en) 2011-10-31 2013-05-10 Hewlett-Packard Development Company, L.P. Rendering permissions for rendering content
US10445164B2 (en) * 2011-11-01 2019-10-15 Pure Storage, Inc. Copying data in a dispersed storage network without replication
US20130117218A1 (en) * 2011-11-03 2013-05-09 Microsoft Corporation Cross-store electronic discovery
US9836514B2 (en) 2011-11-07 2017-12-05 Empire Technology Development Llc Cache based key-value store mapping and replication
US20130117157A1 (en) * 2011-11-09 2013-05-09 Gravitant, Inc. Optimally sourcing services in hybrid cloud environments
EP2592860B1 (en) * 2011-11-10 2018-06-13 Viavi Solutions UK Limited Geolocation information storage system for mobile communications data
US9143563B2 (en) * 2011-11-11 2015-09-22 Rockwell Automation Technologies, Inc. Integrated and scalable architecture for accessing and delivering data
US8996651B2 (en) 2011-11-12 2015-03-31 Yang Pan System and method for delivering media assets in a cloud environment
US9805054B2 (en) 2011-11-14 2017-10-31 Panzura, Inc. Managing a global namespace for a distributed filesystem
US9817898B2 (en) 2011-11-14 2017-11-14 Microsoft Technology Licensing, Llc Locating relevant content items across multiple disparate content sources
US20130124480A1 (en) * 2011-11-14 2013-05-16 Clint Chua System and Method for Viewer Based Image Metadata Sanitization
US9804928B2 (en) 2011-11-14 2017-10-31 Panzura, Inc. Restoring an archived file in a distributed filesystem
US8880841B2 (en) 2011-11-15 2014-11-04 International Business Machines Corporation Distributing data among data storage partitions based on a forecasted demand in a networked computing environment
EP3591538B1 (en) * 2011-11-15 2021-01-20 AB Initio Technology LLC Data clustering, segmentation, and parallelization
US8738706B1 (en) 2011-11-16 2014-05-27 Google Inc. Systems and methods for collaborative document editing
US9529829B1 (en) * 2011-11-18 2016-12-27 Veritas Technologies Llc System and method to facilitate the use of processed data from a storage system to perform tasks
US20130145027A1 (en) * 2011-12-01 2013-06-06 Microsoft Corporation Regulatory compliance across diverse entities
US8504595B2 (en) * 2011-12-07 2013-08-06 Jeffrey Tofano De-duplication for a global coherent de-duplication repository
US8769627B1 (en) * 2011-12-08 2014-07-01 Symantec Corporation Systems and methods for validating ownership of deduplicated data
US20130151535A1 (en) * 2011-12-09 2013-06-13 Canon Kabushiki Kaisha Distributed indexing of data
US8621653B2 (en) 2011-12-12 2013-12-31 Microsoft Corporation Secure location collection and analysis service
US9635132B1 (en) 2011-12-15 2017-04-25 Amazon Technologies, Inc. Service and APIs for remote volume-based block storage
US8990163B2 (en) * 2011-12-15 2015-03-24 Sap Se Snapshot of distributed enterprise business data stored in various cloud services
JP5749855B2 (en) * 2011-12-16 2015-07-15 株式会社日立製作所 Computer system and volume migration control method using the same
WO2013093960A1 (en) * 2011-12-20 2013-06-27 Hitachi, Ltd. Storage system and method for controlling storage system
US9361263B1 (en) * 2011-12-21 2016-06-07 Emc Corporation Co-located clouds, vertically integrated clouds, and federated clouds
US9026752B1 (en) * 2011-12-22 2015-05-05 Emc Corporation Efficiently estimating compression ratio in a deduplicating file system
US9098344B2 (en) 2011-12-27 2015-08-04 Microsoft Technology Licensing, Llc Cloud-edge topologies
WO2013102506A2 (en) 2012-01-02 2013-07-11 International Business Machines Corporation Method and system for backup and recovery
US8812454B2 (en) * 2012-01-12 2014-08-19 Alcatel Lucent Apparatus and method for managing storage of data blocks
US8908698B2 (en) 2012-01-13 2014-12-09 Cisco Technology, Inc. System and method for managing site-to-site VPNs of a cloud managed network
US10257109B2 (en) 2012-01-18 2019-04-09 International Business Machines Corporation Cloud-based content management system
US9772830B2 (en) 2012-01-19 2017-09-26 Syntel, Inc. System and method for modeling cloud rules for migration to the cloud
US9164997B2 (en) 2012-01-19 2015-10-20 Microsoft Technology Licensing, Llc Recognizing cloud content
US8909734B2 (en) * 2012-02-07 2014-12-09 International Business Machines Corporation Migrating data between networked computing environments
US8914498B2 (en) * 2012-02-09 2014-12-16 International Business Machines Corporation Calculating a checksum with inactive networking components in a computing system
US9424433B2 (en) * 2012-02-13 2016-08-23 Synchronoss Technologies, Inc. Data storage management
US8682957B2 (en) * 2012-02-16 2014-03-25 Microsoft Corporation Embedded wireless cloud connector
DE102012101316A1 (en) * 2012-02-17 2013-08-22 Solute Gmbh Method for displaying context-relevant additional information
US8700666B2 (en) 2012-02-21 2014-04-15 Comcast Cable Communications, Llc Moveable storage
US9128780B2 (en) 2012-02-22 2015-09-08 Microsoft Technology Licensing, Llc Validating license servers in virtualized environments
KR101280753B1 (en) 2012-02-22 2013-07-05 주식회사 팬택 Cloud service access apparatus and cloud service access method and cloud service access system
US20130219069A1 (en) * 2012-02-22 2013-08-22 Computer Associates Think, Inc. System and method for managing virtual hard disks in cloud environments
US8805797B2 (en) * 2012-02-22 2014-08-12 International Business Machines Corporation Optimizing wide area network (WAN) traffic by providing home site deduplication information to a cache site
US20130227352A1 (en) 2012-02-24 2013-08-29 Commvault Systems, Inc. Log monitoring
US9740435B2 (en) * 2012-02-27 2017-08-22 Fujifilm North America Corporation Methods for managing content stored in cloud-based storages
CN102638567B (en) * 2012-03-02 2015-05-20 深圳市朗科科技股份有限公司 Multi-application cloud storage platform and cloud storage terminal
US9417811B2 (en) 2012-03-07 2016-08-16 International Business Machines Corporation Efficient inline data de-duplication on a storage system
US8799245B2 (en) 2012-03-08 2014-08-05 Commvault Systems, Inc. Automated, tiered data retention
US9262449B2 (en) 2012-03-08 2016-02-16 Commvault Systems, Inc. Automated, tiered data retention
US9253176B2 (en) 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure content sharing in a networked secure collaborative exchange environment
US9251360B2 (en) 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure mobile device content viewing in a networked secure collaborative exchange environment
US9401904B1 (en) * 2012-03-15 2016-07-26 Motio, Inc. Security migration in a business intelligence environment
US10097406B2 (en) 2012-03-19 2018-10-09 Level 3 Communications, Llc Systems and methods for data mobility with a cloud architecture
US20130253977A1 (en) 2012-03-23 2013-09-26 Commvault Systems, Inc. Automation of data storage activities
US20130262210A1 (en) * 2012-03-27 2013-10-03 Brandon Savage Cloud service or storage use promotion via partnership driven automatic account upgrades
US8918392B1 (en) * 2012-03-29 2014-12-23 Amazon Technologies, Inc. Data storage mapping and management
WO2013147821A1 (en) * 2012-03-29 2013-10-03 Empire Technology Development, Llc Determining user key-value storage needs from example queries
US8515904B1 (en) * 2012-03-29 2013-08-20 Emc Corporation Providing file sytem quota support for a file system having separated data and metadata
US8930364B1 (en) 2012-03-29 2015-01-06 Amazon Technologies, Inc. Intelligent data integration
US8615500B1 (en) * 2012-03-29 2013-12-24 Emc Corporation Partial block allocation for file system block compression using virtual block metadata
US8832234B1 (en) 2012-03-29 2014-09-09 Amazon Technologies, Inc. Distributed data storage controller
US8935203B1 (en) 2012-03-29 2015-01-13 Amazon Technologies, Inc. Environment-sensitive distributed data management
JP5962140B2 (en) * 2012-03-30 2016-08-03 富士通株式会社 Program, control method, control apparatus and system
US10157184B2 (en) 2012-03-30 2018-12-18 Commvault Systems, Inc. Data previewing before recalling large data files
US9772909B1 (en) * 2012-03-30 2017-09-26 EMC IP Holding Company LLC Dynamic proxy server assignment for virtual machine backup
US9286327B2 (en) 2012-03-30 2016-03-15 Commvault Systems, Inc. Data storage recovery automation
WO2013148096A1 (en) 2012-03-30 2013-10-03 Commvault Systems, Inc. Informaton management of mobile device data
KR101617987B1 (en) 2012-04-01 2016-05-03 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 Machine learning for database migration source
US9628438B2 (en) * 2012-04-06 2017-04-18 Exablox Consistent ring namespaces facilitating data storage and organization in network infrastructures
US20130275546A1 (en) * 2012-04-11 2013-10-17 AppSense, Inc. Systems and methods for the automated migration from enterprise to cloud storage
WO2013153646A1 (en) * 2012-04-12 2013-10-17 株式会社日立製作所 Computer system, data allocation management method, and program
KR101623297B1 (en) 2012-04-13 2016-05-20 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 Determining destination cloud system requirements
US8943269B2 (en) 2012-04-13 2015-01-27 Alcatel Lucent Apparatus and method for meeting performance metrics for users in file systems
US8868677B2 (en) * 2012-04-16 2014-10-21 HGST Netherlands B.V. Automated data migration across a plurality of devices
US20130283147A1 (en) * 2012-04-19 2013-10-24 Sharon Wong Web-based collaborative document review system
US9779103B2 (en) 2012-04-23 2017-10-03 International Business Machines Corporation Preserving redundancy in data deduplication systems
US9137225B2 (en) * 2012-04-23 2015-09-15 Raghavendra Kulkarni Seamless remote storage of uniformly encrypted data for diverse platforms and devices
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US10133747B2 (en) 2012-04-23 2018-11-20 International Business Machines Corporation Preserving redundancy in data deduplication systems by designation of virtual device
US9262428B2 (en) 2012-04-23 2016-02-16 International Business Machines Corporation Preserving redundancy in data deduplication systems by designation of virtual address
US8996881B2 (en) 2012-04-23 2015-03-31 International Business Machines Corporation Preserving redundancy in data deduplication systems by encryption
KR101579029B1 (en) 2012-04-25 2015-12-28 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 Application programming interface testing services
US9462080B2 (en) * 2012-04-27 2016-10-04 Hewlett-Packard Development Company, L.P. Management service to manage a file
CA2871600A1 (en) 2012-04-27 2013-10-31 Intralinks, Inc. Computerized method and system for managing networked secure collaborative exchange
US9553860B2 (en) 2012-04-27 2017-01-24 Intralinks, Inc. Email effectivity facility in a networked secure collaborative exchange environment
US9633032B2 (en) * 2012-04-30 2017-04-25 Quantum Corporation Object synthesis
US9160722B2 (en) * 2012-04-30 2015-10-13 Anchorfree, Inc. System and method for securing user information on social networks
US20130297535A1 (en) * 2012-05-04 2013-11-07 Nokia Corporation Method and apparatus for presenting cloud-based repositories based on location information
US9110815B2 (en) 2012-05-07 2015-08-18 International Business Machines Corporation Enhancing data processing performance by cache management of fingerprint index
US9645944B2 (en) * 2012-05-07 2017-05-09 International Business Machines Corporation Enhancing data caching performance
US9021203B2 (en) 2012-05-07 2015-04-28 International Business Machines Corporation Enhancing tiering storage performance
US8838968B2 (en) 2012-05-14 2014-09-16 Ca, Inc. System and method for virtual machine data protection in a public cloud
US9183213B2 (en) * 2012-05-16 2015-11-10 Rackspace Us, Inc. Indirection objects in a cloud storage system
US10552385B2 (en) * 2012-05-20 2020-02-04 Microsoft Technology Licensing, Llc System and methods for implementing a server-based hierarchical mass storage system
US10235205B2 (en) 2012-05-24 2019-03-19 Citrix Systems, Inc. Remote management of distributed datacenters
CN102750324A (en) 2012-05-28 2012-10-24 华为技术有限公司 File storage system, file storage device and file access method
US9189167B2 (en) 2012-05-31 2015-11-17 Commvault Systems, Inc. Shared library in a data storage system
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
US8977672B2 (en) 2012-06-08 2015-03-10 Commvault Systems, Inc. Intelligent scheduling for remote computers
US9189170B2 (en) 2012-06-12 2015-11-17 Commvault Systems, Inc. External storage manager for a data storage cell
WO2013187901A2 (en) * 2012-06-14 2013-12-19 Empire Technology Development Llc Data deduplication management
US9880771B2 (en) 2012-06-19 2018-01-30 International Business Machines Corporation Packing deduplicated data into finite-sized containers
EP2677694A1 (en) * 2012-06-21 2013-12-25 Thomson Licensing Method for data transfer from a first network to a second network and apparatus implementing the method
US9317709B2 (en) 2012-06-26 2016-04-19 Google Inc. System and method for detecting and integrating with native applications enabled for web-based storage
TW201401074A (en) * 2012-06-26 2014-01-01 Quanta Comp Inc Mechanism and system for deploying software over clouds
US9600376B1 (en) * 2012-07-02 2017-03-21 Veritas Technologies Llc Backup and replication configuration using replication topology
US10692162B2 (en) * 2012-07-06 2020-06-23 Sap Se Managing a legal hold on cloud documents
US20140108617A1 (en) * 2012-07-12 2014-04-17 Unisys Corporation Data storage in cloud computing
US9076021B2 (en) * 2012-07-16 2015-07-07 Compellent Technologies Encryption/decryption for data storage system with snapshot capability
US9092455B2 (en) 2012-07-17 2015-07-28 Microsoft Technology Licensing, Llc Image curation
US9047410B2 (en) * 2012-07-18 2015-06-02 Infosys Limited Cloud-based application testing
US20140025796A1 (en) 2012-07-19 2014-01-23 Commvault Systems, Inc. Automated grouping of computing devices in a networked data storage system
US9275086B2 (en) 2012-07-20 2016-03-01 Commvault Systems, Inc. Systems and methods for database archiving
US9971787B2 (en) 2012-07-23 2018-05-15 Red Hat, Inc. Unified file and object data storage
US9086819B2 (en) * 2012-07-25 2015-07-21 Anoosmar Technologies Private Limited System and method for combining deduplication and encryption of data
US10872095B2 (en) 2012-07-26 2020-12-22 Mongodb, Inc. Aggregation framework system architecture and method
US11544284B2 (en) 2012-07-26 2023-01-03 Mongodb, Inc. Aggregation framework system architecture and method
US10528262B1 (en) * 2012-07-26 2020-01-07 EMC IP Holding Company LLC Replication-based federation of scalable data across multiple sites
US8972405B1 (en) * 2012-07-26 2015-03-03 Emc Corporation Storage resource management information modeling in a cloud processing environment
US11403317B2 (en) 2012-07-26 2022-08-02 Mongodb, Inc. Aggregation framework system architecture and method
US20140040580A1 (en) 2012-07-31 2014-02-06 Commvault Systems, Inc. Administering a shared, on-line pool of data storage resources for performing data storage operations
US10152398B2 (en) 2012-08-02 2018-12-11 At&T Intellectual Property I, L.P. Pipelined data replication for disaster recovery
US20140046708A1 (en) * 2012-08-07 2014-02-13 Oracle International Corporation Systems and methods for determining a cloud-based customer lifetime value
US20140047099A1 (en) * 2012-08-08 2014-02-13 International Business Machines Corporation Performance monitor for multiple cloud computing environments
CN103577503A (en) * 2012-08-10 2014-02-12 鸿富锦精密工业(深圳)有限公司 Cloud file storage system and method
US10057318B1 (en) 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US8938481B2 (en) 2012-08-13 2015-01-20 Commvault Systems, Inc. Generic file level restore from a block-level secondary copy
US8881244B2 (en) * 2012-08-13 2014-11-04 International Business Machines Corporation Authorizing computing resource access based on calendar events in a networked computing environment
US9026498B2 (en) 2012-08-13 2015-05-05 Commvault Systems, Inc. Lightweight mounting of a secondary copy of file system data
US8805779B2 (en) * 2012-08-14 2014-08-12 Longsand Limited Applying an action on a data item according to a classification and a data management policy
US9167050B2 (en) * 2012-08-16 2015-10-20 Futurewei Technologies, Inc. Control pool based enterprise policy enabler for controlled cloud access
US10878042B2 (en) * 2012-08-17 2020-12-29 Twitter, Inc. Search infrastructure
US9548908B2 (en) * 2012-08-21 2017-01-17 Cisco Technology, Inc. Flow de-duplication for network monitoring
WO2014031618A2 (en) * 2012-08-22 2014-02-27 Bitvore Corp. Data relationships storage platform
US20140059108A1 (en) * 2012-08-27 2014-02-27 Microsoft Corporation Unified communication interface for distributed computing
US9251517B2 (en) * 2012-08-28 2016-02-02 International Business Machines Corporation Optimizing service factors for computing resources in a networked computing environment
US20140067994A1 (en) 2012-08-29 2014-03-06 Krishna P. Puttaswamy Naga Reducing costs related to use of networks based on pricing heterogeneity
US9778856B2 (en) 2012-08-30 2017-10-03 Microsoft Technology Licensing, Llc Block-level access to parallel storage
WO2014036403A2 (en) * 2012-08-31 2014-03-06 Pkware, Inc. System and methods for data verification and replay prevention
US9838370B2 (en) 2012-09-07 2017-12-05 Oracle International Corporation Business attribute driven sizing algorithms
US9621435B2 (en) 2012-09-07 2017-04-11 Oracle International Corporation Declarative and extensible model for provisioning of cloud based services
US9792338B2 (en) 2012-09-07 2017-10-17 Oracle International Corporation Role assignments in a cloud infrastructure
US10148530B2 (en) 2012-09-07 2018-12-04 Oracle International Corporation Rule based subscription cloning
US9542400B2 (en) * 2012-09-07 2017-01-10 Oracle International Corporation Service archive support
US9467355B2 (en) 2012-09-07 2016-10-11 Oracle International Corporation Service association model
US9495377B2 (en) 2012-09-12 2016-11-15 International Business Machines Corporation Secure deletion operations in a wide area network
TWI452890B (en) * 2012-09-17 2014-09-11 Univ Kun Shan Chaotic image encryption method for cloud album
US9582481B2 (en) 2012-09-29 2017-02-28 Apple Inc. Mechanism for partial document restore
EP2864887A1 (en) * 2012-10-01 2015-04-29 Hitachi, Ltd. Backup and restore system for a deduplicated file system and corresponding server and method
US9785647B1 (en) 2012-10-02 2017-10-10 Axcient, Inc. File system virtualization
US9053340B2 (en) 2012-10-12 2015-06-09 Citrix Systems, Inc. Enterprise application store for an orchestration framework for connected devices
US9516022B2 (en) 2012-10-14 2016-12-06 Getgo, Inc. Automated meeting room
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
US20140109171A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Providing Virtualized Private Network tunnels
US20140108615A1 (en) * 2012-10-16 2014-04-17 Norifumi Takaya Method and apparatus for managing a catalog of media content
US9122647B2 (en) * 2012-10-16 2015-09-01 Dell Products, L.P. System and method to backup objects on an object storage platform
EP2909715B1 (en) 2012-10-16 2022-12-14 Citrix Systems, Inc. Application wrapping for application management framework
US9971585B2 (en) 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
US20140108793A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
US9606774B2 (en) 2012-10-16 2017-03-28 Citrix Systems, Inc. Wrapping an application with field-programmable business logic
US20140108332A1 (en) * 2012-10-17 2014-04-17 Dell Products L.P. System and method for migration and deduplication of digital assets
US8996478B2 (en) * 2012-10-18 2015-03-31 Netapp, Inc. Migrating deduplicated data
TW201416873A (en) * 2012-10-19 2014-05-01 Apacer Technology Inc File sharing method for web storage system
US10379910B2 (en) 2012-10-26 2019-08-13 Syntel, Inc. System and method for evaluation of migration of applications to the cloud
SG11201501347TA (en) * 2012-10-30 2015-03-30 Soda Private Ltd Method and system for secure computer file management and storage having high level of usability
US9647906B2 (en) * 2012-11-02 2017-05-09 Rockwell Automation Technologies, Inc. Cloud based drive monitoring solution
US9081843B2 (en) * 2012-11-06 2015-07-14 Tibco Software Inc. Data replication protocol with steady state data distribution and quorum formation
CN103812882B (en) * 2012-11-06 2018-01-30 腾讯科技(深圳)有限公司 A kind of method and system of file transmission
US9418130B2 (en) 2012-11-06 2016-08-16 Tibco Software, Inc. Data replication protocol with efficient update of replica machines
US9852140B1 (en) 2012-11-07 2017-12-26 Axcient, Inc. Efficient file replication
US9747296B2 (en) * 2012-11-12 2017-08-29 Samsung Electronics Co., Ltd. Method and apparatus for managing storage space on storage device in an electronic apparatus by using context data and user profile data
US8930328B2 (en) * 2012-11-13 2015-01-06 Hitachi, Ltd. Storage system, storage system control method, and storage control device
US9209973B2 (en) * 2012-11-20 2015-12-08 Google Inc. Delegate authorization in cloud-based storage system
WO2014081824A2 (en) * 2012-11-21 2014-05-30 Blekko, Inc. Search engine results
US9160809B2 (en) 2012-11-26 2015-10-13 Go Daddy Operating Company, LLC DNS overriding-based methods of accelerating content delivery
US9141669B2 (en) 2013-01-22 2015-09-22 Go Daddy Operating Company, LLC Configuring an origin server content delivery using a pulled data list
US20140149742A1 (en) * 2012-11-28 2014-05-29 Arnold Yau Method and system of providing authentication of user access to a computer resource via a mobile device using multiple separate security factors
US10102510B2 (en) 2012-11-28 2018-10-16 Hoverkey Ltd. Method and system of conducting a cryptocurrency payment via a mobile device using a contactless token to store and protect a user's secret key
GB201221433D0 (en) 2012-11-28 2013-01-09 Hoverkey Ltd A method and system of providing authentication of user access to a computer resource on a mobile device
US8983961B2 (en) 2012-11-29 2015-03-17 International Business Machines Corporation High availability for cloud servers
US9268860B2 (en) 2012-12-02 2016-02-23 At&T Intellectual Property I, L.P. Methods, systems, and products for personalized monitoring of data
US9584584B2 (en) 2012-12-04 2017-02-28 Pixia Corp. Method and system of storing data files
US8924425B1 (en) * 2012-12-06 2014-12-30 Netapp, Inc. Migrating data from legacy storage systems to object storage systems
US9563628B1 (en) * 2012-12-11 2017-02-07 EMC IP Holding Company LLC Method and system for deletion handling for incremental file migration
US9348840B2 (en) * 2012-12-14 2016-05-24 Intel Corporation Adaptive data striping and replication across multiple storage clouds for high availability and performance
US9264499B2 (en) 2012-12-14 2016-02-16 Intel Corporation Cloud data storage location monitoring
US10044808B2 (en) * 2012-12-20 2018-08-07 Software Ag Usa, Inc. Heterogeneous cloud-store provider access systems, and/or associated methods
US20140181438A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Filtered reference copy of secondary storage data in a data storage system
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9268797B2 (en) * 2012-12-21 2016-02-23 Zetta Inc. Systems and methods for on-line backup and disaster recovery
US20140181047A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to protect deleted files
US9201906B2 (en) 2012-12-21 2015-12-01 Commvault Systems, Inc. Systems and methods to perform data backup in data storage systems
US20140181441A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Identifying files for multiple secondary copy operations using data obtained during backup of primary storage
US9069799B2 (en) 2012-12-27 2015-06-30 Commvault Systems, Inc. Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
US10311014B2 (en) * 2012-12-28 2019-06-04 Iii Holdings 2, Llc System, method and computer readable medium for offloaded computation of distributed application protocols within a cluster of data processing nodes
EP3425493A1 (en) * 2012-12-28 2019-01-09 Huawei Technologies Co., Ltd. Data processing method and apparatus
US9075529B2 (en) 2013-01-04 2015-07-07 International Business Machines Corporation Cloud based data migration and replication
US9152639B2 (en) 2013-01-04 2015-10-06 Hitachi, Ltd. Method and apparatus to transfer file data to a cloud environment
GB2509709A (en) 2013-01-09 2014-07-16 Ibm Transparent encryption/decryption gateway for cloud storage services
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9804930B2 (en) * 2013-01-11 2017-10-31 Commvault Systems, Inc. Partial file restore in a data storage system
US9262435B2 (en) 2013-01-11 2016-02-16 Commvault Systems, Inc. Location-based data synchronization management
US9760444B2 (en) 2013-01-11 2017-09-12 Commvault Systems, Inc. Sharing of secondary storage data
US9483489B2 (en) 2013-01-14 2016-11-01 Commvault Systems, Inc. Partial sharing of secondary storage files in a data storage system
US8904503B2 (en) * 2013-01-15 2014-12-02 Symantec Corporation Systems and methods for providing access to data accounts within user profiles via cloud-based storage services
US20140201233A1 (en) * 2013-01-15 2014-07-17 Tencent Technology (Shenzhen) Company Limited Method, device, and system for uploading data
US9015123B1 (en) * 2013-01-16 2015-04-21 Netapp, Inc. Methods and systems for identifying changed data in an expandable storage volume
US10277465B2 (en) * 2013-01-22 2019-04-30 Proofpoint, Inc. System, apparatus and method for dynamically updating the configuration of a network device
US9384208B2 (en) 2013-01-22 2016-07-05 Go Daddy Operating Company, LLC Configuring a cached website file removal using a pulled data list
US9179246B2 (en) 2013-01-29 2015-11-03 International Business Machines Corporation Direction coupling discrimination of networked exchanges
US9946691B2 (en) 2013-01-30 2018-04-17 Microsoft Technology Licensing, Llc Modifying a document with separately addressable content blocks
US9438493B2 (en) 2013-01-31 2016-09-06 Go Daddy Operating Company, LLC Monitoring network entities via a central monitoring system
US9645950B2 (en) * 2013-01-31 2017-05-09 Vmware, Inc. Low-cost backup and edge caching using unused disk blocks
WO2014120196A1 (en) * 2013-01-31 2014-08-07 Hewlett Packard Development Company, L.P. Use of resource server for imaging device application payload
US9667724B2 (en) 2013-01-31 2017-05-30 Hewlett-Packard Development Company, L.P. Cloud off-ramp management
US20140222866A1 (en) 2013-02-01 2014-08-07 Google Inc. Accessing objects in hosted storage
US8983908B2 (en) 2013-02-15 2015-03-17 Red Hat, Inc. File link migration for decommisioning a storage server
US10275397B2 (en) 2013-02-22 2019-04-30 Veritas Technologies Llc Deduplication storage system with efficient reference updating and space reclamation
US10318492B2 (en) * 2013-02-25 2019-06-11 Amazon Technologies, Inc. Predictive storage service
US8682870B1 (en) 2013-03-01 2014-03-25 Storagecraft Technology Corporation Defragmentation during multiphase deduplication
US8738577B1 (en) 2013-03-01 2014-05-27 Storagecraft Technology Corporation Change tracking for multiphase deduplication
US8874527B2 (en) 2013-03-01 2014-10-28 Storagecraft Technology Corporation Local seeding of a restore storage for restoring a backup from a remote deduplication vault storage
US8732135B1 (en) 2013-03-01 2014-05-20 Storagecraft Technology Corporation Restoring a backup from a deduplication vault storage
US11023487B2 (en) 2013-03-04 2021-06-01 Sap Se Data replication for cloud based in-memory databases
US9292153B1 (en) 2013-03-07 2016-03-22 Axcient, Inc. Systems and methods for providing efficient and focused visualization of data
KR101505263B1 (en) * 2013-03-07 2015-03-24 포항공과대학교 산학협력단 Method for de-duplicating data and apparatus therefor
US9397907B1 (en) 2013-03-07 2016-07-19 Axcient, Inc. Protection status determinations for computing devices
US9864755B2 (en) 2013-03-08 2018-01-09 Go Daddy Operating Company, LLC Systems for associating an online file folder with a uniform resource locator
US20140281518A1 (en) 2013-03-12 2014-09-18 Commvault Systems, Inc. Multi-tier file restoration
US11252633B2 (en) * 2013-03-12 2022-02-15 Gerald Douglas Hosier, JR. Online systems and methods for advancing information organization sharing and collective action
TW201435612A (en) * 2013-03-12 2014-09-16 Hon Hai Prec Ind Co Ltd Storage space expanding system and method
US9325791B1 (en) 2013-03-12 2016-04-26 Western Digital Technologies, Inc. Cloud storage brokering service
US9116849B2 (en) * 2013-03-13 2015-08-25 Intel Corporation Community-based de-duplication for encrypted data
US9043439B2 (en) 2013-03-14 2015-05-26 Cisco Technology, Inc. Method for streaming packet captures from network access devices to a cloud server over HTTP
US20140266801A1 (en) * 2013-03-14 2014-09-18 Infinite Computing Systems, Inc. Digital Parking Management, Enforcement, and Notification
KR101712082B1 (en) * 2013-03-14 2017-03-03 인텔 코포레이션 Managing data in a cloud computing environment using management metadata
US9781118B2 (en) 2013-03-14 2017-10-03 Intel Corporation Differentiated containerization and execution of web content based on trust level and other attributes
US9767299B2 (en) 2013-03-15 2017-09-19 Mymail Technology, Llc Secure cloud data sharing
US9818127B2 (en) * 2013-03-15 2017-11-14 International Business Machines Corporation Implementing comparison of cloud service provider package offerings
US20150156065A1 (en) * 2013-03-15 2015-06-04 Gravitant, Inc. Policy management functionality within a cloud service brokerage platform
US9802124B2 (en) 2013-03-15 2017-10-31 Skyera, Llc Apparatus and method for cloning and snapshotting in multi-dimensional to linear address space translation
US9865222B2 (en) * 2013-03-15 2018-01-09 Videri Inc. Systems and methods for displaying, distributing, viewing, and controlling digital art and imaging
WO2014144005A1 (en) * 2013-03-15 2014-09-18 Jadhav Ajay Use of collaborative server in a cloud-based environment
US9354983B1 (en) * 2013-03-15 2016-05-31 Entreda, Inc. Integrated it service provisioning and management
US9804994B2 (en) * 2013-03-15 2017-10-31 Microsoft Technology Licensing, Llc Application architecture supporting multiple services and caching
US20140278807A1 (en) * 2013-03-15 2014-09-18 Cloudamize, Inc. Cloud service optimization for cost, performance and configuration
US9565139B2 (en) * 2013-03-15 2017-02-07 Comcast Cable Communications, Llc Remote latency adjustment
US9740420B2 (en) * 2013-03-21 2017-08-22 Hitachi, Ltd. Storage system and data management method
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
KR20140119855A (en) * 2013-03-27 2014-10-13 주식회사 팬택 Mobile device and file management method therefor
US20150381754A1 (en) * 2013-03-28 2015-12-31 Qualcomm Incorporated Unifying cloud services for online sharing
WO2014160934A1 (en) 2013-03-28 2014-10-02 Google Inc. System and method to store third-party metadata in a cloud storage system
US8910264B2 (en) 2013-03-29 2014-12-09 Citrix Systems, Inc. Providing mobile device management functionalities
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US9413736B2 (en) 2013-03-29 2016-08-09 Citrix Systems, Inc. Providing an enterprise application store
US9276973B2 (en) * 2013-03-29 2016-03-01 Philip Scott Lyren Peer-to-peer data storage
US8849979B1 (en) 2013-03-29 2014-09-30 Citrix Systems, Inc. Providing mobile device management functionalities
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US8813179B1 (en) * 2013-03-29 2014-08-19 Citrix Systems, Inc. Providing mobile device management functionalities
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US9569476B2 (en) 2013-04-02 2017-02-14 International Business Machines Corporation Intelligent data routing and storage provisioning
US10785029B2 (en) * 2018-10-31 2020-09-22 Nutanix, Inc. Systems and methods for pairing on-premise clusters to clouds using identity service providers
US9286006B2 (en) * 2013-04-05 2016-03-15 Netapp, Inc. Systems and methods for scheduling deduplication of a storage system
US9405635B2 (en) 2013-04-16 2016-08-02 Commvault Systems, Inc. Multi-source restore in an information management system
US9552382B2 (en) 2013-04-23 2017-01-24 Exablox Corporation Reference counter integrity checking
US10339112B1 (en) * 2013-04-25 2019-07-02 Veritas Technologies Llc Restoring data in deduplicated storage
US9483364B2 (en) 2013-05-08 2016-11-01 Commvault Systems, Inc. Synchronization of local secondary copies with a remote storage management component
US9170996B2 (en) 2013-05-16 2015-10-27 Bank Of America Corporation Content interchange bus
US10496490B2 (en) 2013-05-16 2019-12-03 Hewlett Packard Enterprise Development Lp Selecting a store for deduplicated data
WO2014185918A1 (en) * 2013-05-16 2014-11-20 Hewlett-Packard Development Company, L.P. Selecting a store for deduplicated data
EP2997474B1 (en) 2013-05-16 2021-10-06 Hewlett Packard Enterprise Development LP Reporting degraded state of data retrieved for distributed object
US9483558B2 (en) 2013-05-29 2016-11-01 Commvault Systems, Inc. Assessing user performance in a community of users of data storage resources
US9602598B2 (en) 2013-05-29 2017-03-21 International Business Machines Corporation Coordinating application migration processes
CN104216793B (en) 2013-05-31 2017-10-17 国际商业机器公司 Application Backup, the method and apparatus recovered
US9213715B2 (en) 2013-06-03 2015-12-15 International Business Machines Corporation De-duplication with partitioning advice and automation
US9280551B2 (en) 2013-06-03 2016-03-08 International Business Machines Corporation De-duplication deployment planning
US20140365877A1 (en) * 2013-06-05 2014-12-11 Apple Inc. File History Tagging
JP2016526717A (en) 2013-06-12 2016-09-05 エグザブロックス・コーポレーション Hybrid garbage collection
US9384223B2 (en) 2013-06-13 2016-07-05 Bank Of America Corporation Automation of MLOAD and TPUMP conversion
US9384234B2 (en) 2013-06-13 2016-07-05 Bank Of America Corporation Identification of load utility
US10631019B2 (en) 2013-06-18 2020-04-21 Vecima Networks Inc. Remote storage digital video recording optimization method and system
EP3011428A4 (en) 2013-06-19 2017-02-22 Exablox Corporation Data scrubbing in cluster-based storage systems
CN103365971A (en) * 2013-06-27 2013-10-23 北京中科金财科技股份有限公司 Mass data access processing system based on cloud computing
US10157107B2 (en) 2013-07-03 2018-12-18 Catalogic Software, Inc. Data backup and progressive restoration using data chunks in cloud storage and a data cache
US9934242B2 (en) 2013-07-10 2018-04-03 Exablox Corporation Replication of data between mirrored data sites
US9141789B1 (en) 2013-07-16 2015-09-22 Go Daddy Operating Company, LLC Mitigating denial of service attacks
TW201504816A (en) * 2013-07-19 2015-02-01 Richplay Information Co Ltd Cloud hard drive management method
US9286328B2 (en) 2013-07-19 2016-03-15 International Business Machines Corporation Producing an image copy of a database object based on information within database buffer pools
US10223401B2 (en) 2013-08-15 2019-03-05 International Business Machines Corporation Incrementally retrieving data for objects to provide a desired level of detail
US11422907B2 (en) 2013-08-19 2022-08-23 Microsoft Technology Licensing, Llc Disconnected operation for systems utilizing cloud storage
CN103473121A (en) * 2013-08-20 2013-12-25 西安电子科技大学 Mass image parallel processing method based on cloud computing platform
US11526403B1 (en) * 2013-08-23 2022-12-13 Acronis International Gmbh Using a storage path to facilitate disaster recovery
US9311252B2 (en) 2013-08-26 2016-04-12 Globalfoundries Inc. Hierarchical storage for LSM-based NoSQL stores
US9348531B1 (en) 2013-09-06 2016-05-24 Western Digital Technologies, Inc. Negative pool management for deduplication
US20150074275A1 (en) * 2013-09-10 2015-03-12 International Business Machines Corporation Mobile application data storage allocation
US9412455B2 (en) * 2013-09-11 2016-08-09 Kabushiki Kaisha Toshiba Data write control device and data storage device
CN104462129B (en) * 2013-09-22 2018-05-25 北大方正集团有限公司 Distributed document stores and querying method and access system
US20150088826A1 (en) * 2013-09-25 2015-03-26 Futurewei Technologies, Inc. Enhanced Performance for Data Duplication
US9767222B2 (en) * 2013-09-27 2017-09-19 International Business Machines Corporation Information sets for data management
IN2013MU03094A (en) * 2013-09-27 2015-07-17 Tata Consultancy Services Ltd
US9442700B2 (en) 2013-09-30 2016-09-13 MuleSoft, Inc. API notebook tool
US9559915B2 (en) * 2013-10-01 2017-01-31 Blazemeter Ltd. System and method for dynamically testing networked target systems
JP2015072629A (en) * 2013-10-03 2015-04-16 富士通株式会社 Data processing program and data processing method
WO2015053766A1 (en) * 2013-10-09 2015-04-16 Intel Corporation Technology for managing cloud storage
US9336260B2 (en) * 2013-10-16 2016-05-10 Netapp, Inc. Technique for global deduplication across datacenters with minimal coordination
US10248556B2 (en) 2013-10-16 2019-04-02 Exablox Corporation Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session
CN104572340A (en) * 2013-10-18 2015-04-29 宇宙互联有限公司 Incremental backup system and method
US9531722B1 (en) 2013-10-31 2016-12-27 Google Inc. Methods for generating an activity stream
WO2015065468A1 (en) * 2013-11-01 2015-05-07 Longsand Limited Asset browsing and restoration over a network using pre-staging and directory storage
US9590886B2 (en) 2013-11-01 2017-03-07 Commvault Systems, Inc. Systems and methods for differential health checking of an information management system
WO2015065470A1 (en) * 2013-11-01 2015-05-07 Longsand Limited Asset browsing and restoration over a network using on demand staging
EP3066636A4 (en) * 2013-11-06 2017-04-26 Intel Corporation Unifying interface for cloud content sharing services
US9542457B1 (en) 2013-11-07 2017-01-10 Google Inc. Methods for displaying object history information
US9614880B1 (en) 2013-11-12 2017-04-04 Google Inc. Methods for real-time notifications in an activity stream
CN103581196B (en) * 2013-11-13 2016-05-11 上海众人网络安全技术有限公司 Distributed document transparent encryption method and transparent decryption method
US9514327B2 (en) 2013-11-14 2016-12-06 Intralinks, Inc. Litigation support in cloud-hosted file sharing and collaboration
US9613116B2 (en) 2013-11-15 2017-04-04 Workday, Inc. Identifying and formatting data for data migration
US20150150013A1 (en) * 2013-11-25 2015-05-28 International Business Machines Corporation Reducing job credentials management load
TWI514811B (en) * 2013-11-28 2015-12-21 Synology Inc Method for controlling operations of network system
US9886448B2 (en) * 2013-12-06 2018-02-06 Media Gobbler, Inc. Managing downloads of large data sets
US20150161334A1 (en) * 2013-12-11 2015-06-11 William M. Boushka Distribution of medical report
US9985829B2 (en) 2013-12-12 2018-05-29 Exablox Corporation Management and provisioning of cloud connected devices
US11379425B1 (en) * 2013-12-18 2022-07-05 Open Text Corporation Optimizing synchronization of content management servers
US9313299B2 (en) * 2013-12-18 2016-04-12 Verizon Patent And Licensing Inc. Cloud edge appliances to extend cloud applications to customer premises
US10877945B1 (en) * 2013-12-20 2020-12-29 EMC IP Holding Company LLC Optimized block storage for change block tracking systems
IN2013CH05992A (en) * 2013-12-20 2015-06-26 Infosys Ltd
US9384206B1 (en) * 2013-12-26 2016-07-05 Emc Corporation Managing data deduplication in storage systems
TWI510932B (en) * 2013-12-27 2015-12-01 Wistron Corp Block storage gateway module, mediator system for storage, cloud storage system, method for providing access to block storage, mediating method for storage, and content delivery apparatus
US10331895B1 (en) * 2014-01-07 2019-06-25 Amazon Technologies, Inc. Forced data transformation policy
US9519696B1 (en) 2014-01-07 2016-12-13 Amazon Technologies, Inc. Data transformation policies
US9898476B2 (en) * 2014-01-22 2018-02-20 Futurewei Technologies, Inc. Managing lock or latch in concurrent execution of queries
US9639549B2 (en) 2014-01-24 2017-05-02 International Business Machines Corporation Hybrid of proximity and identity similarity based deduplication in a data deduplication system
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
JP6197666B2 (en) * 2014-01-27 2017-09-20 富士通株式会社 Storage device, replication method, and replication program
US8751454B1 (en) 2014-01-28 2014-06-10 Storagecraft Technology Corporation Virtual defragmentation in a deduplication vault
WO2015116078A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Memory data versioning
US9774582B2 (en) 2014-02-03 2017-09-26 Exablox Corporation Private cloud connected device cluster architecture
US9830324B2 (en) 2014-02-04 2017-11-28 Exablox Corporation Content based organization of file systems
US9798631B2 (en) 2014-02-04 2017-10-24 Microsoft Technology Licensing, Llc Block storage by decoupling ordering from durability
US9509772B1 (en) 2014-02-13 2016-11-29 Google Inc. Visualization and control of ongoing ingress actions
US10133741B2 (en) 2014-02-13 2018-11-20 Amazon Technologies, Inc. Log data service in a virtual environment
US20150234775A1 (en) * 2014-02-14 2015-08-20 Western Digital Technologies, Inc. Enabling file oriented access on storage devices
US9665633B2 (en) 2014-02-19 2017-05-30 Snowflake Computing, Inc. Data management systems and methods
US9646016B2 (en) * 2014-02-20 2017-05-09 2Mandarins Ltd. Methods circuits apparatuses systems and associated computer executable code for data deduplication
US9444735B2 (en) 2014-02-27 2016-09-13 Cisco Technology, Inc. Contextual summarization tag and type match using network subnetting
US11016941B2 (en) 2014-02-28 2021-05-25 Red Hat, Inc. Delayed asynchronous file replication in a distributed file system
US10395024B2 (en) 2014-03-04 2019-08-27 Adobe Inc. Authentication for online content using an access token
US9794078B2 (en) * 2014-03-05 2017-10-17 Ricoh Company, Ltd. Fairly adding documents to a collaborative session
US9646012B1 (en) * 2014-03-06 2017-05-09 Veritas Technologies Llc Caching temporary data in solid state storage devices
US9886457B2 (en) * 2014-03-10 2018-02-06 International Business Machines Corporation Deduplicated data processing hierarchical rate control in a data deduplication system
US9633026B2 (en) 2014-03-13 2017-04-25 Commvault Systems, Inc. Systems and methods for protecting email data
US20150261811A1 (en) * 2014-03-14 2015-09-17 Netapp, Inc. Methods and systems for detecting data container modification
US20150269032A1 (en) * 2014-03-18 2015-09-24 Netapp, Inc. Backing up data to cloud data storage while maintaining storage efficiency
US9965505B2 (en) 2014-03-19 2018-05-08 Red Hat, Inc. Identifying files in change logs using file content location identifiers
US10025808B2 (en) 2014-03-19 2018-07-17 Red Hat, Inc. Compacting change logs using file content location identifiers
US9986029B2 (en) 2014-03-19 2018-05-29 Red Hat, Inc. File replication using file content location identifiers
US9762637B2 (en) 2014-03-21 2017-09-12 Ptc Inc. System and method of using binary dynamic rest messages
US10313410B2 (en) 2014-03-21 2019-06-04 Ptc Inc. Systems and methods using binary dynamic rest messages
US9462085B2 (en) * 2014-03-21 2016-10-04 Ptc Inc. Chunk-based communication of binary dynamic rest messages
US9560170B2 (en) 2014-03-21 2017-01-31 Ptc Inc. System and method of abstracting communication protocol using self-describing messages
US9961058B2 (en) 2014-03-21 2018-05-01 Ptc Inc. System and method of message routing via connection servers in a distributed computing environment
US11294771B1 (en) * 2014-03-24 2022-04-05 EMC IP Holding Company LLC Storage of discovered data object to storage layouts
WO2015145661A1 (en) * 2014-03-27 2015-10-01 株式会社日立製作所 Storage system and method for eliminating duplicate data
US11055258B2 (en) * 2014-04-02 2021-07-06 International Business Machines Corporation Directly accessing archived data and executable files
US9755858B2 (en) 2014-04-15 2017-09-05 Cisco Technology, Inc. Programmable infrastructure gateway for enabling hybrid cloud services in a network environment
US9823978B2 (en) * 2014-04-16 2017-11-21 Commvault Systems, Inc. User-level quota management of data objects stored in information management systems
US10713379B2 (en) * 2014-04-21 2020-07-14 David Lane Smith Distributed storage system for long term data storage
US10069914B1 (en) 2014-04-21 2018-09-04 David Lane Smith Distributed storage system for long term data storage
GB2530685A (en) 2014-04-23 2016-03-30 Intralinks Inc Systems and methods of secure data exchange
US20150312331A1 (en) * 2014-04-25 2015-10-29 Shinkuro, Inc. System and Method for Group Collaboration Using a Distributed Network File Repository
US9830593B2 (en) 2014-04-26 2017-11-28 Ss8 Networks, Inc. Cryptographic currency user directory data and enhanced peer-verification ledger synthesis through multi-modal cryptographic key-address mapping
US20170046199A1 (en) * 2014-04-30 2017-02-16 Hewlett-Packard Development Company, L.P. Migrating objects from a source service to a target service
US10635645B1 (en) 2014-05-04 2020-04-28 Veritas Technologies Llc Systems and methods for maintaining aggregate tables in databases
WO2015171835A1 (en) * 2014-05-06 2015-11-12 Tivo Inc. Cloud-based media content management
US9792187B2 (en) 2014-05-06 2017-10-17 Actifio, Inc. Facilitating test failover using a thin provisioned virtual machine created from a snapshot
US9473365B2 (en) 2014-05-08 2016-10-18 Cisco Technology, Inc. Collaborative inter-service scheduling of logical resources in cloud platforms
WO2015172107A1 (en) 2014-05-09 2015-11-12 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
EP3127300B1 (en) * 2014-05-12 2019-09-04 Google LLC Managing nic-encrypted flows for migrating guests or tasks
US9606873B2 (en) 2014-05-13 2017-03-28 International Business Machines Corporation Apparatus, system and method for temporary copy policy
WO2015175854A2 (en) * 2014-05-15 2015-11-19 Cryptyk, Inc. (Trading As Bitsavr Inc.) System and method for digital currency storage, payment and credit
US10465492B2 (en) 2014-05-20 2019-11-05 KATA Systems LLC System and method for oil and condensate processing
US9614826B1 (en) * 2014-05-20 2017-04-04 Symantec Corporation Sensitive data protection
WO2015178993A1 (en) * 2014-05-20 2015-11-26 Cloudifyd, Inc. Method and system for integrated cloud storage management
US9848045B2 (en) 2014-05-27 2017-12-19 Commvault Systems, Inc. Offline messaging between a repository storage operation cell and remote storage operation cells via an intermediary media agent
US9619550B1 (en) * 2014-05-29 2017-04-11 EMC IP Holding Company LLC Computing resource re-provisioning during data analytic lifecycle
US9645888B1 (en) * 2014-06-02 2017-05-09 EMC IP Holding Company LLC Caching of backup chunks
US9536199B1 (en) 2014-06-09 2017-01-03 Google Inc. Recommendations based on device usage
US9507791B2 (en) 2014-06-12 2016-11-29 Google Inc. Storage system user interface with floating file collection
US10346188B1 (en) * 2014-06-13 2019-07-09 Veritas Technologies Llc Booting virtual machine instances in a distributed data processing architecture
US10078781B2 (en) 2014-06-13 2018-09-18 Google Llc Automatically organizing images
US10652193B2 (en) * 2014-06-18 2020-05-12 Western Digital Technologies, Inc. Managing and accessing data storage systems
RU2589861C2 (en) 2014-06-20 2016-07-10 Закрытое акционерное общество "Лаборатория Касперского" System and method of user data encryption
US10965608B2 (en) * 2014-06-24 2021-03-30 Keepsayk LLC Mobile supercloud computing system and method
US20160004605A1 (en) 2014-07-01 2016-01-07 Commvault Systems, Inc. Lightweight data reconstruction based on backup data
US10122605B2 (en) 2014-07-09 2018-11-06 Cisco Technology, Inc Annotation of network activity through different phases of execution
US20170255664A1 (en) * 2014-07-10 2017-09-07 Nikhir Kumar Data Interchange De-duplication Vault (D.I.D.V.)
US9430387B2 (en) 2014-07-16 2016-08-30 ClearSky Data Decoupling data and metadata in hierarchical cache system
US9684594B2 (en) 2014-07-16 2017-06-20 ClearSky Data Write back coordination node for cache latency correction
US9652389B2 (en) 2014-07-16 2017-05-16 ClearSky Data Hash discriminator process for hierarchical cache system
US20160019117A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Creating customized bootable image for client computing device from backup copy
US20160019224A1 (en) * 2014-07-18 2016-01-21 Commvault Systems, Inc. File system content archiving based on third-party application archiving rules and metadata
US20160019210A1 (en) 2014-07-21 2016-01-21 Dropbox, Inc. Sharing unmanaged content using a content management system
US9565253B2 (en) 2014-07-21 2017-02-07 International Business Machines Corporation Scalable approach to manage storage volumes across heterogenous cloud systems
US10826930B2 (en) 2014-07-22 2020-11-03 Nuix Pty Ltd Systems and methods for parallelized custom data-processing and search
US10031917B2 (en) 2014-07-29 2018-07-24 Commvault Systems, Inc. Efficient volume-level replication of data via snapshots in an information management system
US10324733B2 (en) 2014-07-30 2019-06-18 Microsoft Technology Licensing, Llc Shutdown notifications
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US9787576B2 (en) 2014-07-31 2017-10-10 Microsoft Technology Licensing, Llc Propagating routing awareness for autonomous networks
US9836464B2 (en) 2014-07-31 2017-12-05 Microsoft Technology Licensing, Llc Curating media from social connections
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
JP6365085B2 (en) * 2014-08-04 2018-08-01 富士通株式会社 Data migration method and data migration apparatus
US10360110B2 (en) 2014-08-06 2019-07-23 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or iSCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US10708137B2 (en) 2014-08-07 2020-07-07 Ent. Services Development Corporation Lp Active directory topology creation
US9414417B2 (en) 2014-08-07 2016-08-09 Microsoft Technology Licensing, Llc Propagating communication awareness over a cellular network
GB2529246A (en) 2014-08-15 2016-02-17 Ibm Method for securing integrity and consistency of a cloud storage service with efficient client operations
US9860314B2 (en) 2014-08-19 2018-01-02 Ciena Corporation Data synchronization system and methods in a network using a highly-available key-value storage system
US9646010B2 (en) 2014-08-27 2017-05-09 Mokhtarzada Holdings, Llc Method and system for expanding storage capacity of a drive using cloud storage systems
FR3025340B1 (en) * 2014-08-28 2017-02-03 Bull Sas CLOUD OF DATA
US10346550B1 (en) * 2014-08-28 2019-07-09 X1 Discovery, Inc. Methods and systems for searching and indexing virtual environments
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US10581756B2 (en) * 2014-09-09 2020-03-03 Microsoft Technology Licensing, Llc Nonintrusive dynamically-scalable network load generation
US9613048B2 (en) * 2014-09-10 2017-04-04 Panzura, Inc. Sending interim notifications to a client of a distributed filesystem
US10291705B2 (en) 2014-09-10 2019-05-14 Panzura, Inc. Sending interim notifications for namespace operations for a distributed filesystem
US10630772B2 (en) 2014-09-10 2020-04-21 Panzura, Inc. Maintaining global namespace consistency for a distributed filesystem
CN105491078B (en) * 2014-09-15 2019-01-22 阿里巴巴集团控股有限公司 Data processing method and device, SOA system in SOA system
US9405928B2 (en) 2014-09-17 2016-08-02 Commvault Systems, Inc. Deriving encryption rules based on file content
CN104317800A (en) * 2014-09-19 2015-01-28 山东大学 Hybrid storage system and method for mass intelligent power utilization data
US9280683B1 (en) 2014-09-22 2016-03-08 International Business Machines Corporation Multi-service cloud storage decision optimization process
US9870476B2 (en) * 2014-09-23 2018-01-16 Accenture Global Services Limited Industrial security agent platform
US9762676B2 (en) * 2014-09-26 2017-09-12 Intel Corporation Hardware resource access systems and techniques
US9866634B1 (en) * 2014-09-26 2018-01-09 Western Digital Technologies, Inc. Managing and accessing data storage systems
US9825878B2 (en) 2014-09-26 2017-11-21 Cisco Technology, Inc. Distributed application framework for prioritizing network traffic using application priority awareness
US10268551B1 (en) * 2014-09-30 2019-04-23 EMC IP Holding Company LLC Cloud service backup system
US9832148B2 (en) 2014-10-03 2017-11-28 At&T Intellectual Property I, L.P. System and method for attaching a remotely stored attachment to an email
US10204010B2 (en) 2014-10-03 2019-02-12 Commvault Systems, Inc. Intelligent protection of off-line mail data
US9992076B2 (en) 2014-10-15 2018-06-05 Cisco Technology, Inc. Dynamic cache allocating techniques for cloud computing systems
US9521151B2 (en) 2014-10-22 2016-12-13 CloudHealth Technologies, Inc. Automated and policy driven optimization of cloud infrastructure through delegated actions
US9740879B2 (en) * 2014-10-29 2017-08-22 Sap Se Searchable encryption with secure and efficient updates
US10230571B2 (en) 2014-10-30 2019-03-12 Equinix, Inc. Microservice-based application development framework
CN107111626B (en) 2014-11-01 2021-04-02 慧与发展有限责任合伙企业 Data management for tenants
US9628350B2 (en) * 2014-11-05 2017-04-18 Amazon Technologies, Inc. Dynamic scaling of storage volumes for storage client file systems
US20160164749A1 (en) * 2014-11-07 2016-06-09 Fractal Analytics, Inc. Methods and Systems for Establishing a Centralized Analytics Environment
US9848046B2 (en) 2014-11-13 2017-12-19 Commvault Systems, Inc. Archiving applications in information management systems
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US10095768B2 (en) * 2014-11-14 2018-10-09 Veritas Technologies Llc Systems and methods for aggregating information-asset classifications
US9912625B2 (en) 2014-11-18 2018-03-06 Commvault Systems, Inc. Storage and management of mail attachments
US9864658B1 (en) * 2014-12-01 2018-01-09 Vce Company, Llc Automation of deduplication storage capacity sizing and trending analysis
US9659047B2 (en) * 2014-12-03 2017-05-23 Netapp, Inc. Data deduplication utilizing extent ID database
US9632713B2 (en) 2014-12-03 2017-04-25 Commvault Systems, Inc. Secondary storage editor
US20160162364A1 (en) 2014-12-03 2016-06-09 Commvault Systems, Inc. Secondary storage pruning
US9645891B2 (en) 2014-12-04 2017-05-09 Commvault Systems, Inc. Opportunistic execution of secondary copy operations
US9898477B1 (en) 2014-12-05 2018-02-20 EMC IP Holding Company LLC Writing to a site cache in a distributed file system
US9753816B2 (en) 2014-12-05 2017-09-05 Commvault Systems, Inc. Synchronization based on filtered browsing
EP3032453B1 (en) * 2014-12-08 2019-11-13 eperi GmbH Storing data in a server computer with deployable encryption/decryption infrastructure
US10013466B2 (en) * 2014-12-16 2018-07-03 Sap Se Using time information to prune queries against partitioned data
US10282475B2 (en) * 2014-12-18 2019-05-07 Microsoft Technology Licensing, Llc Generation of browser suggestions based on internet of things device data
US20170351699A1 (en) * 2014-12-22 2017-12-07 Hewlett Packard Enterprise Development Lp File value file replication
US10764037B2 (en) * 2014-12-23 2020-09-01 Nokia Technologies Oy Method and apparatus for duplicated data management in cloud computing
KR102361400B1 (en) * 2014-12-29 2022-02-10 삼성전자주식회사 Terminal for User, Apparatus for Providing Service, Driving Method of Terminal for User, Driving Method of Apparatus for Providing Service and System for Encryption Indexing-based Search
US10372684B2 (en) * 2015-01-09 2019-08-06 Quantum Corporation Metadata peering with improved inodes
US20160210044A1 (en) 2015-01-15 2016-07-21 Commvault Systems, Inc. Intelligent hybrid drive caching
CN107113314B (en) * 2015-01-19 2020-06-19 诺基亚技术有限公司 Method and device for heterogeneous data storage management in cloud computing
US9870420B2 (en) 2015-01-19 2018-01-16 Google Llc Classification and storage of documents
EP3248097B1 (en) * 2015-01-20 2022-02-09 Ultrata LLC Object memory data flow instruction execution
US9952934B2 (en) 2015-01-20 2018-04-24 Commvault Systems, Inc. Synchronizing selected portions of data in a storage management system
US9588849B2 (en) 2015-01-20 2017-03-07 Commvault Systems, Inc. Synchronizing selected portions of data in a storage management system
US10148662B1 (en) * 2015-01-21 2018-12-04 EMC IP Holding Company LLC De-duplication of access control lists
US10110572B2 (en) * 2015-01-21 2018-10-23 Oracle International Corporation Tape drive encryption in the data path
EP3248115A1 (en) 2015-01-25 2017-11-29 Iguazio Systems Ltd. Application-centric object storage
US10805394B2 (en) * 2015-01-30 2020-10-13 Hitachi, Ltd. File server apparatus having shared file system with file and directory operation processing
CN104657435B (en) * 2015-01-30 2019-09-17 新华三技术有限公司 A kind of memory management method and Network Management System using data
US10296422B1 (en) 2015-01-31 2019-05-21 Veritas Technologies Llc Low cost, heterogeneous method of transforming replicated data for consumption in the cloud
US10664535B1 (en) 2015-02-02 2020-05-26 Amazon Technologies, Inc. Retrieving log data from metric data
US10050862B2 (en) 2015-02-09 2018-08-14 Cisco Technology, Inc. Distributed application framework that uses network and application awareness for placing data
US10057347B2 (en) 2015-02-13 2018-08-21 International Business Machines Corporation Protocol independent storage discovery and enablement
US9971821B1 (en) 2015-02-17 2018-05-15 Cohesity, Inc. Search and analytics for a storage systems
US9436392B1 (en) 2015-02-17 2016-09-06 Nimble Storage, Inc. Access-based eviction of blocks from solid state drive cache memory
US10313243B2 (en) 2015-02-24 2019-06-04 Commvault Systems, Inc. Intelligent local management of data stream throttling in secondary-copy operations
US20160253339A1 (en) * 2015-02-26 2016-09-01 Bittitan, Inc. Data migration systems and methods including archive migration
US10708342B2 (en) 2015-02-27 2020-07-07 Cisco Technology, Inc. Dynamic troubleshooting workspaces for cloud and network management systems
US10037617B2 (en) 2015-02-27 2018-07-31 Cisco Technology, Inc. Enhanced user interface systems including dynamic context selection for cloud-based networks
US20160259810A1 (en) * 2015-03-06 2016-09-08 Hewlett-Packard Development Company, L.P. Global file index
US10715460B2 (en) * 2015-03-09 2020-07-14 Amazon Technologies, Inc. Opportunistic resource migration to optimize resource placement
US10069680B1 (en) * 2015-03-16 2018-09-04 Amazon Technologies, Inc. Dedicated virtual computing system servers
US10586063B2 (en) 2015-03-20 2020-03-10 Samsung Electronics Co., Ltd. Method and apparatus for storing file by using a plurality of cloud storages
US9715502B1 (en) * 2015-03-25 2017-07-25 Amazon Technologies, Inc. Distributed data migration using chunking
US9575804B2 (en) 2015-03-27 2017-02-21 Commvault Systems, Inc. Job management and resource allocation
US9928144B2 (en) 2015-03-30 2018-03-27 Commvault Systems, Inc. Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage
US9582306B2 (en) 2015-03-31 2017-02-28 At&T Intellectual Property I, L.P. Method and system to dynamically instantiate virtual repository for any services
US9697376B2 (en) * 2015-04-01 2017-07-04 Vmware, Inc. Federated cloud storage system
US10382534B1 (en) 2015-04-04 2019-08-13 Cisco Technology, Inc. Selective load balancing of network traffic
US9860322B2 (en) 2015-04-08 2018-01-02 Apple Inc. Stateless technique for distributing data uploads
US9934265B2 (en) 2015-04-09 2018-04-03 Commvault Systems, Inc. Management of log data
US9769069B2 (en) 2015-04-10 2017-09-19 At&T Intellectual Property I, L.P. Methods and apparatus to provide a consumer services cloud in a communications network
US20160301693A1 (en) * 2015-04-10 2016-10-13 Maxim Nikulin System and method for identifying and protecting sensitive data using client file digital fingerprint
US11200249B2 (en) 2015-04-16 2021-12-14 Nuix Limited Systems and methods for data indexing with user-side scripting
US10110660B2 (en) * 2015-04-20 2018-10-23 Cisco Technology, Inc. Instant file upload to a collaboration service by querying file storage systems that are both internal and external to the collaboration service
US10389663B2 (en) * 2015-04-23 2019-08-20 Microsoft Technology Licensing, Llc Automatic uploading of attachments to group cloud storage at send time
US10095807B2 (en) 2015-04-28 2018-10-09 Microsoft Technology Licensing, Llc Linked data processor for database storage
US10013431B2 (en) 2015-04-29 2018-07-03 Box, Inc. Secure cloud-based shared content
US11080284B2 (en) * 2015-05-01 2021-08-03 Microsoft Technology Licensing, Llc Hybrid search connector
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US9519433B2 (en) * 2015-05-13 2016-12-13 VSector Security Technologies, LLC Secure virtual sector erasure method and system
US9639286B2 (en) 2015-05-14 2017-05-02 Commvault Systems, Inc. Restore of secondary data using thread pooling
US9886333B2 (en) 2015-05-14 2018-02-06 International Business Machines Corporation Command-based storage scenario prediction
US10476982B2 (en) 2015-05-15 2019-11-12 Cisco Technology, Inc. Multi-datacenter message queue
WO2016183795A1 (en) 2015-05-19 2016-11-24 Guangzhou Ucweb Computer Technology Co., Ltd. Method, apparatus for loading a resource in a web page on a device
US20160350391A1 (en) 2015-05-26 2016-12-01 Commvault Systems, Inc. Replication using deduplicated secondary copy data
US10296219B2 (en) * 2015-05-28 2019-05-21 Vmware, Inc. Data deduplication in a block-based storage system
US10838664B2 (en) 2015-05-29 2020-11-17 Pure Storage, Inc. Determining a storage location according to legal requirements
US9940337B2 (en) * 2015-05-31 2018-04-10 Vmware, Inc. Predictive probabilistic deduplication of storage
WO2016196030A1 (en) * 2015-06-02 2016-12-08 Alibaba Group Holding Limited Protecting data files
US10749956B2 (en) 2015-06-08 2020-08-18 Microsoft Technology Licensing, Llc Aggregated access to storage subsystem
JP6264330B2 (en) * 2015-06-15 2018-01-24 コニカミノルタ株式会社 COMMUNICATION SYSTEM, COMMUNICATION RELAY DEVICE, AND PROGRAM
US10084873B2 (en) 2015-06-19 2018-09-25 Commvault Systems, Inc. Assignment of data agent proxies for executing virtual-machine secondary copy operations including streaming backup jobs
US9563514B2 (en) 2015-06-19 2017-02-07 Commvault Systems, Inc. Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs
US10387264B1 (en) * 2015-06-25 2019-08-20 EMC IP Holding Company LLC Initiating backups based on data changes
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US9912752B1 (en) * 2015-06-29 2018-03-06 Amazon Technologies, Inc. Retention-based data management in a network-based data store
US10083315B2 (en) 2015-06-29 2018-09-25 Microsoft Technology Licensing, Llc Privacy enhanced personal search index
US9971526B1 (en) * 2015-06-29 2018-05-15 Amazon Technologies, Inc. Volume-based key-value store
US10063651B2 (en) * 2015-06-30 2018-08-28 Spectra Logic, Corp. Parallel streams to maintain a target data transfer rate
RU2629444C2 (en) * 2015-06-30 2017-08-29 Общество С Ограниченной Ответственностью "Яндекс" Method and server for determining spam activity in cloud system
US10713275B2 (en) 2015-07-02 2020-07-14 Mongodb, Inc. System and method for augmenting consensus election in a distributed database
US10034201B2 (en) 2015-07-09 2018-07-24 Cisco Technology, Inc. Stateless load-balancing across multiple tunnels
CN106326002B (en) 2015-07-10 2020-10-20 阿里巴巴集团控股有限公司 Resource scheduling method, device and equipment
US20180196834A1 (en) * 2015-07-30 2018-07-12 Hewlett Packard Enterprise Development Lp Storing data in a deduplication store
US10769212B2 (en) * 2015-07-31 2020-09-08 Netapp Inc. Extensible and elastic data management services engine external to a storage domain
US10033702B2 (en) 2015-08-05 2018-07-24 Intralinks, Inc. Systems and methods of secure data exchange
CN106445484B (en) * 2015-08-12 2019-09-13 北京易数科技有限公司 The method and system of data tracking are realized by Software Development Kit
US10896207B2 (en) 2015-08-20 2021-01-19 International Business Machines Corporation Optimization of object-based storage
US20170063952A1 (en) * 2015-08-21 2017-03-02 International Business Machines Corporation Moving a portion of a streaming application to a public cloud based on sensitive data
US10142174B2 (en) 2015-08-25 2018-11-27 Oracle International Corporation Service deployment infrastructure request provisioning
US10474654B2 (en) 2015-08-26 2019-11-12 Storagecraft Technology Corporation Structural data transfer over a network
US10332090B2 (en) 2015-08-27 2019-06-25 Acumera, Inc. Providing secure remote access to a device at a merchant location
WO2017039538A1 (en) * 2015-08-28 2017-03-09 Xiaohui Liu Systems and methods for unified storage services
US11709799B2 (en) * 2015-08-29 2023-07-25 Vmware, Inc. Content or file based application virtualization using a cache
US10192065B2 (en) 2015-08-31 2019-01-29 Commvault Systems, Inc. Automated intelligent provisioning of data storage resources in response to user requests in a data storage management system
US10101913B2 (en) 2015-09-02 2018-10-16 Commvault Systems, Inc. Migrating data to disk without interrupting running backup operations
US10116692B2 (en) * 2015-09-04 2018-10-30 Arbor Networks, Inc. Scalable DDoS protection of SSL-encrypted services
US9699148B2 (en) 2015-09-10 2017-07-04 International Business Machines Corporation Moving a portion of a streaming application to a public cloud based on sensitive data
WO2017048723A1 (en) 2015-09-18 2017-03-23 Commvault Systems, Inc. Data storage management operations in a secondary storage subsystem using image recognition and image-based criteria
US10339683B2 (en) * 2015-09-23 2019-07-02 Vmware, Inc. Performance diagnostic for virtual machines
US10298680B1 (en) 2015-09-23 2019-05-21 Cohesity, Inc. Dynamic throughput ingestion of backup sources
US10846411B2 (en) 2015-09-25 2020-11-24 Mongodb, Inc. Distributed database systems and methods with encrypted storage engines
US10423626B2 (en) 2015-09-25 2019-09-24 Mongodb, Inc. Systems and methods for data conversion and comparison
US10673623B2 (en) 2015-09-25 2020-06-02 Mongodb, Inc. Systems and methods for hierarchical key management in encrypted distributed databases
US10459801B2 (en) 2015-09-30 2019-10-29 Commvault Systems, Inc. Dynamic triggering of block-level backups based on block change thresholds and corresponding file identities using indexing in a data storage management system
US20170091807A1 (en) * 2015-09-30 2017-03-30 Linkedin Corporation Tracking interaction with sponsored and unsponsored content
US20170099366A1 (en) * 2015-10-01 2017-04-06 Orion Labs Intelligent routing between wearable group communication devices
US11354819B2 (en) 2015-10-01 2022-06-07 Nortek Security & Control Methods for context-aware object tracking
US10067780B2 (en) 2015-10-06 2018-09-04 Cisco Technology, Inc. Performance-based public cloud selection for a hybrid cloud environment
US11005682B2 (en) 2015-10-06 2021-05-11 Cisco Technology, Inc. Policy-driven switch overlay bypass in a hybrid cloud network environment
US10120870B2 (en) 2015-10-11 2018-11-06 Noggle Ag System and method for searching distributed files across a plurality of clients
US10462136B2 (en) 2015-10-13 2019-10-29 Cisco Technology, Inc. Hybrid cloud security groups
US10514978B1 (en) * 2015-10-23 2019-12-24 Pure Storage, Inc. Automatic deployment of corrective measures for storage arrays
US11360844B1 (en) 2015-10-23 2022-06-14 Pure Storage, Inc. Recovery of a container storage provider
US10795775B2 (en) 2015-10-29 2020-10-06 Datto, Inc. Apparatuses, methods, and systems for storage and analysis of SaaS data and non-SaaS data for businesses and other organizations
US10248494B2 (en) 2015-10-29 2019-04-02 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
WO2017074458A1 (en) * 2015-10-30 2017-05-04 Hewlett Packard Enterprise Development Lp Likelihood of access based object storage in a cloud environment
US10353994B2 (en) 2015-11-03 2019-07-16 Commvault Systems, Inc. Summarization of email on a client computing device based on content contribution to an email thread using classification and word frequency considerations
TWI585608B (en) * 2015-11-05 2017-06-01 台南家專學校財團法人台南應用科技大學 Keyword searching method applied to cloud storage service
US10075439B1 (en) 2015-11-06 2018-09-11 Cisco Technology, Inc. Programmable format for securely configuring remote devices
US9696943B2 (en) 2015-11-09 2017-07-04 International Business Machines Corporation Accessing stored data
US10523657B2 (en) 2015-11-16 2019-12-31 Cisco Technology, Inc. Endpoint privacy preservation with cloud conferencing
US10205677B2 (en) 2015-11-24 2019-02-12 Cisco Technology, Inc. Cloud resource placement optimization and migration execution in federated clouds
RU2656836C2 (en) * 2015-11-27 2018-06-06 Автономная некоммерческая организация высшего образования "Университет Иннополис" System and method of interaction of users with cloud target data storage
US10346424B2 (en) * 2015-12-01 2019-07-09 International Business Machines Corporation Object processing
US10084703B2 (en) 2015-12-04 2018-09-25 Cisco Technology, Inc. Infrastructure-exclusive service forwarding
US11265202B2 (en) 2015-12-04 2022-03-01 Vmware, Inc. Integrated automated application deployment
US20170161101A1 (en) * 2015-12-04 2017-06-08 Vmware, Inc. Modularized automated-application-release-management subsystem
US10122832B2 (en) 2015-12-07 2018-11-06 International Business Machines Corporation Communications of usernames and passwords to a plurality of cloud storages via a plurality of communications protocols that change over time
US10171585B2 (en) 2015-12-07 2019-01-01 International Business Machines Corporation Method, system, and computer program product for distributed storage of data in a heterogeneous cloud
US10013181B2 (en) * 2015-12-07 2018-07-03 International Business Machines Corporation Distributed storage of data in a local storage and a heterogeneous cloud
US10228962B2 (en) 2015-12-09 2019-03-12 Commvault Systems, Inc. Live synchronization and management of virtual machines across computing and virtualization platforms and using live synchronization to support disaster recovery
US10951568B2 (en) * 2015-12-17 2021-03-16 Wolfram Research, Inc. Methods and systems for processing electronic messages
CN105681273B (en) * 2015-12-17 2018-11-20 西安电子科技大学 Client-side deduplication method
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US10387266B2 (en) 2015-12-23 2019-08-20 Commvault Systems, Inc. Application-level live synchronization across computing platforms including synchronizing co-resident applications to disparate standby destinations and selectively synchronizing some applications and not others
US10296594B1 (en) 2015-12-28 2019-05-21 EMC IP Holding Company LLC Cloud-aware snapshot difference determination
US9910968B2 (en) 2015-12-30 2018-03-06 Dropbox, Inc. Automatic notifications for inadvertent file events
CN106933872A (en) * 2015-12-30 2017-07-07 阿里巴巴集团控股有限公司 A kind of method and device that cloud storage service is accessed by traditional file systemses interface
US20170193051A1 (en) * 2015-12-31 2017-07-06 Mehdi Ghafourifar Systems and methods for automatic archiving, sorting, and/or indexing of secondary message content
EP3188037A1 (en) * 2015-12-31 2017-07-05 Thomson Licensing Method and device for managing personal media items
US11023433B1 (en) * 2015-12-31 2021-06-01 Emc Corporation Systems and methods for bi-directional replication of cloud tiered data across incompatible clusters
KR102482324B1 (en) * 2016-01-05 2022-12-29 삼성전자주식회사 Apparatus and method for transtting and receiving file in wireless communication system supporting cloud storage service
US10367914B2 (en) 2016-01-12 2019-07-30 Cisco Technology, Inc. Attaching service level agreements to application containers and enabling service assurance
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10346476B2 (en) 2016-02-05 2019-07-09 Sas Institute Inc. Sketch entry and interpretation of graphical user interface design
US10360069B2 (en) 2016-02-05 2019-07-23 Sas Institute Inc. Automated transfer of neural network definitions among federated areas
US10642896B2 (en) 2016-02-05 2020-05-05 Sas Institute Inc. Handling of data sets during execution of task routines of multiple languages
US10331495B2 (en) 2016-02-05 2019-06-25 Sas Institute Inc. Generation of directed acyclic graphs from task routines
US10650046B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Many task computing with distributed file system
US10795935B2 (en) 2016-02-05 2020-10-06 Sas Institute Inc. Automated generation of job flow definitions
US10650045B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Staged training of neural networks for improved time series prediction performance
US10440153B1 (en) 2016-02-08 2019-10-08 Microstrategy Incorporated Enterprise health score and data migration
US11283900B2 (en) 2016-02-08 2022-03-22 Microstrategy Incorporated Enterprise performance and capacity testing
US9852361B1 (en) * 2016-02-11 2017-12-26 EMC IP Holding Company LLC Selective image backup using trained image classifier
US11669320B2 (en) 2016-02-12 2023-06-06 Nutanix, Inc. Self-healing virtualized file server
US10956192B2 (en) 2016-02-12 2021-03-23 Nutanix, Inc. Entity database historical data
EP3419793B1 (en) * 2016-02-23 2021-06-30 ABB Schweiz AG Robot controller system, robot arrangement, computer program and method therefor
US10852998B2 (en) 2016-02-25 2020-12-01 Rubrik, Inc. Sub-cluster recovery using a partition group index
US10452490B2 (en) 2016-03-09 2019-10-22 Commvault Systems, Inc. Data management and backup of distributed storage environment
US10193975B2 (en) * 2016-03-10 2019-01-29 Microsoft Technology Licensing, Llc Managing multiple cloud stores through a web service
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US11425169B2 (en) 2016-03-11 2022-08-23 Netskope, Inc. Small-footprint endpoint data loss prevention (DLP)
US11074270B2 (en) * 2016-03-11 2021-07-27 Sap Se System and method for data integration
US11405423B2 (en) 2016-03-11 2022-08-02 Netskope, Inc. Metadata-based data loss prevention (DLP) for cloud resources
US11019101B2 (en) * 2016-03-11 2021-05-25 Netskope, Inc. Middle ware security layer for cloud computing services
CN107193484B (en) * 2016-03-14 2021-02-09 伊姆西Ip控股有限责任公司 Method and apparatus for data storage service
US10498726B2 (en) * 2016-03-22 2019-12-03 International Business Machines Corporation Container independent secure file system for security application containers
US10956382B2 (en) * 2016-03-28 2021-03-23 International Business Machines Corporation Application aware export to object storage of low-reference data in deduplication repositories
US10956273B2 (en) 2016-03-28 2021-03-23 International Business Machines Corporation Application aware export to object storage of low-reference data in deduplication repositories
KR101758558B1 (en) * 2016-03-29 2017-07-26 엘에스산전 주식회사 Energy managemnet server and energy managemnet system having thereof
US10013201B2 (en) 2016-03-29 2018-07-03 International Business Machines Corporation Region-integrated data deduplication
US10496494B1 (en) * 2016-03-31 2019-12-03 EMC IP Holding Company LLC Multilayer manifest for data storage systems
WO2017180090A1 (en) * 2016-04-11 2017-10-19 Hewlett Packard Enterprise Development Lp Sending deduplicated data and rehydrating agent
US11157517B2 (en) 2016-04-18 2021-10-26 Amazon Technologies, Inc. Versioned hierarchical data structures in a distributed data store
US9846553B2 (en) 2016-05-04 2017-12-19 Exablox Corporation Organization and management of key-value stores
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US10129177B2 (en) * 2016-05-23 2018-11-13 Cisco Technology, Inc. Inter-cloud broker for hybrid cloud networks
US10248174B2 (en) 2016-05-24 2019-04-02 Hedvig, Inc. Persistent reservations for virtual disk using multiple targets
US20170344598A1 (en) * 2016-05-27 2017-11-30 International Business Machines Corporation De-Duplication Optimized Platform for Object Grouping
US10621370B2 (en) * 2016-05-27 2020-04-14 Intel Corporation Methods and apparatus to provide group-based row-level security for big data platforms
US20170351743A1 (en) * 2016-06-03 2017-12-07 Portworx, Inc. Journaling for scaleout systems
US10042717B2 (en) * 2016-06-05 2018-08-07 Vmware, Inc. Distributed local backup and restore system using peer-to-peer backups
CN107526530B (en) * 2016-06-21 2021-02-19 伊姆西Ip控股有限责任公司 Data processing method and device
CN107528872B (en) * 2016-06-22 2020-07-24 杭州海康威视数字技术股份有限公司 Data recovery method and device and cloud storage system
US10747734B2 (en) 2016-06-22 2020-08-18 International Business Machines Corporation Data deduplication within distributed computing components
US10296593B2 (en) * 2016-06-24 2019-05-21 International Business Machines Corporation Managing storage system metadata during data migration
US10621050B2 (en) 2016-06-27 2020-04-14 Mongodb, Inc. Method and apparatus for restoring data from snapshots
US10944823B2 (en) * 2016-06-28 2021-03-09 At&T Intellectual Property I, L.P. Highly redundant and scalable storage area network architecture
US10445698B2 (en) 2016-06-30 2019-10-15 Clause, Inc. System and method for forming, storing, managing, and executing contracts
US10659283B2 (en) 2016-07-08 2020-05-19 Cisco Technology, Inc. Reducing ARP/ND flooding in cloud environment
US10432532B2 (en) 2016-07-12 2019-10-01 Cisco Technology, Inc. Dynamically pinning micro-service to uplink port
CN107622067B (en) * 2016-07-13 2020-11-20 杭州海康威视数字技术股份有限公司 Method and device for storing, reading and displaying multiple multimedia files
WO2018011914A1 (en) * 2016-07-13 2018-01-18 株式会社日立製作所 Data archive system and data archive method
US10382597B2 (en) 2016-07-20 2019-08-13 Cisco Technology, Inc. System and method for transport-layer level identification and isolation of container traffic
US10263898B2 (en) 2016-07-20 2019-04-16 Cisco Technology, Inc. System and method for implementing universal cloud classification (UCC) as a service (UCCaaS)
US10142346B2 (en) 2016-07-28 2018-11-27 Cisco Technology, Inc. Extension of a private cloud end-point group to a public cloud
US10417182B2 (en) * 2016-08-19 2019-09-17 Charles Nicholls System, method and apparatus for data management with rules on containers for collections of data
US10567344B2 (en) 2016-08-23 2020-02-18 Cisco Technology, Inc. Automatic firewall configuration based on aggregated cloud managed information
US11780190B2 (en) * 2016-08-29 2023-10-10 Wm Intellectual Property Holdings, L.L.C. Smart baler
CN106909603A (en) 2016-08-31 2017-06-30 阿里巴巴集团控股有限公司 Search information processing method and device
US10341436B2 (en) * 2016-09-14 2019-07-02 Dell Products L.P. Using cloud storage as temporary cache for backup
US10616327B2 (en) 2016-09-20 2020-04-07 Microsoft Technology Licensing, Llc Policy based hydration behavior in cloud storage synchronization
US11368528B2 (en) 2016-09-20 2022-06-21 Microsoft Technology Licensing, Llc Dynamic storage management in cloud storage synchronization
CN106446155A (en) * 2016-09-22 2017-02-22 北京百度网讯科技有限公司 Method and device for cleansingdata in cloud storage system
US10635643B2 (en) 2016-09-29 2020-04-28 Hewlett Packard Enterprise Development Lp Tiering data blocks to cloud storage systems
US10126946B1 (en) * 2016-09-30 2018-11-13 EMC IP Holding Company LLC Data protection object store
CN106487787B (en) * 2016-09-30 2020-01-07 四川九洲电器集团有限责任公司 Multimedia on demand method and server
EP3510745A1 (en) * 2016-10-05 2019-07-17 ShortSave, Inc. Single point of custody secure data exchange
US10523592B2 (en) 2016-10-10 2019-12-31 Cisco Technology, Inc. Orchestration system for migrating user data and services based on user information
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10366094B2 (en) * 2016-10-18 2019-07-30 Sap Se Data access using aggregation
US10585760B2 (en) 2016-10-19 2020-03-10 International Business Machines Corporation File name level based file search and restoration from block level backups of virtual machines
US10210048B2 (en) 2016-10-25 2019-02-19 Commvault Systems, Inc. Selective snapshot and backup copy operations for individual virtual machines in a shared storage
US10389810B2 (en) 2016-11-02 2019-08-20 Commvault Systems, Inc. Multi-threaded scanning of distributed file systems
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10922189B2 (en) 2016-11-02 2021-02-16 Commvault Systems, Inc. Historical network data-based scanning thread generation
US10608896B2 (en) 2016-11-10 2020-03-31 International Business Machines Corporation Enforce pre-optimized service contracts associated with containers
KR20180053148A (en) * 2016-11-11 2018-05-21 삼성전자주식회사 A method and terminal device for encrypting a message
US11106632B2 (en) 2016-11-16 2021-08-31 Commvault Systems, Inc. Dynamically configuring a proxy server using containerization for concurrent and/or overlapping backup, restore, and/or test operations
US10635509B2 (en) * 2016-11-17 2020-04-28 Sung Jin Cho System and method for creating and managing an interactive network of applications
US10210188B2 (en) * 2016-11-30 2019-02-19 Quest Software Inc. Multi-tiered data storage in a deduplication system
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US10728090B2 (en) 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11044162B2 (en) 2016-12-06 2021-06-22 Cisco Technology, Inc. Orchestration of cloud and fog interactions
US10887102B2 (en) 2016-12-15 2021-01-05 Nutanix, Inc. Intent framework
US10558478B2 (en) 2016-12-15 2020-02-11 Nutanix, Inc. Specification-based computing system configuration
US10326817B2 (en) 2016-12-20 2019-06-18 Cisco Technology, Inc. System and method for quality-aware recording in large scale collaborate clouds
US10642879B2 (en) 2017-01-06 2020-05-05 Oracle International Corporation Guaranteed file system hierarchy data integrity in cloud object stores
US10334029B2 (en) 2017-01-10 2019-06-25 Cisco Technology, Inc. Forming neighborhood groups from disperse cloud providers
US10417055B2 (en) 2017-01-11 2019-09-17 International Business Machines Corporation Runtime movement of microprocess components
US10530857B2 (en) 2017-01-19 2020-01-07 International Business Machines Corporation Smart mounting of storage devices
US10552191B2 (en) 2017-01-26 2020-02-04 Cisco Technology, Inc. Distributed hybrid cloud orchestration model
US10832260B2 (en) * 2017-01-27 2020-11-10 Walmart Apollo Lllc Systems and methods for determining customer lifetime value
US10320683B2 (en) 2017-01-30 2019-06-11 Cisco Technology, Inc. Reliable load-balancer using segment routing and real-time application monitoring
US10671571B2 (en) 2017-01-31 2020-06-02 Cisco Technology, Inc. Fast network performance in containerized environments for network function virtualization
US10264054B2 (en) * 2017-02-10 2019-04-16 International Business Machines Corporation Predictive device to device file transfer system for local cloud storage files
US10333984B2 (en) 2017-02-21 2019-06-25 International Business Machines Corporation Optimizing data reduction, security and encryption requirements in a network environment
US10594481B2 (en) 2017-02-21 2020-03-17 International Business Machines Corporation Replicated encrypted data management
US10459666B2 (en) 2017-03-03 2019-10-29 Commvault Systems, Inc. Using storage managers in respective data storage management systems for license distribution, compliance, and updates
US10540366B2 (en) 2017-03-09 2020-01-21 Bank Of America Corporation Transforming data structures and data objects for migrating data between databases having different schemas
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US10613939B2 (en) 2017-03-28 2020-04-07 Commvault Systems, Inc. Backup index generation process
US10599527B2 (en) 2017-03-29 2020-03-24 Commvault Systems, Inc. Information management cell health monitoring system
US10671639B1 (en) 2017-03-30 2020-06-02 Amazon Technologies, Inc. Selectively replicating changes to hierarchial data structures
US10860550B1 (en) 2017-03-30 2020-12-08 Amazon Technologies, Inc. Versioning schemas for hierarchical data structures
US10423342B1 (en) 2017-03-30 2019-09-24 Amazon Technologies, Inc. Scaling events for hosting hierarchical data structures
US10853195B2 (en) 2017-03-31 2020-12-01 Commvault Systems, Inc. Granular restoration of virtual machine application data
US11140173B2 (en) 2017-03-31 2021-10-05 Baimmt, Llc System and method for secure access control
US11005731B2 (en) 2017-04-05 2021-05-11 Cisco Technology, Inc. Estimating model parameters for automatic deployment of scalable micro services
FR3065554A1 (en) * 2017-04-21 2018-10-26 Orange METHOD FOR MANAGING A CLOUD COMPUTING SYSTEM
US10552389B2 (en) * 2017-04-28 2020-02-04 Oath Inc. Object and sequence number management
US10789205B1 (en) * 2017-04-30 2020-09-29 EMC IP Holding Company LLC Cloud data archiving using promoted objects list
US10579511B2 (en) * 2017-05-10 2020-03-03 Bank Of America Corporation Flexible testing environment using a cloud infrastructure—cloud technology
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US10838828B2 (en) * 2017-07-25 2020-11-17 Hubstor Inc. Methods and systems relating to network based storage
US10419539B2 (en) 2017-05-19 2019-09-17 Bank Of America Corporation Data transfer path selection
US10320920B2 (en) 2017-05-23 2019-06-11 Bank Of America Corporation Automatic migration of communication sessions using a private cloud-cloud technology
US10462230B2 (en) 2017-05-23 2019-10-29 Bank Of America Corporation Migrating sessions using a private cloud-cloud technology
CN108933803B (en) * 2017-05-26 2021-11-19 杭州海康威视数字技术股份有限公司 Front-end equipment, cloud storage server, and streaming data direct storage method and system
CN107147531B (en) * 2017-05-27 2020-03-20 贵州华宁科技股份有限公司 CDM cluster website management system
US11416466B2 (en) * 2017-06-02 2022-08-16 Chaossearch, Inc. Data edge platform for improved storage and analytics
US10846285B2 (en) * 2017-06-02 2020-11-24 Chaossearch, Inc. Materialization for data edge platform
US10608793B2 (en) 2017-06-08 2020-03-31 Bank Of America Corporation Serial data transmission
US10461898B2 (en) 2017-06-08 2019-10-29 Bank Of America Corporation Parallel data transmission
US10481954B2 (en) 2017-06-09 2019-11-19 Bank Of America Corporation System and method of managing computing resources
US10657615B2 (en) 2017-06-09 2020-05-19 Bank Of America Corporation System and method of allocating computing resources based on jurisdiction
US10796304B2 (en) 2017-06-12 2020-10-06 Bank Of America Corporation System and method of managing computing resources
US10866868B2 (en) 2017-06-20 2020-12-15 Mongodb, Inc. Systems and methods for optimization of database operations
US10423590B2 (en) 2017-06-23 2019-09-24 Bank Of America Corporation System and method of managing data in a distributed computing environment
US10382274B2 (en) 2017-06-26 2019-08-13 Cisco Technology, Inc. System and method for wide area zero-configuration network auto configuration
US10439877B2 (en) 2017-06-26 2019-10-08 Cisco Technology, Inc. Systems and methods for enabling wide area multicast domain name system
US10642809B2 (en) * 2017-06-26 2020-05-05 International Business Machines Corporation Import, export, and copy management for tiered object storage
US10706082B1 (en) 2017-06-29 2020-07-07 Seagate Technology Llc Deduplication database management
US11429587B1 (en) 2017-06-29 2022-08-30 Seagate Technology Llc Multiple duration deduplication entries
US10554753B2 (en) * 2017-07-06 2020-02-04 Acronis International Gmbh System and method for service level agreement based data storage and verification
US11470131B2 (en) 2017-07-07 2022-10-11 Box, Inc. User device processing of information from a network-accessible collaboration system
US10929210B2 (en) 2017-07-07 2021-02-23 Box, Inc. Collaboration system protocol processing
US10659451B2 (en) 2017-07-18 2020-05-19 Bank Of America Corporation System and method for injecting a tag into a computing resource
US10628197B2 (en) * 2017-07-20 2020-04-21 Vmware, Inc. Intelligent deployment of virtual processing instances from open virtual appliance templates
JP7044967B2 (en) * 2017-07-21 2022-03-31 富士通株式会社 Storage control program, storage control device and storage control method
US10425288B2 (en) 2017-07-21 2019-09-24 Cisco Technology, Inc. Container telemetry in data center environments with blade servers and switches
US10892940B2 (en) 2017-07-21 2021-01-12 Cisco Technology, Inc. Scalable statistics and analytics mechanisms in cloud networking
US10601693B2 (en) 2017-07-24 2020-03-24 Cisco Technology, Inc. System and method for providing scalable flow monitoring in a data center fabric
US10834113B2 (en) 2017-07-25 2020-11-10 Netskope, Inc. Compact logging of network traffic events
US10541866B2 (en) 2017-07-25 2020-01-21 Cisco Technology, Inc. Detecting and resolving multicast traffic performance issues
US20190037051A1 (en) * 2017-07-27 2019-01-31 Therese Pimentel Technology to transmit GB of data in the air, as they are collected
US10915497B1 (en) * 2017-07-31 2021-02-09 EMC IP Holding Company LLC Multi-tier storage system with controllable relocation of files from file system tier to cloud-based object storage tier
US11341103B2 (en) * 2017-08-04 2022-05-24 International Business Machines Corporation Replicating and migrating files to secondary storage sites
US10462665B2 (en) 2017-08-17 2019-10-29 Bank Of America Corporation Multifactor network authentication
US10462126B2 (en) 2017-08-17 2019-10-29 Bank Of America Corporation Self-adjusting multifactor network authentication
WO2019041145A1 (en) * 2017-08-29 2019-03-07 西门子公司 Method and device for determining data reading period
US11086559B2 (en) * 2017-09-05 2021-08-10 International Business Machines Corporation Cloud based store and restore with copy services
US10372681B2 (en) 2017-09-12 2019-08-06 International Business Machines Corporation Tape drive memory deduplication
US10289335B2 (en) * 2017-09-12 2019-05-14 International Business Machines Corporation Tape drive library integrated memory deduplication
US10581969B2 (en) 2017-09-14 2020-03-03 International Business Machines Corporation Storage system using cloud based ranks as replica storage
US10372371B2 (en) 2017-09-14 2019-08-06 International Business Machines Corporation Dynamic data relocation using cloud based ranks
US10721304B2 (en) 2017-09-14 2020-07-21 International Business Machines Corporation Storage system using cloud storage as a rank
US10372363B2 (en) 2017-09-14 2019-08-06 International Business Machines Corporation Thin provisioning using cloud based ranks
US10534642B2 (en) 2017-09-25 2020-01-14 International Business Machines Corporation Application restore time from cloud gateway optimization using storlets
US10649682B1 (en) * 2017-10-06 2020-05-12 EMC IP Holding Company LLC Focused sanitization process for deduplicated storage systems
US10409895B2 (en) * 2017-10-17 2019-09-10 Qualtrics, Llc Optimizing a document based on dynamically updating content
US10353800B2 (en) 2017-10-18 2019-07-16 Cisco Technology, Inc. System and method for graph based monitoring and management of distributed systems
US11568505B2 (en) * 2017-10-18 2023-01-31 Docusign, Inc. System and method for a computing environment for verifiable execution of data-driven contracts
US10789002B1 (en) * 2017-10-23 2020-09-29 EMC IP Holding Company LLC Hybrid data deduplication for elastic cloud storage devices
US10355824B2 (en) 2017-10-23 2019-07-16 Bank Of America Corporation Smart integrated cyclic data transport
US10917260B1 (en) 2017-10-24 2021-02-09 Druva Data management across cloud storage providers
CN109947787A (en) * 2017-10-30 2019-06-28 阿里巴巴集团控股有限公司 A kind of storage of data hierarchy, hierarchical query method and device
US11699201B2 (en) 2017-11-01 2023-07-11 Docusign, Inc. System and method for blockchain-based network transitioned by a legal contract
US10652308B2 (en) * 2017-11-08 2020-05-12 International Business Machines Corporation Cognitive storage management for a mobile computing device
US20190146847A1 (en) * 2017-11-10 2019-05-16 Mentor Graphics Corporation Dynamic distributed resource management
US11481362B2 (en) 2017-11-13 2022-10-25 Cisco Technology, Inc. Using persistent memory to enable restartability of bulk load transactions in cloud databases
US10897516B2 (en) * 2017-11-15 2021-01-19 Cisco Technology, Inc. Application buffering of packets by fog computing node for deterministic network transport
US11055280B2 (en) * 2017-11-27 2021-07-06 Snowflake Inc. Batch data ingestion in database systems
US11442647B2 (en) 2017-11-27 2022-09-13 Nutanix, Inc. Lossless data restore using multiple levels of lightweight snapshots
US11093338B2 (en) 2017-11-27 2021-08-17 Nutanix, Inc. Emulating high-frequency application-consistent snapshots by forming restore point data sets based on remote site replay of I/O commands
US10990282B1 (en) 2017-11-28 2021-04-27 Pure Storage, Inc. Hybrid data tiering with cloud storage
US10884671B2 (en) * 2017-11-29 2021-01-05 International Business Machines Corporation Cognitive optimization of a multi-part object
US10708340B2 (en) * 2017-11-30 2020-07-07 International Business Machines Corporation Methods and systems for improving efficiency in data transfers
US10839091B2 (en) 2017-12-05 2020-11-17 International Business Machines Corporation Protection of data privacy for cognitive demand forecasting
US10740300B1 (en) 2017-12-07 2020-08-11 Commvault Systems, Inc. Synchronization of metadata in a distributed storage system
US10635546B2 (en) 2017-12-07 2020-04-28 Commvault Systems, Inc. Synthesizing a restore image from one or more secondary copies to facilitate data restore operations to a file server
US10742735B2 (en) 2017-12-12 2020-08-11 Commvault Systems, Inc. Enhanced network attached storage (NAS) services interfacing to cloud storage
CN108052409B (en) * 2017-12-19 2020-12-04 杭州迪普科技股份有限公司 SKB application information display method and device
US11200258B2 (en) * 2017-12-20 2021-12-14 Acer Cloud Technology (Us), Inc. Systems and methods for fast and effective grouping of stream of information into cloud storage files
US10705882B2 (en) 2017-12-21 2020-07-07 Cisco Technology, Inc. System and method for resource placement across clouds for data intensive workloads
US10303555B1 (en) * 2017-12-23 2019-05-28 Rubrik, Inc. Tagging data for automatic transfer during backups
US11086823B2 (en) * 2017-12-28 2021-08-10 Dropbox, Inc. File deduplication using signature information
US11595474B2 (en) 2017-12-28 2023-02-28 Cisco Technology, Inc. Accelerating data replication using multicast and non-volatile memory enabled nodes
US11281621B2 (en) 2018-01-08 2022-03-22 International Business Machines Corporation Clientless active remote archive
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
US10904068B2 (en) * 2018-01-12 2021-01-26 Datera, Inc. System and method to provide seamless data placement, data movement, and data management into cloud
DE102018100895A1 (en) * 2018-01-16 2019-07-18 Zoe Life Technologies Holding AG Currency units for knowledge
US10838823B2 (en) * 2018-02-01 2020-11-17 EMC IP Holding Company LLC Systems and method to make application consistent virtual machine backup work in private network
US11074099B2 (en) 2018-02-06 2021-07-27 Nutanix, Inc. System and method for storage during virtual machine migration
US11210269B2 (en) 2018-02-13 2021-12-28 Red Hat, Inc. System and method for deduplicating container image storage data
US10592145B2 (en) 2018-02-14 2020-03-17 Commvault Systems, Inc. Machine learning-based data object storage
US10740022B2 (en) 2018-02-14 2020-08-11 Commvault Systems, Inc. Block-level live browsing and private writable backup copies using an ISCSI server
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition
WO2019162724A1 (en) * 2018-02-23 2019-08-29 Pratik Sharma Distributed search service for cloud
US11157510B2 (en) * 2018-02-28 2021-10-26 Chaossearch, Inc. Data normalization using data edge platform
US10848468B1 (en) 2018-03-05 2020-11-24 Commvault Systems, Inc. In-flight data encryption/decryption for a distributed storage platform
US10761942B2 (en) 2018-03-12 2020-09-01 Commvault Systems, Inc. Recovery point objective (RPO) driven backup scheduling in a data storage management system using an enhanced data agent
US11195142B2 (en) 2018-03-21 2021-12-07 Jpmorgan Chase Bank, N.A. Systems and methods for automated cloud infrastructure operations using a structured inventory
US10938922B2 (en) 2018-04-04 2021-03-02 Christopher Allen Noble Cloud platforms, services, and methods
US10511534B2 (en) 2018-04-06 2019-12-17 Cisco Technology, Inc. Stateless distributed load-balancing
US10630611B2 (en) * 2018-04-10 2020-04-21 Level 3 Communications, Llc Store and forward logging in a content delivery network
US20190318118A1 (en) * 2018-04-16 2019-10-17 International Business Machines Corporation Secure encrypted document retrieval
US11392553B1 (en) * 2018-04-24 2022-07-19 Pure Storage, Inc. Remote data management
US11436344B1 (en) 2018-04-24 2022-09-06 Pure Storage, Inc. Secure encryption in deduplication cluster
US10839093B2 (en) 2018-04-27 2020-11-17 Nutanix, Inc. Low latency access to physical storage locations by implementing multiple levels of metadata
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
US10831521B2 (en) * 2018-04-27 2020-11-10 Nutanix, Inc. Efficient metadata management
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11321183B2 (en) 2018-05-02 2022-05-03 Commvault Systems, Inc. Multi-tiered backup indexing
US10628267B2 (en) 2018-05-02 2020-04-21 Commvault Systems, Inc. Client managed data backup process within an enterprise information management system
US11249863B2 (en) 2018-05-02 2022-02-15 Commvault Systems, Inc. Backup-based media agent configuration
US10673943B2 (en) 2018-05-02 2020-06-02 Commvault Systems, Inc. Network storage backup using distributed media agents
US10915246B2 (en) 2018-05-14 2021-02-09 Netapp, Inc. Cloud storage format to enable space reclamation while minimizing data transfer
TWI661706B (en) * 2018-05-23 2019-06-01 蔣永和 Node system using block chain technology and operation method thereof
CN108845761A (en) * 2018-05-29 2018-11-20 郑州云海信息技术有限公司 A kind of individual's cloud storage equipment
US10728361B2 (en) 2018-05-29 2020-07-28 Cisco Technology, Inc. System for association of customer information across subscribers
US10592363B2 (en) 2018-06-04 2020-03-17 International Business Machines Corporation Asynchronous remote mirror cloud archival
US11256815B2 (en) * 2018-06-12 2022-02-22 Western Digital Technologies, Inc. Object storage system with secure object replication
US10904322B2 (en) 2018-06-15 2021-01-26 Cisco Technology, Inc. Systems and methods for scaling down cloud-based servers handling secure connections
US10764266B2 (en) 2018-06-19 2020-09-01 Cisco Technology, Inc. Distributed authentication and authorization for rapid scaling of containerized services
US11019083B2 (en) 2018-06-20 2021-05-25 Cisco Technology, Inc. System for coordinating distributed website analysis
US10817333B2 (en) 2018-06-26 2020-10-27 Nutanix, Inc. Managing memory in devices that host virtual machines and have shared memory
US20190042133A1 (en) * 2018-06-29 2019-02-07 Intel Corporation Technologies for providing adaptive data access request routing in a distributed storage system
US11121981B1 (en) 2018-06-29 2021-09-14 Amazon Technologies, Inc. Optimistically granting permission to host computing resources
US10819571B2 (en) 2018-06-29 2020-10-27 Cisco Technology, Inc. Network traffic optimization using in-situ notification system
AU2019297417A1 (en) * 2018-07-03 2021-02-04 Moterum Technologies, Inc. Distributed system architecture for gait monitoring and methods of use
US10868782B2 (en) 2018-07-12 2020-12-15 Bank Of America Corporation System for flagging data transmissions for retention of metadata and triggering appropriate transmission placement
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US10893103B2 (en) 2018-07-25 2021-01-12 Commvault Systems, Inc. Distributed and scalable storage management using a storage-microservices server
US10891304B2 (en) 2018-07-25 2021-01-12 Commvault Systems, Inc. Distributed and scalable client-based storage management
US10904342B2 (en) 2018-07-30 2021-01-26 Cisco Technology, Inc. Container networking using communication tunnels
US10628072B2 (en) * 2018-08-21 2020-04-21 Samsung Electronics Co., Ltd. Scalable architecture enabling large memory system for in-memory computations
TW202026873A (en) 2018-08-23 2020-07-16 美商阿爾克斯股份有限公司 Single node and multiple node datastore architecture in a network routing environment
US11789933B2 (en) 2018-09-06 2023-10-17 Docusign, Inc. System and method for a hybrid contract execution environment
US10909184B2 (en) * 2018-09-11 2021-02-02 Sap Se Multiplication of database objects
US10389704B1 (en) 2018-09-12 2019-08-20 Cohesity, Inc. Cluster claim
US11016696B2 (en) 2018-09-14 2021-05-25 Commvault Systems, Inc. Redundant distributed data storage system
US10728255B2 (en) 2018-09-24 2020-07-28 Nutanix, Inc. System and method for protection of entities across availability zones
CN109343980B (en) * 2018-09-29 2020-12-22 广州视源电子科技股份有限公司 Cloud copying and cloud pasting method, device, system, equipment and storage medium
US11573962B2 (en) * 2018-10-19 2023-02-07 Oracle International Corporation Dynamic performance tuning based on implied data characteristics
US11568179B2 (en) 2018-10-19 2023-01-31 Oracle International Corporation Selecting an algorithm for analyzing a data set based on the distribution of the data set
US10963353B2 (en) * 2018-10-23 2021-03-30 Capital One Services, Llc Systems and methods for cross-regional back up of distributed databases on a cloud service
US10771982B2 (en) 2018-10-24 2020-09-08 Mentor Graphics Corporation Resource utilization of heterogeneous compute units in electronic design automation
US10929176B2 (en) * 2018-10-24 2021-02-23 EMC IP Holding Company LLC Method of efficiently migrating data from one tier to another with suspend and resume capability
RU2690777C1 (en) * 2018-10-26 2019-06-05 Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) Method and system for complex control of big data
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US10917323B2 (en) * 2018-10-31 2021-02-09 Nutanix, Inc. System and method for managing a remote office branch office location in a virtualized environment
EP3877874A1 (en) 2018-11-06 2021-09-15 Dover Microsystems, Inc. Systems and methods for stalling host processor
US11106378B2 (en) 2018-11-21 2021-08-31 At&T Intellectual Property I, L.P. Record information management based on self describing attributes
US11010258B2 (en) 2018-11-27 2021-05-18 Commvault Systems, Inc. Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication
US11169885B2 (en) 2018-11-30 2021-11-09 Nutanix, Inc. System and method for reconfiguring configuration parameters of virtual objects during recovery
USD886143S1 (en) 2018-12-14 2020-06-02 Nutanix, Inc. Display screen or portion thereof with a user interface for database time-machine
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
US11012508B2 (en) 2018-12-14 2021-05-18 Commvault Systems, Inc. Region-based distributed information management system
US10983886B2 (en) * 2018-12-18 2021-04-20 Storage Engine, Inc. Methods, apparatuses and systems for cloud-based disaster recovery
WO2020132012A1 (en) * 2018-12-18 2020-06-25 Dover Microsystems, Inc. Systems and methods for data lifecycle protection
US10817157B2 (en) 2018-12-20 2020-10-27 Nutanix, Inc. User interface for database management services
US11010336B2 (en) 2018-12-27 2021-05-18 Nutanix, Inc. System and method for provisioning databases in a hyperconverged infrastructure system
US11816066B2 (en) 2018-12-27 2023-11-14 Nutanix, Inc. System and method for protecting databases in a hyperconverged infrastructure system
CN109726181B (en) * 2018-12-28 2021-02-19 北京天融信网络安全技术有限公司 Data processing method and data processing device
US11245761B2 (en) 2018-12-28 2022-02-08 Alibaba Group Holding Limited Method, apparatus, and computer-readable storage medium for network optimization of cloud storage service
US10489344B1 (en) * 2018-12-28 2019-11-26 Nasuni Corporation Cloud-native global file system with direct-to-cloud migration
CN109889573B (en) * 2019-01-14 2020-08-07 武汉理工大学 NGSA multi-target-based copy placement method in hybrid cloud
US11347707B2 (en) 2019-01-22 2022-05-31 Commvault Systems, Inc. File indexing for virtual machine backups based on using live browse features
US10872069B2 (en) 2019-01-22 2020-12-22 Commvault Systems, Inc. File indexing for virtual machine backups in a data storage management system
US11438381B2 (en) * 2019-01-22 2022-09-06 International Business Machines Corporation Identifying security profiles associated with access protocols of secondary storage
US11113270B2 (en) 2019-01-24 2021-09-07 EMC IP Holding Company LLC Storing a non-ordered associative array of pairs using an append-only storage medium
WO2020154003A1 (en) 2019-01-24 2020-07-30 Kldiscovery Ontrack, Llc. Integrated vpn capabilities in standalone e-discovery machine
US11416641B2 (en) 2019-01-24 2022-08-16 Netskope, Inc. Incident-driven introspection for data loss prevention
US11221923B2 (en) 2019-02-05 2022-01-11 International Business Machines Corporation Performing selective backup operations
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US20200285968A1 (en) * 2019-03-08 2020-09-10 Microsoft Technology Licensing, Llc Data enrichment on insulated appliances
US10852976B2 (en) * 2019-03-08 2020-12-01 Netapp Inc. Transferring snapshot copy to object store with deduplication preservation and additional compression
US11126365B2 (en) 2019-03-11 2021-09-21 Commvault Systems, Inc. Skipping data backed up in prior backup operations
US11601500B2 (en) 2019-03-18 2023-03-07 Samsung Electronics Co., Ltd. Method and device for storing a data file in a cloud-based storage
CN111726377B (en) * 2019-03-19 2023-05-26 百度在线网络技术(北京)有限公司 Public cloud-based data processing method and device
US11321184B2 (en) 2019-03-26 2022-05-03 Commvault Systems, Inc. Streamlined secondary copy operations for data stored on shared file storage
US10795699B1 (en) * 2019-03-28 2020-10-06 Cohesity, Inc. Central storage management interface supporting native user interface versions
US11531712B2 (en) * 2019-03-28 2022-12-20 Cohesity, Inc. Unified metadata search
KR102231726B1 (en) * 2019-03-28 2021-03-25 네이버클라우드 주식회사 Apparatus and method for analyzing vulnerabilities
US11579681B2 (en) 2019-04-08 2023-02-14 Commvault Systems, Inc. Power management of components within a storage management system
US11567913B2 (en) * 2019-04-10 2023-01-31 Veritas Technologies Llc Method and system for improving efficiency in the management of data references
US10977071B2 (en) 2019-04-10 2021-04-13 Nutanix, Inc. System and method for VM cloning in a software defined storage environment
US11269700B2 (en) * 2019-04-23 2022-03-08 Apple Inc. System call interception for file providers
US10853188B2 (en) * 2019-04-26 2020-12-01 EMC IP Holding Company LLC System and method for data retention in a decentralized system
US11269517B2 (en) 2019-04-26 2022-03-08 Hewlett Packard Enterprise Development Lp Cost-aware storage allocation of deduplicated objects
US11100064B2 (en) 2019-04-30 2021-08-24 Commvault Systems, Inc. Automated log-based remediation of an information management system
US11888935B2 (en) 2019-04-30 2024-01-30 Clumio, Inc. Post-processing in a cloud-based data protection service
US11442623B2 (en) 2019-05-02 2022-09-13 Commvault Systems, Inc. Faster browse of secondary copies of block-level data volumes
US20200356292A1 (en) * 2019-05-10 2020-11-12 Dell Products, Lp System and Method for Performance Based Dynamic Optimal Block Size Data Deduplication
US11563806B1 (en) * 2019-05-17 2023-01-24 R-Stor, Inc. Content distribution network system and method
US10963182B2 (en) 2019-05-29 2021-03-30 Nutanix, Inc. System and method for on-demand recovery points
CN112099725A (en) * 2019-06-17 2020-12-18 华为技术有限公司 Data processing method and device and computer readable storage medium
US11079960B2 (en) * 2019-06-20 2021-08-03 Western Digital Technologies, Inc. Object storage system with priority meta object replication
US11093465B2 (en) 2019-06-20 2021-08-17 Western Digital Technologies, Inc. Object storage system with versioned meta objects
US11074002B2 (en) * 2019-06-20 2021-07-27 Western Digital Technologies, Inc. Object storage system with meta object replication
CN114286996A (en) * 2019-06-27 2022-04-05 西格玛计算机有限公司 Searching using data repository authorization
US11157451B2 (en) 2019-06-28 2021-10-26 Rubrik, Inc. Adaptable multi-layered storage for deduplicating electronic messages
US11681586B2 (en) 2019-06-28 2023-06-20 Rubrik, Inc. Data management system with limited control of external compute and storage resources
US11436190B2 (en) * 2019-07-10 2022-09-06 EMC IP Holding Company LLC Vaulting data from a public cloud
CN110474959B (en) * 2019-07-12 2023-02-03 平安普惠企业管理有限公司 Data interaction method and device, computer equipment and storage medium
US11686806B2 (en) 2019-07-12 2023-06-27 Enseo, Llc Geolocationing system and method for use of same
US20210019285A1 (en) * 2019-07-16 2021-01-21 Citrix Systems, Inc. File download using deduplication techniques
US11023228B2 (en) 2019-07-19 2021-06-01 JFrog Ltd. Indexer operation and generation of index data
US11341106B2 (en) * 2019-07-19 2022-05-24 Commvault Systems, Inc. Deduplication system without reference counting
WO2021014324A1 (en) * 2019-07-19 2021-01-28 JFrog Ltd. Data archive release in context of data object
WO2021012162A1 (en) * 2019-07-22 2021-01-28 华为技术有限公司 Method and apparatus for data compression in storage system, device, and readable storage medium
US11314935B2 (en) 2019-07-25 2022-04-26 Docusign, Inc. System and method for electronic document interaction with external resources
CN114968090A (en) * 2019-07-26 2022-08-30 华为技术有限公司 Data processing method, device and computer storage readable storage medium
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US20210037112A1 (en) 2019-07-29 2021-02-04 Commvault Systems, Inc. Data storage system with rapid restore capability
US11263173B2 (en) 2019-07-30 2022-03-01 Commvault Systems, Inc. Transaction log index generation in an enterprise backup system
US10921987B1 (en) * 2019-07-31 2021-02-16 EMC IP Holding Company LLC Deduplication of large block aggregates using representative block digests
US11442959B2 (en) 2019-08-07 2022-09-13 Nutanix, Inc. System and method of time-based snapshot synchronization
CN110535835A (en) * 2019-08-09 2019-12-03 西藏宁算科技集团有限公司 It is a kind of to support cloudy shared cloud storage method and system based on Message Digest 5
WO2021030817A1 (en) * 2019-08-13 2021-02-18 Kona Anil Method and apparatus for integrated e-discovery
US11513922B2 (en) 2019-08-14 2022-11-29 Commvault Systems, Inc. Systems and methods for change block tracking for backing up changed data
US11288053B2 (en) 2019-08-15 2022-03-29 Microstrategy Incorporated Conversion and restoration of computer environments to container-based implementations
US11106455B2 (en) 2019-08-15 2021-08-31 Microstrategy Incorporated Integration of containers with external elements
US10788957B1 (en) * 2019-08-22 2020-09-29 Intel Corporation Web page designing with sandboxed custom editors
US11165787B2 (en) 2019-08-26 2021-11-02 Bank Of America Corporation System for authorization of electronic data access and processing functions within a distributed server network
US11775484B2 (en) 2019-08-27 2023-10-03 Vmware, Inc. Fast algorithm to find file system difference for deduplication
US11461229B2 (en) * 2019-08-27 2022-10-04 Vmware, Inc. Efficient garbage collection of variable size chunking deduplication
US11637748B2 (en) 2019-08-28 2023-04-25 Microstrategy Incorporated Self-optimization of computing environments
CN110730202B (en) * 2019-08-30 2022-02-08 厦门协会宝网络科技有限公司 Control method of association management cloud platform system
US11514002B2 (en) * 2019-08-30 2022-11-29 EMC IP Holding Company LLC Indexing splitter for any pit replication
US11507295B2 (en) * 2019-08-30 2022-11-22 Microstrategy Incorporated Backup, restoration, and migration of computer systems
US11210189B2 (en) 2019-08-30 2021-12-28 Microstrategy Incorporated Monitoring performance of computing systems
CN110727724B (en) * 2019-09-09 2023-03-24 未鲲(上海)科技服务有限公司 Data extraction method and device, computer equipment and storage medium
US11218450B2 (en) 2019-09-11 2022-01-04 Commvault Systems, Inc. Data protection component scaling in a cloud-based data storage system
US11256673B2 (en) 2019-09-11 2022-02-22 Commvault Systems, Inc. Anomaly detection in deduplication pruning operations
US11237935B2 (en) 2019-09-11 2022-02-01 Commvault Systems, Inc. Anomaly detection in data protection operations
US11870770B2 (en) * 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11354216B2 (en) 2019-09-18 2022-06-07 Microstrategy Incorporated Monitoring performance deviations
US11360881B2 (en) 2019-09-23 2022-06-14 Microstrategy Incorporated Customizing computer performance tests
US11231876B2 (en) * 2019-09-24 2022-01-25 Western Digital Technologies, Inc. Initial data placement in hybrid object storage system
US11438231B2 (en) 2019-09-25 2022-09-06 Microstrategy Incorporated Centralized platform management for computing environments
CN110781430B (en) * 2019-09-27 2022-03-25 同济大学 Novel virtual data center system of internet and construction method thereof
US11265374B2 (en) * 2019-10-15 2022-03-01 EMC IP Holding Company LLC Cloud disaster recovery
US11663241B2 (en) 2019-10-25 2023-05-30 Nutanix, Inc. System and method for catalog service
US10628244B1 (en) 2019-10-29 2020-04-21 Snowflake Inc. Calling external functions from a data warehouse
CN112783417A (en) * 2019-11-01 2021-05-11 华为技术有限公司 Data reduction method and device, computing equipment and storage medium
US11663178B2 (en) 2019-11-04 2023-05-30 Commvault Systems, Inc. Efficient implementation of multiple deduplication databases in a heterogeneous data storage system
US20210141924A1 (en) * 2019-11-11 2021-05-13 Michael R. Gorman System to facilitate proprietary data restriction compliance for an enterprise
US10715524B1 (en) * 2019-11-14 2020-07-14 Snowflake Inc. External credential-less stages for data warehouse integrations
US11809379B2 (en) * 2019-11-19 2023-11-07 International Business Machines Corporation Storage tiering for deduplicated storage environments
CN111400302B (en) * 2019-11-28 2023-09-19 杭州海康威视系统技术有限公司 Modification method, device and system for continuous storage data
KR20210068888A (en) 2019-12-02 2021-06-10 삼성전자주식회사 Storage device storing data based on key-value and operating method of the same
US11321275B2 (en) * 2019-12-02 2022-05-03 Dropbox, Inc. Technologies for migrating content items from a server on a network to an online content management system
WO2021113687A1 (en) * 2019-12-05 2021-06-10 Augmented And Segmented Media Interface Corp. System and method for in-video product placement and in-video purchasing capability using augmented reality
US11237924B2 (en) 2019-12-11 2022-02-01 Commvault Systems, Inc. Dynamic resizing and re-distribution of destination data storage resources for bare metal restore operations in a data storage management system
US11288212B2 (en) 2019-12-18 2022-03-29 Samsung Electronics Co., Ltd. System, apparatus, and method for secure deduplication
US11436194B1 (en) * 2019-12-23 2022-09-06 Tintri By Ddn, Inc. Storage system for file system objects
US11361086B2 (en) * 2019-12-30 2022-06-14 Microsoft Technology Licensing, Llc Reliable datacenter protection at scale
US10795864B1 (en) 2019-12-30 2020-10-06 Tritan Software Corporation Method and apparatus for bi-directional communication and data replication between local and remote databases during intermittent connectivity
RU2751798C9 (en) * 2019-12-31 2021-11-16 Банк ВТБ (публичное акционерное общество) Method for distributed migration of client data, taking into account duplicates of legal entities and individuals
US11223535B2 (en) 2019-12-31 2022-01-11 Commvault Systems, Inc. Smart network topology systems and methods
US11061605B1 (en) 2020-01-09 2021-07-13 International Business Machines Corporation Dynamically performing managed file transfer based on policies
US11843610B2 (en) * 2020-01-09 2023-12-12 Cisco Technology, Inc. Providing multiple namespaces
US20210218807A1 (en) * 2020-01-14 2021-07-15 EMC IP Holding Company LLC Real-time replication of object storage in cloud storage
US11740825B2 (en) 2020-01-14 2023-08-29 International Business Machines Corporation Object lifecycle management in a dispersed storage system
CN111260146B (en) * 2020-01-22 2022-03-25 华南理工大学 Method, device, equipment and medium for locating power system edge cloud data center
US11604761B2 (en) 2020-01-30 2023-03-14 Rubrik, Inc. Utilizing a tablespace to export from a foreign database recovery environment
US11609828B2 (en) 2020-01-30 2023-03-21 Rubrik, Inc. Utilizing a tablespace to export to a native database recovery environment
US11467925B2 (en) 2020-01-30 2022-10-11 Rubrik, Inc. Exporting a database to a native database recovery environment
US11360860B2 (en) 2020-01-30 2022-06-14 Rubrik, Inc. Exporting a database from a foreign database recovery environment
US20210263667A1 (en) * 2020-02-11 2021-08-26 Pure Storage, Inc. Multi-cloud orchestration as-a-service
US11108703B1 (en) * 2020-03-05 2021-08-31 Amazon Technologies, Inc. Consistent resource visibility during inter-cellular migrations using targeted pairwise scatter-gather techniques
US11334442B2 (en) 2020-03-10 2022-05-17 Commvault Systems, Inc. Management database long-term archiving to a recovery manager
US11005935B1 (en) 2020-03-10 2021-05-11 Commvault Systems, Inc. Using multiple streams with network data management protocol to improve performance and granularity of backup and restore operations from/to a file server
US11782833B2 (en) 2020-03-12 2023-10-10 Samsung Electronics Co., Ltd. System and method of determining available bandwidth in disaggregated tiered cache for cloud content storage
US11765235B2 (en) 2020-03-12 2023-09-19 Samsung Electronics Co., Ltd. System and method of disk sharing for cloud content storage
US11455288B2 (en) * 2020-03-20 2022-09-27 Sap Se Version table scheme for fast version space access
US11689619B2 (en) * 2020-03-26 2023-06-27 EMC IP Holding Company LLC Highly efficient native e-mail message data protection for office 365
US11669402B2 (en) * 2020-03-26 2023-06-06 EMC IP Holding Company LLC Highly efficient native application data protection for office 365
US11704035B2 (en) 2020-03-30 2023-07-18 Pure Storage, Inc. Unified storage on block containers
US11704037B2 (en) * 2020-03-30 2023-07-18 Cohesity, Inc. Deduplicated storage disk space utilization
US11461263B2 (en) 2020-04-06 2022-10-04 Samsung Electronics Co., Ltd. Disaggregated memory server
WO2021211911A1 (en) * 2020-04-16 2021-10-21 Blackswan Technologies Inc. Artificial intelligence cloud operating system
WO2021216612A1 (en) * 2020-04-21 2021-10-28 Planaria Corp. Blockchain api response log
EP4125315A1 (en) * 2020-05-01 2023-02-08 Kinze Manufacturing, Inc. Gps location augmentation and outage playthrough
US11604759B2 (en) 2020-05-01 2023-03-14 EMC IP Holding Company LLC Retention management for data streams
US11599546B2 (en) 2020-05-01 2023-03-07 EMC IP Holding Company LLC Stream browser for data streams
US11455416B2 (en) 2020-05-01 2022-09-27 Kyndryl, Inc. Record-level sensitivity-based data storage in a hybrid multi cloud environment
WO2021223098A1 (en) * 2020-05-06 2021-11-11 Alibaba Group Holding Limited Hierarchical methods and systems for storing data
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11449466B2 (en) * 2020-05-19 2022-09-20 EMC IP Holding Company LLC Deleting orphan archived files from storage array using a time-based decision algorithm
US11669494B2 (en) * 2020-05-22 2023-06-06 EMC IP Holding Company LLC Scaling out data protection infrastructure
US11507559B2 (en) * 2020-05-25 2022-11-22 Hewlett Packard Enterprise Development Lp Object sharing by entities using a data structure
US11327663B2 (en) 2020-06-09 2022-05-10 Commvault Systems, Inc. Ensuring the integrity of data storage volumes used in block-level live synchronization operations in a data storage management system
US11756112B2 (en) 2020-06-10 2023-09-12 Bank Of America Corporation Settings optimization engine using artificial intelligence to enhance client privacy
US11537959B2 (en) 2020-06-16 2022-12-27 Commvault Systems, Inc. Dynamic computing progress tracker
US11831773B1 (en) 2020-06-29 2023-11-28 Amazon Technologies, Inc. Secured database restoration across service regions
WO2022000405A1 (en) * 2020-07-02 2022-01-06 Intel Corporation Methods and apparatus to deduplicate duplicate memory in a cloud computing environment
US11487468B2 (en) 2020-07-17 2022-11-01 Commvault Systems, Inc. Healing failed erasure-coded write attempts in a distributed data storage system configured with fewer storage nodes than data plus parity fragments
US11416279B2 (en) * 2020-07-21 2022-08-16 Vmware, Inc. Disks in a virtualized computing environment that are backed by remote storage
US11531558B2 (en) 2020-07-21 2022-12-20 Bank Of America Corporation System for hybrid computing application with desktop and web-based components
US20230289322A1 (en) * 2020-07-22 2023-09-14 Jared Ringenberg Data Analysis and Data Forensics System and Method
US11573837B2 (en) 2020-07-27 2023-02-07 International Business Machines Corporation Service retention in a computing environment
US11516230B2 (en) * 2020-07-27 2022-11-29 International Business Machines Corporation Selective encryption of data in motion
US11599420B2 (en) 2020-07-30 2023-03-07 EMC IP Holding Company LLC Ordered event stream event retention
US10951738B1 (en) 2020-08-06 2021-03-16 Bank Of America Corporation Automatic API integration
US11494417B2 (en) 2020-08-07 2022-11-08 Commvault Systems, Inc. Automated email classification in an information management system
US11604705B2 (en) 2020-08-14 2023-03-14 Nutanix, Inc. System and method for cloning as SQL server AG databases in a hyperconverged system
US11513708B2 (en) 2020-08-25 2022-11-29 Commvault Systems, Inc. Optimized deduplication based on backup frequency in a distributed data storage system
US11108861B1 (en) 2020-08-26 2021-08-31 Commvault Systems, Inc. System for managing multiple information management cells
US11687833B2 (en) * 2020-08-27 2023-06-27 Google Llc Data management forecasting from distributed tracing
US11907167B2 (en) 2020-08-28 2024-02-20 Nutanix, Inc. Multi-cluster database management services
US20220075771A1 (en) * 2020-09-08 2022-03-10 International Business Machines Corporation Dynamically deploying execution nodes using system throughput
US11570243B2 (en) 2020-09-22 2023-01-31 Commvault Systems, Inc. Decommissioning, re-commissioning, and commissioning new metadata nodes in a working distributed data storage system
US11385817B2 (en) 2020-09-22 2022-07-12 Vmware, Inc. Supporting deduplication in object storage using subset hashes
US11789830B2 (en) 2020-09-22 2023-10-17 Commvault Systems, Inc. Anti-entropy-based metadata recovery in a strongly consistent distributed data storage system
US11500819B2 (en) 2020-09-22 2022-11-15 Vmware, Inc. Supporting deduplication in file storage using file chunk hashes
US11513871B2 (en) 2020-09-30 2022-11-29 EMC IP Holding Company LLC Employing triggered retention in an ordered event stream storage system
US20220107916A1 (en) * 2020-10-01 2022-04-07 Netapp Inc. Supporting a lookup structure for a file system implementing hierarchical reference counting
US11755555B2 (en) 2020-10-06 2023-09-12 EMC IP Holding Company LLC Storing an ordered associative array of pairs using an append-only storage medium
US11809910B2 (en) 2020-10-14 2023-11-07 Bank Of America Corporation System and method for dynamically resizing computational infrastructure to accommodate unexpected demands
US11599293B2 (en) 2020-10-14 2023-03-07 EMC IP Holding Company LLC Consistent data stream replication and reconstruction in a streaming data storage platform
US10942629B1 (en) * 2020-10-16 2021-03-09 Laitek, Inc. Recall probability based data storage and retrieval
US11640340B2 (en) 2020-10-20 2023-05-02 Nutanix, Inc. System and method for backing up highly available source databases in a hyperconverged system
US11816139B2 (en) * 2020-10-22 2023-11-14 EMC IP Holding Company LLC Block-level classification of unstructured data
US11372579B2 (en) * 2020-10-22 2022-06-28 EMC IP Holding Company LLC Techniques for generating data sets with specified compression and deduplication ratios
US11526275B2 (en) * 2020-10-23 2022-12-13 Netapp, Inc. Creation and use of an efficiency set to estimate an amount of data stored in a data set of a storage system having one or more characteristics
US11514949B2 (en) * 2020-10-26 2022-11-29 Dell Products L.P. Method and system for long term stitching of video data using a data processing unit
US11698744B2 (en) * 2020-10-26 2023-07-11 EMC IP Holding Company LLC Data deduplication (dedup) management
US11599574B2 (en) 2020-10-26 2023-03-07 Dell Products L.P. Method and system for performing a compliance operation on video data using a data processing unit
US11916908B2 (en) 2020-10-26 2024-02-27 Dell Products L.P. Method and system for performing an authentication and authorization operation on video data using a data processing unit
US11252327B1 (en) 2020-10-26 2022-02-15 Dell Products L.P. Method and system for performing a contextual stitching operation on video data using a data processing unit
US11158352B1 (en) 2020-10-26 2021-10-26 Dell Products L.P. Method and system for indexing video data using a data processing unit
US11409793B2 (en) 2020-10-26 2022-08-09 Dell Products L.P. Method and system for performing a storage tier operation on video data using a data processing unit
US20220129426A1 (en) * 2020-10-27 2022-04-28 EMC IP Holding Company LLC Versatile data reduction for internet of things
US11436104B2 (en) * 2020-10-29 2022-09-06 EMC IP Holding Company LLC Decreasing data restoration times using advanced configuration and power interface (ACPI)
US20220138688A1 (en) * 2020-11-02 2022-05-05 Jpmorgan Chase Bank, N.A. Systems and methods for distributed ledger-based management of metadata and chain of custody of documents
US11880693B2 (en) 2020-11-05 2024-01-23 Bank Of America Corporation System for automatically generating electronic artifacts using extended functionality
US11314433B1 (en) 2020-11-20 2022-04-26 Seagate Technology Llc Remote deduplication of data in a storage system
KR102291867B1 (en) * 2020-12-02 2021-08-23 주식회사 파트리지시스템즈 System for managing data based on hierarchical data repository and operating method thereof
US20220200941A1 (en) * 2020-12-22 2022-06-23 Mcafee, Llc Reputation Clusters for Uniform Resource Locators
JP2022099948A (en) * 2020-12-23 2022-07-05 株式会社日立製作所 Storage system and data volume reduction method in storage system
US11604806B2 (en) 2020-12-28 2023-03-14 Nutanix, Inc. System and method for highly available database service
WO2022141650A1 (en) * 2021-01-04 2022-07-07 Alibaba Group Holding Limited Memory-frugal index design in storage engine
US11575745B2 (en) * 2021-01-05 2023-02-07 Nutanix, Inc. Dynamic feedback technique for improving disaster recovery replication performance
CN112738270B (en) * 2021-01-07 2022-12-30 苏州浪潮智能科技有限公司 File transmission method, device, equipment and storage medium
US11561707B2 (en) * 2021-01-08 2023-01-24 Western Digital Technologies, Inc. Allocating data storage based on aggregate duplicate performance
US11816065B2 (en) 2021-01-11 2023-11-14 EMC IP Holding Company LLC Event level retention management for data streams
US11323513B1 (en) 2021-01-22 2022-05-03 Commvault Systems, Inc. Geo-location-based data replication
US11463362B2 (en) 2021-01-29 2022-10-04 Netskope, Inc. Dynamic token bucket method adaptive to opaque server limits
US11848949B2 (en) 2021-01-30 2023-12-19 Netskope, Inc. Dynamic distribution of unified policies in a cloud-based policy enforcement system
US11777993B2 (en) 2021-01-30 2023-10-03 Netskope, Inc. Unified system for detecting policy enforcement issues in a cloud-based environment
US11900158B2 (en) 2021-02-04 2024-02-13 Red Hat, Inc. Setting task permissions for software services in distributed computing environments
US11520910B2 (en) 2021-02-09 2022-12-06 Bank Of America Corporation System and method for routing data to authorized users based on security classification of data
US11645175B2 (en) 2021-02-12 2023-05-09 Commvault Systems, Inc. Automatic failover of a storage manager
US11860802B2 (en) 2021-02-22 2024-01-02 Nutanix, Inc. Instant recovery as an enabler for uninhibited mobility between primary storage and secondary storage
KR102271829B1 (en) * 2021-02-24 2021-07-02 주식회사 오픈소스컨설팅 Method for analyzing cloud migration data of data center using system process information and system thereof
WO2022182911A1 (en) * 2021-02-24 2022-09-01 Nebulon, Inc. Efficient encryption in storage providing data-at-rest encryption and data mirroring
US11520788B2 (en) 2021-03-05 2022-12-06 Insight Direct Usa, Inc. Methods and systems for transforming distributed database structure for reduced compute load
US11916915B2 (en) * 2021-03-09 2024-02-27 Jpmorgan Chase Bank, N.A. Method and system for multiplatform file transfer
US11574050B2 (en) 2021-03-12 2023-02-07 Commvault Systems, Inc. Media agent hardening against ransomware attacks
US11137989B1 (en) * 2021-03-17 2021-10-05 Relyance, Inc. Constructing a data flow graph for a computing system of an organization
US11892918B2 (en) 2021-03-22 2024-02-06 Nutanix, Inc. System and method for availability group database patching
US11683370B2 (en) * 2021-03-26 2023-06-20 Citrix Systems, Inc. Transferring data between computing systems
US11436097B1 (en) 2021-03-31 2022-09-06 Nutanix, Inc. Technique for efficient data failover in a multi-site data replication environment
US11323357B1 (en) * 2021-03-31 2022-05-03 Arista Networks, Inc. Accessing varying route attribute states during routing policy application on network devices
US11740828B2 (en) * 2021-04-06 2023-08-29 EMC IP Holding Company LLC Data expiration for stream storages
US11100111B1 (en) 2021-04-09 2021-08-24 Snowflake Inc. Real-time streaming data ingestion into database tables
US11461335B1 (en) * 2021-04-09 2022-10-04 Snowflake Inc. Optimized processing of data in different formats
US11861292B2 (en) 2021-04-15 2024-01-02 Red Hat, Inc. Multi-strategy compression scheme
US20220334876A1 (en) * 2021-04-16 2022-10-20 EMC IP Holding Company LLC Using machine learning techniques to flow control clients in a deduplication file system
US11138192B1 (en) 2021-04-30 2021-10-05 Snowflake Inc. Invoking external table functions from a database system
US11762995B2 (en) * 2021-05-24 2023-09-19 Sap Se Antivirus scanning architecture for uploaded files
CN113311809A (en) * 2021-05-28 2021-08-27 苗叶 Industrial control system-based safe operation and maintenance instruction blocking device and method
US11681460B2 (en) 2021-06-03 2023-06-20 EMC IP Holding Company LLC Scaling of an ordered event stream based on a writer group characteristic
US11914478B2 (en) * 2021-06-09 2024-02-27 EMC IP Holding Company LLC System and method for a specialized backup operation of file based backups based on a target backup storage system
US11687492B2 (en) 2021-06-21 2023-06-27 International Business Machines Corporation Selective data deduplication in a multitenant environment
WO2022272149A1 (en) * 2021-06-24 2022-12-29 Aveva Software, Llc Operations productivity software system, server and method
US11561978B2 (en) 2021-06-29 2023-01-24 Commvault Systems, Inc. Intelligent cache management for mounted snapshots based on a behavior model
US11593428B2 (en) 2021-07-08 2023-02-28 Bank Of America Corporation System and method for detecting errors in a task workflow from a video stream
CN113535091B (en) * 2021-07-20 2022-10-25 国网新疆电力有限公司信息通信公司 Big data network cloud storage protection system and method
US11735282B2 (en) 2021-07-22 2023-08-22 EMC IP Holding Company LLC Test data verification for an ordered event stream storage system
EP4123994A1 (en) * 2021-07-22 2023-01-25 Mastercard International Incorporated Method and system for sovereign data storage
US20230024060A1 (en) * 2021-07-23 2023-01-26 Netapp, Inc. Increasing provisioned storage capacity by means of growing underlying disks within a virtual storage appliance
US20230037564A1 (en) * 2021-08-06 2023-02-09 Bank Of America Corporation System and method for generating optimized data queries to improve hardware efficiency and utilization
US11797220B2 (en) 2021-08-20 2023-10-24 Cohesity, Inc. Reducing memory usage in storing metadata
US11615147B2 (en) 2021-08-23 2023-03-28 Commvault Systems, Inc. Mobile storage manager control application for managing a storage manager of an information management system
US20230062644A1 (en) * 2021-08-24 2023-03-02 Cohesity, Inc. Partial in-line deduplication and partial post-processing deduplication of data chunks
US11593223B1 (en) 2021-09-02 2023-02-28 Commvault Systems, Inc. Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants
US11829328B2 (en) 2021-09-15 2023-11-28 Nutanix, Inc. Garbage collection from archival of storage snapshots
US11847334B2 (en) * 2021-09-23 2023-12-19 EMC IP Holding Company LLC Method or apparatus to integrate physical file verification and garbage collection (GC) by tracking special segments
US11853444B2 (en) 2021-09-27 2023-12-26 EMC IP Holding Company LLC System and method for securing instant access of data in file based backups in a backup storage system using metadata files
CN113590535B (en) * 2021-09-30 2021-12-17 中国人民解放军国防科技大学 Efficient data migration method and device for deduplication storage system
US11803368B2 (en) 2021-10-01 2023-10-31 Nutanix, Inc. Network learning to control delivery of updates
US11809725B2 (en) 2021-10-13 2023-11-07 International Business Machines Corporation Document storage with blocks split between multiple repositories
US20230135583A1 (en) * 2021-11-03 2023-05-04 Netapp, Inc. Distributed storage systems and methods to provide change tracking integrated with scalable databases
US20230153010A1 (en) * 2021-11-15 2023-05-18 Commvault Systems, Inc. Pruning data segments stored in cloud storage to reclaim cloud storage space
JP7399929B2 (en) * 2021-11-26 2023-12-18 株式会社日立製作所 Information processing system, information processing method, and program
IT202100030917A1 (en) * 2021-12-09 2023-06-09 Digix S R L FINANCIAL MANAGEMENT SYSTEM WITH MIDDLEWARE
US20230195351A1 (en) * 2021-12-17 2023-06-22 Samsung Electronics Co., Ltd. Automatic deletion in a persistent storage device
US20230195926A1 (en) * 2021-12-21 2023-06-22 Commvault Systems, Inc. Controlling information privacy in a shared data storage management system
US20230221864A1 (en) * 2022-01-10 2023-07-13 Vmware, Inc. Efficient inline block-level deduplication using a bloom filter and a small in-memory deduplication hash table
US20230237469A1 (en) * 2022-01-24 2023-07-27 Osom Products, Inc. Utilities linked to digital non-fungible assets
US11716278B1 (en) 2022-01-25 2023-08-01 Bank Of America Corporation System and method for determining the shortest data transfer path in data communication
US20230259488A1 (en) * 2022-01-25 2023-08-17 Hewlett Packard Enterprise Development Lp Data index for deduplication storage system
US11546232B1 (en) * 2022-01-27 2023-01-03 Hitachi, Ltd. Video analysis and data delivery method
US11861342B2 (en) 2022-01-28 2024-01-02 Microstrategy Incorporated Enhanced cloud-computing environment deployment
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)
JP2023125812A (en) * 2022-02-28 2023-09-07 株式会社日立製作所 Copy control device and method
US20230297604A1 (en) * 2022-02-28 2023-09-21 Docusign, Inc. Querying agreement document models in a document management system
US11656955B1 (en) 2022-03-23 2023-05-23 Bank Of America Corporation Database table valuation
US11797393B2 (en) 2022-03-23 2023-10-24 Bank Of America Corporation Table prioritization for data copy in a multi-environment setup
US20230376468A1 (en) * 2022-05-23 2023-11-23 Hewlett Packard Enterprise Development Lp Provisioning a deduplication data store
US20230400995A1 (en) * 2022-06-08 2023-12-14 Commvault Systems, Inc. Cloud-based destination for block-level data replication processing
US20240020040A1 (en) * 2022-07-13 2024-01-18 Dell Products, Lp Method and apparatus for edge storage for enterprise applications
CN115242815A (en) * 2022-07-14 2022-10-25 山石网科通信技术股份有限公司 Data cloud storage method and device, management server and user terminal
CN114943021B (en) * 2022-07-20 2022-11-08 之江实验室 TB-level incremental data screening method and device
US11792262B1 (en) 2022-07-20 2023-10-17 The Toronto-Dominion Bank System and method for data movement
US11902356B1 (en) * 2022-12-21 2024-02-13 International Business Machines Corporation Computer technology for device forwarding downloads
US11789784B1 (en) 2023-02-08 2023-10-17 Bank Of America Corporation Monitoring and management of a cloud-based computing system
CN116567001B (en) * 2023-05-16 2023-12-29 上海凯翔信息科技有限公司 Cloud NAS-based data migration system

Citations (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4686620A (en) * 1984-07-26 1987-08-11 American Telephone And Telegraph Company, At&T Bell Laboratories Database backup method
US4995035A (en) * 1988-10-31 1991-02-19 International Business Machines Corporation Centralized management in a computer network
US5005122A (en) * 1987-09-08 1991-04-02 Digital Equipment Corporation Arrangement with cooperating management server node and network service node
US5093912A (en) * 1989-06-26 1992-03-03 International Business Machines Corporation Dynamic resource pool expansion and contraction in multiprocessing environments
US5133065A (en) * 1989-07-27 1992-07-21 Personal Computer Peripherals Corporation Backup computer program for networks
US5193154A (en) * 1987-07-10 1993-03-09 Hitachi, Ltd. Buffered peripheral system and method for backing up and retrieving data to and from backup memory device
US5212772A (en) * 1991-02-11 1993-05-18 Gigatrend Incorporated System for storing data in backup tape device
US5226157A (en) * 1988-03-11 1993-07-06 Hitachi, Ltd. Backup control method and system in data processing system using identifiers for controlling block data transfer
US5239647A (en) * 1990-09-07 1993-08-24 International Business Machines Corporation Data storage hierarchy with shared storage level
US5241668A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated termination and resumption in a time zero backup copy process
US5241670A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated backup copy ordering in a time zero backup copy session
US5276867A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
US5276860A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data processor with improved backup storage
US5287500A (en) * 1991-06-03 1994-02-15 Digital Equipment Corporation System for allocating storage spaces based upon required and optional service attributes having assigned piorities
US5321816A (en) * 1989-10-10 1994-06-14 Unisys Corporation Local-remote apparatus with specialized image storage modules
US5333315A (en) * 1991-06-27 1994-07-26 Digital Equipment Corporation System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
US5410700A (en) * 1991-09-04 1995-04-25 International Business Machines Corporation Computer system which supports asynchronous commitment of data
US5491810A (en) * 1994-03-01 1996-02-13 International Business Machines Corporation Method and system for automated data storage system space allocation utilizing prioritized data set parameters
US5495607A (en) * 1993-11-15 1996-02-27 Conner Peripherals, Inc. Network management system having virtual catalog overview of files distributively stored across network domain
US5504873A (en) * 1989-11-01 1996-04-02 E-Systems, Inc. Mass data storage and retrieval system
US5544345A (en) * 1993-11-08 1996-08-06 International Business Machines Corporation Coherence controls for store-multiple shared data coordinated by cache directory entries in a shared electronic storage
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5619644A (en) * 1995-09-18 1997-04-08 International Business Machines Corporation Software directed microcode state save for distributed storage controller
US5638509A (en) * 1994-06-10 1997-06-10 Exabyte Corporation Data storage and protection system
US5729743A (en) * 1995-11-17 1998-03-17 Deltatech Research, Inc. Computer apparatus and method for merging system deltas
US5751997A (en) * 1993-01-21 1998-05-12 Apple Computer, Inc. Method and apparatus for transferring archival data among an arbitrarily large number of computer devices in a networked computer environment
US5758359A (en) * 1996-10-24 1998-05-26 Digital Equipment Corporation Method and apparatus for performing retroactive backups in a computer system
US5761677A (en) * 1996-01-03 1998-06-02 Sun Microsystems, Inc. Computer system method and apparatus providing for various versions of a file without requiring data copy or log operations
US5764972A (en) * 1993-02-01 1998-06-09 Lsc, Inc. Archiving file system for data servers in a distributed network environment
US5778395A (en) * 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US5875478A (en) * 1996-12-03 1999-02-23 Emc Corporation Computer backup using a file system, network, disk, tape and remote archiving repository media system
US5887134A (en) * 1997-06-30 1999-03-23 Sun Microsystems System and method for preserving message order while employing both programmed I/O and DMA operations
US5901327A (en) * 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US5924102A (en) * 1997-05-07 1999-07-13 International Business Machines Corporation System and method for managing critical files
US6021415A (en) * 1997-10-29 2000-02-01 International Business Machines Corporation Storage management system with file aggregation and space reclamation within aggregated files
US6026414A (en) * 1998-03-05 2000-02-15 International Business Machines Corporation System including a proxy client to backup files in a distributed computing environment
US6052735A (en) * 1997-10-24 2000-04-18 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
US6076148A (en) * 1997-12-26 2000-06-13 Emc Corporation Mass storage subsystem and backup arrangement for digital data processing system which permits information to be backed up while host computer(s) continue(s) operating in connection with information stored on mass storage subsystem
US6094416A (en) * 1997-05-09 2000-07-25 I/O Control Corporation Multi-tier architecture for control network
US6212512B1 (en) * 1999-01-06 2001-04-03 Hewlett-Packard Company Integration of a database into file management software for protecting, tracking and retrieving data
US6260069B1 (en) * 1998-02-10 2001-07-10 International Business Machines Corporation Direct data retrieval in a distributed computing system
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US20020019786A1 (en) * 2000-07-21 2002-02-14 Manuel Gonzalez On-line selection of service providers in distributed provision of services on demand
US6356801B1 (en) * 2000-05-19 2002-03-12 International Business Machines Corporation High availability work queuing in an automated data storage library
USRE37601E1 (en) * 1992-04-20 2002-03-19 International Business Machines Corporation Method and system for incremental time zero backup copying of data
US6389432B1 (en) * 1999-04-05 2002-05-14 Auspex Systems, Inc. Intelligent virtual volume access
US20020069369A1 (en) * 2000-07-05 2002-06-06 Tremain Geoffrey Donald Method and apparatus for providing computer services
US20020083079A1 (en) * 2000-11-16 2002-06-27 Interlegis, Inc. System and method of managing documents
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
US20020095609A1 (en) * 2001-01-15 2002-07-18 Yuichi Tokunaga Multiprocessor apparatus
US20030018784A1 (en) * 2001-01-25 2003-01-23 Lette John T. System and method for processing requests from newly registered remote application consumers
US6519679B2 (en) * 1999-06-11 2003-02-11 Dell Usa, L.P. Policy based storage configuration
US6538669B1 (en) * 1999-07-15 2003-03-25 Dell Products L.P. Graphical user interface for configuration of a storage system
US6564228B1 (en) * 2000-01-14 2003-05-13 Sun Microsystems, Inc. Method of enabling heterogeneous platforms to utilize a universal file system in a storage area network
US20030200222A1 (en) * 2000-09-19 2003-10-23 George Feinberg File Storage system having separation of components
US20040088578A1 (en) * 2002-10-31 2004-05-06 International Business Machines Corporation System and method for credential delegation using identity assertion
US20060058994A1 (en) * 2004-09-16 2006-03-16 Nec Laboratories America, Inc. Power estimation through power emulation
US7035880B1 (en) * 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US20060155633A1 (en) * 2005-01-12 2006-07-13 International Business Machines Corporation Automatically distributing a bid request for a grid job to multiple grid providers and analyzing responses to select a winning grid provider
US20070043721A1 (en) * 2005-08-22 2007-02-22 Sanjay Ghemawat Removing documents
US7246207B2 (en) * 2003-04-03 2007-07-17 Commvault Systems, Inc. System and method for dynamically performing storage operations in a computer network
US20080005168A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Managing family information
US7340616B2 (en) * 2004-05-26 2008-03-04 Intel Corporation Power management of storage units in a storage array
US20080059704A1 (en) * 2005-05-02 2008-03-06 Srinivas Kavuri System and method for allocation of organizational resources
US7343453B2 (en) * 2004-04-30 2008-03-11 Commvault Systems, Inc. Hierarchical systems and methods for providing a unified view of storage information
US20080082601A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Resource standardization in an off-premise environment
US20080091655A1 (en) * 2006-10-17 2008-04-17 Gokhale Parag S Method and system for offline indexing of content and classifying stored data
US7366846B2 (en) * 2005-01-14 2008-04-29 International Business Machines Corporation Redirection of storage access requests
US7386744B2 (en) * 2004-03-15 2008-06-10 Hewlett-Packard Development Company, L.P. Rack equipment power pricing plan control system and method
US20080140244A1 (en) * 2003-10-16 2008-06-12 Cdc Software Method and apparatus for planning a manufacturing schedule using an adaptive learning process
US20080147460A1 (en) * 2006-12-18 2008-06-19 International Business Machines Corporation Computer-Implemented Method, System and Program Product For Quoting A Business Service
US7395282B1 (en) * 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US7502820B2 (en) * 2004-05-03 2009-03-10 Microsoft Corporation System and method for optimized property retrieval of stored objects
US7516346B2 (en) * 2004-10-28 2009-04-07 Nec Laboratories America, Inc. System and method for dynamically changing the power mode of storage disks based on redundancy and system load
US7546475B2 (en) * 2003-05-13 2009-06-09 Hewlett-Packard Development Company, L.P. Power-aware adaptation in a data center
US7651593B2 (en) * 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US20100033452A1 (en) * 2008-08-08 2010-02-11 Tsung-Lin Yu Remote Controller for Light Emitting Diode Module
US7668884B2 (en) * 2005-11-28 2010-02-23 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
US20100070725A1 (en) * 2008-09-05 2010-03-18 Anand Prahlad Systems and methods for management of virtualization data
US20100070474A1 (en) * 2008-09-12 2010-03-18 Lad Kamleshkumar K Transferring or migrating portions of data objects, such as block-level data migration or chunk-based data migration
US20100070448A1 (en) * 2002-06-24 2010-03-18 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
US20100070466A1 (en) * 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
US20100082672A1 (en) * 2008-09-26 2010-04-01 Rajiv Kottomtharayil Systems and methods for managing single instancing data
US20100082700A1 (en) * 2008-09-22 2010-04-01 Riverbed Technology, Inc. Storage system for data virtualization and deduplication
US20100082713A1 (en) * 2008-09-30 2010-04-01 Soonr Method and system for attaching files to e-mail from backup copies remotely stored
US7694070B2 (en) * 2003-03-31 2010-04-06 Hitachi, Ltd. Computer system for managing performances of storage apparatus and performance management method of the computer system
US20100136943A1 (en) * 2008-12-01 2010-06-03 At&T Mobility Ii Llc Content management for wireless digital media frames
US20100162002A1 (en) * 2008-12-23 2010-06-24 David Dodgson Virtual tape backup arrangement using cryptographically split storage
US7761736B2 (en) * 2004-08-25 2010-07-20 International Business Machines Corporation Storing parity information for data recovery
US20100191774A1 (en) * 2009-01-23 2010-07-29 Nasuni Corporation Method and system for versioned file system using structured data representations
US7899788B2 (en) * 2005-04-01 2011-03-01 Microsoft Corporation Using a data protection server to backup and restore data on virtual servers
US7917438B2 (en) * 2008-09-10 2011-03-29 Expanse Networks, Inc. System for secure mobile healthcare selection
US20110093471A1 (en) * 2007-10-17 2011-04-21 Brian Brockway Legal compliance, electronic discovery and electronic document handling of online and offline copies of data
US7996270B2 (en) * 2006-03-30 2011-08-09 Ebay Inc. Community based network shopping
US8065166B2 (en) * 2007-10-30 2011-11-22 Onemednet Corporation Methods, systems, and devices for managing medical images and records
US8352608B1 (en) * 2008-09-23 2013-01-08 Gogrid, LLC System and method for automated configuration of hosting resources
US8626741B2 (en) * 2007-06-15 2014-01-07 Emc Corporation Process for cataloging data objects backed up from a content addressed storage system

Family Cites Families (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US786744A (en) * 1904-09-01 1905-04-04 Joseph B Fleenor Buckle for cotton-bale ties.
GB8622010D0 (en) 1986-09-12 1986-10-22 Hewlett Packard Ltd File backup facility
US5123107A (en) 1989-06-20 1992-06-16 Mensch Jr William D Topography of CMOS microcomputer integrated circuit chip including core processor and memory, priority, and I/O interface circuitry coupled thereto
ATE145998T1 (en) 1989-06-30 1996-12-15 Digital Equipment Corp METHOD AND ARRANGEMENT FOR CONTROLLING SHADOW STORAGE
GB2246218B (en) 1990-07-18 1994-02-09 Stc Plc Distributed data processing systems
US5347653A (en) * 1991-06-28 1994-09-13 Digital Equipment Corporation System for reconstructing prior versions of indexes using records indicating changes between successive versions of the indexes
US5555388A (en) * 1992-08-20 1996-09-10 Borland International, Inc. Multi-user system and methods providing improved file management by reading
US5664204A (en) * 1993-03-22 1997-09-02 Lichen Wang Apparatus and method for supplying power and wake-up signal using host port's signal lines of opposite polarities
JPH0721135A (en) * 1993-07-02 1995-01-24 Fujitsu Ltd Data processing system with duplex monitor function
EP0728333A1 (en) 1993-11-09 1996-08-28 Arcada Software Data backup and restore system for a computer network
US5673381A (en) 1994-05-27 1997-09-30 Cheyenne Software International Sales Corp. System and parallel streaming and data stripping to back-up a network
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
US5559957A (en) * 1995-05-31 1996-09-24 Lucent Technologies Inc. File system for a data storage device having a power fail recovery mechanism for write/replace operations
US5699361A (en) 1995-07-18 1997-12-16 Industrial Technology Research Institute Multimedia channel formulation mechanism
US5813009A (en) * 1995-07-28 1998-09-22 Univirtual Corp. Computer based records management system method
US5819020A (en) * 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
KR970076238A (en) 1996-05-23 1997-12-12 포만 제프리 엘 Servers, methods and program products thereof for creating and managing multiple copies of client data files
US5812398A (en) * 1996-06-10 1998-09-22 Sun Microsystems, Inc. Method and system for escrowed backup of hotelled world wide web sites
US5835906A (en) 1996-07-01 1998-11-10 Sun Microsystems, Inc. Methods and apparatus for sharing stored data objects in a computer system
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6131095A (en) * 1996-12-11 2000-10-10 Hewlett-Packard Company Method of accessing a target entity over a communications network
WO1998033113A1 (en) 1997-01-23 1998-07-30 Overland Data, Inc. Virtual media library
US6658526B2 (en) 1997-03-12 2003-12-02 Storage Technology Corporation Network attached virtual data storage subsystem
EP1008048B1 (en) 1997-08-29 2001-10-31 Hewlett-Packard Company Data backup and recovery systems
EP0899662A1 (en) 1997-08-29 1999-03-03 Hewlett-Packard Company Backup and restore system for a computer network
US5950205A (en) * 1997-09-25 1999-09-07 Cisco Technology, Inc. Data transmission over the internet using a cache memory file system
US6275953B1 (en) * 1997-09-26 2001-08-14 Emc Corporation Recovery from failure of a data processor in a network server
JPH11143754A (en) * 1997-11-05 1999-05-28 Hitachi Ltd Version information and constitution information display method and device therefor, and computer readable recording medium for recording version information and constitution information display program
US6131190A (en) * 1997-12-18 2000-10-10 Sidwell; Leland P. System for modifying JCL parameters to optimize data storage allocations
US6154787A (en) * 1998-01-21 2000-11-28 Unisys Corporation Grouping shared resources into one or more pools and automatically re-assigning shared resources from where they are not currently needed to where they are needed
US6216173B1 (en) * 1998-02-03 2001-04-10 Redbox Technologies Limited Method and apparatus for content processing and routing
DE69816415T2 (en) 1998-03-02 2004-04-15 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Data Backup System
US6161111A (en) 1998-03-31 2000-12-12 Emc Corporation System and method for performing file-handling operations in a digital data processing system using an operating system-independent file map
US6167402A (en) 1998-04-27 2000-12-26 Sun Microsystems, Inc. High performance message store
GB2341249A (en) 1998-08-17 2000-03-08 Connected Place Limited A method of generating a difference file defining differences between an updated file and a base file
US7664883B2 (en) * 1998-08-28 2010-02-16 Alacritech, Inc. Network interface device that fast-path processes solicited session layer read commands
US6487561B1 (en) 1998-12-31 2002-11-26 Emc Corporation Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size
JP2000200461A (en) 1999-01-06 2000-07-18 Sanyo Electric Co Ltd Disk recorder
US6324581B1 (en) * 1999-03-03 2001-11-27 Emc Corporation File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
US6327590B1 (en) 1999-05-05 2001-12-04 Xerox Corporation System and method for collaborative ranking of search results employing user and group profiles derived from document collection content analysis
US7389311B1 (en) 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
US6343324B1 (en) * 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices
JP2004500633A (en) 1999-12-13 2004-01-08 コネクテッド コーポレイション Multiple copy capability for network backup system
JP2001216391A (en) * 2000-02-02 2001-08-10 Seiko Epson Corp Method and system for managing reception of order
US7096418B1 (en) * 2000-02-02 2006-08-22 Persistence Software, Inc. Dynamic web page cache
US6725262B1 (en) * 2000-04-27 2004-04-20 Microsoft Corporation Methods and systems for synchronizing multiple computing devices
US6904014B1 (en) * 2000-04-27 2005-06-07 Cisco Technology, Inc. Method and apparatus for performing high-speed traffic shaping
US6330642B1 (en) 2000-06-29 2001-12-11 Bull Hn Informatin Systems Inc. Three interconnected raid disk controller data processing system architecture
US6959327B1 (en) * 2000-08-29 2005-10-25 International Business Machines Corporation System and method for dispatching and scheduling network transmissions with feedback
CA2420422C (en) 2000-08-31 2009-10-06 Ontrack Data International, Inc. System and method for data management
US7822967B2 (en) 2000-09-27 2010-10-26 Huron Ip Llc Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices
US7415506B2 (en) 2001-02-13 2008-08-19 Netapp, Inc. Storage virtualization and storage management to provide higher level storage services
US20020129106A1 (en) * 2001-03-12 2002-09-12 Surgency, Inc. User-extensible system for manipulating information in a collaborative environment
US20020194511A1 (en) 2001-06-18 2002-12-19 Swoboda Gary L. Apparatus and method for central processing unit power measurement in a digital signal processor
US20020194033A1 (en) * 2001-06-18 2002-12-19 Huff David S. Automatic insurance data extraction and quote generating system and methods therefor
EP1442387A4 (en) * 2001-09-28 2008-01-23 Commvault Systems Inc System and method for archiving objects in an information store
US7000238B2 (en) * 2001-10-10 2006-02-14 Borland Software Corporation Development system providing extensible remoting architecture
US20030140068A1 (en) * 2001-11-26 2003-07-24 Peter Yeung Arrangement, system and method relating to exchange of information
JP4168626B2 (en) * 2001-12-06 2008-10-22 株式会社日立製作所 File migration method between storage devices
US7143203B1 (en) 2002-04-26 2006-11-28 Advanced Micro Devices, Inc. Storage device control responsive to operational characteristics of a system
US6941429B1 (en) * 2002-06-25 2005-09-06 Emc Corporation System and method for improving performance of a data backup operation
US20040260921A1 (en) * 2002-07-18 2004-12-23 Treadwell William S. Cryptographic method, system and engine for enciphered message transmission
US7065619B1 (en) 2002-12-20 2006-06-20 Data Domain, Inc. Efficient data storage system
US7685269B1 (en) 2002-12-20 2010-03-23 Symantec Operating Corporation Service-level monitoring for storage applications
US20040210724A1 (en) * 2003-01-21 2004-10-21 Equallogic Inc. Block data migration
JP3912297B2 (en) 2003-02-27 2007-05-09 ソニー株式会社 Fan control device and fan control method
WO2004090675A2 (en) 2003-04-03 2004-10-21 Commvault Systems, Inc. System and method for performing storage operations through a firewall
US7334144B1 (en) 2003-06-05 2008-02-19 Maxtor Corporation Host-based power savings method and apparatus
US7146511B2 (en) 2003-10-07 2006-12-05 Hewlett-Packard Development Company, L.P. Rack equipment application performance modification system and method
JP4291664B2 (en) * 2003-10-14 2009-07-08 株式会社日立製作所 Storage apparatus and system having communication buffer reservation function
JP4518541B2 (en) 2004-01-16 2010-08-04 株式会社日立製作所 Disk array device and disk array device control method
US7079341B2 (en) 2004-03-11 2006-07-18 International Business Machines Corporation Multiple disk, variable RPM data storage system for reducing power consumption
US8266406B2 (en) * 2004-04-30 2012-09-11 Commvault Systems, Inc. System and method for allocation of organizational resources
US7360111B2 (en) * 2004-06-29 2008-04-15 Microsoft Corporation Lossless recovery for computer systems with remotely dependent data recovery
US8799242B2 (en) 2004-10-08 2014-08-05 Truecontext Corporation Distributed scalable policy based content management
US8238347B2 (en) * 2004-10-22 2012-08-07 Cisco Technology, Inc. Fibre channel over ethernet
US7809914B2 (en) 2004-11-05 2010-10-05 Commvault Systems, Inc. Methods and system of pooling storage devices
JP2006139459A (en) 2004-11-11 2006-06-01 Hitachi Global Storage Technologies Netherlands Bv Media drive and power saving method thereof
US8140786B2 (en) * 2006-12-04 2012-03-20 Commvault Systems, Inc. Systems and methods for creating copies of data, such as archive copies
US8775823B2 (en) 2006-12-29 2014-07-08 Commvault Systems, Inc. System and method for encrypting secondary copies of data
US7778984B2 (en) * 2004-11-19 2010-08-17 Microsoft Corporation System and method for a distributed object store
WO2006064872A1 (en) * 2004-12-17 2006-06-22 Ibm Japan, Ltd. Communication relay device, information processing system, control method, and program
US7823156B2 (en) * 2005-02-03 2010-10-26 Hewlett-Packard Development Company, L.P. Method of hashing address space to storage servers
US20060206507A1 (en) 2005-02-16 2006-09-14 Dahbour Ziyad M Hierarchal data management
US7953703B2 (en) 2005-02-17 2011-05-31 International Business Machines Corporation Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US20060218435A1 (en) 2005-03-24 2006-09-28 Microsoft Corporation Method and system for a consumer oriented backup
JP4574408B2 (en) * 2005-03-24 2010-11-04 株式会社日立製作所 Storage system control technology
US7873732B2 (en) 2005-04-28 2011-01-18 International Business Machines Corporation Maintaining service reliability in a data center using a service level objective provisioning mechanism
US7627827B2 (en) * 2005-06-14 2009-12-01 Microsoft Corporation Providing smart user interfaces based on document open and/or edit context
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US7568075B2 (en) 2005-09-22 2009-07-28 Hitachi, Ltd. Apparatus, system and method for making endurance of storage media
JP4694333B2 (en) 2005-09-30 2011-06-08 株式会社日立製作所 Computer system, storage device, system management device, and disk device power control method
US7877517B2 (en) 2005-11-09 2011-01-25 International Business Machines Corporation Determining whether to compress data transmitted over a network
US7653668B1 (en) * 2005-11-23 2010-01-26 Symantec Operating Corporation Fault tolerant multi-stage data replication with relaxed coherency guarantees
US7716180B2 (en) 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US7617191B2 (en) * 2006-01-06 2009-11-10 International Business Machines Corporation Search service that accesses and highlights previously accessed local and online available information sources
JP2007193440A (en) 2006-01-17 2007-08-02 Toshiba Corp Storage device using nonvolatile cache memory, and control method therefor
US7516348B1 (en) 2006-02-24 2009-04-07 Emc Corporation Selective power management of disk drives during semi-idle time in order to save power and increase drive life span
US9547485B2 (en) 2006-03-31 2017-01-17 Prowess Consulting, Llc System and method for deploying a virtual machine
DK1858226T3 (en) * 2006-05-19 2011-01-24 Microsoft Corp Content Management in Peer-to-Peer Content Distribution Clouds
US7587570B2 (en) 2006-05-31 2009-09-08 International Business Machines Corporation System and method for providing automated storage provisioning
US7739548B2 (en) 2006-06-27 2010-06-15 Hewlett-Packard Development Company, L.P. Determining actual power consumption for system power performance states
US7483895B2 (en) * 2006-06-30 2009-01-27 Microsoft Corporation Metadata management
US20080052328A1 (en) 2006-07-10 2008-02-28 Elephantdrive, Inc. Abstracted and optimized online backup and digital asset management service
US8121198B2 (en) * 2006-10-16 2012-02-21 Microsoft Corporation Embedding content-based searchable indexes in multimedia files
US8655914B2 (en) * 2006-10-17 2014-02-18 Commvault Systems, Inc. System and method for storage operation access security
US7792789B2 (en) 2006-10-17 2010-09-07 Commvault Systems, Inc. Method and system for collaborative searching
US8660038B1 (en) 2006-10-30 2014-02-25 Shoretel, Inc. Previewing voicemails using mobile devices
US8134727B1 (en) 2006-11-27 2012-03-13 Ringcentral, Inc. Message preview control
US20080228771A1 (en) 2006-12-22 2008-09-18 Commvault Systems, Inc. Method and system for searching stored data
US7840537B2 (en) 2006-12-22 2010-11-23 Commvault Systems, Inc. System and method for storing redundant information
JP5357777B2 (en) * 2006-12-28 2013-12-04 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Technology to store log data efficiently while supporting queries to support computer network security
US8468244B2 (en) * 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US9015342B2 (en) * 2007-01-22 2015-04-21 Xerox Corporation Two-level structured overlay design for cluster management in a peer-to-peer network
JP5020673B2 (en) * 2007-03-27 2012-09-05 株式会社日立製作所 A computer system that prevents the storage of duplicate files
US8060642B2 (en) * 2007-03-30 2011-11-15 Symantec Corporation Techniques for host to host transfer of sequential media and use of persistent reservation to protect media during host to host transfer
US8219848B2 (en) 2007-04-10 2012-07-10 International Business Machines Corporation Mechanism for recovery from site failure in a stream processing system
US7739312B2 (en) * 2007-04-27 2010-06-15 Network Appliance, Inc. Data containerization for reducing unused space in a file system
US8011277B2 (en) * 2007-05-10 2011-09-06 Wagic, Inc. Hand tool with multiple bit storage and a method for using the same
US7739388B2 (en) 2007-05-30 2010-06-15 International Business Machines Corporation Method and system for managing data center power usage based on service commitments
US20100190478A1 (en) 2009-01-23 2010-07-29 Qualcomm Incorporated System and method for push-to-share file distribution with previews
US7814351B2 (en) 2007-06-28 2010-10-12 Seagate Technology Llc Power management in a storage array
US8296534B1 (en) 2007-06-29 2012-10-23 Emc Corporation Techniques for using flash-based memory in recovery processing
US8065510B2 (en) * 2007-07-30 2011-11-22 Hewlet-Packard Development Company, L.P. System and methods of retrieving firmware between network locations
US8707070B2 (en) 2007-08-28 2014-04-22 Commvault Systems, Inc. Power management of data processing resources, such as power adaptive management of data storage operations
US8402507B2 (en) * 2007-10-04 2013-03-19 Cisco Technology, Inc. Distributing policies to protect against voice spam and denial-of-service
US8572043B2 (en) * 2007-12-20 2013-10-29 International Business Machines Corporation Method and system for storage of unstructured data for electronic discovery in external data stores
US20090198677A1 (en) * 2008-02-05 2009-08-06 Nuix Pty.Ltd. Document Comparison Method And Apparatus
CN101515254B (en) * 2008-02-18 2010-12-08 鸿富锦精密工业(深圳)有限公司 System and method for managing storage space
US8620889B2 (en) * 2008-03-27 2013-12-31 Microsoft Corporation Managing data transfer between endpoints in a distributed computing environment
GB2459494A (en) 2008-04-24 2009-10-28 Symbian Software Ltd A method of managing a cache
US9395929B2 (en) * 2008-04-25 2016-07-19 Netapp, Inc. Network storage server with integrated encryption, compression and deduplication capability
US8122037B2 (en) * 2008-05-12 2012-02-21 Research In Motion Limited Auto-selection of media files
US8769048B2 (en) 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US8219524B2 (en) 2008-06-24 2012-07-10 Commvault Systems, Inc. Application-aware and remote single instance data management
US9098495B2 (en) 2008-06-24 2015-08-04 Commvault Systems, Inc. Application-aware and remote single instance data management
US7756964B2 (en) 2008-06-26 2010-07-13 Oracle America, Inc. Modular integrated computing and storage
US8108502B2 (en) * 2008-07-24 2012-01-31 Symform, Inc. Storage device for use in a shared community storage network
US20100064033A1 (en) * 2008-09-08 2010-03-11 Franco Travostino Integration of an internal cloud infrastructure with existing enterprise services and systems
US7814149B1 (en) * 2008-09-29 2010-10-12 Symantec Operating Corporation Client side data deduplication
US9614924B2 (en) * 2008-12-22 2017-04-04 Ctera Networks Ltd. Storage device and method thereof for integrating network attached storage with cloud storage services
US9275067B2 (en) * 2009-03-16 2016-03-01 International Busines Machines Corporation Apparatus and method to sequentially deduplicate data
US8434131B2 (en) 2009-03-20 2013-04-30 Commvault Systems, Inc. Managing connections in a data storage system
US20100242101A1 (en) * 2009-03-20 2010-09-23 Reese Jr George Edward Method and system for securely managing access and encryption credentials in a shared virtualization environment
US20100257403A1 (en) * 2009-04-03 2010-10-07 Microsoft Corporation Restoration of a system from a set of full and partial delta system snapshots across a distributed system
US20100269164A1 (en) 2009-04-15 2010-10-21 Microsoft Corporation Online service data management
US20100274772A1 (en) * 2009-04-23 2010-10-28 Allen Samuels Compressed data objects referenced via address references and compression references
US8674823B1 (en) 2009-05-12 2014-03-18 Plug ID, LLC. Power management system
US8578120B2 (en) * 2009-05-22 2013-11-05 Commvault Systems, Inc. Block-level single instancing
US20100318782A1 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
US8321688B2 (en) 2009-06-12 2012-11-27 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
US8635184B2 (en) 2009-06-25 2014-01-21 Emc Corporation System and method for providing long-term storage for data
US20100333116A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
WO2011011336A2 (en) * 2009-07-20 2011-01-27 Caringo, Inc. Adaptive power conservation in storage clusters
US8799322B2 (en) 2009-07-24 2014-08-05 Cisco Technology, Inc. Policy driven cloud storage management and cloud storage policy router
US20110040824A1 (en) 2009-08-13 2011-02-17 Google Inc. Shared Server-Side Macros
US8370307B2 (en) * 2009-09-01 2013-02-05 Empire Technology Development Llc Cloud data backup storage manager
US8527549B2 (en) 2010-02-22 2013-09-03 Sookasa Inc. Cloud based operating and virtual file system
US9461996B2 (en) 2010-05-07 2016-10-04 Citrix Systems, Inc. Systems and methods for providing a single click access to enterprise, SAAS and cloud hosted application
US20120054626A1 (en) 2010-08-30 2012-03-01 Jens Odenheimer Service level agreements-based cloud provisioning
US8639793B2 (en) 2010-10-29 2014-01-28 Cisco Technology, Inc. Disaster recovery and automatic relocation of cloud services
US20120131645A1 (en) 2010-11-18 2012-05-24 Harm Michael W User Scriptable Server Initiated User Interface Creation
US9119017B2 (en) 2011-03-18 2015-08-25 Zscaler, Inc. Cloud based mobile device security and policy enforcement
US9071518B2 (en) 2011-07-01 2015-06-30 Fiberlink Communications Corporation Rules based actions for mobile device management
WO2013019990A1 (en) 2011-08-02 2013-02-07 Power Assure, Inc. System and method for using data centers as virtual power plants
US8683103B2 (en) 2011-08-19 2014-03-25 International Business Machines Corporation Hierarchical multi-tenancy support for host attachment configuration through resource groups
KR20130048807A (en) * 2011-11-03 2013-05-13 한국전자통신연구원 System for clouding computing and methord for managing cloud servers thereof
US9613219B2 (en) 2011-11-10 2017-04-04 Blackberry Limited Managing cross perimeter access
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9262496B2 (en) 2012-03-30 2016-02-16 Commvault Systems, Inc. Unified access to personal data
US8950009B2 (en) 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US8924792B2 (en) 2012-05-29 2014-12-30 International Business Machines Corporation Resource planning for data protection validation
US10346259B2 (en) 2012-12-28 2019-07-09 Commvault Systems, Inc. Data recovery using a cloud-based remote data recovery center
US9021307B1 (en) 2013-03-14 2015-04-28 Emc Corporation Verifying application data protection
US9292673B2 (en) 2013-03-15 2016-03-22 International Business Machines Corporation Virtual key management and isolation of data deployments in multi-tenant environments
US20180285383A1 (en) 2017-03-29 2018-10-04 Commvault Systems, Inc. Managing pod cells using a global repository cell
WO2021155958A1 (en) * 2020-02-07 2021-08-12 Telefonaktiebolaget Lm Ericsson (Publ) Storage provisioning

Patent Citations (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4686620A (en) * 1984-07-26 1987-08-11 American Telephone And Telegraph Company, At&T Bell Laboratories Database backup method
US5193154A (en) * 1987-07-10 1993-03-09 Hitachi, Ltd. Buffered peripheral system and method for backing up and retrieving data to and from backup memory device
US5005122A (en) * 1987-09-08 1991-04-02 Digital Equipment Corporation Arrangement with cooperating management server node and network service node
US5226157A (en) * 1988-03-11 1993-07-06 Hitachi, Ltd. Backup control method and system in data processing system using identifiers for controlling block data transfer
US4995035A (en) * 1988-10-31 1991-02-19 International Business Machines Corporation Centralized management in a computer network
US5093912A (en) * 1989-06-26 1992-03-03 International Business Machines Corporation Dynamic resource pool expansion and contraction in multiprocessing environments
US5133065A (en) * 1989-07-27 1992-07-21 Personal Computer Peripherals Corporation Backup computer program for networks
US5321816A (en) * 1989-10-10 1994-06-14 Unisys Corporation Local-remote apparatus with specialized image storage modules
US5504873A (en) * 1989-11-01 1996-04-02 E-Systems, Inc. Mass data storage and retrieval system
US5276867A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
US5276860A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data processor with improved backup storage
US5239647A (en) * 1990-09-07 1993-08-24 International Business Machines Corporation Data storage hierarchy with shared storage level
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5212772A (en) * 1991-02-11 1993-05-18 Gigatrend Incorporated System for storing data in backup tape device
US5287500A (en) * 1991-06-03 1994-02-15 Digital Equipment Corporation System for allocating storage spaces based upon required and optional service attributes having assigned piorities
US5333315A (en) * 1991-06-27 1994-07-26 Digital Equipment Corporation System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
US5410700A (en) * 1991-09-04 1995-04-25 International Business Machines Corporation Computer system which supports asynchronous commitment of data
USRE37601E1 (en) * 1992-04-20 2002-03-19 International Business Machines Corporation Method and system for incremental time zero backup copying of data
US5241670A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated backup copy ordering in a time zero backup copy session
US5241668A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated termination and resumption in a time zero backup copy process
US5751997A (en) * 1993-01-21 1998-05-12 Apple Computer, Inc. Method and apparatus for transferring archival data among an arbitrarily large number of computer devices in a networked computer environment
US5764972A (en) * 1993-02-01 1998-06-09 Lsc, Inc. Archiving file system for data servers in a distributed network environment
US5544345A (en) * 1993-11-08 1996-08-06 International Business Machines Corporation Coherence controls for store-multiple shared data coordinated by cache directory entries in a shared electronic storage
US5495607A (en) * 1993-11-15 1996-02-27 Conner Peripherals, Inc. Network management system having virtual catalog overview of files distributively stored across network domain
US5491810A (en) * 1994-03-01 1996-02-13 International Business Machines Corporation Method and system for automated data storage system space allocation utilizing prioritized data set parameters
US5638509A (en) * 1994-06-10 1997-06-10 Exabyte Corporation Data storage and protection system
US5619644A (en) * 1995-09-18 1997-04-08 International Business Machines Corporation Software directed microcode state save for distributed storage controller
US5778395A (en) * 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US5729743A (en) * 1995-11-17 1998-03-17 Deltatech Research, Inc. Computer apparatus and method for merging system deltas
US5761677A (en) * 1996-01-03 1998-06-02 Sun Microsystems, Inc. Computer system method and apparatus providing for various versions of a file without requiring data copy or log operations
US5901327A (en) * 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US5758359A (en) * 1996-10-24 1998-05-26 Digital Equipment Corporation Method and apparatus for performing retroactive backups in a computer system
US5875478A (en) * 1996-12-03 1999-02-23 Emc Corporation Computer backup using a file system, network, disk, tape and remote archiving repository media system
US5924102A (en) * 1997-05-07 1999-07-13 International Business Machines Corporation System and method for managing critical files
US6094416A (en) * 1997-05-09 2000-07-25 I/O Control Corporation Multi-tier architecture for control network
US5887134A (en) * 1997-06-30 1999-03-23 Sun Microsystems System and method for preserving message order while employing both programmed I/O and DMA operations
US6052735A (en) * 1997-10-24 2000-04-18 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
US6021415A (en) * 1997-10-29 2000-02-01 International Business Machines Corporation Storage management system with file aggregation and space reclamation within aggregated files
US6076148A (en) * 1997-12-26 2000-06-13 Emc Corporation Mass storage subsystem and backup arrangement for digital data processing system which permits information to be backed up while host computer(s) continue(s) operating in connection with information stored on mass storage subsystem
US6260069B1 (en) * 1998-02-10 2001-07-10 International Business Machines Corporation Direct data retrieval in a distributed computing system
US6026414A (en) * 1998-03-05 2000-02-15 International Business Machines Corporation System including a proxy client to backup files in a distributed computing environment
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6212512B1 (en) * 1999-01-06 2001-04-03 Hewlett-Packard Company Integration of a database into file management software for protecting, tracking and retrieving data
US6389432B1 (en) * 1999-04-05 2002-05-14 Auspex Systems, Inc. Intelligent virtual volume access
US6519679B2 (en) * 1999-06-11 2003-02-11 Dell Usa, L.P. Policy based storage configuration
US7035880B1 (en) * 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7395282B1 (en) * 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US6538669B1 (en) * 1999-07-15 2003-03-25 Dell Products L.P. Graphical user interface for configuration of a storage system
US6564228B1 (en) * 2000-01-14 2003-05-13 Sun Microsystems, Inc. Method of enabling heterogeneous platforms to utilize a universal file system in a storage area network
US6356801B1 (en) * 2000-05-19 2002-03-12 International Business Machines Corporation High availability work queuing in an automated data storage library
US20020069369A1 (en) * 2000-07-05 2002-06-06 Tremain Geoffrey Donald Method and apparatus for providing computer services
US20020019786A1 (en) * 2000-07-21 2002-02-14 Manuel Gonzalez On-line selection of service providers in distributed provision of services on demand
US20030200222A1 (en) * 2000-09-19 2003-10-23 George Feinberg File Storage system having separation of components
US20020083079A1 (en) * 2000-11-16 2002-06-27 Interlegis, Inc. System and method of managing documents
US20020095609A1 (en) * 2001-01-15 2002-07-18 Yuichi Tokunaga Multiprocessor apparatus
US20030018784A1 (en) * 2001-01-25 2003-01-23 Lette John T. System and method for processing requests from newly registered remote application consumers
US20100070448A1 (en) * 2002-06-24 2010-03-18 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
US20040088578A1 (en) * 2002-10-31 2004-05-06 International Business Machines Corporation System and method for credential delegation using identity assertion
US7694070B2 (en) * 2003-03-31 2010-04-06 Hitachi, Ltd. Computer system for managing performances of storage apparatus and performance management method of the computer system
US7246207B2 (en) * 2003-04-03 2007-07-17 Commvault Systems, Inc. System and method for dynamically performing storage operations in a computer network
US7546475B2 (en) * 2003-05-13 2009-06-09 Hewlett-Packard Development Company, L.P. Power-aware adaptation in a data center
US20080140244A1 (en) * 2003-10-16 2008-06-12 Cdc Software Method and apparatus for planning a manufacturing schedule using an adaptive learning process
US7386744B2 (en) * 2004-03-15 2008-06-10 Hewlett-Packard Development Company, L.P. Rack equipment power pricing plan control system and method
US7765167B2 (en) * 2004-04-30 2010-07-27 Commvault Systems, Inc. Systems and methods for storage modeling and costing
US7343356B2 (en) * 2004-04-30 2008-03-11 Commvault Systems, Inc. Systems and methods for storage modeling and costing
US7346751B2 (en) * 2004-04-30 2008-03-18 Commvault Systems, Inc. Systems and methods for generating a storage-related metric
US7343453B2 (en) * 2004-04-30 2008-03-11 Commvault Systems, Inc. Hierarchical systems and methods for providing a unified view of storage information
US7502820B2 (en) * 2004-05-03 2009-03-10 Microsoft Corporation System and method for optimized property retrieval of stored objects
US7340616B2 (en) * 2004-05-26 2008-03-04 Intel Corporation Power management of storage units in a storage array
US7761736B2 (en) * 2004-08-25 2010-07-20 International Business Machines Corporation Storing parity information for data recovery
US20060058994A1 (en) * 2004-09-16 2006-03-16 Nec Laboratories America, Inc. Power estimation through power emulation
US7516346B2 (en) * 2004-10-28 2009-04-07 Nec Laboratories America, Inc. System and method for dynamically changing the power mode of storage disks based on redundancy and system load
US20060155633A1 (en) * 2005-01-12 2006-07-13 International Business Machines Corporation Automatically distributing a bid request for a grid job to multiple grid providers and analyzing responses to select a winning grid provider
US7366846B2 (en) * 2005-01-14 2008-04-29 International Business Machines Corporation Redirection of storage access requests
US7899788B2 (en) * 2005-04-01 2011-03-01 Microsoft Corporation Using a data protection server to backup and restore data on virtual servers
US20080059704A1 (en) * 2005-05-02 2008-03-06 Srinivas Kavuri System and method for allocation of organizational resources
US20070043721A1 (en) * 2005-08-22 2007-02-22 Sanjay Ghemawat Removing documents
US7668884B2 (en) * 2005-11-28 2010-02-23 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
US7651593B2 (en) * 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US7996270B2 (en) * 2006-03-30 2011-08-09 Ebay Inc. Community based network shopping
US20080005168A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Managing family information
US20080082601A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Resource standardization in an off-premise environment
US20080091655A1 (en) * 2006-10-17 2008-04-17 Gokhale Parag S Method and system for offline indexing of content and classifying stored data
US20080147460A1 (en) * 2006-12-18 2008-06-19 International Business Machines Corporation Computer-Implemented Method, System and Program Product For Quoting A Business Service
US8626741B2 (en) * 2007-06-15 2014-01-07 Emc Corporation Process for cataloging data objects backed up from a content addressed storage system
US20110093471A1 (en) * 2007-10-17 2011-04-21 Brian Brockway Legal compliance, electronic discovery and electronic document handling of online and offline copies of data
US8065166B2 (en) * 2007-10-30 2011-11-22 Onemednet Corporation Methods, systems, and devices for managing medical images and records
US20100033452A1 (en) * 2008-08-08 2010-02-11 Tsung-Lin Yu Remote Controller for Light Emitting Diode Module
US20100070725A1 (en) * 2008-09-05 2010-03-18 Anand Prahlad Systems and methods for management of virtualization data
US7917438B2 (en) * 2008-09-10 2011-03-29 Expanse Networks, Inc. System for secure mobile healthcare selection
US20100070474A1 (en) * 2008-09-12 2010-03-18 Lad Kamleshkumar K Transferring or migrating portions of data objects, such as block-level data migration or chunk-based data migration
US20100070466A1 (en) * 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
US20100082700A1 (en) * 2008-09-22 2010-04-01 Riverbed Technology, Inc. Storage system for data virtualization and deduplication
US8352608B1 (en) * 2008-09-23 2013-01-08 Gogrid, LLC System and method for automated configuration of hosting resources
US8364802B1 (en) * 2008-09-23 2013-01-29 Gogrid, LLC System and method for monitoring a grid of hosting resources in order to facilitate management of the hosting resources
US20100082672A1 (en) * 2008-09-26 2010-04-01 Rajiv Kottomtharayil Systems and methods for managing single instancing data
US20100082713A1 (en) * 2008-09-30 2010-04-01 Soonr Method and system for attaching files to e-mail from backup copies remotely stored
US20100136943A1 (en) * 2008-12-01 2010-06-03 At&T Mobility Ii Llc Content management for wireless digital media frames
US20100162002A1 (en) * 2008-12-23 2010-06-24 David Dodgson Virtual tape backup arrangement using cryptographically split storage
US20100191774A1 (en) * 2009-01-23 2010-07-29 Nasuni Corporation Method and system for versioned file system using structured data representations

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Amazon web services, "Amazon Web Services @ Amazon.com", August 19, 2008 http://web.archive.org/web/20080819144354/http://aws.amazon.com/s3 *
Ian Foster et al., "Cloud Computing and Grid Computing 360-Degree Compared", Grid Computing Environments Workshop, 2008. *
Peter Mell et al., "The NIST Definition of Cloud Comuting", NIST Special Publication, 2011 *

Cited By (1537)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11411931B2 (en) * 2004-11-30 2022-08-09 Integic Technologies Llc Method and apparatus to enable a market in used digital content
US10491748B1 (en) 2006-04-03 2019-11-26 Wai Wu Intelligent communication routing system and method
US9990110B1 (en) 2006-08-14 2018-06-05 Akamai Technologies, Inc. Private device cloud for global testing of mobile applications
US10922006B2 (en) 2006-12-22 2021-02-16 Commvault Systems, Inc. System and method for storing redundant information
US20130304761A1 (en) * 2007-01-05 2013-11-14 Digital Doors, Inc. Digital Information Infrastruture and Method for Security Designated Data and with Granular Data Stores
US9734169B2 (en) * 2007-01-05 2017-08-15 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US8707070B2 (en) 2007-08-28 2014-04-22 Commvault Systems, Inc. Power management of data processing resources, such as power adaptive management of data storage operations
US10379598B2 (en) 2007-08-28 2019-08-13 Commvault Systems, Inc. Power management of data processing resources, such as power adaptive management of data storage operations
US9021282B2 (en) 2007-08-28 2015-04-28 Commvault Systems, Inc. Power management of data processing resources, such as power adaptive management of data storage operations
US9519526B2 (en) 2007-12-05 2016-12-13 Box, Inc. File management system and collaboration service and integration capabilities with third party applications
US8966465B2 (en) 2008-02-12 2015-02-24 Oracle International Corporation Customization creation and update for multi-layer XML customization
US8788542B2 (en) 2008-02-12 2014-07-22 Oracle International Corporation Customization syntax for multi-layer XML customization
US8875306B2 (en) 2008-02-12 2014-10-28 Oracle International Corporation Customization restrictions for multi-layer XML customization
US11321181B2 (en) 2008-06-18 2022-05-03 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US9639400B2 (en) 2008-06-19 2017-05-02 Commvault Systems, Inc. Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US10768987B2 (en) 2008-06-19 2020-09-08 Commvault Systems, Inc. Data storage resource allocation list updating for data storage operations
US10789133B2 (en) 2008-06-19 2020-09-29 Commvault Systems, Inc. Data storage resource allocation by performing abbreviated resource checks of certain data storage resources based on relative scarcity to determine whether data storage requests would fail
US10613942B2 (en) 2008-06-19 2020-04-07 Commvault Systems, Inc. Data storage resource allocation using blacklisting of data storage requests classified in the same category as a data storage request that is determined to fail if attempted
US10162677B2 (en) 2008-06-19 2018-12-25 Commvault Systems, Inc. Data storage resource allocation list updating for data storage operations
US11016859B2 (en) 2008-06-24 2021-05-25 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US9305238B2 (en) 2008-08-29 2016-04-05 Oracle International Corporation Framework for supporting regular expression-based pattern matching in data streams
US8996658B2 (en) 2008-09-03 2015-03-31 Oracle International Corporation System and method for integration of browser-based thin client applications within desktop rich client architecture
US9606778B2 (en) 2008-09-03 2017-03-28 Oracle International Corporation System and method for meta-data driven, semi-automated generation of web services based on existing applications
US11436210B2 (en) 2008-09-05 2022-09-06 Commvault Systems, Inc. Classification of virtualization data
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US11392542B2 (en) 2008-09-05 2022-07-19 Commvault Systems, Inc. Image level copy or restore, such as image level restore without knowledge of data object metadata
US20100070725A1 (en) * 2008-09-05 2010-03-18 Anand Prahlad Systems and methods for management of virtualization data
US10754841B2 (en) 2008-09-05 2020-08-25 Commvault Systems, Inc. Systems and methods for management of virtualization data
US9122520B2 (en) 2008-09-17 2015-09-01 Oracle International Corporation Generic wait service: pausing a BPEL process
US10296373B2 (en) 2008-09-17 2019-05-21 Oracle International Corporation Generic wait service: pausing and resuming a plurality of BPEL processes arranged in correlation sets by a central generic wait server
US8799319B2 (en) 2008-09-19 2014-08-05 Oracle International Corporation System and method for meta-data driven, semi-automated generation of web services based on existing applications
US20140215590A1 (en) * 2008-12-22 2014-07-31 Ctera Networks, Ltd. Multi-tenant cloud storage system
US10574753B2 (en) 2008-12-22 2020-02-25 Ctera Networks, Ltd. Data files synchronization with cloud storage service
US10521423B2 (en) 2008-12-22 2019-12-31 Ctera Networks, Ltd. Apparatus and methods for scanning data in a cloud storage service
US11178225B2 (en) 2008-12-22 2021-11-16 Ctera Networks, Ltd. Data files synchronization with cloud storage service
US10783121B2 (en) 2008-12-22 2020-09-22 Ctera Networks, Ltd. Techniques for optimizing data flows in hybrid cloud storage systems
US9473419B2 (en) * 2008-12-22 2016-10-18 Ctera Networks, Ltd. Multi-tenant cloud storage system
US10375166B2 (en) 2008-12-22 2019-08-06 Ctera Networks, Ltd. Caching device and method thereof for integration with a cloud storage system
US11586648B2 (en) 2009-03-30 2023-02-21 Commvault Systems, Inc. Storing a variable number of instances of data objects
US10970304B2 (en) 2009-03-30 2021-04-06 Commvault Systems, Inc. Storing a variable number of instances of data objects
US8290972B1 (en) * 2009-04-29 2012-10-16 Netapp, Inc. System and method for storing and accessing data using a plurality of probabilistic data structures
US9430541B1 (en) * 2009-04-29 2016-08-30 Netapp, Inc. Data updates in distributed system with data coherency
US10956274B2 (en) 2009-05-22 2021-03-23 Commvault Systems, Inc. Block-level single instancing
US11455212B2 (en) 2009-05-22 2022-09-27 Commvault Systems, Inc. Block-level single instancing
US11709739B2 (en) 2009-05-22 2023-07-25 Commvault Systems, Inc. Block-level single instancing
US11907168B2 (en) 2009-06-30 2024-02-20 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US9454537B2 (en) 2009-06-30 2016-09-27 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US8849761B2 (en) 2009-06-30 2014-09-30 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US10248657B2 (en) 2009-06-30 2019-04-02 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US9171008B2 (en) 2009-06-30 2015-10-27 Commvault Systems, Inc. Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer
US11308035B2 (en) 2009-06-30 2022-04-19 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US11288235B2 (en) 2009-07-08 2022-03-29 Commvault Systems, Inc. Synchronized data deduplication
US10303549B2 (en) 2009-08-27 2019-05-28 International Business Machines Corporation Dispersed storage network with access control and methods for use therewith
US20140337932A1 (en) * 2009-08-27 2014-11-13 Cleversafe, Inc. Dispersed storage network with access control and methods for use therewith
US20110093409A1 (en) * 2009-10-20 2011-04-21 Fujitsu Limited Computer product, charge calculating apparatus, and charge calculating method
US8781876B2 (en) * 2009-10-20 2014-07-15 Fujitsu Limited Computer product, charge calculating apparatus, and charge calculating method
US10467188B2 (en) * 2009-12-08 2019-11-05 Netapp, Inc. In-line policy management with multi-level object handle
US20120173838A1 (en) * 2009-12-10 2012-07-05 International Business Machines Corporation Data storage system and method
US8862833B2 (en) * 2009-12-10 2014-10-14 International Business Machines Corporation Selection of storage containers for thin-partitioned data storage based on criteria
US9305057B2 (en) 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US9430494B2 (en) 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
US8650157B1 (en) * 2010-02-10 2014-02-11 Symantec Corporation Systems and methods for deduplicating data transferred via physical storage media
US20140344461A1 (en) * 2010-03-19 2014-11-20 Novell, Inc. Techniques for intelligent service deployment
US8965802B1 (en) * 2010-04-26 2015-02-24 Ca, Inc. Brokering and payment optimization for cloud computing
US9729488B2 (en) 2010-04-26 2017-08-08 BitTitan Inc. On-demand mailbox synchronization and migration system
US9207993B2 (en) 2010-05-13 2015-12-08 Microsoft Technology Licensing, Llc Dynamic application placement based on cost and availability of energy in datacenters
US20140143602A1 (en) * 2010-05-20 2014-05-22 Novell, Inc. Techniques for evaluating and managing cloud networks
US20110289440A1 (en) * 2010-05-20 2011-11-24 Carter Stephen R Techniques for evaluating and managing cloud networks
US8639791B2 (en) * 2010-05-20 2014-01-28 Novell, Inc. Techniques for evaluating and managing cloud networks
US9202225B2 (en) * 2010-05-28 2015-12-01 Red Hat, Inc. Aggregate monitoring of utilization data for vendor products in cloud networks
US20110295727A1 (en) * 2010-05-28 2011-12-01 James Michael Ferris Systems and methods for aggregate monitoring of utilization data for vendor products in cloud networks
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US20110314071A1 (en) * 2010-06-17 2011-12-22 Openwave Systems Inc. Metadata-based data access and control
US20110314164A1 (en) * 2010-06-17 2011-12-22 International Business Machines Corporation Intelligent network storage planning within a clustered computing environment
US9106675B2 (en) * 2010-06-17 2015-08-11 International Business Machines Corporation Intelligent network storage planning within a clustered computing environment
US20120011190A1 (en) * 2010-07-09 2012-01-12 Sap Ag Brokered cloud computing architecture
US8250135B2 (en) * 2010-07-09 2012-08-21 Sap Ag Brokered cloud computing architecture
US20120016721A1 (en) * 2010-07-15 2012-01-19 Joseph Weinman Price and Utility Optimization for Cloud Computing Resources
US10067850B2 (en) 2010-07-19 2018-09-04 Akamai Technologies, Inc. Load test charts with standard deviation and percentile statistics
US9942105B2 (en) 2010-07-19 2018-04-10 Akamai Technologies, Inc. Animated globe showing real-time web user performance measurements
US20150248431A1 (en) * 2010-08-02 2015-09-03 Juo-Yu Lee Survivable cloud data storage and transport
US10120873B2 (en) * 2010-08-02 2018-11-06 Spatial Digital Systems, Inc. Survivable cloud data storage and transport
US8769269B2 (en) * 2010-08-12 2014-07-01 International Business Machines Corporation Cloud data management
US20120042162A1 (en) * 2010-08-12 2012-02-16 International Business Machines Corporation Cloud Data Management
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
US8650159B1 (en) * 2010-08-26 2014-02-11 Symantec Corporation Systems and methods for managing data in cloud storage using deduplication techniques
US20120054325A1 (en) * 2010-08-31 2012-03-01 Backa Bruce R System and Method for In-Place Data Migration
US9239690B2 (en) * 2010-08-31 2016-01-19 Bruce R. Backa System and method for in-place data migration
US8782011B2 (en) * 2010-09-03 2014-07-15 Symantec Corporation System and method for scalable reference management in a deduplication based storage system
US20130185259A1 (en) * 2010-09-03 2013-07-18 Symantec Corporation System and method for scalable reference management in a deduplication based storage system
US9557933B1 (en) * 2010-09-24 2017-01-31 EMC IP Holding Company LLC Selective migration of physical data
US10579477B2 (en) * 2010-09-28 2020-03-03 International Business Machines Corporation Prioritization of data items for backup in a computing environment
US10762036B2 (en) 2010-09-30 2020-09-01 Commvault Systems, Inc. Archiving data objects using secondary copies
US11392538B2 (en) 2010-09-30 2022-07-19 Commvault Systems, Inc. Archiving data objects using secondary copies
US11768800B2 (en) 2010-09-30 2023-09-26 Commvault Systems, Inc. Archiving data objects using secondary copies
US20120096470A1 (en) * 2010-10-19 2012-04-19 International Business Machines Corporation Prioritizing jobs within a cloud computing environment
US8429659B2 (en) * 2010-10-19 2013-04-23 International Business Machines Corporation Scheduling jobs within a cloud computing environment
US9218202B2 (en) 2010-10-19 2015-12-22 International Business Machines Corporation Prioritizing jobs within a cloud computing environment
US9886316B2 (en) 2010-10-28 2018-02-06 Microsoft Technology Licensing, Llc Data center system that accommodates episodic computation
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US9063738B2 (en) 2010-11-22 2015-06-23 Microsoft Technology Licensing, Llc Dynamically placing computing jobs
US20130290387A1 (en) * 2010-11-30 2013-10-31 International Business Machines Corporation Virtual node subpool management
US9092452B2 (en) * 2010-11-30 2015-07-28 International Business Machines Corporation Virtual node subpool management
US9280557B2 (en) 2010-11-30 2016-03-08 International Business Machines Corporation Virtual node subpool management
US11422976B2 (en) 2010-12-14 2022-08-23 Commvault Systems, Inc. Distributed deduplicated storage system
US11169888B2 (en) 2010-12-14 2021-11-09 Commvault Systems, Inc. Client-side repository in a networked deduplicated storage system
US20120158672A1 (en) * 2010-12-16 2012-06-21 Microsoft Corporation Extensible Pipeline for Data Deduplication
US8380681B2 (en) * 2010-12-16 2013-02-19 Microsoft Corporation Extensible pipeline for data deduplication
US10042855B2 (en) 2010-12-31 2018-08-07 EMC IP Holding Company LLC Efficient storage tiering
US9280550B1 (en) * 2010-12-31 2016-03-08 Emc Corporation Efficient storage tiering
US8886901B1 (en) 2010-12-31 2014-11-11 Emc Corporation Policy based storage tiering
EP2659391A4 (en) * 2010-12-31 2017-06-28 EMC Corporation Efficient storage tiering
US20120216052A1 (en) * 2011-01-11 2012-08-23 Safenet, Inc. Efficient volume encryption
US20120179779A1 (en) * 2011-01-12 2012-07-12 Dolphin Enterprise Solutions Corporation d/b/a Dolphin System and method for data storage and retrieval
US10554426B2 (en) 2011-01-20 2020-02-04 Box, Inc. Real time notification of activities that occur in a web-based collaboration environment
GB2499548B (en) * 2011-01-28 2018-07-11 Hewlett Packard Development Co Utilizing content via personal clouds
US9723052B2 (en) 2011-01-28 2017-08-01 Hewlett-Packard Development Company, L.P. Utilizing content via personal clouds
GB2499548A (en) * 2011-01-28 2013-08-21 Hewlett Packard Development Co Utilizing content via personal clouds
WO2012102731A1 (en) * 2011-01-28 2012-08-02 Hewlett-Packard Development Company, L.P. Utilizing content via personal clouds
CN103329128A (en) * 2011-01-28 2013-09-25 惠普发展公司,有限责任合伙企业 Utilizing content via personal clouds
US20120203796A1 (en) * 2011-02-08 2012-08-09 Microsoft Corporation Media content location awareness and decision making
US8725680B2 (en) * 2011-02-08 2014-05-13 Microsoft Corporation Media content location awareness and decision making
DE102011011284A1 (en) * 2011-02-15 2012-08-16 Christmann Informationstechnik + Medien Gmbh & Co. Kg Method for de-duplication of data stored in storage medium, involves checking whether write requests not executed by computer system exists and generating one or more new references already recognized as no longer required signatures
US8566578B1 (en) * 2011-02-17 2013-10-22 Symantec Corporation Method and system for ensuring compliance in public clouds using fine-grained data ownership based encryption
US8718978B2 (en) * 2011-02-28 2014-05-06 Apple Inc. Performance logging framework
US9225791B2 (en) * 2011-02-28 2015-12-29 Red Hat, Inc. Staged data migration between data sources and cloud-based storage network
US20120221293A1 (en) * 2011-02-28 2012-08-30 Apple Inc. Performance logging framework
US20120221684A1 (en) * 2011-02-28 2012-08-30 James Michael Ferris Systems and methods for staged data migration between data sources and cloud-based storage network
TWI478088B (en) * 2011-03-02 2015-03-21 Chunghwa Telecom Co Ltd Cloud Services On Demand Service System
US9146935B1 (en) * 2011-03-08 2015-09-29 Symantec Corporation Systems and methods for classifying files as candidates for deduplication
US10209893B2 (en) * 2011-03-08 2019-02-19 Rackspace Us, Inc. Massively scalable object storage for storing object replicas
US9483354B1 (en) * 2011-03-11 2016-11-01 Veritas Technologies Llc Techniques for providing data management using a backup data bank system
CN103403713A (en) * 2011-03-14 2013-11-20 亚马逊技术股份有限公司 Variants of files in a file system
WO2012125355A1 (en) 2011-03-14 2012-09-20 Amazon Technologies, Inc. Variants of files in a file system
EP2686791A4 (en) * 2011-03-14 2015-05-06 Amazon Tech Inc Variants of files in a file system
CN102170440A (en) * 2011-03-24 2011-08-31 北京大学 Method suitable for safely migrating data between storage clouds
US8407501B2 (en) 2011-03-28 2013-03-26 International Business Machines Corporation Allocation of storage resources in a networked computing environment based on energy utilization
US9432300B2 (en) 2011-03-28 2016-08-30 International Business Machines Corporation Allocation of storage resources in a networked computing environment based on energy utilization
EP2693340A4 (en) * 2011-03-31 2015-05-27 Hitachi Solutions Ltd Information processing system, backup management method and program
EP2512097A1 (en) * 2011-04-14 2012-10-17 Unisys Corporation File-based application programming interface providing ssh-secured communication
EP2512096A1 (en) * 2011-04-14 2012-10-17 Unisys Corporation File-based application programming interface providing selectable security features
US8838721B2 (en) * 2011-04-15 2014-09-16 Hitachi, Ltd. File sharing system and file sharing method
US20140358859A1 (en) * 2011-04-15 2014-12-04 Hitachi, Ltd. File sharing system and file sharing method
US9251163B2 (en) * 2011-04-15 2016-02-02 Hitachi, Ltd. File sharing system and file sharing method
US20120265836A1 (en) * 2011-04-15 2012-10-18 Hitachi, Ltd. File sharing system and file sharing method
US20140297535A1 (en) * 2011-04-26 2014-10-02 Docupace Technologies, Inc. System and Method for Compliant Integrated Workflow
US9785498B2 (en) 2011-04-29 2017-10-10 Tata Consultancy Services Limited Archival storage and retrieval system
WO2012147087A1 (en) * 2011-04-29 2012-11-01 Tata Consultancy Services Limited Archival storage and retrieval system
WO2012151595A1 (en) * 2011-05-06 2012-11-15 Raudaschl Wolfgang Method for storing data on a central server
US9756104B2 (en) 2011-05-06 2017-09-05 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9535761B2 (en) 2011-05-13 2017-01-03 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US9804892B2 (en) 2011-05-13 2017-10-31 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
WO2012158654A3 (en) * 2011-05-14 2014-05-08 Bitcasa, Inc. Cloud file system with server-side deduplication of user-agnostic encrypted files
US9876637B2 (en) 2011-05-14 2018-01-23 Puccini World Limited Cloud file system
US9253166B2 (en) 2011-05-14 2016-02-02 Bitcasa, Inc. Cloud file system
US10715314B2 (en) 2011-05-14 2020-07-14 Puccini World Limited Cloud file system
US9137304B2 (en) * 2011-05-25 2015-09-15 Alcatel Lucent Method and apparatus for achieving data security in a distributed cloud computing environment
US20120303736A1 (en) * 2011-05-25 2012-11-29 Alcatel-Lucent Usa Inc. Method And Apparatus For Achieving Data Security In A Distributed Cloud Computing Environment
US8543660B2 (en) * 2011-05-27 2013-09-24 Verizon Patent And Licensing Inc. Systems and methods for bridging and managing media content associated with separate media content networks
US20120304233A1 (en) * 2011-05-27 2012-11-29 Verizon Patent And Licensing, Inc. Systems and methods for bridging and managing media content associated with separate media content networks
CN102196049A (en) * 2011-05-31 2011-09-21 北京大学 Method suitable for secure migration of data in storage cloud
US8868859B2 (en) 2011-06-03 2014-10-21 Apple Inc. Methods and apparatus for multi-source restore
US8819471B2 (en) 2011-06-03 2014-08-26 Apple Inc. Methods and apparatus for power state based backup
US9904597B2 (en) 2011-06-03 2018-02-27 Apple Inc. Methods and apparatus for multi-phase restore
US9465696B2 (en) 2011-06-03 2016-10-11 Apple Inc. Methods and apparatus for multi-phase multi-source backup
US9201895B2 (en) 2011-06-03 2015-12-01 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US8255731B1 (en) 2011-06-03 2012-08-28 Apple Inc. Methods and apparatus for power state based backup
US9898500B2 (en) 2011-06-03 2018-02-20 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US11416471B2 (en) 2011-06-03 2022-08-16 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US9317369B2 (en) 2011-06-03 2016-04-19 Apple Inc. Methods and apparatus for multi-phase restore
US9411687B2 (en) 2011-06-03 2016-08-09 Apple Inc. Methods and apparatus for interface in multi-phase restore
US9483365B2 (en) 2011-06-03 2016-11-01 Apple Inc. Methods and apparatus for multi-source restore
US20120310762A1 (en) * 2011-06-03 2012-12-06 Robbin Jeffrey L Remote Storage of Acquired Data at Network-Based Data Repository
US8689034B2 (en) 2011-06-03 2014-04-01 Apple Inc. Methods and apparatus for power state based backup
US8938638B2 (en) 2011-06-06 2015-01-20 Microsoft Corporation Recovery service location for a service
US10585766B2 (en) 2011-06-06 2020-03-10 Microsoft Technology Licensing, Llc Automatic configuration of a recovery service
US10320777B2 (en) * 2011-06-08 2019-06-11 Siemens Aktiengesellschaft Access to data stored in a cloud
US20140208409A1 (en) * 2011-06-08 2014-07-24 Monika Maidl Access to data stored in a cloud
US9875163B1 (en) 2011-06-08 2018-01-23 EMC IP Holding Company LLC Method for replicating data in a backup storage system using a cost function
US10666647B2 (en) 2011-06-08 2020-05-26 Servicenow, Inc. Access to data stored in a cloud
US9436292B1 (en) * 2011-06-08 2016-09-06 Emc Corporation Method for replicating data in a backup storage system using a cost function
US11290446B2 (en) 2011-06-08 2022-03-29 Servicenow, Inc. Access to data stored in a cloud
JP2012256324A (en) * 2011-06-09 2012-12-27 Gemini Mobile Technologies Inc Data management method and hybrid data management system
US9672267B2 (en) 2011-06-09 2017-06-06 Cloudian Holdings, Inc. Hybrid data management system and method for managing large, varying datasets
US9396290B2 (en) 2011-06-09 2016-07-19 Cloudian Holdings, Inc. Hybrid data management system and method for managing large, varying datasets
EP2718858A4 (en) * 2011-06-09 2015-08-05 Cloudian Holdings Inc Hybrid data management system and method for managing large, varying datasets
US20120323821A1 (en) * 2011-06-15 2012-12-20 International Business Machines Corporation Methods for billing for data storage in a tiered data storage system
US9069477B1 (en) * 2011-06-16 2015-06-30 Amazon Technologies, Inc. Reuse of dynamically allocated memory
US10303649B2 (en) 2011-06-20 2019-05-28 Microsoft Technology Licensing, Llc Storage media abstraction for uniform data storage
EP2721481A4 (en) * 2011-06-20 2015-09-16 Microsoft Technology Licensing Llc Storage media abstraction for uniform data storage
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
US9063912B2 (en) 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
EP2724232A2 (en) * 2011-06-27 2014-04-30 Microsoft Corporation Resource management for cloud computing platforms
US9595054B2 (en) 2011-06-27 2017-03-14 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US10644966B2 (en) 2011-06-27 2020-05-05 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
EP2724232A4 (en) * 2011-06-27 2014-11-26 Microsoft Corp Resource management for cloud computing platforms
US9450838B2 (en) 2011-06-27 2016-09-20 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US10013281B2 (en) * 2011-06-29 2018-07-03 Microsoft Technology Licensing, Llc Controlling network utilization
US20130007254A1 (en) * 2011-06-29 2013-01-03 Microsoft Corporation Controlling network utilization
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
US9652741B2 (en) 2011-07-08 2017-05-16 Box, Inc. Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US9978040B2 (en) 2011-07-08 2018-05-22 Box, Inc. Collaboration sessions in a workspace on a cloud-based content management system
US20130018929A1 (en) * 2011-07-12 2013-01-17 Plair Media Inc. Distributed Storage Method and System
US8762432B2 (en) * 2011-07-12 2014-06-24 PLAiR Media, Inc. Methods and systems for using distributed allocation tables
US8745102B2 (en) * 2011-07-12 2014-06-03 PLAiR Media, Inc. Distributed storage method and system
US8447732B2 (en) 2011-08-02 2013-05-21 International Business Machines Corporation Deduplication in network storage with data residence compliance
US9204175B2 (en) * 2011-08-03 2015-12-01 Microsoft Technology Licensing, Llc Providing partial file stream for generating thumbnail
US20130036233A1 (en) * 2011-08-03 2013-02-07 Microsoft Corporation Providing partial file stream for generating thumbnail
US9521217B2 (en) 2011-08-08 2016-12-13 Ctera Networks, Ltd. System and method for remote access to cloud-enabled network devices
US20130041872A1 (en) * 2011-08-12 2013-02-14 Alexander AIZMAN Cloud storage system with distributed metadata
US8533231B2 (en) * 2011-08-12 2013-09-10 Nexenta Systems, Inc. Cloud storage system with distributed metadata
US8990171B2 (en) 2011-09-01 2015-03-24 Microsoft Corporation Optimization of a partially deduplicated file
US8793378B2 (en) 2011-09-01 2014-07-29 International Business Machines Corporation Identifying services and associated capabilities in a networked computing environment
US9442951B2 (en) * 2011-09-23 2016-09-13 Dell Products L.P. Maintaining deduplication data in native file formats
US20130080919A1 (en) * 2011-09-23 2013-03-28 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US20130080404A1 (en) * 2011-09-23 2013-03-28 Dell Products L.P. Maintaining deduplication data in native file formats
US20130080405A1 (en) * 2011-09-23 2013-03-28 Dell Products L.P. Application transparent deduplication data
US9449013B2 (en) * 2011-09-23 2016-09-20 Dell Products L.P. Application transparent deduplication data
US9197718B2 (en) * 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US9135116B1 (en) * 2011-09-29 2015-09-15 Emc Corporation Cloud enabled filesystems provided by an agent which interfaces with a file system on a data source device
WO2013049730A1 (en) * 2011-09-29 2013-04-04 Fingi Inc. Systems, methods and devices that allow hotel guests to interface with a hotel via an integrated network system
US20130086568A1 (en) * 2011-09-30 2013-04-04 Oracle International Corporation Optimizations using a bpel compiler
US8954942B2 (en) * 2011-09-30 2015-02-10 Oracle International Corporation Optimizations using a BPEL compiler
US11032146B2 (en) 2011-09-30 2021-06-08 Commvault Systems, Inc. Migration of existing computing systems to cloud computing sites or virtual machines
US8990151B2 (en) 2011-10-14 2015-03-24 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
US9009220B2 (en) * 2011-10-14 2015-04-14 Mimecast North America Inc. Analyzing stored electronic communications
US9686163B2 (en) 2011-10-14 2017-06-20 Mimecast North America Inc. Determining events by analyzing stored electronic communications
US20130097275A1 (en) * 2011-10-14 2013-04-18 Verizon Patent And Licensing Inc. Cloud-based storage deprovisioning
US10547525B2 (en) * 2011-10-14 2020-01-28 Mimecast Services Ltd. Determining events by analyzing stored electronic communications
US20130097221A1 (en) * 2011-10-14 2013-04-18 Nathaniel S. Borenstein Analyzing client data stores
WO2013056032A3 (en) * 2011-10-14 2013-06-13 Mimecast North America Inc. Analyzing client data stores
US9201610B2 (en) * 2011-10-14 2015-12-01 Verizon Patent And Licensing Inc. Cloud-based storage deprovisioning
WO2013056032A2 (en) * 2011-10-14 2013-04-18 Mimecast North America Inc. Analyzing client data stores
GB2510299A (en) * 2011-10-14 2014-07-30 Mimecast North America Inc Analyzing client data stores
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
US11210610B2 (en) 2011-10-26 2021-12-28 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
WO2013065084A1 (en) * 2011-11-01 2013-05-10 Hitachi, Ltd. Information system and method for managing data
US20130110967A1 (en) * 2011-11-01 2013-05-02 Hitachi, Ltd. Information system and method for managing data in information system
WO2013070803A1 (en) * 2011-11-07 2013-05-16 Nexgen Storage, Inc. Primary data storage system with data tiering
US20130117286A1 (en) * 2011-11-07 2013-05-09 Nexgen Storage, Inc. Primary Data Storage System with Quality of Service
US10853274B2 (en) 2011-11-07 2020-12-01 NextGen Storage, Inc. Primary data storage system with data tiering
US10216651B2 (en) * 2011-11-07 2019-02-26 Nexgen Storage, Inc. Primary data storage system with data tiering
US10282101B2 (en) 2011-11-07 2019-05-07 Nexgen Storage, Inc. Primary data storage system with quality of service
WO2013070792A1 (en) * 2011-11-07 2013-05-16 Nexgen Storage, Inc. Primary data storage system with staged deduplication
US20130117515A1 (en) * 2011-11-07 2013-05-09 Nexgen Storage, Inc. Primary Data Storage System with Data Tiering
WO2013070800A1 (en) * 2011-11-07 2013-05-16 Nexgen Storage, Inc. Primary data storage system with quality of service
US10248582B2 (en) * 2011-11-07 2019-04-02 Nexgen Storage, Inc. Primary data storage system with deduplication
US10891054B2 (en) 2011-11-07 2021-01-12 Nexgen Storage, Inc. Primary data storage system with quality of service
US9176708B2 (en) * 2011-11-07 2015-11-03 Nexgen Storage, Inc. Primary data storage system with quality of service
US20130117516A1 (en) * 2011-11-07 2013-05-09 Nexgen Storage, Inc. Primary Data Storage System with Staged Deduplication
US8612284B1 (en) * 2011-11-09 2013-12-17 Parallels IP Holdings GmbH Quality of service differentiated cloud storage
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
US9015248B2 (en) 2011-11-16 2015-04-21 Box, Inc. Managing updates at clients used by a user to access a cloud-based collaboration service
US10051042B2 (en) 2011-11-18 2018-08-14 Ca, Inc. System and method for hand-offs in cloud environments
US8688768B2 (en) 2011-11-18 2014-04-01 Ca, Inc. System and method for hand-offs in cloud environments
US9088575B2 (en) 2011-11-18 2015-07-21 Ca, Inc. System and method for hand-offs in cloud environments
US9749132B1 (en) * 2011-11-28 2017-08-29 Amazon Technologies, Inc. System and method for secure deletion of data
US20130138706A1 (en) * 2011-11-28 2013-05-30 Cleversafe, Inc. Creating a New File for a Dispersed Storage Network
US9584326B2 (en) * 2011-11-28 2017-02-28 International Business Machines Corporation Creating a new file for a dispersed storage network
US11537630B2 (en) 2011-11-29 2022-12-27 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US9773051B2 (en) 2011-11-29 2017-09-26 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US10909141B2 (en) 2011-11-29 2021-02-02 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US11853320B2 (en) 2011-11-29 2023-12-26 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US8832249B2 (en) 2011-11-30 2014-09-09 At&T Intellectual Property I, L.P. Methods and apparatus to adjust resource allocation in a distributive computing network
US9514145B2 (en) 2011-12-02 2016-12-06 International Business Machines Corporation Managing redundant immutable files using deduplication in storage clouds
DE112012005037B4 (en) * 2011-12-02 2018-11-15 International Business Machines Corporation Manage redundant immutable files using deduplications in storage clouds
US20130151688A1 (en) * 2011-12-07 2013-06-13 Alcatel-Lucent Usa Inc. Optimization mechanisms for latency reduction and elasticity improvement in geographically distributed data centers
JP2015501988A (en) * 2011-12-08 2015-01-19 エンパイア テクノロジー ディベロップメント エルエルシー Storage discount to enable deduplication between users
WO2013090331A1 (en) * 2011-12-13 2013-06-20 Unisys Corporation Interfaces for combining calls in an emulated environment
US11334533B2 (en) * 2011-12-15 2022-05-17 Veritas Technologies Llc Dynamic storage tiering in a virtual environment
JP2018110014A (en) * 2011-12-15 2018-07-12 ベリタス テクノロジーズ エルエルシー Dynamic storage hierarchization in virtual environment
US10380078B1 (en) * 2011-12-15 2019-08-13 Veritas Technologies Llc Dynamic storage tiering in a virtual environment
WO2013090262A1 (en) * 2011-12-15 2013-06-20 Symantec Corporation Dynamic storage tiering in a virtual environment
US9471243B2 (en) * 2011-12-15 2016-10-18 Veritas Technologies Llc Dynamic storage tiering in a virtual environment
US9756031B1 (en) * 2011-12-21 2017-09-05 Amazon Technologies, Inc. Portable access to auditing information
US9019123B2 (en) 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US10095587B1 (en) * 2011-12-23 2018-10-09 EMC IP Holding Company LLC Restricted data zones for backup servers
US20130173744A1 (en) * 2012-01-03 2013-07-04 Microsoft Corporation Accessing Overlay Media Over a Network Connection
US9858149B2 (en) * 2012-01-03 2018-01-02 Microsoft Technology Licensing, Llc Accessing overlay media over a network connection
CN104040525A (en) * 2012-01-03 2014-09-10 微软公司 Accessing overlay media over a network connection
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US8849759B2 (en) 2012-01-13 2014-09-30 Nexenta Systems, Inc. Unified local storage supporting file and cloud object access
US20180267979A1 (en) * 2012-01-13 2018-09-20 Amazon Technologies, Inc. Managing data storage using storage policy specifications
US9984079B1 (en) * 2012-01-13 2018-05-29 Amazon Technologies, Inc. Managing data storage using storage policy specifications
US20130198476A1 (en) * 2012-01-26 2013-08-01 Hitachi, Ltd. Management system of information memory system and management method thereof
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US20150012982A1 (en) * 2012-02-14 2015-01-08 Fujitsu Technology Solutions Intellectual Property Gmbh Cluster storage system, process for secure erasure of data, and computer program product
US9984085B2 (en) * 2012-02-14 2018-05-29 Fujitsu Technology Solutions Intellectual Property Gmbh Cluster storage system, process for secure erasure of data, and computer program product
WO2013120647A1 (en) * 2012-02-14 2013-08-22 Fujitsu Technology Solutions Intellectual Property Gmbh Method for safely erasing data in a cluster storage system
US9727383B2 (en) 2012-02-21 2017-08-08 Microsoft Technology Licensing, Llc Predicting datacenter performance to improve provisioning
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US10713624B2 (en) 2012-02-24 2020-07-14 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US10067940B2 (en) * 2012-03-02 2018-09-04 International Business Machines Corporation Enhanced storage quota management for cloud computing systems
CN103297496A (en) * 2012-03-02 2013-09-11 国际商业机器公司 Method and system of enhanced storage quota management for cloud computing system
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US20130262180A1 (en) * 2012-03-27 2013-10-03 Samsung Electronics Co., Ltd. Cloud information trading system and cloud information trading method using the same
US11042511B2 (en) 2012-03-30 2021-06-22 Commvault Systems, Inc. Smart archiving and data previewing for mobile devices
US9262496B2 (en) 2012-03-30 2016-02-16 Commvault Systems, Inc. Unified access to personal data
US20130262615A1 (en) * 2012-03-30 2013-10-03 Commvault Systems, Inc. Shared network-available storage that permits concurrent data access
US10999373B2 (en) 2012-03-30 2021-05-04 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US20170199688A1 (en) * 2012-03-30 2017-07-13 Commvault Systems, Inc. Shared network-available storage that permits concurrent data access
US8950009B2 (en) 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US10108621B2 (en) 2012-03-30 2018-10-23 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US10963422B2 (en) 2012-03-30 2021-03-30 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US9773002B2 (en) 2012-03-30 2017-09-26 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US11615059B2 (en) 2012-03-30 2023-03-28 Commvault Systems, Inc. Smart archiving and data previewing for mobile devices
US10547684B2 (en) 2012-03-30 2020-01-28 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US11494332B2 (en) 2012-03-30 2022-11-08 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US9639297B2 (en) * 2012-03-30 2017-05-02 Commvault Systems, Inc Shared network-available storage that permits concurrent data access
US11347408B2 (en) * 2012-03-30 2022-05-31 Commvault Systems, Inc. Shared network-available storage that permits concurrent data access
US10075527B2 (en) 2012-03-30 2018-09-11 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US9213848B2 (en) 2012-03-30 2015-12-15 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US10895993B2 (en) * 2012-03-30 2021-01-19 Commvault Systems, Inc. Shared network-available storage that permits concurrent data access
US9959333B2 (en) 2012-03-30 2018-05-01 Commvault Systems, Inc. Unified access to personal data
US20190196729A1 (en) * 2012-03-30 2019-06-27 Commvault Systems, Inc. Shared network-available storage that permits concurrent data access
US9367548B2 (en) 2012-03-30 2016-06-14 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US10264074B2 (en) 2012-03-30 2019-04-16 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US9571579B2 (en) 2012-03-30 2017-02-14 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US10268402B2 (en) * 2012-03-30 2019-04-23 Commvault Systems, Inc. Shared network-available storage that permits concurrent data access
US11611479B2 (en) 2012-03-31 2023-03-21 Commvault Systems, Inc. Migration of existing computing systems to cloud computing sites or virtual machines
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9229819B2 (en) 2012-04-25 2016-01-05 International Business Machines Corporation Enhanced reliability in deduplication technology over storage clouds
US8903764B2 (en) 2012-04-25 2014-12-02 International Business Machines Corporation Enhanced reliability in deduplication technology over storage clouds
US9396156B2 (en) 2012-04-26 2016-07-19 Connected Data, Inc. System and method for socially organized storage and shared access to storage appliances
FR2990036A1 (en) * 2012-04-26 2013-11-01 Connected Data Inc SYSTEM AND METHOD FOR MANAGING USER DATA IN A PLURALITY OF STORAGE DEVICES ON AN EXTENDED NETWORK FOR COLLABORATION, PROTECTION, PUBLICATION OR SHARING, AS WELL AS SOCIALLY ORGANIZED STORAGE AND SHARED ACCESS TO DEVICES STORING
US10601799B2 (en) 2012-04-26 2020-03-24 Connected Data, Inc. System and method for visualizing data sharing arrangements for an organization
CN104395904A (en) * 2012-04-27 2015-03-04 网络装置公司 Efficient data object storage and retrieval
WO2013165546A1 (en) * 2012-04-30 2013-11-07 Tightdb, Inc. Method and apparatus for database
US20150088844A1 (en) * 2012-04-30 2015-03-26 Tightdb Inc Method and apparatus for database
US9811548B2 (en) * 2012-04-30 2017-11-07 Tightdb, Inc. Method and apparatus for database
US10942915B2 (en) * 2012-04-30 2021-03-09 Mongodb, Inc. Method and apparatus for database
US20130290334A1 (en) * 2012-04-30 2013-10-31 Rahul Kapoor Managing storage of data across disparate repositories
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
US9396216B2 (en) 2012-05-04 2016-07-19 Box, Inc. Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform
US20130304706A1 (en) * 2012-05-10 2013-11-14 Aetherstore Llc Systems and methods for distributed storage
US9542466B2 (en) * 2012-05-10 2017-01-10 Aetherstore Inc. Systems and methods for distributed storage
KR20150004913A (en) * 2012-05-16 2015-01-13 애플 인크. Locally backed cloud-based storage
WO2013173109A3 (en) * 2012-05-16 2014-02-20 Apple Inc. Locally backed cloud-based storage
TWI582610B (en) * 2012-05-16 2017-05-11 蘋果公司 Locally backed cloud-based storage
KR101652191B1 (en) 2012-05-16 2016-08-29 애플 인크. Locally backed cloud-based storage
TWI512494B (en) * 2012-05-16 2015-12-11 Apple Inc Locally backed cloud-based storage
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US9280613B2 (en) 2012-05-23 2016-03-08 Box, Inc. Metadata enabled third-party application access of content at a cloud-based platform via a native client to the cloud-based platform
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9552444B2 (en) 2012-05-23 2017-01-24 Box, Inc. Identification verification mechanisms for a third-party application to access content in a cloud-based platform
US9027108B2 (en) 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device
US9342526B2 (en) 2012-05-25 2016-05-17 International Business Machines Corporation Providing storage resources upon receipt of a storage service request
US10055594B2 (en) 2012-06-07 2018-08-21 Amazon Technologies, Inc. Virtual service provider zones
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
US10474829B2 (en) 2012-06-07 2019-11-12 Amazon Technologies, Inc. Virtual service provider zones
US10834139B2 (en) 2012-06-07 2020-11-10 Amazon Technologies, Inc. Flexibly configurable data modification services
US10862967B2 (en) * 2012-06-12 2020-12-08 Centurylink Intellectual Property Llc Providing high performance multi-tiered cloud storage based on the performance criteria of a customer
US10956275B2 (en) 2012-06-13 2021-03-23 Commvault Systems, Inc. Collaborative restore in a networked storage system
CN103516733A (en) * 2012-06-19 2014-01-15 华为技术有限公司 Method and apparatus for processing virtual private cloud
US20150200952A1 (en) * 2012-06-26 2015-07-16 Google Inc. System and method for embedding first party widgets in third-party applications
US10693881B2 (en) 2012-06-26 2020-06-23 Google Llc System and method for embedding first party widgets in third-party applications
US10178097B2 (en) 2012-06-26 2019-01-08 Google Llc System and method for embedding first party widgets in third-party applications
US9860253B2 (en) * 2012-06-26 2018-01-02 Google Inc. System and method for embedding first party widgets in third-party applications
WO2014001903A3 (en) * 2012-06-28 2014-02-20 Alcatel Lucent Scaling redundancy elimination middleboxes
CN104429046A (en) * 2012-06-28 2015-03-18 阿尔卡特朗讯 Scaling redundancy elimination middleboxes
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9143000B2 (en) * 2012-07-06 2015-09-22 Energous Corporation Portable wireless charging pad
US10992187B2 (en) 2012-07-06 2021-04-27 Energous Corporation System and methods of using electromagnetic waves to wirelessly deliver power to electronic devices
US9900057B2 (en) 2012-07-06 2018-02-20 Energous Corporation Systems and methods for assigning groups of antenas of a wireless power transmitter to different wireless power receivers, and determining effective phases to use for wirelessly transmitting power using the assigned groups of antennas
US9912199B2 (en) 2012-07-06 2018-03-06 Energous Corporation Receivers for wireless power transmission
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
US11502551B2 (en) 2012-07-06 2022-11-15 Energous Corporation Wirelessly charging multiple wireless-power receivers using different subsets of an antenna array to focus energy at different locations
US9906065B2 (en) 2012-07-06 2018-02-27 Energous Corporation Systems and methods of transmitting power transmission waves based on signals received at first and second subsets of a transmitter's antenna array
US9893768B2 (en) 2012-07-06 2018-02-13 Energous Corporation Methodology for multiple pocket-forming
US10965164B2 (en) 2012-07-06 2021-03-30 Energous Corporation Systems and methods of wirelessly delivering power to a receiver device
US11652369B2 (en) 2012-07-06 2023-05-16 Energous Corporation Systems and methods of determining a location of a receiver device and wirelessly delivering power to a focus region associated with the receiver device
US10992185B2 (en) 2012-07-06 2021-04-27 Energous Corporation Systems and methods of using electromagnetic waves to wirelessly deliver power to game controllers
US9843201B1 (en) 2012-07-06 2017-12-12 Energous Corporation Wireless power transmitter that selects antenna sets for transmitting wireless power to a receiver based on location of the receiver, and methods of use thereof
US10186913B2 (en) 2012-07-06 2019-01-22 Energous Corporation System and methods for pocket-forming based on constructive and destructive interferences to power one or more wireless power receivers using a wireless power transmitter including a plurality of antennas
US9887739B2 (en) 2012-07-06 2018-02-06 Energous Corporation Systems and methods for wireless power transmission by comparing voltage levels associated with power waves transmitted by antennas of a plurality of antennas of a transmitter to determine appropriate phase adjustments for the power waves
US10452667B2 (en) 2012-07-06 2019-10-22 Box Inc. Identification of people as search results from key-word based searches of content in a cloud-based environment
US10103582B2 (en) 2012-07-06 2018-10-16 Energous Corporation Transmitters for wireless power transmission
US10148133B2 (en) 2012-07-06 2018-12-04 Energous Corporation Wireless power transmission with selective range
US9923386B1 (en) 2012-07-06 2018-03-20 Energous Corporation Systems and methods for wireless power transmission by modifying a number of antenna elements used to transmit power waves to a receiver
US9859756B2 (en) 2012-07-06 2018-01-02 Energous Corporation Transmittersand methods for adjusting wireless power transmission based on information from receivers
US20150015195A1 (en) * 2012-07-06 2015-01-15 DvineWave Inc. Portable wireless charging pad
US10298024B2 (en) 2012-07-06 2019-05-21 Energous Corporation Wireless power transmitters for selecting antenna sets for transmitting wireless power based on a receiver's location, and methods of use thereof
US9973021B2 (en) 2012-07-06 2018-05-15 Energous Corporation Receivers for wireless power transmission
US9941754B2 (en) 2012-07-06 2018-04-10 Energous Corporation Wireless power transmission with selective range
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
EP2747009A1 (en) * 2012-07-19 2014-06-25 Box, Inc. Data loss prevention (DLP) methods and architectures by a cloud service
US9237170B2 (en) 2012-07-19 2016-01-12 Box, Inc. Data loss prevention (DLP) methods and architectures by a cloud service
US9473532B2 (en) 2012-07-19 2016-10-18 Box, Inc. Data loss prevention (DLP) methods by a cloud service including third party integration architectures
CN103581001A (en) * 2012-07-24 2014-02-12 深圳市中兴移动通信有限公司 Gateway system with cloud storage and data interaction method applied to system
US10152524B2 (en) * 2012-07-30 2018-12-11 Spatial Digital Systems, Inc. Wavefront muxing and demuxing for cloud data storage and transport
US20140081989A1 (en) * 2012-07-30 2014-03-20 Steve K Chen Wavefront muxing and demuxing for cloud data storage and transport
US8868574B2 (en) 2012-07-30 2014-10-21 Box, Inc. System and method for advanced search and filtering mechanisms for enterprise administrators in a cloud-based environment
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US20140040211A1 (en) * 2012-08-03 2014-02-06 International Business Machines Corporation System for on-line archiving of content in an object store
US9141623B2 (en) 2012-08-03 2015-09-22 International Business Machines Corporation System for on-line archiving of content in an object store
US9195667B2 (en) * 2012-08-03 2015-11-24 International Business Machines Corporation System for on-line archiving of content in an object store
US9262429B2 (en) 2012-08-13 2016-02-16 Microsoft Technology Licensing, Llc De-duplicating attachments on message delivery and automated repair of attachments
WO2014028261A1 (en) * 2012-08-13 2014-02-20 Microsoft Corporation De-duplicating attachments on message delivery and automated repair of attachments
JP2015525936A (en) * 2012-08-13 2015-09-07 マイクロソフト テクノロジー ライセンシング,エルエルシー Deduplication of attachments and automatic repair of attachments in message delivery
US10671568B2 (en) 2012-08-13 2020-06-02 Microsoft Technology Licensing, Llc De-duplicating attachments on message delivery and automated repair of attachments
CN104584006A (en) * 2012-08-13 2015-04-29 微软公司 De-duplicating attachments on message delivery and automated repair of attachments
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US9729675B2 (en) 2012-08-19 2017-08-08 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US20140059300A1 (en) * 2012-08-24 2014-02-27 Dell Products L.P. Snapshot Access
US9262329B2 (en) * 2012-08-24 2016-02-16 Dell Products L.P. Snapshot access
US9189396B2 (en) 2012-08-24 2015-11-17 Dell Products L.P. Snapshot coordination
US9558202B2 (en) 2012-08-27 2017-01-31 Box, Inc. Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9450926B2 (en) 2012-08-29 2016-09-20 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9059960B2 (en) * 2012-08-31 2015-06-16 International Business Machines Corporation Automatically recommending firewall rules during enterprise information technology transformation
US20140068698A1 (en) * 2012-08-31 2014-03-06 International Business Machines Corporation Automatically Recommending Firewall Rules During Enterprise Information Technology Transformation
US9100363B2 (en) 2012-08-31 2015-08-04 International Business Machines Corporation Automatically recommending firewall rules during enterprise information technology transformation
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
EP2706471A1 (en) * 2012-09-06 2014-03-12 Avaya Inc. A system and method for phonetic searching of data
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US20140074663A1 (en) * 2012-09-09 2014-03-13 Apple Inc. Integrating purchase history and metadata across devices
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US9355036B2 (en) 2012-09-18 2016-05-31 Netapp, Inc. System and method for operating a system to cache a networked file system utilizing tiered storage and customizable eviction policies based on priority and tiers
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US20140089278A1 (en) * 2012-09-24 2014-03-27 Microsoft Corporation Integrated Data Retention Policy for Solid State & Asymmetric Access
US10095705B2 (en) * 2012-09-24 2018-10-09 Microsoft Technology Licensing, Llc Integrated data retention policy for solid state and asymmetric access
US9990401B2 (en) 2012-09-28 2018-06-05 Oracle International Corporation Processing events for continuous queries on archived relations
US10042890B2 (en) 2012-09-28 2018-08-07 Oracle International Corporation Parameterized continuous query templates
US9953059B2 (en) 2012-09-28 2018-04-24 Oracle International Corporation Generation of archiver queries for continuous queries over archived relations
US9990402B2 (en) 2012-09-28 2018-06-05 Oracle International Corporation Managing continuous queries in the presence of subqueries
US9767499B2 (en) * 2012-09-28 2017-09-19 Oracle International Corporation Supply chain orchestration system with configure-to-order item matching
US9286352B2 (en) 2012-09-28 2016-03-15 Oracle International Corporation Hybrid execution of continuous and scheduled queries
US9292574B2 (en) 2012-09-28 2016-03-22 Oracle International Corporation Tactical query to continuous query conversion
US9262479B2 (en) 2012-09-28 2016-02-16 Oracle International Corporation Join operations for continuous queries over archived views
US11288277B2 (en) 2012-09-28 2022-03-29 Oracle International Corporation Operator sharing for continuous queries over archived relations
US10025825B2 (en) 2012-09-28 2018-07-17 Oracle International Corporation Configurable data windows for archived relations
US9715529B2 (en) 2012-09-28 2017-07-25 Oracle International Corporation Hybrid execution of continuous and scheduled queries
US9946756B2 (en) 2012-09-28 2018-04-17 Oracle International Corporation Mechanism to chain continuous queries
US11210295B2 (en) 2012-09-28 2021-12-28 Oracle International Corporation Generation of archiver queries for continuous queries over archived relations
US9703836B2 (en) 2012-09-28 2017-07-11 Oracle International Corporation Tactical query to continuous query conversion
US20140095343A1 (en) * 2012-09-28 2014-04-03 Oracle International Corporation Supply chain orchestration system with configure-to-order item matching
US10102250B2 (en) 2012-09-28 2018-10-16 Oracle International Corporation Managing continuous queries with archived relations
US20140095446A1 (en) * 2012-09-28 2014-04-03 Oracle International Corporation State initialization algorithm for continuous queries over archived relations
US11093505B2 (en) 2012-09-28 2021-08-17 Oracle International Corporation Real-time business event analysis and monitoring
US9256646B2 (en) 2012-09-28 2016-02-09 Oracle International Corporation Configurable data windows for archived relations
US9805095B2 (en) 2012-09-28 2017-10-31 Oracle International Corporation State initialization for continuous queries over archived views
US9852186B2 (en) 2012-09-28 2017-12-26 Oracle International Corporation Managing risk with continuous queries
US9361308B2 (en) * 2012-09-28 2016-06-07 Oracle International Corporation State initialization algorithm for continuous queries over archived relations
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US8892693B2 (en) 2012-10-02 2014-11-18 Nextbit Systems Inc. Enabling fragment-based mobile device application streaming
US8775449B2 (en) 2012-10-02 2014-07-08 Nextbit Systems Inc. Game state synchronization and restoration across multiple devices
US8840461B2 (en) 2012-10-02 2014-09-23 Nextbit Systems Inc. Game state synchronization and restoration across multiple devices
US9268655B2 (en) 2012-10-02 2016-02-23 Nextbit Systems Inc. Interface for resolving synchronization conflicts of application states
US10425471B2 (en) 2012-10-02 2019-09-24 Razer (Asia-Pacific) Pte. Ltd. Multi-tasker
US9654556B2 (en) 2012-10-02 2017-05-16 Razer (Asia-Pacific) Pte. Ltd. Managing applications on an electronic device
US9717985B2 (en) 2012-10-02 2017-08-01 Razer (Asia-Pacific) Pte. Ltd. Fragment-based mobile device application streaming utilizing crowd-sourcing
US9776078B2 (en) 2012-10-02 2017-10-03 Razer (Asia-Pacific) Pte. Ltd. Application state backup and restoration across multiple devices
US8764555B2 (en) 2012-10-02 2014-07-01 Nextbit Systems Inc. Video game application state synchronization across multiple devices
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US10684744B2 (en) 2012-10-02 2020-06-16 Razer (Asia-Pacific) Pte. Ltd. Launching applications on an electronic device
US10946276B2 (en) 2012-10-02 2021-03-16 Razer (Asia-Pacific) Pte. Ltd. Application state backup and restoration across multiple devices
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9374407B2 (en) 2012-10-02 2016-06-21 Nextbit Systems, Inc. Mobile device application streaming
US9112885B2 (en) 2012-10-02 2015-08-18 Nextbit Systems Inc. Interactive multi-tasker
US10540368B2 (en) 2012-10-02 2020-01-21 Razer (Asia-Pacific) Pte. Ltd. System and method for resolving synchronization conflicts
US8977723B2 (en) 2012-10-02 2015-03-10 Nextbit Systems Inc. Cloud based application fragmentation
US8951127B2 (en) * 2012-10-02 2015-02-10 Nextbit Systems Inc. Game state synchronization and restoration across multiple devices
US9210203B2 (en) 2012-10-02 2015-12-08 Nextbit Systems Inc. Resource based mobile device application streaming
US10252159B2 (en) 2012-10-02 2019-04-09 Razer (Asia-Pacific) Pte. Ltd. Application state backup and restoration across multiple devices
US10814229B2 (en) 2012-10-02 2020-10-27 Razer (Asia-Pacific) Pte. Ltd. Fragment-based mobile device application streaming utilizing crowd-sourcing
US9380093B2 (en) 2012-10-02 2016-06-28 Nextbit Systems, Inc. Mobile device application streaming
US9747000B2 (en) 2012-10-02 2017-08-29 Razer (Asia-Pacific) Pte. Ltd. Launching applications on an electronic device
US9600552B2 (en) 2012-10-02 2017-03-21 Nextbit Systems Inc. Proximity based application state synchronization
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
US9489395B2 (en) * 2012-10-16 2016-11-08 Rackspace Us, Inc. System and method for exposing cloud stored data to a content delivery network
US20150220561A1 (en) * 2012-10-16 2015-08-06 Rackspace Us, Inc. System and Method for Exposing Cloud Stored Data to a Content Delivery Network
US9628268B2 (en) 2012-10-17 2017-04-18 Box, Inc. Remote key management in a cloud-based environment
US11169967B2 (en) 2012-10-18 2021-11-09 Netapp Inc. Selective deduplication
US9753938B2 (en) 2012-10-18 2017-09-05 Netapp, Inc. Selective deduplication
US9348538B2 (en) * 2012-10-18 2016-05-24 Netapp, Inc. Selective deduplication
US10565165B2 (en) 2012-10-18 2020-02-18 Netapp Inc. Selective deduplication
US20140114932A1 (en) * 2012-10-18 2014-04-24 Netapp, Inc. Selective deduplication
US10685056B2 (en) * 2012-10-23 2020-06-16 Leica Biosystems Imaging, Inc. Systems and methods for an image repository for pathology
US11106726B2 (en) 2012-10-23 2021-08-31 Leica Biosystems Imaging, Inc. Systems and methods for an image repository for pathology
US8903838B2 (en) * 2012-10-29 2014-12-02 Dropbox, Inc. System and method for preventing duplicate file uploads in a synchronized content management system
US20140122447A1 (en) * 2012-10-29 2014-05-01 Dropbox, Inc. System and method for preventing duplicate file uploads in a synchronized content management system
US20140122866A1 (en) * 2012-10-31 2014-05-01 Vmware, Inc. Crypto Proxy for Cloud Storage Services
US9137222B2 (en) * 2012-10-31 2015-09-15 Vmware, Inc. Crypto proxy for cloud storage services
US8874908B2 (en) * 2012-11-07 2014-10-28 Wolfgang Raudaschl Process for storing data on a central server
US20140129830A1 (en) * 2012-11-07 2014-05-08 Wolfgang Raudaschl Process for Storing Data on a Central Server
US10699349B2 (en) * 2012-11-08 2020-06-30 Hartford Fire Insurance Company Computerized system and method for data field pre-filling and pre-filling prevention
EP2731026A1 (en) * 2012-11-09 2014-05-14 Sap Ag Managing data within a cache
US20140136791A1 (en) * 2012-11-09 2014-05-15 Sap Ag Managing data within a cache
US20140143206A1 (en) * 2012-11-19 2014-05-22 Compellent Technologies Confirming data consistency in a data storage environment
US9384232B2 (en) * 2012-11-19 2016-07-05 Dell International L.L.C. Confirming data consistency in a data storage environment
US20160210307A1 (en) * 2012-11-19 2016-07-21 Dell International L.L.C. Confirming data consistency in a data storage environment
US9002792B2 (en) * 2012-11-19 2015-04-07 Compellent Technologies Confirming data consistency in a data storage environment
US20150169671A1 (en) * 2012-11-19 2015-06-18 Compellent Technologies Confirming data consistency in a data storage environment
US9654436B2 (en) 2012-11-27 2017-05-16 BitTitan Inc. Systems and methods for migrating mailbox data from systems with limited or restricted remote access
WO2014082493A1 (en) * 2012-11-30 2014-06-05 中兴通讯股份有限公司 Method and system for forwarding software defined network message
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US20140164339A1 (en) * 2012-12-12 2014-06-12 Hon Hai Precision Industry Co., Ltd. Repetitive data block deleting system and method
US20140164334A1 (en) * 2012-12-12 2014-06-12 Hon Hai Precision Industry Co., Ltd. Data block backup system and method
CN103873503A (en) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 Data block backup system and method
CN103873507A (en) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 Data block uploading and storing system and method
US9552161B2 (en) * 2012-12-12 2017-01-24 Shenzhen Airdrawing Technology Service Co., Ltd Repetitive data block deleting system and method
US20140164391A1 (en) * 2012-12-12 2014-06-12 Hon Hai Precision Industry Co., Ltd. Data block saving system and method
US9241046B2 (en) * 2012-12-13 2016-01-19 Ca, Inc. Methods and systems for speeding up data recovery
US20140172950A1 (en) * 2012-12-13 2014-06-19 Ca, Inc. Methods And Systems For Speeding Up Data Recovery
US10642654B2 (en) * 2012-12-14 2020-05-05 Amazon Technologies, Inc. Storage lifecycle pipeline architecture
US9355060B1 (en) * 2012-12-14 2016-05-31 Amazon Technologies, Inc. Storage service lifecycle policy transition management
US9658983B1 (en) * 2012-12-14 2017-05-23 Amazon Technologies, Inc. Lifecycle support for storage objects having multiple durability levels specifying different numbers of versions
US9063946B1 (en) 2012-12-14 2015-06-23 Amazon Technologies, Inc. Backoff-based scheduling of storage object deletions
US9727522B1 (en) * 2012-12-14 2017-08-08 Amazon Technologies, Inc. Multi-tenant storage service object lifecycle management using transition job objects
US9052942B1 (en) 2012-12-14 2015-06-09 Amazon Technologies, Inc. Storage object deletion job management
US20170255589A1 (en) * 2012-12-14 2017-09-07 Amazon Technologies, Inc. Lifecycle support for storage objects
US10853337B2 (en) * 2012-12-14 2020-12-01 Amazon Technologies, Inc. Lifecycle transition validation for storage objects
US9417917B1 (en) 2012-12-14 2016-08-16 Amazon Technologies, Inc. Equitable resource allocation for storage object deletion
US9002805B1 (en) 2012-12-14 2015-04-07 Amazon Technologies, Inc. Conditional storage object deletion
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US11099886B2 (en) 2012-12-21 2021-08-24 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US11544221B2 (en) 2012-12-21 2023-01-03 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US10824464B2 (en) 2012-12-21 2020-11-03 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US9740702B2 (en) 2012-12-21 2017-08-22 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US9684535B2 (en) 2012-12-21 2017-06-20 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US11468005B2 (en) 2012-12-21 2022-10-11 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US10733143B2 (en) 2012-12-21 2020-08-04 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US10684883B2 (en) 2012-12-21 2020-06-16 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US9965316B2 (en) 2012-12-21 2018-05-08 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US20140181112A1 (en) * 2012-12-26 2014-06-26 Hon Hai Precision Industry Co., Ltd. Control device and file distribution method
US10831778B2 (en) 2012-12-27 2020-11-10 Commvault Systems, Inc. Application of information management policies based on operation with a geographic entity
US11409765B2 (en) 2012-12-27 2022-08-09 Commvault Systems, Inc. Application of information management policies based on operation with a geographic entity
US20140189432A1 (en) * 2012-12-28 2014-07-03 Commvault Systems, Inc. Data recovery using a cloud-based remote data recovery center
US11080232B2 (en) 2012-12-28 2021-08-03 Commvault Systems, Inc. Backup and restoration for a deduplicated file system
US11099944B2 (en) 2012-12-28 2021-08-24 Commvault Systems, Inc. Storing metadata at a cloud-based data recovery center for disaster recovery testing and recovery of backup data stored remotely from the cloud-based data recovery center
US10956201B2 (en) 2012-12-28 2021-03-23 Commvault Systems, Inc. Systems and methods for repurposing virtual machines
US10346259B2 (en) * 2012-12-28 2019-07-09 Commvault Systems, Inc. Data recovery using a cloud-based remote data recovery center
US9542423B2 (en) 2012-12-31 2017-01-10 Apple Inc. Backup user interface
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US11734035B2 (en) 2013-01-08 2023-08-22 Commvault Systems, Inc. Virtual machine load balancing
US9703584B2 (en) 2013-01-08 2017-07-11 Commvault Systems, Inc. Virtual server agent load balancing
US9977687B2 (en) 2013-01-08 2018-05-22 Commvault Systems, Inc. Virtual server agent load balancing
US10474483B2 (en) 2013-01-08 2019-11-12 Commvault Systems, Inc. Virtual server agent load balancing
US10896053B2 (en) 2013-01-08 2021-01-19 Commvault Systems, Inc. Virtual machine load balancing
US9372726B2 (en) 2013-01-09 2016-06-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US10997038B2 (en) 2013-01-11 2021-05-04 Commvault Systems, Inc. Table level database restore in a data storage system
US9507795B2 (en) 2013-01-11 2016-11-29 Box, Inc. Functionalities, features, and user interface of a synchronization client to a cloud-based environment
US10108652B2 (en) 2013-01-11 2018-10-23 Commvault Systems, Inc. Systems and methods to process block-level backup for selective file restoration for virtual machines
US11157450B2 (en) 2013-01-11 2021-10-26 Commvault Systems, Inc. High availability distributed deduplicated storage system
US11726887B2 (en) 2013-01-11 2023-08-15 Commvault Systems, Inc. Table level database restore in a data storage system
US9495404B2 (en) 2013-01-11 2016-11-15 Commvault Systems, Inc. Systems and methods to process block-level backup for selective file restoration for virtual machines
US11023334B2 (en) 2013-01-11 2021-06-01 Commvault Systems, Inc. Table level database restore in a data storage system
US9652283B2 (en) 2013-01-14 2017-05-16 Commvault Systems, Inc. Creation of virtual machine placeholders in a data storage system
US9766989B2 (en) 2013-01-14 2017-09-19 Commvault Systems, Inc. Creation of virtual machine placeholders in a data storage system
US9489244B2 (en) 2013-01-14 2016-11-08 Commvault Systems, Inc. Seamless virtual machine recall in a data storage system
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US10599671B2 (en) 2013-01-17 2020-03-24 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US20150365497A1 (en) * 2013-01-31 2015-12-17 Qualcomm Incorporated Providing access to information across multiple computing devices
US20140222756A1 (en) * 2013-02-01 2014-08-07 Sap Ag Automatic migration for on-premise data objects to on-demand data objects
US9892207B2 (en) * 2013-02-01 2018-02-13 Sap Se Automatic migration for on-premise data objects to on-demand data objects
US9250946B2 (en) 2013-02-12 2016-02-02 Atlantis Computing, Inc. Efficient provisioning of cloned virtual machine images using deduplication metadata
US9471590B2 (en) * 2013-02-12 2016-10-18 Atlantis Computing, Inc. Method and apparatus for replicating virtual machine images using deduplication metadata
US20140229440A1 (en) * 2013-02-12 2014-08-14 Atlantis Computing, Inc. Method and apparatus for replicating virtual machine images using deduplication metadata
US9613047B2 (en) * 2013-02-13 2017-04-04 Dropbox, Inc. Automatic content item upload
US20140229457A1 (en) * 2013-02-13 2014-08-14 Dropbox, Inc. Automatic content item upload
US9262258B2 (en) 2013-02-19 2016-02-16 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
US20140237070A1 (en) * 2013-02-19 2014-08-21 Lg Cns Co., Ltd. Network-attached storage management in a cloud environment
US10083210B2 (en) 2013-02-19 2018-09-25 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US11308032B2 (en) 2013-02-26 2022-04-19 Dropbox, Inc. Suggesting content items to be accessed by a user
CN104007937A (en) * 2013-02-26 2014-08-27 希捷科技有限公司 Data update management in a cloud computing environment
US11892978B2 (en) 2013-02-26 2024-02-06 Dropbox, Inc. Suggesting content items to be accessed by a user
US11687292B2 (en) * 2013-02-26 2023-06-27 Seagate Technology Llc Data update management in a cloud computing environment
US20140244896A1 (en) * 2013-02-26 2014-08-28 Seagate Technology Llc Data Update Management in a Cloud Computing Environment
US11899623B2 (en) 2013-02-26 2024-02-13 Dropbox, Inc. Suggesting content items to be accessed by a user
US10474634B2 (en) 2013-02-26 2019-11-12 Dropbox, Inc. Suggesting content items to be accessed by a user
US20140244897A1 (en) * 2013-02-26 2014-08-28 Seagate Technology Llc Metadata Update Management In a Multi-Tiered Memory
US20140244604A1 (en) * 2013-02-28 2014-08-28 Microsoft Corporation Predicting data compressibility using data entropy estimation
USRE48919E1 (en) 2013-03-04 2022-02-01 Docusign, Inc. Systems and methods for cloud data security
CN105453105A (en) * 2013-03-04 2016-03-30 多塞股份公司 File security management apparatus and management method for system protection
US9742746B2 (en) 2013-03-04 2017-08-22 Docusign, Inc. Systems and methods for cloud data security
US10135799B2 (en) 2013-03-04 2018-11-20 Docusign, Inc. Systems and methods for cloud data security
EP2965258A4 (en) * 2013-03-04 2016-10-05 Docusign Inc Systems and methods for cloud data security
US10127235B2 (en) * 2013-03-06 2018-11-13 Quest Software Inc. Storage system deduplication with service level agreements
US11531641B2 (en) * 2013-03-06 2022-12-20 Quest Software Inc. Storage system deduplication with service level agreements
US20140258244A1 (en) * 2013-03-06 2014-09-11 Dell Products L.P. Storage system deduplication with service level agreements
US20170024286A1 (en) * 2013-03-11 2017-01-26 Commvault Systems, Inc. Single index to query multiple backup formats
US11093336B2 (en) 2013-03-11 2021-08-17 Commvault Systems, Inc. Browsing data stored in a backup format
US10540235B2 (en) * 2013-03-11 2020-01-21 Commvault Systems, Inc. Single index to query multiple backup formats
US20140304512A1 (en) * 2013-03-14 2014-10-09 Sergei Pronin Method and system for authenticating and preserving data within a secure data repository
US20140280680A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Data transmission for transaction processing in a networked environment
US9473565B2 (en) * 2013-03-15 2016-10-18 International Business Machines Corporation Data transmission for transaction processing in a networked environment
US20210142370A1 (en) * 2013-03-15 2021-05-13 Groupon, Inc. Generic message injection system
US11704702B2 (en) * 2013-03-15 2023-07-18 Groupon, Inc. Generic message injection system
US20140282938A1 (en) * 2013-03-15 2014-09-18 Adam Moisa Method and system for integrated cloud storage management
US20150178007A1 (en) * 2013-03-15 2015-06-25 Cloudifyd, Inc. Method and system for integrated cloud storage management
US10430398B2 (en) * 2013-03-15 2019-10-01 Datadirect Networks, Inc. Data storage system having mutable objects incorporating time
US20140280759A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Data transmission for transaction processing in a networked environment
AU2014235300B2 (en) * 2013-03-15 2018-04-12 Vmware, Inc. Multi-layered storage administration for flexible placement of data
US10929895B2 (en) * 2013-03-15 2021-02-23 Groupon, Inc. Generic message injection system
JP2016512906A (en) * 2013-03-15 2016-05-09 ブラケット コンピューティング インコーポレイテッドBracket Computing, Inc. Multi-layer storage management for flexible data placement
US9473561B2 (en) * 2013-03-15 2016-10-18 International Business Machines Corporation Data transmission for transaction processing in a networked environment
WO2014151126A1 (en) * 2013-03-15 2014-09-25 Bracket Computing, Inc. Multi-layered storage administration for flexible placement of data
US9335932B2 (en) 2013-03-15 2016-05-10 Bracket Computing, Inc. Storage unit selection for virtualized storage units
US10123189B2 (en) 2013-03-21 2018-11-06 Razer (Asia-Pacific) Pte. Ltd. Electronic device system restoration by tapping mechanism
US11044592B2 (en) 2013-03-21 2021-06-22 Razer (Asia-Pacific) Pte. Ltd. Electronic device system restoration by tapping mechanism
US8954611B2 (en) 2013-03-21 2015-02-10 Nextbit Systems Inc. Mechanism for sharing states of applications and devices across different user profiles
US9095779B2 (en) 2013-03-21 2015-08-04 Nextbit Systems Gaming application state transfer amongst user profiles
US20160054949A1 (en) * 2013-03-28 2016-02-25 Orange Method for storing data in a computer system performing data deduplication
US20140298243A1 (en) * 2013-03-29 2014-10-02 Alcatel-Lucent Usa Inc. Adjustable gui for displaying information from a database
US9436440B1 (en) * 2013-04-02 2016-09-06 Amdocs Software Systems Limited System, method, and computer program for validating web service interface design
US20160070620A1 (en) * 2013-04-08 2016-03-10 Dttp Technologies Inc. System and method for maintaining a file system at a computing device
US9560019B2 (en) 2013-04-10 2017-01-31 International Business Machines Corporation Method and system for managing security in a computing environment
US9948458B2 (en) 2013-04-10 2018-04-17 International Business Machines Corporation Managing security in a computing environment
US10270593B2 (en) 2013-04-10 2019-04-23 International Business Machines Corporation Managing security in a computing environment
US9298385B2 (en) * 2013-04-12 2016-03-29 International Business Machines Corporation System, method and computer program product for deduplication aware quality of service over data tiering
US20140310455A1 (en) * 2013-04-12 2014-10-16 International Business Machines Corporation System, method and computer program product for deduplication aware quality of service over data tiering
US20160048606A1 (en) * 2013-04-13 2016-02-18 Kiss Digital Media Pty Ltd. Methods, Systems, Apparatus, Products, Articles and Data Structures for Cross-Platform Digital Content
US9703855B1 (en) * 2013-04-15 2017-07-11 Ca, Inc. System and method for classifying content with a web service
US10467197B2 (en) 2013-04-22 2019-11-05 Bacula Systems Sa Creating a universally deduplicatable archive volume
WO2014174380A3 (en) * 2013-04-22 2015-02-26 Bacula Systems Sa Creating a universally deduplicatable archive volume
US10089009B2 (en) 2013-04-30 2018-10-02 Inuron Method for layered storage of enterprise data
US9547453B2 (en) 2013-04-30 2017-01-17 Inuron Method for layered storage of enterprise data
US10134260B1 (en) 2013-05-10 2018-11-20 Energous Corporation Off-premises alert system and method for wireless power receivers in a wireless power network
US9130397B2 (en) * 2013-05-10 2015-09-08 Energous Corporation Wireless charging and powering of electronic devices in a vehicle
US10056782B1 (en) 2013-05-10 2018-08-21 Energous Corporation Methods and systems for maximum power point transfer in receivers
US9843229B2 (en) 2013-05-10 2017-12-12 Energous Corporation Wireless sound charging and powering of healthcare gadgets and sensors
US10224758B2 (en) 2013-05-10 2019-03-05 Energous Corporation Wireless powering of electronic devices with selective delivery range
US20140337116A1 (en) * 2013-05-10 2014-11-13 Yahoo! Inc. Marketing technique to negotiate price of product
US20150015194A1 (en) * 2013-05-10 2015-01-15 DvineWave Inc. Wireless charging and powering of electronic devices in a vehicle
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US20150318729A1 (en) * 2013-05-10 2015-11-05 Energous Corporation Wireless sound tracking pocket-forming
US10032185B2 (en) * 2013-05-10 2018-07-24 Excalibur Ip, Llc Automating price guarantees
US9847669B2 (en) 2013-05-10 2017-12-19 Energous Corporation Laptop computer as a transmitter for wireless charging
US10128695B2 (en) 2013-05-10 2018-11-13 Energous Corporation Hybrid Wi-Fi and power router transmitter
US9824815B2 (en) 2013-05-10 2017-11-21 Energous Corporation Wireless charging and powering of healthcare gadgets and sensors
US10206185B2 (en) 2013-05-10 2019-02-12 Energous Corporation System and methods for wireless power transmission to an electronic device in accordance with user-defined restrictions
US9967743B1 (en) 2013-05-10 2018-05-08 Energous Corporation Systems and methods for using a transmitter access policy at a network service to determine whether to provide power to wireless power receivers in a wireless power network
US9882427B2 (en) 2013-05-10 2018-01-30 Energous Corporation Wireless power delivery using a base station to control operations of a plurality of wireless power transmitters
US9941705B2 (en) 2013-05-10 2018-04-10 Energous Corporation Wireless sound charging of clothing and smart fabrics
US20140337296A1 (en) * 2013-05-10 2014-11-13 Bryan Knight Techniques to recover files in a storage network
US9843763B2 (en) 2013-05-10 2017-12-12 Energous Corporation TV system with wireless power transmitter
US9866279B2 (en) 2013-05-10 2018-01-09 Energous Corporation Systems and methods for selecting which power transmitter should deliver wireless power to a receiving device in a wireless power delivery network
US9800080B2 (en) 2013-05-10 2017-10-24 Energous Corporation Portable wireless charging pad
US9648134B2 (en) * 2013-05-20 2017-05-09 Empire Technology Development Llc Object migration between cloud environments
US20140344395A1 (en) * 2013-05-20 2014-11-20 Empire Technology Development Llc Object migration between cloud environments
WO2014188515A1 (en) * 2013-05-21 2014-11-27 株式会社日立製作所 Storage system and storage system control method
JP6033420B2 (en) * 2013-05-21 2016-11-30 株式会社日立製作所 Storage system and storage system control method
US9817988B2 (en) 2013-05-22 2017-11-14 Altirnao, Inc. System and method to provide document management on a public document system
EP3000049A4 (en) * 2013-05-22 2016-12-28 Altirnao Inc System and method to provide document management on a public document system
US11010484B2 (en) 2013-05-22 2021-05-18 Altirnao, Inc. System and method to provide document management on a public document system
US10635641B1 (en) 2013-05-22 2020-04-28 Altirnao, Inc. System and method to provide document management on a public document system
US20140359058A1 (en) * 2013-05-30 2014-12-04 Netapp, Inc. Method and system for migrating a virtual storage system
US9083724B2 (en) * 2013-05-30 2015-07-14 Netapp, Inc. System iteratively reducing I/O requests during migration of virtual storage system
US9418113B2 (en) 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
US9135454B2 (en) * 2013-05-31 2015-09-15 Alcatel Lucent Systems and methods for enabling searchable encryption
US20140359282A1 (en) * 2013-05-31 2014-12-04 Alcatel-Lucent Systems and methods for enabling searchable encryption
US11722177B2 (en) 2013-06-03 2023-08-08 Energous Corporation Wireless power receivers that are externally attachable to electronic devices
US10141768B2 (en) 2013-06-03 2018-11-27 Energous Corporation Systems and methods for maximizing wireless power transfer efficiency by instructing a user to change a receiver device's position
US10291294B2 (en) 2013-06-03 2019-05-14 Energous Corporation Wireless power transmitter that selectively activates antenna elements for performing wireless power transmission
US10103552B1 (en) 2013-06-03 2018-10-16 Energous Corporation Protocols for authenticated wireless power transmission
US9591060B1 (en) 2013-06-04 2017-03-07 Ca, Inc. Transferring applications between computer systems
US9917817B1 (en) * 2013-06-10 2018-03-13 EMC IP Holding Company LLC Selective encryption of outgoing data
US10298660B2 (en) * 2013-06-10 2019-05-21 Konica Minolta, Inc. Information system and multi-functional information device
US20140365655A1 (en) * 2013-06-10 2014-12-11 Konica Minolta, Inc. Information system and multi-functional information device
US20140365541A1 (en) * 2013-06-11 2014-12-11 Red Hat, Inc. Storing an object in a distributed storage system
US10963431B2 (en) * 2013-06-11 2021-03-30 Red Hat, Inc. Storing an object in a distributed storage system
US10211674B1 (en) 2013-06-12 2019-02-19 Energous Corporation Wireless charging using selected reflectors
US10877937B2 (en) 2013-06-13 2020-12-29 Box, Inc. Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9633037B2 (en) 2013-06-13 2017-04-25 Box, Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US10003211B1 (en) 2013-06-17 2018-06-19 Energous Corporation Battery life of portable electronic devices
US11531648B2 (en) * 2013-06-21 2022-12-20 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US11010034B2 (en) 2013-06-24 2021-05-18 Microsoft Technology Licensing, Llc Automatic presentation of slide design suggestions
US10282075B2 (en) 2013-06-24 2019-05-07 Microsoft Technology Licensing, Llc Automatic presentation of slide design suggestions
US10263432B1 (en) 2013-06-25 2019-04-16 Energous Corporation Multi-mode transmitter with an antenna array for delivering wireless power and providing Wi-Fi access
US10229134B2 (en) 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
US9966765B1 (en) 2013-06-25 2018-05-08 Energous Corporation Multi-mode transmitter
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in a cloud-based platform
US20150006691A1 (en) * 2013-06-27 2015-01-01 Cisco Technology, Inc. Managing rogue cloud provider operations
US20150006957A1 (en) * 2013-07-01 2015-01-01 Open Text S.A. Method and system for storing documents
US10396588B2 (en) 2013-07-01 2019-08-27 Energous Corporation Receiver for wireless power reception having a backup battery
US11645230B2 (en) 2013-07-01 2023-05-09 Open Text Sa Ulc Method and system for storing documents
US11323479B2 (en) 2013-07-01 2022-05-03 Amazon Technologies, Inc. Data loss prevention techniques
US10983952B2 (en) * 2013-07-01 2021-04-20 Open Text Sa Ulc Method and system for storing documents
JP2016524429A (en) * 2013-07-01 2016-08-12 アマゾン テクノロジーズ インコーポレイテッド Virtual service provider zone
US9871398B1 (en) 2013-07-01 2018-01-16 Energous Corporation Hybrid charging method for wireless power transmission based on pocket-forming
US10362145B2 (en) * 2013-07-05 2019-07-23 The Boeing Company Server system for providing current data and past data to clients
US20150019687A1 (en) * 2013-07-05 2015-01-15 The Boeing Company Server System for Providing Current Data and Past Data to Clients
US20150012616A1 (en) * 2013-07-08 2015-01-08 Dropbox, Inc. Saving Third Party Content to a Content Management System
US10063105B2 (en) 2013-07-11 2018-08-28 Energous Corporation Proximity transmitters for wireless power charging systems
US10523058B2 (en) 2013-07-11 2019-12-31 Energous Corporation Wireless charging transmitters that use sensor data to adjust transmission of power waves
US9876379B1 (en) 2013-07-11 2018-01-23 Energous Corporation Wireless charging and powering of electronic devices in a vehicle
US20150015192A1 (en) * 2013-07-11 2015-01-15 DvineWave Inc. Wireless tracking pocket-forming
US10305315B2 (en) 2013-07-11 2019-05-28 Energous Corporation Systems and methods for wireless charging using a cordless transceiver
US10021523B2 (en) 2013-07-11 2018-07-10 Energous Corporation Proximity transmitters for wireless power charging systems
US9812890B1 (en) * 2013-07-11 2017-11-07 Energous Corporation Portable wireless charging pad
US10224982B1 (en) 2013-07-11 2019-03-05 Energous Corporation Wireless power transmitters for transmitting wireless power and tracking whether wireless power receivers are within authorized locations
US10211680B2 (en) 2013-07-19 2019-02-19 Energous Corporation Method for 3 dimensional pocket-forming
US9941707B1 (en) 2013-07-19 2018-04-10 Energous Corporation Home base station for multiple room coverage with multiple transmitters
US10124754B1 (en) 2013-07-19 2018-11-13 Energous Corporation Wireless charging and powering of electronic sensors in a vehicle
US9288231B2 (en) * 2013-07-22 2016-03-15 Cisco Technology, Inc. Web caching with security as a service
US20150026757A1 (en) * 2013-07-22 2015-01-22 Cisco Technology, Inc. Web Caching with Security as a Service
US9831718B2 (en) 2013-07-25 2017-11-28 Energous Corporation TV with integrated wireless power transmitter
US9979440B1 (en) 2013-07-25 2018-05-22 Energous Corporation Antenna tile arrangements configured to operate as one functional unit
US9859757B1 (en) 2013-07-25 2018-01-02 Energous Corporation Antenna tile arrangements in electronic device enclosures
US9716746B2 (en) * 2013-07-29 2017-07-25 Sanovi Technologies Pvt. Ltd. System and method using software defined continuity (SDC) and application defined continuity (ADC) for achieving business continuity and application continuity on massively scalable entities like entire datacenters, entire clouds etc. in a computing system environment
US20150032817A1 (en) * 2013-07-29 2015-01-29 Sanovi Technologies Pvt Ltd. System and method using software defined continuity (sdc) and application defined continuity (adc) for achieving business continuity and application continuity on massively scalable entities like entire datacenters, entire clouds etc. in a computing system environment
US20150039759A1 (en) * 2013-07-30 2015-02-05 Institute For Information Industry Apparatus, method, and non-transitory computer readable storage medium thereof for controlling access of a resource
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9843213B2 (en) 2013-08-06 2017-12-12 Energous Corporation Social power sharing for mobile devices based on pocket-forming
US10498144B2 (en) 2013-08-06 2019-12-03 Energous Corporation Systems and methods for wirelessly delivering power to electronic devices in response to commands received at a wireless power transmitter
US9787103B1 (en) 2013-08-06 2017-10-10 Energous Corporation Systems and methods for wirelessly delivering power to electronic devices that are unable to communicate with a transmitter
US10050462B1 (en) 2013-08-06 2018-08-14 Energous Corporation Social power sharing for mobile devices based on pocket-forming
US20150046418A1 (en) * 2013-08-09 2015-02-12 Microsoft Corporation Personalized content tagging
US9201929B1 (en) * 2013-08-09 2015-12-01 Google, Inc. Ranking a search result document based on data usage to load the search result document
US20150046372A1 (en) * 2013-08-09 2015-02-12 Forever, Inc. Method and System for Permanent and Continuous Preservation and Retrieval of a Data Object in the Internet Cloud
US9672253B1 (en) 2013-08-09 2017-06-06 Google Inc. Ranking a search result document based on data usage to load the search result document
JP2016532198A (en) * 2013-08-09 2016-10-13 フォーエバー、 インコーポレイテッド Permanent maintenance and retrieval of data objects in the cloud
CN105556516A (en) * 2013-08-09 2016-05-04 微软技术许可有限责任公司 Personalized content tagging
US10250579B2 (en) * 2013-08-13 2019-04-02 Alcatel Lucent Secure file transfers within network-based storage
US10021185B1 (en) * 2013-08-22 2018-07-10 Ca, Inc. Optimized virtual storage fabric
US10152390B1 (en) * 2013-08-23 2018-12-11 Acronis International Gmbh Increasing speed of file restore
US9304997B2 (en) * 2013-08-27 2016-04-05 Netapp, Inc. Asynchronously migrating a file system
US10853333B2 (en) 2013-08-27 2020-12-01 Netapp Inc. System and method for developing and implementing a migration plan for migrating a file system
US9311314B2 (en) 2013-08-27 2016-04-12 Netapp, Inc. System and method for migrating data from a source file system to a destination file system with use of attribute manipulation
US9300692B2 (en) 2013-08-27 2016-03-29 Netapp, Inc. System and method for implementing data migration while preserving security policies of a source filer
US9311331B2 (en) 2013-08-27 2016-04-12 Netapp, Inc. Detecting out-of-band (OOB) changes when replicating a source file system using an in-line system
US9633038B2 (en) 2013-08-27 2017-04-25 Netapp, Inc. Detecting out-of-band (OOB) changes when replicating a source file system using an in-line system
US20150066845A1 (en) * 2013-08-27 2015-03-05 Netapp, Inc. Asynchronously migrating a file system
US20150066873A1 (en) * 2013-08-30 2015-03-05 Kaladhar Voruganti Policy based deduplication techniques
US11163898B2 (en) 2013-09-11 2021-11-02 Mimecast Services Ltd. Sharing artifacts in permission-protected archives
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
US11010011B2 (en) 2013-09-12 2021-05-18 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
US9519886B2 (en) 2013-09-13 2016-12-13 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
US10044773B2 (en) 2013-09-13 2018-08-07 Box, Inc. System and method of a multi-functional managing user interface for accessing a cloud-based platform via mobile devices
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US11822759B2 (en) 2013-09-13 2023-11-21 Box, Inc. System and methods for configuring event-based automation in cloud-based collaboration platforms
US9483473B2 (en) 2013-09-13 2016-11-01 Box, Inc. High availability architecture for a cloud-based concurrent-access collaboration platform
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US9704137B2 (en) 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US11435865B2 (en) 2013-09-13 2022-09-06 Box, Inc. System and methods for configuring event-based automation in cloud-based collaboration platforms
US10038337B1 (en) 2013-09-16 2018-07-31 Energous Corporation Wireless power supply for rescue devices
US20150088837A1 (en) * 2013-09-20 2015-03-26 Netapp, Inc. Responding to service level objectives during deduplication
US20150088903A1 (en) * 2013-09-25 2015-03-26 International Business Machines Corporation Data allocation containers in a partitioned table of a computer database system for holding data based on usage
US9471614B2 (en) * 2013-09-25 2016-10-18 International Business Machines Corporation Data allocation containers in a partitioned table of a computer database system for holding data based on usage
US9424300B2 (en) 2013-09-25 2016-08-23 International Business Machines Corporation Data allocation containers in a partitioned table of a computer database system for holding data based on usage
WO2015043640A1 (en) * 2013-09-26 2015-04-02 Siemens Aktiengesellschaft Method and system for managing and editing data of a medical device
US11404160B2 (en) 2013-09-26 2022-08-02 Siemens Healthcare Gmbh Method and system for managing and editing data of a medical device
USD768162S1 (en) 2013-09-30 2016-10-04 Nextbit Systems Inc. Display screen or portion thereof with graphical user interface
WO2015075513A1 (en) * 2013-09-30 2015-05-28 Orange System and method for distributed data storage
US20160006829A1 (en) * 2013-10-02 2016-01-07 Hitachi, Ltd. Data management system and data management method
US20150100719A1 (en) * 2013-10-08 2015-04-09 Autochips Inc. Data backup method and device thereof
US9899861B1 (en) 2013-10-10 2018-02-20 Energous Corporation Wireless charging methods and systems for game controllers, based on pocket-forming
US9893555B1 (en) 2013-10-10 2018-02-13 Energous Corporation Wireless charging of tools using a toolbox transmitter
US9847677B1 (en) 2013-10-10 2017-12-19 Energous Corporation Wireless charging and powering of healthcare gadgets and sensors
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
US20150121417A1 (en) * 2013-10-24 2015-04-30 Arris Enterprises, Inc. Mediaword Compression for Network Digital Media Recorder Applications
US9473736B2 (en) * 2013-10-24 2016-10-18 Arris Enterprises, Inc. Mediaword compression for network digital media recorder applications
US10090699B1 (en) 2013-11-01 2018-10-02 Energous Corporation Wireless powered house
US20150127770A1 (en) * 2013-11-06 2015-05-07 Pax8, Inc. Distributed Cloud Disk Service Provisioning and Management
US10148097B1 (en) 2013-11-08 2018-12-04 Energous Corporation Systems and methods for using a predetermined number of communication channels of a wireless power transmitter to communicate with different wireless power receivers
US20150134618A1 (en) * 2013-11-12 2015-05-14 Boris Teterin Techniques for Policy-Based Data Protection Services
US9659021B1 (en) * 2013-11-20 2017-05-23 EMC IP Holding Company LLC Client based backups and backup indexing
CN103593476B (en) * 2013-11-28 2017-01-25 中国科学院信息工程研究所 Multi-keyword plaintext and ciphertext retrieving method and device oriented to cloud storage
CN103593476A (en) * 2013-11-28 2014-02-19 中国科学院信息工程研究所 Multi-keyword plaintext and ciphertext retrieving method and device oriented to cloud storage
US20170098096A1 (en) * 2013-12-02 2017-04-06 Fortinet, Inc. Secure cloud storage distribution and aggregation
US20150363608A1 (en) * 2013-12-02 2015-12-17 Fortinet, Inc. Secure cloud storage distribution and aggregation
US20150363611A1 (en) * 2013-12-02 2015-12-17 Fortinet, Inc. Secure cloud storage distribution and aggregation
US9495556B2 (en) * 2013-12-02 2016-11-15 Fortinet, Inc. Secure cloud storage distribution and aggregation
US20170061141A1 (en) * 2013-12-02 2017-03-02 Fortinet, Inc. Secure cloud storage distribution and aggregation
US9280678B2 (en) * 2013-12-02 2016-03-08 Fortinet, Inc. Secure cloud storage distribution and aggregation
US20150154418A1 (en) * 2013-12-02 2015-06-04 Fortinet, Inc. Secure cloud storage distribution and aggregation
US9817981B2 (en) * 2013-12-02 2017-11-14 Fortinet, Inc. Secure cloud storage distribution and aggregation
US10007804B2 (en) * 2013-12-02 2018-06-26 Fortinet, Inc. Secure cloud storage distribution and aggregation
US10083309B2 (en) * 2013-12-02 2018-09-25 Fortinet, Inc. Secure cloud storage distribution and aggregation
US9536103B2 (en) * 2013-12-02 2017-01-03 Fortinet, Inc. Secure cloud storage distribution and aggregation
US20150156264A1 (en) * 2013-12-04 2015-06-04 International Business Machines Corporation File access optimization using strategically partitioned and positioned data in conjunction with a collaborative peer transfer system
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
US9384205B1 (en) * 2013-12-18 2016-07-05 Veritas Technologies Llc Auto adaptive deduplication to cloud based storage
US20150188910A1 (en) * 2013-12-26 2015-07-02 Iswind Digital Engineering Inc. Policy group based file protection system, file protection method thereof, and computer readable medium
US10452306B1 (en) * 2013-12-31 2019-10-22 EMC IP Holding Company LLC Method and apparatus for asymmetric raid
US20220083928A1 (en) * 2014-01-02 2022-03-17 RISC Networks, LLC Method for facilitating network external computing assistance
US20170061339A1 (en) * 2014-01-02 2017-03-02 Jeremy Lynn Littlejohn Method for facilitating network external computing assistance
US11068809B2 (en) * 2014-01-02 2021-07-20 RISC Networks, LLC Method for facilitating network external computing assistance
US11915166B2 (en) * 2014-01-02 2024-02-27 RISC Networks, LLC Method for facilitating network external computing assistance
USD759686S1 (en) * 2014-01-03 2016-06-21 Synology Incorporated Portion of a display screen with icon
WO2015110879A1 (en) * 2014-01-23 2015-07-30 Dropbox, Inc. Content item synchronization by block
US9819740B2 (en) 2014-01-23 2017-11-14 Dropbox, Inc. Content item synchronization by block
US9998541B2 (en) 2014-01-23 2018-06-12 Dropbox, Inc. Content item synchronization by block
US9509747B2 (en) 2014-01-23 2016-11-29 Dropbox, Inc. Content item synchronization by block
US10324897B2 (en) * 2014-01-27 2019-06-18 Commvault Systems, Inc. Techniques for serving archived electronic mail
US20150212889A1 (en) * 2014-01-27 2015-07-30 Commvault Systems, Inc. Techniques for serving archived electronic mail
US10601674B2 (en) 2014-02-04 2020-03-24 Akamai Technologies, Inc. Virtual user ramp controller for load test analytic dashboard
US9935482B1 (en) 2014-02-06 2018-04-03 Energous Corporation Wireless power transmitters that transmit at determined times based on power availability and consumption at a receiving mobile device
US10075017B2 (en) 2014-02-06 2018-09-11 Energous Corporation External or internal wireless power receiver with spaced-apart antenna elements for charging or powering mobile devices using wirelessly delivered power
US10230266B1 (en) 2014-02-06 2019-03-12 Energous Corporation Wireless power receivers that communicate status data indicating wireless power transmission effectiveness with a transmitter using a built-in communications component of a mobile device, and methods of use thereof
US10860401B2 (en) 2014-02-27 2020-12-08 Commvault Systems, Inc. Work flow management for an information management system
US11314556B2 (en) * 2014-03-01 2022-04-26 Microsoft Technology Licensing, Llc. Shadowing local on-premises information to a cloud-based computing system
US20150248435A1 (en) * 2014-03-01 2015-09-03 Microsoft Corporation Shadowing local on-premises information to a cloud-based computing system
CN106068498A (en) * 2014-03-01 2016-11-02 微软技术许可有限责任公司 By local scene information radiography to calculating system based on cloud
US11316920B2 (en) 2014-03-05 2022-04-26 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US9769260B2 (en) 2014-03-05 2017-09-19 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US10205780B2 (en) 2014-03-05 2019-02-12 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US10986181B2 (en) 2014-03-05 2021-04-20 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US10523752B2 (en) 2014-03-05 2019-12-31 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US10291476B1 (en) 2014-03-14 2019-05-14 Veritas Technologies Llc Method and apparatus for automatically deploying applications in a multi-cloud networking system
US20150264117A1 (en) * 2014-03-14 2015-09-17 Avni Networks Inc. Processes for a highly scalable, distributed, multi-cloud application deployment, orchestration and delivery fabric
US9680708B2 (en) 2014-03-14 2017-06-13 Veritas Technologies Method and apparatus for cloud resource delivery
US10884991B1 (en) * 2014-03-14 2021-01-05 Jpmorgan Chase Bank, N.A. Data request analysis and fulfillment system and method
US11188504B2 (en) 2014-03-17 2021-11-30 Commvault Systems, Inc. Managing deletions from a deduplication database
US11119984B2 (en) 2014-03-17 2021-09-14 Commvault Systems, Inc. Managing deletions from a deduplication database
US9749224B2 (en) * 2014-03-31 2017-08-29 Verizon Patent And Licensing Inc. Method and apparatus for cloud provisioning of communication services
US20150281046A1 (en) * 2014-03-31 2015-10-01 Verizon Patent And Licensing Inc. Method and apparatus for cloud provisioning of communication services
US9946724B1 (en) * 2014-03-31 2018-04-17 EMC IP Holding Company LLC Scalable post-process deduplication
US11321189B2 (en) 2014-04-02 2022-05-03 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US20150286701A1 (en) * 2014-04-04 2015-10-08 Quantum Corporation Data Classification Aware Object Storage
US11722384B2 (en) 2014-04-09 2023-08-08 Centurylink Intellectual Property Llc System and method for cloud computing adaptive cloud services
US10291546B2 (en) * 2014-04-17 2019-05-14 Go Daddy Operating Company, LLC Allocating and accessing hosting server resources via continuous resource availability updates
US11403322B2 (en) 2014-04-30 2022-08-02 Samsung Electronics Co., Ltd. Apparatus and method for integrated management of data in mobile device, and mobile device
US10516301B2 (en) 2014-05-01 2019-12-24 Energous Corporation System and methods for using sound waves to wirelessly deliver power to electronic devices
US10158257B2 (en) 2014-05-01 2018-12-18 Energous Corporation System and methods for using sound waves to wirelessly deliver power to electronic devices
US20150319236A1 (en) * 2014-05-02 2015-11-05 Claude Lano Cox Auto-storing and synchronizing device content from an information handling system
US9779089B2 (en) * 2014-05-02 2017-10-03 Dell Products L.P. Auto-storing and synchronizing device content from an information handling system
US10193396B1 (en) 2014-05-07 2019-01-29 Energous Corporation Cluster management of transmitters in a wireless power transmission system
US9806564B2 (en) 2014-05-07 2017-10-31 Energous Corporation Integrated rectifier and boost converter for wireless power transmission
US9859797B1 (en) 2014-05-07 2018-01-02 Energous Corporation Synchronous rectifier design for wireless power receiver
US10186911B2 (en) 2014-05-07 2019-01-22 Energous Corporation Boost converter and controller for increasing voltage received from wireless power transmission waves
US10116170B1 (en) 2014-05-07 2018-10-30 Energous Corporation Methods and systems for maximum power point transfer in receivers
US10298133B2 (en) 2014-05-07 2019-05-21 Energous Corporation Synchronous rectifier design for wireless power receiver
US10218227B2 (en) 2014-05-07 2019-02-26 Energous Corporation Compact PIFA antenna
US10153653B1 (en) 2014-05-07 2018-12-11 Energous Corporation Systems and methods for using application programming interfaces to control communications between a transmitter and a receiver
US10291066B1 (en) 2014-05-07 2019-05-14 Energous Corporation Power transmission control systems and methods
US9819230B2 (en) 2014-05-07 2017-11-14 Energous Corporation Enhanced receiver for wireless power transmission
US10170917B1 (en) 2014-05-07 2019-01-01 Energous Corporation Systems and methods for managing and controlling a wireless power network by establishing time intervals during which receivers communicate with a transmitter
US9973008B1 (en) 2014-05-07 2018-05-15 Energous Corporation Wireless power receiver with boost converters directly coupled to a storage element
US10141791B2 (en) 2014-05-07 2018-11-27 Energous Corporation Systems and methods for controlling communications during wireless transmission of power using application programming interfaces
US11233425B2 (en) 2014-05-07 2022-01-25 Energous Corporation Wireless power receiver having an antenna assembly and charger for enhanced power delivery
US10396604B2 (en) 2014-05-07 2019-08-27 Energous Corporation Systems and methods for operating a plurality of antennas of a wireless power transmitter
US9882430B1 (en) 2014-05-07 2018-01-30 Energous Corporation Cluster management of transmitters in a wireless power transmission system
US9847679B2 (en) 2014-05-07 2017-12-19 Energous Corporation System and method for controlling communication between wireless power transmitter managers
US10205239B1 (en) 2014-05-07 2019-02-12 Energous Corporation Compact PIFA antenna
US10153645B1 (en) 2014-05-07 2018-12-11 Energous Corporation Systems and methods for designating a master power transmitter in a cluster of wireless power transmitters
US9876394B1 (en) 2014-05-07 2018-01-23 Energous Corporation Boost-charger-boost system for enhanced power delivery
US9882395B1 (en) 2014-05-07 2018-01-30 Energous Corporation Cluster management of transmitters in a wireless power transmission system
US10211682B2 (en) 2014-05-07 2019-02-19 Energous Corporation Systems and methods for controlling operation of a transmitter of a wireless power network based on user instructions received from an authenticated computing device powered or charged by a receiver of the wireless power network
US10014728B1 (en) 2014-05-07 2018-07-03 Energous Corporation Wireless power receiver having a charger system for enhanced power delivery
US9853458B1 (en) 2014-05-07 2017-12-26 Energous Corporation Systems and methods for device and power receiver pairing
US10243414B1 (en) 2014-05-07 2019-03-26 Energous Corporation Wearable device with wireless power and payload receiver
US9800172B1 (en) 2014-05-07 2017-10-24 Energous Corporation Integrated rectifier and boost converter for boosting voltage received from wireless power transmission waves
US10776219B2 (en) 2014-05-09 2020-09-15 Commvault Systems, Inc. Load balancing across multiple data paths
US10310950B2 (en) 2014-05-09 2019-06-04 Commvault Systems, Inc. Load balancing across multiple data paths
US11593227B2 (en) 2014-05-09 2023-02-28 Commvault Systems, Inc. Load balancing across multiple data paths
US11119868B2 (en) 2014-05-09 2021-09-14 Commvault Systems, Inc. Load balancing across multiple data paths
US10156986B2 (en) 2014-05-12 2018-12-18 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
US9823842B2 (en) 2014-05-12 2017-11-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
US9859758B1 (en) 2014-05-14 2018-01-02 Energous Corporation Transducer sound arrangement for pocket-forming
US10904108B2 (en) 2014-05-16 2021-01-26 Centurylink Intellectual Property Llc Network services API
US10630558B2 (en) 2014-05-16 2020-04-21 Centurylink Intellectual Property Llc Network services API
US10193769B2 (en) 2014-05-16 2019-01-29 Centurylink Intellectual Property Llc Network services API
US20150332351A1 (en) * 2014-05-16 2015-11-19 Centurylink Intellectual Property Llc System and Method for Service Provider Cloud Services - Cloud Marketplace
US9954374B1 (en) 2014-05-23 2018-04-24 Energous Corporation System and method for self-system analysis for detecting a fault in a wireless power transmission Network
US10063106B2 (en) 2014-05-23 2018-08-28 Energous Corporation System and method for a self-system analysis in a wireless power transmission network
US10063064B1 (en) 2014-05-23 2018-08-28 Energous Corporation System and method for generating a power receiver identifier in a wireless power network
US10223717B1 (en) 2014-05-23 2019-03-05 Energous Corporation Systems and methods for payment-based authorization of wireless power transmission service
US9899873B2 (en) 2014-05-23 2018-02-20 Energous Corporation System and method for generating a power receiver identifier in a wireless power network
US9793758B2 (en) 2014-05-23 2017-10-17 Energous Corporation Enhanced transmitter using frequency control for wireless power transmission
US9825674B1 (en) 2014-05-23 2017-11-21 Energous Corporation Enhanced transmitter that selects configurations of antenna elements for performing wireless power transmission and receiving functions
US9853692B1 (en) 2014-05-23 2017-12-26 Energous Corporation Systems and methods for wireless power transmission
US9876536B1 (en) 2014-05-23 2018-01-23 Energous Corporation Systems and methods for assigning groups of antennas to transmit wireless power to different wireless power receivers
US9449012B2 (en) * 2014-05-30 2016-09-20 Apple Inc. Cloud library de-duplication
US20150347444A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Cloud library de-duplication
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US10454778B2 (en) 2014-06-03 2019-10-22 Box, Inc. Policy-based computation and storage of cloud-based collaboration objects
US20160191635A1 (en) * 2014-06-03 2016-06-30 Box, Inc. Accessing multiple content storage facilities using source-aware storage policies
US9966784B2 (en) 2014-06-03 2018-05-08 Energous Corporation Systems and methods for extending battery life of portable electronic devices charged by sound
US10027766B2 (en) * 2014-06-03 2018-07-17 Box, Inc. Accessing multiple content storage facilities using source-aware storage policies
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
US10509769B1 (en) * 2014-06-12 2019-12-17 EMC IP Holding Company LLC Method to efficiently track I/O access history
US9798754B1 (en) * 2014-06-12 2017-10-24 EMC IP Holding Company LLC Method to efficiently track I/O access history using efficient memory data structures
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
US9742738B2 (en) 2014-06-17 2017-08-22 Cisco Technology, Inc. Method and apparatus for enforcing storage encryption for data stored in a cloud
WO2015195497A1 (en) * 2014-06-17 2015-12-23 Cisco Technology, Inc. Method and apparatus for enforcing storage encryption for data stored in a cloud
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing
US10234835B2 (en) 2014-07-11 2019-03-19 Microsoft Technology Licensing, Llc Management of computing devices using modulated electricity
US9933804B2 (en) 2014-07-11 2018-04-03 Microsoft Technology Licensing, Llc Server installation as a grid condition sensor
US10075008B1 (en) 2014-07-14 2018-09-11 Energous Corporation Systems and methods for manually adjusting when receiving electronic devices are scheduled to receive wirelessly delivered power from a wireless power transmitter in a wireless power network
US10128699B2 (en) 2014-07-14 2018-11-13 Energous Corporation Systems and methods of providing wireless power using receiver device sensor inputs
US20160014140A1 (en) * 2014-07-14 2016-01-14 Cisco Technology, Inc. Network-based real-time distributed data compliance broker
US10128693B2 (en) 2014-07-14 2018-11-13 Energous Corporation System and method for providing health safety in a wireless power transmission system
US10084795B2 (en) * 2014-07-14 2018-09-25 Cisco Technology, Inc. Network-based real-time distributed data compliance broker
US9941747B2 (en) 2014-07-14 2018-04-10 Energous Corporation System and method for manually selecting and deselecting devices to charge in a wireless power network
US10554052B2 (en) 2014-07-14 2020-02-04 Energous Corporation Systems and methods for determining when to transmit power waves to a wireless power receiver
US9991741B1 (en) 2014-07-14 2018-06-05 Energous Corporation System for tracking and reporting status and usage information in a wireless power management system
US9893554B2 (en) 2014-07-14 2018-02-13 Energous Corporation System and method for providing health safety in a wireless power transmission system
US20190014123A1 (en) * 2014-07-14 2019-01-10 Cisco Technology, Inc. Network-based real-time distributed data compliance broker
US10090886B1 (en) 2014-07-14 2018-10-02 Energous Corporation System and method for enabling automatic charging schedules in a wireless power network to one or more devices
US10778693B2 (en) * 2014-07-14 2020-09-15 Cisco Technology, Inc. Network-based real-time distributed data compliance broker
US10650057B2 (en) 2014-07-16 2020-05-12 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US11625439B2 (en) 2014-07-16 2023-04-11 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US10381880B2 (en) 2014-07-21 2019-08-13 Energous Corporation Integrated antenna structure arrays for wireless power transmission
US9838083B2 (en) 2014-07-21 2017-12-05 Energous Corporation Systems and methods for communication with remote management systems
US10116143B1 (en) 2014-07-21 2018-10-30 Energous Corporation Integrated antenna arrays for wireless power transmission
US10490346B2 (en) 2014-07-21 2019-11-26 Energous Corporation Antenna structures having planar inverted F-antenna that surrounds an artificial magnetic conductor cell
US9871301B2 (en) 2014-07-21 2018-01-16 Energous Corporation Integrated miniature PIFA with artificial magnetic conductor metamaterials
US10068703B1 (en) 2014-07-21 2018-09-04 Energous Corporation Integrated miniature PIFA with artificial magnetic conductor metamaterials
US9882394B1 (en) 2014-07-21 2018-01-30 Energous Corporation Systems and methods for using servers to generate charging schedules for wireless power transmission systems
US9641388B2 (en) * 2014-07-29 2017-05-02 Commvault Systems, Inc. Customized deployment in information management systems
US20170132707A1 (en) * 2014-07-29 2017-05-11 Forever, Inc. Method and System for Permanent and Continuous Preservation and Retrieval of a Data Object in the Internet Cloud
US20160036667A1 (en) * 2014-07-29 2016-02-04 Commvault Systems, Inc. Customized deployment in information management systems
US9893942B2 (en) 2014-07-29 2018-02-13 Commvault Systems, Inc. Customized deployment in information management systems
US10409578B2 (en) * 2014-07-29 2019-09-10 Commvault Systems, Inc. Customized deployment in information management systems
US11150883B2 (en) * 2014-07-29 2021-10-19 Commvault Systems, Inc. Customized deployment in information management systems
US9952856B2 (en) * 2014-08-01 2018-04-24 Sap Se Deploying mobile applications in a collaborative cloud environment
US10866742B1 (en) * 2014-08-04 2020-12-15 Nexgen Storage, Inc. Archiving storage volume snapshots
US11914539B2 (en) * 2014-08-05 2024-02-27 Spatial Digital Systems, Inc. Remote wiping for data transport, storage and retrieval
US11599492B1 (en) * 2014-08-05 2023-03-07 Spatial Digital Systems, Inc. Remote wiping for data transport, storage and retrieval
US20230229613A1 (en) * 2014-08-05 2023-07-20 Spatial Digital Systems, Inc. Remote wiping for data transport, storage and retrieval
US9917894B2 (en) 2014-08-06 2018-03-13 Quest Software Inc. Accelerating transfer protocols
US11416341B2 (en) 2014-08-06 2022-08-16 Commvault Systems, Inc. Systems and methods to reduce application downtime during a restore operation using a pseudo-storage device
US9990352B2 (en) 2014-08-06 2018-06-05 Quest Software Inc. Chunk compression in a deduplication aware client environment
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US20160044077A1 (en) * 2014-08-06 2016-02-11 Dell Products L.P. Policy use in a data mover employing different channel protocols
US9984093B2 (en) 2014-08-06 2018-05-29 Quest Software Inc. Technique selection in a deduplication aware client environment
US10459886B2 (en) 2014-08-06 2019-10-29 Quest Software Inc. Client-side deduplication with local chunk caching
US11681668B2 (en) 2014-08-11 2023-06-20 Netapp, Inc. System and method for developing and implementing a migration plan for migrating a file system
US10860529B2 (en) 2014-08-11 2020-12-08 Netapp Inc. System and method for planning and configuring a file system migration
US9891669B2 (en) 2014-08-21 2018-02-13 Energous Corporation Systems and methods for a configuration web service to provide configuration of a wireless power transmitter within a wireless power transmission system
US10199849B1 (en) 2014-08-21 2019-02-05 Energous Corporation Method for automatically testing the operational status of a wireless power receiver in a wireless power transmission system
US9965009B1 (en) 2014-08-21 2018-05-08 Energous Corporation Systems and methods for assigning a power receiver to individual power transmitters based on location of the power receiver
US9887584B1 (en) 2014-08-21 2018-02-06 Energous Corporation Systems and methods for a configuration web service to provide configuration of a wireless power transmitter within a wireless power transmission system
US9899844B1 (en) 2014-08-21 2018-02-20 Energous Corporation Systems and methods for configuring operational conditions for a plurality of wireless power transmitters at a system configuration interface
US9876648B2 (en) 2014-08-21 2018-01-23 Energous Corporation System and method to control a wireless power transmission system by configuration of wireless power transmission control parameters
US10008889B2 (en) 2014-08-21 2018-06-26 Energous Corporation Method for automatically testing the operational status of a wireless power receiver in a wireless power transmission system
US9939864B1 (en) 2014-08-21 2018-04-10 Energous Corporation System and method to control a wireless power transmission system by configuration of wireless power transmission control parameters
US10439448B2 (en) 2014-08-21 2019-10-08 Energous Corporation Systems and methods for automatically testing the communication between wireless power transmitter and wireless power receiver
US9917477B1 (en) 2014-08-21 2018-03-13 Energous Corporation Systems and methods for automatically testing the communication between power transmitter and wireless receiver
US10790674B2 (en) 2014-08-21 2020-09-29 Energous Corporation User-configured operational parameters for wireless power transmission control
US9886447B2 (en) * 2014-08-22 2018-02-06 International Business Machines Corporation Performance of asynchronous replication in HSM integrated storage systems
US11030158B2 (en) 2014-08-22 2021-06-08 International Business Machines Corporation Improving performance of asynchronous replication in HSM integrated storage systems
WO2016026537A1 (en) * 2014-08-22 2016-02-25 Nec Europe Ltd. A method for storing of data within a cloud storage and a cloud storage system
US20160055171A1 (en) * 2014-08-22 2016-02-25 International Business Machines Corporation Performance of Asynchronous Replication in HSM Integrated Storage Systems
US10313311B2 (en) 2014-08-22 2019-06-04 Nec Corporation Method for storing of data within a cloud storage and a cloud storage system
US20180232784A1 (en) * 2014-08-26 2018-08-16 Municipal Property Assessment Corporation Method and system for real estate valuation
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US10708321B2 (en) 2014-08-29 2020-07-07 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US10708323B2 (en) 2014-08-29 2020-07-07 Box, Inc. Managing flow-based interactions with cloud-based shared content
US11146600B2 (en) 2014-08-29 2021-10-12 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US11876845B2 (en) 2014-08-29 2024-01-16 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US11422991B2 (en) * 2014-09-16 2022-08-23 Commvault Systems, Inc. Fast deduplication data verification
US9417968B2 (en) 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US10572468B2 (en) 2014-09-22 2020-02-25 Commvault Systems, Inc. Restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US10048889B2 (en) 2014-09-22 2018-08-14 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US9996534B2 (en) 2014-09-22 2018-06-12 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9436555B2 (en) 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US10452303B2 (en) 2014-09-22 2019-10-22 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US10437505B2 (en) 2014-09-22 2019-10-08 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9928001B2 (en) 2014-09-22 2018-03-27 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US11159394B2 (en) 2014-09-24 2021-10-26 RISC Networks, LLC Method and device for evaluating the system assets of a communication network
US20220124010A1 (en) * 2014-09-24 2022-04-21 RISC Networks, LLC Method and device for evaluating the system assets of a communication network
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
CN104268219A (en) * 2014-09-24 2015-01-07 国家电网公司 Management method and system thereof for mass electricity utilization information collection data
US10764265B2 (en) * 2014-09-24 2020-09-01 Ent. Services Development Corporation Lp Assigning a document to partial membership in communities
US10073650B2 (en) * 2014-10-21 2018-09-11 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US9444811B2 (en) * 2014-10-21 2016-09-13 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US9645762B2 (en) 2014-10-21 2017-05-09 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US20170206018A1 (en) * 2014-10-21 2017-07-20 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US11169729B2 (en) 2014-10-21 2021-11-09 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US10474388B2 (en) 2014-10-21 2019-11-12 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US9826019B2 (en) * 2014-10-27 2017-11-21 Citrix Systems, Inc. Input devices in high latency networks
US10637907B2 (en) 2014-10-27 2020-04-28 Citrix Systems, Inc. Input devices in high latency networks
US20160119402A1 (en) * 2014-10-27 2016-04-28 Citrix Systems, Inc. Input devices in high latency networks
US11113246B2 (en) 2014-10-29 2021-09-07 Commvault Systems, Inc. Accessing a file system using tiered deduplication
US20160125098A1 (en) * 2014-10-30 2016-05-05 Lenovo (Singapore) Pte. Ltd. Aggregate service with search capabilities
US9531689B1 (en) * 2014-11-10 2016-12-27 The United States Of America As Represented By The Secretary Of The Navy System and method for encryption of network data
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US10404799B2 (en) 2014-11-19 2019-09-03 Commvault Systems, Inc. Migration to cloud storage from backup
US20160140131A1 (en) * 2014-11-19 2016-05-19 Prophetstor Data Services, Inc. Method and system for data transformation for cloud-based archiving and backup
US9996287B2 (en) 2014-11-20 2018-06-12 Commvault Systems, Inc. Virtual machine change block tracking
US9823977B2 (en) 2014-11-20 2017-11-21 Commvault Systems, Inc. Virtual machine change block tracking
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US11422709B2 (en) 2014-11-20 2022-08-23 Commvault Systems, Inc. Virtual machine change block tracking
US10509573B2 (en) 2014-11-20 2019-12-17 Commvault Systems, Inc. Virtual machine change block tracking
US10356221B2 (en) * 2014-12-04 2019-07-16 Hewlett-Packard Development Company, L.P. Access to network-based storage resource based on hardware identifier
US10423507B1 (en) 2014-12-05 2019-09-24 EMC IP Holding Company LLC Repairing a site cache in a distributed file system
US10951705B1 (en) 2014-12-05 2021-03-16 EMC IP Holding Company LLC Write leases for distributed file systems
US10936494B1 (en) * 2014-12-05 2021-03-02 EMC IP Holding Company LLC Site cache manager for a distributed file system
US10452619B1 (en) 2014-12-05 2019-10-22 EMC IP Holding Company LLC Decreasing a site cache capacity in a distributed file system
US10445296B1 (en) 2014-12-05 2019-10-15 EMC IP Holding Company LLC Reading from a site cache in a distributed file system
US11221993B2 (en) 2014-12-05 2022-01-11 EMC IP Holding Company LLC Limited deduplication scope for distributed file systems
US10430385B1 (en) * 2014-12-05 2019-10-01 EMC IP Holding Company LLC Limited deduplication scope for distributed file systems
US10417194B1 (en) 2014-12-05 2019-09-17 EMC IP Holding Company LLC Site cache for a distributed file system
US10353873B2 (en) 2014-12-05 2019-07-16 EMC IP Holding Company LLC Distributed file systems on content delivery networks
US10795866B2 (en) 2014-12-05 2020-10-06 EMC IP Holding Company LLC Distributed file systems on content delivery networks
US20160196320A1 (en) * 2014-12-19 2016-07-07 Pure Storage, Inc. Replication to the cloud
US11803567B1 (en) 2014-12-19 2023-10-31 Pure Storage, Inc. Restoration of a dataset from a cloud
US10545987B2 (en) * 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
US10359941B1 (en) * 2014-12-22 2019-07-23 Emc Corporation Multi-tier data storage using burst buffer appliance for workload transformation based on performance characteristics of at least one tier
US11799959B2 (en) 2014-12-27 2023-10-24 Huawei Technologies Co., Ltd. Data processing method, apparatus, and system
US10122415B2 (en) 2014-12-27 2018-11-06 Energous Corporation Systems and methods for assigning a set of antennas of a wireless power transmitter to a wireless power receiver based on a location of the wireless power receiver
US20170295239A1 (en) * 2014-12-27 2017-10-12 Huawei Technologies Co.,Ltd. Data processing method, apparatus, and system
US11032368B2 (en) 2014-12-27 2021-06-08 Huawei Technologies Co., Ltd. Data processing method, apparatus, and system
US10291055B1 (en) 2014-12-29 2019-05-14 Energous Corporation Systems and methods for controlling far-field wireless power transmission based on battery power levels of a receiving device
US9767119B2 (en) 2014-12-31 2017-09-19 Netapp, Inc. System and method for monitoring hosts and storage devices in a storage system
US10911537B1 (en) * 2014-12-31 2021-02-02 Acronis International Gmbh Increasing speed of synchronization and restore
US10171560B2 (en) * 2015-01-05 2019-01-01 International Business Machines Corporation Modular framework to integrate service management systems and cloud orchestrators in a hybrid cloud environment
US20160197980A1 (en) * 2015-01-05 2016-07-07 International Business Machines Corporation Modular framework to integrate service management systems and cloud orchestrators in a hybrid cloud environment
US11321281B2 (en) 2015-01-15 2022-05-03 Commvault Systems, Inc. Managing structured data in a data storage system
US20160210342A1 (en) * 2015-01-21 2016-07-21 Commvault Systems, Inc. Cross-application database restore
US10191819B2 (en) 2015-01-21 2019-01-29 Commvault Systems, Inc. Database protection using block-level mapping
US10210051B2 (en) * 2015-01-21 2019-02-19 Commvault Systems, Inc. Cross-application database restore
US10891199B2 (en) 2015-01-21 2021-01-12 Commvault Systems, Inc. Object-level database restore
US11436096B2 (en) 2015-01-21 2022-09-06 Commvault Systems, Inc. Object-level database restore
US11030058B2 (en) 2015-01-21 2021-06-08 Commvault Systems, Inc. Restoring archived object-level database data
US11755424B2 (en) 2015-01-21 2023-09-12 Commvault Systems, Inc. Restoring archived object-level database data
US20160210194A1 (en) * 2015-01-21 2016-07-21 Commvault Systems, Inc. Object-level database restore
US10108687B2 (en) 2015-01-21 2018-10-23 Commvault Systems, Inc. Database protection using block-level mapping
US10223212B2 (en) * 2015-01-21 2019-03-05 Commvault Systems, Inc. Restoring archived object-level database data
US20160210203A1 (en) * 2015-01-21 2016-07-21 Commvault Systems, Inc. Restoring archived object-level database data
US11630739B2 (en) 2015-01-21 2023-04-18 Commvault Systems, Inc. Database protection using block-level mapping
US11042449B2 (en) 2015-01-21 2021-06-22 Commvault Systems, Inc. Database protection using block-level mapping
US10223211B2 (en) * 2015-01-21 2019-03-05 Commvault Systems, Inc. Object-level database restore
US11119865B2 (en) 2015-01-21 2021-09-14 Commvault Systems, Inc. Cross-application database restore
US20190289092A1 (en) * 2015-01-28 2019-09-19 Red Hat, Inc. Cache data validation
US20160219123A1 (en) * 2015-01-28 2016-07-28 Red Hat, Inc. Cache Data Validation
US10320935B2 (en) * 2015-01-28 2019-06-11 Red Hat, Inc. Cache data validation
US10911562B2 (en) * 2015-01-28 2021-02-02 Red Hat, Inc. Cache data validation
CN104537130A (en) * 2015-01-30 2015-04-22 浪潮(北京)电子信息产业有限公司 Method and system for realizing distributed cluster file management and clients
US11675811B2 (en) 2015-01-30 2023-06-13 Dropbox, Inc. Storage constrained synchronization of shared content items
US11275763B2 (en) 2015-01-30 2022-03-15 Dropbox, Inc. Storage constrained synchronization of shared content items
US10831715B2 (en) 2015-01-30 2020-11-10 Dropbox, Inc. Selective downloading of shared content items in a constrained synchronization system
US10552449B2 (en) 2015-01-30 2020-02-04 Dropbox, Inc. Storage constrained synchronization of shared content items
US10248705B2 (en) * 2015-01-30 2019-04-02 Dropbox, Inc. Storage constrained synchronization of shared content items
US20160321340A1 (en) * 2015-01-30 2016-11-03 Dropbox, Inc. Storage Constrained Synchronization of Shared Content Items
US20180004430A1 (en) * 2015-01-30 2018-01-04 Hewlett Packard Enterprise Development Lp Chunk Monitoring
US9893535B2 (en) 2015-02-13 2018-02-13 Energous Corporation Systems and methods for determining optimal charging positions to maximize efficiency of power received from wirelessly delivered sound wave energy
US10505862B1 (en) * 2015-02-18 2019-12-10 Amazon Technologies, Inc. Optimizing for infrastructure diversity constraints in resource placement
US20180123885A1 (en) * 2015-03-20 2018-05-03 Nokia Solutions And Networks Oy Building and applying operational experiences for cm operations
US10963430B2 (en) 2015-04-01 2021-03-30 Dropbox, Inc. Shared workspaces with selective content item synchronization
US10699025B2 (en) 2015-04-01 2020-06-30 Dropbox, Inc. Nested namespaces for selective content sharing
US11580241B2 (en) 2015-04-01 2023-02-14 Dropbox, Inc. Nested namespaces for selective content sharing
US20160306818A1 (en) * 2015-04-09 2016-10-20 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
US11301420B2 (en) 2015-04-09 2022-04-12 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
CN107646189A (en) * 2015-04-10 2018-01-30 Pcms控股公司 System and method for the commission of cloud computing process
US20160307145A1 (en) * 2015-04-14 2016-10-20 International Business Machines Corporation Scheduling and simulation system
US10726366B2 (en) * 2015-04-14 2020-07-28 International Business Machines Corporation Scheduling and simulation system
US10346431B1 (en) * 2015-04-16 2019-07-09 Akamai Technologies, Inc. System and method for automated run-tme scaling of cloud-based data store
US11070528B2 (en) 2015-04-18 2021-07-20 DvSum, LLC Remote data queries on secure devices
US20160308841A1 (en) * 2015-04-18 2016-10-20 DvSum, LLC Remotely accessing data on a secured server
US10397192B2 (en) * 2015-04-18 2019-08-27 DvSum, LLC Remotely accessing data on a secured server
US11863536B2 (en) 2015-04-18 2024-01-02 DvSum, LLC Remote data queries through a firewall
US9904598B2 (en) 2015-04-21 2018-02-27 Commvault Systems, Inc. Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology
US10303550B2 (en) 2015-04-21 2019-05-28 Commvault Systems, Inc. Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology
US11573859B2 (en) 2015-04-21 2023-02-07 Commvault Systems, Inc. Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology
US10860426B2 (en) 2015-04-21 2020-12-08 Commvault Systems, Inc. Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology
CN104809407A (en) * 2015-05-05 2015-07-29 南京信息工程大学 Method and system for encrypting, decrypting and verifying cloud storage front end data
US9787772B2 (en) 2015-05-19 2017-10-10 Netapp, Inc. Policy based alerts for networked storage systems
US11281642B2 (en) 2015-05-20 2022-03-22 Commvault Systems, Inc. Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files
US10977231B2 (en) 2015-05-20 2021-04-13 Commvault Systems, Inc. Predicting scale of data migration
WO2016187657A1 (en) * 2015-05-21 2016-12-01 Mainframe Cloud Pty Ltd A system, method, computer program and data signal for hosting and executing a program on a mainframe
US10114962B2 (en) 2015-06-02 2018-10-30 Alibaba Group Holding Limited Generating a stub file corresponding to a classified data file
US20160359953A1 (en) * 2015-06-04 2016-12-08 Dell Software Inc. Migration enhanced by presence, instant messaging, and last log-on time
US9923965B2 (en) 2015-06-05 2018-03-20 International Business Machines Corporation Storage mirroring over wide area network circuits with dynamic on-demand capacity
US9940203B1 (en) * 2015-06-11 2018-04-10 EMC IP Holding Company LLC Unified interface for cloud-based backup and restoration
US20160373516A1 (en) * 2015-06-22 2016-12-22 Ricoh Company, Ltd. Approach For Sharing Electronic Documents During Electronic Meetings
US10484452B2 (en) * 2015-06-22 2019-11-19 Ricoh Company, Ltd. Approach for sharing electronic documents during electronic meetings
US10374991B2 (en) 2015-06-22 2019-08-06 Ricoh Company, Ltd. Approach for sharing electronic documents during electronic meetings
US10430384B1 (en) * 2015-06-30 2019-10-01 EMC IP Holding Company LLC Global data deduplication across multiple distributed file systems
US10706042B1 (en) 2015-06-30 2020-07-07 EMC IP Holding Company LLC Data deduplication on a distributed file system using conditional writes
US11120000B2 (en) * 2015-06-30 2021-09-14 International Business Machines Corporation Enhancements for optimizing query executions
US20200026690A1 (en) * 2015-06-30 2020-01-23 EMC IP Holding Company LLC Global data deduplication across multiple distributed file systems
US11483214B2 (en) * 2015-06-30 2022-10-25 SkyKick, Inc. Synchronizing data between cloud manager and providers
US10803020B1 (en) * 2015-06-30 2020-10-13 EMC IP Holding Company LLC Data deduplication on a distributed file system
US11163743B2 (en) 2015-06-30 2021-11-02 International Business Machines Corporation Enhancements for optimizing query executions
US11809377B2 (en) * 2015-06-30 2023-11-07 EMC IP Holding Company LLC Global data deduplication across multiple distributed file systems
US11726986B2 (en) 2015-06-30 2023-08-15 EMC IP Holding Company LLC Data deduplication on a distributed file system using conditional writes
US10168929B2 (en) 2015-07-22 2019-01-01 Commvault Systems, Inc. Browse and restore for block-level backups
US11314424B2 (en) 2015-07-22 2022-04-26 Commvault Systems, Inc. Restore for block-level backups
US10884634B2 (en) 2015-07-22 2021-01-05 Commvault Systems, Inc. Browse and restore for block-level backups
US11733877B2 (en) 2015-07-22 2023-08-22 Commvault Systems, Inc. Restore for block-level backups
US9972103B2 (en) 2015-07-24 2018-05-15 Oracle International Corporation Visually exploring and analyzing event streams
US10402372B2 (en) 2015-07-27 2019-09-03 Sas Institute Inc. Distributed data storage grouping
US10255287B2 (en) * 2015-07-31 2019-04-09 Hiveio Inc. Method and apparatus for on-disk deduplication metadata for a deduplication file system
US20170134493A1 (en) * 2015-08-19 2017-05-11 Donald C.D. Chang Mobile Accessing Private Data on Cloud
US10079886B2 (en) * 2015-08-19 2018-09-18 Spatial Digital Systems, Inc. Mobile accessing private data on cloud
US20190034108A1 (en) * 2015-08-19 2019-01-31 Spatial Digital Systems, Inc. Private access to media data on network storage
US11748332B2 (en) * 2015-08-31 2023-09-05 Commvault Systems, Inc. Organically managing storage of a data object based on an expiry timeframe supplied by a user of the data object
US20210271664A1 (en) * 2015-08-31 2021-09-02 Commvault Systems, Inc. Organically managing storage of a data object based on an expiry timeframe supplied by a user of the data object
US10176182B2 (en) * 2015-08-31 2019-01-08 International Business Machines Corporation File deletion in storage devices based on the deletion priority rules
US10983986B2 (en) * 2015-08-31 2021-04-20 Commvault Systems, Inc. Organically managing primary and secondary storage of a data object based on an expiry timeframe supplied by a user of the data object
US10447638B2 (en) * 2015-09-03 2019-10-15 Quest Software Inc. Automatically applying data loss prevention rules during migration
WO2017040503A1 (en) * 2015-09-04 2017-03-09 Wal-Mart Stores, Inc. FILE MANAGEMENT FOR eDISCOVERY
US10210165B2 (en) 2015-09-04 2019-02-19 Walmart Apollo, Llc File management for eDiscovery
US9848094B2 (en) * 2015-09-10 2017-12-19 Spatial Digital Systems, Inc. Mobile scanner via private data on cloud
US20170078501A1 (en) * 2015-09-10 2017-03-16 Donald C.D. Chang Mobile Scanner via Private Data on Cloud
US9906275B2 (en) 2015-09-15 2018-02-27 Energous Corporation Identifying receivers in a wireless charging transmission field
US11670970B2 (en) 2015-09-15 2023-06-06 Energous Corporation Detection of object location and displacement to cause wireless-power transmission adjustments within a transmission field
US10523033B2 (en) 2015-09-15 2019-12-31 Energous Corporation Receiver devices configured to determine location within a transmission field
US10199850B2 (en) 2015-09-16 2019-02-05 Energous Corporation Systems and methods for wirelessly transmitting power from a transmitter to a receiver by determining refined locations of the receiver in a segmented transmission field associated with the transmitter
US10008875B1 (en) 2015-09-16 2018-06-26 Energous Corporation Wireless power transmitter configured to transmit power waves to a predicted location of a moving wireless power receiver
US10186893B2 (en) 2015-09-16 2019-01-22 Energous Corporation Systems and methods for real time or near real time wireless communications between a wireless power transmitter and a wireless power receiver
US10312715B2 (en) 2015-09-16 2019-06-04 Energous Corporation Systems and methods for wireless power charging
US10483768B2 (en) 2015-09-16 2019-11-19 Energous Corporation Systems and methods of object detection using one or more sensors in wireless power charging systems
US11777328B2 (en) 2015-09-16 2023-10-03 Energous Corporation Systems and methods for determining when to wirelessly transmit power to a location within a transmission field based on predicted specific absorption rate values at the location
US9871387B1 (en) 2015-09-16 2018-01-16 Energous Corporation Systems and methods of object detection using one or more video cameras in wireless power charging systems
US9941752B2 (en) 2015-09-16 2018-04-10 Energous Corporation Systems and methods of object detection in wireless power charging systems
US10158259B1 (en) 2015-09-16 2018-12-18 Energous Corporation Systems and methods for identifying receivers in a transmission field by transmitting exploratory power waves towards different segments of a transmission field
US11710321B2 (en) 2015-09-16 2023-07-25 Energous Corporation Systems and methods of object detection in wireless power charging systems
US9893538B1 (en) 2015-09-16 2018-02-13 Energous Corporation Systems and methods of object detection in wireless power charging systems
US11056929B2 (en) 2015-09-16 2021-07-06 Energous Corporation Systems and methods of object detection in wireless power charging systems
US10778041B2 (en) 2015-09-16 2020-09-15 Energous Corporation Systems and methods for generating power waves in a wireless power transmission system
US10270261B2 (en) 2015-09-16 2019-04-23 Energous Corporation Systems and methods of object detection in wireless power charging systems
US10291056B2 (en) 2015-09-16 2019-05-14 Energous Corporation Systems and methods of controlling transmission of wireless power based on object indentification using a video camera
US10033222B1 (en) 2015-09-22 2018-07-24 Energous Corporation Systems and methods for determining and generating a waveform for wireless power transmission waves
US10153660B1 (en) 2015-09-22 2018-12-11 Energous Corporation Systems and methods for preconfiguring sensor data for wireless charging systems
US10128686B1 (en) 2015-09-22 2018-11-13 Energous Corporation Systems and methods for identifying receiver locations using sensor technologies
US10027168B2 (en) 2015-09-22 2018-07-17 Energous Corporation Systems and methods for generating and transmitting wireless power transmission waves using antennas having a spacing that is selected by the transmitter
US9948135B2 (en) 2015-09-22 2018-04-17 Energous Corporation Systems and methods for identifying sensitive objects in a wireless charging transmission field
US10135294B1 (en) 2015-09-22 2018-11-20 Energous Corporation Systems and methods for preconfiguring transmission devices for power wave transmissions based on location data of one or more receivers
US10050470B1 (en) 2015-09-22 2018-08-14 Energous Corporation Wireless power transmission device having antennas oriented in three dimensions
US10135295B2 (en) 2015-09-22 2018-11-20 Energous Corporation Systems and methods for nullifying energy levels for wireless power transmission waves
US10020678B1 (en) 2015-09-22 2018-07-10 Energous Corporation Systems and methods for selecting antennas to generate and transmit power transmission waves
US10333332B1 (en) 2015-10-13 2019-06-25 Energous Corporation Cross-polarized dipole antenna
US10734717B2 (en) 2015-10-13 2020-08-04 Energous Corporation 3D ceramic mold antenna
US10554728B2 (en) 2015-10-22 2020-02-04 Ricoh Company, Ltd. Approach for sharing electronic documents during electronic meetings
US10177594B2 (en) 2015-10-28 2019-01-08 Energous Corporation Radiating metamaterial antenna for wireless charging
US9899744B1 (en) 2015-10-28 2018-02-20 Energous Corporation Antenna for wireless charging systems
US9853485B2 (en) 2015-10-28 2017-12-26 Energous Corporation Antenna for wireless charging systems
US10685038B2 (en) 2015-10-29 2020-06-16 Dropbox Inc. Synchronization protocol for multi-premises hosting of digital content items
US10740350B2 (en) 2015-10-29 2020-08-11 Dropbox, Inc. Peer-to-peer synchronization protocol for multi-premises hosting of digital content items
US11144573B2 (en) 2015-10-29 2021-10-12 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US10691718B2 (en) 2015-10-29 2020-06-23 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US9479567B1 (en) * 2015-10-29 2016-10-25 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US10594165B2 (en) 2015-11-02 2020-03-17 Energous Corporation Stamped three-dimensional antenna
US10063108B1 (en) 2015-11-02 2018-08-28 Energous Corporation Stamped three-dimensional antenna
US10135112B1 (en) 2015-11-02 2018-11-20 Energous Corporation 3D antenna mount
US10511196B2 (en) 2015-11-02 2019-12-17 Energous Corporation Slot antenna with orthogonally positioned slot segments for receiving electromagnetic waves having different polarizations
US10027180B1 (en) 2015-11-02 2018-07-17 Energous Corporation 3D triple linear antenna that acts as heat sink
US9891890B2 (en) 2015-11-09 2018-02-13 Microsoft Technology Licensing, Llc Generation of an application from template
CN106686031A (en) * 2015-11-09 2017-05-17 广东华邦云计算股份有限公司 Method and device for updating application to be in SaaS mode
US10481875B2 (en) 2015-11-09 2019-11-19 Microsoft Technology Licensing, Llc Generation of an application from template
WO2017083156A1 (en) * 2015-11-09 2017-05-18 Microsoft Technology Licensing, Llc Generation of an application from template
US20170139978A1 (en) * 2015-11-13 2017-05-18 Microsoft Technology Licensing, Llc Transferring files
US10528547B2 (en) * 2015-11-13 2020-01-07 Microsoft Technology Licensing, Llc Transferring files
US10534748B2 (en) 2015-11-13 2020-01-14 Microsoft Technology Licensing, Llc Content file suggestions
US10956438B2 (en) * 2015-11-18 2021-03-23 American Express Travel Related Services Company, Inc. Catalog with location of variables for data
US20190005103A1 (en) * 2015-11-18 2019-01-03 American Express Travel Related Services Company, Inc. Catalog with location of variables for data
US10581680B2 (en) 2015-11-25 2020-03-03 International Business Machines Corporation Dynamic configuration of network features
US9923839B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Configuring resources to exploit elastic network capability
US10057327B2 (en) 2015-11-25 2018-08-21 International Business Machines Corporation Controlled transfer of data over an elastic network
US20170149624A1 (en) * 2015-11-25 2017-05-25 International Business Machines Corporation Event-based data transfer scheduling using elastic network optimization criteria
US10608952B2 (en) 2015-11-25 2020-03-31 International Business Machines Corporation Configuring resources to exploit elastic network capability
US10216441B2 (en) 2015-11-25 2019-02-26 International Business Machines Corporation Dynamic quality of service for storage I/O port allocation
US10177993B2 (en) * 2015-11-25 2019-01-08 International Business Machines Corporation Event-based data transfer scheduling using elastic network optimization criteria
US9923784B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Data transfer using flexible dynamic elastic network service provider relationships
WO2017095820A1 (en) * 2015-11-30 2017-06-08 Alibaba Group Holding Limited Methods and devices for acquiring data using virtual machine and host machine
US9490973B1 (en) 2015-12-07 2016-11-08 Workiva Inc. System and method for managing cryptographic keys
US9379890B1 (en) 2015-12-07 2016-06-28 Workiva Inc. System and method for managing cryptographic keys
US10256657B2 (en) 2015-12-24 2019-04-09 Energous Corporation Antenna having coaxial structure for near field wireless power charging
US10277054B2 (en) 2015-12-24 2019-04-30 Energous Corporation Near-field charging pad for wireless power charging of a receiver device that is temporarily unable to communicate
US10027158B2 (en) 2015-12-24 2018-07-17 Energous Corporation Near field transmitters for wireless power charging of an electronic device by leaking RF energy through an aperture
US10218207B2 (en) 2015-12-24 2019-02-26 Energous Corporation Receiver chip for routing a wireless signal for wireless power charging or data reception
US10027159B2 (en) 2015-12-24 2018-07-17 Energous Corporation Antenna for transmitting wireless power signals
US10135286B2 (en) 2015-12-24 2018-11-20 Energous Corporation Near field transmitters for wireless power charging of an electronic device by leaking RF energy through an aperture offset from a patch antenna
US10116162B2 (en) 2015-12-24 2018-10-30 Energous Corporation Near field transmitters with harmonic filters for wireless power charging
US10447093B2 (en) 2015-12-24 2019-10-15 Energous Corporation Near-field antenna for wireless power transmission with four coplanar antenna elements that each follows a respective meandering pattern
US11451096B2 (en) 2015-12-24 2022-09-20 Energous Corporation Near-field wireless-power-transmission system that includes first and second dipole antenna elements that are switchably coupled to a power amplifier and an impedance-adjusting component
US11863001B2 (en) 2015-12-24 2024-01-02 Energous Corporation Near-field antenna for wireless power transmission with antenna elements that follow meandering patterns
US10491029B2 (en) 2015-12-24 2019-11-26 Energous Corporation Antenna with electromagnetic band gap ground plane and dipole antennas for wireless power transfer
US10879740B2 (en) 2015-12-24 2020-12-29 Energous Corporation Electronic device with antenna elements that follow meandering patterns for receiving wireless power from a near-field antenna
US10186892B2 (en) 2015-12-24 2019-01-22 Energous Corporation Receiver device with antennas positioned in gaps
US10141771B1 (en) 2015-12-24 2018-11-27 Energous Corporation Near field transmitters with contact points for wireless power charging
US10038332B1 (en) 2015-12-24 2018-07-31 Energous Corporation Systems and methods of wireless power charging through multiple receiving devices
US10958095B2 (en) 2015-12-24 2021-03-23 Energous Corporation Near-field wireless power transmission techniques for a wireless-power receiver
US11114885B2 (en) 2015-12-24 2021-09-07 Energous Corporation Transmitter and receiver structures for near-field wireless power charging
US10516289B2 (en) 2015-12-24 2019-12-24 Energous Corportion Unit cell of a wireless power transmitter for wireless power charging
US10320446B2 (en) 2015-12-24 2019-06-11 Energous Corporation Miniaturized highly-efficient designs for near-field power transfer system
US11689045B2 (en) 2015-12-24 2023-06-27 Energous Corporation Near-held wireless power transmission techniques
US10263476B2 (en) 2015-12-29 2019-04-16 Energous Corporation Transmitter board allowing for modular antenna configurations in wireless power transmission systems
US10008886B2 (en) 2015-12-29 2018-06-26 Energous Corporation Modular antennas with heat sinks in wireless power transmission systems
US10199835B2 (en) 2015-12-29 2019-02-05 Energous Corporation Radar motion detection using stepped frequency in wireless power transmission system
US10164478B2 (en) 2015-12-29 2018-12-25 Energous Corporation Modular antenna boards in wireless power transmission systems
US10642516B2 (en) * 2015-12-30 2020-05-05 Seagate Technology Llc External hard drive device with cloud drive support
US10956286B2 (en) 2015-12-30 2021-03-23 Commvault Systems, Inc. Deduplication replication in a distributed deduplication data storage system
US10877856B2 (en) 2015-12-30 2020-12-29 Commvault Systems, Inc. System for redirecting requests after a secondary storage computing device failure
US20170192707A1 (en) * 2015-12-30 2017-07-06 Kevin Arnold External hard drive device with cloud drive support
US10554515B2 (en) * 2015-12-31 2020-02-04 Bright House Networks, Llc Customer premises network access device for displaying data usage
US10819686B2 (en) * 2016-01-08 2020-10-27 Capital One Services, Llc Methods and systems for securing data in the public cloud
US20190075087A1 (en) * 2016-01-08 2019-03-07 Capital One Services, Llc Methods and systems for securing data in the public cloud
US11290457B2 (en) 2016-01-29 2022-03-29 Docusign, Inc. Cloud-based coordination of remote service appliances
US20170223093A1 (en) * 2016-01-29 2017-08-03 Docusign, Inc. Cloud-based coordination of customer premise service appliances
US10819559B2 (en) 2016-01-29 2020-10-27 Dropbox, Inc. Apparent cloud access for hosted content items
US10778683B2 (en) * 2016-01-29 2020-09-15 Docusign, Inc. Cloud-based coordination of customer premise service appliances
US11811766B2 (en) 2016-01-29 2023-11-07 Docusign, Inc. Cloud-based coordination of remote service appliances
US11032284B2 (en) 2016-01-29 2021-06-08 Docusign, Inc. Cloud-based coordination of remote service appliances
US20170228370A1 (en) * 2016-02-08 2017-08-10 International Business Machines Corporation Performing nearline storage of a file
US10229067B2 (en) 2016-02-08 2019-03-12 International Business Machines Corporation Retrieving and converting offline data
US10705764B2 (en) * 2016-02-08 2020-07-07 International Business Machines Corporation Performing nearline storage of a file
US11531602B2 (en) 2016-02-18 2022-12-20 Commvault Systems, Inc. Data restoration operations based on network path information
US10684924B2 (en) 2016-02-18 2020-06-16 Commvault Systems, Inc. Data restoration operations based on network path information
US10127030B1 (en) 2016-03-04 2018-11-13 Quest Software Inc. Systems and methods for controlled container execution
US10270841B1 (en) * 2016-03-04 2019-04-23 Quest Software Inc. Systems and methods of real-time container deployment
US10140159B1 (en) 2016-03-04 2018-11-27 Quest Software Inc. Systems and methods for dynamic creation of container manifests
US11436038B2 (en) 2016-03-09 2022-09-06 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block- level pseudo-mount)
US10592350B2 (en) 2016-03-09 2020-03-17 Commvault Systems, Inc. Virtual server cloud file system for virtual machine restore to cloud operations
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
US10762037B2 (en) * 2016-03-25 2020-09-01 Hitachi, Ltd Data processing system
US10089187B1 (en) * 2016-03-29 2018-10-02 EMC IP Holding Company LLC Scalable cloud backup
US10289457B1 (en) 2016-03-30 2019-05-14 Quest Software Inc. Systems and methods for dynamic discovery of container-based microservices
US10671483B1 (en) * 2016-04-22 2020-06-02 EMC IP Holding Company LLC Calculating data value via data protection analytics
US10846303B2 (en) 2016-04-25 2020-11-24 Dropbox, Inc. Storage constrained synchronization engine
US11562000B2 (en) 2016-04-25 2023-01-24 Dropbox, Inc. Storage constrained synchronization engine
US20170329980A1 (en) * 2016-05-13 2017-11-16 Vmware, Inc. Secure and scalable data transfer using a hybrid blockchain-based approach
US10362058B2 (en) * 2016-05-13 2019-07-23 Vmware, Inc Secure and scalable data transfer using a hybrid blockchain-based approach
US10979489B2 (en) 2016-05-16 2021-04-13 Carbonite, Inc. Systems and methods for aggregation of cloud storage
US10404798B2 (en) 2016-05-16 2019-09-03 Carbonite, Inc. Systems and methods for third-party policy-based file distribution in an aggregation of cloud storage services
US10848560B2 (en) 2016-05-16 2020-11-24 Carbonite, Inc. Aggregation and management among a plurality of storage providers
US10264072B2 (en) * 2016-05-16 2019-04-16 Carbonite, Inc. Systems and methods for processing-based file distribution in an aggregation of cloud storage services
US11100107B2 (en) 2016-05-16 2021-08-24 Carbonite, Inc. Systems and methods for secure file management via an aggregation of cloud storage services
US11558450B2 (en) 2016-05-16 2023-01-17 Carbonite, Inc. Systems and methods for aggregation of cloud storage
US10116629B2 (en) 2016-05-16 2018-10-30 Carbonite, Inc. Systems and methods for obfuscation of data via an aggregation of cloud storage services
US11818211B2 (en) 2016-05-16 2023-11-14 Carbonite, Inc. Aggregation and management among a plurality of storage providers
US10356158B2 (en) 2016-05-16 2019-07-16 Carbonite, Inc. Systems and methods for aggregation of cloud storage
US11727006B2 (en) 2016-05-16 2023-08-15 Carbonite, Inc. Systems and methods for secure file management via an aggregation of cloud storage services
US10567460B2 (en) * 2016-06-09 2020-02-18 Apple Inc. Managing data using a time-based directory structure
US10929423B1 (en) * 2016-06-29 2021-02-23 EMC IP Holding Company LLC System and method for efficient episodic replication of data to cloud storage
US11074232B1 (en) * 2016-06-30 2021-07-27 EMC IP Holding Company LLC Managing deduplication of data in storage systems
CN105915332A (en) * 2016-07-04 2016-08-31 广东工业大学 Cloud storage encryption and dereplication method and cloud storage encryption and dereplication system
US10664447B2 (en) 2016-07-12 2020-05-26 Commvault Systems, Inc. Dynamic management of expandable cache storage for multiple network shares configured in a file server
US10437937B2 (en) * 2016-07-12 2019-10-08 Commvault Systems, Inc. Dynamic management of expandable cache storage for multiple network shares configured in a file server
US11494340B2 (en) * 2016-07-12 2022-11-08 Commvault Systems, Inc. Dynamic management of expandable cache storage for multiple network shares configured in a file server
US10733150B2 (en) 2016-07-12 2020-08-04 Commvault Systems, Inc. Dynamic management of expandable cache storage for multiple network shares configured in a file server
US10915513B2 (en) * 2016-07-20 2021-02-09 International Business Machines Corporation Archival of data in a relational database management system using block level copy
US20180025034A1 (en) * 2016-07-20 2018-01-25 International Business Machines Corporation Archival of data in a relational database management system using block level copy
US10264073B2 (en) * 2016-08-02 2019-04-16 International Business Machines Corporation Cloud service utilization
US10178173B2 (en) * 2016-08-02 2019-01-08 International Business Machines Corporation Cloud service utilization
US20180067653A1 (en) * 2016-09-08 2018-03-08 Quest Software Inc. De-duplicating multi-device plugin
US10365974B2 (en) * 2016-09-16 2019-07-30 Hewlett Packard Enterprise Development Lp Acquisition of object names for portion index objects
US11341208B2 (en) * 2016-09-19 2022-05-24 Salesforce.Com, Inc. Mobile application bundled with metadata database
US10996858B2 (en) * 2016-09-23 2021-05-04 EMC IP Holding Company LLC Method and device for migrating data
US10896104B2 (en) 2016-09-30 2021-01-19 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, using ping monitoring of target virtual machines
US11429499B2 (en) 2016-09-30 2022-08-30 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node
US10901943B1 (en) * 2016-09-30 2021-01-26 EMC IP Holding Company LLC Multi-tier storage system with direct client access to archive storage tier
US10747630B2 (en) 2016-09-30 2020-08-18 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node
US10417102B2 (en) 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
US10474548B2 (en) 2016-09-30 2019-11-12 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, using ping monitoring of target virtual machines
US10824459B2 (en) 2016-10-25 2020-11-03 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10152251B2 (en) 2016-10-25 2018-12-11 Commvault Systems, Inc. Targeted backup of virtual machine
US11416280B2 (en) 2016-10-25 2022-08-16 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US11777342B2 (en) 2016-11-03 2023-10-03 Energous Corporation Wireless power receiver with a transistor rectifier
US10923954B2 (en) 2016-11-03 2021-02-16 Energous Corporation Wireless power receiver with a synchronous rectifier
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US11436202B2 (en) 2016-11-21 2022-09-06 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US11644992B2 (en) * 2016-11-23 2023-05-09 Samsung Electronics Co., Ltd. Storage system performing data deduplication, method of operating storage system, and method of operating data processing system
US10256677B2 (en) 2016-12-12 2019-04-09 Energous Corporation Near-field RF charging pad with adaptive loading to efficiently charge an electronic device at any position on the pad
US11245289B2 (en) 2016-12-12 2022-02-08 Energous Corporation Circuit for managing wireless power transmitting devices
US10840743B2 (en) 2016-12-12 2020-11-17 Energous Corporation Circuit for managing wireless power transmitting devices
US11594902B2 (en) 2016-12-12 2023-02-28 Energous Corporation Circuit for managing multi-band operations of a wireless power transmitting device
US10476312B2 (en) 2016-12-12 2019-11-12 Energous Corporation Methods of selectively activating antenna zones of a near-field charging pad to maximize wireless power delivered to a receiver
US10079515B2 (en) 2016-12-12 2018-09-18 Energous Corporation Near-field RF charging pad with multi-band antenna element with adaptive loading to efficiently charge an electronic device at any position on the pad
US10355534B2 (en) 2016-12-12 2019-07-16 Energous Corporation Integrated circuit for managing wireless power transmitting devices
US20180176301A1 (en) * 2016-12-20 2018-06-21 Sap Se Data transmission for data replication system
US11336722B2 (en) * 2016-12-20 2022-05-17 Sap Se Data transmission for data replication system
US11580248B2 (en) 2016-12-29 2023-02-14 Noblis, Inc. Data loss prevention
US10331902B2 (en) * 2016-12-29 2019-06-25 Noblis, Inc. Data loss prevention
US10915654B2 (en) 2016-12-29 2021-02-09 Noblis, Inc. Data loss prevention
US10635545B1 (en) 2016-12-30 2020-04-28 EMC IP Holding Company LLC Data processing system with cloud archiving of data object snapshots
US10680319B2 (en) 2017-01-06 2020-06-09 Energous Corporation Devices and methods for reducing mutual coupling effects in wireless power transmission systems
US10652330B2 (en) * 2017-01-15 2020-05-12 Google Llc Object storage in cloud with reference counting using versions
US11522956B2 (en) 2017-01-15 2022-12-06 Google Llc Object storage in cloud with reference counting using versions
US20180205791A1 (en) * 2017-01-15 2018-07-19 Elastifile Ltd. Object storage in cloud with reference counting using versions
US10223361B2 (en) * 2017-01-18 2019-03-05 Netapp, Inc. Methods and systems for restoring a data container archived at an object-based storage
JP2020506464A (en) * 2017-01-18 2020-02-27 ネットアップ,インコーポレイテッド Method and system for restoring archived data containers on object-based storage
WO2018136142A1 (en) * 2017-01-18 2018-07-26 Netapp, Inc. Methods and systems for restoring a data container archived at an object-based storage
CN110178127A (en) * 2017-01-18 2019-08-27 Netapp股份有限公司 Method and system for the data capsule for restoring to achieve at object-based storage
US10439442B2 (en) 2017-01-24 2019-10-08 Energous Corporation Microstrip antennas for wireless power transmitters
US11063476B2 (en) 2017-01-24 2021-07-13 Energous Corporation Microstrip antennas for wireless power transmitters
US10838821B2 (en) 2017-02-08 2020-11-17 Commvault Systems, Inc. Migrating content and metadata from a backup system
US11467914B2 (en) 2017-02-08 2022-10-11 Commvault Systems, Inc. Migrating content and metadata from a backup system
US20180232395A1 (en) * 2017-02-10 2018-08-16 DaStratum, Inc. Multi-tier cloud file system
US11080245B2 (en) * 2017-02-10 2021-08-03 DaStratum, Inc. Multi-tier cloud file system
US20180232387A1 (en) * 2017-02-15 2018-08-16 Paypal, Inc. Data transfer size reduction
US11182340B2 (en) * 2017-02-15 2021-11-23 Paypal, Inc. Data transfer size reduction
US11321195B2 (en) 2017-02-27 2022-05-03 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US11159608B2 (en) * 2017-03-06 2021-10-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and control node for managing cloud resources in a communications network
US11210270B2 (en) * 2017-03-09 2021-12-28 Microsoft Technology Licensing, Llc Mapping storage across storage providers
US10949308B2 (en) 2017-03-15 2021-03-16 Commvault Systems, Inc. Application aware backup of virtual machines
US11573862B2 (en) 2017-03-15 2023-02-07 Commvault Systems, Inc. Application aware backup of virtual machines
US10389161B2 (en) 2017-03-15 2019-08-20 Energous Corporation Surface mount dielectric antennas for wireless power transmitters
US10474542B2 (en) 2017-03-24 2019-11-12 Commvault Systems, Inc. Time-based virtual machine reversion
US10983875B2 (en) 2017-03-24 2021-04-20 Commvault Systems, Inc. Time-based virtual machine reversion
US11526410B2 (en) 2017-03-24 2022-12-13 Commvault Systems, Inc. Time-based virtual machine reversion
US10877851B2 (en) 2017-03-24 2020-12-29 Commvault Systems, Inc. Virtual machine recovery point selection
US10896100B2 (en) 2017-03-24 2021-01-19 Commvault Systems, Inc. Buffered virtual machine replication
US11656784B2 (en) 2017-03-27 2023-05-23 Commvault Systems, Inc. Creating local copies of data stored in cloud-based data repositories
US10891069B2 (en) 2017-03-27 2021-01-12 Commvault Systems, Inc. Creating local copies of data stored in online data repositories
US11520755B2 (en) 2017-03-28 2022-12-06 Commvault Systems, Inc. Migration of a database management system to cloud storage
US11108858B2 (en) 2017-03-28 2021-08-31 Commvault Systems, Inc. Archiving mail servers via a simple mail transfer protocol (SMTP) server
US10776329B2 (en) 2017-03-28 2020-09-15 Commvault Systems, Inc. Migration of a database management system to cloud storage
US11074138B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Multi-streaming backup operations for mailboxes
US11669414B2 (en) 2017-03-29 2023-06-06 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10949398B2 (en) 2017-03-29 2021-03-16 Commvault Systems, Inc. Synchronization operations for network-accessible folders
US11249864B2 (en) 2017-03-29 2022-02-15 Commvault Systems, Inc. External dynamic virtual machine synchronization
US11074140B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Live browsing of granular mailbox data
US20220035559A1 (en) * 2017-03-29 2022-02-03 Commvault Systems, Inc. Managing subordinate storage operation pod cells using a global repository cell or master storage operation cell
US11650885B2 (en) 2017-03-29 2023-05-16 Commvault Systems, Inc. Live browsing of granular mailbox data
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US11011942B2 (en) 2017-03-30 2021-05-18 Energous Corporation Flat antennas having two or more resonant frequencies for use in wireless power transmission systems
US11314618B2 (en) 2017-03-31 2022-04-26 Commvault Systems, Inc. Management of internet of things devices
US11853191B2 (en) 2017-03-31 2023-12-26 Commvault Systems, Inc. Management of internet of things devices
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
US11294786B2 (en) 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US11704223B2 (en) 2017-03-31 2023-07-18 Commvault Systems, Inc. Managing data from internet of things (IoT) devices in a vehicle
US20180307631A1 (en) * 2017-04-21 2018-10-25 Softnas Operating Inc. System and method for optimized input/output to an object storage system
US10970236B2 (en) * 2017-04-21 2021-04-06 Softnas Operating Inc. System and method for optimized input/output to an object storage system
US10891201B1 (en) * 2017-04-27 2021-01-12 EMC IP Holding Company LLC Dynamic rule based model for long term retention
US10387271B2 (en) 2017-05-10 2019-08-20 Elastifile Ltd. File system storage in cloud using data and metadata merkle trees
US11637456B2 (en) 2017-05-12 2023-04-25 Energous Corporation Near-field antennas for accumulating radio frequency energy at different respective segments included in one or more channels of a conductive plate
US10511097B2 (en) 2017-05-12 2019-12-17 Energous Corporation Near-field antennas for accumulating energy at a near-field distance with minimal far-field gain
US11245191B2 (en) 2017-05-12 2022-02-08 Energous Corporation Fabrication of near-field antennas for accumulating energy at a near-field distance with minimal far-field gain
US11462949B2 (en) 2017-05-16 2022-10-04 Wireless electrical Grid LAN, WiGL Inc Wireless charging method and system
US20180343302A1 (en) * 2017-05-26 2018-11-29 Realtek Semiconductor Corporation Data management circuit with network functions and network-based data management method
US10645166B2 (en) * 2017-05-26 2020-05-05 Realtek Semiconductor Corporation Network interface card
CN107277118A (en) * 2017-05-31 2017-10-20 北京京东尚科信息技术有限公司 The method and apparatus for generating the conventional access path of node
US11294768B2 (en) 2017-06-14 2022-04-05 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US10848853B2 (en) 2017-06-23 2020-11-24 Energous Corporation Systems, methods, and devices for utilizing a wire of a sound-producing device as an antenna for receipt of wirelessly delivered power
US11218795B2 (en) 2017-06-23 2022-01-04 Energous Corporation Systems, methods, and devices for utilizing a wire of a sound-producing device as an antenna for receipt of wirelessly delivered power
US10437601B2 (en) * 2017-06-30 2019-10-08 Microsoft Technology Licensing, Llc Centralized memory management for multiple device streams
US20190004808A1 (en) * 2017-06-30 2019-01-03 Microsoft Technology Licensing, Llc Centralized memory management for multiple device streams
US10885007B2 (en) 2017-07-11 2021-01-05 International Business Machines Corporation Custom metadata extraction across a heterogeneous storage system environment
US11487730B2 (en) * 2017-07-11 2022-11-01 International Business Machines Corporation Storage resource utilization analytics in a heterogeneous storage system environment using metadata tags
US11036690B2 (en) 2017-07-11 2021-06-15 International Business Machines Corporation Global namespace in a heterogeneous storage system environment
US20190018869A1 (en) * 2017-07-11 2019-01-17 International Business Machines Corporation Storage resource utilization analytics in a heterogeneous storage system environment using metadata tags
US10664442B1 (en) * 2017-07-14 2020-05-26 EMC IP Holding Company LLC Method and system for data consistency verification in a storage system
EP3657376A4 (en) * 2017-07-19 2020-07-29 Tencent Technology (Shenzhen) Company Limited Hybrid-cloud data storage method and apparatus, related device, and cloud system
US11558174B2 (en) * 2017-07-19 2023-01-17 Tencent Technology (Shenzhen) Company Limited Data storage method, device, related equipment and cloud system for hybrid cloud
US10885586B2 (en) * 2017-07-24 2021-01-05 Jpmorgan Chase Bank, N.A. Methods for automatically generating structured pricing models from unstructured multi-channel communications and devices thereof
US20190057450A1 (en) * 2017-07-24 2019-02-21 Jpmorgan Chase Bank, N.A. Methods for automatically generating structured pricing models from unstructured multi-channel communications and devices thereof
US10706038B2 (en) * 2017-07-27 2020-07-07 Cisco Technology, Inc. System and method for state object data store
US11500851B2 (en) 2017-07-27 2022-11-15 Cisco Technology, Inc. System and method for state object data store
US20190034472A1 (en) * 2017-07-27 2019-01-31 Cisco Technology, Inc. System and method for state object data store
US10521400B1 (en) * 2017-07-31 2019-12-31 EMC IP Holding Company LLC Data reduction reporting in storage systems
US11775432B2 (en) * 2017-08-07 2023-10-03 Dynavisor, Inc. Method and system for storage virtualization
US10896129B2 (en) * 2017-08-07 2021-01-19 Dynavisor, Inc. Method and system for storage virtualization
US20190057090A1 (en) * 2017-08-17 2019-02-21 Samsung Electronics Co., Ltd. Method and device of storing data object
US11586629B2 (en) * 2017-08-17 2023-02-21 Samsung Electronics Co., Ltd. Method and device of storing data object
US20190057218A1 (en) * 2017-08-18 2019-02-21 Sap Se Providing data protection and privacy as a service in a cloud platform
US10831910B2 (en) * 2017-08-18 2020-11-10 Sap Se Providing data protection and privacy as a service in a cloud platform
US20210320912A1 (en) * 2017-08-30 2021-10-14 Capital One Services, Llc System and method for cloud-based analytics
US11082419B2 (en) * 2017-08-30 2021-08-03 Capital One Services, Llc System and method for cloud-based analytics
US11711354B2 (en) * 2017-08-30 2023-07-25 Capital One Services, Llc System and method for cloud-based analytics
US10846180B2 (en) 2017-09-14 2020-11-24 Commvault Systems, Inc. Distributed framework for task splitting and task assignments in a content indexing system
US11263088B2 (en) 2017-09-14 2022-03-01 Commvault Systems, Inc. Distributed architecture for tracking content indexing
US11321190B2 (en) 2017-09-14 2022-05-03 Commvault Systems, Inc. Distributed framework for task splitting and task assignments in a content indexing system
US11036592B2 (en) 2017-09-14 2021-06-15 Commvault Systems, Inc. Distributed content indexing architecture with separately stored file previews
US11086834B2 (en) 2017-09-14 2021-08-10 Commvault Systems, Inc. Distributed framework for data proximity-based task splitting in a content indexing system
US10846266B2 (en) 2017-09-14 2020-11-24 Commvault Systems, Inc. Distributed architecture for content indexing emails
US11687511B2 (en) 2017-09-14 2023-06-27 Commvault Systems, Inc. Distributed framework for data proximity-based task splitting in a content indexing system
US10122219B1 (en) 2017-10-10 2018-11-06 Energous Corporation Systems, methods, and devices for using a battery as a antenna for receiving wirelessly delivered power from radio frequency power waves
US10714984B2 (en) 2017-10-10 2020-07-14 Energous Corporation Systems, methods, and devices for using a battery as an antenna for receiving wirelessly delivered power from radio frequency power waves
US11182256B2 (en) 2017-10-20 2021-11-23 Hewlett Packard Enterprise Development Lp Backup item metadata including range information
EP4270209A3 (en) * 2017-10-26 2023-11-22 Druva Inc. Deduplicated merged indexed object storage file system
US11342798B2 (en) 2017-10-30 2022-05-24 Energous Corporation Systems and methods for managing coexistence of wireless-power signals and data signals operating in a same frequency band
US11817721B2 (en) 2017-10-30 2023-11-14 Energous Corporation Systems and methods for managing coexistence of wireless-power signals and data signals operating in a same frequency band
US10691643B2 (en) * 2017-11-20 2020-06-23 International Business Machines Corporation Deduplication for files in cloud computing storage and communication tools
CN111373387A (en) * 2017-11-20 2020-07-03 国际商业机器公司 Deduplication of files in cloud computing storage and communication tools
US10747458B2 (en) * 2017-11-21 2020-08-18 International Business Machines Corporation Methods and systems for improving efficiency in cloud-as-backup tier
US10831670B2 (en) 2017-11-22 2020-11-10 Blackberry Limited Method and system for low latency data management
US20190155529A1 (en) * 2017-11-22 2019-05-23 2236008 Ontario Inc. Method and system for low latency data management
US11204842B2 (en) * 2017-11-22 2021-12-21 Acronis International Gmbh System and method for automating formation and execution of a backup strategy using machine learning
US11209997B2 (en) * 2017-11-22 2021-12-28 Blackberry Limited Method and system for low latency data management
US11386014B2 (en) 2017-11-22 2022-07-12 Blackberry Limited Method and system for low latency data management
US20220035713A1 (en) * 2017-11-22 2022-02-03 Acronis International Gmbh System and method for automating formation and execution of a backup strategy
US10885193B2 (en) * 2017-12-07 2021-01-05 Microsoft Technology Licensing, Llc Method and system for persisting untrusted files
US11074323B2 (en) 2017-12-07 2021-07-27 Microsoft Technology Licensing, Llc Method and system for persisting files
WO2019118356A1 (en) * 2017-12-11 2019-06-20 Fungible, Inc. Durable block storage in data center access nodes with inline erasure coding
US10949303B2 (en) 2017-12-11 2021-03-16 Fungible, Inc. Durable block storage in data center access nodes with inline erasure coding
US10754973B2 (en) * 2018-01-16 2020-08-25 Sap Se Secure cloud storage system
US20190220618A1 (en) * 2018-01-16 2019-07-18 Sap Se Secure cloud storage system
US11861024B1 (en) * 2018-01-26 2024-01-02 Wells Fargo Bank, N.A. Systems and methods for data risk assessment
US10924511B2 (en) * 2018-01-30 2021-02-16 EMC IP Holding Company LLC Systems and methods of chunking data for secure data storage across multiple cloud providers
US20190238590A1 (en) * 2018-01-30 2019-08-01 EMC IP Holding Company LLC Systems and Methods of Chunking Data for Secure Data Storage across Multiple Cloud Providers
US20190238618A1 (en) * 2018-01-31 2019-08-01 EMC IP Holding Company LLC Managing cloud storage of block-based and file-based data
US10848545B2 (en) * 2018-01-31 2020-11-24 EMC IP Holding Company LLC Managing cloud storage of block-based and file-based data
US11710987B2 (en) 2018-02-02 2023-07-25 Energous Corporation Systems and methods for detecting wireless power receivers and other objects at a near-field charging pad
US10615647B2 (en) 2018-02-02 2020-04-07 Energous Corporation Systems and methods for detecting wireless power receivers and other objects at a near-field charging pad
US10795927B2 (en) 2018-02-05 2020-10-06 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US11567990B2 (en) 2018-02-05 2023-01-31 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US11301419B2 (en) 2018-03-02 2022-04-12 Salesforce.Com, Inc. Data retention handling for data object stores
WO2019168599A1 (en) * 2018-03-02 2019-09-06 Salesforce.Com, Inc. Data retention handling for data object stores
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US10789387B2 (en) 2018-03-13 2020-09-29 Commvault Systems, Inc. Graphical representation of an information management system
US11880487B2 (en) 2018-03-13 2024-01-23 Commvault Systems, Inc. Graphical representation of an information management system
US11159057B2 (en) 2018-03-14 2021-10-26 Energous Corporation Loop antennas with selectively-activated feeds to control propagation patterns of wireless power signals
US11442669B1 (en) 2018-03-15 2022-09-13 Pure Storage, Inc. Orchestrating a virtual storage system
US11321193B2 (en) * 2018-04-13 2022-05-03 Rubrik, Inc. Database restoration across cloud environments
US11360859B2 (en) * 2018-04-13 2022-06-14 Rubrik, Inc. Database restoration across cloud environments
US20220308967A1 (en) * 2018-04-13 2022-09-29 Rubrik, Inc. Database restoration across cloud environments
CN110392015A (en) * 2018-04-17 2019-10-29 网宿科技股份有限公司 A kind of method and system of processing business request
US20190332495A1 (en) * 2018-04-26 2019-10-31 EMC IP Holding Company LLC Automatic creation of application-centric extended metadata for a storage appliance
US10929247B2 (en) * 2018-04-26 2021-02-23 EMC IP Holding Company LLC Automatic creation of application-centric extended metadata for a storage appliance
US10860527B2 (en) 2018-05-04 2020-12-08 EMC IP Holding Company, LLC Storage management system and method
US11258853B2 (en) 2018-05-04 2022-02-22 EMC IP Holding Company, LLC Storage management system and method
US10891257B2 (en) 2018-05-04 2021-01-12 EMC IP Holding Company, LLC Storage management system and method
US20220261377A1 (en) * 2018-05-25 2022-08-18 Microsoft Technology Licensing, Llc Scalable multi-tier storage structures and techniques for accessing entries therein
US11301421B2 (en) * 2018-05-25 2022-04-12 Microsoft Technology Licensing, Llc Scalable multi-tier storage structures and techniques for accessing entries therein
US10649953B2 (en) * 2018-05-31 2020-05-12 Alibaba Group Holding Limited Blockchain-based data migration method and apparatus
US10761945B2 (en) * 2018-06-19 2020-09-01 International Business Machines Corporation Dynamically directing data in a deduplicated backup system
US11515732B2 (en) 2018-06-25 2022-11-29 Energous Corporation Power wave transmission techniques to focus wirelessly delivered power at a receiving device
US11699847B2 (en) 2018-06-25 2023-07-11 Energous Corporation Power wave transmission techniques to focus wirelessly delivered power at a receiving device
CN109067724A (en) * 2018-07-24 2018-12-21 中国联合网络通信集团有限公司 Block chain data trade method, apparatus, equipment and storage medium
US10891198B2 (en) 2018-07-30 2021-01-12 Commvault Systems, Inc. Storing data to cloud libraries in cloud native formats
US20200076681A1 (en) * 2018-09-03 2020-03-05 Hitachi, Ltd. Volume allocation management apparatus, volume allocation management method, and volume allocation management program
US10893106B1 (en) * 2018-09-11 2021-01-12 Druva Global namespace in a cloud-based data storage system
US11163478B2 (en) * 2018-09-18 2021-11-02 International Business Machines Corporation Reducing the amount of data transferred to remote storage locations for modified objects
US20200089408A1 (en) * 2018-09-18 2020-03-19 International Business Machines Corporation Reducing the amount of data transferred to remote storage locations for modified objects
US10552081B1 (en) 2018-10-02 2020-02-04 International Business Machines Corporation Managing recall delays within hierarchical storage
US11340985B2 (en) 2018-10-24 2022-05-24 Fungible, Inc. Reliability coding for storage on a network
US10761931B2 (en) 2018-10-24 2020-09-01 Fungible, Inc. Inline reliability coding for storage on a network
US11137933B2 (en) * 2018-10-31 2021-10-05 International Business Machines Corporation Accelerating transaction execution across geographically dispersed clusters
US11437735B2 (en) 2018-11-14 2022-09-06 Energous Corporation Systems for receiving electromagnetic energy using antennas that are minimally affected by the presence of the human body
US11030166B2 (en) * 2018-11-22 2021-06-08 Accenture Global Solutions Limited Smart data transition to cloud
US10841377B2 (en) * 2018-11-26 2020-11-17 Microsoft Technology Licensing, Llc Managing data resources
US11550680B2 (en) 2018-12-06 2023-01-10 Commvault Systems, Inc. Assigning backup resources in a data storage management system based on failover of partnered data storage resources
US11573866B2 (en) 2018-12-10 2023-02-07 Commvault Systems, Inc. Evaluation and reporting of recovery readiness in a data storage management system
US11341089B2 (en) * 2018-12-13 2022-05-24 EMC IP Holding Company LLC Self-optimizing interval detection data structure
US11070645B1 (en) * 2018-12-14 2021-07-20 Amazon Technologies, Inc. Flexible scheduling of data transfers between computing infrastructure collections for efficient resource utilization
US11698727B2 (en) 2018-12-14 2023-07-11 Commvault Systems, Inc. Performing secondary copy operations based on deduplication performance
US11663171B2 (en) * 2019-01-17 2023-05-30 Cohesity, Inc. Efficient database migration using an intermediary secondary storage system
US20210149848A1 (en) * 2019-01-17 2021-05-20 Cohesity, Inc. Efficient database migration using an intermediary secondary storage system
US10942902B2 (en) * 2019-01-17 2021-03-09 Cohesity, Inc. Efficient database migration using an intermediary secondary storage system
CN109858263B (en) * 2019-01-21 2021-05-14 北京城市网邻信息技术有限公司 Data storage and retrieval method and device, electronic equipment and storage medium
CN109858263A (en) * 2019-01-21 2019-06-07 北京城市网邻信息技术有限公司 Search data memory method, apparatus, electronic equipment and storage medium
US11539243B2 (en) 2019-01-28 2022-12-27 Energous Corporation Systems and methods for miniaturized antenna for wireless power transmissions
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
US11467863B2 (en) 2019-01-30 2022-10-11 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US10990478B2 (en) 2019-02-01 2021-04-27 Fungible, Inc. Flexible reliability coding for storage on a network
US11018779B2 (en) 2019-02-06 2021-05-25 Energous Corporation Systems and methods of estimating optimal phases to use for individual antennas in an antenna array
US11463179B2 (en) 2019-02-06 2022-10-04 Energous Corporation Systems and methods of estimating optimal phases to use for individual antennas in an antenna array
US11784726B2 (en) 2019-02-06 2023-10-10 Energous Corporation Systems and methods of estimating optimal phases to use for individual antennas in an antenna array
US10498583B1 (en) * 2019-03-04 2019-12-03 FullArmor Corporation Active directory bridging of external network resources
US11816001B2 (en) 2019-03-12 2023-11-14 Commvault Systems, Inc. Managing structured data in a data storage system
US11269732B2 (en) 2019-03-12 2022-03-08 Commvault Systems, Inc. Managing structured data in a data storage system
US11204892B2 (en) 2019-03-21 2021-12-21 Microsoft Technology Licensing, Llc Techniques for snapshotting scalable multitier storage structures
US11829251B2 (en) 2019-04-10 2023-11-28 Commvault Systems, Inc. Restore using deduplicated secondary copy data
US11366723B2 (en) 2019-04-30 2022-06-21 Commvault Systems, Inc. Data storage management system for holistic protection and migration of serverless applications across multi-cloud computing environments
US11494273B2 (en) 2019-04-30 2022-11-08 Commvault Systems, Inc. Holistically protecting serverless applications across one or more cloud computing environments
US11829256B2 (en) 2019-04-30 2023-11-28 Commvault Systems, Inc. Data storage management system for holistic protection of cloud-based serverless applications in single cloud and across multi-cloud computing environments
US11463264B2 (en) 2019-05-08 2022-10-04 Commvault Systems, Inc. Use of data block signatures for monitoring in an information management system
US11068446B2 (en) * 2019-05-09 2021-07-20 Capital One Services, Llc Multi-cloud bi-directional storage replication system and techniques
US20210318991A1 (en) * 2019-05-09 2021-10-14 Capital One Services, Llc Multi-cloud bi-directional storage replication system and techniques
US10635642B1 (en) * 2019-05-09 2020-04-28 Capital One Services, Llc Multi-cloud bi-directional storage replication system and techniques
US11797490B2 (en) * 2019-05-09 2023-10-24 Capital One Services, Llc Multi-cloud bi-directional storage replication system and techniques
US11360946B2 (en) 2019-05-17 2022-06-14 International Business Machines Corporation Tracking data transfers
US11138328B2 (en) 2019-05-30 2021-10-05 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11165777B2 (en) * 2019-05-30 2021-11-02 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11743262B2 (en) * 2019-05-30 2023-08-29 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US20220029997A1 (en) * 2019-05-30 2022-01-27 Bank Of America Corporation Controlling Access to Secure Information Resources Using Rotational Datasets and Dynamically Configurable Data Containers
US11153315B2 (en) 2019-05-30 2021-10-19 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11711369B2 (en) 2019-05-30 2023-07-25 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11783074B2 (en) 2019-05-30 2023-10-10 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11269734B2 (en) 2019-06-17 2022-03-08 Commvault Systems, Inc. Data storage management system for multi-cloud protection, recovery, and migration of databases-as-a-service and/or serverless database management systems
US11461184B2 (en) 2019-06-17 2022-10-04 Commvault Systems, Inc. Data storage management system for protecting cloud-based data including on-demand protection, recovery, and migration of databases-as-a-service and/or serverless database management systems
US11829331B2 (en) 2019-06-27 2023-11-28 Commvault Systems, Inc. Continuously run log backup with minimal configuration and resource usage from the source machine
US11308034B2 (en) 2019-06-27 2022-04-19 Commvault Systems, Inc. Continuously run log backup with minimal configuration and resource usage from the source machine
US11645592B2 (en) * 2019-06-28 2023-05-09 EMC IP Holding Company LLC Analyzing cloud backup service options using historical data protection activities
US11561866B2 (en) 2019-07-10 2023-01-24 Commvault Systems, Inc. Preparing containerized applications for backup using a backup services container and a backup services container-orchestration pod
US11550514B2 (en) 2019-07-18 2023-01-10 Pure Storage, Inc. Efficient transfers between tiers of a virtual storage system
US11023384B2 (en) * 2019-07-23 2021-06-01 Nasuni Corporation Cloud-native global file system with reshapable caching
US11656946B2 (en) * 2019-07-23 2023-05-23 Nasuni Corporation Cloud-native global file system with reshapable caching
US20220058133A1 (en) * 2019-07-23 2022-02-24 Nasuni Corporation Cloud-native global file system with reshapable caching
CN110413443A (en) * 2019-07-25 2019-11-05 重庆市筑智建信息技术有限公司 A kind of BIM data information data detection optimization method and its system
US11122137B1 (en) * 2019-07-31 2021-09-14 United Services Automobile Association (Usaa) Method and apparatus for accessing stored data using a router for large events
US11082411B2 (en) * 2019-08-06 2021-08-03 Advanced New Technologies Co., Ltd. RDMA-based data transmission method, network interface card, server and medium
US20200236089A1 (en) * 2019-08-06 2020-07-23 Alibaba Group Holding Limited Rdma-based data transmission method, network interface card, server and medium
US11349921B2 (en) * 2019-09-11 2022-05-31 EMC IP Holding Company LLC Cloud based storage migration
US11494336B2 (en) * 2019-10-11 2022-11-08 Palantir Technologies Inc. Approaches for managing object data
US20230009501A1 (en) * 2019-10-11 2023-01-12 Palantir Technologies Inc. Approaches for managing object data
US11789904B2 (en) * 2019-10-11 2023-10-17 Palantir Technologies Inc. Approaches for managing object data
US11429573B2 (en) * 2019-10-16 2022-08-30 Dell Products L.P. Data deduplication system
US11366605B2 (en) * 2019-10-31 2022-06-21 EMC IP Holding Company, LLC Storage management system and method for storage migration services
US11580148B2 (en) * 2019-11-26 2023-02-14 Citrix Systems, Inc. Document storage and management
US11386051B2 (en) * 2019-11-27 2022-07-12 Sap Se Automatic intelligent hybrid business intelligence platform service
US11442896B2 (en) 2019-12-04 2022-09-13 Commvault Systems, Inc. Systems and methods for optimizing restoration of deduplicated data stored in cloud-based storage resources
US11290531B2 (en) 2019-12-04 2022-03-29 Dropbox, Inc. Immediate cloud content item creation from local file system interface
US11281541B2 (en) * 2020-01-15 2022-03-22 EMC IP Holding Company LLC Dynamic snapshot backup in multi-cloud environment
US11714568B2 (en) 2020-02-14 2023-08-01 Commvault Systems, Inc. On-demand restore of virtual machine data
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11422900B2 (en) 2020-03-02 2022-08-23 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11321188B2 (en) 2020-03-02 2022-05-03 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11677826B2 (en) 2020-03-26 2023-06-13 EMC IP Holding Company LLC Efficient transfer to and from a deduplicated cloud storage system
US11663099B2 (en) 2020-03-26 2023-05-30 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11070620B1 (en) * 2020-03-26 2021-07-20 EMC IP Holding Company LLC Efficient transfer to and from a deduplicated cloud storage system
WO2021207157A1 (en) * 2020-04-07 2021-10-14 Snowflake Inc. Cross-cloud auto ingest
US11789611B2 (en) 2020-04-24 2023-10-17 Netapp, Inc. Methods for handling input-output operations in zoned storage systems and devices thereof
US11630729B2 (en) 2020-04-27 2023-04-18 Fungible, Inc. Reliability coding with reduced network traffic
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
US11748143B2 (en) 2020-05-15 2023-09-05 Commvault Systems, Inc. Live mount of virtual machines in a public cloud computing environment
US11687424B2 (en) 2020-05-28 2023-06-27 Commvault Systems, Inc. Automated media agent state management
US11314687B2 (en) 2020-09-24 2022-04-26 Commvault Systems, Inc. Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
WO2022073584A1 (en) * 2020-10-06 2022-04-14 Huawei Technologies Co., Ltd. Method and computer system for pricing data storage
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11474753B2 (en) 2020-10-30 2022-10-18 Commvault Systems, Inc. Systems and methods for backing up to a virtual tape library
EP3998533A1 (en) * 2020-11-04 2022-05-18 NetApp, Inc. On-demand parallel processing of objects using data connector components
WO2022098725A1 (en) * 2020-11-04 2022-05-12 Netapp, Inc. Data connector component for implementing management requests
US11755590B2 (en) 2020-11-04 2023-09-12 Netapp, Inc. Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis
EP3995964A1 (en) * 2020-11-04 2022-05-11 NetApp, Inc. Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis
US20220138153A1 (en) * 2020-11-04 2022-05-05 Netapp Inc. Containerization and serverless thread implementation for processing objects
US20220138151A1 (en) * 2020-11-04 2022-05-05 Netapp Inc. Sibling object generation for storing results of operations performed upon base objects
US11748018B2 (en) 2020-11-21 2023-09-05 The Migration Company PTY LTD Devices and methods for transferring optimized mass data to the cloud
US11922197B2 (en) 2020-12-10 2024-03-05 Commvault Systems, Inc. Virtual server agent load balancing
US11604706B2 (en) 2021-02-02 2023-03-14 Commvault Systems, Inc. Back up and restore related data on different cloud storage tiers
US11698836B2 (en) 2021-03-04 2023-07-11 Netapp, Inc. Methods and systems for raid protection in zoned solid-state drives
US11392868B1 (en) * 2021-03-05 2022-07-19 EMC IP Holding Company LLC Data retention cost control for data written directly to object storage
US11228545B1 (en) * 2021-04-16 2022-01-18 EMC IP Holding Company LLC Cross application granular restore of backed-up email attachments
US11921675B2 (en) 2021-07-20 2024-03-05 Commvault Systems, Inc. Accessing a file system using tiered deduplication
US11797377B2 (en) 2021-10-05 2023-10-24 Netapp, Inc. Efficient parity determination in zoned solid-state drives of a storage system
US11803329B2 (en) 2021-11-22 2023-10-31 Netapp, Inc. Methods and systems for processing write requests in a storage system
WO2023113944A1 (en) * 2021-12-16 2023-06-22 Netapp, Inc. Scalable solid-state storage system and methods thereof
US11816359B2 (en) 2021-12-16 2023-11-14 Netapp, Inc. Scalable solid-state storage system and methods thereof
US11861231B2 (en) 2021-12-16 2024-01-02 Netapp, Inc. Scalable solid-state storage system and methods thereof
US11928037B2 (en) * 2022-05-02 2024-03-12 Rubrik, Inc. Database restoration across cloud environments
US11861249B1 (en) * 2022-07-27 2024-01-02 Kyocera Document Solutions Inc. File transfer system that transfers file among plurality of image forming apparatuses

Also Published As

Publication number Publication date
US8407190B2 (en) 2013-03-26
US20100332479A1 (en) 2010-12-30
WO2011002777A3 (en) 2011-04-21
US20100333116A1 (en) 2010-12-30
US20100332454A1 (en) 2010-12-30
WO2011002777A2 (en) 2011-01-06
EP2449477A2 (en) 2012-05-09
US9171008B2 (en) 2015-10-27
CA2838107A1 (en) 2011-01-06
US20220318206A1 (en) 2022-10-06
CA2765624A1 (en) 2011-01-06
US8849761B2 (en) 2014-09-30
US20100332818A1 (en) 2010-12-30
US11907168B2 (en) 2024-02-20
DK2449477T3 (en) 2020-10-12
US8849955B2 (en) 2014-09-30
AU2010266433C1 (en) 2013-07-25
US20130238572A1 (en) 2013-09-12
EP2449477B1 (en) 2020-10-07
US20100332456A1 (en) 2010-12-30
US8612439B2 (en) 2013-12-17
CA2838107C (en) 2015-07-21
US20190179805A1 (en) 2019-06-13
US11308035B2 (en) 2022-04-19
US20130024424A1 (en) 2013-01-24
AU2010266433B2 (en) 2013-02-21
US9454537B2 (en) 2016-09-27
US20170039218A1 (en) 2017-02-09
US8285681B2 (en) 2012-10-09
EP2449477A4 (en) 2017-04-12
CA2765624C (en) 2015-03-24
US10248657B2 (en) 2019-04-02
US20150012495A1 (en) 2015-01-08
AU2010266433A1 (en) 2012-01-19

Similar Documents

Publication Publication Date Title
US11907168B2 (en) Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US11693740B2 (en) Dynamic triggering of block-level backups based on block change thresholds and corresponding file identities
US10481826B2 (en) Replication using deduplicated secondary copy data
US11463264B2 (en) Use of data block signatures for monitoring in an information management system

Legal Events

Date Code Title Description
AS Assignment

Owner name: COMMVAULT SYSTEMS, INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PRAHLAD, ANAND;MULLER, MARCUS S.;KOTTOMTHARAYIL, RAJIV;AND OTHERS;SIGNING DATES FROM 20100715 TO 20100719;REEL/FRAME:024717/0490

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, NORTH CAROLINA

Free format text: SECURITY INTEREST;ASSIGNOR:COMMVAULT SYSTEMS, INC.;REEL/FRAME:033266/0678

Effective date: 20140630

Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, NO

Free format text: SECURITY INTEREST;ASSIGNOR:COMMVAULT SYSTEMS, INC.;REEL/FRAME:033266/0678

Effective date: 20140630

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: COMMVAULT SYSTEMS, INC., NEW JERSEY

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:054913/0905

Effective date: 20180209