PC Remote Build


Purpose:

The tool PC Remote Build was originally designed to allow one to build a PC, from scratch, with very little effort. The need for this tool was quickly realized when the task of building over 100 PCs, slated for the year 1 & 2 sites, became apparent. The tool would have to meet certain requirements in order . First, the tool would have to be able to deal with windows as well as any application that alters the windows environment. Likewise, the tool must be able to function completely from a disk, to allow for the possibility that the hard drive was recently formatted. And finally, the tool must be dynamic and flexible in dealing with the different types hardware that a PC might have installed.

Original Components:

Using the criteria listed above, PC Remote Build was constructed in basically two phases:

INSTALL
The Install tool would fit completely on a single disk and would be able to handle all the possible hardware configurations that CK:P would be aware of. This tool was a script written in Perl (based on several decisions that are not covered in this document), that used data files (which could be manually updated) to inform the script of all the possible hardware and software possibilities. Install would also responsible of installing enough software to allow a RESTORE to function using IP with the WATTCP networking library.
RESTORE
The Restore tool would be responsible of loading the software and handling the configuration of windows and any applications that alter the basic windows configuration. The initial phase of Restore would first require all the software necessary, from the sever, that would allow the main phase of Restore to run. The main phase would then, based on the information that Install left, and on information that Restore required from server, fetch all the software it needed from the server. On completion of fetching all the software (which actually is broken up into packages on the server), the last phase of Restore proceeds to run "configuration" scripts for each package that was retrieved. These scripts handle the configuration problems that exist in a PC running windows.

Design:

PC Remote Build was designed under the common description of a server-client environment. The basic premise was to only keep enough information on a disk or hard drive necessary to build a remote PC from a server. Moreover, the knowledge that NCSA would no longer support "ftp", and that the HTTP protocol would remain stable, encouraged the development of the system such that all requests to the server would be via the WWW Server using the HTTP protocol at port 80.

Assumptions:

PC Remote Build was written with several basic assumptions in mind:

Goals:

It quickly became evident that this tool would be very useful in a changing environment (e.g. classroom), such that, it would work in a co-existence with "private" or "local" software that was added to the user device. A new phase of PC Remote Build "Refresh" was created to allow simple updates of software on a client, without interfering with existing software. Unfortunately, because of the complex nature of this problem, and the fact that windows was poorly designed for remote configuration, "Refresh" is not optimal.

 

Return to the PC-RB page

 

Revision 1.1:July 16, 1996:CJR