WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Automated software installation and operating environment configuration for a computer system based on classification rules    
United States Patent5555416   
Link to this pagehttp://www.wikipatents.com/5555416.html
Inventor(s)Owens; Gary L. (Mountain View, CA); Labuda; David (Half Moon Bay, CA)
AbstractA boot device, a local or remote install media, and a local or remote storage device are provided to a computer system. The boot device comprises an install media locator and starter module. The local or remote install media comprises an install set up and control module and an install module. The local or remote storage device comprises a defaulted or a customized collection of installation files. The defaulted/customized collection of install files comprise a classification rules file, a number of pre-install class class script files, a number of install class parameter files, and a number of post-install class script files. Together, these elements cooperate to automatically install software products on the computer system, and configure the operating environment of the computer system.



 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5555416
Automated software installation and operating environment configuration

     for a computer system based on classification rules - US Patent 5555416 Drawing
Automated software installation and operating environment configuration for a computer system based on classification rules
Inventor     Owens; Gary L. (Mountain View, CA); Labuda; David (Half Moon Bay, CA)
Owner/Assignee     Sun Microsystems, Inc. (Mountain View, CA)
Patent assignment
All assignments
Publication Date     September 10, 1996
Application Number     08/291,330
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     August 17, 1994
US Classification     717/178 713/2 713/100
Int'l Classification     G06F 009/44
Examiner     Kriess; Kevin A.
Assistant Examiner    
Attorney/Law Firm     Blakely Sokoloff Taylor & Zafman
Address
Parent Case     This is a continuation of application Ser. No. 07/949,041 filed on Sep. 22, 1992.
Priority Data    
USPTO Field of Search     395/650 395/700 364/DIG. 1/2
Patent Tags     automated software installation operating environment configuration computer based classification rules
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5247683
Holmes
709/221
Sep,1993

[0 after 0 votes]
5142680
Ottman
717/176
Aug,1992

[0 after 0 votes]
4720812
Kao
713/2
Jan,1988

[0 after 0 votes]
4654783
Veres
713/2
Mar,1987

[0 after 0 votes]
4117974
Ciaramella
714/805
Oct,1978

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. In a computer system, a computer implemented method for automatically installing a plurality of software products on said computer system and configuring said computer system's operating environment, said method comprising the steps of:

a) booting said computer system, loading a first install control module for locating install media and starting installation from a boot device into said computer system's memory, and transferring control to said first install control module loaded into said memory;

b) said first install control module locating an install media comprising a second install control module for setting up and controlling automatic installation, and giving execution control to said second install control module;

c) said second control module locating a collection of installation files comprising a classification rules file and a plurality of install script files, said classification rules file having a plurality of classification rules for classifying a computer system, each of said install script file having a plurality of install commands for performing certain installation and/or configuration tasks;

d) said second install control module determining at least one classification for said computer system using said located classification rules file; and

e) said second install control module installing said plurality of software products on said computer system, and configuring said computer system's operating environment automatically by selectively executing said install script files based on the classification determined for said computer system, wherein said first install control module comprises an operating system with minimal functions, a plurality of initialization and related processes, a command-like language interpreter, a set of system reconfiguration files, and an install media locator and starter routine;

said step a) comprises the steps of:

a.1) booting said computer system, loading said operating system into said memory, and transferring control to said operating system loaded into said memory;

a.2) said operating system loading said initialization and related processes and said command-like language interpreter into memory, and starting execution of said initialization and related processes:

a.3) said operating system further loading said system reconfiguration files into said memory and starting execution of said system reconfiguration files using said command-like language interpreter; end

a.4) said operating system further loading said install media locator and starter routine into said memory and starting execution of said install media locator and starter routine using said command-like language interpreter.

2. The method as set forth in claim 1, wherein,

said located second install control module in said step b) comprises an operating system with minimal functions, a plurality of initialization and related processes, a command-like language interpreter, a set of reconfiguration files, an automatic install set up and control routine, a plurality of probe functions, and a plurality of compare functions;

said control transfer in said step b) is achieved by said second install control module being loaded into said memory, and giving execution control to said second install control module loaded into said memory.

3. The method as set forth in claim 1, wherein,

said install media located in said step b) is either i) a local install media of said computer system or ii) a remote install media coupled to said computer system through a network; and

