`Case 2:16-cv-00741—RWS Document 159-3 Filed 06/01/17 Page 1 of 24 PageID #: 2110
`
`
`
`
`
`
`
`
`
`EXHIBIT C
`
`EXHIBIT C
`
`
`
`
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 2 of 24 PageID #: 2111
`
`111111111111111111111111111111111111111111111111111111111111111111111111111
`US007069293B2
`
`02) United States Patent
`Cox ct al.
`
`(JO) Patent No.:
`(45) Date of Patent:
`
`US 7,069,293 B2
`Jun.27,2006
`
`(54) METHODS, SYSTEMS AND COi\'lPUTER
`PH.OGRAM PRODUCTS FOR DISTRIBUTION
`OF APPLICATION PHOGRAMS TO A
`TARGET STATION ON A NETWORK
`
`(75)
`
`(73)
`
`Jnventors: David F. Cox, Raleigh, NC (US); Kent
`E Hayes, Jr., Chapel Hill, NC (US):
`Da\id B. Lindquist, Raleigh, NC (US);
`John R. McGarvcy, Apex, NC (US);
`Abdi Salahshour, Raleigh, NC (US)
`Assignee: International Business Mac.hines
`Corporation, Anmmk, NY (US)
`Subject to m1y disclaimer, the tenn of this
`patent is extended or adjusted under 35
`U .S.C. l 54(b) by 782 days.
`(21) Appl. No.: 09/870,608
`
`( * )
`
`Notice:
`
`(22) Filed:
`
`May 31. 2001
`
`(65)
`
`.Prior Publication Data
`
`US 2002/0032763 Al Mar. 14, 2002
`
`Related U.S. Application Oata
`
`(62) Division of application No. 09/211,528, filed on Dec.
`14, 1998. now Pat. No. 6,510,466.
`
`(51)
`
`Int. Cl.
`(2006.01)
`G06F 15116
`(2006.01)
`G06F 9144
`(2006.01)
`G06F 91445
`(52) U.S. Cl. ...................... 709/203; 709/228: 709/218;
`709/219; 717/171: 717/172
`I<icJd of Classification Search ................ 709i207,
`709/217, 226, 221, 223, 203, 228, 219, 218;
`717/11, 171, 172
`See application file for complete search history.
`
`(58)
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,263,165 A
`5,;140,739 A
`5,554,979 A
`
`11/1993 Janis .......................... 3951725
`Si 1995 Beck ct al.
`................. 7091221
`9.'1996 Kohar et al. ........... 340/325.72
`
`5.680,615 A
`
`10il997 Marlin et al. ............... 707illn
`
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`
`9850853
`
`lJ!l998
`
`OTHER PUBLICATIONS
`
`"A Common Desktop Enviromnent for Platfonns Based on
`the UNIX Operating System," By 13.E. Cripe, J.A. Brewster,
`and D.E. Laursen, !Iewlett-Packard Journal, vol. 47, No. 2,
`Apr. 1, 1996, pp. 6-14.
`
`(Continued)
`
`Primary Examiner-Rupal Dlrnria
`Assisiant Ern111i11er--~Dje11ane Bayard
`(74) ;Jttorne)\ Agent. or Firm Myers Bigel Sibley &
`S8jovec; Stephen A. Calogero
`
`(57)
`
`ABSTRACT
`
`Methods, systems and computer program products for man(cid:173)
`agement of application programs on a network including a
`server supporting client stations are provided. The server
`provides applications on-demand to a user logging in to a
`client supported by the server. Mobility is provided to the
`user and hardware portability is provided by establishing a
`user desktop inter.face responsive to a login request which
`presents to the user a desktop screen through a web brmvser
`interface which accesses and downloads selected application
`programs from the server responsive to a request from the
`user on the user desktop screen at the client. The application
`program is then provided from the server and executed at the
`client. The application program may .further be customized
`to 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 application pro(cid:173)
`gram. Finally, soiiware distribution mid installation may be
`provided from n single network management server.
`
`21 Claims, 9 Drawing Sheets
`
`UNILOC_IBM_2016_ 1150
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 3 of 24 PageID #: 2112
`
`US 7,069,293 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`5,689,708 A
`'i,708,709 A
`5,745,879 A
`5,748,896 ;\
`5,764,887 A
`5,771,354 A
`5,778.368 A
`5,813,009 A
`5,845,077 A
`5,84&,243 A
`5}S67Jl3 1\ *
`5,875,327 A
`5,881,236 A
`5,9ll,066 A
`5,919,247 i\ •I•
`5,996,012 A *
`6,00G,035 A *
`6,047,194 A *
`6,070,190 A
`6,105,063 A
`6, 105,066 A
`6,105,069 A
`6,108.712 A
`6,131.112 A "
`6,175,363 Bl
`6, l 75,832 J3l
`6.182,l42 Bl
`6,192,414 Bl
`
`............. 7091302
`I!/ 1997 Regnier et al.
`38014
`Ii 1998 Rose . . .. . .. ... ........ ... .....
`4!!998 Wyman ......................... 70511
`5/1998 Daly et al. .................. 709/223
`6/l 998 Kells et al. . .. .. .... . .. .. . .. 713/200
`6il 998 Crawford .................... 709/229
`711998 Hogan et al. ................. 707110
`9/1998 Johnson et al.
`7071100
`12/1998 f'awcctt .........
`. .. 7091221
`12/1998 Knlbrni et al. ............ 7091224
`2i1999 Shrader d al.
`............. 717/176
`2/1999 Brandt cl al. ...... ...... ...... 713!1
`3/1999 Dickey ....................... 7091221
`6:t999 Willimns ct al. ............ 709i300
`7i l999 Van Hoff et al.
`........... 7091217
`11/1999 J;urid ........................ 709.1226
`12!!999 Nabahi ....................... 7171175
`4i2000 Andersson .................. 4551466
`................. 709/224
`5!2000 Reps ct al.
`812000 Hayes, Jr .................... 7091223
`812000 Hayes, Jr .................... 7()91226
`S.'2000 Franklin et al.
`............ 7091229
`llayes, Jr. ......
`. .. 709/246
`812000
`10/2000 Lewis el al. ................ 709/207
`1/2001 Williams ct al. ............ 345.'334
`l/200 l Luzzi et al.
`.................. 707/10
`!!200 I Wi.n ct al. ................... 7091229
`21200 I Horn .......................... 7091239
`
`6,202.206 Bl *
`6,611.498 Bl*
`2003/0110241 Al"
`
`3/2001 Dean ct al. ................. 717il77
`................ 370:252
`8/2003 Baker ct al .
`6/2003 Cheng et al.
`............... 709i22 I
`
`OTHER PUBLICATIONS
`
`"Administration of Graphic User Interface and Multimedia
`Objects Using Cooperating Processing," IBM Technical
`Disclosure Bulletin, vol. 37, No. 9, Sep. L 1994, pp.
`675-678.
`to
`"Guide
`http://nti'pdc97 /profiles_ .and_. policics.htm
`Microsoft Windows NT 4.0 Profiles and Policies" pp. 1-76.
`http;/ /www /ietf.org/html .charters/acap-charter.html "App li(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-J
`to 5-15.
`http://www.sofrware.ibrn.com/os/warp/library/sq202822.
`hlm, "WorkSpace on-Demand Handbook," Chapters 2.3.1;
`6.2; 6.3; 6.3.1; 6.3.3; 6.5.
`http://www.triteal.com/SoftNC, Java Desktop Environment
`from Triteal, pp. 1-2.
`hllp://java.sun.com/producls/hot~jaw1views/admin.hlml,
`"Hot.lava Views," pp. 1-24.
`hl1p://esuite.lotus.com/eSuite/cSuite, "The Right Work
`Environment for Network Centric Computing," 24 pages.
`* cited by examiner
`
`UNILOC_IBM_2016 1151
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 4 of 24 PageID #: 2113
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 1 of 9
`
`US 7,069,293 B2
`
`10
`
`/
`
`20
`
`10·
`
`FIG. 1
`
`Network
`
`22
`
`10'"
`~
`Network
`
`24
`
`Client
`
`J 24•
`D
`
`Client
`
`26'
`
`Client
`
`Client
`
`UNILOC_IBM_2016_ 1152
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 5 of 24 PageID #: 2114
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 2 of 9
`
`US 7,069,293 B2
`
`.
`FIG 2
`
`20°
`D I/
`
`1•~<<<,,<(.<./'./_<(.<d
`
`Admin Console
`
`!
`
`22
`
`/
`
`v204
`
`202
`
`/
`
`D
`
`1•."' ':.;< .. .,<.'-~ ... ~ .. ;"<·I
`User Console
`
`206
`I/
`Client Management Serv/
`
`I Web Server r
`
`2088
`
`Data Base
`
`204
`
`FIG. 3
`
`214
`
`206
`
`222
`
`200
`
`Web Server
`
`Servlets
`
`Web Browser
`
`Config. Framework
`
`Conf.
`Mgmnt
`
`License System
`Hdw.
`lnven Mgmnt Mgmnt
`
`208
`
`224
`
`Network Registry
`
`I
`I
`
`210
`
`212
`
`220
`
`216
`
`218
`
`226
`
`.____ ____ Desktop/Webtop/Apps
`
`202
`
`Client Access
`
`228
`
`UNILOC_IBM_2016_ 1153
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 6 of 24 PageID #: 2115
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 3 of 9
`
`US 7,069,293 B2
`
`FIG. 4
`
`On-Demand Server
`
`No
`
`232
`
`Configuration
`
`234
`
`Login
`
`238
`
`'-------N_o_,, New Access
`Request?
`
`Yes
`
`240
`
`Access Application
`
`End
`
`UNILOC_IBM_2016_ 1154
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 7 of 24 PageID #: 2116
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 4 of 9
`
`US 7,069,293 B2
`
`FIG. 5
`
`Configuration
`
`Import Application
`Definition
`
`Input User Info for /
`
`Application
`
`Input license Policy
`
`Input Access
`Specifications
`
`Update DataBase
`
`End
`
`250
`
`252
`
`254
`
`256
`
`258
`
`UNILOC_IBM_2016_ 1155
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 8 of 24 PageID #: 2117
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 5 of 9
`
`US 7,069,293 B2
`
`FIG. 6
`
`Login
`
`260
`
`Receive HTTP
`Request
`
`Obtain ID and
`Password
`
`262
`
`/
`
`264
`
`No
`
`Authorized?
`
`Yes
`
`268
`
`No
`
`License Available?
`
`Yes
`
`270
`
`/
`
`Display Desktop with
`Authorized Applications
`and Enable Logging
`
`\... End
`
`266
`
`Display Error Message
`
`UNILOC_IBM_2016_ 1156
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 9 of 24 PageID #: 2118
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 6 of 9
`
`US 7,069,293 B2
`
`FIG. 7
`
`Access
`
`Receive Application
`Request
`
`280
`
`283
`
`282
`
`Obtain ID and
`Password
`
`No
`
`Credentials
`Available?
`
`No
`
`Authorized?
`
`288
`
`No
`
`License Available?
`
`286
`
`Yes
`
`290
`
`Display Error Message
`
`Initiate Instance of
`Application and Enable
`Logging
`
`End
`
`UNILOC_IBM_2016_ 1157
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 10 of 24 PageID #: 2119
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 7 of 9
`
`US 7,069,293 B2
`
`FIG. 8
`
`Tivoli Distribution
`
`Provide Software
`Access to Tivoli
`Server
`
`Specify Direcotories
`for Software and
`Program
`Information
`
`Execute Pre(cid:173)
`Distribution
`Program
`
`Distribute Software
`to Specified OD
`Servers
`
`Execute After
`Distribution
`Program
`
`Update Profile
`Management list
`of OD Server
`
`110
`
`112
`
`114
`
`116
`
`118
`
`120
`
`UNILOC_IBM_2016_ 1158
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 11 of 24 PageID #: 2120
`
`FIG. 9B
`Distribute File Package
`150
`
`FIG. 9C
`
`e . Cf). .
`
`FIG. 9A
`Create File Package Definition
`130 Start Set Up Custom
`File Package Task
`
`Enter file package
`-Source & Target I
`-Before/After Pgm
`-Import txt/10/PSW
`
`172
`
`Process After
`DI st. Program
`
`No
`
`158 Save/Cancel File
`Package Changes
`
`162
`
`Issue
`
`176 Call PMlmport 1o
`Register Applet
`With Data Store
`
`Terminate
`
`138
`Issue
`Error
`Message
`
`Terminate
`
`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 Packa e
`
`Yes
`184 Refresh & Display
`Applet(s) on the
`A
`let Launcher
`
`Terminate
`
`c z
`r
`0
`()
`I
`OJ
`~
`IN
`0 _.
`m
`I
`-"
`
`(]l
`<.O
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 12 of 24 PageID #: 2121
`
`U.S. Patent
`
`Jun.27,2006
`
`Sheet 9 of 9
`
`US 7,069,293 B2
`
`FIG. 10
`
`UNILOC_IBM_2016_ 1160
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 13 of 24 PageID #: 2122
`
`US 7,069,293 B2
`
`1
`METHODS, SYSTEMS AND COMPUTER
`PROGRA.VI PRODUCTS FOR DlSTRIHUTJON
`OF APPLICATIO:\' l'l<OGRAMS TO A
`lARGET STATION ON A NET\VORK
`
`CROSS REFERENCE TO RELATED
`APPLJCATJONS
`
`·111is application is a divisional of application Ser. No.
`09/2 I 1.528 filed Dec. 14 • .1998 now lJ .S. Pat. No. 6,510.466.
`This application is related to the following application filed
`concmTently herewith: METHODS, SYSTEMS AND
`COMPUTER PROGRAM PRODUCTS FOR MANAGE(cid:173)
`!VlliNT OF CONFJGURABLE APPLICATION PRO-
`ORA.MS ON A NETWORK. This application is also related is
`to U.S. patent application Ser. No. 09/072.597 filed May 5,
`1998 and entitled: Client-Server System for Maintaining a
`user Desktop Consistent with Server Application User
`Access Permissions which is incorporated herein by refer(cid:173)
`ence in its entirety.
`
`FIELD OF THE INVENTION
`
`The present inve1ition relates to network management in
`general and in particular to application program manage(cid:173)
`ment on a computer network.
`
`BACKGROUND OF THE INVENTION
`
`Traditional mainframe computer configurations provided
`for user interface to the computer through computer tenni(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 n
`central processing center with a number of relatively low(cid:173)
`processing power terminals tu a distributed environment of
`networked processors. Examples of this shif1 in processing
`include local or wide area computer networks which inter(cid:173)
`connect individual work stations where each workstation has
`substantial independent processing capabilities. This shift
`may be further seen in the popularity of the Internet which
`interconnects many processors und networks of processors
`through devices such as, for example, routers. This type of
`network environment is o11en referred to as a client-server
`environment with client stations coupled to and supported
`by a server station.
`In the modern distributed processing computer environ(cid:173)
`ment, control over soflw;:ire, such as application programs,
`is more difficult than where a mainframe operated by an
`administraror is used, pm1icularly Ibr large orgnnizations
`with numerous client stations and servers distributed widely
`geographically and utilized by a large number of users.
`Furthenuure, individual w;ers may move from location to
`location and need to 3cccss the net1vork from different client
`stations at different times. The networked envirnmnent 55
`increases the challenges for <i network administrator in
`maintaining proper licenses for existing software and
`deploying new or updated applications programs across the
`ndwork.
`One approach tn reducing software distribution and con(cid:173)
`trol problcms is to use an application server in \Vhich ihe
`application programs m·e installed and maintained on a
`centrnlized server which supports a plurality of client sta(cid:173)
`tions (sometimes referred to as a client/serv<.'r application as
`contrasted tu a desktop application). Jn addition, the Systems
`Management Server (SMS) program from Micrusolt Cor(cid:173)
`poration provides an ;ibility to transmit an application pro-
`
`2
`gram from a :.;erver to a number of clients. The Slv!S system
`typically ;:illows installation of programs and associated
`icons at client stations for SMS-enabled applications. A.
`customized instalJ generally must be created by a system
`5 administrator for each difrcrent version to be instaHcd.
`Furthennore, once installed at a client, a user must typically
`use that specilic client station. The application generally
`cannot be automatically deleted from the client station's
`desktop or automatically upgraded the next time the user
`10 starts the application. Similarly, the Tivoli Management
`Environment (TME) I ()TM system from Tivoli Systems. Inc.
`provides a software distribution feat11fe which may be used
`lo transmit a file package to client and server stations on a
`network from a central Tivolin1 server.
`A further complication in network systems is that, typi-
`cally. these systems include combinations of network appli(cid:173)
`cations and nmive applications as well as combinations of
`different connection types and hardware devices. As used
`herein "native applications" refers to applications which <lfe
`:u installed locally on a workstation such that characteristics
`associated with the native application arc stored on the
`workstation. The combinations of network connections,
`differing hardware. native applications and network appli(cid:173)
`cations makes portability of preferences or operating envi-
`"' ronment characteristics which provide consistency from
`workst<Jtion to workstation difficult. Furthenuore, differ(cid:173)
`ences in hardware or co1mections may create inefficiencies
`as users move from workstation to workstation. fl)r
`cxmnple, a user may, in a first session, access the network
`w utilizing a high speed connection and a workstation with a
`high resolution color monitor to execute an application and
`then, in a l;:iter session, access the net\vork to execute the
`same application from a mobile computer with a mono(cid:173)
`cl!folne display and a low speed modem coimection to the
`35 network. Thus, session content, such as color display data or
`prefrrences associated with the application, which may have
`been approprintc for the first session may be inappropriate or
`ineJlicient in a later session.
`Efforts to address mobility of users in a network have
`40 included efforts lo provide preference mobility such as, for
`example. Novell's Z.E.N.works1 M, Microsoft's "Zero
`Administration" initiative for Windows<El and International
`Business Machines Coq1oration's (IBM's) Workspace On
`DcmandTM. Uowever, these solutions each typically require
`45 pm-installation or software at the v.;orkstation to suppurl
`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
`mldition to modit)'ing the \Vorkstations operating system at
`"' stal1up to setup tasks to customize the user's enviromnent,
`the Microso11 Zero Administration solution is typically
`limited to a honwgeneuus (Windows@ only) environment
`where the workstation and the server are utilizing the same
`operating system.
`Another approach to centralized m:mngernent is the trn-
`ditional mainframe model. such as with the IBM '.\270
`system .. or ;in X Windows environment. However, in each of
`these approache:;, the client device is treated as a dumb
`terminal with execution of the applications occmTing at the
`6i! server rather than the client. Accordingly, the communica(cid:173)
`tion between the server and the client is typically presenting
`characters for a display screen of the client 1md/or receiving
`key strokes from the client. Windows Zero Administration,
`;is described above. is client rather than user oriented and
`6'i installs applications on client stations which does not folly
`support roaming by users. The .1AVA'1M environment milized
`on the Internet for web 8pplications provides nn ability for
`
`UNILOC_IBM_2016 1161
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 14 of 24 PageID #: 2123
`
`US 7,069,293 B2
`
`3
`hardware independent application development bu! fails to
`provide an integrated framework for presenting multiple
`independent applications to a user. While vaiious web
`applications, such as the Netscape Mission Control desktop,
`do allmv personnlizing of ~1 specific application display by a 5
`user, this capability is generally not managed across appli(cid:173)
`c;;lions for a user. I'urthen11ore, it typically associates per(cid:173)
`sonalized screen information with an Internet address (m1d
`sometimes a "cookie" installed at the client) which is
`associated with a client device rather than a user. therefore 1 o
`limiting its ability to support roaming by users.
`Each of these "mobility" systems typically du 1w1 address
`the full range of complications which may arise in a het(cid:173)
`erogeneous network utilizing differing devices and connec(cid:173)
`tions. The system typically will not present application J s
`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
`\Vorkstation they used in the network or maintain local
`characteristic definitions which may be inapprop1iate for
`particular applications a user is executing and may substan(cid:173)
`tially reduced the administrative convenience of a centrally
`controlled network. Thus, these various approaches fail to
`provide a seamless integration of application access and
`session characteristics across heterogeneous networks. Such
`solutions may, at most. reduce network administration only
`aller initial installation on each workstation. Jn addition,
`control over access hy users is diflicult to accomplish in a
`mobile environment.
`Furthermore, these various approaches have, at mosL only
`limited capabilities to provide a unifon11 framework for
`deployment of new or updated application programs from
`diJferei1t software designers. To the extent software distri(cid:173)
`bulion capabilities from a central location are provided, such
`as with the TME 10™ system, they typically require various
`steps in the installation process to occur at different locations
`rather than allowing the entire process to be controlled from
`a single point for an entire managed network environment.
`
`SUM1Vu\RY OF THE IJ\1VENTJON
`
`4
`loads selected application programs from the server respon(cid:173)
`sive to a request from the user, such as the selection of an
`icon associated with the application program which is dis(cid:173)
`played on the user desktop screen at the client. ·111e appli(cid:173)
`cation program is then provided from the server and
`executed at the client The app Ii cation program may further
`be customized to conform to the user's preforences and may
`also provide for license use management by determining
`license availability before initiating execution of the appli(cid:173)
`cation program. Accordingly, applications are provided on(cid:173)
`demand w users independent of the device used to access the
`server.
`Centralized control of software distribution is also pro(cid:173)
`vided for a network management server managed computer
`network such as a TivoJiTM environment. Application pro(cid:173)
`grams are distributed as file packages (packets) to on(cid:173)
`demand servers. A profile manager import call is included in
`the distributed file packet along with an import text file
`2ti containing the data required to properly install and register
`the application program on the on-demand se1vcr and make
`it available to authorized users. Settable on-demand server
`identifier fields are included to allow a plurality of on(cid:173)
`demand se1vers to receive a common file packet and prop-
`25 erly install and register the prog:rmn 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 clit:nt is provided. A plurality of appli-
`30 cation programs are installed at the se1ver. 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 nt the
`35 client associated with the user responsive to the login
`request from the user. The deshop interface includes a
`plurality of display regions associated with a set or the
`plurality of application programs installed at the server for
`which the user is authorized. The server receives a selection
`40 of one of the plurality of application programs from the user
`desktop interface and provides an instance of the selected
`one of the plurality of application programs to the client for
`execution responsive to the selection.
`In a further embodiment, application management infor(cid:173)
`mation fix the plurality of applications is maintained at the
`server and a plurality of display regions associated with a set
`of the plurality of application programs for which lhe user is
`authorizt.'<:! is included responsive to the application man(cid:173)
`agement infomrntion. In a further embodiment of the present
`invention, application launcher programs associated with
`each of the set of the plurality of application programs for
`whid1 the user is authorized are distributed to the client and
`selections of programs are received from one of the appli(cid:173)
`cation launcher programs which is associated with the
`selected one of the plurality of application programs. The
`application launcher programs may be provided as JA\.'.'\T."
`applets and the user desktop interface may be provided as a
`web browser The application management information may
`include configurable user preference infrmnation for the
`plumlity of application programs and a set of the config(cid:173)
`urable user preference infonnation associated with the user
`and the selected one of the plurality of application programs
`may be provided to the client for nse in executing the
`instance of the application program. The set of the config(cid:173)
`urable user preforence information may include both user
`preferences configurable by the user and user preferences
`mit configurable by the user which arc configurable by an
`
`Accordingly, it is an object of the present invention to
`provide methods, systems and computer progrnm products
`for centralized management of application programs on a 45
`computer network.
`It is a further object of the present invention to provide
`such methods, systems and computer program products that
`are user based across various hardware interface devices.
`It is another object of the present invention to provide 5Ci
`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 forthcr object of the present invention to provide
`such methods, syskms and computer progsam products that 55
`can accommodate various types ofhardwme operating under
`different operating systems across client stations.
`'!11ese and other objects me provided, according to the
`present invention, by providing methods, systems and com(cid:173)
`puter program products for management of application 1in
`programs on a network including a se1vcr supporting: client
`stations. The server provides applications on-demand to a
`user logging in to a client supported by the server. Mobility
`is provided to the user and hardware port;:ibilily is provided
`by establishing a user desktop interface responsive to a login 65
`request which presents to the nser a desktop screen through
`a web browser intcrfr1cc. The desktop accesses and down-
`
`UNILOC_IBM_2016_ 1162
`
`
`
`Case 2:16-cv-00741-RWS Document 159-3 Filed 06/01/17 Page 15 of 24 PageID #: 2124
`
`US 7,069,293 B2
`
`6
`costs <md incrc;1sed uniformity in deploying soiiware in a
`network environment. It further provides an essentially
`hardware transparent ubility f<.1r an individual user to inter(cid:173)
`face to an on-demand server supported cliem station while
`maintaining the user's personal preferences for each appli(cid:173)
`cation program.
`
`BRJEF DESCRIPTION OF TIIE DRAWINGS
`
`FJG.1 is a schematic diagram ofa computer network with
`application program nrnnagement according to an cmbodi(cid:173)
`ment of the present invcntion;
`FIG. 2 is a schematic diagram of an on-demand server
`system according to an embodiment of the present inven-
`15 tion;
`FIG. 3 is a schematic diagrwn of the on-dem::md se1ver
`sys!em of FIG. 2 according to an embodiment of the present
`invention;
`FJG. 4 is a ilowchmt illustrnling operations for application
`2(i program distribution and execution according to an embodi(cid:173)
`ment of the present invention;
`FJG. 5 is a f1owchart illtistrating configuration operations
`for application progrmn distribution and execution accord-
`·
`ing to an embodiment of the present invention;
`FIG. 6 is a !lowchart illustrating user login operations k>r
`application program distribution nnd execution according to
`an embodiment of the present invention;
`FICi. 7 is a flowchart illustrating applirntion access opera(cid:173)
`tions for application program distribution and execution
`30 according to an embodiment of the present invention:
`FJG. 8 is a flowchmt illustrating operations for application
`program distribution and execution in a network manage(cid:173)
`ment server environment such as a TivoliTM environment
`according to an embodiment of the present invention;
`FIGS. 9A, 9B and 9C are flowcharts farther illustrating
`operations for application progmm distribution and execu(cid:173)
`tion according to an embodiment of the present invention:
`and
`F1C3. 10 is an illustration of an interface screen used in
`4ll centralized soltware deployment according to m1 embodi(cid:173)
`ment of the present invention.
`
`5
`administrator. The user preference information may be
`upd:ited responsive to updates from the user and the admin(cid:173)
`istrator respectively.
`Jn another embodiment of the present invention, the user
`desktop interfoce is configured at the server responsive to nn
`identifier of the user associ8ted with the login request so as
`lo provide a conJigured uscr desktop interface. The config(cid:173)
`ured user desktop interface is then provided to the client for
`display. 111e user desktop may be config1Jred not to include
`display regions associated with any of the plurality of 10
`application programs instnlled at the server for which the
`user is not authorized.
`In another aspect of the present invention, a license
`availability is determined for the selected one ofthe plurality
`of application programs for the user. Licensc availability for
`the user desktop application itself may also be determined.
`An unavailability indication is provided to the client respon(cid:173)
`sive to the selection if the license availabilitv indicates that
`a license is not available for the user. The lic;nse availability
`may be determined by the one of the application lmmcher
`programs m;sociated with the selected one of the plurality pf
`application programs which may obtain the license avail(cid:173)
`ability from a license management server. The license man(cid:173)
`agement server may run on the same machine as the on
`demand application server.
`Jn a further aspect of the present invention. event logging
`information is received at the server from Ille instance of the
`selected one of the plurality of application programs. The
`server provides the received event Jogging information to a
`network management server associated with the server. Jn
`addition, even! logging information may be provided to the
`user desktop application.
`Jn yet another aspect of the present invention, methods are
`provided for dist1ibution of application programs to a target
`station on a network from n centralized network manage- 35
`men! server coupled to the network. The application pro(cid:173)
`gram lo be distributed is provided lo the systems (network)
`management server and a source directory and a large!
`directory for distribution of the npplication program are
`specified. A file packet associated with the applicatic1n
`program is prepared including a segment configmed to
`initiate registration operations for the application program at
`the target station. TI1e file pncket is then distributed to the
`1mget station or stations. Jn one embodiment, the network
`management server is a TivoliTM server. The segment con- 45
`figured to initiate registration npcrntions may include an
`import data file and a call to <Hl import program executing on
`the target station.
`Jn one embodiment of the software distribution aspect of
`the present invention, the application program is provided as so
`a JA'v~\ nr applet and is registered based c>n a Universal
`Resource Locator (URL) address accessible to a browser
`application. The segment configured to initiate registration
`operations includes a variable field into which the target
`station insc11s its identification during registration opern- 55
`lions. 111c file packet may be disttibuted to a plurality of
`target stations each lrnving <HJ identification which may be
`inserted into the vaiiablc Jicld at the target station.
`\Vhile the invemion has been described above primarily
`with respect to the method aspects of the invcmion, both 6i•
`systems and computer program products arc also provided.
`Accordingly, the present invention provides for manage(cid:173)
`ment of application prog.rnrns in a network cnvironmem
`from a centrnl location while allowing for user preferences
`!O be maintained independent of hardware location of the 65
`user along with ccntrnlized disttibrnion of new and/or
`updated application programs. This provides fix reduced
`
`DETAILED DESCRlPTION OF PREFERRED
`EMBODIMENTS
`
`The present invention now will be described more fully
`herciimfier with reference to the accompanying drawings, in
`which preferred embodiments of the invention arc shown.
`This invention may, however, be embodied in many diiforcnt
`forms and should not be constrned as limited to the embodi(cid:173)
`ments set forth herein: rather. these embodiments arc p.rn(cid:173)
`vi<led so that this disclosure will be thorough and complete,
`and will fully co