throbber
United States Patent
`Davis et al.
`
`115
`
`US005742829A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,742,829
`Apr. 21, 1998
`
`1/1995 Si oo. eesccesecerneeessonersensesens 395/700
`5,381,534
`AUTOMATIC SOFTWARE INSTALLATION
`5/1995 Platt ...........
`.. 395/600
`5,421,009
`ON HETEROGENEOUS NETWORKED
`7/1995 Tevanian et al...
`cece 395/700
`5,432,937
`CLIENT COMPUTER SYSTEMS
`5,473,772 12/1995 Halliwell et al.nesscsseseee 395/650
`5,485,370
`1/1996 Mosset al. oc. sssccesssessseeneeees 364/408
`[75]
`
`[54]
`
`Inventors: Michael L. Davis; Or Ben-Natan. both
`of Bellevue; Bruce W. Copeland.
`Redmond,all of Wash.
`
`[73]
`
`Assignee: Microsoft Corporation, Redmond.
`Wash.
`
`[21]
`
`[22]
`
`[51]
`[52]
`[58]
`
`[56]
`
`Appl. No.: 403,246
`
`Filed:
`
`Mar. 10, 1995
`
`Tint, CUS ecccccccsscssssccsssenssesssssscsesescersssssssesenee GO6F 9/45
`
`WLS. C1. vesesssssssscsssscsstetsseoserserenseeess
`Field of Search ..........cccscssscssscsssssseeeses 395/700, 650
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,019,963
`5,142,680
`5,144,692
`5,155,847
`5,247,683
`5,327,563
`5,361,358
`5,367,686
`
`+ 395/600
`.
`5/1991 Alderson et al.
`.. 395/700
`8/1992 Ottman etal.....
`
`«a. 395/650
`9/1992 Bakeretal. ......
`». 395/700
`10/1992 Kirouac et al.
`...
`
`9/1993 Holmeset al.
`...
`- 395/700
`
`7/1994 Singh ...........
`we 395/700
`.....
`. 395/700
`11/1994 Cox etal.
`.........cccscsscenesseenes 395/700
`11/1994 Fisher et al.
`
`
`
`Primary Examiner—Emanuel T. Voeltz
`Assistant Examiner—Peter J. Corcoran, Il
`Attorney, Agent, or Firm—Seed and Berry LLP
`
`[57]
`
`ABSTRACT
`
`The present invention provides for automatically installing
`software on heterogeneous client computer systems. In a
`distributed system having heterogeneous computer systems
`of different natural languages. different operating system
`types, and/or different processor types, the present invention
`automatically installs the appropriate edition of software
`onto client computers. The present invention installs an
`edition of software appropriate for execution on a particular
`processor type. with a particular operating system type and
`in a particular natural
`language by utilizing commands
`specific to an operating system type. The present invention
`automatically installs software in responseto the availability
`of a new version of the software. a change in the operating
`system of the client computer, a change in the associated
`natural language of the client computer, or in response to
`input of the administrator of the distributed system.
`
`29 Claims, 8 Drawing Sheets
`
`Add Program?
`
`
` Copy Program
`
`
`
`Add Entry Referring|“7
`to Program
`
`
`Logon Script
`Envaked
`
`Invoke SMSLS
`Batch File
`
`Invoke Client Setup
`
`
`
`
` Delete Programs
`
`
`Determine Language |-~
`
`
`
`
`
`Determine Programs
`to Install
`
`S14
`
`
`
`| $16
`Copy New Programs ;i
`
`
`
`
`
`
`Delete
`
`
`Program?
`
`
`$24
` Delete Entry
`
`Referring to Program
`
`
`526
`
`
`Delete Program
`
`§28
`
`Start Programs
`
`Google Exhibit 1049
`Google v. VirtaMove
`
`Google Exhibit 1049
`Google v. VirtaMove
`
`

