IP Library Granted Patent US 9,430,491
Granted Patent B2
US 9,430,491 · App. 13/968,133 · Granted Aug 30, 2016

Request-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,430,491
App. No.
13/968,133
Granted
Aug 30, 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 (53)

1. A computer-implemented method of providing access to files stored at one or more remote backup storage devices, the computer-implemented method comprising:

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

identifying, according to a storage policy, one or more original files stored in a first primary storage device associated with a first client computing device; and

copying, according to a backup schedule specified by the storage policy, the one or more original files stored in the first primary storage device to one or more remote backup storage devices to create one or more backup files that correspond to the one or more original files;

receiving, at a second client computing device, a listing of the one or more backup files, wherein the one or more backup files are designated to be synchronized to the second client computing device from the first client computing device, wherein each of the first client computing device and the second client computing device are in communication with the one or more remote backup storage devices that store backup copies of data associated with the first client computing device and the second client computing device according to the storage policy;

initiating, by a synchronization agent executing on computer hardware comprising one or more computer processors, a background process to communicate the one or more backup files from the one or more remote backup storage devices to the second client computing device to synchronize the one or more backup files to the second client computing device; and

in response to a request for a particular file of the one or more backup files, wherein the request is entered by a user via interaction with the second client computing device, and wherein the request is received after said initiating the background process to communicate the one or more backup files to the second client computing device and prior to completion of communication of the particular file to the second client computing device in the background process:

determining, by the synchronization agent, that the communication of the particular file to the second client computing device is not yet complete;

modifying the background process to cause communication of the particular file from the one or more remote backup storage devices to the second client computing device to complete the synchronization of the particular file to the second client computing device, wherein synchronization of the one or more backup files other than the particular file remains unchanged; and

providing the user access to the synchronized particular file at the second client computing device.

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

3. A computer-implemented method of providing access to files stored at one or more remote backup storage devices, the computer-implemented method comprising:

initiating, by a storage manager module executing in computer hardware comprising one or more computer processors, a backup operation, the backup operation comprising:

identifying, according to a storage policy, one or more original files stored in a first primary storage device associated with a first client computing device; and

copying, according to a backup schedule specified by the storage policy, the one or more original files stored in the first primary storage device to one or more remote backup storage devices to create one or more backup files that correspond to the one or more original files;

accessing, by a synchronization module executing in the computer hardware comprising the one or more computer processors, user-defined synchronization criteria 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;

after the initiation of the backup operation, and based on the user-defined synchronization criteria, identifying the one or more backup files to be synchronized from the one or more remote backup storage devices to the second primary storage device;

communicating, to the second client computing device, a listing of the one or more backup files to be synchronized from the one or more remote backup storage devices to the second primary storage device;

after communicating the listing of the one or more backup files to the second client computing device, initiating a background process to communicate the one or more backup files from the one or more remote backup storage devices to the second primary storage device to synchronize the one or more backup files to the second primary storage device; and

in response to receiving a request from the second client computing device for a particular file of the one or more backup files, wherein the request is received after said initiating the background process to communicate the one or more backup files to the second primary storage device and prior to completion of the communication of the particular file to the second primary storage device in the background process:

modifying the background process to cause communication of the particular file from the one or more remote backup storage devices to the second primary storage device by causing communication of a copy of the particular file from the one or more secondary storage devices to the second primary storage device to complete the synchronization of the particular file to the second primary storage device, wherein synchronization of the one or more backup files other than the particular file remains unchanged.

4. The computer-implemented method of claim 3 , wherein the identification of the one or more backup files is performed in response to the backup operation.

5. The computer-implemented method of claim 3 , wherein the particular file communicated to the second primary storage device replaces a previous version of the particular file stored in the second primary storage device.

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

receiving the user-defined synchronization criteria at the synchronization module; and

storing the received user-defined synchronization criteria in an electronic data store accessible by the synchronization module.

7. The computer-implemented method of claim 6 , wherein the user-defined synchronization criteria are received from a user of at least one of the first client computing device or the second client computing device.

8. The computer-implemented method of claim 6 , wherein the electronic data store is associated with the storage manager module.

9. The computer-implemented method of claim 3 , wherein the user-defined synchronization criteria include at least one of: file data, file contents, file metadata, file name, file location, or location information.

10. The computer-implemented method of claim 3 , wherein identifying the one or more backup files to be synchronized from the one or more remote backup storage devices to the second primary storage device comprises, for each specific file of the one or more backup files:

determining whether the specific file is different from a previous version of the specific file stored in the one or more remote backup storage devices; and

in response to determining that the specific file is different from the previous version of the specific file, identifying the specific file as a file to be synchronized.

11. A system for providing access to files stored at one or more remote backup storage devices, the system comprising:

one or more hardware computer processors; and

a storage manager executed by the one or more hardware computer processors, wherein the storage manager causes the one or more hardware computer processors to:

initiate a backup operation comprising:

identifying, according to a storage policy, one or more original files stored in a first primary storage device associated with a first client computing device; and

copying, according to a backup schedule specified by the storage policy, the one or more original files stored in the first primary storage device to one or more remote backup storage devices to create one or more backup files that correspond to the one or more original files; and

a synchronization manager executed by the one or more hardware computer processors, wherein the synchronization manager causes the one or more hardware computer processors to:

access user-defined synchronization criteria 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;

after the initiation of the backup operation, and based on the user-defined synchronization criteria, identify the one or more backup files to be synchronized from the one or more remote backup storage devices to the second primary storage device;

communicate, to the second client computing device, a listing of the one or more backup files to be synchronized from the one or more remote backup storage devices to the second primary storage device;

after communicating the listing of the one or more backup files to the second client computing device, initiate a background process to communicate the one or more backup files from the one or more remote backup storage devices to the second primary storage device to synchronize the one or more backup files to the second primary storage device; and

in response to receiving a request from the second client computing device for a particular file of the one or more backup files, wherein the request is received after said initiating the background process to communicate the one or more backup files to the second primary storage device and prior to completion of the communication of the particular file to the second primary storage device in the background process:

modifying the background process to cause communication of the particular file from the one or more remote backup storage devices to the second primary storage device to complete the synchronization of the particular file to the second primary storage device, wherein synchronization of the one or more backup files other than the particular file remains unchanged.

12. The system of claim 11 , wherein the identification of the one or more backup files is performed in response to the backup operation.

13. The system of claim 11 , wherein the particular file communicated to the second primary storage device replaces a previous version of the particular file stored in the second primary storage device.

14. The system of claim 11 , wherein the synchronization manager further causes the one or more hardware computer processors to:

receive the user-defined synchronization criteria; and

store the received user-defined synchronization criteria in an electronic data store accessible by the synchronization module.

15. The system of claim 11 , wherein the synchronization manager further causes the one or more hardware computer processors to, as part of the identification of the one or more backup files to be synchronized from the one or more remote backup storage devices to the second primary storage device, for each specific file of the one or more backup files:

determine whether the specific file is different from a previous version of the specific file stored in the one or more remote backup storage devices; and

in response to determining that the specific file is different from the previous version of the specific file, identify the specific file as a file to be synchronized.

Assignments (4)
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/0601 →