`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 1 of 24
`
`EXHIBIT B
`
`EXHIBIT B
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 2 of 24
`Case i=19'cv'11272'RGS D"“"“‘llll||lllllll|llllllllllllflllll‘llllfllll|lllllllIalllll‘fllllllll||||||||
`
`US007069293B2
`
`United States Patent
`
`(12)
`(10) Patent No.:
`US 7,069,293 B2
`
`Cox et al.
`(45) Date of Patent:
`Jun. 27, 2006
`
`(54) METHODS, SYSTEMS AND COMPUTER
`PROGRAM PRODUCTS FOR DISTRIBUTION
`
`5,680,615 A
`
`10/1997 Marlin et al.
`
`............... 707/103
`
`OF APPLICATION PROGRAMS TO A
`TARGET STATION ON A NETWORK
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`(75)
`
`Inventors: David E. Cox, Raleigh, NC (US); Kent
`F. Hayes, Jr., Chapel Hill, NC (US);
`David B. Lindquist, Raleigh, NC (US);
`John R. McGarvey, Apex, NC (US);
`Abdi Salahshour, Raleigh, NC (US)
`International Business Machines
`Corporation, Armonk, NY (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 782 days.
`(21) Appl. No.: 09/870,608
`
`(73) Assignee:
`
`( * ) Notice:
`
`(22)
`
`Filed:
`
`May 31, 2001
`
`(65)
`
`Prior Publication Data
`US 2002/0032763 A1
`Mar. 14, 2002
`
`'
`
`Related US. Application Data
`(62) Division of a
`lication No 09/211 528 filed on Dec
`14 1998 noSVpPat No 6 '510 466,
`’
`’
`’
`'
`'
`’
`’
`'
`Int Cl
`G06F 15/16
`(2006 01)
`G06F 9/44
`(2006.01)
`G06F 9/445
`(2006.01)
`(52) U S Cl
`769/203. 709/228' 709/218'
`'
`'
`' """""""""""
`709/219’. 717/171’ . 717/172’
`_
`_
`_
`’
`’
`(58) Fleld 0f Sé:j;lfi;a2tlzo6n 55:11:33 ‘2’0‘5‘2’2’8’ 2795/35);
`’
`’
`’
`’
`7’17“ 1’ 171’ 172’
`fil
`h h'St
`’
`ls ory.
`
`(51)
`
`(56)
`
`S
`
`t'
`1.
`ee app 10a ion
`
`1 t
`f
`e or comp e e searc
`.
`References Clted
`U.S. PATENT DOCUMENTS
`anls ................
`,
`,
`395/725
`5 263 165 A
`11/1993 J
`_
`............. 709/221
`5,440,739 A
`8/1995 Beck et al.
`
`........... 340/82572
`5,554,979 A
`9/1996 Kohar et a1.
`
`W0
`
`9850853
`
`11/1998
`
`OTHER PUBLICATIONS
`“A Common Desktop Environment for Platforms Based on
`the UNIX Operating System,” By B‘E‘ Cr1pe, J'A' Brewster,
`and DE. Laursen, Hewlett-Packard Journal, V01. 47, No. 2,
`A .1 1996
`.6-14.
`pr
`’
`’ pp
`
`.
`(Commued)
`Primary ExamineriRupal Dharia
`Assistant ExamineriDjenane Bayard
`(74) Attorney, Agent, or FirmiMyers Bigel Sibley &
`Sa'ovec; Ste hen A. Calo ero
`J
`p
`g
`(57)
`ABSTRACT
`
`Methods, systems and computer program products for man-
`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 interface responsive to a login request which
`presents to the user a desktop screen through a web browser
`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-
`ability before initiating execution of the application pro-
`gram. Finally, software distribution and installation may be
`provided from a single network management server.
`
`21 Claims, 9 Drawing Sheets
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 3 of 24
`Case 1:19-cv-11272-RGS Document 1—2 Filed 06/07/19 Page 3 of 24
`
`US 7,069,293 B2
`
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`6,202,206 B1 *
`
`3/2001 Dean et a1.
`
`................. 717/177
`
`5 689 708 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,813,009 A
`2,323,331; 2
`,
`,
`5,867,713 A *
`5,875,327 A
`5,881,236 A
`5,911,066 A
`5,919,247 A *
`5,996,012 A *
`
`709/302
`“/1997 Re nier et 31
`1/1998 Roi.
`............................. 380/4
`
`4/1998 Wyman
`705/1
`5/1998 Daly et al. .................. 709/223
`6/1998 Kells et a1.
`................. 713/200
`6/1998 Cranord
`709/229
`
`7/1998 HOgan et 31'
`""" 707/10
`9/1998 Johnson et al.
`707/100
`.
`
`15/133: Emmett. """""
`709/221
`.. 709/224
`ulkarni et al.
`............. 717/176
`2/1999 Shrader et 31.
`.................. 713/1
`2/1999 Brandt et al.
`3/1999 Dickey ..........
`709/221
`
`6/ 1999 Williams et a1.
`709/300
`7/1999 Van Holf et al.
`.....
`709/217
`...........
`11/1999 Jarriel
`709/226
`
`717/175
`~~~~~~~
`6,006,035 A : 12/1999 Nabahl
`6,047,194 A
`4/2000 Andersson .................. 455/466
`6,070,190 A
`5/2000 Reps et al.
`................. 709/224
`6,105,063 A
`8/2000 Hayes, Jr.
`709/223
`
`6,105,066 A
`8/2000 Hayes, Jr.
`709/226
`6,105,069 A
`8/2000 Franklin et al.
`709/229
`6,108,712 A
`8/2000 Hayes, Jr,
`.......
`709/246
`
`.. 709/207
`6,131,112 A * 10/2000 Lewis et al.
`............ 345/334
`6,175,363 B1
`1/2001 Williams et al.
`6,175,832 B1
`1/2001 Luzzi et al.
`.................. 707/10
`.
`6,182,142 B1
`1/2001 Win et al.
`709/229
`
`2/2001 Horn .......................... 709/239
`6,192,414 B1
`
`................ 370/252
`8/2003 Baker et al.
`6,611,498 B1 *
`”003 Cheng et 31' ““““““““ 709/221
`2003/0110241 A”
`OTHER PUBLICATIONS
`
`“Administration of Graphic User Interface and Multimedia
`Objects Using Cooperating Processing,” IBM Technical
`Disclosure Bulletin, V01. 37, No. 9, Sep. 1, 1994, pp.
`675-678.
`to
`http://nf/pdc97/profilesiandipolicies.htm “Guide
`.
`.
`.
`.
`,,
`MICIOSOfi Wmdows NT ‘10 Pmfiles and P0110135 W 1'79
`httPI//WWW/letf~0rg/htm1~Chafiers/acaP-Chartehhtml “APPll-
`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
`
`http://www.software.ibm.com/os/warp/library/sq202822.
`htm, “WorkSpace on-Demand Handbook,” Chapters 23.1;
`62. 63. 631. 63 3. 6 5
`'
`’
`'
`’
`'
`'.’
`'
`'
`’
`'
`'
`.
`http://www.tr1teal.com/SoftNC, Java Desktop EnV1ronment
`from Tmeals PP~ 1-2~
`http://java.sun.com/products/hot-javaViews/admin.html,
`“HotJava Views,” pp. 1-24.
`“The Right Work
`http://esuite.lotus.com/eSuite/eSuite,
`Environment for Network Centric Computing,” 24 pages.
`
`* cited by examiner
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 4 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 4 of 24
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 1 0f 9
`
`US 7,069,293 B2
`
`10
`
`Network Management
`Sewer
`
`
`
`10".
`
` m C
`
`
`
`
`lient
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 5 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 5 of 24
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 2 0f 9
`
`US 7,069,293 B2
`
`20°
`
`FIG. 2
`
`
`
`Admin Console
`
`
`
`
`Client Management Sewer
`
`
`
`
`ataBase
`
`User Console
`
`
`- D
`
`204
`
`FIG. 3
`
`2 14
`
`206
`
`200
`
`Conf.
`
`User
`
`Hdw.
`
`License System
`
`
`
`
`
`
`
`
`
`
`
`
`Mgmnt
`
`Auth
`
`Inven Mgmnt Mgmnt
`
`.- Network Registry -‘
`
`210
`
`212
`
`220
`
`216
`
`21
`
`8
`
`226
`
`DesktopNVebtop/Apps
`
`202
`
`Client Access
`
`228
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 6 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 6 of 24
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 3 0f 9
`
`US 7,069,293 B2
`
`FIG. 4
`
`On-Demand Server
`
`
`
`New Access
`
`Request?
`
`
`
` 240
`Yes
`
`
`
`Access Application
`
`
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 7 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 7 of 24
`
`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
`
`250
`
`252
`
`254
`
`256
`
`258
`
`
`
`
`
`
`
`
`
`Input License Policy
`
`Input Access
`
`Specifications
`
`Update DataBase
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 8 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 8 of 24
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 5 0f 9
`
`US 7,069,293 B2
`
`FIG. 6
`
`260
`
`262
`
`Receive HTTP
`
`Request
`
`Obtain ID and
`
`Password
`
`Authorized?
`
`268
`
`License Available?
`
`266
`
`270
`
`
`
`
`
`
`
` Display Error Message
`
`
`Display Desktop with
`
`Authorized Applications
`
`
`
`
`and Enable Logging
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 9 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 9 of 24
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 6 0f 9
`
`US 7,069,293 B2
`
`FIG. 7
`
`Access
`
`Receive Application
`
`Request
`
`280
`
`Password
`
` Obtain ID and
`
`
`
`Credentials
`
`Available?
`
`Yes
`
`284
`
`No
`
`Authorized?
`
`Yes
`
`288
`
`License Available?
`
`286
`
`290
`
`
`
`
`initiate Instance of
`
`
`
`
`
`Display Error Message
`
`Application and Enable
`
`Logging
`
`End
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 10 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 10 of 24
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 7 of 9
`
`US 7,069,293 B2
`
`FIG. 8
`
`Tivoli Distribution
`
`
`
`
`
`Provide Software
`
`Access to Tivoii
`
`
`Server
`
`
`
`
`
`information
`
`
`Specify Direcotories
`
`for Software and
`
`Program
`
`Distribution
`
`
`Execute Pre-
`
`
`Program
`
`Distribute Software
`
`
`
`Execute After
`
`
`Program
`
`
`
`Update Profile
`Management List
`
`of 0D Server
`
`to Specified OD
`Servers
`
`Distribution
`
`110
`
`1 12
`
`1 14
`
`1 16
`
`1 18
`
`120
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 11 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 11 of 24
`
`U.S. Patent
`
`hS
`
`f
`
`022m98£_>>
`
`
`
`
`
`0%“min?$358”.w2:85.21:8atwe
`
`2::85.
`
`
`a£99...m_'m9.850
`ommxomn.can.5.322%-.mw>mm>m2,8555tag-JEBxwfl9:.
`
`>c<m‘52::ch
`
`2ommxomn.0:“.
`
`
`
`
`
`6—“Lot/u.mwnWoflukmNkha.._.VHF
`
`92oz
`
`
`
`.EDemc<320>3\39$..mmoSow-
`
`
`
`v2.«mp$9.082:.mEmmp
`
`
`
`3:950mmxomn.35mmwE812:.23:35:22:cho96$25.0390DoNOEmm.GE<0.UE
`
`
`
`
`
`
`
`wmmxomn.25E68..5280a:5wEm2...,
`
`
`
`
`
`
`
`xwm...cognzfioxwmkmmmxomn.2E
`
`US 7,069,293 B2
`
`9on
`
`
`
`5.342:80
`
`55055..
`
`
`
`2m:_EL_m._.
`
`55:33“0...<9::0@Eaé
`
`>w_am_n_wcmmtwmV2.
`
`9:.mastic
`
`mmmxomm2E
`
`
`
`ucmommxomn.25mwe
`
`5:2.ch
`
`
`
`Em:Etm...
`
`
`
`
`
`much—0m$000.5.0%!
`
`atomucmEEoo
`
`gm:5:4.o...
`
`
`
`tog—tin.uu<2.
`
`
`
`Emhmoi.20mmmxommm__n_m>mww:
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 12 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 12 of 24
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 9 0f 9
`
`US 7,069,293 B2
`
`
`
`'\M Logs\M‘y Setug Log_
`
`
`
`
`VC'\M Appletsxi/l Appletllmport txt
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 13 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 13 of 24
`
`US 7,069,293 B2
`
`1
`METHODS, SYSTEMS AND COMPUTER
`PROGRAM PRODUCTS FOR DISTRIBUTION
`OF APPLICATION PROGRAMS TO A
`TARGET STATION ON A NETWORK
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a divisional of application Ser. No.
`09/211,528 filed Dec. 14, 1998 now US. Pat. No. 6,510,466.
`This application is related to the following application filed
`concurrently herewith: METHODS, SYSTEMS AND
`COMPUTER PROGRAM PRODUCTS FOR MANAGE-
`MENT OF CONFIGURABLE APPLICATION PRO-
`
`GRAMS ONANETWORK. This application is also related
`to US. patent application Ser. No. 09/072,597 filed May 5,
`1998 and entitled: Client-Server System for Maintaining a
`user Desktop Consistent with Server Application User
`Access Permissions which is incorporated herein by refer-
`ence in its entirety.
`
`FIELD OF THE INVENTION
`
`The present invention relates to network management in
`general and in particular to application program manage-
`ment on a computer network.
`
`BACKGROUND OF THE INVENTION
`
`Traditional mainframe computer configurations provided
`for user interface to the computer through computer termi-
`nals which were directly connected by wires to ports of the
`mainframe
`computer. As
`computing technology has
`evolved, processing power has typically evolved from a
`central processing center with a number of relatively low-
`processing power terminals to a distributed environment of
`networked processors. Examples of this shift in processing
`include local or wide area computer networks which inter-
`connect individual work stations where each workstation has
`
`substantial independent processing capabilities. This shift
`may be further seen in the popularity of the Internet which
`interconnects many processors and networks of processors
`through devices such as, for example, routers. This type of
`network environment is often referred to as a client-server
`
`environment with client stations coupled to and supported
`by a server station.
`In the modern distributed processing computer environ-
`ment, control over software, such as application programs,
`is more difiicult than where a mainframe operated by an
`administrator is used, particularly for large organizations
`with numerous client stations and servers distributed widely
`geographically and utilized by a large number of users.
`Furthermore, individual users may move from location to
`location and need to access the network from different client
`stations at different
`times. The networked environment
`
`increases the challenges for a network administrator in
`maintaining proper
`licenses
`for existing software and
`deploying new or updated applications programs across the
`network.
`
`One approach to reducing software distribution and con-
`trol problems is to use an application server in which the
`application programs are installed and maintained on a
`centralized server which supports a plurality of client sta-
`tions (sometimes referred to as a client/server application as
`contrasted to a desktop application). In addition, the Systems
`Management Server (SMS) program from Microsoft Cor-
`poration provides an ability to transmit an application pro-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`gram from a server to a number of clients. The SMS system
`typically allows installation of programs and associated
`icons at client stations for SMS-enabled applications. A
`customized install generally must be created by a system
`administrator for each different version to be installed.
`
`Furthermore, once installed at a client, a user must typically
`use that specific client station. The application generally
`cannot be automatically deleted from the client station’s
`desktop or automatically upgraded the next time the user
`starts the application. Similarly,
`the Tivoli Management
`Environment (TME) 10TM system from Tivoli Systems, Inc.
`provides a software distribution feature which may be used
`to transmit a file package to client and server stations on a
`network from a central TivoliTM server.
`
`A further complication in network systems is that, typi-
`cally, these systems include combinations of network appli-
`cations and native applications as well as combinations of
`different connection types and hardware devices. As used
`herein “native applications” refers to applications which are
`installed locally on a workstation such that characteristics
`associated with the native application are stored on the
`workstation. The combinations of network connections,
`differing hardware, native applications and network appli-
`cations makes portability of preferences or operating envi-
`ronment characteristics which provide consistency from
`workstation to workstation difiicult. Furthermore, differ-
`ences in hardware or connections may create inefiiciencies
`as users move from workstation to workstation. For
`
`example, a user may, in a first session, access the network
`utilizing a high speed connection and a workstation with a
`high resolution color monitor to execute an application and
`then, in a later session, access the network to execute the
`same application from a mobile computer with a mono-
`chrome display and a low speed modem connection to the
`network. Thus, session content, such as color display data or
`preferences associated with the application, which may have
`been appropriate for the first session may be inappropriate or
`inefiicient 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.worksTM, Microsoft’s
`“Zero
`Administration” initiative for Windows® and International
`
`Business Machines Corporation’s (IBM’s) Workspace On
`DemandTM. However, these solutions each typically require
`pre-installation of software at the workstation to support
`their services. For example, Novell’s Z.E.N. and IBM’s
`Workspace On Demand utilize a designer-supplied support
`layer in the operating system to enable their services. In
`addition to modifying the workstations operating system at
`startup to setup tasks to customize the user’s environment,
`the Microsoft Zero Administration solution is typically
`limited to a homogeneous (Windows® only) environment
`where the workstation and the server are utilizing the same
`operating system.
`Another approach to centralized management is the tra-
`ditional mainframe model, such as with the IBM 3270
`system, or an X Windows environment. However, in each of
`these approaches, the client device is treated as a dumb
`terminal with execution of the applications occurring at the
`server rather than the client. Accordingly, the communica-
`tion between the server and the client is typically presenting
`characters for a display screen of the client and/or receiving
`key strokes from the client. Windows Zero Administration,
`as described above, is client rather than user oriented and
`installs applications on client stations which does not fully
`support roaming by users. The JAVATM environment utilized
`on the Internet for web applications provides an ability for
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 14 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 14 of 24
`
`US 7,069,293 B2
`
`3
`hardware independent application development but fails to
`provide an integrated framework for presenting multiple
`independent applications to a user. While various web
`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-
`cations for a user. Furthermore, it typically associates per-
`sonalized screen information with an Internet address (and
`sometimes a “cookie” installed at
`the client) which is
`associated with a client device rather than a user, therefore
`limiting its ability to support roaming by users.
`Each of these “mobility” systems typically do not address
`the full range of complications which may arise in a het-
`erogeneous network utilizing differing devices and connec-
`tions. The 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 would typically have
`to manually define session characteristics at each differing
`workstation they used in the network or maintain local
`characteristic definitions which may be inappropriate for
`particular applications a user is executing and may substan-
`tially reduced the administrative convenience of a centrally
`controlled network. Thus, these various approaches fail to
`provide a seamless integration of application access and
`session characteristics across heterogeneous networks. Such
`solutions may, at most, reduce network administration only
`after initial installation on each workstation. In addition,
`control over access 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
`different software designers. To the extent software distri-
`bution capabilities from a central location are provided, such
`as with the TME 10TM 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.
`
`SUMMARY OF THE INVENTION
`
`Accordingly, it 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.
`
`It 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-
`tive server location across a plurality of client stations.
`It is a further object of the present invention to provide
`such methods, systems and computer program products that
`can accommodate various types of hardware operating under
`different operating systems across client stations.
`These and other objects are provided, according to the
`present invention, by providing methods, systems and com-
`puter program products for management of application
`programs on a network including a server 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 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-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`loads selected application programs from the server respon-
`sive to a request from the user, such as the selection of an
`icon associated with the application program which is dis-
`played on the user desktop screen at the client. The appli-
`cation 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 availability before initiating execution of the appli-
`cation program. Accordingly, applications are provided on-
`demand to users independent of the device used to access the
`server.
`
`Centralized control of software distribution is also pro-
`vided for a network management server managed computer
`network such as a TivoliTM environment. Application pro-
`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 text file
`containing the data required to properly install and register
`the application program on the on-demand server and make
`it available to authorized users. Settable on-demand server
`
`identifier fields are included to allow a plurality of on-
`demand servers to receive a common file packet and prop-
`erly install and register the program for use locally.
`In one embodiment of the present invention, a method for
`management of application programs on a network includ-
`ing a server and a client is provided. A plurality of appli-
`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 user. The desktop interface includes a
`plurality of display regions associated with a set of the
`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 to the client for
`execution responsive to the selection.
`In a further embodiment, application management infor-
`mation for 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 the user is
`authorized is included responsive to the application man-
`agement information. In a further embodiment of the present
`invention, application launcher programs associated with
`each of the set of the plurality of application programs for
`which the user is authorized are distributed to the client and
`
`selections of programs are received from one of the appli-
`cation launcher programs which is associated with the
`selected one of the plurality of application programs. The
`application launcher programs may be provided as JAVATM
`applets and the user desktop interface may be provided as a
`web browser The application management information may
`include configurable user preference information for the
`plurality of application programs and a set of the config-
`urable user 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-
`urable user preference information may include both user
`preferences configurable by the user and user preferences
`not configurable by the user which are configurable by an
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 15 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 15 of 24
`
`US 7,069,293 B2
`
`5
`administrator. The user preference information may be
`updated responsive to updates from the user and the admin-
`istrator respectively.
`In another embodiment of the present invention, the user
`desktop interface is configured at the server responsive to an
`identifier of the user associated with the login request so as
`to provide a configured user desktop interface. The config-
`ured user desktop interface is then provided to the client for
`display. The 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 is not authorized.
`
`invention, a license
`In another aspect of the present
`availability is determined for the selected one of the plurality
`of application programs for the user. License availability for
`the user desktop application itself may also be determined.
`An unavailability indication is provided to the client respon-
`sive to the selection if the license availability indicates that
`a license is not available for the user. The license availability
`may be determined by the one of the application launcher
`programs associated with the selected one of the plurality of
`application programs which may obtain the license avail-
`ability from a license management server. The license man-
`agement server may run on the same machine as the on
`demand application server.
`In a further aspect of the present invention, event logging
`information is received at the server from the instance of the
`
`selected one of the plurality of application programs. The
`server provides the received event logging information to a
`network management server associated with the server. In
`addition, event logging information may be provided to the
`user desktop application.
`In yet another aspect of the present invention, methods are
`provided for distribution of application programs to a target
`station on a network from a centralized network manage-
`ment server coupled to the network. The application pro-
`gram to be distributed is provided to the systems (network)
`management server and a source directory and a target
`directory for distribution of the application program are
`specified. A file packet associated with the application
`program is prepared including a segment configured to
`initiate registration operations for the application program at
`the target station. The file packet is then distributed to the
`target station or stations. In one embodiment, the network
`management server is a TivoliTM server. The segment con-
`figured to initiate registration operations may include an
`import data file and a call to an import program executing on
`the target station.
`In one embodiment of the software distribution aspect of
`the present invention, the application program is provided as
`a JAVATM applet and is registered based on 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 inserts its identification during registration opera-
`tions. The file packet may be distributed to a plurality of
`target stations each having an identification which may be
`inserted into the variable field at the target station.
`While the invention has been described above primarily
`with respect to the method aspects of the invention, both
`systems and computer program products are also provided.
`Accordingly, the present invention provides for manage-
`ment of application programs in a network environment
`from a central location while allowing for user preferences
`to be maintained independent of hardware location of the
`user along with centralized distribution of new and/or
`updated application programs. This provides for reduced
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`costs and increased uniformity in deploying software in a
`network environment.
`It further provides an essentially
`hardware transparent ability for an individual user to inter-
`face to an on-demand server supported client station while
`maintaining the user’s personal preferences for each appli-
`cation program.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a schematic diagram of a computer network with
`application program management according to an embodi-
`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-
`tion;
`FIG. 3 is a schematic diagram of the on-demand server
`system of FIG. 2 according to an embodiment of the present
`invention;
`FIG. 4 is a flowchart illustrating operations for application
`program distribution and execution according to an embodi-
`ment of the present invention;
`FIG. 5 is a flowchart illustrating configuration operations
`for application program distribution and execution accord-
`ing to an embodiment of the present invention;
`FIG. 6 is a flowchart illustrating user login operations for
`application program distribution and execution according to
`an embodiment of the present invention;
`FIG. 7 is a flowchart illustrating application access opera-
`tions for application program distribution and execution
`according to an embodiment of the present invention;
`FIG. 8 is a flowchart illustrating operations for application
`program distribution and execution in a network manage-
`ment server environment such as a TivoliTM environment
`
`according to an embodiment of the present invention;
`FIGS. 9A, 9B and 9C are flowcharts further illustrating
`operations for application program distribution and execu-
`tion according to an embodiment of the present invention;
`and
`FIG. 10 is an illustration of an interface screen used in
`
`centralized software deployment according to an embodi-
`ment of the present invention.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`The present invention now will be described more fully
`hereinafter with reference to the accompanying drawings, in
`which preferred embodiments of the invention are shown.
`This invention may, however, be embodied in many different
`forms and should not be construed as limited to the embodi-
`
`ments set forth herein; rather, these embodiments are pro-
`vided so that this disclosure will be thorough and complete,
`and will fully convey the scope of the invention to those
`skilled in the art. As will be appreciated by one of skill in the
`art, the present invention may be embodied as methods,
`systems or computer program products. Accordingly, the
`present invention may take the form of a hardware embodi-
`ment, a software embodiment or an embodiment combining
`software and hardware aspects.
`FIG. 1 illustrates an embodiment of a computer network
`including configurable application program management
`capabilities according to an embodiment of the present
`invention. Computer network system 10 includes a network
`management server such as a TivoliTM server 20 and on-
`demand servers 22, 22'. As used herein, “on-demand” refers
`to a server delivering applications as needed responsive to
`user requests as requests are received. System 10 further
`
`
`
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 16 of 24
`Case 1:19-cv-11272-RGS Document 1-2 Filed 06/07/19 Page 16 of 24
`
`US 7,069,293 B2
`
`7
`includes client stations 24, 24', 26, 26'. As illustrated,
`on-demand servers 22, 22' are connected to TivoliTM server
`20 over a first network segment 10'. Client stations 24, 24'
`are served by on-demand server 22 and communicate over
`network 10". Similarly, clients 26, 26' are served by server
`22' and communicate over network 10'". As schematically
`illustrated in FIG. 1, client stations 24, 24', 26, 26' may be
`a variety of diffe