throbber
asy United States
`a2) Patent Application Publication co) Pub. No.: US 2002/0156877 Al
`(43) Pub. Date: Oct. 24, 2002
`
`Lu etal.
`
`US 20020156877A1
`
`(54) SYSTEM AND METHOD FOR THE
`DUPLICATION OF A SOFTWARE SYSTEM
`ONTO AN APPROPRIATE TARGET
`COMPUTER
`
`(76)
`
`Inventors: James C. Lu, Andover, MA (US);
`Robert B. McCown, Concord, MA
`(US); Ajay Pydah, Burlington, MA
`(US); Ganesh Rangarajan, Westwood,
`MA (US)
`
`Correspondence Address:
`CESARI AND MCKENNA, LLP
`88 BLACK FALCON AVENUE
`BOSTON, MA 02210 (US)
`
`(21) Appl. No.:
`
`09/840,658
`
`(22)
`
`Filed:
`
`Apr. 23, 2001
`
`Publication Classification
`
`(51) Unt. C7 cece GO6F 15/177; GOOF 9/445
`(52) US. Ch.
`cascesscsssssssssstscrsssstseeeretne 709/221; 717/178
`
`(57)
`
`ABSTRACT
`
`Asystem and method for duplicating the software system of
`a source computer and installing the duplicated software
`system on a plurality of target computers. Asource computer
`is selected and an image of the software system and the
`hardware configuration of the source computer is made. A
`plurality of target computers that are hardware compatible
`with the source computer are selected for installation of a
`copy of the software system of the source computer. The
`software system of the source computer is duplicated based
`on information stored in the image of the source computer.
`The duplicated software system is then installed on each of
`the selected target computer systems.
`
`DEPLOYMENT CONSOLE
`
`110 120
`
`365
`480:
`
`355
`
`GET SOURCE IMAGE AND
`REMOTE LOCATIONS/NODES
`
`STORAGE
`“ENGINE
`
`INFORMATION
`
`
`
`
`
`190
`
`|-+440
`
`PACKAGING ENGINE wy .
`
`
`
`IMAGING & PACKAGING
`360
`SERVER
`
`
`LIST OF SOURCE MACHINE
`IMAGES AND REMOTE
`
`
`LOCATIONS/NODES
`
`EXTERNAL
`
`
`SEND HARDWARE
`INTERFACE
`
`INFORMATION/RETURNLIST
`
`OF TARGET SYSTEMS
`
`
`THAT MATCH
`
`
`
`INSTALLATION ENGINE
`INTELLIGENT INSTALLATION
`SERVER
`
`EXTERNAL
`INTERFACE
`
`LOCK EACH
`TARGET SYSTEM
`ONLIST
`
`COMPILE AND
`
`SEND LIST OF
`MATCHING
`TARGET SYSTEMS
`
`STORAGE
`SUBSYSTEM
`
`RETRIEVE LIST OF
`TARGET SYSTEM
`
`
`
`Google Exhibit 1020
`Google v. VirtaMove
`
`Google Exhibit 1020
`Google v. VirtaMove
`
`

`

`Patent Application Publication Oct. 24,2002 Sheet 1 of 5
`
`US 2002/0156877 Al
`
`
` :[+]=]Fei
`
`INSTALLATION
`INTELLIGENT
`SERVER
`=> —==== DISKARRAY
`—=>
`
`=2 «fill
`
`wx
`||
`
`S
`CC~«dzd
`“I
`
`
`
`
`
`——}—=[—>[—>——
`DISKARRAY
`170
`INTERNETORPRIVATENETWORK
`
`
`DISKARRAY IMAGINGANDPACKAGINGSERVER
` FIG.1
`
`SENDINGNODE
`COMPUTER
`
` DEPLOYMENT
`130 CONSOLE
`
` COMPUTER
`
`a
`oO
`
`©~<i
`
`al
`
`o
`
`0
`
`80
`1
`
`
`
`LU
`5
`
`HS
`we
`
`160
`
`aQ
`
`150
`
`
`
`
`
`|
`
`
`
`
`
`

`

`Patent Application Publication Oct. 24,2002 Sheet 2 of 5
`
`
`SOURCE COMPUTER SYSTEM DEPLOYMENT CONSOLE
`
`US 2002/0156877 Al
`
`
`
`STORAGE
`
`140
`SUBSYSTEM
`
`
`READ DATABASE
`OF SOURCE
`MACHINES
`
`
`
`

`

`
`
`LNSWAO1d30
`WSALSASLGOYVL|=TWNYSLX3
`
`SWALSASLA9NVL
`
`NOLVTIVLSNILNSSITISLNI
`LSi1NOJOVAYSALNI
`
`ANISNANOLLVTIVLSNI
`
`AOLSISASIYLSY
`
`WALSASLA9uv1
`sOVUOISNNOSL349
`
`ANIONS:ONYSOV308
`SJOVSYALNIJUVMCYVHGNIS
`
`ONIOVAOVd3ONIOVMI
`
`ANISNAONIOVAOVd
`
`LADYVLJOLSINYntay/NOLLVAOSNI
`SWALSAS
`
`WALSASENS
`
`ADVYOLS
`
`WNdSLX4
`
`
`
`SWALSASLADYVL
`
`Q3LO3TSS40LSI
`
`ANIHOVWSOYNOSJOLSI
`
`ALOWSYONVSS9VWI
`
`SACON/SNOILVOO7
`
`Patent Application Publication
`
`Oct. 24,2002 Sheet 3 of 5
`
`US 2002/0156877 Al
`
`HOVA4001
`
`CNVFTIdWOO
`
`401S]GNSS
`
`ONIHOLVA
`
`YSAYSS
`
`YAAYAS
`
`ATOSNOO
`
`HOLYLVHL
`
`
`
`SACON/SNOILVOO7SLOWSY
`
`NOILVAINOANI
`
`

`

`Patent Application Publication
`
`Oct. 24,2002 Sheet 4 of 5
`
`US 2002/0156877 Al
`
`
`
`SalsaLdiYOS
`
`vyOls
`
`DWsIDAdSWALSASSdlNOUSFOVAYSLNI
`
`
`
`
`LAOYVLSLVIYD|]314LSANOSYWNYALXS
`
`
`YAAYSSNOILVTIVLSNILNSSITISLNI
`quindS34SASLSYGNVLSI7314WOudFila149WOYSAldLAD
`NIaid30Vid]|SASIMLSYOVNIOE|
`
`VayJOVIa4NOLLVWYOSNIJOYuNOS
`VauVJOVI_Ist]4dNIGSLs
`
`
`
`
`WALSASONILVaad0ADVYOLSAGONONIGNAS
`
`
`
`:JASIMLIY
`
`YALNAWOD
`
`WNYALXS
`
`SOVAYSLNI
`
`NOILVWYO-NI
`
`
`
`YSAUSSONIOVHOVd8ONIOVWI
`
`ddSSAD0Ud
`
`ISANOFY
`
`
`
`
`
`
`

`

`Patent Application Publication
`
`Oct. 24,2002 Sheet 5 of 5
`
`US 2002/0156877 Al
`
`
`
`SNLVLSSSA0O0Ud
`
`GaASOSu/SLSSNOAY
`
`
`
`4ONOILLV9O1GNSS
`
`
`
`VauvONIDVUI
`
`
`
`MAAUASWALSASS14
`
`SAOVIYSLNI
`
`YsAYSS
`
`
`
`LSNILNSOITTSLNI
`
`WNUSLXa
`
`NOILVTIV,d8ONISVII
`
`AIOSNOD
`
`SNAWAO1d30
`
`WNdYALXS
`
`SOVIYNSLNI
`
`
`
`SNLV.LSSSA00Ud
`
`GSAIS0Su/SLSSNDAY
`
`
`
`YSAYASONIOVHOV
`
`SOVSYSLNI
`
`WALSASLOOGSY
`
`
`
`JOVYOLSWOTSZNVLLINI
`
`SOVYOLS O6109S
`
`AYOLS/AAAINLAYTANYANIHL
`sailsTWNYALXSSSA00udLOOASIGOW
`
`WALSASENSWALSASHALAdWOOLaDuvL
`
`
`
`
`G‘Sls
`
`FJOVYOLSW901OLSLM
`
`SadSAStLAa
`
`
`
`SNLVLSGNAS
`
`
`
`
`
`WALSAS3114LNNOW
`
`
`
`
`
`
`
`
`

