The present invention relates in general to computer systems, and, more particularly, to a method and system for installing and testing build-to-order components as part of an image-based software installation in a computer system.
A build-to-order (BTO) computer system manufacturing process is driven by menu selection of peripherals, operating system, and application(s). An order for a computer manufactured according to a build-to-order manufacturing process may be placed via an online connection or by telephone. Selections include basic system, RAM, ROM, processor, plug-in cards, operating system (OS), and software applications. A build-to-order manufacturing process is complicated by the large number of possible computer system configurations, and the lack of prior knowledge on the part of the computer system manufacturer as to the configuration to expect from each customer. BTO involves mass configuration/customization where each configuration may be built to an order size of one.
The steps of a build-to-order manufacturing process are: A customer order drives what hardware is to be assembled for a given custom configured computer system. After hardware assembly, the target system is put into a burn rack. In the bum rack, hardware is tested (e.g., using software based tools and utilities) and software downloaded. During software download, the software is layered onto the hard disk drive of the target system. There exist separate software components i) for the OS, ii) for drivers that are specific to plug-in cards and other devices which have been added to a custom configured computer system, and iii) for various applications, which have been ordered with the custom configured computer system.
As discussed, the software components are layered onto the hard drive of the target system in accordance with the customer order. There may be some number of adjustments or modifications that are made to the downloaded software to account for interactions, in certain instances, for use later during OS set-up. For instance, a software driver may support several different plug-in cards and an adjustment to the configuration of the software driver may be required to handle interoperability between components. Upon completion of processing in the burn rack, the custom configured computer system is scanned for viruses, packaged, and shipped to the customer.
Once the computer system is shipped to the customer, if the OS and other applications are not pre-loaded at the time of manufacture of the computer system, the customer must load the OS and applications at the customer site. This process may take between twenty and forty-five minutes. The build-to-order manufacturing process described above, in which a computer system is shipped to the customer for initial set-up by the customer is referred to as the xe2x80x9cspray and prayxe2x80x9d manufacturing model. That is, the computer manufacturer sprays the bits down onto the hard disk drive and prays that when the customer performs the initial computer system set-up at the customer site, long after the manufacturer has touched the computer system, that the computer system initial set-up works well. The xe2x80x9cspray and prayxe2x80x9d model is problematic for several reasons. First, during the loading and initialization of the OS and applications by the customer at the customer site, it is not unusual for the customer to turn the system OFF and then ON again, believing that the inactivity of the computer system is an indication that the system is hung. If the computer is powered off during initial installation, the computer system configuration and initial set-up process may be severely affected. In this scenario, additional customer service is necessary and the OS may have to be reloaded by the computer manufacturer to place the system in its pre-shipment state so that the initial set-up process can begin again.
Another difficulty of the xe2x80x9cspray and prayxe2x80x9d model is that there is not a method for conclusively determining if the set-up will complete properly or has completed properly. There is no check of the hardware and software integrity of the completed system. With this model, the set-up is not complete until the computer system is at the customer site and undergoes the OS set-up. Because each custom built computer system includes a unique configuration, where the components can be different from one system to another, there was no readily available way to verify that everything on a given computer system was installed correctly and working, properly. In such an instance, a customer""s action of not calling the manufacturer for technical support was an indication that the OS set-up was successful. In addition, the OS set-up may have completed to a certain level at which the customer didn""t recognize that the OS set-up did not completely set up.
Moreover, every single possible combination of computer system configuration (hardware and software) cannot be tested using traditional testing techniques. As discussed, each configuration is an order size of one, with the possibility that each system could be completely different. Testing every possible computer system configuration renders the BTO manufacturing process economically unacceptable and would further unduly lengthen the development process. Rather than test every custom computer system configuration, only a limited number or percentage of the configurations are tested (i.e. those configurations which are high runners). This however results in a very large number of configurations that do not get tested. For instance, the manufacturer may offer ten (10) base systems by ten (10) peripherals, by ten (10) other peripherals, by ten (10) applications, by ten (10) other applications, by ten (10) peripherals, etc. which would, result in too many combinations to test economically and in a timely manner. All of the combinations come together for producing completely unique systems. Thus with a build-to-order manufacturing process, an extremely large number of unique computer system configurations are possible. Furthermore, the set of all possible computer system configurations cannot be tested in the development portion of a build-to-order manufacturing process on an economically and timely basis to ensure that all possible interactions between the various software and hardware components have been identified prior to introduction of a new hardware or software component.
In the prior manufacturing process, tests may have been run to ensure as much as possible that defective component parts would not leave the factory. Components could be individually tested, however, as discussed above, it was not possible to test all configurations of components. A situation might arise, for example, in which a first component A and a second component L were installed in a computer system where the two components needed a common resource but could not share the resource. At the customer site, the two components (A and L) might end up interfering with one another during OS set-up. Independently, each component may have tested acceptable at the factory, however, the components were found to not work together in combination at the customer site. The components were not tested together with the OS that a customer intended to run. Instead, the components were individually tested using software tests, prior to installing the OS on the target system.
In a typical computer system, the OS (e.g., Windows(trademark) 95 (W95), Windows(trademark) 98 (W98), Windows NT(trademark) (NT4 or NT5) from Microsoft Corporation, of Redmond, WA or other OS) requires that at an initial boot (such as, when a customer powers ON the computer system for the very first time), a lengthy process of software installation, hardware detection, and hardware/software configuration be executed. Such a process can take between twenty (20) and forty-five (45) minutes for many custom-configured build-to-order computer systems, and generates considerable user confusion. As previously described, any interruption of this process may result in a system state that cannot be recovered without reinstalling the OS. Reinstalling the OS causes additional frustration for the customer and increases the cost of the computer system through technical support calls and in some instances, replacement of hard disk drives that are not otherwise faulty.
The method of performing initial set-up at a customer site does not allow for a build-to-order computer system manufacturer to fully test the fully integrated hardware and software of a given custom configured computer system prior to the computer system being shipped to a respective customer. In such a method, final integration actually occurs at the customer site.
An alternative to the xe2x80x9cspray and prayxe2x80x9d model is the defined configuration manufacturing model. The defined configuration manufacturing model involves the manufacture and sale by the computer manufacturer of a limited number of defined computer system configurations. In this model, the computer user cannot order from a large number of possible computer system configurations. Rather, the computer user can order a computer system having a configuration selected from a defined set of computer system configurations. The defined configuration manufacturing model may be effective when the needs of potential computer users are known or may be readily predicted. The defined configuration manufacturing model also permits the computer manufacturer to perform an extensive test on each defined computer system configuration. In this manufacturing model, each configuration has been tested to make certain that there is complete hardware and software integrity for each defined configuration. Thus, there is not a concern that the configuration of hardware and software in the computer system will not function properly when the system is installed at the customer""s site. Rather, the particular configuration of software and hardware components has been thoroughly tested by the manufacturer to insure that the computer system functions properly.
Once a configuration of hardware and software components has been defined and has been thoroughly tested to determine that it functions properly, computer systems can be manufactured that have an exact copy of the defined and tested configuration. Each computer will contain the specific hardware and software elements of the approved configuration. With regard to software elements, the hard drive of each computer system will have a precise copy of the installed operating system and software applications. According to this manufacturing model, a first computer system having the defined configuration is booted and taken through initial set-up. An image of the hard drive following initial set-up is captured. This captured image is then copied on to each hard drive of each computer system having the defined configuration. In this manner, each computer system having the defined configuration has a software and hardware configuration that has been pre-tested, and the software has been preinstalled.
A critical drawback of the defined configuration manufacturing model is the unavailability of adding customized hardware and software components to the computer system at the time of manufacture. This drawback of the defined configuration manufacturing model is magnified by the fact that many defined configuration computer systems do not include a floppy drive. Rather, these systems rely on a CD-ROM drive and an Internet or network connections for transferring files and information. Without a floppy drive, it is more difficult for a manufacturer to load additional software applications or software drivers in a defined configuration computer system.
Moreover, permitting the user to request the addition of additional hardware or software components to the system defeats many of the benefits of the defined configuration model and introduces many of the attributes of the build-to-order manufacturing model. Once the computer manufacturer adds an additional component to a defined configuration computer system, the hardware and software integrity of the defined configuration computer system is lost. Because of the addition of the component, the configuration of the computer system is changed, and it is no longer certain that the software and hardware of the computer system will function properly. To maintain the software and hardware integrity of a defined configuration system, each possible addition to the defined configuration system would require additional testing to make certain that each possible addition or change to the defined configuration system results in a computer system that functions properly. The testing of all possible changes to the defined configuration would not be economical and would likely be time-consuming as each newly developed software and hardware component must be tested against each known configuration of the computer system. The additional testing required by each possible change to the configuration of the defined configuration system defeats the purposes of the defined configuration manufacturing model, in which a limited number of pre-tested, easily manufactured configurations are available to the computer user.
It would be desirable to provide a defined configuration manufacturing process in which additions or changes to the ordered computer system could be accommodated in a way that realizes many of the benefits of the build-to-order manufacturing model without sacrificing the testing integrity of the defined configuration computer systems of the defined configuration manufacturing model.
In view of the difficulties of the defined configuration manufacturing model, a need has arisen for a manufacturing method and system that allows for customization of the computer system without sacrificing the hardware and software integrity of the computer system. In the manufacturing process of the present invention, a customer may order a computer system having one of several defined configurations. The several defined configurations identify the hardware and software components of computer system that may be ordered by a customer. The customer may also specify the additional or custom components that are to be added to the base configuration of the computer system. The additional hardware components are installed in the computer system. The computer system establishes a network connection for downloading to the hard drive of the computer system the base software and the custom software for the computer system. Once downloaded, the base software is in a fully configured and installed state. After the custom software is downloaded and installed, the computer system is put through a test procedure to test the individual hardware and software components of the computer system and to evaluate the degree of integration between the components of the base configuration and the custom components that have been added to the system by the customer""s order. Following a successful test, the test software and some portions of the networking software are removed from the computer system.
A technical advantage of the manufacturing system of the present invention is that the computer manufacturer is able to offer to its customers the ability to customize a pre-tested and predefined computer system. The nianufacturing process of the present invention permits the manufacturer to extensively pre-test the base configuration of the computer system, and, after installing the custom components ordered by the user, test the integration of the custom components and the components of the base or defined configuration. In this manner, the computer manufacturer is able to manufacture computer systems that have a pre-tested base configuration, while allowing the user to add custom components, which are then tested by the manufacturer to ensure integration between all components of the computer system.
Another advantage of the manufacturing system described herein is the ability of the computer system being manufactured to access a data record from a computer network and to download the software for the computer system from the computer network. The data record identifies the hardware and software components to be installed in the system. The software that is downloaded to the hard drive of the computer system will include the software of the defined configuration and the software necessary for the custom software components and the custom hardware components ordered by the user.
Still another advantage of the manufacturing process described herein is a manufacturing process in which the test software and portions of the networking software are removed from the computer system prior to shipment to the customer. The computer system manufacturer is able to take advantage of the processing capabilities of the computer system being manufactured to download the software of the computer system and to test the computer system. Following these steps, the test software and portions of the networking software are removed from the computer system and the operating system is sealed so that the system reaches the user in a state that does not reflect the processing that occurred at the time of manufacture.