`Cox et al.
`
`US006324578B1
`US 6,324,578 B1
`Nov. 27, 2001
`
`(10) Patent No.:
`(45) Date of Patent:
`
`(54) METHODS, SYSTEMS AND COMPUTER
`PROGRAM PRODUCTS FOR
`MANAGEMENT OF CONFIGURABLE
`APPLICATION PROGRAMS ON A
`NETWORK
`
`(75) Inventors: David E. Cox, Raleigh; Kent F. Hayes,
`J r.; David L. Kaminsky, both of
`Chapel Hill; David B. Lindquist,
`Raleigh, all of NC (US)
`
`(73)
`
`Assignee:
`
`International Business Machines
`Corporation, Armong, NY (US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21)
`(22)
`(51)
`(52)
`
`(58)
`
`(56)
`
`Appl. N0.: 09/211,529
`Filed:
`Dec. 14, 1998
`
`Int. Cl.7 ........................... .. G06F 11/00; G06F 15/16
`US. Cl. ........................ .. 709/223; 709/224; 709/225;
`709/201; 709/310; 707/103
`Field of Search ................................... .. 709/223, 224,
`709/310, 201, 225; 707/103
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,263,165
`11/1993 Janis ................................... .. 395/725
`8/1995 Beck et a1. .
`70/221
`5,440,739 *
`9/1996 Kohar et a1.
`.. 340/82572
`5,554,979 *
`5/1997 Ciscon et a1. ..
`..... .. 709/223
`5,634,010
`8/1997 Bonnell et a1.
`709/202
`5,655,081
`5,680,615 * 10/1997 Marlin etal. ..
`707/103
`5,689,708
`11/1997 Regnier et a1.
`709/302
`
`5,745,879 * 4/1998 Wyman . . . . . . . . . .
`
`. . . . . . .. 705/1
`
`5,748,896
`5,764,887
`
`709/223
`5/1998 Daly et a1. .
`6/1998 Kells et al. ........................ .. 713/200
`
`(List continued on next page.)
`
`FOREIGN PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`
`http://nf/pdc97/pro?les and policies.htm “Guide to
`Microsoft Windows NT 4.0 Pro?les and Policies” pp. 1—76.
`http://www/ietf.org/htlm.charters/acap—charter.html “Appli
`cation Con?guration 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.
`
`(List continued on next page.)
`
`Primary Examiner—AyaZ Sheikh
`Assistant Examiner—FrantZ B. Jean
`(74) Attorney, Agent, or Firm—Jeanine S. Ray-Yarletts;
`Myers Bigel Sibley & Sajovec
`(57)
`ABSTRACT
`
`Management of con?gurable applications programs on a
`network is provided by using two program ?les for each
`con?gurable application program. The two program ?les are
`provided to a network server station which operates as the
`on-demand server for software deployment and may also act
`as the application server. The on-demand server makes the
`?rst (con?guration manager) program available to an admin
`istrator to obtain preferences for the con?gurable prefer
`ences of the application program which have been desig
`nated as administrator preferences. The on-demand server
`also provides a second (application launcher) program to its
`client stations. The application launcher program not only
`provides for a user interface to execute the application
`program itself but also allows a user to specify one or more
`of the con?gurable parameters of the application program.
`An icon is displayed on the screen of the client station
`through which a user may initiate execution of the applica
`tion program. The application launcher program provides
`the identity of the user to the server along with the request
`to initiate execution of the application program. The
`on-demand server then initiates execution of the application
`program using stored values for the user and administrator
`set preferences or, if no preferences have yet been obtained
`for the particular user, obtains user preferences before ini
`tiating execution of the application program.
`
`WO 98/50853
`
`11/1998 (WO) ............................. .. G06F/9/44
`
`46 Claims, 5 Drawing Sheets
`
`Install ADDllca?un
`we mm
`
`1
`Blame
`Appnmm
`Launcher m Chents
`
`IPR2017-01291
`Ubisoft EX1004 Page 1
`
`
`
`US 6,324,578 B1
`Page 2
`
`US. PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`
`5,771,354
`
`,
`
`,
`
`ay e a.
`
`.
`
`6/1998 Crawford ........................... .. 709/229
`?ogantetlal
`9/1998 Johnson et al.
`5,813,009
`. 797/100
`12/1998 Fawcett ________ __
`578457077
`_ 709/221
`5,848,243 * 12/1998 Kulkarni et a1.
`. 709/224
`5,875,327 * 2/1999 Brandt et a1. ..
`713/1
`5,881,236
`3/1999 Dickey ......... ..
`. 709/221
`2711112915 6: a11- ~~~~~~~~~~~~~~~~~~ ~~
`*
`670707190 * 5/2000 Reps et a1‘
`. 709024
`670987067
`8/2000 Erickson
`707/10
`6,105,063 * 8/2000 Hayes, Jr.
`. 709/223
`6,105,066 * 8/2000 Hayes, Jr
`- 709/226
`6,105,069 * 8/2000 Ffanklln 9t a1~
`- 709/229
`*
`$132165’ ht ~~~~~~~~~~~~~~~~~~~~~~~~ ~~
`
`,
`
`,
`
`ans ier e a. ................... ..
`
`_
`
`_
`
`_
`
`_
`
`http;//WWW_SOftWaI-e_ibm_Com/OS/Warp/1ibrary/Sq202822_htm,
`“WorkSpace on—Demand Handbook,” Chapters 2.3.1;
`62535311633’ 65'
`,
`hIIpZ//WWW~ .tr1teal.com/SoftNC, Java Desktop Environment
`from Trlteal, PP- 1—2
`http://java.sun.com/products/hot—javavieWs/adminhtml,
`“HotJava Views,” pp, 1_24_
`http://esuite.lotus.com/eSuite/eSuite, “The Right Work
`Environment for NCI'VVOIk Centric Computing, 24 pages.
`TME 10 Software Distribution User 5 Guide, Version 3.1,
`Chapters 1, 4 and 5
`“A Common Desktop Environment for Platforms Based on
`the UNIX Operating System,” By B. E. Cripe, J. A. BreW
`ster, and D. E. Laursen. HeWlett—Packard Journal, VOl. 47,
`
`~
`
`~
`
`~
`
`1,
`
`,
`
`,
`
`a OW e a. .................... ..
`
`. 713/201
`12/2000 Moriconi et a1. ..
`6,158,010
`_ 345/334
`671757363 * 1/2001 Williams et a1_ __
`707/10
`6,175,832 * 1/2001 LuZZiet a1_
`710/33
`6,189,051
`2/2001 Oh e181, _
`. 709/239
`6,192,414 * 2/2001 Horn ..... ..
`6,195,432
`2/2001 Takahashi .......................... .. 380/278
`6,202,206
`3/2001 Dean et a1. .......................... .. 717/11
`
`_
`
`_
`_
`2’_A_pr' 1_’1996’pp' 6, 14'
`Administration of Graphic User Interface and Multimedia
`Ob]ects Using Cooperative Processing,” IBM Technical
`Disclosure Bulletin, vol. 37, No. 9, Sep. 1, 1994, pp.
`675—678, XP000475542.
`
`* cited by examiner
`
`IPR2017-01291
`Ubisoft EX1004 Page 2
`
`
`
`U.S. Patent
`
`Nov. 27, 2001
`
`Sheet 1 0f 5
`
`US 6,324,578 B1
`
`\r‘lI-_-I_,
`Network Manage ent Server
`
`24
`
`t
`
`/ 26
`
`26‘
`
`Client
`
`Client
`
`.gé < ¢ < 2 v r 1
`
`Client
`
`FIG. 1
`
`IPR2017-01291
`Ubisoft EX1004 Page 3
`
`
`
`U.S. Patent
`
`Nov. 27, 2001
`
`Sheet 2 0f 5
`
`US 6,324,578 B1
`
`Software
`Distribution
`
`Install Application
`File Packet
`
`7
`
`52
`
`54
`
`56
`
`Distribute
`Application
`Launcher to Clients
`l
`Distribute
`Configuration
`Manager to
`Administrator
`Client
`
`1
`Obtain User
`Preferences for
`Application
`l
`Obtain
`Administrator
`Preferences for
`
`Application /
`
`Obtain Defaults
`
`64
`
`Additional
`Applications?
`
`Distribution
`Complete
`
`FIG. 2
`
`IPR2017-01291
`Ubisoft EX1004 Page 4
`
`
`
`U.S. Patent
`
`Nov. 27, 2001
`
`Sheet 3 0f 5
`
`US 6,324,578 B1
`
`I
`
`OD Server
`
`I
`
`V
`
`Receive
`Application File
`Packet
`I
`Identify Clients to
`Receive
`Application and
`Administrator
`I
`Distribute
`Launcher(s) and
`Manager(s)
`I
`Obtain Admin and/
`or Default
`Preferences
`I
`Receive Initiate
`Execution Request
`and ID User
`Requesting
`
`New User?
`
`Obtain User Prefs
`Associated With
`Authorized User
`From Memory
`I
`
`86
`
`I
`\ Initiate Execution
`of Application with
`User Prefs
`
`72
`
`74
`
`,\ \ \ \ \
`
`76
`
`78
`
`0
`
`/82
`
`Obtain User Prefs
`Associated With
`Authorized User
`From Launcher
`
`FIG. 3
`
`IPR2017-01291
`Ubisoft EX1004 Page 5
`
`
`
`U.S. Patent
`
`Nov. 27, 2001
`
`Sheet 4 0f 5
`
`US 6,324,578 B1
`
`(
`
`Client: Launcher l
`
`‘
`
`Receive
`Application
`Launcher
`
`90
`
`/
`
`Display Icon
`Associated With
`Application on
`Screen
`
`/92
`
`94
`
`Icon Selected?
`
`l Yes
`
`Obtain User ID and
`Provide Request
`with ID to Sewer
`
`/%
`
`98
`
`User Prefs
`Requested?
`
`l Yes
`Provide User /
`Preferences
`
`100
`
`‘
`
`102
`
`Run Application
`With User and
`Admin Prefs
`
`FIG. 4
`
`IPR2017-01291
`Ubisoft EX1004 Page 6
`
`
`
`U.S. Patent
`
`Nov. 27, 2001
`
`Sheet 5 0f 5
`
`US 6,324,578 B1
`
`i
`
`License Mgmnt
`
`’
`
`186
`
`Receive License
`Request
`
`Establish Default
`
`190
`
`\ \ \ \ \
`
`Apply Administrator
`Overrides
`
`Apply User Overrides
`and Update Database
`if Changes
`
`194
`
`Track License Usage
`
`End
`
`FIG. 5
`
`IPR2017-01291
`Ubisoft EX1004 Page 7
`
`
`
`US 6,324,578 B1
`
`1
`METHODS, SYSTEMS AND COMPUTER
`PROGRAM PRODUCTS FOR
`MANAGEMENT OF CONFIGURABLE
`APPLICATION PROGRAMS ON A
`NETWORK
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`This application is related to the following application
`?led concurrently hereWith: METHODS, SYSTEMS AND
`COMPUTER PROGRAM PRODUCTS FOR CENTRAL
`IZED MANAGEMENT OF APPLICATION PROGRAMS
`ON A NETWORK. This application is also related to US.
`patent application Ser. No. 09/072,597 ?led 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 reference in its
`entirety.
`
`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.
`
`BACKGROUND OF THE INVENTION
`
`Traditional mainframe computer con?gurations provided
`for user interface to the computer through computer termi
`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
`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 dif?cult 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 are installed and maintained on a
`centraliZed server Which supports a plurality of client sta
`tions. In addition, the Systems Management Server (SMS)
`program from Microsoft Corporation provides an ability to
`transmit an application program 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. AcustomiZed install generally must be
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`created by a system administrator for each different version
`to be installed. Furthermore, once installed at a client, a user
`must typically use that speci?c client station. The applica
`tion 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) 10TM system from Tivoli
`Systems, Inc. provides a softWare distribution feature Which
`may be used to transmit a ?le package to client and server
`stations on a netWork from a central TivoliTM 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 dif?cult. Furthermore, differ
`ences in hardWare or connections may create inef?ciencies
`as users move from Workstation to Workstation. For
`example, a user may, in a ?rst 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 ?rst session, may be inappropriate
`or inefficient in a later session.
`Efforts to address mobility of uses in a netWork have
`included efforts to provide preference mobility such as, for
`example, Novell’s Z.E.N.WorksTM, Microsoft’s “Zero
`Administration” initiative for Windows@ and International
`Business Machines Corporation’s (IBM’s) Workspace On
`DemandTM. 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 may be limited
`to a homogeneous 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 do not fully
`support roaming by users. The JAVATM 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
`applications do alloW personaliZing of a speci?c application
`display by user, this capability is generally not managed
`
`IPR2017-01291
`Ubisoft EX1004 Page 8
`
`
`
`US 6,324,578 B1
`
`3
`across applications for a user. Furthermore, it typically
`associates personalized screen information With an Internet
`address Which is client device rather than user associated,
`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 systems 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 de?ne session characteristics at each differing
`Workstation they used in the netWork or maintain local
`characteristic de?nitions 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 to applications by users is difficult to
`accomplish in a mobile environment.
`An additional user based application management capa
`bility not fully supported by these various approaches is
`license use management. License use management typically
`involves controlling hoW many users can use an application.
`A distributed netWork environment With a plurality of client
`stations and a plurality of different users accessing the
`applications from different clients increases the challenge
`associated With managing license use to insure compliance
`With limitations established by softWare designers. These
`environments also 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 management of con?gurable application programs on a
`computer netWork Which alloW a mix of user and system
`administrator de?ned con?gurable preferences to be asso
`ciated With speci?c application programs.
`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
`present invention, by providing tWo program ?les for each
`con?gurable application program Which are provided to a
`netWork server station Which operates as an on-demand
`server for softWare deployment and may also act as the
`application server. The on-demand server makes the ?rst, or
`con?guration manager, program available to an administra
`tor classi?ed user (either remotely at a client station or at a
`direct interface to the server station) to provide an interface
`to establish preferences for the con?gurable preferences of
`the application program Which have been designated as
`administrator only settable. The on-demand server also
`provides a second, or application launcher, program to client
`stations on the netWork and served by the on-demand server.
`The application launcher program not only provides for a
`user interface to execute the application program itself but
`also alloWs a user to specify one or more of the con?gurable
`parameters of the application program. An icon is displayed
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`4
`on the screen of the client station through Which a user may
`initiate execution of the application program. The
`on-demand application launcher may also obtain a license
`for the requesting user before initiating execution thereby
`providing centraliZed license management support.
`The application launcher program ?rst determines the
`user identity (ID) and provides the user information to the
`server along With the request to initiate execution of the
`application program. The application program is then
`executed using stored values for the user and administrator
`set preferences or, if no preferences have yet been obtained
`for the particular user (or neW preferences are desired), user
`preferences are obtained before initiating execution of the
`application program itself. Apro?le manager program on the
`on-demand server provides a user interface and maintains
`pro?le information for each client (hardWare related) and
`user (preferences) for all managed con?gurable application
`programs available on the on-demand server. The pro?le
`manager program may also control access to various appli
`cations based on user authoriZation information.
`In one embodiment of the present invention methods,
`systems and computer program products are provided for
`management of con?gurable application programs on a
`netWork. An application program having a plurality of
`con?gurable preferences and a plurality of authoriZed users
`is installed on a server coupled to the netWork. An applica
`tion launcher program associated With the application pro
`gram is distributed to a client coupled to the netWork. Auser
`set of the plurality of con?gurable preferences associated
`With one of the plurality of authoriZed users executing the
`application launcher program is obtained and an adminis
`trator set of the plurality of con?gurable preferences is
`obtained from an administrator. The application program is
`then executed using the obtained user set and the obtained
`administrator set of the plurality of con?gurable preferences
`responsive to a request from the one of the plurality of
`authoriZed users. The request may be received from the one
`of the plurality of authoriZed users through the application
`launcher program.
`In another embodiment of the present invention, a con
`?guration manager program associated With the application
`program is distributed to a second client coupled to the
`netWork and the administrator set of the plurality of con?g
`urable preferences is obtained from an administrator execut
`ing the con?guration manager program. The administrator
`may be one of the plurality of authoriZed users Who is
`authoriZed to execute the con?guration manager program. In
`one embodiment of the present invention, an icon associated
`With the application program is displayed on a screen of the
`client and an authoriZed user may execute the application
`launcher program by selecting the displayed icon.
`In one embodiment of the present invention, obtained user
`sets and obtained administrator sets are stored on a storage
`device coupled to the server and retrieved from the storage
`device then initiating execution of the application program.
`Default preference values may be provided and used for any
`of the plurality of con?gurable preferences Which are not
`speci?ed by the user set or the administrator set.
`Furthermore, the default preference values may be also be
`stored on the storage device coupled to the server.
`In a further aspect of the present invention, security may
`be provided by determining if a user requesting execution of
`the application program is one of the plurality of authoriZed
`users. This aspect may also be combined With the license use
`management aspects of the present invention to further
`control access to managed application programs.
`
`IPR2017-01291
`Ubisoft EX1004 Page 9
`
`
`
`US 6,324,578 B1
`
`5
`In another embodiment of the present invention, addi
`tional application programs are managed according to the
`teachings of the present invention along With user prefer
`ences obtained from a plurality of users. Furthermore, for
`each application program, associated application launcher
`programs may be distributed to a plurality of client stations
`and obtain user preferences from a plurality of users.
`In a further embodiment of the present invention,
`methods, systems and computer program products are pro
`vided for management of con?gurable application programs
`on a netWork. An application program having a plurality of
`con?gurable preferences and a plurality of authoriZed users
`is installed on a server and an application launcher program
`associated With the application program is distributed to a
`client. Auser set of the plurality of con?gurable preferences
`is obtained from one of the plurality of authoriZed users
`executing the application launcher program and an admin
`istrator set of the plurality of con?gurable preferences is
`obtained from an administrator. The application program is
`then executed using a stored user set and the administrator
`set of the plurality of con?gurable preferences responsive to
`a request from the one of the plurality of authoriZed users.
`In another embodiment of the present invention, methods,
`systems and computer program products are provided for
`management of con?gurable application programs on a
`netWork including receiving an application launcher pro
`gram associated With an application program having a
`plurality of con?gurable preferences from a server. A user
`set of the plurality of con?gurable preferences from one of
`the plurality of authoriZed users executing the application
`launcher program is provided to the server. The server is also
`requested to provide an instance of the application program
`and a stored user set and an administrator set of the plurality
`of con?gurable preferences for use in executing the appli
`cation program responsive to a request from the one of the
`plurality of authoriZed users.
`In a further aspect of the present invention, methods,
`systems and computer program products are provided for
`management of license use for a netWork. License manage
`ment policy information for a plurality of application pro
`grams is maintained at a license management server.
`Requests are received at the license management server for
`a license availability of a selected one of the plurality of
`application programs from a user at a client. The license
`management server determines the license availability for
`the selected one of the plurality of application programs for
`the user based on the maintained license management policy
`information and provides an unavailability indication to the
`client responsive to the selection if the license availability
`indicates that a license is not available for the user or an
`availability indication if the licensed availability indicates
`that a license is available for the user. The request may be
`received from an application launcher program associated
`With the selected one of the plurality of application programs
`and the availability or unavailability indication may be
`provided to the application launcher program. In one
`embodiment, the license management server is an on
`demand server associated With the client Which provides an
`instance of the selected one of the application programs to
`the client for execution.
`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 con?gurable application programs in a netWork
`environment from a central on-demand server location While
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6
`alloWing for user preferences to be tracked independent of
`hardWare location of the user. This provides for reduced
`costs and increased uniformity in managing softWare in a
`netWork environment by delivering con?gured applications
`When demanded by a user. It further provides an essentially
`hardWare transparent ability for an individual user to inter
`face to an on-demand server supported client station While
`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
`con?gurable application program management according to
`an embodiment of the present invention;
`FIG. 2 is a ?oWchart illustrating operations for application
`program distribution to clients on a computer netWork
`according to an embodiment of the present invention;
`FIG. 3 is a ?oWchart illustrating operations for application
`program distribution and execution from the server perspec
`tive according to an embodiment of the present invention;
`FIG. 4 is a ?oWchart illustrating operations for application
`program distribution and execution from the client and user
`perspective according to an embodiment of the present
`invention; and
`FIG. 5 is a ?oWchart illustrating license use management
`according to an embodiment 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 con?gurable application program management
`capabilities according to an embodiment of the present
`invention. Computer netWork system 10 includes a netWork
`management server such as a TivoliTM 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 TivoliTM server
`20 over a ?rst 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
`hardWare from a variety of designers operating a variety of
`different operating systems.
`System 10, as illustrated in FIG. 1, is a centrally managed
`computer netWork With TivoliTM server 20, acting as the
`central administration station executing netWork manage
`ment softWare such as TME IOTM from Tivoli Systems, Inc.
`Servers 22, 22‘ act as on-demand servers for their respective
`
`IPR2017-01291
`Ubisoft EX1004 Page 10
`
`
`
`US 6,324,578 B1
`
`7
`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, TivoliTM server 20
`may be con?gured to alloW for direct communication
`betWeen server 20 and clients 24, 24‘, 26, 26‘.
`TivoliTM server 20 provides a means for softWare distri
`bution and management in computer netWork system 10.
`Furthermore, on-demand servers 22, 22‘ each provide an
`application management system for managing con?gurable
`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 con?gured to operate Within
`the eNetWorkTM environment available from International
`Business Machines Corporation (IBM). An on-demand
`server Which may be modi?ed according to the present
`invention is described in US. patent application Ser. No.
`09/211,528 Which is incorporated herein by reference in its
`entirety. HoWever, While the present invention may be
`implemented in this environment, it is also suitable for use
`With other client/server and netWork management environ
`ments.
`Operations of the present invention Will noW be described
`With respect to the ?oWcharts of FIGS. 2 through 5. It Will
`be understood that each block of the ?oWchart illustrations,
`and combinations of blocks in the ?oWchart illustrations,
`can be implemented by computer program instructions.
`These program instructions may be provided to a processor
`to produce a machine, such that the instructions Which
`execute on the processor create means for implementing the
`functions speci?ed in the ?oWchart block or blocks. The
`computer program instructions may be executed by a pro
`cessor to cause a series of operational steps to be performed
`by the processor to produce a computer implemented pro
`cess such that the instructions Which execute on the proces
`sor provide steps for implementing the functions speci?ed in
`the ?oWchart block or blocks.
`Accordingly, blocks of the ?oWchart illustrations support
`combinations of means for performing the speci?ed
`functions, combinations of steps for performing the speci
`