said collection of installation files located in said step c) is either i) a defaulted collection of installation files or ii) a customized collection of installation files, said defaulted collection of installation files being stored on either i) local storage means of said computer system or ii) a local install media coupled said computer system, said customized collection of installation files being stored in either i) remote storage means coupled to said computer system through a network, or ii) a remote install media coupled to said computer system through a network.

4. The method as set forth in claim 1, wherein,

said install script files located in said step c) comprises a plurality of pre-install script files corresponding to a plurality of pre-install classes of computer systems for performing pre-installation tasks for computer systems of the corresponding pre-install classes;

said at least one classification determined in said step d) comprises a pre-install class of said computer system; and

said step e) comprises said second control module executing the pre-install script file corresponding to said determined pre-install class.

5. The method as set forth in claim 4, wherein,

said at least one classification determined in said step d) further comprises an install class of said computer system;

said pre-installation tasks performed by said pre-install script file corresponding to said determined pre-install class comprise deriving an install class parameters file for said install class of said computer system;

one of said boot device and said located install media in said step b) further comprises a local/remote install module;

said step e) further comprises said second install control module executing said local/remote install module using said derived install parameters file.

6. The method as set forth in claim 4, wherein, said pre-installation tasks performed by said pre-install script file corresponding to said determined pre-install class of said computer system comprise localization of said automatic installation and configuration to be performed in said step e) to a local language.

7. The method as set forth in claim 1, wherein,

one of said boot device and said install media located in said step b) further comprises a local/remote install module;

said collection of installation files located in said step c) further comprises a plurality of install class parameters files corresponding to a plurality of install classes of computer systems;

said at least one classification determined in said step d) comprises an install class of said computer system; and

said step e) comprises said second install control module executing said install module using the install class parameters file corresponding to said determined install class of said computer system.

8. The method as set forth in claim 7, wherein, said local/remote install module in said step e) determines critical install parameters unspecified in said install class parameters file corresponding to said determined install class.

9. The method as set forth in claim 1, wherein,

said collection of installation files located in said step c) further comprises a plurality of post-install script files corresponding to a plurality of post-install classes of computer systems;

said at least one classification determined in said step d) comprises a post-install class of said computer system; and

said step e) comprises said second control module executing the post-install script file corresponding to said determined post-install class of said computer system.

10. In a computer system, an apparatus for automatically installing a plurality of software products on said computer system and configuring said computer system's operating environment, said apparatus comprising:

a) booting means coupled to said computer system's processor and memory for loading a first install control module into said memory, and giving execution control to said first install control module loaded into said memory, said first install control module being used for locating install media and starting installation;

b) install media coupled to said computer system's processor and memory comprising a second install control module for setting up and controlling automatic installation, said second install control module being loaded into said memory and given execution control by said first install control module booted into said memory upon locating said install media; and

c) file subsystem means coupled to said computer system's processor and memory for storing a collection of installation files comprising a classification rules file and a plurality of install script files, said classification rule file having a plurality of classification rules for classifying a computer system, said install script files being organized by computer system classifications, each of said install script files having a plurality of install commands for performing certain installation and configuration tasks, said classification file being used to determine at least one classification for said computer system by said second install control module loaded in said memory upon locating said file subsystem;

said second install control module automatically causing said plurality of software products to be installed on said computer system and said computer system's operating environment to be configured by selectively executing said install script files based on the classification determined for said computer system under its control,

wherein,

said first install control module comprises an operating system with minimal functions, a plurality of initialization and related processes, a command-like language interpreter, a set of system reconfiguration files, and an install media locator and starter routine;

said booting means boots said install media locator and starter module into said memory and gives it control by

booting said operating system into said memory, and giving control to said operating system booted into said memory,

loading said initialization and related processes into said memory and executing said loaded initialization and related processes under the control of said operating system,

loading said system reconfiguration files into said memory and executing said loaded system reconfiguration files under the control of said operating system and said command-like language interpreter, and

loading said install media locator and starter routine into said memory and executing said loaded install media locator and starter routine under the control of said operating system and said command-like language interpreter.

11. The apparatus as set forth in claim 10, wherein,

