`US007069293B2
`
`02) United States Patent
`Cox et al.
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 7,069,293 B2
`Jun.27,2006
`
`(54) METHODS, SYSTEMS AND COMPUTER
`PROGRAM PRODUCTS FOR DISTRIBUTION
`OF APPLICATION PROGRAMS TO A
`TARGET STATION ON A NETWORK
`
`(75)
`
`Inventors: David E. Cox, Raleigh, NC (US); Kent
`F. Hayes, Jr., Chapel Hill, NC (US);
`David B. Lindquist, Raleigh, NC (US);
`John R. McGarvey, Apex, NC (US);
`Abdi Salahshour, Raleigh, NC (US)
`(73) Assignee: International Business Machines
`Corporation, Armonk, NY (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 782 days.
`(21) Appl. No.: 09/870, 608
`
`( *) Notice:
`
`(22) Filed:
`
`May 31, 2001
`
`(65)
`
`Prior Publication Data
`
`US 2002/0032763 Al Mar. 14, 2002
`
`(62)
`
`(51)
`
`(52)
`
`(58)
`
`Related U.S. Application Data
`Division of application No. 09/2ll ,528, filed on Dec.
`14, 1998, now Pat. No. 6,510,466.
`
`lnt. Cl.
`(2006.0J)
`G06F 15/16
`(2006.01)
`G06F 9144
`(2006.01)
`G06F 91445
`U.S. Cl. ...................... 7091203; 709/228; 709/218;
`709/219; 717/171; 7171172
`Field of Classification Search ................ 709/207,
`709/217,226,221,223, 203, 228, 219, 218;
`717111 , 171 , 172
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,263,165 A
`1111993 Janis .......................... 395/725
`8/1995 Beck et al . ................. 709/221
`5,440,739 A
`9/ 1996 Kohar et al. ........... 340/825.72
`5,554.979 A
`
`5,680,615 A
`
`1011997 Marlin et al ................ 707/1 03
`
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`
`9850853
`
`ll/1998
`
`OTHER PUBLICATIONS
`"A Common Desktop Environment for Platforms Based on
`the UNIX Operating System," By B.E. Cripe, J.A. Brewster,
`and D.E. Laursen, Hewlett-Packard Journal, vol. 47, No. 2,
`Apr. 1, 1996, pp. 6-14.
`
`(Continued)
`
`Primary Examiner- Rupal Dharia
`Assistant E.xaminer- Djenane Bayard
`(74) Attorne;; Agent, or Firm- Myers Bigel Sibley &
`Sajovec; Stephen A. Calogero
`
`(57)
`
`ABSTRACT
`
`Methods, systems and computer program products for man(cid:173)
`agement of application programs on a network including a
`server supporting client stations are provided. 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 which accesses and downloads selected application
`programs from the server responsive to a request from the
`user on the user desktop screen at the client. The application
`program is then provided from the server and executed at the
`client. The application program may further be customized
`to confonu to the user's preferences and may also provide
`for license use management by determining license avail(cid:173)
`ability before initiating execution of the application pro(cid:173)
`gram. Finally, software distribution and installation may be
`provided from a single nel\vork management server.
`
`21 Claims, 9 Drawing Sheets
`
`IPR2017-00184
`UNIFIED EX1001
`
`
`
`US 7,069,293 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`5,689,708 A
`5,708,709 A
`5,745,879 A
`5,748,896 A
`5,764,887 A
`5,771,354 A
`5,778,368 A
`5,813,009 A
`5,845,077 A
`5,848,243 A
`5,867,713 A *
`5,875,327 A
`5,881,236 A
`5,9ll,066 A
`5,919,247 A *
`5,996,012 A *
`6,006,035 A *
`6,047,194 A *
`6,070,190 A
`6,105,063 A
`6,105,066 A
`6,105,069 A
`6,108,712 A
`6,131,ll2 A *
`6,175,363 Bl
`6,175,832 Bl
`6,182,142 Bl
`6,192,414 Bl
`
`ll/1997 Regnier et al .............. 709/302
`1/1998 Rose ............................. 380/4
`4/1998 Wyman ......................... 705/1
`511998 Daly et al. .................. 709/223
`611998 Kells et al. ................. 713/200
`611998 Crawford .................... 7091229
`7/1998 Hogan et al. ................. 707/10
`9/1998 Johnson et al. ............. 707/100
`12/1998 Fawcett ...................... 709/221
`12/1998 Kulkarni et al. ............ 709/224
`2/1999 Shrader et al .............. 717/176
`2/1999 Brandt et al. .................. 713/1
`3/1999 Dickey ....................... 709/221
`611999 Williams et al. ............ 709/300
`7/1999 Van Hoff et al ............ 709/217
`11/ 1999 Jarriel ........................ 709/226
`12/1999 Nabahi ....................... 717/175
`412000 Andersson .................. 455/466
`512000 Reps et al.
`................. 709/224
`8/2000 Hayes, Jr .................... 709/223
`8/2000 Hayes, Jr .................... 709/226
`8/2000 Franklin et al.
`............ 7091229
`8/2000 Hayes, Jr .................... 709/246
`10/2000 Lewis et al ................. 709/207
`1/2001 Williams et al. ............ 345/334
`1/2001 Luzzi et al.
`.................. 707 /10
`1/2001 Win et al. ................... 7091229
`212001 Horn .......................... 709/239
`
`6,202,206 Bl*
`6,6ll,498 Bl*
`2003/0ll0241 Al*
`
`3/2001 Dean et al. ................. 717/177
`8/2003 Baker et al ................. 370/252
`6/2003 Cheng et al.
`............... 709/221
`
`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
`to
`"Guide
`Microsoft Windows NT 4.0 Profiles and Policies" pp. 1-76.
`http://www/ietf.org/html.charters/acap-charter.html "Appli(cid:173)
`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," Chapters 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
`
`Jun. 27, 2006
`
`Sheet 1 of 9
`
`US 7,069,293 B2
`
`FIG. 1
`
`11111
`Network Management
`Server
`
`10
`
`/
`
`20
`
`10·
`
`22
`
`22·
`
`Server
`
`Server
`
`10 ..
`
`10· ..
`
`24
`
`24•
`
`26
`
`26'
`
`D
`
`Client
`
`D D
`
`Client
`
`Client
`
`Client
`
`
`
`U.S. Patent
`
`Jun.27, 2006
`
`Sheet 2 of 9
`
`US 7,069,293 B2
`
`200
`
`FIG. 2
`
`22
`
`204
`
`206
`
`Client Management Server
`
`Web Server
`
`208
`
`Data Base
`
`Admin Console
`
`202
`
`User Console
`
`204
`
`FIG. 3
`214
`
`Web Server
`
`Servlets
`
`206
`
`200
`
`Web Browser
`
`Config. Framework
`
`Conf.
`
`User
`Au th
`
`License System
`Hdw.
`lnven Mgmnt Mgmnt
`
`208
`
`224
`
`Network Registry
`
`210
`
`212
`
`220
`
`216
`
`218
`
`226
`
`.__ ____ Desktop/Webtop/Apps
`
`202
`
`Client Access
`
`228
`
`
`
`U.S. Patent
`
`Jun.27, 2006
`
`Sheet 3 of 9
`
`US 7,069,293 B2
`
`FIG. 4
`
`On-Demand Server
`
`No
`
`232
`
`Configuration
`
`234
`
`New Session?
`
`No
`
`236
`
`Login
`
`No
`
`240
`
`Access Application
`
`End
`
`
`
`U.S. Patent
`
`Jun.27, 2006
`
`Sheet 4 of 9
`
`US 7,069,293 B2
`
`FIG. 5
`
`Configuration
`
`Import Application
`Definition
`
`Input User Info for
`Application
`
`Input License Policy
`
`Input Access
`Specifications
`
`Update DataBase
`
`End
`
`250
`
`252
`
`254
`
`256
`
`258
`
`
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 5 of 9
`
`US 7,069,293 B2
`
`FIG. 6
`
`Login
`
`260
`
`262
`
`Receive HTTP
`Request
`
`Obtain ID and
`Password
`
`No
`
`Yes
`
`268
`
`No
`
`license Available?
`
`266
`
`Yes
`
`270
`
`Display Error Message
`
`Display Desktop with
`Authorized Applications
`and Enable Logging
`
`End
`
`
`
`U.S. Patent
`
`Jun.27, 2006
`
`Sheet 6 of 9
`
`US 7,069,293 B2
`
`FIG. 7
`
`Access
`
`Receive Application
`Request
`
`280
`
`283
`
`282
`
`Obtain ID and
`Password
`
`No
`
`Credentials
`Available?
`
`No
`
`288
`
`No
`
`License Available?
`
`286
`
`Yes
`
`290
`
`Display Error Message
`
`Initiate Instance of
`Application and Enable
`Logging
`
`End
`
`
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 7 of 9
`
`US 7,069,293 B2
`
`FIG. 8
`
`Tivoli Distribution
`
`110
`
`Provide Software v
`
`Access to Tivoli
`Server
`
`'
`Specify Direcotories
`
`112
`for Software and v
`
`Program
`Information
`
`114
`
`v
`
`116
`
`Execute Pre-
`Distribution
`Program
`
`Distribute Software
`to Specified OD
`Servers
`
`•
`Execute After
`Distribution
`Program
`
`118
`
`v
`
`120
`Update Profile v
`
`Management List
`of OD Server
`
`
`
`FIG. 9A
`Create File Package Definition
`130. Start Set Up Custom
`Fiie Package Task
`
`13
`
`Enter file package
`-Source & Target I
`-Before/After Pgm
`-Import txUID/PSW
`
`FIG. 9B
`Distribute File Package
`150 Start File Package
`DlstrlbUtlon Task
`
`FIG. 9C
`
`~ •
`00.
`•
`
`Terminate
`
`138
`Issue
`Error
`Message
`
`Terminate
`
`158.
`
`Process After
`Dist. Program
`
`No
`
`Yes
`176 Cail PMlmport to
`Register Applet
`With Data Store
`
`180
`
`Issue
`Error
`Message
`
`QC
`
`0 ....
`
`\0
`
`__ __......_
`
`162
`
`Issue
`Error
`Message
`
`Terminate
`
`14
`
`Add PMlmport
`Command Script
`To After List
`
`144 Save File Package
`Definition
`
`Terminate
`
`Process Before
`Dist. Program
`
`16
`
`Build Package and
`Distribute The
`File Pack e
`
`Yes
`184 Refresh & Display
`Applet(s) on the
`A
`t Launcher
`
`l-''-11-t Termi nate
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jun.27,2006
`Jun. 27,2006
`
`Sheet 9 of 9
`Sheet 9 of 9
`
`US 7,069,293 B2
`US 7,069,293 B2
`
`FIG. 10
`
`d Check Disksace sh
`
`c.\My_App|ets\My_S’e/tAufish
`
`
`
`US 7,069,293 B2
`
`1
`METHODS, SYSTEMS AND COMPUTER
`PROGRAM PRODUCTS FOR DISTRIBUTION
`OF APPLICATION PROGRAMS TO A
`TARGET STATION ON A NETWORK
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`2
`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
`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
`10 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, typi-
`cally, these systems include combinations of network appli(cid:173)
`cations and native applications as well as combinations of
`different connection types and hardware devices. As used
`herein "native applications" refers to applications which are
`20 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(cid:173)
`cations makes portability of preferences or operating envi-
`25 ronment characteristics which provide consistency from
`workstation to workstation difficult. Furthermore, differ(cid:173)
`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
`30 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(cid:173)
`chrome display and a low speed modem connection to the
`35 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
`40 included efforts to provide preference mobility such as, for
`example, Novell's Z.E.N.works™, Microsoft's "Zero
`Administration" initiative for Windows® and International
`Business Machines Corporation's (IBM's) Workspace On
`Demand™. However, these solutions each typically require
`45 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
`50 startup to setup tasks to customize the user's environment,
`the Microsoft Zero Administration solution is typically
`limited to a homogeneous (Windows® 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
`60 server rather than the client. Accordingly, the communica(cid:173)
`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
`65 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
`
`This application is a divisional of application Ser. No.
`09/211,528 filed Dec. 14, 1998 now U.S. Pat. No. 6,510,466.
`This application is related to the following application filed
`concurrently herewith: METHODS, SYSTEMS AND
`COMPUTER PROGRAM PRODUCTS FOR MANAGE(cid:173)
`MENT OF CONFIGURABLE APPLICATION PRO-
`GRAMS ON A NETWORK. This application is also related 15
`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(cid:173)
`ence in its entirety.
`
`FIELD OF THE INVENTION
`
`The present invention relates to network management in
`general and in particular to application program manage(cid:173)
`ment on a computer network.
`
`BACKGROUND OF THE INVENTION
`
`Traditional mainframe computer configurations provided
`for user interface to the computer through computer termi(cid:173)
`nals 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(cid:173)
`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(cid:173)
`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 modem distributed processing computer environ(cid:173)
`ment, control over software, such as application programs,
`is more difficult than where a mainframe operated by an
`administrator is used, particularly for large organizations
`with numerous client stations and servers distributed widely
`geographically and utilized by a large number of users.
`Furthermore, individual users may move from location to
`location and need to access the network from different client
`stations at different times. The networked environment 55
`increases the challenges for a network administrator 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(cid:173)
`trol problems is to use an application server in which the
`application programs are installed and maintained on a
`centralized server which supports a plurality of client sta(cid:173)
`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(cid:173)
`poration provides an ability to transmit an application pro-
`
`
`
`3
`hardware independent application development but fails to
`provide an integrated framework for presenting multiple
`independent applications to a user. While various web
`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(cid:173)
`cations for a user. Furthermore, it typically associates per(cid:173)
`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(cid:173)
`erogeneous network utilizing differing devices and connec(cid:173)
`tions. The system typically will not present application 15
`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(cid:173)
`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(cid:173)
`bution capabilities from a central location are provided, such
`as with the TME 1 O™ 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(cid:173)
`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 55
`can accommodate various types of hardware operating under
`different operating systems across client stations.
`These and other objects are provided, according to the
`present invention, by providing methods, systems and com(cid:173)
`puter program products for management of application 60
`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 65
`request which presents to the user a desktop screen through
`a web browser interface. The desktop accesses and down-
`
`US 7,069,293 B2
`
`4
`loads selected application programs from the server respon(cid:173)
`sive to a request from the user, such as the selection of an
`icon associated with the application program which is dis(cid:173)
`played on the user desktop screen at the client. The appli(cid:173)
`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-
`lO cation program. Accordingly, applications are provided on(cid:173)
`demand to users independent of the device used to access the
`server.
`Centralized control of software distribution is also pro(cid:173)
`vided for a network management server managed computer
`network such as a Tivoli™ environment. Application pro(cid:173)
`grams are distributed as file packages (packets) to on(cid:173)
`demand servers. A profile manager import call is included in
`the distributed file packet along with an import text file
`20 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(cid:173)
`demand servers to receive a common file packet and prop-
`25 erly 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(cid:173)
`ing a server and a client is provided. A plurality of appli-
`30 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
`35 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
`40 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-
`45 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(cid:173)
`agement information. In a further embodiment of the present
`50 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(cid:173)
`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(cid:173)
`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
`
`
`
`US 7,069,293 B2
`
`25
`
`5
`administrator. The user preference information may be
`updated responsive to updates from the user and the admin(cid:173)
`istrator respectively.
`In another embodiment of the present invention, the user
`desktop interface is configured at the server responsive to an
`identifier of the user associated with the login request so as
`to provide a configured user desktop interface. The config(cid:173)
`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 10
`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 15
`the user desktop application itself may also be determined.
`An unavailability indication is provided to the client respon(cid:173)
`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 20
`programs associated with the selected one of the plurality of
`application programs which may obtain the license avail(cid:173)
`ability from a license management server. The license man(cid:173)
`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 30
`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- 35
`ment server coupled to the network. The application pro(cid:173)
`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 40
`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- 45
`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 50
`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- 55
`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 60
`systems and computer program products are also provided.
`Accordingly, the present invention provides for manage(cid:173)
`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 65
`user along with centralized distribution of new and/or
`updated application programs. This provides for reduced
`
`6
`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(cid:173)
`face to an on-demand server supported client station while
`maintaining the user's personal preferences for each appli(cid:173)
`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(cid:173)
`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(cid:173)
`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(cid:173)
`ment of the present invention;
`FIG. 5 is a flowchart illustrating configuration operations
`for application program distribution and execution accord(cid:173)
`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(cid:173)
`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(cid:173)
`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(cid:173)
`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(cid:173)
`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(cid:173)
`ments set forth herein; rather, these embodiments are pro(cid:173)
`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 embodi(cid:173)
`ment, 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(cid:173)
`demand servers 22, 22'. As used herein, "on-demand" refers
`to a server delivering applications as needed responsive to
`user requests as requests are received. System 10 further
`
`
`
`US 7,069,293 B2
`
`7
`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'
`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(cid:173)
`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(cid:173)
`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(cid:173)
`stood that networks 10', 10", 10"' may be separate physi