Automated Backup System for HTML-Based Help Systems
Original Publication Date: 1999-Dec-01
Included in the Prior Art Database: 2003-Jun-17
Disclosed is a software application that enables a team of software or information developers to ensure that source files maintained on their workstations are automatically backed up into a version control system whenever changes occur, with minimal impact on developer productivity. A backup server machine periodically queries each user machine to determine what files within a given set of directories have changed on that machine; it then retrieves any new or modified files, and performs the necessary calls to a version control system such as IBM's CMVC product to check in changes. This enables full rollback to the source code for any given backup interval, while causing minimal interference in the developer's workload. In a typical scenario, a group of technical writers collaborate to write HTML-based help for a complex software application. Each author maintains their portion of the documentation on their local machine, in directories accessible to their web server, so that others in the organization can use a web browser to view their documentation as it develops. Each author registers their documentation directories with the Automated Backup System server, specifying what file extensions should be backed up, how many changed files to process at each backup, and how often backups should occur (hourly, daily, weekly, or any other time interval). The server portion of the preferred embodiment runs continuously on a server system. It periodically queries its database of backup records (a backup record identifies a user machine and the Intranet-accessible subdirectory on that machine that is to be backed up, as well as the backup interval and the timestamp of the last backup) to determine which client directories should be backed up. For any client directory that is due for a regular scheduled backup, or for which an immediate backup has been requested from a user (through the user interface portion, described below), the backup server starts a backup thread. The logic for a given backup thread is illustrated in Figure 1; the backup thread logic is the essence of this disclosure, Each backup thread begins by querying the user machine to retrieve a listing of all files in the directory specified in the server's backup record. The query is sent to the client machine using the Hypertext Transfer Protocol (HTTP), which is the protocol used to download web pages from a web server to a user's browser. The query is in the form of fully qualified URL (Uniform Resource Locator) that identifies the client machine, the alias for that machine's Common Gateway Interface (CGI) directory, the name of the CGI application, and the arguments to that application.