said located second install control module comprises an operating system with minimal functions, a plurality of initialization and related processes, a command-like language interpreter, a set of reconfiguration files, an automatic install set up and control routine, a plurality of probe functions, and a plurality of compare functions;

said control transfer to said located second install control module is achieved by rebooting said second install control module into said memory, and giving execution control to said second install control module booted into said memory.

12. The apparatus as set forth in claim 10, wherein,

said install media is either i) a local install media of said computer system or ii) a remote install media coupled to said computer system through a network; and

said collection of installation files stored in said file subsystem means is either i) a defaulted collection of installation files, or ii) a customized collection of installation files, said file subsystem means storing said defaulted collection of installation files being either i) local storage means of said computer system, or ii) a local install media coupled said computer system, said file subsystem means storing said customized collection of installation files being either i) remote storage means coupled said computer system through a network, or ii) a remote install media coupled to said computer system through a network.

13. The apparatus as set forth in claim 10, wherein,

said install script files stored in said file subsystem means comprises a plurality of pre-install script files corresponding to a plurality of pre-install classes of computer systems for performing pre-installation tasks for computer systems of the corresponding pre-install classes;

said at least one classification determined comprises a pre-install class [for]of said computer system; and

said automatic installation and configuration caused by said second install control module comprises executing the pre-install script file corresponding to said determined pre-install class of said computer system under its control.

14. The apparatus as set forth in claim 13, wherein,

said at least one classification determined further comprises an install class of said computer system;

said pre-installation tasks performed by said pre-install script file corresponding to said determined pre-install class of said computer system comprise deriving an install class parameters file for said install class of said computer system;

one of said boot device and said located install media in said step b) further comprises a local/remote install module;

said automatic installation and configuration caused by said second install control module comprises executing said local/remote install module using said derived install parameters file under its control.

15. The apparatus as set forth in claim 13, wherein, said pre-installation tasks performed by said pre-install script file corresponding to said determined pre-install class of said computer system comprise localizing said automatic installation and configuration to a local language.

16. The apparatus as set forth in claim 10, wherein,

either said boot device or said install media further comprises a local/remote install module;

said collection of installation files further comprises a plurality of install class parameters files corresponding to a plurality of install classes of computer systems;

said at least one classification determined comprises an install class of said computer system; and

said automatic installation and configuration caused by said second install control module comprises executing said install module using the install class parameters file corresponding to said determined install class of said computer system under its control.

17. The apparatus as set forth in claim 16, wherein, said local/remote install module determines critical install parameters unspecified in said install class parameter file corresponding to said determined install class.

18. The apparatus as set forth in claim 10, wherein,

said collection of installation files stored in said file subsystem means further comprises a plurality of post-install script files corresponding to a plurality of post-install classes of computer systems;

said at least one classification determined comprises a post-install class of said computer system; and

said automatic installation and configuration caused by said second install control module comprises executing the post-install script file corresponding to said determined post-install class of said computer system under its control.

19. In a computer system, a computer implemented method for automatically installing a plurality of software products on said computer system and configuring said computer system's operating environment, said method comprising the steps of:

a) booting said computer system, loading a first install control module for locating install media and starting installation from a boot device into said computer system's memory, and transferring control to said first install control module loaded into said memory;

b) said first install control module locating an install media comprising a second install control module for setting up and controlling automatic installation, and giving execution control to said second install control module;

c) said second control module locating a collection of installation files comprising a classification rules file and a plurality of install script files, said classification rules file having a plurality of classification rules for classifying a computer system, each of said install script file having a plurality of install commands for performing certain installation and/or configuration tasks;

d) said second install control module determining at least one classification for said computer system using said located classification rules file; and

e) said second install control module installing said plurality of software products on said computer system, and configuring said computer system's operating environment automatically by selectively executing said install script files based on the classification determined for said computer system, wherein said software products include application programs and operating system programs.

20. In a computer system, an apparatus for automatically installing a plurality of software products on said computer system and configuring said computer system's operating environment, said apparatus comprising:

a) booting means coupled to said computer system's processor and memory for loading a first install control module into said memory, and giving execution control to said first install control module loaded into said memory, said first install control module being used for locating install media and starting installation;

b) install media coupled to said computer system's processor and memory comprising a second install control module for setting up and controlling automatic installation, said second install control module being loaded into said memory and given execution control by said first install control module booted into said memory upon locating said install media; and

