`
`(12)
`
`United States Patent
`Cox et a].
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 7,069,293 B2
`Jun. 27, 2006
`
`(54) METHODS, SYSTEMS AND COMPUTER
`PROGRAM PRODUCTS FOR DISTRIBUTION
`OF APPLICATION PROGRAMS TO A
`TARGET STATION ON A NETWORK
`
`(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)
`(73) Assignee: International Business Machines
`Corporation, Annonk’ NY (Us)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(1)) by 782 days.
`(21) Appl. N0.: 09/870,608
`
`(22) Filed:
`
`May 31, 2001
`
`(65)
`
`Prior Publication Data
`US 2002/0032763 A1
`Mar. 14, 2002
`
`5,680,615 A 10/1997 Marlin et a1. ............. .. 707/103
`
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`W0
`
`9850853
`
`11/1998
`
`OTHER PUBLICATIONS
`“A Common Desktop Environment for Platforms Based on
`the UNIX Operanng System,” By B'E' cnpe’ J'A' Brewster’
`and DE. Laursen, Hewlett-Packard Journal, vol. 47, No. 2,
`A .1 1996
`. 6-14.
`pr ’
`’ pp
`
`_
`(Commued)
`Primary ExamineriRupal Dharia
`Assistant ExamineriDjenane Bayard
`(74) Attorney, Agent, or F irmiMyers Bigel Sibley &
`Sa'ovec; Ste hen A. Calo ero
`J
`p
`g
`(57)
`ABSTRACT
`
`Related U.S. Application Data
`(62) Division of a lication No 09/211 528 ?led on Dec
`14 1998 nogvppat NO 6 '510 4 6 6’
`’
`'
`’
`’
`'
`'
`’
`’
`'
`(51) Int Cl
`(2006 01)
`Got-‘F 5/16
`(200601)
`G06F 9/44
`(200601)
`G06F 9/445
`769/20} 709/228 709/218
`(52) U 5 Cl
`'
`'
`' """""""""" " 709/21 717/171’_ 717/172’
`_
`_
`_
`’
`’
`(58) Fleld of
`2151206“ 551211.523
`5105/35);
`’
`’
`’
`’
`7’17/1 1’ 171’ 172’
`See a lication ?le for Com lete Search hi’sto ’
`pp
`p
`1y‘
`.
`References Clted
`U_S_ PATENT DOCUMENTS
`5 263 165 A 11/1993 J _
`
`(56)
`
`,
`
`,
`
`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.
`
`anls ........................ ..
`
`395/725
`
`5,440,739 A
`
`8/1995 Beck et a1. . . . . .
`
`. . . . . . .. 709/221
`
`5,554,979 A
`
`9/1996 Kohar et a1. ......... .. 340/82572
`
`21 Claims, 9 Drawing Sheets
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 1
`
`
`
`US 7,069,293 B2
`Page 2
`
`US. PATENT DOCUMENTS
`
`6,202,206 B1 *
`
`3/2001 Dean et a1. ............... .. 717/177
`
`709/302
`5689 708 A 11/1997 Re nieret a1
`5:708:709 A
`1/1998 Roge ........................... .. 380/4
`
`370/252
`6’6n’498 131* 800% Baker“ 31' '
`2003/0110241 A1* 6/2003 Cheng et a1‘ """"""" " 709ml
`
`4/1998 Wyman ....................... .. 705/1
`5,745,879 A
`5/1998 Daly et a1. ..
`. 709/223
`5,748,896 A
`6/1998 Kells et a1. ............... .. 713/200
`5,764,887 A
`6/1998 Crawford .................. .. 709/229
`5,771,354 A
`7/1998 Hogan et al' "
`707/10
`5,778,368 A
`9/1998 Johnson et a1. ........... .. 707/100
`5,813,009 A
`Emmett. """""""""" " 709/221
`i
`u1karn1 et a1.
`709/224
`,
`,
`2/1999 Shrader et a1. ........... .. 717/176
`5,867,713 A *
`2/1999 Brandt et a1. ................ .. 713/1
`5,875,327 A
`3/1999 Dickey ________ __
`_ 709/221
`5,331,236 A
`6/ 1999 Williams et a1. .......... .. 709/300
`5,911,066 A
`7/1999 Van HoiT et a1. --------- -- 709/217
`5,919,247 A *
`5,996,012 A * 11/1999 Janiel
`.
`6,006,035 A : 12/1999 Nabahl ..................... .. 717/175
`6,047,194 A
`4/2000 Andersson ................ .. 455/466
`6,070,190 A
`5/2000 Reps et a1. .
`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 a1. ..
`709/229
`6,108,712 A
`8/2000 Hayes, Jr. ................. .. 709/246
`6,131,112 A * 10/2000 Lewis et a1. .............. .. 709/207
`345/334
`6,175,363 B1
`l/200l Williams et a1. -
`6,175,832 B1
`1/2001 LuZZi et a1. ................ .. 707/10
`6,182,142 B1
`1/2001 Win et a1. ................. .. 709/229
`6,192,414 B1
`2/2001 Horn ........................ .. 709/239
`
`OTHER PUBLICATIONS
`
`“Administration of Graphic User Interface and Multimedia
`Objects Using Cooperating Processing,”
`Technical
`Disclosure Bulletin, V01. 37, No. 9, Sep. 1, 1994, pp.
`675_678~
`to
`“Guide
`http://nf/pdc97/pro?lesiandipolicies.htm
`.
`.
`.
`.
`,,
`Mlcroso? Wlndows NT 4-0 Pro?les and Pohcles PP- 1'79
`hYTP1//WWW/1eIf-Org/11Im1-chaners/acap-cha?er-html “APPh
`cation Con?guration 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_
`impI//WWW_SO?Ware_ibm_COm/OS/Warp/1ibrary/Sq202822_
`htm’ “Workspace On_Demand Handbook,” Chapters 231;
`62 63_ 631_ 633_ 65
`'
`’
`'
`’
`' '.’
`'
`'
`’
`'
`'
`.
`hnPi?www-tmeal-com/sofmca Java Desktop Envlronmem
`from Tmeal, PP- 1-2
`http1//java-sun-com/products/hot-javaviews/admin-html,
`“HotJaVa VieWs,” pp. 1-24.
`http://esuite.lotus.com/eSuite/eSuite, “The Right Work
`Environment for Network Cemn-C Computing,” 24 pages_
`
`* cited by examiner
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 2
`
`
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 1 0f 9
`
`US 7,069,293 B2
`
`20
`
`10
`
`Network Management
`Sewer
`
`22'
`
`10"
`
`10III
`
`Client
`
`Chem
`
`Client
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 3
`
`
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 2 0f 9
`
`US 7,069,293 B2
`
`20°
`/
`
`FIG. 2
`
`was
`Admin Console
`
`202
`/
`
`D
`
`User Console
`
`204
`
`206
`Client Management Sewer /
`/
`
`Web Sewer
`
`208 -
`
`DataBase
`
`/
`/
`/
`/
`\
`=
`>
`Web Browser
`Web Server /
`\ Con?g. Framework
`Servlets/
`Hdw.
`License System
`203
`/
`lnven
`Mgmnt Mgmnt
`224
`
`User
`Conf.
`Mgmnt Auth
`
`\
`\ Network Registry \
`\
`\
`\
`\
`\
`\
`210 212
`220
`216 218
`
`226
`\
`DesktopNVebtop/Apps
`
`Client Access
`
`202 /
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 4
`
`
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 3 0f 9
`
`US 7,069,293 B2
`
`FIG. 4
`
`( On-Demand Server D
`
`Configuration
`
`ii
`
`New Session?
`
`238
`
`New Access
`Request?
`
`240
`
`Access Application
`
`End
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 5
`
`
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 4 0f 9
`
`US 7,069,293 B2
`
`FIG. 5
`
`( Configuration )
`l
`
`import Application
`Definition
`
`l
`
`Input User Info for
`Application
`
`l
`
`Input License Policy
`
`Y
`Input Access
`Speci?cations
`
`l
`
`Update DataBase
`
`250
`
`252
`
`254
`
`256
`
`258
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 6
`
`
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 5 0f 9
`
`7,069,293 B2
`US
`
`FIG. 6
`(
`
`Login
`
`l
`
`Receive HTTP
`Request
`
`ll
`
`Obtain ID and
`Password
`
`260
`
`262
`
`264
`
`268
`
`License Available?
`
`270
`
`/
`Display Desktop with
`Authorized Applications
`and Enable Logging
`
`End
`
`266
`
`Display Error Message
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 7
`
`
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 6 6f 9
`
`US 7,069,293 B2
`
`FIG. 7
`
`(
`
`Access
`
`3
`
`ii
`
`280
`Receive Application /
`Request
`
`283
`
`Obtain ID and
`Password
`
`Credentials
`Available?
`
`Authorized?
`
`286
`\
`
`l
`
`Yes
`
`290
`/
`
`Display Error Message
`
`l
`
`initiate Instance of
`Application and Enable
`Logging
`_
`
`End
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 8
`
`
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 7 0f 9
`
`US 7,069,293 B2
`
`FIG. 8
`
`C Tivoli Distribution )
`
`Provide Software
`Access to Tivoii
`Server
`
`110
`/
`
`i
`Specify Direcotories
`for Software and
`Program
`information
`
`l
`
`Execute Pre
`Distribution
`Program
`
`i
`
`Distribute Software
`to Specified OD
`Servers
`l
`
`Execute After
`Distribution
`Program
`
`1
`
`Update Profile
`Management List
`of OD Server
`
`112
`/
`
`114
`
`116
`
`118
`
`120
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 9
`
`
`
`U.S. Patent
`
`n.HJ
`
`m
`
`hS
`
`0.1
`
`
`
`00.2mmama£_>>
`
`
`
`
`
`0%“min?$353”.%2:82.31:8at.
`
`Na
`
`>c<MVLF
`
`2:tan.
`
`
`
`7,EmgmoiEn.2.65.30005NE.
`
`9m:_§m._.
`
`mm
`
`>mm>
`
`20L22
`
`can.
`
`9nh
`
`02
`
`#2.«m.
`
`320>3
`
`
`
`xme9:.ommxomn.
`
`9an
`
`0,
`
`2B
`
`M$52550an:8Ua_<O
`
`%55:33am...<@>w_am_n_wcmmtwmV2.
`
`
`
`Emhmoi.20
`
`
`
`92%.mmooen.02.
`
`9:.mastic
`
`mam.on2E
`
`
`
`ucmommxomn.25mwe
`
`3:950mmxomn.35mm00.GE
`
`mm.UE
`
`m9.812:23.35
`
`
`
`xme533%5
`
`wmmxomn.2EE68..
`
`<0.
`GE
`
`
`
`SE:chm9632:936
`
`
`
`xwfl.mmmxomn.2E
`
`Eoflmzoa35wtmww22‘
`
`mag.qumE.mEm
`
`209$.a850m:
`
`
`
`Ema5:30.23-
`
`$8555595.
`
`
`
`ommxomn.0:“.
`
`3::ch
`
`
`
`ton—tin.uu<
`
`atomucmEEoo
`
`“no.35:4.o...
`
`5:2.ch
`
`
`
`Em:Etm...
`
`
`
`
`
`mmmxommm__n_m>mw3;
`
`|PR2017—01827
`Ubisoft, etal. EX1001 Page 10
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 10
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 27, 2006
`
`Sheet 9 0f 9
`
`US 7,069,293 B2
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 11
`
`
`
`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 ?led Dec. 14, 1998 now US. Pat. No. 6,510,466.
`This application is related to the following application ?led
`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 ?led 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.
`
`10
`
`20
`
`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.
`
`25
`
`BACKGROUND OF THE INVENTION
`
`Traditional mainframe computer con?gurations 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 di?icult 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
`
`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 speci?c 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 ?le 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 di?icult. Furthermore, differ
`ences in hardware or connections may create ine?iciencies
`as users move from workstation to workstation. For
`example, a user may, in a ?rst 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 ?rst session may be inappropriate or
`ine?icient 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
`star‘tup 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 J AVATM environment utiliZed
`on the Internet for web applications provides an ability for
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 12
`
`
`
`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 speci?c 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 de?ne session characteristics at each differing
`Workstation they used in the netWork or maintain local
`characteristic de?nitions 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 di?icult 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 IOTM 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
`
`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 ?le packages (packets) to on
`demand servers. A pro?le manager import call is included in
`the distributed ?le packet along With an import text ?le
`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
`identi?er ?elds are included to alloW a plurality of on
`demand servers to receive a common ?le 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 con?gurable user preference information for the
`plurality of application programs and a set of the con?g
`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 con?g
`urable user preference information may include both user
`preferences con?gurable by the user and user preferences
`not con?gurable by the user Which are con?gurable by an
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 13
`
`
`
`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 con?gured at the server responsive to an
`identi?er of the user associated with the login request so as
`to provide a con?gured user desktop interface. The con?g
`ured user desktop interface is then provided to the client for
`display. The user desktop may be con?gured 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.
`In another aspect of the present invention, a license
`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
`speci?ed. A ?le packet associated with the application
`program is prepared including a segment con?gured to
`initiate registration operations for the application program at
`the target station. The ?le packet is then distributed to the
`target station or stations. In one embodiment, the network
`management server is a TivoliTM server. The segment con
`?gured to initiate registration operations may include an
`import data ?le 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 con?gured to initiate registration
`operations includes a variable ?eld into which the target
`station inserts its identi?cation during registration opera
`tions. The ?le packet may be distributed to a plurality of
`target stations each having an identi?cation which may be
`inserted into the variable ?eld 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
`
`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 ?owchart illustrating operations for application
`program distribution and execution according to an embodi
`ment of the present invention;
`FIG. 5 is a ?owchart illustrating con?guration operations
`for application program distribution and execution accord
`ing to an embodiment of the present invention;
`FIG. 6 is a ?owchart illustrating user login operations for
`application program distribution and execution according to
`an embodiment of the present invention;
`FIG. 7 is a ?owchart illustrating application access opera
`tions for application program distribution and execution
`according to an embodiment of the present invention;
`FIG. 8 is a ?owchart 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 ?owcharts 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 con?gurable 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
`
`IPR2017-01827
`Ubisoft, et al. EX1001 Page 14
`
`
`
`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 ?rst 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 different hardware operating a variety of differ
`ent operating systems.
`System 10, as illustrated in FIG. 1, is a centrally managed
`computer network with TivoliTM server 20 acting as the
`central administration station executing network manage
`ment software such as TME IOTM from Tivoli Systems, Inc.
`Servers 22, 22' act as on-demand servers for their respective
`associated client stations 24, 24', 26, 26' and provide for
`client/server application support. It is further to be under
`stood that networks 10', 10", 10"‘ may be separate physical
`networks, separate partitions of a single physical network or
`may be a single network. Furthermore, TivoliTM server 20
`may be con?gured to allow for direct communication
`between server 20 and clients 24, 24', 26, 26'. In addition, a
`single machine may be con?gured to include a client, an
`on-demand server and/or a network (system) management
`server.
`As will be de