IP Library Granted Patent US 9,336,226
Granted Patent B2
US 9,336,226 · App. 13/968,023 · Granted May 10, 2016

Criteria-based data synchronization management

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,336,226
App. No.
13/968,023
Granted
May 10, 2016
Kind
B2
Abstract

In general, a data synchronization management system is disclosed in which files (and/or other data) are synchronized among two or more client computing devices in connection with a backup of those files. Synchronization polices specify files to be synchronized based on selected criteria including file data, metadata, and location information. In general, files are initially copied from a primary client computing device to secondary storage. Thereafter, files to be synchronized are identified from the secondary storage, and copied to other client computing devices. Additionally, synchronized files may be viewed and accessed through a cloud and/or remote file access interface.

Claims (78)

1. A computer-implemented method of synchronizing files between multiple client computers using file data, the computer-implemented method comprising:

accessing, by a synchronization agent executing in computer hardware comprising one or more computer processors, user-defined synchronization criteria for identifying files to synchronize between a first primary storage device associated with a first client computing device and a second primary storage device associated with a second client computing device;

initiating, by a storage manager, a backup operation, the backup operation comprising:

identifying, according to a storage policy, one or more files stored in the first primary storage device; and

copying, according to the storage policy, the one or more files stored in the first primary storage device to one or more secondary storage devices to create a backup including the one or more files;

reviewing, by the synchronization agent, metadata associated with each of one or more files in the backup;

based at least in part on a review of the accessed metadata, identifying, by the synchronization agent, at least one file in the backup that meets the synchronization criteria for synchronization between the first primary storage device and the second primary storage device;

accessing the at least one file from the backup stored in the one or more secondary storage devices; and

communicating the accessed at least one file from the one or more secondary storage devices to the second client computing device for storage in the second primary storage device to synchronize the at least one file between the first primary storage device and the second primary storage device.

2. The computer implemented method of claim 1 , wherein said communicating comprises communicating a copy of the at least one file that is accessed from the one or more secondary storage devices.

3. The computer implemented method of claim 1 , wherein said identifying is in response to the backup operation.

4. The computer-implemented method of claim 1 , wherein at least some of the metadata associated with each of the one or more files in the backup is created following the initiation of the backup operation.

5. The computer-implemented method of claim 1 , wherein at least some of the metadata associated with each of the one or more files in the backup is created by the first client computing device prior to the initiation of the backup operation.

6. The computer-implemented method of claim 1 , further comprising:

determining characteristics associated with each of the one or more files stored in the first primary storage device;

after the initiation of the backup operation, for each of the one or more files copied to one or more secondary storage devices:

based on the user-defined synchronization criteria and the determined characteristics, generating, by the synchronization agent, an indication of whether the file is to be synchronized between the first primary storage device and the second primary storage device; and

including the indication with the metadata associated with the file,

wherein the at least one file in the backup to synchronize is identified based on the indication.

7. The computer-implemented method of claim 1 , wherein the accessed metadata includes at least one of a file name, a file owner, a file directory, a creation date, a modification date, a file size, a file type, or a geographical location.

8. The computer-implemented method of claim 1 , further comprising analyzing the contents of the at least one file, wherein the metadata includes content metadata relating to the analyzed content.

9. The computer-implemented method of claim 8 , wherein the user-defined synchronization criteria specifies files for synchronization based at least in part on the content metadata indicating the existence of one or more terms within the file.

10. The computer-implemented method of claim 1 , wherein the at least one file communicated to the second client computing device replaces a previous version of the at least one file stored in the second primary storage device.

11. A system for synchronizing files between multiple client computers using file data, the system comprising:

a data store; and

a synchronization agent executing in computer hardware comprising one or more computer processors and configured to:

access user-defined synchronization criteria from the data store for identifying files to synchronize between a first primary storage device associated with a first client computing device and a second primary storage device associated with a second client computing device;

initiate, by a storage manager, a backup operation, the backup operation comprising:

identifying, according to a storage policy, one or more files stored in the first primary storage device; and

copying, according to the storage policy, the one or more files stored in the first primary storage device to one or more secondary storage devices to create a backup including the one or more files;

access file data associated with each of one or more files in the backup;

based at least in part on a review of the accessed file data, identify at least one file in the backup that meets the synchronization criteria for synchronization between the first primary storage device and the second primary storage device;

access the at least one file from the backup stored in the one or more secondary storage devices; and

communicate the accessed at least one file from the one or more secondary storage devices to the second client computing device for storage in the second primary storage device to synchronize the at least one file between the first primary storage device and the second primary storage device.

12. The system of claim 11 , wherein the file data includes content metadata relating to the content of the at least one file and the synchronization criteria specifies files for synchronization based at least in part on content metadata.