c) file subsystem means coupled to said computer system's processor and memory for storing a collection of installation files comprising a classification rules file and a plurality of install script files, said classification rule file having a plurality of classification rules for classifying a computer system, said install script files being organized by computer system classifications, each of said install script files having a plurality of install commands for performing certain installation and configuration tasks, said classification file being used to determine at least one classification for said computer system by said second install control module loaded in said memory upon locating said file subsystem;

said second install control module automatically causing said plurality of software products to be installed on said computer system and said computer system's operating environment to be configured by selectively executing said install script files based on the classification determined for said computer system under its control, wherein said software products include application programs and operating system programs.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the field of computer systems, in particular, microprocessor based computer systems connected as a network. More specifically, the present invention relates to installing software products and configuring operating environments on these computer systems.

2. Background

As cost performance of microprocessor based computer systems and network technology continues to improve, their popularity continues to increase. However, before each of these powerful low cost computer systems can be put to productive use, typically a slate of software products including an operating system has to be installed on the computer system, and the operating environment has to be properly configured. Both the typical slate of software products that get installed and the number of operating environment configuration decisions that have to be made continue to grow with the power and capacity of these low cost computer systems. Increasingly, it is not uncommon to find organizations having to install a large number of software products and configure operating environments on tens, hundreds, or even thousands of machines, While the installed software and the operating environments are not uniform across all machines within the organization, they tend to be substantially similar within a class of machines, such as accounting's workstations or engineering's workstations.

One common solution to the problem is to have a typical slate of software products preinstalled and the operating environment pre-configured in a typical configuration at the factory. Experience has shown that this approach is satisfactory only to a minority number of users. The majority of users find themselves to be atypical and having to reinstall the software products and reconfigure the operating environment in order to meet their needs. Additionally, the approach is costly to the manufacturers. It forces earlier cutoff of software development. When changes to one or more of the software products are necessary, existing inventories in the distribution channels will have to be recalled, their software products reinstalled with the latest revisions, and their operating environments reconfigured taking into account the latest revisions. Furthermore, the factory preinstall approach really does not address the need of system administrators who have to install software products and configure operating environments of a class of similar machines.

Thus, it is desirable to automate software installation and operating environment configuration on computer systems, in particular, microprocessor based computer systems connected in a network. It is further desirable if automated software installation and operating environment configuration can overcome the manufacturing disadvantages of the factory pre-install approach. It is further desirable if the needs of system administrators who have to install software products and configure operating environments for classes of similar machines can be addressed. As will be disclosed, the method and apparatus of the present invention for automatically installing software products and configuring operating environment on a computer system achieves the above described desired results.

SUMMARY OF THE INVENTION

A method and apparatus for automatically installing software products and configuring operating environment on a computer system is disclosed. The method and apparatus of the present invention overcomes the disadvantages of the factory preinstall approach to software installation and operating environment configuration. The present invention allows system administrator to automatically install software products and configure operating environment by machine class. The present invention has particular application to microprocessor based computer systems connected in a network.

Under the present invention, a boot device, a local or remote install media and a local or remote storage device are provided to a computer system. The boot device comprises an install media locator and starter module. The local or remote install media comprises an install set up and control module and an install module. The local or remote storage device comprises a defaulted or a customized collection of installation files. The defaulted/customized collection of installation files comprises a classification rules file, a number of pre-install class script files, a number of install class parameters file, and a number of post-install class script files. Together, these elements cooperate to automatically install software products on the computer system, and configure the operating environment of the computer system.

The install media locator and starter module is loaded into the memory of the computer system and given control as part of the computer system's boot up process. The install media locator and starter module is used to locate a local or a remote media, and starts up the local/remote install set up and control module stored on the located local/remote media. The local/remote install set up and control module is used to determine at least a pre-install class, or an install class, or a post-install class for the computer system. The local/remote install set up and control module makes the class determinations based on the classification rules stored in the defaulted/customized classification rules file. Additionally, the local/remote install set up and control module is used to start the corresponding defaulted/customized pre-install class script file if a pre-install class is determined, the local/remote install module if an install class is determined, and the corresponding defaulted/customized post-install class script file if a post-install class is determined.

The defaulted/customized pre-install class script files are used to perform pre-installation tasks for the corresponding pre-install classes. The local/remote install module is used to install software products and configure the operating environment of the computer system based on the installation parameters stored in the corresponding defaulted/customized install class parameters file of the determined installation class. The defaulted/customized post-install class script files are used to perform post-installation tasks for the corresponding post-install classes.

As will be explained in detail below, pre-installation tasks can include such tasks as determining whether or not localization packages (i.e., system support packages for different countries) are required, setting up the required file systems, and any other tasks that need to be performed for the pre-installation class before other installation tasks are performed, as determined by the specific model of the computer, the type of applications that the computer will support, etc. Post-installation tasks include such tasks as restoring paths to certain applications and directories, restoring user preferences and any other tasks that are required to restore the computer system back to operational status. The determination of which classification each task is to be associated with (i.e. the determination of the order of the task execution) is dependent on the specific type of the computer system and the needs of the system administrator.

The use of the pre-install, install and post-install classifications provides flexibility in the installation process by allowing installation procedures to be broken down into separate scripts and the most common portions "re-used," without having to write a different script for each machine class. For example, all engineering workstations will require particular application or system software be installed. However, the localization requirements for each workstation might be different (e.g. some workstations might have to support French, others might have to support Dutch and German). By assigning all engineering workstation the same install class designation but different preinstall classifications, where each pre-install classification is determined by the language(s) that the workstation needs to support, each engineering workstation will support the appropriate language(s) when the local/remote install set up and control module executes the appropriate defaulted/customized pre-install class script file(s) and also have the required applications or systems software installed when the local/remote install set up and control module executes the appropriate local/remote install module.

Additionally, in the presently preferred embodiment, the defaulted/customized install class parameter file for an install class may be dynamically derived by a defaulted/customized pre-install class script file. The local/remote install set up and control module determines whether the defaulted/customized install class parameter file for an install class is to be dynamically derived or not, and the defaulted/customized pre-install class script file that will do the derivation, based on the rules in the defaulted/customized classification rules file. The local/remote install set up and control module also controls the naming of the derived install class parameters file.

BRIEF DESCRIPTION OF THE DRAWINGS

The objects, features, and advantages of the present invention will be apparent from the following detailed description of the presently preferred and alternate embodiments of the invention with references to the drawings in which:

FIG. 1 illustrates an exemplary computer system incorporated with the teachings of the present invention.

FIG. 2 illustrates the contents of the boot device, the local/remote install media, and the local/remote storage devices under the present invention.

FIG. 3 illustrates the operation flow of the install media locator and starter module of the present invention.

FIG. 4 illustrates one embodiment of the install media locator and starter module of the present invention.

FIG. 5 illustrates the operation flow of the local/remote install set up and control module of the present invention.

FIG. 6 illustrates one embodiment of the local/remote install set up and control module of the present invention.

FIG. 7 illustrates exemplary probe functions, corresponding environment variables and comparison functions for the local/remote install set up and control module of FIG. 6.

FIG. 8 illustrates an exemplary classification rules file of a local/remote collection of installation files.

FIGS. 9a-9b illustrate an exemplary pre-install class script file of a local/remote collection of installation files.

FIG. 10 illustrates an exemplary install class parameters file of a local/remote collection of installation files.

FIG. 11 illustrates an exemplary post-install class script file of a local/remote collection of installation files.

DETAILED DESCRIPTION PRESENTLY PREFERRED AND ALTERNATE EMBODIMENTS

A method and apparatus for automatically installing software products and configuring operating environment on a computer system is disclosed. The method and apparatus of the present invention overcomes the disadvantages of the factory preinstall approach to software installation and operating environment configuration. The present invention allows system administrator to automatically install software products and configure operating environment by machine class. The present invention has particular application to microprocessor based computer systems connected in a network. In the following description for purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without the specific details. In other instances, well known systems are shown in diagrammatical or block diagram form in order not to obscure the present invention unnecessarily.

