Method and system for automatically updating the version of a set of files stored on content servers
First Claim
1. Method for updating a version of a set of source files stored on a content server over a network, comprising:
- (a) determining a configuration of each content server on the network, the configuration enabling a source file to be copied to a location on the content server;
(b) identifying each source file on a source server that is different than any source file stored on a global server;
(c) copying each identifiably different source file from the source server to the global server, each source file copied from the source server and a set of source files stored on the global server being employed to create a current version of the set of source files on the global server; and
(d) employing the configuration of each content server to copy the current version of each source file that is included in the set of source files on the global server to a directory created on each content server, whereby the version of the set of source files stored on each content server is updated by renaming the current version of each source file copied to the directory on each content server.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for managing the replication and version synchronization of updates to a set of source files on geographically distributed heterogeneous content servers with minimal impact on a network'"'"'s bandwidth. The configuration of each content server is either manually entered or automatically determined. The current version of the source files are created on at least one source server. A Primary global server stores a copy of the current version of the set of the source files along with the configuration of each content server. The Primary global server generates and distributes a particular version change container and version distribution list to each remotely located Secondary global server. Each Secondary global server employs the version distribution list and the contents of the version change container to identify the current version of each source file necessary to upgrade the set of source files on each local content server. Each identified source file is copied to a sub-directory on each local content server associated with the Secondary global server. At each local content server, the renaming of each copied source file is employed to update to the current version of the set of source files on the content server. A versioned file tree repository for the set of source files includes archived objects. When the version distribution list identifies a previous version, the current version of source files on the local content servers can be rolled back to the previous version.
332 Citations
42 Claims
-
1. Method for updating a version of a set of source files stored on a content server over a network, comprising:
-
(a) determining a configuration of each content server on the network, the configuration enabling a source file to be copied to a location on the content server;
(b) identifying each source file on a source server that is different than any source file stored on a global server;
(c) copying each identifiably different source file from the source server to the global server, each source file copied from the source server and a set of source files stored on the global server being employed to create a current version of the set of source files on the global server; and
(d) employing the configuration of each content server to copy the current version of each source file that is included in the set of source files on the global server to a directory created on each content server, whereby the version of the set of source files stored on each content server is updated by renaming the current version of each source file copied to the directory on each content server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30)
(a) renaming each current version of each source file that is copied to the directory created on each content server; and
(b) deleting the directory created on the content server and deleting another version of each source file that is updated by the renaming of the current version of each source file copied to the directory.
-
-
3. The method of claim 2, wherein when the current version of each source file is copied to the directory created on each content server, further comprising disabling access to the set of source files on a particular content server until the renaming of the current version of each source file copied to the directory on the particular content is completed.
-
4. The method of claim 2, wherein when the current version of each source file is copied to the directory created on each content server, further comprising starting the renaming process with the current version of each copied source file that is furthest away from the root directory of each content server.
-
5. The method of claim 1, further comprising archiving each version of the set of source files in a repository on the global server, the archiving causing each source file to be individually compressed and stored as an archived object in the repository associated with the global server.
-
6. The method of claim 5, further comprising:
-
(a) when a return to a previous version of the set of source files is requested, retrieving each archived object associated with the previous version of the set of source files from the repository associated with the global server;
(b) unarchiving each archived object associated with the previous version of the set of source files to reconstitute each source file needed to upgrade the set of source files on the content server to the previous version; and
(c) copying each reconstituted source file to a directory created on each content server, whereby the version of the set of source files on each content server is upgraded to the previous version by renaming the copied reconstituted source files.
-
-
7. The method of claim 5, wherein the repository is a versioned file tree repository for the set of source files.
-
8. The method of claim 1, further comprising enabling a user to edit the configuration for each content server.
-
9. The method of claim 1, further comprising automatically obtaining the configuration for each content server.
-
10. The method of claim 1, further comprising employing a file access protocol to gain file level access to each source file, including FTP, NFS, CIFS and MFTP.
-
11. The method of claim 10, wherein employing the file access protocol to gain file level access to each source file further comprises employing one port to send and receive data that includes a message and a source file.
-
12. The method of claim 1, wherein a type of the source file includes image, hyper text mark-up language (HTML), script, sound, video, text, picture and application program code.
-
13. The method of claim 1, further comprising when a new content server is added to the network, employing the current version of the set of source files stored in a repository on the global server and a configuration of the new content server to replicate the current version of the set of source files in at least one directory created on the new content server.
-
14. The method of claim 1, further comprising:
-
(a) copying each identifiably different source file from the source server to a primary global server, the primary global server generating a separate container for each secondary global server, each container including the differences between the current version of the set of source files stored on the primary global server and a set of source files stored on each secondary global server associated with the container;
(b) distributing each container from the primary global server to each associated secondary global server, each secondary global server employing the contents of the container to replicate the current version of the set of source files in a repository on the secondary global server; and
(c) copying the current version of each source file stored in the repository on the secondary global server that is identified as necessary to replicate the current version of the set of source files on the content server to another directory created on each content server that is local to the secondary global server.
-
-
15. The method of claim 14, further comprising encrypting each message transmitted between the primary global server and each secondary global server.
-
16. The method of claim 14, further comprising storing the set of source files in a versioned file tree repository on the primary global server and each secondary global server.
-
17. The method of claim 16, further comprising:
-
(a) when another global server is added to the network, creating a copy of the versioned file tree repository for the set of source files; and
(b) replicating the versioned file tree repository for the set of source files on the other global server, the other global server employing the set of source files included in the versioned file tree repository to update the version of the set of source files stored on each content server that is local to the other global server.
-
-
18. The method of claim 17, wherein a type of the other global server includes primary and secondary.
-
19. The method of claim 14, wherein the distribution of the container to the secondary global server is automatic.
-
20. The method of claim 14, wherein the distribution of the container to the secondary global server is selectively enabled by an input.
-
21. The method of claim 14, wherein the updating to the current version of the set of source files on the content server is automatic.
-
22. The method of claim 14, wherein the updating to the current version of the set of source files on the content server is selectively enabled by an input.
-
23. The method of claim 14, further comprising distributing each container in a plurality of packets to the secondary global server, each packet having a size that is less than a size of the container.
-
24. The method of claim 14, further comprising distributing a particular list to each secondary global server, the list being employed by each secondary global server to identify the particular version for upgrading the set of sources files on each local content server.
-
27. The method of claim 1, further comprising obtaining the configuration for each content server when the configuration is changed.
-
28. The method of claim 1, wherein obtaining the configuration of each content server occurs at a determined interval.
-
29. The method of claim 1, wherein the copying of the current source files on the global server to the directory created on each content server occurs at a determined interval.
-
30. The method of claim 14, further comprising distributing each container from the primary global server to each associated secondary global server at a determined interval.
-
25. A system for updating a set of source files on a remotely located content server over a network, comprising:
-
(a) a global server, comprising;
(i) a memory for storing logical instructions;
(ii) a network interface for communicating over the network; and
(ii) a processor for executing the logical instructions stored in the memory, the execution of the logical instructions causing functions to be performed, including;
(A) determining a configuration of each content server on the network, the configuration enabling a source file to be copied to a location on the content server;
(B) identifying each source file on a source server that is different than any source file stored on a global server;
(C) copying each identifiably different source file from the source server to the global server, each source file copied from the source server and a set of source files stored on the global server being employed to create a current version of the set of source files on the global server; and
(D) employing the configuration of each content server to copy the current version of each source file that is included in the set of source files on the global server to a directory created on each content server, whereby the version of the set of source files stored on each content server is updated by renaming the current version of each source file copied to the directory on each content server. - View Dependent Claims (31, 32, 33)
-
-
26. A computer-readable medium having computer-executable instructions for performing logical instructions stored in the medium, the execution of the logical instructions functions to be performed, comprising:
-
(a) determining a configuration of each content server on the network, the configuration enabling a source file to be copied to a location on the content server;
(b) identifying each source file on a source server that is different than any source file stored on a global server;
(c) copying each identifiably different source file from the source server to the global server, each source file copied from the source server and a set of source files stored on the global server being employed to create a current version of the set of source files on the global server; and
(d) employing the configuration of each content server to copy the current version of each source file that is included in the set of source files on the global server to a directory created on each content server, whereby the version of the set of source files stored on each content server is updated by renaming the current version of each source file copied to the directory on each content server. - View Dependent Claims (34, 35, 36)
-
-
37. A method for updating a version of a set of source files stored on a content server over a network, comprising:
-
(a) determining a configuration of each content server on the network out of band when the configuration is changed, the configuration enabling a source file to be copied to a location on the content server;
(b) identifying each source file on a source server that is different than any source file stored on a global server;
(c) copying each identifiably different source file from the source server to the global server, each source file copied from the source server and a set of source files stored on the global server being employed to create a current version of the set of source files on the global server; and
(d) employing the configuration of each content server to copy the current version of each source file that is included in the set of source files on the global server to a directory created on each content server at a determined interval, whereby the version of the set of source files stored on each content server is updated by renaming the current version of each source file copied to the directory on each content server. - View Dependent Claims (38, 39)
(a) copying each identifiably different source file from the source server to a primary global server, the primary global server generating a separate container for each secondary global server, each container including the differences between the current version of the set of source files stored on the primary global server and a set of source files stored on each secondary global server associated with the container;
(b) distributing each container from the primary global server to each associated secondary global server at the determined interval, each secondary global server employing the contents of the container to replicate the current version of the set of source files in a repository on the secondary global server; and
(c) copying the current version of each source file stored in the repository on the secondary global server that is identified to replicate the current version of the set of source files on the content server to another directory created on each content server that is local to the secondary global server.
-
-
39. The method of claim 37, wherein the determining of the configuration occurs at a predetermined interval.
-
40. A modulated data signal having computer-executable instructions, the execution of the computer-executable instructions causing actions, comprising:
-
(a) determining a configuration of each content server on the network when the configuration is changed, the configuration enabling a source file to be copied to a location on the content server;
(b) identifying each source file on a source server that is different than any source file stored on a global server;
(c) copying each identifiably different source file from the source server to the global server, each source file copied from the source server and a set of source files stored on the global server being employed to create a current version of the set of source files on the global server; and
(d) employing the configuration of each content server to copy the current version of each source file that is included in the set of source files on the global server to a directory created on each content server at a determined interval, whereby the version of the set of source files stored on each content server is updated by renaming the current version of each source file copied to the directory on each content server. - View Dependent Claims (41, 42)
(a) copying each identifiably different source file from the source server to a primary global server, the primary global server generating a separate container for each secondary global server, each container including the differences between the current version of the set of source files stored on the primary global server and a set of source files stored on each secondary global server associated with the container;
(b) distributing each container from the primary global server to each associated secondary global server at the determined interval, each secondary global server employing the contents of the container to replicate the current version of the set of source files in a repository on the secondary global server; and
(c) copying the current version of each source file stored in the repository on the secondary global server that is identified to replicate the current version of the set of source files on the content server to another directory created on each content server that is local to the secondary global server.
-
-
42. The modulated data signal of claim 40, wherein determining the configuration of each content server occurs out of band at a determined interval.
Specification