`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 1 of 25 PageID #: 2066
`
`
`
`
`
`
`
`
`
`EXHIBIT A
`
`EXHIBIT A
`
`
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 2 of 25 PageID #: 2067
`
`02) United States Patent
`Cox ct al.
`
`111111111111111111111111111111111111111111111111111111111111111111111111111
`US006510466Bl
`US 6,510,466 Bl
`(to) Patent No.:
`.Jan.21,2003
`(45) Date of Patent:
`
`(54)
`
`(75)
`
`METHODS, SYSTEMS AND COMPUTER
`PIWGRAIVI PRODUCTS FOR CENTRALIZED
`MANAGEMENT OF APPIJCATION
`PROGRAJWS ON A NETWORK
`
`Inventors: David E. Cox, Raleigh, NC (US); Kent
`F. Hayes, Jr., Chapel IIill, NC (US);
`David B. Lindquist, Raleigh, NC (US);
`John R. McGarvey, Apex, NC (US);
`Abdi Salahshour, Raleigh, NC (US)
`
`(73)
`
`Assignee: International Business Machines
`Corporation, Am1onk, 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) Appl. No.: 09/211,528
`
`(22)
`
`Filed:
`
`Dec. 14, 1998
`
`(51)
`(52)
`(58)
`
`(56)
`
`Int. CJ. 7
`............................. ., .................. G06D 13/00
`U.S. CI ......................................... 709/229; 709/223
`Field of Search ................................. 709/223, 203,
`709/219, 229; 710/3, 129, 31
`
`Ueferences Cited
`
`U.S. PATENT DOCUMENTS
`
`5.263,165 A
`5,-t40,739 A
`5_,554,979 A
`•
`5 .. 634,0lO A
`5,655,081 A *
`5,680,615 A
`5,689,709 A
`5,708,709 A "
`5,745,879 A
`5,748,896 A
`5,764,887 A
`5,771,354 A
`5,778,368 A
`5,809,251 A *
`5,813,009 A
`5,845,077 A
`
`Janis .......................... 395/725
`llil993
`................... 70/221
`Beck et al.
`8/1995
`Kuhar el al ............ 340/825.72
`9/1996
`Ciscon ct al. ............... 709/223
`5/1997
`Bonnell et al. ............. 709/202
`8/1997
`Marlin et al. ............... 707/103
`10/1997
`Regnier et al. ............. 709/302
`11/1997
`Rose ............................. 380i4
`1/1998
`Wyman ......................... 705/l
`4/1998
`511998
`Daly et al. .................. 709/223
`Kells et al. ................. 713/200
`6/1998
`Crawford .................... 709/229
`6/1998
`Hogan el al. ................. 707 /10
`7/1998
`May et al. .................. 709/223
`<Jil998
`Johnson et al. ............. 707 /100
`9/1998
`12/1998 Fawcett ...................... 709/221
`
`5,848,243 A
`5,875,327 A
`5,881,236 A
`5,911,066 A
`5,933,601 A
`6,070,190 A
`
`12/1998
`2i1999
`3/1999
`6/1999
`8/[999
`5/2000
`
`Kulkarni ct al. ............ 709/224
`Brandt et al. .................. 713/1
`Dickey ....................... 709/221
`Williams ct al. ............ 709/300
`Fanshift el al. ............. 70'l/223
`Reps et al.
`................. 709/224
`
`*
`
`(List continued on next page.)
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`
`9850853
`
`lJ/1998
`
`............. G06F/9/44
`
`OTHER PUBLICA:fIONS
`
`"A Common D<::sktop Environment for Platforms Based on
`the UNIX Operating System," By B.E. Cripe, J.A. Brewster,
`and D.E. Laursen, BewleH-Packarcl Journal, vol. 47, No. 2,
`Apr. 1, 1996, pp. 6-14.
`
`(List continued on next page.)
`
`Primary Examiner-David \Viky
`(74) Attorney. Agent, or Hnn--Myers Bigel Sibley &
`Sajovec; Jeanine S. Ray-Yarlclls
`
`(57)
`
`ABSTRl\CT
`
`Methods, systems and computer program products for man(cid:173)
`agement of application programs on a network including a
`server supporting client stations are provided. The server
`provides applications on-demand to a user logging in (o a
`client supported by the server. Mobility is provided to the
`user and hardware portability is provided by establishing a
`user desktop interface responsive to a login request which
`presents to tbe user a desktop screen thr011gh a web browser
`interface which accesses and downloads selected application
`programs from the scrvci· responsive to a request from tbc
`user on tbe user desktop screen at the client. The application
`program is then provided from the server and executed at the
`client. The application program may further be customizecl
`to conform to the user's preferences and may also provide
`for license use management by determining license avail(cid:173)
`ability before initiating execution of the applieation pro(cid:173)
`gram. Finally, software distribution and installation may be
`provided from a single network management server.
`
`42 Claims, 9 Drawing Sheets
`
`r~r200--·--r~==-.. ~----- __ /~2
`[c
`w
`,--1
`/
`lCJl ....... J
`~
`
`J'<dmin console
`
`202
`
`User Console
`
`i
`
`Cl~ Mafl<Jgement Server
`
`204
`
`200
`
`L~:i:_server_
`! - . 208 _____;(== .:--j
`~:a~aBa:e
`L __ _
`
`UNILOC_IBM_2016_0470
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 3 of 25 PageID #: 2068
`
`US 6,510,466 Bl
`Page 2
`
`~~~~--~~~~~~-
`
`U.S. PATENT DOCUMENTS
`6,098,06 7 A * 8/2000 Erickson .. .. . .. . .. . .. . . . .. . .. . 707I10
`6,105,1163 A
`·' 8/2000 IIaye.s, Jr. ................... 709/223
`8/2000 Hayes, .fr .................... 709/216
`6,105,066 A
`8/20UO Franklin d al.
`............ 709;229
`6,105,069 A
`8/2000 Hayes, Jr. ................... 709/246
`6,108,712 A
`6,115,040 A * 9/2000 Bladow et al.
`............. 345/335
`* 12/2000 Moriconi el al.
`........... 7U/201
`6,158,010 A
`6,175,363 Bl
`1/2001 Williams et al. ............ 345/334
`6,175,832 Bl
`1/2001 Luzzi el al.
`.................. 707/10
`6,182,142 Bl *
`l/2001 Win ct al. ................... 709/229
`6,189,051 Bl * 2/2001 Oh el al. ..................... 710/33
`6,1'12,414 Bl
`2/20()1 Horn .......................... 709/239
`6,195,432 Bl • 2/2001 Takanashi ct nl.
`............. 380/9
`6,202,206 Bl * 3/200 l Dean ct al. .................. 717 /11
`ffl1TER PUf3LICA'I10NS
`
`"Administration of Graphic User Interface and Multimedia
`Objects Using Cooperating Processing," IBM Technical
`Disclosure Bulletin, vol. 37, No. 9, Sep. 1, 1994, pp.
`675-678.
`
`to
`"Guide
`policies.him
`and
`http:/inf/pclc97/profiks
`Microsoft Windows NT 4.() Profiles and Policies" pp 1-76.
`
`hll p ://www iielf.org/bllm.charlers/acap--;;harter.htrnl '' Appli(cid:173)
`cation Configuration Access Protocol (acap)," 68 pages.
`
`IBM Network Station Manager for Windows NT Server 4.0,
`Chapter 5. Using the IBM Network Station Manager, pp.
`5--1 to 5-15.
`
`hltp://www.software.ibm.com/osiwarp/library/
`sq202822.hlrn, "WorkSpace on-Demand Handbook," Chap(cid:173)
`ters 2.:'1.1; 6.2; 6.3; 6.3.1; 6.3.3; 6.5.
`
`hllp://www.triteal.com/SoftNC, Java Desktop Environment
`from Triteal, pp 1-2.
`
`http:/dava.sun.com/proclucts/hot-javavicws/admin.html,
`"Ho!Java Views," pp 1--24.
`
`http://esuite.lotus.com/eSuite/eSuitc, "The Right Work
`Environment for Network Centric Computing," 24 pages.
`
`* cifcd by examiner
`
`UNILOC_IBM_2016_0471
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 4 of 25 PageID #: 2069
`
`U.S. Patent
`
`Jan.21,2003
`
`Sheet 1 of 9
`
`US 6,510,466 Bl
`
`FIG. 1
`
`;
`
`20
`
`iHI llJr
`Server J,
`
`c::::::mm
`Network Managerne1
`
`10·
`
`10
`
`/
`
`22'
`
`10"'
`
`Network
`
`Network
`
`~)
`
`~
`
`Client
`
`Client
`
`Client
`
`UNILOC_IBM_2016_0472
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 5 of 25 PageID #: 2070
`
`U.S. Patent
`
`Jan.21,2003
`
`Sheet 2 of 9
`
`US 6,510,466 Bl
`
`Admin Console
`
`User Console
`
`206
`
`Client Management Server
`
`[
`
`l,'IJ~b Server
`
`208"~
`LJ
`
`204
`
`FIG. 3
`214
`
`Web Server
`
`Servlets
`
`206
`
`200
`222
`L _____ _L __
`Web Browser
`
`Config. Framework
`
`Conf.
`Mgmnt
`
`License System
`Hdw.
`lnven Mgmnt Mgmnt
`
`208
`
`224
`
`Network Registry
`
`-,--
`
`210
`
`212
`
`220
`
`\
`216
`
`218
`
`226
`
`I
`Desktop/Webtop/Apps I /202
`Client Access J
`, ________ " __ _
`' 228
`
`UNILOC_IBM_2016_0473
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 6 of 25 PageID #: 2071
`
`U.S. Patent
`
`Jan.21,2003
`
`Sheet 3 of 9
`
`US 6,510,466 Bl
`
`FIG. 4
`
`C On~Demand Server J
`
`- / : 230
`
`(New App~--~
`
`Yes
`
`232
`
`Configuration
`
`234
`
`/
`
`, /
`No
`/.
`""New Session? >-----~
`
`~s _236
`IL Login~
`__ r_ J __ _
`
`/""" 238
`//
`L__ _____ N_U New Access
`""' Request?
`
`[ Ac~ess Application I
`
`'~ ~s 240 ~ /
`-~ c End)
`
`UNILOC_IBM_2016_0474
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 7 of 25 PageID #: 2072
`
`U.S. Patent
`
`Jan. 21, 2003
`
`Sheet 4 of 9
`
`US 6,510,466 Bl
`
`FIG. 5
`
`c--~onfigura~ .
`-~-i---
`250
`
`p. ort Applicati;-v
`Definition _J
`~~ 252
`
`[
`
`[
`
`[
`
`Application
`
`254
`
`l;ut User Info for r
`--
`I
`Input License Po~
`-=c=-~ 256
`
`Input Access
`
`258
`
`[~pdate DataBase
`-~
`
`UNILOC_I BM_2016_04 75
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 8 of 25 PageID #: 2073
`
`U.S. Patent
`
`Jan.21,2003
`
`Sheet 5 of 9
`
`US 6,510,466 Bl
`
`FIG. 6
`
`Login
`
`260
`
`26.2
`
`Receive HTTP
`Request
`
`Obtain ID and
`Password
`
`264
`
`No
`
`Authorized?
`
`Yes
`
`268
`
`- -_l'l~e Available?
`~
`
`Yes
`
`266
`
`Display Error Message.J
`
`Display Desktop with
`Authorized Applications
`and Enable Logging
`
`End
`
`270
`
`UNILOC_IBM_2016_0476
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 9 of 25 PageID #: 2074
`
`U.S. Patent
`
`Jan.21,2003
`
`Sheet 6 of 9
`
`US 6,510,466 Bl
`
`:FIG. 7
`
`Access
`
`Receive Application
`Request
`
`280
`
`283
`
`Obtain ID and
`Password
`
`No
`
`282
`
`/
`
`Credentials
`Available?
`
`No
`
`Authorized?
`
`Yes
`
`288
`
`No
`
`License Available?
`
`286
`
`Yes
`
`290
`
`i
`
`I Display Error Message
`I
`
`Initiate Instance of
`Application and Enable
`Logging
`
`UNILOC_IBM_2016_0477
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 10 of 25 PageID #: 2075
`
`U.S. Patent
`
`.Jan.21,2003
`
`Sheet 7 of 9
`
`US 6,510,466 Bl
`
`FIG. 8
`
`r~ivoli Distribution~
`---=r.~
`I l;rovide Software
`
`Access to Tivoli
`Server
`
`=r·------'
`
`110
`
`112
`
`Specify Direcotories
`for Software and
`Program
`Information
`
`114
`
`116
`
`Distribution
`Program
`
`to Specified OD
`Servers
`
`[-···--E-xe_c_u~te--P-re--~---'
`i
`Ctistribute Software
`___,i,_
`- Execute After ~J 118
`Distribution
`Program
`
`[
`
`[
`
`I._
`
`- Upd~te Profile
`Vlanagement List
`of OD Server
`
`120
`
`/
`
`UNILOC_IBM_2016_0478
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 11 of 25 PageID #: 2076
`
`FIG. 9B
`Distribute File Package
`150
`
`FIG. 9C
`
`d . rf1 .
`
`FIG. 9A
`
`Create File Package Definition
`130 Start Set Up Custom
`File Package Task
`
`13
`
`Enter file package
`-Source & Target I
`-Before/After Pgm
`-Import txt/ID/PSW
`
`Terminate
`
`I
`
`Issue
`Error
`Message
`
`Terminate
`
`158 Save/Cancel File
`Package Changes
`
`162
`
`Issue
`Error
`Message
`
`Terminate
`
`172
`
`Process After
`Dist. Program
`
`No
`
`176 Call PMI rnport to
`Register Applet
`With Data Store
`
`180
`
`Issue
`Error
`Message
`
`142
`
`Add PMlmport
`Command Script
`To After List
`
`144 Save File Package
`Definition
`
`Terminate
`
`166
`
`Process Before
`Dist. Program
`
`168 Build Package and
`Distribute The
`File Package
`
`Yes
`184 Refresh & Display
`Applet(s) on the
`A
`let Launcher
`
`Terminate
`
`UNILOC IBM_2016_0479
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 12 of 25 PageID #: 2077
`
`U.S. Patent
`
`Jan.21,2003
`
`Sheet 9 of 9
`
`US 6,510,466 Bl
`
`UNILOC_IBM_2016_0480
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 13 of 25 PageID #: 2078
`
`US 6,510,466 Bl
`
`1
`METHODS, SYSTEMS AND COMPUTER
`PUOGRAM PRODUCTS FOR CENTRALIZED
`MANAGKMENT OF APPLICATION
`PROGRA.IVIS ON A NETWORK
`
`CROSS REJ.'ERENCE TO RELATED
`APPLICATIONS
`
`This application is related to the following application
`tiled concurrently herewith: METHODS, SYSTEMS AND
`COMPUTER PROGRAM PRODUCTS FOR MANAGE(cid:173)
`MENT OF CONFIGURABLE APPLICATION PRO(cid:173)
`GRAMS ON A NETWORK. This application is also related
`to U.S. patent application Ser. No. 09/072,597 filed May 5,
`1998 and entitled: Client-Server System for Maintaining a
`user Desktop Consistent with S~rvcr Application User
`Access Permi&<.;ions which is incorporated herein by refer(cid:173)
`ence in its entirety.
`
`FIELD CW TIIE INVENTION
`
`The present invention relates to network management in
`general and in particular lo application program manage(cid:173)
`ment on a computer network.
`
`BACKGROUND OF THE INVENTION
`
`15
`
`2
`customized install generally must be crealcd by a system
`administrator for each different version to be instalkd.
`Furthermore, once installed at a client, a user must typically
`use that specific client station. The application generally
`cannot be automatically dclctccl from the client station's
`desktop or automatically upgraded the next time the user
`starts the application. Sin1ilarly, the Tivoli Management
`Environment (TME) 10-rn system from Tivoli Systems, Inc.
`provides a sollware distribution feature which may be used
`JO to transmit a file package to client and server stations on a
`network from a ccntraJ'TivoJirn server.
`A further complication in network systems is that,
`typically, tbcse systems include combinations of niotwork
`applications and native applications as well as combinations
`of different connection types and hardware devices. As used
`herein "native applications" refers to applications which arc
`installed locallv on a workstation such that characteristics
`associated with the native application are stored on the
`workstation. 111e combinations of n<otwork connections,
`20 differing hardware, native applications and network appli(cid:173)
`cations makes portability or prcforences or operating envi(cid:173)
`ronment characteristics which provide consistency from
`workstation to workstation dillieult. Furtherm,1re, differ(cid:173)
`ences in hardware or conncc1ions may ncatc incilieicncics
`25 as users rnuve from workstation to workstation. For
`example, a user may, in a first session, access tbe network
`utilizing a high speed connection and a workstation with a
`high resolution color monitor to execnte an application and
`then, in a fater session, aceess the network to execute the
`30 same application from a mobile computer with a mono(cid:173)
`chrome display and a low speed modem connection to the
`network. Thus, session eontent, sueh as color display data or
`preferences associated with the application, which may have
`been appropriate for the first session may be inappropriate or
`35 inefficient in a later session.
`Efforts to address mobility of users in a network have
`included efforts to provide preference mobility such as, for
`example, Novell's Z.E.N.worksrn, Microsoft's "Zero
`Administration" initiative for Windows® ancl International
`40 Business Machines Corporation's (IBM's) Workspace On
`Demand TM. 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
`\Vorkspace On Demand utilize a designer-supplied support
`45 layer in the operating system to enable their services. In
`addition to modifying the workstations operating system at
`startup to setup tasks to customize thc user's environment,
`the Microsoft Zero Administration solution is typically
`limited to a homogeneous (Windows® only) environment
`50 where the workstation and the server arc utilizing the same
`operating system.
`Another approach to centralized management is the tra-
`ditional mainframe model, such as with tbc 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 th.: applications occurring at the
`server rather than the client. Accordingly, the communica(cid:173)
`tion between th.:. server and the client is typieally presenting
`characters for a display screen of the client and/or receiving
`61! key strokes from the client. Windows Zero Administration,
`as described above, is client ralh<.:r than user oriented and
`installs applications on client stations which docs not fully
`support roaming by users. The .JAVA TM environment utilized
`on the Internet for web applications provides an ability for
`65 hardware independent application development but fails lo
`provide an integrated framework for presenting multiple
`independent applications to a user. Whik vMions web
`
`Traditional mainframe computer configurations provided
`for user interface to the computer through computer termi(cid:173)
`nals whicb were directly connected by wires to ports of the
`mainframe computer. As computing technology has
`evolved, processing power has typieally evolved from a
`central processing center with a number of relatively low(cid:173)
`proccssing power terminals to a distributed environment of
`networked processors. Examples of this shift in processing
`include local or wide area computer networks which inter(cid:173)
`connect individual workstations "Where each workstation has
`substantial independent processing capabilities. Tbis shift
`may be furtlwr st:en in the popularity of tbe Internet. whieh
`interconnects many processors and networks of processors
`through devices such as, for example, rontci:s. 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, eontrol over sof1ware, such as application
`programs, is more difficult than where a mainframe operated
`by an administrator is used, particularly for large organiza(cid:173)
`tiom with numerous client stations and servers distributed
`widely geographically and utilized by a large number of
`users. Furthermore, individual users may move from loca(cid:173)
`tion to location and need to access the network from
`different client stations at different limes. The networked
`environment increases the challenges for a network <1dmin(cid:173)
`istrator in maintaining proper licenses for existing software
`and deploying new or updated applications programs across 55
`the network.
`One approach to reducing software distribution and con(cid:173)
`trol problems is to use an application server in which the
`application programs arc installed ancl maintained on a
`centralized server which supports a plurality of client sta(cid:173)
`tions (sometimes referred lo as a client/server applicalion as
`contrasted to a desktop application). In addition, the Systems
`Management Server (SMS) program from Microsof! Cor(cid:173)
`poration provides an ability to transmit an application pro(cid:173)
`gram from a server to a number of clients. The SMS system
`typically allows installation of programs and associated
`icons al clicnl stations for SMS-enablccl applications. A
`
`UNILOC_IBM_2016_0481
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 14 of 25 PageID #: 2079
`
`US 6,510,466 Dl
`
`JO
`
`3
`applications, such as the Netscape Mission Control desktop,
`do allow personalizing of a specific application display by a
`user, this capability is generally not managed across appli(cid:173)
`cations for a user. Furthermore, it typically associates per(cid:173)
`sonalized screen information with an Internet address (and
`sometimes a "cookie" installed at the client) which is
`associakd with a client device. rath.;r than a user, therefore
`limiting its ability to support roaming by users.
`Each of these "mobility" systems typically do not address
`the foll range of complications which may arise in a hcl-
`crogeneous network utili:i:ing differing devices and connee(cid:173)
`tio11s. The system typically will not present application
`choices associated with the user and for which the user is
`authorized but instead present information associated with
`the particular client workstation. Users wtiuld typic<llly have
`to manually define session characteristics at each differing
`workstation they used in 1he network or maintain local
`characteristic definitions which may be inappropriate for
`particular applications a user is executing and may substan(cid:173)
`tially reduced the administrative convenience of a centrally
`controlled network. Thus, these various approaches fail to
`provide a seamless integration of application access and
`session characteristics across heterogeneous networks. Such
`solutions may, at mnst, reduce network adrnioistrntion only
`after initial installation on each workstation. In addition, 25
`c.:Cintrol over access by users is difficult to accomplish in a
`mobile environment.
`Furthermore, these various approaches have, ·at most, only
`limited capabilities to provide a uniform framework for
`deployment of new or updated application programs from .lO
`different software designers. To the extent software distri(cid:173)
`bution capabilities from a central location are provided, such
`as with the TME HF" system, they typically require various
`steps in the installation process to occur at different locations
`rather than allo\ving the entire process to be controlled from 35
`a single point for an entire managed network environment.
`
`4
`played on the user desktop screen at the clienl. The appli(cid:173)
`cation program is then provided from the sc:rvcr and
`executed al the client. The application program may further
`be customized to conform to the user's preferences and may
`also provide for license use management by determining
`license availability be.fore initiating execution of the appli(cid:173)
`cation program. Acconlingly, applications arc provided
`on-demand lo users independent of the devic~ used to access
`tbe server.
`Centralized control of software distribution is also pro-
`vided for a ncl\vork management server managed computer
`network such as a TivoJiTM environment. Applie<l!ion pro(cid:173)
`grams are distributed as file packages (packets) to
`on-demand servers. A profile manager import call is
`included in the distributed file packet along with an import
`15 text tile containing the data required to properly install and
`register the application program on the on-demand server
`and make it availabk lo authorized users. Sellable
`on-demand server identifier fields are included to allow a
`plurality of on-demand servers to receive a common lile
`20 packet and properly install and register the program for use
`locally.
`Jn one embodiment of the present invention, a method for
`management of application programs on a network includ(cid:173)
`ing a server and a client is provided. A plurality of appli(cid:173)
`cation programs are installed at the server. The plurality of
`application programs may be installed on a network drive
`accessible to the server. A login request initiating a session
`is received from a user through an application executing at
`the client. A user desktop interface is then established at the
`client associated with the user responsive to the login
`request from the u.ser. The desktop interface includes a
`plurality ur display regions associated with a set of tbe
`plurality of application programs installed at the server for
`which the user is authorized. The server receives a selection
`of one of the plurality of application programs from the user
`desktop interface and provides an instance of the selected
`one of the plurality of application programs Io the client for
`execution responsive to the selection.
`Jn a further embodiment, application management infor-
`40 mation for the plurality of applications is maintained at the
`server and a plurality of display regions associated with a set
`nf the plurality of application programs for which the user is
`authorized is included responsive to the application man(cid:173)
`agement information. In a further embodiment of the present
`45 invention, application launcher programs associated with
`each of the sci of the plurality of application programs for
`which the user is authorized arc distributed to Ihe client and
`selections of programs are received from one of tbe appli(cid:173)
`cation launcher programs which is associated with the
`50 sc.lcctcd one of the plurality of application programs. The
`application launchc.;r programs may be provided as JAVATM
`applets and the user desktop interface may be provided as a
`web browser The application managcrncnt information may
`include couligurablc user preference information for the
`plurality of application programs and a set of tbe config(cid:173)
`urable l1ser preference information associated with the user
`and the selected one of the plurality of application programs
`may be provided to the client for use in executing the
`instance of the application program. The set of the config(cid:173)
`urable user preference information may include both user
`preferenc..:s configurable by the user and user preferences
`not configurable by the user whicb arc configurable by an
`administrator. The user preference information may be
`updated responsive. to updates from the user and the admin(cid:173)
`istrator respectively.
`Jn another embodiment of the present .invention, the user
`desktop interface is configured al the server responsive to an
`
`SUMMARY OF THE INVENTION
`
`Accordingly, ii is an object of the present invention to
`provide methods, systems and computer program products
`for centralized management of application programs on a
`computer network.
`It is a further object of the present invention to provide
`such methods, systems and computer program products that
`are user based across various hardware interface devices.
`ll is another object of the present invention to provide
`such methods, systems and computer program products that
`provide for software deployment from a central administra(cid:173)
`tive server location across a plurality of client stations.
`It is a farther object of the pres.:nt invention to provide
`such methods, systems and computer program products that
`can accommodate various types of hardware operating under
`different operating systems across client stations.
`These and other objects are provided, according to the 55
`present invention, by providing methods, systems and com(cid:173)
`puter program products for management of application
`programs on a network including a server supporting clii;nt
`stations. The server provides applications on-demand to a
`user Jogging in to a client supported by the server. Mobility 60
`is provided to the user and hardware portability is provided
`by establishing a user desktop interface responsive to a login
`request which presents to the user a desktop screen through
`a web browser interface. The desktop accesses and down(cid:173)
`loads selected application programs from the server respon- 65
`sive to a request from the user, such as the selection of an
`icon associated w.ilb !he application program which is dis-
`
`UNILOC_IBM_2016_0482
`
`
`
`Case 2:16-cv-00741-RWS Document 159-1 Filed 06/01/17 Page 15 of 25 PageID #: 2080
`
`us 6,510,466 131
`
`6
`maintaining the user's personal preferences for each appli(cid:173)
`cation program.
`
`BRIEF DESCRJP"llON OF THE DRAWINGS
`
`FIG. 1 is a schematic diagram of a compnlcr network wi!h
`application program managemcm according to an embodi(cid:173)
`ment of the present invention;
`FIG. 2 is a schematic diagram of an on-demand server
`system according to an embodiment of the present inven(cid:173)
`tion;
`FIG. 3 is a schematic diagram of the on-demand server
`system of FIG. 2 according lo an embodimenl of !he present
`invention;
`FIG. 4 is a ilowcbart illustrating operations for application
`program distribution and execution according to an embodi(cid:173)
`ment of the present invention;
`FIG. 5 is a llowchart illustra!ing configuration operations
`for application program distribution and execution accord-
`20 ing to an cmboclimcnt of !he present inven!ion;
`FIG. 6 is a llowchart illustrating user login operations for
`application program distribution and execution according to
`an embodiment of the present invention;
`FIG. 7 is a Jlowchan illustrating application access opera(cid:173)
`tions for application program distribution and execution
`according to an embodiment of !be present invention;
`FIG. 8 is a flowchart illustrating operations for application
`program distribution and execution in a network rnanage-
`30 ment server environment such as a Tivo]jTM environment
`according to an embodiment of the present invention;
`FIGS. 9A, 9B and 9C arc flowcharts further illustra!ing
`operations for application program distribution and execu(cid:173)
`tion according to an embodiment of the present invention;
`35 and
`FIG. 10 is an illustration of an interface screen used in
`centralized software deployment according to an. embodi(cid:173)
`ment or the present invention.
`
`5
`identifier of the user associated with the login request so as
`to provide a configured user desktop interface. The config(cid:173)
`ured user desktop interface is then provided to the client for
`display. '!be user desktop may be configured not to include
`display regions associated with any of the plurality of
`application programs installed at the server for which the
`user i> not authorized.
`Io another aspect of the present invention, a license
`availability is determined for tbe selected one of the plurality
`of application programs for the user. License availability for JG
`the user desktop application itself may also be determined.
`An unavailability indication is provided to the client respon(cid:173)
`sive lo the selection if the license availability indicates that
`a license is not available for the user. The lice.nse availability
`may be dctcrrnincd by the one of the application launcher 1s
`programs associa!ed with the sdccted one of the plurali!y of
`applica!ion programs which may obtain the license avail(cid:173)
`ability from a license management server. The license man(cid:173)
`agement server may run on !he same machine as the on
`demand application server.
`In a further aspect of the present invention, evcIJt logging
`information is received at the server from the instan;_-e. of the
`selected one of the plurality of application programs. The
`server provides the received event .logging information to a
`network managermml server associa!cd with the sc.;rvcr. In 25
`addition, event logging informa!ion may be provided to the
`user desktop application.
`In yet ano!her aspect of the present invention, methods arc
`provided for distribution of applica!ion programs lo a large!
`station on a network from a centralized network manage(cid:173)
`ment server coupled to the network. The application pro(cid:173)
`gram to be distributed is provided to the systems (network)
`management server and a source directory and a target
`dircclory for distribution of !he application program arc
`specified. A Jlle packet associated with the application
`program is prepared including a segment configured lo
`initiate registration operations for the application program at
`the target station. The file packel is then di~!ributed to the
`target s!ation or stations. lo. one embodiment, the network
`management server is a Tivolirn server. The segment con(cid:173)
`figured lo initiate registration operations may include an
`in1port data file and a call to an import program executing on
`the target station.
`In one ·cmbodimcn! of the soflwarc distr.ibution aspect of 45
`the present invcn!ion, the application program is provided as
`a JAVATM apple! and is registered based on a Universal
`Resource Locator (URL) address accessible to a browser
`applicalion. The segment configured to initiate registration
`operations includes a variable field into which the target 50
`station inserts its identification during registration opera(cid:173)
`tions. 'Ilic file packet may he distributed to a plurality of
`target stations each having an idenlillcation which may be
`inscr!ed into !he variable field at !he target station.
`While tbc invention has been described above primarily
`with respect to the method aspects of the invention, both
`systems and computer program products arc also provided.
`Accordingly, the present invention provides for manage(cid:173)
`ment of application programs in a network environment
`from a central location while allowing for user preferences
`lo be maintained independent of hardware location of the
`user along with centralized distribu!ion of new and/or
`updated ap11lication programs. This provicks for reduced
`costs and increased uniformity in deploying software in a
`network cnvironmcnl. It further provides an essentially
`hardware transparent ability for an individual user lo inter(cid:173)
`face to an on-demand server supported client station while
`
`40
`
`DETAILED DESCRIP110N OF PREFERRED
`EMBODIMENTS
`
`The present invention now will be described more fully
`hereinafter with reference to. tbe accompanying drawings, in
`which prcforrnd embodiments of the .invention arc shown.
`This invention may, however, be embodied in many different
`forms and should not be construed as limited to the embodi(cid:173)
`ments se! forth herein; rntber, these embodimenL5 are pro(cid:173)
`vided so that this disclo