Referring now to FIGS. 1, a block diagram illustrating an exemplary computer system incorporated with the teachings of the present invention is shown. Shown is an exemplary computer system 10 comprising a central processing unit (CPU) 12, a memory 14, and an I/O module 16. Additionally, the exemplary computer system 10 also comprises a number of user input/output devices 18, a boot device 20, a local install media 22, and a number of storage devices 24. The CPU 12 is coupled to the memory 14 and the I/O module 16. The user input/output devices 18, the boot device 20, the install media 22, and the storage devices 24 are also coupled to the I/O module 16. The I/O module 16 in turn is coupled to a network 26, through which a remote install media 22' and a number of remote storage devices 24' are accessible to the exemplary computer system 10.

Except for the manner they are used to practice the present invention, the CPU 12, the memory 14, the I/O module 16, the user input/output devices 18, the boot device 20, the local/remote install media, 22 and 22', the local/remote storage devices, 24 and 24', and the network 26, are intended to represent a broad category of these hardware elements found in most computer systems. The constitutions and basic functions of these elements are well known and will not be otherwise further described here. The contents of the boot device 20, the local/remote install media, 22 and 22', and the local/remote storage devices, 24 and 24', and the manner in which these contents cooperate with each other, will be described in further detail with references to the remaining figures.

While the present invention is being described with an exemplary computer system 10 having accesses to both local and remote install media, 22 and 22', as well as local and remote storage devices, 24 and 24', based on the descriptions to follow, it will be appreciated that the present invention may be practiced with the computer system having access to either local or remote install media, and, either local or remote storage devices.

Referring now to FIG. 2, a block diagram illustrating the content of the boot device, the local/remote install media, and the local/remote storage devices is shown. The boot device 20 comprises an install media locator and starter module 28. The local/remote install media, 22 or 22', comprises an install set up and control module, 30 or 30', and an install module, 32 or 32'. The local/remote storage devices, 24 or 24', comprise a collection of installation files, 34 or 34', including a classification rules file, 36 or 36', a number of pre-install class script files, 38 or 38', a number of install class parameters files, 40 or 40', and a number of post-install class script files, 42 or 42'. The pre-install class script files, 38 or 38', and the post-install class script files, 42 or 42' are executable files.

In the presently preferred embodiment, the local collection of installation files 34 is the defaulted collection, whereas the remote collection of installation files 34' is the customized collection. While having a local collection of installation files 34 is preferred, it will be appreciated that the present invention may nevertheless be practiced without it. Additionally, while for ease of understanding, the present invention is being described with the defaulted/customized collection of installation files, 34 or 34', being located on local/remote storage devices, 24 or 24', it will be appreciated that the defaulted/customized collection of installation files, 34 or 34', may be located on the local/remote install media, 22 or 22', respectively. In fact, under the presently preferred embodiment, the defaulted collection of installation files 34 is located on the local install media 22. Similarly, while the present invention is being described with the local install module 32 being located on the install media 22, it will be appreciated that the local install module 32 may be located on the boot device 20. Furthermore, while the present invention is being described with the pre-install and post-install class script files, 38 or 38' and 42 or 42', as executable files, it will be appreciated that the present invention may be practiced with non-executable pre-install and post-install class script files having tokens that can cause equivalent functions to be accomplished.

Continuing to refer to FIG. 2, the install media locator and starter module 28 is loaded into the memory of the computer system and given control as part of the computer system's boot up process. The install media locator and starter module 28 is used to locate a local or a remote media, 22 or 22', and starts up the local/remote install set up and control module, 30 or 30', on the local/remote media, 22 or 22'. The local/remote install set up and control module, 30 or 30', is used to determine at least a pre-install class or an install class or a post-install class for the computer system. The local/remote install set up and control module, 30 or 30', makes the class determinations based on the classification rules stored in the defaulted/customized classification rules file, 36 or 36'. Additionally, the local/remote install set up and control module, 30 or 30', is used to start the corresponding defaulted/customized pre-install class script file, 38 or 38', if a pre-install class is determined, the local/remote install module, 32 or 32', if an install class is determined, and the corresponding defaulted/customized post-install class script file, 42 or 42', if a post-install class is determined. The local/remote install module, 32 or 32', is used to install software products and configure the operating environment of the computer system. The local/remote install module, 32 or 32', installs the software products and configure the operating environment based on the installation parameters stored in the corresponding defaulted/customized install class parameters file, 40 or 40', of the determined installation class. The defaulted/customized pre-install class and post-install class script files, 38 or 38', and, 42 or 42', are used to perform preinstallation and post-installation tasks respectively.