`

`U.S. Patent
`
`Apr. 21, 1998
`
`Sheet 1 of 8
`
`5,742,829
`
`901
`
`oll
`
`OO
`
`ousArewlig
`
`cll
`
`cOl
`
`vol
`
`801
`
`11gperUaD
`
`ousABW
`
`augAlepuoses
`
`augArepuosas
`
`[Old
`
`
`

`

`U.S. Patent
`
`Apr. 21, 1998
`
`Sheet 2 of 8
`
`5,742,829
`
`colaaysyenuadg
`
`wary
`
`WUdH{D
`
`wai{)
`
`urewoqd
`
`way
`
`JaAIaS
`
`
`
`
`

`

`U.S. Patent
`
`Apr. 21, 1998
`
`Sheet 3 of 8
`
`5,742,829
`
`
`
`38e10}¢Alepuosas
`
`Aopesq
`
`aINjJONLS
`
`sIBMYOSOZEVCE
`
`Wd1SAS
`
`oflydew
`
`Beg
`
`
`
`Joss9201gSdIN
`
`Japuas
`
`JaproT
`
`I9A19gSUS
`
`VEDId
`Asoquaauy|OTE
`41ossao001g
`SODAIOS
`-BINBYUO?)
`Jaj0odsaq
`Jajnpayos
`SMOPUIAA
`Josvuryy
`
`
`
`ao1Aaqqinduy
`
`voy
`
`aus
`
`C0
`
`IN
`
`Ole
`
`cLE
`
`pit
`
`

`

`U.S. Patent
`
`Apr. 21, 1998
`
`Sheet 4 of 8
`
`5,742,829
`
`
`
`aBelo1gAepuoses
`
`Ose
`
`way)
`
`dmesg
`
`apquinoaxy
`
`SIBMYOS
`
`Aloyoasiq]
`
`aINJONS
`
`SISWNS
`
`attyore
`
`
`
`isrJAdog“RZIRIU]
`
`wewogd
`
`aylqwon
`
`adeyord
`
`
`
`
`JOSSAN0Ig98EOR
`
`
`
`ao1naqInduy
`
`puruuro:)
`
`Joseuryy]
`
`AJOWSAUT
`
`quasy
`
`I‘DIA
`
`91%
`
`JOAIBSWal)
`
`

`

`wat[D
`
`sorjsouselq
`
`ajouay|.
`
`puewmuo-)
`aseyorg
`
`Jodeurey]
`
`U.S. Patent
`
`Apr. 21, 1998
`
`Sheet 5 of 8
`
`5,742,829
`
`
`
`adeloigArepuosas
`
`8LE
`
`
`
`~PZTEN]“eZyentu]
`
`SWSundSWS
`
`wonuoq}
`
`parfeisuy
`
`aIeMYyOos
`
`sold
`
`unySWS
`
`a]qeinoexg
`
`SMOPUIAA
`
`98£08
`
`Jossa.0Ig
`
`ynduj
`
`SOIAa(]
`
`JEDIA
`
`rIc
`
`

`

`U.S. Patent
`
`Apr. 21, 1998
`
`Sheet6 of 8
`
`5,742,829
`
`
`Site Configuration
`Manager
`
` Copy Client
`
`
`
`Software to Client
`Server
`
`402
`
`Wait Until Receiving|403
`Input From
`Administrator
`
`
`
`Add a Program?
`
`
`
`Add Program to
`Domain Initialization
`File
`
`
`
`
`
`
`
`
`Removea Program?
`
`Delete Program From
`Domain Initialization
`File
`
`FIG. 4
`
`

`

`U.S. Patent
`
`Apr. 21, 1998
`
`Sheet 7 of 8
`
`5,742,829
`
`Begin
`
`LogonScript
`Invoked
`
`>02
`
`Invoke SMSLS
`Batch File
`
`504
`
`506
`
`508
`
`510
`
`Invoke Client Setup
`
` .
`
`Determine Language
`
`Determine Programs
`to Install
`
`Update?
`
`12
`
`Y
`
`N
`
`Delete Programs
`
`Copy New Programs
`
`514
`
`516
`
`FIG. 5A
`
`

`