13. The system of claim 12 , wherein the user-defined synchronization criteria specifies files for synchronization based at least in part on the content metadata indicating the existence of one or more terms within the file.

14. The system of claim 11 , wherein the accessed file data associated with each of the one or more files in the backup is created following the initiation of the backup operation.

15. The system of claim 11 , wherein the at least one file communicated to the second client computing device replaces a previous version of the at least one file stored in the second primary storage device.

16. The system of claim 11 , wherein the copy of the at least one file that is communicated to the second client computing device is accessed from the one or more secondary storage devices.

17. The system of claim 11 , wherein the identification of the at least one file is performed is in response to the backup operation.

18. A networked data storage system for synchronizing files between multiple client computers using file data, the system comprising:

a first client computing device;

a second client computing device;

at least one first primary storage device associated with the first client computing device;

at least one second primary storage device associated with the second client computing device;

one or more secondary storage devices; and

computer hardware comprising one or more computer processors and having a synchronization agent executing thereon, the synchronization agent configured to:

access user-defined synchronization criteria for identifying files to synchronize between a first primary storage device associated with a first client computing device and a second primary storage device associated with a second client computing device;

initiate, by a storage manager, a backup operation, the backup operation comprising:

identifying, according to a storage policy, one or more files stored in the first primary storage device; and

copying, according to the storage policy, the one or more files stored in the first primary storage device to one or more secondary storage devices to create a backup including the one or more files;

access file data associated with each of the one or more files in the backup;

based at least in part on a review of the accessed file data, identify at least one file in the backup that meets the synchronization criteria for to synchronization between the first primary storage device and the second primary storage device;

access the at least one file from the backup stored in the one or more secondary storage devices; and

communicate the accessed at least one file from the one or more secondary storage devices to the second client computing device for storage in the second primary storage device to synchronize the at least one file between the first primary storage device and the second primary storage device.

19. The networked data storage system of claim 18 , wherein the identification of the at least one file is performed in response to the backup operation.

20. The networked data storage system of claim 18 , wherein the at least one file that is communicated to the second client computing device is accessed from the one or more secondary storage devices.

21. A system comprising:

a first application-specific data agent executing on a first client computing device, the first client computing device in communication with a first primary storage device;

one or more secondary storage devices; and

computer hardware comprising one or more computer processors programmed to:

access user-defined synchronization for identifying files to synchronize between the first primary storage device associated with the first client computing device and a second primary storage device associated with a second client computing device;

initiate, by a storage manager, a backup operation, the backup operation comprising:

causing preparation, by the first application-specific data agent, of one or more files stored in the first primary storage device for the backup operation; and

copying the one or more files stored in the first primary storage device to one or more secondary storage devices to create a backup including the one or more files;

access file data associated with each of one or more files in the backup;

based at least in part on a review of the accessed file data, identify at least one file in the backup that meets the synchronization criteria for synchronization between the first primary storage device and the second primary storage device;

access the at least one file from the backup stored in the one or more secondary storage devices; and

communicate the accessed at least one file from the one or more secondary storage devices to the second client computing device for storage in the second primary storage device to synchronize the at least one file between the first primary storage device and the second primary storage device.

22. The system of Claim 21 , wherein causing preparation, by the first application-specific data agent, of one or more files stored in the first primary storage device comprises encrypting the one or more files.

23. The system of Claim 21 , wherein the first application-specific data agent is associated with a first software application of the first client computing device, and wherein the system further comprises:

a second application-specific data agent executing on the first client computing device, wherein the second application-specific data agent is associated with a second software application of the first client computing device that is different from the first software application,

wherein the backup operation further comprises:

causing preparation, by the second application-specific data agent, of a second one or more files stored in the first primary storage device for the secondary copy operation; and

copying the second one or more files stored in the first primary storage device to one or more secondary storage devices to create the backup including the second one or more files, and

wherein the one or more computer processors are further programmed to:

access file data associated with each of the second one or more files in the backup.

24. The system of Claim 23 , wherein the first software application and/or the second software application comprise at least one of: a Microsoft Exchange application, a Lotus Notes application, a Microsoft Windows file system application, a Microsoft Active Directory Objects application, a SQL Server application, a SharePoint application, an Oracle database application, an SAP database application, or a virtual machine application.

Assignments (5)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2021
From: BANK OF AMERICA, N.A.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 054913/0905 →
SECURITY INTEREST Recorded Jul 2, 2014
From: COMMVAULT SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033266/0678 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2013
From: VIBHOR, ANAND; MEHTA, BHAVYAN BHARATKUMAR; KARANDIKAR, AMEY VIJAYKUMAR; GOKHALE, PARAG
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 031260/0580 →