Methods and apparatuses for file synchronization and updating using a signature list
First Claim
1. A method for a server computer to generate an update file for transmission to a client computer that permits the client computer to generate a copy of a current version of a subscription file comprised of a first plurality of file segments from a copy of an earlier version of the subscription file comprised of a second plurality of file segments, such that each file segment corresponds to a portion of its respective subscription file, the method comprising the steps of:
- for each segment of the current version of the subscription file, (a) searching an earlier version of a signature list corresponding to an earlier version of the subscription file for an old segment signature which matches a new segment signature corresponding to the segment;
(b) if step (a) results in a match, writing a command in the update file for the client computer to copy an-old segment of the client computer'"'"'s copy of the earlier version of the subscription file into the client computer'"'"'s copy of the current version of the subscription file, wherein the old segment corresponds to the segment for which a match was detected in step (a); and
(c) if step (a) results in no match, writing a command in the update file for the client computer to insert a new segment of the current version of the subscription file into the client computer'"'"'s copy of the current version of the subscription file;
wherein the new segment of the current version of the subscription file is written into the update file and the unchanged segment is excluded from the update file; and
wherein steps (a) through (c) are performed by the server computer, without interaction with the client computer, in response to the server computer detecting a change between the current version of the subscription file and the earlier version of the subscription file.
6 Assignments
0 Petitions
Accused Products
Abstract
A server computer generates an update file for transmission to a client computer that permits the client computer to generate a copy of a current version of a subscription file from a copy of an earlier version of the subscription file. For each segment of the current version of the subscription file, the server computer searches an earlier version of a signature list for an old segment signature which matches a new segment signature corresponding to the segment. When a match is detected, the server computer writes a command in the update file for the client computer to copy an old segment of the client computer'"'"'s copy of the earlier version of the subscription file into the client computer'"'"'s copy of the current version of the subscription file, where the old segment corresponds to the segment for which a match was detected. When no match is detected, the server computer writes a command into the update file for the client computer to insert a new segment of the current version of the subscription file into the client computer'"'"'s copy of the current version of the subscription file, where the new segment of the current version of the subscription file is written into the update file. The new segment of the current version of the subscription file may be compressed, encrypted, or both, by the server computer. When the update file is completed, the server computer transmits the update file to the client computer as an executable attachment via electronic mail. The update file is only generated when the server computer determines the subscription file has changed. The server computer periodically monitors the subscription file to determine if it has been altered before generating an update file.
-
Citations
24 Claims
-
1. A method for a server computer to generate an update file for transmission to a client computer that permits the client computer to generate a copy of a current version of a subscription file comprised of a first plurality of file segments from a copy of an earlier version of the subscription file comprised of a second plurality of file segments, such that each file segment corresponds to a portion of its respective subscription file, the method comprising the steps of:
-
for each segment of the current version of the subscription file, (a) searching an earlier version of a signature list corresponding to an earlier version of the subscription file for an old segment signature which matches a new segment signature corresponding to the segment;
(b) if step (a) results in a match, writing a command in the update file for the client computer to copy an-old segment of the client computer'"'"'s copy of the earlier version of the subscription file into the client computer'"'"'s copy of the current version of the subscription file, wherein the old segment corresponds to the segment for which a match was detected in step (a); and
(c) if step (a) results in no match, writing a command in the update file for the client computer to insert a new segment of the current version of the subscription file into the client computer'"'"'s copy of the current version of the subscription file;
wherein the new segment of the current version of the subscription file is written into the update file and the unchanged segment is excluded from the update file; and
wherein steps (a) through (c) are performed by the server computer, without interaction with the client computer, in response to the server computer detecting a change between the current version of the subscription file and the earlier version of the subscription file.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
wherein the new segment of the current version of the subscription file is compressed. -
3. A method as in claim 1,
wherein the new segment of the current version of the subscription file is encrypted. -
4. A method as in claim 1,
wherein the new segment of the current version of the subscription file is retrieved by the server computer from a network drive. -
5. A method as in claim 1, further comprising the step of:
(d) transmitting the update file to the client computer as an executable attachment by electronic mail, wherein the executable attachment will cause the client computer to generate a copy of the current version of the subscription file from the copy of the earlier version of the subscription file, in response to the client computer executing the attachment.
-
6. A method as in claim 5, further comprising the step of:
prior to step (a), performing a check on the current version of the subscription file to determine if the subscription file has been altered since a previous check and continuing to perform the remaining steps only if the check determines that the current version of the subscription file has been altered.
-
7. A method as in claim 6, wherein the step of performing a check is performed at periodic intervals.
-
8. A method as in claim 6, wherein the step of performing a check on the current version of the subscription file comprises checking a current time stamp of the current version of the subscription file to determine whether it differs from an earlier time stamp of the subscription file.
-
-
9. A computer readable storage medium, comprising:
-
computer readable program code embodied on said computer readable storage medium, said computer readable program code for programming a computer to perform a method for a server computer to generate an update file for transmission to a client computer that permits the client computer to generate a copy of a current version of a subscription file comprised of a first plurality of file segments from a copy of an earlier version of the subscription file comprised of a second plurality of file segments, such that each file segment corresponds to a portion of its respective subscription file, the method comprising the steps of;
for each segment of the current version of the subscription file, (a) searching an earlier version of a signature list corresponding to an earlier version of the subscription file for an old segment signature which matches a new segment signature corresponding to the segment;
(b) if step (a) results in a match, writing a command in the update file for the client computer to copy an old segment of the client computer'"'"'s copy of the earlier version of the subscription file into the client computer'"'"'s copy of the current version of the subscription file, wherein the old segment corresponds to the segment for which a match was detected in step (a); and
(c) if step (a) results in no match, writing a command in the update file for the client computer to insert a new segment of the current version of the subscription file into the client computer'"'"'s copy of the current version of the subscription file;
wherein the new segment of the current version of the subscription file is written into the update file and the unchanged segment is excluded from the update file; and
wherein steps (a) through (c) are performed by the server computer, without interaction with the client computer, in response to the server computer detecting a change between the current version of the subscription file and the earlier version of the subscription file.- View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
wherein the new segment of the current version of the subscription file is compressed. -
11. A computer readable storage medium as in claim 9,
wherein the new segment of the current version of the subscription file is encrypted. -
12. A computer readable storage medium as in claim 9,
wherein the new segment of the current version of the subscription file is retrieved by the server computer from a network drive. -
13. A computer readable storage medium as in claim 9, further comprising the step of:
(d) transmitting the update file to the client computer as an executable attachment by electronic mail, wherein the executable attachment will cause the client computer to generate a copy of the current version of the subscription file from the copy of the earlier version of the subscription file, in response to the client computer executing the attachment.
-
14. A computer readable storage medium as in claim 13, the method further comprising the step of:
prior to step (a), performing a check on the current version of the subscription file to determine if the subscription file has been altered since a previous check and continuing to perform the remaining steps only if the check determines that the current version of the subscription file has been altered.
-
15. A computer readable storage medium as in claim 14, wherein the step of performing a check is performed at periodic intervals.
-
16. A computer readable storage medium as in claim 14, wherein the step of performing a check on the current version of the subscription file comprises checking a current time stamp of the current version of the subscription file to determine whether it differs from an earlier time stamp of the subscription file.
-
-
17. A computer system, comprising:
-
a processor; and
a processor readable storage medium having processor readable program code embodied on said processor readable storage medium, said processor readable program code for programming a computer to perform a method for a server computer to generate an update file for transmission to a client computer that permits the client computer to generate a copy of a current version of a subscription file comprised of a first plurality of file segments from a copy of an earlier version of the subscription file comprised of a second plurality of file segments, such that each file segment corresponds to a portion of its respective subscription file, the method comprising the steps of;
for each segment of the current version of the subscription file, (a) searching an earlier version of a signature list corresponding to an earlier version of the subscription file for an old segment signature which matches a new segment signature corresponding to the segment;
(b) if step (a) results in a match, writing a command in the update file for the client computer to copy an old segment of the client computer'"'"'s copy of the earlier version of the subscription file into the client computer'"'"'s copy of the current version of the subscription file, wherein the old segment corresponds to the segment for which a match was detected in step (a); and
(c) if step (a) results in no match, writing a command in the update file for the client computer to insert a new segment of the current version of the subscription file into the client computer'"'"'s copy of the current version of the subscription file;
wherein the new segment of the current version of the subscription file is written into the update file and the unchanged segment is excluded from the update file, and wherein steps (a) through (c) are performed by the server computer, without interaction with the client computer, in response to the server computer detecting a change between the current version of the subscription file and the earlier version of the subscription file. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
wherein the new segment of the current version of the subscription file is compressed. -
19. A computer system as in claim 17,
wherein the new segment of the current version of the subscription file is encrypted. -
20. A computer system as in claim 17,
wherein the new segment of the current version of the subscription file is retrieved by the server computer from a network drive. -
21. A computer system as in claim 17, further comprising the step of:
(d) transmitting the update file to the client computer as an executable attachment by electronic mail, wherein the executable attachment will cause the client computer to generate a copy of the current version of the subscription file from the copy of the earlier version of the subscription file, in response to the client computer executing the attachment.
-
22. A computer system as in claim 21, the method further comprising the step of:
prior to step (a), performing a check on the current version of the subscription file to determine if the subscription file has been altered since a previous check and continuing to perform the remaining steps only if the check determines that the current version of the subscription file has been altered.
-
23. A computer system as in claim 22, wherein the step of performing a check is performed at periodic intervals.
-
24. A computer system as in claim 22, wherein the step of performing a check on the current version of the subscription file comprises checking a current time stamp of the current version of the subscription file to determine whether it differs from an earlier time stamp of the subscription file.
-
Specification