`

`US 2002/0156877 Al
`
`Oct. 24, 2002
`
`SYSTEM AND METHOD FOR THE DUPLICATION
`OF A SOFTWARE SYSTEM ONTO AN
`APPROPRIATE TARGET COMPUTER
`
`BACKGROUND OF THE INVENTION
`
`{0001]
`
`1. Field of the Invention
`
`‘lhe present invention relates generally to installing
`[0002]
`software on computer systems, and more specifically, to a
`system and method for duplicating a software system and
`installing that software system on a target computer.
`
`[0003]
`
`2. Background Information
`
`[0004] Over the years, the number of operating systems
`and software applications/packages that run on various
`hardware platforms has dramatically increased. Software
`companies have built very complex software that runs on
`multiple physical hardware boxes that communicate with
`cach other. This assortment of software includes various
`
`operating systems, as well as applications such as database
`systems, accounting systems, word processors and spread-
`sheets.
`
`[0005] Some of this software may be installed and run
`from a client computer such as the Personal Computer (PC).
`Other software may be centrally hosted by a Server and used
`by a number of Clients. For example, a typical “Web”
`application may have various pieces of software installed
`across many components such as a web server, an applica-
`tion server, and a database. In aggregate, these components
`typically comprise the Server. In a “Web” application envi-
`ronment, Clients would log into this Server through the
`Internet and run the various applications that are provided by
`the Server.
`
`[0006] While it is good that a user has a wide choice of
`software to choose from, this increase in the number of
`choices has created a numberof problems for administrators
`whoarc responsible for installing software on any number of
`computer systems.
`
`instance, administrators who manage the
`[0007] For
`installation of software on a large number of computer
`systems often must keep track of each computer system’s
`hardware configuration to ensure that the hardware configu-
`ration is adequate to support
`the software that
`is to be
`installed. Keeping track of this information may become
`quite involved, depending on the number of computer sys-
`tems being managed. One way to manage the complexities
`of keeping track of this information is to create a database.
`However, creating and maintaining a database is often
`arduous and time-consuming and maybe a waste of valuable
`IT resources in particular situations.
`
`{0008] Another problem administrators often face is the
`task of manually installing software on a system, either
`remotely or locally. Methods that are often used to install
`software include:
`
`Install the operating system, then install the
`[0009]
`software packages and applications individually;
`
`then use the
`the operating system,
`Install
`[0010]
`application specific installation setup routines to
`install the applications from a shared network drive;
`
`then copy the
`the operating system,
`Install
`(0011]
`application software over a network, using a file
`
`copy program such as File Transfer Protocol (FTP),
`and install the application software from a remote
`location;
`
`[0012] Use local tools to capture an operating system
`and applications image locally and then “push” the
`image to the computer system where the imageis to
`be installed;
`
`Install the operating system and use a third
`[0013]
`party vendor product to push the application soft-
`ware to the computer system where the application
`software is to be installed.
`
`[0014] As can be seen, these methods require a great deal
`of manual intervention on the part of the administrator and
`thus are often time-consuming and error prone. The mag-
`nitude of these problemsgreatly increase if a large number
`of computer systems are to be managed.
`
`{0015] With the arrival of the Internet, as well as with
`global diversification of enterprises, the remote installation
`and management of a software system has become even
`more complex. Enterprises are constantly struggling to offer
`standardized software environments; yet it is not possible to
`do so within a distributed enterprise easily.
`
`Itis therefore desirable to provide a system that can
`[0016]
`capture the hardware and software configuration of a source
`computer system, create an image based on this captured
`information, determine what target systems can support the
`image, and install and configure that image on those target
`systems, automatically.
`
`SUMMARY OF THE INVENTION
`
`[0017] Asoftware systemis defined as any combination of
`software that
`includes, but
`is not
`limited to, operating
`systems, applications and data files.
`
`[0018] Network connectivity is defined as a connection
`that enables communication between entities, such as but
`not limited to, a connection that enables communication
`between computer systems. This connection may be of any
`form of communication medium including, but not limited
`to, point-to-point hardwired connections, wireless connec-
`tions, and networked connections, among others.
`
`[0019] An imaging area is defined as an area on a storage
`subsystem that contains an exact duplicate of the local disks
`of a source computer, script files, and operating-system-
`specific information.
`
`invention relates to a system and
`[0020] The present
`method for duplicating the software system of a source
`computer system and installing this duplicated software
`system onto a plurality of target computer systems.
`
`In the preferred illustrative embodiment of the
`[0021]
`invention, the system described is comprised of two major
`components, a Sending Node (SN) component and a Receiv-
`ing Node (RN) component.
`
`[0022] The Sending Node component comprises a deploy-
`ment console, an imaging and packaging server (IPS), a
`storage subsystem, and a source computer system. The
`Receiving Node component comprises an intelligent instal-
`lation server (ITS), a storage subsystem, and a plurality of
`target computer systcms.
`
`

