IP Library Granted Patent US 6,847,983
Granted Patent B2
US 6,847,983 · App. 09/794,093 · Granted Jan 25, 2005

Application independent write monitoring method for fast backup and synchronization of open files

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 6,847,983
App. No.
09/794,093
Granted
Jan 25, 2005
Kind
B2
Abstract

An application independent method for monitoring file system requests made by any application program, storing changes made to a first copy of a selected file by the application program into a first file and synchronizing the selected file, whether the file is open or closed, with a second copy of the selected file. The monitoring and storing process is repeated each time a file system request to write into the selected file is made by the application program to track changes made to the selected file. At the time of synchronization, if the selected file is closed, all the changes that are stored in the first file are applied to a second copy of the selected file. If, however, the selected file is open, a portion of the changes are selected pursuant to a predetermined time period and applied to a second copy of the selected file. As a result, both copies of the selected files are identical, thereby synchronizing them. For open files, both copies of the selected file are identical up to the predetermined time period.

Claims (31)

1. An application independent method for monitoring changes by an application program while accessing a first copy of a selected file stored in a first memory of a first computer and synchronizing the first copy of the selected file with a second copy of the selected file stored in a second memory of a second computer, the first and the second computer coupled by a communications link, the method comprising the steps of:

(a) in response to receiving a request from an application program to access the first copy of the selected file, determining if the selected file is one of a plurality of preselected files designated to be monitored by comparing an identification for the selected file with data stored in a third memory concerning the plurality of preselected files to be monitored;

(b) if it is determined that the selected file is one of the preselected files, determining if the request to access the file is a write access request, said write access request including first change data representative of a first change to the first copy of the selected file;

(c) if the request for access to the file is a write access request

(i) storing the first change data in a log file; and

(ii) generating a time stamp representative of when the first change data is stored in the log file;

(d) repeating steps (a), (b) and (c) so that a plurality of changes are stored in the log file, each of the plurality of changes comprising change data representative of a change to the first copy of the selected file and a time stamp representative of when each of the plurality of changes to the first copy of the selected file is stored in the log file;

(e) determining if the first copy of the selected file is open or closed;

(f) if the first copy of the selected file is closed, synchronizing the first copy and the second copy of the selected file by applying all of the plurality of changes to the second copy of the selected file; and

(g) if the first copy of the selected file is not closed,

(i) examining the time stamps for the plurality of changes and using the time stamps to select at least one of the plurality of changes but less than all of the plurality of changes, and

(ii) applying the at least one of the plurality of changes but less than all of the plurality of changes to the second copy of the file.

2. The method according to claim 1 wherein the first computer is a client computer and the second computer is a server computer.

3. The method according to claim 1 wherein the first computer is a server computer and the second computer is a client computer.

4. The method of claim 1 further comprising

scanning the time stamps for the plurality of changes to find a quiet period, wherein a quiet period is a time gap of greater than a predetermined amount of time between changes.

5. The method of claim 4 further comprising

applying all the changes of the plurality of changes that preceded the quiet period in time to the second copy of the selected file.

6. The method of claim 5 further comprising

moving all the changes of the plurality of changes that followed the quiet period in time to a new log file.

7. A computer readable medium comprising a computer program for monitoring for requests by an application program to access a first copy of a selected file stored in a first memory of a first computer and synchronizing the first copy of the selected file with a second copy of the selected file stored in a second memory of a second computer, the first and the second computer coupled by a communications link, by performing the steps of:

(a) in response to receiving a request from an application program to access the first copy of the selected file, determining if the first copy of the selected file is one of a preselected files designated to be monitored;

(b) if it is determined that the first copy of the selected file is one of the preselected files, determining if the request to access the selected file is a write access request, said write access request including change data representative of a first change to the first copy of the selected file;

(c) if the request for access to the file is a write access request

(i) storing the change data for the first change in a log file; and

(ii) generating a time stamp representative of when the first change is stored in the log file;

(d) repeating steps (a), (b) and (c) so that a plurality of changes are stored in the log file, each of the plurality of changes comprising change data representative of a change to the first copy of the selected file and a time stamp representative of when each of the plurality of changes to the first copy of the selected file is stored in the log file;

(e) if the first copy of the selected file is closed, synchronizing the first copy and the second copy of the selected file by applying all of the plurality of changes to the second copy of the selected file; and

(f) if the first copy of the selected file is not closed, (i) examining the time stamps for one or more of the plurality of changes and using one or more of the time stamps to select a portion of the plurality of changes which includes at least one change but is less than all of the plurality of changes, and (ii) applying the portion of the plurality of changes to the second copy of the selected file.

8. The method according to claim 7 wherein the first computer is a client computer and the second computer is a server computer.

9. The method according to claim 7 wherein the first computer is a server computer and the second computer is a client computer.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0280 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035798/0006 →
SECURITY INTEREST Recorded May 22, 2015
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 035751/0348 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 3, 2013
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 030740/0181 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178 Recorded Oct 16, 2012
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 029140/0170 →