`Case 2:16-cv-00741-RWS Document 159-4 Filed 06/01/17 Page 1 of 17 PageID #: 2134
`
`
`
`
`
`
`
`
`
`EXHIBIT D
`
`EXHIBIT D
`
`
`
`
`
`
`
`Case 2:16-cv-00741-RWS Document 159-4 Filed 06/01/17 Page 2 of 17 PageID #: 2135
`1111111111111111111111 Hiil lllll lllll lllll 111111111111111111111111111111111
`
`US0067287GGB2
`
`02) United States Patent
`Cox ct al.
`
`(LO) Patent No.:
`(45) Date of Patent:
`
`US 6,728,766 B2
`Apr. 27, 2004
`
`· · - - · - - - - · · - · · - - - · - · - · - · - · - - - - - - - - - - - - - -
`
`(54) METHODS, SYSTEMS AND COMPUTER
`PROGRAM PRODUCTS FOR LICENSE USE
`MANAGEMJ<:NT ON A NETWORK
`
`FOREIGN Pi\TENT DOCUMENTS
`
`WO
`
`WO 98/50853
`
`11/1998
`
`G06Fi9/44
`
`(75)
`
`Inventors: David E. Cox, Raleigh, NC (US);
`David L. Kaminsky, Chapel Hill, NC
`(US); David B. Lindquist, Raleigh, NC
`(US)
`
`(73) A<;signee: International Business Machines
`Corp., Armonk, NY (US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) byO <lays.
`
`(21) Appl. No.: 09/829,854
`
`(22)
`
`Filed:
`
`(65)
`
`Apr. 10, 2001
`Prior Publication Data
`
`US 2001/0013(164 Al Aug. 9, 2001
`
`Related U.S. Application Data
`
`(62)
`
`(51)
`(52)
`
`(58)
`
`(56)
`
`Divi~ion of appticution No. (if)/211,529. liled on Dec. 14,
`1998, now Pat. No. 6,324,578.
`Int. Cl.7 .............................................. G06F 15/177
`U.S. Cl ........................ 709/220; 709/223; 709/224;
`713/l; 713i1; 713/l 00
`Field of s~arcl1 ................................. 709/223, 224,
`709/220, 229; 705/59; 713/200, 201, l,
`2, 100
`
`References Citc<l
`U.S. PATENT DOCUMENTS
`
`5 ,204 ,8'!7 A * 4/ 1993 Wyman ..................... 7 JU/200
`* l l/1993 Wyman ....................... 705/59
`5,260,999 A
`5,263,165 A
`l J/J<J93 Janis .......................... 3'!5!725
`8/1995 Beck et al. ................... 70/221
`5,440,739 A
`5,554,979 A
`9/1996 Kolrnr et al. ........... 340/825.72
`5/1997 Ciscon et al. ............... 709/223
`5,634,010 A
`8/1997 Bonnell et al.
`.... 709/202
`5_,655/l8t A
`5,671,412 A
`9/1997 Christiano .............. 707/104.1
`
`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.
`
`(List continued on next page.)
`Primary Exanlincr-·.:Frantz n. .lean
`(74) Attorney, Agent, or Firm--l'Vfyers Bigcl Sibley &
`Sajovec; Jeanine S. Ray-Yarletts
`
`(57)
`
`ABSTRACT
`
`Management of configurable applications programs on a
`network is provided by using two program files for each
`configurable application program. 'l11e two program tiles 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 (conliguration manager) program available to an admin(cid:173)
`istrator to obtain preferences for the configurable prefer(cid:173)
`ences o( !h<e application program which have been desig(cid:173)
`nated as administrator preferences. The on-demand server
`aiso 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 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(cid:173)
`tion program. The appli<:ation 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(cid:173)
`tiating execution of the application program.
`
`(List continued on IJ\:Xl page.)
`
`18 Claims, 5 Drawing Sheets
`
`UNILOC IBM_2016_0721
`
`
`
`Case 2:16-cv-00741-RWS Document 159-4 Filed 06/01/17 Page 3 of 17 PageID #: 2136
`
`US 6,728,766 H2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`5,(,80,615 A
`5,689,708 A
`5,708,709 A
`5,745,879 A
`5,748,896 A
`5,752,041 A *
`5.764,887 A
`5,771,354 A
`5,778,368 A
`5,809,.251 A
`5,813,0W A
`5,845,065 A
`5,845,077 A
`5,848,243 A
`5,875;327 A
`5~881 _,236 A
`5,911,060 A
`5,933,601 A
`6,021,438 A
`6,070,190 A
`6,098.067 A
`6,105,063 A
`6,105JJ116 A
`6,I05,069 A
`6,!08,712 A
`6,115,040 A
`6.158,0LO A
`6,175,363 Bl
`6,175,832 Bl
`6,182,142 Bl
`
`10/1997 Marlin ct al. ............... 7071103
`11/1997 Rcgnin et al.
`............. 709;302
`1/ l 998 Rose ............................. 380i4
`Wyman ......................... 705/1
`4/1998
`Daly el al. .................. 709!223
`5/1998
`Fosdick ...................... 71 7 /178
`5/1998
`Kells ti al.
`................. 713/200
`6il998
`6/1998
`Crawford .................... 709i229
`7/1998 Hogan el al. ..
`. ....... 707/10
`()/J 998 May et al. ..
`709/223
`'Jil'l98 Johnson et al. ............. 797ilOO
`·> 12/1998 Conte et al. ................ 713/200
`12/1998 Fawcett ...................... 709/221
`12/1998 Kulkarni ct al. ............ 709/224
`2/1999 Brandl ct al. .................. 71311
`3/1999 Dickey ....................... 709/221
`6/1999 Williams et al. ............ 709/300
`8/J 999 Fan shier ct al.
`............ 709/223
`' 2i2000 Duvvoori d al. ........... 709/224
`5/2000 Reps et al.
`................ 709/224
`8/2000 Ericbon .... ... ... ...... ...... 707 i lO
`8/2000 Hnyes, .Jr .................... 709/223
`8/2000 llayes, Jr. ................... 709/226
`* 8/2000 Franklyn cl al. ............ 709/229
`8;'2000 Hayes, Jr.
`................ 709/246
`!J/2000 Bladow ti al.
`............. 345/335
`12/2000
`Morirnni el al.
`........... 713/201
`1/2001
`Williams et al. ............ 345/334
`Luzzi ct al.
`.................. 707/10
`1/2001
`Win el al. ................... 709/229
`1/2001
`
`2/2001 Oh ct al. ...................... 710/33
`6,189,05! D1
`2/200 l Horn .......................... 709/239
`6,192,414 B.l
`2/2001 Takahashi .................. 380/278
`6,195,432 Bl
`3/2001 Dean cl al. .................. 717;'!1
`6,202,206 Bl
`OTl!ER l'UHLICATIONS
`"Administration of (iraphic User Interface and lvlultirnedia
`Objects Using Cooperative Processing,·' JBM Technical
`Disclosun; Bulletin, vol. 37, No. 9, Sep. 1, .1994, pp.
`675-678, XP000475542.
`hllp://nf/pck97/proJilcs __ and
`lo
`"Guide
`._policies.him
`Microsoft Windows NT 4.0 Profiks and Policic~" pp. 1-76.
`hllp://www/idI.org/htlm.charkrs/acap--{;harler.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 Sta1ion Manager, pp.
`5--1 lo 5-15.
`http://www.softwarc.ibm.com/os/warp/library/
`sq202822.btm, "WorkSpacc on-Demand Handbook," Chap(cid:173)
`ters 2.3.1; 6.2; 6.3; 6.3.1; 6.3.3; 6.5.
`http://www.triteal.com/SoftNC, Java Desktop Environment
`from Triteal, pp. 1-2.
`hllp:Jfjava.sun.com/produc1s/bot-javaviews/admin.html,
`"HotJava Views," pp. 1-24.
`http://esuitc.lotus.com/cSuite/cSuit.;, "The Right Work
`Environmenl for Network Centric Computing," 24 pages.
`TME 10 Soflware Distribution User's Guide, Version 3.1,
`Chapters, 1, 4 and 5.
`* cited by examiner
`
`UNILOC_IBM_2016_0722
`
`
`
`Case 2:16-cv-00741-RWS Document 159-4 Filed 06/01/17 Page 4 of 17 PageID #: 2137
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 1 of 5
`
`US 6,728,766 B2
`
`10'
`
`Network
`
`22
`
`22'
`
`Network
`
`24
`
`10"
`
`24'
`
`10'"
`
`Network
`
`26"'0
`
`Client
`
`Client
`
`+' <
`Client
`
`Client
`
`FIG. 1
`
`UNILOC_IBM_2016_0723
`
`
`
`Case 2:16-cv-00741-RWS Document 159-4 Filed 06/01/17 Page 5 of 17 PageID #: 2138
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 2 of 5
`
`US 6, 728, 766 B2
`
`Software
`Distribution
`
`Install Application
`File Packet
`
`Distribute
`Application
`Launcher to Clients
`
`Distribute
`Configuration
`Manager to
`Administrator
`Client
`
`Obtain User
`Preferences for
`Application
`
`50
`
`52
`
`54
`
`56
`
`58
`
`Obtain
`Administrator
`Preferences for
`Application ~ 60
`
`62
`
`Yes
`
`Obtain Defaults
`
`64
`
`No
`
`Yes
`
`Additional
`Applications?
`
`No
`
`Distribution
`Complete
`
`FIG. 2
`
`UNILOC_IBM_2016_0724
`
`
`
`Case 2:16-cv-00741-RWS Document 159-4 Filed 06/01/17 Page 6 of 17 PageID #: 2139
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 3 of 5
`
`US 6,728,766 B2
`
`OD Server )
`
`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
`
`Obtain User Prefs
`Associated With
`Authorized User
`From Memory
`
`New User?
`
`70
`
`72
`
`74
`
`76
`
`78
`
`80
`
`82
`
`Obtain User Prefs
`Associated With
`Authorized User
`From Launcher
`
`86
`
`Initiate Execution
`of Application with
`User Prefs
`
`FIG. 3
`
`UNILOC_IBM_2016_0725
`
`
`
`Case 2:16-cv-00741-RWS Document 159-4 Filed 06/01/17 Page 7 of 17 PageID #: 2140
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 4 of 5
`
`US 6 728 766 B2
`'
`'
`
`Client: Launcher
`
`Receive
`Application
`Launcher
`
`Display Icon
`Associated With
`Application on
`Screen
`
`No
`
`Icon Selected?
`
`/
`
`Obtain User ID and
`Provide Request
`with ID to Server
`
`No
`
`Provide User
`Preferences
`
`90
`
`94
`
`96
`
`98
`
`100
`
`102
`
`Run Application
`With User and
`Admin Prefs
`
`FIG. 4
`
`UNILOC_IBM_2016_0726
`
`
`
`Case 2:16-cv-00741-RWS Document 159-4 Filed 06/01/17 Page 8 of 17 PageID #: 2141
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 5 of 5
`
`US 6,728,766 B2
`
`License Mgmnt
`
`Receive License
`Request
`
`Establish Default
`
`Apply Administrator
`Overrides
`
`186
`
`188
`
`190
`
`192
`
`Apply User Overrides
`and Update Database
`if Changes
`
`Track Ucenoe U>ege V
`
`194
`
`End
`
`FIG. 5
`
`UNILOC_IBM_2016_0727
`
`
`
`Case 2:16-cv-00741-RWS Document 159-4 Filed 06/01/17 Page 9 of 17 PageID #: 2142
`
`us 6,728,766 132
`
`1
`METHODS, SYSTEMS AND COMPUTER
`PROGRAM PRODUCTS FOR LICENSE USE
`MANAGEMENT ON A NETWORK
`
`CROSS REFERENCE TO RELATED
`APPLIC1\TlONS
`
`This applil:ation is a divisional of application Ser. No.
`09/211,529 filed Dec. 14, 1998 U.S. Pat. No. 6,324,578. This
`application is related to U.S. patent application Ser. No.
`09/2l1,528 filed Dec. 14, 1998 and cn1itlccl METHODS,
`SYSTEMS AND COMPUTER PROGRAM PRODUCTS
`FOR CENTRALIZED MANAGEMENT OF APPLICA(cid:173)
`TION PROGRAJ'v!S ON A NE'IWORK. This application is
`also related to U.S. patent application Ser. No. 09/072,597 15
`filed May 5, 1998 and entitled: Client-Server System for
`Maintaining a user Desktop Consistent with Server Appli(cid:173)
`cation User Access Permissions which is incorporated herein
`hy reference in its entirety.
`
`FIELD OF THE INVENTION
`
`'Ilic 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
`
`2
`created bv a system administrator for each different version
`lo be in:>t;lled: Furthermore, once instalkd at a client, a user
`must typically use that specific client station. The applica(cid:173)
`tion generally cannot be automaticaJly clcletcd from the
`client station's desktop or automa1ically upgraded the next
`time the user starts the application. Similarly, the Tivoli
`Management Enviromncnt (TME) J ff'" syst1;m from 'l'ivoli
`Systems, Inc. provides a software distribution feature which
`may be used to transmit a file package to client and se1vcr
`JO stations on a network from a central Tivoli"' server.
`A forthcr 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 Jocallv on a workstation such that characteristics
`associated with the native applica1ion arc stored on the
`workstation. The combinations of network connections,
`differjng hardware, native applications and network appli-
`20 cations makes portability of preferences or operating envi(cid:173)
`ronment characteristics which provide consistency from
`workstation to workstation difficult. Furthermore, differ(cid:173)
`ences in hardware or connect.ions may create inetliciencies
`as users move from workstation to workstation. For
`25 example, a user may, in a 1lrst session, access the network
`utilizing a high speed connection and a workstation with a
`high resolution color monitor to execute an application and
`th~n, in a later session, access the network to execute the
`same application from a mobile computer with a mono-
`.JO chrome display and a low speed modem connection to the
`network. Thus, session content, such as color display data or
`preferences associated with the appfo;ation, which may have
`been appropriate for the first session, may be inappropriate
`or inefficient in a later session.
`Efforts to address mobilitv of uses in a network have
`included efforts to provide p/cfcrcnce mobility sncb as, for
`example, Novell's Z.E.N.worksrn, Microsoft's "Zero
`Administration" initiative for Windows® and International
`Business Machines Corporation's (IBM's) Workspace On
`.DemamJTM However, these solutions each typically require
`pre-i115tallation of software at the work<;tation to support
`their services. For exmnple, Novell's Z.E.N. and IBM's
`Vv'orkspace 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
`stanup 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. I lowever, in each of
`tl~csc approaches, the client device is treated as a dumb
`terminal with execution of the applications occurring at the
`55 server rather than tbc 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
`ktov strokes from the client. \Vindows Zt:ru Administration,
`as _.described above, is client rather than user orient eel and
`inst.alls applications on client stations which do not fully
`support roaming by users. The JAVA'" environment utilized
`on the Internet for web applications provides an ability for
`hardware independent application development but fails to
`provide an intcgra1cd framework for presenting multiple
`independent applications to a user. While various web
`applications do allow personalizing of a specific application
`display by user, tbis capability is generally not managed
`
`Traditional mainframe computer configurations provided
`for user interface to the computer through computer iermi(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 tefminals to a distributed env jrnnrnent of
`networked processors. Examples of this shift iu processing 35
`include local or wide area computer networks which intcr(cid:173)
`conn.::ct individual work stations where each workstation has
`substantial independent processing capabilities. This shift
`may be furl.ht;:r seen in the popularity of the Internet which
`interconnects many processors and networks of processors 40
`through devices such as, for example, routers. 'Ibis type of
`network environment is often referred to as a client-server
`environment with client stations coupled to and supported
`by a server station.
`Jn
`the modern distributed proccssiug computer 45
`environment, control over software, such as application
`programs, is more ditlicull than where a mainframe operated
`by an administrator is used, particularly for large organiza(cid:173)
`tions with numerous client stations and servers distribttted
`widely geographicaJly and utilized by a large number of so
`users. Furthermore, individual users may move from loca(cid:173)
`tion to location and need to access tbc network from
`different client stations at different times. The networked
`environment increases the challenges for a network admin(cid:173)
`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(cid:173)
`trol problems is 10 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)
`liorn;. In addition, the Systems Management Server (SMS)
`program from Microsoft Corporation provides an a hi lit y to
`transmit an application program from a server lo a numhcr
`of clients. The SMS system typically allows installation of
`programs and associated icons at client stations for SMS(cid:173)
`enablcd applications. A customized install generally must. be
`
`65
`
`61!
`
`UNILOC IBM_2016_0728
`
`
`
`Case 2:16-cv-00741-RWS Document 159-4 Filed 06/01/17 Page 10 of 17 PageID #: 2143
`
`US 6,728,766 D2
`
`3
`across applications for a useL 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 r;mge of complications which may ari-;e in a het(cid:173)
`erogeneous network utilizing differing devices and connec(cid:173)
`tions. The systems typically will not present application
`choices associated with the user and for which the user is
`authorized hut 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 rcduc<.;d the administrative convenience o[ a centrally
`controlled network. Thus, these various approaches fail to
`provide a seamless integration of ai1plication 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(cid:173)
`bility not fully supported by these various approachi.;s is
`license use management. License use management typically
`inYolves 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 IL<>e 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
`
`4
`on the screen of the cli.ont station through which a user may
`initiate execution of rhc 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.
`Tbe application launcher program first determines the
`user identity (ID) and provides the user information to the
`server along with tbc r<.:qucst to initiate execution of thc
`application program. The application program is then
`JG executed using stored values for the user and administrator
`set preferences or, if no preferences have yet been obt'ained
`for the particular user (or new preferences are desired), user
`preforences are obtained before initialing execution of the
`application program itself. A profile manager program on the
`JS on-dcn1ancl server provides a user interface and n1aintains
`profile information for each clic.nt (himlwarc 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-
`20 cations based on user authorization information.
`In one embodiment of the present invention rnethods,
`systems and computer program products are provided for
`management of configurable application programs on a
`network. An application program having a plurality of
`25 configurable preferences and a plurality of authorized users
`is installed on a server coupled to the network. An applica(cid:173)
`tion launcher program associated with the application pro(cid:173)
`gram i~ distributed to a dicnt coupled to the network. A user
`set of the plurality of configurable preferences associated
`30 with one of the plurality of authorized users executing the
`application launcher program is obtained and an adminis(cid:173)
`trator set of the plurality of configurabk preferences is
`obtained from an administrator. The application program is
`then executed using the obtained user set and the obtained
`35 ad1ninistrator 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
`o[ the plurality of authorized users through the application
`il launcher program.
`In another embodiment of the present invention, a con(cid:173)
`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-
`45 urablc preferences is ob1ained from an administrntor execut(cid:173)
`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
`50 with the application program is displayed on a screen-of the
`client and an authorized mer may execute the application
`launcher program by selecting the display.od icon.
`In one embodiment of the present invention, obtained user
`sets and obtained administrator sets arc stored ou a storage
`device coupled to the server and retrieved from the storage
`device when initiating execution of the application program.
`Default preference values may be provided and used for any
`of the plurali1y of configurable prelerences which arc not
`specifad by the user set or the administrator set.
`Furthermore, the c!efault preference values may be also be
`stored on the storage device coupled lo the server.
`In a further aspect of th<.0 present invention, security may
`be proYidcd by determining if a user requesting execution of
`the :ipplication program is one of the plurality of authorized
`users. This aspect may also be combined with tile license use
`management aspects of the present invention to further
`control access to managed application programs.
`
`4
`
`Accordingly, it is an object of the present invention lo
`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(cid:173)
`ciated with specific application programs.
`It is a farther object of the present invention to provide
`such methods, systems and computer program products that
`can accommodale 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 ilks for each
`configurable application program which are provided ln a
`network server station which operates as an on-demand
`server for software deployment and may also act as the
`application ser:cr. The on-demand server makes the first, or 55
`configuration manager, program available to an administra-
`tor classified user (either remotely at a client station or al a
`direct inte.rface to the serYe.r station) to provide an interface
`to establish preferences for the configurable preferences of
`the application program which have been designated as 61!
`administrator only settable. The on-demaod 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 noi only provides for a
`user interface to execute the application program itself but 65
`also allows a user lo specify one or more of the configurable
`parameters of the application program. An icon .is displayed
`
`UNILOC IBM_2016_0729
`
`
`
`Case 2:16-cv-00741-RWS Document 159-4 Filed 06/01/17 Page 11 of 17 PageID #: 2144
`
`us 6,728,766 132
`
`'.'5
`
`30
`
`5
`In another embodiment of the present invention, addi(cid:173)
`tional application programs arc managed according to the
`teachings of the present invention along with user prefer(cid:173)
`ences obtailled from a plnrnlity of users. Furthermore, .for
`each application program, associated application launcher
`programs may be distributed to a plurality of client stations
`and ob!ain user preforenc<0s from a plunilily of users.
`In a further embodiment of the present invention,
`methods, systems and computer program products arc pro(cid:173)
`vided for management of configurable application programs JG
`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. A user set of the plurality of configurable preferences 15
`is obtained from one of the plurality of authoriz~d users
`executing the application launcher program and an admin(cid:173)
`istrator set of the plurality of configurable preferences is
`obtained from <m administrator 'lbc application program is
`then execulcd using a stored user set aml the administrator 20
`set of the plurality or configurable preferences responsive to
`a request from the one of the plurality of authorized users.
`Jn another cmbodim.;nt of the present invention, methods,
`systems and computer program products are provided for
`management of configurable application programs on a
`network illduding receiving an application Jauncha pro(cid:173)
`gram as.<>ociated with an application program having a
`plurality of conligurablc preferences from a server. A user
`set of tbc plurality of conJlgurable 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(cid:173)
`cation progran1 responsive to a request fro1n the one of the 35
`plurality of authorized users.
`In a further aspect of the prcsem invi;nlion, method~,
`systems and computer program products are provided for
`management of license use for a network. License manage-
`1i1enl policy information for a plurality of application pro(cid:173)
`grams is maintained at a license management server.
`Requests arc received at the license management server for
`a license availability of a selected one of the plurality of
`application programs from n user al a client. cl11e license
`management server deter;i1ines the license availability for
`the sekcted one of the plurnlity of application programs for
`!he user based on the maintained license nrnnagement policy
`information and provides an unavailability imlicatioo 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 inclica!cs
`that a license is available for the user. The request may he
`received from an application launch~r program associated
`with the selected one of the plurality of application programs 55
`and the availability or unavailability indication may be
`provided lo the application launch<0r 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 60
`the client for execution.
`While the invention has been described ;1bove 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-
`rncnt of configurable application programs in a network
`environment from a cen1ral on-demand server location while
`
`6
`allowing for user prdcrcncc.s to be tr:1ckt:cl independent of
`hardware location of tbc user. This provides for reduced
`costs and increased unifom1ity in managing software in a
`network environment by delivering configured app.lications
`when demanded by a user. It further provides an essentially
`hardware transparent ability for an individual user to inter(cid:173)
`face to an on-demand server supponed client station while
`maintaining the user's personal preferences for each appli(cid:173)
`cation program.
`
`BRIEF DESCRIPTION OF TlIE DRAWINGS
`
`FIG.1 is a schematic diagram of a computer uctwork with
`configurable application program management according lo
`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 flowcbart illustratiog operations for application
`program distribution and execution from the server perspec(cid:173)
`tive according to an embodiment of the present invention;
`FIG. 4 is a tlowchart illustrating operations for application
`program distribution and .:xecution from the client and user
`perspective acconlillg to an embodiment of the present
`invention; and
`FIG. 5 is a flowchart illustrating license me management
`according to an embodiment of the present invention.
`
`DETA.ILED DESCRIPTION OF PREFERRED
`EMBODIMEN'r'i
`
`UNILOC IBM_2016_0730
`
`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 constmed as limited to the embodi(cid:173)
`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 tbe illvenlion lo those
`40 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
`cmhodimcnt, a software embodiment or an embodiment
`45 combining software and hardware aspects.
`FIG. 1 illustrates an embodiment of a computer network
`including configmablc application program management
`capabilities according to an embodiment of the present
`invention. Computer network. system HI includes a network
`management se1ver such as a Tivoli"" server 20 and
`on-demand sc:rvers 22, 22'. A<> i1sed berein, "on-(lcmand"
`refers to a server delivering applications as needed respon(cid:173)
`sive !o user requcsls as rt:quests are received. System 10
`further includes client stations 24, 24', 26, 26'. J\s illuslratccl,
`on-clcmancl servers 22, 22' arc conncetccl to TivoJjTM server
`20 over a first network segment IO'. Client stations 24, 24'
`arc served by on-demand server 22 aud communicate over
`network 10". Similarly, cliellls 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.
`Syst