throbber
United States Patent [19J
`Luu
`
`I lllll llllllll Ill lllll lllll lllll lllll lllll 111111111111111111111111111111111
`US005860012A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,860,012
`Jan. 12, 1999
`
`[54]
`
`INSTALLATION OF APPLICATION
`SOFTWARE THROUGH A NETWORK FROM
`A SOURCE COMPUTER SYSTEM ON TO A
`TARGET COMPUTER SYSTEM
`
`[75]
`
`Inventor: Linda Luu, Beaverton, Oreg.
`
`[73]
`
`Assignee: Intel Corporation, Santa Clara, Calif.
`
`[21]
`
`Appl. No.: 859,277
`
`[22]
`
`Filed:
`
`May 19, 1997
`
`[63]
`
`[51]
`[52]
`[58]
`
`[56]
`
`Related U.S. Application Data
`
`Continuation of Ser. No. 591,222, Jan. 18, 1996, abandoned,
`which is a continuation of Ser. No. 130,097, Sep. 30, 1993,
`abandoned.
`Int. Cl.6
`...................................................... G06F 11/30
`U.S. Cl. ........................ 395/712; 395/701; 395/200.5
`Field of Search ..................................... 395/701, 712,
`395/200.5
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,021,949
`5,086,502
`5,257,378
`5,265,239
`5,361,358
`5,386,564
`5,388,211
`
`6/1991 Morten et al. .......................... 395/200
`2/1992 Malcolm ................................. 395/575
`10/1993 Sideserf et al. ... ... ... ... ... .... ... ... 395 /700
`11/1993 Ardolino ................................. 395/500
`11/1994 Cox et al. ............................... 395/700
`1/1995 Shearer et al. .......................... 395/650
`2/1995 Hornbuckle ............................. 395/200
`
`OTHER PUBLICATIONS
`
`Mamram, "Maintenance ... Mainframes", May 1991, pp.
`113-119.
`T. Busse, "Wininstall installs Windows apps from central
`location", INFOWORLD, p. 54, May 24, 1993.
`"Wininstall Sends Applications As E-Mail Attachments",
`PC MAGAZINE, p. 66, Jul. 1993.
`
`Primary Examiner-Larry D. Donaghue
`Assistant Examiner-John Follansbee
`Attorney, Agent, or Firm-Blakely, Sokoloff, Taylor &
`Zafman LLP
`
`[57]
`
`ABSTRACT
`
`A technique for the remote installation of application soft(cid:173)
`ware from a source computer system to one or more target
`computer systems (workstation) coupled to a Local Area
`Network (LAN). The present invention allows a LAN
`Administrator to install application software on a user's
`workstation automatically at any time without user's inter(cid:173)
`vention. The state of (i.e. a snapshot of) the LAN Admin(cid:173)
`istrator's system before and after the installation of the
`application software is captured and an installation package
`is built. Installation on the user workstations is then sched(cid:173)
`uled. For installation, the installation package is transmitted
`to the user workstation where an install program carries out
`commands in the installation package for installing the
`application software.
`
`35 Claims, 6 Drawing Sheets
`
`i' -
`
`-
`
`-
`
`LAN
`ADMINISTRATOR
`WORKSTATION
`201
`
`•INSTALLATION
`SCHEDULER 301a
`•INSTALLATION PKG
`GENERATOR 301b
`
`FILE SERVER
`206
`
`INSTALLATION
`PACKAGE
`303
`----------- -----------•
`
`I
`
`LAN
`ADMINISTRATOR
`TOOLS
`301
`
`USER
`WORKSTATION
`202
`
`LAN
`205
`
`i" -
`
`- -
`
`LAN CLIENT
`':;ADMINISTRATION
`TOOLS
`302
`
`I
`
`•TSR
`•INSTALLATION
`PROGRAM
`•DEINSTALLATION
`PROGRAM
`-----------------------·
`
`I
`
`I
`
`IPR2017-00184
`UNIFIED EX1019
`
`

`
`LAN-,
`
`I
`~ '~
`
`-
`.
`
`•
`
`LAN
`ADAPTER
`111
`""",,,.. ..... .,
`
`CPU BUS 101
`
`.... ~ -·
`
`PARALLEL
`PORT
`11Q
`
`._
`
`ROM
`104
`...::,,,.. ..... .,
`
`...
`...
`CURSOR
`CONTROL
`DEVICE
`108
`
`DISPLAY
`105
`......
`
`""'
`
`"""~ -...
`SERIAL
`PORT
`109
`
`COMPUTER SYSTEM 100
`
`PROCESSOR
`102
`
`,,,,.. ..... .,
`
`.... ~ - II"'
`
`RAM
`103
`..::." ......
`
`....... -..
`
`HARD DRIVE
`106
`
`KEYBOARD
`107
`
`FIG.1
`
`d .
`\JJ. .
`~
`~ ......
`~ =
`......
`
`~
`~
`?
`'"""' ~N
`'"""'
`\C
`\C
`\C
`
`'Jl =(cid:173)~
`~ .....
`'"""' 0 .....,
`
`O'I
`
`~
`
`Ul
`00
`
`0--, = ~ = ~
`
`N
`
`

`
`U.S. Patent
`
`Jan. 12, 1999
`
`Sheet 2 of 6
`
`5,860,012
`
`z L.01
`
`:s~ L
`
`z
`0
`I-
`a:<( -.::ti WI-a
`cncn"'
`~~ a:
`0
`:?:
`
`z
`0
`I-
`a: <( C')I
`w 1-a
`cncn"'
`~~ a:
`0
`:?:
`
`z
`0
`I-
`a:<( "'I WI-a
`cncn"'
`~~ a:
`0
`:?:
`
`a:
`w w C.01
`_J >a
`-0: N
`u.. w
`en
`
`a:z
`Oo
`I-_
`<(I-
`0:<(
`z I- I- T"""I
`<t:cncna
`_J - ~ C'\.I
`Za:
`::::EO
`Cl$':
`<(
`
`

`
`U.S. Patent
`
`Jan. 12, 1999
`
`Sheet 3 of 6
`
`5,860,012
`
`LAN
`ADMINISTRATOR
`WORKSTATION
`201
`
`FILE SERVER
`206
`
`i -
`
`-
`
`-
`
`•INSTALLATION
`SCHEDULER 301 a
`•INSTALLATION PKG
`GENERATOR 301b
`----------- -----------·
`
`I
`I
`
`i -
`
`-
`
`-
`
`INSTALLATION
`PACKAGE
`303
`----------- -----------·
`
`I
`
`LAN
`ADMINISTRATOR
`TOOLS
`301
`
`USER
`WORKSTATION
`202
`
`LAN
`205
`
`•TSR
`•INSTALLATION
`PROGRAM
`:
`• DEINSTALLATION
`:
`PROGRAM
`-----------------------·
`
`I
`
`LAN CLIENT
`; (ADMINISTRATION
`;J
`TOOLS
`302
`
`FIG. 3
`
`

`
`U.S. Patent
`
`Jan. 12, 1999
`
`Sheet 4 of 6
`
`5,860,012
`
`TARGET
`
`SOURCE
`
`GENERATE
`PRE-INSTALLATION
`SYSTEM SNAPSHOT
`
`INSTALL APPLICATION
`SOFTWARE
`
`GENERATE POST-INSTALLATION
`SYSTEM SNAPSHOT
`
`SAVE PRE-INSTALLATION
`SYSTEM FILES 407
`
`COMPARE PRE-INSTALLATION
`SYSTEM SNAPSHOT WITH
`POST-INSTALLATION TO CREATE
`INSTALLATION PACKAGE 404
`
`SCHEDULE INSTALLATION OF
`APPLICATION SOFTWARE ON
`TARGET SYSTEMS
`405
`
`DELETE APPLICATION SOFTWARE
`FROM SOURCE SYSTEM
`
`FIG.4
`
`INSTALL APPLICATION
`SOFTWARE BASED ON
`CUSTOM PERSONALITY
`FILE
`
`INSTALL APPLICATION
`SOFTWARE BASED ON
`DEFAULT PERSONALITY
`FILE
`409
`
`

`
`U.S. Patent
`
`Jan. 12, 1999
`
`Sheet 5 of 6
`
`5,860,012
`
`PRE-INSTALLATION
`SNAPSHOT 501
`
`POST-INSTALLATION
`SNAPSHOT
`502
`
`IPACKGEN
`
`INSTALLATION
`PACKAGE
`
`504
`
`FIG. 5
`
`

`
`U.S. Patent
`
`Jan. 12, 1999
`
`Sheet 6 of 6
`
`5,860,012
`
`gl
`
`gl
`
`~
`~ oz
`en WO
`>- :::c __. !;;(
`en!::::~o
`t-s:1--
`en_.
`w
`zO..
`C!J
`a:
`- Q_
`<(
`<(
`I-
`
`) I\
`
`a:
`w
`__.
`__.
`~
`en
`z
`
`) I\
`
`I \
`
`fJI
`
`w
`a:
`~Oz
`~LLO ww-
`I- c:o I-
`en en ::5
`>-w--1
`en __. <C
`w-1-
`>LL en
`<(~Z
`-<(
`en
`Cl
`
`....
`,..
`
`gl
`
`z
`Ow
`I- C!J
`:'.5 ;2
`
`_J (.)
`<( <(
`~Q_
`z
`
`§I
`
`~
`::J
`<Cw
`z__.
`o-
`en LL
`a: w
`
`Q_
`
`

`
`5,860,012
`
`1
`INSTALLATION OF APPLICATION
`SOFTWARE THROUGH A NETWORK FROM
`A SOURCE COMPUTER SYSTEM ON TO A
`TARGET COMPUTER SYSTEM
`
`This is a continuation of application Ser. No. 08/591,222,
`filed Jan. 18, 1996, now abandoned, which is a continuation
`of application Ser. No. 08/130,097, filed Sep. 30, 1993, now
`abandoned.
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The present invention relates generally to the field of
`management of computer systems on a network, and spe(cid:173)
`cifically to installation of application software on computer
`systems through a network.
`2. Prior Art
`Local Area Networks (LANs) have been developed for
`interconnecting computer systems for communication 20
`amongst computer users, for the exchange of data and for the
`sharing of resources (e.g. printers, facsimile devices,
`modems and the like). To properly implement and manage
`a LAN, a LAN administrator is needed. A LAN Adminis(cid:173)
`trator's duties may include such functions as registering 25
`users to use the Local Area Network, maintaining the shared
`resources and monitoring the network load. LANs may also
`be used to manage the computer systems connected to the
`network.
`With respect to management of the computer systems on
`the LAN, a desirable function for the LAN administrator is
`to remotely install application software on systems.
`Moreover, it would be desirable to perform such installa(cid:173)
`tions without the presence of the LAN Administrator.
`However, known techniques for remote installation of soft(cid:173)
`ware require the writing of scripts outlining the installation
`procedures. The writing of scripts is a manual, error prone
`task which must be performed for each system onto which
`an application is to be installed.
`An improved implementation for remote installation of
`applications by a LAN administrator is the netOctopus™
`program, available from B&L Impuls Software GmbH.
`netOctopus operates in an Apple® Macintosh networked
`environment. netOctopus provides for the remote execution
`of installation scripts on systems in which the application
`software is to be installed. netOctopus utilizes the installer
`program that accompanies each Apple Macintosh system.
`However netOctopus merely allows the LAN Administrator
`to perform the installation across the network, as if they
`were sitting at the workstation themselves.
`Consequently, it would be desirable to provide a means
`for automating script generation for remote installation of
`application software by a LAN Administrator. Further, it
`would be desirable to provide for such remote installation in
`a manner that does not require the presence of the LAN
`Administrator.
`
`2
`the application software is captured and an installation
`package is built. Installation on the user workstations is then
`scheduled. At that time the installation package is transmit(cid:173)
`ted to the user's workstation where a program carries out
`commands in the installation package for installing the
`application software.
`The installation package consists of an IPACK format file
`and the files contained in an application software program.
`The IPACK format file contains sets of commands that are
`10 used to modify system files and perform other functions
`necessary to the installation of the application software.
`Further, a personality file may be defined which allows for
`custom tailoring of the installation on a user's workstation.
`Further, a UPACK format file provides instructions for
`15 deinstalling application software. Deinstallation of applica(cid:173)
`tion software is necessary for removing unwanted or out(cid:173)
`dated applications from the user's workstation.
`
`BRIEF DESCRIPTION OF THE FIGURES
`
`FIG. 1 is a block diagram of a computer system which
`may be utilized as a LAN administrator workstation or user
`workstation in the currently preferred embodiment of the
`present invention.
`FIG. 2 is block diagram of a LAN with a LAN Admin(cid:173)
`istrator workstation and user workstations as may be imple(cid:173)
`mented in the currently preferred embodiment of the present
`invention.
`FIG. 3 is a block diagram illustrating the architecture of
`30 the main components of the LAN administrator workstation
`and a user workstation for implementation of the currently
`preferred embodiment of the present invention.
`FIG. 4 is a flow chart illustrating the steps performed by
`the LAN Administrator workstation (source system) and the
`35 user workstation (target system) in performing remote appli(cid:173)
`cation software installations in the currently preferred
`embodiment of the present invention.
`FIG. 5 is a block diagram illustrating the inputs and
`outputs for generating an installation package on a LAN
`40 Administrator workstation as may be performed in the
`currently preferred embodiment of the present invention.
`FIG. 6 is a block diagram showing the inputs and outputs
`for installing an application package on a user workstation
`45 as may be performed in the currently preferred embodiment
`of the present invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`50
`
`A technique for the remote installation of application
`software on user workstations connected to a Local Area
`Network (LAN) from a LAN Administrator workstation is
`described. In the following description, numerous specific
`details are set forth such as the network topology, in order
`55 to provide a thorough understanding of the present inven(cid:173)
`tion. It will be apparent, however, to one skilled in the art
`that the present invention may be practiced without such
`specific details. In other instances, specific implementation
`details such as the steps for installation of any particular
`60 application software package have not been shown in detail
`in order not to unnecessarily obscure the present invention.
`The currently preferred embodiment of the present inven(cid:173)
`tion is implemented for operation in networking environ(cid:173)
`ments utilizing the NetWare Network Operating System,
`65 available from the Novell Corporation of Provo, Utah. The
`respective workstations coupled to the network of the cur(cid:173)
`rently preferred embodiment would be executing the
`
`SUMMARY
`
`A technique for the remote installation of application
`software from a source computer system to one or more
`target computer systems (workstations) coupled to a Local
`Area Network (LAN) is disclosed. The present invention
`allows a LAN Administrator to install application software
`on a user's workstation automatically at any time without
`user's intervention. The state of (i.e. a snapshot of) the LAN
`Administrator's system before and after the installation of
`
`

`
`5,860,012
`
`3
`MS/DOS and the Windows operating system environments,
`both available from Microsoft Corporation of Seattle, Wash(cid:173)
`ington. However, these implementations are not meant to be
`limiting as to the scope of the present invention. It would be
`apparent to one skilled in the art to practice the present
`invention in environments utilizing different network con(cid:173)
`trol operating systems and with workstations executing
`under non MS/DOS or non Windows operating systems.
`Further, the following description uses the term "work(cid:173)
`station" with respect to any computer system that a user or 10
`LAN Administrator may be using. The term "workstation" is
`not meant to indicate or denote any particular class of
`computer systems. Finally, the following description will
`make reference to certain data files and structures, e.g. a
`CONFIG. SYS file, that are well known to those familiar 15
`with the MS/DOS Operating System. Thus, further descrip(cid:173)
`tion of such data files and structures is not deemed neces-
`sary.
`Overview of a Computer Systems in the Currently Pre(cid:173)
`ferred Embodiment
`A computer system embodying a workstation of the
`currently preferred embodiment is described with reference
`to FIG. 1. A computer system 100 as may be utilized by the
`currently preferred embodiment generally comprises a bus
`structure or other communication means 101 for communi- 25
`eating information between the various components of the
`computer system, a processor means 102 coupled with said
`bus 101 for processing information, a random access
`memory (RAM) or other storage device 103 (commonly
`referred to as a main memory) coupled with said bus 101 for
`storing information and instructions for said processor 102,
`a read only memory (ROM) or other static storage device
`104 coupled with said bus 101 for storing static information
`and instructions for said processor 102, a display monitor
`105 coupled with said bus 101 for displaying textual,
`graphical and image data generated by the computer system,
`a data storage device 106, such as a magnetic disk and disk
`drive, coupled with said bus 101 for storing information and
`instructions, an alphanumeric input device 107 including
`alphanumeric and other keys coupled to said bus 101 for
`communicating information and command selections to said
`processor 102, a cursor control device 108, such as a mouse,
`trackball, cursor control keys, etc., coupled to said bus 101
`for communicating information and command selections to
`said processor 102 and for controlling cursor movement.
`Additionally, the system will typically include, one or more
`ports for receiving input signal data. Such ports are illus(cid:173)
`trated here as serial port 109 and parallel port 110.
`The computer system 101 further includes a Local Area 50
`Network (LAN) adapter 111 for attaching to a LAN 112. The
`LAN Adapter 111 is coupled to CPU bus 101 and is used to
`transmit/receive information to/from the LAN 112.
`It should further be noted that the processor 102 in the
`computer system would perform various of the processing
`functions, e.g. generation of the application installation
`package (LAN Administrator workstation), and actual
`installation of the application software (user workstation),
`which is described herein.
`LAN Environment
`FIG. 2 illustrates a local area networking environment of
`the currently preferred embodiment of the present invention.
`In the currently preferred embodiment, the LAN 205 is an
`Ethernet LAN. As mentioned above, the network control
`operating system is Novell NetWare. Referring back to FIG.
`2, a LAN Administrator workstation 201 is coupled to the
`LAN 205. A plurality of user workstations 202-204 are also
`
`4
`coupled to the LAN 205. In operation, the LAN Adminis(cid:173)
`trator workstation 201 performs various functions in keeping
`the network and each of the individual user workstations
`operable. The present invention provides a means by which
`a LAN administrator can remotely schedule and cause the
`installation of application software on each of the user
`workstations 202-204. Without such a facility, the LAN
`administrator would have to physically install the applica(cid:173)
`tion software on each of the user workstations 202-204. This
`is very inefficient since it may require "downtime" of the
`user workstation during work hours, thus causing a loss in
`productivity of the user. The alternative, having the appli(cid:173)
`cation software installed during nonwork hours is also
`undesirable since it still requires the physical presence of the
`LAN administrator.
`Further illustrated in FIG. 2 is file server 206. In many
`LAN environments various server systems are provided
`which are shared resources for use and access by the users
`on the LAN. The file server 206 provides a shared disk
`20 storage resource for the LAN Administrator workstation 201
`and the User workstations 202-204.
`Implementation Architecture of the Currently Preferred
`Embodiment
`In the currently preferred embodiment of the present
`invention, an installation package is generated at the LAN
`administrator's workstation that subsequently causes instal(cid:173)
`lation of the software on each of the target workstations.
`Each of the target workstation contains means for receiving
`30 the installation package and processing it so that the appli(cid:173)
`cation software is installed. It should further be noted that
`the present invention assumes that the Operating System and
`Operating System levels and other systems files on the LAN
`administrator workstation and the various user workstations,
`are the same. If they were not the same, it is clear that the
`potential for error would be great.
`FIG. 3 illustrates the architecture of the operating soft(cid:173)
`ware residing on the LAN administrator workstation and the
`target user workstation in greater detail. Referring to FIG. 3,
`a LAN administrator workstation 201 contains LAN admin(cid:173)
`istrators tools 301. The LAN administrators tools 301
`include an installation scheduler 301a and installation pack(cid:173)
`age generator 301b. The installation scheduler 301a will
`allow the LAN administrator to schedule the automated
`installation of the new application software onto one or more
`user workstations. It is important to note that the installation
`scheduler 301a allows the LAN administrator to perform the
`actual installation at a time when the LAN administrator
`may or may not be physically present. The installation
`package generator 301b is used to create the installation
`package by which the application software is installed. In the
`currently preferred embodiment, installation package 303 is
`stored on file server 206.
`The target system i.e. the user workstations, contains a set
`55 of LAN client administration tools 302. The LAN client
`administration tools 302 on the target user workstation 202
`include a termination and stay resident (TSR) program 302a
`which remains active in memory on the target workstation.
`The remote program resident on the LAN Administrator's
`60 workstation executes this TSR program and causes an instal(cid:173)
`lation program (here installation program 302b) to be
`invoked. TSR programs of this type are well known to those
`skilled in the art, so further description of the TSR program
`is not deemed necessary. The installation program 302b is
`65 also part of LAN client administration tools 302. The
`installation program 302b processes an installation package
`for installing the application software on the target system.
`
`35
`
`40
`
`45
`
`

`
`5,860,012
`
`5
`The manner in which this is done will be described in greater
`detail below. Finally, a deinstallation program 302c is pro(cid:173)
`vided. The deinstallation program 302c will process a dein(cid:173)
`stallation package for removing applications from the target
`system.
`Installation Package
`The installation package of the currently preferred
`embodiment of the present invention is generated in what is
`termed an IPA CK format file. The IPA CK format file defines
`various groups of commands which are used by the instal- 10
`lation program residing on the user workstation to install the
`application software. Further, the UPACK format file pro(cid:173)
`vides a series of commands for deinstallation of files on a
`computer system. The IPACK format file is described in
`greater detail in Appendix A
`In the currently preferred embodiment, the installation
`package includes the IPACK format file and the application
`software to be installed. This package is stored on a server
`system in a compressed format, and it will be later down(cid:173)
`loaded during the installation process. As is described in
`Appendix A, the IPACK format file will contain references
`to the actual physical location of the installation package in
`compressed format.
`Personality File
`A second file utilized in the present invention is the
`personality file. The personality file allows for custom
`installation of application software on a user workstation.
`For example, if the application is to be installed in a
`particular directory, it is specified through the personality
`file. A custom personality file resides on the user worksta(cid:173)
`tion. In operation, the installation program on the user
`workstation will search for a custom personality file. If no
`custom personality file is found, a default personality file
`will be utilized to perform the installation. The personality 35
`file format is described in greater detail in appendix B.
`The incorporation of a personality file provides a great
`deal of flexibility for the installation of application software.
`A custom personality file would typically be created by the
`LAN Administrator according to the unique requirements of 40
`the user.
`Remote Installation of Application Software
`Remote installation of Application Software by the LAN
`Administrator is a two-step process; generation of an instal(cid:173)
`lation package and scheduling the installation at each of the 45
`desired user workstations. FIG. 4 is a flowchart which
`illustrates the steps performed by the LAN administrator
`workstation and the user workstations. In this description,
`the LAN administrator workstation will be referred to as the
`source workstation and the user workstations will be
`referred to as the target workstations. First, on the source
`workstation a preinstallation system snapshot is generated
`and saved, step 401. This preinstallation system snapshot
`will contain all the information that may be changed as a
`result of the installation of the application software, such as
`the complete disk directory structure contents, copies of
`various system and execution files (e.g. the CONFIG.SYS
`file and all* .INI and* .BAT files) and other operating system
`related information. Once the pre-installation system snap(cid:173)
`shot is stored the application software is installed, step 402.
`The installation of the application software is performed
`according to the instructions provided by the particular
`software application. In the DOS and WINDOWS environ(cid:173)
`ment of the currently preferred embodiment, the installation
`procedures for application software is not standardized. 65
`Thus, the present invention has been designed to be general
`enough to allow for various application installation see-
`
`6
`narios. In any event, after the application software has been
`installed on the source workstation, a post installation sys(cid:173)
`tem snapshot is generated, step 403. The post installation
`system snapshot contains the same information as the pre(cid:173)
`installation system snapshot except that is taken after the
`application has been installed.
`An installation package is then generated by comparing
`the preinstallation system snapshot with the post installation
`snapshot, step 404. As described above, the installation
`package will include the IPACK format file and the appli(cid:173)
`cation software. The generation of the installation package is
`further illustrated in FIG. 5. FIG. 5 is a block diagram which
`illustrates the inputs and the resultant output for generating
`an installation package. The program IPACKGEN 503 takes
`15 as inputs the pre-installation snapshot 501 and the post
`installation snapshot 502. As noted previously the pre(cid:173)
`installation snapshot contains the state of the system prior to
`the installation of the application software. The post instal(cid:173)
`lation snapshot 502 contains the same information except
`20 that it is after the installation of the application software.
`IPACKGEN 503 then compares the pre-installation snapshot
`501 with the post installation snapshot 502 to determine
`their differences. When comparing the preinstallation snap(cid:173)
`shot with the post-installation snapshot, the respective disk
`25 directory structures, CONFIG.SYS, * .INI, *.BAT and other
`system related files are compared. The IPACK format file
`contains instructions to enable modification of the pre(cid:173)
`installation snapshot so that it equals the post-installation
`files. The installation package 504 is then generated based
`30 on these differences (refer to Appendix A for the specific
`commands used and for various examples). In the currently
`preferred embodiment, the installation package is stored on
`a server system on the LAN.
`Referring back to FIG. 4, once the installation package is
`created the installation of the application software on each of
`the respective targets systems is scheduled, step 405. Such
`scheduling allows the LAN administrator to cause the instal(cid:173)
`lation of the application software at off hours, e.g. at night.
`It should be noted that in the currently preferred
`embodiment, the various steps performed by the LAN
`administrator are done via a dialog and windows type
`interface. The LAN administrator would respond to prompts
`from the dialog that has been created for generating instal-
`lation packages and the scheduling of installations.
`The mechanism for causing the transmission of the instal(cid:173)
`lation package to a target user workstation utilizes the
`system clock as a trigger. Such a mechanism for triggering
`the transmission utilizing the system clock is a well known
`50 technique to those skilled in the art. Thus further description
`of such a technique is not deemed necessary.
`Assuming that all installations successful, the application
`software may optionally be deleted from the source system,
`step 406. This is provided for because most application
`55 software licenses are based on the number of workstations
`which may use the software. If the LAN administrator is not
`going to be using that particular application software they
`would not want to count that copy of the application
`software on the LAN administrator systems towards the
`60 number being used.
`The operation of the target workstation is now described.
`Referring back to FIG. 4, at a scheduled time, the remote
`program on the LAN Administrator's workstation executes
`the TSR. At this point the install software will be invoked on
`the target workstation and will save the necessary files
`before the installation takes place, step 407. These files are
`saved so that in the event of an error, e.g. network failure
`
`

`
`5,860,012
`
`7
`during transmission of the application software, the appli(cid:173)
`cation can be readily deinstalled. In any event, the installa(cid:173)
`tion software then looks to see whether a custom personality
`file exists, step 408. If a custom personality file does not
`exist the application is installed based on the default per(cid:173)
`sonality file, step 409 otherwise, the application software is
`installed based on the custom personality file, step 410. The
`operations occurring on the target side require no user
`interaction. The installation package contains the informa(cid:173)
`tion needed to cause the application software to be installed. 10
`The installation of the application software on the target
`workstation is further described with reference to FIG. 6.
`FIG. 6 is a block diagram which shows the installation of the
`application software on a target system. An installer (or
`installation program) 601 receives as input installation 15
`packet 602 and a personality file 603. Using these two files
`as input, an installed application 604 is created on the target
`system. This is accomplished by carrying out the installation
`commands set forth by the PACK format file in accordance
`with parameters set out by the personality file. As noted
`previously, the installer 601 also saves the system and data
`files before the actual installation 605. As noted previously,
`the installer is initiated by a TSR program that is resident in
`the target system.
`
`8
`The installation program processes the PACK format file
`and determines what files are needed and where they are
`placed. It then obtains these files from the compressed
`installation package on the server and places them in the
`appropriate directories. It also modifies system configuration
`files based on the directives provided in the IPACK format
`file. For example in the case of Windows applications, it
`creates a group (if necessary) and icons as dictated by the
`application software.
`Deinstallation of Application Software
`Mechanically, the deinstallation of application software is
`substantially similar to those for the installation of applica(cid:173)
`tion software. Here, a UPACK format file for the deinstal(cid:173)
`lation of application software is generated. As a system
`snapshot has been created on each of the target workstations,
`prior to installation of the application software, this version
`of the various files are restored. A UP ACK format file can be
`generally considered as the reverse of an IPACK format file,
`20 where added files are deleted. The specific instructions in the
`UPACK format file are described in Appendix A
`Thus, a method for installation of application software
`from a LAN Administrator workstation on to a user work(cid:173)
`station on a network is described.
`
`

`
`9
`
`10
`
`5,860,012
`
`-16-
`
`APPENDIX A
`
`DESCRIPTION OF IP ACK FORMAT FILE
`
`

`
`11
`
`5,860,012
`
`12
`
`The IPack Format File
`
`The !Pack format file is a text file that is created by a Windows
`utility program called IPackGen, that executes on your (the LAN
`administrator's) workstation after an installation package is
`created. The !Pack file's input files are created by a program
`called Snapshot before the software is installed locally (during the
`creation of an installation package). These input files contain the
`following:
`
`Complete disk directory structure and contents (with file
`names, date-and-time stamps, file size, and so on)
`
`Saved copies of CONFIG.SYS, and all *.INI and *.BAT
`files.
`
`All Windows Shell (like Program Manager) group names and
`complete contents.
`
`Complete Windows Registration Database information.
`
`To build lhe !Pack format file, the IPackGen program compares
`the input files gathered by the Snapshot program wilh the similar
`information gathered by IPackGen after the software is installed.
`Using the differences, IPackGen creates the !Pack format file.
`
`LANinstall may also create a UPack, or Uninstall file for
`removing installations that have been made previously by
`LANlnstall.
`
`

`
`13
`
`14
`
`5,860,012
`
`Appendix A
`
`. .: IPack Format File
`
`General Format
`
`The IPack Format file consists of 11 groups. presented in no
`particular order. Each group is denoted by a liame enclosed in
`double square brackets. Some of these groups may be empty and
`are listed below in alphabetical order:
`llAdde!FilesJI
`llAdded~
`IIBasePasonalit
`~II
`[DeleledFiles]J
`
`[Deleted~
`[MelgacPenu ialilyll
`[MxlifiedTexlFilesll
`[MxlifiedWlllShell])
`IIQlhelBrolsAnd
`~II
`
`note icon
`
`Although the names are given in mixed case, both case and
`leading whitespace are ignored. (For example,"
`[[ADDEDFiles]]"
`is acceptable.) However.all characters inside the brackets are
`significant, and must match exactly.
`
`Any line whose first character is a semi-colon(";") is considered

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