`

`US 2002/0156877 Al
`
`Oct. 24, 2002
`
`[0023] A packaging engine is a subset of the Sending
`Node. A packaging engine comprises the IPS andthe storage
`subsystem of the Sending Node. An installation engine is a
`subset of the Receiving Node. An installation engine com-
`prises the IIS and the storage subsystem of the Receiving
`Node.
`
`[0024] The deployment console provides a user interface
`to the overall software duplication and installation process.
`From the deployment console, a user can select a source
`computer system, create an image of that source computer
`system, deploy that image to an installation engine, select a
`plurality of target computer systems associated with the
`installation engine anddirectthe installation engineto install
`a copy of the software system, represented in the deployed
`image, onto each of the selected target computer systems.
`
`[0025] The imaging and packaging server (IPS) is essen-
`tially the central controlling point of the Sending Node
`component. The IPS basically creates images of source
`computer systems and deploys those images to the Receiv-
`ing Node component.
`It interfaces with the deployment
`console, the storage subsystem at the Sending Node, and the
`intelligent installation server (IIS) at the Receiving Node.
`[0026] The storage subsystem at the Sending Node pro-
`vides data storage and retrieval for the IPS.
`
`‘lhe source computer system is the computer sys-
`[0027]
`tem whose software system is to be installed on the target
`computer systems.
`
`[0035] The IPS notifies the IIS of the user’s selection. The
`IIS gathers the files that make up the source computer’s
`software system and builds an image of this system in an
`imaging area on the IIS’s storage subsystem. The IIS com-
`presses and archives the imaging area along with scriptfiles,
`that are used to configure the software on the target com-
`puter, into an archive file. The IIS sends this archivefile to
`the target computer. The target computer then installs the
`software system contained in the archivefile.
`
`[0036] When a target computer has completed its instal-
`lation and has booted and configured the new software, it
`notifies the IIS that it has completed the installation. The HS
`in turn notifies the IPS that the installation has completed.
`The IPS sends the completed status to the deployment
`console for display.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0037] The detailed description of the preferred illustra-
`tive embodimentof the invention below refers to the accom-
`
`panying drawings, of which:
`
`[0038] FIG. 1 is a block diagram of a system that may
`advantageously be used to implementthe preferred illustra-
`tive embodiment;
`
`FIG.2 is a detailed block diagram of the process
`[0039]
`of creating an image of a source computer;
`
`FIG.3 is a detailed block diagram of the process
`[0040]
`of choosing a target computer system;
`
`[0028] The IIS is the central controlling point on the
`Receiving Node. The IIS basically duplicates the source
`computer system’s software at the Receiving Node and aids
`in the installation of this software system on the selected
`target computers. The IIS interfaces to the IPS, the storage
`subsystem on the Receiving Node andaplurality of target
`[0042]
`FIG.5 is a detailed block diagram of the process
`computer systems.
`of installing an image on a target computer.
`
`FIG.4 is a detailed block diagram of the process
`[0041]
`of creating an image of the source computer at a Receiving
`Node; and
`
`the Receiving Node
`[0029] The storage subsystem at
`provides data storage and retrieval for the IIS and the target
`computer systems.
`
`[0030] The target computer systems are those computer
`systems that are to install a copy of source computer’s
`software system.
`
`In accordance with the preferred illustrative
`{0031]
`embodimentof the present invention, the method for dupli-
`cating the software system of a source computer system onto
`a target computer system as employedby the present inven-
`tion can be summarized as follows.
`
`DETAILED DESCRIPTION OF AN
`ILLUSTRATIVE EMBODIMENT
`
`In accordance with the practices of persons skilled
`[0043]
`in the art of computer programming, certain aspects of the
`present invention are described as a method that can be
`implemented in the form of computer readable and execut-
`able program code. Typically, this program codeis stored in
`the main memoryof the computer system that is executing
`this code. However, it will be apparentto those skilled in the
`art that other memory means may be used for storing and
`executing the program instructions pertaining to the
`described mechanism and technique.
`
`[0032] At the deployment console, the user selects the
`source computer whose software system is to ultimately be
`duplicated onto a target computer. The IPS creates an image
`FIG.1 is an overall block diagram of the preferred
`[0044]
`of the source computer system and saves it in its local
`embodimentof the present invention comprising a Sending
`storage subsystem.
`Node (SN) 100 that connects to a Receiving Node 160
`through a network 150. The network 150 may comprise any
`[0033] Later, the user selects the image, as well as one or
`form of communication medium including, but not limited
`more Receiving Nodes that are to receive the image, and
`to, point-to-point hardwired connections, wireless connec-
`directs the IPS to deploythe image to the Receiving Nodes.
`tions, and networked connections, among others.
`At each Receiving Node, the IIS compilesalist of all target
`computers known to the Receiving Node that are hardware
`compatible with the source computer system and sends this
`list to the IPS for display on the deployment console.
`
`From this list, the user selects the target computers
`[0034]
`that are to install a copy of the source computer’s software
`systcm.
`
`[0045] The Sending Node comprises a deployment con-
`sole 110, a source computer system 130, a storage subsystem
`140, and an imaging and packaging server (IPS) 120. The
`Receiving Node comprises a plurality of target computer
`systems 170, an intelligent installation server (ITS) 180, and
`a storage subsystem 190.
`
`

`

`US 2002/0156877 Al
`
`Oct. 24, 2002
`
`[0046] The deployment console is a software interface that
`interfaces with the IPS. This software interface may be a
`Graphical User Interface (GUI), such as Win32, a web
`browser, or other form ofinterface. In the case of a GUI, the
`interface runs on a computer system and preferably connects
`over a network to the IPS using a socket interface. In the
`case of a browser, the browser runs on a computer system
`and preferably acts as a web client that connects over a
`network to a web serverthat is part of the IPS.
`
`[0047] The source computer system may be any type of
`computer system, such as a workstation, a personal com-
`puter (PC), a server, or the like, that has associated with it
`a storage subsystem (not shown) on which software and data
`for use in the operation of the computer is stored. The
`storage subsystem of the source computer system is com-
`prised of disks, tapes or other media that is used for storing
`information, locally. The source computer preferably has
`network connectivity to the IPS.
`
`[0048] The software system of the source computer com-
`prises all the executable and data files that are installed on
`the source computer’s storage subsystem. These executable
`and data files include, but are not limited to, those files that
`comprise the operating system, applications, and files that
`have been created by the operating system, by the applica-
`tions and by users.
`
`[0049] The source computer runs an imaging client. The
`imagingclient is a software application that runsas a process
`on the source computer. The imaging client handles the
`communication between the source computer and the IPS.
`
`[0050] The IPS is a server computer system thatacts as the
`central controlling point at the Sending Node. It preferably
`has network connectivity to the deployment console, the
`source computer, and the storage subsystem and the Receiv-
`ing Node. The IPS performs such functions as interfacing
`with the deployment console, creating an image of the
`source computer system, handling the communications
`between the Sending Node component and the Receiving
`Node component, and interfacing with the storage sub-
`system of the Sending Node component.
`
`[0051] The storage subsystem 140 of the Sending Node
`componentis a data storage system that enables the IPS to
`save and retrieve data. The storage subsystem mayconsist
`of, though is not limited to, local disk storage or a storage
`engine coupled to a disk storage network.
`
`[0052] At the Receiving Node, the target computer sys-
`temsare those systemsthat, if selected, are to receive a copy
`of the source computer’s software system. A target computer
`system may be a PC or any other computer system, such as
`a workstation or a server, that is hardware compatible with
`the source computer system. The target computer systems
`preferably have network connectivity to the IIS.
`
`[0053] Each target computer is configured to run a thin-
`kernel rather than a regular operating system. The thin-
`kernel is a software application that handles the installation
`of the source computcr’s software system on the target
`computer. The thin-kernel, among other things, initializes
`and partitions the drives on the target computer, handles
`communication between the target computer and IIS during
`the installation process, modifies various system startup
`files, modifies the boot record to boot the new operating
`system, and reboots the target system.
`
`[0054] The intelligent installation server (IIS) is the cen-
`tral controlling point at the Receiving Node. It preferably
`has network connectivity to the IPS, the target computer
`system and the storage subsystem at the Receiving Node.
`The IIS communicates with both the IPS and the target
`computer systems. The IIS is primarily responsible for
`creating an imaging area and packaging the imaging area
`along with scriptfiles and sending this packageto the target
`computer systems for installation on those systems.
`
`[0055] The storage subsystem 190 of the Receiving Node
`is a data storage system that provides data storage and
`retrieval capabilities to the IIS. This data storage subsystem
`preferably consists of, though is not limited to, local disk
`storage or a storage engine coupled to a disk storage
`network.
`
`[0056] The overall duplication process can be broken
`down into four main steps. First, an image of the software
`system on the source computer systemis created and stored
`at the Sending Node. Second,
`the user selects the target
`computer systems that are to receive a copy of the source
`computer system’s software system. Third, eachinstallation
`engine associated with each target computer system receives
`a copy of the source computer’s software image and recre-
`ates the software system at the installation engine. [‘ourth,
`each installation engine directs each selected target system
`associated with the installation engine to install the recreated
`software system.
`
`FIG. 2 illustrates in further detail the process of
`[0057]
`creating an image of the source computer. An image pref-
`erably consists of the hardware configuration and the oper-
`ating-system-specific
`configuration information of
`the
`source computer system, as well asa list of all the files on
`the source computer system’s storage subsystem.
`
`From the deployment console 110 the user begins
`[0058]
`the image creation process by logging into the imaging and
`packaging server (IPS) 120 and requesting a list of source
`computer systems. ‘Ihe IPS processesthis request by retriev-
`ing from a database all of the records for the source
`computer systemsthat are knownto the IPS. In one embodi-
`ment of the invention the database resides on the storage
`subsystem 140. The IPS then compiles a list of source
`computers from the information stored in these records and
`sends this list to the deployment console for display.
`
`Information that is stored in the record associated
`[0059]
`with the source computer includes, but is not limited to, the
`hostname of the source computer and the network address,
`such as IP address, of the source computer. In one embodi-
`ment of the invention, the database is created by manually
`entering the record information for each source computer
`into the database.
`
`[0060] At the deployment console, the user then selects a
`source computer whose imageis to be created from thelist
`of source computers that are displayed. This selection is
`communicated to the IPS. Using the record information for
`the selected source computer the IPS establishes a network
`connection to the imaging client on the source computer
`system 130.
`
`[0061] The IPS requests from the imaging clicnt informa-
`tion about the source computer system’s disk subsystem, as
`well as the hardware configuration and the operating-sys-
`tem-specific configuration of the source computer system.
`
`

`

`US 2002/0156877 Al
`
`Oct. 24, 2002
`
`[0062] The imaging client processes this request by com-
`piling a list of all files that are installed on the source
`computer system, information about the disk partitions on
`the source computer’s storage subsystem, a list of all the
`hardware attached to the computer system, and a list of
`operating-system-specific configuration information.
`
`particular installation engine includes, butis not limited to,
`the hostname and the network address, such as IP address,
`of the intelligentinstallation serverat the installation engine.
`In one embodimentof the invention, the database is created
`by manually entering the information for each installation
`engine into the database.
`
`[0063] The information about the source computer sys-
`tem’s disk subsystem preferably consists of a list of all the
`files that are installed on the source computer system,as well
`as disk partition information. For eachfile, the list desirably
`includes the full file name of the file and file attribute
`information associated with the file. The full file name
`desirably includes, but is not limited to, the full path name
`of the file including the names of any directories and
`subdirectories under which the file resides, as well as the
`file’s name and any file name extensions. Thefile attribute
`information associated with the file desirably includes, butis
`not limited to, such information as the size of thefile, file
`version, ownership,
`last modified date and protection
`attributes such as read, write and execute access.
`
`[0064] The disk partition information desirably includes,
`butis not limited to, the name ofthe partition,the typeoffile
`system associated with the partition, the name of the disk
`drive associated with the partition, the name of the mount
`point associated with the partition, the device name associ-
`ated with the partition, as well as the size of the partition.
`
`[0065] The list of hardware desirably includes the entire
`hardware configuration of the source computer system. The
`list includes, but is not limited to, such information as the
`type of processor, the numberof processors, the size of main
`memory, the number and types of disks and their sizes, and
`the types and versions of I/O cardsthat are installed in the
`system, among other information.
`
`[0066] The operating-system-specific configuration infor-
`mation desirably includes information that is specific to the
`operating system that is installed on the source computer
`system. For example, if the Microsoft Windows operating
`system is installed on the source computer system,
`the
`Microsoft WindowsRegistry would desirably be included in
`the operating-system-specific configuration information.
`Likewise, if Linux wasinstalled on the source computer, the
`configuration, packaging and devicefiles would desirably be
`included in the operating-system-configuration information.
`
`[0067] Once the source computer system gathers this
`information it supplies it to the IPS. The IPS then stores this
`information in a database located on the storage subsystem
`140.
`
`[0068] Once an image has beencreated, a user can deploy
`this image to an installation engine so that the software
`system that
`the image represents can be copied to any
`number of target computer systems that are qualified to
`receive the software system. FIG. 3 illustrates in further
`detail the process of selecting the target computer systems
`that are to receive a copy of the source computer’s software
`system.
`
`In FIG. 3, from the deployment console 110 the
`[0069]
`user requests from the IPS 120 a list of all the imagesin the
`image database anda list of all installation cngincs known
`to the IPS. The installation engines known to the IPS are
`maintained in a database that is accessible to the IPS. The
`information stored in the database that is associated with a
`
`[0070] The IPSretrieves the information for all the source
`images and installation engines. This information is pro-
`cessed and sent to the deployment console for display. At the
`deploymentconsole, the user selects an image to deploy and
`one or more installation engines that are to receive the
`deployed image. These selections are conveyed to the IPS.
`
`{0071] For each installation engine selected by the user,
`the following is performed:
`
`1. The IPS establishes a two-way communi-
`[0072]
`cations connection through an externalinterface 350
`to an external interface 360 of the intelligent instal-
`lation server (IIS) 180 at the installation engine 365.
`In the preferred embodiment of the invention, an
`external interface is a socket interface that is capable
`of establishing a TCP/IP connection to another
`remote socket. A person skilled in the art, however,
`would appreciate that the external interface could be
`any other
`two-way communications mechanism
`knownin theart that allows a software process on a
`computer system to communicate with anothersoft-
`ware process, either on the same system or on a
`remote computer system.
`
`the hardware
`2. The IPS sends to the IIS,
`[0073]
`configuration of the selected image, along with a
`request for a list of all available target computer
`systems knownto the IIS whose hardware configu-
`ration is compatible with the hardware configuration
`of the selected image.
`
`3. The IIS processes this request byfirst
`[0074]
`retrieving all of the records for the target computer
`systems that are known to the IIS from a database
`located on the storage subsystem 190. Each record
`contains among other information,
`the hardware
`configuration of the target computer system associ-
`ated with the record.
`In one embodiment of the
`
`invention, the database is created by manually enter-
`ing the information for each of the target computer
`systems.
`
`the TIS compiles a list of target
`4. Next,
`[0075]
`computers that are available and whose hardware
`configuration is compatible with the hardware con-
`figuration sent by the IPS.
`
`5. The list of all available hardware compat-
`[0076]
`ible target computer systems associated with the
`installation engine is then sent by the IIS to the IPS.
`
`[0077] Atarget computer system is considered available if
`it is not in the process ofinstalling software from an imaging
`arca. The US determines that a target computer system is
`compatible by comparing certain components that make up
`the hardware configuration of the source computer to the
`equivalent components on the target computer. If the com-
`pared componentsare equal, the target computeris said to be
`compatible to the source computer. The components on the
`source computer that arc compared to the equivalent com-
`
`

`

`US 2002/0156877 Al
`
`Oct. 24, 2002
`
`ponents on the target computer include, but are not limited
`to, the central processor type, the type of hard disks, the type
`hard disk controllers and all other peripheral devices and
`their controllers that are attached to the source computer.
`
`[0078] After the IPS receives a list of available target
`systems from eachofthe installation engines, the IPS places
`this information into a message and sends this message to
`the deployment console for display. The user then selects
`one or more of the target computer systems and sendsthis
`selection information to the IPS. For each IIS associated
`
`with the selected target computers, the IPS sends to the IIS
`a list of all the selected target computers associated with that
`IIs.
`
`[0079] For each target computer system in thelist, the IIS
`sets a lock associated with the target computer to indicate the
`IIS is in the process of installing an image on that target
`computer. Once all the target computer systems in the list
`have been locked,the IIS notifies the IPS that it has finished
`locking all the selected target computer systems. The IPS
`sends a message to the deployment console indicating the
`selected target computer systems that have been locked.
`
`[0080] FIG. 4 illustrates in further detail the process of
`building an imageareaat the installation engine based on the
`image information of the source computer’s software sys-
`tem.
`
`[0081] The IPS 120, retrieves the operating system con-
`figuration information,the disk partitioning information and
`thefile list associated with the image that was selected by the
`user from the storage subsystem 140. The IPS sends this
`information to the IIS 180 over a socket connection estab-
`lished to the IIS. In one embodiment of the invention, the
`information is compressed and encrypted before it is sent to
`the IS.
`
`[0082] The IIS receives the information sent by theIPS. In
`one embodiment of the invention,
`the information is
`received in a compressed and encrypted form and the IPS
`decrypts and decompresses the information before usingit.
`
`the IIS
`[0083] Using the disk partitioning information,
`initializes an imaging area on its storage subsystem 190. The
`imaging area is initialized in such a mannerthat it reflects
`the partitions that are described by the partitioning informa-
`tion.
`
`[0084] Using thefile list information, for everyfile listed
`in the file list, the IIS first determines where it can get a copy
`of the file. ‘his determination is made by the HS by
`searching its own storage subsystem for an exact copy ofthe
`file to determine if the file cxists on its own storage sub-
`system. If the file does not exist on its own storage sub-
`system, the IIS requests a copy of the file from the IPS.
`
`[0085] To determine if a copy ofthe file exists on its own
`storage system, the IIS uses the file name and variousfile
`attributes listed for the file in the file list. The IIS compares
`the file name andthe file attribute information from the file
`
`list to the same information for a given file on its own
`storage subsystem. If the two match exactly, the file is

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket