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:
- User: The user would have some knowledge about the hardware and IP configuration of the LAN & PC
that the software was running on.
- Hardware: There is a stable (production) server locally on the LAN that has a WWW Server and sufficient
disk space to support PC Remote Build. Likewise, the PC must have an Ethernet card, and the software to
run the Ethernet card under WATTCP must be available to PC Remote Build. In order to run Restore,
Install *must* have been previously run CORRECTLY to define the packages and hardware for that PC, as
well as setting the network configuration.
- Maintenance: A programmer (with the knowledge of Perl) is needed to add new packages and update older
packages.
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