WO2002037262A2 - Methods and systems for installing software onto computers - Google Patents

Methods and systems for installing software onto computers Download PDF

Info

Publication number
WO2002037262A2
WO2002037262A2 PCT/US2001/042875 US0142875W WO0237262A2 WO 2002037262 A2 WO2002037262 A2 WO 2002037262A2 US 0142875 W US0142875 W US 0142875W WO 0237262 A2 WO0237262 A2 WO 0237262A2
Authority
WO
WIPO (PCT)
Prior art keywords
operating system
computer
switch
systems
request
Prior art date
Application number
PCT/US2001/042875
Other languages
French (fr)
Other versions
WO2002037262A3 (en
Inventor
Raymond E. Suorsa
Original Assignee
Loudcloud, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Loudcloud, Inc. filed Critical Loudcloud, Inc.
Priority to AU2002224469A priority Critical patent/AU2002224469A1/en
Publication of WO2002037262A2 publication Critical patent/WO2002037262A2/en
Publication of WO2002037262A3 publication Critical patent/WO2002037262A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the present invention relates generally to systems and methods for installing software code in a controlled, uniform and automated manner. More particularly, the present invention relates to systems and methods which provide an intuitive mechanism for selectively installing one (or more) of many different types of software onto a computer.
  • the Internet acts as a transport mechanism for the World Wide Web, which can be described as a global, interconnected system of navigational links between collections of data.
  • the World Wide Web is comprised of a very large number of web sites, each of which is a smaller group of linked data collections, e.g., web documents, that is accessible via the interconnected computer network.
  • standard protocols were adopted for its various aspects.
  • HTTP Hyper Text Markup Language
  • HTML Hyper Text Markup Language
  • HTTP HyperText Transfer Protocol
  • Web object addresses have been standardized by uniform resource locators (URLs) which uniquely identify a location of an object for retrieval via the World Wide Web.
  • the way in which software is installed on a computer can affect that computer's performance. Since the web site hosting company's performance will be measured, at least in part, by the uptime of the web sites that it is hosting, it is important that the software installation of the computers be repeatable and uniform so that problems associated with the installed software are reduced, easier to debug and, once identified, are not replicated in subsequent software installations .
  • customer A may request that their web site be set-up on servers running SOLARIS operating system version 5.7, APACHE web server, and their unique HTML code and business logic
  • customer B requests a web site that is operating using WINDOWS NT operating system, Netscape's ENTERPRISE web server, and their unique HTML code and business logic.
  • This diversity increases the challenges associated with installing software in a uniform, controlled, repeatable and rapid manner. Accordingly, it would be desirable to provide systems and methods for installing software code, e.g., software usable to operate a web site, in a manner which avoids these problems.
  • each of a plurality of different operating systems can be associated with an installation network which is configured to install its associated operating system in a predetermined manner.
  • the installation networks can, in turn, be connected to a switch or switch port. When a computer is connected to the switch port and the install process is initiated, one of the plurality of operating systems is automatically installed onto the computer.
  • the operating system which is installed is determined based on the type or format of a command message transmitted by the computer through the switch after it is connected thereto.
  • different operating system versions (or different operating systems which respond to the same type of installation command) are available for installation by extension of the first exemplary embodiment.
  • a plurality of switches or switch ports are provided, each of which are connected to their own set of installation networks.
  • the computer to be loaded is selectively connected to one of the switches or switch ports depending upon the version (or type) of operating system which is desired for installation on that machine.
  • the appropriate operating system is then installed by one of the installation networks detecting its corresponding installation command type which is transmitted through the switch by the connected computer.
  • the present invention is applicable to installing all types of software including, but not limited to, operating system software. Additionally, the present invention is particularly beneficial when applied to web site hosting environments wherein a need exists for rapid and consistent loading of software.
  • the present invention can be applied to create a pool of pre-loaded machines selected ones of which are physically relocated into a customer compartment upon receiving a customer's request to host their web site.
  • the switch(es) or switch port(s) which provide the "gas pump" style installation interface can be installed within the customer compartment and selectively connected by installation personnel to load blank machines that are racked within the compartment.
  • NLAN technology can be employed to program the switch port to "place" the machine onto a desired configuration network.
  • the present invention can be applied to install other types of software including one or more generic agents which are capable of working with the operating system to install (or deinstall) other software onto (or from) the machine on which the agent resides.
  • Figure 1 depicts a software stack including an operating system, generic applications and custom applications
  • Figure 2 is an exemplary client/server environment in which computers loaded with software according to the present invention can operate;
  • Figure 3 is an exemplary web site hosting environment in which computers loaded with software according to the present invention can operate;
  • Figure 4 is a block diagram illustrating a first exemplary embodiment of the present invention
  • Figure 5 is a flow diagram which depicts an exemplary method associated with the embodiment of Figure 4;
  • Figure 6 is a block diagram illustrating a second exemplary embodiment of the present invention.
  • Figure 7 is a flow diagram which depicts an exemplary method associated with the embodiment of Figure 6;
  • Figure 8 depicts another embodiment of the present invention wherein an embryo pool of pre-loaded machines is created.
  • Figure 9(a) illustrates yet another embodiment of the present invention wherein installation of software according to the present invention can be provided locally to the customer compartment;
  • Figure 9(b) depicts labeled switch ports associated with an exemplary embodiment of the present invention.
  • an Internet client-server system is illustrated in Figure 2.
  • a client machine 10 is connected to a production host 14 via a network 12.
  • the client machine can, for example, be a personal computer or any other type of device which can be connected to network 12, e.g., a cellular telephone.
  • network 12 can be the Internet, an intranet, an extranet or any other known network.
  • Production host 14 can be one of a plurality of devices which are accessible by clients, one of which is illustrated by machine 10.
  • a representative production host 14 is a computer comprising a processor(s) 20, an operating system (OS) 22, and a web server application (Server App) 24, such as APACHE or Netscape ENTERPRISE Server and one or more customized applications 26, e.g., the GUI HTML code and business logic code associated with the web site to be supported by production host 14.
  • a representative client machine can also include a browser 16, which those skilled in the art will appreciate can be one of a plurality of established software tools used to access devices like production host 14 across the network 12.
  • the production host 14 can support files and program code (collectively referred to as a "web site") which can include hypertext documents and objects.
  • a network path to the production host 14 is identified by a predetermined address, e.g., a URL as mentioned above, and can be pointed to by the browser 16.
  • the production host 14 can be implemented together with a staging host 18, upon which the program code, hypertext documents, etc. can be tested prior to deploying on the production host 14.
  • the present invention provides particular benefits when employed in a web site hosting environment wherein many production hosts and staging hosts can be monitored and controlled collectively.
  • Such an exemplary environment is depicted in Figure 3, wherein a plurality (1-N) of customer compartments 30 are shown as being connected to a central web site control and monitoring function 32.
  • Each customer compartment 30 may have a large number of web servers, application servers and associated databases which support loading of the customer's web site, which loading is managed by the load balancer 33.
  • a DNS server 34 may also be provided in the customer compartment, as well as other equipment not explicitly illustrated in Figure 3.
  • Operations management of this system may be provided by, for example, network operations center (NOC) represented in Figure 3 by the server 36.
  • NOC network operations center
  • a computer 40 to be loaded with software is connected to switch 42 to begin the install process.
  • the connection between the computer 40 and the switch 42 can be made, for example, using a cable (e.g., a serial or parallel connection to the computer's serial or parallel port), or wirelessly using, e.g., RF or infrared techniques.
  • a command is provided to the computer 40 which initiates the install process. This command will vary depending upon the type of computer 40 being connected to switch 42.
  • the computer 40 is a Sun-type computer
  • an operator can type the command "boot net install" into the computer 40 which will trigger the running of a JUMPSTART program. This program will send out an RARP broadcast request indicating the computer's Ethernet address and requesting an IP address in return.
  • the computer 40 is an Intel-type computer, then an operator can start the install process using a floppy disk to bootstrap the computer 40 into operation since the BIOS on these types of computers do not uniformly have the capability to initiate the install process themselves. This will result in a DHCP command being transmitted to the switch 42, again requesting an IP address.
  • the RARP or DHCP command will be forwarded by switch 42 to one or more networks which are connected thereto, for example, via bus 44.
  • Each of these networks 46, 48 and 50 are configured to install a respective operating system on a remote computer.
  • the network 46 will be configured to install a first type of operating system, e.g. , LINUX.
  • Network 48 will be configured to install a second type of operating system, e.g., SOLARIS.
  • Networks 46 and 48 will each respond to a respective, different type of command transmitted by computer 40.
  • the network 46 which is configured to load a LINUX operating system, will respond to a DHCP command from computer 40.
  • network 48 which is configured to load a SOLARIS operating system, will respond to an RARP command from computer 40.
  • networks 46 and 48 Upon receipt of their respective commands, networks 46 and 48 will proceed to install their respective operating systems onto the computer 40 through bus 44 and switch 42.
  • Networks 46 and 48 will be configured to install their respective operating systems in the same manner each time, i.e., by loading the same files in the same order into the same directories on computer 40. In this way, the installation of operating systems will be consistent across the plurality of computers 40 to be attached to switch 42. Moreover, other than the manner in which the initial command is transmitted from computer 40, the person responsible for setting up computer 40 need not be concerned with which type of operating system is being loaded thereon. That is, since the system depicted in Figure 4 will automatically load an appropriate one of the different types of operating systems provided by networks 46 through 50 based on the type of command which is circulated through bus 44, the installation operator need not be concerned with anything other than plugging the computer (if the connection is wire-based) into the switch 42 and starting the process. This provides an intuitive approach to loading software onto the computer 40 that can be analogized to filling one's car with gasoline in the sense that most gasoline pumps today permit the filling of multiple different types of gasoline using the same physical connection.
  • an operating system can be loaded onto a computer by way of the steps illustrated in the flow diagram of Figure 5.
  • the first step 50 involves connecting the computer to a switch port.
  • the computer transmits an install request at step 52.
  • the install request may, for example, be an RARP or DHCP- type command.
  • an operating system will be loaded onto the computer selectively based on the type of request which is transmitted.
  • the exemplary embodiment described above with respect to Figures 4 and 5 provides for selected installation of an operating system onto a computer based on a type of command which is circulated throughout the various networks to which switch 42 is connected.
  • the computer 40 transmits a command which is generic to different types of operating systems and/or different versions of the same operating system.
  • the command for installing LINUX version 6.1 may be of the same type as that for installing LINUX version 6.2.
  • Different versions may also relate to variations other than upgrades, e.g., versions created for different countries, exportable versions, etc.
  • FIG. 6 illustrates an extension to the embodiment of Figure 4, wherein the computer 40 to be loaded can be selectively connected to one of two different switches or switch ports 60 and 62.
  • the switches or switch ports 60 and 62 can be labeled to reflect the different, for example, versions of operating systems which are available at those ports.
  • connecting the computer 40 to switch 60 will result in the computer 40 having either LINUX 6.1 or SOLARIS 5.6 installed thereon in the manner described above with respect to Figures 4 and 5.
  • first and second switch ports are associated with first and second OS's.
  • the first and second operating systems can be the same type of operating system, but different versions or different operating systems which may both respond to the same type of installing request from the computer 40.
  • the computer is connected to one of the two switch ports.
  • one of the operating systems which is associated with the switch port to which the computer is connected will be loaded onto that computer at step 74.
  • the present invention provides a mechanism which enables those who are interested in loading a large number of computers with software, e.g., operating system software, onto a computer with a uniform mechanism for doing so in a controlled, automated and consistent manner.
  • software e.g., operating system software
  • the present invention is employed to load software onto computers which will then subsequently be deployed in a data center to support the web site operations of different customers, then these systems and methods can be adapted to such environments.
  • the present invention can be used to create a pool of computers which are pre-loaded with, for example, operating systems and generic applications. These pre-loaded computers can then be selected for deployment into a customer compartment, e.g., as illustrated above with respect to Figure 3, when a customer's request is received that requires that type of machine.
  • an embryo pool 80 has been provided with an inventory of pre-loaded machines each having a different type of operating system.
  • the machines which have the same type of operating system will be identical since they were pre-loaded by the same installation network.
  • a customer requests three machines using operating system 1
  • these three machines can be drawn directly from the pool and installed into a customer compartment 82 with the knowledge that each of the machines shall behave in a similar manner since they were loaded in accordance with an exemplary embodiment of the present invention.
  • switches or switch ports described above with respect to the various embodiments of the present invention may be physically provided within each customer compartment as shown in Figures 9 A and 9B.
  • the switches or switch ports 92 and 94 are physically located within the customer compartment 90.
  • each switch or switch port is connected to its own respective set of install networks 96 and 98.
  • the required number of unloaded machines can be physically mounted within the customer compartment 90, e.g., on a server rack.
  • These machines 100 can then be selectively attached to the appropriate switch or switch port 92 or 94 such that each of the machines 100 is loaded with a desired software package or packages.
  • each of the switches 92 and 94 may, in addition to having a port for providing a desired operating system, may also have ports for other software to be loaded onto the blank machines 100.
  • ports may be provided for generic applications such as the web server software, as well as the customer's own applications, such as the HTML code or underlying business logic for the web site.
  • an installer can connect to each of the three appropriate ports to provide, in sequence, a desired OS, desired generic application(s) and the customer's own specific application(s).
  • VLAN technology can be used to switch the network connection provided to each machine such that the machine is connected to a different base configuration network. In this way, people who are setting up the customer compartment 90 can provide selective connections to each of the ports which are needed to fully load the blank machines 100 in an appropriate and consistent manner .

Abstract

Each of a plurality of different operating systems can be associated with an installation network which is configured to install its associated operating system in a predetermined manner. The installation networks can, in turn, be connected to a switch or switch port. When a computer is connected to the switch port and the install process is initiated, one of the plurality of operating systems is automatically installed on the computer. The operating system which is installed is determined based on the type or format of a command message transmitted by the computer through the switch after it is connected thereto.

Description

METHODS AND SYSTEMS FOR INSTALLING SOFTWARE ONTO COMPUTERS
BACKGROUND
The present invention relates generally to systems and methods for installing software code in a controlled, uniform and automated manner. More particularly, the present invention relates to systems and methods which provide an intuitive mechanism for selectively installing one (or more) of many different types of software onto a computer.
In the 1990' s, the global, distributed computer network known as the Internet became a powerful tool for business. Whole new categories of business, referred to by the umbrella term of "e-commerce", were created to take advantage of the potential efficiencies provided by rapid, global information exchange and these new businesses quickly captured the attention of both the public and private industry. Among other things, the Internet acts as a transport mechanism for the World Wide Web, which can be described as a global, interconnected system of navigational links between collections of data. The World Wide Web is comprised of a very large number of web sites, each of which is a smaller group of linked data collections, e.g., web documents, that is accessible via the interconnected computer network. In order to provide the interconnectivity which is ubiquitous to the Internet, standard protocols were adopted for its various aspects. For example, the Transfer Control Protocol/Internet Protocol (TCP/IP) was adopted as the lowest level data transfer protocol by which computers exchange data over the Internet. Hyper Text Markup Language (HTML) provides a set of coding conventions which define how to present and link documents stored in the documents that make up web site data collections. Similarly, HyperText Transfer Protocol (HTTP) has been adopted as the client-server protocol by which documents are requested and transmitted over the World Wide Web. Web object addresses have been standardized by uniform resource locators (URLs) which uniquely identify a location of an object for retrieval via the World Wide Web.
At their inception, web sites employed in e-commerce were typically designed, constructed, and operated by the same organization, often by the same people. Such e-commerce companies therefore had complete control and understanding of all of the software used in running their web site. This software included both high level graphical user interface and linking code, as well the business logic code (i.e., code performing business-related functions such as a shopping basket, order management, chat, searching, etc.) which underlies the display and document linking functionality of the web site. Thus the site operators were well positioned to adapt the existing code and to design and implement additional code as desired to change the appearance and/or functionality of the web site.
As the e-commerce industry experienced explosive growth, the level of effort required to operate and maintain more complex and sophisticated web sites increased in tandem. This, in turn, led to the development of web site operation and hosting services, where an e-commerce company out-sources the operational aspects of running their web site to another company, although the creation of the underlying business logic code typically remains with the e-commerce company itself.
As a result of these developments, there now exists a need for web site hosting (and other) companies to be able to rapidly and accurately set-up computers, e.g., web servers, as customer requests are received. One aspect of setting up these computers is installing the necessary software. As seen in Figure 1 , a number of different types of software will typically be installed on a machine prior to actually bringing that computer up on the network as a "live" machine. Specifically, the installed software can be segregated into operating systems, generic applications (e.g., a web server application) and custom applications (e.g., the customer's business logic code). As will be appreciated by those skilled in the art, as software has become more sophisticated, the process of installing software on computers has become more challenging. The way in which software is installed on a computer (e.g., the selection of files to install, the order in which those files are installed, the location at which those files are installed, etc.) can affect that computer's performance. Since the web site hosting company's performance will be measured, at least in part, by the uptime of the web sites that it is hosting, it is important that the software installation of the computers be repeatable and uniform so that problems associated with the installed software are reduced, easier to debug and, once identified, are not replicated in subsequent software installations .
Another factor which further complicates the software installation process in these types of environments is the large diversity of software which may be requested by customers. For example, customer A may request that their web site be set-up on servers running SOLARIS operating system version 5.7, APACHE web server, and their unique HTML code and business logic, while customer B requests a web site that is operating using WINDOWS NT operating system, Netscape's ENTERPRISE web server, and their unique HTML code and business logic. This diversity increases the challenges associated with installing software in a uniform, controlled, repeatable and rapid manner. Accordingly, it would be desirable to provide systems and methods for installing software code, e.g., software usable to operate a web site, in a manner which avoids these problems.
SUMMARY
According to exemplary embodiments of the present invention, these and other drawbacks and difficulties of conventional software installation techniques and systems are overcome by automating many of the portions of this process which have hitherto been performed manually in an intuitive manner which greatly enhances the likelihood of consistent, accurate and repeatable installs. More specifically, according to a first exemplary embodiment, each of a plurality of different operating systems can be associated with an installation network which is configured to install its associated operating system in a predetermined manner. The installation networks can, in turn, be connected to a switch or switch port. When a computer is connected to the switch port and the install process is initiated, one of the plurality of operating systems is automatically installed onto the computer. The operating system which is installed is determined based on the type or format of a command message transmitted by the computer through the switch after it is connected thereto. According to another exemplary embodiment of the present invention, different operating system versions (or different operating systems which respond to the same type of installation command) are available for installation by extension of the first exemplary embodiment. A plurality of switches or switch ports are provided, each of which are connected to their own set of installation networks. The computer to be loaded is selectively connected to one of the switches or switch ports depending upon the version (or type) of operating system which is desired for installation on that machine. The appropriate operating system is then installed by one of the installation networks detecting its corresponding installation command type which is transmitted through the switch by the connected computer.
The present invention is applicable to installing all types of software including, but not limited to, operating system software. Additionally, the present invention is particularly beneficial when applied to web site hosting environments wherein a need exists for rapid and consistent loading of software. The present invention can be applied to create a pool of pre-loaded machines selected ones of which are physically relocated into a customer compartment upon receiving a customer's request to host their web site. Alternatively, the switch(es) or switch port(s) which provide the "gas pump" style installation interface can be installed within the customer compartment and selectively connected by installation personnel to load blank machines that are racked within the compartment. In this embodiment, NLAN technology can be employed to program the switch port to "place" the machine onto a desired configuration network.
In addition to operating system software, the present invention can be applied to install other types of software including one or more generic agents which are capable of working with the operating system to install (or deinstall) other software onto (or from) the machine on which the agent resides.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other objects, features and advantages of the present invention will be readily understood by those skilled in the art by reading the following detailed description in conjunction with the drawings, in which:
Figure 1 depicts a software stack including an operating system, generic applications and custom applications;
Figure 2 is an exemplary client/server environment in which computers loaded with software according to the present invention can operate;
Figure 3 is an exemplary web site hosting environment in which computers loaded with software according to the present invention can operate;
Figure 4 is a block diagram illustrating a first exemplary embodiment of the present invention; Figure 5 is a flow diagram which depicts an exemplary method associated with the embodiment of Figure 4;
Figure 6 is a block diagram illustrating a second exemplary embodiment of the present invention;
Figure 7 is a flow diagram which depicts an exemplary method associated with the embodiment of Figure 6;
Figure 8 depicts another embodiment of the present invention wherein an embryo pool of pre-loaded machines is created; and
Figure 9(a) illustrates yet another embodiment of the present invention wherein installation of software according to the present invention can be provided locally to the customer compartment; and
Figure 9(b) depicts labeled switch ports associated with an exemplary embodiment of the present invention.
DETAILED DESCRIPTION
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular systems, networks, software components, techniques, etc. 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 mvention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known methods, devices, and circuits are omitted so as not to obscure the description of the present invention.
To provide some context within which to describe exemplary software mstallation and methods according to the present invention, an Internet client-server system is illustrated in Figure 2. Therein, a client machine 10 is connected to a production host 14 via a network 12. The client machine can, for example, be a personal computer or any other type of device which can be connected to network 12, e.g., a cellular telephone. For illustrative purposes, network 12 can be the Internet, an intranet, an extranet or any other known network. Production host 14 can be one of a plurality of devices which are accessible by clients, one of which is illustrated by machine 10. A representative production host 14 is a computer comprising a processor(s) 20, an operating system (OS) 22, and a web server application (Server App) 24, such as APACHE or Netscape ENTERPRISE Server and one or more customized applications 26, e.g., the GUI HTML code and business logic code associated with the web site to be supported by production host 14. A representative client machine can also include a browser 16, which those skilled in the art will appreciate can be one of a plurality of established software tools used to access devices like production host 14 across the network 12. The production host 14 can support files and program code (collectively referred to as a "web site") which can include hypertext documents and objects. In the Internet paradigm, a network path to the production host 14 is identified by a predetermined address, e.g., a URL as mentioned above, and can be pointed to by the browser 16. The production host 14 can be implemented together with a staging host 18, upon which the program code, hypertext documents, etc. can be tested prior to deploying on the production host 14. Although advantageous for installing software in any environment, the present invention provides particular benefits when employed in a web site hosting environment wherein many production hosts and staging hosts can be monitored and controlled collectively. Such an exemplary environment is depicted in Figure 3, wherein a plurality (1-N) of customer compartments 30 are shown as being connected to a central web site control and monitoring function 32. Note that although the compartments illustrated in Figure 3 depict physical separation of between different customer's equipment and physical proximity of the same customer's equipment, those skilled in the art will appreciate that logical compartmentation could be provided where such physical relationships between devices are nonexistent. Each customer compartment 30 may have a large number of web servers, application servers and associated databases which support loading of the customer's web site, which loading is managed by the load balancer 33. A DNS server 34 may also be provided in the customer compartment, as well as other equipment not explicitly illustrated in Figure 3. Operations management of this system may be provided by, for example, network operations center (NOC) represented in Figure 3 by the server 36. The details of the central web site control and monitoring functionality 32 are beyond the scope of this discussion, however the interested reader is directed to U.S. Patent Application Serial No. entitled "AUTOMATED PROVISIONING FRAMEWORK FOR INTERNET SITE SERVERS" to Raymond Suorsa et al. filed on an even date herewith, the disclosure of which is incorporated here by reference, which contains an example of such functionality. Of more interest for the purposes of the present invention is the problem posed by trying to install software code needed on the multitude of web servers in the environment depicted in Figure 3 in a manner which is consistent, repeatable and highly automated.
This can be accomplished by, for example, using systems and methods for installing software according to the present invention, which will now be described with reference to several exemplary embodiments beginning with that illustrated in Figure 4. Therein, a computer 40 to be loaded with software, for example, operating system software, is connected to switch 42 to begin the install process. The connection between the computer 40 and the switch 42 can be made, for example, using a cable (e.g., a serial or parallel connection to the computer's serial or parallel port), or wirelessly using, e.g., RF or infrared techniques. Then, a command is provided to the computer 40 which initiates the install process. This command will vary depending upon the type of computer 40 being connected to switch 42. For example, if the computer 40 is a Sun-type computer, then an operator can type the command "boot net install" into the computer 40 which will trigger the running of a JUMPSTART program. This program will send out an RARP broadcast request indicating the computer's Ethernet address and requesting an IP address in return. If, on the other hand, the computer 40 is an Intel-type computer, then an operator can start the install process using a floppy disk to bootstrap the computer 40 into operation since the BIOS on these types of computers do not uniformly have the capability to initiate the install process themselves. This will result in a DHCP command being transmitted to the switch 42, again requesting an IP address.
The RARP or DHCP command will be forwarded by switch 42 to one or more networks which are connected thereto, for example, via bus 44. Each of these networks 46, 48 and 50 are configured to install a respective operating system on a remote computer. For example, the network 46 will be configured to install a first type of operating system, e.g. , LINUX. Network 48 will be configured to install a second type of operating system, e.g., SOLARIS. Those skilled in the art will appreciate that this concept can be extended such that any number of networks n (represented by network 50) may also receive the command which is transmitted by computer 40 after it has been connected to switch 42 for installation of a different type of operating system. However, to simplify the description of this embodiment of the present invention, this discussion will focus on the two operating systems represented by networks 46 and 48. Networks 46 and 48 will each respond to a respective, different type of command transmitted by computer 40. In this example, the network 46, which is configured to load a LINUX operating system, will respond to a DHCP command from computer 40. Likewise, network 48, which is configured to load a SOLARIS operating system, will respond to an RARP command from computer 40. Upon receipt of their respective commands, networks 46 and 48 will proceed to install their respective operating systems onto the computer 40 through bus 44 and switch 42. Networks 46 and 48 will be configured to install their respective operating systems in the same manner each time, i.e., by loading the same files in the same order into the same directories on computer 40. In this way, the installation of operating systems will be consistent across the plurality of computers 40 to be attached to switch 42. Moreover, other than the manner in which the initial command is transmitted from computer 40, the person responsible for setting up computer 40 need not be concerned with which type of operating system is being loaded thereon. That is, since the system depicted in Figure 4 will automatically load an appropriate one of the different types of operating systems provided by networks 46 through 50 based on the type of command which is circulated through bus 44, the installation operator need not be concerned with anything other than plugging the computer (if the connection is wire-based) into the switch 42 and starting the process. This provides an intuitive approach to loading software onto the computer 40 that can be analogized to filling one's car with gasoline in the sense that most gasoline pumps today permit the filling of multiple different types of gasoline using the same physical connection.
Thus, according to a first exemplary method embodiment of the present invention, an operating system can be loaded onto a computer by way of the steps illustrated in the flow diagram of Figure 5. Therein, the first step 50 involves connecting the computer to a switch port. Next, the computer transmits an install request at step 52. The install request may, for example, be an RARP or DHCP- type command. Finally, at step 54, an operating system will be loaded onto the computer selectively based on the type of request which is transmitted.
The exemplary embodiment described above with respect to Figures 4 and 5 provides for selected installation of an operating system onto a computer based on a type of command which is circulated throughout the various networks to which switch 42 is connected. However, under certain circumstances, it may be the case that the computer 40 transmits a command which is generic to different types of operating systems and/or different versions of the same operating system. For example, the command for installing LINUX version 6.1 may be of the same type as that for installing LINUX version 6.2. Different versions may also relate to variations other than upgrades, e.g., versions created for different countries, exportable versions, etc.
Accordingly, another exemplary embodiment of the present invention provides a system and method for selectively installing an operating system which addresses this situation. Figure 6 illustrates an extension to the embodiment of Figure 4, wherein the computer 40 to be loaded can be selectively connected to one of two different switches or switch ports 60 and 62. The switches or switch ports 60 and 62 can be labeled to reflect the different, for example, versions of operating systems which are available at those ports. In the example provided in 56, connecting the computer 40 to switch 60 will result in the computer 40 having either LINUX 6.1 or SOLARIS 5.6 installed thereon in the manner described above with respect to Figures 4 and 5. Likewise, connecting the computer 40 to switch 62 will result in an appropriate one of LINUX 6.2 or SOLARIS 5.7 being loaded onto the computer 40 in the manner described above with respect to Figures 4 and 5. Again, this embodiment of the present invention provides an intuitive mechanism which will enable people responsible for loading operating systems onto computers to select the correct version based on a customer's requirements in a consistent manner. Those skilled in the art will appreciate that the embodiment of Figure 6 can be extended to have more than two switches or switch ports to permit additional version variation. Moreover, to the extent the different types of operating systems may respond to the same type of request transmitted from computer 40, e.g., LINUX operating systems and WINDOWS operating systems, different switches or switch ports can also be provided to segregate those installing networks.
A method for loading operating systems according to the exemplary embodiment of Figure 6 is depicted by the flow diagram of Figure 7. Therein, first and second switch ports are associated with first and second OS's. The first and second operating systems can be the same type of operating system, but different versions or different operating systems which may both respond to the same type of installing request from the computer 40. Next, at step 72, the computer is connected to one of the two switch ports. Then, one of the operating systems which is associated with the switch port to which the computer is connected will be loaded onto that computer at step 74.
As mentioned above, the present invention provides a mechanism which enables those who are interested in loading a large number of computers with software, e.g., operating system software, onto a computer with a uniform mechanism for doing so in a controlled, automated and consistent manner. If the present invention is employed to load software onto computers which will then subsequently be deployed in a data center to support the web site operations of different customers, then these systems and methods can be adapted to such environments. For example, the present invention can be used to create a pool of computers which are pre-loaded with, for example, operating systems and generic applications. These pre-loaded computers can then be selected for deployment into a customer compartment, e.g., as illustrated above with respect to Figure 3, when a customer's request is received that requires that type of machine. Consider, for example, the situation illustrated in Figure 8. Therein, an embryo pool 80 has been provided with an inventory of pre-loaded machines each having a different type of operating system. Using the aforedescribed techniques, the machines which have the same type of operating system will be identical since they were pre-loaded by the same installation network. Thus, when a customer requests three machines using operating system 1, these three machines can be drawn directly from the pool and installed into a customer compartment 82 with the knowledge that each of the machines shall behave in a similar manner since they were loaded in accordance with an exemplary embodiment of the present invention.
Alternatively, the switches or switch ports described above with respect to the various embodiments of the present invention may be physically provided within each customer compartment as shown in Figures 9 A and 9B. Therein, the switches or switch ports 92 and 94 are physically located within the customer compartment 90. As in the aforedescribed exemplary embodiments, each switch or switch port is connected to its own respective set of install networks 96 and 98. Then, the required number of unloaded machines can be physically mounted within the customer compartment 90, e.g., on a server rack. These machines 100 can then be selectively attached to the appropriate switch or switch port 92 or 94 such that each of the machines 100 is loaded with a desired software package or packages. In this regard, as illustrated in Figure 9B, each of the switches 92 and 94 may, in addition to having a port for providing a desired operating system, may also have ports for other software to be loaded onto the blank machines 100. For example, ports may be provided for generic applications such as the web server software, as well as the customer's own applications, such as the HTML code or underlying business logic for the web site. Thus, an installer can connect to each of the three appropriate ports to provide, in sequence, a desired OS, desired generic application(s) and the customer's own specific application(s). As an alternative to using switches, VLAN technology can be used to switch the network connection provided to each machine such that the machine is connected to a different base configuration network. In this way, people who are setting up the customer compartment 90 can provide selective connections to each of the ports which are needed to fully load the blank machines 100 in an appropriate and consistent manner .
The above-described exemplary embodiments are intended to be illustrative in all respects, rather than restrictive, of the present invention. Thus the present invention is capable of many variations in detailed implementation that can be derived from the description contained herein by a person skilled in the art. All such variations and modifications are considered to be within the scope and spirit of the present invention as defined by the following claims.

Claims

WHAT IS CLAIMED IS:
1. A method for loading an operating system onto a computer comprising the steps of: connecting said computer to a switch port; transmitting, from said computer via said switch port, a request to install an operating system to a network; and selectively loading one of a plurality of operating systems based on a type of said request.
2. The method of claim 1, wherein said step of transmitting a request further comprises the step of: transmitting a DHCP request.
3. The method of claim 2, wherein said step of selectively loading further comprises the step of: loading a LINUX operating system in response to the transmission of said DHCP request.
4. The method of claim 1, wherein said step of transmitting a request further comprises the step of: transmitting an RARP request.
5. The method of claim 4, wherein said step of selectively loading further comprises the step of: loading a SOLARIS operating system in response to the transmission of said RARP request.
6. The method of claim 1, further comprising the steps of: providing a plurality of switch ports including said switch port; and supplying a different version of each of said plurality of operating systems from each of said plurality of switch ports.
7. A system for loading an operating system onto a computer comprising: a switch port, connected to first and second installation systems, for receiving a request to install an operating system; and means, within said first and second installation systems, for selectively loading one of a plurality of operating systems based on a type of said request.
8. The system of claim 7, wherein said type of said request is DHCP.
9. The system of claim 8, wherein said operating system is a LINUX operating system.
10. The system of claim 7, wherein said type of said request is RARP.
11. The system of claim 10, wherein said operating system is a SOLARIS operating system.
12. A method for deploying software to computers in a web site hosting system comprising the steps of: providing a switch having a plurality of ports associated therewith; disposing a plurality of unloaded computers in proximity to said switch; connecting each of said plurality of unloaded computers to at least one of said plurality of ports; and installing a selected software package onto each of said plurality of unloaded computers based on the port to which connection is made.
13. The method of claim 12, wherein said plurality of ports include at least one port associated with operating system software.
14. The method of claim 12, wherein said plurality of ports include at least one port associated with generic application software.
15. The method of claim 12, wherein said plurality of ports include at least one port associated with customer specific software.
16. The method of claim 12, wherein said step of installing further comprises the step of: installing said selected software package based also on a type of command transmitted through said one of said plurality of ports to which connection is made.
17. A method for loading an operating system onto a computer comprising the steps of: providing a first switch port associated with a first operating system; providing a second switch port associated with a second operating system; connecting said computer to one of said first and second switch ports; and loading either said first operating system or said second operating system onto said computer based on the switch port to which said computer is selected.
18. The method of claim 17, wherein said step of providing a first switch port further comprises the step of: associating a third operating system with said first switch port.
19. The method of claim 18, wherein said step of providing a second switch port further comprises the step of: associating a fourth operating system with said second switch port.
20. The method of claim 19, wherein said first and second operating systems are different versions of the same operating system.
21. The method of claim 19, wherein said first and second operating systems are different operating systems.
22. The method of claim 21, wherein said first and second operating systems are a LINUX operating system and SOLARIS operating system.
23. The method of claim 19, further comprising the step of: transmitting a request to install an operating system from said computer to a network through one of said first and second switch ports to which said computer is connected.
24. The method of claim 23, wherein said computer is connected to said first switch port and said step of loading further comprises the step of: loading the one of said first and third operating systems which corresponds to a type of said request.
25. The method of claim 24, wherein said type is DHCP and said step of loading further comprises the step of: loading, as said first operating system, a LINUX operating system.
26. The method of claim 24, wherein said type is RARP and said step of loading further comprises the step of: loading, as said third operating system, a SOLARIS operating system.
27. A system for loading an operating system onto a computer comprising: a first set of installation systems for installing a first operating system in a predetermined manner; a first switch connected to said first set of installation systems; a second set of installation systems for installing a third operating system in a predetermined manner; and a second switch connected to said second set of installation systems, wherein each of said first and second switch have at least one port connectable to a computer to be loaded with said operating system.
28. The system of claim 27, wherein said first set of installation systems includes: a first installation system for installing said first operating system; and a second installation system for installing a second operating system.
29. The system of claim 28, wherein said second set of installation systems includes: a third installation system for installing said third operating system; and a fourth installation system for installing a fourth operating system.
30. The system of claim 29, wherein said first and third operating systems are different versions of the same operating system.
31. The system of claim 29, wherein said first and third operating systems are different operating systems.
32. The system of claim 31, wherein said first and third operating systems are a LINUX operating system and a SOLARIS operating system.
33. The system of claim 29, further comprising: means for activating one of said first, second, third and fourth installation systems responsive to a request to install an operating system received through one of said first and second switches.
34. The system of claim 33, wherein said request is received via said first switch and one of said first and second installation systems which corresponds to a type of said request installs said operating system.
35. The system of claim 34, wherein said type is DHCP and said operating system is a LINUX operating system.
36. The system of claim 34, wherein said type is RARP and said operating system is a SOLARIS operating system.
PCT/US2001/042875 2000-10-31 2001-10-31 Methods and systems for installing software onto computers WO2002037262A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002224469A AU2002224469A1 (en) 2000-10-31 2001-10-31 Methods and systems for installing software onto computers

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US69933000A 2000-10-31 2000-10-31
US69935500A 2000-10-31 2000-10-31
US09/699,330 2000-10-31
US09/699,355 2000-10-31

Publications (2)

Publication Number Publication Date
WO2002037262A2 true WO2002037262A2 (en) 2002-05-10
WO2002037262A3 WO2002037262A3 (en) 2003-09-18

Family

ID=27106393

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/042875 WO2002037262A2 (en) 2000-10-31 2001-10-31 Methods and systems for installing software onto computers

Country Status (2)

Country Link
AU (1) AU2002224469A1 (en)
WO (1) WO2002037262A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1577764A1 (en) * 2004-03-18 2005-09-21 Alcatel Method for identifying a control element
US9100283B2 (en) 2002-06-12 2015-08-04 Bladelogic, Inc. Method and system for simplifying distributed server management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717930A (en) * 1994-09-19 1998-02-10 Seiko Epson Corporation Installation system
US5828888A (en) * 1995-07-26 1998-10-27 Nec Corporation Computer network having os-versions management table to initiate network boot process via master computer
US6094531A (en) * 1997-08-25 2000-07-25 Hewlett-Packard Company Method and apparatus for automatically installing operating systems machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717930A (en) * 1994-09-19 1998-02-10 Seiko Epson Corporation Installation system
US5828888A (en) * 1995-07-26 1998-10-27 Nec Corporation Computer network having os-versions management table to initiate network boot process via master computer
US6094531A (en) * 1997-08-25 2000-07-25 Hewlett-Packard Company Method and apparatus for automatically installing operating systems machines

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9100283B2 (en) 2002-06-12 2015-08-04 Bladelogic, Inc. Method and system for simplifying distributed server management
US9794110B2 (en) 2002-06-12 2017-10-17 Bladlogic, Inc. Method and system for simplifying distributed server management
US10659286B2 (en) 2002-06-12 2020-05-19 Bladelogic, Inc. Method and system for simplifying distributed server management
EP1577764A1 (en) * 2004-03-18 2005-09-21 Alcatel Method for identifying a control element
US7417958B2 (en) 2004-03-18 2008-08-26 Alcatel Method for identifying a control element

Also Published As

Publication number Publication date
AU2002224469A1 (en) 2002-05-15
WO2002037262A3 (en) 2003-09-18

Similar Documents

Publication Publication Date Title
US7216200B2 (en) System and method for remote RAID configuration
US7124289B1 (en) Automated provisioning framework for internet site servers
US7743147B2 (en) Automated provisioning of computing networks using a network database data model
US6687733B2 (en) Method and system for automatically configuring a client-server network
US8250570B2 (en) Automated provisioning framework for internet site servers
US20060253848A1 (en) Method and apparatus for solutions deployment in a heterogeneous systems management environment
CN110309476B (en) Method and device for calling local application program by webpage browser
EP1946222A1 (en) Automated device driver management
US20020158898A1 (en) Graphical user interfaces for viewing and configuring devices in an automated provisioning environment
CN104767649A (en) Bare metal server deployment method and device
EP1573570A2 (en) Automated bulk configuration of network devices
US8458693B2 (en) Transitioning from static to dynamic cluster management
CN112491606A (en) Method for automatically deploying high-availability cluster of service system based on infrastructure
CN102662884B (en) Device driving program configuration method based on network
CN113312064B (en) Method and device for installing and configuring physical machine and computer readable medium
US20090254641A1 (en) Network card capable of remote boot and method thereof
CN107395385A (en) Method for upgrading software and device
US7882232B2 (en) Rapid resource provisioning with automated throttling
CN105653326A (en) System and method for batch Linux system installation and detection
CN112711397A (en) Method and system for establishing system based on micro-service and top-level design
CN102567050B (en) The method and apparatus of B/S system remote deploying projects
WO2002037262A2 (en) Methods and systems for installing software onto computers
CN103138961B (en) server control method, controlled server and central control server
CN111752576A (en) Forwarding system deployment method based on 5G data, terminal and storage medium
WO2010027664A2 (en) Shared hosting using host name affinity

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP