Application independent write monitoring method for fast backup and synchronization of open files
First Claim
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.
15 Assignments
0 Petitions
Accused Products
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.
-
Citations
9 Claims
-
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.
Specification