Browse Prior Art Database

Automated Backup System for HTML-Based Help Systems

IP.com Disclosure Number: IPCOM000013198D
Original Publication Date: 1999-Dec-01
Included in the Prior Art Database: 2003-Jun-17
Document File: 3 page(s) / 53K

Publishing Venue

IBM

Related People

Robin Green: AUTHOR

Abstract

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.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 45% of the total text.

Page 1 of 3

Automated Backup System for HTML-Based Help Systems

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.

The client machine's web server, by virtue of the CGI alias and the web server's conformance to the HTTP protocol, determines that the URL being requested is a CGI application, and loads the CGI application, which forms the second component...