`
`Ex. 1001
`EX. 1001
`
`US Patent No. 6,510,466 (“’466”)
`US Patent No. 6,510,466 (“’466”)
`
`
`
`
`
`
`
`(12) United States Patent
`Cox et al.
`
`US006510466B1
`(10) Patent No.:
`US 6,510,466 B1
`(45) Date of Patent:
`Jan. 21, 2003
`
`IllläIIlS el &ll. ............
`
`WO
`
`5,848,243 A 12/1998 Kulkarni et al. ............ 709/224
`(54) METHODS, SYSTEMS AND COMPUTER
`5,875,327 A
`2/1999 Brandt et al. .................. 713/1
`PROGRAM PRODUCTS FOR CENTRALIZED
`: A &º º 2 < * + 2
`MANAGEMENT OF APPLICATION
`5,933,601 A * 8/1999 Fanshift et al. ............. 709/223
`PROGRAMS ON A NETWORK
`6,070,190 A
`5/2000 Reps et al. ................. 709/224
`(75) Inventors: David E. Cox, Raleigh, NC (US); Kent
`(List continued on next page.)
`F. Hayes, Jr., Chapel Hill, NC (US);
`David B. Lindquist, Raleigh, NC (US);
`FOREIGN PATENT DOCUMENTS
`John R. McGarvey, Apex, NC (US);
`9.850853
`11/1998 ............. G06F/9/44
`Abdi Salahshour, Raleigh, NC (US)
`OTHER PUBLICATIONS
`(73) Assignee: International Business Machines
`-
`Corporation, Armonk, NY (US)
`“A Common Desktop Environment for Platforms Based on
`the UNIX Operating System.” By B.E. Cripe, J.A. Brewster,
`Subject to any disclaimer, the term of this
`and D.E. Laursen, Hewlett-Packard Journal, vol. 47, No. 2,
`patent is extended or adjusted under 35
`Apr. 1, 1996, pp. 6–14.
`U.S.C. 154(b) by 0 days.
`(List continued on next page.)
`(21) Appl. No.: 09/211,528
`Primary Examiner—David Wiley
`:12, 21.
`(74) Attorney, Agent, or Firm—Myers Bigel Sibley &
`(22) Filed:
`Sajovec, Jeanine S. Ray-Yarletts
`G06D 13/00
`(51) Int. Cl."
`nt. Cl.' ................................................
`(57)
`ABSTRACT
`709/229; 709/223
`(52) U.S. Cl. .................
`Methods, systems and computer program products for man
`(58) Field of Search ............................... ? 709/223, 203,
`agement of application programs on a network including a
`709/219, 229; 710/3, 129, 31
`server supporting client stations are provided. The server
`e
`provides applications on-demand to a user logging in to a
`References Cited
`client supported by the server. Mobility is provided to the
`U.S. PATENT DOCUMENTS
`user and hardware portability is provided by establishing a
`-
`sº º º !. º: tail. º: user desktop interface responsive to a login request which
`2 : * ~ *
`presents to the user a desktop screen through a web browser
`sº º :: º: sº - - - - - - - - - - - *; interface which accesses and downloads selected application
`Sossosi A
`sió97 Bomei et al......... 700202
`programs from the server responsive to a request from the
`5,680,615. A 10/1997 Marlin et al. .....
`... 707/103
`|USè? OIl the |USer desktop screen at the client. The application
`5,689,709 A 11/1997 Regnier et al. ...
`... 709/302
`program is then provided from the server and executed at the
`5,708,709 A * 1/1998 Rose ............
`... 380/4
`client. The application program may further be customized
`5,745,879 A
`4/1998 Wyman ......................... 705/1
`to conform to the user’s preferences and may also provide
`5,748,896 A 5/1998 Daly et al. .................. 709/223
`for license use management by determining license avail
`jº, º ! | sº º
`--- º ability before initiating execution of the application pro
`2 * * + 2
`gram. Finally, software distribution and installation may be
`...; º :: §: º - - - - - - - - - - - - - - - - -7% provided from a single network management server.
`5,813,009 A 9/1998 Johnson et al. ............. 707/100
`5,845,077. A 12/1998 Fawcett ...................... 709/221
`
`(*) Notice:
`
`- - - - - -
`
`9
`
`Dec. 14, 1998
`
`(56)
`
`€CK ?l al. ...................
`
`I a WTOIC] . . . . . .
`
`- - - -
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`42 Claims, 9 Drawing Sheets
`
`200
`
`L — 22
`
`204
`
`206
`
`Client Management Server
`
`Web Server
`
`208
`
`DataBase
`
`
`
`User Console
`
`
`
`US 6,510,466 B1
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`6,098,067 A * 8/2000 Erickson ...................... 707/10
`6,105,063 A * 8/2000 Hayes, Jr. ......
`... 709/223
`6,105,066 A 8/2000 Hayes, Jr. .........
`... 709/226
`6,105,069 A 8/2000 Franklin et al. ..
`... 709/229
`6,108,712 A 8/2000 Hayes, Jr. .........
`... 709/246
`6,115,040 A * 9/2000 Bladow et al. ............. 345/335
`6,158,010 A * 12/2000 Moriconi et al. ........... 713/201
`6,175,363 B1
`1/2001 Williams et al. ..
`... 345/334
`6,175,832 B1
`1/2001 Luzzi et al. .................. 707/10
`6,182,142 B1 * 1/2001 Win et al. ..
`... 709/229
`6,189,051 B1 * 2/2001. Oh et al. ...................... 710/33
`6,192,414 B1
`2/2001 Horn .......................... 709/239
`6,195,432 B1 * 2/2001 Takanashi et al. ............. 380/9
`6,202,206 B1 * 3/2001 Dean et al. ................... 717/11
`OTHER PUBLICATIONS
`“Administration of Graphic User Interface and Multimedia
`Objects Using Cooperating Processing,” IBM Technical
`Disclosure Bulletin, vol. 37, No. 9, Sep. 1, 1994, pp.
`675–678.
`
`
`
`http://nf/pdc97/profiles and policies.htm “Guide to
`Microsoft Windows NT 4.0 Profiles and Policies” pp 1–76.
`http://www/ietf.org/htlm.charters/acap—charter.html “Appli
`cation Configuration Access Protocol (acap),” 68 pages.
`IBM Network Station Manager for Windows NT Server 4.0,
`Chapter 5. Using the IBM Network Station Manager, pp.
`5–1 to 5–15.
`http://www.software.ibm.com/os/warp/library/
`sq202822.htm, “WorkSpace on-Demand Handbook,” Chap
`ters 2.3.1; 6.2; 6.3; 6.3.1; 6.3.3; 6.5.
`http://www.triteal.com/SoftNC, Java Desktop Environment
`from Triteal, pp 1–2.
`http://java.sun.com/products/hot—javaviews/admin.html,
`“HotJava Views,” pp 1–24.
`http://esuite.lotus.com/eSuite/eSuite, “The Right Work
`Environment for Network Centric Computing,” 24 pages.
`
`* cited by examiner
`
`
`
`U.S. Patent
`
`Jan. 21, 2003
`
`Sheet 1 of 9
`
`US 6,510,466 B1
`
`20
`
`1O
`
`Network Management
`Server
`
`
`
`10°
`
`
`
`U.S. Patent
`
`Jan. 21, 2003
`
`Sheet 2 of 9
`
`US 6,510,466 B1
`
`Admin Console
`
`
`
`Client Management Server
`
`
`
`
`
`C. D
`DataBase
`
`
`
`2O2
`
`User Console
`
`
`
`
`
`U.S. Patent
`
`Jan. 21, 2003
`
`Sheet 3 of 9
`
`US 6,510,466 B1
`
`FIG. 4
`
`( On-Demand Server
`; 230
`<New App.?
`
`Yes
`
`!
`---
`Configuration
`
`
`
`232
`/
`
`
`
`238
`
`º New Access
`Request?
`
`N
`
`Yes
`
`240
`
`Access Application
`
`End D
`
`
`
`U.S. Patent
`
`Jan. 21, 2003
`
`Sheet 4 of 9
`
`US 6,510,466 B1
`
`FIG. 5
`
`( common D -
`
`250
`
`?º Applicat n
`
`Definition
`
`252
`input User Info for /
`Application
`as,
`
`256
`
`258
`
`| Input License Policy
`|
`Input Access
`Specifications
`
`|
`
`Update DataBase
`
`End D
`
`
`
`U.S. Patent
`
`Jan. 21, 2003
`
`Sheet 5 of 9
`
`US 6,510,466 B1
`
`FIG. 6
`C
`
`
`
`260
`
`262
`
`Receive HTTP
`Request
`
`Obtain ID and
`Password
`
`
`
`No
`
`NO
`---
`
`Authorized? N
`__
`
`268
`
`-
`-
`License Available?
`
`266
`
`270
`
`Display Error Message
`
`
`
`Display Desktop with
`Authorized Applications
`and Enable Logging
`
`
`
`
`
`U.S. Patent
`
`Jan. 21, 2003
`
`Sheet 6 of 9
`
`US 6,510,466 B1
`
`FIG. 7
`
`Access
`
`280
`
`Receive Application
`Request
`
`
`
`283
`
`------
`__
`Obtain ID and
`No
`Credentials
`Password *
`
`------
`
`N
`
`/ —º
`
`
`
`288
`
`NO
`?cense Available?
`
`286
`N
`
`290
`
`Initiate instance of
`| Display Error ~
`Application and Enable
`Logging
`
`
`
`
`
`i T.
`
`
`
`
`
`U.S. Patent
`
`Jan. 21, 2003
`
`Sheet 7 of 9
`
`US 6,510,466 B1
`
`…——
`
`II
`
`
`
`Provide Software
`Access to Tivoli
`Server
`
`|
`
`---
`|
`
`pecify Direcotories
`for Software and
`Program
`Information
`
`||
`
`--- Execute Pre-
`Distribution
`Program
`
`Distribute Software
`to Specified OD
`Servers
`
`|
`
`|
`
`Execute After
`Distribution
`Program
`
`Update Profile
`Management List
`of OD Server
`
`
`
`110
`
`
`
`112
`
`114
`
`116
`
`118
`
`12O
`
`
`
`US. Patent
`
`Jan. 21, 2003
`
`Sheet 8 0f 9
`
`US 6,510,466 B1
`
`our
`
`
`
`$33.50wmxomn..22mm00.GE
`
`.ED.92
`
`Emn.
`
`éhp
`
`EEmEn.ED
`
`~92mmmxuoiNuF
`
`we5%..
`
`
`
`Eaa<.mfimwm
`
`
`
`$onEma£_>>
`
`th
`
`80—0
`
`xmfl9:
`
`mmmxomm
`
`99:55...
`
`on!
`
`3.8.2
`
`mmmxumm
`
`
`
`mwmcmzommmxomn.
`
`2E.mocmoBEwan»
`
`ENEEQ
`
`an:
`
`mommmmé_.otm
`
`mzmfl_
`
`BmEELQ.
`
`mmmxomamEEEm.
`
`Emma...w850m-
`
`E015223.23-
`
`
`
`>>mn=n=>5:85:
`
`
`
`2mm.,
`
`
`
`mmmxomn.m__n_
`
`15%.:me
`
`QM!
`
`mm.65
`m9.0mm2E93:35
`
`
`
`xmfl853265
`
`
`
`mmmxomn.9m:9won.
`
`<0.GE
`825606gown.6E2690
`
`
`
`xmfl.mmmxomn.2E
`
`Eouwsoa:“ow:Ewon.
`
`
`
`9m:_Ehw._.
`
`9:co“magma/x
`
`55:335...<
`
`>m_gm_n_w598mVu—
`
`
`
`«man?:30
`
`55:33
`
`
`
`Emhmoi.EQ
`
`92mmmmoooiwe.
`
`
`
`9:.EEEEO
`
`wmmxomn.9E
`
`
`
`new$8.8625m.8.
`
`mmmxoma9E02%
`
`coaémo
`
`
`
`9m:_EE._.
`
`atomucmEEoo
`
`
`
`um:.32o...
`
`
`
`565.26uu<«3
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 21, 2003
`Jan. 21, 2003
`
`Sheet 9 of 9
`Sheet 9 0f 9
`
`US 6,510,466 B1
`US 6,510,466 B1
`
`
`
`if}
`
`
`
`
`
`US 6,510,466 B1
`
`1
`METHODS, SYSTEMS AND COMPUTER
`PROGRAM PRODUCTS FOR CENTRALIZED
`MANAGEMENT OF APPLICATION
`PROGRAMS ON A NETWORK
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`This application is related to the following application
`filed concurrently herewith: METHODS, SYSTEMS AND
`10
`COMPUTER PROGRAM PRODUCTS FOR MANAGE
`MENT OF CONFIGURABLE APPLICATION PRO
`GRAMS ON ANETWORK. This application is also related
`to U.S. patent application Ser. No. 09/072,597 filed May 5,
`1998 and entitled: Client-Server System for Maintaining a
`user Desktop Consistent with Server Application User
`Access Permissions which is incorporated herein by refer
`ence in its entirety.
`
`15
`
`FIELD OF THE INVENTION
`The present invention relates to network management in
`general and in particular to application program manage
`ment on a computer network.
`
`20
`
`2
`customized install generally must be created by a system
`administrator for each different version to be installed.
`Furthermore, once installed at a client, a user must typically
`use that specific client station. The application generally
`cannot be automatically deleted from the client station’s
`desktop or automatically upgraded the next time the user
`starts the application. Similarly, the Tivoli Management
`Environment (TME) 10" system from Tivoli Systems, Inc.
`provides a software distribution feature which may be used
`to transmit a file package to client and server stations on a
`network from a central Tivoli" server.
`A further complication in network systems is that,
`typically, these systems include combinations of network
`applications and native applications as well as combinations
`of different connection types and hardware devices. As used
`herein “native applications” refers to applications which are
`installed locally on a workstation such that characteristics
`associated with the native application are stored on the
`workstation. The combinations of network connections,
`differing hardware, native applications and network appli
`cations makes portability of preferences or operating envi
`ronment characteristics which provide consistency from
`workstation to workstation difficult. Furthermore, differ
`ences in hardware or connections may create inefficiencies
`as users move from workstation to workstation. For
`example, a user may, in a first session, access the network
`utilizing a high speed connection and a workstation with a
`high resolution color monitor to execute an application and
`then, in a later session, access the network to execute the
`same application from a mobile computer with a mono
`chrome display and a low speed modem connection to the
`network. Thus, session content, such as color display data or
`preferences associated with the application, which may have
`been appropriate for the first session may be inappropriate or
`inefficient in a later session.
`Efforts to address mobility of users in a network have
`included efforts to provide preference mobility such as, for
`example, Novell’s Z.E.N.works", Microsoft’s “Zero
`Administration” initiative for Windows(8) and International
`Business Machines Corporation's (IBM's) Workspace On
`Demand". However, these solutions each typically require
`pre-installation of software at the workstation to support
`their services. For example, Novell’s Z.E.N. and IBM’s
`Workspace On Demand utilize a designer-supplied support
`layer in the operating system to enable their services. In
`addition to modifying the workstations operating system at
`startup to setup tasks to customize the user’s environment,
`the Microsoft Zero Administration solution is typically
`limited to a homogeneous (Windows(8) only) environment
`where the workstation and the server are utilizing the same
`operating system.
`Another approach to centralized management is the tra
`ditional mainframe model, such as with the IBM 3270
`system, or an X Windows environment. However, in each of
`these approaches, the client device is treated as a dumb
`terminal with execution of the applications occurring at the
`server rather than the client. Accordingly, the communica
`tion between the server and the client is typically presenting
`characters for a display screen of the client and/or receiving
`key strokes from the client. Windows Zero Administration,
`as described above, is client rather than user oriented and
`installs applications on client stations which does not fully
`support roaming by users. The JAVA" environment utilized
`on the Internet for web applications provides an ability for
`hardware independent application development but fails to
`provide an integrated framework for presenting multiple
`independent applications to a user. While various web
`
`BACKGROUND OF THE INVENTION
`Traditional mainframe computer configurations provided
`for user interface to the computer through computer termi
`mals which were directly connected by wires to ports of the
`mainframe computer. As computing technology has
`evolved, processing power has typically evolved from a
`central processing center with a number of relatively low
`processing power terminals to a distributed environment of
`networked processors. Examples of this shift in processing
`include local or wide area computer networks which inter
`connect individual work stations where each workstation has
`substantial independent processing capabilities. This shift
`may be further seen in the popularity of the Internet which
`interconnects many processors and networks of processors
`through devices such as, for example, routers. This type of
`network environment is often referred to as a client-server
`environment with client stations coupled to and supported
`by a server station.
`In the modern distributed processing computer
`environment, control over software, such as application
`programs, is more difficult than where a mainframe operated
`by an administrator is used, particularly for large organiza
`tions with numerous client stations and servers distributed
`widely geographically and utilized by a large number of
`users. Furthermore, individual users may move from loca
`tion to location and need to access the network from
`different client stations at different times. The networked
`environment increases the challenges for a network admin
`istrator in maintaining proper licenses for existing software
`and deploying new or updated applications programs across
`the network.
`One approach to reducing software distribution and con
`trol problems is to use an application server in which the
`application programs arc installed and maintained on a
`centralized server which supports a plurality of client sta
`tions (sometimes referred to as a client/server application as
`contrasted to a desktop application). In addition, the Systems
`Management Server (SMS) program from Microsoft Cor
`poration provides an ability to transmit an application pro
`gram from a server to a number of clients. The SMS system
`typically allows installation of programs and associated
`icons at client stations for SMS-enabled applications. A
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`25
`
`3
`applications, such as the Netscape Mission Control desktop,
`do allow personalizing of a specific application display by a
`user, this capability is generally not managed across appli
`cations for a user. Furthermore, it typically associates per
`sonalized screen information with an Internet address (and
`sometimes a “cookie” installed at the client) which is
`associated with a client device rather than a user, therefore
`limiting its ability to support roaming by users.
`Each of these “mobility” systems typically do not address
`the full range of complications which may arise in a het
`erogeneous network utilizing differing devices and connec
`tions. The system typically will not present application
`choices associated with the user and for which the user is
`authorized but instead present information associated with
`the particular client workstation. Users would typically have
`to manually define session characteristics at each differing
`workstation they used in the network or maintain local
`characteristic definitions which may be inappropriate for
`particular applications a user is executing and may substan
`tially reduced the administrative convenience of a centrally
`controlled network. Thus, these various approaches fail to
`provide a seamless integration of application access and
`session characteristics across heterogeneous networks. Such
`solutions may, at most, reduce network administration only
`after initial installation on each workstation. In addition,
`control over access by users is difficult to accomplish in a
`mobile environment.
`Furthermore, these various approaches have, at most, only
`limited capabilities to provide a uniform framework for
`deployment of new or updated application programs from
`different software designers. To the extent software distri
`bution capabilities from a central location are provided, such
`as with the TME 10" system, they typically require various
`steps in the installation process to occur at different locations
`rather than allowing the entire process to be controlled from
`a single point for an entire managed network environment.
`SUMMARY OF THE INVENTION
`Accordingly, it is an object of the present invention to
`provide methods, systems and computer program products
`for centralized management of application programs on a
`computer network.
`It is a further object of the present invention to provide
`such methods, systems and computer program products that
`are user based across various hardware interface devices.
`It is another object of the present invention to provide
`such methods, systems and computer program products that
`provide for software deployment from a central administra
`tive server location across a plurality of client stations.
`It is a further object of the present invention to provide
`such methods, systems and computer program products that
`can accommodate various types of hardware operating under
`different operating systems across client stations.
`These and other objects are provided, according to the
`55
`present invention, by providing methods, systems and com
`puter program products for management of application
`programs on a network including a server supporting client
`stations. The server provides applications on-demand to a
`user logging in to a client supported by the server. Mobility
`is provided to the user and hardware portability is provided
`by establishing a user desktop interface responsive to a login
`request which presents to the user a desktop screen through
`a web browser interface. The desktop accesses and down
`loads selected application programs from the server respon
`sive to a request from the user, such as the selection of an
`icon associated with the application program which is dis
`
`35
`
`40
`
`45
`
`50
`
`60
`
`65
`
`US 6,510,466 B1
`
`10
`
`15
`
`20
`
`30
`
`4
`played on the user desktop screen at the client. The appli
`cation program is then provided from the server and
`executed at the client. The application program may further
`be customized to conform to the user’s preferences and may
`also provide for license use management by determining
`license availability before initiating execution of the appli
`cation program. Accordingly, applications are provided
`on-demand to users independent of the device used to access
`the server.
`Centralized control of software distribution is also pro
`vided for a network management server managed computer
`network such as a Tivoli" environment. Application pro
`grams are distributed as file packages (packets) to
`on-demand servers. A profile manager import call is
`included in the distributed file packet along with an import
`text file containing the data required to properly install and
`register the application program on the on-demand server
`and make it available to authorized users. Settable
`on-demand server identifier fields are included to allow a
`plurality of on-demand servers to receive a common file
`packet and properly install and register the program for use
`locally.
`In one embodiment of the present invention, a method for
`management of application programs on a network includ
`ing a server and a client is provided. A plurality of appli
`cation programs are installed at the server. The plurality of
`application programs may be installed on a network drive
`accessible to the server. A login request initiating a session
`is received from a user through an application executing at
`the client. A user desktop interface is then established at the
`client associated with the user responsive to the login
`request from the user. The desktop interface includes a
`plurality of display regions associated with a set of the
`plurality of application programs installed at the server for
`which the user is authorized. The server receives a selection
`of one of the plurality of application programs from the user
`desktop interface and provides an instance of the selected
`one of the plurality of application programs to the client for
`execution responsive to the selection.
`In a further embodiment, application management infor
`mation for the plurality of applications is maintained at the
`server and a plurality of display regions associated with a set
`of the plurality of application programs for which the user is
`authorized is included responsive to the application man
`agement information. In a further embodiment of the present
`invention, application launcher programs associated with
`each of the set of the plurality of application programs for
`which the user is authorized are distributed to the client and
`selections of programs are received from one of the appli
`cation launcher programs which is associated with the
`selected one of the plurality of application programs. The
`application launcher programs may be provided as JAVA"
`applets and the user desktop interface may be provided as a
`web browser The application management information may
`include configurable user preference information for the
`plurality of application programs and a set of the config
`urable user preference information associated with the user
`and the selected one of the plurality of application programs
`may be provided to the client for use in executing the
`instance of the application program. The set of the config
`urable user preference information may include both user
`preferences configurable by the user and user preferences
`not configurable by the user which are configurable by an
`administrator. The user preference information may be
`updated responsive to updates from the user and the admin
`istrator respectively.
`In another embodiment of the present invention, the user
`desktop interface is configured at the server responsive to an
`
`
`
`5
`identifier of the user associated with the login request so as
`to provide a configured user desktop interface. The config
`ured user desktop interface is then provided to the client for
`display. The user desktop may be configured not to include
`display regions associated with any of the plurality of
`application programs installed at the server for which the
`user is not authorized.
`In another aspect of the present invention, a license
`availability is determined for the selected one of the plurality
`of application programs for the user. License availability for
`the user desktop application itself may also be determined.
`An unavailability indication is provided to the client respon
`sive to the selection if the license availability indicates that
`a license is not available for the user. The license availability
`may be determined by the one of the application launcher
`programs associated with the selected one of the plurality of
`application programs which may obtain the license avail
`ability from a license management server. The license man
`agement server may run on the same machine as the on
`demand application server.
`In a further aspect of the present invention, event logging
`information is received at the server from the instance of the
`selected one of the plurality of application programs. The
`server provides the received event logging information to a
`network management server associated with the server. In
`addition, event logging information may be provided to the
`user desktop application.
`In yet another aspect of the present invention, methods are
`provided for distribution of application programs to a target
`station on a network from a centralized network manage
`ment server coupled to the network. The application pro
`gram to be distributed is provided to the systems (network)
`management server and a source directory and a target
`directory for distribution of the application program are
`specified. A file packet associated with the application
`program is prepared including a segment configured to
`initiate registration operations for the application program at
`the target station. The file packet is then distributed to the
`target station or stations. In one embodiment, the network
`management server is a Tivoli" server. The segment con
`figured to initiate registration operations may include an
`import data file and a call to an import program executing on
`the target station.
`In one embodiment of the software distribution aspect of
`the present invention, the application program is provided as
`a JAVA" applet and is registered based on a Universal
`Resource Locator (URL) address accessible to a browser
`application. The segment configured to initiate registration
`operations includes a variable field into which the target
`station inserts its identification during registration opera
`tions. The file packet may be distributed to a plurality of
`target stations each having an identification which may be
`inserted into the variable field at the target station.
`While the invention has been described above primarily
`with respect to the method aspects of the invention, both
`systems and computer program products are also provided.
`Accordingly, the present invention provides for manage
`ment of application programs in a network environment
`from a central location while allowing for user preferences
`to be maintained independent of hardware location of the
`user along with centralized distribution of new and/or
`updated application programs. This provides for reduced
`costs and increased uniformity in deploying software in a
`network environment. It further provides an essentially
`hardware transparent ability for an individual user to inter
`face to an on-demand server supported client station while
`
`6
`maintaining the user’s personal preferences for each appli
`cation program.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a schematic diagram of a computer network with
`application program management according to an embodi
`ment of the present invention;
`FIG. 2 is a schematic diagram of an on-demand server
`system according to an embodiment of the present inven
`tion;
`FIG. 3 is a schematic diagram of the on-demand server
`system of FIG. 2 according to an embodiment of the present
`invention;
`FIG. 4 is a flowchart illustrating operations for application
`program distribution and execution according to an embodi
`ment of the present invention;
`FIG. 5 is a flowchart illustrating configuration operations
`for application program distribution and execution accord
`ing to an embodiment of the present invention;
`FIG. 6 is a flowchart illustrating user login operations for
`application program distribution and execution according to
`an embodiment of the present invention;
`FIG. 7 is a flowchart illustrating application access opera
`tions for application program distribution and execution
`according to an embodiment of the present invention;
`FIG. 8 is a flowchart illustrating operations for application
`program distribution and execution in a network manage
`ment server environment such as a Tivoli" environment
`according to an embodiment of the present invention;
`FIGS. 9A, 9B and 9C are flowcharts further illustrating
`operations for application program distribution and execu
`tion according to an embodiment of the present invention;
`and
`FIG. 10 is an illustration of an interface screen used in
`centralized software deployment according to an embodi
`ment of the present invention.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`The present invention now will be described more fully
`hereinafter with reference to the accompanying drawings, in
`which preferred embodiments of the invention are shown.
`This invention may, however, be embodied in many different
`forms and should not be construed as limited to the embodi
`ments set forth herein; rather, these embodiments are pro
`vided so that this disclosure will be thorough and complete,
`and will fully convey the scope of the invention to those
`skilled in the art. As will be appreciated by one of skill in the
`art, the present invention may be embodied as methods,
`systems or computer program products. Accordingly, the
`present invention may take the form of a hardware
`embodiment, a software embodiment or an embodiment
`combining software and hardware aspects.
`FIG. 1 illustrates an embodiment of a computer network
`including configurable application program management
`capabilities according to an embodiment of the present
`invention. Computer network system 10 includes a network
`management server such as a Tivoli" server 20 and
`on-demand servers 22, 22". As used herein, “on-demand”
`refers to a server delivering applications as needed respon
`sive to user requests as requests are received. System 10
`further includes client stations 24, 24', 26, 26'. As illustrated,
`on-demand servers 22, 22' are connected to Tivoli" server
`20 over a first network segment 10. Client stations 24, 24
`
`US 6,510,466 B1
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`US 6,510,466 B1
`
`7
`are served by on-demand server 22 and communicate over
`network 10". Similarly, clients 26, 26' are served by server
`22' and communicate over network 10". As schematically
`illustrated in FIG. 1, client stations 24, 24', 26, 26' may be
`a variety of different hardware operating a variety of differ
`ent operating systems.
`System 10, as illustrated in FIG. 1, is a centrally managed
`computer network with Tivoli" server 20 acting as the
`central administration station executing network manage
`ment software such as TME 10" from Tivoli Systems, Inc.
`Servers 22, 22' act as on-demand servers for their respective
`associated client stations 24, 24', 26, 26' and provide for
`client/server application support. It is further to be under
`stood that networks 10, 10", 10" may be separate physical
`networks, separate partitions of a single physical network or
`may be a single network. Furthermore, Tivoli" server 20
`may be configured to allow for direct communication
`between server 20 and clients 24, 24', 26, 26'. In addition, a
`single machine may be configured to include a client, an
`on-demand server and/or a network (system) management
`
`Serve?.
`As will be described further herein with reference to the
`flowcharts, Tivoli" server 20 provides a means for software
`distribution and management in computer network system
`10. Furthermore, on-demand servers 22, 22' each provide an
`application management system for managing configurable
`application programs using both user and administrative
`preferences for various application programs. More
`particularly, as described in the embodiments herein,
`on-demand servers 22, 22' are configured to operate within
`the eMetwork" environment available from International
`Business Machines Corporation (IBM). As will be further
`discussed herein, the present invention provides for an
`integration of an on-demand server as described herein in
`the IBM eNetworkTM environment with the TME 10TM
`system to provide for centralized control of software appli
`cations including the capability for supporting separate user
`and administration preference parameters. However, while
`the present invention may be implemented in the Tivoli"
`environment, it is also suitable for use with other network
`40
`management envi