![]() |
|||||
|
|||||
eXtreme Deployment: Workstation deployment and personalization technology designed for ubiquitous computing.In 1984, Drew University became the first liberal arts institution to provide computers to every student as part of tuition. Today, the ubiquitous computing model is in use at colleges and universities throughout the world, and Drew University is recognized as a leader in this area. Drew's development of this unique deployment technology continues this trend. The issueDrew University distributes over 450 computers to freshman during a single day at the start of each academic year. In recent years, the task of configuring these computers for the students has become increasingly complex, time consuming, and error prone. While we have been working with our student computer vendors to deliver the computers pre-configured with a custom Drew-supplied image, this alone is insufficient to obviate the problem, as the computers must still be customized for the individual users. Configuring a Windows portable for use on the Drew network and customized for the individual user consists of at least the following steps:
In the summer of 2003, Drew began to examine ways in which parts of this process could be automated, in order to reduce support burdens and improve the out-of-box experience for students receiving their computers. We quickly determined that asking the computer vendor to provide these services for each individual computer would be well-outside of our budget. Further, solutions offered by various commercial imaging packages, which require the ownership and customization information to be known prior to imaging would be infeasible given our computer distribution process. Given these issues, Drew decided to develop it's own post-imaging personalization technology, which we call "eXtreme Deployment." The Technology
eXtreme Deployment is a scriptable post-imaging workstation personalization system built around a wide variety of open-source and commercial technologies. The eXtremee Deployment system consists of a deployment server and client components located on each workstation to be deployed. The deployment server and client both run on the Windows platform and use Apache/Win32 to provide HTTP services. Scripting support is provided via the PHP script engine. Deployment ServerThe deployment server is responsible for managing the deployment database and the administration of machine trust accounts in the active directory domain. It provides a web-based administration interface allowing administrators to create computer accounts in the domain and associate them with specific machines in the deployment database. Association of computers with computer accounts and customer information located in the deployment database is via the serial number and asset information located in the SMBIOS of each client computer. The administrative interface also provides a facility for recovering local Administrator passwords which have been escrowed in the deployment database by client machines. The deployment server also exposes an XML-RPC interface to clients. It is over this XML-RPC interface that clients request their configuration information from the deployment server, notify the deployment server of deployment activity, and store Administrator passwords to be escrowed in the deployment database. All communication between deployment clients and the deployment server is over an encrypted connection. Clients do perform validation of the certification path of the deployment server certificate for additional security. The deployment server is also the machine which serves as the distribution point for digitally signed update packages for deployment client components. Deployment ClientsThe deployment client consists of a local Apache server with PHP scripting engine that provides an HTML based setup interface to the user. The client HTTP server is configured to listen on the loopback interface only, and an Internet Explorer browser operating in full-screen "kiosk" mode provides the setup interface to the user. The client is responsible for retrieving the computer's asset tag information from the SMBIOS and passing this information to the deployment server. The deployment server returns a configuration profile to the client, which is then used to set the computer's name, join the computer to the domain, and add the appropriate administrator users to the computer. The client is also responsible for generating an Administrator password for the machine, which is passed to the deployment server to escrowed in encrypted form in the deployment database. The deployment client also includes an updater component. When started, the client will contact the deployment server and check for updated packages. If updates are available, they are downloaded from the deployment server and installed. The packages are digitally signed to ensure that they are not corrupted and haven't been tampered with. The ProcessUsing eXtreme Deployment technology, the process for Drew's large scale computer handout (450+ students in 5 hours) works as follows:
Contacts and AvailabilityeXtreme Deployment technology was developed by E. Axel Larsson (elarsson@drew.edu) and Russell Sprague (rsprague@drew.edu) during the summer of 2003. We intend to package eXtreme Deployment components for general distribution. Please stay turned to this site for updates or contact us for more information. |
|
|