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 PDFInfo
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 1450
- 238000013500 data storage Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 claims abstract description 290
- 238000012546 transfer Methods 0.000 claims abstract description 43
- 230000014759 maintenance of location Effects 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 17
- 238000007906 compression Methods 0.000 claims description 13
- 230000006835 compression Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 claims description 5
- 230000008439 repair process Effects 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 223
- 230000008569 process Effects 0.000 description 150
- 238000007726 management method Methods 0.000 description 113
- 210000004027 cell Anatomy 0.000 description 85
- 238000013508 migration Methods 0.000 description 61
- 230000005012 migration Effects 0.000 description 61
- 230000006870 function Effects 0.000 description 41
- 238000010586 diagram Methods 0.000 description 39
- 239000008186 active pharmaceutical agent Substances 0.000 description 35
- 239000000872 buffer Substances 0.000 description 32
- 238000011084 recovery Methods 0.000 description 28
- 230000037406 food intake Effects 0.000 description 27
- 238000013523 data management Methods 0.000 description 25
- 238000013138 pruning Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 21
- 244000141353 Prunus domestica Species 0.000 description 19
- 230000000717 retained effect Effects 0.000 description 17
- 230000010076 replication Effects 0.000 description 16
- 230000008901 benefit Effects 0.000 description 15
- 230000003287 optical effect Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 10
- 238000013459 approach Methods 0.000 description 10
- 238000012550 audit Methods 0.000 description 10
- 230000009466 transformation Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000012217 deletion Methods 0.000 description 9
- 230000037430 deletion Effects 0.000 description 9
- 238000013507 mapping Methods 0.000 description 9
- 238000012552 review Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000000844 transformation Methods 0.000 description 5
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000012010 growth Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000013468 resource allocation Methods 0.000 description 4
- 210000000352 storage cell Anatomy 0.000 description 4
- 230000033228 biological regulation Effects 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000001737 promoting effect Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000026676 system process Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000032683 aging Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 229910052742 iron Inorganic materials 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101001072091 Homo sapiens ProSAAS Proteins 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 102100036366 ProSAAS Human genes 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000036433 growing body Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000000899 pressurised-fluid extraction Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011012 sanitization Methods 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000003612 virological effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
- G06F16/1844—Management specifically adapted to replicated file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/41—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0667—Virtualisation aspects at data level, e.g. file, record or object virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0206—Price or cost determination based on market factors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
- G06Q50/188—Electronic negotiation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3485—Performance evaluation by tracing or monitoring for I/O devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- Y—GENERAL 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
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS 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/00—Systems 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/20—Information 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.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Tourism & Hospitality (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Human Resources & Organizations (AREA)
- Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- 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.
- 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.
-
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. - 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 theclients 130 is typically a primary copy (e.g., a production copy). During a copy, backup, archive or other storage operation, theclients 130 may send a copy of some data objects (or some components thereof) to a secondarystorage computing device 165 by utilizing one ormore 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) instorage devices 115, which may include variouscloud storage sites 115A-N. Communications between the secondarystorage computing devices 165 andcloud 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 secondarystorage 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 variouscloud 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 secondarystorage computing devices 165 and thecloud 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 astorage 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 astorage operation cell 150 having astorage manager 105, one ormore data agents 195, one or morenetwork client agents 255, one or more secondarystorage computing devices 165, one or more mediafile system agents 240, one ormore storage devices 115, one ormore clients 130, and one or more data or information stores 260. Thecell 150 also includes amanagement index 211, amanagement light index 245, ajobs agent 220, aninterface agent 225, amanagement agent 233, one ormore network agents 235, one or more metabases 270, one or moresecondary storage indices 261, one ormore deduplication modules 299, one or morecontent indexing components 205, one ormore deduplication databases 297, and one or more secondarystorage 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 inFIG. 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 morecloud 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 acloud 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 onstorage 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 thestorage 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 targetcloud 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 thirdcloud 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 instorage sites 115, includingcloud 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 oncloud 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 oncloud 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 oncloud 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, secondarystorage 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 acloud storage site 115A-N, and that if approval is denied for a particular sensitive object, the sensitive object should be transferred to alocal storage device 115 instead. To facilitate this approval, the audit policy may further specify how a secondarystorage 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 ofclients 130 associated with a department) may utilize various system resources, including resources such as available storage oncloud storage sites 115A-N and/or the network bandwidth between thestorage operation cell 150 andcloud 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 thestorage operation cell 150, such as the secondarystorage computing devices 165, may enforce the provisioning policy (including quotas) during the transfer of data to secondary storage (e.g., during theprocess 300, shown inFIG. 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 asmanagement 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 themanagement index 211 of thestorage 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 secondarystorage computing device 165, aclient 130, and other components as described herein. A secondstorage 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), eachstorage operation cell 150 may contain the same or similar physical devices. Alternatively, differentstorage operation cells 150 may contain some of the same physical devices and not others. For example, astorage operation cell 150 configured to perform SRM tasks may contain a secondarystorage computing device 165,client 130, or other network device connected to a primary storage volume, while astorage operation cell 150 configured to perform HSM tasks may instead include a secondarystorage 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 twostorage operation cells 150, however, may each include adifferent storage manager 105 that coordinates storage operations via the same secondarystorage computing devices 165 andstorage devices 115. This “overlapping” configuration allows storage resources to be accessed by more than onestorage manager 105, such that multiple paths exist to eachstorage 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 eachstorage 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 theclients 130 is typically a primary copy (e.g., a production copy). During a copy, backup, archive or other storage operation, theclients 130 may send a copy of some data objects to a secondarystorage computing device 165 by utilizing one ormore 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 fromclient 130 stored indata store 260 or other memory location. Eachclient 130 may have at least onedata agent 195, and the system can supportmultiple clients 130.Data agent 195 may be distributed betweenclient 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 ofdata 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 moregeneric 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, onedata agent 195 may be required for each data type to copy, archive, migrate, and restore the data of theclient 130. Alternatively, the overall system may use one or moregeneric data agents 195, each of which may be capable of handling two or more data types. For example, onegeneric data agent 195 may be used to back up, migrate, and restoreMicrosoft Exchange 2000 Mailbox data andMicrosoft Exchange 2000 Database data while anothergeneric data agent 195 may handleMicrosoft Exchange 2000 Public Folder data andMicrosoft 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 withappropriate storage managers 105 or secondarystorage 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 theclient 130 with the ability to communicate with other components within the system, such asstorage manager 105,other clients 130, and secondarystorage 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 bystorage operation cell 150.Storage manager 105 may communicate with some or all elements ofstorage operation cell 150 includingclients 130,data agents 195, secondarystorage computing devices 165, andstorage devices 115 to initiate and manage system backups, migrations, data recovery, and other storage operations. -
Storage manager 105 may include ajobs agent 220 that monitors the status of some or all storage operations previously performed, currently being performed, or scheduled to be performed bystorage 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. Throughinterface agent 225, users may optionally issue instructions to variousstorage 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 thestorage 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 thenetwork agent 235. - The
storage manager 105 may also include amanagement agent 233 that is typically implemented as a software module or application program. In general,management agent 233 provides an interface that allowsvarious management agents 233 in otherstorage operation cells 150 to communicate with one another. For example, assume a certain network configuration includes multiplestorage operation cells 150 adjacent to one another or otherwise logically related in a WAN or LAN configuration. In this arrangement, eachstorage operation cell 150 may be connected to the other through arespective interface agent 225. This allows eachstorage operation cell 150 to send and receive certain pertinent information from otherstorage 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. Thestorage 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 amanagement index 211, database, or other data structure. The data stored inmanagement 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, thestorage manager 105 may use data frommanagement index 211 to track the logical associations between secondarystorage 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 anetwork agent 235 that is typically implemented as a software module or part of a software module. In general,network agent 235 provides thestorage manager 105 with the ability to communicate with other components within the system, such asclients 130,data agents 195, and secondarystorage computing devices 165. As with thenetwork client agents 255, thenetwork agents 235 may permit communication via one or more proprietary and/or non-proprietary network protocols.Network agent 235 may be communicatively coupled tomanagement light index 245,management index 211,jobs agent 220,management agent 233, andinterface 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 bystorage manager 105, between aclient 130 and one or morephysical 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, secondarystorage computing device 165 may be communicatively coupled to and control astorage device 115. A secondarystorage computing device 165 may be considered to be associated with aparticular storage device 115 if that secondarystorage computing device 165 is capable of routing and storing data to thatparticular storage device 115. - In operation, a secondary
storage computing device 165 associated with aparticular storage device 115 may instruct thestorage device 115 to use a robotic arm or other retrieval means to load or eject a certain storage media. Secondarystorage computing device 165 may also instruct thestorage device 115 to archive, migrate, restore, or copy data to or from thestorage device 115 or its associated storage media. Secondarystorage computing device 165 may also instruct thestorage device 115 to delete, sparsify, destroy, sanitize, or otherwise remove data from thestorage device 115 or its associated storage media. Secondarystorage computing device 165 may communicate with astorage 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, thestorage device 115 may be communicatively coupled to thestorage manager 105 via a storage area network (SAN). - A secondary
storage computing device 165 may also include at least one mediafile system agent 240. Each mediafile 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 onvarious storage devices 115 of disparate types. For example, mediafile system agent 240 may be configured to permit secondarystorage computing device 165 to open, read, write, close, and delete data on cloud storage sites orstorage devices 115 having optical, magnetic, or tape media. - A secondary
storage computing device 165 may also include anetwork agent 235 similar or identical to that described previously. Generally,network agent 235 provides the secondarystorage computing device 165 with the ability to communicate with other components within the system, such as other secondarystorage computing devices 165,storage manager 105,clients 130,data agents 195, andstorage 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 acontent 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 secondarystorage 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 secondarystorage computing device 165 or other external device with an efficient mechanism for locating data stored or backed up. Thus, anSS index 261 and/or amanagement index 211 of astorage manager 105 may store data associating aclient 130 with a particular secondarystorage computing device 165 orstorage device 115, for example, as specified in a storage policy, while anSS index 261, metabase, database, or other data structure in secondarystorage computing device 165 may indicate where specifically the data of theclient 130 is stored instorage device 115, what specific files were stored, and other information associated with storage of the data of theclient 130. In some embodiments, such index data may be stored along with the data backed up in astorage device 115, with an additional copy of the index data written to index cache in asecondary storage device 165. Thus the data is readily available for use in storage operations and other activities without having to be first retrieved from thestorage 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 onstorage device 115. - A secondary
storage computing device 165 may also include adeduplication database 297 to perform deduplication of data in conjunction with the archival, restoration, migration, or copying of data, or at some other time. The secondarystorage computing devices 165 may also maintain one ormore 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 anddeduplication database 297 are described in greater detail herein. - As shown in
FIG. 2 ,clients 130 and secondarystorage 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 inFIG. 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/orSS index 261 may provide content indexing of data generated during backup, migration, restoration, and other storage operations. In this way,management index 211 and/orSS 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 ofstorage operation cell 150 may search for content within the storage operation cell via theinterface agent 225. Methods of performing content indexing and searching, including collaborative searching, within astorage 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 amanagement light index 245 that may store index data, metadata, or other information generated during backup, migration, restoration, or other storage operations. Themanagement light index 245 providesstorage manager 105 and other components with an alternate mechanism for locating data stored or backed up, so that they may more rapidly respond toclient 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 inmanagement index 211,SS index 261, client metabase 270 and/or other information. For example, themanagement 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 theclient 130 or sub-client associated with the file (typically theclient 130 that created the file), the size of the file, the storage location of the file (including the storage device, associated secondarystorage 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, themanagement light index 245 may comprise additional information, such as limited content information. Within themanagement 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 themanagement 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 aclient 130 request, a scheduled job, the application of a storage policy, or otherwise), themanagement light index 245 may be updated by thestorage manager 105, secondarystorage 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 themanagement light index 245 reflecting the name, location, size, andclient 130 associated with the newly created secondary copy. As another example, if due to an ILM storage policy, a file is migrated from afirst storage device 115 to asecond storage device 115, a secondarystorage computing device 165 may update themanagement 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 fromclients 130 that connect to thestorage operation cell 150 via certain network protocols. For example, themanagement light index 245 may only be populated with information regarding data files that originated fromclients 130 that connect to thestorage 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 SSlight index 247 comprises a subset of the information included inmanagement light index 245. For example, SSlight index 247 includes a subset of information pertaining to secondary storage data files stored instorage devices 115 associated with the secondarystorage computing device 165. During the operation of thestorage operation cell 150, SSlight index 247 may be populated or changed in the same or similar manner asmanagement light index 245. - The
management light index 245 and SSlight 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, thestorage manager 105 may provide a faster response toclient 130 or other requests than if it were to querymanagement index 211,metabase 270 and/orSS index 261, and thus prevent time-outs when communicating via certain network protocols such as HTTP. Components of thestorage operation cell 150 system, such asstorage 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 acloud 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 thenetwork agent 235 and a remote device conducted via a particular network protocol, such as HTTP. Remote devices might include any component of thestorage operation cell 150, such asclients 130, secondarystorage 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 thenetwork 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 networkclient 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 mediafile system agent 240 to perform basic file system commands (e.g., open, read, write, close, and delete) on a certain type ofstorage device 115, and/or to otherwise direct a certain type ofstorage device 115 to perform file system or storage operations. For example, the mediafile 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. Mediafile system agent 240 may also comprise one or morecloud storage submodules 236 that permit the mediafile 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 mediafile system agent 240 into the appropriate vendor-specific call for a targetcloud storage site 115A-N. In this way, the cloud storage submodule permits the system to ignore implementation details of the variouscloud 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, acloud storage submodule 236 also presentsclients 130 and other system components with a unified name space, even if the system is storing data on multiplecloud 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 inFIG. 2 , thecloud storage submodule 236 may reside on media file system agent 140 located on the secondarystorage 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, thecloud storage submodule 236 may invoke thenetwork 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 onecloud storage site 115 to transfer some or all files to anothercloud storage site 115, without first transferring the files back to thestorage cell 150. In this way, the system may efficiently and effectively “fire” underperforming or expensivecloud storage sites 115 or otherwise adjust how it uses multiplecloud 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 ofcloud storage sites 115A-N, thestorage 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 acloud storage site 115. To add a newcloud storage site 115 to thestorage 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 cloudstorage 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 targetcloud 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 targetcloud storage site 115A. In this example, the contents of the second buffer may be sent as a second request to thecloud storage site 115A once the cloud storage submodule successfully transmits the last request and/or receives confirmation that thecloud 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 amethod 300 for writing data to cloud storage sites. Acloud storage submodule 236 or another system component may performmethod 300 to provide other system components with vendor-agnostic file system calls and/or efficient data transmission tocloud storage sites 115A-N. Atstep 340,cloud storage submodule 236 receives a file system request to write data to a targetcloud 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. Atstep 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 targetcloud 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 newparallel 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, thecloud 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 atdecision step 360,cloud storage submodule 236 proceeds to step 370. Atstep 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. Atstep 380, cloud storage submodule transmits the buffer using the vendor-specific API calls. To transmit the buffer, cloud storage submodule may utilize anetwork agent 235 to establish an HTTP, HTTPS, and/or other suitable network connection to the target cloud storage site. Atstep 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 , whilecloud storage submodule 236 is performing steps 380-390, it may also allocate a new buffer to manage new file system requests and may initiate aparallel 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 tocloud 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, acloud 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 onclients 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 asuitable routine 300 for migrating or copying data into an archive format in secondary storage, including secondary cloud storage. Instep 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. Instep 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 atblock 320 may occur after deduplication of the data atblock 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 , thededuplication 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 dataobject identification component 410, anidentifier generation component 420, anidentifier comparison component 425, and acriteria evaluation component 430. The data objectidentification component 410 identifies files, data objects, sub-objects, or blocks, such as in response to a storage operation. Theidentifier generation component 420 generates an identifier for the file, data object, sub-object, or block (identifiers are discussed in more detail below) Theidentifier 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, theidentifier 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). Thecriteria evaluation component 430 evaluates aspects of files, data objects, sub-objects, or blocks against a set of criteria. Thededuplication 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 cloudstorage 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, thededuplication module 299 generates an identifier for a data object. After generating the identifier for a data object, thededuplication module 299 determines whether it should be stored to thecloud storage site 115 as a secondary copy (e.g., a backup copy) of the data of theclients 130. To determine this, thededuplication module 299 accesses thededuplication database 297 to check if a copy or sufficient number of copies or instances of the data object have already been appropriately stored on acloud storage site 115. Thededuplication 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 acloud 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, thededuplication module 299 sends the data object to one of thecloud storage site 115 for storage and adds its identifier to the deduplication database 297 (or if an instance already existed, thededuplication module 299 may add a reference, e.g., to an index in thededuplication 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 thecloud storage site 115. In this case, thededuplication module 299 may add a reference (e.g., to an index in thededuplication 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 thecloud storage site 115. The link or pointer may comprise a URL to a data object or file within acloud 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 thededuplication module 299 and thededuplication module 299 generating the identifiers, theclients 130 can themselves generate an identifier for each data object and transmit the identifiers to thededuplication module 299 for lookup in thededuplication database 297. This example may be useful if the clients were to send data directly to thecloud 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 thededuplication module 299 determines that a sufficient number of instances of a data object have not already been appropriately stored on acloud storage site 115, thededuplication module 299 can instruct theclient 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, theclient 130 itself can send the copy of the data object to thecloud storage site 115, in which case the client may have thededuplication module 299 residing on the client. In some examples, thededuplication module 299 generates the identifier on data already stored on thecloud 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, oneclient 130 could generate an identifier for a data object, and then encrypt it using one encryption algorithm. Anotherclient 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. Thededuplication 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, thededuplication module 299 stores a key or other mechanism to be used to encrypt and/or decrypt data. Thededuplication module 299 can also support compressed data objects. In general, the same compression algorithm may be used to compress data objects. Therefore, thededuplication 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 thecloud storage site 115.FIG. 5A illustrates adata structure 500 used in a storage operation. For the storage operation, achunk folder 502 is created on thecloud storage site 115. Contained within the chunk folder are three files: 1) ametadata 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 thecloud storage site 115, the “N” and metadata files may alternatively or additionally be stored elsewhere, such as on the secondarystorage computer device 165 and/orstorage 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, thechunk folder 502 may be a directory and the files 504-508 may be files located within the directory. As another example, thechunk 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 thechunk 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 thededuplication database 297. During this lookup, to determine whether other instances were appropriately stored, thededuplication database 297 may restrict the lookup to only those instances of the object stored on certaincloud storage sites 115 and/or certain classes ofcloud storage sites 115. For example, thededuplication database 297 may restrict the lookup to thosecloud storage sites 115 that would satisfy applicable storage policy parameters, such as class of storage used for the object. Additionally, during this lookup, thededuplication database 297 may restrict the lookup to only those instances of the object stored within a certain time frame. For example, thededuplication 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, thededuplication module 299 places the data object in the “S”file 508. Thededuplication 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, thededuplication module 299 adds a reference to the data object in themetadata 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, thededuplication module 299 maintains a primary table that contains all the deduplication records of all data objects for which an identifier was created. Thededuplication 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, thededuplication module 299 may incur too much overhead to generate its identifier and perform a lookup of the identifier in thededuplication 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 thededuplication 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, thededuplication module 299 may also add a reference to the data object in themetadata 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 adata structure 510 that may be created as a result of one or more storage operations. Thedata structure 510 is similar to thedata structure 500 illustrated inFIG. 5A , but now includes asecond chunk folder 502′. For example, thededuplication module 299 may create thesecond 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 thefirst chunk folder 502 illustrated inFIG. 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 afirst metadata file 504. - The second storage operation would result in the creation of the
second chunk folder 502′ illustrated inFIG. 5B . As illustrated inFIG. 5B , thesecond 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 asecond metadata file 504. Instead of having a second “S”file 508, thesecond metadata file 504 would have apointer 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 thepointer 515 within thesecond 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, thededuplication module 299 generates an identifier for the data object, looks up the identifier in thededuplication 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 themetadata 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 adata structure 520 for themetadata file 504. Thedata structure 520 consists of one ormore stream headers 522 andstream data 524. Thestream 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.). Thestream 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 thestream 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 thededuplication module 299 places a data object in the “S”file 508, thededuplication module 299 adds astream header 522 andcorresponding stream data 524 to themetadata file 504. - One advantage of the
data structures FIGS. 5A through 5C and the techniques described herein is that they reduce the number of files stored on the file system of thecloud storage site 115. Thus, there are as little as three files created for each storage operation—themetadata file 504, the “N”file 506, and the “S”file 508. Therefore, a maximum number of files on the file system of thecloud storage site 115 may be as low as the number of storage operations performed by thededuplication 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 thesedata structures 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 thededuplication database 297 or reconstruct thededuplication 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 thededuplication 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 themetadata file 504 corresponding to the “S”file 508, thededuplication module 299 locates the second file within the “S”file 508. Thededuplication module 299 can then instruct the operating system (e.g., a Windows operating system, a Unix operating system, a Linux operating system, etc.) of thecloud 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, thedata structures FIGS. 5A through 5C and the techniques described herein also allow for pruning data objects to recover space previously allocated to them on thecloud storage site 115. - Accordingly, the
data structures 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 thecloud 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 thecloud 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 adata 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 achunk 0 542 located at offset 0, achunk 1 542 located at offset 5, achunk 2 542 located at offset 10, achunk 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 primaryrecord ID column 710 that may contain primary keys, afile ID column 720 that contains an identifier of a file or data object (e.g., the identifier of the file or data object), and alocation 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 archivefile ID column 765 that contains the archive file ID, afile 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 aprocess 600 for pruning adeduplication 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. Theprocess 600 begins atstep 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. Atstep 610, the mediafile system agent 240 performs a lookup of the archive file in the primary 700 and secondary tables 700, 750. Atstep 615, the mediafile 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. Atstep 625, the mediafile system agent 240 determines if the archive files referenced by the references out have other references in. If there are no other references in, atstep 630, the mediafile 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 atstep 635. At this step, the mediafile 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 atstep 640, where the mediafile system agent 240 deletes the references in. Atstep 645 the mediafile 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 atstep 650. The mediafile 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 mediafile system agent 240 adds a deleted timestamp to the entry atstep 655. -
FIG. 7C illustrates an example deleted archive file table 752. The deleted archive file table 752 has a primaryrecord ID column 754 that may contain primary keys, an archivefile 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 deletedtimestamp 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, theprocess 600 begins. Atstep 605, the mediafile system agent 240 receives a selection of AF1 to prune. Atstep 610 the mediafile system agent 240 looks up AF1 in the primary and secondary tables 700, 750. Atstep 615, the mediafile system agent 240 determines that AF1 has a reference out, shown byentry 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.) Atstep 620, the mediafile system agent 240 deletes this reference out by deletingentry 794 from the secondary table 750. Atstep 625, the mediafile 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. Atstep 630, the mediafile system agent 240 then prunes AF0 and adds a timestamp indicating that AF0 was pruned at time T1 atentry 772 of the deleted archive file table 752. - At
step 635, the mediafile system agent 240 determines if AF1 has any references in. AF1 has a reference in from AF3, shown inentry 796 of the secondary table 750. The mediafile system agent 240 thus cannot prune AF1. Atstep 640, the mediafile system agent 240 deletes the references in to AF1 by deletingentry 796 from the secondary table 750. Atstep 645, the mediafile system agent 240 addsentry 774 to the deleted archive file table 752, leaving the deleted timestamp blank. The blank timestamp indicates that AF1 should be pruned. Theprocess 600 then concludes. - At time T2, the
process 600 begins anew. Atstep 605, the mediafile system agent 240 receives a selection of AF3 to prune. Atstep 610, the mediafile system agent 240 looks up AF3 in the primary and secondary tables 700, 750. Atstep 615, the mediafile system agent 240 determines that AF3 has a reference out, shown byentry 798 in the secondary table 750, which references AF1. Atstep 620, the mediafile system agent 240 deletesentry 798 from the secondary table 750. Atstep 625, the mediafile 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. Atstep 630, the mediafile system agent 240 then prunes AF1 and adds a timestamp indicating that AF1 was pruned at time T2 atentry 774 of the deleted archive file table 752. This entry now indicates that AF1 has been pruned at time T2. - At
step 635, the mediafile 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. Atstep 650, the mediafile system agent 240 prunes AF3. Atstep 655, the mediafile system agent 240 adds theentry 776 to the deleted archive file table 752 with a deleted timestamp as T2. Theprocess 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. Thepruning 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 mediafile 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 acloud 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, theclients 130 will generate the identifiers, since distributed identifier generation may free up thededuplication module 299 to perform other operations (e.g., storing data, retrieving data, etc.). Theclients 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 thededuplication module 299. Adeduplication module 299 receives blocks of data from theclients 130 and accesses adeduplication 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 thededuplication 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 certaincloud storage sites 115 and/or certain classes ofcloud storage sites 115. For example, thededuplication module 299 may restrict the lookup to thosecloud 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, thededuplication database 297 may restrict the lookup to only those instances of a block stored within a certain time frame. For example, thededuplication 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, thededuplication 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 acloud 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 thededuplication 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. Thededuplication module 299 stores data that is not eligible for deduplication in metadata files. - Alternatively, the
clients 130 may transmit only the identifiers to thededuplication module 299 for lookup in thededuplication database 297. If thededuplication module 299 determines that an instance of a block has not already been stored on thecloud storage site 115, thededuplication module 299 can instruct theclient 130 to send a copy of the block to the deduplication module, which it then stores on thecloud storage site 115. Alternatively, theclient 130 itself can send the copy of the block to thecloud 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 theclients 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 thecloud storage site 115 in an archive format. The data structures include one ormore volume folders 802, one ormore chunk folders 804/805 within avolume folder 802, and multiple files within achunk folder 804. Eachchunk folder 804/805 includes ametadata file 806/807, ametadata index file 808/809, one or more container files 810/811/813, and acontainer index file 812/814. Themetadata file 806/807 stores non-deduplicated data blocks as well as links to deduplicated data blocks stored in container files. Themetadata index file 808/809 stores an index to the data in themetadata file 806/807. The container files 810/811/813 store deduplicated data blocks. Thecontainer index file 812/814 stores an index to the container files 810/811/813. Among other things, thecontainer index file 812/814 stores an indication of whether a corresponding block in acontainer file 810/811/813 is referred to by a link in ametadata file 806/807. For example, data block B2 in thecontainer file 810 is referred to by a link in themetadata file 807 in thechunk folder 805. Accordingly, the corresponding index entry in thecontainer index file 812 indicates that the data block B2 in thecontainer file 810 is referred to. As another example, data block B1 in thecontainer file 811 is referred to by a link in themetadata file 807, and so the corresponding index entry in thecontainer 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 twoclients 130. For example, a first storage operation on afirst client 130 could result in the creation of thefirst chunk folder 804, and a second storage operation on asecond client 130 could result in the creation of thesecond chunk folder 805. The container files 810, 811 in thefirst chunk folder 804 would contain the blocks of deduplicated data of thefirst client 130. If the twoclients 130 have substantially similar data, the second storage operation on the data of thesecond client 130 would result in the mediafile system agent 240 storing primarily links to the data blocks of thefirst 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 mediafile 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 thecloud storage sites 115. In some examples, the mediafile system agent 240 creates anew container file container file 810 exceeds 50 Mb. In other examples, the mediafile system agent 240 creates anew container file file system agent 240 can create anew container file - 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 thecloud 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 thecloud 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 thecloud 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 thecloud 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 morecloud 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 thededuplication database 297 if the data of thededuplication 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 mediafile 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 thecloud 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 thecloud storage site 115 when storage of certain data blocks is no longer required. For example, the data ofnumerous clients 130 can be protected without having to store redundant copies or instances of data blocks. Space on thecloud 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 oncloud 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 0010xFG329A http://www.storecloud.com/ 6 0 companyname/V_1/Chunk_5/ Container File 0020xC13804 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 0010xA1B3FG 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 anotherprocess 900 for pruning deduplicated data blocks that may be employed in some examples. Theprocess 900 is described as being performed by the mediafile system agent 240, although those of skill in the art will understand that aspects of theprocess 900 may be performed by any of the entities described herein. Theprocess 900 begins atstep 905 when the mediafile 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 twoclients 130. For example, a first job on afirst client 130 could result in the creation of thefirst chunk folder 804, and a second job on asecond client 130 could result in the creation of thesecond chunk folder 805. Theprocess 900 is described using this example. More specifically, theprocess 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 mediafile system agent 240 determines the file, e.g., archive file, and thevolume folders 802 andchunk folder 804 corresponding to the job to be pruned. The mediafile system agent 240 may do so, for example, by analyzing various data structures to determine this information. Atstep 910 the mediafile system agent 240 deletes themetadata file 806 and themetadata index file 808 in thechunk folder 804. The mediafile system agent 240 can delete themetadata file 806 and themetadata index file 808 in this example because these files include data that is not referenced by any other data. - At
step 915 the mediafile system agent 240 accesses thecontainer file 810 and thecontainer index file 812 in thechunk folder 804. The mediafile system agent 240 begins iterating through the data blocks in the container files 810. Atstep 920, beginning with a first block in thecontainer file 810, the mediafile system agent 240 accesses the primary block table in thededuplication database 297. The mediafile system agent 240 determines from the primary block table whether the reference count of a data block in thecontainer file 810 is equal to zero. If so, this indicates that there are no references to the data block. Theprocess 900 then continues atstep 925, where the mediafile 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 atstep 930. At this step, the mediafile system agent 240 determines whether there are more data blocks in thecontainer file 810. If so, theprocess 900 returns to step 920, where it accesses the next data block. If there are no more data blocks in thecontainer file 810, theprocess 900 continues atstep 932, where the mediafile system agent 240 determines whether all the entries in the container index file 812 corresponding to thecontainer file 810 are equal to zero. As illustrated inFIG. 8 , the second index entry in thecontainer index file 812 is not equal to zero, thus indicating that the corresponding block incontainer file 810 is referenced (by data in thechunk folder 805, as earlier described). Accordingly, thecontainer file 810 cannot be deleted. - However, if the
container file 810 did not contain any referenced data blocks, then atstep 933, the mediafile system agent 240 would delete thecontainer file 810. The process would then continue atstep 935, where the mediafile system agent 240 determines whether there are more container files. According to the example as illustrated inFIG. 8 , there is anadditional container file 811. Theprocess 900 then returns to step 915, where it performs the same steps 920-933 forcontainer file 811. As a result of performing these steps, the mediafile system agent 240 would also determine that thecontainer file 811 cannot be deleted, because it contains a data block that is referenced (by data in thechunk folder 805, as earlier described). - After processing container files 810, 811, the
process 900 continues atstep 940, where the mediafile system agent 240 determines whether to free up storage space in the container files 810, 811. The mediafile system agent 240 may do so using various techniques. For example, if the operating system of the mediafile system agent 240 supports sparse files, then the mediafile 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 thecontainer index file 812 indicate that the blocks are not being referred to, then the mediafile 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 mediafile 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 mediafile 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 mediafile 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 mediafile 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. Atstep 945 the mediafile system agent 240 frees up space in the container files 810, 811. Theprocess 900 then concludes. - As a result of the
process 900, thechunk folder 804 would contain only the container files 810, 811 and thecontainer index file 812. At a later time, when thechunk folder 805 is pruned (when the job that created this chunk folder is selected to be pruned), then the container files 810, 811 in thechunk 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 mediafile 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 mediafile system agent 240 deletes the data blocks in the container files 810, 811, 813 corresponding to the specific files but retains other data blocks. Theprocess 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 theprocess 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 secondarycloud 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 secondarycloud storage site 115, since it reduces the number of files stored on the file system of thecloud storage site 115. The fewer container files used per storage operation, the less strain there is on the file system namespace of the secondarycloud storage site 115. Thus, by using larger container files, the system may reduce namespace strain on the secondarycloud 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 thecloud 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 thecloud 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 thecloud storage site 115A-N, even if it cannot prune out individual blocks/objects using sparsification techniques. As another example, a particularcloud 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 thecloud 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. Thededuplication module 299 or system may (1) determine the average latency and bandwidth of the network connection between the targetcloud 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 targetcloud storage site 115A, (3) determine whether the targetcloud 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 acontent 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. Instep 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. Instep 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. Instep 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 theSS index 261, SSlight index 247 and/or themanagement light index 245 and/ormanagement index 211. Afterstep 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 theSS index 261, SSlight index 247 and/or themanagement light index 245 and/ormanagement 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, auser tags column 1130, anapplication column 1140, and anavailable column 1150. The table 1100 contains five sample entries. Thefirst entry 1160 specifies that the location of a file is on a corporate intranet by using a web universal resource locator (“URL”). Theentry 1160 contains keywords “finance,” “profit,” and “loss” that identify content within the file. Theentry 1160 contains tags added by a user that specify that the content comes from the accounting department and is confidential. Theentry 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. Anotherentry 1180 specifies an offsite tape holds a presentation related to a cancelled project. Theentry 1180 refers to offsite data that is available within one week due to the delay of retrieving the archived data from the offsite location. Anotherentry 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 inFIGS. 5A-D and/orFIG. 8 . As shown, the estimated retrieval time from this cloud storage site is 15 minutes. Anotherentry 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 inFIGS. 5A-D and/orFIG. 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 , atstep 330, the system stores deduplicated data (or “dehydrated data”) in secondary cloud storage by utilizing the mediafile system agent 240 to perform file system operations (such as a “write” operation) on a targetcloud storage site 115A. To determine which target cloud storage site the mediafile system agent 240 should write to, the mediafile system agent 240 may retrieve an applicable storage policy (described previously with respect toFIG. 2 ) and act in accordance therewith. For example, the mediafile system agent 240 may retrieve a storage policy stored inmanagement index 211 that specifies that all email objects (and blocks contained therein) should be stored oncloud storage site 115A, while document objects (and blocks contained therein) should be stored oncloud storage site 115B. As another example, the storage policy stored inmanagement index 211 may specify that all objects related to aparticular client 130 or particular user (e.g., a company CEO) should be stored on a more expensive or reliablecloud storage site 115A while all other objects for allother clients 130 and/or users should be stored on a less expensive or less reliablecloud storage site 115B. As yet another example, atblock 330, the system may review the historical performance achieved by various targetcloud 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 secondcloud storage site 115B, and that a third type of files should be retained indefinitely in a thirdcloud 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 instorage sites 115, includingcloud 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'sclient 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 aprocess 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 oncloud storage sites 115A-N. In order to do so, the system identifies thecloud 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 mediafile system agent 240 is consulted to determine an archive file ID and an offset of the data object to be restored. The mediafile 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 onfiles 1 through n, withfile 1 at offset 1, file 2 at offset 2, file n at offset n, and so on. The mediafile 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 anexample data structure 1300 that the mediafile system agent 240 maintains. Thedata structure 1300 includes an archivefile ID item 1310 that contains the identifier of archive files, a file ordata 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 mediafile system agent 240 then needs to determine which chunk contains the data object. To do so, the mediafile 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 anexample data structure 1350 that the storage manager 109 maintains. Thedata structure 1350 includes an archivefile ID item 1370 identifying a client, a storage operation job, a cycle, and an archive file ID, amedia 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 astart 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 themedia 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 mediafile system agent 240 then can consult adeduplication 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. Atstep 1220 the cloud storage server opens the specific chunk folder, and the metadata file is accessed. Atstep 1225, the metadata file is parsed until the stream header corresponding to the data object or block to be restored is accessed. Atstep 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. Atstep 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. Theprocess 1200 then concludes. - Although the process of
FIG. 12 and the data structures ofFIG. 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 inFIG. 11 within theSS index 261, SS light index 147, themanagement light index 245 and/ormanagement 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, thestorage manager 105 may receive and process a request to search themanagement 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 remotecloud 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. Instep 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. Instep 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. Instep 1425, the system generates search results based on the content identified in the content index. Instep 1430, the system selects the first search result. Indecision step 1440, if the search result indicates that the identified content is archived, then the system continues atstep 1450, else the system continues atstep 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. Indecision 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 atstep 1460. Instep 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. Afterstep 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. Abrowser 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 thebrowser 2505. Thebrowser 2505 is connected to a collaborativedocument management system 2510, such as the Microsoft SharePoint Server. The collaborativedocument management system 2510 provides a web-based portal for collaboration between collaborative participants. The collaborativedocument management system 2510 is connected to acollaborative search system 2520. Thecollaborative search system 2520 integrates with the collaborativedocument management system 2510 and adds additional components, such as web components and content parsers, and provides access to cloud storage content. Thecollaborative search system 2520 is connected to not only one or morecloud storage sites 115, but also to local storage (e.g. a storage operation cell 150), as well as to asecurity system 2540, and adocument retention system 2550. - The
storage operation cell 150, as shown inFIG. 2 , provides fast access to content from various computer systems within an enterprise. Thesecurity system 2540 provides users and groups that are meaningful to a particular enterprise to facilitate searching. Thesecurity system 2540 also enforces access rights to collaborative content. Thedocument 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. Thecollaborative 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. Thecollaborative 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. Thecollaborative 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”). Thecollaborative 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 collaborativedocument management system 2510 contains aconfiguration database 2630, aschema file 2640, one or moredynamic web pages 2620, and one or more generatedweb pages 2610. When a collaborative participant accesses the collaborativedocument management system 2510, the collaborativedocument 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 theschema file 2640 to determine the layout of the information for display to the collaborative participant. Theschema 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 ormore 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 otherdynamic 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, thedynamic page 2620 generates an HTML or other generic formattedpage 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 andcollaborative search system 2520 with another type of storage system that provides content indexing and search capabilities comparable to thestorage operation cell 150 shownFIG. 2 . For example, an implementation may integrate a collaborative document management system and collaborative search system with a system shown inFIG. 15 ,FIG. 21 and/orFIG. 22 , which are described in greater detail herein. - In some examples, the
collaborative search system 2520 integrates information from thesecurity 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 toclients 130 andcloud storage sites 115A-N. The local storage of theNAS filer 1505 of thecloud gateway 1540 provides a way to satisfy incoming data writes fromclients 130 quickly, and to buffer or spool data before it is transferred tocloud storage sites 115A-N or other cloud storage sites 115 (not shown). Thecloud gateway 1540 may include functionality to de-duplicate locally stored data before being written up tocloud 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 aNAS 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 cloudstorage 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. Thecloud 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 thecloud gateway 1540 that can include a filer orNAS 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 aNAS 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 theNAS filer 1505. Thecomputing system 1600 includes adata storage system 1610, such asstorage operation cell 150.Client computers 1620, includingcomputers 1622 and 1624, are associated with users or servers that generate data to be stored in secondary storage. Theclient computers 1622 and 1624 communicate with thedata 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. Thenetworked computing system 1600 includes network-attached storage, such as thecloud gateway 1540. - The
cloud gateway 1540 includes NAS-based storage or memory, such as acache 1644, for storing data received from the network, such as data fromclient computers 1622 and 1624. (The term “cache” is used generically herein for any type of storage, and thus thecache 1644 can include any type of storage for storing data files within theNAS 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.) Thecache 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 thecloud gateway 1540. - The
cloud gateway 1540 also includes adata migration component 1642 that performs data migration on data stored in thecache 1644. While shown inFIG. 16 as being within theNAS filer 1505, thedata migration component 1642 may be on a proxy computer coupled to the NAS filer. In some cases, thedata 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, theNAS filer 1505 not only transfers data from the cache of the device to one or morecloud storage sites 115A-N located on the network 1630, but also to othersecondary storage locations 1650, such asmagnetic tapes 1652,optical disks 1654, or othersecondary storage 1656. Importantly, thecloud gateway 1540 may also retrieve data from these other secondary storage devices and transfer it to thecloud storage sites 115A-N (under ILM or other storage policies). TheNAS filer 1505 may include various data storage components that are used when identifying and transferring data from thecache 1644 to the secondarycloud storage sites 1650. These components will now be discussed. - Referring to
FIG. 17 , a block diagram illustrating the components of theNAS filer 1505 component of thecloud gateway 1540, configured to perform data migration, is shown. In addition to thedata migration component 1642 and cache ordata store 1644, thecloud gateway 1540 may include aninput component 1710, adata reception component 1720, afile system 1730, and anoperating system 1740. Theinput component 1710 may receive various inputs, such as via an iSCSI protocol. That is, the cloud gateway may receive commands or control data from adata storage system 1610 over IP channels. For example, thedata storage system 1610 may send commands to a cloud gateway's IP address in order to provide instructions to theNAS filer 1505. Thedata 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 theNAS 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 adata storage engine 1760 to direct reads from and writes to thedata store 1644, and one ormore media agents 1770. Themedia agents 1770 may be similar to the secondarystorage 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) anddeduplication database 297. Themedia agents 1770 may comprise components similar to those of the secondarystorage computing devices 165, such asdeduplication 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, thecloud gateway 1540 may include two ormore media agents 1770, such asmultiple media agents 1770 externally attached to the cloud gateway. Thecloud gateway 1540 may expand its data storage capabilities by addingmedia agents 1770, as well as other components. - As discussed herein, the
cloud gateway 1540 includes adata migration component 1642 capable of transferring some or all of the data stored in thecache 1644. In some examples, thedata migration component 1642 requests and/or receives information from acallback layer 1750, or other intermediate component, within the cloud gateway. Briefly, thecallback layer 1750 intercepts calls for data between thefile system 1730 and thecache 1644 and tracks these calls to provide information to thedata migration component 1642 regarding when data is changed, updated, and/or accessed by thefile system 1730. Further details regarding thecallback layer 1750 and other intermediate components will now discussed. - In some examples, the
cloud gateway 1540 monitors the transfer of data from thefile system 1730 to thecache 1644 via thecallback layer 1750. Thecallback 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, thecallback layer 1750 may be a layer, or additional file system, that resides on top of thefile system 1730. Thecallback layer 1750 may intercept data requests from thefile system 1730, in order to identify, track, and/or monitor data requested by thefile 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 thefile system 1730 to thecache 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, thecloud gateway 1540 not only provides the storage benefits of aNAS 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 toFIGS. 1-9 . To do so, thecloud gateway 1540 may utilize components or modules within the data storage system 1610 (e.g., adeduplication 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 ofFIG. 1 to determine to whichcloud 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 targetcloud storage site 115A, that a second type of files should be retained for seven years in a secondcloud storage site 115B, and that a third type of files should be retained indefinitely in a thirdcloud 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 instorage sites 115, includingcloud 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 cloudstorage 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 secondarycloud 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, thecloud gateway 1540 transfers blocks from thecache 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 acloud gateway 1540 is shown. Instep 1810, the cloud gateway, via thedata migration component 1642, identifies data blocks within a cache that satisfy a certain criteria. Thedata migration component 1642 may compare some or all of the blocks (or, information associated with the blocks) in thecache 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, thedata 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. Thedata 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, thedata 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 thefile system 1730 via thecallback layer 1750. The cloud gateway may store a data structure, such as a bitmap, table, log, and so on within thecache 1644 or other memory in theNAS filer 1505 or elsewhere, and update the data structure whenever the file system calls thecache 1644 to access, update, or change the data blocks within thecache 1644. Thecallback layer 1750 traps commands to thecache 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, thecloud gateway 1540 transfers data within the identified blocks from thecache 1644 to amedia 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 ofFIG. 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 secondarystorage computing device 165, based on instructions within the storage policy. Instep 1825, the system optionally updates an allocation table, such as a file allocation table (“FAT”) for thefile 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 themedia agent 1770, thecloud gateway 1540 stores data from the blocks to a different data store. In some cases, the cloud gateway, via themedia agent 1770, stores the data from the blocks to a secondary cloud storage site, such as acloud 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 themedia agent 1770, may perform block-level deduplication and/or content indexing, using the methods and data structures described previously with respect to the system ofFIG. 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 toFIG. 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 oncloud 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 thecloud gateway 1540 migrates sub-objects of data (sets of blocks) that comprise a data object from thecache 1644 to another storage location, such as to a cloud storage site. In some cases, thedata 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 thededuplication module 299. The division component may receive files to be stored in thecache 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 acloud gateway 1540 is shown. Instep 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, thecloud gateway 1540 transfers data within the identified sub-objects from the data store to amedia agent 1770, to be stored in a different data store. The cloud gateway may perform some or all of the processes described with respect toFIG. 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. Instep 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 ormore media agents 1770, thecloud 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 thecloud storage sites 115A-N, and/or tosecondary storage 1650, such asmagnetic tape 1652 oroptical 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 themedia 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 toFIG. 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. Instep 2010, the system, via a restore or data recovery component, receives a request to modify a file located in a cache of aNAS 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 onslide 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, thecallback layer 1750 of the system looks to an index or table similar to Table 3, identifies blocks associated withpage 5 of the presentation and blocks associated with a table of contents of the presentation, and contacts thecloud gateway 1540 that stored or migrated the blocks on secondary storage. - In
step 2030, the system, via thecloud gateway 1540, retrieves the identified blocks or sub-objects from the secondary storage and presents them to the user. For example, the system only retrievespage 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 themedia agent 1770, to “rehydrate” the deduplicated data using the methods described previously with respect toFIG. 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. Instep 2050, the system transfers data associated with the modified blocks or sub-objects back to thecloud 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 thecloud 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 ordata store 1644 of theNAS filer 1505. Thus, to the network, the total data storage of the cloud gateway is much greater than that actually available within the cache ordata store 1644. For example, while the cache ordata 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 aclient 130 to readily transfer data between variouscloud storage sites 115 without being tied to a single cloud storage vendor. A software as a service model also permitsclients 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 theclient 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 anarrangement 2102 of resources in a computing network that may provide data storage software as a service. As shown, in thisarrangement 2102, thestorage manager 105 and secondarystorage computing devices 165 are in the cloud (e.g., separated from theclients 130 by a network, such as a public WAN, like the Internet). The on-premises components need only include one ormore data agents 195 andnetwork client agents 255, which may reside onclients 130. Thearrangement 2102 may permit multiple “tenants” to use asingle SAAS system 2102 since thevarious 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 thestorage manager 105 and secondarystorage computing devices 165 via their HTTP subagents located withinnetwork 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 withstorage manager 105 and secondarystorage computing devices 165 via their proprietary protocol subagents. - In this arrangement, as described previously, media
file system agent 240 may comprise one or morecloud storage submodules 236 that permit the mediafile 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 inFIG. 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 anobject store 2250. - In many respects, the
object store 2250 provides similar functionality to the systems described previously and may provide additional features. Anobject store 2250 system may provide value-added services such as retention, deduplication, compression, encryption, content indexing and search, and collaborative searching. Anobject store 2250 may also provide tiered storage and information life cycle management services. Theobject store 2250, like the systems described previously, may also utilize other cloud storage sites as targetcloud 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 usingdata store 2250. -
FIG. 22 is a block diagram illustrating components of theobject store 2250. As shown inFIG. 22 , theobject store 2250 may comprise astorage manager 105, one or more object server nodes 2208, one or more secondarystorage computing devices 165, one ormore deduplication databases 297, and one ormore SS indices 261. Anobject 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 theclients 130 shown inFIG. 1 in that they may not run adedicated data agent 195 and/ornetwork client agent 255 configured to communicate with theobject 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 secondarystorage computing devices 165 tocloud storage sites 115, including variouscloud storage sites 115A-N, either via LAN, WAN, etc. - As shown in
FIG. 22 , each object server node 2208 may comprise anobject server agent 2210, aningestion database 2212, and aprimary data store 2214. Anobject 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. Anobject 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 secondarycloud 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 theobject 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 theobject 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, variousobject server agents 2210 and/or various sub-clients within anobject server agent 2210 may each be configured to each handle a different type of object; for example, a firstobject server agent 2210 may be configured to handle documents, a secondobject 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. Theobject server agents 2210 provide data ingestion or upload points to theobject 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 aprimary 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 aprimary data store 2214 and/orcloud storage sites 115, location(s) of deduplication and/or content indexing information pertaining to the object (e.g., deduplication database(s) 297 orSS 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 theingestion database 2212 to provide content indexing capability at the object server node. In some examples, theingestion 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, theingestion 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 theprimary 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 inprimary data store 2214. Using policy parameters, metadata, and/or other information stored iningestion database 2212, the object server node 2208 may form logical groups of data objects and request that a secondary cloudstorage 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 secondarystorage 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 inprimary data store 2214. Object server node 2209 may then request a secondarystorage computing device 165 to process this group of email objects into an archive file stored on a particularcloud storage site 115. As another example, an object server node 2208 may queryingestion 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 secondarystorage computing device 165 to process this group of objects into an archive file stored on acloud 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 ofFIG. 3B . That is, the secondarystorage 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 secondarystorage 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 secondarystorage 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 theobject store 2250 and/or more efficiently perform ILM within theObject 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 thededuplication databases 297 within theobject store 2250. In one example, during deduplication, a secondarystorage computing device 165 only performs lookups on onededuplication 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 secondarystorage computing device 165 performs lookups on alldeduplication databases 297 within anobject 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, adeduplication module 299 on a secondarystorage computing device 165 might detect an instance of the object in adeduplication 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 inFIG. 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 acloud storage site 115. As described previously, by containerizing data, theobject store 2250 may thus reduce the limitations posed by file system scalability by reducing the strain on the namespace of theobject 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 theobject 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, anobject store 2250 may run similar periodic data verification processes within theobject 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 theobject 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 theobject 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, theobject store 2250 ensures sufficient privacy between various clients 2202A1, despite the fact that their objects may be commingled in theprimary data store 2214 andcloud 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 theobject 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 theobject 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 afirst process 2300 for managing a request to store an object within anobject store 2250, including apportioning the storage cost of the object. Theprocess 2300 may result when a calling application on a client 2202 requests that anobject server agent 2210 store a particular object. - The
process 2300 begins inblock 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 objectstore 2250 along with metadata. Atoptional 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 ormore ingestion databases 2212 withindata 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 atblock 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, atblock 2355, the object server node 2208updates 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 withindeduplication 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, theobject 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 adeduplication database 297. For example, if a cloud storage site already has a copy of an object stored therein, atstep 2355, the object store may add a link or URL to a previously stored copy in thededuplication 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 atblock 2320. The process then proceeds to block 2325. Alternatively, if atdecision block 2315, the object server node 2208 determines that theobject 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., aprimary 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 theprimary data store 2214. Ifobject store 2250 already has a copy of the object stored in an appropriate manner, atblock 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 withinobject store 2250 orcloud storage site 115, or a pointer or reference to an entry in a deduplication database 297) in theprimary data store 2214 instead of storing a copy of the object. Atblock 2325, an object server node 2208 may also generate a URI for the object, update aningestion 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 iningestion database 2212 and/ordeduplication 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 secondarystorage 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 inFIGS. 5 and 8 . - At
block 2335, a secondarystorage computing device 165 performs content indexing of the object in the manner described previously with respect toFIG. 10 . Atblock 2340, a secondarystorage 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 atblock 2340, the system may perform lookups on or otherwise examine one, several, or alldeduplication databases 297 withinobject 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 anobject store 2250 may be quite limited or quite broad. In one example, a deduplication process only utilizesdeduplication databases 297 associated with the same object server node 2208 that received or ingested the object. Adeduplication 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, atstep 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, atblock 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 theobject store 2250. For example, if two different clients 2202 from two different companies both request that anobject 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 toFIG. 22 , in the event that some or all of the blocks of the data object were previously stored appropriately within thestorage operation cell 2250, the deduplication atblock 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 anobject 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/oringestion databases 2212. As described previously, these databases correlate client 2202 information with data ingested into and stored by theobject 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 ofFIG. 23 proceeds to block 2355) and a second copy of the object within theobject 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 anobject store 2250, including apportioning the storage cost of the object. The process 2400 ofFIG. 24 is similar toprocess 2300 ofFIG. 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 theprimary data store 2214 that reflects a dehydrated form of the objects (i.e., an archive file that utilizes data structures similar to those shown inFIGS. 5 and 8 ). Later, during a scheduled ingestion process, the archive file may be transferred or copied to one or more secondarycloud 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 asecondary data store 115 by utilizing secondarystorage computing device 165. As described previously, an archive file may comprise one ormore 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. Atblock 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 inprimary data store 2214 or on a secondarycloud 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 fromprimary data store 2214 to secondary cloud storage sites 115), the system may create a new archive file inprimary data store 2214 for the logical group. Alternatively, the system may create a new archive file in a secondarycloud 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 toFIG. 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 thatobject store 2250 does have a copy of the object appropriately stored therein, then atblock 2420 the system updates one ormore 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 withindeduplication database 297. For example, if a cloud storage site already has a copy of an object stored therein, atstep 2415, the object store may add in adeduplication database 297 and/or elsewhere, links or URLs to previously stored blocks. Atblock 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 theSS index 261 and/oringestion 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, atstep 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 atblock 2450, where the system performs blocks 2440-2470 for each block within the object. Atblock 2440, the system receives a block identifier. Atdecision block 2445 the system determines if the system already has an appropriately stored copy of the block by querying one ormore deduplication databases 297. Duringblock 2445, the system may perform lookups on or otherwise examine one, several, or alldeduplication databases 297 withinobject 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 anobject store 2250 may be limited or broadened. - If the system does have a copy of the block appropriately stored, then the system at
block 2450updates 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, atstep 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 todecision 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 ametadata file 806 with a link to the newly stored block and with received metadata. The system may further updatededuplication 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/oringestion database 2212 before proceeding to block 2480. - At
block 2480, the system updatesingestion 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 toFIG. 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 theobject 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 inFIG. 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 aprocess 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 ofFIGS. 1 , 2, 15, 16, 21, and 22 and/or other suitable systems. Theprocess 2700 begins atblock 2705 when the system accesses the storage policy applicable to the set of data objects. This storage policy may define different classes ofstorage 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, themanagement index 211, theSS index 261, the SSlight index 247,deduplication database 297 and/ormetabase 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 utilizededuplication 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 (includingcloud 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 regardingstorage devices 115 stored in themanagement index 211, secondary storage computing devices 265 and/orstorage devices 115. For example, if the group of data objects requires first-class storage, the system may query themanagement index 211 to determine which localmagnetic 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 thenetwork 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 thestorage 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 thestorage operation cell 150. In some embodiments, the system may access historical or projected operating costs of each candidate that may be stored inmanagement index 211, secondary storage computing devices 265, or elsewhere in thestorage 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 themanagement 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 repeatblock 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 thejobs 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 thejobs 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 aprocess 2800 for scheduling cloud storage requests received from auction clients; theprocess 2800 may be performed by an auction service component (not shown) forming part of acloud 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 astorage manager 105, a secondarystorage 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 acloud 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 atblock 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 acloud 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 thestorage operation cell 150, not within thecloud 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 thestorage operation cell 150 prior to copying or migrating data to acloud 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 astorage operation cell 150, thestorage 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 thestorage 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 aprocess 2900 for encrypting files stored within acloud storage site 115A-N. The process may be performed bycloud storage submodule 236, or any other suitable system component. The process begins atblock 2910, whencloud 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 targetcloud storage site 115A-N. If it is not, the process proceeds to block 2940. Otherwise, theprocess 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. Atblock 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 thestorage operation cell 150. Atblock 2945, the downloaded file is encrypted locally (e.g., by a component ofstorage operation cell 150 configured to perform encryption, such as a secondary storage computing device 165). Atblock 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 targetcloud 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 associatedstorage operation cell 150.Remote clients 130 may only be connected to other components of an associatedstorage operation cell 150 via a WAN such as the Internet due to a physical separation between theremote client 130 and other system components. One intuitive example of aremote 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 mainstorage operation cell 150. - In such implementations, a
remote client 130 may include a mediafile system agent 240, including acloud storage submodule 236, to permitdata agents 195 on the remote client to directly write data to acloud storage site 115A-N (e.g., over a network connection established by an HTTP client subagent). For example, in this manner aremote 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 aremote client 130 regarding when and how to perform a remote storage operation. Additionally, aremote 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 providestorage manager 105 with information that is sufficient forstorage manager 105 to updatemanagement index 211,management light index 245,SS index 261, SSlight index 247, anddeduplication 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 thestorage 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 associatedstorage operation cell 150 but may not be geographically separated from one or more locally accessible secondarystorage 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 secondarystorage 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 ofclients 130 may copy or migrate data to a locally accessible secondary storage computing device, which may in turn write this data to acloud 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 secondarystorage 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 secondarystorage computing device 165 may providestorage manager 105 with information that is sufficient forstorage manager 105 to updatemanagement index 211,management light index 245,SS index 261, SSlight index 247, anddeduplication database 297. Such implementations preserve the ability of thestorage 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 locallyaccessible cloud gateway 1540 may provide the same functionality of a locally accessible secondarystorage computing device 165 described in this section, in addition to other cloud gateway functionality described herein. - 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)
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 |
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 |
EP10794641.0A EP2449477B1 (en) | 2009-06-30 | 2010-06-29 | Data object store 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 (13)
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,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 |
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,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,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 |
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 |
US18/432,489 Pending US20240256490A1 (en) | 2009-06-30 | 2024-02-05 | Data object store and server for a cloud storage environment |
Family Applications Before (4)
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,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 |
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,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 |
Family Applications After (8)
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 |
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 |
US18/432,489 Pending US20240256490A1 (en) | 2009-06-30 | 2024-02-05 | Data object store and server for a cloud storage environment |
Country Status (6)
Country | Link |
---|---|
US (13) | US20100333116A1 (en) |
EP (1) | EP2449477B1 (en) |
AU (1) | AU2010266433C1 (en) |
CA (2) | CA2838107C (en) |
DK (1) | DK2449477T3 (en) |
WO (1) | WO2011002777A2 (en) |
Cited By (936)
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 |
EP2518647A1 (en) * | 2011-04-28 | 2012-10-31 | Thomson Licensing | Method for uploading a file in an on-line storage system and corresponding on-line storage 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 |
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 |
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 |
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 |
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 |
US20130080405A1 (en) * | 2011-09-23 | 2013-03-28 | Dell Products L.P. | Application transparent deduplication data |
US20130080404A1 (en) * | 2011-09-23 | 2013-03-28 | Dell Products L.P. | Maintaining deduplication data in native file formats |
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 |
WO2013056032A2 (en) * | 2011-10-14 | 2013-04-18 | Mimecast North America Inc. | Analyzing client data stores |
US20130097275A1 (en) * | 2011-10-14 | 2013-04-18 | Verizon Patent And Licensing Inc. | Cloud-based storage deprovisioning |
US20130110967A1 (en) * | 2011-11-01 | 2013-05-02 | Hitachi, Ltd. | Information system and method for managing data in information system |
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 |
US20130117515A1 (en) * | 2011-11-07 | 2013-05-09 | Nexgen Storage, Inc. | Primary Data Storage System with Data Tiering |
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 |
WO2013090331A1 (en) * | 2011-12-13 | 2013-06-20 | Unisys Corporation | Interfaces for combining calls in an emulated environment |
WO2013090262A1 (en) * | 2011-12-15 | 2013-06-20 | Symantec Corporation | Dynamic storage tiering in a virtual 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 |
US20130262615A1 (en) * | 2012-03-30 | 2013-10-03 | Commvault Systems, Inc. | Shared network-available storage that permits concurrent data access |
US20130262180A1 (en) * | 2012-03-27 | 2013-10-03 | Samsung Electronics Co., Ltd. | Cloud information trading system and cloud information trading method using the same |
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 |
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 |
WO2013173109A3 (en) * | 2012-05-16 | 2014-02-20 | Apple Inc. | Locally backed cloud-based storage |
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 |
US20140095343A1 (en) * | 2012-09-28 | 2014-04-03 | Oracle International Corporation | Supply chain orchestration system with configure-to-order item matching |
US20140095446A1 (en) * | 2012-09-28 | 2014-04-03 | Oracle International Corporation | State initialization algorithm for continuous queries over archived relations |
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 |
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 |
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 |
US20140164334A1 (en) * | 2012-12-12 | 2014-06-12 | Hon Hai Precision Industry Co., Ltd. | Data block backup system and method |
US20140164339A1 (en) * | 2012-12-12 | 2014-06-12 | Hon Hai Precision Industry 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 |
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 |
US20140229457A1 (en) * | 2013-02-13 | 2014-08-14 | Dropbox, Inc. | Automatic content item upload |
US20140229440A1 (en) * | 2013-02-12 | 2014-08-14 | Atlantis Computing, Inc. | Method and apparatus for replicating virtual machine images using deduplication metadata |
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 |
US20140280680A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Data transmission for transaction processing in a networked environment |
US20140282938A1 (en) * | 2013-03-15 | 2014-09-18 | Adam Moisa | Method and system for integrated cloud storage management |
WO2014151126A1 (en) * | 2013-03-15 | 2014-09-25 | Bracket Computing, Inc. | Multi-layered storage administration for flexible placement of data |
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 |
US8849759B2 (en) | 2012-01-13 | 2014-09-30 | Nexenta Systems, Inc. | Unified local storage supporting file and cloud object access |
US20140297535A1 (en) * | 2011-04-26 | 2014-10-02 | Docupace Technologies, Inc. | System and Method for Compliant Integrated Workflow |
US20140298243A1 (en) * | 2013-03-29 | 2014-10-02 | Alcatel-Lucent Usa Inc. | Adjustable gui for displaying information from a database |
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 |
EP2801942A1 (en) * | 2013-05-09 | 2014-11-12 | Rockwell Automation Technologies, Inc. | Risk assessment for industrial systems using big data |
US20140337932A1 (en) * | 2009-08-27 | 2014-11-13 | Cleversafe, Inc. | Dispersed storage network with access control and methods for use therewith |
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 |
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 |
US8892693B2 (en) | 2012-10-02 | 2014-11-18 | Nextbit Systems Inc. | Enabling fragment-based mobile device application streaming |
US20140344461A1 (en) * | 2010-03-19 | 2014-11-20 | Novell, Inc. | Techniques for intelligent service deployment |
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 |
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 |
US20150006957A1 (en) * | 2013-07-01 | 2015-01-01 | Open Text S.A. | Method and system for storing documents |
US20150006691A1 (en) * | 2013-06-27 | 2015-01-01 | Cisco Technology, Inc. | Managing rogue cloud provider operations |
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 |
US20150015192A1 (en) * | 2013-07-11 | 2015-01-15 | DvineWave Inc. | Wireless tracking pocket-forming |
US20150015194A1 (en) * | 2013-05-10 | 2015-01-15 | DvineWave Inc. | Wireless charging and powering of electronic devices in a vehicle |
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 |
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 |
US20150046418A1 (en) * | 2013-08-09 | 2015-02-12 | Microsoft Corporation | Personalized content tagging |
US8965802B1 (en) * | 2010-04-26 | 2015-02-24 | Ca, Inc. | Brokering and payment optimization for cloud computing |
US8966465B2 (en) | 2008-02-12 | 2015-02-24 | Oracle International Corporation | Customization creation and update for multi-layer XML customization |
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 |
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 |
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 |
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 |
US9063912B2 (en) | 2011-06-22 | 2015-06-23 | Box, Inc. | Multimedia content preview rendering in a cloud content management system |
US9063946B1 (en) | 2012-12-14 | 2015-06-23 | Amazon Technologies, Inc. | Backoff-based scheduling of storage object deletions |
US9063738B2 (en) | 2010-11-22 | 2015-06-23 | Microsoft Technology Licensing, Llc | Dynamically placing computing jobs |
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 |
US9135462B2 (en) | 2012-08-29 | 2015-09-15 | Box, Inc. | Upload and download streaming encryption to/from a cloud-based platform |
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 |
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 |
EP2940602A1 (en) * | 2014-04-30 | 2015-11-04 | Samsung Electronics Co., Ltd | Apparatus and method for integrated management of data in mobile device, and mobile device |
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 |
US9189396B2 (en) | 2012-08-24 | 2015-11-17 | Dell Products L.P. | Snapshot coordination |
US9189280B2 (en) | 2010-11-18 | 2015-11-17 | Oracle International Corporation | Tracking large numbers of moving objects in an event processing system |
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 |
EP2922273A4 (en) * | 2012-11-15 | 2015-12-16 | Zte Corp | Resource sharing method, apparatus, system, and terminal, and resource management center |
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 |
EP2724495A4 (en) * | 2011-06-27 | 2016-02-17 | Nokia Technologies Oy | Method and apparatus for providing services via cloud-based analytics |
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 |
US20160054949A1 (en) * | 2013-03-28 | 2016-02-25 | Orange | Method for storing data in a computer system performing data deduplication |
US20160055171A1 (en) * | 2014-08-22 | 2016-02-25 | International Business Machines Corporation | 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 |
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 |
US9305238B2 (en) | 2008-08-29 | 2016-04-05 | Oracle International Corporation | Framework for supporting regular expression-based pattern matching in data streams |
US9305057B2 (en) | 2009-12-28 | 2016-04-05 | Oracle International Corporation | Extensible indexing framework using data cartridges |
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 |
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 |
US9311071B2 (en) | 2012-09-06 | 2016-04-12 | Box, Inc. | Force upgrade of a mobile application via a server side configuration file |
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 |
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 |
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 |
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 |
US9396156B2 (en) | 2012-04-26 | 2016-07-19 | Connected Data, Inc. | System and method for socially organized storage and shared access to storage appliances |
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 |
US20160210203A1 (en) * | 2015-01-21 | 2016-07-21 | Commvault Systems, Inc. | Restoring archived object-level database data |
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 |
US9430494B2 (en) | 2009-12-28 | 2016-08-30 | Oracle International Corporation | Spatial data cartridge for event processing systems |
US9430541B1 (en) * | 2009-04-29 | 2016-08-30 | Netapp, Inc. | Data updates in distributed system with data coherency |
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 |
US9436440B1 (en) * | 2013-04-02 | 2016-09-06 | Amdocs Software Systems Limited | System, method, and computer program for validating web service interface design |
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 |
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 |
US20160307145A1 (en) * | 2015-04-14 | 2016-10-20 | International Business Machines Corporation | Scheduling and simulation system |
US20160306818A1 (en) * | 2015-04-09 | 2016-10-20 | Commvault Systems, Inc. | Highly reusable deduplication database after disaster recovery |
US20160308841A1 (en) * | 2015-04-18 | 2016-10-20 | DvSum, LLC | Remotely accessing data on a secured server |
US9479567B1 (en) * | 2015-10-29 | 2016-10-25 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US9483473B2 (en) | 2013-09-13 | 2016-11-01 | Box, Inc. | High availability architecture for a cloud-based concurrent-access collaboration platform |
US9483354B1 (en) * | 2011-03-11 | 2016-11-01 | Veritas Technologies Llc | Techniques for providing data management using a backup data bank system |
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 |
US9521217B2 (en) | 2011-08-08 | 2016-12-13 | Ctera Networks, Ltd. | System and method for remote access to cloud-enabled network devices |
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 |
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 |
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 |
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 |
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 |
US9602514B2 (en) | 2014-06-16 | 2017-03-21 | Box, Inc. | Enterprise mobility management and verification of a managed application by a content provider |
US9600552B2 (en) | 2012-10-02 | 2017-03-21 | Nextbit Systems Inc. | Proximity based application state synchronization |
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 |
US9654556B2 (en) | 2012-10-02 | 2017-05-16 | Razer (Asia-Pacific) Pte. Ltd. | Managing applications on an electronic device |
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 |
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 |
CN106686031A (en) * | 2015-11-09 | 2017-05-17 | 广东华邦云计算股份有限公司 | Method and device for updating application to be in SaaS mode |
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 |
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 |
US9659021B1 (en) * | 2013-11-20 | 2017-05-23 | EMC IP Holding Company LLC | Client based backups and backup indexing |
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 |
US9703584B2 (en) | 2013-01-08 | 2017-07-11 | Commvault Systems, Inc. | Virtual server agent load balancing |
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 |
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 |
US9712645B2 (en) | 2014-06-26 | 2017-07-18 | Oracle International Corporation | Embedded event processing |
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 |
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 |
US9729488B2 (en) | 2010-04-26 | 2017-08-08 | BitTitan Inc. | On-demand mailbox synchronization and migration system |
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 |
US9749132B1 (en) * | 2011-11-28 | 2017-08-29 | Amazon Technologies, Inc. | System and method for secure deletion of data |
US9747000B2 (en) | 2012-10-02 | 2017-08-29 | Razer (Asia-Pacific) Pte. Ltd. | Launching applications on an electronic device |
US9756104B2 (en) | 2011-05-06 | 2017-09-05 | Oracle International Corporation | Support for a new insert stream (ISTREAM) operation in complex event processing (CEP) |
US9756031B1 (en) * | 2011-12-21 | 2017-09-05 | Amazon Technologies, Inc. | Portable access to auditing information |
US9756022B2 (en) | 2014-08-29 | 2017-09-05 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
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 |
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 |
US9793758B2 (en) | 2014-05-23 | 2017-10-17 | Energous Corporation | Enhanced transmitter using frequency control for wireless power transmission |
CN107277118A (en) * | 2017-05-31 | 2017-10-20 | 北京京东尚科信息技术有限公司 | The method and apparatus for generating the conventional access path of node |
US9800172B1 (en) | 2014-05-07 | 2017-10-24 | Energous Corporation | Integrated rectifier and boost converter for boosting voltage received from wireless power transmission waves |
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 |
US9806564B2 (en) | 2014-05-07 | 2017-10-31 | Energous Corporation | Integrated rectifier and boost converter for wireless power transmission |
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 |
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 |
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 |
US9823977B2 (en) | 2014-11-20 | 2017-11-21 | Commvault Systems, Inc. | Virtual machine change block tracking |
US9824815B2 (en) | 2013-05-10 | 2017-11-21 | Energous Corporation | Wireless charging and powering of healthcare gadgets and sensors |
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 |
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 |
US9843763B2 (en) | 2013-05-10 | 2017-12-12 | Energous Corporation | TV system with wireless power transmitter |
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 |
US9843213B2 (en) | 2013-08-06 | 2017-12-12 | Energous Corporation | Social power sharing for mobile devices based on pocket-forming |
US9847679B2 (en) | 2014-05-07 | 2017-12-19 | Energous Corporation | System and method for controlling communication between wireless power transmitter managers |
US9847677B1 (en) | 2013-10-10 | 2017-12-19 | Energous Corporation | Wireless charging and powering of healthcare gadgets and sensors |
US9847669B2 (en) | 2013-05-10 | 2017-12-19 | Energous Corporation | Laptop computer as a transmitter for wireless charging |
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 |
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 |
US9859757B1 (en) | 2013-07-25 | 2018-01-02 | Energous Corporation | Antenna tile arrangements in electronic device enclosures |
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 |
US9871301B2 (en) | 2014-07-21 | 2018-01-16 | Energous Corporation | Integrated miniature PIFA with artificial magnetic conductor metamaterials |
US9871398B1 (en) | 2013-07-01 | 2018-01-16 | Energous Corporation | Hybrid charging method for wireless power transmission based on pocket-forming |
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 |
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 |
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 |
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 |
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 |
US9882430B1 (en) | 2014-05-07 | 2018-01-30 | Energous Corporation | Cluster management of transmitters in a wireless power transmission system |
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 |
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 |
CN107646189A (en) * | 2015-04-10 | 2018-01-30 | Pcms控股公司 | System and method for the commission of cloud computing process |
US9886316B2 (en) | 2010-10-28 | 2018-02-06 | Microsoft Technology Licensing, Llc | Data center system that accommodates episodic computation |
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 |
US9886486B2 (en) | 2014-09-24 | 2018-02-06 | Oracle International Corporation | Enriching events with dynamically typed big data for event processing |
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 |
US9894119B2 (en) | 2014-08-29 | 2018-02-13 | Box, Inc. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
US9893538B1 (en) | 2015-09-16 | 2018-02-13 | Energous Corporation | Systems and methods of object detection in wireless power charging systems |
US9893768B2 (en) | 2012-07-06 | 2018-02-13 | Energous Corporation | Methodology for multiple pocket-forming |
US9893554B2 (en) | 2014-07-14 | 2018-02-13 | Energous Corporation | System and method for providing health safety in a wireless power transmission system |
US9893555B1 (en) | 2013-10-10 | 2018-02-13 | Energous Corporation | Wireless charging of tools using a toolbox transmitter |
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 |
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 |
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 |
US9899861B1 (en) | 2013-10-10 | 2018-02-20 | Energous Corporation | Wireless charging methods and systems for game controllers, based on pocket-forming |
US9899744B1 (en) | 2015-10-28 | 2018-02-20 | Energous Corporation | Antenna for wireless charging systems |
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 |
US9906275B2 (en) | 2015-09-15 | 2018-02-27 | Energous Corporation | Identifying receivers in a wireless charging transmission field |
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 |
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 |
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 |
US9917894B2 (en) | 2014-08-06 | 2018-03-13 | Quest Software Inc. | Accelerating transfer protocols |
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 |
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 |
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 |
US9934279B2 (en) | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
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 |
US9933804B2 (en) | 2014-07-11 | 2018-04-03 | Microsoft Technology Licensing, Llc | Server installation as a grid condition sensor |
US9941707B1 (en) | 2013-07-19 | 2018-04-10 | Energous Corporation | Home base station for multiple room coverage with multiple transmitters |
US9940203B1 (en) * | 2015-06-11 | 2018-04-10 | EMC IP Holding Company LLC | Unified interface for cloud-based backup and restoration |
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 |
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 |
US9941754B2 (en) | 2012-07-06 | 2018-04-10 | Energous Corporation | Wireless power transmission with selective range |
US9942105B2 (en) | 2010-07-19 | 2018-04-10 | Akamai Technologies, Inc. | Animated globe showing real-time web user performance measurements |
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 |
US9941752B2 (en) | 2015-09-16 | 2018-04-10 | Energous Corporation | Systems and methods of object detection in wireless power charging systems |
US9948135B2 (en) | 2015-09-22 | 2018-04-17 | Energous Corporation | Systems and methods for identifying sensitive objects in a wireless charging transmission field |
US9946724B1 (en) * | 2014-03-31 | 2018-04-17 | EMC IP Holding Company LLC | Scalable post-process deduplication |
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 |
US9952856B2 (en) * | 2014-08-01 | 2018-04-24 | Sap Se | Deploying mobile applications in a collaborative cloud environment |
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 |
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 |
US9966784B2 (en) | 2014-06-03 | 2018-05-08 | Energous Corporation | Systems and methods for extending battery life of portable electronic devices charged by sound |
US9965745B2 (en) | 2012-02-24 | 2018-05-08 | Box, Inc. | System and method for promoting enterprise adoption of a web-based collaboration environment |
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 |
US9966765B1 (en) | 2013-06-25 | 2018-05-08 | Energous Corporation | Multi-mode transmitter |
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 |
US9973008B1 (en) | 2014-05-07 | 2018-05-15 | Energous Corporation | Wireless power receiver with boost converters directly coupled to a storage element |
US9973021B2 (en) | 2012-07-06 | 2018-05-15 | Energous Corporation | Receivers for wireless power transmission |
US9972103B2 (en) | 2015-07-24 | 2018-05-15 | Oracle International Corporation | Visually exploring and analyzing event streams |
US9979440B1 (en) | 2013-07-25 | 2018-05-22 | Energous Corporation | Antenna tile arrangements configured to operate as one functional unit |
US9978040B2 (en) | 2011-07-08 | 2018-05-22 | Box, Inc. | Collaboration sessions in a workspace on a cloud-based content management system |
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 |
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 |
US9990352B2 (en) | 2014-08-06 | 2018-06-05 | Quest Software Inc. | Chunk compression in a deduplication aware client environment |
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 |
US10021523B2 (en) | 2013-07-11 | 2018-07-10 | Energous Corporation | Proximity transmitters for wireless power charging systems |
US10021185B1 (en) * | 2013-08-22 | 2018-07-10 | Ca, Inc. | Optimized virtual storage fabric |
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 |
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 |
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 |
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 |
US10038337B1 (en) | 2013-09-16 | 2018-07-31 | Energous Corporation | Wireless power supply for rescue devices |
US10038332B1 (en) | 2015-12-24 | 2018-07-31 | Energous Corporation | Systems and methods of wireless power charging through multiple receiving 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 |
US10056782B1 (en) | 2013-05-10 | 2018-08-21 | Energous Corporation | Methods and systems for maximum power point transfer in receivers |
US10055594B2 (en) | 2012-06-07 | 2018-08-21 | Amazon Technologies, Inc. | Virtual service provider zones |
US10057327B2 (en) | 2015-11-25 | 2018-08-21 | International Business Machines Corporation | Controlled transfer of data over an elastic network |
US10063108B1 (en) | 2015-11-02 | 2018-08-28 | Energous Corporation | Stamped three-dimensional antenna |
US10063064B1 (en) | 2014-05-23 | 2018-08-28 | Energous Corporation | System and method for generating a power receiver identifier in a wireless power network |
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 |
US10090699B1 (en) | 2013-11-01 | 2018-10-02 | Energous Corporation | Wireless powered house |
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 |
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 |
US10116629B2 (en) | 2016-05-16 | 2018-10-30 | Carbonite, Inc. | Systems and methods for obfuscation of data via an aggregation of cloud storage services |
US10114962B2 (en) | 2015-06-02 | 2018-10-30 | Alibaba Group Holding Limited | Generating a stub file corresponding to a classified data file |
US10116170B1 (en) | 2014-05-07 | 2018-10-30 | Energous Corporation | Methods and systems for maximum power point transfer in receivers |
US10116143B1 (en) | 2014-07-21 | 2018-10-30 | Energous Corporation | Integrated antenna arrays for wireless power transmission |
US10123189B2 (en) | 2013-03-21 | 2018-11-06 | Razer (Asia-Pacific) Pte. Ltd. | Electronic device system restoration by tapping mechanism |
US10120907B2 (en) | 2014-09-24 | 2018-11-06 | Oracle International Corporation | Scaling event processing using distributed flows and map-reduce operations |
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 |
US10124754B1 (en) | 2013-07-19 | 2018-11-13 | Energous Corporation | Wireless charging and powering of electronic sensors in a vehicle |
US10128695B2 (en) | 2013-05-10 | 2018-11-13 | Energous Corporation | Hybrid Wi-Fi and power router transmitter |
US10128693B2 (en) | 2014-07-14 | 2018-11-13 | Energous Corporation | System and method for providing health safety in a wireless power transmission system |
US10127030B1 (en) | 2016-03-04 | 2018-11-13 | Quest Software Inc. | Systems and methods for controlled container execution |
US10128686B1 (en) | 2015-09-22 | 2018-11-13 | Energous Corporation | Systems and methods for identifying receiver locations using sensor technologies |
US10128699B2 (en) | 2014-07-14 | 2018-11-13 | Energous Corporation | Systems and methods of providing wireless power using receiver device sensor inputs |
US10135295B2 (en) | 2015-09-22 | 2018-11-20 | Energous Corporation | Systems and methods for nullifying energy levels for wireless power transmission waves |
US10135112B1 (en) | 2015-11-02 | 2018-11-20 | Energous Corporation | 3D antenna mount |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
US10158257B2 (en) | 2014-05-01 | 2018-12-18 | Energous Corporation | System and methods for using sound waves to wirelessly deliver power to electronic devices |
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 |
US10178173B2 (en) * | 2016-08-02 | 2019-01-08 | International Business Machines Corporation | Cloud service utilization |
US10176182B2 (en) * | 2015-08-31 | 2019-01-08 | International Business Machines Corporation | File deletion in storage devices based on the deletion priority rules |
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 |
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 |
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 |
US10193396B1 (en) | 2014-05-07 | 2019-01-29 | Energous Corporation | Cluster management of transmitters in a wireless power transmission system |
US20190034472A1 (en) * | 2017-07-27 | 2019-01-31 | Cisco Technology, Inc. | System and method for state object data store |
US20190034108A1 (en) * | 2015-08-19 | 2019-01-31 | Spatial Digital Systems, Inc. | Private access to media data on network storage |
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 |
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 |
US10200256B2 (en) | 2012-09-17 | 2019-02-05 | Box, Inc. | System and method of a manipulative handle in an interactive mobile user interface |
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 |
US10211674B1 (en) | 2013-06-12 | 2019-02-19 | Energous Corporation | Wireless charging using selected reflectors |
US10209893B2 (en) * | 2011-03-08 | 2019-02-19 | Rackspace Us, Inc. | Massively scalable object storage for storing object replicas |
US10211680B2 (en) | 2013-07-19 | 2019-02-19 | Energous Corporation | Method for 3 dimensional pocket-forming |
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 |
US20190057090A1 (en) * | 2017-08-17 | 2019-02-21 | Samsung Electronics Co., Ltd. | Method and device of storing data object |
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 |
US20190057218A1 (en) * | 2017-08-18 | 2019-02-21 | Sap Se | Providing data protection and privacy as a service in a cloud platform |
US10218227B2 (en) | 2014-05-07 | 2019-02-26 | Energous Corporation | Compact PIFA antenna |
US10216441B2 (en) | 2015-11-25 | 2019-02-26 | International Business Machines Corporation | Dynamic quality of service for storage I/O port allocation |
US10223717B1 (en) | 2014-05-23 | 2019-03-05 | Energous Corporation | Systems and methods for payment-based authorization of wireless power transmission service |
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 |
US20190075087A1 (en) * | 2016-01-08 | 2019-03-07 | Capital One Services, Llc | Methods and systems for securing data in the public cloud |
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 |
US10229067B2 (en) | 2016-02-08 | 2019-03-12 | International Business Machines Corporation | Retrieving and converting offline data |
US10234835B2 (en) | 2014-07-11 | 2019-03-19 | Microsoft Technology Licensing, Llc | Management of computing devices using modulated electricity |
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 |
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 |
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 |
US10256657B2 (en) | 2015-12-24 | 2019-04-09 | Energous Corporation | Antenna having coaxial structure for near field wireless power charging |
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 |
US10270261B2 (en) | 2015-09-16 | 2019-04-23 | Energous Corporation | Systems and methods of object detection in wireless power charging systems |
US10270841B1 (en) * | 2016-03-04 | 2019-04-23 | Quest Software Inc. | Systems and methods of real-time container deployment |
US10282075B2 (en) | 2013-06-24 | 2019-05-07 | Microsoft Technology Licensing, Llc | Automatic presentation of slide design suggestions |
US10291546B2 (en) * | 2014-04-17 | 2019-05-14 | Go Daddy Operating Company, LLC | Allocating and accessing hosting server resources via continuous resource availability updates |
US10291066B1 (en) | 2014-05-07 | 2019-05-14 | Energous Corporation | Power transmission control systems and methods |
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 |
US10289457B1 (en) | 2016-03-30 | 2019-05-14 | Quest Software Inc. | Systems and methods for dynamic discovery of container-based microservices |
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 |
US10331902B2 (en) * | 2016-12-29 | 2019-06-25 | Noblis, Inc. | Data loss prevention |
US10333332B1 (en) | 2015-10-13 | 2019-06-25 | Energous Corporation | Cross-polarized dipole antenna |
US10346431B1 (en) * | 2015-04-16 | 2019-07-09 | Akamai Technologies, Inc. | System and method for automated run-tme scaling of cloud-based data store |
US10353873B2 (en) | 2014-12-05 | 2019-07-16 | EMC IP Holding Company LLC | Distributed file systems on content delivery networks |
US10356221B2 (en) * | 2014-12-04 | 2019-07-16 | Hewlett-Packard Development Company, L.P. | Access to network-based storage resource based on hardware identifier |
US10356158B2 (en) | 2016-05-16 | 2019-07-16 | Carbonite, Inc. | Systems and methods for aggregation of cloud storage |
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 |
US20190238618A1 (en) * | 2018-01-31 | 2019-08-01 | EMC IP Holding Company LLC | Managing cloud storage of block-based and file-based data |
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 |
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 |
US10389161B2 (en) | 2017-03-15 | 2019-08-20 | Energous Corporation | Surface mount dielectric antennas for wireless power transmitters |
US10387073B2 (en) | 2017-03-29 | 2019-08-20 | Commvault Systems, Inc. | External dynamic virtual machine synchronization |
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 |
US10423507B1 (en) | 2014-12-05 | 2019-09-24 | EMC IP Holding Company LLC | Repairing a site cache in a distributed file system |
US10425471B2 (en) | 2012-10-02 | 2019-09-24 | Razer (Asia-Pacific) Pte. Ltd. | Multi-tasker |
US10430384B1 (en) * | 2015-06-30 | 2019-10-01 | EMC IP Holding Company LLC | Global data deduplication across multiple distributed file systems |
US10430398B2 (en) * | 2013-03-15 | 2019-10-01 | Datadirect Networks, Inc. | Data storage system having mutable objects incorporating time |
US10430385B1 (en) * | 2014-12-05 | 2019-10-01 | EMC IP Holding Company LLC | Limited deduplication scope for distributed file systems |
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 |
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 |
US10447638B2 (en) * | 2015-09-03 | 2019-10-15 | Quest Software Inc. | Automatically applying data loss prevention rules during migration |
US10445296B1 (en) | 2014-12-05 | 2019-10-15 | EMC IP Holding Company LLC | Reading from a site cache in 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 |
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 |
US10452306B1 (en) * | 2013-12-31 | 2019-10-22 | EMC IP Holding Company LLC | Method and apparatus for asymmetric raid |
US10459886B2 (en) | 2014-08-06 | 2019-10-29 | Quest Software Inc. | Client-side deduplication with local chunk caching |
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 |
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 |
US10509527B2 (en) | 2013-09-13 | 2019-12-17 | Box, Inc. | Systems and methods for configuring event-based automation in cloud-based collaboration platforms |
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 |
US10509769B1 (en) * | 2014-06-12 | 2019-12-17 | EMC IP Holding Company LLC | Method to efficiently track I/O access history |
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 |
US10521400B1 (en) * | 2017-07-31 | 2019-12-31 | EMC IP Holding Company LLC | Data reduction reporting in storage systems |
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 |
US10554515B2 (en) * | 2015-12-31 | 2020-02-04 | Bright House Networks, Llc | Customer premises network access device for displaying data usage |
US10552449B2 (en) | 2015-01-30 | 2020-02-04 | Dropbox, Inc. | Storage constrained synchronization of shared content items |
US10552081B1 (en) | 2018-10-02 | 2020-02-04 | International Business Machines Corporation | Managing recall delays within hierarchical storage |
US10554426B2 (en) | 2011-01-20 | 2020-02-04 | Box, Inc. | Real time notification of activities that occur in a web-based collaboration environment |
US10567460B2 (en) * | 2016-06-09 | 2020-02-18 | Apple Inc. | Managing data using a time-based directory structure |
US10565067B2 (en) | 2016-03-09 | 2020-02-18 | Commvault Systems, Inc. | Virtual server cloud file system for virtual machine backup from cloud operations |
US10574442B2 (en) | 2014-08-29 | 2020-02-25 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
US10581680B2 (en) | 2015-11-25 | 2020-03-03 | International Business Machines Corporation | Dynamic configuration of network features |
US10579477B2 (en) * | 2010-09-28 | 2020-03-03 | International Business Machines Corporation | Prioritization of data items for backup in a computing environment |
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 |
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 |
US10601799B2 (en) | 2012-04-26 | 2020-03-24 | Connected Data, Inc. | System and method for visualizing data sharing arrangements for an organization |
US10601674B2 (en) | 2014-02-04 | 2020-03-24 | Akamai Technologies, Inc. | Virtual user ramp controller for load test analytic dashboard |
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 |
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 |
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 |
US10635641B1 (en) | 2013-05-22 | 2020-04-28 | Altirnao, Inc. | System and method to provide document management on a public document system |
US10649953B2 (en) * | 2018-05-31 | 2020-05-12 | Alibaba Group Holding Limited | Blockchain-based data migration method and apparatus |
US10650057B2 (en) | 2014-07-16 | 2020-05-12 | Commvault Systems, Inc. | Volume or virtual machine level backup and generating placeholders for virtual machine files |
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 |
US10678758B2 (en) | 2016-11-21 | 2020-06-09 | Commvault Systems, Inc. | Cross-platform virtual machine data and memory backup and replication |
US10680319B2 (en) | 2017-01-06 | 2020-06-09 | Energous Corporation | Devices and methods for reducing mutual coupling effects in wireless power transmission systems |
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 |
US10691643B2 (en) * | 2017-11-20 | 2020-06-23 | International Business Machines Corporation | Deduplication for files in cloud computing storage and communication tools |
US10691718B2 (en) | 2015-10-29 | 2020-06-23 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
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 |
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 |
US10764265B2 (en) * | 2014-09-24 | 2020-09-01 | Ent. Services Development Corporation Lp | Assigning a document to partial membership in communities |
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 |
US10768971B2 (en) | 2019-01-30 | 2020-09-08 | Commvault Systems, Inc. | Cross-hypervisor live mount of backed up virtual machine data |
US10776329B2 (en) | 2017-03-28 | 2020-09-15 | Commvault Systems, Inc. | Migration of a database management system to cloud storage |
US10776209B2 (en) | 2014-11-10 | 2020-09-15 | Commvault Systems, Inc. | Cross-platform virtual machine backup and replication |
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 |
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 |
US10831715B2 (en) | 2015-01-30 | 2020-11-10 | Dropbox, Inc. | Selective downloading of shared content items in a constrained synchronization system |
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 |
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 |
US10846266B2 (en) | 2017-09-14 | 2020-11-24 | Commvault Systems, Inc. | Distributed architecture for content indexing emails |
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 |
US10846303B2 (en) | 2016-04-25 | 2020-11-24 | Dropbox, Inc. | Storage constrained synchronization engine |
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 |
US10860529B2 (en) | 2014-08-11 | 2020-12-08 | Netapp Inc. | System and method for planning and configuring a file system migration |
US10860527B2 (en) | 2018-05-04 | 2020-12-08 | EMC IP Holding Company, LLC | Storage management system and method |
US10866931B2 (en) | 2013-10-22 | 2020-12-15 | Box, Inc. | Desktop application for accessing a cloud collaboration platform |
US10866742B1 (en) * | 2014-08-04 | 2020-12-15 | Nexgen Storage, Inc. | Archiving storage volume snapshots |
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 |
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 |
US10891257B2 (en) | 2018-05-04 | 2021-01-12 | EMC IP Holding Company, LLC | Storage management system and method |
US10891201B1 (en) * | 2017-04-27 | 2021-01-12 | EMC IP Holding Company LLC | Dynamic rule based model for long term retention |
US10893106B1 (en) * | 2018-09-11 | 2021-01-12 | Druva | Global namespace in a cloud-based data storage system |
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 |
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 |
US10929895B2 (en) * | 2013-03-15 | 2021-02-23 | Groupon, Inc. | Generic message injection system |
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 |
US10951705B1 (en) | 2014-12-05 | 2021-03-16 | EMC IP Holding Company LLC | Write leases for distributed file systems |
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 |
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 |
US10956422B2 (en) | 2012-12-05 | 2021-03-23 | Oracle International Corporation | Integrating event processing with map-reduce |
US10956201B2 (en) | 2012-12-28 | 2021-03-23 | Commvault Systems, Inc. | Systems and methods for repurposing virtual machines |
US10963430B2 (en) | 2015-04-01 | 2021-03-30 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
US10965164B2 (en) | 2012-07-06 | 2021-03-30 | Energous Corporation | Systems and methods of wirelessly delivering power to a receiver device |
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 |
US11070645B1 (en) * | 2018-12-14 | 2021-07-20 | Amazon Technologies, Inc. | Flexible scheduling of data transfers between computing infrastructure collections for efficient resource utilization |
US11070620B1 (en) * | 2020-03-26 | 2021-07-20 | EMC IP Holding Company LLC | Efficient transfer to and from a deduplicated cloud storage system |
US11074138B2 (en) | 2017-03-29 | 2021-07-27 | Commvault Systems, Inc. | Multi-streaming backup operations for mailboxes |
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 |
US11074232B1 (en) * | 2016-06-30 | 2021-07-27 | EMC IP Holding Company LLC | Managing deduplication of data in storage systems |
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 |
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 |
US11119984B2 (en) | 2014-03-17 | 2021-09-14 | Commvault Systems, Inc. | Managing deletions from a deduplication database |
US11120000B2 (en) * | 2015-06-30 | 2021-09-14 | International Business Machines Corporation | Enhancements for optimizing query executions |
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 |
US11159608B2 (en) * | 2017-03-06 | 2021-10-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and control node for managing cloud resources in a communications network |
US11157450B2 (en) | 2013-01-11 | 2021-10-26 | Commvault Systems, Inc. | High availability distributed deduplicated storage system |
US11159394B2 (en) | 2014-09-24 | 2021-10-26 | RISC Networks, LLC | Method and device for evaluating the system assets of a communication 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 |
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 |
US11163898B2 (en) | 2013-09-11 | 2021-11-02 | Mimecast Services Ltd. | Sharing artifacts in permission-protected archives |
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 |
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 |
US11204892B2 (en) | 2019-03-21 | 2021-12-21 | Microsoft Technology Licensing, Llc | Techniques for snapshotting scalable multitier storage structures |
US11210270B2 (en) * | 2017-03-09 | 2021-12-28 | Microsoft Technology Licensing, Llc | Mapping storage across storage providers |
US11210610B2 (en) | 2011-10-26 | 2021-12-28 | Box, Inc. | Enhanced multimedia content preview rendering in a cloud content management system |
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 |
US11294768B2 (en) | 2017-06-14 | 2022-04-05 | Commvault Systems, Inc. | Live browsing of backed up data residing on cloned disks |
US11294786B2 (en) | 2017-03-31 | 2022-04-05 | Commvault Systems, Inc. | Management of internet of things devices |
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 |
US11314618B2 (en) | 2017-03-31 | 2022-04-26 | Commvault Systems, Inc. | Management of internet of things devices |
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 |
US11321193B2 (en) * | 2018-04-13 | 2022-05-03 | Rubrik, Inc. | Database restoration across cloud environments |
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 |
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 |
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 |
US11321188B2 (en) | 2020-03-02 | 2022-05-03 | Commvault Systems, Inc. | Platform-agnostic containerized application data protection |
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 |
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 |
US11341208B2 (en) * | 2016-09-19 | 2022-05-24 | Salesforce.Com, Inc. | Mobile application bundled with metadata database |
US11341089B2 (en) * | 2018-12-13 | 2022-05-24 | EMC IP Holding Company LLC | Self-optimizing interval detection data structure |
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 |
US11366605B2 (en) * | 2019-10-31 | 2022-06-21 | EMC IP Holding Company, LLC | Storage management system and method for storage migration services |
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 |
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 |
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 |
US11422976B2 (en) | 2010-12-14 | 2022-08-23 | Commvault Systems, Inc. | Distributed deduplicated storage system |
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 |
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) |
US11442768B2 (en) | 2020-03-12 | 2022-09-13 | Commvault Systems, Inc. | Cross-hypervisor live recovery of virtual machines |
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 |
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 |
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 |
US11550514B2 (en) | 2019-07-18 | 2023-01-10 | Pure Storage, Inc. | Efficient transfers between tiers of a virtual storage system |
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 |
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 |
US11645592B2 (en) * | 2019-06-28 | 2023-05-09 | EMC IP Holding Company LLC | Analyzing cloud backup service options using historical data protection activities |
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 |
US11698836B2 (en) | 2021-03-04 | 2023-07-11 | Netapp, Inc. | Methods and systems for raid protection in zoned solid-state drives |
US11698727B2 (en) | 2018-12-14 | 2023-07-11 | Commvault Systems, Inc. | Performing secondary copy operations based on deduplication performance |
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 |
US20230343067A1 (en) * | 2022-04-20 | 2023-10-26 | Dell Products L.P. | Automatically classifying images for storage-related determinations using artificial intelligence techniques |
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 |
US11861024B1 (en) * | 2018-01-26 | 2024-01-02 | Wells Fargo Bank, N.A. | Systems and methods for data risk assessment |
US11863001B2 (en) | 2015-12-24 | 2024-01-02 | Energous Corporation | Near-field antenna for wireless power transmission with antenna elements that follow meandering patterns |
US11861249B1 (en) * | 2022-07-27 | 2024-01-02 | Kyocera Document Solutions Inc. | File transfer system that transfers file among plurality of image forming apparatuses |
US11971784B2 (en) | 2018-03-12 | 2024-04-30 | Commvault Systems, Inc. | Recovery Point Objective (RPO) driven backup scheduling in a data storage management system |
US12019524B2 (en) | 2020-11-04 | 2024-06-25 | Netapp, Inc. | Data connector component for implementing data requests |
US12032557B2 (en) * | 2020-04-30 | 2024-07-09 | EMC IP Holding Company LLC | Method, device, and computer program product for data management |
US12032855B2 (en) | 2021-08-06 | 2024-07-09 | Commvault Systems, Inc. | Using an application orchestrator computing environment for automatically scaled deployment of data protection resources needed for data in a production cluster distinct from the application orchestrator or in another application orchestrator computing environment |
US20240259328A1 (en) * | 2014-12-15 | 2024-08-01 | Royal Bank Of Canada | Verification of data processes in a network of computing resources |
US12057715B2 (en) | 2012-07-06 | 2024-08-06 | Energous Corporation | Systems and methods of wirelessly delivering power to a wireless-power receiver device in response to a change of orientation of the wireless-power receiver device |
US12066900B2 (en) | 2018-03-15 | 2024-08-20 | Pure Storage, Inc. | Managing disaster recovery to cloud computing environment |
US12074460B2 (en) | 2017-05-16 | 2024-08-27 | Wireless Electrical Grid Lan, Wigl Inc. | Rechargeable wireless power bank and method of using |
US12074452B2 (en) | 2017-05-16 | 2024-08-27 | Wireless Electrical Grid Lan, Wigl Inc. | Networked wireless charging system |
US12130708B2 (en) | 2020-07-10 | 2024-10-29 | Commvault Systems, Inc. | Cloud-based air-gapped data storage management system |
US12135905B2 (en) | 2021-12-16 | 2024-11-05 | Netapp, Inc. | Scalable solid-state storage system and methods thereof |
US12135618B2 (en) | 2022-07-11 | 2024-11-05 | Commvault Systems, Inc. | Protecting configuration data in a clustered container system |
US12141099B2 (en) * | 2022-03-08 | 2024-11-12 | Microsoft Technology Licensing, Llc | Scalable multi-tier storage structures and techniques for accessing entries therein |
Families Citing this family (1580)
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 |
US7107298B2 (en) | 2001-09-28 | 2006-09-12 | Commvault Systems, Inc. | System and method for archiving objects in an information store |
WO2005089239A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method of providing a self-optimizing reservation in space of compute resources |
US7343356B2 (en) | 2004-04-30 | 2008-03-11 | Commvault Systems, Inc. | Systems and methods for storage modeling and costing |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
WO2006053019A2 (en) | 2004-11-08 | 2006-05-18 | Sharpcast, Inc. | Method and apparatus for a file sharing and synchronization system |
WO2006053093A2 (en) | 2004-11-08 | 2006-05-18 | Cluster Resources, 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 |
US9075657B2 (en) | 2005-04-07 | 2015-07-07 | Adaptive Computing Enterprises, Inc. | On-demand access to compute resources |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
WO2008036058A2 (en) | 2005-03-16 | 2008-03-27 | Cluster Resources, Inc. | On-demand computing environment |
US9621666B2 (en) * | 2005-05-26 | 2017-04-11 | Citrix Systems, Inc. | Systems and methods for enhanced delta compression |
US7613752B2 (en) | 2005-11-28 | 2009-11-03 | Commvault Systems, Inc. | Systems and methods for using metadata to enhance data management operations |
US20200257596A1 (en) | 2005-12-19 | 2020-08-13 | Commvault Systems, Inc. | Systems and methods of unified reconstruction in storage systems |
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 |
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 |
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 |
WO2009102765A2 (en) | 2008-02-11 | 2009-08-20 | Nuix North America Inc. | Parallelization of electronic discovery document indexing |
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 |
CN107273977A (en) | 2008-10-23 | 2017-10-20 | 起元技术有限责任公司 | Method, system and machine readable hardware storage apparatus for identifying matching |
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 |
US9043279B1 (en) * | 2009-08-31 | 2015-05-26 | Netapp, Inc. | Class based storage allocation method and system |
US8572163B1 (en) * | 2009-08-31 | 2013-10-29 | Symantec Corporation | Systems and methods for deduplicating data based on performance of a deduplication 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 |
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 |
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 |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US8396989B2 (en) * | 2009-12-11 | 2013-03-12 | International Business Machines Corporation | Resource planning and data interchange functionality within a cloud computing environment |
US8285918B2 (en) | 2009-12-11 | 2012-10-09 | Nimble Storage, Inc. | Flash memory cache for data storage device |
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 |
US20110173626A1 (en) * | 2010-01-12 | 2011-07-14 | Nec Laboratories America, Inc. | Efficient maintenance of job prioritization for profit maximization in cloud service delivery 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 |
US10180572B2 (en) | 2010-02-28 | 2019-01-15 | Microsoft Technology Licensing, Llc | AR glasses with event and user action control of external applications |
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 |
KR20130000401A (en) | 2010-02-28 | 2013-01-02 | 오스터하우트 그룹 인코포레이티드 | Local advertising content on an interactive head-mounted eyepiece |
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 |
US9091851B2 (en) | 2010-02-28 | 2015-07-28 | Microsoft Technology Licensing, Llc | Light control in head mounted displays |
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 |
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 |
US9341843B2 (en) | 2010-02-28 | 2016-05-17 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with a small scale image source |
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 |
US8467133B2 (en) | 2010-02-28 | 2013-06-18 | Osterhout Group, Inc. | See-through display with an optical assembly including a wedge-shaped illumination system |
US9285589B2 (en) | 2010-02-28 | 2016-03-15 | Microsoft Technology Licensing, Llc | AR glasses with event and sensor triggered control of AR eyepiece applications |
US20150309316A1 (en) | 2011-04-06 | 2015-10-29 | Microsoft Technology Licensing, Llc | Ar glasses with predictive control of external device based on event input |
US9128281B2 (en) | 2010-09-14 | 2015-09-08 | Microsoft Technology Licensing, Llc | Eyepiece with uniformly illuminated reflective display |
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 |
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 |
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 |
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 |
US9134534B2 (en) | 2010-02-28 | 2015-09-15 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses including a modular image source |
US8472120B2 (en) | 2010-02-28 | 2013-06-25 | Osterhout Group, Inc. | 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 |
US20120249797A1 (en) | 2010-02-28 | 2012-10-04 | Osterhout Group, Inc. | Head-worn adaptive display |
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 |
GB2492287A (en) * | 2010-03-22 | 2012-12-26 | Mobitv Inc | Media convergence platform |
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 |
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 |
US8504400B2 (en) | 2010-03-24 | 2013-08-06 | International Business Machines Corporation | Dynamically optimized distributed cloud computing-based business process management (BPM) 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 |
US8533299B2 (en) | 2010-04-19 | 2013-09-10 | Microsoft Corporation | Locator table and client library for datacenters |
US8438244B2 (en) | 2010-04-19 | 2013-05-07 | Microsoft Corporation | Bandwidth-proportioned datacenters |
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 |
US9170892B2 (en) | 2010-04-19 | 2015-10-27 | Microsoft Technology Licensing, Llc | Server failure recovery |
US8996611B2 (en) | 2011-01-31 | 2015-03-31 | Microsoft Technology Licensing, Llc | Parallel serialization of request processing |
US8447833B2 (en) | 2010-04-19 | 2013-05-21 | Microsoft Corporation | Reading and writing during cluster growth phase |
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 |
US9792298B1 (en) | 2010-05-03 | 2017-10-17 | Panzura, Inc. | Managing metadata and data storage for a cloud controller in a distributed filesystem |
US9852150B2 (en) | 2010-05-03 | 2017-12-26 | Panzura, Inc. | Avoiding client timeouts in 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 |
US9613064B1 (en) | 2010-05-03 | 2017-04-04 | Panzura, Inc. | Facilitating the recovery of a virtual machine using a distributed filesystem |
US9678981B1 (en) | 2010-05-03 | 2017-06-13 | Panzura, Inc. | Customizing data management for a distributed filesystem |
US9852149B1 (en) | 2010-05-03 | 2017-12-26 | Panzura, Inc. | Transferring and caching a cloud file in a distributed filesystem |
US8805968B2 (en) * | 2010-05-03 | 2014-08-12 | Panzura, Inc. | Accessing cached data from a peer cloud controller in a distributed filesystem |
US9679040B1 (en) | 2010-05-03 | 2017-06-13 | Panzura, Inc. | Performing deduplication in a distributed filesystem |
US8799414B2 (en) * | 2010-05-03 | 2014-08-05 | Panzura, Inc. | Archiving data for a distributed filesystem |
US9678968B1 (en) | 2010-05-03 | 2017-06-13 | Panzura, Inc. | Deleting a file from 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 |
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 |
US8260913B2 (en) * | 2010-05-06 | 2012-09-04 | Go Daddy Operating Company, LLC | Reading a file from 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 |
US9075663B2 (en) * | 2010-05-12 | 2015-07-07 | Samsung Electronics Co., Ltd. | Cloud-based web workers and storages |
CN102884516B (en) * | 2010-05-13 | 2016-08-03 | 惠普发展公司,有限责任合伙企业 | File system migration |
US8521697B2 (en) * | 2010-05-19 | 2013-08-27 | Cleversafe, Inc. | Rebuilding data 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 |
US20110289310A1 (en) * | 2010-05-20 | 2011-11-24 | Selgas Thomas D | Cloud computing appliance |
US20120102080A1 (en) * | 2010-05-20 | 2012-04-26 | Hitachi Software Engineering Co., Ltd. | Computer system and storage capacity extension method |
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 |
US8504526B2 (en) | 2010-06-04 | 2013-08-06 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations |
US8892632B2 (en) * | 2010-06-04 | 2014-11-18 | Microsoft Corporation | Client-server interaction frequency control |
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 |
EP2588977B1 (en) * | 2010-07-02 | 2019-08-21 | 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 |
EP2603873B1 (en) * | 2010-08-12 | 2016-04-27 | Security First Corp. | System and method for secure remote storage of data |
US8886777B2 (en) * | 2010-08-20 | 2014-11-11 | Unisys Corporation | Moving enterprise software applications to a cloud domain |
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 |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
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 |
US9244779B2 (en) | 2010-09-30 | 2016-01-26 | Commvault Systems, Inc. | Data recovery operations, such as recovery from modified network data management protocol data |
US10284437B2 (en) | 2010-09-30 | 2019-05-07 | Efolder, Inc. | Cloud-based virtual machines and offices |
US8954544B2 (en) | 2010-09-30 | 2015-02-10 | Axcient, Inc. | Cloud-based virtual machines and offices |
US9195549B1 (en) | 2010-09-30 | 2015-11-24 | Emc Corporation | Unified recovery |
US8943356B1 (en) | 2010-09-30 | 2015-01-27 | Emc Corporation | Post backup catalogs |
US8549350B1 (en) | 2010-09-30 | 2013-10-01 | Emc Corporation | Multi-tier recovery |
US9235474B1 (en) * | 2011-02-17 | 2016-01-12 | Axcient, Inc. | Systems and methods for maintaining a virtual failover volume of a target computing system |
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 |
US8504870B2 (en) | 2010-09-30 | 2013-08-06 | Emc Corporation | Optimized recovery |
US9705730B1 (en) | 2013-05-07 | 2017-07-11 | Axcient, Inc. | Cloud storage using Merkle trees |
DK2622469T3 (en) | 2010-09-30 | 2020-02-17 | Commvault Systems Inc | Effective data management enhancements, such as docking limited-function data management modules for a complete data management system |
US8589350B1 (en) | 2012-04-02 | 2013-11-19 | Axcient, Inc. | Systems, methods, and media for synthesizing views of file system backups |
US8578109B2 (en) | 2010-09-30 | 2013-11-05 | Commvault Systems, Inc. | Systems and methods for retaining and using data block signatures in data protection operations |
US8924360B1 (en) | 2010-09-30 | 2014-12-30 | Axcient, Inc. | Systems and methods for restoring a file |
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 |
US8595512B2 (en) * | 2010-11-29 | 2013-11-26 | Beijing Z & W Technology Consulting Co., Ltd | Data control method of cloud storage |
US8583599B2 (en) * | 2010-11-29 | 2013-11-12 | Ca, Inc. | Reducing data duplication in 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 |
CN102577237B (en) * | 2010-12-20 | 2014-04-02 | 华为技术有限公司 | Method for scheduling web hosting service, method for processing application access, apparatus and system thereof |
KR101502895B1 (en) | 2010-12-22 | 2015-03-17 | 주식회사 케이티 | Method for recovering errors from all erroneous replicas and the storage system using the method |
IL210169A0 (en) | 2010-12-22 | 2011-03-31 | Yehuda Binder | System and method for routing-based internet security |
US9881034B2 (en) | 2015-12-15 | 2018-01-30 | Mongodb, Inc. | Systems and methods for automating management of distributed databases |
US8572031B2 (en) | 2010-12-23 | 2013-10-29 | Mongodb, Inc. | Method and apparatus for maintaining replica sets |
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 |
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 |
US10977277B2 (en) | 2010-12-23 | 2021-04-13 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US11615115B2 (en) | 2010-12-23 | 2023-03-28 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10740353B2 (en) | 2010-12-23 | 2020-08-11 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US8996463B2 (en) | 2012-07-26 | 2015-03-31 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10346430B2 (en) | 2010-12-23 | 2019-07-09 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US9442671B1 (en) * | 2010-12-23 | 2016-09-13 | Emc Corporation | Distributed consumer cloud storage system |
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 |
US10614098B2 (en) | 2010-12-23 | 2020-04-07 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
KR101544480B1 (en) | 2010-12-24 | 2015-08-13 | 주식회사 케이티 | Distribution storage system having plural proxy servers, distributive management method thereof, and computer-readable recording medium |
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 |
JP5664229B2 (en) * | 2010-12-28 | 2015-02-04 | ソニー株式会社 | Transmission device, transmission method, and program |
US8938534B2 (en) | 2010-12-30 | 2015-01-20 | Ss8 Networks, Inc. | Automatic provisioning of new users of interest for capture on a communication network |
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 |
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 |
US9128768B2 (en) | 2011-01-27 | 2015-09-08 | Microsoft Technology Licensing, LCC | Cloud based master data management |
US20120198018A1 (en) * | 2011-01-27 | 2012-08-02 | Microsoft Corporation | Securely publishing data to network service |
US9584949B2 (en) | 2011-01-27 | 2017-02-28 | Microsoft Technology Licensing, Llc | Cloud based master data management architecture |
US8886742B2 (en) * | 2011-01-28 | 2014-11-11 | Level 3 Communications, Llc | Content delivery network with deep caching infrastructure |
US9021264B2 (en) * | 2011-02-03 | 2015-04-28 | Cloudlink Technologies 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 |
US8606878B2 (en) * | 2011-02-28 | 2013-12-10 | Red Hat, Inc. | Systems and methods for de-populating cloud data store |
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 |
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 |
US8667019B2 (en) * | 2011-04-01 | 2014-03-04 | Microsoft Corporation | Placement goal-based database instance consolidation |
US8667020B2 (en) * | 2011-04-01 | 2014-03-04 | Microsoft Corporation | Placement goal-based database instance dynamic consolidation |
US8751456B2 (en) * | 2011-04-04 | 2014-06-10 | Symantec Corporation | Application wide name space for 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 |
EP2515248A1 (en) * | 2011-04-19 | 2012-10-24 | 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 |
US8627104B2 (en) | 2011-04-28 | 2014-01-07 | Absio Corporation | Secure data storage |
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 |
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 |
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 |
AU2012261972A1 (en) * | 2011-06-01 | 2014-01-09 | Security First Corp. | Systems and methods for secure distributed storage |
JP5740529B2 (en) * | 2011-06-03 | 2015-06-24 | アップル インコーポレイテッド | 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 |
EP2712480B1 (en) | 2011-06-17 | 2018-01-10 | 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 |
US8806588B2 (en) | 2011-06-30 | 2014-08-12 | Amazon Technologies, Inc. | Storage gateway activation process |
US8856190B2 (en) * | 2011-06-30 | 2014-10-07 | Accenture Global Services Limited | Distributed computing system hierarchal structure manipulation |
US8639989B1 (en) | 2011-06-30 | 2014-01-28 | Amazon Technologies, Inc. | Methods and apparatus for remote gateway monitoring and diagnostics |
US9323655B1 (en) * | 2011-06-30 | 2016-04-26 | Emc Corporation | Location of data among storage tiers |
US10754813B1 (en) | 2011-06-30 | 2020-08-25 | Amazon Technologies, Inc. | Methods and apparatus for block storage I/O operations in a storage gateway |
US8639921B1 (en) * | 2011-06-30 | 2014-01-28 | Amazon Technologies, Inc. | Storage gateway security model |
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 |
US8832039B1 (en) | 2011-06-30 | 2014-09-09 | Amazon Technologies, Inc. | Methods and apparatus for data restore and recovery from a remote data store |
US8775376B2 (en) | 2011-06-30 | 2014-07-08 | International Business Machines Corporation | Hybrid data backup in a networked computing environment |
US8706834B2 (en) | 2011-06-30 | 2014-04-22 | Amazon Technologies, Inc. | Methods and apparatus for remotely updating executing processes |
US8601134B1 (en) | 2011-06-30 | 2013-12-03 | Amazon Technologies, Inc. | Remote storage gateway management using gateway-initiated connections |
US20130007091A1 (en) * | 2011-07-01 | 2013-01-03 | Yahoo! Inc. | Methods and apparatuses for storing shared data files in distributed file systems |
US8751538B1 (en) | 2011-07-07 | 2014-06-10 | Google Inc. | Method and apparatus for panel-based management of data |
US8060533B1 (en) | 2011-07-07 | 2011-11-15 | Google Inc. | Panel-based management of data objects from a plurality of data sources |
US20130031028A1 (en) * | 2011-07-25 | 2013-01-31 | Bank Of America | Exchange System Supporting Cloud Computing |
US10678619B2 (en) | 2011-07-27 | 2020-06-09 | Pure Storage, Inc. | Unified logs and device statistics |
WO2013016013A1 (en) * | 2011-07-27 | 2013-01-31 | Cleversafe, Inc. | Generating dispersed storage network event records |
US12099752B2 (en) | 2011-07-27 | 2024-09-24 | Pure Storage, Inc. | Error prediction based on correlation using event records |
US11016702B2 (en) | 2011-07-27 | 2021-05-25 | Pure Storage, Inc. | Hierarchical event tree |
EP2551781A1 (en) * | 2011-07-29 | 2013-01-30 | British Telecommunications Public Limited Company | Data analysis system |
WO2013019869A2 (en) | 2011-08-01 | 2013-02-07 | Actifio, Inc. | Data fingerpringting for copy accuracy assurance |
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 |
CN102907041B (en) | 2011-08-12 | 2016-01-13 | 华为技术有限公司 | A kind of data-sharing systems, data distribution systems and data guard method |
US9971802B2 (en) * | 2011-08-17 | 2018-05-15 | International Business Machines Corporation | Audit record transformation in a dispersed storage network |
US8782762B2 (en) | 2011-08-17 | 2014-07-15 | International Business Machines Corporation | Building data security in a networked computing environment |
US20130212399A1 (en) * | 2011-08-17 | 2013-08-15 | Geoffrey I. Cairns | Travel Vault |
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 |
US8307089B1 (en) | 2011-08-29 | 2012-11-06 | Ariel Inventions, Llc | System and method for storing broadcast content in a cloud-based computing environment |
US9432454B2 (en) * | 2011-08-29 | 2016-08-30 | At&T Intellectual Property I, L.P. | Cloud-to-cloud peering |
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 |
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 |
US8954448B1 (en) | 2011-08-31 | 2015-02-10 | Amazon Technologies, Inc. | Presenting content related to current media consumption |
GB201115083D0 (en) * | 2011-08-31 | 2011-10-19 | Data Connection Ltd | Identifying data items |
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 |
US8620886B1 (en) | 2011-09-20 | 2013-12-31 | Netapp Inc. | Host side deduplication |
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 |
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 |
US9075811B2 (en) * | 2011-09-30 | 2015-07-07 | Symantec Corporation | Cloud information migration systems and methods |
US9116633B2 (en) | 2011-09-30 | 2015-08-25 | Commvault Systems, Inc. | Information management of virtual machines having mapped storage devices |
US9372827B2 (en) | 2011-09-30 | 2016-06-21 | Commvault Systems, Inc. | Migration of an existing computing system to new hardware |
US8930320B2 (en) * | 2011-09-30 | 2015-01-06 | Accenture Global Services Limited | Distributed computing backup and recovery system |
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 |
US9215225B2 (en) | 2013-03-29 | 2015-12-15 | Citrix Systems, Inc. | Mobile device locking with context |
US9286471B2 (en) | 2011-10-11 | 2016-03-15 | Citrix Systems, Inc. | Rules based detection and correction of problems on mobile devices of enterprise users |
US20140032733A1 (en) | 2011-10-11 | 2014-01-30 | Citrix Systems, Inc. | Policy-Based Application Management |
US8806570B2 (en) | 2011-10-11 | 2014-08-12 | Citrix Systems, Inc. | Policy-based application management |
US9280377B2 (en) | 2013-03-29 | 2016-03-08 | Citrix Systems, Inc. | Application with multiple operation modes |
US8799994B2 (en) | 2011-10-11 | 2014-08-05 | 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 |
US9292521B1 (en) * | 2011-10-20 | 2016-03-22 | Amazon Technologies, Inc. | Archiving and querying data updates associated with an electronic catalog system |
US9043311B1 (en) | 2011-10-20 | 2015-05-26 | Amazon Technologies, Inc. | Indexing 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 |
US9141887B2 (en) | 2011-10-31 | 2015-09-22 | 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 |
WO2013070185A1 (en) | 2011-11-07 | 2013-05-16 | 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 |
US9804928B2 (en) | 2011-11-14 | 2017-10-31 | Panzura, Inc. | Restoring an archived file in a distributed filesystem |
US9817898B2 (en) | 2011-11-14 | 2017-11-14 | Microsoft Technology Licensing, Llc | Locating relevant content items across multiple disparate content sources |
US9805054B2 (en) | 2011-11-14 | 2017-10-31 | Panzura, Inc. | Managing a global namespace for a distributed filesystem |
US20130124480A1 (en) * | 2011-11-14 | 2013-05-16 | Clint Chua | System and Method for Viewer Based Image Metadata Sanitization |
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 |
KR102029514B1 (en) * | 2011-11-15 | 2019-10-07 | 아브 이니티오 테크놀로지 엘엘시 | Data clustering based on variant token networks |
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 |
US8990163B2 (en) * | 2011-12-15 | 2015-03-24 | Sap Se | Snapshot of distributed enterprise business data stored in various cloud services |
US9635132B1 (en) * | 2011-12-15 | 2017-04-25 | Amazon Technologies, Inc. | Service and APIs for remote volume-based block storage |
JP5749855B2 (en) * | 2011-12-16 | 2015-07-15 | 株式会社日立製作所 | Computer system and volume migration control method using the same |
US8700572B2 (en) * | 2011-12-20 | 2014-04-15 | 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 |
US9164997B2 (en) | 2012-01-19 | 2015-10-20 | Microsoft Technology Licensing, Llc | Recognizing cloud content |
US9772830B2 (en) | 2012-01-19 | 2017-09-26 | Syntel, Inc. | System and method for modeling cloud rules for migration to the cloud |
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 |
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 |
US9128780B2 (en) | 2012-02-22 | 2015-09-08 | Microsoft Technology Licensing, Llc | Validating license servers in virtualized environments |
US20130219069A1 (en) * | 2012-02-22 | 2013-08-22 | Computer Associates Think, Inc. | System and method for managing virtual hard disks in cloud environments |
KR101280753B1 (en) | 2012-02-22 | 2013-07-05 | 주식회사 팬택 | Cloud service access apparatus and cloud service access method and cloud service access system |
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 |
US9262449B2 (en) | 2012-03-08 | 2016-02-16 | Commvault Systems, Inc. | Automated, tiered data retention |
US8799245B2 (en) | 2012-03-08 | 2014-08-05 | 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 |
US9148417B2 (en) | 2012-04-27 | 2015-09-29 | Intralinks, Inc. | Computerized method and system for managing amendment voting 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 |
US9292815B2 (en) | 2012-03-23 | 2016-03-22 | 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 |
US8515904B1 (en) * | 2012-03-29 | 2013-08-20 | Emc Corporation | Providing file sytem quota support for a file system having separated data and metadata |
WO2013147821A1 (en) | 2012-03-29 | 2013-10-03 | Empire Technology Development, Llc | Determining user key-value storage needs from example queries |
US8832234B1 (en) | 2012-03-29 | 2014-09-09 | Amazon Technologies, Inc. | Distributed data storage controller |
US8615500B1 (en) * | 2012-03-29 | 2013-12-24 | Emc Corporation | Partial block allocation for file system block compression using virtual block metadata |
US8935203B1 (en) | 2012-03-29 | 2015-01-13 | Amazon Technologies, Inc. | Environment-sensitive distributed data management |
US8930364B1 (en) | 2012-03-29 | 2015-01-06 | Amazon Technologies, Inc. | Intelligent data integration |
US9772909B1 (en) * | 2012-03-30 | 2017-09-26 | EMC IP Holding Company LLC | Dynamic proxy server assignment for virtual machine backup |
WO2013148096A1 (en) | 2012-03-30 | 2013-10-03 | Commvault Systems, Inc. | Informaton management of mobile device data |
US9286327B2 (en) | 2012-03-30 | 2016-03-15 | Commvault Systems, Inc. | Data storage recovery automation |
US10157184B2 (en) | 2012-03-30 | 2018-12-18 | Commvault Systems, Inc. | Data previewing before recalling large data files |
JP5962140B2 (en) * | 2012-03-30 | 2016-08-03 | 富士通株式会社 | Program, control method, control apparatus and system |
US9286571B2 (en) | 2012-04-01 | 2016-03-15 | Empire Technology Development Llc | 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 |
JP5964950B2 (en) * | 2012-04-12 | 2016-08-03 | 株式会社日立製作所 | Computer system, data arrangement management method and program |
WO2013154578A1 (en) | 2012-04-13 | 2013-10-17 | Empire Technology Development Llc | 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 |
US9262428B2 (en) | 2012-04-23 | 2016-02-16 | International Business Machines Corporation | Preserving redundancy in data deduplication systems by designation of virtual address |
US10133747B2 (en) | 2012-04-23 | 2018-11-20 | International Business Machines Corporation | Preserving redundancy in data deduplication systems by designation of virtual device |
US8996881B2 (en) | 2012-04-23 | 2015-03-31 | International Business Machines Corporation | Preserving redundancy in data deduplication systems by encryption |
US9137225B2 (en) * | 2012-04-23 | 2015-09-15 | Raghavendra Kulkarni | Seamless remote storage of uniformly encrypted data for diverse platforms and devices |
US9779103B2 (en) | 2012-04-23 | 2017-10-03 | International Business Machines Corporation | Preserving redundancy in data deduplication systems |
US9342537B2 (en) | 2012-04-23 | 2016-05-17 | Commvault Systems, Inc. | Integrated snapshot interface for a data storage system |
KR101579029B1 (en) | 2012-04-25 | 2015-12-28 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | Application programming interface testing services |
US9553860B2 (en) | 2012-04-27 | 2017-01-24 | Intralinks, Inc. | Email effectivity facility in a networked secure collaborative exchange environment |
US9462080B2 (en) * | 2012-04-27 | 2016-10-04 | Hewlett-Packard Development Company, L.P. | Management service to manage a file |
US9160722B2 (en) * | 2012-04-30 | 2015-10-13 | Anchorfree, Inc. | System and method for securing user information on social networks |
US9633032B2 (en) * | 2012-04-30 | 2017-04-25 | Quantum Corporation | Object synthesis |
US20130297535A1 (en) * | 2012-05-04 | 2013-11-07 | Nokia Corporation | Method and apparatus for presenting cloud-based repositories based on location information |
US9021203B2 (en) | 2012-05-07 | 2015-04-28 | International Business Machines Corporation | Enhancing tiering storage performance |
US9645944B2 (en) * | 2012-05-07 | 2017-05-09 | International Business Machines Corporation | Enhancing data caching performance |
US9110815B2 (en) | 2012-05-07 | 2015-08-18 | International Business Machines Corporation | Enhancing data processing performance by cache management of fingerprint index |
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 |
ES2827974T3 (en) * | 2012-05-20 | 2021-05-25 | Microsoft Technology Licensing Llc | Hierarchical server-based 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 |
US9298717B2 (en) | 2012-06-14 | 2016-03-29 | 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 |
US20140019755A1 (en) * | 2012-07-12 | 2014-01-16 | 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 |
US8972405B1 (en) * | 2012-07-26 | 2015-03-03 | Emc Corporation | Storage resource management information modeling in a cloud processing environment |
US11544284B2 (en) | 2012-07-26 | 2023-01-03 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10872095B2 (en) | 2012-07-26 | 2020-12-22 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11403317B2 (en) | 2012-07-26 | 2022-08-02 | 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 |
US9483201B2 (en) | 2012-07-31 | 2016-11-01 | 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 |
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 |
CN103577503A (en) * | 2012-08-10 | 2014-02-12 | 鸿富锦精密工业(深圳)有限公司 | Cloud file storage system and method |
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 |
US8938481B2 (en) | 2012-08-13 | 2015-01-20 | Commvault Systems, Inc. | Generic file level restore from a block-level secondary copy |
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 |
EP3657349B1 (en) * | 2012-08-17 | 2022-05-11 | 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 |
US9129130B2 (en) | 2012-08-31 | 2015-09-08 | Pkware, Inc. | Systems and methods for data verification and replay prevention |
US10148530B2 (en) | 2012-09-07 | 2018-12-04 | Oracle International Corporation | Rule based subscription cloning |
US9467355B2 (en) | 2012-09-07 | 2016-10-11 | Oracle International Corporation | Service association model |
US9619540B2 (en) | 2012-09-07 | 2017-04-11 | Oracle International Corporation | Subscription order generation for cloud services |
US9542400B2 (en) * | 2012-09-07 | 2017-01-10 | Oracle International Corporation | Service archive support |
US9276942B2 (en) | 2012-09-07 | 2016-03-01 | Oracle International Corporation | Multi-tenancy identity management system |
US9621435B2 (en) | 2012-09-07 | 2017-04-11 | Oracle International Corporation | Declarative and extensible model for provisioning of cloud based services |
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 |
CN104583966B (en) * | 2012-10-01 | 2018-06-08 | 株式会社日立制作所 | For the backup of deduplication file system and recovery system and corresponding server and method |
US9785647B1 (en) | 2012-10-02 | 2017-10-10 | Axcient, Inc. | File system virtualization |
US9392077B2 (en) | 2012-10-12 | 2016-07-12 | Citrix Systems, Inc. | Coordinating a computing activity across applications and devices having multiple operation modes in an orchestration framework for connected devices |
US9516022B2 (en) | 2012-10-14 | 2016-12-06 | Getgo, Inc. | Automated meeting room |
US20140109171A1 (en) | 2012-10-15 | 2014-04-17 | Citrix Systems, Inc. | Providing Virtualized Private Network tunnels |
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 |
US9971585B2 (en) | 2012-10-16 | 2018-05-15 | Citrix Systems, Inc. | Wrapping unmanaged applications on a mobile device |
US20140108615A1 (en) * | 2012-10-16 | 2014-04-17 | Norifumi Takaya | Method and apparatus for managing a catalog of media content |
EP2909715B1 (en) | 2012-10-16 | 2022-12-14 | Citrix Systems, Inc. | Application wrapping for application management framework |
US9606774B2 (en) | 2012-10-16 | 2017-03-28 | Citrix Systems, Inc. | Wrapping an application with field-programmable business logic |
US20140108793A1 (en) | 2012-10-16 | 2014-04-17 | Citrix Systems, Inc. | Controlling mobile device access to secure data |
US9122647B2 (en) * | 2012-10-16 | 2015-09-01 | Dell Products, L.P. | System and method to backup objects on an object storage platform |
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 |
WO2014068362A1 (en) * | 2012-10-30 | 2014-05-08 | Soda Private Limited | 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 |
US9418130B2 (en) | 2012-11-06 | 2016-08-16 | Tibco Software, Inc. | Data replication protocol with efficient update of replica machines |
CN103812882B (en) * | 2012-11-06 | 2018-01-30 | 腾讯科技(深圳)有限公司 | A kind of method and system of file transmission |
US9852140B1 (en) | 2012-11-07 | 2017-12-26 | Axcient, Inc. | Efficient file replication |
US10367914B2 (en) | 2016-01-12 | 2019-07-30 | Cisco Technology, Inc. | Attaching service level agreements to application containers and enabling service assurance |
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 |
US9141669B2 (en) | 2013-01-22 | 2015-09-22 | Go Daddy Operating Company, LLC | Configuring an origin server content delivery using a pulled data list |
US9160809B2 (en) | 2012-11-26 | 2015-10-13 | Go Daddy Operating Company, LLC | DNS overriding-based methods of accelerating content delivery |
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 |
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 |
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 |
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 |
US9596288B2 (en) | 2012-12-04 | 2017-03-14 | Pixia Corp. | Method and system of requesting information from a server computer |
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 |
US9264499B2 (en) | 2012-12-14 | 2016-02-16 | Intel Corporation | Cloud data storage location monitoring |
US9348840B2 (en) * | 2012-12-14 | 2016-05-24 | Intel Corporation | Adaptive data striping and replication across multiple storage clouds for high availability and performance |
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 |
US20140181047A1 (en) | 2012-12-21 | 2014-06-26 | Commvault Systems, Inc. | Systems and methods to protect deleted files |
US10379988B2 (en) | 2012-12-21 | 2019-08-13 | Commvault Systems, Inc. | Systems and methods for performance monitoring |
US9256622B2 (en) | 2012-12-21 | 2016-02-09 | Commvault Systems, Inc. | Systems and methods to confirm replication data accuracy for 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 |
US9268797B2 (en) * | 2012-12-21 | 2016-02-23 | Zetta Inc. | Systems and methods for on-line backup and disaster recovery |
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 |
US9152639B2 (en) | 2013-01-04 | 2015-10-06 | Hitachi, Ltd. | Method and apparatus to transfer file data to a cloud environment |
US9075529B2 (en) | 2013-01-04 | 2015-07-07 | International Business Machines Corporation | Cloud based data migration and replication |
GB2509709A (en) | 2013-01-09 | 2014-07-16 | Ibm | Transparent encryption/decryption gateway for cloud storage services |
US9760444B2 (en) | 2013-01-11 | 2017-09-12 | Commvault Systems, Inc. | Sharing of secondary storage data |
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 |
US9483489B2 (en) | 2013-01-14 | 2016-11-01 | Commvault Systems, Inc. | Partial sharing of secondary storage files in a data storage system |
US20140201233A1 (en) * | 2013-01-15 | 2014-07-17 | Tencent Technology (Shenzhen) Company Limited | Method, device, and system for uploading data |
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 |
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 |
US9479664B2 (en) | 2013-01-31 | 2016-10-25 | Hewlett-Packard Development Company, L.P. | Use of resource server for imaging device application payload |
US9645950B2 (en) * | 2013-01-31 | 2017-05-09 | Vmware, Inc. | Low-cost backup and edge caching using unused disk blocks |
US9438493B2 (en) | 2013-01-31 | 2016-09-06 | Go Daddy Operating Company, LLC | Monitoring network entities via a central monitoring system |
WO2014120217A1 (en) * | 2013-01-31 | 2014-08-07 | 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 |
US8738577B1 (en) | 2013-03-01 | 2014-05-27 | Storagecraft Technology Corporation | Change tracking for multiphase deduplication |
US8732135B1 (en) | 2013-03-01 | 2014-05-20 | Storagecraft Technology Corporation | Restoring a backup from a deduplication vault storage |
US8682870B1 (en) | 2013-03-01 | 2014-03-25 | Storagecraft Technology Corporation | Defragmentation during 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 |
US11023487B2 (en) | 2013-03-04 | 2021-06-01 | Sap Se | Data replication for cloud based in-memory databases |
KR101505263B1 (en) * | 2013-03-07 | 2015-03-24 | 포항공과대학교 산학협력단 | Method for de-duplicating data and apparatus therefor |
US9292153B1 (en) | 2013-03-07 | 2016-03-22 | Axcient, Inc. | Systems and methods for providing efficient and focused visualization of data |
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 |
US9960979B1 (en) * | 2013-03-12 | 2018-05-01 | Western Digital Technologies, Inc. | Data migration service |
TW201435612A (en) * | 2013-03-12 | 2014-09-16 | Hon Hai Prec Ind Co Ltd | Storage space expanding system and method |
US11252633B2 (en) * | 2013-03-12 | 2022-02-15 | Gerald Douglas Hosier, JR. | Online systems and methods for advancing information organization sharing and collective action |
US20140281545A1 (en) | 2013-03-12 | 2014-09-18 | Commvault Systems, Inc. | Multi-layer embedded encryption |
US9116849B2 (en) * | 2013-03-13 | 2015-08-25 | Intel Corporation | Community-based de-duplication for encrypted data |
US20140266801A1 (en) * | 2013-03-14 | 2014-09-18 | Infinite Computing Systems, Inc. | Digital Parking Management, Enforcement, and Notification |
CN105027106B (en) | 2013-03-14 | 2018-03-27 | 英特尔公司 | Data are managed in cloud computing environment using management metadata |
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 |
US9781118B2 (en) | 2013-03-14 | 2017-10-03 | Intel Corporation | Differentiated containerization and execution of web content based on trust level and other attributes |
US9804994B2 (en) * | 2013-03-15 | 2017-10-31 | Microsoft Technology Licensing, Llc | Application architecture supporting multiple services and caching |
US20150156065A1 (en) * | 2013-03-15 | 2015-06-04 | Gravitant, Inc. | Policy management functionality within a cloud service brokerage platform |
US9565139B2 (en) * | 2013-03-15 | 2017-02-07 | Comcast Cable Communications, Llc | Remote latency adjustment |
US20140278807A1 (en) * | 2013-03-15 | 2014-09-18 | Cloudamize, Inc. | Cloud service optimization for cost, performance and configuration |
US9818127B2 (en) * | 2013-03-15 | 2017-11-14 | International Business Machines Corporation | Implementing comparison of cloud service provider package offerings |
US9767299B2 (en) | 2013-03-15 | 2017-09-19 | Mymail Technology, Llc | Secure cloud data sharing |
US10445340B2 (en) * | 2013-03-15 | 2019-10-15 | Ajay JADHAV | 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 |
KR102211212B1 (en) * | 2013-03-15 | 2021-02-03 | 비데리 인코포레이티드 | Systems and methods for displaying, distributing, viewing and controlling digital art and imaging |
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 |
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 |
WO2014160934A1 (en) | 2013-03-28 | 2014-10-02 | Google Inc. | System and method to store third-party metadata in a cloud storage system |
KR20150135439A (en) * | 2013-03-28 | 2015-12-02 | 퀄컴 인코포레이티드 | Unifying cloud services for online sharing |
US9276973B2 (en) * | 2013-03-29 | 2016-03-01 | Philip Scott Lyren | Peer-to-peer data storage |
US9985850B2 (en) | 2013-03-29 | 2018-05-29 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US8850049B1 (en) | 2013-03-29 | 2014-09-30 | Citrix Systems, Inc. | Providing mobile device management functionalities for a managed browser |
US9355223B2 (en) * | 2013-03-29 | 2016-05-31 | Citrix Systems, Inc. | Providing a managed browser |
US20140297840A1 (en) | 2013-03-29 | 2014-10-02 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US8813179B1 (en) * | 2013-03-29 | 2014-08-19 | 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 |
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 |
US9483361B2 (en) | 2013-05-08 | 2016-11-01 | Commvault Systems, Inc. | Information management cell with failover management capability |
EP2997474B1 (en) | 2013-05-16 | 2021-10-06 | Hewlett Packard Enterprise Development LP | Reporting degraded state of data retrieved for distributed object |
US9170996B2 (en) | 2013-05-16 | 2015-10-27 | Bank Of America Corporation | Content interchange bus |
WO2014185918A1 (en) * | 2013-05-16 | 2014-11-20 | Hewlett-Packard Development Company, L.P. | Selecting a store for deduplicated data |
US10496490B2 (en) | 2013-05-16 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Selecting a store for deduplicated data |
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 |
US9514137B2 (en) | 2013-06-12 | 2016-12-06 | Exablox Corporation | Hybrid garbage collection |
US9384234B2 (en) | 2013-06-13 | 2016-07-05 | Bank Of America Corporation | Identification of load utility |
US9384223B2 (en) | 2013-06-13 | 2016-07-05 | Bank Of America Corporation | Automation of MLOAD and TPUMP conversion |
US10631019B2 (en) | 2013-06-18 | 2020-04-21 | Vecima Networks Inc. | Remote storage digital video recording optimization method and system |
WO2014205286A1 (en) | 2013-06-19 | 2014-12-24 | 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 |
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 |
TW201504816A (en) * | 2013-07-19 | 2015-02-01 | Richplay Information Co Ltd | Cloud hard drive management method |
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 |
US9590886B2 (en) | 2013-11-01 | 2017-03-07 | Commvault Systems, Inc. | Systems and methods for differential health checking of an information management system |
US10671491B2 (en) * | 2013-11-01 | 2020-06-02 | Micro Focus Llc | Asset browsing and restoration over a network using pre-staging and directory storage |
WO2015065470A1 (en) * | 2013-11-01 | 2015-05-07 | Longsand Limited | Asset browsing and restoration over a network using on demand staging |
CA2926605A1 (en) * | 2013-11-06 | 2015-05-14 | 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 |
WO2015073708A1 (en) | 2013-11-14 | 2015-05-21 | 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 |
US9519696B1 (en) | 2014-01-07 | 2016-12-13 | Amazon Technologies, Inc. | Data transformation policies |
US10331895B1 (en) * | 2014-01-07 | 2019-06-25 | Amazon Technologies, Inc. | Forced data transformation policy |
US9898476B2 (en) * | 2014-01-22 | 2018-02-20 | Futurewei Technologies, Inc. | Managing lock or latch in concurrent execution of queries |
US9495251B2 (en) | 2014-01-24 | 2016-11-15 | Commvault Systems, Inc. | Snapshot readiness checking and reporting |
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 |
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 |
US9798631B2 (en) | 2014-02-04 | 2017-10-24 | Microsoft Technology Licensing, Llc | Block storage by decoupling ordering from durability |
WO2015120071A2 (en) | 2014-02-04 | 2015-08-13 | Exablox Corporation | Content based organization of file systems |
US10133741B2 (en) | 2014-02-13 | 2018-11-20 | Amazon Technologies, Inc. | Log data service in a virtual environment |
US9509772B1 (en) | 2014-02-13 | 2016-11-29 | Google Inc. | Visualization and control of ongoing ingress actions |
US20150234775A1 (en) * | 2014-02-14 | 2015-08-20 | Western Digital Technologies, Inc. | Enabling file oriented access on storage devices |
US10366102B2 (en) | 2014-02-19 | 2019-07-30 | Snowflake Inc. | Resource 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 |
US9986029B2 (en) | 2014-03-19 | 2018-05-29 | Red Hat, Inc. | File replication using file content location identifiers |
US10025808B2 (en) | 2014-03-19 | 2018-07-17 | Red Hat, Inc. | Compacting change logs using file content location identifiers |
US9965505B2 (en) | 2014-03-19 | 2018-05-08 | Red Hat, Inc. | Identifying files in change logs 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 |
US9961058B2 (en) | 2014-03-21 | 2018-05-01 | Ptc Inc. | System and method of message routing via connection servers in a distributed computing environment |
US10685743B2 (en) * | 2014-03-21 | 2020-06-16 | Ehr Command Center, Llc | Data command center visual display system |
US9560170B2 (en) | 2014-03-21 | 2017-01-31 | Ptc Inc. | System and method of abstracting communication protocol using self-describing messages |
US9462085B2 (en) * | 2014-03-21 | 2016-10-04 | Ptc Inc. | Chunk-based communication of binary dynamic rest messages |
US11294771B1 (en) * | 2014-03-24 | 2022-04-05 | EMC IP Holding Company LLC | Storage of discovered data object to storage layouts |
US9600201B2 (en) * | 2014-03-27 | 2017-03-21 | Hitachi, Ltd. | Storage system and method for deduplicating 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 |
US10069914B1 (en) | 2014-04-21 | 2018-09-04 | David Lane Smith | Distributed storage system for long term data storage |
US10713379B2 (en) * | 2014-04-21 | 2020-07-14 | David Lane Smith | Distributed storage system for long term data storage |
WO2015164521A1 (en) | 2014-04-23 | 2015-10-29 | 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 |
WO2015167538A2 (en) * | 2014-04-30 | 2015-11-05 | 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 |
US9792187B2 (en) | 2014-05-06 | 2017-10-17 | Actifio, Inc. | Facilitating test failover using a thin provisioned virtual machine created from a snapshot |
CN106717012B (en) * | 2014-05-06 | 2022-07-12 | TiVo解决方案有限公司 | Cloud-based media content management method, computer-readable storage medium, and apparatus |
US9473365B2 (en) | 2014-05-08 | 2016-10-18 | Cisco Technology, Inc. | Collaborative inter-service scheduling of logical resources in cloud platforms |
EP3140734B1 (en) | 2014-05-09 | 2020-04-08 | Nutanix, Inc. | Mechanism for providing external access to a secured networked virtualization environment |
DK3127300T3 (en) * | 2014-05-12 | 2019-10-07 | Google Llc | Managing nic-encrypted flows to migrate 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 |
WO2015178993A1 (en) * | 2014-05-20 | 2015-11-26 | Cloudifyd, Inc. | Method and system for integrated cloud storage management |
US9614826B1 (en) * | 2014-05-20 | 2017-04-04 | Symantec Corporation | Sensitive data protection |
US10465492B2 (en) | 2014-05-20 | 2019-11-05 | KATA Systems LLC | System and method for oil and condensate processing |
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.) |
US9684594B2 (en) | 2014-07-16 | 2017-06-20 | ClearSky Data | Write back coordination node for cache latency correction |
US20160019117A1 (en) | 2014-07-16 | 2016-01-21 | Commvault Systems, Inc. | Creating customized bootable image for client computing device from backup copy |
US9430387B2 (en) | 2014-07-16 | 2016-08-30 | ClearSky Data | Decoupling data and metadata in hierarchical cache system |
US9652389B2 (en) | 2014-07-16 | 2017-05-16 | ClearSky Data | Hash discriminator process for hierarchical cache system |
US20160019224A1 (en) | 2014-07-18 | 2016-01-21 | Commvault Systems, Inc. | File system content archiving based on third-party application archiving rules and metadata |
US9565253B2 (en) | 2014-07-21 | 2017-02-07 | International Business Machines Corporation | Scalable approach to manage storage volumes across heterogenous cloud systems |
US20160019210A1 (en) * | 2014-07-21 | 2016-01-21 | Dropbox, Inc. | Sharing unmanaged content using a content management system |
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 |
US9787576B2 (en) | 2014-07-31 | 2017-10-10 | Microsoft Technology Licensing, Llc | Propagating routing awareness for autonomous networks |
US10592080B2 (en) | 2014-07-31 | 2020-03-17 | Microsoft Technology Licensing, Llc | Assisted presentation of application windows |
US10254942B2 (en) | 2014-07-31 | 2019-04-09 | Microsoft Technology Licensing, Llc | Adaptive sizing and positioning of application windows |
US9836464B2 (en) | 2014-07-31 | 2017-12-05 | Microsoft Technology Licensing, Llc | Curating media from social connections |
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 |
US9414417B2 (en) | 2014-08-07 | 2016-08-09 | Microsoft Technology Licensing, Llc | Propagating communication awareness over a cellular network |
WO2016020928A1 (en) * | 2014-08-07 | 2016-02-11 | Hewlett-Packard Development Company, L.P. | Active directory topology creation |
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 |
WO2016032904A1 (en) | 2014-08-27 | 2016-03-03 | Mokhtarzada Holdings, Llc | Method and system for expanding storage capacity of a drive using cloud storage systems |
US10346550B1 (en) * | 2014-08-28 | 2019-07-09 | X1 Discovery, Inc. | Methods and systems for searching and indexing virtual environments |
FR3025340B1 (en) * | 2014-08-28 | 2017-02-03 | Bull Sas | CLOUD OF DATA |
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 |
US9774672B2 (en) | 2014-09-03 | 2017-09-26 | Commvault Systems, Inc. | Consolidated processing of storage-array commands by 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 |
US9864864B2 (en) * | 2014-09-23 | 2018-01-09 | Accenture Global Services Limited | Industrial security agent platform |
US9866634B1 (en) * | 2014-09-26 | 2018-01-09 | Western Digital Technologies, Inc. | Managing and accessing data storage systems |
US9762676B2 (en) * | 2014-09-26 | 2017-09-12 | Intel Corporation | Hardware resource access systems and techniques |
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 |
US9886267B2 (en) | 2014-10-30 | 2018-02-06 | Equinix, Inc. | Interconnection platform for real-time configuration and management of a cloud-based services exchange |
WO2016069034A1 (en) | 2014-11-01 | 2016-05-06 | Hewlett Packard Enterprise Development Lp | 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 |
US10095768B2 (en) * | 2014-11-14 | 2018-10-09 | Veritas Technologies Llc | Systems and methods for aggregating information-asset classifications |
US9648105B2 (en) | 2014-11-14 | 2017-05-09 | Commvault Systems, Inc. | Unified snapshot storage management, using an enhanced storage manager and enhanced media agents |
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 |
US20160162364A1 (en) | 2014-12-03 | 2016-06-09 | Commvault Systems, Inc. | Secondary storage pruning |
US9632713B2 (en) | 2014-12-03 | 2017-04-25 | Commvault Systems, Inc. | Secondary storage editor |
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 |
WO2016105337A1 (en) * | 2014-12-22 | 2016-06-30 | 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 |
US10581856B2 (en) * | 2015-01-19 | 2020-03-03 | Nokia Technologies Oy | Method and apparatus for heterogeneous data storage management in cloud computing |
US9870420B2 (en) | 2015-01-19 | 2018-01-16 | Google Llc | Classification and storage of documents |
US9588849B2 (en) | 2015-01-20 | 2017-03-07 | Commvault Systems, Inc. | Synchronizing selected portions of data in a storage management system |
US9952934B2 (en) | 2015-01-20 | 2018-04-24 | Commvault Systems, Inc. | Synchronizing selected portions of data in a storage management system |
EP3248097B1 (en) * | 2015-01-20 | 2022-02-09 | Ultrata LLC | Object memory data flow instruction execution |
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 |
US10592488B2 (en) | 2015-01-25 | 2020-03-17 | Iguazio Systems Ltd. | Application-centric object interfaces |
WO2016121093A1 (en) * | 2015-01-30 | 2016-08-04 | 株式会社日立製作所 | File server device |
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 |
US9436392B1 (en) | 2015-02-17 | 2016-09-06 | Nimble Storage, Inc. | Access-based eviction of blocks from solid state drive cache memory |
US9971821B1 (en) | 2015-02-17 | 2018-05-15 | Cohesity, Inc. | Search and analytics for a storage systems |
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 |
US10037617B2 (en) | 2015-02-27 | 2018-07-31 | Cisco Technology, Inc. | Enhanced user interface systems including dynamic context selection for cloud-based networks |
US10708342B2 (en) | 2015-02-27 | 2020-07-07 | Cisco Technology, Inc. | Dynamic troubleshooting workspaces for cloud and network management systems |
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 |
US10180947B2 (en) | 2015-04-29 | 2019-01-15 | Box, Inc. | File-agnostic data downloading in a virtual file system for 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 |
CN106575304A (en) | 2015-05-19 | 2017-04-19 | 广州市动景计算机科技有限公司 | 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 |
US9971526B1 (en) * | 2015-06-29 | 2018-05-15 | Amazon Technologies, Inc. | Volume-based key-value store |
US10083315B2 (en) | 2015-06-29 | 2018-09-25 | Microsoft Technology Licensing, Llc | Privacy enhanced personal search index |
US9912752B1 (en) * | 2015-06-29 | 2018-03-06 | Amazon Technologies, Inc. | Retention-based data management in a network-based data 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 |
US10496669B2 (en) | 2015-07-02 | 2019-12-03 | 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 |
SG10201607160PA (en) * | 2015-08-28 | 2017-03-30 | 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 |
EP3350728B1 (en) | 2015-09-18 | 2022-04-06 | 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 |
US10673623B2 (en) | 2015-09-25 | 2020-06-02 | Mongodb, Inc. | Systems and methods for hierarchical key management in encrypted distributed databases |
US10423626B2 (en) | 2015-09-25 | 2019-09-24 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10846411B2 (en) | 2015-09-25 | 2020-11-24 | Mongodb, Inc. | Distributed database systems and methods with encrypted storage engines |
US20170091808A1 (en) * | 2015-09-30 | 2017-03-30 | Linkedin Corporation | Tracking interaction with sponsored and unsponsored content |
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 |
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 |
US11005682B2 (en) | 2015-10-06 | 2021-05-11 | Cisco Technology, Inc. | Policy-driven switch overlay bypass in a hybrid cloud network environment |
US10067780B2 (en) | 2015-10-06 | 2018-09-04 | Cisco Technology, Inc. | Performance-based public cloud selection for a hybrid cloud 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 |
US11360844B1 (en) | 2015-10-23 | 2022-06-14 | Pure Storage, Inc. | Recovery of a container storage provider |
US10514978B1 (en) * | 2015-10-23 | 2019-12-24 | Pure Storage, Inc. | Automatic deployment of corrective measures for storage arrays |
US10176036B2 (en) | 2015-10-29 | 2019-01-08 | Commvault Systems, Inc. | Monitoring, diagnosing, and repairing a management database in a data storage management system |
WO2017075594A1 (en) * | 2015-10-29 | 2017-05-04 | Datto, Inc. | Apparatuses, methods, and systems for storage and analysis of saas data and non-saas data for businesses and other organizations |
US20180203636A1 (en) * | 2015-10-30 | 2018-07-19 | 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 |
US20170161101A1 (en) * | 2015-12-04 | 2017-06-08 | Vmware, Inc. | Modularized automated-application-release-management subsystem |
US11265202B2 (en) | 2015-12-04 | 2022-03-01 | Vmware, Inc. | Integrated automated application deployment |
US10084703B2 (en) | 2015-12-04 | 2018-09-25 | Cisco Technology, Inc. | Infrastructure-exclusive service forwarding |
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 |
CN105681273B (en) * | 2015-12-17 | 2018-11-20 | 西安电子科技大学 | Client-side deduplication method |
US10951568B2 (en) * | 2015-12-17 | 2021-03-16 | Wolfram Research, Inc. | Methods and systems for processing electronic messages |
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 |
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 |
US9910968B2 (en) | 2015-12-30 | 2018-03-06 | Dropbox, Inc. | Automatic notifications for inadvertent file events |
US20170193051A1 (en) * | 2015-12-31 | 2017-07-06 | Mehdi Ghafourifar | Systems and methods for automatic archiving, sorting, and/or indexing of secondary message content |
US11023433B1 (en) * | 2015-12-31 | 2021-06-01 | Emc Corporation | Systems and methods for bi-directional replication of cloud tiered data across incompatible clusters |
EP3188037A1 (en) * | 2015-12-31 | 2017-07-05 | Thomson Licensing | Method and device for managing personal media items |
KR102482324B1 (en) * | 2016-01-05 | 2022-12-29 | 삼성전자주식회사 | Apparatus and method for transtting and receiving file in wireless communication system supporting cloud storage service |
US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
US10338968B2 (en) | 2016-02-05 | 2019-07-02 | Sas Institute Inc. | Distributed neuromorphic processing performance accountability |
US10795935B2 (en) | 2016-02-05 | 2020-10-06 | Sas Institute Inc. | Automated generation of job flow definitions |
US10642896B2 (en) | 2016-02-05 | 2020-05-05 | Sas Institute Inc. | Handling of data sets during execution of task routines of multiple languages |
US10650045B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Staged training of neural networks for improved time series prediction performance |
US10331495B2 (en) | 2016-02-05 | 2019-06-25 | Sas Institute Inc. | Generation of directed acyclic graphs from task routines |
US10346476B2 (en) | 2016-02-05 | 2019-07-09 | Sas Institute Inc. | Sketch entry and interpretation of graphical user interface design |
US10650046B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Many task computing with distributed file system |
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 |
US10095506B2 (en) | 2016-02-12 | 2018-10-09 | Nutanix, Inc. | Virtualized file server data sharing |
US10552192B2 (en) | 2016-02-12 | 2020-02-04 | Nutanix, Inc. | Entity database timestamps |
WO2017144078A1 (en) * | 2016-02-23 | 2017-08-31 | Abb Schweiz Ag | Robot controller system and method therefor |
US10852998B2 (en) | 2016-02-25 | 2020-12-01 | Rubrik, Inc. | Sub-cluster recovery using a partition group index |
US10303557B2 (en) | 2016-03-09 | 2019-05-28 | Commvault Systems, Inc. | Data transfer to a 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 |
US11405423B2 (en) | 2016-03-11 | 2022-08-02 | Netskope, Inc. | Metadata-based data loss prevention (DLP) for cloud resources |
US11074270B2 (en) * | 2016-03-11 | 2021-07-27 | Sap Se | System and method for data integration |
US11019101B2 (en) * | 2016-03-11 | 2021-05-25 | Netskope, Inc. | Middle ware security layer for cloud computing services |
US11425169B2 (en) | 2016-03-11 | 2022-08-23 | Netskope, Inc. | Small-footprint endpoint data loss prevention (DLP) |
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 |
US10013201B2 (en) | 2016-03-29 | 2018-07-03 | International Business Machines Corporation | Region-integrated data deduplication |
KR101758558B1 (en) * | 2016-03-29 | 2017-07-26 | 엘에스산전 주식회사 | Energy managemnet server and energy managemnet system having thereof |
US10496494B1 (en) * | 2016-03-31 | 2019-12-03 | EMC IP Holding Company LLC | Multilayer manifest for data storage systems |
CN109196457A (en) * | 2016-04-11 | 2019-01-11 | 慧与发展有限责任合伙企业 | It sends de-redundancy data and repairs agency |
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 |
US10621370B2 (en) * | 2016-05-27 | 2020-04-14 | Intel Corporation | Methods and apparatus to provide group-based row-level security for big data platforms |
US20170344598A1 (en) * | 2016-05-27 | 2017-11-30 | International Business Machines Corporation | De-Duplication Optimized Platform for Object Grouping |
US10671496B2 (en) | 2016-05-31 | 2020-06-02 | Mongodb, Inc. | Method and apparatus for reading and writing committed data |
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 |
WO2018006072A1 (en) | 2016-06-30 | 2018-01-04 | Clause, Inc. | Systems 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 |
WO2018011914A1 (en) * | 2016-07-13 | 2018-01-18 | 株式会社日立製作所 | Data archive system and data archive method |
CN107622067B (en) * | 2016-07-13 | 2020-11-20 | 杭州海康威视数字技术股份有限公司 | Method and device for storing, reading and displaying multiple multimedia files |
US10263898B2 (en) | 2016-07-20 | 2019-04-16 | Cisco Technology, Inc. | System and method for implementing universal cloud classification (UCC) as a service (UCCaaS) |
US10382597B2 (en) | 2016-07-20 | 2019-08-13 | Cisco Technology, Inc. | System and method for transport-layer level identification and isolation of container traffic |
US10142346B2 (en) | 2016-07-28 | 2018-11-27 | Cisco Technology, Inc. | Extension of a private cloud end-point group to a public cloud |
US12079171B2 (en) | 2016-08-02 | 2024-09-03 | Microsoft Technology Licensing, Llc | Symbolic link based placeholders |
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 |
US11368528B2 (en) | 2016-09-20 | 2022-06-21 | Microsoft Technology Licensing, Llc | Dynamic storage management in cloud storage synchronization |
US10616327B2 (en) | 2016-09-20 | 2020-04-07 | Microsoft Technology Licensing, Llc | Policy based hydration behavior 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 |
CN106487787B (en) * | 2016-09-30 | 2020-01-07 | 四川九洲电器集团有限责任公司 | Multimedia on demand method and server |
US10126946B1 (en) * | 2016-09-30 | 2018-11-13 | EMC IP Holding Company LLC | Data protection object store |
WO2018067871A1 (en) * | 2016-10-05 | 2018-04-12 | 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 |
US10505792B1 (en) | 2016-11-02 | 2019-12-10 | F5 Networks, Inc. | Methods for facilitating network traffic analytics and devices thereof |
US10389810B2 (en) | 2016-11-02 | 2019-08-20 | Commvault Systems, Inc. | Multi-threaded scanning of distributed file systems |
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 |
KR102666331B1 (en) * | 2016-11-11 | 2024-05-17 | 삼성전자주식회사 | 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 |
US11568073B2 (en) | 2016-12-02 | 2023-01-31 | Nutanix, Inc. | Handling permissions for virtualized file servers |
US10728090B2 (en) | 2016-12-02 | 2020-07-28 | Nutanix, Inc. | Configuring network segmentation for a virtualization environment |
US10824455B2 (en) | 2016-12-02 | 2020-11-03 | Nutanix, Inc. | Virtualized server systems and methods including load balancing for virtualized file servers |
US11562034B2 (en) | 2016-12-02 | 2023-01-24 | Nutanix, Inc. | Transparent referrals for distributed file servers |
US11294777B2 (en) | 2016-12-05 | 2022-04-05 | Nutanix, Inc. | Disaster recovery for distributed file servers, including metadata fixers |
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 |
US11281484B2 (en) | 2016-12-06 | 2022-03-22 | Nutanix, Inc. | Virtualized server systems and methods including scaling of file system virtual machines |
US10887102B2 (en) | 2016-12-15 | 2021-01-05 | Nutanix, Inc. | Intent framework |
US20190332230A1 (en) | 2016-12-15 | 2019-10-31 | Nutanix, Inc. | User interface view generation |
US10326817B2 (en) | 2016-12-20 | 2019-06-18 | Cisco Technology, Inc. | System and method for quality-aware recording in large scale collaborate clouds |
US10698941B2 (en) | 2017-01-06 | 2020-06-30 | Oracle International Corporation | ZFS block-level deduplication at cloud scale |
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 |
US10594481B2 (en) | 2017-02-21 | 2020-03-17 | International Business Machines Corporation | Replicated encrypted data management |
US10333984B2 (en) | 2017-02-21 | 2019-06-25 | International Business Machines Corporation | Optimizing data reduction, security and encryption requirements in a network environment |
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 |
US10860550B1 (en) | 2017-03-30 | 2020-12-08 | Amazon Technologies, Inc. | Versioning schemas for hierarchical data structures |
US10671639B1 (en) | 2017-03-30 | 2020-06-02 | Amazon Technologies, Inc. | Selectively replicating changes to hierarchial data structures |
US10423342B1 (en) | 2017-03-30 | 2019-09-24 | Amazon Technologies, Inc. | Scaling events for hosting hierarchical data structures |
US11140173B2 (en) | 2017-03-31 | 2021-10-05 | Baimmt, Llc | System and method for secure access control |
US10853195B2 (en) | 2017-03-31 | 2020-12-01 | Commvault Systems, Inc. | Granular restoration of virtual machine application data |
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 |
US10461898B2 (en) | 2017-06-08 | 2019-10-29 | Bank Of America Corporation | Parallel data transmission |
US10608793B2 (en) | 2017-06-08 | 2020-03-31 | Bank Of America Corporation | Serial 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 |
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 |
US10382274B2 (en) | 2017-06-26 | 2019-08-13 | Cisco Technology, Inc. | System and method for wide area zero-configuration network auto configuration |
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 |
US10425288B2 (en) | 2017-07-21 | 2019-09-24 | Cisco Technology, Inc. | Container telemetry in data center environments with blade servers and switches |
JP7044967B2 (en) * | 2017-07-21 | 2022-03-31 | 富士通株式会社 | Storage control program, storage control device and storage control method |
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 |
US10541866B2 (en) | 2017-07-25 | 2020-01-21 | Cisco Technology, Inc. | Detecting and resolving multicast traffic performance issues |
US10834113B2 (en) | 2017-07-25 | 2020-11-10 | Netskope, Inc. | Compact logging of network traffic events |
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 |
US10462126B2 (en) | 2017-08-17 | 2019-10-29 | Bank Of America Corporation | Self-adjusting multifactor network authentication |
US10462665B2 (en) | 2017-08-17 | 2019-10-29 | Bank Of America Corporation | Multifactor network authentication |
US10996642B2 (en) * | 2017-08-29 | 2021-05-04 | Siemens Aktiengesellschaft | Method and apparatus for determining data reading cycle |
US11086559B2 (en) * | 2017-09-05 | 2021-08-10 | International Business Machines Corporation | Cloud based store and restore with copy services |
US10289335B2 (en) * | 2017-09-12 | 2019-05-14 | International Business Machines Corporation | Tape drive library integrated memory deduplication |
US10372681B2 (en) | 2017-09-12 | 2019-08-06 | International Business Machines Corporation | Tape drive memory deduplication |
US10372371B2 (en) | 2017-09-14 | 2019-08-06 | International Business Machines Corporation | Dynamic data relocation using cloud based ranks |
US20190108341A1 (en) | 2017-09-14 | 2019-04-11 | Commvault Systems, Inc. | Ransomware detection and data pruning management |
US10721304B2 (en) | 2017-09-14 | 2020-07-21 | International Business Machines Corporation | Storage system using cloud storage as a rank |
US10581969B2 (en) | 2017-09-14 | 2020-03-03 | International Business Machines Corporation | Storage system using cloud based ranks as replica storage |
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 |
US11972845B2 (en) | 2017-09-29 | 2024-04-30 | Cerebrum Holding Corporation | Macro-based diagnoses for anatomic pathology |
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 |
US10355824B2 (en) | 2017-10-23 | 2019-07-16 | Bank Of America Corporation | Smart integrated cyclic data transport |
US10789002B1 (en) * | 2017-10-23 | 2020-09-29 | EMC IP Holding Company LLC | Hybrid data deduplication for elastic cloud storage devices |
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 |
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 |
US11055280B2 (en) * | 2017-11-27 | 2021-07-06 | Snowflake Inc. | Batch data ingestion in database systems |
US11275519B2 (en) | 2017-11-27 | 2022-03-15 | Nutanix, Inc. | Forming lightweight snapshots for lossless data restore operations |
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 |
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 |
US10740300B1 (en) | 2017-12-07 | 2020-08-11 | Commvault Systems, Inc. | Synchronization of metadata in a distributed storage system |
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 |
TW201937393A (en) | 2018-02-02 | 2019-09-16 | 美商多佛微系統公司 | Systems and methods for policy compilation for secure initialization |
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 |
US10642886B2 (en) | 2018-02-14 | 2020-05-05 | Commvault Systems, Inc. | Targeted search of backup data using facial recognition |
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 |
US20190251204A1 (en) | 2018-02-14 | 2019-08-15 | Commvault Systems, Inc. | Targeted search of backup data using calendar event data |
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 |
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 |
US10831521B2 (en) * | 2018-04-27 | 2020-11-10 | Nutanix, Inc. | Efficient metadata management |
US11334596B2 (en) | 2018-04-27 | 2022-05-17 | Dropbox, Inc. | Selectively identifying and recommending digital content items for synchronization |
US10839093B2 (en) | 2018-04-27 | 2020-11-17 | Nutanix, Inc. | Low latency access to physical storage locations by implementing multiple levels of metadata |
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 |
US10673943B2 (en) | 2018-05-02 | 2020-06-02 | Commvault Systems, Inc. | Network storage backup using distributed media agents |
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 |
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 |
US10728361B2 (en) | 2018-05-29 | 2020-07-28 | Cisco Technology, Inc. | System for association of customer information across subscribers |
CN108845761A (en) * | 2018-05-29 | 2018-11-20 | 郑州云海信息技术有限公司 | A kind of individual's cloud storage equipment |
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 |
US10819571B2 (en) | 2018-06-29 | 2020-10-27 | Cisco Technology, Inc. | Network traffic optimization using in-situ notification system |
US11121981B1 (en) | 2018-06-29 | 2021-09-14 | Amazon Technologies, Inc. | Optimistically granting permission to host computing resources |
US20190042133A1 (en) * | 2018-06-29 | 2019-02-07 | Intel Corporation | Technologies for providing adaptive data access request routing in a distributed storage system |
BR112020026910A2 (en) * | 2018-07-03 | 2021-03-30 | Moterum Technologies, Inc. | DISTRIBUTED SYSTEM ARCHITECTURE FOR GEAR 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 |
TWI821373B (en) | 2018-08-23 | 2023-11-11 | 美商阿爾克斯股份有限公司 | System for first hop gateway redundancy in a network computing environment |
WO2020051540A1 (en) | 2018-09-06 | 2020-03-12 | Clause, 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 |
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 |
US11573962B2 (en) * | 2018-10-19 | 2023-02-07 | Oracle International Corporation | Dynamic performance tuning based on implied data characteristics |
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 |
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 |
US10771982B2 (en) | 2018-10-24 | 2020-09-08 | Mentor Graphics Corporation | Resource utilization of heterogeneous compute units in electronic design automation |
WO2020085938A1 (en) * | 2018-10-26 | 2020-04-30 | Публичное Акционерное Общество "Сбербанк России" | Method and system for integrated management of big data |
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 |
US11770447B2 (en) | 2018-10-31 | 2023-09-26 | Nutanix, Inc. | Managing high-availability file servers |
TW202022679A (en) | 2018-11-06 | 2020-06-16 | 美商多佛微系統公司 | Systems and methods for stalling host processor |
EP3881190A1 (en) | 2018-11-12 | 2021-09-22 | Dover Microsystems, Inc. | Systems and methods for metadata encoding |
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 |
US11816066B2 (en) | 2018-12-27 | 2023-11-14 | Nutanix, Inc. | System and method for protecting databases in a hyperconverged infrastructure system |
US11010336B2 (en) | 2018-12-27 | 2021-05-18 | Nutanix, Inc. | System and method for provisioning databases in a hyperconverged infrastructure system |
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 |
CN109726181B (en) * | 2018-12-28 | 2021-02-19 | 北京天融信网络安全技术有限公司 | Data processing method and data processing device |
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 |
US11438381B2 (en) * | 2019-01-22 | 2022-09-06 | International Business Machines Corporation | Identifying security profiles associated with access protocols of secondary storage |
US10872069B2 (en) | 2019-01-22 | 2020-12-22 | Commvault Systems, Inc. | File indexing for virtual machine backups in a data storage management system |
WO2020154003A1 (en) | 2019-01-24 | 2020-07-30 | Kldiscovery Ontrack, Llc. | Integrated vpn capabilities in standalone e-discovery machine |
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 |
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 |
US20200285967A1 (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 |
EP3874380A4 (en) * | 2019-03-18 | 2022-05-04 | 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 |
US11531712B2 (en) * | 2019-03-28 | 2022-12-20 | Cohesity, Inc. | Unified metadata search |
US10795699B1 (en) * | 2019-03-28 | 2020-10-06 | Cohesity, Inc. | Central storage management interface supporting native user interface versions |
KR102231726B1 (en) * | 2019-03-28 | 2021-03-25 | 네이버클라우드 주식회사 | Apparatus and method for analyzing vulnerabilities |
US11940956B2 (en) | 2019-04-02 | 2024-03-26 | Hewlett Packard Enterprise Development Lp | Container index persistent item tags |
US11770311B2 (en) * | 2019-04-05 | 2023-09-26 | Palo Alto Networks, Inc. | Automatic and dynamic performance benchmarking and scoring of applications based on crowdsourced traffic data |
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 |
US11269517B2 (en) | 2019-04-26 | 2022-03-08 | Hewlett Packard Enterprise Development Lp | Cost-aware storage allocation of deduplicated objects |
US10853188B2 (en) * | 2019-04-26 | 2020-12-01 | EMC IP Holding Company LLC | System and method for data retention in a decentralized system |
US11100064B2 (en) | 2019-04-30 | 2021-08-24 | Commvault Systems, Inc. | Automated log-based remediation of an information management system |
WO2020223103A1 (en) * | 2019-04-30 | 2020-11-05 | Clumio, Inc. | Deduplication 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 |
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 |
US11079960B2 (en) * | 2019-06-20 | 2021-08-03 | Western Digital Technologies, Inc. | Object storage system with priority meta object replication |
US20200401489A1 (en) | 2019-06-24 | 2020-12-24 | Commvault Systems, Inc. | Content indexing of files in virtual disk block-level backup copies |
WO2020264332A1 (en) | 2019-06-27 | 2020-12-30 | Sigma Computing, Inc. | Search using data warehouse grants |
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 |
WO2021014324A1 (en) | 2019-07-19 | 2021-01-28 | JFrog Ltd. | Data archive release in context of data object |
US11341106B2 (en) * | 2019-07-19 | 2022-05-24 | Commvault Systems, Inc. | Deduplication system without reference counting |
WO2021014320A1 (en) * | 2019-07-19 | 2021-01-28 | JFrog Ltd. | Indexer operation and generation of index data |
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 |
CN114072759A (en) * | 2019-07-26 | 2022-02-18 | 华为技术有限公司 | Data processing method and device in storage system and computer storage readable storage medium |
US20210037112A1 (en) | 2019-07-29 | 2021-02-04 | Commvault Systems, Inc. | Data storage system with rapid restore capability |
US11042318B2 (en) | 2019-07-29 | 2021-06-22 | Commvault Systems, Inc. | Block-level data replication |
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 |
US11972500B2 (en) * | 2019-08-13 | 2024-04-30 | Vertical Discovery Holdings, Llc | 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 |
US11106455B2 (en) | 2019-08-15 | 2021-08-31 | Microstrategy Incorporated | Integration of containers with external elements |
US11288053B2 (en) | 2019-08-15 | 2022-03-29 | Microstrategy Incorporated | Conversion and restoration of computer environments to container-based implementations |
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 |
US12045204B2 (en) | 2019-08-27 | 2024-07-23 | Vmware, Inc. | Small in-memory cache to speed up chunk store operation for deduplication |
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 |
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 |
US11514002B2 (en) * | 2019-08-30 | 2022-11-29 | EMC IP Holding Company LLC | Indexing splitter for any pit replication |
CN110730202B (en) * | 2019-08-30 | 2022-02-08 | 厦门协会宝网络科技有限公司 | Control method of association management cloud platform system |
CN110727724B (en) * | 2019-09-09 | 2023-03-24 | 未鲲(上海)科技服务有限公司 | Data extraction method and device, computer equipment and storage medium |
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 |
US11218450B2 (en) | 2019-09-11 | 2022-01-04 | Commvault Systems, Inc. | Data protection component scaling in a cloud-based data storage system |
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 |
US11870770B2 (en) * | 2019-09-13 | 2024-01-09 | Oracle International Corporation | Multi-tenant identity cloud service with on-premise authentication integration |
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 |
US12079197B2 (en) | 2019-10-18 | 2024-09-03 | Dover Microsystems, Inc. | Systems and methods for updating metadata |
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 |
US20210133150A1 (en) | 2019-11-04 | 2021-05-06 | Commvault Systems, Inc. | Efficient implementation of multiple deduplication databases in a heterogeneous data storage system |
WO2021090866A1 (en) * | 2019-11-08 | 2021-05-14 | 日本電気株式会社 | Data processing device, data processing method, and program |
US12067579B2 (en) * | 2019-11-11 | 2024-08-20 | Hartford Fire Insurance Company | 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 |
US20210200717A1 (en) * | 2019-12-26 | 2021-07-01 | Oath Inc. | Generating full metadata from partial distributed metadata |
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 |
US11223535B2 (en) | 2019-12-31 | 2022-01-11 | Commvault Systems, Inc. | Smart network topology systems and methods |
RU2751798C9 (en) * | 2019-12-31 | 2021-11-16 | Банк ВТБ (публичное акционерное общество) | Method for distributed migration of client data, taking into account duplicates of legal entities and individuals |
US11843610B2 (en) * | 2020-01-09 | 2023-12-12 | Cisco Technology, Inc. | Providing multiple namespaces |
US11061605B1 (en) | 2020-01-09 | 2021-07-13 | International Business Machines Corporation | Dynamically performing managed file transfer based on policies |
US11740825B2 (en) | 2020-01-14 | 2023-08-29 | International Business Machines Corporation | Object lifecycle management in a dispersed storage system |
US20210218807A1 (en) * | 2020-01-14 | 2021-07-15 | EMC IP Holding Company LLC | Real-time replication of object storage in cloud storage |
US11983155B2 (en) * | 2020-01-14 | 2024-05-14 | International Business Machines Corporation | Namespace range creation to distribute workload 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 |
US11360860B2 (en) | 2020-01-30 | 2022-06-14 | Rubrik, Inc. | Exporting a database 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 |
US11604761B2 (en) | 2020-01-30 | 2023-03-14 | Rubrik, Inc. | Utilizing a tablespace to export from a foreign database recovery environment |
US12014065B2 (en) | 2020-02-11 | 2024-06-18 | 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 |
US11580240B2 (en) | 2020-03-24 | 2023-02-14 | Kyndryl, Inc. | Protecting sensitive data |
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 |
US11704037B2 (en) * | 2020-03-30 | 2023-07-18 | Cohesity, Inc. | Deduplicated storage disk space utilization |
US12079162B2 (en) | 2020-03-30 | 2024-09-03 | Pure Storage, Inc. | Snapshot management in a storage system |
US11704035B2 (en) | 2020-03-30 | 2023-07-18 | Pure Storage, Inc. | Unified storage on block containers |
US20210311897A1 (en) | 2020-04-06 | 2021-10-07 | Samsung Electronics Co., Ltd. | Memory with cache-coherent interconnect |
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 |
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 |
US20210337717A1 (en) * | 2020-05-01 | 2021-11-04 | Kinze Manufacturing, Inc. | Shared planter data |
US11455416B2 (en) | 2020-05-01 | 2022-09-27 | Kyndryl, Inc. | Record-level sensitivity-based data storage in a hybrid multi cloud environment |
CN115244521A (en) * | 2020-05-06 | 2022-10-25 | 阿里巴巴集团控股有限公司 | Hierarchical method and system 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 |
KR20220005933A (en) | 2020-07-07 | 2022-01-14 | 삼성전자주식회사 | Cloud server and Method for controlling the cloud server thereof |
FR3112631B1 (en) * | 2020-07-15 | 2023-03-31 | Banks And Acquirers Int Holding | Electronic device for processing requests for updates and/or data insertion, method and corresponding program. |
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 |
WO2022020654A1 (en) * | 2020-07-22 | 2022-01-27 | Ringenberg Jared | 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 |
US11500566B2 (en) | 2020-08-25 | 2022-11-15 | Commvault Systems, Inc. | Cloud-based distributed data storage system using block-level deduplication based on backup frequencies of incoming backup copies |
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 |
US11789830B2 (en) | 2020-09-22 | 2023-10-17 | Commvault Systems, Inc. | Anti-entropy-based metadata recovery in a strongly consistent distributed data storage system |
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 |
US11500819B2 (en) | 2020-09-22 | 2022-11-15 | Vmware, Inc. | Supporting deduplication in file storage using file chunk hashes |
US20210157848A1 (en) * | 2020-09-25 | 2021-05-27 | Intel Corporation | Methods, apparatus and systems to enforce data boundaries through the use of boundary labels |
US11513871B2 (en) | 2020-09-30 | 2022-11-29 | EMC IP Holding Company LLC | Employing triggered retention in an ordered event stream storage system |
US12050553B2 (en) * | 2020-10-01 | 2024-07-30 | Netapp, Inc. | Supporting a lookup structure for a file system implementing hierarchical reference counting |
US11222021B2 (en) * | 2020-10-05 | 2022-01-11 | Business Mobile Ag | Technique for accessing archive data stored in relational databases through the SAP archive information system |
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 |
US11372579B2 (en) * | 2020-10-22 | 2022-06-28 | EMC IP Holding Company LLC | Techniques for generating data sets with specified compression and deduplication ratios |
US11816139B2 (en) * | 2020-10-22 | 2023-11-14 | EMC IP Holding Company LLC | Block-level classification of unstructured data |
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 |
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 |
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 |
US11158352B1 (en) | 2020-10-26 | 2021-10-26 | Dell Products L.P. | Method and system for indexing 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 |
US11698744B2 (en) * | 2020-10-26 | 2023-07-11 | EMC IP Holding Company LLC | Data deduplication (dedup) management |
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 |
US12045211B2 (en) * | 2020-10-27 | 2024-07-23 | 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 |
JP2022091308A (en) * | 2020-12-09 | 2022-06-21 | 株式会社日立製作所 | Storage system and data deletion method |
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 |
US12124576B2 (en) | 2020-12-23 | 2024-10-22 | Dover Microsystems, Inc. | Systems and methods for policy violation processing |
US11604806B2 (en) | 2020-12-28 | 2023-03-14 | Nutanix, Inc. | System and method for highly available database service |
US20240061823A1 (en) * | 2021-01-04 | 2024-02-22 | Alibaba Group Holding Limited | Memory-frugal index design in storage engine |
US12026062B2 (en) * | 2021-01-04 | 2024-07-02 | EMC IP Holding Company LLC | Provider-agnostic management of backup data stored on a cloud-based object storage |
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 |
US12008254B2 (en) | 2021-01-08 | 2024-06-11 | Western Digital Technologies, Inc. | Deduplication of storage device encoded data |
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 |
US12099513B2 (en) | 2021-01-19 | 2024-09-24 | EMC IP Holding Company LLC | Ordered event stream event annulment in an ordered event stream storage system |
US11323513B1 (en) | 2021-01-22 | 2022-05-03 | Commvault Systems, Inc. | Geo-location-based data replication |
JP7574672B2 (en) * | 2021-01-29 | 2024-10-29 | ブラザー工業株式会社 | Management system, management method and management program |
US11271953B1 (en) | 2021-01-29 | 2022-03-08 | Netskope, Inc. | Dynamic power user identification and isolation for managing SLA guarantees |
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 |
US12015619B2 (en) | 2021-01-30 | 2024-06-18 | Netskope, Inc. | Dynamic routing of access request streams in a unified policy enforcement system |
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 |
US20240129122A1 (en) * | 2021-02-24 | 2024-04-18 | Nebulon, Inc. | Efficient encryption in storage providing data-at-rest encryption and data mirroring |
KR102271829B1 (en) * | 2021-02-24 | 2021-07-02 | 주식회사 오픈소스컨설팅 | Method for analyzing cloud migration data of data center using system process information and system thereof |
US11520788B2 (en) | 2021-03-05 | 2022-12-06 | Insight Direct Usa, Inc. | Methods and systems for transforming distributed database structure for reduced compute load |
CN116868180A (en) * | 2021-03-09 | 2023-10-10 | 华为技术有限公司 | Memory controller and method for improved deduplication |
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 |
US11973827B2 (en) | 2021-03-15 | 2024-04-30 | Microsoft Technology Licensing, Llc. | Cloud computing system for mailbox identity migration |
US12135698B2 (en) | 2021-03-15 | 2024-11-05 | Microsoft Technology Licensing, Llc | Distributed deduplication of incoming cloud computing requests |
US11137989B1 (en) * | 2021-03-17 | 2021-10-05 | Relyance, Inc. | Constructing a data flow graph for a computing system of an organization |
US12131192B2 (en) | 2021-03-18 | 2024-10-29 | Nutanix, Inc. | Scope-based distributed lock infrastructure for virtualized file server |
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 |
US12032537B2 (en) | 2021-03-29 | 2024-07-09 | Cohesity, Inc. | Deduplicating metadata based on a common sequence of chunk identifiers |
US11323357B1 (en) * | 2021-03-31 | 2022-05-03 | Arista Networks, Inc. | Accessing varying route attribute states during routing policy application on network devices |
US11436097B1 (en) | 2021-03-31 | 2022-09-06 | Nutanix, Inc. | Technique for efficient data failover in a multi-site data replication environment |
US11740828B2 (en) * | 2021-04-06 | 2023-08-29 | EMC IP Holding Company LLC | Data expiration for stream storages |
US11461335B1 (en) * | 2021-04-09 | 2022-10-04 | Snowflake Inc. | Optimized processing of data in different formats |
US11100111B1 (en) | 2021-04-09 | 2021-08-24 | Snowflake Inc. | Real-time streaming data ingestion into database tables |
US12001881B2 (en) | 2021-04-12 | 2024-06-04 | EMC IP Holding Company LLC | Event prioritization for an ordered event stream |
US11861292B2 (en) | 2021-04-15 | 2024-01-02 | Red Hat, Inc. | Multi-strategy compression scheme |
US11954533B2 (en) * | 2021-04-16 | 2024-04-09 | EMC IP Holding Company LLC | Using machine learning techniques to flow control clients in a deduplication file system |
US11954537B2 (en) | 2021-04-22 | 2024-04-09 | EMC IP Holding Company LLC | Information-unit based scaling of an ordered event stream |
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 |
US11892910B2 (en) | 2021-06-09 | 2024-02-06 | EMC IP Holding Company LLC | System and method for instant access of data in file based backups in a backup storage system using metadata files |
US11687492B2 (en) | 2021-06-21 | 2023-06-27 | International Business Machines Corporation | Selective data deduplication in a multitenant environment |
EP4360292A1 (en) | 2021-06-24 | 2024-05-01 | 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 |
US12124742B2 (en) * | 2021-07-23 | 2024-10-22 | Netapp, Inc. | Increasing provisioned storage capacity by means of growing underlying disks within a virtual storage appliance |
US11954513B2 (en) | 2021-07-29 | 2024-04-09 | Commvault Systems, Inc. | Scalable recovery and/or migration to cloud- based custom-made virtual machines without using failed machines' credentials |
US11934402B2 (en) * | 2021-08-06 | 2024-03-19 | Bank Of America Corporation | System and method for generating optimized data queries to improve hardware efficiency and utilization |
US20230066137A1 (en) | 2021-08-19 | 2023-03-02 | Nutanix, Inc. | User interfaces for disaster recovery of distributed file servers |
US12117972B2 (en) | 2021-08-19 | 2024-10-15 | Nutanix, Inc. | File server managers and systems for managing virtualized file servers |
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 |
US11966922B2 (en) | 2021-08-24 | 2024-04-23 | Bank Of America Corporation | Electronic system for scanning and mapping entity portals to distribution processing systems |
US11947497B2 (en) * | 2021-08-24 | 2024-04-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 |
US11954473B2 (en) | 2021-09-20 | 2024-04-09 | Microstrategy Incorporated | Deployment architecture for multi-tenant cloud computing systems |
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 |
US12007849B2 (en) | 2021-09-27 | 2024-06-11 | 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 |
US12033004B2 (en) | 2021-09-28 | 2024-07-09 | Commvault Systems, Inc. | Dynamically provisioning computing pods in a computing resource cluster based on a resource request from a storage manager of an information management system |
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 |
US12019525B2 (en) | 2021-10-05 | 2024-06-25 | Commvault Systems, Inc. | Cloud-based recovery of backed up data using auxiliary copy replication and on-demand failover resources |
US11809725B2 (en) | 2021-10-13 | 2023-11-07 | International Business Machines Corporation | Document storage with blocks split between multiple repositories |
US11971850B2 (en) | 2021-10-15 | 2024-04-30 | EMC IP Holding Company LLC | Demoted data retention via a tiered ordered event stream data storage system |
US12105683B2 (en) | 2021-10-21 | 2024-10-01 | Nutanix, Inc. | System and method for creating template for database services |
US12079193B2 (en) * | 2021-11-03 | 2024-09-03 | Netapp, Inc. | Distributed storage systems and methods to provide change tracking integrated with scalable databases |
US12032542B2 (en) | 2021-11-10 | 2024-07-09 | Commvault Systems, Inc. | Systems and methods for optimizing storage and retention of deduplicated secondary copies at storage platforms that are write-once read-many (WORM) enabled |
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 |
US12015717B2 (en) | 2021-12-08 | 2024-06-18 | Bank Of America Corporation | System for processing offline digital resource transfers using a hardware device based cryptographic application |
IT202100030917A1 (en) * | 2021-12-09 | 2023-06-09 | Digix S R L | FINANCIAL MANAGEMENT SYSTEM WITH MIDDLEWARE |
US12124727B2 (en) * | 2021-12-17 | 2024-10-22 | Samsung Electronics Co., Ltd. | Automatic deletion in a persistent storage device |
US12008135B2 (en) * | 2021-12-21 | 2024-06-11 | 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 |
US12058539B2 (en) | 2022-01-14 | 2024-08-06 | T-Mobile Usa, Inc. | Dynamic telecommunications network outage recovery based on predictive models |
WO2023141662A2 (en) * | 2022-01-24 | 2023-07-27 | Osom Products, Inc. | Utilities linked to digital non-fungible assets |
US12079161B2 (en) * | 2022-01-25 | 2024-09-03 | Hewlett Packard Enterprise Development Lp | Data index for deduplication storage system |
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 |
US11546232B1 (en) * | 2022-01-27 | 2023-01-03 | Hitachi, Ltd. | Video analysis and data delivery method |
US11954541B1 (en) * | 2022-01-28 | 2024-04-09 | Splunk Inc. | Highly available message ingestion by a data intake and query system |
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) |
US12074641B2 (en) | 2022-02-15 | 2024-08-27 | Bank Of America Corporation | System and method for secured data transmission using LiFi and holochain network |
US12052261B2 (en) | 2022-02-15 | 2024-07-30 | Bank Of America Corporation | System and method for authenticating the receiving end of data transmission via LiFi and holochain network |
JP2023125812A (en) * | 2022-02-28 | 2023-09-07 | 株式会社日立製作所 | Copy control device and method |
US12056947B2 (en) | 2022-02-28 | 2024-08-06 | Docusign, Inc. | Agreement document model modifications in a document management system |
US20230275977A1 (en) * | 2022-02-28 | 2023-08-31 | Comcast Cable Communications, Llc | Methods, systems, and apparatuses for signaling server-associated delays in content delivery |
US20230297604A1 (en) * | 2022-02-28 | 2023-09-21 | Docusign, Inc. | Querying agreement document models in a document management system |
US11797393B2 (en) | 2022-03-23 | 2023-10-24 | Bank Of America Corporation | Table prioritization for data copy in a multi-environment setup |
US11656955B1 (en) | 2022-03-23 | 2023-05-23 | Bank Of America Corporation | Database table valuation |
US20230306432A1 (en) * | 2022-03-23 | 2023-09-28 | Capital One Services, Llc | Transmitting notifications based on machine learning model outputs |
US12124596B2 (en) | 2022-03-29 | 2024-10-22 | Acronis International Gmbh | Universal platform for data protection |
US20230315580A1 (en) * | 2022-03-31 | 2023-10-05 | Cisco Technology, Inc. | Disaster recovery in a cell model for an extensibility platform |
US12079117B2 (en) * | 2022-04-27 | 2024-09-03 | Pax8, Inc. | Scenario testing against production data for systems providing access management as a service |
US12050861B2 (en) | 2022-05-17 | 2024-07-30 | Klaviyo Inc. | Method and system for template reconciliation |
US12007966B2 (en) * | 2022-05-23 | 2024-06-11 | 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 |
US12056018B2 (en) | 2022-06-17 | 2024-08-06 | Commvault Systems, Inc. | Systems and methods for enforcing a recovery point objective (RPO) for a production database without generating secondary copies of the production database |
US20230421537A1 (en) * | 2022-06-27 | 2023-12-28 | Sap Se | Cloud comment storage using per-artifact key |
US20240004761A1 (en) * | 2022-06-30 | 2024-01-04 | Commvault Systems, Inc. | Low impact migration of large data to cloud and virtualized environments |
US11947682B2 (en) | 2022-07-07 | 2024-04-02 | Netskope, Inc. | ML-based encrypted file classification for identifying encrypted data movement |
US20240020040A1 (en) * | 2022-07-13 | 2024-01-18 | Dell Products, Lp | Method and apparatus for edge storage for enterprise applications |
CN115242815B (en) * | 2022-07-14 | 2024-08-13 | 山石网科通信技术股份有限公司 | 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 |
US11940883B2 (en) | 2022-07-25 | 2024-03-26 | Dell Products L.P. | Generating a synthetic full backup |
US12026059B2 (en) | 2022-07-25 | 2024-07-02 | Dell Products L.P. | Method and system for executing a secure data access from a block-based backup |
US12135791B2 (en) | 2022-08-12 | 2024-11-05 | Bank Of America Corporation | Electronic system for security analysis and validation during construction and deployment of dynamic network components |
US12120132B2 (en) | 2022-08-12 | 2024-10-15 | Bank Of America Corporation | Dynamic quarantine engine integration with a validated network resource component library for network security |
US12107880B2 (en) | 2022-08-12 | 2024-10-01 | Bank Of America Corporation | Electronic security system of network resource component tracking and analysis across a distributed network and construction of a validated network resource component library |
US12007955B2 (en) * | 2022-09-26 | 2024-06-11 | Dell Products L.P. | System and method for analyzing file system data using a virtual file system generated using a metadata backup |
US20240103973A1 (en) * | 2022-09-26 | 2024-03-28 | Dell Products L.P. | Leveraging file-system metadata for direct to cloud object storage optimization |
US20240104052A1 (en) * | 2022-09-28 | 2024-03-28 | Dell Products L.P. | File immutability using a deduplication file system in a public cloud using selection criteria |
US20240251009A1 (en) * | 2022-11-11 | 2024-07-25 | Rakuten Symphony Singapore Pte. L.T.D. | Systems and methods for boundless file transfer |
US12124477B2 (en) * | 2022-11-29 | 2024-10-22 | Dell Products L.P. | Scalable and system-agnostic replication mechanism between on-premises and cloud storage systems |
US20240184641A1 (en) * | 2022-12-03 | 2024-06-06 | Samsung Electronics Co., Ltd. | Near-storage format transformation |
US11902356B1 (en) * | 2022-12-21 | 2024-02-13 | International Business Machines Corporation | Computer technology for device forwarding downloads |
US20240241878A1 (en) * | 2023-01-17 | 2024-07-18 | Cohesity, Inc. | Distributing objects across deduplication domains based on a storage distribution mode |
US12070921B1 (en) | 2023-01-23 | 2024-08-27 | Wm Intellectual Property Holdings, L.L.C. | Baler with internal scale |
US11789784B1 (en) | 2023-02-08 | 2023-10-17 | Bank Of America Corporation | Monitoring and management of a cloud-based computing system |
US20240275863A1 (en) * | 2023-02-15 | 2024-08-15 | Attimis Corporation | Opportunistic Migration of Data Between Cloud Storage Provider Systems |
US20240311341A1 (en) * | 2023-03-16 | 2024-09-19 | Microsoft Technology Licensing, Llc | Using timed oplocks to determine whether a file is eligible for dehydration |
US12072772B1 (en) | 2023-04-12 | 2024-08-27 | Kyndryl, Inc. | Crowd sourced data restores |
WO2024218769A1 (en) * | 2023-04-18 | 2024-10-24 | David Boxenhorn | Distributed software network |
CN116567001B (en) * | 2023-05-16 | 2023-12-29 | 上海凯翔信息科技有限公司 | Cloud NAS-based data migration system |
US12034726B1 (en) * | 2023-05-31 | 2024-07-09 | Cloudflare, Inc. | Logging access types based on inserting tenant control headers into requests |
Citations (97)
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 |
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 |
US20100070448A1 (en) * | 2002-06-24 | 2010-03-18 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
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 |
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)
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 |
EP0405926B1 (en) | 1989-06-30 | 1996-12-04 | Digital Equipment Corporation | Method and apparatus for managing a shadow set of storage media |
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 |
WO1995013580A1 (en) | 1993-11-09 | 1995-05-18 | 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 |
AU5929398A (en) | 1997-01-23 | 1998-08-18 | Overland Data, Inc. | Virtual media library |
US6658526B2 (en) | 1997-03-12 | 2003-12-02 | Storage Technology Corporation | Network attached virtual data storage subsystem |
WO1999012098A1 (en) | 1997-08-29 | 1999-03-11 | 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 |
WO2001042921A1 (en) | 1999-12-13 | 2001-06-14 | Connected Corporation | Multiple copy capability for network backup systems |
US7096418B1 (en) * | 2000-02-02 | 2006-08-22 | Persistence Software, Inc. | Dynamic web page cache |
JP2001216391A (en) * | 2000-02-02 | 2001-08-10 | Seiko Epson Corp | Method and system for managing reception of order |
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 |
US7103602B2 (en) | 2000-08-31 | 2006-09-05 | Kroll Ontrack 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 |
EP1370950B1 (en) | 2001-02-13 | 2017-12-27 | NetApp, Inc. | System and method for policy based storage provisioning and management |
US20020129106A1 (en) * | 2001-03-12 | 2002-09-12 | Surgency, Inc. | User-extensible system for manipulating information in a collaborative environment |
US20020194033A1 (en) * | 2001-06-18 | 2002-12-19 | Huff David S. | Automatic insurance data extraction and quote generating system and methods therefor |
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 |
US7107298B2 (en) * | 2001-09-28 | 2006-09-12 | 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 |
US7685269B1 (en) | 2002-12-20 | 2010-03-23 | Symantec Operating Corporation | Service-level monitoring for storage applications |
US7065619B1 (en) | 2002-12-20 | 2006-06-20 | Data Domain, Inc. | Efficient data storage system |
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 |
US7631351B2 (en) | 2003-04-03 | 2009-12-08 | 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 |
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 |
JP4505468B2 (en) * | 2004-12-17 | 2010-07-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 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 |
DE602006017040D1 (en) * | 2006-05-19 | 2010-11-04 | Microsoft Corp | Content management in peer-to-peer data 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 |
US7792789B2 (en) | 2006-10-17 | 2010-09-07 | Commvault Systems, Inc. | Method and system for collaborative searching |
US8655914B2 (en) | 2006-10-17 | 2014-02-18 | Commvault Systems, Inc. | System and method for storage operation access security |
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 |
WO2008070688A1 (en) | 2006-12-04 | 2008-06-12 | Commvault Systems, Inc. | Systems and methods for creating copies of data, such as archive copies |
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 |
SG177213A1 (en) * | 2006-12-28 | 2012-01-30 | Arcsight Inc | Storing log data efficiently while supporting querying to assist in 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 |
US8756253B2 (en) * | 2007-01-22 | 2014-06-17 | 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 |
CN103123702B (en) | 2007-08-28 | 2017-11-28 | Commvault系统公司 | Such as the managing power consumption of the data processing resources of the adaptive managing power consumption 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 |
AU2008255269A1 (en) * | 2008-02-05 | 2009-08-20 | 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 |
US9098495B2 (en) | 2008-06-24 | 2015-08-04 | Commvault Systems, Inc. | Application-aware and remote single instance data management |
US8219524B2 (en) | 2008-06-24 | 2012-07-10 | 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 |
US8726053B2 (en) * | 2009-07-20 | 2014-05-13 | Caringo, Inc. | Method for processing a request by selecting an appropriate computer node in a plurality of computer nodes in a storage cluster based on a calculated bid value in each computer node |
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 |
WO2013006553A1 (en) | 2011-07-01 | 2013-01-10 | 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 |
EP4101139A1 (en) * | 2020-02-07 | 2022-12-14 | Telefonaktiebolaget LM ERICSSON (PUBL) | Storage provisioning |
-
2010
- 2010-03-31 US US12/751,953 patent/US20100333116A1/en not_active Abandoned
- 2010-03-31 US US12/751,923 patent/US8849955B2/en active Active
- 2010-03-31 US US12/751,713 patent/US8612439B2/en active Active
- 2010-03-31 US US12/751,850 patent/US8285681B2/en active Active
- 2010-03-31 US US12/751,651 patent/US20100332401A1/en not_active Abandoned
- 2010-03-31 US US12/751,804 patent/US8407190B2/en active Active
- 2010-06-29 EP EP10794641.0A patent/EP2449477B1/en active Active
- 2010-06-29 AU AU2010266433A patent/AU2010266433C1/en active Active
- 2010-06-29 CA CA2838107A patent/CA2838107C/en active Active
- 2010-06-29 WO PCT/US2010/040402 patent/WO2011002777A2/en active Application Filing
- 2010-06-29 DK DK10794641.0T patent/DK2449477T3/en active
- 2010-06-29 CA CA2765624A patent/CA2765624C/en active Active
-
2012
- 2012-09-14 US US13/615,999 patent/US8849761B2/en active Active
-
2013
- 2013-03-26 US US13/850,903 patent/US9171008B2/en active Active
-
2014
- 2014-09-24 US US14/494,674 patent/US9454537B2/en active Active
-
2016
- 2016-09-07 US US15/258,252 patent/US10248657B2/en active Active
-
2019
- 2019-02-14 US US16/276,552 patent/US11308035B2/en active Active
-
2022
- 2022-03-16 US US17/696,742 patent/US11907168B2/en active Active
-
2024
- 2024-02-05 US US18/432,489 patent/US20240256490A1/en active Pending
Patent Citations (101)
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 |
US7343453B2 (en) * | 2004-04-30 | 2008-03-11 | Commvault Systems, Inc. | Hierarchical systems and methods for providing a unified view of storage information |
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 |
US7765167B2 (en) * | 2004-04-30 | 2010-07-27 | Commvault Systems, Inc. | Systems and methods for storage modeling and costing |
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)
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 (1595)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12015598B2 (en) | 2004-11-30 | 2024-06-18 | Integic Technologies Llc | Method and apparatus to enable a market in used digital content |
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 |
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 |
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 |
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 |
US9519526B2 (en) | 2007-12-05 | 2016-12-13 | Box, Inc. | File management system and collaboration service and integration capabilities with third party applications |
US8875306B2 (en) | 2008-02-12 | 2014-10-28 | Oracle International Corporation | Customization restrictions for multi-layer XML customization |
US8788542B2 (en) | 2008-02-12 | 2014-07-22 | Oracle International Corporation | Customization syntax for multi-layer XML customization |
US8966465B2 (en) | 2008-02-12 | 2015-02-24 | Oracle International Corporation | Customization creation and update for multi-layer XML customization |
US12105598B2 (en) | 2008-06-18 | 2024-10-01 | Commvault Systems, Inc. | Data protection scheduling, such as providing a flexible backup window in a data protection system |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
US11436210B2 (en) | 2008-09-05 | 2022-09-06 | Commvault Systems, Inc. | Classification of virtualization data |
US10754841B2 (en) | 2008-09-05 | 2020-08-25 | Commvault Systems, Inc. | Systems and methods for management of virtualization data |
US8307177B2 (en) | 2008-09-05 | 2012-11-06 | 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 |
US10375166B2 (en) | 2008-12-22 | 2019-08-06 | Ctera Networks, Ltd. | Caching device and method thereof for integration with a cloud storage system |
US10574753B2 (en) | 2008-12-22 | 2020-02-25 | Ctera Networks, Ltd. | Data files synchronization with cloud storage service |
US9473419B2 (en) * | 2008-12-22 | 2016-10-18 | Ctera Networks, Ltd. | Multi-tenant cloud storage system |
US10521423B2 (en) | 2008-12-22 | 2019-12-31 | Ctera Networks, Ltd. | Apparatus and methods for scanning data in a cloud storage service |
US20140215590A1 (en) * | 2008-12-22 | 2014-07-31 | Ctera Networks, Ltd. | Multi-tenant cloud storage system |
US10783121B2 (en) | 2008-12-22 | 2020-09-22 | Ctera Networks, Ltd. | Techniques for optimizing data flows in hybrid cloud storage systems |
US11178225B2 (en) | 2008-12-22 | 2021-11-16 | Ctera Networks, Ltd. | Data files synchronization with cloud storage service |
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 |
US11709739B2 (en) | 2009-05-22 | 2023-07-25 | Commvault Systems, Inc. | Block-level single instancing |
US11455212B2 (en) | 2009-05-22 | 2022-09-27 | Commvault Systems, Inc. | Block-level single instancing |
US10956274B2 (en) | 2009-05-22 | 2021-03-23 | Commvault Systems, Inc. | Block-level single instancing |
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 |
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 |
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 |
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 |
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 |
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 |
US11288235B2 (en) | 2009-07-08 | 2022-03-29 | Commvault Systems, Inc. | Synchronized data deduplication |
US20140337932A1 (en) * | 2009-08-27 | 2014-11-13 | Cleversafe, Inc. | Dispersed storage network with access control and methods for use therewith |
US10303549B2 (en) | 2009-08-27 | 2019-05-28 | International Business Machines Corporation | 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 |
US8862833B2 (en) * | 2009-12-10 | 2014-10-14 | International Business Machines Corporation | Selection of storage containers for thin-partitioned data storage based on criteria |
US20120173838A1 (en) * | 2009-12-10 | 2012-07-05 | International Business Machines Corporation | Data storage system and method |
US9430494B2 (en) | 2009-12-28 | 2016-08-30 | Oracle International Corporation | Spatial data cartridge for event processing systems |
US9305057B2 (en) | 2009-12-28 | 2016-04-05 | Oracle International Corporation | Extensible indexing framework using data cartridges |
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 |
US9729488B2 (en) | 2010-04-26 | 2017-08-08 | BitTitan Inc. | On-demand mailbox synchronization and migration system |
US8965802B1 (en) * | 2010-04-26 | 2015-02-24 | Ca, Inc. | Brokering and payment optimization for cloud computing |
US9207993B2 (en) | 2010-05-13 | 2015-12-08 | Microsoft Technology Licensing, Llc | Dynamic application placement based on cost and availability of energy in datacenters |
US8639791B2 (en) * | 2010-05-20 | 2014-01-28 | Novell, Inc. | Techniques for evaluating and managing cloud networks |
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 |
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 |
US9202225B2 (en) * | 2010-05-28 | 2015-12-01 | Red Hat, Inc. | Aggregate monitoring of utilization data for vendor products in cloud networks |
US12001295B2 (en) | 2010-06-04 | 2024-06-04 | Commvault Systems, Inc. | Heterogeneous indexing and load balancing of backup and indexing resources |
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 |
US9942105B2 (en) | 2010-07-19 | 2018-04-10 | Akamai Technologies, Inc. | Animated globe showing real-time web user performance measurements |
US10067850B2 (en) | 2010-07-19 | 2018-09-04 | Akamai Technologies, Inc. | Load test charts with standard deviation and percentile statistics |
US10120873B2 (en) * | 2010-08-02 | 2018-11-06 | Spatial Digital Systems, Inc. | Survivable cloud data storage and transport |
US20150248431A1 (en) * | 2010-08-02 | 2015-09-03 | Juo-Yu Lee | Survivable cloud data storage and transport |
US20120042162A1 (en) * | 2010-08-12 | 2012-02-16 | International Business Machines Corporation | Cloud Data Management |
US8769269B2 (en) * | 2010-08-12 | 2014-07-01 | 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 |
US11768800B2 (en) | 2010-09-30 | 2023-09-26 | Commvault Systems, Inc. | Archiving data objects using secondary copies |
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 |
US9218202B2 (en) | 2010-10-19 | 2015-12-22 | 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 |
US20120096470A1 (en) * | 2010-10-19 | 2012-04-19 | 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 |
US9092452B2 (en) * | 2010-11-30 | 2015-07-28 | International Business Machines Corporation | Virtual node subpool management |
US20130290387A1 (en) * | 2010-11-30 | 2013-10-31 | International Business Machines Corporation | Virtual node subpool management |
US9280557B2 (en) | 2010-11-30 | 2016-03-08 | International Business Machines Corporation | Virtual node subpool management |
US11169888B2 (en) | 2010-12-14 | 2021-11-09 | Commvault Systems, Inc. | Client-side repository in a networked deduplicated storage system |
US11422976B2 (en) | 2010-12-14 | 2022-08-23 | Commvault Systems, Inc. | Distributed deduplicated storage system |
US8380681B2 (en) * | 2010-12-16 | 2013-02-19 | Microsoft Corporation | Extensible pipeline for data deduplication |
US20120158672A1 (en) * | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Extensible Pipeline for Data Deduplication |
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 |
US10042855B2 (en) | 2010-12-31 | 2018-08-07 | EMC IP Holding Company LLC | 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 |
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 |
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 |
US8725680B2 (en) * | 2011-02-08 | 2014-05-13 | Microsoft Corporation | Media content location awareness and decision making |
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 |
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 |
US20120221293A1 (en) * | 2011-02-28 | 2012-08-30 | 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 |
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 |
US8718978B2 (en) * | 2011-02-28 | 2014-05-06 | Apple Inc. | Performance logging framework |
TWI478088B (en) * | 2011-03-02 | 2015-03-21 | Chunghwa Telecom Co Ltd | Cloud Services On Demand Service System |
US10209893B2 (en) * | 2011-03-08 | 2019-02-19 | Rackspace Us, Inc. | Massively scalable object storage for storing object replicas |
US9146935B1 (en) * | 2011-03-08 | 2015-09-29 | Symantec Corporation | Systems and methods for classifying files as candidates for deduplication |
US9483354B1 (en) * | 2011-03-11 | 2016-11-01 | Veritas Technologies Llc | Techniques for providing data management using a backup data bank system |
EP2686791A4 (en) * | 2011-03-14 | 2015-05-06 | Amazon Tech Inc | 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 |
CN103403713A (en) * | 2011-03-14 | 2013-11-20 | 亚马逊技术股份有限公司 | 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 |
EP2512096A1 (en) * | 2011-04-14 | 2012-10-17 | Unisys Corporation | File-based application programming interface providing selectable security features |
EP2512097A1 (en) * | 2011-04-14 | 2012-10-17 | Unisys Corporation | File-based application programming interface providing ssh-secured communication |
US20140358859A1 (en) * | 2011-04-15 | 2014-12-04 | 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 |
US8838721B2 (en) * | 2011-04-15 | 2014-09-16 | 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 |
US20140297535A1 (en) * | 2011-04-26 | 2014-10-02 | Docupace Technologies, Inc. | System and Method for Compliant Integrated Workflow |
EP2518647A1 (en) * | 2011-04-28 | 2012-10-31 | Thomson Licensing | Method for uploading a file in an on-line storage system and corresponding on-line storage system |
WO2012147087A1 (en) * | 2011-04-29 | 2012-11-01 | Tata Consultancy Services Limited | Archival storage and retrieval system |
US9785498B2 (en) | 2011-04-29 | 2017-10-10 | 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) |
US9804892B2 (en) | 2011-05-13 | 2017-10-31 | Oracle International Corporation | Tracking large numbers of moving objects in an event processing system |
US9535761B2 (en) | 2011-05-13 | 2017-01-03 | Oracle International Corporation | Tracking large numbers of moving objects in an event processing system |
US9253166B2 (en) | 2011-05-14 | 2016-02-02 | Bitcasa, Inc. | Cloud file system |
WO2012158654A3 (en) * | 2011-05-14 | 2014-05-08 | Bitcasa, Inc. | Cloud file system with server-side deduplication of user-agnostic encrypted files |
US10715314B2 (en) | 2011-05-14 | 2020-07-14 | Puccini World Limited | Cloud file system |
US9876637B2 (en) | 2011-05-14 | 2018-01-23 | 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 |
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 |
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 |
CN102196049A (en) * | 2011-05-31 | 2011-09-21 | 北京大学 | Method suitable for secure migration of data in storage cloud |
US9465696B2 (en) | 2011-06-03 | 2016-10-11 | Apple Inc. | Methods and apparatus for multi-phase multi-source 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 |
US8255731B1 (en) | 2011-06-03 | 2012-08-28 | 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 |
US9201895B2 (en) | 2011-06-03 | 2015-12-01 | Apple Inc. | Management of downloads from a network-based digital data repository based on network performance |
US8868859B2 (en) | 2011-06-03 | 2014-10-21 | Apple Inc. | Methods and apparatus for multi-source 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 |
US9317369B2 (en) | 2011-06-03 | 2016-04-19 | Apple Inc. | Methods and apparatus for multi-phase restore |
US8689034B2 (en) | 2011-06-03 | 2014-04-01 | Apple Inc. | Methods and apparatus for power state based backup |
US20120310762A1 (en) * | 2011-06-03 | 2012-12-06 | Robbin Jeffrey L | Remote Storage of Acquired Data at Network-Based Data Repository |
US8819471B2 (en) | 2011-06-03 | 2014-08-26 | Apple Inc. | Methods and apparatus for power state based backup |
US11416471B2 (en) | 2011-06-03 | 2022-08-16 | Apple Inc. | Management of downloads from a network-based digital data repository based on network performance |
US10585766B2 (en) | 2011-06-06 | 2020-03-10 | Microsoft Technology Licensing, Llc | Automatic configuration of a recovery service |
US8938638B2 (en) | 2011-06-06 | 2015-01-20 | Microsoft Corporation | Recovery service location for a service |
US20140208409A1 (en) * | 2011-06-08 | 2014-07-24 | Monika Maidl | Access to data stored in a cloud |
US10666647B2 (en) | 2011-06-08 | 2020-05-26 | Servicenow, Inc. | 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 |
US11290446B2 (en) | 2011-06-08 | 2022-03-29 | Servicenow, Inc. | Access to data stored in a cloud |
US10320777B2 (en) * | 2011-06-08 | 2019-06-11 | Siemens Aktiengesellschaft | 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 |
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 |
US9672267B2 (en) | 2011-06-09 | 2017-06-06 | Cloudian Holdings, Inc. | Hybrid data management system and method for managing large, varying datasets |
JP2012256324A (en) * | 2011-06-09 | 2012-12-27 | Gemini Mobile Technologies Inc | Data management method and hybrid data management system |
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 |
EP2721481A4 (en) * | 2011-06-20 | 2015-09-16 | Microsoft Technology Licensing Llc | Storage media abstraction for uniform data storage |
US10303649B2 (en) | 2011-06-20 | 2019-05-28 | 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 |
EP2724495A4 (en) * | 2011-06-27 | 2016-02-17 | Nokia Technologies Oy | Method and apparatus for providing services via cloud-based analytics |
US9595054B2 (en) | 2011-06-27 | 2017-03-14 | Microsoft Technology Licensing, Llc | Resource management for cloud computing platforms |
US9450838B2 (en) | 2011-06-27 | 2016-09-20 | Microsoft Technology Licensing, Llc | Resource management for cloud computing platforms |
EP2724232A2 (en) * | 2011-06-27 | 2014-04-30 | Microsoft Corporation | 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 |
US20130007254A1 (en) * | 2011-06-29 | 2013-01-03 | Microsoft Corporation | Controlling network utilization |
US10013281B2 (en) * | 2011-06-29 | 2018-07-03 | Microsoft Technology Licensing, Llc | 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 |
US8762432B2 (en) * | 2011-07-12 | 2014-06-24 | PLAiR Media, Inc. | Methods and systems for using distributed allocation tables |
US20130018929A1 (en) * | 2011-07-12 | 2013-01-17 | Plair Media Inc. | Distributed Storage Method and System |
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 |
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 |
US9449013B2 (en) * | 2011-09-23 | 2016-09-20 | Dell Products L.P. | Application transparent deduplication data |
US9442951B2 (en) * | 2011-09-23 | 2016-09-13 | Dell Products L.P. | Maintaining deduplication data in native file formats |
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 |
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 |
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 |
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 |
US20130086568A1 (en) * | 2011-09-30 | 2013-04-04 | 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 |
US8954942B2 (en) * | 2011-09-30 | 2015-02-10 | Oracle International Corporation | Optimizations using a BPEL compiler |
US9201610B2 (en) * | 2011-10-14 | 2015-12-01 | 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 |
WO2013056032A3 (en) * | 2011-10-14 | 2013-06-13 | Mimecast North America Inc. | Analyzing client data stores |
GB2510299A (en) * | 2011-10-14 | 2014-07-30 | Mimecast North America Inc | Analyzing client data stores |
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 |
US20130097221A1 (en) * | 2011-10-14 | 2013-04-18 | Nathaniel S. Borenstein | Analyzing client data stores |
US20130097275A1 (en) * | 2011-10-14 | 2013-04-18 | Verizon Patent And Licensing Inc. | Cloud-based storage deprovisioning |
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 |
WO2013056032A2 (en) * | 2011-10-14 | 2013-04-18 | 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 |
US20130110967A1 (en) * | 2011-11-01 | 2013-05-02 | Hitachi, Ltd. | Information system and method for managing data in information system |
WO2013065084A1 (en) * | 2011-11-01 | 2013-05-10 | Hitachi, Ltd. | Information system and method for managing data |
US10853274B2 (en) | 2011-11-07 | 2020-12-01 | NextGen Storage, Inc. | Primary data storage system with data tiering |
WO2013070792A1 (en) * | 2011-11-07 | 2013-05-16 | 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 |
US9176708B2 (en) * | 2011-11-07 | 2015-11-03 | Nexgen Storage, Inc. | Primary data storage system with quality of service |
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 |
US20130117516A1 (en) * | 2011-11-07 | 2013-05-09 | Nexgen Storage, Inc. | Primary Data Storage System with Staged Deduplication |
US10891054B2 (en) | 2011-11-07 | 2021-01-12 | Nexgen Storage, Inc. | Primary data storage system with quality of service |
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 |
US20130117515A1 (en) * | 2011-11-07 | 2013-05-09 | Nexgen Storage, Inc. | Primary Data Storage System with Data Tiering |
WO2013070803A1 (en) * | 2011-11-07 | 2013-05-16 | Nexgen Storage, Inc. | Primary data storage system with data tiering |
US8612284B1 (en) * | 2011-11-09 | 2013-12-17 | Parallels IP Holdings GmbH | Quality of service differentiated cloud storage |
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 |
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 |
US8688768B2 (en) | 2011-11-18 | 2014-04-01 | Ca, Inc. | System and method for hand-offs in cloud environments |
US10051042B2 (en) | 2011-11-18 | 2018-08-14 | 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 |
US20130138706A1 (en) * | 2011-11-28 | 2013-05-30 | Cleversafe, Inc. | Creating a New File for a Dispersed Storage Network |
US9749132B1 (en) * | 2011-11-28 | 2017-08-29 | Amazon Technologies, Inc. | System and method for secure deletion of data |
US9584326B2 (en) * | 2011-11-28 | 2017-02-28 | International Business Machines Corporation | Creating a new file for a dispersed storage network |
US9773051B2 (en) | 2011-11-29 | 2017-09-26 | 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 |
US11537630B2 (en) | 2011-11-29 | 2022-12-27 | 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 |
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 |
DE112012005037B4 (en) * | 2011-12-02 | 2018-11-15 | International Business Machines Corporation | Manage redundant immutable files using deduplications in storage clouds |
US9514145B2 (en) | 2011-12-02 | 2016-12-06 | International Business Machines Corporation | Managing redundant immutable files using deduplication 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 |
JP2018110014A (en) * | 2011-12-15 | 2018-07-12 | ベリタス テクノロジーズ エルエルシー | Dynamic storage hierarchization in virtual environment |
US11334533B2 (en) * | 2011-12-15 | 2022-05-17 | Veritas Technologies Llc | Dynamic storage tiering in a 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 |
CN104040525A (en) * | 2012-01-03 | 2014-09-10 | 微软公司 | 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 |
US20130173744A1 (en) * | 2012-01-03 | 2013-07-04 | Microsoft Corporation | 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 |
US9984079B1 (en) * | 2012-01-13 | 2018-05-29 | Amazon Technologies, Inc. | Managing data storage using storage policy specifications |
US20180267979A1 (en) * | 2012-01-13 | 2018-09-20 | 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 |
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 |
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 |
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 |
US10713624B2 (en) | 2012-02-24 | 2020-07-14 | Box, Inc. | System and method for promoting enterprise adoption of a web-based collaboration environment |
US9965745B2 (en) | 2012-02-24 | 2018-05-08 | 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 |
US10075527B2 (en) | 2012-03-30 | 2018-09-11 | 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 |
US10999373B2 (en) | 2012-03-30 | 2021-05-04 | Commvault Systems, Inc. | Information management of data associated with multiple cloud services |
US20130262615A1 (en) * | 2012-03-30 | 2013-10-03 | 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 |
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 |
US10895993B2 (en) * | 2012-03-30 | 2021-01-19 | Commvault Systems, Inc. | Shared network-available storage that permits concurrent data access |
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 |
US9262496B2 (en) | 2012-03-30 | 2016-02-16 | Commvault Systems, Inc. | Unified access to personal data |
US11956310B2 (en) | 2012-03-30 | 2024-04-09 | 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 |
US11042511B2 (en) | 2012-03-30 | 2021-06-22 | Commvault Systems, Inc. | Smart archiving and data previewing for mobile devices |
US9639297B2 (en) * | 2012-03-30 | 2017-05-02 | Commvault Systems, Inc | Shared network-available storage that permits concurrent data access |
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 |
US9213848B2 (en) | 2012-03-30 | 2015-12-15 | Commvault Systems, Inc. | Information management of data associated with multiple cloud services |
US11347408B2 (en) * | 2012-03-30 | 2022-05-31 | 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 |
US20190196729A1 (en) * | 2012-03-30 | 2019-06-27 | Commvault Systems, Inc. | Shared network-available storage that permits concurrent data access |
US10547684B2 (en) | 2012-03-30 | 2020-01-28 | Commvault Systems, Inc. | Information management of data associated with multiple cloud services |
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 |
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 |
US11615059B2 (en) | 2012-03-30 | 2023-03-28 | Commvault Systems, Inc. | Smart archiving and data previewing for mobile devices |
US9959333B2 (en) | 2012-03-30 | 2018-05-01 | Commvault Systems, Inc. | Unified access to personal data |
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 |
US10601799B2 (en) | 2012-04-26 | 2020-03-24 | Connected Data, Inc. | System and method for visualizing data sharing arrangements for an organization |
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 |
CN104395904A (en) * | 2012-04-27 | 2015-03-04 | 网络装置公司 | Efficient data object storage and retrieval |
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 |
WO2013165546A1 (en) * | 2012-04-30 | 2013-11-07 | Tightdb, Inc. | Method and apparatus for database |
US20130290334A1 (en) * | 2012-04-30 | 2013-10-31 | Rahul Kapoor | Managing storage of data across disparate repositories |
US10942915B2 (en) * | 2012-04-30 | 2021-03-09 | Mongodb, Inc. | Method and apparatus for database |
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 |
US9542466B2 (en) * | 2012-05-10 | 2017-01-10 | Aetherstore Inc. | Systems and methods for distributed storage |
US20130304706A1 (en) * | 2012-05-10 | 2013-11-14 | Aetherstore Llc | Systems and methods for distributed storage |
TWI512494B (en) * | 2012-05-16 | 2015-12-11 | Apple Inc | Locally backed cloud-based storage |
KR101652191B1 (en) | 2012-05-16 | 2016-08-29 | 애플 인크. | Locally backed cloud-based 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 |
US9691051B2 (en) | 2012-05-21 | 2017-06-27 | Box, Inc. | Security enhancement through application access control |
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 |
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 |
US9027108B2 (en) | 2012-05-23 | 2015-05-05 | Box, Inc. | Systems and methods for secure file portability between mobile applications on a mobile 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 |
US9342526B2 (en) | 2012-05-25 | 2016-05-17 | International Business Machines Corporation | Providing storage resources upon receipt of a storage service request |
US10474829B2 (en) | 2012-06-07 | 2019-11-12 | Amazon Technologies, Inc. | Virtual service provider zones |
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 |
US10834139B2 (en) | 2012-06-07 | 2020-11-10 | Amazon Technologies, Inc. | Flexibly configurable data modification services |
US10075471B2 (en) | 2012-06-07 | 2018-09-11 | Amazon Technologies, Inc. | Data loss prevention techniques |
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 |
US9860253B2 (en) * | 2012-06-26 | 2018-01-02 | Google Inc. | 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 |
US10693881B2 (en) | 2012-06-26 | 2020-06-23 | Google Llc | 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 |
US9941754B2 (en) | 2012-07-06 | 2018-04-10 | Energous Corporation | Wireless power transmission with selective range |
US10148133B2 (en) | 2012-07-06 | 2018-12-04 | Energous Corporation | Wireless power transmission with selective range |
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 |
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 |
US10965164B2 (en) | 2012-07-06 | 2021-03-30 | Energous Corporation | Systems and methods of wirelessly delivering power to a receiver device |
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 |
US10992187B2 (en) | 2012-07-06 | 2021-04-27 | Energous Corporation | System and methods of using electromagnetic waves to wirelessly deliver power to electronic devices |
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 |
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 |
US9973021B2 (en) | 2012-07-06 | 2018-05-15 | Energous Corporation | Receivers for wireless power transmission |
US9893768B2 (en) | 2012-07-06 | 2018-02-13 | Energous Corporation | Methodology for multiple pocket-forming |
US20150015195A1 (en) * | 2012-07-06 | 2015-01-15 | DvineWave Inc. | Portable wireless charging pad |
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 |
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 |
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 |
US9859756B2 (en) | 2012-07-06 | 2018-01-02 | Energous Corporation | Transmittersand methods for adjusting wireless power transmission based on information from receivers |
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 |
US12057715B2 (en) | 2012-07-06 | 2024-08-06 | Energous Corporation | Systems and methods of wirelessly delivering power to a wireless-power receiver device in response to a change of orientation of the wireless-power receiver device |
US9912199B2 (en) | 2012-07-06 | 2018-03-06 | Energous Corporation | Receivers for wireless power transmission |
US10103582B2 (en) | 2012-07-06 | 2018-10-16 | Energous Corporation | Transmitters for wireless power transmission |
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 |
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 |
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 |
US9143000B2 (en) * | 2012-07-06 | 2015-09-22 | Energous Corporation | Portable wireless charging pad |
US9237170B2 (en) | 2012-07-19 | 2016-01-12 | Box, Inc. | Data loss prevention (DLP) methods and architectures by a cloud service |
EP2747009A1 (en) * | 2012-07-19 | 2014-06-25 | 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 |
US9794256B2 (en) | 2012-07-30 | 2017-10-17 | Box, Inc. | System and method for advanced control tools for administrators in a cloud-based service |
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 |
US9195667B2 (en) * | 2012-08-03 | 2015-11-24 | 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 |
US20140040211A1 (en) * | 2012-08-03 | 2014-02-06 | 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 |
CN104584006A (en) * | 2012-08-13 | 2015-04-29 | 微软公司 | 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 |
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 |
US9450926B2 (en) | 2012-08-29 | 2016-09-20 | Box, Inc. | Upload and download streaming encryption to/from a cloud-based platform |
US9135462B2 (en) | 2012-08-29 | 2015-09-15 | Box, Inc. | Upload and download streaming encryption to/from a cloud-based platform |
US9100363B2 (en) | 2012-08-31 | 2015-08-04 | 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 |
US9059960B2 (en) * | 2012-08-31 | 2015-06-16 | 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 |
US9311071B2 (en) | 2012-09-06 | 2016-04-12 | Box, Inc. | Force upgrade of a mobile application via a server side configuration file |
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 |
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 |
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 |
US9553758B2 (en) | 2012-09-18 | 2017-01-24 | Box, Inc. | Sandboxing individual applications to specific user folders in a cloud-based service |
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 |
US11093505B2 (en) | 2012-09-28 | 2021-08-17 | Oracle International Corporation | Real-time business event analysis and monitoring |
US11210295B2 (en) | 2012-09-28 | 2021-12-28 | Oracle International Corporation | Generation of archiver queries for continuous queries over archived relations |
US9767499B2 (en) * | 2012-09-28 | 2017-09-19 | Oracle International Corporation | Supply chain orchestration system with configure-to-order item matching |
US11971894B2 (en) | 2012-09-28 | 2024-04-30 | Oracle International Corporation | Operator sharing for continuous queries over archived relations |
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 |
US9805095B2 (en) | 2012-09-28 | 2017-10-31 | Oracle International Corporation | State initialization for continuous queries over archived views |
US9715529B2 (en) | 2012-09-28 | 2017-07-25 | Oracle International Corporation | Hybrid execution of continuous and scheduled queries |
US9852186B2 (en) | 2012-09-28 | 2017-12-26 | Oracle International Corporation | Managing risk with continuous queries |
US9703836B2 (en) | 2012-09-28 | 2017-07-11 | Oracle International Corporation | Tactical query to continuous query conversion |
US9361308B2 (en) * | 2012-09-28 | 2016-06-07 | 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 |
US20140095446A1 (en) * | 2012-09-28 | 2014-04-03 | Oracle International Corporation | State initialization algorithm for continuous queries over archived relations |
US9262479B2 (en) | 2012-09-28 | 2016-02-16 | Oracle International Corporation | Join operations for continuous queries over archived views |
US9946756B2 (en) | 2012-09-28 | 2018-04-17 | Oracle International Corporation | Mechanism to chain continuous queries |
US9953059B2 (en) | 2012-09-28 | 2018-04-24 | Oracle International Corporation | Generation of archiver queries for continuous queries over archived relations |
US9256646B2 (en) | 2012-09-28 | 2016-02-09 | Oracle International Corporation | Configurable data windows for archived relations |
US9990401B2 (en) | 2012-09-28 | 2018-06-05 | Oracle International Corporation | Processing events for continuous queries on archived relations |
US9990402B2 (en) | 2012-09-28 | 2018-06-05 | Oracle International Corporation | Managing continuous queries in the presence of subqueries |
US10025825B2 (en) | 2012-09-28 | 2018-07-17 | Oracle International Corporation | Configurable data windows for archived relations |
US10042890B2 (en) | 2012-09-28 | 2018-08-07 | Oracle International Corporation | Parameterized continuous query templates |
US9563663B2 (en) | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
US10102250B2 (en) | 2012-09-28 | 2018-10-16 | Oracle International Corporation | Managing continuous queries with archived relations |
US11288277B2 (en) | 2012-09-28 | 2022-03-29 | Oracle International Corporation | Operator sharing for continuous queries over archived relations |
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 |
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 |
US9654556B2 (en) | 2012-10-02 | 2017-05-16 | Razer (Asia-Pacific) Pte. Ltd. | Managing applications on an electronic device |
US9747000B2 (en) | 2012-10-02 | 2017-08-29 | Razer (Asia-Pacific) Pte. Ltd. | Launching applications on an electronic device |
US9776078B2 (en) | 2012-10-02 | 2017-10-03 | 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 |
US8892693B2 (en) | 2012-10-02 | 2014-11-18 | Nextbit Systems Inc. | Enabling fragment-based mobile device application streaming |
US9380093B2 (en) | 2012-10-02 | 2016-06-28 | Nextbit Systems, Inc. | Mobile device application streaming |
US9106721B2 (en) | 2012-10-02 | 2015-08-11 | Nextbit Systems | Application state synchronization across multiple devices |
US10540368B2 (en) | 2012-10-02 | 2020-01-21 | Razer (Asia-Pacific) Pte. Ltd. | System and method for resolving synchronization conflicts |
US9268655B2 (en) | 2012-10-02 | 2016-02-23 | Nextbit Systems Inc. | Interface for resolving synchronization conflicts of application states |
US9717985B2 (en) | 2012-10-02 | 2017-08-01 | Razer (Asia-Pacific) Pte. Ltd. | Fragment-based mobile device application streaming utilizing crowd-sourcing |
US8977723B2 (en) | 2012-10-02 | 2015-03-10 | Nextbit Systems Inc. | Cloud based application fragmentation |
US10684744B2 (en) | 2012-10-02 | 2020-06-16 | Razer (Asia-Pacific) Pte. Ltd. | Launching applications on an electronic device |
US9210203B2 (en) | 2012-10-02 | 2015-12-08 | Nextbit Systems Inc. | Resource based mobile device application streaming |
US10946276B2 (en) | 2012-10-02 | 2021-03-16 | 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 |
US9600552B2 (en) | 2012-10-02 | 2017-03-21 | Nextbit Systems Inc. | Proximity based application state synchronization |
US10425471B2 (en) | 2012-10-02 | 2019-09-24 | Razer (Asia-Pacific) Pte. Ltd. | Multi-tasker |
US8951127B2 (en) * | 2012-10-02 | 2015-02-10 | Nextbit Systems Inc. | Game state synchronization and restoration across multiple devices |
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 |
US9705967B2 (en) | 2012-10-04 | 2017-07-11 | Box, Inc. | Corporate user discovery and identification of recommended collaborators in a cloud platform |
US9495364B2 (en) | 2012-10-04 | 2016-11-15 | Box, Inc. | Enhanced quick search features, low-barrier commenting/interactive features in a collaboration 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 |
US9348538B2 (en) * | 2012-10-18 | 2016-05-24 | Netapp, Inc. | Selective deduplication |
US10565165B2 (en) | 2012-10-18 | 2020-02-18 | Netapp Inc. | Selective deduplication |
US9753938B2 (en) | 2012-10-18 | 2017-09-05 | 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 |
US9137222B2 (en) * | 2012-10-31 | 2015-09-15 | Vmware, Inc. | Crypto proxy for cloud storage services |
US20140122866A1 (en) * | 2012-10-31 | 2014-05-01 | 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 |
EP2922273A4 (en) * | 2012-11-15 | 2015-12-16 | Zte Corp | Resource sharing method, apparatus, system, and terminal, and resource management center |
US20150169671A1 (en) * | 2012-11-19 | 2015-06-18 | Compellent Technologies | 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 |
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 |
US20140143206A1 (en) * | 2012-11-19 | 2014-05-22 | 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 |
US20140164391A1 (en) * | 2012-12-12 | 2014-06-12 | Hon Hai Precision Industry Co., Ltd. | Data block saving system and method |
US9552161B2 (en) * | 2012-12-12 | 2017-01-24 | Shenzhen Airdrawing Technology Service Co., Ltd | Repetitive data block deleting system and method |
CN103873507A (en) * | 2012-12-12 | 2014-06-18 | 鸿富锦精密工业(深圳)有限公司 | Data block uploading and storing system and method |
CN103873503A (en) * | 2012-12-12 | 2014-06-18 | 鸿富锦精密工业(深圳)有限公司 | Data block backup system and method |
US20140172950A1 (en) * | 2012-12-13 | 2014-06-19 | Ca, Inc. | Methods And Systems For Speeding Up Data Recovery |
US9241046B2 (en) * | 2012-12-13 | 2016-01-19 | Ca, Inc. | Methods and systems for speeding up data recovery |
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 |
US9002805B1 (en) | 2012-12-14 | 2015-04-07 | Amazon Technologies, Inc. | Conditional storage object deletion |
US20170255589A1 (en) * | 2012-12-14 | 2017-09-07 | Amazon Technologies, Inc. | Lifecycle support for storage objects |
US9727522B1 (en) * | 2012-12-14 | 2017-08-08 | Amazon Technologies, Inc. | Multi-tenant storage service object lifecycle management using transition job objects |
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 |
US9052942B1 (en) | 2012-12-14 | 2015-06-09 | Amazon Technologies, Inc. | Storage object deletion job management |
US10853337B2 (en) * | 2012-12-14 | 2020-12-01 | Amazon Technologies, Inc. | Lifecycle transition validation for storage objects |
US9063946B1 (en) | 2012-12-14 | 2015-06-23 | Amazon Technologies, Inc. | Backoff-based scheduling of storage object deletions |
US9417917B1 (en) | 2012-12-14 | 2016-08-16 | Amazon Technologies, Inc. | Equitable resource allocation for 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 |
US9740702B2 (en) | 2012-12-21 | 2017-08-22 | 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 |
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 |
US9684535B2 (en) | 2012-12-21 | 2017-06-20 | Commvault Systems, Inc. | Archiving virtual machines in a data storage system |
US10733143B2 (en) | 2012-12-21 | 2020-08-04 | Commvault Systems, Inc. | Systems and methods to identify unprotected virtual machines |
US9965316B2 (en) | 2012-12-21 | 2018-05-08 | Commvault Systems, Inc. | Archiving virtual machines in a data storage system |
US11099886B2 (en) | 2012-12-21 | 2021-08-24 | 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 |
US20140181112A1 (en) * | 2012-12-26 | 2014-06-26 | Hon Hai Precision Industry Co., Ltd. | Control device and file distribution method |
US11409765B2 (en) | 2012-12-27 | 2022-08-09 | Commvault Systems, Inc. | Application of information management policies based on operation with a geographic entity |
US12001451B2 (en) | 2012-12-27 | 2024-06-04 | Commvault Systems, Inc. | Application of information management policies based on operation with a geographic entity |
US10831778B2 (en) | 2012-12-27 | 2020-11-10 | Commvault Systems, Inc. | Application of information management policies based on operation with a geographic entity |
US10346259B2 (en) * | 2012-12-28 | 2019-07-09 | Commvault Systems, Inc. | Data recovery using a cloud-based remote data recovery center |
US10956201B2 (en) | 2012-12-28 | 2021-03-23 | Commvault Systems, Inc. | Systems and methods for repurposing virtual machines |
US20140189432A1 (en) * | 2012-12-28 | 2014-07-03 | Commvault Systems, Inc. | Data recovery using a cloud-based remote data recovery center |
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 |
US11080232B2 (en) | 2012-12-28 | 2021-08-03 | Commvault Systems, Inc. | Backup and restoration for a deduplicated file system |
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 |
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 |
US10896053B2 (en) | 2013-01-08 | 2021-01-19 | Commvault Systems, Inc. | Virtual machine load balancing |
US11922197B2 (en) | 2013-01-08 | 2024-03-05 | Commvault Systems, Inc. | Virtual server agent load balancing |
US10474483B2 (en) | 2013-01-08 | 2019-11-12 | Commvault Systems, Inc. | Virtual server agent load balancing |
US11734035B2 (en) | 2013-01-08 | 2023-08-22 | 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 |
US11023334B2 (en) | 2013-01-11 | 2021-06-01 | Commvault Systems, Inc. | Table level database restore in a data storage system |
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 |
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 |
US11726887B2 (en) | 2013-01-11 | 2023-08-15 | Commvault Systems, Inc. | Table level database restore 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 |
US9766989B2 (en) | 2013-01-14 | 2017-09-19 | Commvault Systems, Inc. | Creation of virtual machine placeholders 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 |
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 |
US9390135B2 (en) | 2013-02-19 | 2016-07-12 | Oracle International Corporation | Executing continuous event processing (CEP) queries in parallel |
US9262258B2 (en) | 2013-02-19 | 2016-02-16 | Oracle International Corporation | Handling faults in a continuous event processing (CEP) system |
US10083210B2 (en) | 2013-02-19 | 2018-09-25 | Oracle International Corporation | Executing continuous event processing (CEP) queries in parallel |
US20140237070A1 (en) * | 2013-02-19 | 2014-08-21 | Lg Cns Co., Ltd. | Network-attached storage management in a cloud environment |
US11892978B2 (en) | 2013-02-26 | 2024-02-06 | Dropbox, Inc. | Suggesting content items to be accessed by a user |
US11899623B2 (en) | 2013-02-26 | 2024-02-13 | Dropbox, Inc. | Suggesting content items to be accessed by a user |
US11308032B2 (en) | 2013-02-26 | 2022-04-19 | 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 |
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 |
CN104007937A (en) * | 2013-02-26 | 2014-08-27 | 希捷科技有限公司 | Data update management in a cloud computing environment |
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 |
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 |
CN105453105A (en) * | 2013-03-04 | 2016-03-30 | 多塞股份公司 | File security management apparatus and management method for system protection |
USRE49904E1 (en) | 2013-03-04 | 2024-04-02 | Docusign, Inc. | Systems and methods for cloud data security |
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 |
US10127235B2 (en) * | 2013-03-06 | 2018-11-13 | Quest Software Inc. | Storage system deduplication with service level agreements |
US11093336B2 (en) | 2013-03-11 | 2021-08-17 | Commvault Systems, Inc. | Browsing data stored in a backup format |
US20170024286A1 (en) * | 2013-03-11 | 2017-01-26 | Commvault Systems, Inc. | Single index to query multiple backup formats |
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 |
US20140282938A1 (en) * | 2013-03-15 | 2014-09-18 | Adam Moisa | Method and system for integrated cloud storage management |
JP2016512906A (en) * | 2013-03-15 | 2016-05-09 | ブラケット コンピューティング インコーポレイテッドBracket Computing, Inc. | Multi-layer storage management for flexible data placement |
WO2014151126A1 (en) * | 2013-03-15 | 2014-09-25 | Bracket Computing, Inc. | Multi-layered storage administration for flexible placement of data |
AU2014235300B2 (en) * | 2013-03-15 | 2018-04-12 | VMware LLC | Multi-layered storage administration for flexible placement of data |
US20150178007A1 (en) * | 2013-03-15 | 2015-06-25 | Cloudifyd, Inc. | Method and system for integrated cloud storage management |
US9473561B2 (en) * | 2013-03-15 | 2016-10-18 | International Business Machines Corporation | Data transmission for transaction processing in a networked environment |
US20140280759A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Data transmission for transaction processing in a networked environment |
US10929895B2 (en) * | 2013-03-15 | 2021-02-23 | Groupon, Inc. | Generic message injection system |
US11704702B2 (en) * | 2013-03-15 | 2023-07-18 | Groupon, Inc. | Generic message injection system |
US9335932B2 (en) | 2013-03-15 | 2016-05-10 | Bracket Computing, Inc. | Storage unit selection for virtualized storage units |
US10430398B2 (en) * | 2013-03-15 | 2019-10-01 | Datadirect Networks, Inc. | Data storage system having mutable objects incorporating time |
US20210142370A1 (en) * | 2013-03-15 | 2021-05-13 | Groupon, Inc. | Generic message injection system |
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 |
US11044592B2 (en) | 2013-03-21 | 2021-06-22 | Razer (Asia-Pacific) Pte. Ltd. | Electronic device system restoration by tapping mechanism |
US9095779B2 (en) | 2013-03-21 | 2015-08-04 | Nextbit Systems | Gaming application state transfer amongst user profiles |
US10123189B2 (en) | 2013-03-21 | 2018-11-06 | 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 |
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 |
US10270593B2 (en) | 2013-04-10 | 2019-04-23 | International Business Machines Corporation | Managing security in a computing environment |
US9948458B2 (en) | 2013-04-10 | 2018-04-17 | International Business Machines Corporation | Managing security in a computing environment |
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 |
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 |
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 |
WO2014174380A3 (en) * | 2013-04-22 | 2015-02-26 | Bacula Systems Sa | Creating a universally deduplicatable archive volume |
US10467197B2 (en) | 2013-04-22 | 2019-11-05 | 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 |
EP2801942A1 (en) * | 2013-05-09 | 2014-11-12 | Rockwell Automation Technologies, Inc. | Risk assessment for industrial systems using big data |
US20140337116A1 (en) * | 2013-05-10 | 2014-11-13 | Yahoo! Inc. | Marketing technique to negotiate price of product |
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 |
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 |
US9941705B2 (en) | 2013-05-10 | 2018-04-10 | Energous Corporation | Wireless sound charging of clothing and smart fabrics |
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 |
US9130397B2 (en) * | 2013-05-10 | 2015-09-08 | Energous Corporation | Wireless charging and powering of electronic devices in a vehicle |
US20150318729A1 (en) * | 2013-05-10 | 2015-11-05 | Energous Corporation | Wireless sound tracking pocket-forming |
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 |
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 |
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 |
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 |
US10224758B2 (en) | 2013-05-10 | 2019-03-05 | Energous Corporation | Wireless powering of electronic devices with selective delivery range |
US10128695B2 (en) | 2013-05-10 | 2018-11-13 | Energous Corporation | Hybrid Wi-Fi and power router transmitter |
US9843229B2 (en) | 2013-05-10 | 2017-12-12 | Energous Corporation | Wireless sound charging and powering of healthcare gadgets and sensors |
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 |
US9800080B2 (en) | 2013-05-10 | 2017-10-24 | Energous Corporation | Portable wireless charging pad |
US9824815B2 (en) | 2013-05-10 | 2017-11-21 | Energous Corporation | Wireless charging and powering of healthcare gadgets and sensors |
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 |
US20150015194A1 (en) * | 2013-05-10 | 2015-01-15 | DvineWave Inc. | 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 |
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 |
US10635641B1 (en) | 2013-05-22 | 2020-04-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 |
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 |
US9083724B2 (en) * | 2013-05-30 | 2015-07-14 | Netapp, Inc. | System iteratively reducing I/O requests during migration of virtual storage system |
US20140359058A1 (en) * | 2013-05-30 | 2014-12-04 | Netapp, Inc. | Method and system for migrating a virtual storage system |
US9418113B2 (en) | 2013-05-30 | 2016-08-16 | Oracle International Corporation | Value based windows on relations in continuous data streams |
US20140359282A1 (en) * | 2013-05-31 | 2014-12-04 | Alcatel-Lucent | Systems and methods for enabling searchable encryption |
US9135454B2 (en) * | 2013-05-31 | 2015-09-15 | Alcatel Lucent | Systems and methods for enabling searchable encryption |
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 |
US11722177B2 (en) | 2013-06-03 | 2023-08-08 | Energous Corporation | Wireless power receivers that are externally attachable to electronic devices |
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 |
US20140365655A1 (en) * | 2013-06-10 | 2014-12-11 | Konica Minolta, Inc. | Information system and multi-functional information device |
US10298660B2 (en) * | 2013-06-10 | 2019-05-21 | Konica Minolta, Inc. | Information system and multi-functional information device |
US9917817B1 (en) * | 2013-06-10 | 2018-03-13 | EMC IP Holding Company LLC | Selective encryption of outgoing data |
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 |
US10110656B2 (en) | 2013-06-25 | 2018-10-23 | Box, Inc. | Systems and methods for providing shell communication in a cloud-based platform |
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 |
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 |
US20150006691A1 (en) * | 2013-06-27 | 2015-01-01 | Cisco Technology, Inc. | Managing rogue cloud provider operations |
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 |
US11323479B2 (en) | 2013-07-01 | 2022-05-03 | Amazon Technologies, Inc. | Data loss prevention techniques |
US20150006957A1 (en) * | 2013-07-01 | 2015-01-01 | Open Text S.A. | Method and system for storing documents |
US10983952B2 (en) * | 2013-07-01 | 2021-04-20 | Open Text Sa Ulc | 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 |
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 |
US10021523B2 (en) | 2013-07-11 | 2018-07-10 | 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 |
US10305315B2 (en) | 2013-07-11 | 2019-05-28 | Energous Corporation | Systems and methods for wireless charging using a cordless transceiver |
US20150015192A1 (en) * | 2013-07-11 | 2015-01-15 | DvineWave Inc. | Wireless tracking pocket-forming |
US9876379B1 (en) | 2013-07-11 | 2018-01-23 | Energous Corporation | Wireless charging and powering of electronic devices in a vehicle |
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 |
US10063105B2 (en) | 2013-07-11 | 2018-08-28 | Energous Corporation | Proximity transmitters for wireless power charging systems |
US9941707B1 (en) | 2013-07-19 | 2018-04-10 | Energous Corporation | Home base station for multiple room coverage with multiple transmitters |
US10211680B2 (en) | 2013-07-19 | 2019-02-19 | Energous Corporation | Method for 3 dimensional pocket-forming |
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 |
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 |
US9843213B2 (en) | 2013-08-06 | 2017-12-12 | Energous Corporation | Social power sharing for mobile devices based on pocket-forming |
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 |
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 |
CN105556516A (en) * | 2013-08-09 | 2016-05-04 | 微软技术许可有限责任公司 | Personalized content tagging |
JP2016532198A (en) * | 2013-08-09 | 2016-10-13 | フォーエバー、 インコーポレイテッド | Permanent maintenance and retrieval of data objects in the cloud |
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 |
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 |
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 |
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 |
US9304997B2 (en) * | 2013-08-27 | 2016-04-05 | Netapp, Inc. | Asynchronously migrating a file system |
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 |
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 |
US20150066845A1 (en) * | 2013-08-27 | 2015-03-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 |
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 |
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 |
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 |
US11435865B2 (en) | 2013-09-13 | 2022-09-06 | Box, Inc. | System and methods for configuring event-based automation in 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 |
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 |
US9535909B2 (en) | 2013-09-13 | 2017-01-03 | Box, Inc. | Configurable event-based automation architecture for cloud-based collaboration platforms |
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 |
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 |
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 |
US9483473B2 (en) | 2013-09-13 | 2016-11-01 | Box, Inc. | High availability architecture for a cloud-based concurrent-access collaboration platform |
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 |
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 |
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 |
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 |
WO2015075513A1 (en) * | 2013-09-30 | 2015-05-28 | Orange | System and method for distributed data storage |
USD768162S1 (en) | 2013-09-30 | 2016-10-04 | Nextbit Systems Inc. | Display screen or portion thereof with graphical user interface |
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 |
US9847677B1 (en) | 2013-10-10 | 2017-12-19 | Energous Corporation | Wireless charging and powering of healthcare gadgets and sensors |
US9893555B1 (en) | 2013-10-10 | 2018-02-13 | Energous Corporation | Wireless charging of tools using a toolbox transmitter |
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 |
CN103593476A (en) * | 2013-11-28 | 2014-02-19 | 中国科学院信息工程研究所 | Multi-keyword plaintext and ciphertext retrieving method and device oriented to cloud storage |
CN103593476B (en) * | 2013-11-28 | 2017-01-25 | 中国科学院信息工程研究所 | Multi-keyword plaintext and ciphertext retrieving method and device oriented to cloud storage |
US20170061141A1 (en) * | 2013-12-02 | 2017-03-02 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
US9536103B2 (en) * | 2013-12-02 | 2017-01-03 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
US20150363608A1 (en) * | 2013-12-02 | 2015-12-17 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
US10007804B2 (en) * | 2013-12-02 | 2018-06-26 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
US20150154418A1 (en) * | 2013-12-02 | 2015-06-04 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
US20170098096A1 (en) * | 2013-12-02 | 2017-04-06 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
US9817981B2 (en) * | 2013-12-02 | 2017-11-14 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
US9280678B2 (en) * | 2013-12-02 | 2016-03-08 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
US9495556B2 (en) * | 2013-12-02 | 2016-11-15 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
US20150363611A1 (en) * | 2013-12-02 | 2015-12-17 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
US10083309B2 (en) * | 2013-12-02 | 2018-09-25 | 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 |
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 |
US20170061339A1 (en) * | 2014-01-02 | 2017-03-02 | Jeremy Lynn Littlejohn | 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 |
US9509747B2 (en) | 2014-01-23 | 2016-11-29 | 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 |
US20150212889A1 (en) * | 2014-01-27 | 2015-07-30 | Commvault Systems, Inc. | Techniques for serving archived electronic mail |
US11940952B2 (en) | 2014-01-27 | 2024-03-26 | Commvault Systems, Inc. | Techniques for serving archived electronic mail |
US10324897B2 (en) * | 2014-01-27 | 2019-06-18 | 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 |
CN106068498A (en) * | 2014-03-01 | 2016-11-02 | 微软技术许可有限责任公司 | By local scene information radiography to calculating system based on cloud |
US20150248435A1 (en) * | 2014-03-01 | 2015-09-03 | Microsoft Corporation | Shadowing local on-premises information to a cloud-based computing system |
US10205780B2 (en) | 2014-03-05 | 2019-02-12 | Commvault Systems, Inc. | Cross-system storage management for transferring data across autonomous information management systems |
US11316920B2 (en) | 2014-03-05 | 2022-04-26 | 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 |
US9769260B2 (en) | 2014-03-05 | 2017-09-19 | Commvault Systems, Inc. | Cross-system storage management for transferring data across autonomous information management systems |
US10884991B1 (en) * | 2014-03-14 | 2021-01-05 | Jpmorgan Chase Bank, N.A. | Data request analysis and fulfillment system and method |
US10291476B1 (en) | 2014-03-14 | 2019-05-14 | Veritas Technologies Llc | Method and apparatus for automatically deploying applications in a multi-cloud networking system |
US9680708B2 (en) | 2014-03-14 | 2017-06-13 | Veritas Technologies | Method and apparatus for cloud resource delivery |
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 |
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 |
US9946724B1 (en) * | 2014-03-31 | 2018-04-17 | EMC IP Holding Company LLC | Scalable post-process deduplication |
US20150281046A1 (en) * | 2014-03-31 | 2015-10-01 | Verizon Patent And Licensing Inc. | Method and apparatus for cloud provisioning of communication services |
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 |
EP2940602A1 (en) * | 2014-04-30 | 2015-11-04 | 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 |
US9779089B2 (en) * | 2014-05-02 | 2017-10-03 | Dell Products L.P. | Auto-storing and synchronizing device content from an information handling system |
US20150319236A1 (en) * | 2014-05-02 | 2015-11-05 | Claude Lano Cox | Auto-storing and synchronizing device content from an information handling system |
US10014728B1 (en) | 2014-05-07 | 2018-07-03 | Energous Corporation | Wireless power receiver having a charger system for enhanced power delivery |
US9973008B1 (en) | 2014-05-07 | 2018-05-15 | Energous Corporation | Wireless power receiver with boost converters directly coupled to a storage element |
US10193396B1 (en) | 2014-05-07 | 2019-01-29 | Energous Corporation | Cluster management of transmitters in a wireless power transmission system |
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 |
US9859797B1 (en) | 2014-05-07 | 2018-01-02 | Energous Corporation | Synchronous rectifier design for wireless power receiver |
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 |
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 |
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 |
US9819230B2 (en) | 2014-05-07 | 2017-11-14 | Energous Corporation | Enhanced receiver for wireless power transmission |
US9882395B1 (en) | 2014-05-07 | 2018-01-30 | Energous Corporation | Cluster management of transmitters in a wireless power transmission system |
US10243414B1 (en) | 2014-05-07 | 2019-03-26 | Energous Corporation | Wearable device with wireless power and payload receiver |
US11233425B2 (en) | 2014-05-07 | 2022-01-25 | Energous Corporation | Wireless power receiver having an antenna assembly and charger for enhanced power delivery |
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 |
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 |
US10116170B1 (en) | 2014-05-07 | 2018-10-30 | Energous Corporation | Methods and systems for maximum power point transfer in receivers |
US10186911B2 (en) | 2014-05-07 | 2019-01-22 | Energous Corporation | Boost converter and controller for increasing voltage received from wireless power transmission waves |
US10218227B2 (en) | 2014-05-07 | 2019-02-26 | Energous Corporation | Compact PIFA antenna |
US9800172B1 (en) | 2014-05-07 | 2017-10-24 | Energous Corporation | Integrated rectifier and boost converter for boosting voltage received from wireless power transmission waves |
US9876394B1 (en) | 2014-05-07 | 2018-01-23 | Energous Corporation | Boost-charger-boost system for enhanced power delivery |
US9806564B2 (en) | 2014-05-07 | 2017-10-31 | Energous Corporation | Integrated rectifier and boost converter for wireless power transmission |
US9853458B1 (en) | 2014-05-07 | 2017-12-26 | Energous Corporation | Systems and methods for device and power receiver pairing |
US10298133B2 (en) | 2014-05-07 | 2019-05-21 | Energous Corporation | Synchronous rectifier design for wireless power receiver |
US10396604B2 (en) | 2014-05-07 | 2019-08-27 | Energous Corporation | Systems and methods for operating a plurality of antennas of a wireless power transmitter |
US10291066B1 (en) | 2014-05-07 | 2019-05-14 | Energous Corporation | Power transmission control systems and methods |
US11119868B2 (en) | 2014-05-09 | 2021-09-14 | 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 |
US11989102B2 (en) | 2014-05-09 | 2024-05-21 | Commvault Systems, Inc. | Using different target storage devices in a backup storage system |
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 |
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 |
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 |
US9859758B1 (en) | 2014-05-14 | 2018-01-02 | Energous Corporation | Transducer sound arrangement for pocket-forming |
US10630558B2 (en) | 2014-05-16 | 2020-04-21 | Centurylink Intellectual Property Llc | Network services API |
US10904108B2 (en) | 2014-05-16 | 2021-01-26 | 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 |
US10193769B2 (en) | 2014-05-16 | 2019-01-29 | Centurylink Intellectual Property Llc | Network services API |
US10063064B1 (en) | 2014-05-23 | 2018-08-28 | Energous Corporation | System and method for generating a power receiver identifier in a wireless power network |
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 |
US10223717B1 (en) | 2014-05-23 | 2019-03-05 | Energous Corporation | Systems and methods for payment-based authorization of wireless power transmission service |
US10063106B2 (en) | 2014-05-23 | 2018-08-28 | Energous Corporation | System and method for a self-system analysis in a wireless power transmission network |
US9899873B2 (en) | 2014-05-23 | 2018-02-20 | Energous Corporation | System and method for generating a power receiver identifier in a wireless power network |
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 |
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 |
US9853692B1 (en) | 2014-05-23 | 2017-12-26 | Energous Corporation | Systems and methods for wireless power transmission |
US9793758B2 (en) | 2014-05-23 | 2017-10-17 | Energous Corporation | Enhanced transmitter using frequency control for wireless power transmission |
US20150347444A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Cloud library de-duplication |
US9449012B2 (en) * | 2014-05-30 | 2016-09-20 | Apple Inc. | Cloud library de-duplication |
US10530854B2 (en) | 2014-05-30 | 2020-01-07 | Box, Inc. | Synchronization of permissioned content in cloud-based environments |
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 |
US10454778B2 (en) | 2014-06-03 | 2019-10-22 | Box, Inc. | Policy-based computation and storage of cloud-based collaboration objects |
US9244978B2 (en) | 2014-06-11 | 2016-01-26 | Oracle International Corporation | Custom partitioning of a data stream |
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 |
US10509769B1 (en) * | 2014-06-12 | 2019-12-17 | EMC IP Holding Company LLC | Method to efficiently track I/O access history |
US9602514B2 (en) | 2014-06-16 | 2017-03-21 | Box, Inc. | Enterprise mobility management and verification of a managed application by a content provider |
WO2015195497A1 (en) * | 2014-06-17 | 2015-12-23 | Cisco Technology, Inc. | Method and apparatus for enforcing storage encryption for data stored in a cloud |
US9742738B2 (en) | 2014-06-17 | 2017-08-22 | 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 |
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 |
US9893554B2 (en) | 2014-07-14 | 2018-02-13 | Energous Corporation | System and method for providing health safety in a wireless power transmission system |
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 |
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 |
US10778693B2 (en) * | 2014-07-14 | 2020-09-15 | Cisco Technology, Inc. | Network-based real-time distributed data compliance broker |
US20160014140A1 (en) * | 2014-07-14 | 2016-01-14 | 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 |
US20190014123A1 (en) * | 2014-07-14 | 2019-01-10 | Cisco Technology, Inc. | Network-based real-time distributed data compliance broker |
US10084795B2 (en) * | 2014-07-14 | 2018-09-25 | Cisco Technology, Inc. | Network-based real-time distributed data compliance broker |
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 |
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 |
US11625439B2 (en) | 2014-07-16 | 2023-04-11 | Commvault Systems, Inc. | Volume or virtual machine level backup and generating placeholders for virtual machine files |
US10650057B2 (en) | 2014-07-16 | 2020-05-12 | 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 |
US10068703B1 (en) | 2014-07-21 | 2018-09-04 | Energous Corporation | Integrated miniature PIFA with artificial magnetic conductor metamaterials |
US9838083B2 (en) | 2014-07-21 | 2017-12-05 | Energous Corporation | Systems and methods for communication with remote management systems |
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 |
US9871301B2 (en) | 2014-07-21 | 2018-01-16 | Energous Corporation | Integrated miniature PIFA with artificial magnetic conductor metamaterials |
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 |
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 |
US9641388B2 (en) * | 2014-07-29 | 2017-05-02 | 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 |
US9893942B2 (en) | 2014-07-29 | 2018-02-13 | Commvault Systems, Inc. | Customized deployment in information management systems |
US20160036667A1 (en) * | 2014-07-29 | 2016-02-04 | 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 |
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 |
US11914539B2 (en) * | 2014-08-05 | 2024-02-27 | Spatial Digital Systems, Inc. | Remote wiping for data transport, storage and retrieval |
US9990352B2 (en) | 2014-08-06 | 2018-06-05 | Quest Software Inc. | Chunk compression in a deduplication aware client environment |
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 |
US9917894B2 (en) | 2014-08-06 | 2018-03-13 | Quest Software Inc. | Accelerating transfer 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 |
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 |
US10860529B2 (en) | 2014-08-11 | 2020-12-08 | Netapp Inc. | System and method for planning and configuring a file system migration |
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 |
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 |
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 |
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 |
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 |
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 |
US9917477B1 (en) | 2014-08-21 | 2018-03-13 | Energous Corporation | Systems and methods for automatically testing the communication between power transmitter and wireless receiver |
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 |
US10790674B2 (en) | 2014-08-21 | 2020-09-29 | Energous Corporation | User-configured operational parameters for wireless power transmission control |
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 |
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 |
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 |
US11030158B2 (en) | 2014-08-22 | 2021-06-08 | International Business Machines Corporation | Improving performance of asynchronous replication in HSM integrated storage systems |
US9886447B2 (en) * | 2014-08-22 | 2018-02-06 | International Business Machines Corporation | 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 |
US9894119B2 (en) | 2014-08-29 | 2018-02-13 | Box, Inc. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
US9756022B2 (en) | 2014-08-29 | 2017-09-05 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
US11146600B2 (en) | 2014-08-29 | 2021-10-12 | 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 |
US10708323B2 (en) | 2014-08-29 | 2020-07-07 | Box, Inc. | Managing flow-based interactions with cloud-based shared content |
US11876845B2 (en) | 2014-08-29 | 2024-01-16 | Box, Inc. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
US10708321B2 (en) | 2014-08-29 | 2020-07-07 | 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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
US11936536B2 (en) * | 2014-09-24 | 2024-03-19 | 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 |
US20220124010A1 (en) * | 2014-09-24 | 2022-04-21 | RISC Networks, LLC | Method and device for evaluating the system assets of a communication network |
US9886486B2 (en) | 2014-09-24 | 2018-02-06 | Oracle International Corporation | Enriching events with dynamically typed big data for event processing |
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 |
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 |
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 |
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 |
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 |
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 |
US9826019B2 (en) * | 2014-10-27 | 2017-11-21 | 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 |
US11921675B2 (en) | 2014-10-29 | 2024-03-05 | 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 |
US10776209B2 (en) | 2014-11-10 | 2020-09-15 | Commvault Systems, Inc. | Cross-platform virtual machine backup and replication |
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 |
US10404799B2 (en) | 2014-11-19 | 2019-09-03 | Commvault Systems, Inc. | Migration to cloud storage from backup |
US12058209B2 (en) | 2014-11-19 | 2024-08-06 | Commvault Systems, Inc. | Migration to cloud storage |
US20160140131A1 (en) * | 2014-11-19 | 2016-05-19 | Prophetstor Data Services, Inc. | Method and system for data transformation for cloud-based archiving and backup |
US10509573B2 (en) | 2014-11-20 | 2019-12-17 | Commvault Systems, Inc. | Virtual machine change block tracking |
US11422709B2 (en) | 2014-11-20 | 2022-08-23 | Commvault Systems, Inc. | Virtual machine change block tracking |
US9983936B2 (en) | 2014-11-20 | 2018-05-29 | Commvault Systems, Inc. | Virtual machine change block tracking |
US9823977B2 (en) | 2014-11-20 | 2017-11-21 | Commvault Systems, Inc. | Virtual machine change block tracking |
US9996287B2 (en) | 2014-11-20 | 2018-06-12 | Commvault Systems, Inc. | Virtual machine change block tracking |
US12061798B2 (en) | 2014-11-20 | 2024-08-13 | 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 |
US10430385B1 (en) * | 2014-12-05 | 2019-10-01 | EMC IP Holding Company LLC | Limited deduplication scope for distributed file systems |
US10353873B2 (en) | 2014-12-05 | 2019-07-16 | EMC IP Holding Company LLC | Distributed file systems on content delivery networks |
US11221993B2 (en) | 2014-12-05 | 2022-01-11 | 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 |
US10445296B1 (en) | 2014-12-05 | 2019-10-15 | EMC IP Holding Company LLC | Reading from a site cache in a distributed file system |
US10936494B1 (en) * | 2014-12-05 | 2021-03-02 | EMC IP Holding Company LLC | Site cache manager for a distributed file system |
US10951705B1 (en) | 2014-12-05 | 2021-03-16 | EMC IP Holding Company LLC | Write leases for distributed file systems |
US10795866B2 (en) | 2014-12-05 | 2020-10-06 | EMC IP Holding Company LLC | Distributed file systems on content delivery networks |
US10452619B1 (en) | 2014-12-05 | 2019-10-22 | EMC IP Holding Company LLC | Decreasing a site cache capacity in a distributed file system |
US20240259328A1 (en) * | 2014-12-15 | 2024-08-01 | Royal Bank Of Canada | Verification of data processes in a network of computing resources |
US11803567B1 (en) | 2014-12-19 | 2023-10-31 | Pure Storage, Inc. | Restoration of a dataset from a cloud |
US20160196320A1 (en) * | 2014-12-19 | 2016-07-07 | Pure Storage, Inc. | Replication to the 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 |
US20170295239A1 (en) * | 2014-12-27 | 2017-10-12 | 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 |
US11032368B2 (en) | 2014-12-27 | 2021-06-08 | Huawei Technologies Co., Ltd. | Data processing method, apparatus, and system |
US11799959B2 (en) | 2014-12-27 | 2023-10-24 | 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 |
US11436096B2 (en) | 2015-01-21 | 2022-09-06 | Commvault Systems, Inc. | Object-level database restore |
US20160210203A1 (en) * | 2015-01-21 | 2016-07-21 | Commvault Systems, Inc. | Restoring archived object-level database data |
US11119865B2 (en) | 2015-01-21 | 2021-09-14 | Commvault Systems, Inc. | Cross-application database restore |
US10891199B2 (en) | 2015-01-21 | 2021-01-12 | Commvault Systems, Inc. | Object-level database restore |
US10223211B2 (en) * | 2015-01-21 | 2019-03-05 | Commvault Systems, Inc. | Object-level database restore |
US10191819B2 (en) | 2015-01-21 | 2019-01-29 | Commvault Systems, Inc. | Database protection using block-level mapping |
US20160210194A1 (en) * | 2015-01-21 | 2016-07-21 | Commvault Systems, Inc. | Object-level database restore |
US11755424B2 (en) | 2015-01-21 | 2023-09-12 | Commvault Systems, Inc. | Restoring archived object-level database data |
US11042449B2 (en) | 2015-01-21 | 2021-06-22 | Commvault Systems, Inc. | Database protection using block-level mapping |
US11630739B2 (en) | 2015-01-21 | 2023-04-18 | Commvault Systems, Inc. | Database protection using block-level mapping |
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 |
US10210051B2 (en) * | 2015-01-21 | 2019-02-19 | Commvault Systems, Inc. | Cross-application database restore |
US11030058B2 (en) | 2015-01-21 | 2021-06-08 | Commvault Systems, Inc. | Restoring archived object-level database data |
US10911562B2 (en) * | 2015-01-28 | 2021-02-02 | Red Hat, Inc. | Cache data validation |
US20190289092A1 (en) * | 2015-01-28 | 2019-09-19 | Red Hat, Inc. | Cache data validation |
US10320935B2 (en) * | 2015-01-28 | 2019-06-11 | Red Hat, Inc. | Cache data validation |
US20160219123A1 (en) * | 2015-01-28 | 2016-07-28 | Red Hat, Inc. | Cache Data Validation |
US10831715B2 (en) | 2015-01-30 | 2020-11-10 | Dropbox, Inc. | Selective downloading of shared content items in a constrained synchronization system |
US10248705B2 (en) * | 2015-01-30 | 2019-04-02 | Dropbox, Inc. | Storage constrained synchronization of shared content items |
US20180004430A1 (en) * | 2015-01-30 | 2018-01-04 | Hewlett Packard Enterprise Development Lp | Chunk Monitoring |
US11675811B2 (en) | 2015-01-30 | 2023-06-13 | Dropbox, Inc. | Storage constrained synchronization of shared content items |
CN104537130A (en) * | 2015-01-30 | 2015-04-22 | 浪潮(北京)电子信息产业有限公司 | Method and system for realizing distributed cluster file management and clients |
US10552449B2 (en) | 2015-01-30 | 2020-02-04 | 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 |
US11275763B2 (en) | 2015-01-30 | 2022-03-15 | Dropbox, Inc. | Storage constrained synchronization of shared content items |
US12099521B2 (en) | 2015-01-30 | 2024-09-24 | Dropbox, Inc. | Storage constrained synchronization of shared content items |
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 |
US11580241B2 (en) | 2015-04-01 | 2023-02-14 | Dropbox, Inc. | Nested namespaces for selective content sharing |
US12118112B2 (en) | 2015-04-01 | 2024-10-15 | Dropbox, Inc. | Nested namespaces for selective content sharing |
US10699025B2 (en) | 2015-04-01 | 2020-06-30 | Dropbox, Inc. | Nested namespaces for selective content sharing |
US11301420B2 (en) | 2015-04-09 | 2022-04-12 | Commvault Systems, Inc. | Highly reusable deduplication database after disaster recovery |
US20160306818A1 (en) * | 2015-04-09 | 2016-10-20 | 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 |
US20160308841A1 (en) * | 2015-04-18 | 2016-10-20 | 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 |
US11070528B2 (en) | 2015-04-18 | 2021-07-20 | DvSum, LLC | Remote data queries on secure devices |
US10397192B2 (en) * | 2015-04-18 | 2019-08-27 | DvSum, LLC | Remotely accessing data on a secured server |
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 |
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 |
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 |
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 |
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 |
US10977231B2 (en) | 2015-05-20 | 2021-04-13 | Commvault Systems, Inc. | Predicting scale of data migration |
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 |
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 |
US10374991B2 (en) | 2015-06-22 | 2019-08-06 | 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 |
US20160373516A1 (en) * | 2015-06-22 | 2016-12-22 | Ricoh Company, Ltd. | Approach For Sharing Electronic Documents During Electronic Meetings |
US11120000B2 (en) * | 2015-06-30 | 2021-09-14 | International Business Machines Corporation | Enhancements for optimizing query executions |
US10430384B1 (en) * | 2015-06-30 | 2019-10-01 | EMC IP Holding Company LLC | Global data deduplication across multiple distributed file systems |
US11163743B2 (en) | 2015-06-30 | 2021-11-02 | International Business Machines Corporation | Enhancements for optimizing query executions |
US11726986B2 (en) | 2015-06-30 | 2023-08-15 | EMC IP Holding Company LLC | Data deduplication on a distributed file system using conditional writes |
US11809377B2 (en) * | 2015-06-30 | 2023-11-07 | 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 |
US11483214B2 (en) * | 2015-06-30 | 2022-10-25 | SkyKick, Inc. | Synchronizing data between cloud manager and providers |
US20200026690A1 (en) * | 2015-06-30 | 2020-01-23 | EMC IP Holding Company LLC | Global data deduplication across multiple distributed file systems |
US10803020B1 (en) * | 2015-06-30 | 2020-10-13 | EMC IP Holding Company LLC | Data deduplication on a distributed file system |
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 |
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 |
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 |
US20190034108A1 (en) * | 2015-08-19 | 2019-01-31 | Spatial Digital Systems, Inc. | Private access to media data on network storage |
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 |
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 |
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 |
US10176182B2 (en) * | 2015-08-31 | 2019-01-08 | International Business Machines Corporation | File deletion in storage devices based on the deletion priority rules |
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 |
US10447638B2 (en) * | 2015-09-03 | 2019-10-15 | Quest Software Inc. | Automatically applying data loss prevention rules during migration |
US10210165B2 (en) | 2015-09-04 | 2019-02-19 | Walmart Apollo, Llc | File management for eDiscovery |
WO2017040503A1 (en) * | 2015-09-04 | 2017-03-09 | Wal-Mart Stores, Inc. | 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 |
US10523033B2 (en) | 2015-09-15 | 2019-12-31 | Energous Corporation | Receiver devices configured to determine location within a 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 |
US11710321B2 (en) | 2015-09-16 | 2023-07-25 | Energous Corporation | Systems and methods of object detection in wireless power charging systems |
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 |
US10270261B2 (en) | 2015-09-16 | 2019-04-23 | Energous Corporation | Systems and methods of object detection in wireless power charging 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 |
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 |
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 |
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 |
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 |
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 |
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 |
US10312715B2 (en) | 2015-09-16 | 2019-06-04 | Energous Corporation | Systems and methods for wireless power charging |
US10778041B2 (en) | 2015-09-16 | 2020-09-15 | Energous Corporation | Systems and methods for generating power waves in a wireless power transmission system |
US11056929B2 (en) | 2015-09-16 | 2021-07-06 | 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 |
US12131546B2 (en) | 2015-09-16 | 2024-10-29 | Energous Corporation | Systems and methods of object detection in wireless power charging systems |
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 |
US10153660B1 (en) | 2015-09-22 | 2018-12-11 | Energous Corporation | Systems and methods for preconfiguring sensor data for wireless charging systems |
US10020678B1 (en) | 2015-09-22 | 2018-07-10 | Energous Corporation | Systems and methods for selecting antennas to generate and transmit power transmission waves |
US9948135B2 (en) | 2015-09-22 | 2018-04-17 | Energous Corporation | Systems and methods for identifying sensitive objects in a wireless charging transmission field |
US10135295B2 (en) | 2015-09-22 | 2018-11-20 | Energous Corporation | Systems and methods for nullifying energy levels for wireless power transmission waves |
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 |
US10033222B1 (en) | 2015-09-22 | 2018-07-24 | Energous Corporation | Systems and methods for determining and generating a waveform for wireless power transmission waves |
US10050470B1 (en) | 2015-09-22 | 2018-08-14 | Energous Corporation | Wireless power transmission device having antennas oriented in three dimensions |
US10734717B2 (en) | 2015-10-13 | 2020-08-04 | Energous Corporation | 3D ceramic mold antenna |
US10333332B1 (en) | 2015-10-13 | 2019-06-25 | Energous Corporation | Cross-polarized dipole 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 |
US9853485B2 (en) | 2015-10-28 | 2017-12-26 | Energous Corporation | Antenna for wireless charging systems |
US9899744B1 (en) | 2015-10-28 | 2018-02-20 | Energous Corporation | Antenna for wireless charging systems |
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 |
US9479567B1 (en) * | 2015-10-29 | 2016-10-25 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US10685038B2 (en) | 2015-10-29 | 2020-06-16 | 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 |
US10135112B1 (en) | 2015-11-02 | 2018-11-20 | Energous Corporation | 3D antenna mount |
US10027180B1 (en) | 2015-11-02 | 2018-07-17 | Energous Corporation | 3D triple linear antenna that acts as heat sink |
US10511196B2 (en) | 2015-11-02 | 2019-12-17 | Energous Corporation | Slot antenna with orthogonally positioned slot segments for receiving electromagnetic waves having different polarizations |
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 |
WO2017083156A1 (en) * | 2015-11-09 | 2017-05-18 | Microsoft Technology Licensing, Llc | Generation of an application from template |
US10481875B2 (en) | 2015-11-09 | 2019-11-19 | 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 |
US9891890B2 (en) | 2015-11-09 | 2018-02-13 | Microsoft Technology Licensing, Llc | Generation of an application from template |
US20170139978A1 (en) * | 2015-11-13 | 2017-05-18 | Microsoft Technology Licensing, Llc | Transferring files |
US10534748B2 (en) | 2015-11-13 | 2020-01-14 | Microsoft Technology Licensing, Llc | Content file suggestions |
US10528547B2 (en) * | 2015-11-13 | 2020-01-07 | Microsoft Technology Licensing, Llc | Transferring files |
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 |
US9923839B2 (en) | 2015-11-25 | 2018-03-20 | International Business Machines Corporation | Configuring resources to exploit elastic network capability |
US10608952B2 (en) | 2015-11-25 | 2020-03-31 | International Business Machines Corporation | Configuring resources to exploit elastic network capability |
US20170149624A1 (en) * | 2015-11-25 | 2017-05-25 | International Business Machines Corporation | Event-based data transfer scheduling using elastic network optimization criteria |
US10581680B2 (en) | 2015-11-25 | 2020-03-03 | International Business Machines Corporation | Dynamic configuration of network features |
US10057327B2 (en) | 2015-11-25 | 2018-08-21 | International Business Machines Corporation | Controlled transfer of data over an elastic network |
US9923784B2 (en) | 2015-11-25 | 2018-03-20 | International Business Machines Corporation | Data transfer using flexible dynamic elastic network service provider relationships |
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 |
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 |
US10116162B2 (en) | 2015-12-24 | 2018-10-30 | Energous Corporation | Near field transmitters with harmonic filters for wireless power charging |
US10516289B2 (en) | 2015-12-24 | 2019-12-24 | Energous Corportion | Unit cell of a wireless power transmitter for wireless power charging |
US10218207B2 (en) | 2015-12-24 | 2019-02-26 | Energous Corporation | Receiver chip for routing a wireless signal for wireless power charging or data reception |
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 |
US10141771B1 (en) | 2015-12-24 | 2018-11-27 | Energous Corporation | Near field transmitters with contact points for wireless power charging |
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 |
US10958095B2 (en) | 2015-12-24 | 2021-03-23 | Energous Corporation | Near-field wireless power transmission techniques for a wireless-power receiver |
US10320446B2 (en) | 2015-12-24 | 2019-06-11 | Energous Corporation | Miniaturized highly-efficient designs for near-field power transfer system |
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 |
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 |
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 |
US10038332B1 (en) | 2015-12-24 | 2018-07-31 | Energous Corporation | Systems and methods of wireless power charging through multiple receiving devices |
US11863001B2 (en) | 2015-12-24 | 2024-01-02 | Energous Corporation | Near-field antenna for wireless power transmission with antenna elements that follow meandering patterns |
US10186892B2 (en) | 2015-12-24 | 2019-01-22 | Energous Corporation | Receiver device with antennas positioned in gaps |
US10491029B2 (en) | 2015-12-24 | 2019-11-26 | Energous Corporation | Antenna with electromagnetic band gap ground plane and dipole antennas for wireless power transfer |
US11114885B2 (en) | 2015-12-24 | 2021-09-07 | Energous Corporation | Transmitter and receiver structures for near-field wireless power charging |
US10027159B2 (en) | 2015-12-24 | 2018-07-17 | Energous Corporation | Antenna for transmitting wireless power signals |
US11689045B2 (en) | 2015-12-24 | 2023-06-27 | Energous Corporation | Near-held wireless power transmission techniques |
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 |
US10256657B2 (en) | 2015-12-24 | 2019-04-09 | Energous Corporation | Antenna having coaxial structure for near field wireless power charging |
US10008886B2 (en) | 2015-12-29 | 2018-06-26 | Energous Corporation | Modular antennas with heat sinks in wireless power transmission systems |
US10263476B2 (en) | 2015-12-29 | 2019-04-16 | Energous Corporation | Transmitter board allowing for modular antenna configurations 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 |
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 |
US10642516B2 (en) * | 2015-12-30 | 2020-05-05 | Seagate Technology Llc | 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 |
US20170223093A1 (en) * | 2016-01-29 | 2017-08-03 | Docusign, Inc. | Cloud-based coordination of customer premise service appliances |
US11032284B2 (en) | 2016-01-29 | 2021-06-08 | Docusign, Inc. | Cloud-based coordination of remote service appliances |
US11811766B2 (en) | 2016-01-29 | 2023-11-07 | Docusign, Inc. | Cloud-based coordination of remote 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 |
US11290457B2 (en) | 2016-01-29 | 2022-03-29 | Docusign, Inc. | Cloud-based coordination of remote service appliances |
US10229067B2 (en) | 2016-02-08 | 2019-03-12 | International Business Machines Corporation | Retrieving and converting offline data |
US20170228370A1 (en) * | 2016-02-08 | 2017-08-10 | International Business Machines Corporation | Performing nearline storage of a file |
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 |
US10140159B1 (en) | 2016-03-04 | 2018-11-27 | Quest Software Inc. | Systems and methods for dynamic creation of container manifests |
US10270841B1 (en) * | 2016-03-04 | 2019-04-23 | Quest Software Inc. | Systems and methods of real-time container deployment |
US10127030B1 (en) | 2016-03-04 | 2018-11-13 | Quest Software Inc. | Systems and methods for controlled container execution |
US10565067B2 (en) | 2016-03-09 | 2020-02-18 | Commvault Systems, Inc. | Virtual server cloud file system for virtual machine backup from cloud operations |
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 |
US12038814B2 (en) | 2016-03-09 | 2024-07-16 | Commvault Systems, Inc. | Virtual server cloud file system for backing up cloud-based virtual machine data |
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 |
US11562000B2 (en) | 2016-04-25 | 2023-01-24 | Dropbox, Inc. | Storage constrained synchronization engine |
US10846303B2 (en) | 2016-04-25 | 2020-11-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 |
US11100107B2 (en) | 2016-05-16 | 2021-08-24 | Carbonite, Inc. | Systems and methods for secure file management via an aggregation of cloud storage services |
US10116629B2 (en) | 2016-05-16 | 2018-10-30 | Carbonite, Inc. | Systems and methods for obfuscation of data via an aggregation of cloud storage services |
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 |
US11558450B2 (en) | 2016-05-16 | 2023-01-17 | Carbonite, Inc. | Systems and methods for aggregation of cloud storage |
US10356158B2 (en) | 2016-05-16 | 2019-07-16 | Carbonite, Inc. | Systems and methods for aggregation of cloud storage |
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 |
US11727006B2 (en) | 2016-05-16 | 2023-08-15 | Carbonite, Inc. | Systems and methods for secure file management via 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 |
US11818211B2 (en) | 2016-05-16 | 2023-11-14 | Carbonite, Inc. | Aggregation and management among a plurality of storage providers |
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 |
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 |
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 |
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 |
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 |
US10178173B2 (en) * | 2016-08-02 | 2019-01-08 | International Business Machines Corporation | Cloud service utilization |
US10264073B2 (en) * | 2016-08-02 | 2019-04-16 | 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 |
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 |
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 |
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 |
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 |
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 |
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 |
US10152251B2 (en) | 2016-10-25 | 2018-12-11 | Commvault Systems, Inc. | Targeted backup of virtual machine |
US10162528B2 (en) | 2016-10-25 | 2018-12-25 | Commvault Systems, Inc. | Targeted snapshot based on virtual machine location |
US11416280B2 (en) | 2016-10-25 | 2022-08-16 | Commvault Systems, Inc. | Targeted snapshot based on virtual machine location |
US11934859B2 (en) | 2016-10-25 | 2024-03-19 | Commvault Systems, Inc. | Targeted snapshot based on virtual machine location |
US10824459B2 (en) | 2016-10-25 | 2020-11-03 | Commvault Systems, Inc. | Targeted snapshot based on virtual machine location |
US10923954B2 (en) | 2016-11-03 | 2021-02-16 | Energous Corporation | Wireless power receiver with a synchronous rectifier |
US11777342B2 (en) | 2016-11-03 | 2023-10-03 | Energous Corporation | Wireless power receiver with a transistor rectifier |
US11436202B2 (en) | 2016-11-21 | 2022-09-06 | Commvault Systems, Inc. | Cross-platform virtual machine data and memory backup and replication |
US10678758B2 (en) | 2016-11-21 | 2020-06-09 | 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 |
US10355534B2 (en) | 2016-12-12 | 2019-07-16 | Energous Corporation | Integrated circuit for managing wireless power transmitting devices |
US10840743B2 (en) | 2016-12-12 | 2020-11-17 | Energous Corporation | Circuit for managing wireless power transmitting devices |
US12027899B2 (en) | 2016-12-12 | 2024-07-02 | Energous Corporation | Circuit for managing wireless power transmitting devices |
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 |
US11245289B2 (en) | 2016-12-12 | 2022-02-08 | 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 |
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 |
US10331902B2 (en) * | 2016-12-29 | 2019-06-25 | Noblis, Inc. | Data loss prevention |
US11580248B2 (en) | 2016-12-29 | 2023-02-14 | 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 |
US20180205791A1 (en) * | 2017-01-15 | 2018-07-19 | Elastifile Ltd. | 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 |
US10652330B2 (en) * | 2017-01-15 | 2020-05-12 | Google Llc | 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 |
CN110178127A (en) * | 2017-01-18 | 2019-08-27 | Netapp股份有限公司 | Method and system for the data capsule for restoring to achieve at 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 |
JP2020506464A (en) * | 2017-01-18 | 2020-02-27 | ネットアップ,インコーポレイテッド | Method and system for restoring archived data containers on 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 |
US11983075B2 (en) | 2017-02-08 | 2024-05-14 | Commvault Systems, Inc. | Migrating data 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 |
US11080245B2 (en) * | 2017-02-10 | 2021-08-03 | DaStratum, Inc. | Multi-tier cloud file system |
US20180232395A1 (en) * | 2017-02-10 | 2018-08-16 | DaStratum, Inc. | Multi-tier cloud file system |
US11182340B2 (en) * | 2017-02-15 | 2021-11-23 | Paypal, Inc. | Data transfer size reduction |
US20180232387A1 (en) * | 2017-02-15 | 2018-08-16 | 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 |
US12001301B2 (en) | 2017-02-27 | 2024-06-04 | 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 |
US10389161B2 (en) | 2017-03-15 | 2019-08-20 | Energous Corporation | Surface mount dielectric antennas for wireless power transmitters |
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 |
US10896100B2 (en) | 2017-03-24 | 2021-01-19 | Commvault Systems, Inc. | Buffered virtual machine replication |
US10877851B2 (en) | 2017-03-24 | 2020-12-29 | Commvault Systems, Inc. | Virtual machine recovery point selection |
US10474542B2 (en) | 2017-03-24 | 2019-11-12 | Commvault Systems, Inc. | Time-based virtual machine reversion |
US11526410B2 (en) | 2017-03-24 | 2022-12-13 | Commvault Systems, Inc. | Time-based virtual machine reversion |
US10983875B2 (en) | 2017-03-24 | 2021-04-20 | Commvault Systems, Inc. | Time-based virtual machine reversion |
US12032455B2 (en) | 2017-03-24 | 2024-07-09 | Commvault Systems, Inc. | Time-based virtual machine reversion |
US10891069B2 (en) | 2017-03-27 | 2021-01-12 | Commvault Systems, Inc. | Creating local copies of data stored in online data repositories |
US11656784B2 (en) | 2017-03-27 | 2023-05-23 | Commvault Systems, Inc. | Creating local copies of data stored in cloud-based data repositories |
US12039183B2 (en) | 2017-03-27 | 2024-07-16 | Commvault Systems, Inc. | Creating local copies of data stored in cloud-based data repositories |
US10776329B2 (en) | 2017-03-28 | 2020-09-15 | Commvault Systems, Inc. | Migration of a database management system to cloud storage |
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 |
US10387073B2 (en) | 2017-03-29 | 2019-08-20 | Commvault Systems, Inc. | External dynamic virtual machine synchronization |
US11074138B2 (en) | 2017-03-29 | 2021-07-27 | Commvault Systems, Inc. | Multi-streaming backup operations for mailboxes |
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 |
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 |
US12045140B2 (en) | 2017-03-29 | 2024-07-23 | Commvault Systems, Inc. | Live browsing of granular mailbox data |
US11074140B2 (en) | 2017-03-29 | 2021-07-27 | Commvault Systems, Inc. | Live browsing of granular mailbox data |
US11650885B2 (en) | 2017-03-29 | 2023-05-16 | Commvault Systems, Inc. | Live browsing of granular mailbox data |
US11669414B2 (en) | 2017-03-29 | 2023-06-06 | 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 |
US11294786B2 (en) | 2017-03-31 | 2022-04-05 | 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 |
US11314618B2 (en) | 2017-03-31 | 2022-04-26 | 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 |
US11853191B2 (en) | 2017-03-31 | 2023-12-26 | Commvault Systems, Inc. | Management of internet of things devices |
US10970236B2 (en) * | 2017-04-21 | 2021-04-06 | Softnas Operating Inc. | System and method for optimized input/output to an object storage system |
US20180307631A1 (en) * | 2017-04-21 | 2018-10-25 | 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 |
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 |
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 |
US11462949B2 (en) | 2017-05-16 | 2022-10-04 | Wireless electrical Grid LAN, WiGL Inc | Wireless charging method and system |
US12074452B2 (en) | 2017-05-16 | 2024-08-27 | Wireless Electrical Grid Lan, Wigl Inc. | Networked wireless charging system |
US12074460B2 (en) | 2017-05-16 | 2024-08-27 | Wireless Electrical Grid Lan, Wigl Inc. | Rechargeable wireless power bank and method of using |
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 |
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 |
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 |
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 |
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 |
US10885007B2 (en) | 2017-07-11 | 2021-01-05 | International Business Machines Corporation | Custom metadata extraction across 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 |
US11036690B2 (en) | 2017-07-11 | 2021-06-15 | International Business Machines Corporation | Global namespace in a heterogeneous storage system environment |
US10664442B1 (en) * | 2017-07-14 | 2020-05-26 | EMC IP Holding Company LLC | Method and system for data consistency verification in a storage 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 |
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 |
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 |
US12034715B2 (en) | 2017-08-30 | 2024-07-09 | 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 |
US11086834B2 (en) | 2017-09-14 | 2021-08-10 | Commvault Systems, Inc. | Distributed framework for data proximity-based task splitting in a content indexing system |
US11263088B2 (en) | 2017-09-14 | 2022-03-01 | Commvault Systems, Inc. | Distributed architecture for tracking content indexing |
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 |
US10846180B2 (en) | 2017-09-14 | 2020-11-24 | Commvault Systems, Inc. | Distributed framework for task splitting and task assignments in a content indexing system |
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 |
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 |
CN111373387A (en) * | 2017-11-20 | 2020-07-03 | 国际商业机器公司 | Deduplication of files in cloud computing storage and communication tools |
US10691643B2 (en) * | 2017-11-20 | 2020-06-23 | International Business Machines Corporation | Deduplication for 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 |
US11966599B2 (en) | 2017-11-22 | 2024-04-23 | Blackberry Limited | Method and system for low latency data management |
US10831670B2 (en) | 2017-11-22 | 2020-11-10 | 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 |
US12026100B2 (en) | 2017-11-22 | 2024-07-02 | Blackberry Limited | Method and system for low latency data management |
US11209997B2 (en) * | 2017-11-22 | 2021-12-28 | 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 |
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 |
US20190155529A1 (en) * | 2017-11-22 | 2019-05-23 | 2236008 Ontario Inc. | Method and system for low latency data management |
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 |
US10949303B2 (en) | 2017-12-11 | 2021-03-16 | Fungible, Inc. | Durable block storage in data center access nodes with inline erasure coding |
WO2019118356A1 (en) * | 2017-12-11 | 2019-06-20 | 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 |
US10848545B2 (en) * | 2018-01-31 | 2020-11-24 | EMC IP Holding Company LLC | Managing cloud storage of block-based and file-based data |
US20190238618A1 (en) * | 2018-01-31 | 2019-08-01 | 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 |
US12107441B2 (en) | 2018-02-02 | 2024-10-01 | 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 |
US11567990B2 (en) | 2018-02-05 | 2023-01-31 | Commvault Systems, Inc. | On-demand metadata extraction of clinical image data |
US10795927B2 (en) | 2018-02-05 | 2020-10-06 | Commvault Systems, Inc. | On-demand metadata extraction of clinical image data |
EP3759611A1 (en) * | 2018-03-02 | 2021-01-06 | salesforce.com, inc. | Data retention handling for data object stores |
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 |
US11971784B2 (en) | 2018-03-12 | 2024-04-30 | Commvault Systems, Inc. | Recovery Point Objective (RPO) driven backup scheduling in a data storage management system |
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 |
US12066900B2 (en) | 2018-03-15 | 2024-08-20 | Pure Storage, Inc. | Managing disaster recovery to cloud computing environment |
US11442669B1 (en) | 2018-03-15 | 2022-09-13 | Pure Storage, Inc. | Orchestrating a virtual storage system |
US11928037B2 (en) * | 2018-04-13 | 2024-03-12 | Rubrik, Inc. | Database restoration across cloud environments |
US11360859B2 (en) * | 2018-04-13 | 2022-06-14 | Rubrik, Inc. | Database restoration across cloud environments |
US11321193B2 (en) * | 2018-04-13 | 2022-05-03 | 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 |
US10891257B2 (en) | 2018-05-04 | 2021-01-12 | EMC IP Holding Company, LLC | Storage management system and method |
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 |
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 |
US11967760B2 (en) | 2018-06-25 | 2024-04-23 | Energous Corporation | Power wave transmission techniques to focus wirelessly delivered power at a location to provide usable energy to 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 |
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 |
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 |
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 |
US12132261B2 (en) | 2018-11-14 | 2024-10-29 | 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 |
US12067242B2 (en) | 2018-12-14 | 2024-08-20 | Commvault Systems, Inc. | Performing secondary copy operations based on deduplication performance |
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 |
US11467863B2 (en) | 2019-01-30 | 2022-10-11 | Commvault Systems, Inc. | Cross-hypervisor live mount of backed up virtual machine data |
US10768971B2 (en) | 2019-01-30 | 2020-09-08 | Commvault Systems, Inc. | Cross-hypervisor live mount of backed up virtual machine data |
US11947990B2 (en) | 2019-01-30 | 2024-04-02 | 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 |
US10990478B2 (en) | 2019-02-01 | 2021-04-27 | Fungible, Inc. | Flexible reliability coding for storage on a network |
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 |
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 |
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 |
US11269732B2 (en) | 2019-03-12 | 2022-03-08 | Commvault Systems, Inc. | Managing structured data in a data storage system |
US11816001B2 (en) | 2019-03-12 | 2023-11-14 | 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 |
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 |
US11494273B2 (en) | 2019-04-30 | 2022-11-08 | Commvault Systems, Inc. | Holistically protecting serverless applications across one or more cloud computing environments |
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 |
US11463264B2 (en) | 2019-05-08 | 2022-10-04 | Commvault Systems, Inc. | Use of data block signatures for monitoring in an information management system |
US20210318991A1 (en) * | 2019-05-09 | 2021-10-14 | Capital One Services, Llc | Multi-cloud bi-directional storage replication system and techniques |
US11068446B2 (en) * | 2019-05-09 | 2021-07-20 | 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 |
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 |
US12069057B2 (en) | 2019-05-30 | 2024-08-20 | 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 |
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 |
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 |
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 |
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 |
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 |
US11989101B2 (en) | 2019-06-17 | 2024-05-21 | Commvault Systems, Inc. | Data storage management system for multi-cloud protection, recovery, and migration of databases-as-a-service (DBAAS) and/or serverless database management systems (DBMS) |
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 |
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 |
US11645592B2 (en) * | 2019-06-28 | 2023-05-09 | EMC IP Holding Company LLC | Analyzing cloud backup service options using historical data protection activities |
US12007854B2 (en) | 2019-07-10 | 2024-06-11 | Commvault Systems, Inc. | Backup of containerized applications using a backup services container and a backup services container-orchestration pod |
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 |
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 |
US11023384B2 (en) * | 2019-07-23 | 2021-06-01 | 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 |
US20200236089A1 (en) * | 2019-08-06 | 2020-07-23 | Alibaba Group Holding Limited | Rdma-based data transmission method, network interface card, server and medium |
US11082411B2 (en) * | 2019-08-06 | 2021-08-03 | Advanced New Technologies Co., Ltd. | 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 |
US11789904B2 (en) * | 2019-10-11 | 2023-10-17 | Palantir Technologies Inc. | Approaches for managing object data |
US20230009501A1 (en) * | 2019-10-11 | 2023-01-12 | Palantir Technologies Inc. | Approaches for managing object data |
US11494336B2 (en) * | 2019-10-11 | 2022-11-08 | 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 |
EP4133383A4 (en) * | 2020-04-07 | 2024-05-15 | 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 |
US12032557B2 (en) * | 2020-04-30 | 2024-07-09 | EMC IP Holding Company LLC | Method, device, and computer program product for data management |
US11748143B2 (en) | 2020-05-15 | 2023-09-05 | Commvault Systems, Inc. | Live mount of virtual machines in a public cloud computing environment |
US12086624B2 (en) | 2020-05-15 | 2024-09-10 | Commvault Systems, Inc. | Live recovery of virtual machines in a public cloud computing environment based on temporary live mount |
US11500669B2 (en) | 2020-05-15 | 2022-11-15 | Commvault Systems, Inc. | Live recovery 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 |
US12130708B2 (en) | 2020-07-10 | 2024-10-29 | Commvault Systems, Inc. | Cloud-based air-gapped data storage management system |
US12007940B2 (en) | 2020-09-24 | 2024-06-11 | Commvault Systems, Inc. | Container data mover for migrating data between distributed data storage systems integrated with application orchestrators |
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 |
US12124338B2 (en) | 2020-10-28 | 2024-10-22 | 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 |
US20220138153A1 (en) * | 2020-11-04 | 2022-05-05 | Netapp Inc. | Containerization and serverless thread implementation for processing objects |
US11755590B2 (en) | 2020-11-04 | 2023-09-12 | 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 |
EP3995964A1 (en) * | 2020-11-04 | 2022-05-11 | NetApp, Inc. | Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis |
EP3998533A1 (en) * | 2020-11-04 | 2022-05-18 | NetApp, Inc. | On-demand parallel processing of objects using data connector components |
US12019524B2 (en) | 2020-11-04 | 2024-06-25 | Netapp, Inc. | Data connector component for implementing data requests |
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 |
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 |
US12032855B2 (en) | 2021-08-06 | 2024-07-09 | Commvault Systems, Inc. | Using an application orchestrator computing environment for automatically scaled deployment of data protection resources needed for data in a production cluster distinct from the application orchestrator or in another application orchestrator computing environment |
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 |
US12135905B2 (en) | 2021-12-16 | 2024-11-05 | Netapp, Inc. | Scalable solid-state storage system and methods thereof |
US12141099B2 (en) * | 2022-03-08 | 2024-11-12 | Microsoft Technology Licensing, Llc | Scalable multi-tier storage structures and techniques for accessing entries therein |
US20230343067A1 (en) * | 2022-04-20 | 2023-10-26 | Dell Products L.P. | Automatically classifying images for storage-related determinations using artificial intelligence techniques |
US12135618B2 (en) | 2022-07-11 | 2024-11-05 | Commvault Systems, Inc. | Protecting configuration data in a clustered container system |
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
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 |