`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 1 of 19 PageID #: 1770
`
`EXHIBIT A
`
`EXHIBIT A
`
`
`
`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 2 of 19 PageID #: 1771
`Case 2:16-cv-00741-RWS Document 151-1 \flllfiflllflfiflllllllillllifilfilmllfli IIIHIIIIIIIIWIIIIIIV1
`
`
`USOO6324578B1
`
`(12) United States Patent
`US 6,324,578 B1
`(10) Patent N0.:
`(45) Date of Patent:
`Cox et al.
`Nov. 27, 2001
`
`(54) METHODS, SYSTEMS AND COMPUTER
`Ml:(NiléTERMEN¥%IEng$£§UMBLE
`APPLICATION PROGRAMS ON A
`NETWORK
`
`(75)
`
`Inventors: David E. Cox, Raleigh; Kent F. Hayes,
`Jr.; David L. Kaminsky, both of
`Chapel Hill; David B. Lindquist,
`Raleigh, all Of NC (US)
`
`(73) Assignee:
`
`International Business Machines
`Corporation, Arrnong, NY (US)
`
`.
`( * ) Not1ce:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) APPL N05 09/211529
`(22)
`Filed:
`Dec. 14, 1998
`
`Int. Cl.7 ............................. G06F 11/00; G06F 15/16
`(51)
`(52) US. Cl.
`.......................... 709/223; 709/224; 709/225;
`709/201; 709/310; 707/103
`(58) Field of Search ..................................... 709/223, 224,
`709/310, 201, 225; 707/103
`
`(56)
`
`References Cited
`
`US PATENT DOCUMENTS
`11/1993 Janis ..................................... 395/725
`5,263,165
`
`8/1995 Beck et a1.
`..... 70/221
`5,440,739 *
`.................... 340/82572
`9/1996 Kohar et a1.
`5,554,979 *
`5/1997 Ciscon et a1.
`........................ 709/223
`5,634,010
`
`8/1997 Bonnell et a1.
`709/202
`5,655,081
`576807615 * 10/1997 Math? 6t a1~
`707/103
`
`g’gig’gg *
`1411;133; 55%? et al‘
`7026353?
`
`5/1998 Dzily et al”””””””§09/223
`5’748,896
`5,764,887
`6/1998 Kells et al. tI:IIIIIIIIIII 713/200
`’
`’
`
`(List continued on next page.)
`FOREIGN PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`to
`http://nf/pdc97/profiles
`and
`policies.htm “Guide
`Microsoft WlndoWs 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 545
`
`(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 configurable applications programs on a
`network is provided by using two program files for each
`configurable application program. The two program files 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
`first (configuration manager) program available to an admin-
`istrator to obtain preferences for the configurable 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 1156“" SPeCify one or more
`of the configurable 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
`ngram “5ng Stored values for the user and adminiStramr
`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 (W0) ............................... GO6F/9/44
`
`46 Claims, 5 Drawing Sheets
`
`Install ADDhcanun
`Flle Packet
`
`
`
`
`
`
`
`
`
`
`
`
`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 3 of 19 PageID #: 1772
`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 3 of 19 PageID #: 1772
`
`US 6,324,578 B1
`
`Page 2
`
`US. PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`
`6/1998 Crawford ............................. 709/229
`5,771,354
`3133: EOgantetlal.
`-~
`~~~~~733/7533)
`3,233,325:
`ay e a.
`,
`,
`9/1998 Johnson et al.
`797/100
`5,813,009
`12/1998 Fawcett ..........
`709/221
`5,845,077
`5,848,243 * 12/1998 Kulkarnietal. ..................... 709/224
`5,875,327 *
`2/1999 Brandt et al.
`............................ 713/1
`5,881,236
`3/1999 Dickey ...........
`709/221
`
`*
`gaggaggi
`31333 :Vllhfifns ettalL ~~
`Zggggg
`,
`,
`ans iere a.
`
`........................... 709/224
`6,070,190 *
`5/2000 Reps et al.
`6,098,067
`8/2000 Erickson ................................ 707/10
`..
`6,105,063 *
`8/2000 Hayes, Jr.
`709/223
`
`6,105,066 *
`8/2000 HayCS, Jr.
`709/226
`
`8/2000 Ffanklln et al-
`6,105,069 *
`709/229
`* 33888 3:13:57 hit ~1~~~~
`gaiggagfi
`22%;:
`,
`,
`a 0W e a.
`
`12/2000 Moriconi et al.
`..
`6,158,010
`713/201
`
`..
`.. 345/334
`6,175,363 *
`1/2001 Williams et a1.
`1/2001 Luzziet a1.
`..... 707/10
`6,175,832 *
`
`..... 710/33
`6,189,051
`2/2001 Oh et a1.
`
`2/2001 Horn ..........
`6,192,414 *
`709/239
`
`..
`6,195,432
`2/2001 Takahashi
`380/278
`3/2001 Dean et al.
`............................ 717/11
`6,202,206
`
`http://www.software.ibm.com/os/warp/library/sq202822.htm,
`“WorkSpace
`on—Demand Handbook,” Chapters 2.3.1;
`.
`.
`.
`.
`6.2’6i3’6i3il’.6i3i3’ 6.5.
`.
`http://WWW..triteal.com/SoftNC, Java Desktop EnVironment
`from Trlteal, PP~ 1-2~
`http://java.sun.com/products/hot—javaviews/adminhtml,
`“HotJava Views,” pp. 1—24.
`“The Right Work
`http://esuite.lotus.com/eSuite/eSuite,
`-
`:9
`-
`-
`Enmonmem for Netwofk Cfn’nmc C?mput.mg’ 24 .pages‘
`TME 10 Software D15””Wm” Us” 5 Guide) VerSIOH 31>
`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, V01. 47,
`_
`N0 2’.A.pr’ 1.’1996’pp’ 6. 14‘
`.
`.
`Administration of Graphic User Interface and Multimedia
`Objects Usmg Cooperative Processmg,” IBM Technical
`Disclosure Bulletin, vol. 37, No. 9, Sep. 1, 1994, pp.
`675—678, XP000475542.
`
`* cited by examiner
`
`
`
`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 4 of 19 PageID #: 1773
`Case 2:16-cv-OO741-RWS Document 151-1 Filed 05/18/17 Page 4 of 19 PageID #: 1773
`
`US. Patent
`
`Nov. 27, 2001
`
`Sheet 1 0f 5
`
`US 6,324,578 B1
`
`20
`
` Network Manage ent Server
`
`24
`
`10"!
`
`FIG. 1
`
`
`
`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 5 of 19 PageID #: 1774
`Case 2:16-cv-OO741-RWS Document 151-1 Filed 05/18/17 Page 5 of 19 PagelD #: 1774
`
`US. Patent
`
`Nov. 27, 2001
`
`Sheet 2 0f 5
`
`US 6,324,578 B1
`
`Software
`
`Distribution
`
`Install Application
`File Packet
`
`
`
`Distribute
`
`Application
`Launcher to Clients
`
`50
`
`52
`
`54
`
`56
`
`58
`
`60
`
`62
`
`Obtain Defaults
`
` Distribute
`
`Configuration
`Manager to
`Administrator
`
`Client
`
`
`
`Obtain User
`Preferences for
`Application
`
`
`
`
` Obtain
`
`Administrator
`Preferences for
`
`Application
`
`
`
`
`Needed?
`
`Yes Defaults
`
`
`
` Additional
`Applications?
`
`
`N0
`
`Distribution
`
`Complete
`
`FIG. 2
`
`
`
`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 6 of 19 PageID #: 1775
`Case 2:16-cv-OO741-RWS Document 151-1 Filed 05/18/17 Page 6 of 19 PagelD #: 1775
`
`US. Patent
`
`Nov. 27, 2001
`
`Sheet 3 0f 5
`
`US 6,324,578 B1
`
`Receive
`
`Application File
`Packet
`
`Identify Clients to
`Receive
`
`Application and
`Administrator
`
`Distribute
`
`Launcher(s) and
`Manager(s)
`
`
`
`Obtain Admin and/
`or Default
`Preferences
`
`Receive Initiate
`
`Execution Request
`and ID User
`Requesting
`
`84
`
`70
`
`72
`
`74
`
`76
`
`78
`
`30
`
`82
`
`Obtain User Prefs
`
`Obtain User Prefs
`
`
`
`Associated With
`Associated With
`Authorized User
`Authorized User
`
`
`From Memory
`From Launcher
`
`
`86
`
`Initiate Exchtion
`of Application with
`
`User Prefs
`
`F I G 3
`
`
`
`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 7 of 19 PageID #: 1776
`Case 2:16-cv-OO741-RWS Document 151-1 Filed 05/18/17
`Page 7 of 19 PagelD #: 1776
`
`US. Patent
`
`Nov. 27, 2001
`
`Sheet 4 0f 5
`
`US 6,324,578 B1
`
`Client: Launcher
`
`
`
` 90
`
`Receive
`
`Application
`Launcher
`
`
`
`Display Icon
`Associated With
`
`Application on
`Screen
`
`92
`
`94
`
`96
`
`98
`
`100
`
`102
`
`FIG. 4
`
`Icon Selected?
`
`
`
`Obtain User ID and
`
`Provide Request
`with ID to Sewer
`
`
`
`User Prefs
`Requested?
`
`
`
`
`
`
`
`Provide User
`
`Preferences
`
`
`
`Run Application
`With User and
`Admin Prefs
`
`
`
`
`
`
`
`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 8 of 19 PageID #: 1777
`Case 2:16-cv-OO741-RWS Document 151-1 Filed 05/18/17 Page 8 of 19 PagelD #: 1777
`
`US. Patent
`
`Nov. 27, 2001
`
`Sheet 5 0f 5
`
`US 6,324,578 B1
`
`186
`
`188
`
`190
`
`192
`
`194
`
`
`
`Receive License
`
`Establish Default
`
`
`
`Apply Administrator
`Overrides
`
`License Mgmnt
`Request
`
`if Changes
`
`
`
` Apply User Overrides
`and Update Database
`
`Track License Usage
`
`
`
`FIG. 5
`
`
`
`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 9 of 19 PageID #: 1778
`Case 2:16-cv-OO741-RWS Document 151-1 Filed 05/18/17 Page 9 of 19 PageID #: 1778
`
`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
`filed 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 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 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 configurations 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 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 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 specific 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 file 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 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 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 specific application
`display by user, this capability is generally not managed
`
`
`
`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 10 of 19 PageID #: 1779
`Case 2:16-cv-OO741-RWS Document 151-1 Filed 05/18/17 Page 10 of 19 PageID #: 1779
`
`US 6,324,578 B1
`
`3
`typically
`it
`across applications for a user. Furthermore,
`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 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 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 configurable application programs on a
`computer network which allow a mix of user and system
`administrator defined configurable preferences to be asso-
`ciated with specific 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 files for each
`configurable 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 first, or
`configuration manager, program available to an administra-
`tor classified 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 configurable 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 configurable
`parameters of the application program. An icon is displayed
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`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 first 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. Aprofile manager program on the
`on-demand server provides a user interface and maintains
`profile information for each client (hardware related) and
`user (preferences) for all managed configurable application
`programs available on the on-demand server. The profile
`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 configurable application programs on a
`network. An application program having a plurality of
`configurable 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 configurable 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 configurable 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 configurable 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-
`figuration 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 config-
`urable preferences is obtained from an administrator execut-
`ing the configuration manager program. The administrator
`may be one of the plurality of authorized users who is
`authorized to execute the configuration 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 configurable preferences which are not
`specified 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.
`
`
`
`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 11 of 19 PageID #: 1780
`Case 2:16-cv-OO741-RWS Document 151-1 Filed 05/18/17 Page 11 of 19 PageID #: 1780
`
`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 configurable application programs
`on a network. An application program having a plurality of
`configurable 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 configurable 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 configurable 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 configurable 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 configurable application programs on a
`network including receiving an application launcher pro-
`gram associated with an application program having a
`plurality of configurable preferences from a server. A user
`set of the plurality of configurable 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 configurable 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 configurable application programs in a network
`environment from a central on-demand server location while
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`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 configured 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
`configurable application program management according to
`an embodiment of the present invention;
`FIG. 2 is a flowchart illustrating operations for application
`program distribution to clients on a computer network
`according to an embodiment of the present invention;
`FIG. 3 is a flowchart 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 flowchart 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 flowchart 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 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 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 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
`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 10TM from Tivoli Systems, Inc.
`Servers 22, 22' act as on-demand servers for their respective
`
`
`
`Case 2:16-cv-00741-RWS Document 151-1 Filed 05/18/17 Page 12 of 19 PageID #: 1781
`Case 2:16-cv-OO741-RWS Document 151-1 Filed 05/18/17 Page 12 of 19 PageID #: 1781
`
`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 configured 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 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 eNetworkTM environment available from International
`
`Business Machines Corporation (IBM). An on-demand
`server which may be modified 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