The invention is related to processes and apparatus for controlling the installation of software programs, and includes means or steps for setting up and preparing an operating system on a computer system.
For many years, information technology (IT) organizations (the “providers”) have offered IT management services and computing resources to other business entities (the “customers”). In a “traditional” service model, the customers share a provider's management services, but each customer purchases or leases specific resources for the customer's exclusive benefit. The customer may purchase or lease the resources directly from the provider or from a third party. Regardless of their origins, though, such a purchase or lease may require extensive, time-consuming negotiations based upon the customer's anticipated requirements. If the customer's requirements are less than anticipated, then the customer effectively has wasted resources. If, however, the customer's requirements are greater than anticipated, then the customer may have to enter into additional time-consuming negotiations for the necessary resources. Customers of “on-demand” services, on the other hand, share the provider's management services and computing resources (to the system and subsystem level), including persistent memory (“storage”), volatile memory (“memory”), and processors.
The on-demand service model addresses many of the problems of the traditional model, including wasted resources and time-consuming negotiations, but it also presents some unique problems of its own. Specifically, an on-demand environment should provide each customer with a clean operating environment that is free from residual data left behind by other customers. The on-demand environment also should present a consistent (or “standardized”) software configuration and layout for all customers to reduce the cost of initial installation and post-installation support. To further control costs, the tasks required to meet these requirements should be automated as much as possible, thereby minimizing the time required to prepare a system for new customers. Preparing the operating system is perhaps the single most labor intensive and time consuming task associated with allocating resources for a new customer. Thus, any process or apparatus that can reduce the labor or time required to install an operating system and prepare it for a customer's use will benefit the on-demand service provider.
To date, the preferred method of installing an operating system in an on-demand environment has been to build it from scratch and install it onto a “bare” system. Consequently, this method is referred to commonly as the “bare iron” method. This nomenclature reflects the traditional principle that, before the operating system is installed, a computer system has no other software installed and, thus, is nothing more than a collection of non-operational hardware components. Of course, in the on-demand environment this traditional principle carries over to sub-systems allocated to particular customers (i.e. an LPAR), rather than the entire system, but is nonetheless still an apt characterization of the method. An overview of the tasks required to apply the bare iron method to install an operating system on an LPAR is provided in
“Cloning” is an alternative to bare iron installation that is used sometimes to reduce the time and labor required to produce an operational environment.
Thus, a need remains for an operating system installation process that reduces the time requirements of bare iron installations while eliminating the undesirable side-effects of cloning.
The invention is a system for installing a new operating system on a logical partition that has no software or data previously installed. The system comprises a baseline code and a process for customizing and configuring the baseline code for use in an on-demand environment. The process for customizing and configuring the baseline code comprises establishing a plurality of datasets that allow users to access the operating system after installation. The critical datasets that produce an operable system include virtual telecommunications parameters, job entry system parameters, operating system parameters, and security parameters.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will be understood best by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
The principles of the present invention are applicable to a variety of computer hardware and software configurations. The term “computer hardware” or “hardware,” as used herein, refers to any machine or apparatus that is capable of accepting, performing logic operations on, storing, or displaying data, and includes without limitation processors and memory; the term “computer software” or “software,” refers to any set of instructions operable to cause computer hardware to perform an operation. A “computer,” as that term is used herein, includes without limitation any useful combination of hardware and software, and a “computer program” or “program” includes without limitation any software operable to cause computer hardware to accept, perform logic operations on, store, or display data. A computer program may, and often is, comprised of a plurality of smaller programming units, including without limitation subroutines, modules, functions, methods, and procedures. Thus, the functions of the present invention may be distributed among a plurality of computers and computer programs. The invention is described best, though, as a single computer program that configures and enables one or more general-purpose computers to implement the novel aspects of the invention. For illustrative purposes, the inventive computer program will be referred to as the “Rapid Automated Deployment” (RAD) program.
Additionally, the RAD program is described below with reference to an exemplary computing environment. The exemplary computing environment is a shared mainframe environment suited for delivering services “on-demand,” as described above, and includes at least one logical partition (LPAR).
The RAD program operates on a baseline operating system package. The baseline operating system package, referred to herein as the “standard code,” is designed to lay a foundation for a wide variety of environments and generally conforms to a given set of standards, which are based upon industry-accepted practices, an organization's internal practices, or some combination thereof. Generally, though, the standard code is inoperable without additional components and configuration. The RAD program automates the process of adding components and configuring the system to provide an operational environment. In the preferred embodiment described below, the RAD program deploys the standard code on an LPAR and enables an on-demand operational environment. The RAD program is intended to produce a standard system platform that provides common functionality and processes within each system, and reduce the labor, time to build, and the level of skill required to deploy such a standard system platform.
RAD 300 typically is stored in a memory, represented schematically as memory 320 in
In one embodiment, the standard code is stored in a central repository and is transmitted over a network directly to a target LPAR. An administrator then must add components and execute RAD 300 to produce an operational environment for a customer. Components that are typically added to the system include storage devices and automation tools.
The storage devices typically are direct access storage devices (DASD). These storage devices are provided for a variety of functions familiar to those skilled in the art, such as for spool volumes, paging packs, system catalogs, and resource access control facility (RACF) packs. Spool volumes are used to store job input and output until an operator reads it, prints it, or otherwise disposes of it. Paging packs are temporary storage for system operations, which provide space for the operating system to place infrequently used components of a program's working memory. System catalogs include indices that allows an operating system to locate data quickly when a process or program requests the data. RACF packs store much of an operating system's security data, including user IDs and passwords.
RAD 300 configures a variety of components in the operating system, including components of standard code 330 and the additional components described above. RAD 300 is capable of extensive customization and configuration activities, and the following description is not exhaustive. Rather,
Other common activities illustrated in
As described above, the RAD system provides a standard approach for operating system deployments that results in reduced labor costs by reducing the time required to deploy a new operating system and by reducing the skill and knowledge level required to deploy a new operating system. The RAD system also minimizes propagation and variance issues associated with prior art cloning techniques.
A preferred form of the invention has been shown in the drawings and described above, but variations in the preferred form will be apparent to those skilled in the art. The preceding description is for illustration purposes only, and the invention should not be construed as limited to the specific form shown and described. The scope of the invention should be limited only by the language of the following claims.