`US. Patent
`
`Apr. 21, 1998
`
`Sheet 8 of 8
`
`5,742,829
`
`518
`
`Add Program?
`
`Y
`
`N
`
`Copy Program
`
`Add Entry Referring
`to Program
`
`520
`
`521
`
`
`
` Delete
`
`Program?
`
`
`Delete Entry
`Referring to Program
`
`
`
`Delete Program
`
`924
`
`526
`
`Start Programs
`
`528
`
`End
`
`FIG. 5B
`
`

`

`5,742,829
`
`1
`AUTOMATIC SOFTWAREINSTALLATION
`ON HETEROGENEOUS NETWORKED
`CLIENT COMPUTER SYSTEMS
`
`TECHNICAL FIELD
`
`Thepresent invention relates generally to data processing
`systems and, more particularly, to the automatic installation
`of software on heterogeneous client computer systems.
`
`BACKGROUND OF THE INVENTION
`
`Typically, large, multinational corporations have a dis-
`tributed system containing many computers spread across a
`wide geographical area that are networked together. This
`type of environment makesit difficult and costly to manage
`the computers in terms of providing software installation,
`support and maintenance. That is, an administrator of the
`distributed system has to visit each computer in order to
`managethe computers. Thus. a significant cost of managing
`the computers in this type of environment stems from
`software installation, support, and maintenance. In fact, the
`initial purchase price of software may be only a small
`portion of the total cost associated with managing the
`computers.
`The distributed systems of large corporations usually
`comprise computers that have dissimilar hardware andsoft-
`ware components. The lack of uniformity in components is
`the productof different organizations within the corporation
`having different needs for their computers. For instance, one
`organization may consist primarily of clerical workers, who
`utilize various programs such as word processing programs
`or spreadsheet programs.
`that do not require significant
`processing power, whereas another organization in the cor-
`poration that performs engineering research utilizes more
`computationally intensive programs that require signifi-
`cantly more processing power. Therefore, a large corpora-
`tion usually has computers with different types of processors
`to match the differing processing demands of its organiza-
`tions.
`
`With respect to different software components, the dis-
`tributed systems of large corporations usually contain
`groups of computers that are interconnected via a local area
`network (LAN). Each group of computers typically repre-
`sents an organization within the corporation. Each group of
`computers contains one or more server computers that runs
`a network operating system. A “network operating system”
`provides network services to other computers (“client
`computers”) on the LAN, such as remote file access and
`remote printing capabilities. In many instances. different
`groups may have servers running different network operat-
`ing systems.
`The client computers within a group of computers are
`typically used by end users. End users often have prefer-
`ences regarding what operating system runs on their com-
`puter Therefore, in a distributed system of a large corpora-
`tion having many end users, there are usually a number of
`computers with different operating systems.
`Just as end users have a preference for a particular
`operating system. end users typically have a preference for
`a natural language in which communications between the
`end user and the computer are to take place. In a distributed
`system of a large. multinational corporation.it is common to
`have computers that employ different natural languages for
`communications with end users.
`
`Systems have been developed that. upon user initiation.
`install software from a master computer to a slave computer.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`2
`where both the master and the slave are homogeneous with
`respect to each otherin that they have similar hardware and
`software components. However, these systems typically do
`not operate within a distributed system of computers that
`have dissimilar hardware and software components. such as
`is commonly found with large corporations. Therefore.
`although systems have been developed to facilitate the
`installation of software on homogenous computers. these
`systems do not suit the needs of a large corporation. Thus,
`large corporations and other organizations having a distrib-
`uted system of heterogeneous computers are in need of a
`mechanism to facilitate the installation of software within
`their distributed system.
`SUMMARYOF THE INVENTION
`
`The system described herein provides for automatically
`installing software on heterogeneous client computer sys-
`tems. In a distributed system having heterogeneous com-
`puter systems of different natural languages. different oper-
`ating system types, or different processor types. the system
`described herein automatically installs the appropriate edi-
`tion of software onto client computers. The system described
`herein installs an edition of software appropriate for execu-
`tion on a particular processor type. suitable for use with a
`particular operating system and in a particular natural lan-
`guagebyutilizing commands specific to an operating system
`type. The system described herein automatically installs
`software on a client when the natural language of the client
`changes, when the operating system of the client changes.
`when a new version ofthe software becomesavailable or in
`response to input of the administrator of the distributed
`system.
`In accordance with a first aspect of the present invention,
`a methodis provided for automatically installing software in
`a data processing system having a client computer and a
`server computerthat provides network services to the client
`computer. In accordance with the first aspect of the present
`invention, the method provides an installation component at
`the client computer. where the client computer is heteroge-
`neous with respect to the server computer and automatically
`determines when to install the software on the client com-
`puter by the installation component. When it is determined
`to install the software, the system described herein installs
`the software on the client computer by the installation
`component.
`In accordance with a second aspect of the present
`invention, an automatic software installation system is pro-
`vided. The automatic software installation system of the
`second aspect of the present
`invention provides a first
`computer that has an associated natural language and has a
`processor running an operating system. Further. the second
`aspectof the present invention provides a second computer
`for providing network services to the first computerafter the
`first computer logs onto the second computer. The second
`computer further comprises a first component for storing
`editions of software and a second componentfor determin-
`ing the natural languageof the first computer, the operating
`system of the first computer and the processor of the first
`computer. In addition. the automatic software installation
`system includes a third componentfor installing an edition
`of the software onto the first computer that is suitable for
`execution on the processor of the first computer, suitable for
`execution with the operating system of the first computer
`and that utilizes the associated natural language ofthe first
`computer. The second computer installs the edition of the
`software by utilizing commands that are suitable for the
`operating system of the first computer in responseto thefirst
`computer initiating a logon to the second computer.
`
`

`

`3
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`5,742,829
`
`4
`administrator of the distributed system to take control of the
`input devices and the display of a remote computer soas to
`FIG. 1 depicts a distributed system suitable for practicing
`be able to diagnose problems with the computer.
`a preferred embodiment of the present invention.
`Aspreviously stated, the distributed system in which the
`FIG. 2 depicts a more detailed block diagram of the
`preferred embodiment operates contains heterogeneous
`central site of FIG. 1.
`computers. These computers can have different natural
`FIG. 3A depicts a more detailed block diagram ofasite
`languages, network operating systems. operating systems,
`server of FIG. 2.
`and processors. With respect to natural languages, for pur-
`poses of explaining the preferred embodiment, an illustra-
`FIG. 3B depicts a more detailed block diagram ofa client
`server of FIG. 2.
`tive case is described below using English and German.
`although the present invention can be used with other natural
`FIG. 3C depicts a more detailed block diagram ofa client
`languages.
`computer of FIG.2.
`With respect to network operating systems. operating
`FIG.4 depicts a flowchart of the steps performed by the
`systems and processors, the preferred embodiment operates
`site configuration manager of the preferred embodiment of
`in an environmentof server computers and client computers.
`the present invention.
`In some instances, servers and clients may be configured
`FIGS. 5A and 5B depict a flowchart of the steps per-
`differently, thus the configuration of each is described sepa-
`formed by the preferred embodiment of the present inven-
`rately. With respect to the configuration of server computers,
`tion when automatically installing software onto a client
`the preferred embodiment supports the “MICROSOFT
`computer.
`WINDOWSNT”network operating system available from
`Microsoft Corporation of Redmond, Wash.,
`the “LAN
`MANAGER”network operating system also available from
`Microsoft Corporation, the “LAN SERVER”network oper-
`ating system available from the International Business
`Machines Corporation of Armonk, N.Y. and the “NetWare”
`network operating system available from the Novell corpo-
`ration of Provo, Utah. The operating systems supported by
`serversof the preferred embodiment include “MICROSOFT
`WINDOWSNT.” Microsoft Operating System 2, and “MS-
`DOS”which are all available from Microsoft Corporation
`and IBM “OS/2”which is available from the IBM Corpo-
`ration. “MICROSOFT WINDOWSNT”operates as both a
`network operating system by providing access to remote
`resources such as printers and files, as well as a local
`operating system by providing access to local resources. The
`processors supported by servers of the preferred embodi-
`ment include the X86 family of processors available from
`the Intel Corporation of Cupertino. Calif.. the MIPS R4000
`family of processors available from MIPS Technologies of
`Mountain View, Calif. and the Alpha family of processors
`available from the Digital Equipment Corporation of
`Maynard, Mass. The various combinations of network oper-
`ating systems, operating systems and processors supported
`by servers of the preferred embodiment are depicted below
`in Table 1.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`65
`
`TABLE 1
`
`Network
`Operating
`System
`
`LAN Manager LAN Server
`
`Netware
`
`Windows
`NT
`
`Operating
`system
`Processor
`
`Windows
`NT
`Intel X86
`DEC Alpha
`MIPS R4000
`
`
`MS OS/2
`
`Intel X86
`
`IBM OS/2
`
`MS-DOS
`
`Intel X86
`
`Intel X86
`
`the preferred
`As can be seen from the above table.
`embodiment supports a server computer running
`“MICROSOFT WINDOWS NT” on the X86, Alpha or
`MIPSfamilies of processors. Also, the preferred embodi-
`ment supports a server computer running “LAN MAN-
`AGER”and MS Operating System 2 on the Intel X86 family
`of processors, a server computer running “LAN SERVER”
`and IBM “OS/2”on the Intel X86 family of processors and
`a server computer running “Netware” and “MSDOS”onthe
`Intel 86 family of processors. One skilled in the art will
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`A preferred embodiment of the present invention auto-
`matically installs software on client computers that are
`heterogeneous with respect to each other, as well as to server
`computers in a distributed system. The term “client com-
`puter” refers to a computer that utilizes another computer
`(“server computer”) to gain access to network services. such
`as remote file access and remote printing capabilities. By
`automatically installing software on client computers, the
`preferred embodiment facilitates the management of com-
`puters in a distributed system of heterogencous computers
`and reduces the cost associated therewith. Two computers
`are said to be “heterogeneous” with respect to each otherif
`they have dissimilar hardware or software components or
`dissimilar configuration information. For example,
`two
`computers are considered heterogeneous if they have dif-
`ferent operating systems, natural languages or processors.
`The preferred embodimentof the present invention oper-
`ates within the context of a centralized management system
`for distributed systems. such as the Systems Management
`Server available from Microsoft Corporation of Redmond.
`Wash., although one skilled in the art will appreciate that
`other embodiments of the present invention can operate in
`other types of systems. Thus. in order to more fully describe
`the preferred embodiment,
`it
`is necessary to provide a
`description of the centralized management system in which
`the preferred embodiment operates. The centralized man-
`agement system provides hardware and software inventory
`support, software distribution and installation, software
`updates. and remote diagnostics. In providing hardware and
`software inventory support,
`the centralized management
`system provides a listing of the various hardware and
`software components on each of the computers in the
`distributed system. In providing software distribution and
`installation, the centralized management system centralizes
`the managementandinstallation of application programs on
`file servers and clients. The software update functionality
`performed by the centralized managementsystem installs a
`new version of the software when the current version of the
`software becomes outdated. The installation of the new
`version of software is performed on each computer that
`needs the new version. A “version” of software refers to the
`release of the software. which is typically indicated by a
`number such as 1.0. In providing the remote diagnostics
`functionality. the centralized management system allows an
`
`

`

`5.742,829
`
`5
`appreciate that the present invention can be used with other
`network operating systems, operating systems and proces-
`sors or additional combinations thereof.
`The various configurations of clients supported by the
`preferred embodimentare depicted below in Table 2.
`
`TABLE 2
`
`
`Operating Windows
`
`System
`NT
`MS-DOS Windows
`IBM OS/2 MS OS/2
`Processor
`Intel X86
`X86
`K86
`X86
`X86
`DEC Alpha
`MIPS R4000
`
`
`As can be seen from Table 2, clients of the preferred
`embodiment support the “MICROSOFT WINDOWS NT”
`operating system,
`the “MS DOS” operating system,
`the
`“MICROSOFT WINDOWS” operating system available
`from Microsoft Corporation, the IBM “OS/2” operating
`system and the Microsoft Operating System 2. Also, when a
`client utilizes the “MICROSOFT WINDOWSNT”operat-
`ing system, the client can support the Intel X86, Alpha or
`MIPSfamily of processors. When utilizing the other oper-
`ating systems, the client supports the X86 family of proces-
`sors. Although specific combinations of operating systems
`and processors have been described with respect to client
`computers of the preferred embodiment, one skilled in the
`art will appreciate that client computers of the present
`invention can utilize different operating systems and pro-
`cessors or additional combinations thereof.
`
`A block diagram of the distributed system in which the
`preferred embodiment operates is depicted in FIG. 1. The
`distributed system 100 contains a central site 102.
`two
`primary sites 104, 106 and two secondary sites 108, 110 with
`each site connected to a communication mechanism 112,
`such as a wide area network. Eachsite. in turn, contains a
`number of computers connected via a local area network.
`The central site 102 manages all other sites and therefore
`stores system-wide information. The primary sites 104, 106
`typically manage one or more secondary sites 108, 110. For
`example, the primary site 104 may manage secondary site
`108 and the primary site 106 may manage secondary site
`116. The sites are arranged hierarchically with the central
`site at the top of the hierarchy managingall other sites and
`the primary sites are next in the hierarchy managing the
`secondary sites.
`Amore detailed block diagram of the central site of FIG.
`1is depicted in FIG. 2. The central site 102 is connected to
`one or more primary sites via a communication mechanism
`112. The central site 200 contains a site server 202, an SQL
`server 206. a helper server 208, and a domain 204. Thesite
`server 202 of the central site 102 acts as the centralized
`management system for the central site and all othersites.
`An administrator’s console 21@ is connected to the site
`server 202 so that the administrator can centrally managethe
`distributed system. In addition, the site server 202 stores
`software that can be installed on other computers in the
`distributed system. The SQLserver 206 manages a database
`that contains various inventory information andstatus infor-
`mation regarding the distributed system. The helper server
`208 is used to offload some of the burden of managing the
`distributed system from the site server 202. The domain 204
`is a grouping of computers and contains two client servers
`212 and 216, which are connected to client computers 214,
`218, and 220. The client servers 212 and 216 act as file
`servers for the client computers 214, 218, and 220, which
`are. in turn. used by end users. The client computers 214,
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`30
`
`55
`
`65
`
`6
`218 and 220 can be heterogeneous with respect to each other
`in that the clients may have different operation systems,
`processors or natural languages. Although the central site
`has been described as having various components. one
`skilled in the art will appreciate that the central site can
`contain additional or different components such as addi-
`tional helper servers, additional domains. additional client
`servers within a domain, and additional clients for each
`client server.
`Primary and secondary sites are configured like the cen-
`tral site except that the secondary sites do not contain SQL
`servers. Therefore, both primary sites and secondary sites
`usually contain a site server, one or more helper servers, as
`well as one or more domains and the primary sites addi-
`tionally contain an SQL server. Each domain may contain
`one or more client servers connected to one or moreclients.
`Thesite server for a primary site is used for managing the
`primary site in whichit is located as well as all secondary
`sites that are lowerin the hierarchy. However.the site server
`of the central site acts as the centralized management
`mechanism of the entire distributed system, thereby man-
`aging all sites.
`FIG. 3A depicts a more detailed block diagram of the site
`server 202 of FIG. 2. The site server 202 contains a central
`processing unit (CPU) 302, such as a MIPS R4000
`processor, a memory 304, a secondary storage device 306,
`such as a hard disk. and an input device 308, such as a
`keyboard. Although the site server 202 is described with
`respect to having specific components, one skilled in the art
`will appreciate that the site server may have additional or
`different components. For example. the site server 202 can
`utilize a CPU such as an X86 or Alpha CPU. The memory
`304 contains a copy of “MICROSOFT WINDOWSNT”
`310. a number of services 312, 314, 318, 320, 322 that
`provide the functionality of the centralized management
`system, and a site configuration manager 316 thatis further
`described below. “MICROSOFT WINDOWSNT”310 acts
`as both a network operating system and a local operating
`system to the site server. A “service” is a computer program
`that typically runs as a background task and performs a
`system function. such as a functionrelated to the centralized
`management system described herein. The services that
`provide the functionality of the centralized management
`system include the scheduler 312. the despooler 314, the
`inventory processor 318, the inventory data loader 320, and
`the sender services 322. The scheduler 312 is responsible for
`scheduling jobs such as software updates to occur across the
`distributed system and whenthe time has arrived for the job
`to be performed, the despooler 314 is responsible for per-
`forming the job by distributing the software to one or more
`computers within the site. The inventory processor 318 is
`responsible for receiving inventory information from the
`computers within a domain and passing the data to the
`inventory data loader 320. The inventory data loader 320 is
`responsible for receiving the data. correlating the data, and
`storing the data into a database on the SQL server. The
`sender services 322 is responsible for performing site-to-site
`communications. The sender services.
`therefore, provide
`communication over various connections such as ISDN or
`X.25. It should be noted that only one instance of the
`scheduler 312, the despooler 314, the inventory processor
`318. and the inventory data loader 320 are present within the
`site at any given time. However. more than one sender
`services 322 may be present within a site since the site may.
`in turn, be connected to other sites.
`The secondary storage 306 contains a system mapfile 324
`and a software directory structure 326. The system mapfile
`
`

`

`5,742,829
`
`10
`
`20
`
`25
`
`30
`
`35
`
`TABLE 3
`_Asite.srv
`\x86.bin
`servos2.exe
`servnt.exe
`serv.dll
`
`7
`324 lists the softwarethat is stored on the site server 202 and
`the directories in which the software is stored. In addition.
`the system mapfile 324 indicates the specific edition of the
`software. An “edition” of software refers to a copy of the
`software that operates using a particular natural language
`and that is suitable for execution with a particular type of
`operating system on a particular type of processor. For
`example. an application program may have twoeditions. a
`first edition in German for use with OS/2 on an X86
`processor and a second edition in English for use with
`“MICROSOFT WINDOWSNT” on an Alpha processor.
`Morethan oneedition of the software is typically stored on
`the site server 202 according to the natural language in
`whichit is to operate, the operating system with whichit is
`to operate and the platform (or processor) on whichit is to
`execute. The various editions of the software are stored in
`the software directory structure 326. The software directory
`structure 326 is created uponinstallation of the centralized
`management system. Wheninstalling the centralized man-
`agement system, a compact disk is inserted into the site
`server 202 and as part of the installation process,
`the
`software directory structure 326 is created and the software
`contained on the compact disk is copied therein. The soft-
`ware directory structure 326 has a main directory “site.srv”
`with various directories of the main directory that each
`contain portions of an edition of the software that are natural
`language independent. Thatis. software usually comprises a
`number of files (“portions”), some of which are natural
`language independent and others are natural
`language
`dependent. The natural language independent portions are
`stored in the directories and the natural language dependent
`portions are stored in subdirectories within the directories.
`An example of a service stored in the software directory
`structure 226 is depicted below in Table 3.
`
`8
`the number 00000409indicates the English language. These
`subdirectories contain one or more portions of the edition of
`the software that are language dependent. Therefore. within
`the \x86 directory. servos2.exe, servnt.exe and serv.dll are
`language independent portions of the software that are
`suitable for execution on the X86 family of processors, with
`servos2.exe suitable for use with “OS/2” and servnt.exe
`suitable for use with “MICROSOFT WINDOWS NT.”
`Further, subdirectories 00000409 and 00000407of the \x86
`directory contain the language dependent portions of the
`software that are suitable for execution on the X86 family of
`processors. Although the software for one service has been
`depicted, all of the other software that is available from the
`site server (including programs that are to be installed on
`clients) is stored in this manner. For example, with respect
`to an additional service. the \x86 directory would contain the
`language independentportions of the additional service that
`run on the X86 family of computers (with one edition for
`each operating system supported), and the subdirectories
`00000409 and 00000407 would contain the language depen-
`dent portions of the additional service.
`The configuration of the helper server is similar to that of
`the site server. Thatis. the helper server has similar hardware
`componentsto thatof the site server, although one skilied in
`the art will appreciate that the helper server can have
`additional or different components. However, the services
`used by the centralized management system do nottypically
`run on the helper server unless they are specifically moved
`on to the helper server.
`FIG. 3B depicts a more detailed block diagram of the
`client server 216 of FIG. 2. Although client server 216 is
`depicted. the other client servers, including client server
`212, are similarly configured. The client server 216 has an
`80386 processor 332. a memory 334. a secondary storage
`device 336, and an input device 338, such as a keyboard.
`One skilled in the art will appreciate that the client server
`216 may have additional or different components, such as a
`MIPSprocessor. an Alpha processoror a different processor
`from the X86 family of processors. The memory 334 con-
`tains a network operating system, such as “LAN
`MANAGER”, 344 and an operating system. such as IBM
`“OS/2”, 346. It should be appreciated that the client server
`216of the present invention can operate other combinations
`of network operating systems and operating systems. In
`addition. the memory 334 contains services that help pro-
`vide the functionality of the centralized management system
`including the package command manager 340 and the
`inventory agent 342. The package command manager 340
`provides the functionality of automatically installing appli-
`cation programs onto the client server 216. The inventory
`agent 342 provides the functionality of retrieving the hard-
`ware and software inventory of the client server 216 and
`sendingthis inventory information to the site server wherein
`the information is utilized by the inventory processor of the
`
`55
`site server.
`The secondary storage device 336 contains a software
`directory structure 350, a logon script 348, an SMSLSbatch
`file 352. a client setup executable 354, a domain initializa-
`tion file 356 and a copylist file 358. The directory structure
`350 stores all of the software currently installed on the client
`server 216, as well as the software to be installed on the
`clients. The logon script 348 is invoked by the client to logon
`to the client server. Therefore.
`the logon script 348 is
`responsible for requesting the client server to perform user
`password validation and the logon script performs other
`functionality associated with the logon process. After log-
`ging on, the “LAN MANAGER” 344 network operating
`
`\alpha.bin
`servnhit.exe
`serv.dll
`
`45
`
`50
`
`serviangdllHenneEn
`
`As can be seen from Table 3, the main directory site.srv
`has three directories \x86, \mips, and \alpha. Each directory
`contains software that is specific to a particular type of
`processor and within each directory are editions of the
`software for a particular operating system, such as
`“servos2.exe”for use with “OS/2”and “servnt.exe” for use
`with “MICROSOFT WINDOWSNT.” Each directory then,
`in turn. has a subdirectory 00000409 and a subdirectory
`00000407. Each of these numbers indicates a specific lan-
`guage code that refers to a natural language. For example.
`the number 00000407 indicates the German language and
`
`65
`
`

`

`5,742,829
`
`9
`system provides network services to the client. As part of the
`processing of the logon script 348, the logon script invokes
`the SMSLS batch file 352. The SMSLS batch file 352
`actually has a number of copies, with each copy specific to
`one or more ope

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