While the defaulted/customized pre-install class and post-install class script files, 38 or 38', and, 42 or 42', are typically used to perform preinstallation and post-installation tasks, and the local/remote install module, 32 or 32', is used to install the software products and configure the operating environment, it will be appreciated that the present invention may be practiced with either the pre-install class script file, 38 or 38', or the post-install class script file, 42 or 42', performing the automatic install and configuration, without involving the install module, 32 or 32', at all. That's why a computer system may have as little as only one classification determined by the automatic install set up and control module, 30 or 30', and the pre-install class script file, 38 or 38', the install module, 32 and 32', and the post-install script file, 42 or 42', are invoked only if corresponding pre-install, install, and post-install classes are determined.

In the presently preferred embodiment, the local/remote install module, 33 or 32', is also used to heuristically determine a number of critical install parameters, if they are not specified in the corresponding defaulted/customized install class parameters file, 40 or 40', of the determined installation class. For example, if the swap size is not specified, the swap size for a stand alone system is set to be one multiple of the memory of the system, whereas, the swap size for a server is set to be another multiple of the memory of the system. In either case, the swap size must also exceeds certain predetermined minimum, but at the same time not greater than certain predetermined maximum. It will be appreciated that what constitutes critical install parameters and the manner they should be heuristically determined are application dependent.

Additionally, in the presently preferred embodiment, the defaulted/customized install class parameter file, 40 or 40', for an install class may be dynamically derived by a defaulted/customized pre-install class script file, 38 or 38'. The local/remote install set up and control module, 30 or 30', determines whether the defaulted/customized install class parameter file, 40 or 40', for an install class is to be dynamically derived or not, and the defaulted/customized pre-install class script file, 38 or 38', that will do the derivation, based on the rules in the defaulted/customized classification rules file, 36 or 36'. The local/remote install set up and control module, 30 or 30', also controls the naming of the derived install class parameters file, 40 or 40'.

Except for the manner, the local/remote install module, 32 or 32', cooperates with the other elements, and the application dependent manner for heuristically determining critical install parameters, the local/remote install module, 32 or 32', is intended to represent a broad category of install procedures found in many computer systems. Its constitutions and basic functions are well known, and therefore will not be otherwise described in further detail. Each of the other elements, 28, 30 and 30', 34-42, and 34'-42', and the manner they cooperate with one another, will be described in further detail below with references to the remaining figures.

Referring now to FIGS. 3, a block diagram illustrating the preferred operation flow of the install media locator and starter module is shown. Upon given control, the install media locator and starter module probes for remote install media available through the network, block 46. If a remote install media is located through the network, branch 48a, the install media locator and starter module starts up and transfers control to the install set up and control module in the remote media, block 50. On the other hand, if a remote install media is not located through the network, branch 48b, the install media locator and starter module probes for locally available install media, block 52. If a local install media is located, branch 54a, the install media locator and starter module starts up and transfers control to the install set up and control module in the local install media, block 56. If a local install media is also not found, branch 54b, the install media locator and starter module terminates, preferably with error messages describing the problem and suggesting corrective actions. It will be appreciated that the present invention may be practiced with the install media locator and starter module probing for a local install media first.

Additionally, in either case, block 50 or 56, the install media locator and starter module informs the located remote/local install set up and control module that it is being started by an install media locator and starter module. Furthermore, the install media locator and starter module provides its own location to the located remote/local install set up and control module.

Referring now to FIG. 4, a block diagram illustrating one embodiment of the install media locator and starter module is shown. In this embodiment, the install media locator and starter module 28 comprises a UNIX.RTM. kernel 58 (UNIX is a registered trademark of UNIX System Laboratories), a number of initialization related programs 59, a UNIX.RTM. Shell program 60, a set of UNIX.RTM. system reconfiguration files 62, and an install media locator and starter routine 64 implemented in Shell having probing and starting logic as described in FIG. 3. In this embodiment, the kernel 58 is first loaded into memory and given control, when the computer system is booted. The kernel then starts the initialization and related processes 59, which in turn execute the system reconfiguration files 62. After sufficient system start up and reconfiguration processing has been performed to support the install media locator and starter routine 64, the system reconfiguration files 62 start the install media and locator and starter routine 64.

Under this embodiment, the local and remote install media are